比對軟件Blast,Blast+,Diamond比較


1. Blast

  • (1)格式化數據庫
    formatdb -i db.seq -p T -o T -l logfile
    主要參數:
    -i 輸入需要格式化的源數據庫名稱
    -p 文件類型,是核苷酸序列數據庫(F - nucleotide)/蛋白質序列數據庫(T – protein),default = T
    -a 輸入數據庫的格式是否為ASN.1/FASTA [T/F],default = F
    -o 解析選項:解析序列標識並且建立目錄[T/F],default = F
    -l 自定義log文件命令default=formatdb.log,記錄運行時間、版本號、序列數目等
    -n 自定義庫文件命名
    建庫結果
    如果建立的是核酸庫,輸出為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.nhr、db.seq.nin、db.seq.nsq和db.seq.nsd、db.seq.nsi、db.seq.nni、db.seq.nnd七個文件。
    此外還有log文件。

  • (2)blastall
    `blastall -i test.fa -d test.fa -o testblast.out -p blastp -F F -m 8 -e 1e-5 -b 10 -v 10 -a 2```
    主要參數
    以上流程中所用參數:
    -i 所用查詢序列文件
    -d 所用序列數據庫的名稱 default=nr
    -o BLAST結果的輸出文件
    -p 所用程序名稱: blastn,blastp,blastx,tblastn,tblastx
    -F 查詢序列過濾:將那些給出影響比對結果的低復雜度區域過濾掉 default = T
    -m 比對結果顯示格式 defalut=0
    -e 期望值,描述搜索某一特定數據庫時,隨機出現的匹配序列數目default = 10.0
    -b 顯示比對結果的最大數目 default=250
    -v 單行描述的最大數目 default=500
    -a 使用處理器的數目 default = 1(單機)
    其他參數:
    -G 空位gap開放罰分 default = 0
    -E 空位gap擴展罰分 default = 0
    -I 描述行顯示GI號[T/F], default = F
    -q 核酸序列基對不匹配mismatch所罰分數(只對blastn有效)default = -3
    -r 核苷酸序列基對匹配match所加分數(只對blastn有效) default = 1
    -g 是否執行帶缺口的比對 [T/F],default = T
    -B 需要聯配查詢的序列數目 default = 0
    -S:在數據庫中搜索時所使用的核酸鏈strand(只對blastn、blastx和tblastx有效),1表top,2表bottom,3表both,default=3
    -T: 產生HTML格式的輸出[T/F],default = F
    -n: 使用MegaBlast搜索[T/F],default = F
    -r : 一個核酸鹼基的正確匹配(match)的獎分(只對blastn有效),default = 1
    -M: 所使用的打分矩陣,default = BLOSUM62

-m 比對結果格式選項:

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 = query-anchored no identities and blunt ends,查詢-比上區域,不顯示一致性,無突然的結束  
6 = flat query-anchored, no identities and blunt ends,查詢-比上區域的屏文形式,不顯示一致性  
7 = XML Blast output,XML格式的輸出  
8 = tabular,TAB格式的輸出  
9 =tabular with comment lines,帶注釋行的TAB格式的輸出  
10 =ASN, text,文本方式的ASN格式輸出  
11 =ASN, binary [Integer] default = 0,二進制方式的ASN格式輸出  

m8格式12列結果:

Query id, Subject id, % identity, alignment length, mismatches, gap openings, q.start, q.end, s.start, s.end, e-value, bit score
第一列為Query(遞交序列),
第二列為數據庫序列(目標序列subejct),
第三列為: identity
第四列為:比對長度
第五列為:錯配數
第六列為:gap數
第七列和第八列為:Query開始鹼基位置和結束鹼基位置
第九列和第十列為:Subject開始鹼基位置和結束鹼基位置
第十一列為:期望值
第十二列為:比對得分

Ref: https://blog.csdn.net/g_r_c/article/details/8477924
https://blog.csdn.net/bangemantou/article/details/7726585

2. Blast+

blast+是blast的升級,將blastn,blastx等程序與blastall命令分隔開來,對各個命令的參數定制更為方便。
blast+也是格式化數據庫和比對搜索兩步,但命令不同。

  • (1)格式化數據庫
    makeblastdb -in db.fasta -dbtype prot -parse_seqids -out dbname -title dbtitle -logfile filename
    參數說明:
    -in:待格式化的序列文件
    -dbtype:數據庫類型,prot或nucl
    -parse_seqids:解析序列標識(建議加上)
    -out:數據庫名
    -title:數據庫名(略)
    -logfile:日志文件,默認輸出到屏幕
    更多參數 makeblastdb -help

  • (2)blast+比對
    蛋白序列比對蛋白數據庫(blastp)
    blastp -query seq.fasta -db dbname -out seq.blast -outfmt 6 -evalue 1e-5 -num_alignments 10 -num_descriptions 10 -num_threads 2
    blastx -query seq.fasta -out seq.blast -db dbname -outfmt 6 -evalue 1e-5 -num_descriptions 10 -num_threads 2
    參數說明:
    -query: 輸入文件路徑及文件名
    -out:輸出文件路徑及文件名
    -db:格式化了的數據庫路徑及數據庫名
    -outfmt:輸出文件格式,總共有12種格式,6是tabular格式,對應BLAST的m8格式
    -evalue:設置輸出結果的期望值
    -num_alignments 顯示比對數Default = 250
    -num_descriptions:單行描述的最大數目 default=500
    -num_threads:線程數
    更多參數 blastp -help

3. diamond

diamond主要4個程序:
makedb
blastp
blastx
view
過程也是建庫和 比對兩步。

-(1)建庫
diamond makedb --in nr.fa -d nr
參數說明
--in : 參考序列(格式:fasta)
-d: 索引的前綴名

-(2)比對
diamond blastp -d nr -q reads.fa -e 1e-5 -f 6 -o out_diamond.m6 -k 10 -p 2
主要參數說明
--db/-d 輸入比對數據庫
--query/-q 比對序列
--threads/-p 線程數
--out/-o 輸出文件
--outfmt/-f 輸出文件格式,默認6(表格)
--evalue/-e 比對的最大evalue值(默認0.001)
--max-target-seqs/-k 比對到的最大序列數,默認值是25

其他參數
--top 百分數的形式表示--max-target-seqs
--min-score 最小評分
--id 給出指定百分比的數據
--subject-cover 最小覆蓋度
--unal (0,1) 是否輸出未比對上的reads(0=no, 1=yes)
--sensitive 建議對齊較長的序列
--more-sensitive 比對准確度更高
--block-size/b,一次處理的十億鹼基的大小,主要控制內存使用,默認為2(預計使用此內存數量的大約六倍,即默認內存使用將到達12G),轉錄流程使用0.2
--salltitles 將全長標題包含在DAA格式中,默認DAA文件僅包含縮短序列ID(直到第一個空白字符)

轉錄組流程使用參數
diamond blastx --evalue 1e-05 --threads 3 --outfmt 5 -d /ifs4/BC_PUB/biosoft/db/Pub/nr/RNA/20170924/animal.fa -q allcdnawithnovelcds.fa -o allcdnawithnovelcds.fa.blast.nr --seg no --max-target-seqs 5 --more-sensitive -b 0.2 --salltitles

Ref: https://github.com/bbuchfink/diamond/blob/master/diamond_manual.pdf

diamond輸出格式:

0 BLAST pairwise format.  
5 BLAST XML format.  
6 表格模式 (默認輸出格式).    
100 DIAMOND  
101 SAM format.  
102 Taxonomic classification.  
103 PAF format.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM