diamond是一个新型的blast软件,优势有:
1.成对的蛋白序列比对,翻译的DNA序列比对(是blast速度的500-20000倍)
2.长的read的框移比对
3.需要较低的计算机配置
4.各种各样的输出格式,包括blast的pairwise格式,tabular格式,xml以及物种分类等等格式。
安装
二进制格式安装
- 下载数据,二进制格式
wget http://github.com/bbuchfink/diamond/releases/download/v0.9.31/diamond-linux64.tar.gz - 解压数据
tar xzf diamond-linux64.tar.gz - 添加到环境变量中
docker环境安装
git clone https://github.com/bbuchfink/diamond.git
cd diamond
#这里不要动其他文件,文件夹中的文件将来是要拷贝到镜像中然后构建的,还要注意命令行最后有一个"."
docker build -t diamond_docker(自己命名) .
构建文库
diamond makedb --in test.fasta -d test(数据库的名称)
注意:(
1.test.fasta是用来构建数据库的fasta文件
2.test是最后构建数据库的名字,在diamond blast的时候使用
blast分析
diamond blastx -d test -q query.fasta -o output.txt
注意:
1.环境中要安装blast系列程序
2.diamond会调用blast系列的程序
3.-q指定要进行blast的数据
4.-o指定输出的结果文件(可以指定格式,默认输出tabular格式,也就是txt)
输出的结果中各列的信息:
query_id
subject_id(名称是经过处理的,应该是空格分隔)
identity
match_length
mismatch length
gap number
query alignment start
query alignment end
subject alignment start
subject alignment end
evalue
bit-score
注意
1.程序将会使用大量的内存以及本地磁盘容量,当两者中有一个不满足情况,那么程序就会终止和报错。这个时候应该利用-b参数减小block size 参数
2.可以利用–sensitive/–more-sensitive参数来调整敏感性。
3.运行时间与处理的文件大小不成正比关系,diamond对于大文件的处理更有效率。