选择压力(dn/ds)计算

作者: Cady_duan | 来源:发表于2019-08-20 19:58 被阅读0次

    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中存在。

    相关文章

      网友评论

        本文标题:选择压力(dn/ds)计算

        本文链接:https://www.haomeiwen.com/subject/tpvfjctx.html