mcmctree配置文件解读2023-08-26

参数以及操作解读主要来自A Step-by-Step Tutorial: Divergence Time Estimation with Approximate Likelihood Calculation Using MCMCTREE in PAML (9 June 2011)PAML MANUAL Version 4.9j (February 2020)

          seed = -1
       seqfile = examples/DatingSoftBound/mtCDNApri123.txt
#序列输入文件
      treefile = examples/DatingSoftBound/mtCDNApri.trees
#带有化石标记的树
       outfile = out

         ndata = 3
#这个需要改
       seqtype = 0  * 0: nucleotides; 1:codons; 2:AAs
#这个需要改
       usedata = 3    * 0: no data; 1:seq like; 2:use in.BV; 3: out.BV
#第一次用3第二次用2
         clock = 3    * 1: global clock; 2: independent rates; 3: correlated rates
       RootAge = <1.0  * safe constraint on root age, used if no fossil for root.

         model = 7    * 0:JC69, 1:K80, 2:F81, 3:F84, 4:HKY85
#7居然才是GTR
         alpha = 0    * alpha for gamma rates at sites
         ncatG = 5    * No. categories in discrete gamma

     cleandata = 0    * remove sites with ambiguity data (1:yes, 0:no)?

       BDparas = 1 1 0    * birth, death, sampling
#跟时间尺度有关系
   kappa_gamma = 6 2      * gamma prior for kappa
   alpha_gamma = 1 1      * gamma prior for alpha

   rgene_gamma = 2 2   * gamma prior for overall rates for genes
#计算
  sigma2_gamma = 1 10    * gamma prior for sigma^2     (for clock=2 or 3)
#一般设置sigma2_gamma = 1 4.5 
      finetune = 1: 0.1  0.1  0.1  0.01 .5  * auto (0 or 1) : times, musigma2, rates, mixing, paras, FossilErr
#第一个数字为1就可以自动调整
         print = 1
        burnin = 2000
      sampfreq = 2
       nsample = 20000

*** Note: Make your window wider (100 columns) before running the program.



ndata是数据分区,几个分区就写几。
seqtype数据类型,自己选择。
usedata这个先用3选项生成in.BV,再用2使用in.BV
clock分子钟,这个我觉得是越复杂越好,1固定速率分子种;2独立的互不干扰速率分子钟;3自动关联速率分子钟(我从翻译上理解的意思),那肯定无脑3,默认也是3
RootAge这个相当于一个树根的最远距离年代。
model服!为啥它不把所有模型在mcmctree里面列出来,我找到了所有的,一共10个,一般我用第7个REV就是GTR模型。

image.png

image.png

图片截自 PAML MANUAL

虽然我每次都会选model,但是仔细看了mcmctree才发现,如果使用usedata = 2model, alpha, ncatG都不用设置了。

image.png

cleandata=0意味着在似然性计算中将对齐间隙和模糊字符视为缺失数据,如果设置为1会删除数据中它认为低质量的序列。
BDparas若输入有根树文件中的时间单位发生改变,则需要相应修改出生率和死亡率的值。例如,时间单位由100Myr变换为1Myr,则要设置成".01 .01 0.1"。

BDparas 来源参考连接,根据手册原文,也是调整节点密度的参数,虽然看不懂怎么调节,咱就用默认的100Myr。

kappa_gamma,alpha_gamma这两个参数也是,如果咱们使用usedata = 2 or 3就可以不用设置,他会计算,非常省事。
rgene_gamma这个算是需要计算的,虽然我发现直接按照经验填写的差不多。

image.png

m和s来自baseml结果
我不懂数学,但是我看怎么算α也不可能不等于1吧?β才会算是有点变化。

baseml baseml.ctl

关于这个m和s的计算是使用baseml,计算方式就是先把树和矩阵先跑一个baseml,这个baseml非常简单,基本就是给它矩阵,树(需要在根部设置一个'@4.0'安全置根时间),模型就可以了。
跑完以后结果文件mlb中,Substitution rate is per time unit下面写的就是m&s的估值,取小数点两位就可以。
β=1/0.301806=3.31,那么rgene_gamma = 1 3.31

image.png

如果说rgene_gamma还能算出来点什么,但是对于sigma2_gamma,我表示绝望。
sigma2_gamma我没有看到直接计算出来结果的方式,只是说了一下这个分布大概是什么样。


然后就推荐了使用指定对数正态分布替代率方差的先验,我觉得这说的没头没脑,怎么就推荐了

image.png

但是采用固定的对数正态分布替代率方差的先验,找到一个文献依据。

Ma, Y., Zhang, L., Lin, Y., Yu, D., Storey, K. B. & Zhang, J. (2023) Phylogenetic relationships and divergence dating of Mantodea using mitochondrial phylogenomics. Systematic Entomology, syen.12596.


image.png

这篇写的我还看的懂,就是说Tong 2015篇文章比较后,觉得选择对数正态分布替代率方差的先验更保守更符合化石标记的不确定性。

Tong, K. J., Duchêne, S., Ho, S. Y. W. & Lo, N. (2015) Comment on “Phylogenomics resolves the timing and pattern of insect evolution.” Science 349, 487–487.
image.png

我觉得有这两篇参考文献,在昆虫范围内使用sigma2_gamma = 1 4.5应该可以的,有依据的。

最后一个参数finetune,这个第一个参数就可以设置自动调整。auto (0 or 1) : times, musigma2, rates, mixing, paras, FossilErr。所以其余值我就只用默认值。

image.png

burnin遗弃代数
sampfreq抽样频率
nsample最后结果代数
实际运行代数是抽样频率*最后结果代数,比如

image.png

最后执行

mcmctree mcmctree.ctl

mcmctree看似复杂,但是我一看beast我才吐血,那里面手动累死啊

参考
https://mp.weixin.qq.com/s/Av056mrqnLm8ok7z_Y4lTw
https://www.cnblogs.com/bio-mary/p/12818888.html

你可能感兴趣的:(mcmctree配置文件解读2023-08-26)