目前GitHub 上的代码已被修正。
-------------------
【有需要计算4dtv值、提取4D位点的,请私信我获取帮助~可提供指导】
将这个错误记录在这里防止更多的人犯错。
前段时间,我因为需要计算4dTv的值,在百度上搜索是排名第一的是这篇文章:
所用脚本: calculate_4DTV_correction.pl
里面使用到一个脚本:calculate_4DTV_correction.pl,估计很多同样要计算4dTv的小伙伴们就下载下来准备用它来计算了。但是评论区有位细心的小伙伴发现了一个错误,让准备拿这个脚本开始工作的我吓出一身冷汗(还好没有直接拿来用)
查看一下它使用的密码子表:
果然这里一会儿是DNA codon,一会儿又变成RNA codon,显然这样计算会漏掉很多信息。
正确的代码
如果你是拿cds来计算4dTv,就使用DNA codon,下面这个版本应该可以应付大多数人的情况了
(将下面的代码替换原代码)
my %codons=(
'CTT'=>'L', 'CTC'=>'L', 'CTA'=>'L', 'CTG'=>'L',
'GTT'=>'V', 'GTC'=>'V', 'GTA'=>'V', 'GTG'=>'V',
'TCT'=>'S', 'TCC'=>'S', 'TCA'=>'S', 'TCG'=>'S',
'CCT'=>'P', 'CCC'=>'P', 'CCA'=>'P', 'CCG'=>'P',
'ACT'=>'T', 'ACC'=>'T', 'ACA'=>'T', 'ACG'=>'T',
'GCT'=>'A', 'GCC'=>'A', 'GCA'=>'A', 'GCG'=>'A',
'CGT'=>'R', 'CGC'=>'R', 'CGA'=>'R', 'CGG'=>'R',
'GGT'=>'G', 'GGC'=>'G', 'GGA'=>'G', 'GGG'=>'G'
);
后来我查了一下这个脚本,找到了它的GitHub页面,没想到也是错误的 (2022-1-20 发现 GitHub 上的脚本已经更新,感谢 JinfengChen):
https://github.com/JinfengChen/Scripts/blob/master/FFgenome/03.evolution/distance_kaks_4dtv/bin/calculate_4DTV_correction.pl。
再看了一下网上其他关于计算4dTv的教程,很多都使用的是这个脚本,可能已经误导了很多人,估计最近发的文章里,可能不少4dTv值都是这样被错误地计算出来的。
最后还要感谢《如何计算kaks值和4dtv值》这篇文章的作者 Davey1220,还有下面的评论纠错老哥zrgbuct