生信大杂烩,味道好基因组

选择压力(dn/ds)计算

2019-08-20  本文已影响0人  Cady_duan

dn/ds又叫ka/ks,具体的概念,意义百度上都有。现主要介绍最近用到的三种计算途径,分别是maga7,datamonkey,paml。

做选择压力分析的序列文件,需要先clustal和剔除终止密码子,这步可以在MAGA里完成。

1.MAGA7

MAGA7,是通过分别求取dn,ds的值,然后得到dn/ds。

将fasta格式的序列文件导入MAGA, 然后选择Distance——computer overall mean distance进入图一页面:仔细看下面的选项卡,在substitutions type 中选择 Syn-Nonsynonymous;Genetic code table 按照自己的序列选择;modle/method 选择 Nei-Gojobori method (No. of Differences);Substitutions to include 选择要计算的dn或者ds。下一步,就能得到dn或者ds,两者相比得到结果。

如果在distance——computer pairwise#####,然后按照后面步骤操作,结果会得到一个两两比较的矩阵(三角),我还不知道这个要怎么用。

如果只计算dn/ds,第一种应该够用了。

图一

2.Datamonkey

官网:https://www.datamonkey.org/

三种方式,按照你的序列条件选择其中一种。以FEL为例:

图二

在method and tool 里选择适合的方式,如FEL,选择文件导入sqe序列,选择genetic code。 RUN~ 选择select all —— save branch selection 运行

图三 图四

得到结果后,前面两行表示的是positive和negative的位点数,以及p值。向下滑,最后的表格的左下角是dn/ds的结果。更多的结果都在这个结果页面和export的annalyze log里。

图五 图六

3.PAML-codeml

杨子恒教授开发并免费提供的一个软件。paml现在已经开发到4.9h版了,这是一个命令行软件,现在已经有图形操作界面-pamlX,但是因为命令行操作起来很简单,而且学会也不难,就没有学习pamlX。

paml官网:http://abacus.gene.ucl.ac.uk/software/paml.html#PAMLx

参照官网信息可以完成下载,安装和运行示例文件。示例文件在下载的paml4.9h的example文件夹里。这里需要注意,可以将所有的’.exe‘文件和codeml.ctl (控制文件)复制到paml 的bin的文件夹里。方便运行,减少出错。

按照要求准备序列文件和树文件(树文件可以直接用maga做),有提示序列文件需要 .phy或者.paml格式,但是实践证明用.fasta格式也可以(注意文件名中不能有空格)。

windows系统打开cmd:win+R,输入cmd,回车

输入paml4.9h所在的盘,如:d: ,回车

输入cd, cd的命令查询文件,

输入bin文件夹所在位置,回车,>后 需要输入运行的程序codemL

回车就是运行的结果。

windows不区别大小写,都可以。

下面是codeml.ctl文件的设置

seqfile =aa.fas * sequence data filename

 treefile =aa.nwk      * tree structure file name

 outfile = aa.txt          * main result file name

        noisy = 3  * 0,1,2,3,9: how much rubbish on the screen

      verbose = 0  * 0: concise; 1: detailed, 2: too much

      runmode = 0  * 0: user tree;  1: semi-automatic;  2: automatic

                  * 3: StepwiseAddition; (4,5):PerturbationNNI; -2: pairwise

      seqtype = 1  * 1:codons; 2:AAs; 3:codons-->AAs

    CodonFreq = 2  * 0:1/61 each, 1:F1X4, 2:F3X4, 3:codon table

*        ndata = 10

        clock = 0  * 0:no clock, 1:clock; 2:local clock; 3:CombinedAnalysis

      aaDist = 0  * 0:equal, +:geometric; -:linear, 1-6:G1974,Miyata,c,p,v,a

  aaRatefile = dat/jones.dat  * only used for aa seqs with model=empirical(_F)

                  * dayhoff.dat, jones.dat, wag.dat, mtmam.dat, or your own

        model = 0  【这个是branch/branch-site/site的选项,site选择0,具体区别可另外检索】

                  * models for codons:

                      * 0:one, 1:b, 2:2 or more dN/dS ratios for branches

                  * models for AAs or codon-translated AAs:

                      * 0:poisson, 1:proportional, 2:Empirical, 3:Empirical+F

                      * 6:FromCodon, 7:AAClasses, 8:REVaa_0, 9:REVaa(nr=189)

      NSsites = 0  1  2 3 7 8  【下面附上的结果解读链接里有区别,其中包含零假设和替代假设】* 0:one w;1:neutral;2:selection; 3:discrete;4:freqs;

                  * 5:gamma;6:2gamma;7:beta;8:beta&w;9:betaγ

                  * 10:beta&gamma+1; 11:beta&normal>1; 12:0&2normal>1;

                  * 13:3normal>0

        icode = 1  【根据密码子选择】* 0:universal code; 1:mammalian mt; 2-10:see below

        Mgene = 0

                  * codon: 0:rates, 1:separate; 2:diff pi, 3:diff kapa, 4:all diff

                  * AA: 0:rates, 1:separate

    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 = .4 * initial or fixed omega, for codons or codon-based 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 = 8  * # of categories in dG of NSsites models

        getSE = 0  * 0: don't want them, 1: want S.E.s of estimates

RateAncestor = 1  * (0,1,2): rates (alpha>0) or ancestral states (1 or 2)

  Small_Diff = .5e-6

    cleandata = 1  * remove sites with ambiguity data (1:yes, 0:no)?

*  fix_blength = 0  * 0: ignore, -1: random, 1: initial, 2: fixed, 3: proportional

      method = 0  * Optimization method 0: simultaneous; 1: one branch a time

* Genetic codes: 0:universal, 1:mammalian mt., 2:yeast mt., 3:mold mt.,

* 4: invertebrate mt., 5: ciliate nuclear, 6: echinoderm mt.,

* 7: euplotid mt., 8: alternative yeast nu. 9: ascidian mt.,

* 10: blepharisma nu.

* These codes correspond to transl_table 1 to 11 of GENEBANK.

图七 图八 图九

ps:教程:https://www.jianshu.com/u/214b3ff96d82

B站视频教程:https://www.bilibili.com/video/av10469605 from=search&seid=4867078036525249250

如何解读结果:http://blog.sina.com.cn/s/blog_65ba09d90102x4ua.html

ps:我觉得视频教程里up主说做的是branch,然后取model=0是零假设,与我理解的有出入,我以为model=0是site,NSsite可以决定那个是零假设那个是替代假设。

另外,在对结果解读的过程中,很多文章都提到M1a,M2a,但是NSsite里没有M1a,M2a,只有M1, M2, 不解。

视频UP主是branch test ,另一种计算模型,并非两者有错误。

所有内容不保证正确,有错就改。


建议忽略NEB的输出,选用BEB的输出,BEB只在正向选择的M2/M8中存在。

上一篇下一篇

猜你喜欢

热点阅读