CmhaDSO 遺伝と進化

分子系統樹

分子系統解析は以下の手順に従う。

多重配列アライメント(multiple sequence alignment, MSA)の構築
MSAは五種類に分類される。1. Exact method: Needleman-Wunsch法を三つ以上の配列に拡張したもので、Guide tree*1を必要としない。 厳密解が求まるが計算オーダーはO(2NLN)(N, Lはそれぞれ配列数と平均配列長)であり実用的でない。 2. Progressive alignment: 指定された配列からGuide treeを構築し、それに従って最も類似した配列から順にアライメントを追加していくことでMSAを構築する。 計算オーダーはO(N4 + L2)である。 3. Iterative approaches: progressive methodを反復することで精度を向上させる方法である。計算オーダーはO(N4 + NL2)である。 4. Consistency-based method: Iterative approachを基盤に、Pairwise sequence alignmentとMSAの一貫性を維持するようにアライメントを更新する。 5. Structure-based method: 立体構造を考慮したMSA構築法である。 精度が高い反面、計算コストがかかる。
トリミング
系統樹推定は「与えられた全ての配列が共通祖先に由来すること」を前提とするため、相同(Homology)でないデータを除去する必要がある。 共通祖先に由来しないが類似していることを「同形(Homoplasy)である」というが、相互に類似した配列群からHomologyとHomoplasyを区別することが重要な課題になる。 そこで不良アライメント領域を検出・除去するblock-filteringや相同でない部分配列を検出・除去するsegment-filteringを実施する。
進化モデル選択
系統樹推定手法は進化モデルを使用するため、指定された配列に基づいて進化モデルを選択する必要がある。 モデル選択に際し従来は尤度比検定が頻用されていたが、現在ではAICやBICが一般的に使用される。
系統樹推定とその評価
系統樹推定法には近接結合法、最尤法、再節約法、ベイズ法、近接結合法があり、それぞれ目的関数の最適化問題として系統樹推定を行う。 系統樹は種の進化的な関係を木構造で表現したものである。 枝と節からなり、外部節(葉)は現生種、内部節は祖先種、根は系統樹の全外部節の共通祖先を表す。 外部節に接続する枝を外部枝、それ以外の枝を内部枝といい、それぞれ進化距離や経過時間という形で長さを与えることができる。 推定した内部枝の確からしさを表す指標としてBootstrap(BS)値や事後確率が枝情報として付与される。 以上の系統樹情報はNewick形式で表現することができる。
系統樹推定の目的関数
目的関数
近接結合法 (Neighbor Joining, NJ) 系統樹の枝長の総和
最尤法 (Maximum likelihood, ML) 指定された遺伝子配列に対する枝長と進化モデルの尤度
再節約法 (Maximum Parsimony, MP) 系統樹上で生起した形質変化の回数
ベイズ法 (Bayesian Inference, BI) 指定された遺伝子配列に対する樹形と枝長と進化モデルの事後確率

*1 MSAの構築や系統樹推定には多くの場合にそれぞれGuide treeとinitial treeと呼ばれる系統樹を準備する必要がある。

分子系統解析の実践

分子系統解析のGUI統合環境にはMEGAやSeaViewがあり、CUI統合環境にはIQ-TREERAxMLがある。 メタゲノムデータの統合解析環境であるPhyloPhlAn、PhyloFlash、QIIMEでも系統樹推定が可能である。 配列データはOMA、UniProt、AnnoTree、eggNOGなどのデータベースから取得する。 相同性検索にはBLASTが頻用されるが、配列数が多い場合はDIAMONDやMMseq2が使用される。 ortholog解析にはSonicParanoid、OrthoFinder、OrthoMCL、Broccoliが頻用される。 代表的なMSA構築プログラムには Clustal Omega (Progressive alignment)や MAFFT (Consistency-based method)がある。 代表的なトリミングプログラムにはTrimA1 (block-filtering)やHmmCleaner(segment-filtering)がある。 モデル選択には系統樹推定ソフトウェアに組込みの独自モデル選択モジュールを利用することが多い。 代表的な系統樹推定にはIQ-TREEやRaxMLがある。 特別に大規模な系統樹を構築する必要がある場合には FastTreeが頻用される。 MSAの可視化にはJalview WebLogoなどを使用する。 系統樹の可視化にはRではggtree、PythonではETE3、GUIではSeaViewなどを使用する。

CUI統合解析環境
IQ-TREE RAxML
MSA - -
モデル選択 ModelFinder ModelTest
系統樹推定 IQ-TREE RAxML
内部枝評価 UFBoot2 RBS

MSA構築と可視化

Clustal Omegaのclustaloコマンドを用いてMSAを構築する。

$ clustalo -i in.fa > out.fa

分子系統樹の作成