专栏名称: 生信媛
生信媛,从1人分享,到8人同行。坚持分享生信入门方法与课程,持续记录生信相关的分析pipeline, python和R在生物信息学中的利用。内容涵盖服务器使用、基因组转录组分析以及群体遗传。
目录
相关文章推荐
51好读  ›  专栏  ›  生信媛

DIAMOND: 超快的蛋白序列比对软件

生信媛  · 公众号  · 生物  · 2019-08-29 14:00

正文

请到「今天看啥」查看全文


今天用BLASTX将我的转录本序列在UniProt蛋白数据库(700w条序列)中搜索,80个线程,过了1小时大概就分析1000条吧。实在是有点慢,于是我想到之前耳闻的DIAMOND,据说速度非常快,于是我测试了下。没想到,这工具居然那么快。

根据DIAMOND介绍,它有以下特点

  • 比BLAST快500到20,000倍

  • 长序列的移框联配分析(frameshift alignment)

  • 资源消耗小,普通台式机和笔记本都能运行

  • 输出格式多样

我就看中它一点,速度快。

软件安装异常的简单,因为提供了预编译的64位可执行文件

  1. wget http://github.com/bbuchfink/diamond/releases/download/v0.9.25/diamond-linux64.tar.gz

  2. tar xzf diamond-linux64.tar.gz

  3. # 有root全新啊

  4. sudo mv diamond /usr/local/bin

  5. # 无root权限, ~/bin是自己当前目录下

  6. mv diamond ~/bin

因为 diamon的功能就是将蛋白或者翻译后的核苷酸和蛋白数据库进行比对,没有BLAST那么多功能,所以软件使用也是异常的简单。

第一步: 先从NCBI上下载蛋白数据库。NR库是NCBI的非冗余蛋白数据库,

  1. wget ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/nr.gz

  2. gunzip nr .gz

也可以从ftp://ftp.ncbi.nlm.nih.gov/refseq/release/plant/下载植物的蛋白数据库

第二步: 建库。就两个参数, -- in nr 输入文件, -- db nr 输出的数据库前缀

  1. diamond makedb --in nr --db nr

第三步: 搜索。就两个子命令,blastp和blastx,前者比对蛋白,后者比对DNA序列

  1. diamond blastx --db nr -q reads.fna -o dna_matches_fmt6.txt

  2. diamond blastp --db nr -q reads.faa -o protein_matches_fmt6.txt

- q /-- query 输入检索序列, -- out /- o 输出文件,默认以 -- outfmt 6 输出结果和BLAST+的 -- outfmt 6 结果一致。

注意事项:

  • 默认参数主要是针对短序列,对于比较长的序列,使用 -- sensitive -- more - senstive 提高敏感度。

  • 默认的e-value阈值是0.001, 而BLAST是10,因此会比BLAST结果更加严格

性能优化:

  • 设置比较低的 - e 参数

  • 设置 - k 参数,减少输出的联配数目。这会降低临时文件大小和最终结果

  • -- top 会输出得分比最好的分数低一定百分比的结果,

  • -- compress 1 : 输出结果会以gzip进行压缩

参考文献

Benjamin Buchfink, Chao Xie, and Daniel H. Huson. Fast and sensitive protein alignment using diamond. Nature methods, 12(1):59–60, Jan 2015.








请到「今天看啥」查看全文