Skip to content

CLI reference

domainator hmmer_select

Extract a subset of profiles from HMM files.

Find profiles in an hmm file using text-based searches

Search through an hmm file to find profiles with names or descriptions matching a specified regex or string, or containing a specified string.

All specifications are treated as "OR" with relation to each other. So any profile that matches any of the specifications will be returned.

Amino acid, DNA, and RNA profiles are all supported. Because HMMER locks an hmm file to
the alphabet of its first profile, every profile written to one output file must share a
single alphabet, so all --input files must agree. --alphabet restricts the search to input
files of one alphabet, which is how a mixed set of files can be split into per-alphabet
outputs. Unlike the text criteria, --alphabet is a restriction rather than another "OR"
term: it narrows whatever the text criteria matched.

Give at least one of these outputs: --hmm_out. - as an input or output means standard input or output, where the option says it is allowed.

Option Value Default Description
-v, --verbose show debug output, and a traceback for errors.
-q, --quiet show errors only: no progress messages or warnings.
-i, --input FILE ... required names of input hmm files. Use - to read standard input.
-o, --hmm_out FILE Write the selected profiles to this hmm file. Writes gzip-compressed output if the path ends in '.gz'; '.bgz' is refused because HMMER cannot read BGZF. Output to stdout is never compressed. Use - for standard output.
--regex STRING ... What regex(es) to search.
--exact STRING ... What exact string(s) to search. Target must match exactly with no additions at either end.
--contains STRING ... What string(s) to search. Target must contain this as a substring.
--field {name,desc,acc,all} all whether to search the NAME field, the DESC field, the ACC field, or all three.
--case_sensitive If set, then the search is case sensitive. Otherwise it is case insensitive.
--alphabet {amino,dna,rna} Only read input files whose profiles use this alphabet, skipping the rest. Unlike the text criteria this narrows the selection rather than adding to it, and it can be used on its own to split a mixed set of input files by alphabet. Because an hmm file can only hold one alphabet, this selects whole files.

Every command also takes --config FILE (options from a JSON or YAML file, keyed by option name) and --print_config.