2013年3月20日水曜日

SAMtoolsをインストールする(Linux OS, Ubuntu)


SAMtoolsのインストールに予想以上に手間取ったので、エラーログを含めてインストール方法を書いておきたいと思います…。

〈SAMtoolsのダウンロード〉
(1)SAMtoolsのサイトへ移動。

(2)SAMtoolsサイトの「Introduction」の下のほうにある、
SAMtools is hosted by SourceForge.net. The project page is here
The source code releases are available from the download page.
「download page」をクリック。

(3)SorceForge.netのサイトへ移動し、
Looking for the latest version? Download samtools-0.1.19.tar.bz2 (514.5 kB)
にある「Download samtools-0.1.XX.tar.bz2」をクリック。

(4)5秒待つと、自動的にダウンロードするファイルの保存場所を指定するように言ってくる。

〈SAMtoolsのインストール〉
(1)SAMtoolsのファイルを解凍。
$ tar jxvf samtools-0.1.19.tar.bz2

(2)makeコマンドでコンパイルを試みるが、致命的なエラーが発生。
$ make
make[1]: ディレクトリ `/home/imamachi/Download/samtools-0.1.19' に入ります
make[2]: ディレクトリ `/home/imamachi/Download/samtools-0.1.19' に入ります
gcc -c -g -Wall -O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_USE_KNETFILE -D_CURSES_LIB=1 -DBGZF_CACHE -I. bgzf.c -o bgzf.o
In file included from bgzf.c:32:0:
bgzf.h:33:18: 致命的エラー: zlib.h: そのようなファイルやディレクトリはありません
コンパイルを停止しました。
make[2]: *** [bgzf.o] エラー 1
make[2]: ディレクトリ `/home/imamachi/Download/samtools-0.1.19' から出ます
make[1]: *** [lib-recur] エラー 1
make[1]: ディレクトリ `/home/imamachi/Download/samtools-0.1.19' から出ます
make: *** [all-recur] エラー 1
⇒どうやら「zlib.h」が入っていないせいでエラーが起こっているよう。

(3)apt-fileコマンドで「zlib.h」を検索。
$ apt-file search zlib.h
プログラム 'apt-file' はまだインストールされていません。  次のように入力することでインストールできます:
sudo apt-get install apt-file

(4)「apt-file」がインストールされていないとのことだったので、言われたとおりにコマンドを打ち、「apt-file」のインストールを試みる。
$ sudo apt-get install apt-file
[sudo] password for imamachi: #パスワードを入力
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています              
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  build-essential curl dpkg-dev fakeroot g++ g++-4.6 libalgorithm-diff-perl
  libalgorithm-diff-xs-perl libalgorithm-merge-perl libapt-pkg-perl
  libconfig-file-perl libdpkg-perl liblist-moreutils-perl
  libregexp-assemble-perl libstdc++6-4.6-dev libtimedate-perl
提案パッケージ:
  debian-keyring g++-multilib g++-4.6-multilib gcc-4.6-doc libstdc++6-4.6-dbg
  libstdc++6-4.6-doc
以下のパッケージが新たにインストールされます:
  apt-file build-essential curl dpkg-dev fakeroot g++ g++-4.6
  libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl
  libapt-pkg-perl libconfig-file-perl libdpkg-perl liblist-moreutils-perl
  libregexp-assemble-perl libstdc++6-4.6-dev libtimedate-perl
アップグレード: 0 個、新規インストール: 17 個、削除: 0 個、保留: 14 個。
9,640 kB のアーカイブを取得する必要があります。
この操作後に追加で 28.7 MB のディスク容量が消費されます。
続行しますか [Y/n]? y #インストールしていいか聞かれるので「y」と入力。

(5)「apt-file」がインストールできたので、「apt-file」で必要な「zlib.h」を検索。
$ apt-file search /usr/include/zlib.h #単純にzlib.hと入力するとたくさん候補が出てきてしまうので、条件を絞っておく。
zlib1g-dev: /usr/include/zlib.h

(6)「zlib1g-dev」のインストールを試みる。
$ sudo apt-get install zlib1g-dev
[sudo] password for imamachi: #パスワードを入力

(7)「zlib.h」をインストールできたので、再度、makeコマンドを実行。
$ make
make[1]: ディレクトリ `/home/imamachi/Download/samtools-0.1.19' に入ります
make[2]: ディレクトリ `/home/imamachi/Download/samtools-0.1.19' に入ります

bam_tview_curses.c:5:20: 致命的エラー: curses.h: そのようなファイルやディレクトリはありません
コンパイルを停止しました。
make[1]: *** [bam_tview_curses.o] エラー 1
make[1]: ディレクトリ `/home/imamachi/Download/samtools-0.1.19' から出ます
make: *** [all-recur] エラー 1
⇒今度こそうまくいくと思いきや、またしても致命的なエラーが発生(´・ω・`)

(8)しかたないので、「curses.h」のインストールを試みる。
$ apt-file search /usr/include/curses.h
libncurses5-dev: /usr/include/curses.h

$ sudo apt-get install libncurses5-dev
[sudo] password for imamachi: #パスワードを入力
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています              
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  libtinfo-dev
提案パッケージ:
  ncurses-doc
以下のパッケージが新たにインストールされます:
  libncurses5-dev libtinfo-dev
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 14 個。
312 kB のアーカイブを取得する必要があります。
この操作後に追加で 1,334 kB のディスク容量が消費されます。
続行しますか [Y/n]? y #インストールしていいか聞かれるので「y」と入力。

(9)「curses.h」をインストールできたので、満を持してmakeコマンドを実行( ・`ω・´)
$ make
⇒致命的なエラーも起こらず、コンパイルできたよう。

(10)「samtools」コマンドが利用できるようになっているか確認。
$ ./samtools
Program: samtools (Tools for alignments in the SAM format)
Version: 0.1.18-r580

Usage:   samtools <command> [options]

Command: view        SAM<->BAM conversion
         sort        sort alignment file
         mpileup     multi-way pileup
         depth       compute the depth
         faidx       index/extract FASTA
         tview       text alignment viewer
         index       index alignment
         idxstats    BAM index stats (r595 or later)
         fixmate     fix mate information
         flagstat    simple stats
         calmd       recalculate MD/NM tags and '=' bases
         merge       merge sorted alignments
         rmdup       remove PCR duplicates
         reheader    replace BAM header
         cat         concatenate BAMs
         bedcov      read depth per BED region
         targetcut   cut fosmid regions (for fosmid pool only)
         phase       phase heterozygotes
         bamshuf     shuffle and group alignments by name
⇒インストール完了ヽ(*´∀`)ノ

あとは「パスを通せば」完了です!

0 件のコメント:

コメントを投稿