SneakySnake:一种面向 CPU、GPU 与 FPGA 的快速精准通用基因组预比对过滤器
摘要
动机:我们提出 SneakySnake,一种高度并行且高精度的预比对过滤器,可显著减少对计算代价高昂的序列比对的需求。SneakySnake 的核心思想是将近似字符串匹配(ASM)问题归约为 VLSI 芯片布局中的单网布线(SNR)问题。在 SNR 问题中,我们关注在含障碍物的特殊网格布局上,寻找以最小布线代价连接两个端点的优化路径。SneakySnake 算法快速求解 SNR 问题,并利用所得最优路径决定是否需要进行序列比对。将 ASM 问题转化为 SNR 也使得 SneakySnake 能高效实现于 CPU、GPU 与 FPGA。结果:与最先进的预比对过滤器 Shouji、GateKeeper 和 SHD 相比,SneakySnake 将预比对过滤的精度提升了高达四个数量级。对于短序列,SneakySnake 的 CPU 实现分别将 Edlib(Myers 位向量算法的最先进实现)和 Parasail(具有可配置打分函数的最先进序列比对器)加速达 37.7 倍和 43.9 倍(平均 >12 倍),而借助 FPGA 与 GPU 加速则分别达 413 倍和 689 倍(平均 >400 倍)。对于长序列,SneakySnake 的 CPU 实现将 Parasail 和 KSW2(minimap2 的序列比对器)分别加速达 979 倍(平均 276.9 倍)和 91.7 倍(平均 31.7 倍)。由于 SneakySnake 不替代序列比对,用户仍可获得其所选比对器的全部能力(例如可配置打分函数),这与现有牺牲部分比对器能力的加速工作不同。可用性:https://github.com/CMU-SAFARI/SneakySnake
引用
@article{arxiv.1910.09020,
title = {SneakySnake: A Fast and Accurate Universal Genome Pre-Alignment Filter for CPUs, GPUs, and FPGAs},
author = {Mohammed Alser and Taha Shahroodi and Juan Gomez-Luna and Can Alkan and Onur Mutlu},
journal= {arXiv preprint arXiv:1910.09020},
year = {2023}
}
备注
To appear in Bioinformatics