赞
踩
一、取样:以Wang et.al,2015中L148_r树的taxa为基础,去除重复的taxa,最终得到122个taxa。DNA序列数据L122.nex, 起始树为ML法推断出的besttree。
二、生成XML文件
A. 打开BEAUti,将DNA序列数据和起始树导入程序,按以下步骤生成跑BEAST所需的xml文件。。
(1)定义tMRCA,共4个。
Outgroup(2taxa,2种派模蛛,非强制单系)
Linyphiidae(120taxa,所有传统分类中定义的皿蛛科物种,非强制单系)。
Linyphiidae(117taxa,except stemonyphantes亚科的3个taxa, 强制单系,用于设定化石矫正点)
Orsonwelles(2taxa, include Orsonwelles属两种,强制单系,用于设定地质矫正点?)
(2)核苷酸分子替换模型。Site Model:GTR。事先使用jModelTest等软件对该最适模型及其参数进行判定。此部分请参考高芳銮的博文 http://blog.sciencenet.cn/blog-460481-791370.html
(3) 分子钟模型Clock Models。 将Molecular Clock Model选为“Relaxed Clock:Uncorrelated Lognormal”, estimate不选择。
(4)设置Priors。选择Tree Prior为Speciation:Birth-Death Model。
(5) 设置Prior。
在tmrca(Linyphiinae)中选择Lognormal,参数为0,2,125(参考Dimitrov,2012)。
在tmrca(Osonwelles)中选择Lognormal,参数为0,0.001,2.7。
(6)设置起始树。
在Beast2中,无法从BEAUti的GUI界面设置起始树。唯一的做法是生成XML文件后,手工修改代码,将默认使用随机树做起始树的代码改为如下格式
<init id="StartingTree.t:FPV" initial="@Tree.t:FPV" spec="beast.util.TreeParser" IsLabelledNewick="true">
<input name="newick">yournewick; </input>
</init>
需要注意的是,Beast2官方教程在这一部分的代码是错的,我试了无数次都不行。只有这样写才能运行正常。在引入自定义的Starting tree后,tMRCA的设定便有了限制,tMRCA的taxa分组不能和Starting tree拓扑结构冲突,否则在BEAST的时候会报错。
(7)Operators。如果你仅仅希望用Beast2推算分化时间,树拓扑要保持与ML分析的最优树完全一致,在这部分你要将XML文件代码中<OPERATORS>部分Subtree slide,Narrow exchange,Wide exchange, Wilson Balding四行代码全部删掉,以保证在整个mcmc过程中树拓扑保持一致,只是支长有变化。
(8)设置MCMC。链长设为40000000,Echo设为1000,Log_every设为1000(一般来讲,tracer中显示所有参数的ESS值均大于200表示BEAST分析结果可信,需要根据此参数确定最适合链长)。
(6)生成XML文档。
B.运行BEAST。在BEAST中打开xml文件,运行后生成后缀为trees和log的文件。
4. 在/beast/bin目录下找到beast程序,运行BEAST。弹出的对话框打开编辑好的xml文件,就会自动运行beast,结果trees和log文件存储在bin目录下。需要说明一点,如果在windowsPC下编辑生成的xml文件,在CentOS平台下不能直接使用,由于EOF在UNIX和DOS/WINDOWS下编码不同,直接使用会报错。解决方法是在NOTEPAD++的EDIT菜单下将文件的EOF模式设置为UNIX格式,保存后将其上传至服务器,再用BEAST打开就OK了。
C. 运行Tracer分析结果。用Tracer打开log文件分析。这个过程可以看出跑树结果的好坏。
(1)Tracer显示了BEAST后得到的各种参数,包括likelihood,meanRate(平均进化速率),coefficientOfVariation(每一分支分子进化的变异系数,表示分子变化的速率在不同分支上是否等速),root和每一个tMRCA分化时间的估计值等等。同时选中root.height和tMRCA,可以通过箱线图和边界密度图显示预设的化石校正点估计值是否一致。
D. 运行TreeAnnotator得到合议树。用TreeAnnotator打开trees文件,设定参数得到合议树。特别要指出的是,TreeAnnotator中Output File文件默认是让选择,其实直接取一个输出的文件名点ok即可。需要注意的是,由于jvm有内存限制,对于超过10000棵树需要和议时,不能直接运行treeannotator,而是进入beast的lib目录,运行以下代码启动treeannotator。
java -Xmx2048m -Xms2048m -classpath beast.jar dr.app.tools.TreeAnnotator
代码中的2048为jvm可调用内存的限值,运算量越大,这个值应调的越高。
合议树第一个参数设为4000(40000000代,每1000代生成1棵树,共40000棵。取10%为4000).第二个参数改为0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。