Phylogenetic Analysisに関するまとめ
TL;DR
Phylogenetic Analysis各種ステップのAlignment, Trim, Model selection, Tree Constructionに関する情報、ツールに関してまとめる。
すごくまとまってる日本語の総説があったので、そちらを読むことをおすすめします。
Alignment
各種配列のMSAを取るステップ。
Mohamed et al., 2018で各種ツールのベンチマークがとられている。データセットとして、BALIBASE、スコアとして、SPscoreとTCscoreが使われている。
大体まとめると以下のような結論になっている。詳細なスコアを知りたい場合は、論文を参照。
Tool Name | Method | Seq type | Accuracy | Time |
---|---|---|---|---|
CLUSTAL-OMEGA | global/ Progressive | Protein, DNA, RNA | Less accuracy | Less time |
MAFFT | global/ Iterative | Protein, DNA, RNA | High alignment quality | Higher than KALIGN |
KALIGN | Progressive | Protein, DNA, RNA | Less accuracy as compared with PROBCONS and MAFFT | Lowest |
MUSCLE | Progressive Step1 and Step2 iterative Step 3 | Protein | More accurate than CLUSTAL-OMEGA | Less time with a minimum number of iteration |
RETALING | Progressive Cornercutting Multiple Sequence Alignment | Protein | More accurate than CLUSTAL-OMEGA | Higher than KALIGN |
PROBCONS | Probabilistic Consistency-based Multiple Alignment of Amino Acid Sequences | Protein | The highest alignment accuracy | Highest |
Modified from Mohamed et al., 2018 Table 1 and Table 5
読んだ感想としては、以下。論文とかでよく見るのは、MUSCLE
、MAFFT
あたりが多い気がするので、クリティカルな印象はないが、上手くいかない場合は検討してみる価値はありそう。
PROBCONS
がタンパク質のアラインメントを取る分には非常に正確、ただし遅い。- DNA/RNAはアラインメントの際は
MAFFT
KALIGN
は速くてMAFFTに近い正確性
この辺のツールは結構歴史が古いので、1900年代のツールが現役で使われる。make
するときなどに、g++ (4.3)
とかが想定されてたりするので注意が必要。
m-coffee
上で挙げたようなツールでMSAをとったあと、それらのコンセンサスをうまく取ることでより良いMSAを作成するツール。PhylomeDBのパイプラインで使われている。試した見たところ、上で挙げたツールのバイナリを配布していたりしてすごく親切。
Trim
相同性の低い部分配列を削除するステップ。
Software一覧
- ClipKIT Steenwyk et al., 2020
- BMGE Criscuolo A et al., 2010
- Gblocks Talavera G et al., 2007
- Noisy Dress AW et al., 2008
- trimAl Capella-Gutierrez S et al., 2009
- Aliscore Kück et al., 2010
- Zorro Wu et al., 2012
- Guidance Penn et al., 2010
一応ClipKITの論文を読むと、1-5の中でClipKITが一番いいって書いてある(それはそう)。 ただ、ClipKITの論文でも触れられているが、Ge Tan et al., 2015とかでは、実際のデータセットではTrimをすることで結果が悪くなることも多い、ということが報告されている。また、どういった部分がそれに影響しているのかはいまいちよくわかってないらしい。
そのため、Trimを行わない選択も検討する必要がある。
Model選択
進化モデルを選択する。最尤法・ベイズ法の場合に必要なステップ。
進化モデルの選択は、パラメータが多いGTR + I + G
選んどけばいいという説もある。ただ、branch-length
の推定に関しては適切なモデル選択をするとGTR + I + G
より良くなる(Shiran Abadi et al., 2019)。時間のかかるステップでもないので、やっておいて損はないとは思う。
Software一覧
modeltest-ngは伝統的なLRTを使ってモデル選択を行う。一方、modeltellerはRandom Forestで選択している。modeltellerではbranch-lengthの最適化に焦点が置かれている。
modeltellerのweb siteはhttpsじゃなくて怖かったため貼ってないが、Web上でも試せるらしい。
Tree Construction
距離行列法や、最節約法などがあるが、基本的には最尤法・ベイズ法を使うのがよいと思われる。最尤法・ベイズ法は結果が割れることがあるので、比較が必要になる場合もある。多分最もよく使われているのは、iqtree
, raxml
, mrbayes
あたりだと思う。あとは特殊ケースとして進化距離が大きすぎる場合はGraph Splitting法(gs2)、ドメインシャッフリングが起こっている場合は系統ネットワークを構築する方法(SplitsTree)を利用するといいらしい。
Software一覧
最尤法
ベイズ法
bayes法の実装のチュートリアルとかも参考になる。
進化モデル
基本的に、最尤法側ではモデル選択ツールが出してくれる形態で書いてあるのでそれほど困ることはない。MrBayesを使用する場合は、結構違うので注意が必要。詳細はManualを参照。Mrbayesでは使用できる進化モデルが少し少ないが、Manual的には、lset nst=mixed
あたりを使ってMCMC samplingで決めるのがベイズ的って書いてる。
Visualization
個人的によく使うのは以下で、この2つであまり困ってない。iTOLは課金すると快適になる。
ライブラリとしては、ETE3 (Python)やggtree (R)あたりが有力。