其他blast使用方法
程序名? ? ? ? 搜索序列? ? ? ? 數據庫? ? ? ? 內容? ? ? ? 備注
blastp? ? ? ? Protein? ? ? ? Protein? ? ? ? 比較氨基酸序列與蛋白質數據庫? ? ? ? 使用取代矩陣尋找較遠的關系,進行SEG過濾
blastn? ? ? ? Nucleotide? ? ? ? Nucleotide? ? ? ? 比較核酸序列與核酸數據庫? ? ? ? 尋找較高分值的匹配,對較遠的關系不太適用
blastx? ? ? ? Nucleotide? ? ? ? Protein? ? ? ? 比較核酸序列理論上的六框架的所有轉換結果和蛋白質數據庫? ? ? ? 用于新的DNA序列和ESTs的分析,可轉譯搜索序列
tblastn? ? ? ? Protein? ? ? ? Nucleotide? ? ? ? 比較蛋白質序列和核酸序列數據庫,動態轉換為六框架結果? ? ? ? 用于尋找數據庫中沒有標注的編碼區,可轉譯數據庫序列
tblastx? ? ? ? Nucleotide? ? ? ? Nucleotide? ? ? ? 比較核酸序列和核酸序列數據庫,經過兩次動態轉換為六框架結果? ? ? ? 轉譯搜索序列與數據庫序列
進行迭代檢索命令:blastpgp
它本質上進行的是blastp的檢索(所以在運行時無須指定程序名),但是它可以被用來在psi-blast和phi-blast模式中實現迭代檢索。
“iterative search”就是指在一輪檢索中所獲得的序列被用來構建一個新打分矩陣,而以此進行下一輪的檢索。
按照這種用法,這個程序被稱為位點特異迭代BLAST(Position-Specific Iterated BLAST) 簡稱PSI-BLAST。
可以在命令行中使用“blastpgp-”命令來獲取詳細的參數說明。
blastpgp的大部分參數是與通用檢索程序blastall一致的,只有少數與迭代檢索相關的選項是特別的:
-j:最大迭代檢索的次數,缺省值1,即等同與在blastall中所使用blastp程序
-h:在每輪檢索后構建新的打分矩陣時所選擇的序列的期望值(E value)的閾值,缺省值0.001
-C:將生成的位點特異性的打分矩陣輸出到一個文件(二進制格式)
-R:從文件讀取一個原先輸出的位點特異性的打分矩陣,然后使用這個矩陣來繼續進行以后的檢索比對
-Q: 輸出一個可讀的文本(ASCII)格式的PSI-BLAST的打分矩陣
-B:設置讓blastpgp讀取一個已經存在的多重比對文件來構建位點特異性的打分矩陣而進行以后的檢索
命令舉例:
?? blastpgp -i query.faa-d nr -o query1.out
?? blastpgp -i query.faa-d nr -o query2.out -j 2 -Q matrix2 -C psi2
?? blastpgp -i query.faa-d nr -o query5.out -j 5 -Q matrix5 -R psi2
PHI-BLAST (Pattern-Hit Initiated BLAST)是用于檢索對于正則表達式(regular expressions)的匹配的程序
當給出一個蛋白質序列S和一個出現在S中的正則表達式的模式(pattern)P,則PHI-BLAST可以找出有哪些其他的蛋白質序列既包含P又在此模式出現的區域與S具有同源性(homologous)
PHI-BLAST的算法基礎:
R. Baeza-Yates and G. Gonnet, Communications of the ACM 35(1992), pp. 74-82.
S. Wu and U. Manber, Communications of the ACM 35(1992), pp. 83-91.
PHI-BLAST中所使用的模式的語法規則遵循PROSITE數據庫的協定
在單獨(stand-alone)使用中,允許在一個文件中包含多個模式,其間應該用一個空行隔開。但是在網頁上使用時只允許一次提交一個模式
在模式中有效的蛋白符號為:
ABCDEFGHIKLMNPQRSTVWXYZU
有效的DNA符號為:ACGT
其他有用的分隔符(delimiters):
[ ]? 表示在括號中任意某一個殘基
-??? 無意義,是PROSITE使用的間隔符
x??? 其后沒有修飾符時表示任意殘基
x(5)表示任意5個殘基(residue)
x(2,4)表示2到4個的任意殘基
>?? 無意義,只能出現在一個模式的結尾,是PROSITE使用的另一個間隔符
.????無意義,可以出現在一個模式的結尾
在單獨使用PHI-BLAST程序時,模式應該寫入一個文件中,至少包含下列兩個起始行內容:
? ID
其后跟隨兩個空格和一個字符串用來表示此模式的名稱
? PA
其后跟隨兩個空格和一個符合語法的模式描述
其他的PROSITE的描述符都是允許的,但是除了HI以外都將被忽略
典型的單獨運行的用法如下:
blastpgp-i seq-k pat -p patseedp -d database
這里,seq是要查詢的FASTA格式的序列文件名;pat是其所包含的模式的文件名;patseedp是指明所使用的方法;database是要進行檢索的序列數據庫名。
因為其本質上是blastp的檢索,所以其他大部分命令行參數類似于blastall
PHI-BLAST還有一種用法是針對所指定的模式多次的出現在查詢序列中的情況的。因為在這種情況下,用戶可以限制檢索在指定的范圍內進行。基本用法如下:
blastpgp -i seq -k pat -p seedp -d database
這里與第一種用法唯一的不同點就是-p參數所指定的用法上的區別
另外,對于這種用法,輸入的模式文件中還應該包含至少一個以HI開頭的行,以指明模式出現的位置
以下是一個用于seedp用法的模式文件的例子:
ID ER_TARGET
PA [KRHQSA]-[DENQ]-E-L>.
HI (19 22)
HI (201 204)
兩個與模式匹配相關的問題:
Q1、給定一個蛋白質序列和一個各種模式的數據庫,有那些模式出現在這個序列中以及具體位置
Q2、給定一個模式和一個蛋白質序列數據庫,有那些序列包含這個模式以及模式出現的具體位置
這兩個問題可以用與PHI-BLAST相似的算法來解決,但是其輸出不符合BLAST的框架(framework)要求。
BLAST的程序包中目前包含一個名為seedtop的程序用來解決這兩個問題
基本的解決方法:
A1、seedtop -i -k -p patmatchp
A2、seedtop -d -k -p patternp
命令舉例:
seedtop -d U00096.faa -k pat1 -p patternp
兩序列比對命令:bl2seq
僅限于兩條序列之間進行的比對,可以免去用blastall進行檢索時必須進行formatdb的煩瑣過程
因為其本質上是就是實現的blastall中的5種不同的比對程序的算法,所以它要求在設置輸入序列時的序列類型應該與所選擇的程序相對應
可以在命令行中使用“bl2seq -”命令來獲取詳細的參數說明。
bl2seq的絕大部分參數是與通用檢索程序blastall一致的,只是沒有了-d 的選項,另外增加了兩個輸入選項:
-i:第一個輸入序列文件
-j:第二個輸入序列文件
(注:這兩個輸入序列都應該是FASTA格式,各自的序列類型——核酸或蛋白——應由所選擇的-p 參數決定)
命令舉例:
?? bl2seq -i query.faa -j sbjct.faa -e 0.01 -o out
?? bl2seq -i query.ffn -j sbjct.faa -p blastx -e 1e-5 -o out
?? bl2seq -i query.ffn -j sbjct.ffn -p tblastx -e 1e-5 -o out
MegaBLAST使用了Webb Miller等人提出的“greedy algorithm”來進行核酸序列的快速檢索。
程序專門針對由于測序或其他類似的“錯誤”而產生的差異較小(differ slightly)的序列間的比對進行了優化。
它的運行速度可以達到通用序列比對程序的十倍,因此可以用于進行兩個較大的序列集直接的快速比對。
megablast的絕大部分參數是與通用檢索程序blastall一致的,但是它不需要-p的選項。
特殊選項:
-D:設置megablast輸出文件的格式。0表示對每一個比對生成一個單行的輸出;1與0輸出形式類似,但是增加了一些信息;2是產生標準的blastn的輸出格式;3也是單行的輸出,但是以tab作為分隔符。缺省值0
總結
以上是生活随笔為你收集整理的其他blast使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ios 模拟器如何模拟多点触控
- 下一篇: 【linux驱动】USB子系统分析