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文件。
    PS: 本流程數據庫已建好,后續只需blast運行即可。如nr庫/zfssz3/SP_MSI/Pipeline/FuctionalAnalysis/database/nr/nr_20170924/20170924

  • (2)blastall
    /opt/bio/ncbi/bin/blastall -i **.fa -d **.fa -o *blast.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 比對結果格式選項:

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 <file> 輸入比對數據庫
--query/-q <file> 比對序列
--threads/-p 線程數
--out/-o <file> 輸出文件
--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(直到第一個空白字符)

轉錄組流程使用參數
/ifs4/BC_PUB/biosoft/pipeline/RNA/RNA_RNAdenovo/RNA_RNAdenovo_2016a/Annotation/../software/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

PS: 流程中diamond已建好庫,如nr:/ifs4/BC_PUB/biosoft/db/Pub/nr/RNA/20170924
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.
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容