Codeml: 计算dN/dS
0. Note
对于
两个物种来源
的两条同源基因
的CDS
序列,我们分别标记为CDS-1
和CDS-2
。对于这两条CDS
,仅有互相之间的dN/dS
,也就是dN/dS between these two CDS
。在计算之前,要把两条CDS
序列进行对齐,然后再计算,因此CDS-1
作为参照求得的CDS-2
的dN/dS
与CDS-2
作为参照求得的CDS-1
的dN/dS
完全相同。根本原因是,非同义突变
在无论哪条CDS
做参照的情况下都是非同义突变
,而同义突变
在无论哪条CDS
做参照的情况下也都是同义突变
。
0. Paper
https://academic.oup.com/mbe/article/40/4/msad041/7140562?login=true
0. HitHub
1. 官网
2. 官方文档
Manual:
http://abacus.gene.ucl.ac.uk/software/pamlDOC.pdf
https://blog.csdn.net/winglyx/article/details/6731787
Q&A:
3. 教程
https://zhuanlan.zhihu.com/p/34463038
https://zhuanlan.zhihu.com/p/105159767
https://www.jianshu.com/p/372cf1f02d80
https://www.plob.org/article/21094.html
https://www.plob.org/article/6943.html
https://www.jianshu.com/p/1c4e40d075c6
4. 比较两个物种的一组同源基因
需要的文件:
sequence.cds
: 两个物种各自一个CDS
序列
sequence.protein
: 两个物种各自一个protein
序列
tree.txt
: 两个物种的进化树
文件;如果是两个物种,则只需(Species_name_1, Species_name_2)
即可
control.cnt
:codeml
需要的控制文件
需要的软件:
clustalw2 (clustal 包)
: 用来比对氨基酸序列
pal2nal.pl (pal2nal 包)
: 用来比对核酸序列,并将序列比对结果导出为PAML
需要的格式
codeml (paml 包)
: 用来进行dN/dS
的计算
流程:
- 对比此组同源基因的
protein
序列:clustalw2 sequence.protein
此过程产生两个文件:sequence.aln
+sequence.dnd
其中sequence.aln
需要在下一步进行使用
- 对比此组同源基因的
cds
序列并输出为PAML
要求的格式:
pal2nal.pl sequence.aln sequence.cds -output paml -nogap > Two.codon
- 进行比对:
codeml control.cnt
要求:Two.codon
,tree.txt
和control.cnt
三个文件需要放在同一目录的同一层
control.cnt :
codeml
使用的控制文件
seqfile = Two.codon
: 作为输入的比对后的序列文件
treefile = tree.txt
: 进化树文件
outfile = output
: 输出内容存放的文件;输出内容会放入和此控制文件同一层目录
noisy = 0 * 0,1,2,3,9: how much rubbish on the screen
verbose = 0 * 1: detailed output, 0: concise output
runmode = -2 * 0: user tree; 1: semi-automatic; 2: automatic
* 3: StepwiseAddition; (4,5):PerturbationNNI; -2: pairwise
: 重点参数
cleandata = 1 * "I added on 07/07/2004" Mikita Suyama
seqtype = 1 * 1:codons; 2:AAs; 3:codons-->AAs
CodonFreq = 2 * 0:1/61 each, 1:F1X4, 2:F3X4, 3:codon table
model = 0 * models for codons: * 0:one, 1:b, 2:2 or more dN/dS ratios for branches
: 重点参数
NSsites = 0 * dN/dS among sites. 0:no variation, 1:neutral, 2:positive
: 重点参数
icode = 0 * 0:standard genetic code; 1:mammalian mt; 2-10:see below
Mgene = 0 * 0:rates, 1:separate; 2:pi, 3:kappa, 4:all
fix_kappa = 0 * 1: kappa fixed, 0: kappa to be estimated
kappa = 2 * initial or fixed kappa
fix_omega = 0 * 1: omega or omega_1 fixed, 0: estimate
omega = 1 * initial or fixed omega, for codons or codon-transltd AAs
fix_alpha = 1 * 0: estimate gamma shape parameter; 1: fix it at alpha
alpha = .0 * initial or fixed alpha, 0:infinity (constant rate)
Malpha = 0 * different alphas for genes
ncatG = 4 * # of categories in the dG or AdG models of rates
clock = 0 * 0: no clock, unrooted tree, 1: clock, rooted tree
getSE = 0 * 0: don't want them, 1: want S.E.s of estimates
RateAncestor = 0 * (1/0): rates (alpha>0) or ancestral states (alpha=0)
method = 0 * 0: simultaneous; 1: one branch at a time
重点参数讲解:
runmode=
: 决定比对(所用树)的模式0: 使用用户输入的
tree
文件
-2: 成对比对,当仅有两个物种时使用此模式;本示例适合此参数
model=
: 决定dN/dS
计算的模式0: 计算所有物种互相比对后的
均值
2: 对每个分支都计算一个值;此时需要指出 目标分支 和 背景分支
NSsites=
: 一般选0
参数选择:
对应
M0
模式,即所有位点和所有谱系的ω
比为1
runmode= -2
model= 0
NSsites= 0
结果文件解读:
其中的
ω
表示所有分支共同 (平均) 的dN/dS
https://blog.sciencenet.cn/home.php?mod=space&uid=3434047&do=blog&id=1389140
5. 计算两个物种的多组同源基因
6. 计算各个分支独特
omega 0/ ω0
表示背景dN/dS
7. Model 选择
https://www.jianshu.com/p/1c4e40d075c6
8. 计算多个物种的多组同源基因
tree.txt
文件的构建和相应codeml.ctl
文件的书写https://github.com/abacus-gene/paml-tutorial/tree/main/positive-selection/02_extra_analyses
https://academic.oup.com/mbe/article/40/4/msad041/7140562?login=true
共有 0 条评论