v1.2.0
This is a major release with some larger and many smaller changes. These notes emphasize the large changes. See commit history for details
- Code related to read parsing was completely rewritten to improve
scalability to many threads. In short, the critical section is
simpler and parses input reads in batches rather than one at a time.
The improvement applies to all read formats. - --reads-per-batch command line parameter added to specify the number
of reads to read from input file at once - TBB is now the default threading library. We consistently found TBB to give
superior thread scaling. It is widely available and widely installed.
That said, we are also preserving a "legacy" version of Bowtie that,
like previous releases, does not use TBB. To compile Bowtie source
in legacy mode useNO_TBB
(TODO: insert actual flag here). To
use legacy binaries, download the appropriate binary archive with
"legacy" in the name. - Bowtie now uses a queue-based lock rather
than a spin or heavyweight lock. We find this gives superior thread
scaling; we saw an order-of-magnitude throughput improvements at
120 threads in one experiment, for example. - Unnecessary thread synchronization removed
- Fixed colorspace parsing when primer base is present
- Fixed bugs related to --skip command line option