Multi-omics Hammer軟件之極簡本地Blast

序列比對是許多組學分析人員日常生活中經(jīng)常需要面對。但是這一簡單的任務卻因為blast使用的不便捷而令許多人苦惱。明明是一件非常簡單的事情,卻需要看教程,寫腳本去處理。雖然,現(xiàn)如今已經(jīng)有不少軟件能夠輔助人們使用調用Blast程序,但是操作起來總是不夠簡便,亦或者在結果解讀方便過于復雜,不夠直白。因此,本軟件基于這一痛點,希望能夠開發(fā)一個極簡本地Blast功能,方便用戶在不需要深度解讀序列比對結果的前提下,快讀整理Blast結果,并作為初步參考幫助濕實驗人員快速切入接下來的實驗安排中。
一?數(shù)據(jù)準備與本地Blast安裝
在開始本軟件的使用教程前,需要按照Blast程序要求的格式將查詢文件和數(shù)據(jù)庫文件準備好。而本地Blast的安裝可以直接從https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/下載,并安裝到指定目錄?;蛘?,讀者可以將安裝路徑添加到系統(tǒng)路徑,這樣本軟件在調用該程序的時候就無需指定makeblastdb和blast這兩個命令所在路徑?;蛟S會有讀者想到,為什么不重寫一個Blast方法而需要調用其他軟件呢。的確,重寫是避免一個軟件重復操作的方法,但是這需要基于這一重寫至少還能夠等于(重復造輪子)或優(yōu)于現(xiàn)如今存在的軟件。但是,現(xiàn)如今NCBI上的Blast程序已經(jīng)非常好了,是經(jīng)歷了各種bug后的最優(yōu)版本了,所以無重寫意義。
二?軟件調用
介紹完上述功能需要準備的事項后,下面便介紹如何通過軟件完成相關分析。
2.1?我們需要先打開‘Blast->blast_visual’選項,如圖1所示。

那么,我們就可以看見我們的blast_visual對話框了(圖2)。這一對話框運算部分提供了三個選項,分別是‘is nucl’、‘is short’和‘is save’選項。如果復選框勾選了‘is nucl’選項,表明查詢序列和查詢的數(shù)據(jù)庫均是核酸序列。如果復選框勾選了‘is short’選項,表明查詢序列是短序列。這一功能的實現(xiàn)是為了幫助用戶能夠在數(shù)據(jù)庫中檢索短序列(如引物或者小片段RNA等)。注意:這兩個對話框如果直接將文件拖入,則會直接讀取文件的內容,并展示前100行的數(shù)據(jù)。而結果文件對話框則只會顯示文件的路徑。因為,已經(jīng)提供了結果預覽部分。最后,最重要的選項就是‘start’選項了,點擊后即可構建數(shù)據(jù)庫并進行比對。除了上述選項外,本軟件的其他界面部分也將以行為主進行逐一介紹。
Blast method:Blast結果展現(xiàn)的方法(目前僅有blast_result_visual這一個選項,后續(xù)考慮添加相關內容)。
Query files:需要查詢的序列。
Background file:用于查詢的數(shù)據(jù)庫序列。
Xml file:以xml格式輸出的結果文件。
Xml file preview: 對xml格式輸出的結果文件進行預覽。
output file:整理Blast結果后輸出的文件位置。
Visualfile preview: 整理Blast結果后輸出的文件內容的預覽。
outputitem Type: 需要整理Blast結果的條目。其中條目包括:0(Iteration_query-def),1(Hit_num),2(Hit_id),3(Hit_def),4(Hsp_bit-score),5(Hsp_evalue),6(Hsp_query-from),7(Hsp_query-to),8(Hsp_hit-from),9(Hsp_hit-to),10(Hsp_identity),11(Hsp_positive),12(Hsp_gaps),13(Hsp_qseq),14(Hsp_midline),15(Hsp_hseq)。這些條目對應xml結果文件中數(shù)據(jù)整理格式。
makeblastdb comand path: 調用指定路徑上makeblastdb程序對查詢數(shù)據(jù)庫進行格式化處理(如果已將命令添加到系統(tǒng)路徑,則該文本框為空)。
Formatting file prefiexs: 數(shù)據(jù)格式化后的輸出文件的后綴,比如file_ prefiexs .ndb、file_ prefiexs .nhr、file_ prefiexs .nin等格式文件。
blast comand path: 調用指定路徑上blast程序進行blast比對(如果已將命令添加到系統(tǒng)路徑,則該文本框為空)。
Output sequence number: 單個序列所能輸出的滿足條件的最多序列(本文為5)。
E value: 滿足于查詢序列比較后的比值小于該e值(本文為0.05)才會輸出相關結果。

介紹完blast_visual對話框中的布局含義之后,用戶可以將查詢序列文件Query file拖入到相應的文本框中(拖入后,軟件會自動讀取其中內容,并展現(xiàn)在該文本框中),如下圖3所示。

需要指出的是,查詢序列的文件格式也是固定的。如果讀者的查詢文件的格式有所不同,可以按照這篇推文《Multi-omics Hammer軟件之fasta格式整理和保守結構域查找》對格式進行再整理。下文為查詢文件的格式:
接下來,讀者需要將數(shù)據(jù)庫文件拖入到指定的文本框中(拖入后,軟件會自動讀取其中內容,并展現(xiàn)在該文本框中)。

查詢數(shù)據(jù)庫的文件格式為(篇幅有限,這里僅僅展示部分):
隨后,點擊‘start’選項后,本軟件會首先調用makeblastdb程序對查詢所用的數(shù)據(jù)庫進行格式化以便blast程序調用,并將結果冠以指定的后綴,如下圖5所示。

格式化數(shù)據(jù)之后,調用blast(n/p)程序會輸出的結果共包含兩個文件,其中一個是blast的結果文件xml file,如下圖6所示。

輸出結果的另一個文件即是對blast結果進行整理后的文件(通過本軟件所帶的小腳本整理),如下圖7所示。

整理后的文件內容如下所示:
整理后的文件內容的前兩行即為本軟件所調用的系統(tǒng)命令。如上文所示,本軟件調用了makeblastdb和blast兩個命令。整理后的文件的后續(xù)內容即為對blast結果整理后的數(shù)據(jù)。
三 慣例小結
雖然,現(xiàn)在也有一些軟件提供了類似的功能,但是本軟件所提供的這一功能無疑是最簡便的,更無過多復雜的內容,方便各位用戶快速上手。
本公眾號開發(fā)的相關軟件,Multi-omics Hammer軟件和Multi-omics Visual軟件歡迎大家使用。文末是本公眾號在其他平臺的賬戶,也歡迎大家關注并多提意見。
簡書:WJ的生信小院
公眾號:生信小院
博客園:生信小院
最后,也歡迎各位大佬能夠在本平臺上:1傳播和講解自己發(fā)表的論文;2:發(fā)表對某一科研領域的看法;3:想要達成的合作或者相應的招聘信息;4:展示自己以尋找博后工作或者博士就讀的機會;5:博導提供博后工作或者博士攻讀機會,都可以后臺給筆者留言。希望本平臺在進行生信知識分享的同時,能夠成為生信分析者的交流平臺,能夠實現(xiàn)相應的利益互補和雙贏(不一定能實現(xiàn),但是夢想總得是有的吧)。
另外,怎么說呢,投幣也可,不強求,但奢求


