diamond安装与使用-diamond-2.1.8(bioinfomatics tools-010)

01 背景

DIAMOND 是一款用于蛋白质翻译后DNA搜索的序列比对工具,专为大规模序列数据的高性能分析设计。其主要特点包括:

- 与BLAST相比,蛋白质和翻译后DNA的成对比对速度快100倍至10000倍。
- 能够聚类多达数十亿个蛋白质。
- 适用于长读取分析的帧移比对。
- 资源需求低,适合在标准桌面或笔记本电脑上运行。
- 多种输出格式,包括BLAST成对比对、表格和XML,以及分类学分类。

blast一万倍!blast详见Blast安装及使用-Blast+2.14.0(bioinfomatics tools-001)

02 参考
https://github.com/bbuchfink/diamond    #参考github
http://www.diamondsearch.org     #软件开发官网
03 安装
wget -c https://github.com/bbuchfink/diamond/releases/download/v2.1.8/diamond-linux64.tar.gz           #下载
tar -zxvf diamond-linux64.tar.gz       #解压

##method2
# 下载工具
wget http://github.com/bbuchfink/diamond/releases/download/v2.1.9/diamond-linux64.tar.gz
tar xzf diamond-linux64.tar.gz
04 使用

很像blast,具体没啥太大区别。主要还是比对蛋白序列

./diamond help
diamond v2.1.8.162 (C) 马克斯·普朗克科学促进会,本杰明·布赫芬克,蒂宾根大学
文档、支持和更新可在 http://www.diamondsearch.org 获得
请引用:http://dx.doi.org/10.1038/s41592-021-01101-x Nature Methods (2021)

语法:diamond 命令 [选项]

命令:
makedb                   从FASTA文件构建DIAMOND数据库
prepdb                   为Diamond使用准备BLAST数据库
blastp                   将氨基酸查询序列与蛋白质参考数据库对齐
blastx                   将DNA查询序列与蛋白质参考数据库对齐
cluster                  聚类蛋白序列
linclust                 线性时间内聚类蛋白序列
realign                  重新对齐聚类序列与它们的中心点
recluster                重新计算聚类以修复错误
reassign                 重新分配聚类序列到最近的中心点
view                     查看DIAMOND对齐档案(DAA)格式的文件
merge-daa                合并DAA文件
help                     生成帮助信息
version                  显示版本信息
getseq                   从DIAMOND数据库文件检索序列
dbinfo                   打印关于DIAMOND数据库文件的信息
test                     运行回归测试
makeidx                  制作数据库索引
greedy-vertex-cover      计算贪心顶点覆盖

可以用语法看到命令的可能 [选项]:diamond 命令

在线文档可在 http://www.diamondsearch.org 查看
4.1 diamond makedb
/diamond makedb
diamond v2.1.8.162 (C) 马克斯·普朗克科学促进会,本杰明·布赫芬克,蒂宾根大学
文档、支持和更新可在 http://www.diamondsearch.org 获得
请引用:http://dx.doi.org/10.1038/s41592-021-01101-x Nature Methods (2021)

选项:
--threads                CPU线程数
--verbose                详细控制台输出
--log                    启用调试日志
--quiet                  禁用控制台输出
--tmpdir                 临时文件目录
--db                     数据库文件
--in                     输入参考文件,FASTA格式/合并-daa的输入DAA文件
--taxonmap               蛋白质访问号到taxid的映射文件
--taxonnodes             来自NCBI的分类学nodes.dmp
--taxonnames             来自NCBI的分类学names.dmp
--file-buffer-size       文件缓冲区大小,以字节为单位(默认=67108864)
--no-unlink              不删除临时文件。
--ignore-warnings        忽略警告
--no-parse-seqids        打印原始seqids,不进行解析
4.2 diamond blastp
./diamond blastp
diamond v2.1.8.162 (C) 马克斯·普朗克科学促进会,本杰明·布赫芬克,蒂宾根大学
文档、支持和更新可在 http://www.diamondsearch.org 获得
请引用:http://dx.doi.org/10.1038/s41592-021-01101-x Nature Methods (2021)

