TAFFISH wrapper for HMMER, a command suite for building profile hidden Markov models and searching biological sequence databases for homologs, domains, and motifs.
This repository packages upstream HMMER 3.4 as a TAFFISH tool app. HMMER is a suite rather than a single-command program, so the recommended TAFFISH usage is explicit command mode:
taf-hmmer hmmbuild seed.hmm seed.sto
taf-hmmer hmmsearch seed.hmm proteins.fa
taf-hmmer hmmscan profiles.hmm query.faRunning taf-hmmer without an upstream command prints a compact suite summary.
Release 3.4-r2 is a help-only TAFFISH update. It keeps the upstream software,
Dockerfile, runtime dependencies, smoke tests, and command behavior unchanged
from 3.4-r1, and refreshes the terminal taf-hmmer --help text.
Install from the public TAFFISH Hub index:
taf update
taf install hmmerInstall the exact release:
taf install hmmer 3.4-r2For local testing before the app is published to the public index:
taf install --from .Show TAFFISH app help:
taf-hmmer --helpShow the TAFFISH package version:
taf-hmmer --versionShow the HMMER suite summary provided by this app:
taf-hmmer
taf-hmmer -- --helpShow upstream command help:
taf-hmmer hmmbuild -h
taf-hmmer hmmsearch -h
taf-hmmer hmmscan -h
taf-hmmer esl-reformat -hBuild a profile HMM from a Stockholm alignment:
taf-hmmer hmmbuild family.hmm family.stoSearch a sequence database with a profile HMM:
taf-hmmer hmmsearch --tblout hits.tbl family.hmm proteins.faPrepare an HMM database for hmmscan and scan query sequences:
taf-hmmer hmmpress profiles.hmm
taf-hmmer hmmscan --domtblout domains.tbl profiles.hmm query.faAlign sequences to a profile HMM:
taf-hmmer hmmalign family.hmm proteins.fa > aligned.stoSearch protein sequences directly without a prebuilt HMM:
taf-hmmer phmmer query.fa proteins.fa
taf-hmmer jackhmmer -N 3 query.fa proteins.faSearch nucleotide sequence databases:
taf-hmmer nhmmer dna_query.fa dna_targets.fa
taf-hmmer makehmmerdb dna_targets.fa dna_targets.hmmerdbUse bundled Easel miniapps for sequence and alignment manipulation:
taf-hmmer esl-reformat fasta alignment.sto > alignment.fa
taf-hmmer esl-seqstat proteins.fa
taf-hmmer esl-sfetch --index proteins.faBecause this is a command-mode TAFFISH tool, the first non-option argument is
the command to run inside the container. HMMER has no single upstream hmmer
command, so naming the upstream executable explicitly is the clearest form:
taf-hmmer hmmbuild family.hmm family.sto
taf-hmmer hmmsearch family.hmm proteins.fa
taf-hmmer esl-reformat fasta alignment.stoFor option-leading arguments sent to the app's suite-summary entrypoint, use
the -- separator:
taf-hmmer -- --help
taf-hmmer -- --versionThis README lists common usage patterns, not the full upstream manual. Use each upstream command's help output for its complete option list.
name: hmmer
command: taf-hmmer
version: 3.4-r2
kind: tool
image: ghcr.io/taffish/hmmer:3.4-r2
The container image is built from docker/Dockerfile. It starts from
debian:12-slim, downloads the official HMMER hmmer-3.4.tar.gz release
tarball from Eddy Lab, verifies its SHA-256 checksum, compiles HMMER from
source, installs HMMER under /opt/hmmer, and installs the bundled Easel
miniapps.
The official release tarball is used instead of GitHub's generated tag archive
because it includes the Easel source tree, upstream tutorial data, and
Userguide.pdf.
The image includes these public HMMER commands:
alimask
hmmalign
hmmbuild
hmmconvert
hmmemit
hmmfetch
hmmlogo
hmmpgmd
hmmpgmd_shard
hmmpress
hmmscan
hmmsearch
hmmsim
hmmstat
jackhmmer
phmmer
nhmmer
nhmmscan
makehmmerdb
The image also includes bundled Easel miniapps:
easel
esl-afetch
esl-alimanip
esl-alimap
esl-alimask
esl-alimerge
esl-alipid
esl-alirev
esl-alistat
esl-compalign
esl-compstruct
esl-construct
esl-histplot
esl-mask
esl-mixdchlet
esl-reformat
esl-selectn
esl-seqrange
esl-seqstat
esl-sfetch
esl-shuffle
esl-ssdraw
esl-translate
esl-weight
The runtime includes gzip and gunzip because HMMER/Easel can read gzip
compressed HMM, sequence, and alignment inputs through external gzip commands.
The upstream tutorial files and user guide are kept under:
/opt/hmmer/share/doc/hmmer
The image is built and validated natively for:
linux/amd64
HMMER 3.4 can compile many command-line paths on native arm64, but the
makehmmerdb FM-index path used by the nucleotide database workflow reports an
SSE-only format/runtime limitation on native arm64. To keep this TAFFISH app as
a complete HMMER suite, the published image is therefore linux/amd64 native.
The app embeds Docker/Podman --platform linux/amd64 runtime args, so arm64
hosts with Docker or Podman can still run the full suite through amd64
emulation:
TAFFISH_CONTAINER_BACKEND=docker taf-hmmer hmmbuild family.hmm family.sto
TAFFISH_CONTAINER_BACKEND=podman taf-hmmer hmmsearch family.hmm proteins.faApptainer availability on non-amd64 hosts depends on local platform/emulation support.
This app packages the standard HMMER command-line suite and bundled Easel
utilities. It does not bundle Pfam, Dfam, UniProt, or any other external
profile/sequence database. Build, press, download, or mount databases yourself
before running hmmsearch, hmmscan, nhmmer, or nhmmscan.
The build does not enable MPI. Standard HMMER thread options such as --cpu
and HMMER_NCPU are available where upstream supports them, but MPI workflows
are outside this app.
hmmpgmd and hmmpgmd_shard are installed because they are public upstream
programs. TAFFISH does not orchestrate persistent services, host networking, or
port exposure for them; use backend runtime policy if you intentionally deploy
the daemon mode.
HMMER auxiliary programs built only for upstream development or examples are
not exposed as primary commands unless upstream make install installs them.
The TAFFISH metadata declares Docker smoke checks that verify:
exist: all public HMMER commands, bundled Easel miniapps, gzip, gunzip
test: HMMER help reports 3.4
test: the TAFFISH suite-summary entrypoint works
test: core public command help paths are available
test: hmmbuild, hmmstat, hmmemit, and hmmsearch run on tutorial data
test: hmmpress and hmmscan run on tutorial data
test: gzip-compressed input is accepted
test: Easel reformat/stat paths work
test: nhmmer and makehmmerdb run on tutorial DNA data
These checks validate the container, command surface, hidden gzip dependency, bundled tutorial data, and representative protein/nucleotide HMMER workflows. They do not replace scientific validation on real production databases.
project: HMMER
homepage: http://hmmer.org/
source: https://github.com/EddyRivasLab/hmmer
release: https://github.com/EddyRivasLab/hmmer/releases/tag/hmmer-3.4
download: http://eddylab.org/software/hmmer/hmmer-3.4.tar.gz
license: BSD-3-Clause
citation: Eddy 2008; Eddy 2011
doi: 10.1371/journal.pcbi.1000069; 10.1371/journal.pcbi.1002195
pmid: 18516236; 22039361