PythonでBLASTする!(ウェブ版BLASTの実行)【Python】

配列相同性検索のBLASTをPythonを用いて実行する方法を解説します。ここでは、特にウェブ版BLASTをPythonを用いて実行する方法の説明です。

バイオインフォマティクス環境

以下の方法で構築した環境であることを前提として説明します。

※ 検証はしていませんが、プログラム自体は基本的にmacOS、Linuxでも動作すると思われます。

ここで使用したアプリケーションのバージョンは以下の通りです。

ウェブ版BLASTの実行

BiopythonのBio.Blast.NCBIWWWモジュールのqblast関数を用いることで、ウェブ版のNCBI BlastをPythonから実行することが可能になります。

例えば、GenBankでのAccession番号が8332116の配列をヌクレオチドデータベースに対してBLAST検索して、その結果をblastn-www.xmlファイルに保存する場合は以下のようになります。

from Bio.Blast import NCBIWWW
with NCBIWWW.qblast('blastn', 'nt', '8332116') as handle:
    with open('blastn-www.xml', 'wt') as f:
        f.write(handle.read())

qblast関数の戻り値をそのままPythonで解析に用いる場合は、以下のようにBio.Blast.NCBIXMLモジュールのread関数を用います。

from Bio.Blast import NCBIWWW, NCBIXML
with NCBIWWW.qblast('blastn', 'nt', '8332116') as handle:
    record = NCBIXML.read(handle)

ローカル版BLASTを実行するためにはデータベースの作成も行う必要があるので、気になった配列をぱっと確認する目的ではウェブ版BLASTは非常に有用です。

ただし、サーバーの状態によると思いますが実際に試してみるとBiopythonから実行するウェブ版BLASTは非常に遅く、残念ながらあまり実用的とは言えない状態でした。(たまたまサーバーが込み合っていただけかもしれませんが…)

そのため当サイトでは、気になった配列をぱっと確認するような目的でウェブ版BLASTを使う場合は、ブラウザを使ってBLAST検索することをお勧めします。

BLAST結果の解析

BLAST結果の解析は以下の記事をご覧ください。

関連記事・スポンサーリンク

コメントを残す

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