Skip to content
代码片段 群组 项目
提交 fab4c696 编辑于 作者: Rone Charles's avatar Rone Charles
浏览文件

Update rel2.3 documentation

上级 72497e58
无相关合并请求
......@@ -25,7 +25,7 @@ Version 2.3.0 - Dec 13, 2016
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
in legacy mode use `NO_TBB=1`. To
use legacy binaries, download the appropriate binary archive with
"legacy" in the name.
* Bowtie now uses a queue-based lock rather
......@@ -33,9 +33,9 @@ Version 2.3.0 - Dec 13, 2016
scaling; we saw an order-of-magnitude throughput improvements at
120 threads in one experiment, for example.
* Unnecessary thread synchronization removed
* Fixed issue with parsing FASTA records with greater-than symbol in the name</li>
* Now detects and reports inconsistencies between `--score-min` and `--ma`</li>
* Changed default for `--bmaxdivn` to yield better memory footprint and running time when building an index with many threads</li>
* Fixed issue with parsing FASTA records with greater-than symbol in the name
* Now detects and reports inconsistencies between `--score-min` and `--ma`
* Changed default for `--bmaxdivn` to yield better memory footprint and running time when building an index with many threads
Version 2.2.9 - Apr 22, 2016
* Fixed the multiple threads issue for the bowtie2-build.
......
......@@ -12,14 +12,16 @@ Prerequisites:
- Need "pandoc" installed on at least one of those machines.
- Need access to the GitHub repository.
- Need a sourceforge account with the appropriate permissions.
- TBB is now the default threading library and should be installed
either from source or using a package manager
1. Check that the code compiles with no issues, including with very recent
versions of g++, and with clang on a Mac.
- To use clang on the Mac: "make CPP=clang++ allall"
2. Check that all the simple tests pass: "sh scripts/test/simple_tests.sh"
2. Check that all the simple tests pass: "make simple-test"
3. Check that random tests pass: "sh scripts/sim/run.sh 1"
3. Check that random tests pass: "make random-test"
4. Check that performance, sensitivity and accuracy are not substantially
changed.
......@@ -68,34 +70,61 @@ Prerequisites:
scp bowtie2-X.Y.Z-source.zip USERNAME@frs.sourceforge.net:/home/frs/project/bowtie-bio/bowtie2/X.Y.Z/
(But replace X.Y.Z and USERNAME with appropriate values)
13. Make Bowtie 2 Linux 32-bit and 64-bit binaries.
13. Make Bowtie 2 Linux 64-bit binaries.
- On a Linux machine (e.g. igmX), from the Bowtie 2 git root run "make clean"
- Then "make BITS=32 bowtie2-bin". (Use "make -j12" or similar to use many
- 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.:
"mv bowtie2-X.Y.Z-32.zip bowtie2-X.Y.Z-linux-i386.zip"
"mv bowtie2-X.Y.Z.zip bowtie2-X.Y.Z-linux-x86_64.zip"
- Upload to sourceforge:
scp bowtie2-X.Y.Z-linux-i386.zip USERNAME@frs.sourceforge.net:/home/frs/project/bowtie-bio/bowtie2/X.Y.Z/
scp bowtie2-X.Y.Z-linux-x86_64.zip USERNAME@frs.sourceforge.net:/home/frs/project/bowtie-bio/bowtie2/X.Y.Z/
(But replace X.Y.Z and USERNAME with appropriate values)
- Repeat from the beginning but replacing "32" with "64" and "i386" with
"x86-64".
- Repeat from the beginning adding the NO_TBB=1 flag to the second step to create the legacy packages
14. Make Bowtie 2 Mac OS X 32-bit and 64-bit binaries.
14. Make Bowtie 2 Mac OS X 64-bit binaries.
- From the Bowtie 2 git root run "make clean"
- Then "make EXTRA_FLAGS=-mmacosx-version-min=10.5 BITS=32 bowtie2-bin".
- Then "make EXTRA_FLAGS=-mmacosx-version-min=10.5 bowtie2-pkg".
(Use "make -j12" or similar to use many CPUs at once). The -mmacosx...
flag forces the binaries to be backward compatible with Mac OS version
10.5 and up.
- Rename the resulting archive to match the typical naming scheme. E.g.:
"mv bowtie2-X.Y.Z-32.zip bowtie2-X.Y.Z-macos-i386.zip"
"mv bowtie2-X.Y.Z.zip bowtie2-X.Y.Z-macos-x86_64.zip"
- Upload to sourceforge:
scp bowtie2-X.Y.Z-macos-i386.zip USERNAME@frs.sourceforge.net:/home/frs/project/bowtie-bio/bowtie2/X.Y.Z/
scp bowtie2-X.Y.Z-macos-x86_64.zip USERNAME@frs.sourceforge.net:/home/frs/project/bowtie-bio/bowtie2/X.Y.Z/
(But replace X.Y.Z and USERNAME with appropriate values)
- Repeat from the beginning but replacing "32" with "64" and "i386" with
"x86-64".
15. Make Windows 32-bit and 64-bit binaries
- TODO! Need to regularly build Bowtie 2 on Windows.
- Repeat from the beginning adding the NO_TBB=1 flag to the second step to create the legacy packages
15. Make Windows 64-bit binaries
Prerequisites
-------------
By default MinGW can only compile 32 bit binaries, so MinGW-w64 will be needed for 64 bit binaries
MinGW installer - https://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download
MinGW64 - https://sourceforge.net/projects/tdm-gcc/files/latest/download
TBB - https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb2017_20161128oss_src.tgz
- 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:
* export CPATH=$CPATH:`pwd`/include
* export LIBRARY_PATH=$LIBRARY_PATH:`pwd`/build/windows_intel64_gcc_mingw_release
* 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.:
"mv bowtie2-X.Y.Z.zip bowtie2-X.Y.Z-mingw-x86_64.zip"
- Upload to sourceforge:
scp bowtie2-X.Y.Z-linux-x86_64.zip USERNAME@frs.sourceforge.net:/home/frs/project/bowtie-bio/bowtie2/X.Y.Z/
(But replace X.Y.Z and USERNAME with appropriate values)
- Repeat the above 4 steps adding the NO_TBB=1 flag to the second step to create the legacy packages
16. Make a git annotated tag for the new version using "git tag -a"
- See: http://git-scm.com/book/en/Git-Basics-Tagging
......
<h2>Bowtie2 developers note</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>
<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>Unnecessary thread synchronization removed</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>
<h2>Version 2.2.9 - Apr 22, 2016</h2>
<ul>
......
......@@ -21,7 +21,7 @@
<a href="https://sourceforge.net/projects/bowtie-bio/files/bowtie2/2.3.0">Bowtie2 2.3.0</a>
</td>
<td align="right">
4/22/16&nbsp;
12/13/16&nbsp;
</td>
</tr>
<tr>
......
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册