美文网首页
利用ParaAT快速进行kaks批量运算

利用ParaAT快速进行kaks批量运算

作者: 惊鸿影 | 来源:发表于2021-11-28 11:08 被阅读0次

    ParaAT是中科院基因组所的张章教授课题组开发的工具,它整合了计算ka/ks所需的一整套分析,包括:

    1. 蛋白序列比对(可选 clustalw2 | t_coffee | mafft | muscle)
    2. 根据蛋白比对结果回译成codon对应的核酸比对结果(Back-translated nucleotide alignments guided by amino acid alignments are more reliable and accurate than direct nucleotide alignments)
    3. 计算kaks值(KaKs_Calculator实现)
      常用的kaks计算软件如paml和kakscalculator需要准备的文件和指令都比较复杂,上手困难且容易出现问题,使用ParaAT能自动批量准备所需要的计算文件,十分便捷。

    1.下载和安装

    ParaAT2.0下载

    ParaAT下载地址为:https://ngdc.cncb.ac.cn/tools/paraat
    “ParaAT.pl”是运行的脚本,下载解压后就可以直接使用。可以把解压后的路径加入环境变量,或者用脚本所在的绝对路径来运行。

    依赖工具下载
    1. 蛋白比对工具:如clustalw2、mafft、muscle等
    2. Kaks_Calculator(https://ngdc.cncb.ac.cn/tools/kaks

    2. 输入文件准备

    1.同源基因列表,格式如下
    image.png

    每一列列代表不同的样品,每一行表示为同源基因。

    2.fasta格式的氨基酸序列文件和核苷酸序列文件,(两个文件中对应的序列以及同源基因列表中的对应基因ID要完全相同)
    3.多线程运行文件

    该脚本运行需要一个单独文件来设置运行的线程数,默认文件名为proc,直接新建一个proc文件在里面输入一个数字来指定使用的线程数。
    这三种文件的样本在安装包中有,分别是:test.homologs, test.pep, test.cds, proc,可以分别打开参考一下。

    3.运行ParaAT

    准备好文件之后运行非常简单,常用命令如下

    ParaAT.pl -h test.homologs -n test.cds -a test.pep -p proc -m muscle -f axt -g -k -o result_dir #proc文件必须与输出位置在同一个目录下,不然会报错
    

    之后就可以在result_dir里面提取kaks结果了

    参数:

    -h, 指定同源基因列表文件
    -n, 指定核酸序列文件
    -a, 指定蛋白序列文件
    -p, 指定多线程文件
    -m, 指定比对工具
    -g, 去除比对有gap的密码子
    -k, 用KaKs_Calculator 计算kaks值
    -o, 输出结果的目录
    -f, 输出比对文件的格式

    注:
    如果需要用PAML,Hyphy等工具分析kaks时,ParaAT也可以生成这些工具所需的输入格式(-f 参数)
    如果是细菌的序列,需要设置成细菌对应的Genetic Code used (-c 11)。其他物种同理,默认的是The Standard Code (-c 1)

    运行之后发现使用ParaAT计算kaks速度非常慢,查阅资料发现Kaks_calculator 默认会将所有的就算方法得到的结果取平均值,大大减低了计算速度,所以先使用ParaAT获得Kaks_calculator需要的文件再选定方法进行计算

    for i in  `cat ./list/list00`
    do 
         ParaAT.pl -h ./blastp/${i}.select.id -n ./cds/${i}_new.cds -a ./pep/${i}_new.pep -p proc -m muscle -f axt -g  -o ./axt/${i}
    done
     #proc文件必须与输出位置在同一个目录下,不然会报错
    
    for a in `cat list/list00`
    do 
        mkdir ./kaks/${a}
        for i in `ls  ./axt/${a}`
        do
            KaKs_Calculator -i ./axt/${a}/${i} -o ./kaks/${a}/${i}.kaks -m YN
        done
    done
    

    这样就能获得需要的kaks数据。

    相关文章

      网友评论

          本文标题:利用ParaAT快速进行kaks批量运算

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