ここでは、Illumina NGS (HiSeq, MiSeqなど)のデータとPacBioのデータの両方を使ってゲノムのde novo assembleを行う (hybrid assembly)方法について書きます。
具体的には、DBG2OLCを使った方法について書いていきます。私の使用している環境は、以下になります。
OS: Ubuntu 12.04.4 LTS
CPU: 2 x Xeon E5-2620v2 2.10GHz
RAM: 256 GB DDR3-1600 (16GB x 16)
1. DBG2OLCのダウンロード
以下のサイトからダウンロードします。
https://sites.google.com/site/dbg2olc/
コンパイルは必要ありません(パッケージに実行可能ファイルが付属しています。PATHを通しておくと良いです。
2. 解析のための下準備:blasrのインストール準備
DBG2OLCで解析を行うためには、blasrをインストールする必要がありますが、これが結構大変です。以下は、blasrのインストール手順と、引っかかったところのメモです。
以下の作業、HDF5およびblasrの展開・コンパイルなどを行ったPATHは、/home/user/Tools/になります。
(1) HDF5のインストール
blasrをインストールするためには、先にHDF5というのをインストールしておく必要があります。
# 参考URL
www.hdfgroup.org
# installation manual
https://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/release_docs/INSTALL
# ./configure --prefix=のPATHについて
prefixのディレクトリは適当な場所にする (/usr/local/hdf5など、あるいはlocalなどこか)
今回、私のLinuxでは/home/user/Toolsに設定しました <--注意:あまりよくないのでいずれ変更すること
HDF5をインストールすると、include, libなどのディレクトリがここで指定したPATH (e.g. /home/user/Tools)に作られます。
(2) updating gcc and g++ (2.6.3 -> 2.8)
私のLinuxに入っていたg++(2.6.3)ではblasrがコンパイルできなかったので(2016.3.2現在)、gcc g++をupdateする必要がありました。
# 参考URL
金星☆ちゃんねる: C++11のためにGCCの最新版をインストールする
# commands sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-4.8 g++-4.8 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 10 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 10 # 元に戻す方法 sudo update-alternatives --config gcc sudo update-alternatives --config g++
3. blasrのインストール
注意:以下については、blasrのパッケージに付属している"README.INSTALL.md"ファイルや、blasr/README.md at master · mchaisso/blasr · GitHubも参照して下さい。
(1) blasrのダウンロード
以下のサイトからダウンロード、展開します。
github.com
(2) get libcpp
以下を実行して、libcppの内容をupdateします。
git pull --rebase origin master && git submodule update --init make update-submodule
うまくいかない場合:以下URLからlibcpp folderの内容を入手して、既存のlibcppと置き換えます(ちなみに、私はうまくいきませんでした)。
github.com
(3) configure.py実行
configure.pyにHDF5_INCLUDE, HDF5_LIBのPATHを与えて実行します。以下実行例です。ただし、HDF5_INCLUDE, HDF5_LIBのPATHの指定がうまくいかないことがあります。その場合の対処法については後述します。<--やり方がそもそも間違えている可能性もあり。あとで調べること
# configure.pyを実行 // 160302 ./configure.py --shared --sub --no-pbbam HDF5_INCLUDE=/home/user/Tools/include HDF5_LIB=/home/user/Tools/lib
(4) make configure-submodule実行
以下のコマンドを実行します。
make configure-submodule
(5) Build // README.INSTALL.mdも参照
以下、コマンドを実行します。
# libcpp libraryをmake make build-submodule # make make # エラーが出て止まらなければ動作確認 ./blasr
動かない場合は、エラーメッセージを見て適宜対応します。
以下のようなエラーが出る場合は、LD_LIBRARY_PATHが通っていないことが原因です。
./blasr
blasr: error while loading shared libraries: libpbihdf.so: cannot open shared object file: No such file or directory
このような場合は、以下を実行します。
## export LD_LIBRARY_PATHの追加 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/Tools/blasr/libcpp/hdf:/home/user/Tools/blasr/libcpp/alignment:/home/user/Tools/blasr/libcpp/pbdata:/home/user/Tools/lib
このexportの命令は、.profileとかの設定ファイルに書いておくと良いのかもしれません。<--ちょっとよくわからない(要勉強!)
以上、コンパイルがうまくいけば
./blasr # blasr実行 blasr - a program to map reads to a genome usage: blasr reads genome Run with -h for a list of commands -help for verbose discussion of how to run blasr. In release v3.0.1 of BLASR, command-line options will use the single dash/double dash convention: Character options are preceded by a single dash. (Example: -v) Word options are preceded by a double dash. (Example: --verbose) Please modify your scripts accordingly when BLASR v3.0.1 is released.
のように表示されます。
(6) おまけ
最後に、blasrのPATHを通しておくと良いです(方法はいろいろあると思います)。
# /usr/local/bin/にコピー sudo cp blasr /usr/local/bin
4. DBC2OLCの実行に必要なプログラムのダウンロード
それぞれ、以下のサイトからダウンロードして展開します。いずれもコンパイルは必要ありません(パッケージにすでに付属しています)。
(1) Sparcのダウンロード
github.com
PATHを通す必要はないです。
(2) SperseAssemblerのダウンロード
github.com
こちらは、PATHを通しておくと良いです。
次回は、DBG2OLCの具体的な使い方について説明します。