返回首頁
當前位置: 主頁 > 精通Office > 其他教程 >

BLAST使用方法全攻略

時間:2012-04-26 21:51來源:知行網www.wtckvq.live 編輯:麥田守望者

BLAST是幾乎每一位生命科學領域的同學都要使用的基本工具,在網絡上也可以搜到很多關于BLAST的接受,個人覺得還是來自BGI的這份講義不錯,很系統、很全面。當然大家也可以找點快速上手的方法(比如來自柳城博客http://liucheng.name/478/的方法就很容易學,很適合新手),然后再仔細研究其中的奧秘。個人認為學習當如此,嘿嘿。

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

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

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

blastp:蛋白序列與蛋白庫做比對,直接比對蛋白序列的同源性。

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

blastn:核酸序列對核酸庫的比對,直接比較核酸序列的同源性。

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

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

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

下載

NCBI提供免費下載,網址:ftp://ftp.ncbi.nih.gov/blast/executables/release/,可根據自己得機器選擇相應操作系統的版本。

安裝

直接解壓縮包即可。解壓縮命令:

zcat *.tar.gz | tar xvf -

使用

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

1.運行建庫程序formatdb:

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

formatdb -i db.seq [-options]

常用的參數有以下幾個:

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

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

程序輸出:

如果建立的是核酸庫,輸出為db.seq.nhr、db.seq.nin、db.seq.nsq,如果選擇了參數"-o T",還會同時輸出db.seq.nsd、db.seq.nsi、db.seq.nni、db.seq.nnd。

蛋白庫和核酸庫的輸出類似,相應的輸出文件為:db.seq.phr、db.seq.pin、db.seq.psq和db.seq.psd、db.seq.psi、db.seq.pni、db.seq.pnd。

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

幾點需要注意的問題:

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

2、如果命令行中選擇了"-o T",并且目標序列中含有gi號重復的的序列名時,程序會停止建庫并報錯。例如,下列序列文件中出現了重復的序列名:

>gi|112385745|gb|DQ859020.1| Oryza sativa (japonica cultivar-group) glutathione S-transferase 2 mRNA, complete cds

ATGGCGGAGGCGGCGGGGGCGGCGGTGGCGCCGGCGAAGCTGGGTCTGTACTCGTACTGGCGGAGCTCGT

GCTCGCACCGCGTCCGCATCGCCCTCAACCTCAAAGGATTGGAGTACGAGTACAAGGCGGTGAACCTGCT

CAAGGGGGAGCACTCTGATCCAGAATTCATGAAGGTTAATCCTATGAAGTTCGTCCCGGCATTGGTCGAT

......

CAAGCAGCACTCCCAGACAGACAACCAGATGCCCCTTCCTCTACCTAG
>gi|112385745|gb|DQ859020.1| Oryza sativa (japonica cultivar-group) glutathione S-transferase 2 mRNA, complete cds

ATGGCGGAGGCGGCGGGGGCGGCGGTGGCGCCGGCGAAGCTGGGTCTGTACTCGTACTGGCGGAGCTCGT

GCTCGCACCGCGTCCGCATCGCCCTCAACCTCAAAGGATTGGAGTACGAGTACAAGGCGGTGAACCTGCT

CAAGGGGGAGCACTCTGATCCAGAATTCATGAAGGTTAATCCTATGAAGTTCGTCCCGGCATTGGTCGAT

......

運行時就會報如下錯誤:

[formatdb] ERROR: Failed to create index. Possibly a gi included more than once in the database.

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.fasta -d database_prefix -o blast.out -p blastn

其中如果"-o"參數缺省,則結果輸出方式為屏幕輸出。下面以一個blastn比對為例,來說明比對全過程:

Query序列(query.fasta):

>gi|45593933|gb|AY551259.1| Oryza sativa precursor microRNA 319c gene

AGGAAGAGGAGCTCCTTTCGATCCAATTCAGGAGAGGAAGTGGTAGGATGCAGCTGCCGATTCATGGATA

CCTCTGGAGTGCATGGCAGCAATGCTGTAGGCCTGCACTTGCATGGGTTTGCATGACCCGGGAGATGAAC

CCACCATTGTCTTCCTCTATTGATTGGATTGAAGGGAGCTCCACATCTCT

>gi|45593932|gb|AY551258.1| Oryza sativa precursor microRNA 319b gene

CATATTCTTTTAATTTGATGGAAGAAGCGATCGATGGATGGAAGAGAGCGTCCTTCAGTCCACTCATGGG

CGGTGCTAGGGTCGAATTAGCTGCCGACTCATTCACCCACATGCCAAGCAAGAAACGCTTGAGATAGCGA

AGCTTAGCAGATGAGTGAATGAAGCGGGAGGTAACGTTCCGATCTCGCGCCGTCTTTGCTTGGACTGAAG

GGTGCTCCCTCCTCCTCGATCTCTTCGATCTAATTAAGCTACCTTGACAT

庫文件Database(db.seq,已經運行formatdb -i db.seq -p F -o T建庫):

>fake_seq

AGGAAGAGGAGCTCCTTTCGTTCCAATTCAGGAGAGGAAGTGGTAGGATGCAGCTGCCGATTCATGGATA

CCTCTGGAGTGCATGCAGCAATGCTGTAGGCCTGCACTTGCATGGGTTTGCATGACCCGGCGAGATGAAC

CCACCATTGTCTTCCTCTATTGATTGGATTGAAGGGAGCTCCACATCTCT

運行命令:

blastall -i query.fasta -d db.seq -o blast.out -p blastn

運行結果:

BLASTN 2.2.8 [Jan-05-2004]

Reference: Altschul, Stephen F., Thomas L. Madden, Alejandro A. Schaffer,

Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997),

"Gapped BLAST and PSI-BLAST: a new generation of protein database search

programs", Nucleic Acids Res. 25:3389-3402.

Query= gi|45593933|gb|AY551259.1| Oryza sativa precursor microRNA 319c

gene, complete sequence

(190 letters)

Database: db.seq

1 sequences; 190 total letters

Searching.done

Score E

Sequences producing significant alignments: (bits) Value


fake_seq 339 2e-98

>fake_seq

Length = 190

Score = 339 bits (171), Expect = 2e-98

Identities = 188/191 (98%), Gaps = 2/191 (1%)

Strand = Plus / Plus

Query: 1 aggaagaggagctcctttcgatccaattcaggagaggaagtggtaggatgcagctgccga 60

|||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||

Sbjct: 1 aggaagaggagctcctttcgttccaattcaggagaggaagtggtaggatgcagctgccga 60

Query: 61 ttcatggatacctctggagtgcatggcagcaatgctgtaggcctgcacttgcatgggttt 120

|||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||

Sbjct: 61 ttcatggatacctctggagtgcat-gcagcaatgctgtaggcctgcacttgcatgggttt 119

Query: 121 gcatgacccgg-gagatgaacccaccattgtcttcctctattgattggattgaagggagc 179

||||||||||| ||||||||||||||||||||||||||||||||||||||||||||||||

Sbjct: 120 gcatgacccggcgagatgaacccaccattgtcttcctctattgattggattgaagggagc 179

Query: 180 tccacatctct 190

|||||||||||

Sbjct: 180 tccacatctct 190

Database: db.seq

Posted date: Aug 28, 2006 8:14 PM

Number of letters in database: 190

Number of sequences in database: 1

Lambda K H

1.37 0.711 1.31

------分隔線----------------------------
標簽(Tag):blast
------分隔線----------------------------
推薦內容
猜你感興趣
深蓝海域APP