從2005年起,OBITools就開始了它的旅程,目標直指嶄露頭角的DNA元條形碼技術(shù)娜亿。為了讓工具模塊化且易于擴展,OBITools的設(shè)計靈感來源于Unix命令行蚌堵,就像是一系列的小工具箱买决。在開發(fā)過程中,主要使用的是當時非常流行的Python 2語言吼畏,對于那些特別吃性能的活兒督赤,就交給C語言去干,并與Python 2代碼協(xié)同工作泻蚊。盡管Python 2在速度上不是最頂尖的選手躲舌,但在那個454測序儀和早期Solexa設(shè)備數(shù)據(jù)量還不算龐大的年代,這樣的組合足以在合理的時間內(nèi)搞定數(shù)據(jù)分析性雄。
OBITools的第一個公開版本是OBITools2没卸,它像是一個經(jīng)過精心打扮的小明星,有了詳細的文檔秒旋。在此之前约计,它可是只有少數(shù)科學(xué)家才能接觸到的秘密武器。然而滩褥,隨著Python 2逐漸退出歷史舞臺病蛉,再加上Illumina測序儀產(chǎn)生的數(shù)據(jù)量越來越大,OBITools2也力不從心了,于是铺然,由Céline Mercier操刀的OBITools3閃亮登場俗孝!它不僅升級到了Python 3,還用C語言加強了底層代碼魄健,提高了效率赋铝,并引入了數(shù)據(jù)庫結(jié)構(gòu)來追蹤每一次的數(shù)據(jù)操作。
盡管OBITools3帶來了分析的可追溯性和更快的速度沽瘦,符合開放科學(xué)的精神革骨,但它在通用性上還是略遜一籌。于是析恋,OBITools4帶著初心歸來良哲,再次擁抱文本文件處理的方式,就像經(jīng)典的Unix命令一樣靈活高效助隧,但速度上絕不輸給OBITools3筑凫,而且還充分利用了現(xiàn)代筆記本電腦的多核處理器。為了實現(xiàn)這一目標并村,OBITools4不再依賴解釋型語言巍实,而是全面轉(zhuǎn)向了GO語言(當然,某些用C語言寫得很好的代碼依然保留)哩牍。另外棚潦,它還采用了JSON格式來標注序列頭部信息,這讓用任何編程語言編寫解析器變得更加簡單膝昆,大大增強了OBITools與其他軟件之間的互動性丸边。
OBITools 1.01 22 documentation
OBITools3 · GitLab
https://github.com/metabarcoding/obitools4