NGSデータ解析まとめ

サカナ研究者の手探りNGS解析(おもに進化生物学)

非モデル生物ゲノムのde novo assembly(その2):DBG2OLCを使用する(1): 下準備とインストール

ここでは、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

ソースコードをURLからダウンロードしてコンパイルします。

# 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の具体的な使い方について説明します。