bwaのインストール(OS X)

本ページではbwaをOS Xにインストールする実際の例を示す。

前提

手順

概略としては以下のようになる

  1. web browser でhttp://sourceforge.net/projects/bio-bwa/files/ をみて最新版のバージョンを確認する。
  2. 最新版をダウンロードする
  3. アーカイブを展開する
  4. コンパイルする
  5. 実行ファイルを$HOME/binにコピーする

ダウンロード

OS Xでのダウンロードには通常ftpコマンドを使う。(Linuxだとwgetを使う)。ブラウザからダウンロードして ホームディレクトリーに保存しても良い。
% ftp http://sourceforge.net/projects/bio-bwa/files/bwa-0.7.3a.tar.bz2
Requesting http://sourceforge.net/projects/bio-bwa/files/bwa-0.7.3a.tar.bz2
Redirected to http://sourceforge.net/projects/bio-bwa/files/bwa-0.7.3a.tar.bz2/download
Requesting http://sourceforge.net/projects/bio-bwa/files/bwa-0.7.3a.tar.bz2/download
Redirected to http://downloads.sourceforge.net/project/bio-bwa/bwa-0.7.3a.tar.bz2?r=&ts=1365039851&use_mirror=jaist
Requesting http://downloads.sourceforge.net/project/bio-bwa/bwa-0.7.3a.tar.bz2?r=&ts=1365039851&use_mirror=jaist
Redirected to http://jaist.dl.sourceforge.net/project/bio-bwa/bwa-0.7.3a.tar.bz2
Trying 150.65.7.130...
Requesting http://jaist.dl.sourceforge.net/project/bio-bwa/bwa-0.7.3a.tar.bz2
100% |***********************************************************************************************|   141 KiB  811.60 KiB/s    00:00 ETA
144474 bytes retrieved in 00:00 (811.08 KiB/s)

アーカイブの展開

tarでまとめた上でbzip2で圧縮されているファイルであるのでtarによる展開時にjオプションをつける。

% tar jxvf bwa-0.7.3a.tar.bz2 
x bwa-0.7.3a/
x bwa-0.7.3a/bamlite.c
x bwa-0.7.3a/bamlite.h
x bwa-0.7.3a/bntseq.c
x bwa-0.7.3a/bntseq.h
x bwa-0.7.3a/bwa.1
x bwa-0.7.3a/bwa.c
x bwa-0.7.3a/bwa.h
x bwa-0.7.3a/bwamem.c
x bwa-0.7.3a/bwamem.h
x bwa-0.7.3a/bwamem_pair.c
x bwa-0.7.3a/bwape.c
x bwa-0.7.3a/bwase.c
x bwa-0.7.3a/bwase.h
x bwa-0.7.3a/bwaseqio.c
x bwa-0.7.3a/bwt.c
x bwa-0.7.3a/bwt.h
x bwa-0.7.3a/bwt_gen.c
x bwa-0.7.3a/bwt_lite.c
x bwa-0.7.3a/bwt_lite.h
x bwa-0.7.3a/bwtaln.c
x bwa-0.7.3a/bwtaln.h
x bwa-0.7.3a/bwtgap.c
x bwa-0.7.3a/bwtgap.h
x bwa-0.7.3a/bwtindex.c
x bwa-0.7.3a/bwtsw2.h
x bwa-0.7.3a/bwtsw2_aux.c
x bwa-0.7.3a/bwtsw2_chain.c
x bwa-0.7.3a/bwtsw2_core.c
x bwa-0.7.3a/bwtsw2_main.c
x bwa-0.7.3a/bwtsw2_pair.c
x bwa-0.7.3a/ChangeLog
x bwa-0.7.3a/COPYING
x bwa-0.7.3a/example.c
x bwa-0.7.3a/fastmap.c
x bwa-0.7.3a/is.c
x bwa-0.7.3a/kbtree.h
x bwa-0.7.3a/khash.h
x bwa-0.7.3a/kopen.c
x bwa-0.7.3a/kseq.h
x bwa-0.7.3a/ksort.h
x bwa-0.7.3a/kstring.c
x bwa-0.7.3a/kstring.h
x bwa-0.7.3a/ksw.c
x bwa-0.7.3a/ksw.h
x bwa-0.7.3a/kvec.h
x bwa-0.7.3a/main.c
x bwa-0.7.3a/Makefile
x bwa-0.7.3a/NEWS
x bwa-0.7.3a/pemerge.c
x bwa-0.7.3a/QSufSort.c
x bwa-0.7.3a/QSufSort.h
x bwa-0.7.3a/qualfa2fq.pl
x bwa-0.7.3a/README
x bwa-0.7.3a/utils.c
x bwa-0.7.3a/utils.h
x bwa-0.7.3a/xa2multi.pl

コンパイル

make一発で素直にコンパイルできる

% cd bwa-0.7.3a
% make
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  utils.c -o utils.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  kstring.c -o kstring.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  ksw.c -o ksw.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bwt.c -o bwt.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bntseq.c -o bntseq.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bwa.c -o bwa.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bwamem.c -o bwamem.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bwamem_pair.c -o bwamem_pair.o
ar -csru libbwa.a utils.o kstring.o ksw.o bwt.o bntseq.o bwa.o bwamem.o bwamem_pair.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  QSufSort.c -o QSufSort.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bwt_gen.c -o bwt_gen.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bwase.c -o bwase.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bwaseqio.c -o bwaseqio.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bwtgap.c -o bwtgap.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bwtaln.c -o bwtaln.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bamlite.c -o bamlite.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  is.c -o is.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bwtindex.c -o bwtindex.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bwape.c -o bwape.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  kopen.c -o kopen.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  pemerge.c -o pemerge.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bwtsw2_core.c -o bwtsw2_core.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bwtsw2_main.c -o bwtsw2_main.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bwtsw2_aux.c -o bwtsw2_aux.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bwt_lite.c -o bwt_lite.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bwtsw2_chain.c -o bwtsw2_chain.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  fastmap.c -o fastmap.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  bwtsw2_pair.c -o bwtsw2_pair.o
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  main.c -o main.o
gcc -g -Wall -O2 -DHAVE_PTHREAD QSufSort.o bwt_gen.o bwase.o bwaseqio.o bwtgap.o bwtaln.o bamlite.o is.o bwtindex.o bwape.o kopen.o pemerge.o bwtsw2_core.o bwtsw2_main.o bwtsw2_aux.o bwt_lite.o bwtsw2_chain.o fastmap.o bwtsw2_pair.o main.o -o bwa -L. -lbwa -lm -lz -lpthread
gcc -c -g -Wall -O2 -DHAVE_PTHREAD  example.c -o example.o
gcc -g -Wall -O2 -DHAVE_PTHREAD example.o -o bwamem-lite -L. -lbwa -lm -lz -lpthread

出来上がった実行ファイルをコピー

% cp bwa *.pl $HOME/bin