ゲノム解析用ソフトVICUNAをコンパイルする。
ゲノム解析用のVICUNAを使いたいという要望がありました。
見てみるとコンパイルが必要だったので手順をまとめました。
(意外と苦戦したので)
仮想環境構築
OS:Ubuntu 12.04 LTS 64bit
Vagrantを使って構築します。
VirtualBox-4.3.10
vagrant_1.5.3
仮想環境構築方法は割愛します。次のサイトを参照ください。
http://www.vagrantup.com
http://www.vagrantbox.es
GCCインストール
VICUNAのコンパイルにg++が必要なのでgcc4.7とg++4.7をインストールします。
(4.8以降では未確認)
$ sudo apt-get install python-software-properties
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt-get update; sudo apt-get install gcc-4.7 g++-4.7
$ sudo update-alternatives --remove-all gcc
$ sudo update-alternatives --remove-all g++
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 20
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 20
$ sudo update-alternatives --config gcc
$ sudo update-alternatives --config g++
$ sudo apt-get install make
VICUNA環境構築
次のサイトからダウンロードします。
http://www.broadinstitute.org/scientific-community/science/projects/viral-genomics/vicuna
vicuna.zipファイルを解凍します。
解凍後
~/research/VICUNA_v1.3
インストールはマニュアルを見ながら行います。
マニュアル:
~/research/VICUNA_v1.3/doc/vicuna.pdf
参考にするのは3章。
3 Quik Start - for external users
まずNCBI Toolkitをインストールします。
NCBI Toolkitのインストール
次のサイトにゲストログインし、/CURRENT以下をローカルにコピーします。
(現時点で12_0_0でした)
ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools++/CURRENT/
ftp://ftp.ncbi.nih.gov/toolbox/
コピー先例:
~/research/ncbi_tools++/12_0_0
Linux用を展開します。
$ cd ~/research/ncbi_tools++/12_0_0/
$ tar xvzf ncbi_cxx--12_0_0.tar.gz
コンパイルします。
$ cd ncbi_cxx--12_0_0
$ ./configure --prefix=/usr/local/opt/ncbi_cxx --with-optimization --with-mt
$ make
$ sudo make install
VICUNAのコンパイル
先ほどインストールしたNCBI Toolkitのパスを指定します。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/opt/ncbi_cxx/lib
Makefile内のMYPATHを書き換えます。(必要ならCOMPILERも)
$ cd ~/research/VICUNA_v1.3/src
$ vi Makefile
MYPATH=/usr/local/opt/ncbi_cxx/
COMPILER=/usr/bin/g++
コンパイルします。
$ make
$ cd ..
~/research/VICUNA_v1.3/bin/vicuna-omp-v1.0
が作成されます。
実行準備
configファイルを自分の環境用に変更します。
$ vi config/vicuna_config.txt
pFqDir /path_to_your_fastq_files_dir/
//npFqDir /path_to_your_fastq_files_dir/
//pFaDir /path_to_your_fasta_files_dir/
//npFaDir /path_to_your_fasta_files_dir/
outputDIR /path_to_your_output_dir/
実行
$ cd ~/research/VICUNA_v1.3/
$ OMP_NUM_THREADS=2 ./bin/vicuna-omp-v1.0 config/vicuna_config.txt
結果
outputDIRにtrim.logとcontig.alignが出力されます。
VicunAnalysisのコンパイル
$ cd scripts/vicuna_analysis/
$ make clean
$ make all
$ cd ../../
~/research/VICUNA_v1.3/bin/vicuna_analysis
が作成されます。
実行準備
configファイルを自分の環境用に変更します。
$ vi config/vanalysis_contig.txt
pFqDir /path_to_your_fastq_files_dir/
//npFqDir /path_to_your_fastq_files_dir/
//pFaDir /path_to_your_fasta_files_dir/
//npFaDir /path_to_your_fasta_files_dir/
trim_log_file /path_to_your_trim_log_file
aln_file /path_to_your_aln_file
outputDIR /path_to_your_analysis_output_dir/
trim_log_fileとaln_fileはvicunaの出力結果のパスです。
実行
$ ./bin/vicunAnalysis config/vanalysis config.txt
結果
outputDIRにcontig.faとcontig.lfv.fastaが出力されます。
はまったところ
動かすまでにいろいろと苦労したのではまったところを挙げておきます。
MacでNCBI Toolkitのコンパイル時にエラー
MacでNCBI Toolkitをコンパイルすると次のようなエラーが大量に出ました。
/Users/xxx/research/ncbi_tools++/12_0_0/ncbi_cxx--12_0_0/include/corelib/impl/ncbi_atomic_defs.h:96:12: fatal error: 'bits/c++config.h' file not found
標準のコンパイラはgcc4.2.1と古いため、gcc4.7をインストールしてチャレンジ。
$ sudo brew tap homebrew/versions
$ sudo brew install gcc47
$ export CC=/usr/local/bin/gcc-4.7
$ export CXX=/usr/local/bin/g++-4.7
$ export LD_LIBRARY_PATH=/usr/local/opt/gcc47/lib/gcc/x86_64-apple-darwin13.1.0/4.7.3/
$ make
すると今度は次のようなエラーが大量に出ました。
ld: symbol(s) not found for architecture x86_64
libstdc++が必要みたいなのでコンパイルオプションに追加。
$ export CFLAGS="-lstdc++"
$ export CXXFLAGS="-lstdc++"
ところが再度makeを実行してもエラーは消えません。
いろいろ調べて見ましたが、解決できないため、Macでのコンパイルをあきらめてしまいました。
Ubuntuでもリンクエラー
Ubuntuでコンパイルすると、Macで出たエラーは出ませんでしたが、
次のエラーがこれまた大量に出てしまいました。
/home/vagrant/research/ncbi_tools++/12_0_0/ncbi_cxx--12_0_0/GCC480-DebugOptMTDLL64/lib/libxobjread.so: undefined reference to `ncbi::objects::CPub_Base::DoSelect(ncbi::objects::CPub_Base::E_Choice, ncbi::CObjectMemoryPool*)'
こちらもいろいろ調べて原因はわからなかったのですが、試しにconfigオプションを変更したところコンパイルが成功しました。
変更前(VICUNAのマニュアル通りのオプション)
./configure --prefix=/usr/local/opt/ncbi_cxx --with-optimization --with-mt --with-dll
変更後
./configure --prefix=/usr/local/opt/ncbi_cxx --with-optimization --with-mt
もしくは
./configure --prefix=/usr/local/opt/ncbi_cxx
結局--with-dll
オプションをつけてることが良くなかったということに落ち着きました。
(Macでもオプション変更すればうまくいくのかもしれません)
備考
入力fastqファイルとして、DRASearchで既に登録されているものを使えそうです。
例:SRR513075
$ wget ftp://ftp.ddbj.nig.ac.jp/ddbj_database/dra/fastq/SRA054/SRA054092/SRX154465/SRR513075.fastq.bz2
$ wget ftp://ftp.ddbj.nig.ac.jp/ddbj_database/dra/fastq/SRA054/SRA054092/SRX154465/SRR513075_1.fastq.bz2
$ wget ftp://ftp.ddbj.nig.ac.jp/ddbj_database/dra/fastq/SRA054/SRA054092/SRX154465/SRR513075_2.fastq.bz2
$ bzip2 -d SRR513075.fastq.bz2
$ bzip2 -d SRR513075_1.fastq.bz2
$ bzip2 -d SRR513075_2.fastq.bz2