Bowtie Changelog

What's new in Bowtie 2.3.2

May 9, 2017
  • Added support for interleaved paired-end FASTQ inputs (--interleaved)
  • Now reports MREVERSE SAM flag for unaligned end when only one end of a pair aligns
  • Fixed issue where first character of some read names was omitted from SAM output when using tabbed input formats
  • Added --sam-no-qname-trunc option, which causes entire read name, including spaces, to be written to SAM output. This violates SAM specification, but can be useful in applications that immediately postprocess the SAM.
  • Fixed compilation error caused by pointer comparison issue in aligner_result.cpp
  • Removed termcap and readline dependencies introduced in v2.3.1
  • Fixed compilation issues caused by gzbuffer function when compiling with zlib v1.2.3.5 and earlier. Users compiling against these libraries will use the zlib default buffer size of 8Kb when decompressing read files.
  • Fixed issue that would cause Bowtie 2 hang when aligning FASTA inputs with more than one thread

New in Bowtie 2.3.1 (Mar 4, 2017)

  • Added native support for gzipped read files. The wrapper script is no longer responsible for decompression. This simplifies the wrapper and improves speed and thread scalability for gzipped inputs.
  • Fixed a bug that caused 'bowtie2-build' to crash when the first FASTA sequence contains all Ns.
  • Add support for interleaved FASTQ format -—interleaved.
  • Empty FASTQ inputs would yield an error in Bowtie 2 2.3.0, whereas previous versions would simply align 0 reads and report the SAM header as usual. This version returns to the pre-2.3.0 behavior, resolving a compatibility issue between TopHat2 and Bowtie 2 2.3.0.
  • Fixed a bug whereby combining -—un-conc* with -k or -a would cause 'bowtie2' to print duplicate reads in one or both of the --un-conc* output files, causing the ends to be misaligned.
  • The default ---score-min for --local mode is now 'G,20,8'. That was the stated default in the documentation for a while, but the actual default was 'G,0,10' for many versions. Now the default matches the documentation and, we find, yields more accurate alignments than 'G,0,10'

New in Bowtie 2.2.9 (Apr 22, 2016)

  • Fixed the multiple threads issue for the bowtie2-build.
  • Fixed a TBB related build issue impacting TBB v4.4.

New in Bowtie 2.2.8 (Mar 11, 2016)

  • Various website updates.
  • Fixed the bowtie2-build issue that made TBB compilation fail.
  • Fixed the static build for Win32 platform.

New in Bowtie 2.2.7 (Mar 11, 2016)

  • Added a parallel index build option: bowtie2-build --threads .
  • Fixed an issue whereby IUPAC codes (other than A/C/G/T/N) in reads were converted to As. Now all non-A/C/G/T characters in reads become Ns.
  • Fixed some compilation issues, including for the Intel C++ Compiler.
  • Removed debugging code that could impede performance for many alignment threads.
  • Fixed a few typos in documentation.

