史上最全的BLAST本地化教程(四)DIAMOND: 超快蛋白序列比对软件

1. DIAMOND简介

对全基因组的基因进行Nr注释是必不可少的一步。由于Nr数据库非常大,导致使用BLAST会消耗巨大的计算资源和时间。使用DIAMOND则能快500-20000倍,而获得和BLAST比较一致的结果。特别是对于长度为100-150bp,数量超过1M的核酸序列,DIAMOND的速度比BLASTX快20000倍;当e-value设置为1e-5时,DIAMOND能报告80~90%的BLASTX匹配结果;若设置sensitivie模式,DIAMOND速度是BLASTX的2500倍,DIAMOND能报告94%的BLASTX匹配结果。因此,对大批量的序列进行Nr注释或规模较大的蛋白数据库的比对,使用DIAMOND是优先选择的方式。

$ wget https://github.com/bbuchfink/diamond/releases/download/v0.9.24/diamond-linux64.tar.gz -P ~/software/
$ mkdir /opt/biosoft/diamond
$ tar zxf ~/software/diamond-linux64.tar.gz -C /opt/biosoft/diamond
$ echo 'PATH=$PATH:/opt/biosoft/diamond' >> ~/.bashrc
$ source ~/.bashrc

2. DIAMOND使用

DIAMOND软件的主命令是diamond,它的使用包含几个子命令。DIAMOND最常用的使用方法:

  1. 建库使用DIAMOND软件的子命令makedb将FASTA格式的蛋白序列创建成后缀为 .dmnd的数据库文件:
diamond makedb --in /mnt/nas1/wanghw/database/diamond.nr/nr_Virus.fa --db /mnt/nas1/wanghw/database/diamond.nr/nr_Virus &

对于拆分好的病毒nr库构建索引只需要花费Total time = 111.993s

  1. 比对,就两个子命令,blastp和blastx,前者比对蛋白,后者比对DNA序列
diamond blastx --db /mnt/nas1/wanghw/database/diamond.nr/nr_Virus --query reads.fna --out dna_matches_fmt6.txt --sensitive --outfmt 5 --evalue 1e-5
diamond blastp --db /mnt/nas1/wanghw/database/diamond.nr/nr_Virus --query reads.faa --out protein_matches_fmt6.txt --sensitive --outfmt 5 --evalue 1e-5

参数说明
-q/--query:输入检索序列,
--out/-o:输出文件,默认以--outfmt 6输出结果和BLAST+的--outfmt 6结果一致。
--sensitive:提高敏感度。 (default: fast)
--evalue/-e:默认的e-value阈值是0.001, 而BLAST是10,因此会比BLAST结果更加严格
--top:输出一定数目的top匹配结果。例如设置该参数值为10,则报告匹配得分为top10的结果,即报告所有得分和最高得分相差10%以内的匹配结果。
更多参数请参考diamond help

参考:

http://www.chenlianfu.com/?m=20190407
https://www.jianshu.com/p/15a22c118392

你可能感兴趣的:(史上最全的BLAST本地化教程(四)DIAMOND: 超快蛋白序列比对软件)