LoginSignup
1
1

More than 5 years have passed since last update.

ゲノム解析用ソフトVICUNAをコンパイルする

Last updated at Posted at 2014-04-20

ゲノム解析用ソフト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
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1