Bowtie 2

Fast and sensitive read alignment

Bowtie 2 is an ultrafast and memory-efficient tool for aligning sequencing reads to long reference sequences. It is particularly good at aligning reads of about 50 up to 100s or 1,000s of characters, and particularly good at aligning to relatively long (e.g. mammalian) genomes. Bowtie 2 indexes the genome with an FM Index to keep its memory footprint small: for the human genome, its memory footprint is typically around 3.2 GB. Bowtie 2 supports gapped, local, and paired-end alignment modes. Open Source Software

Site Map

Latest Release

Bowtie2 2.2.6 7/22/15 

Please cite: Langmead B, Salzberg S. Fast gapped-read alignment with Bowtie 2. Nature Methods. 2012, 9:357-359.

Related Tools

Bowtie: Ultrafast short read alignment
Crossbow: Genotyping, cloud computing
Myrna: Cloud, differential gene expression
Tophat: RNA-Seq splice junction mapper
Cufflinks: Isoform assembly, quantitation
Lighter: Fast error correction


Consider using Illumina's iGenomes collection. Each iGenomes archive contains pre-built Bowtie 2 and Bowtie indexes.

H. sapiens, UCSC hg18 3.5 GB
 or: part 1 (1.5 GB), part 2 (651 MB), part 3 (1.5 GB)
H. sapiens, UCSC hg19 3.5 GB
 or: part 1 (1.5 GB), part 2 (650 MB), part 3 (1.5 GB)
H. sapiens, NCBI GRCh38 3.5 GB
M. musculus, UCSC mm10 3.2 GB
 or: part 1 (1.3 GB), part 2 (600 MB), part 3 (1.3 GB)
M. musculus, UCSC mm9 3.2 GB
 or: part 1 (1.3 GB), part 2 (593 MB), part 3 (1.3 GB)
R. norvegicus, UCSC rn4 3.1 GB
 or: part 1 (1.3 GB), part 2 (580 MB), part 3 (1.3 GB)

Some unzip programs cannot handle archives >2 GB. If you have problems downloading or unzipping a >2 GB index, try downloading in parts.

Related publications


Other Documentation

  • Bio. of Genomes poster, 5/11 (.ppt, .pdf)


Bowtie2 developers note

As of Nov 2015 we had to fix the bowtie2 github repo and relabel the entire history. Developers and contributors should re-clone the bowtie2 github repo from this current state.

Version 2.2.6 - Jul 22, 2015

  • Switched to a stable sort to avoid some potential reproducibility confusions.
  • Added 'install' target for *nix platforms.
  • Added the Intel TBB option which provides in most situations a better performance output. TBB is not present by default in the current build but can be added by compiling the source code with WITH_TBB=1 option.
  • Fixed a bug that caused seed lenght to be dependent of the -L and -N parameters order.
  • Fixed a bug that caused --local followed by -N to reset seed lenght to 22 which is actually the default value for global.
  • Enable compilation on FreeBDS and clang, although gmake port is still required.
  • Fixed an issue that made bowtie2 compilation process to fail on Snow Leopard.

Version 2.2.5 - Mar 9, 2015

  • Fixed some situations where incorrectly we could detect a Mavericks platform.
  • Fixed some manual issues including some HTML bad formating.
  • Make sure the wrapper correctly identifies the platform under OSX.
  • Fixed --rg/--rg-id options where included spaces were incorrectly treated.
  • Various documentation fixes added by contributors.
  • Fixed the incorrect behavior where parameter file names may contain spaces.
  • Fixed bugs related with the presence of spaces in the path where bowtie binaries are stored.
  • Improved exception handling for missformated quality values.
  • Improved redundancy checks by correctly account for soft clipping.

Lighter released

  • Lighter is an extremely fast and memory-efficient program for correcting sequencing errors in DNA sequencing data. For details on how error correction can help improve the speed and accuracy of downstream analysis tools, see the paper in Genome Biology. Source and software available at GitHub.

Version 2.2.4 - Oct 22, 2014

  • Fixed a Mavericks OSX specific bug caused by some linkage ambiguities.
  • Added lz4 compression option for the wrapper.
  • Fixed the vanishing --no-unal help line.
  • Added the static linkage for MinGW builds.
  • Added extra seed-hit output.
  • Fixed missing 0-length read in fastq --passthrough output.
  • Fixed an issue that would cause different output in -a mode depending on random seed.

Version 2.2.3 - May 30, 2014

  • Fixed a bug that made loading an index into memory crash sometimes.
  • Fixed a silent failure to warn the user in case the -x option is missing.
  • Updated --al, --un, al-conc and un-conc options to avoid confusion in cases where the user does not provide a base file name.
  • Fixed a spurious assert that made bowtie2-inspect debug fail.

Version 2.2.2 - April 10, 2014

  • Improved performance for cases where the reference contains ambiguous or masked nucleobases represented by Ns.

Version 2.2.1 - February 28, 2014

  • Improved way in which index files are loaded for alignment. Should fix efficiency problems on some filesystems.
  • Fixed a bug that made older systems unable to correctly deal with bowtie relative symbolic links.
  • Fixed a bug that, for very big indexes, could determine to determine file offsets correctly.
  • Fixed a bug where using --no-unal option incorrectly suppressed --un/--un-conc output.
  • Dropped a perl dependency that could cause problems on old systems.
  • Added --no-1mm-upfront option and clarified documentation for parameters governing the multiseed heuristic.

Version 2.2.0 - February 17, 2014

  • Improved index querying efficiency using "population count" instructions available since SSE4.2
  • Added support for large and small indexes, removing 4-billion-nucleotide barrier. Bowtie 2 can now be used with reference genomes of any size.
  • Fixed bug that could cause bowtie2-build to crash when reference length is close to 4 billion.
  • Added a CL: string to the @PG SAM header to preserve information about the aligner binary and paramteres.
  • Fixed bug that could cause bowtie2-build to crash when reference length is close to 4 billion.
  • No longer releasing 32-bit binaries. Simplified manual and Makefile accordingly.
  • Credits to the Intel® enabling team for performance optimizations included in this release. Thank you!
  • Phased out CygWin support. MinGW can still be used for Windows building.
  • Added the .bat generation for Windows.
  • Fixed some issues with some uncommon chars in fasta files.
  • Fixed wrappers so bowtie can now be used with symlinks.