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.4 10/22/14 

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


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.

Bowtie 2 on GitHub - February 4, 2014

Version 2.1.0 - February 21, 2013

  • Improved multithreading support so that Bowtie 2 now uses native Windows threads when compiled on Windows and uses a faster mutex. Threading performance should improve on all platforms.
  • Improved support for building 64-bit binaries for Windows x64 platforms.
  • Bowtie 2 uses a lightweight mutex by default.
  • Test option --nospin is no longer available. However bowtie2 can always be recompiled with EXTRA_FLAGS="-DNO_SPINLOCK" in order to drop the default spinlock usage.

Version 2.0.6 - January 27, 2013

  • Fixed issue whereby spurious output would be written in --no-unal mode.
  • Fixed issue whereby multiple input files combined with --reorder would cause truncated output and a memory spike.
  • Fixed spinlock datatype for Win64 API (LLP64 data model) which made it crash when compiled under Windows 7 x64.
  • Fixed bowtie2 wrapper to handle filename/paths operations in a more platform independent manner.
  • Added pthread as a default library option under cygwin, and pthreadGC for MinGW.
  • Fixed some minor issues that made MinGW compilation fail.

Version 2.0.5 - January 4, 2013

  • Fixed an issue that would cause excessive memory allocation when aligning to very repetitive genomes.
  • Fixed an issue that would cause a pseudo-randomness-related assert to be thrown in debug mode under rare circumstances.
  • When bowtie2-build fails, it will now delete index files created so far so that invalid index files don't linger.
  • Tokenizer no longer has limit of 10,000 tokens, which was a problem for users trying to index a very large number of FASTA files.
  • Updated manual's discussion of the -I and -X options to mention that setting them farther apart makes Bowtie 2 slower.
  • Renamed COPYING to LICENSE and created a README to be GitHub-friendly.