69 lines
2.0 KiB
Markdown
69 lines
2.0 KiB
Markdown
BWA C Aligner JNI Library
|
|
=========================
|
|
|
|
|
|
Basic Instructions
|
|
------------------
|
|
|
|
- Download BWA svn revision 47
|
|
- Run autoconf and build bwa to create libbwacore.a
|
|
- Build mac or linux specific libbwa
|
|
- Update the libary path to point to the directory with libbwa
|
|
|
|
|
|
Obtaining compatible libbwacore
|
|
-------------------------------
|
|
|
|
libbwa only works with a very specify range of versions from bwa's svn archive. r25-r47 are known to compile a
|
|
libbwacore.a compatible with building libbwa.so or libbwa.dylib.
|
|
|
|
From the bwa directory, download bwa revision 47 from svn by running the command:
|
|
|
|
svn co http://svn.code.sf.net/p/bio-bwa/code/trunk/bwa@47 bwasvn47
|
|
|
|
|
|
Compiling libbwacore.a
|
|
----------------------
|
|
|
|
Once bwa has been downloaded from svn to the directory bwasvn47, using autoconf and make, one can compile libbwacore.a.
|
|
|
|
- Install autoconf on Mac using MacPorts
|
|
`port install autoconf`
|
|
|
|
- Or add autoconf on Linux via the dotkit
|
|
`reuse .autoconf-2.69`
|
|
|
|
- Change directory to bwasvn47
|
|
`cd bwasvn47`
|
|
|
|
- Change permissions to make autogen.sh script executable
|
|
`chmod +x autogen.sh`
|
|
|
|
- Run configure
|
|
`./configure`
|
|
|
|
- Build
|
|
`make`
|
|
|
|
- Return to the bwa directory
|
|
`cd ..`
|
|
|
|
|
|
Compiling libbwa.so / libbwa.dylib
|
|
----------------------------------
|
|
|
|
After successfully compiling libbwacore.a from the bwa svn source, the GATK specific libbwa.so / libbwa.dylib may be
|
|
compiled using libbwacore. There are two shell scripts that include libbwacore.a by using paths pointing to bwasvn47.
|
|
|
|
- On Mac run `./build_mac.sh`
|
|
- On Linux run `./build_linux.sh`
|
|
|
|
|
|
Running the GATK with libbwa.so / libbwa.dylib
|
|
----------------------------------------------
|
|
|
|
The GATK loads libbwa.so or libbwa.dylib from a directory specified appended to the java.library.path. There are two
|
|
ways to specify this directory containing libbwa. Either add the directory to the LD_LIBRARY_PATH environment variable
|
|
`export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:<lib_dir>`, or set java.library.path java variable on the command line
|
|
`-Djava.library.path=<lib_dir>`.
|