BLAST 是生物學上常用的序列比對工具,隨著BLAST 改版至BLAST+ 後,許多指令的用法已經與之前不太相同,以下就對 BLAST+ 的指令做一個簡單的介紹。
安裝:
首先請到 ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/ 下載適合平台的 BLAST 程式,一般只需要下載tar.gz 檔,解壓縮後即可使用。
自行建立BLAST 資料庫:
在這一版的BLAST中,建立BLAST 資料庫的指令是 makeblastdb。
在建立BLAST 資料庫常見的指令選項有:
-in: 指定要建立資料庫檔案,一般用 fasta 檔案即可建立資料庫。
-dbtype: 指定要建立的資料庫類型的指令,可以指定為核酸資料庫 ( -dbtype nucl),或蛋白質資料庫 ( -dbtype prot),若沒有下這個選項,預設是指定為蛋白質資料庫的類型。
-out: 指定建立資料庫的名稱。
範例:
假如我們要把AAA.fasta 建立成一個叫 BBB 的核酸資料庫,建立的指令如下:
$ makeblastdb –in AAA.fasta –dbtype nucl –out BBB
序列比對:
序列比對的指令有 blastn, blastp, blastx, tblastx, tblastn, psiblast, rpsblast與 rpstblastn,一般生物學家常用的是 blastn與 blastp。
在序列比對常用到的指令選項有:
-query : 指定要比對的檔案
-db: 指定要比對的資料庫
-task: 由於新版的 BLAST 可在原來一般的 blast 工作外額外做些指定,而這些額外的指定就可以透過 –task 來指定,若沒有額外的指定,可以不下此選項。
程式 | Task 選項 | 說明 |
blastp | blastp | 執行傳統的blastp 工作 |
blastp-short | 針對長度小於30nt的Query序列進行最佳化的 blastp | |
blastn | blastn | 執行傳統的blastn 工作,最少需要11nt 完全符合 |
blastn-short | 針對長度小於50nt的Query序列進行最佳化的 blastn | |
megablast | 執行傳統的megablast 工作,用來找尋親較近的序列 (非常相似的序列) | |
dc-megablast | 不連續的megablast,用來找尋親緣較遠的序列 |
由於現在 NGS 的資料越來越常見,如果你要拿 NGS 的資料進行BLAST,建議採用上面紅色的選項,不然很容易 BLAST 不到任何東西,如果選用紅色選項還是 BLAST 不到東西的話,可以加上 -dust no 的選項,把 DUST filtering algorithm 停用試試看。
-evalue: 指定可接受最高的 evalue 值,一般而言,evalue 越高,比對結果的可信度越低,為了得到較可信的結果,通常不會把 evalue 設太高。
-outfmt: 指定輸出結果的格式,與舊版一樣,每種格式都用數字來表示,不過,相同數字在此版與舊版所指的輸出格式卻不同,所以在網路上查輸出格式的代碼需要注意該文章介紹的是新版或舊版的 BLAST
-outfmt 參數 | 輸出格式 |
0 | pairwise |
1 | query-anchored showing identities |
2 | query-anchored no identities |
3 | flat query-anchored, show identities |
4 | flat query-anchored, no identities |
5 | XML Blast output |
6 | tabular |
7 | tabular with comment lines |
8 | Text ASN.1 |
9 | Binary ASN.1 |
10 | Comma-separated values |
11 | BLAST archive format (ASN.1) |
-out: 指定輸出結果的檔案名稱。
範例:
假設我們要拿CCC.fa這個NGS產出的核酸檔案去 blast DDD資料庫,evalue希望低於0.1,輸出結果要是 XML 格式,輸出檔案名稱要是EEE.xml,那指令應該為:
blastn –query CCC.fa –db DDD –task blastn-short –evalue 0.1 –outfmt 5 –out EEE.xml
詳細 BLAST+ 指令說明,請參考: http://www.ncbi.nlm.nih.gov/books/NBK1763/
留言列表