Solved! | 为什么我 Ka/Ks 计算出来的总是 NaN?

写在前面

很久以前,参考NG86计算逻辑提出的文章,我在TBtools中写了Simple Ka/Ks Calculator,旨在理解算法,具体可见 《批量计算dn/ds,粗略筛选正选择?所有人-技能Get !》。近期,不时有人在 TBtools 群提出,TBtools 的 Simple Ka/Ks Calculator 计算出来的有一堆 NaN。Emmm,这是一个比较有趣的事情。有趣之处有二:

  1. TBtools中几乎每一个功能,我都会在从头实现算法之后,拿一些软件的运行结果进行比较。针对 Ka/Ks 的计算,我拿了 DNAsp 和 KaKs_Calculator2 的结果与TBtools的结果进行比较,无出入。
  2. 曾经有人提出 TBtools 的计算存在问题,经过一堆比较,TBtools的结果反而是对的。具体可见推文《Ks值用TBtools计算不出来?讲一个故事》。

但是今天的情况有所不同。一般十来个基因对,那么有两三个NaN可以理解。如果全部都是 NaN,那就要引起重视。如


不是用户使用问题

我要来数据,随后自己使用 TBtools 最新版本进行计算,结果与该用户的结果一致。



说明不是用户使用问题。

不是 TBtools 实现逻辑问题

既然如何,那么就有可能是 TBtools 的算法实现逻辑问题。为此,我直接让 TBtools 输出 AXT 格式的比对结果。随后使用 章张老师 的 KaKs_Calculator 计算,结果如下。



换句话说,至少在 Ka/Ks 的计算上,TBtools 完全没问题。

那么还存在一个可能,是不是 Codon Alignment 出现了问题?于是我拿了一个基因对,使用 Mega 进行 Codon Alignment,随后导出结果。再使用 KaKs_Calculator 进行结算,



结果与前述一致。


序列距离(差异)太大,导致计算出错

回到 TBtools 计算源码,在 Java 的数值计算中,除非是NaN参与运算,才会得到 NaN。那是咋回事?
重新过了一遍,发现问题应该是在 JC69 模型应用上。



当 pS 大于等于 3/4 的时候,计算结果就会得到负值。换成生物学角度,那就是...绝大部分可发生同义突变位点都发生了同义突变,亦即,序列分歧度太大,进化距离很远。
为此.... 我继续对 TBtools 做个改进,当计算出来的 pS>=3/4,补充一个信息,说明原因...那就不会有用户问我了。

写在后面

Emmm,有时候我觉得,之所以总是有用户提出问题,是因为大家能直接接触到我。毕竟为什么同样的问题,似乎没有人会去问其他软件开发的人呢?还是因为我不知道?
或者说,我太贴心了?哈哈哈哈哈哈哈啊哈哈哈啊哈

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335