Abstract
Vector extensions, such as SSE, have been part of the x86 CPU since the 1990s, with applications in graphics, signal processing, and scientific applications. Although many algorithms and applications can naturally benefit from automatic vectorization techniques, there are still many that are difficult to vectorize due to their dependence on irregular data structures, dense branch operations, or data dependencies. Sequence alignment, one of the most widely used operations in bioinformatics workflows, has a computational footprint that features complex data dependencies. The trend of widening vector registers adversely affects the state-of-the-art sequence alignment algorithm based on striped data layouts. Therefore, a novel SIMD implementation of a parallel scan-based sequence alignment algorithm that can better exploit wider SIMD units was implemented as part of the Parallel Sequence Alignment Library (parasail). Parasail features: Reference implementations of all known vectorized sequence alignment approaches. Implementations of Smith Waterman (SW), semi-global (SG), and Needleman Wunsch (NW) sequence alignment algorithms. Implementations across all modern CPU instruction sets including AVX2 and KNC. Language interfaces for C/C++ and Python.
- Developers:
- Release Date:
- 2015-05-19
- Project Type:
- Open Source, Publicly Available Repository
- Software Type:
- Scientific
- Licenses:
-
Other (Commercial or Open-Source): https://github.com/jeffdaily/parasail/blob/master/COPYING
- Sponsoring Org.:
-
USDOEPrimary Award/Contract Number:AC05-76RL01830
- Code ID:
- 3402
- Site Accession Number:
- 5600
- Research Org.:
- Pacific Northwest National Laboratory
- Country of Origin:
- United States
Citation Formats
Jeff Daily, PNNL.
Pairwise Sequence Alignment Library.
Computer Software.
https://github.com/jeffdaily/parasail.
USDOE.
19 May. 2015.
Web.
doi:10.11578/dc.20171025.1618.
Jeff Daily, PNNL.
(2015, May 19).
Pairwise Sequence Alignment Library.
[Computer software].
https://github.com/jeffdaily/parasail.
https://doi.org/10.11578/dc.20171025.1618.
Jeff Daily, PNNL.
"Pairwise Sequence Alignment Library." Computer software.
May 19, 2015.
https://github.com/jeffdaily/parasail.
https://doi.org/10.11578/dc.20171025.1618.
@misc{
doecode_3402,
title = {Pairwise Sequence Alignment Library},
author = {Jeff Daily, PNNL},
abstractNote = {Vector extensions, such as SSE, have been part of the x86 CPU since the 1990s, with applications in graphics, signal processing, and scientific applications. Although many algorithms and applications can naturally benefit from automatic vectorization techniques, there are still many that are difficult to vectorize due to their dependence on irregular data structures, dense branch operations, or data dependencies. Sequence alignment, one of the most widely used operations in bioinformatics workflows, has a computational footprint that features complex data dependencies. The trend of widening vector registers adversely affects the state-of-the-art sequence alignment algorithm based on striped data layouts. Therefore, a novel SIMD implementation of a parallel scan-based sequence alignment algorithm that can better exploit wider SIMD units was implemented as part of the Parallel Sequence Alignment Library (parasail). Parasail features: Reference implementations of all known vectorized sequence alignment approaches. Implementations of Smith Waterman (SW), semi-global (SG), and Needleman Wunsch (NW) sequence alignment algorithms. Implementations across all modern CPU instruction sets including AVX2 and KNC. Language interfaces for C/C++ and Python.},
doi = {10.11578/dc.20171025.1618},
url = {https://doi.org/10.11578/dc.20171025.1618},
howpublished = {[Computer Software] \url{https://doi.org/10.11578/dc.20171025.1618}},
year = {2015},
month = {may}
}