系统发育分析软件PAML的安装和简介

PAML (Phylogenetic Analysis by Maximum Likelihood),是杨子恒开发的一款利用DNA或Protein数据使用最大似然法进行系统发育分析的软件。

该软件不擅长构树,但能用于评估系统进化过程中的参数和假设检验,有利于PAUP、PHYLIP、MOLPHY、PHyML和RAxML等其它软件的构树。 PAML软件的baseml和codeml命令中用于搜索系统发育树的算法非常原始且效果较差,当数据量较大,例如物种数多于10个时,作者推荐使用其他更好的软件来构建系统发育树。 软件的详细用法请参考PDF说明文档常见问题

下载并安装PAML软件

$ wget http://abacus.gene.ucl.ac.uk/software/paml4.9i.tgz
$ tar zxf paml4.9i.tgz -C /opt/biosoft/
$ cd /opt/biosoft/paml4.9i/
$ rm bin/*
$ cd src
$ make -f Makefile
$ cp baseml basemlg chi2 codeml evolver infinitesites mcmctree pamp yn00 ../bin
$ echo 'PATH=$PATH:/opt/biosoft/paml4.9i/bin' >> ~/.bashrc
$ source ~/.bashrc

PAML软件包含多支程序,来实现不同的系统发育分析功能:

baseml 用于对核酸序列进行最大似然法分析。
codeml 用于对密码子和蛋白序列进行最大似然法分析。该程序整合了以前的两支程序codonml和aaml,前者用于对密码子序列进行分析,后者对蛋白序列进行分析。在新的codeml程序的配置文件中设置seqtype=1,表示使用codonml命令,设置seqtype=2,表示使用aaml命令。
evolver 用于模拟核酸、密码子或蛋白序列。
basemlg 相比于baseml,该程序应用了连续的gamma模型。当数据中的物种数多于6到7个时,该程序运行非常慢以至得不到结果。这时,需要使用设置离散gamma模型的baseml命令。
mcmctree 该程序应用Bayesian MCMC算法计算物种分歧时间。
pamp 用于简约法分析。
yn00 用于对两条编码蛋白的DNA序列进行比较并计算dnds。
chi2 用于在likelihood ratio test中计算卡方临界值和p值。

PAML使用前的注意事项:

1. PAML要求的输入文件是多序列比对结果。PAML软件不能进行多序列比对,需要使用其他软件进行分析。
2. PAML软件进行基于密码子的分析要求输入的序列必须是去除了Introns等非编码区的DNA序列,且其长度是3的整数倍,且第一个核酸位点是密码子的第一位。PAML软件不能进行基因预测,密码子的比对结果需要自行编写程序分析得到。
3. 对于较大数据(物种数>=10)量的分析,输入的树文件最好使用其他软件计算。

1. 使用codeml和进行正选择分析

CodonFreq

程序根据输入的序列计算出密码子3个位点上各4种碱基的频率,例如:

Codon position x base (3x4) table, overall
position 1: T:0.20110 C:0.13736 A:0.32308 G:0.33846
position 2: T:0.20000 C:0.17143 A:0.33077 G:0.29780
position 3: T:0.32747 C:0.22857 A:0.25165 G:0.19231
Average T:0.24286 C:0.17912 A:0.30183 G:0.27619

然后再计算64种密码子的频率。计算方法有四种:
(1)设置CodonFreq参数值为0,表示除三种终止密码子频率为0,其余密码值频率全部为1/61;
(2)设置CodonFreq参数值为1(F1X4),表示除三种终止密码子频率为0,计算61种密码子时,使用上面Average的值进行计算,例如TTC密码子的频率为0.24286*0.24286*0.17912;这61种密码子频率之和不等于1,然后对其数据标准化,使其和为1,得到所有密码子的频率。
(3)设置CodonFreq参数值为2(F3X4),表示除三种终止密码子频率为0,计算61种密码子时,使用上面三种position的的值进行计算,例如TTC密码子的频率为 0.20110*0.20110*0.22857;这61种密码子频率之和不等于1,然后对其数据标准化,使其和为1,得到所有密码子的频率。
(4)设置CodonFreq参数值为3(codon table),表示直接使用观测到的各密码子的总的频数/所有密码值得总数,得到所有密码子的频率。

一般选择第三种方法,设置CodonFre的值为2。第一种方法让所有密码子频率相等,不符合实际轻卡;第二种方法没有考虑到三种位点各碱基频率的差异,得到的密码子频率不准确;第三种方法能比较准确计算出各密码子的频率;第四种方法由输入数据得到真实的各密码子频率,但有时候有些非终止密码子的频率为0,可能不利于后续的计算。

匿名进行回复 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据