Bowtie | |
Author: | Ben Langmead Cole Trapnell Mihai Pop Steven Salzberg |
Developer: | Ben Langmead et al., |
Repo: | Bowtie: Bowtie 2: |
Programming Language: | C++ |
Operating System: | Linux macOS Windows |
Genre: | Bioinformatics |
Bowtie is a software package commonly used for sequence alignment and sequence analysis in bioinformatics.[1] The source code for the package is distributed freely and compiled binaries are available for Linux, macOS and Windows platforms. As of 2017, the Genome Biology paper describing the original Bowtie method has been cited more than 11,000 times. Bowtie is open-source software and is currently maintained by Johns Hopkins University.
The Bowtie sequence aligner was originally developed by Ben Langmead et al. at the University of Maryland in 2009. The aligner is typically used with short reads and a large reference genome, or for whole genome analysis. Bowtie is promoted as "an ultrafast, memory-efficient short aligner for short DNA sequences." The speed increase of Bowtie is partly due to implementing the Burrows–Wheeler transform for aligning,[2] which reduces the memory footprint (typically to around 2.2GB for the human genome);[3] a similar method is used by the BWA[4] and SOAP2[5] alignment methods.
Bowtie conducts a quality-aware, greedy, randomized, depth-first search through the space of possible alignments. Because the search is greedy, the first valid alignment encountered by Bowtie will not necessarily be the 'best' in terms of the number of mismatches or in terms of quality.
Bowtie is used as a sequence aligner by a number of other related bioinformatics algorithms, including TopHat,[6] Cufflinks[7] and the CummeRbund Bioconductor package.[8]
On 16 October 2011, the developers released a beta fork of the project called Bowtie 2.[9] In addition to the Burrows-Wheeler transform, Bowtie 2 also uses an FM-index (similar to a suffix array) to keep its memory footprint small. Due to its implementation, Bowtie 2 is more suited to finding longer, gapped alignments in comparison with the original Bowtie method. There is no upper limit on read length in Bowtie 2 and it allows alignments to overlap ambiguous characters in the reference.