Thornian Time Traveller の使い方
2009 年 5 月 25 日 改訂
井上 潤

*2007 年の 9 月ぐらいに PAML4 がリリースされて,mcmctree という年代推定のプログラムに multidistribute とほとんど同じオプションが加えられました.以前は T3 の方が multidistribute よりも使いやすいと私は思っていましたが,2007 年の後半ぐらいから multidistribute を再び使い始めました.mcmctree の改善が進んでいるためか,Yang lab でも T3 を使っている人は見かけません (2008 年 5 月).

Yang さんは MCMCTREE の開発を進めているので,T3 を使っている方は早いうちに MCMCTREE を使い始めた方が良いように思います.実際,T3 を website から削除しようかと Yang さんがおっしゃっていましたが,Windows user には人気が高いためまだ残しておいた方が良いのでは,とお答えしておきました (2008 年の夏ぐらいです).

Thornian Time Traveller (T3)
Jeff Thorne さんが作成した multidistributeZiheng Yang さんが書き換えたプログラムです.T3 は Windows のコマンドプロンプトで主に動かしますが (Unix でも動くようです.T3 の README.txt を参照),使い方は multidistribute とほとんど同じです.このページは multidistribute をある程度使えることを前提に書いているので (multidistribute の使い方を参照),もしこのページを見て T3 を始める方は,まず multidistribute に慣れた方が良いです.

T3 の最大の利点は,解析を走らせているときに正常に作動しているか確認できる点です.

ここでは,T3 を使って実際に解析を行う手順を紹介します.解析例として T3 と一緒に配布されている MouseLemurs フォルダに入っている塩基配列データ (MouseLemursOutgroup.pos1 など) とアミノ酸配列データ (MouseLemursOutgroup.aa) を使用します.

1. 準備

1.1. 必要なもの
  • Windows (コマンドプロンプトを使います).
  • T3 package
  • PAML package
  • paml2modelinf.exe.1.2.ダウンロードを参照して下さい.
  • テキストエディタ (Mac なら mi, Win なら Terapad が良いです).
  • 配列データ (塩基 or アミノ酸配列).101 種まで解析が可能なようです.
  • 系統樹 (あらかじめ推定しておく)


1.2. ダウンロード

  • T3 を Yang さんの HP からダウンロードして下さい.Windows バージョンはコンパイルの必要がなく,WinEXE に入っている estbNew.exe, multidivtime.exe を MouseLemurs フォルダにコピーします.
  • PAML を Yang さんの HP からダウンロードして下さい.baseml.exe を MouseLemurs フォルダに移動して下さい.
  • paml2modelinf.exe.multidistribute の方に入っています.multidistribute のページからダウンロードした multidistribute 未解凍ファイル (自動解凍だと,ごみ箱に入っていることもあります) を Windows で解凍し,paml2modelinf.exe を MouseLemurs フォルダに移動して下さい
  • Win で解析を行う場合は,ダウンロードファイルの解凍は Win で行って下さい.

1.3. シーケンスファイル
 MouseLemursOutgroup.nuc を参照して下さい.MacClade で Phylip 形式 (sequential) で保存し,改良すると楽です.
  • N や - はすべて ? に変換します.
  • OTU の名前は 10 文字以内です.文字数はそろえておくと良いでしょう.特殊な文字はさけるべきですが,_ は使用できます (MacClade で Phylip 形式に保存すると,スペースが _ に変換されます).
  • 改行コードは Win にしておきます.
  • TeraPad の「>」はどうも T3 では読み込まないようです.わたしは Mega のエディターを使って TeraPad で書いた 「>」 を Mega のエディターで新たに 「>」に変えています.同じ文字のはずなのですが.

