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

Blast で近縁種との相同性検索を行う

アセンブリして得られた塩基配列に対して、既知の遺伝子との相同性検索を行うことで、それぞれの遺伝子がどのようなものなのかを推定することができます。本記事では、conda で Blast をインストールして、ローカルで相同性検索を行う方法を解説します。

目次
  1. Blast とは何か
  2. tblastx で相同性検索

Blast とは何か

-- ChatGPT --
BLAST(Basic Local Alignment Search Tool) は、DNA やタンパク質の配列に対して、類似(相同性)を持つ既知の配列を検索するための基本ツールです。

・相同性検索とは?
配列(DNA・mRNA・タンパク質)を使って、既知のデータベース中の似た配列(進化的に近いもの)を見つけること。
これにより:
1. その配列がどんな遺伝子か
2. どの生物に由来するか
3. 機能が推定できるか
などの情報を得られます。

・BLAST の基本的な種類

BLASTの種類クエリデータベース用途
blastnDNADNAヌクレオチド配列同士の検索(例:トランスクリプト vs ゲノム)
blastpタンパク質タンパク質アミノ酸配列の機能予測
blastxDNA(翻訳)タンパク質cDNA を翻訳してタンパク質に類似検索
tblastnタンパク質DNA(翻訳)逆方向:タンパク質配列でヌクレオチドDBを検索
tblastxDNA(翻訳)DNA(翻訳)翻訳した DNA 配列同士を比較(感度高いが重い)

(以下略)
----

Blast を使用することで、de novo assembly によって得られた配列がどのような機能を持った遺伝子かを、既知の遺伝子の機能から推定することができます。

tblastx で相同性検索

Blast には上に書いた5種類の方法がありますが、Trinity で得られるのは塩基配列なので、クエリが塩基配列である方法を使用する必要があります。

blastn を使いたいところですが、blastn は閾値の設定が (なぜか) うまくいかなかったので、今回は tblastx を使用します。tblastx は塩基配列どうしを翻訳してから検索するので、今回であれば塩基配列のデータベースを用意すれば実行できます。

Blast は conda でまとめてインストールできるので、以下のコマンドでインストールしてください。

# 以前作成した仮想環境に入る
mamba activate bioinfo

# インストール
mamba install bioconda::blast -y

インストールできたら、次はデータベースを用意します。
データベースに何を使用するかは生物によって異なりますが、基本的にはなるべく近い種のモデル生物を使用することになると思います。例えば、陸上植物であれば、シロイヌナズナイネなどを使用します。
私が使用しているサンプルデータはマウスのものだったので、こちらの cDNA を使用しました。

データベースに使用する fasta ファイルを入手できたら、それを Blast のデータベースにするための、makeblastdb コマンドを実行します。

# fasta ファイルをデータベースにする
makeblastdb -in database_name.fasta -out blast_db/dbn -dbtype nucl

このコマンドを実行すると、カレントに「blast_db」というフォルダが作られていて、中には「dbn.~」というファイルが複数個できているはずです。それらが、Blast を使用する際のデータベースになります (「-out dbn」のようにすると、カレントに複数のファイルができて邪魔になるので、フォルダを作って中に入れておくのがおすすめです)。
今回は使いませんが、アミノ酸配列のデータベースを作成する場合は、「-dbtype prot」にして、「-out」を「blast_db/dbp」などの別の名前にしてください。

データベースの用意ができたら、次は相同性検索を行います。以下のコマンドを実行してください。

# Trinity のファイル名を変えておく (任意)
mv trinity_out.Trinity.fasta transcripts.fasta

# tblastn の実行 (-num_threads は CPU の数)
tblastx -db blast_db/dbn -query transcripts.fasta -out blast.txt -evalue 1e-5 -num_threads 8 -outfmt 0

このコマンドを実行すると、相同性検索の結果が書かれた「blast.txt」ができます。
「-evalue」の閾値を変更すると、ヒットする遺伝子数を変えることができるので、研究の目的や感度によって調節してください。
また、「-outfmt 0」は標準的な Blast の出力フォーマットです。私の場合は、表形式になる「-outfmt 7」もよく使うので、試してみてください。

今回は以上です。


おまけ: 書籍紹介

バイオインフォマティクスの勉強に役立つ本をいくつか紹介します。
リンクをクリックすると、Amazon のページに飛びます。

バイオインフォマティクス入門
生物学、コンピュータ、バイオインフォマティクスについて、基礎的な知識を習得するのに役立つ本です。見開きのページごとで内容がまとめられているので、毎日少しずつ勉強したいという方にもおすすめです。

RNA-Seqデータ解析 WETラボのための超鉄板レシピ
具体的な解析方法が載っている本です。