- Download and run the mingw-get-setup installer and set the install directory to C:\MinGW\32
- When presented with the "MinGW Installation Manager" window click on "All Packages" and mark the msys-zip, msys-unzip, and msys-wget packages for installation.
- Download and run the mingw-w64-install installer and set the install directory to C:\MinGW\64
- Once all MinGW packages are installed open Windows Explorer and navigate to C:\MinGW\msys\1.0 and run the msys.bat file to start the MinGW shell.
- To build TBB from source
* wget --no-check-certificate <tbb url>
* tar -xzf <tbb_archive_name>.tgz
* cd into the TBB source directory
* run mingw32-make.exe compiler=gcc arch=intel64 runtime=mingw
- Upon successful compilation there should now exist a build directory which contains the dlls needed by the linker. Before building bowtie make sure that the following environment variables contain the path to the TBB headers and dlls respectfully. From the root of the TBB directory run:
* the changes to the above environment variables will only available for the duration of the current shell session. To make them permanent make sure they are added to the ~/.profile file or your preferred shell’s rc file e.g. ~/.bashrc.
- From the MinGW shell cd to the Bowtie 2 git root run "make clean"
- Then "make bowtie2-pkg". (Use "make -j12" or similar to use many
CPUs at once).
- Rename the resulting archive to match the typical naming scheme. E.g.:
<p>This is a major release with some larger and many smaller changes. These notes emphasize the large changes. See commit history for details.</p>
<h2>Version 2.3.0 - Dec 13, 2016</h2>
<p>This is a major release with some larger and many smaller changes. These notes emphasize the large changes. See commit history for details.</p>
<ul>
<li>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.</li>
<li>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 use `NO_TBB` (TODO: insert actual flag here). To use legacy binaries, download the appropriate binary archive with "legacy" in the name.</li>
<li>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 use <tt>NO_TBB=1</tt>. To use legacy binaries, download the appropriate binary archive with "legacy" in the name.</li>
<li>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.</li>
<li>Fixed issue with parsing FASTA records with greater-than symbol in the name</li>
<li>Now detects and reports inconsistencies between `--score-min` and `--ma`</li>
<li>Changed default for `--bmaxdivn` to yield better memory footprint and running time when building an index with many threads</li>
<li>Now detects and reports inconsistencies between <tt><a href="manual.shtml#bowtie2-options-score-min">--score-min</a></tt> and <tt><a href="manual.shtml#bowtie2-options-ma">--ma</a></tt></li>
<li>Changed default for <tt><a href="manual.shtml#bowtie2-build-options-bmaxdivn">--bmaxdivn</a></tt> to yield better memory footprint and running time when building an index with many threads</li>
</ul>
<h2>Bowtie2 developers note</h2>
<p>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. </p>