TAFFISH wrapper for DIAMOND, a fast protein sequence aligner for BLAST-like protein search, translated DNA-to-protein search, DIAMOND database creation, DAA archive handling, and protein clustering.
This repository packages upstream DIAMOND release 2.2.5 as the TAFFISH
package 2.2.5-r1.
Install from the public TAFFISH Hub index:
taf update
taf install diamondInstall the exact release:
taf install diamond 2.2.5-r1For local testing before the app is published to the public index:
taf install --from .Show TAFFISH app help:
taf-diamond --helpShow the TAFFISH package version:
taf-diamond --versionShow upstream DIAMOND version:
taf-diamond diamond versionShow upstream command help:
taf-diamond diamond help
taf-diamond diamond blastp
taf-diamond diamond makedbCreate a DIAMOND protein database:
taf-diamond diamond makedb --in proteins.faa -d proteins --threads 8Search protein queries against a DIAMOND database:
taf-diamond diamond blastp \
-d proteins \
-q query.faa \
-o blastp.tsv \
--threads 8 \
--outfmt 6 qseqid sseqid pident length evalue bitscoreSearch translated nucleotide queries against a protein database:
taf-diamond diamond blastx \
-d proteins \
-q transcripts.fa \
-o blastx.tsv \
--threads 8 \
--outfmt 6 qseqid sseqid pident length evalue bitscoreWrite a DIAMOND alignment archive and convert it later:
taf-diamond diamond blastp -d proteins -q query.faa -a matches --threads 8
taf-diamond diamond view -a matches.daa -o matches.tsvFor portable, simple workflows, direct tabular output with --outfmt 6 is the
recommended default. This TAFFISH package checks a tiny DAA archive plus
diamond view conversion in Docker validation and smoke.
Inspect or extract sequences from a DIAMOND database:
taf-diamond diamond dbinfo -d proteins.dmnd
taf-diamond diamond getseq -d proteins.dmnd -o proteins.from-db.faaCluster protein sequences:
taf-diamond diamond linclust -d proteins.faa -o clusters.tsv --threads 8 --approx-id 90
taf-diamond diamond linclust -d proteins.faa -o clusters.tsv --reps reps.faa --threads 8 --approx-id 90
taf-diamond diamond cluster -d proteins.faa -o clusters.tsv --threads 8Run database self-alignment without a separate query file:
taf-diamond diamond blastp \
-d proteins \
--self \
-o self.tsv \
--threads 8 \
--outfmt 6 qseqid sseqid pident length evalue bitscoreDIAMOND 2.2.4 introduced --single-step for controlled orchestration of
distributed clustering. Upstream requires it to be used together with
--parallel-tmpdir; it is an advanced multi-node control rather than a local
one-command clustering shortcut.
DIAMOND 2.2.5 adds optional reseeding controls for search workflows:
taf-diamond diamond blastp \
-d proteins \
-q query.faa \
-o blastp-reseek.tsv \
--threads 8 \
--reseek-diags \
--reseek-xdrop 20 \
--word-threshold 10 \
--double-hit-window 40 \
--outfmt 6 qseqid sseqid pident length evalue bitscoreThese controls are advanced tuning options. Keep upstream defaults unless the analysis has a documented reason to change reseeding behavior.
Because this is a command-mode TAFFISH tool, the first non-option argument is
the in-container command. DIAMOND's actual executable is named diamond, so
the clearest form is:
taf-diamond diamond blastp ...
taf-diamond diamond blastx ...
taf-diamond diamond makedb ...
taf-diamond diamond linclust ...Do not use taf-diamond blastp ... as the normal form. In command mode,
TAFFISH will interpret blastp as an executable inside the container, not as a
subcommand of diamond.
The -- separator is mainly useful for option-leading arguments to the
default diamond command:
taf-diamond -- --help
taf-diamond -- --versionFor DIAMOND commands such as blastp, makedb, view, or linclust, use
the explicit taf-diamond diamond <command> ... form.
This README lists common usage patterns, not the full upstream manual. The
TAFFISH wrapper calls upstream diamond directly, so official DIAMOND commands
and options are available as upstream implements them. Use
taf-diamond diamond help, taf-diamond diamond <command>, or the upstream
manual for the complete option list.
name: diamond
command: taf-diamond
version: 2.2.5-r1
kind: tool
image: ghcr.io/taffish/diamond:2.2.5-r1
upstream release: v2.2.5
runtime version: diamond version 2.2.5
help build banner: diamond v2.2.5.185
The container image is built from docker/Dockerfile. It starts from
debian:12-slim, downloads the official upstream v2.2.5 diamond-linux64
binary archive from GitHub, verifies it with a pinned sha256 checksum, and
keeps the upstream binary plus documentation/license files extracted from the
matching source tarball.
The runtime image includes these user-facing commands and runtime tools:
diamond
sh
The official Linux binary used here is dynamically linked against the standard glibc runtime libraries present in Debian. It does not require Python, R, Perl, or external bioinformatics helper executables for the core workflows tested here.
The official diamond-linux64 binary is used as released by upstream. Docker
validation and smoke for this release also exercise a minimal --compress zstd
search path.
DIAMOND 2.2.5 improves clustering and sequence-loading performance, fixes
additional clustering memory growth and non-determinism, and fixes
inter-toolchain inconsistency in sketch-based search. It also fixes invalid
line breaks in qtitle output when the query input is FASTQ.
The linear-time clustering stages now use banded extension by default. This is
an upstream behavior change that can affect performance and clustering output.
Use --ext full when a workflow intentionally needs the previous full-matrix
extension behavior. The release adds --reseek-diags, --reseek-xdrop,
--word-threshold, and --double-hit-window, and removes
--linclust-banded-ext and --lin-combo.
The preceding 2.2.4 release added --self and --single-step, improved
clustering and FASTA loading, and included ARM64 source-build fixes. This
wrapper preserves those upstream behaviors. Smoke runs a tiny self-alignment,
checks the distributed --single-step option surface, and exercises the new
reseek controls without fabricating a multi-node environment.
The preceding 2.2.3 release changed clustering defaults to BLAST-like
compositional matrix adjustment and conservative SEG masking and added options
including --comp-based-stats 6, --relative-entropy-tolerance, --taxdump,
--masking seg-all, --reps, --symmetrize-evalue, and --fpu-compat.
This package intentionally provides the normal upstream DIAMOND executable and
does not add a custom TAFFISH entrypoint. The upstream command surface includes
listed workflows such as makedb, blastp, blastx, view, merge-daa,
getseq, dbinfo, cluster, linclust, and other upstream-provided
commands.
The image is the official upstream CPU linux64 build. DIAMOND does not
require GPU runtime options for the workflows packaged here. This release is
native linux/amd64 only because upstream does not publish a matching official
Linux arm64 binary for v2.2.5. Upstream source supports ARM64, but the release
asset packaged here remains an x86-64 ELF binary. The TAFFISH wrapper requests
--platform linux/amd64 for Docker and Podman, so Apple Silicon and other
arm64 hosts can still use the package through Docker/Podman amd64 emulation.
Do not interpret that as native arm64 support.
The official binary does not enable the upstream EXTRA development command
set, so development-only commands such as blastn, random-seqs, or
smith-waterman are outside this TAFFISH package. If an upstream maintenance
or development command is listed but unavailable in the official binary, this
package preserves that upstream behavior rather than wrapping around it.
The image is built and validated for:
linux/amd64
The TAFFISH metadata declares a Docker smoke check:
exist: diamond, sh
test: diamond version reports 2.2.5 and help reports build 2.2.5.185
test: top-level help plus blastp, linclust, --self, --single-step, --reps, reseek controls, and view option surfaces are available
test: makedb, dbinfo, blastp, reseek execution, zstd output, DAA writing, and diamond view conversion work
test: tiny FASTA and FASTQ blastx searches produce tabular hits, with qtitle kept on one line
test: a tiny linclust clustering run produces a cluster table and representatives FASTA
test: a tiny database self-alignment produces a tabular hit
During TAFFISH Hub indexing, this smoke metadata verifies that the published image exposes the expected command surface, reports the pinned upstream version, includes the runtime pieces used by common workflows, and can run representative local database, search, DAA conversion, translated search, and clustering tasks. It does not download remote databases or exhaustively validate every DIAMOND option.
Each smoke command is self-contained because the public index runs every
[smoke].test entry in a fresh temporary container. No smoke entry depends on
files created by a previous entry.
source: https://github.com/bbuchfink/diamond
release: https://github.com/bbuchfink/diamond/releases/tag/v2.2.5
license: GPL-3.0-or-later
The TAFFISH app wrapper, Dockerfile, and documentation in this repository are released under Apache-2.0. The bundled upstream DIAMOND software is distributed under the upstream GPL-3.0-or-later license; keep that distinction in mind when redistributing derived images.
Please cite DIAMOND when using this package in scientific work:
Buchfink B, Reuter K, Drost HG. Sensitive protein alignments at tree-of-life
scale using DIAMOND. Nature Methods. 2021. doi:10.1038/s41592-021-01101-x.
PMID: 33828273.
For DIAMOND DeepClust workflows, upstream also lists:
Buchfink B, Xie C, Huson DH. Ultrafast and sensitive protein clustering using
DIAMOND DeepClust. Nature Methods. 2026. doi:10.1038/s41592-026-03030-z.
PMID: 41876643.