写在前面
早前我在 TBtools 中基于NG86逻辑实现 Ka/Ks 计算时走了不少弯路,其中种种,或许只有 Coding 的人才知道。当然,其中还另外牵扯到如何快速进行序列比对,TBtools 也从零实现了“最准确”的 Needle-man Wunsch (与 emboss needle 相当)。原生代码实现,使得 TBtools 可以以“几乎最快”的速度完成数十万个基因对的 Ka/Ks 计算。
昨日,在用户社群有人讨论到相关问题,并提出在序列数较少的情况下,TBtools 的多线程计算会报错(应该是线程数大于6,而提供的序列低于6个,回头会修复)。
发现 KaKs_calculator 3.0
早晨起来,翻了翻近期生信软件相关文稿,惊喜地发现了,章张老师又更新了 KaKs_calculator。
文稿三大亮点
- 第三版,简单来说,前面已经发表过两个版本;说明 KaKs_calculator是一个款少有的“活着”的软件,有长期的维护、更新和加强;
- 支持 non-coding 序列的选择压计算,事实上这项功能很需要,前面也看到一些基本方法提出,但没有统一的实用的软件;章张老师在序列选择压计算方面,不仅常常提出新的模型、算法(具体见 KaKs_calculator 三篇文稿),也同时提供实用的软件。
-
一人作者,Emmm,总的来说,类似的论文工作很少,我知道的可能就 多序列比对软件 Muscle ?可以说,这是个人强大实力,尤其是专门划分与一线科研的时间精力投入的体现。其他参与部分工作和支持开发的,可见致谢部分
文稿阅读笔记
简单来说,“物竞天择,适者生存”,选择压计算可以辅助我们筛选出影响物种形成或性状塑造的关键位点。已有绝大多数策略/软件集中在“编码基因”的选择压计算。这类计算相对容易理解,大体逻辑简单,如 TBtools 中:
- 序列密码子对齐
- 同义突变位点和非同义突变位点数目计算
- Ka/Ks(dn/ds)计算
- 事实上 3. 中需要考虑多重突变矫正,补充如 JC69
而在“非编码基因”的选择压计算上,则会相对麻烦。麻烦之处明显,我认为有两点: - 序列位点如何对齐?
- Ka/Ks 无法计算;不存在。
其中第一点的处理办法是:不考虑密码子,因为不存在密码子,所以直接走核酸比对。此处合理,毕竟是非编码序列,本身就不是编码的;
第二点的处理办法:
- 用 Kn 替代 Ka,其中 Kn 的计算换种策略:直接计算碱基颠换和碱基转换的位点
- Ks 使用邻近编码基因的 Ks 值;当然也可以直接指定(或许基于物种 Ks 分布来选定最高峰值....)
至于多重替换矫正,对应模型见原文
以及 KaKs_calculator 3.0 文稿界面
基于此,文稿中也介绍了少部分用软件分析的结果
其中提到,多数邻近的编码基因受到纯化选择,非编码基因各有不同,如 HOTAIR 受到正选择;具体与该非编码基因功能有明显相关。
还有更多
文稿重点介绍的是 非编码选择压力 计算功能,但也同时提到,新版本的 KaKs_calculator 中增加/优化了不少选择压力计算模型,这些模型更为敏感,可以在常见模型失效的情况下,仍然准确计算并输出结果,值得一试。
写在最后
KaKs_calculator 3.0 应是解决了我们一大问题,毕竟我们主要研究对象之一即 非编码RNA。建议感兴趣的朋友赶紧用起来!
网友评论