构建系统发育树:贝叶斯法建树

RAxML最新的帮助手册下载网址:

https://cme.h-its.org/exelixis/resource/download/NewManual.pdf?msclkid=5839f37ecd3311ecb803b0da71760484

教程网站:

https://cme.h-its.org/exelixis/web/software/raxml/hands_on.html

写在前面:我对建树也是一知半解,这里只是想记录一下自己跟别人学习的建树方法,可能不具有普适性。但毕竟写在公众平台,大家选择性参考。

主要的步骤包括用jModelTest来选择核苷酸替代模型,用phylosuite进行.nex文件的准备,用在线建树网站CIPRES(http://www.phylo.org/)进行贝叶斯方法建树。

1 jModelTest来选择核苷酸替代模型

这一步具体怎么做参考我写过的这篇文章:https://www.jianshu.com/p/e5cfad89a1a4

2 文件的准备

在这里我用自己的已经进行过多重比对(跑过mafft)的序列文件(.fasta)开始进行建树。

用Phylosuite准备用于贝叶斯法建树的.nex文件。

这里简单的说一下,贝叶斯法建树要选择特定的模型来建树,首先一般会用jModeltest等软件选出最合适的模型和各项参数。然后把要用的模型、参数信息和序列汇总在一起,生成一个.nex文件,提交到在线建树网站CIPRES。

phylosuite是一个流程化的建树软件,从序列的下载到建树,整套流程都能在上面实现,具体的下载、安装和使用,可以去官网看介绍:http://phylosuite.jushengwu.com/

打开phylosuite,点击上方工具栏File-Import files or IDs,出现如下的对话框,Choose Files,选择要导入的fasta文件。

导入后,点击工具栏Phylogeny-ModelFinder,出现如下的对话框:

基本的设定填一下,就可以按Start了。

跑完后,会弹出一个对话框,关掉就可以了。

点击上方工具栏Phylogeny-MrBayes,会出现下面的对话框:


点击Show MrBaves Data Block,出现下面的对话框,

点击Save to File,保存在你指定的位置,这就是我们需要的.nex文件。

然后,我们需要用记事本或其他文本编辑软件打开该.nex文件,根绝jModelTest得到的结果进行修改。

.nex文件的内容主要分为三部分:

第一部分:

#NEXUS

BEGIN DATA;

dimensions ntax=86 nchar=12275;

format missing=?

datatype=DNA gap= - interleave;

这里的dimensions ntax是分类单元的数量,就是一共对比了多少条序列;nchar是比对矩阵的总长度。

这一部分不需要进行改动。

第二部分:

这一部分就是比对矩阵的信息,也不需要修改。

第三部分:

在用Phylosuite直接导出的.nex文件中,第三部分是这样的:

END;

begin mrbayes;

log start filename = log.txt;

lset nst=6 rates=invgamma Ngammacat=4;

prset statefreqpr = fixed(empirical);

mcmcp ngen=2000000 printfreq=1000 samplefreq=100 nchains=4 nruns=2 savebrlens=yes checkpoint=yes checkfreq=5000;

mcmc;

sumt conformat=Simple contype=Halfcompat relburnin=yes burninfrac=0.25;

sump relburnin=yes burninfrac=0.25;

end;

这里我们要根据jModelTest的结果进行修改的部分是:

lset nst=6 rates=invgamma Ngammacat=4;

prset statefreqpr = fixed(empirical);

jModelTest根据 BIC标准得到的进化模型信息为:

这里计算出的模型是TPM2uf+I+G。

第一行中,lset nst 定义位点替换的模型(实际可以理解为 AC、AT、AG、GC、GT、TC 每对碱基的替换),用不同数字代替不同模型:1 代表所有替换率相同(如模型 JC69 或 F81); 2 代表转换和颠换可以有不同的替换率(如模型 K80 或 HKY85); 6 代表所有替换率都不同(如模型 GTR)。

常见的模型对应的nst如下:

Jukes-Cantor (JC, nst=1): equal base frequencies, all substitutions equally likely (PAUP* rate classification: aaaaaa, PAML: aaaaaa) (Jukes and Cantor 1969)

Felsenstein 1981 (F81, nst=1): variable base frequencies, all substitutions equally likely (PAUP*: aaaaaa, PAML: aaaaaa) (Felsenstein 1981)

Kimura 2-parameter (K80, nst=2): equal base frequencies, one transition rate and one transversion rate (PAUP*: abaaba, PAML: abbbba) (Kimura 1980)

Hasegawa-Kishino-Yano (HKY, nst=2): variable base frequencies, one transition rate and one transversion rate (PAUP*: abaaba, PAML: abbbba) (Hasegawa et. al. 1985)

Tamura-Nei (TrN): variable base frequencies, equal transversion rates, variable transition rates (PAUP*: abaaea, PAML: abbbbf) (Tamura Nei 1993)

Kimura 3-parameter (K3P): variable base frequencies, equal transition rates, two transversion rates (PAUP*: abccba, PAML: abccba) (Kimura 1981)

transition model (TIM): variable base frequencies, variable transition rates, two transversion rates (PAUP*: abccea, PAML: abccbe)

transversion model (TVM): variable base frequencies, variable transversion rates, transition rates equal (PAUP*: abcdbe, PAML: abcdea)

symmetrical model (SYM): equal base frequencies, symmetrical substitution matrix (A to T = T to A) (PAUP*: abcdef, PAML: abcdef) (Zharkikh 1994)

general time reversible (GTR, nst=6): variable base frequencies, symmetrical substitution matrix (PAUP*: abcdef, PAML: abcdef) (e.g., Lanave et al. 1984, Tavare 1986, Rodriguez et. al. 1990)

注:K81uf+G = TPM1uf

TrNef is actually SYM

The TIM1, TIM2, TIM3, TPM1uf, TPM2uf, TPM3uf and TrN substitution models were replaced by the GTR model(nst=6)

rates 定义位点之间的替换率,有以下几种选择:

equal:位点的替换率无差异

 gamma:位点的替换率呈 gamma 分布,对应+G

adgamma:位点的替换率自相关,边缘位点替换率呈 gamma 分布,相邻位点有相关的替换率

propinv:一定比例位点的替换率是恒定的,对应+I

invgamma:一定比例位点的替换率是恒定的,剩下位点的替换率呈 gamma 分布,对应+I+G。

我们这里的TPM2uf可以用GTR来替代,也就是lset nst=6;I+G就是invagamma,也就是rates=invgamma。

第二行中的 prset statefreqpr = fixed(empirical)用的是经验值,我们要根据jModelTest的结果进行修改:

首先:prset statefreqpr = fixed(0.3928,0.0901,0.0754,0.4416)

括号内的四个数值就是freqA、freqC、freqG和freqT。

其次,shapepr 为shape parameter of gamma distribution of rate variation ,即gamma值,修改为shapepr = fixed(1.1630),括号内的为gamma值;

pinvar为p-inv的值,即 pinvar = fixed(0.3690)

最后:revmat = fixed(0.7601,8.4971,0.7601,1.0000,8.4971,1.0000),括号内为R(a)、R(b)、R(c)、R(d)、R(e)和R(f)值。

因此,我们根据jModelTest结果修改后的是:

lset nst=6 rates=invgamma Ngammacat=4;

prset statefreqpr = fixed(0.3928,0.0901,0.0754,0.4416) pinvar = fixed(0.3690) shapepr = fixed(1.1630) revmat = fixed(0.7601,8.4971,0.7601,1.0000,8.4971,1.0000);

3 在线网站建树

我们要将.nex文件上传到在线建树网站CIPRES(http://www.phylo.org/)上用Mrbayes建树。

关于具体的一些操作在之前说最大似然法建树时提到过,大家可以参考一下:https://www.jianshu.com/p/cdd3b3adc16f,也可以自己试一下。

在Select Tool选择如下:

在Set Parameters,要设定的参数如下:

注意:要勾选My Data Contains a MrBayes Data Block,就是说我们的.nex文件里已经包括了很多参数信息。不需要另外设定了。Maximum Hours to Run那里的数值是根据自己的账号还有的时间设定的,因为这个网站的规定是每个账号每年有限额的跑数据时间,这个数值要在你剩余的时间范围内。

别的参数默认即可(或者说我默认了)。

跑完之后,在结果里,要下载的树文件如下图:

Download之后,用Figtree等软件打开,就可以看结果了。

4 linux系统中MrBayes建树

在linu新系统中用Mrbayes建树也很简单

在安装了miniconda的前提下,用conda安装MrBayes:

conda install -c bioconda mrbayes

然后一行命令就可以:

mpirun -np 8 mb /lustre/home/liurong/test11/81matk.nex

mpirun -np :核心数目

mb :.nex文件的绝对路径

你可能感兴趣的:(构建系统发育树:贝叶斯法建树)