选项:
--threads                CPU线程数
--verbose                详细控制台输出
--log                    启用调试日志
--quiet                  禁用控制台输出
--tmpdir                 临时文件目录
--db                     数据库文件
--out                    输出文件
--header                 在表格输出格式中使用标题行(0/简单/详细)。
--comp-based-stats       基于组成的统计模式(0-4)
--masking                掩码算法(无,seg,tantan=默认)
--soft-masking           软掩码(无=默认,seg,tantan)
--evalue                 报告比对的最大e值(默认=0.001)
--motif-masking          软掩蔽丰富的基序(0/1)
--approx-id              报告比对/聚类序列的最小近似身份% 
--ext                    扩展模式(banded-fast/banded-slow/full)
--max-target-seqs        报告比对的最大目标序列数(默认=25)
--top                    报告与顶级比对分数范围内的此百分比的比对(覆盖--max-target-seqs)
--faster                 启用更快模式
--fast                   启用快速模式
--mid-sensitive          启用中等灵敏度模式
--sensitive              启用灵敏度模式
--more-sensitive         启用更灵敏度模式
--very-sensitive         启用非常灵敏度模式
--ultra-sensitive        启用超级灵敏度模式
--shapes                 种子形状数(默认=所有可用)
--query                  输入查询文件
--strand                 搜索的查询链(双向/负向/正向)
--un                     未比对查询的文件
--al                     比对查询的文件或文件
--unfmt                  未比对查询文件的格式(fasta/fastq)
--alfmt                  比对查询文件的格式(fasta/fastq)
--unal                   报告未比对查询(0=否,1=是)
--max-hsps               每个查询报告的每个目标序列的最大HSP数(默认=1)
--range-culling          将命中剔除限制在重叠的查询范围内
--compress               输出文件的压缩(0=无,1=gzip,zstd)
--min-score              报告比对的最小比特分数(覆盖e值设置)
--id                     报告比对的最小身份%
--query-cover            报告比对的最小查询覆盖%
--subject-cover          报告比对的最小主题覆盖%
--swipe                  对所有数据库序列进行详尽的比对
--iterate                以增加的灵敏度进行迭代搜索
--global-ranking         全球排名的目标数
--block-size             以十亿字母为单位的序列块大小(默认=2.0)
--index-chunks           索引处理的块数(默认=4)
--parallel-tmpdir        多处理用的临时文件目录
--gapopen                缺口开启罚分
--gapextend              缺口扩展罚分
--matrix                 蛋白质比对的得分矩阵(默认=BLOSUM62)
--custom-matrix          包含自定义评分矩阵的文件
--frameshift             帧移罚分(默认=禁用)
--long-reads             简化 --

range-culling --top 10 -F 15
--query-gencode          用于翻译查询的遗传密码(参见用户手册)
--salltitles             在DAA文件中包含完整的主题标题
--sallseqid              在DAA文件中包含所有主题id
--no-self-hits           抑制报告相同的自身命中
--taxonlist              将搜索限制在税种id列表(逗号分隔)
--taxon-exclude          排除税种id列表(逗号分隔)
--seqidlist              通过访问号列表过滤数据库
--skip-missing-seqids    忽略数据库中缺失的访问号
--outfmt                 输出格式
	0   = BLAST成对
	5   = BLAST XML
	6   = BLAST表格
	100 = DIAMOND比对档案(DAA)
	101 = SAM
	102 = 分类学分类
	103 = PAF
	104 = JSON(扁平)

	6和104的值可能后接一个由这些关键词组成的空格分隔列表:

	qseqid 表示查询序列 - id
	qlen 表示查询序列长度
	sseqid 表示主题序列 - id
	sallseqid 表示所有主题序列 - id,用';'分隔
	slen 表示主题序列长度
	qstart 表示查询中的比对开始
	qend 表示查询中的比对结束
	sstart 表示主题中的比对开始
	send 表示主题中的比对结束
	qseq 表示比对的查询序列部分
	qseq_translated 表示比对的查询序列部分(翻译后)
	full_qseq 表示查询序列
	full_qseq_mate 表示伴侣的查询序列
	sseq 表示比对的主题序列部分
	full_sseq 表示主题序列
	evalue 表示期望值
	bitscore 表示比特分数
	corrected_bitscore 表示边缘效应校正的比特分数
	score 表示原始得分
	length 表示比对长度
	pident 表示相同匹配的百分比
	approx_pident 表示大约的相同匹配百分比
	nident 表示相同匹配的数量
	mismatch 表示不匹配的数量
	positive 表示积极评分匹配的数量
	gapopen 表示缺口开启的数量
	gaps 表示总缺口数量
	ppos 表示积极评分匹配的百分比
	qframe 表示查询框架
	btop 表示Blast回溯操作(BTOP)
	cigar 表示CIGAR字符串
	staxids 表示唯一的主题分类学ID,用';'分隔(按数字顺序)
	sscinames 表示唯一的主题科学名称,用';'分隔
	sskingdoms 表示唯一的主题超级王国,用';'分隔
	skingdoms 表示唯一的主题王国,用';'分隔
	sphylums 表示唯一的主题门类,用';'分隔
	stitle 表示主题标题
	salltitles 表示所有主题标题,用'<>'分隔
	qcovhsp 表示查询每HSP的覆盖率
	scovhsp 表示主题每HSP的覆盖率
	qtitle 表示查询标题
	qqual 表示比对部分的查询质量值
	full_qqual 表示查询质量值
	qstrand 表示查询链

	默认:qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore
