blast命令解釋


原文鏈接:http://blog.csdn.net/bangemantou/article/details/7726585

Blast,全稱Basic Local Alignment Search Tool,即“基於局部比對算法的搜索工具”,由Altschul等人於1990年發布。Blast能夠實現比較兩端核酸或者蛋白序列之間的同源性的功能,它能夠快速的找到兩段序列之間的同源序列並對比對區域進行打分以確定同源性的高低。

Blast的運行方式是先用目標序列建數據庫(這種數據庫稱為database,里面的每一條序列稱為subject),然后用待查序列(query)在database中搜索,每一條querydatabase中的每一條subject都要進行雙序列比對,從而得出全部比對結果。

Blast是一個繼承的程序包,通過調用不同的比對模塊,blast實現了物種可能的序列比對方式:

blastp:蛋白序列與蛋白庫做比對。

blastx:核酸序列對蛋白庫的比對,先將核酸序列翻譯成蛋白序列(根據相位可以翻譯成6種可能的蛋白序列),然后再與蛋白庫作比對。

blastn:核酸序列對核算庫的比對。

tblastn:蛋白序列對核算庫的比對,將庫中的核酸序列翻譯成蛋白序列,然后進行比對。

tblastx:核酸序列對核算庫在蛋白級別的比對,將庫和待查序列都翻譯成蛋白序列,然后對蛋白序列進行比對。

Blast提供了核酸和蛋白序列之間所有可能的比對方式,同時具有較快的比對速度和較高的比對精度,因此在常規雙序列比對分析中應用最為廣泛,可以毫不誇張的說,blast是做比對基因組學乃至整個生物信息學研究所必須掌握的一種比對工具。

 

使用:

blast的運行分為兩個步驟:第一,建立目標序列的數據庫;第二,做blast比對。

1、運行建庫程序formatdb:

建庫的工程是建立目標序列的索引文件,所以程序是formatdb。程序允許的輸入格式是FASTA或者ASN.1格式,通常我們使用的FASTA格式的序列作為輸入。用於建庫的FAST序列是db.seq, formatdb的基本命令是:

formatdb   –i  db.seq  [-options]

 

常用參數:

-p (T/F):  -p參數的意義是選擇建庫的類型,“T”表示蛋白庫,“F”表示核算庫,缺省值為“T”

-o(T/F):     -o參數的意義是判斷是否分析序列名並建立序列名索引。“T”表示建立序列名索引,“F”表示不建立序列索引。缺省值為“F”。

 

程序輸出:

如果建立的是核算庫,輸出為db.seq.nhrdb.seq.nindb.seq.nsq,三個文件,如果選擇了“-o  T”,還會同時輸出db.seq.nsddb.seq.nsidb.seq.nnidb.seq.nnd四個文件,一共七個。

蛋白庫和核算庫的輸出類似,相應的輸出文件為:db.seq.nhrdb.seq.nindb.seq.nsqdb.seq.nsddb.seq.nsidb.seq.nnidb.seq.nnd七個文件。

除了這個結果,程序還會輸出LOG文件(默認為formatdb.log),里面記錄了運行時間、版本號、序列數量等信息。

 

幾點需要注意的問題:

1)、建庫以后,做blast比對的輸入文件就是建庫所得的文件db.seq.n**或者db.seq.p**,而不是原始的FASTA序列,也就是說,建庫以后,原始序列文件是可以刪除的。

2)、如果命令行中選擇了“-o  T”,並且目標序列中好友gi號重復的序列名時,程序會停止建庫並報錯。

就是說庫文件中不能出現重復的序列(標志是序列號,跟具體的序列沒有關系)。

3)、如果輸入序列不符合FASTA格式或者ASN.1格式,程序會自動退出,並報錯。

[formatdb] ERROR: Could not open db.

4)、核酸序列可以用於建核算庫和蛋白庫,但是蛋白序列不能用於建核算庫,這個是顯然的,密碼子的問題哦!

其他參數介紹:

-l :  “-l  文件名用來改變LOG文件的命名

-n :  “-n  文件名可以自定義生成的庫文件命名

-a :  輸入文件為ASN.1格式

 

2、運行比對程序blastall:

Blast的主程序是blastall。程序的輸入文件是query序列(- i參數)而和庫文件(-d 參數),比對類型的選擇(- p參數)和輸出文件(- o 參數)由用戶指定。其中“-p”參數有5中取值:

-p blastp:蛋白序列與蛋白庫做比對。

-p blastx:核酸序列對蛋白庫的比對。

-p blastn:核酸序列對核酸庫的比對。

-p tblastn:蛋白序列對核酸庫的比對。

-p tblastx:核酸序列對核酸庫在蛋白級別的比對。

這些元素就構成了 blast 的基本運行命令(以 blastn 為例):

blastall  -i  query.fa  -d  database  -o  blast.out  -p  blastn 

其中如果"-o"參數缺省,則結果輸出方式為屏幕輸出。

 

參數:

僅僅運行blast的基本運行命令,得到的結果往往不能清晰准確的表示出有用的信息。最大的問題就是有太多的冗余,很多很短的比對都會出現在輸出結果中,導致結果雜亂無章。為了處理雜亂無章的比對結果,滿足各種比對需求,blast設置了很多參數來限制比對的范圍和輸出的形式。一下多數結果以blastn距離,如不做特殊說明,這些參數適合於所有比對方式。

 

-e 參數

-evalue)參數是用來過濾比對較差的結果的,用“-e”參數指定一個實數,blast會過濾掉期望值大於這個數的比對結果(就是說這個值越小比對結果就越好)。

blastall  -i  query.fa  -d  database  -o  blast.out  -p  blastn  -e 1e-10

通常情況下,對於不同物種之間的比對,期望值設在1e-5左右即可;而對於同源性較高的物種或者同種的比對,可以適度將期望值調的更小來過濾垃圾結果。比對同一物種cDNA和染色體的比對,參數可用1e-10或更高。

 

-F 參數

-FT/F)參數是用來屏蔽簡單重復和低復雜度序列的。如果選“T”,程序在比對過程中會屏蔽掉query中的簡單重復和低復雜度序列;選“F”則不會屏蔽。缺省值為“T”。

比較兩個結果,我們看出使用缺省參數的比對結果損失了一部分信息,得到的統計結果也

出現失真,期望值和 identity 都沒有反映出真實情況。有時較長的重復序列甚至會導致比對終止。加了"-F F"就保證了比對結果的完整性。通常在大規模、低精度的比對中,往往用缺省參數,這樣能避免程序把過多的時間浪費在無意義的簡單重復上,提高運行速度;而在小規模、高精度的比對中,需要加上參數"-F F",保證比對的精確度和完整性。

 

-m 參數:

-e”參數能夠做到篩選適當的比對結果,但是即使如此,blast的輸出結果仍然非常龐大並且難以處理。為了精簡輸出、節省存儲空間、實現更多功能並使結果易於處理,blast 提供了參數“-m (integer)”來設定輸出格式,可供選擇的值為 011 之間的整數,缺省為 0。下面就通過實例逐個解析“-m”參數能夠實現的輸出功能。

 

-m  8 : 列表格式的比對結果。從做導游割裂的意義一次是:query/subject/identify/比對長度/錯配數/空位數/query比對起始坐標/query比對終止坐標/subject比對起始坐標/subject比對終止坐標/期望值/比對得分

 m8 格式中通過 subject 的比對起止位置可以判斷出序列的比對方向。判斷方法就是:querysubject的起始和終止坐標是否一致增減。

原文鏈接:http://blog.csdn.net/bangemantou/article/details/7726585


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM