NCBI Blast+

久々にNCBI Blastをlocalに動かせるように環境を作る。以前は、ソースコードからbuildしたりしてたけれど、もう面倒なので、executableをダウンロードしてくる。

ダウンロード

% `lynx -dump ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ | grep dmg$ | sed -e "s/[0-9\s]*\./wget/"`

インストール

% open ncbi-blast-2.2.25+.dmg
% cd /Volumes/ncbi-blast-2.2.25+/
% open ncbi-blast-2.2.25+.pkg 

後は、インストーラで普通にインストール。500MB以上ディスクを食うらしい。さて、どこにインストールされたのだろう?

% hash -r
% which blastall
blastall not found

結局、「% find / -name blastall -type f -print」しても見つからなくておかしいと思ったら、/usr/local/ncbi/blast にインストールされてるようだった。findで見つからなかった理由は「blastallというコマンドがなくなってた」かららしい。ひとまず、$HOME/.zshrc.mine に以下を追記しておく。

export PATH=/usr/local/ncbi/blast/bin:$PATH

しかし、blastallがなくなったということは、オレの2003年頃の知識は通用しないということか。
ということで、いろいろ変わっていそうなので、ひとまず/usr/local/ncbi/blast/doc/README.txt を読む。。。「http://www.ncbi.nlm.nih.gov/books/NBK1762/ を見れ」って書いてあった。

DBの準備

DBを保存する場所を作成する。どこでもいいけど、/usr/local/ncbi/blast なんでディレクトリが作られているので、ここに保存するようにした。

% sudo mkdir /usr/local/ncbi/blast/db

ヒトのUniGeneのデータが欲しいので、ftp://ftp.ncbi.nih.gov/repository/UniGene/Homo_sapiens/ からダウンロードしたい。けど、何を選んだらよいかわからない。とりあえず、Hs.seq.uniq.gzをダウンロードしておく。

% wget ftp://ftp.ncbi.nih.gov/repository/UniGene/Homo_sapiens/Hs.seq.uniq.gz
% gunzip Hs.seq.uniq.gz

これは、FASTA形式の配列なので、blast用のdbをここから作る。blastall同様にformatdbコマンドはもう無いので、新しいコマンドを使う。

% makeblastdb -in Hs.seq.uniq -dbtype nucl -parse_seqids -out unigene

微妙にオプションとか変わったとしても、やることは変わらないわけで、これでblast+が使えるようになった。