--file-buffer-size       文件缓冲区大小,以字节为单位(默认=67108864)
--no-unlink              不删除临时文件。
--ignore-warnings        忽略警告
--no

-parse-seqids        打印原始seqids,不进行解析
--bin                    用于种子搜索的查询分区数
--ext-chunk-size         自适应排名的块大小(默认=自动)
--no-ranking             禁用排名启发式
--dbsize                 有效数据库大小(以字母为单位)
--no-auto-append         禁用自动添加DAA和DMND文件扩展名
--tantan-minMaskProb     用于掩蔽的最小重复概率(默认=0.9)
--algo                   种子搜索算法(0=双索引/1=查询索引/ctg=连续种子)
--min-orf                忽略没有至少这个长度开放阅读框的翻译序列
--seed-cut               种子复杂度的截断
--freq-masking           基于频率掩蔽种子
--freq-sd                忽略频繁种子的标准偏差数
--id2                    第一阶段命中的最小身份数
--linsearch              仅考虑与相同种子的最长目标的种子命中
--lin-stage1             仅考虑与相同种子的最长查询的种子命中
--xdrop                  无缝隙比对的xdrop
--gapped-filter-evalue   缝隙过滤的E值阈值(自动)
--band                   动态规划计算的带宽
--shape-mask             种子形状
--multiprocessing        启用分布式内存并行处理
--mp-init                初始化多处理运行
--mp-recover             启用中断多处理运行的继续
--mp-query-chunk         仅处理指定的单个查询块
--culling-overlap        与得分更高的命中重叠的最小范围,以删除命中(默认=50%)
--taxon-k                每个物种报告的最大目标数
--range-cover            范围剔除的查询范围覆盖百分比(默认=50%)
--xml-blord-format       在XML输出中使用gnl|BL_ORD_ID|样式格式
--sam-query-len          将查询长度添加到SAM格式(标签ZQ)
--stop-match-score       设置终止密码子之间的匹配得分。
--target-indexed         启用目标索引模式
--daa                    DIAMOND比对档案(DAA)文件
--window                 本地命中搜索的窗口大小
--ungapped-score         继续本地扩展的最小比对得分
--hit-band               命中验证的带宽
--hit-score              保留临时比对的最小得分
--gapped-xdrop           缝隙比对的xdrop,以比特为单位
--rank-ratio2            包括最后一次命中的这个比例内的主题(第二阶段)
--rank-ratio             包括最后一次命中的这个比例内的主题
--lambda                 自定义矩阵的lambda参数
--K                      自定义矩阵的K参数
4.3 diamond blastx
./diamond blastx
diamond v2.1.8.162 (C) 马克斯·普朗克科学促进会,本杰明·布赫芬克,蒂宾根大学
文档、支持和更新可在 http://www.diamondsearch.org 获得
请引用:http://dx.doi.org/10.1038/s41592-021-01101-x Nature Methods (2021)