New in Bowtie 2.2.6 (Aug 24, 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.

New in Bowtie 2.2.5 (Jun 24, 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.

New in Bowtie 2.2.4 (Oct 23, 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.

New in Bowtie 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.

New in Bowtie 2.2.2 (Apr 15, 2014)

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

New in Bowtie 2.2.1 (Apr 8, 2014)

  • Improved index file access for all situations.
  • Fixed a bug that made older systems unable to correctly deal with bowtie relative symlinks.
  • Fixed a bug that would make possible in the case of some very big indexes to incorrectly determine file offsets.
  • Fixed a bug where using --no-unal option leads to --un-conc malfunction.
  • Fixed a bug where --no-unal option leads to --un option malfunction.
  • Dropped a perl dependencies that on very old systems would require a perl module update.
  • Added --no-1mm-upfront option and documented the functionality associated with other multiseed heuristics options.

New in Bowtie 2.2.0 (Apr 8, 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.
  • Fixed issue in bowtie2-inspect that caused -e mode not to output nucleotides properly.
  • Added a CL: string to the @PG SAM header to preserve information about the aligner binary and paramteres.
  • No longer releasing 32-bit binaries. Simplified manual and Makefile accordingly.
  • Credits to the Intel(r) enabling team for performance optimizations included in this release. Thank you!
  • Phased out CygWin support.
  • 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.

New in Bowtie 2.1.0 (Feb 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 is using a spinlocking mechanism 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.

New in Bowtie 0.10.2 (Jun 29, 2009)

  • Fix for paired-end crashing bug in Windows version. src and win32 packages updated. Mac and Linux version are unaffected.

New in Bowtie 0.9.9.3 (May 15, 2009)

  • Fixed an issue where bowtie --best would sometimes use excessive
  • amounts of memory to store path descriptors. There is now a per-
  • thread 32-MB ceiling (configurable with new option --chunkmbs
  • ) on the memory taken by path descriptors. If the ceiling is
  • exceeded Bowtie will skip the offending read, print a warning
  • message identifying the read, and continue.
  • More options are available for defining the quality-value format,
  • including new --phred64-quals/--solexa1.3-quals options
  • appropriate for the 64-based-Phred output of Illumina's GA

New in Bowtie 0.9.9.2 (Apr 13, 2009)

  • Paired-end alignment is now available in all alignment modes,including all -n modes.
  • best now provides better guarantees. Reported alignments are now guaranteed to be "best" both in terms of stratum (i.e. number
  • of mismatches, or mismatches in the seed in the case of -n mode),
  • and in terms of the quality values at the mismatched position(s).
  • Stratum always trumps quality when determining best alignments.
  • Also, --best mode resolves the strand bias issue (see manual for a
  • discussion of the issue).
  • Speed improvements for --best mode in most alignment modes.
  • Major speed improvement for the -v 3 alignment mode (except when-z is also used)
  • The "Reported X alignments..." message is now printed to stderr rather than stdout. Only alignments are written to stdout.
  • In bowtie-maqconvert, read names longer than Maq's limit (36) are now truncated to a suffix of the original name, rather than a prefix. This mimics Maq's behavior and prevents "/1" and "/2" suffixes for paired-end reads from being destroyed.
  • Added --alfq/--alfa options to dump aligned reads to FASTQ and/or FASTA files.
  • Removed many extraneous source files.

New in Bowtie 0.9.9.1 (Mar 12, 2009)

  • Added paired-end alignment for -v 2 and -v 3 alignment modes (-n modes coming soon).
  • Minor bug fixes and speed improvements for all paired-end modes.
  • Added -s/--skip option to skip over the first reads or pairs in the input.
  • --unfq/--unfa/--maxfq/--maxfa modes no longer create empty output files.
  • All Bowtie tools now compile under GCC 4.3.3.
  • Fixed bug whereby bowtie -b would sometimes write garbage into the reference offset field.
  • Paired-end info is now persisted in the -b format, allowing bowtie-maptool output to add "/1" and "/2" suffixes as appropriate.

New in Bowtie 0.9.9 (Feb 20, 2009)

  • Added some preliminary support for paired-end alignment in -v 0 and -v 1 modes. -1/-2 options to specify the paired-end files, -I/-X to specify min and max insert sizes, and --fr/--rf/--ff specify relative orientation of upstream and downstream mates. bowtie-build now builds two additional files: NAME.3.ebwt and NAME.4.ebwt. Together, these files store a bitpacked version of the reference and they are required for paired-end alignment. If your index does not include these files and you would like to perform a paired-end alignment, you will have to rebuild the index with bowtie-build version 0.9.9 or later. Paired-end alignment is not compatible with -z mode, and it incurs about a 30% greater memory overhead than single-end mode.
  • Pre-built indexes available from Bowtie website have been updated to include .3/.4.ebwt index files. These new pre-built indexes are no longer compatible with bowtie versions prior to 0.9.8.
  • New -B/--offbase option allows user to specify how bowtie numbers reference positions in its output. E.g. -B 1 causes bowtie to number leftmost char as 1. -B 0 is the default, but -B 1 will likely become the default in the 1.0 release.
  • Fixed a bug that caused trimming options -3 and -5 not to work properly in -r (raw input) mode.
  • bowtie-build now prints a friendly error message and exits if an input file doesn't exist.
  • Fixed a bug that caused the Win32 version of bowtie to hang just before it would normally have exited.
  • Fixed bug that could prevent successful read-in of very large (>1GB) .2.ebwt index files.
  • Removed --maxns option since it's mostly redundant with what -v and -n already do.
  • Removed --ntoa option.
  • bowtie usage message is now divided into sections for clarity.

New in Bowtie 0.9.8.1 (Jan 8, 2009)

  • Fixed all known problems with the --unfa/--unfq options:
  • They now work properly with multiple threads.
  • Fixed issue where sequence and quals were sometimes reversed.
  • Fixed other issues causing spurious omission of unaligned reads.
  • Added --maxfa/--maxfq options so that reads that don't align due to the -m limit can be dumped separately from reads that don't align at all.
  • Alignment output is now guaranteed to be "deterministic" even when multiple threads are used. I.e., given the same input reads (in any order) and the same --seed, bowtie will produce the same alignments every time it is run, though not necessarily in the same order. This does not hold across different versions of bowtie.
  • Multiple other bug fixes.

New in Bowtie 0.9.8 (Nov 26, 2008)

  • --unfa/--unfq options cause bowtie to dump unaligned reads to FASTA and/or FASTQ files.
  • bowtie-build now selects its memory-efficiency parameters (--bmax, --dcv, --packed) automatically by default; this makes it far easier to build an index under memory constraints by eliminating tedious trail-and-error. New -a option disables this, yielding old behavior.
  • bowtie-build-packed is no longer a separate binary. Supplying the new -p/--packed argument to bowtie-build is the new equivalent.
  • New tool bowtie-maptool converts between Bowtie's output formats.
  • New tool bowtie-inspect recreates reference strings from Bowtie index.
  • Renamed bowtie-convert to bowtie-maqconvert for clarity.
  • New universal Mac binary combines i386 & x86_64 binaries. PowerPC still not supported.
  • Added --nomaqround option to bowtie.
  • Fixed memory leaks in bowtie.
  • Switched to a new scheme for mapping positions in "joined" reference string to positions in original strings. This changes the index format. bowtie-build's --oldpmap parameter reverts to the old format. Versions of bowtie prior to 0.9.8 cannot search indexes produced by bowtie-build 0.9.8 unless bowtie-build is run with --oldpmap. bowtie 0.9.8 can search either index format. Pre-built indexes are still in the old format, but will switch to new format when Bowtie 1.0 is released.

New in Bowtie 0.9.7.1 (Nov 12, 2008)

  • Fixed an issue that caused a spurious loss of sensitivity between Bowtie versions 0.9.6 and 0.9.7 in certain modes.

New in Bowtie 0.9.7 (Nov 10, 2008)

  • Added new reporting option -m which suppresses all alignments for a particular read if more than reportable alignments exist for it.
  • Threads now buffer all alignments for a particular read/phase then output all alignments in one critical section. This guarantees that all alignments for a given read/phase appear in one consecutive block of the output, even when multiple threads are operating in parallel.
  • Separated the quality-conversion and parsing aspects of the old --solexa-quals argument into separate arguments: --solexa-quals (quality conversion) and --integer-quals (parsing).
  • bowtie-convert now handles the new (post-0.7.0) Maq alignment format. The new format allows Maq tools to handle reads up to 127 bases, whereas the old format was limited to 63 bases. Added a -o option to opt for the old Maq format.
  • New --refout argument sends alignments to a set of files named refXXXXX.map, where XXXXX is the 0-padded index of the reference sequence aligned to. Useful for dealing with large datasets aligned to, e.g., the assembled human genome.
  • Improved tutorial to use a simple simulated read set (included) to do SNP calls with Maq.
  • Added --nota option to bowtie-build
  • Fixed make_h_sapiens_asm.sh script to include mitochondrial DNA.

New in Bowtie 0.9.6 (Oct 27, 2008)

  • 'bowtie' now supports a host of options that allow the user to specify which and how many valid alignments to report per read. The default is still to report 1 "good" alignment, which is by far the fastest mode. See -k/-a/--best/--nostrata options described in the manual for details.
  • 'bowtie' now supports reads up to 1024 bases long. Note that for reads much longer than, say, 35 bases, the user must be careful to set alignment policy parameters (especially -e) appropriately.
  • --fast flag eliminated, double-index mode is now the default. Added the -z/--phased flag to revert to phased, half-index mode.
  • --concise output mode now officially supported. Now outputs one alignment per line.
  • Changed 'bowtie-build' default back to --bmaxdivn 4.
  • -h/--help now prints much more verbose help for 'bowtie' and 'bowtie-build' (verbatim from MANUAL file)
  • BWT-searching code streamlined; much old code eliminated

New in Bowtie 0.9.3 (Sep 10, 2008)

  • Major reference-name bug fixes to bowtie-convert