PythonでBLASTする!(基礎編:BLASTとは?)【Python】

BLASTによる配列相同性検索はバイオインフォマティクス解析の基本となっています。ここでは、BLASTについての基本的なことを説明します。

BLASTとは?

BLASTはNCBIによって公開されている配列相同性検索アルゴリズムであり、それを実装したアプリケーションのことです。厳密な解を与えるSmith-Waterman法と比較して、BLASTは厳密ではないものの十分な精度を保ちつつ、はるかに高速に配列相同性検索を実行できることが特徴です。

BLASTを用いることで、例えば以下のようなことができます。

  • 未知の配列を、既知の配列と比較して機能予測する
  • シーケンシングして得られたDNAがどの種に由来するか予測する
  • ある遺伝子のゲノム内の位置を検索する

BLASTコマンドの種類

基本的なコマンド

コマンド名クエリ配列DB配列説明
blastn塩基塩基DBの塩基配列から、クエリで入力された塩基配列と相同な配列を検索します。
blastpアミノ酸アミノ酸DBのアミノ酸配列から、クエリで入力されたアミノ酸配列と相同な配列を検索します。
blastx塩基アミノ酸DBのアミノ酸配列から、クエリで入力された塩基配列を6通りのアミノ酸配列(注)に翻訳したものと相同な配列を検索します。
(すべての組み合わせで検索を行います)
tblastnアミノ酸塩基DBの塩基配列を6通りのアミノ酸配列(注)に翻訳してから、クエリで入力されたアミノ酸配列と相同な配列を検索します。
(すべての組み合わせで検索を行います。)
tblastx塩基塩基DBの塩基配列を6通りのアミノ酸配列(注)に翻訳してから、クエリで入力された塩基配列も6通りのアミノ酸配列(注)に翻訳して、相同な配列を検索します。
(すべての組み合わせで検索を行います)
(注) 6通りのアミノ酸配列:クエリ配列を左→右の方向で1フレームずつずらしながら翻訳した3通りと、右→左の方向で1フレームずつずらしながら翻訳した3通りの合計6通り

塩基配列同士を比較するのはblastnのみで、ほかのコマンドではアミノ酸配列ベースで比較を行います。また、tblastnとtblastxはDBの塩基配列の翻訳も行うので、処理に時間がかかります(特にtblastxは6 x 6 = 36通りの組み合わせで相同性検索を実行するので、最も処理に時間がかかります)。

DB作成コマンド

コマンド名説明
makeblastdb与えられた塩基配列 / アミノ酸配列からBLASTのDBを作成します。

次に説明するローカルBLASTを実行する場合には、自分で検索先のDBを用意する必要があります。そのDBを作成するときに使うのがこのコマンドです。

BLASTの実行方法

BLASTの実行方法は次の2通りがあります。

  • ローカルBLAST
  • ウェブ版BLAST

以下のその方法を記載します。

ローカルBLAST

BLASTのプログラムを自分のPCにインストールして実行する方法です。検索先のリファレンス配列のDBも自分で用意する必要があります。

インストール

BLASTはAnaconda (もしくはminiconda)からインストールすることができます。Linuxのターミナルに以下のコマンドを入力して実行しましょう。

conda install -c bioconda blast

このコマンドでbiocondaチャネルに登録されているBlastの最新版がインストールされます。

参考

DBの作成

multi-FASTA形式の塩基もしくはアミノ酸配列を用意して、makeblastdbコマンドでBLASTのDBに変換します(=Indexを作成します)。

# 塩基配列を指定する場合
makeblastdb -in ファイル名 -dbtype nucl
#アミノ酸配列を指定する場合
makeblastdb -in ファイル名 -dbtype prot

まずはmakeblastdbコマンドで、リファレンスゲノム配列などの検索先の配列をDBに変換します。

BLAST検索の実行

その上で、以下のように blastn / blastp / blastx / tblastn / tblastx を用いてBLAST検索を実行します。

blastn -query クエリ配列ファイル名 -db DBファイル名 -out アウトプットファイル名

ローカルBLASTの使い方については統合TVでも解説されていますので、ご参照ください。

PythonでローカルBLASTを実行する方法

以下の記事をご覧ください。

ウェブ版BLAST

NCBIなどのリファレンス配列を公開している機関のウェブサイトには、ブラウザ上から実行できるが用意されている場合があります。ウェブ版BLASTは検索先のDBの用意も不要で、自分のPCへのBLASTのインストールも不要であり、非常に手軽に使うことができます。しかし、大量のクエリで繰り返しBLASTを実行するような場合や、検索対象のDBがNCBIなどで公開されているものでない場合はウェブ版BLASTを使うことはできません。

ブラウザからウェブ版BLASTにアクセスする方法

NBCI BLAST

NCBIによるウェブ版BLASTは以下でアクセスできます。

このサイトからblastnやblastxなど目的とする検索方法を選択して、クエリ配列とDBを選択することで検索が実行できます。

詳しい使い方は統合TVでも解説されていますので、ご覧ください。

NCBI以外のウェブ版BLAST

ウェブ版BLASTはNCBI以外でもリファレンス配列を公開している機関で実行することができます。

代表的なものは以下のものがあります。

Pythonでウェブ版BLASTを実行する方法

以下の記事をご覧ください。

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)