G BLASTN 1 0正式發布

2021-06-18 01:17:49 字數 914 閱讀 8751

【g-blastn 1.0正式發布】g-blastn使用gpu來加速ncbi-blast裡的blastn模組,單塊gtx780比四核cpu平均快6倍。

基於ncbi的blast源**進行修改,150多萬行的開源**,剛開始做的時候,並沒有引起太多的注意,只是覺得工程龐大,越到後面,越覺得,這個東西太龐大了,裡面參雜了c和c++的不同方式的設計模式,找乙個功能實現,可能需要翻閱20-30個檔案,整個工程太過龐大,blastn乙個模組,子工程就有179個,每乙個工程之間也有呼叫;

不過也很佩服blsat的開發者們,這個工程已經維護了30多年了,有一種說法是比windows的年齡都大,這麼龐大的開源專案,裡面的設計模式還是相當的清晰,只是排程過程有些冗餘罷了。

之前太多的時間浪費在了繁雜的事情上,從去年開始回歸,專注於科研,把blatn作為了第乙個目標,本應該在2023年做的乙個專案,到了2023年,才算真正拿起來做了,一年的在實驗室不分晝夜,基本上杜絕一切的聚會活動,整個過程的艱辛只有自己清楚,再說,要想成功,又哪有那麼容易啦?

blastn的整個**過程分析花了無數個草圖,無數個分析文件,有幸拿到的有關blast的設計文件也只是從概念上加上文字上的分析,沒有整個框架的設計圖,沒有每乙個模組的排程圖,都是一行**一行**跟蹤出來的。這個過程對於學習別人的**,有了更深層次的了解,對於發文章而言,只需要修改幾個核心函式,不用管太多的框架問題,但是真正要做到開源的專案做成成品的時候,就盡量遵循已有的規則,按照以後的框架來修改**。這樣對後來修改的朋友,也是一種交代。

一年多的**修改,用svn工具統計了一下,差不多前前後後修改了5萬多行**,也算是乙個學習的過程吧。

blast的框架適合在windows上開發,然後在linux上做測試,這次過程中,不只是修改了核心的比對部分的**,還調整了框架,調整了io部分,調整了冗餘部分,對於乙個軟的優化而言,永遠都是乙個迭代的過程,熱點不停的轉變,最終達到理想的最優態。

XCodeFactory1 0 正式發布!!!

1.系統主要功能 1 在向資料庫插入乙個表時,可以完成表的建立,並自動生成對應資料庫表的屬性類和訪問類及相應的介面。2 儲存專案後,下次開啟專案則可以恢復記憶體的狀態 3 通重載入資料庫中的表,可以自動生成與此表對應的屬性類和資料庫訪問類。2.xml配置檔案 解析類自動生成。3.自動生成資源檔案 通...

OPhone SDK 1 0正式發布

ophone sdn 正式發布了ophone sdk 1.0,從而拉開了中國移動ophone戰略的大幕。目前在該 上對ophone是這樣介紹的 ophone是基於linux面向移動網際網路的終端基礎軟體及系統解決方案。ophone sdk是專為ophone平台設計的軟體開發套件,它包括ophone ...

Ng Matero V10 正式發布!

angular v10 在六月下旬就悄無聲息的發布了,雖然 v9 的發布延期了兩個月,但是 v10 並沒有受影響,仍然如期而至。相比 v9 的重量級發布,v10 並沒有顛覆性的變化,主要還是 bug 修復及細節優化。但是通過ng new生成的專案目錄稍微有些變化,不過不用擔心,使用ng update...