Cargando…

Scrooge: a fast and memory-frugal genomic sequence aligner for CPUs, GPUs, and ASICs

MOTIVATION: Pairwise sequence alignment is a very time-consuming step in common bioinformatics pipelines. Speeding up this step requires heuristics, efficient implementations, and/or hardware acceleration. A promising candidate for all of the above is the recently proposed GenASM algorithm. We ident...

Descripción completa

Detalles Bibliográficos
Autores principales: Lindegger, Joël, Senol Cali, Damla, Alser, Mohammed, Gómez-Luna, Juan, Ghiasi, Nika Mansouri, Mutlu, Onur
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Oxford University Press 2023
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10191611/
https://www.ncbi.nlm.nih.gov/pubmed/36961334
http://dx.doi.org/10.1093/bioinformatics/btad151
Descripción
Sumario:MOTIVATION: Pairwise sequence alignment is a very time-consuming step in common bioinformatics pipelines. Speeding up this step requires heuristics, efficient implementations, and/or hardware acceleration. A promising candidate for all of the above is the recently proposed GenASM algorithm. We identify and address three inefficiencies in the GenASM algorithm: it has a high amount of data movement, a large memory footprint, and does some unnecessary work. RESULTS: We propose Scrooge, a fast and memory-frugal genomic sequence aligner. Scrooge includes three novel algorithmic improvements which reduce the data movement, memory footprint, and the number of operations in the GenASM algorithm. We provide efficient open-source implementations of the Scrooge algorithm for CPUs and GPUs, which demonstrate the significant benefits of our algorithmic improvements. For long reads, the CPU version of Scrooge achieves a 20.1 [Formula: see text] , 1.7 [Formula: see text] , and 2.1 [Formula: see text] speedup over KSW2, Edlib, and a CPU implementation of GenASM, respectively. The GPU version of Scrooge achieves a 4.0 [Formula: see text] , 80.4 [Formula: see text] , 6.8 [Formula: see text] , 12.6 [Formula: see text] , and 5.9 [Formula: see text] speedup over the CPU version of Scrooge, KSW2, Edlib, Darwin-GPU, and a GPU implementation of GenASM, respectively. We estimate an ASIC implementation of Scrooge to use 3.6 [Formula: see text] less chip area and 2.1 [Formula: see text] less power than a GenASM ASIC while maintaining the same throughput. Further, we systematically analyze the throughput and accuracy behavior of GenASM and Scrooge under various configurations. As the best configuration of Scrooge depends on the computing platform, we make several observations that can help guide future implementations of Scrooge. AVAILABILITY AND IMPLEMENTATION: https://github.com/CMU-SAFARI/Scrooge.