• 简介

PAML(Phylogenetic Analysis by Maximum Likelihood)是伦敦大学的杨子恒(Yang Ziheng)教 授开发的一套基于最大似然估计来对蛋白质和核酸序列进行系统发育分析的软件,对学术使用是 免费的。杨子恒教授维护和发布 PAML 在 UNIX/Linux/MAC OS X 平台下的 ANSI C 的源程序和MS Windows 下的可执行文件。

PAML 可实现系统发育树的构建,祖先序列估计,进化模拟和 KaKs 计算等功能。其中分支及 位点 KaKs 的计算是本软件包的特色功能。

由此可以下载并且安装

1 cd paml4.5/
2 rm bin/*.exe
3 cd src
4 make -f Makefile
5 ls -l
6 rm *.o
7 mv baseml basemlg codeml pamp evolver yn00 chi2 ../bin
  • 实例

1、codeml

所需文件有2

️:CDS的fasta比对文件(一定是3的倍数,且去掉终止密码子);

*一定是比对过后的文件,我是用clusw进行比对,进而输出fasta格式,有说PAML可以识别phlylip格式,但是我的这个不行,不知道咋么个情况。

得到的fasta文件后,可以使用EasyCodeML 进行格式转换,转为paml格式(把U替换为T)。把fasta文件放入inPath运行如下命令即可。

1 java -cp EasyCodeML.jar SeqFormatConvert.seqFactory.SeqConverter -i inPath/ -iF fasta -o outPath/ -oF PAML

️:tree文件

使用phylip得到树文件

将两个文件放入PAML bin文件下即可

第一步:

配置文件的配置

打开codeml.ctl,其内容如下:

 1 seqfile = dm_cds.pml * sequence data filename  ##比对文件
2 treefile = outtree * tree structure file name##树的文件
3 outfile = dm2.mlc * main result file name##输出文件
4
5 noisy = 9 * 0,1,2,3,9: how much rubbish on the screen
6 verbose = 1 * 0: concise; 1: detailed, 2: too much
7 runmode = 0 * 0: user tree; 1: semi-automatic; 2: automatic
8 * 3: StepwiseAddition; (4,5):PerturbationNNI; -2: pairwise##利用自己的树,选择0
9
10 seqtype = 2 * 1:codons; 2:AAs; 3:codons-->AAs
11 CodonFreq = 2 * 0:1/61 each, 1:F1X4, 2:F3X4, 3:codon table
12
13 * ndata = 10
14 clock = 0 * 0:no clock, 1:clock; 2:local clock; 3:CombinedAnalysis
15 aaDist = 0 * 0:equal, +:geometric; -:linear, 1-6:G1974,Miyata,c,p,v,a
16 aaRatefile = dat/jones.dat * only used for aa seqs with model=empirical(_F)
17 * dayhoff.dat, jones.dat, wag.dat, mtmam.dat, or your own
18
19 model = 0
20 * models for codons:
21 * 0:one, 1:b, 2:2 or more dN/dS ratios for branches
22 * models for AAs or codon-translated AAs:
23 * 0:poisson, 1:proportional, 2:Empirical, 3:Empirical+F
24 * 6:FromCodon, 7:AAClasses, 8:REVaa_0, 9:REVaa(nr=189)##选择0表示假设所有树具有相同seqfile = dm_cds.pml * sequence data filename
25 treefile = outtree * tree structure file name
26 outfile = dm2.mlc * main result file name
27
28 noisy = 9 * 0,1,2,3,9: how much rubbish on the screen
29 verbose = 1 * 0: concise; 1: detailed, 2: too much
30 runmode = 0 * 0: user tree; 1: semi-automatic; 2: automatic
31 * 3: StepwiseAddition; (4,5):PerturbationNNI; -2: pairwise
32
33 seqtype = 2 * 1:codons; 2:AAs; 3:codons-->AAs
34 CodonFreq = 2 * 0:1/61 each, 1:F1X4, 2:F3X4, 3:codon table
35
36 * ndata = 10
37 clock = 0 * 0:no clock, 1:clock; 2:local clock; 3:CombinedAnalysis
38 aaDist = 0 * 0:equal, +:geometric; -:linear, 1-6:G1974,Miyata,c,p,v,a
39 aaRatefile = dat/jones.dat * only used for aa seqs with model=empirical(_F)
40 * dayhoff.dat, jones.dat, wag.dat, mtmam.dat, or your own
41
42 model = 0
43 * models for codons:
44 * 0:one, 1:b, 2:2 or more dN/dS ratios for branches
45 * models for AAs or codon-translated AAs:
46 * 0:poisson, 1:proportional, 2:Empirical, 3:Empirical
47 * 6:FromCodon, 7:AAClasses, 8:REVaa_0, 9:REVaa(nr=189)##选择0表示假定树所有的相同的dN/dS,选择2表示一个树具有2个或者2个以上的不同dN/dS

其中,比对文件格式如下:

5    4609
RPP4
-----ATGGCTTCTTCTTCTTCTTCTCCTAGTAGCCGGAGATACGACGTTTTCCCAAGCTTCAGTGGGGTAGATGTTCGCAAAACGTTCCTCAGCCATCTAATCGAGGCGCTCGACCGCAGATCAATCAATACA-TTCATGGATCACGGCATCG---TGAGAAGCTGCATAATCGCCGATGCGCTTATAACGGCCATTAGAGAAGCGAGGATCTCAATAGTCATCTTCTCTGAGA-ACTATGCTTCTTCAACGTGG------TGCTTGAATGAATTGGTGGAGATCCACAAG-TGTTACAAGAAAGGGGAACAAATGGTGATTCCGGTTTTCTACGGCGTTGATCCTTCTC-------ATGTTAGAAAACAGATCGGTGGCTTTGGCGATGTCTTTAAAAAGACATGCGAGGACA------------AACCAGAGGATCAGAAACAAAGA--TGGGTTAAAGCTCTCACAGATATATCAAATTTAGCCGGGGAGGATCTTCGGAACGGGCCTACTGAAGCG---TTTATGGTTAAAAAGATAGCCAATGATGTTTCGAATAAACTTT--TTCCTCTGCCAAAGGGTTTTGGTGACTTCGTCGGAATTGAAGATCATATAAAGGCAATAAAATC-AATACTTTGCTTGGAATC--CAAGGAAGCTAGAATAATGGTCGGGATTTGGGGACAGTCAGGGATTGGTAAGAGTACCATAGGAAG----AGCTCTTTTCAGTCAACTCTCTAGCCAGTTCCACCATCGCGCTTTCATAACTTATAAAAGCACCAGTGGTAGTGACGTCTCTGGCATGAAGTTGAGTTGGGAAAAAGAACTT----CTCTCGGAAATCTTAGGTCAAAAGGACATAAAGATAGATCATTTTGGTGTGG-TGGAGCAAAGGTTAAAGCACAA--GAAAGTTCTTATCCTTCTTGATGATGTGGATAATCTAGAGTTT---CTTAAGACCTTGGTGGGAAAAGCTGAATGGT---TTGGTTCTGGAA-GCAGAATAATTGTGATCACTCA----AGATAAGCAACTTCTCAAGGCTCATGAGATTGACCTTGTATATGAGGTG-GAGCTGCCATCTCAAGGTCTTGCTCTTAAGATGATATCCCAATATGCTTTTGGGAAAGACTCTCCACCTGATGATTTTAAGGAACTAGCATTTGAAGTTGCCGAGCTTGTCGGTAGTCTTCCTTTGGGTCTCAGTGT-----CT---TGGGTTCATCTTTA-AAAGGAAGG----GACAAAGATGAGTGGGTGAAGATGATGCCTAGGCTTCGAAATGATTCAGATGATAAAATTGAGGAAACACTAAGAGTCGGCTACG-ATAGGTTAAATAAAAAAAA--TAGAG--AGTTATTTAAGTGCATTGCATGTTTTTTCAATGGTTTTAAAGTC--------AGTAACGTCAAAGAATTACTTGAAGATGATGTTGGGCTTACAATGTTGGCTGATAAGTCCCTCATACGTATTACACCGGATGGAGATATAGAGATGCACAATTTGC---TAGAGAAATTGGGTAGAGAAATTGATCGTGCAAAGTCCAAGGGTAATCCTGCAAAACGTCAATTTCTGACGAATTTTGAGGATATTCAAGAAGTAGTGACCGAGAAAACTGGGACAGAAACTGTTCTTGGAATACGTGTGCCACCCACGGTATTATTTTCGACAAGG-CCGTTATTAGTAATAAACGAAGAATCGTTCAAAGGCATGCG---TAATCTCCAATATCTAGAAATTGGTCATTGGTCAGAAATTGGTCTTTGGTCAGAAATTGGTCTTTGGTCAAAAATAGATCTACCT--CAGGGCCTCGTTTATTTGCCCCTTAAACTCAAATTGCTA-AAATGGAATTATTGTCCATTGAAGTC--TTTGCCATCT--ACTTTTAAGGCGGAATATCTAG-TTAACCTCATAATGA-A-GTATAGTAAGCTTGAGAA--ACTGT--GGGAAGGAACTCTGCCCCTTGGAAG------TCTCAAGAAGATGGA--TTTGGGGTGTTCCAACAATTTGAAA-------GAAATTCCAGA---TCTTTCTTTAGCCAT-AAACCTCGAGGAATTAAATCTTTCTAAATGCGA-ATCTT---TGGTGACACT-TCCTTCCTCGAT-TCAGAATGCCATTAAACTGAGGACGTTATATTGTTCGGGGGTGCTATTAAT-AGATTTAAAATCATTAGAAGGCATGTGTAATCTCGAAT---ATCTATCAGTTGATTGGT---CAAGTATGGAAGGCACTCAAGGCCTCA--TTTACTTGCCACGTAAACTCAAAAGGCTATGGT---GGGATTATTGTC-----------CAGTGAAGCGTTTGCCTTCTAATTT------------TAAGGCTGAGTATCTAGTTGAACTCAGAATGGAGAATAGTGACCTTGAGAAGCTGTGGGATGGAACTCAGCCACTTGGAAGCCTCAAGGAGATGTA-------------TCTGCATGGTTCCAAATAT--TTGAAAGAAAT------TCCAGATCTTTCTTTAGCCATAAACCTGGAGAGACTATAT-CTTTTTGGATGCGAATCTTTGGTGACACTTCCTTCCTCGATTCAGAATGCCACTAAATTGATCAATTTAGA-TATGAGAGATTGCAAAAAGCTAGAGAGTTTTCCAACCGATCTCAACTTGGAATCTCTCGAGTACCTCAATCTCACTGGATGCCCGAATTTGAGAAATTTCCCAGCAATCAAAATG--GGATGTTCATACTTTGAAATTCTGCAAGATAGAAATGAGATCGAGGTAGAAGATTGT-TTCTGGAACAAG-AATCTCCCTGCTGGACTAGATTATCTCGACT-----GCCTTATGAGGTGTATGCCTTGTGAATTTCGCCCAGA----ATATCTCACTTTTCTCGATGTGAGCGGCTGCAA--GCATG--AGAAGCTATGGGAAGGCATCCAGTCGCTTGGAAG----------TCTCAAGAGGATGGATCTGTCAGAATCTGA--AAACCTGACAGAAATTCCAGATCTTTCGAAGGCCACCAATCTGAAGCGTTTATATCTCAACGGGTGCAAAAGTTTGGTGAC-ACTTCCTTCTACAATTGGGAATCTTCATAGATTGGTGAGGTTGGAAATGAAAGAATGCACAGGGCTGGAGCTTCTTCCAACCGATGTCAACTTGTCATCTCT------------------------------------------------------------TATCA------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------TCCTCGATCTCAGTGGTTGCTCAAGTCTGAGAACTTTTCCTCTGATTTCAACTAGAATCGAATGTCTCTATCTAGAAAACACCGCCATTGAAGAAGTTCCCTGCTGCATTGAGGATTTAACGAGGCTCAGTGTACTACTGATGTATTGTTGCCAGAGGTTGAAAAACATCTCCCCAAACATTTTCAGACTGACAAGTCTAATGGTCGCCGACTTTACAGACTGTAGAGGTGTCATCAAGGCGTTGAGTGATGCAACTGTGGTAGCGACAATGGAAGATCATGTTTCTTGTGTACCATTATCTGAAAACATTGAATATACATGTGAACGTTTCTGGGATGAGTTGTATGAAAGAAAT--TCCAGATCTA--TCTTTAGCTATAAAGATGAGGATGGCGACGTATATTGGGTAAA------TTGGGACTTA----ATGATGATGCTG-ATGTTGATA------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
RPP5
-----ATGGCGGCTTCTTCTTCTT---CTGGCAGACGGAGATACGACGTTTTTCCAAGCTTCAGTGGGGTTGATGTTCGCAAGACGTTCCTCAGCCATCTAATCGAGGCGCTCGACGGCAAATCAATCAATACA-TTCATCGATCATGGAATCG---AGAGAAGCCGCACAATCGCCCCTGAGCTTATATCGGCGATTAGAGAAGCTAGGATCTCAAT

tree的格式如下:

(RPP5:0.05837,(RPP27:0.64437,(RPP8:0.51359,RPP13:0.22395):0.18814):0.42283,RPP4:0.04920);

第二部:

进行假设检验

0假设:一个树所有的分支具有相同的dN/dS

备选假设:自定义一支具有不同的dN/dS (在tree文件中进行标注,在特定位置标出$1 或者#1,具体可看b站视频

分别以model为0,以及model为2进行运行PAML,根据两个文件的结果中Lnl 计算p值

譬如:model=0:     lnr1

  model=2: lnr2

abs(lnr1-lnr2)*2 = q 值,自由度df为np2 -np1, np 为参数的数量

利用PAML中的chi函数,即可得到p值

1 ./chi df q

p值<0.05 则拒绝原假设,接受备选假设,即你认为的支确实dN/dS 有差异

关注下方公众号可获得更多精彩

参考

1、利用comdeml 计算dN/dS

2、paml计算dn/ds的小实例

3、下载安装PAML

4、PAML中文说明文档

PAML 选择压力的计算的更多相关文章

  1. kaks calculator批量计算多个基因的选择压力kaks值

    欢迎来到"bio生物信息"的世界 今天给大家带来"批量计算kaks值"的技能. 关于kaks的背景知识我就不介绍了,感兴趣的自行搜索,这里直接开始讲怎么批量计算 ...

  2. 通过PAML中的CODEML模块计算dnds的过程以及踩坑

    最近帮女朋友做毕业设计的时候用到了 PAML这个软件的codeml功能,发现网上相关的资料很少,于是把自己踩的一些坑分享一下,希望能帮到其他有相同困难的人 一.下载与安装 PAML软件下载地址 htt ...

  3. CFD计算

    47 求解器为flunet5/6在设置边界条件时,specify boundary types下的types中有三项关于interior,interface,internal设置,在什么情况下设置相应 ...

  4. 前端极易被误导的css选择器权重计算及css内联样式的妙用技巧

    记得大学时候,专业课的网页设计书籍里面讲过css选择器权重的计算:id是100,class是10,html标签是5等等,然后全部加起来的和进行比较... 我只想说:真是误人子弟,害人不浅! 最近,在前 ...

  5. 分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)

    分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tab ...

  6. C语言 · 薪水计算

    问题描述 编写一个程序,计算员工的周薪.薪水的计算是以小时为单位,如果在一周的时间内,员工工作的时间不超过40 个小时,那么他/她的总收入等于工作时间乘以每小时的薪水.如果员工工作的时间在40 到50 ...

  7. C语言 · 阶乘计算 · 基础练习

    问题描述 输入一个正整数n,输出n!的值. 其中n!=1*2*3*-*n. 算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法.使用一个数组A来表示一个大整数a,A[0]表 ...

  8. C语言 · 最大值与最小值计算

    输入11个整数,计算它们的最大值和最小值. 样例输入 0 1 2 3 4 5 6 7 8 9 10 样例输出 10 0   #include<stdio.h> int main(){ ]; ...

  9. 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查。。。

    异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 无法向会话状态服务器发出会话状态请求.请确保 ASP.NET State Ser ...

随机推荐

  1. linux:桌面切换

    永久更改 字符模式:multi-user.target 图形模式:graphical.target systemctl get-default #查看默认模式 systemctl set-defaul ...

  2. C语言单片机项目实战超声波雷达测距

    本实验是基于MSP430利用HC-SR04超声波传感器进行测距,测距范围是3-65cm,讲得到的数据显示在LCD 1602液晶屏上. 模块工作原理如下 (1)采用 IO 触发测距,给至少 10us 的 ...

  3. 如何用PADS进行PCB设计?这6步就够了

    在使用PADS进行PCB设计的过程中,需要对印制板的设计流程以及相关的注意事项进行重点关注,这样才能更好的为工作组中的设计人员提供系统的设计规范,同时也方便设计人员之间进行相互的交流和检查. 02 设 ...

  4. hdu 1502 Regular Words(DP)

    题意: 一个单词X由{A,B,C}三种字母构成. A(X):单词X中A的个数.B(X),C(X)同理. 一个单词X如果是regular word必须满足A(X)=B(X)=C(X)且对于X的任意前缀有 ...

  5. cf 24 Game (观察+.. 想一想)

    题意: 给一个数N,从1到N. 每次取两个数,三种操作:加.减.乘,运算完得一个数,把那俩数删了,把这个数加进去. 重复操作N-1次. 问是否可能得到24.若可以,输出每一步操作. 思路: 小于4,不 ...

  6. [源码解析] PyTorch 分布式(1)------历史和概述

    [源码解析] PyTorch 分布式(1)------历史和概述 目录 [源码解析] PyTorch 分布式(1)------历史和概述 0x00 摘要 0x01 PyTorch分布式的历史 1.1 ...

  7. SpringCloud微服务实战——搭建企业级开发框架(十四):集成Sentinel高可用流量管理框架【限流】

      Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流.流量整形.熔断降级.系统负载保护.热点防护等多个维度来帮助开发者保障微服务的稳定性. Sentinel 具有 ...

  8. 折腾systemd-nspawn运行centos7

    Archlinux创建Debian/Ubuntu的systemd-nspawn容器是很简单的,因为有debootstrap软件.某天我突然想装个centos7玩玩,搜了半天没发现有什么类似于deboo ...

  9. 微服务之十四如何在 Ocelot 网关中配置多实例 Swagger 访问

    一.介绍 当我们开发基于微服务的应用程序的时候,有一个环节总是跳不过去的,那就是要创建 WebApi,然后,我们的应用程序基于 WebApi 接口去访问.在没有 Swagger 以前,我们开发好了 W ...

  10. Go语言核心36讲(Go语言进阶技术十五)--学习笔记

    21 | panic函数.recover函数以及defer语句 (上) 在本篇,我要给你展示 Go 语言的另外一种错误处理方式.不过,严格来说,它处理的不是错误,而是异常,并且是一种在我们意料之外的程 ...