寫在前面
前兩天,推了一篇《簡潔 | 優雅地整理 BLAST 比對結果》。其中我大體介紹了四種 BLAST 常用格式:
- Pairwise
- ASN
- XML
- Table
同時也推薦 TBtools 用戶做 BLAST 的時候,使用 XML 格式輸出。這樣可以使用 TBtools 自開發的數據 BLAST 結果可視化功能。但文中也有提及,如果我們只是進行一兩個序列的 BLAST ,同時關注比對細節,那么最好是用 Pairwise 格式輸出 。
于是這就存在矛盾。一方面建議 TBtools 用戶用 XML 輸出,另一方面我們不時也想要 Pairwise 格式輸出。咋辦?用了用,我還是覺得不爽。換句話說,魚與熊掌,成年人不是全部都要嗎?
盡管我不清楚到底有沒有 BLAST XML 格式轉換為 Pairwise 格式的軟件 / 腳本。只是。。。這似乎也沒啥關系,管他有沒有,只要我們想要,那么寫出來就是有。
BLAST XML to Pairwise
是的,BLAST 格式轉換功能,又更新了。我相信這樣會變得更方便。
從此以后,大家可以非常放心地直接 BLAST 只輸出 XML 格式,隨后,TBtools 可以轉換格式為常用的各種。
當然,不僅如此,我還非常 Nice 地在“BLAST Several Sequences against a Big File”功能中,又增加了一個摁鈕....
換句話說,以后只要在 TBtools 里面,直接 BLAST (格式都不用修改,XML會自動轉換為Pairwise),完事了點擊
Text View
即可彈出比對結果。比如于是可以得到
說實話,感覺還是很爽的...因為也可以同時
Visualize
看看寫在后面
多少花了兩個多小時,解析 XML 并確保格式化為 Pairwise 格式,不是想象中的轉轉格式,其中還涉及到坐標,Frame等的計算。多少還是那句話,有些事情,或許只有做了的人才知道其中有坑,不小心想起了幾個算法實現都遇到坑,多少折騰了點時間才搞完:
- 雙序列比對
- KaKs的NG86法實現
- Glock的重寫
...
Emmm... 事實上,今天提到的這個功能 XML to Pairwise,盡管他只是做了很簡單的事情。但我對他很有信心,因為這是一個困擾了我很多的問題,甚至可以說這是應該是 TBtools 用戶的需求痛點(如果你也經常用 TBtools 做 本地BLAST 的話)。寫完了,我用了一個下午,覺得很爽。。。
而Text View
這個自然也不用說。因為他讓一些事情會變得更方便。用著用著,我似乎想起了什么。回過頭來,重新審視下目前 BLAST 的界面。
其中標注的四點屬于后期慢慢加上的。
- 點擊
Temp
自動創建一個中間文件,因為很多時候要用戶設定一個輸出文件,顯得麻煩,至少我自己用著不舒服 - 如果用戶自己定義一個輸出文件,也沒用
Temp
自動創建中間文件,那么在Start
的時候自動檢測會被發現,并同時自動創建一個中間文件。換句話說,這一調整,為絕大多數用戶減少了一步操作。說實話,就這個改進,可能減少了至少80%以上用戶的BLAST報錯。因為很多人就是沒習慣設置輸出文件... -
Visualize
提供了快捷可視化接口,不需要用戶復制輸出文件路徑,跳轉新功能去可視化。至少,我自己不想。 -
Text View
,今天增加的功能,不贅述。
可以看出,我最得意的是第 2 點。他并沒有解決用戶使用問題,而是解決了用戶使用問題的發生。我恍然想起小時候寫 TBtools 的想法。
一個好的軟件,不需要 Manual。
然而...似乎我自己也忘了這個,更或者,這個確實不容易。