1.4. tree ファイル
 MouseLemursOutgroup.trees を参照して下さい.MacClade で Phylip 形式で保存すれば良いです.解析がうまく走らない原因の多くがトポロジーファイルの不備です.
  • 外群は 1 種.2 種以上でも良いみたいですが,試したことがありません.
  • 根幹の分岐は 3 分岐.
  • (Taxon_A,((Taxon_B,Taxon_C),(Taxon_D,Taxon_E)),Outgroup); のように,外群を最も右側に置いて下さい.TreeView で系統樹として表示されるか確認する.
  • OTU 名に含まれるスペースは MacClade で _ にされるが,PAUP ではそのままスペースになってしまいます.このためにシーケンスファイルとツリーファイルで名前が一致しないトラブルがあったので,注意して下さい.



2. パラメーターの推定
(アミノ酸の解析でマトリクスだけを用いるモデルであれば不要)


 塩基配列の解析のときは,baseml を用いてパラメーターを推定します.
  • multidistribute の使い方を参考にして,.ctl やシーケンスファイルを作成して下さい.
  • baseml.exe をダブルクリックする場合は,コントロールファイルを baseml.ctl という名前にしておけば,ファイルを自動的に読み込み解析がスタートします.ダブルクリックによる操作は調子が悪いこともあるので,そのときはコマンドプロンプトを使ってみて下さい.
  • コマンドプロンプトで MouseLemurs フォルダに入り,
    baseml
    と入力することでも,同様に解析が始まります.
  • アミノ酸の解析で,ガンマ補正などを行わず,mtmam などのモデルを用いる場合は,パラメーターを推定する必要はありません.もしアミノ酸の解析でガンマ補正やアミノ酸頻度を考慮した解析を行いたい場合は,multidistribute の HP にある,熊澤先生が書いた記事を参考にして下さい.


3. baseml outfile を estbranches infile に変換
(アミノ酸の解析でマトリクスだけを用いるモデルであれば不要)

 あらかじめ multidistribute のフォルダから MouseLemurs フォルダに移動しておいた paml2modelinf.exe を使います.
  • multidistribute と同じように,
    paml2modelinf Gene1.out modelinf.Gene1
    と入力します.もちろん Gene1 の部分は変更して下さい.

4. 樹長と variance-covariance matrix を推定

estbNew を使います.estbNewAA でアミノ酸のガンマ補正解析を行う場合は,36 OTU までしか対応できないようです.またこの場合,ATP8 の解析もできませんでした.短すぎるアミノ酸配列もだめみたいです.


Input:

modelinf.jcdna
testseq
hmmcntrl.dat
コントロールファイル.ツリーはここに直接書き込みます.

Output:

oest.Gene1
ツリー,樹長,variance-covariance matrix
out.oest.Gene1
screen output

  • estbNew > o.oest.f84g.pos1
    と入力.
  • pos2 と pos3 も同じように解析を行います.


5. 尤度をチェック


baseml と estbNew で推定された尤度を比較します.


6. Bayes MCMC 解析

multidivtime を使います.

  • multidivtime が読み込む tree file は,外群の設定の仕方が Mac OSX (Unix) バージョン (Thorne さんが作成) と T3 バージョンで異なります.OSX バージョン では,((B, C), D, A) のように,tree file 根幹を三分岐に設定していますが,T3 では ((B, C), D) のように,外群を削除して解析します.

Input:

o.estb.f84g.pos1, o.estb.f84g.pos2, o.estb.f84g.pos3
multicntrl.dat
inseed

Output:

out.test
tree.test
ratio.test
node.test
samp.test

  • 解析を行うに当たり,tree に化石情報から得られる constraint を設定する必要があります.まず以下のコマンドを入力して予備的に走らせます.
    multidivtime test
    必要なメモリーが表示され,解析を始めるかどうか聞かれます.画面には番号が各ノードに設定された tree が現れるので,これを,
     右クリック-> 範囲指定 -> tree を選択 -> 右クリック,
    でコピーし,TeraPad の新しいフォルダに右クリックで貼ります.改行と:を取り除いてから TreeView でノード番号を確認します.
  • MCMC 解析をスタートします.
    multidivtime test > out.test
    inseed 内部の数字を変更して (自動的に変更はされている),少なくとも 2 回解析を行い,結果が一定しているかどうか確認します.