配列類似性検索プログラムBLASTの使い方
分子生物学でよく使われるBLASTプログラムについての使い方まとめ
BLASTについて
BLASTは非常に高速なアルゴリズムを実装した配列類似性検索プログラムで、クエリー(問い合わせ)配列がデータベースと偶然に一致する確率 "E-value" を算出することで配列類似性の判定を行う。
近年、急速に増加している配列データベースに対して配列類似性検索をするのにBLASTは欠かせない存在になっている。
BLASTは下記に挙げるように、クエリーとデータベースの違いによって、いくつかの種類に分けられる。
種類 | クエリー | データベース |
---|---|---|
blastn | 塩基 | 塩基 |
blastp | タンパク質 | タンパク質 |
blastx | 塩基(翻訳) | タンパク質 |
tblastn | タンパク質 | 塩基(翻訳) |
tblastx | 塩基(翻訳) | 塩基(翻訳) |
塩基(翻訳)は、読み込んだ塩基配列からタンパク質に翻訳可能なORF(Open Reading Frame)を6つの読み枠から自動で検索し、翻訳したタンパク質を検索に使うことを示す。
その他にも、データベースへの繰り返し検索をすることで特定の保存領域の検出精度を上げ、遠縁のホモログでも見つかるように改良したPSI(Position Specific Iterative)-BLASTなどがある(ただし、検索速度は遅くなる)。
BLASTはNCBIサイトからWeb上で検索をする方法と、プログラムで自動的に検索を行う方法がある。
BLASTプログラムの使い方
最新版のBLASTプログラムは、下記FTPサイトからダウンロードができる。
(ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/)
プログラムの基本的な使い方はシンプルで、以下の手順で行う。
- クエリー(問い合わせ)配列とデータベース配列の用意
配列ファイルはFASTA形式である必要がある。 - バイナリ化(検索最適化)したデータベース配列の作成
BLASTでは配列検索を行う前に、検索最適化のためのバイナリ化を行う必要がある。$ makeblastdb -in [データベース配列ファイル] -dbtype ['nucl' or 'prot'] -out [出力先ファイル名]
上記のコマンドのように、データベース配列ファイル、配列の種類、出力先ファイル名を指定してコマンドを実行すると、BLAST用のバイナリ化データベースが作成される。
※ バイナリ化データベースは、指定した出力ファイル名に拡張子 "phr", "pin" ,"psq" を付けた3種類のファイル - データベースに対してのBLAST実行
$ blastp -query [クエリー配列ファイル] -out [BLAST結果ファイル名] -evalue [E-value閾値] -db [バイナリ化データベース名]
上記コマンドの実行で、指定したE-value以下で自作データベースからクエリー配列との類似性が検出された配列について、E-valueやIdentityなどの情報を出力する。
またNCBIの nr( non-redundant : 重複のない)データベースに対してWeb越しに自動的にBLAST検索をかける場合は、
$ blastp -query [クエリー配列ファイル] -out [BLAST結果ファイル名] -evalue [E-value閾値] -db nr -remote
上記のように、データベースを ' nr ' に指定し、Web越しの検索をすることを示す '-remote' オプションを加えることで、Web上のBLASTと同じ結果を得ることができる。
※ただし、'-remote' オプション検索であまりに多すぎるまたは配列長の長いクエリーを利用すると、検索途中でタイムアウトになり、エラーが出る場合があるので注意して下さい。