blast+的安裝
1.程序下載:訪問(wèn)blast本地軟件包鏈接 blast_latest
下載適合自己系統(tǒng)的blast版本。
2.安裝流程:下載完畢后,雙擊安裝到C:\Blast,生成bin和doc兩個(gè)子目錄,其中bin是程序目錄, doc是文檔目錄,這樣就安裝完成。
3.用戶(hù)環(huán)境變量設(shè)置:右鍵點(diǎn)擊“我的電腦”-屬性,然后“高級(jí)系統(tǒng)設(shè)置”選項(xiàng)-“環(huán)境變量”,在用戶(hù)變量下方點(diǎn)擊“新建”-變量名:BLASTDB,變量值:C:\Blast\db(即數(shù)據(jù)庫(kù)路徑)。在系統(tǒng)變量下方“Path”添加變量值:C:\Blast\bin。
4.查看程序版本信息:點(diǎn)擊window的"開(kāi)始"菜單,在運(yùn)行中輸入cmd,調(diào)出MS-DOS命令行,輸入命令cd C:\Program Files\NCBI\blast-2.6.0+\bin轉(zhuǎn)到blast安裝目錄,輸入命令 blastn -version即可查看版本。
blast+的使用
參考生信人收藏|本地BLAST用法
blast的類(lèi)型,共五種:
blastp:將待查詢(xún)的蛋白質(zhì)序列及其互補(bǔ)序列一起對(duì)蛋白質(zhì)序列數(shù)據(jù)庫(kù)進(jìn)行查詢(xún);
blastn:將待查詢(xún)的核酸序列及其互補(bǔ)序列一起對(duì)核酸序列數(shù)據(jù)庫(kù)進(jìn)行查詢(xún);
blastx:先將待查詢(xún)的核酸序列按六種可讀框架(逐個(gè)向前三個(gè)堿基和逐個(gè)向后三個(gè)堿基讀碼)翻譯成蛋白質(zhì)序列,然后將翻譯結(jié)果對(duì)蛋白質(zhì)序列數(shù)據(jù)庫(kù)進(jìn)行查詢(xún);
tblastn:先將核酸序列數(shù)據(jù)庫(kù)中的核酸序列按六種可讀框架翻譯成蛋白質(zhì)序列,然后將待查詢(xún)的蛋白質(zhì)序列及其互補(bǔ)序列對(duì)其翻譯結(jié)果進(jìn)行查詢(xún);
tblastx:?先將待查詢(xún)的核酸序列和核酸序列數(shù)據(jù)庫(kù)中的核酸序列按六種可讀框架翻譯成蛋白質(zhì)序列,然后再將兩種翻譯結(jié)果從蛋白質(zhì)水平進(jìn)行查詢(xún)。
使用方法:
1.數(shù)據(jù)庫(kù)數(shù)據(jù)的獲取與創(chuàng)建
直接從NCBI、Ensemble或者其他數(shù)據(jù)庫(kù)網(wǎng)站下載用作database的fasta序列,此處用小鼠基因組全部序列當(dāng)做庫(kù)(下載地址,解壓后使用)。使用makeblastdb構(gòu)建數(shù)據(jù)庫(kù)(與BLAST的區(qū)別)。
要知道此程序用法首先就要Help一下,具體命令就是:
makeblastdb -help
具體構(gòu)建數(shù)據(jù)庫(kù)的示例命令:
makeblastdb -in Mus_musculus.GRCm38.dna.toplevel.fa -dbtype nucl -out Mus_musculus.GRCm38.dna.toplevel.fa.blastdb
會(huì)產(chǎn)生如下文件,則運(yùn)行成功:
Mus_musculus.GRCm38.dna.toplevel.fa.blastdb.pin
Mus_musculus.GRCm38.dna.toplevel.fa.blastdb.phr
Mus_musculus.GRCm38.dna.toplevel.fa.blastdb.psq
其主要參數(shù)介紹:
-dbtype <String,nucl',prot'>: 數(shù)據(jù)庫(kù)類(lèi)型,核酸或者蛋白,選擇其一。
-in <File_In>: 輸入文件
-out <String>: 創(chuàng)建的數(shù)據(jù)庫(kù)名字
注意:此處以核酸為例闡述,若數(shù)據(jù)庫(kù)為蛋白序列 -dbtype選擇prot
2. 比對(duì)。
比對(duì)需要一個(gè)Query序列,Query序列就是已知的基因(或者說(shuō)序列),小編此處以一個(gè)人里面的決定智商的基因HMGA2(下載地址,將序列存儲(chǔ)為HMGA2.fasta的文件)為例闡述。使用程序是blastn,具體幫助信息可以使用blastn -help查看。
具體比對(duì)示例命令:
blastn -query HMGA2.fasta -db Mus_musculus.GRCm38.dna.toplevel.fa.blastdb -out results.txt -evalue 1e-5 -outfmt 8 -perc_identity 90 -max_target_seqs 5 -num_threads 2
主要參數(shù)介紹:
-query: 輸入文件路徑及文件名
-out:輸出文件路徑及文件名
-db:數(shù)據(jù)庫(kù)路徑及數(shù)據(jù)庫(kù)名
-task: 共五個(gè)程序選擇'blastn' 'blastn-short' 'dcmegablast' 'megablast' 'rmblastn' ,默認(rèn)megablast。
具體區(qū)別如下:
blastn 完全匹配的傳統(tǒng)blastn
blastn-short 優(yōu)化查詢(xún):短于50個(gè)堿基
megablast 查找十分相似的序列(如物種內(nèi)部或相關(guān)的物種間)
dc-megablast 查找親緣關(guān)系比較遠(yuǎn)的序列(如物種間)
rmblastn 兼容了RepeatMasker
-evalue:設(shè)置輸出結(jié)果的e-value值,一般1e-5
-num_threads:線程數(shù),筆記本不要設(shè)大了,2就夠了。
-num_alignments:輸出數(shù)據(jù)庫(kù)中能與Query比對(duì)上的的序列數(shù)目,與max_target_seqs不能同時(shí)使用。
-max_target_seqs:最多允許比對(duì)到數(shù)據(jù)庫(kù)中的序列數(shù)目,參數(shù)僅適用于outfmt >4。
-perc_identity :比對(duì)的最低相似度
-max_hsps:由于不對(duì)時(shí)一條序列比對(duì)成多段,如果只想輸出其中的幾段,就設(shè)定相應(yīng)的數(shù)目,與-num_alignments不能同時(shí)使用。
-outfmt:輸出文件格式,總共有15種格式,一般設(shè)置為6。6是tabular格式對(duì)應(yīng)BLAST的m8格式,具體每種格式是什么樣子,大伙可以自己試一試查看一下。
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),
12 = JSON Seqalign output,
13 = JSON Blast output,
14 = XML2 Blast output
此外還能自定義輸出格式主要針對(duì)上述的 6, 7, and 10三種格式,示例如下針對(duì)6格式的輸出單引號(hào)內(nèi)的信息信息:
-outfmt ‘6 qseqid qlen sseqid slen ength pident mismatch qcovs qstart qend sstart send evalue ’這樣最終輸出結(jié)果的的每一列信息會(huì)按照上述信息輸出,具體每個(gè)單詞的意思如下:
qseqid means Query Seq-id
qgi means Query GI
qacc means Query accesion
qaccver means Query accesion.version
qlen means Query sequence length
sseqid means Subject Seq-id
sallseqid means All subject Seq-id(s), separated by a ';'
sgi means Subject GI
sallgi means All subject GIs
sacc means Subject accession
saccver means Subject accession.version
sallacc means All subject accessions
slen means Subject sequence length
qstart means Start of alignment in query
qend means End of alignment in query
sstart means Start of alignment in subject
send means End of alignment in subject
qseq means Aligned part of query sequence
sseq means Aligned part of subject sequence
evalue means Expect value
bitscore means Bit score
score means Raw score
length means Alignment length
pident means Percentage of identical matches
nident means Number of identical matches
mismatch means Number of mismatches
positive means Number of positive-scoring matches
gapopen means Number of gap openings
gaps means Total number of gaps
ppos means Percentage of positive-scoring matches
frames means Query and subject frames separated by a '/'
qframe means Query frame
sframe means Subject frame
btop means Blast traceback operations (BTOP)
staxids means unique Subject Taxonomy ID(s), separated by a ';'(in numerical order)
sscinames means unique Subject Scientific Name(s), separated by a ';'
scomnames means unique Subject Common Name(s), separated by a ';'
sblastnames means unique Subject Blast Name(s), separated by a ';' (in alphabetical order)
sskingdoms means unique Subject Super Kingdom(s), separated by a ';'(in alphabetical order)
stitle means Subject Title
salltitles means All Subject Title(s), separated by a '<>'
sstrand means Subject Strand
qcovs means Query Coverage Per Subject
qcovhsp means Query Coverage Per HSP
此外其他類(lèi)型的比對(duì)示例命令如下
核酸序列比對(duì)蛋白數(shù)據(jù)庫(kù):
blastx -query test.fasta -out test.blast -db dbname -outfmt 6 -evalue 1e-5 -num_threads 2
蛋白序列比對(duì)蛋白數(shù)據(jù)庫(kù):
blastp -query test.fasta -out test.blast -db dbname -outfmt 6 -evalue 1e-5 -num_threads 2
四、結(jié)果解讀(示例)
[1] Query id:已知的序列ID
[2] Subject id:比對(duì)到數(shù)據(jù)庫(kù)中的序列ID
[3] % identity :相似度
[4] alignment length:比對(duì)長(zhǎng)度
[5] mismatches :錯(cuò)配數(shù)目
[6] gap openings:gap的數(shù)目
[7] q. Start:已知的序列比對(duì)起始位置
[8] q. End:已知的序列比對(duì)終止位置
[9] s. Start:數(shù)據(jù)庫(kù)中序列比對(duì)起始位置
[10] s. End;數(shù)據(jù)庫(kù)中序列比對(duì)終止位置
[11] E value;比對(duì)的E值
[12] score;比對(duì)的得分
注意比對(duì)到的序列長(zhǎng)度。評(píng)價(jià)一個(gè)blast結(jié)果的標(biāo)準(zhǔn)主要有三項(xiàng),E值(Expect),一致性(Identities),缺失或插入(Gaps)。加上比對(duì)長(zhǎng)度的話,就有四個(gè)標(biāo)準(zhǔn)了。
E值(Expect):表示隨機(jī)匹配的可能性,例如,E=1,表示在目前大小的數(shù)據(jù)庫(kù)中,完全由機(jī)會(huì)搜到對(duì)象數(shù)的平均值為1.E值越大,隨機(jī)匹配的可能性也越大。E值接近零或?yàn)榱銜r(shí),具本上就是完全匹配了。通常來(lái)講,我們認(rèn)為E值小于10-5 就是比較可性的S值結(jié)果。我們可以想象,相同的數(shù)據(jù)庫(kù),E=0.001時(shí)如果有1000條都有機(jī)會(huì)S值比現(xiàn)在這個(gè)要高的話,那么不E設(shè)置為10-6時(shí)可能就會(huì)只得到一條結(jié)果,就是S值最可靠的那個(gè)。但是E值也不是萬(wàn)能的。它在以下幾個(gè)情況下有局限性:
1)當(dāng)目標(biāo)序列過(guò)小時(shí),E值會(huì)偏大,因?yàn)闊o(wú)法得到較高的S值。
2)當(dāng)兩序列同源性雖然高,但有較大的gap(空隙)時(shí),S值會(huì)下降。這個(gè)時(shí)候gap scores就非常有用。
3)有些序列的非功能區(qū)有較低的隨機(jī)性時(shí),可能會(huì)造成兩序列較高的同源性。
E值總結(jié):
E值適合于有一定長(zhǎng)度,而且復(fù)雜度不能太低的序列。當(dāng)E值小于10-5
時(shí),表明兩序列有較高的同源性,而不是因?yàn)橛?jì)算錯(cuò)誤。當(dāng)E值小于10-6時(shí),表時(shí)兩序列的同源性非常高,幾乎沒(méi)有必要再做確認(rèn)。
一致性(Identities):或相似性。匹配上的堿基數(shù)占總序列長(zhǎng)的百分?jǐn)?shù)。
Score得分值越高說(shuō)明同源性越好;Expect期望值越小比對(duì)結(jié)果越好,說(shuō)明因某些原因而引起的誤差越小;Identities是同源性(相似性),例中所示比對(duì)的1299個(gè)堿基中只有35個(gè)不配,其他97%相同;
Gaps是指多出或少的堿基或缺失的堿基數(shù);缺失或插入(Gaps):插入或缺失。用"—"來(lái)表示。
此外比對(duì)的Strand則通 s. Start:和s. End判斷,如上述結(jié)果的第三行. Star值大于s. End,則表示負(fù)鏈。