Skip to content

CLI reference

domainator find_features

Annotate transmembrane regions, signal peptides, and other sequence features.

Annotate sequence files with feature detection algorithms

For each CDS or protein in the input file, run feature detection algorithms to 
identify transmembrane regions, signal peptides, and other sequence features.

If no feature options are supplied, the input is still processed to normalize
CDS translations where possible.

Supported algorithms:
    - TMbed: Transmembrane protein prediction using ProtT5 language model embeddings
    - MOTIF: PROSITE-style pattern matching for exact motif search

Give at least one of these outputs: --genbank_out, --fasta_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 The genbank or fasta files to annotate. Genbank files can be nucleotide (with CDS annotations) or peptide. Fasta files must be peptide. Use - to read standard input.
--alphabet {nucleotide,protein} protein Whether the sequences in FASTA inputs are protein or nucleotide. GenBank records declare their own molecule type.
-o, --genbank_out FILE Write the records to this GenBank file. Use - for standard output.
--fasta_out FILE Write the records to this FASTA file. Use - for standard output.
--cpu INTEGER 0 The number of CPU threads to use. 0: one per physical core.
--gene_call {all,unannotated} When activated, new CDS annotations will be added with Prodigal in Metagenomic mode. If 'all', then any existing CDS annotations will be deleted and all contigs will be re-annotated. If 'unannotated', then only contigs without CDS annotations will be annotated. If you supply a nucleotide fasta file, be sure to also specify --alphabet nucleotide.
--tmbed Run TMbed transmembrane and signal peptide prediction.
--motif STRING ... PROSITE motifs to search for. More information about PROSITE motif specification can be found: https://emboss.sourceforge.net/apps/release/6.5/emboss/apps/fuzzpro.html Example: '[DE](2)HS{P}X(2)PX(2,4)C' matches two Asp/Glu, then His, Ser, any except Pro, two of any, Pro, two to four of any, Cys. Motif names for boolean expressions are auto-generated by sanitizing the pattern (replacing parentheses and dashes with underscores).
--batch_size INTEGER 4000 Batch size for sequence processing. Larger values may be faster but require more memory.
--device STRING cuda:0 For models that can use GPU acceleration, use this device if available, falling back to the CPU if it is not. Use 'cpu' to always run on the CPU. Examples: 'cpu', 'cuda:0'.
--model_dir DIR Base directory for downloading/loading algorithm model weights. Individual algorithms will create subdirectories as needed. Can be overridden per-algorithm with --[algorithm]_model_dir.
--tmbed_model_dir DIR Directory to download/load TMbed's ProtT5 encoder model (~2.25 GB). Overrides --model_dir for TMbed. If neither is specified, uses HF_HOME env var if set, otherwise downloads to tmbed/models/t5/ inside the installed package.
--partial {include,exclude,only} include Which CDSs/proteins to annotate, by fragment status. include: all. exclude: skip fragments. only: only fragments. A CDS is a fragment if its location has '<' or '>', or it has a /partial qualifier. A protein record is a fragment if it has a UniProt ' (Fragment)' or MGnify 'FL=0' header, a 'Flags: Fragment' definition or NON_TER features (UniProt text entries), or a CDS/Protein feature with '<' or '>' spanning it.

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