Pairwise Sequence Alignment Library

RESOURCE

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.:
Code ID:
3402
Site Accession Number:
5600
Research Org.:
Pacific Northwest National Laboratory
Country of Origin:
United States

RESOURCE

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}
}