从2005年起,OBITools就开始了它的旅程,目标直指崭露头角的DNA元条形码技术。为了让工具模块化且易于扩展,OBITools的设计灵感来源于Unix命令行,就像是一系列的小工具箱。在开发过程中,主要使用的是当时非常流行的Python 2语言,对于那些特别吃性能的活儿,就交给C语言去干,并与Python 2代码协同工作。尽管Python 2在速度上不是最顶尖的选手,但在那个454测序仪和早期Solexa设备数据量还不算庞大的年代,这样的组合足以在合理的时间内搞定数据分析。
OBITools的第一个公开版本是OBITools2,它像是一个经过精心打扮的小明星,有了详细的文档。在此之前,它可是只有少数科学家才能接触到的秘密武器。然而,随着Python 2逐渐退出历史舞台,再加上Illumina测序仪产生的数据量越来越大,OBITools2也力不从心了,于是,由Céline Mercier操刀的OBITools3闪亮登场!它不仅升级到了Python 3,还用C语言加强了底层代码,提高了效率,并引入了数据库结构来追踪每一次的数据操作。
尽管OBITools3带来了分析的可追溯性和更快的速度,符合开放科学的精神,但它在通用性上还是略逊一筹。于是,OBITools4带着初心归来,再次拥抱文本文件处理的方式,就像经典的Unix命令一样灵活高效,但速度上绝不输给OBITools3,而且还充分利用了现代笔记本电脑的多核处理器。为了实现这一目标,OBITools4不再依赖解释型语言,而是全面转向了GO语言(当然,某些用C语言写得很好的代码依然保留)。另外,它还采用了JSON格式来标注序列头部信息,这让用任何编程语言编写解析器变得更加简单,大大增强了OBITools与其他软件之间的互动性。
OBITools 1.01 22 documentation
OBITools3 · GitLab
https://github.com/metabarcoding/obitools4
网友评论