BayesTraits

2009 年 8 月 4 日 改訂
井上 潤
BayesTraits は祖先形質を推定するプログラムです.最尤法とベイズ法に対応していますが,ほとんどベイズ推定に特化しているようです.とくにノードごとに祖先形質の事後確率が出せる点が優れていると思います.Yang 研究室に 6 週間滞在している Adam Leache さんが教えて下さいました.Mac 版でもコンパイルの必要はなく,ダウンロードしてそのまま使えます.

Moore and Donoghue (2009) がこのプログラムを使ってよい論文を書いています.Supplement に細かい説明があります.
Moore, B. R. & Donoghue, M. J. 2009 A Bayesian approach for evaluating the impact of historical events on rates of diversification. Proc Natl Acad Sci U S A 106, 4307-12.


祖先形質・ベイズ推定の特徴
  • ベイズ法がメインで,MrBayes の .t ファイルを使います (BEAST のアウトファイルでも解析できるようです).
  • 配列データは使わないので,解析はすぐに終わります.
  • 形質が独立した場合 (BayesMultistate),形質同士が相関している場合 (BayesDiscrete),連続的な形質の場合 (BayesContinuous),という 3 種類の解析ができますが,連続形質の解析はまだ十分ではないようです (2009 年 8 月).
  • 形質の置換はマルコフモデルに従うと仮定しています.
  • 形質間の置換マトリクスを推定します.これを進化のモデル (model of evolution) とマニュアルでは呼んでいます.系統樹の各ノードで,モデルの置換速度と尤度を推定します.
  • ratedev というパラメータ設定が重要です.ratedev は,進化モデルの置換パラメーター (rate parameters of the model of evolution) を各 MCMC の generation でどれぐらいジャンプさせるかを決める値です.

祖先形質・ベイズ推定のやり方
ベイズ推定を行う際は,パラメータの設定を記載したバッチファイルを用いた解析が便利です.例題を作成したので参照してください.こちらです.アプリケーションである BayesTraits は Intel Mac 用なので,用いている PC 用のものに変更して下さい.


コマンドは以下です.

BayesTraits FE.trees FE_CharCoding.txt < FE_inputcommands.txt > outfile

3 つのファイルを使います.

FE.trees:
MrBayes の .t file から系統樹探索で burnin した tree を除いたファイルです.樹長が必要です.tree は完全 2 分岐である必要があります.3 分岐で得られている場合は,Mesquite をつかって 2 分岐にしてください.こちらを参照してください.

FE_CharCoding.txt:
形質のコーディングを書きます.

FE_inputcommands.txt:
形質状態を推定したい node を設定します.OTU を番号で示すため,FE.trees などを見ながら書き込みます.各パラメーターは例題のファイルにコメントを書いたので参照してください.

outfile:
結果が記載されます.


MrBayes で得られる二つの .t ファイルを合わせた際に「tree rep.500100 =」の番号部分が重複してしまいます.問題ないかもしれませんが,これを 1 から順番に名前を付け直す perl script を書きました.こちらです.

最初は「> outfile」なしで走らせて Acceptance を見ます.解析を始めると,Iteration Lh Harmonic Mean ... が出力されます.最後が Acceptance の値で,これは mcmctree の finetune にあたります.RateDev は,形質置換パラメーターを MCMC の各 generation でそれぐらいジャンプさせるかを調節します.Acceptance が 20-40% 付近になるように FE_inputcommands.txt にある RateDev の数字を調節します.値が安定したら,「> outfile」をつけて解析をスタートさせます.

どれぐらい generation をやったら良いかわからないのですが,例題 (58 OTU,4 形質) ならば以下の設定で複数回の解析を行い,結果を比べたら良いそうです.


# Select MultiState Analysis
1

# Select MCMC mode of analysis
# 1: ML; 2: Bayes
2

# Reconstruct and internal node, using Most Recent Common Ancestor method
AddMRCA Node1 57 58
AddMRCA Node2 57 58 26

# Use a hyperprior that seeds an exponential distribution from a uniform on the
# the interval 0.0 to 30
rjhp exp 0.0 30

# Chooses a rate deviation so the acceptance rate is 0.2
RateDev 4.5

# Allow the chain to burn-in for 10,000 iterations
burnin 10000

# sample interval
Sample 1000

#MCMC length
it 2000000

# Run the analysis
run


outfile の下の方に出力される事後確率を Excel に読み込みます.図のように平均を Excel で計算してノードごとに祖先形質の事後確率を得ます.