LoginSignup
21
19

More than 3 years have passed since last update.

誰にも教えたくない超カンタン分子系統樹作成術

Last updated at Posted at 2019-12-10

系統樹推定

ETE Toolkitを使った超簡便な分子系統樹作成法を紹介します。

NUP62.aa.fa.final_tree.png
(図: http://etetoolkit.org/documentation/ete-build/ より)

使用するツール

(通常の)大まかな流れ

  1. 近縁種との系統関係を見たい対象生物種の16S rRNA配列(?)を配列データベース (16S rRNA,RefSeqやnr等)に対してBLASTによる配列類似性検索を行い,その結果から対象種が所属する属とかの他の種の配列を取ってくる. ※勝手にバクテリア16S対象にしてますが自身の配列にしてください。
  2. 対象属じゃない奴の16S rRNA配列を取ってくる (系統樹のoutgroupにするため).
  3. ↑1.2.の配列全部をFASTAファイルにまとめ,MAFFT L-INS-iによるマルチプルアライメントを行う.
  4. アライメント結果をtrimAlを用いて系統樹構築用の調整をする (系統樹計算に際して,ギャップばかり等不向きな領域を取り除く).この段階はoptionalで,やらなくても良い。
  5. RAxMLを用いて最尤法系統樹を構築する.bootstrap値も計算する.
  6. 構築した系統樹をFigTreeに読み込ませて描画する. またはiTOLで描画する (webベースだけどこっちのほうが綺麗).
  7. たのしい (✿╹◡╹)v

キーワード

系統樹の種類:無根系統樹 (unrooted tree),有根系統樹 (rooted tree),
系統樹の計算手法:NJ法,最尤法,ベイズ法

裏ルート

ETE Toolkitを使って一瞬で系統樹を構築する方法。
楽すぎてホントにビビりました。本当は有料の情報商材としたかったのですが,正直,めちゃくちゃ悩みました。そしてほんまに真剣に、真剣に考えて気づいたんです。それを今回特別に公開したいと思います。

PythonとAnacondaは入ってる前提です。
入ってない/怪しい場合→
macOS: HomebrewのインストールからpyenvでPythonのAnaconda環境構築までメモ
Linux: Linux環境でのpyenvでPythonのAnaconda環境構築メモ

環境構築

$ pip install ete3 #ETE toolkitのインストール
$ conda install -c etetoolkit ete_toolchain #必要なツールのインストール

系統樹構築

文法は

$  ete3 build -w ワークフロー名 -n 入力配列ファイル(アライメント前) -o 出力先ディレクトリ名 --clearall

例:

$  ete3 build -w mafft_linsi-none-none-raxml_default -n input.fasta -o output_tree --clearall

これだけです!これだけで配列のマルチプルアライメントもギャップ多数領域のトリミングも系統推定も全部やってくれます!!

このワークフローの文法はハイフン区切りでaligner-trimmer-tester-builderとなっている。
例えば,ワークフローが
mafft_linsi-none-none-raxml_default
だったら,mafftのL-INS-iアルゴリズムでアライメントして,RAxMLで系統樹を構築する..となる。
もしラボのパイセン殿がアライメントはclustalを使うのじゃー!と仰るならclustalo_default-none-none-raxml_defaultとすればclustal omega(clustal wの後継)を使ってアライメントしてくれる。
trimAl使った配列のギャップ領域トリミングの工程を入れたかったら,
mafft_linsi-trimal01-none-raxml_defaultとすれば良い。
系統樹推定の際にbootstrap値の計算も入れたかったら
mafft_linsi-none-none-raxml_default_bootstrapとする (少し時間はかかる)。

・たぶんmafft_linsi-none-none-raxml_default_bootstrapとするのが安牌かな (ごめんなさいごめんなさい)

使えるツールは

$ ete3 build apps

とすれば表示してくれる。参考: Composing custom workflows

結果ファイル

上記例の系統樹構築コマンドを実行すると,
./output_tree/mafft_linsi-none-none-raxml_default内に結果ファイルを色々と生成してくれる。
その中のファイルに色々あって,
・input.fasta.final_tree.png
 →系統樹と,アライメントされた配列の模式図を合わせて表してくれるチャラい図
・input.fasta.final_tree.fa
 →アライメントされたfastaファイル
・input.fasta.final_tree.nw
 →推定された系統樹のファイル。これをFigTreeだったりiTOLに読み込ませると綺麗な図が出せる。

参考情報: The ETE Cookbook

21
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
19