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

2021-11-28  本文已影响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数据。

上一篇 下一篇

猜你喜欢

热点阅读