NCBI blast+ のインストールと設定 (Linux, Mac, Win)

BLAST

blast は、入力配列と相同性(ホモロジー)のある配列を検索するツールの一つである。もう少し具体的に言えば、塩基配列あるいはアミノ酸配列が入力されると、blast はデータベースの中から、入力配列に似た配列を検索して出力してくれるツールである。データベースは、冗長性のない RefSeq 配列や特定の種(ヒトやマウス)の cDNA 配列から作る。また、独自に集めた配列もデータベース化することができる。blast に似た相同性検索ツールとして、FASTA や LAST などがある。

blast にはウェブ版とスタンドアローン版がある。ウェブ版は、NCBI Blast ウェブサイトで使用できる。入力配列を NCBI Blast ウェブサイトのフォームに貼り付けて、データベースを選べば、blast による検索が行われる。一方で、スタンドアローン版は、NCBI FTP レポジトリから blast プログラム本体をダウンロードして、自分のパソコンにインストールして使う。スタンドアローン版はマウスによる操作ではなく、一般的にコマンドを入力して実行する CUI で行われる。やや不便に思われるが、独自のデータベースを容易に定義できたり、大量データを効率よく処理できたりする。なお、NCBI FTP レポジトリにて、blast と blast+ の 2 種類のプログラムが配布されている。このうち、blast は昔のプログラムである。特別な理由がない限り、blast+ の利用が推奨されている。

NCBI blast+ の種類

ひとこと相同性検索 blast と言えども、入力配列が塩基配列であったり、アミノ酸配列であったりする。また、検索対象となるデータベースも塩基配列のデータベースであったり、アミノ酸配列のデータベースであったりする。入力配列の種類とデータベースの種類の組み合わせによって、NCBI で提供されている blast+ プログラムの名前が少し異なってくる。

プログラム入力配列データベース機能
blastn塩基塩基入力された核酸配列と相同性を持つ核酸配列をデータベースから検索する。
blastpアミノ酸アミノ酸入力されたアミノ酸配列と相同性を持つアミノ酸配列をデータベースから検索する。
blastx核酸アミノ酸入力された核酸配列を 6 通りのアミノ酸配列に翻訳し、そのアミノ酸配列と相同性を持つものをデータベースから検索する。6 通りとは、入力配列を左から右に 1 フレームをずらしながら翻訳した場合の 3 通りと、入力配列を右から左に 1 フレームずつずらしながら翻訳した場合の 3 通りを意味する。
tblastnアミノ酸核酸核酸データベースを 6 通りのアミノ酸配列に翻訳してから、入力されたアミノ酸配列と相同性を持つものを翻訳後の核酸データベースから検索する。
tblastx核酸核酸入力された核酸配列を 6 通りに翻訳し、また核酸データベースも6通りに翻訳してから、翻訳された入力配列と相同性をもつ配列を翻訳された核酸データベースから検索する。

NCBI blast+ で提供されいてるそのほかのプログラムとして次のようなものがある。

コマンド機能
deltablast
psiblastプロファイルを利用したホモロジー検索。blastp よりも遠縁種の検索を得意とする。
makeblastdbblast 検索用のデータベースを作成する。

blast のインストール

blast+ のソースファイルを NCBI のサイトからダウンロードして、コンパイルしてインストールする。ここでは「/home/username/tools」の下にインストールするものとする。(「username」は PC にログインするときのユーザー名である。また、「tools」ディレクトリがない場合は必要に応じて新規作成する)

次に、ターミナルを立ち上げて、次のコマンドを一つずつ実行する。

# インストール先に移動
cd /home/username/tools

# blast ソースファイルをダウンロード(バージョン番号が変わる場合がありますので、URL先で一度確認を!)
wget ftp://ftp.ncbi.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.2.28+-src.tar.gz

# 解凍
tar xzvf ncbi-blast-2.2.28+-src.tar.gz

# ソースファイルのある場所に移動
cd ncbi-blast-2.2.28+-src
cd c++

# コンパイル
./configure
make

これで blast+ のコンパイルが終わり、プログラムは同じディレクトリに生成される。必要ならばパスを通す。