我在2018年,写过一篇《如何对基因组序列进行注释》,简书上有4万多人阅读,CSDN上有8万多人阅读,说明确实有不少人有相关的需求。我自己也琢磨了一段时间,刚好过年回家,简单的梳理一下。
最初的时候,我的思路就是EvidenceModeler(后面简称EVM)的思路,训练不同从头预测软件,例如AUGUSTUS,组装RNA-seq数据,比对同源蛋白,最后交给EVM整合。这个思路挺好的,唯一的问题就是要要自己的动手的地方比较多,那个时候我自己写了一套流程做了串联,但是代码质量很差,所以我在找寻其他工具。
我找到一些替代工具,比如说MAKER, BRAKER, Mikado。这些工具各有不同,MAKER可以整合不同来源的证据, BRAKER会先利用已有同源蛋白或者RNA-seq训练AUGUSTUS模型然后预测结果,Mikado则是直接使用转录组作为唯一证据,最后我选择了MAKER。因为BRAKER,是一个perl串联的脚本,没有完善重跑工具,也就是失败了,就可能得从头开始。mikado只用转录本,那么就可能有一些基因会因为表达量低别遗漏,或者结构不完整。
使用MAKER也有问题,就是官方提供SNAP的训练流程,但是AUGUSTUS的模型训练方法则没有,这很让我头疼。一开始,我想的是找现有的解决方案,发现Transdecoder有一个工具,似乎可以直接把预测的ORF结果导出为AUGUSTUS的输入,但是AUGUSTUS的教程说并不需要那么多,大概1000左右就饱和了。由于我水平有限,一下子卡壳了,不得不去找其他的方案。于是我就想着能不能用BRAKER的输出的模型作为AUGUSTUS的输