バイオインフォマティクス

生命情報学に関する基本的な理論や解析ソフトウェアの使用方法について.

BLAST は配列類似性検索のためのソフトウェアパッケージ.最も基本的な BLAST 検索に加えて,PSI-BLAST や DELTA-BLAST 等を使用することができる.

インストール

現行の BLAST パッケージである BLAST+ はNCBI の公式FTPページからダウンロードできる.ここかららソースコード (ncbi-blast-2.2.30+-src.tar.gz) を $HOME/build 等の適当なビルド用のディレクトリにダウンロードする.さらに,以下のコマンドで解凍する.

$ tar zxvf ncbi-blast-2.2.30+-src.tar.gz

解凍したディレクトリに以下の最初のコマンドで移動する.

$ cd ncbi-blast-2.2.30+-scr/c++

インストールしたいディレクトリが $HOME/local である場合以下のようにコマンドを打つ.

$ ./configure --prefix=$HOME/local
$ make
$ make install

以上の操作で $HOME/local/bin にBLAST+ パッケージがインストールされる.

BLASTデータベースの作り方

BLAST による配列類似性検索の際には,fasta 形式等のファイルから新たに BLAST が読み込み可能な形式の検索データベースを作成する必要がある.現行版の BLAST である BLAST+ の場合には makeblastdb により作成し,Legacy BLAST では formatdb により作成する.どちらも fasta 形式のファイルからデータベースを生成することができる.

makeblastdb を利用して,タンパク質のfasta 形式のファイル hoge.fa からデータベースファイル hoge を作成する場合は以下のようにする (-in および -dbtype は入力必須).タンパク質ではなくて核酸のデータベースを作る場合は -dbtype オプションで prot ではなく nucl を指定する.

$ makeblastdb -dbtype prot -in hoge.fa -out hoge

formatdb の使い方も上と同様,シンプルである.タンパク質配列からなる fasta 形式のファイル foo.fa からデータベースファイル foo を作成する場合は以下のようにする (-n は省略可能).タンパク質ではなくて核酸のデータベースを作る場合は -p オプションで T ではなく F を指定する.

$ formatdb -p T -i foo.fa -n foo

DELTA-BLASTの使い方

現行の BLAST+ パッケージに含まれる新たな BLAST である DELTA-BLAST は非常に高感度を誇る配列類似性検索法である.これまでの高感度検索法であった PSI-BLAST は配列検索を nr や uniprot 等のイタレーションデータベースに対して検索を繰り返し,PSSM を逐次改善することでプロファイルの質を高め,配列検索の高感度化を達成していたが,これに対して DELTA-BLAST では,与えられたクエリ配列を RPS-BLAST でマルチプルアライメントのデータベースである CDD に対して検索し,その結果から PSSM を一発で構築する.PSI-BLAST と同様に,nr や uniprot 等のデータベースをイタレーションデータベースとしてプロファイルを更新することは可能ではあるが,そうすると感度が落ちるため公式サイトではプロファイルの更新は推奨されていない.しかし,プロファイルの更新をする必要もないほどに PSI-BLAST と比較して感度が高い.また,巨大なデータベースに対する反復検索をしない分,高速で検索が可能である.DELTA-BLAST での検索に必要な CDD はNCBIのFTPページの cdd_delta.tar.gz をダウンロードし,解凍したものである.これを ~/db/cdd_delta に置いたとする場合,DELTA-BLASTを用いて配列検索を行うには以下のように打つ.

$ deltablast -query foo.fa -db bar -rpsdb ~/db/cdd_delta/cdd_delta

ここで,クエリ配列は foo.fa で,検索対象のデータベースは bar である.この bar は makeblastdb コマンドを用いてあらかじめ作成しておく.単なるマルチファスタファイルから構築できる.

RPS-BLASTの使い方

BLAST のパッケージのひとつである RPS-BLAST (Reversed Position Specific BLAST) は配列をクエリにプロファイルライブラリを検索する手法である.配列をクエリに配列ライブラリを検索する手法である DELTA-BLAST は,この技術を応用することで,与えられた配列を DELTA-BLAST 用の CDD (Conserved Domain Database) に対し検索し,高速にプロファイルを生成することで高感度を保ったまま計算時間を節約している.一方で,RPS-BLAST 自体は配列をクエリにして保存ドメインデータベースを検索することで,クエリ配列の機能を推定するために用いられる.検索対象のプロファイルライブラリは CDD であり,これはサーバーとしても提供されている.また,RPS-BLAST はローカルでも利用できるが,そのためには以下のようにする.最初に CDD (cdd.tar.gz) をNCBIのFTPのページからダウンロードする.

$ wget ftp://ftp.ncbi.nih.gov/pub/mmdb/cdd/cdd.tar.gz

これを解凍する.大量のファイルが出てくる.その内の .smp はプロファイルのファイルで,.pn はそれらのプロファイルのリストのファイルである.これらについては,上の ftp サイトの README に詳細が記されている.

$ tar xf cdd.tar.gz

次に,これらのファイルから RPS-BLAST が読み込める形式のファイル群を以下のコマンドで生成する.

$ makeprofiledb -title CDD.v.3.12 -in Cdd.pn -out Cdd -threshold 9.82 -scale 100.0 -dbtype rps -index true

以上の操作で構築したプロファイルライブラリ Cdd に対して配列ファイル foo.fa を RPS-BLAST で検索するには以下のように打つ.

$ rpsblast -query foo.fa -db Cdd

MSAからのPSSM作成法

マルチプルアラインメント (MSA) からPSSM (position specific scoring matrix) を作成するには BLAST+ のコマンド psiblast を使って以下のように打つ.以下のコマンドにおいて,–subject の引数には任意の配列 (何でも良い),-in_msa の引数には PSSM を作成したい元の MSA ファイル,-out_ascii_pssm の引数にはアウトプットファイル名を記述する.

$ psiblast –subject any.fa –in_msa MSA.fa –out_ascii_pssm PSSM.ascii

デフォルトでは MSA の最初の配列 (デフォルトでのマスター配列) に対する PSSM が作成される.すなわち,最初の配列にギャップを含むカラムがそのまま削除されたパイルアップ MSA に対する PSSM が生成される.マスター配列を変更したいときは -msa_master_idx を指定する.-msa_master_idx 3 とすると MSA ファイルの最初から3番目の配列がマスター配列となる.

Hatena Google+