blast+的安裝
1.程序下載:訪問blast本地軟件包鏈接 blast_latest
下載適合自己系統(tǒng)的blast版本阿纤。
2.安裝流程:下載完畢后柴梆,雙擊安裝到C:\Blast,生成bin和doc兩個子目錄毯辅,其中bin是程序目錄博秫, doc是文檔目錄丘跌,這樣就安裝完成。
3.用戶環(huán)境變量設(shè)置:右鍵點擊“我的電腦”-屬性狠角,然后“高級系統(tǒng)設(shè)置”選項-“環(huán)境變量”号杠,在用戶變量下方點擊“新建”-變量名:BLASTDB,變量值:C:\Blast\db(即數(shù)據(jù)庫路徑)丰歌。在系統(tǒng)變量下方“Path”添加變量值:C:\Blast\bin姨蟋。
4.查看程序版本信息:點擊window的"開始"菜單,在運行中輸入cmd立帖,調(diào)出MS-DOS命令行眼溶,輸入命令cd C:\Program Files\NCBI\blast-2.6.0+\bin
轉(zhuǎn)到blast安裝目錄,輸入命令 blastn -version
即可查看版本晓勇。
blast+的使用
參考生信人收藏|本地BLAST用法
blast的類型堂飞,共五種:
blastp:將待查詢的蛋白質(zhì)序列及其互補序列一起對蛋白質(zhì)序列數(shù)據(jù)庫進行查詢;
blastn:將待查詢的核酸序列及其互補序列一起對核酸序列數(shù)據(jù)庫進行查詢绑咱;
blastx:先將待查詢的核酸序列按六種可讀框架(逐個向前三個堿基和逐個向后三個堿基讀碼)翻譯成蛋白質(zhì)序列绰筛,然后將翻譯結(jié)果對蛋白質(zhì)序列數(shù)據(jù)庫進行查詢;
tblastn:先將核酸序列數(shù)據(jù)庫中的核酸序列按六種可讀框架翻譯成蛋白質(zhì)序列描融,然后將待查詢的蛋白質(zhì)序列及其互補序列對其翻譯結(jié)果進行查詢铝噩;
tblastx:?先將待查詢的核酸序列和核酸序列數(shù)據(jù)庫中的核酸序列按六種可讀框架翻譯成蛋白質(zhì)序列,然后再將兩種翻譯結(jié)果從蛋白質(zhì)水平進行查詢稼稿。
使用方法:
1.數(shù)據(jù)庫數(shù)據(jù)的獲取與創(chuàng)建
直接從NCBI薄榛、Ensemble或者其他數(shù)據(jù)庫網(wǎng)站下載用作database的fasta序列讳窟,此處用小鼠基因組全部序列當(dāng)做庫(下載地址,解壓后使用)敞恋。使用makeblastdb構(gòu)建數(shù)據(jù)庫(與BLAST的區(qū)別)丽啡。
要知道此程序用法首先就要Help一下,具體命令就是:
makeblastdb -help
具體構(gòu)建數(shù)據(jù)庫的示例命令:
makeblastdb -in Mus_musculus.GRCm38.dna.toplevel.fa -dbtype nucl -out Mus_musculus.GRCm38.dna.toplevel.fa.blastdb
會產(chǎ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ù)庫類型补箍,核酸或者蛋白,選擇其一啸蜜。
-in <File_In>: 輸入文件
-out <String>: 創(chuàng)建的數(shù)據(jù)庫名字
注意:此處以核酸為例闡述坑雅,若數(shù)據(jù)庫為蛋白序列 -dbtype選擇prot
2. 比對。
比對需要一個Query序列衬横,Query序列就是已知的基因(或者說序列)裹粤,小編此處以一個人里面的決定智商的基因HMGA2(下載地址,將序列存儲為HMGA2.fasta的文件)為例闡述。使用程序是blastn,具體幫助信息可以使用blastn -help
查看蜂林。
具體比對示例命令:
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ù)庫路徑及數(shù)據(jù)庫名
-task: 共五個程序選擇'blastn' 'blastn-short' 'dcmegablast' 'megablast' 'rmblastn' 遥诉,默認(rèn)megablast。
具體區(qū)別如下:
blastn 完全匹配的傳統(tǒng)blastn
blastn-short 優(yōu)化查詢:短于50個堿基
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ù)庫中能與Query比對上的的序列數(shù)目苞笨,與max_target_seqs不能同時使用。
-max_target_seqs:最多允許比對到數(shù)據(jù)庫中的序列數(shù)目子眶,參數(shù)僅適用于outfmt >4瀑凝。
-perc_identity :比對的最低相似度
-max_hsps:由于不對時一條序列比對成多段,如果只想輸出其中的幾段壹店,就設(shè)定相應(yīng)的數(shù)目猜丹,與-num_alignments不能同時使用。
-outfmt:輸出文件格式硅卢,總共有15種格式射窒,一般設(shè)置為6。6是tabular格式對應(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
此外還能自定義輸出格式主要針對上述的 6, 7, and 10三種格式点寥,示例如下針對6格式的輸出單引號內(nèi)的信息信息:
-outfmt ‘6 qseqid qlen sseqid slen ength pident mismatch qcovs qstart qend sstart send evalue ’這樣最終輸出結(jié)果的的每一列信息會按照上述信息輸出艾疟,具體每個單詞的意思如下:
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
此外其他類型的比對示例命令如下
核酸序列比對蛋白數(shù)據(jù)庫:
blastx -query test.fasta -out test.blast -db dbname -outfmt 6 -evalue 1e-5 -num_threads 2
蛋白序列比對蛋白數(shù)據(jù)庫:
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:比對到數(shù)據(jù)庫中的序列ID
[3] % identity :相似度
[4] alignment length:比對長度
[5] mismatches :錯配數(shù)目
[6] gap openings:gap的數(shù)目
[7] q. Start:已知的序列比對起始位置
[8] q. End:已知的序列比對終止位置
[9] s. Start:數(shù)據(jù)庫中序列比對起始位置
[10] s. End;數(shù)據(jù)庫中序列比對終止位置
[11] E value蔽莱;比對的E值
[12] score弟疆;比對的得分
注意比對到的序列長度。評價一個blast結(jié)果的標(biāo)準(zhǔn)主要有三項盗冷,E值(Expect)怠苔,一致性(Identities),缺失或插入(Gaps)仪糖。加上比對長度的話柑司,就有四個標(biāo)準(zhǔn)了。
E值(Expect):表示隨機匹配的可能性锅劝,例如攒驰,E=1,表示在目前大小的數(shù)據(jù)庫中故爵,完全由機會搜到對象數(shù)的平均值為1.E值越大玻粪,隨機匹配的可能性也越大。E值接近零或為零時稠集,具本上就是完全匹配了奶段。通常來講,我們認(rèn)為E值小于10-5 就是比較可性的S值結(jié)果剥纷。我們可以想象,相同的數(shù)據(jù)庫呢铆,E=0.001時如果有1000條都有機會S值比現(xiàn)在這個要高的話晦鞋,那么不E設(shè)置為10-6時可能就會只得到一條結(jié)果,就是S值最可靠的那個棺克。但是E值也不是萬能的悠垛。它在以下幾個情況下有局限性:
1)當(dāng)目標(biāo)序列過小時,E值會偏大娜谊,因為無法得到較高的S值确买。
2)當(dāng)兩序列同源性雖然高,但有較大的gap(空隙)時纱皆,S值會下降湾趾。這個時候gap scores就非常有用。
3)有些序列的非功能區(qū)有較低的隨機性時派草,可能會造成兩序列較高的同源性搀缠。
E值總結(jié):
E值適合于有一定長度,而且復(fù)雜度不能太低的序列近迁。當(dāng)E值小于10-5
時艺普,表明兩序列有較高的同源性,而不是因為計算錯誤。當(dāng)E值小于10-6時歧譬,表時兩序列的同源性非常高岸浑,幾乎沒有必要再做確認(rèn)。
一致性(Identities):或相似性瑰步。匹配上的堿基數(shù)占總序列長的百分?jǐn)?shù)矢洲。
Score得分值越高說明同源性越好;Expect期望值越小比對結(jié)果越好面氓,說明因某些原因而引起的誤差越斜ァ;Identities是同源性(相似性)舌界,例中所示比對的1299個堿基中只有35個不配掘譬,其他97%相同;
Gaps是指多出或少的堿基或缺失的堿基數(shù)呻拌;缺失或插入(Gaps):插入或缺失葱轩。用"—"來表示。
此外比對的Strand則通 s. Start:和s. End判斷藐握,如上述結(jié)果的第三行. Star值大于s. End靴拱,則表示負(fù)鏈。