欢迎光临散文网 会员登陆 & 注册

教程 | 柚子的祖先啥时候出来的?物种分歧推断

2021-09-13 10:48 作者:CJchen-0410  | 我要投稿


图片
图片
图片


介绍


还是接上之前Orthofinder分析后,很多老师和同学都会选择做时间分歧分析。

Orthofinder下篇

Orthofinder上篇

"时间分歧" 简单来说,就是确定物种分化的大概时间区域。

分歧时间区域计算原理:基于已知的时间节点(已被报道的分支时间节点/具有化石时间)和分子钟计算,推算系统发育树的其他节点发生的时间。

简单补充分子钟原理:任意两个物种,自从分化成两个物种后,他们之间的遗传差异的进化速率应该与分化的时间保持相对稳定。举个例子:人与青蛙的分化点肯定比人与猴子的早,那么人与猴子的序列差异理论上会比人与青蛙的序列差异要小。

目前,采用估算物种分歧时间的程序常见有:mcmctree、r8s..

这次推送主要分享mcmctree的使用方法~

运行

PAML安装

mcmctree主要是在PAML软件包。



conda安装~


两个方法下载的paml的软件包都是4.9版本的~

主要用到paml软件包的mcmc,其中学习手册的介绍:Bayesian estimation of species divergence times incorporating uncertainties in fossil calibrations (mcmctree).

paml的学习手册:http://abacus.gene.ucl.ac.uk/software/pamlDOC.pdf


准备文件


我们在上次推文已经完成了orthofinder的分析,所以从其分析结果获mcmctree运行所需的文件。


图片


主要需要两个文件:

1.单拷贝直系同源基因数据集合的基因ID 

2. 物种的系统发育树文件



1. 准备序列比对文件



2. 准备树文件


在进行分歧时间预测,我们至少知道一个节点的大概分歧时间

TIMETREE数据库:http://timetree.org/ 是一个记录多个植物分歧进化时间的公共数据库。而且提供相关文献,我们可以进一步进行确定

这边我们暂定葡萄与拟南芥/柑橘的分歧点约为大于 100


参考orthofinder的系统进化关系


稍微解释一下如何编写这个物种树,借鉴Orthofinder的构建好的树结构,补充了葡萄分歧时间大于100MYB。

也可以直接使用 'L(1.0)'、'>1.0'

如果是在某个时间段可以:'B(1.0,1.17)'、'>1.0<1.17'

如果是小于某个时间节点可以:'U(1.17)'、'<1.17'

而括号后的两个参数分为 p=0.1, c=0.2, 由于物种数量比较小而且距离还相对较远,增加两个内置函数更严格限制已知的分歧点。


图片


更详细请参考PAML User Guide的 第9节mcmctree的Fossil calibration 部分。


mcmctree运行


简单说一下,最主要填写的项:

seqfile = all.singlecopy.phy

treefile = treefile

outfile = out *输出前缀

ndata = 30

建议将随机采取的比对序列情况设置大一点;因为我这里六个物种单拷贝基因数量太多了,运行起来耗时多,所以我仅采用30个情况进行时间分歧计算。

usedata

设置是否利用多序列比对的数据:0,表示不使用多序列比对数据,则不会进行likelihood计算;1,表示使用多序列比对数据使用Felsenstein(1981)的似然计算,也是MCMC常使用的参数,不过计算速度较慢; 2,进行approximation likelihood分析,此时不需要读取多序列比对数据,直接读取当前目录中的in.BV文件。该文件是使用usedata = 3参数生成的out.BV文件重命名而来的。

clock = 3

model = 4

0:JC69, 1:K80, 2:F81, 3:F84, 4:HKY85 说明书列举了四种情况,其中JC69是适合比较简单的关系,HKY85是相对比较远源的关系(更复杂的模型,配合alpha=0.5使用)。

alpha = 0.5


首先设置usedate=3


获得 out.BV文件

usedate=2


查看FigTree.tre


图片


在Figtree可以可视化,后期导出SVP。

至于如何更美化这个分歧树... 就各自修行。


mcmctree.ctl配置


seed = -1       seqfile = all.singlecopy.phy      treefile = treefile       outfile = out         ndata = 20       seqtype = 0  * 0: nucleotides; 1:codons; 2:AAs       usedata = 2    * 0: no data; 1:seq like; 2:use in.BV; 3: out.BV         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 = 4    * 0:JC69, 1:K80, 2:F81, 3:F84, 4:HKY85         alpha = 0.5    * 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)      finetune = 1: 0.1  0.1  0.1  0.01 .5  * auto (0 or 1) : times, musigma2, rates, mixing, paras, FossilErr         print = 1        burnin = 2000      sampfreq = 10       nsample = 20000
图片


教程 | 柚子的祖先啥时候出来的?物种分歧推断的评论 (共 条)

分享到微博请遵守国家法律