- PAML是什么
PAML是利用最大似然法对CDS或PEP序列进行系统发育分析的生信软件。
PAML官方网址:http://abacus.gene.ucl.ac.uk/software/paml.html
- PAML的下载安装
wget http://abacus.gene.ucl.ac.uk/software/paml4.9i.tgz
tar zxf paml4.9i.tgz
rm bin/*
cd src
make -f Makefile
cp baseml basemlg chi2 codeml evolver infinitesites mcmctree pamp yn00 ../bin
echo 'PATH=$PATH:/gss1/home/tri01/software/paml4.9j/bin
' >> ~/.bashrc
source ~/.bashrc
- PAML的运行
要正常运行PAML,需要在同一个目录下包含四个文件:
1.fasta文件:存储蛋白编码基因的序列信息,比如原始序列经过mafft比对后,并由pal2nal导出的密码子序列,序列长度为3的倍数。
2.tree文件:与序列比对的物种名保持一致,文件后缀名为.treefile,文件内存储内容格式为(a:0.03,((b:0.1,c:0.2),d:0.5));
3.codeml.ctl文件:PAML的参数控制文件,通过修改文件参数,实现模型转换
4.codeml.exe:PAML的可执行文件(如果可执行文件添加到环境变量里了的话,不需要再把该可执行文件cope到工作目录下了)
codeml.ctl文件中参数的设置
PAML的参数设置巨多,具体每个参数的意义可以参考:
1.官方的说明文档http://abacus.gene.ucl.ac.uk/software/pamlDOC.pdf
2.这篇博客https://www.jianshu.com/p/152a6216c794
我运行的时候只修改了5个地方,其余参数默认
1.第1行:seqfile,fasta文件的路径
2.第2行:treefile,树文件的路径
3.第3行:outfile,输出文件的路径与输出文件名,/gss1/.../result/output.mcl
4.第19行:model,1,每个branch的值不同
若输入数据是密码子序列,该参数用于设置branch models,即进化树各分枝的omega值的分布:0,进化树上所有分枝的omega值一致;1,对每个分枝单独进行omega计算;2,设置多类omega值,根据树文件中对分枝的编号信息来确定类别,具有相同编号的分枝具有相同的omega值,没有编号的分枝具有相同的omega值,程序分别计算各编号和没有编号的omega值。
若输入数据是蛋白序列,或数据是密码子序列且seqtype值是3时,该参数用于设置氨基酸替换模型:0,Poisson;1,氨基酸替换率和氨基酸的观测频率成正比;2,从aaRatefile参数指定的文件路径中读取氨基酸替换率信息,这些信息是根据经验获得,并记录到后缀为.dat的配置文件中。这些经验模型(Empirical Models)文件位于PAML软件安装目录中的dat目录下,例如,Dayhoff(dayhoff.dat)、WAG(wag.dat)、LG(lg.dat)、mtMAN(mtman.dat)和mtREV24(mtREV24.dat)。
5.第54行:Genetic codes:选择合适的密码子表
要求的文件都在同一个目录下,且配置文件修改好后,一个简单指令运行
codeml