选项:
--threads                CPU线程数
--verbose                详细控制台输出
--log                    启用调试日志
--quiet                  禁用控制台输出
--tmpdir                 临时文件目录
--db                     数据库文件
--out                    输出文件
--header                 在表格输出格式中使用标题行(0/简单/详细)。
--comp-based-stats       基于组成的统计模式(0-4)
--masking                掩码算法(无,seg,tantan=默认)
--soft-masking           软掩码(无=默认,seg,tantan)
--evalue                 报告比对的最大e值(默认=0.001)
--motif-masking          软掩蔽丰富的基序(0/1)
--approx-id              报告比对/聚类序列的最小近似身份% 
--ext                    扩展模式(banded-fast/banded-slow/full)
--max-target-seqs        报告比对的最大目标序列数(默认=25)
--top                    报告与顶级比对分数范围内的此百分比的比对(覆盖--max-target-seqs)
--faster                 启用更快模式
--fast                   启用快速模式
--mid-sensitive          启用中等灵敏度模式
--sensitive              启用灵敏度模式
--more-sensitive         启用更灵敏度模式
--very-sensitive         启用非常灵敏度模式
--ultra-sensitive        启用超级灵敏度模式
--shapes                 种子形状数(默认=所有可用)
--query                  输入查询文件
--strand                 搜索的查询链(双向/负向/正向)
--un                     未比对查询的文件
--al                     比对查询的文件或文件
--unfmt                  未比对查询文件的格式(fasta/fastq)
--alfmt                  比对查询文件的格式(fasta/fastq)
--unal                   报告未比对查询(0=否,1=是)
--max-hsps               每个查询报告的每个目标序列的最大HSP数(默认=1)
--range-culling          将命中剔除限制在重叠的查询范围内
--compress               输出文件的压缩(0=无,1=gzip,zstd)
--min-score              报告比对的最小比特分数(覆盖e值设置)
--id                     报告比对的最小身份%
--query-cover            报告比对的最小查询覆盖%
--subject-cover          报告比对的最小主题覆盖%
--swipe                  对所有数据库序列进行详尽的比对
--iterate                以增加的灵敏度进行迭代搜索
--global-ranking         全球排名的目标数
--block-size             以十亿字母为单位的序列块大小(默认=2.0)
--index-chunks           索引处理的块数(默认=4)
--parallel-tmpdir        多处理用的临时文件目录
--gapopen                缺口开启罚分
--gapextend              缺口扩展罚分
--matrix                 蛋白质比对的得分矩阵(默认=BLOSUM62)
--custom-matrix          包含自定义评分矩阵的文件
--frameshift             帧移罚分(默认=禁用)
--long-reads             简化 --

range-culling --top 10 -F 15
--query-gencode          用于翻译查询的遗传密码(参见用户手册)
--salltitles             在DAA文件中包含完整的主题标题
--sallseqid              在DAA文件中包含所有主题id
--no-self-hits           抑制报告相同的自身命中
--taxonlist              将搜索限制在税种id列表(逗号分隔)
--taxon-exclude          排除税种id列表(逗号分隔)
--seqidlist              通过访问号列表过滤数据库
--skip-missing-seqids    忽略数据库中缺失的访问号
--outfmt                 输出格式
	0   = BLAST成对
	5   = BLAST XML
	6   = BLAST表格
	100 = DIAMOND比对档案(DAA)
	101 = SAM
	102 = 分类学分类
	103 = PAF
	104 = JSON(扁平)

	6和104的值可能后接一个由这些关键词组成的空格分隔列表:

	qseqid 表示查询序列 - id
	qlen 表示查询序列长度
	sseqid 表示主题序列 - id
	sallseqid 表示所有主题序列 - id,用';'分隔
	slen 表示主题序列长度
	qstart 表示查询中的比对开始
	qend 表示查询中的比对结束
	sstart 表示主题中的比对开始
	send 表示主题中的比对结束
	qseq 表示比对的查询序列部分
	qseq_translated 表示比对的查询序列部分(翻译后)
	full_qseq 表示查询序列
	full_qseq_mate 表示伴侣的查询序列
	sseq 表示比对的主题序列部分
	full_sseq 表示主题序列
	evalue 表示期望值
	bitscore 表示比特分数
	corrected_bitscore 表示边缘效应校正的比特分数
	score 表示原始得分
	length 表示比对长度
	pident 表示相同匹配的百分比
	approx_pident 表示大约的相同匹配百分比
	nident 表示相同匹配的数量
	mismatch 表示不匹配的数量
	positive 表示积极评分匹配的数量
	gapopen 表示缺口开启的数量
	gaps 表示总缺口数量
	ppos 表示积极评分匹配的百分比
	qframe 表示查询框架
	btop 表示Blast回溯操作(BTOP)
	cigar 表示CIGAR字符串
	staxids 表示唯一的主题分类学ID,用';'分隔(按数字顺序)
	sscinames 表示唯一的主题科学名称,用';'分隔
	sskingdoms 表示唯一的主题超级王国,用';'分隔
	skingdoms 表示唯一的主题王国,用';'分隔
	sphylums 表示唯一的主题门类,用';'分隔
	stitle 表示主题标题
	salltitles 表示所有主题标题,用'<>'分隔
	qcovhsp 表示查询每HSP的覆盖率
	scovhsp 表示主题每HSP的覆盖率
	qtitle 表示查询标题
	qqual 表示比对部分的查询质量值
	full_qqual 表示查询质量值
	qstrand 表示查询链

	默认:qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore
--file-buffer-size       文件缓冲区大小,以字节为单位(默认=67108864)
--no-unlink              不删除临时文件。
--ignore-warnings        忽略警告
--no

-parse-seqids        打印原始seqids,不进行解析
--bin                    用于种子搜索的查询分区数
--ext-chunk-size         自适应排名的块大小(默认=自动)
--no-ranking             禁用排名启发式
--dbsize                 有效数据库大小(以字母为单位)
--no-auto-append         禁用自动添加DAA和DMND文件扩展名
--tantan-minMaskProb     用于掩蔽的最小重复概率(默认=0.9)
--algo                   种子搜索算法(0=双索引/1=查询索引/ctg=连续种子)
--min-orf                忽略没有至少这个长度开放阅读框的翻译序列
--seed-cut               种子复杂度的截断
--freq-masking           基于频率掩蔽种子
--freq-sd                忽略频繁种子的标准偏差数
--id2                    第一阶段命中的最小身份数
--linsearch              仅考虑与相同种子的最长目标的种子命中
--lin-stage1             仅考虑与相同种子的最长查询的种子命中
--xdrop                  无缝隙比对的xdrop
--gapped-filter-evalue   缝隙过滤的E值阈值(自动)
--band                   动态规划计算的带宽
--shape-mask             种子形状
--multiprocessing        启用分布式内存并行处理
--mp-init                初始化多处理运行
--mp-recover             启用中断多处理运行的继续
--mp-query-chunk         仅处理指定的单个查询块
--culling-overlap        与得分更高的命中重叠的最小范围,以删除命中(默认=50%)
--taxon-k                每个物种报告的最大目标数
--range-cover            范围剔除的查询范围覆盖百分比(默认=50%)
--xml-blord-format       在XML输出中使用gnl|BL_ORD_ID|样式格式
--sam-query-len          将查询长度添加到SAM格式(标签ZQ)
--stop-match-score       设置终止密码子之间的匹配得分。
--target-indexed         启用目标索引模式
--daa                    DIAMOND比对档案(DAA)文件
--window                 本地命中搜索的窗口大小
--ungapped-score         继续本地扩展的最小比对得分
--hit-band               命中验证的带宽
--hit-score              保留临时比对的最小得分
--gapped-xdrop           缝隙比对的xdrop,以比特为单位
--rank-ratio2            包括最后一次命中的这个比例内的主题(第二阶段)
--rank-ratio             包括最后一次命中的这个比例内的主题
--lambda                 自定义矩阵的lambda参数
--K                      自定义矩阵的K参数
05 常用命令行

同blast,常用三个命令makedbblastp、blastx如下:

# 创建一个diamond格式的数据库文件
./diamond makedb --in reference.fasta -d reference
# 以blastp模式运行搜索
./diamond blastp -d reference -q queries.fasta -o matches.tsv
# 以blastx模式运行搜索
./diamond blastx -d reference -q reads.fasta -o matches.tsv
# 下载并使用BLAST数据库
update_blastdb.pl --decompress --blastdb_version 5 swissprot
./diamond prepdb -d swissprot
./diamond blastp -d swissprot -q queries.fasta -o matches.tsv

需要考虑的一些重要点:

- 默认情况下,重复掩蔽会应用于查询和参考序列。要禁用它,请使用 --masking 0。
- DIAMOND 为大型输入文件优化,>1 百万蛋白质。当然,该工具也可以用于较小的文件,但算法将不会达到其全部效率。
- 该程序可能会使用相当多的内存和临时磁盘空间。如果程序因内存或磁盘空间不足而失败,您需要为块大小参数 -b 设置一个较低的值。
- 可以使用选项 --fast、--mid-sensitive、--sensitive、--more-sensitive、--very-sensitive 和 --ultra-sensitive 调整灵敏度。

同时,diamond也是一些共线性分析同源序列分析的必备工具,对于大型转录组,基因组分析,blast就很慢,可能要跑几天,而blast就很快!必备!时间就是效率

06 参考文献
  • Buchfink B, Reuter K, Drost HG, "Sensitive protein alignments at tree-of-life scale using DIAMOND", Nature Methods 18, 366–368 (2021). doi:10.1038/s41592-021-01101-x
  • Buchfink B, Xie C, Huson DH, "Fast and sensitive protein alignment using DIAMOND", Nature Methods 12, 59-60 (2015). doi:10.1038/nmeth.3176
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值