Blast

2018年10月19日 更新
2014年11月21日 更新

Blastとは

Blast; Basic Local Alignment Search Toolの略.最も広く使われている配列類似性ツールです.
ここではblast+を紹介します.古いlegacy BLASTよりも機能が多い最新版です.

インストール

1. ここからblastの最新版をダウンロード.環境によるが,新しいMacなら~~.dmgでよいはず.
2. それをクリックして,言われるとおりにインストール.
3. /usr/local/ncbi/blast/bin にPATHを通す.いらないかも.

使い方

-hで簡単なヘルプ,-helpで詳細なヘルプが見れます.
DLしたゲノムデータと自分で取得した配列と相同な領域を探す方法です.
最初に検索されるゲノムのデータベースを作成します.
makeblastdb -in genome.fasta -dbtype nucl -parse_seqids
もしゲノムのIDに縦線の区切り(gi|129295)があったら,-parse_seqidsを追加しておくとよいです.
-dbtypeは塩基配列のときはnucl,アミノ酸配列のときはprotになります.

自分で読んだ配列をクエリとして,ゲノム中から検索します.
blastn -db genome.fasta -query sequence.fasta -out outpufile.txt
blastnは塩基配列のデータベースに塩基配列のクエリで検索します.
blastpはタンパク質のデータベースにタンパク質のクエリで検索します.

-evalue 0.001を追加すると、evalueが0.001以下のときだけ出力する.
-task 'blastn-short'を追加すると,短いクエリも出力する.
-max_target_seqs 1 を追加すると,出力するアウトプットを1つにする.
-num_threads 4 を追加すると,スレッド数を変更する.
-outfmt 数字
でアウトプットの形式を変えられる.数字は0-12まで.デフォルトは0です.6,7,10は更に細かく指定できる.多くの情報がほしい場合はデフォルトの0,シンプルでよければ6か7がオススメ.
0 = pairwise,
1 = query-anchored showing identities,
2 = query-anchored no identities,
3 = flat query-anchored, show identities,
4 = flat query-anchored, no identities,
5 = XML Blast output,
6 = tabular,
7 = tabular with comment lines,
8 = Text ASN.1,
9 = Binary ASN.1,
10 = Comma-separated values,
11 = BLAST archive format (ASN.1)
12 = JSON Seqalign output


データベース等はFTPサーバーからDLできます.
環境変数 BLASTDB で,データベースを指定できる.
export BLASTDB=/home/hogehoge/blast/db
のようなものを~/.bash_profileや~/.zshrcに加える.

nrやntとのblastでgiだけでなく種名を取得したい場合

  1. ここからtaxdb.tar.gzをDL.
  2. BLASTDBに指定した場所へmvで移動して解凍する.
  3. blast時にオプション-outfmt "6 qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore staxids sscinames scomnames"を追加すると,outfmt 6に続いてtaxidや学名,種名が表示される.

参考文献

http://www.ncbi.nlm.nih.gov/books/NBK1762/
https://heavywatal.github.io/bio/blast.html
http://www.metagenomics.wiki/tools/blast/blastn-output-format-6