Skip to content
Proteomics & immunologylatest-release

proteinfamilies

nf-core/proteinfamilies

Generate protein family level models (Multiple Sequence Alignments (MSAs), Hidden Markov Models (HMMs)) starting from a FASTA amino acid sequence file.

version2.6.0318acd54ebOct 1, 2026 Upstream Usage docs

Key tools

SeqFuSeqKitMMseqs2FAMSAmafftClipKIThmmerHH-suite3BiopythonCMAPLEMultiQC

Run it

nfclaw
nfclaw run proteinfamilies --input samplesheet.csv --outdir results -profile docker
raw nextflow
nextflow run pipelines/proteinfamilies/upstream -profile docker --input samplesheet.csv --outdir results
demo · bundled test profile
nfclaw run proteinfamilies --demo --outdir results # adds the upstream test profile (-profile test,docker)

Inputs

columntyperequiredallowed valuesconstraints
samplestringyesmatches ^[a-zA-Z0-9._-]+$
fastastring (file path)yesmatches ^([\S\s]*\/)?[^\s\/]+\.(fa|fasta|faa|fas)(\.gz)?$
existing_hmms_to_updatestring (file path)nomatches ^([\S\s]*\/)?[^\s\/]+\.tar\.gz$
existing_msas_to_updatestring (file path)nomatches ^([\S\s]*\/)?[^\s\/]+\.tar\.gz$

--input must match ^\S+\.csv$.

The samplesheet is a CSV with this header (the columns the schema requires); fill each value per the table above and reference.md (no example value is invented here):

csv
sample,fasta

Any of the optional columns above may be appended to the header when your data needs them: existing_hmms_to_update, existing_msas_to_update.

From data files. --input may also be the data files — a directory (searched recursively), a quoted glob, or files (--input once per file) — from which nfclaw writes this samplesheet: sample from file names; fasta from files matching their patterns, by sample name. Set other columns with --sheet-set COLUMN=VALUE. Preview it with --check; a run records it in <outdir>/provenance/ for replay.

Resources

Resource requests follow the pipeline's configs and selected profiles. nf-core's resource labels often assume a server — a single step can request far more memory than a workstation has, and retry rules can increase requests. If a run fails with Process requirement exceeds available memory (or CPUs), cap every request, and every retry, at what this machine actually has:

bash
nfclaw run proteinfamilies --input samplesheet.csv --outdir results -profile docker \
--limit-cpus 4 --limit-memory 15.GB

nfclaw turns those into Nextflow's process.resourceLimits and passes them as a -c config — the mechanism nf-core prescribes for exactly this (docs). Set them to the machine's real capacity. --limit-time DURATION also caps how long any one task may run: a task that needs longer is stopped, and so is every retry, so set it only as a deliberate ceiling, never as a guess at how long the analysis takes. The generated config is kept in <outdir>/provenance/, so commands.sh replays the run under the same ceiling.

Nextflow engine

This release declares nextflowVersion = '!>=26.04.0'.

To pin this release's declared minimum engine — useful when a newer Nextflow has incompatible config parsing:

bash
nfclaw run proteinfamilies ... --nxf-ver 26.04.0

--nxf-ver is recorded in <outdir>/provenance/, so the replay uses the same engine. See known-issues.

Demo

bash
nfclaw run proteinfamilies --demo --outdir results # adds the upstream test profile (-profile test,docker)
<!-- Generated from nf-core/proteinfamilies@318acd54eb9c679553338b2db46313bb469d03d1. Do not edit by hand. -->

Samplesheet

A CSV with this header (the columns the schema requires). Fill each value per the constraints below; optional columns from the table may be appended.

samplesheet.csv header
sample,fasta
ColumnTypeRequiredAllowed / constraints
samplestringrequiredmatches ^[a-zA-Z0-9._-]+$
fastastring (file path)requiredmatches ^([\S\s]*\/)?[^\s\/]+\.(fa|fasta|faa|fas)(\.gz)?$
existing_hmms_to_updatestring (file path)optionalmatches ^([\S\s]*\/)?[^\s\/]+\.tar\.gz$
existing_msas_to_updatestring (file path)optionalmatches ^([\S\s]*\/)?[^\s\/]+\.tar\.gz$

Required parameters

--inputstring (file path)

Path to comma-separated file '.csv' containing information about the samples in the experiment.

Constraint · matches ^\S+\.csv$

--outdirstring (directory path)

The output directory where the results will be saved. You have to use absolute paths to storage on Cloud infrastructure.

Parameter explorer

68 parameters · 11 groups

Every parameter from the pinned nextflow_schema.json. nfclaw checks explicit values before launch; complex rules use the pinned pipeline's runtime validation. Search, filter by group, and expand any parameter for its default, allowed values and constraints.

40 parameters · 28 hidden

Alignment Params8

Choose alignment tool. FAMSA is recommended as best time-memory-accuracy combination option.

Choose the output format of the clipped alignment.

Multiple Sequence Alignment (MSA) positions with gappiness greater than this threshold will be trimmed

hmmsearch e-value cutoff threshold for reported results

hmmsearch minimum length percentage filter of hit env vs query length

Save family fasta files after recruiting sequences with hmmsearch

Save the output of hmmsearch (.domtbl.gz and .tbl.gz)

Choose if ClipKIT should only clip gaps at the ends of the MSAs.

Clustering Params8

mmseqs parameter for coverage mode: 0 for both, 1 for target and 2 for query sequence

mmseqs parameter for minimum sequence coverage ratio

mmseqs parameter for minimum sequence identity

Minimum clustering chunk size threshold to create seed Multiple Sequence Alignments upon.

Choose clustering algorithm. Either simple 'cluster' for medium size inputs, or 'linclust' for less sensitive clustering of larger datasets.

Save membership-filtered initial mmseqs clusters in fasta format

Save the clustering output folder of mmseqs cluster or linclust

Save the db output folder of mmseqs createdb

Family Generation Params3

Number of clusters handed to each family generation task by the 'iterative' algorithm.

Choose the algorithm that turns clusters into family models. Either 'standard', aligning each cluster and building one HMM per task, or 'iterative', letting mgnifam loop HMM building, recruitment and realignment per cluster.

Save the family rosters and diagnostics reported by the 'iterative' algorithm

Generic options4

Display the help message.

Display the full detailed help message.

Custom MultiQC yaml file containing HTML including a methods description.

Display hidden parameters in the help message (only works when --help or --help_full are provided).

Input Output options4

Email address for completion summary. Example: name.surname@example.com

Path to comma-separated file '.csv' containing information about the samples in the experiment.

MultiQC report title. Printed as page header, used for filename if not otherwise specified.

The output directory where the results will be saved. You have to use absolute paths to storage on Cloud infrastructure.

Quality Check Params4

The maximum allowed sequence length

The minimum allowed sequence length

Remove duplicate input amino acid sequences, based on the sequence.

Skip all default QC steps for sequences (gap trimming, length filtering, validation, duplicate removal).

Redundancy Params7

mmseqs parameter for coverage mode: 0 for both, 1 for target and 2 for query sequence

mmseqs parameter for minimum sequence coverage ratio

mmseqs parameter for minimum sequence identity

hmmsearch minimum length percentage filter of hit env vs query length, for redundant family removal

hmmsearch minimum length percentage of hit env vs query length, to flag and report similar families (and to optionally merge)

Save only the fasta files of non-redundant families (might still contain redundant sequences)

Save the final family fasta files with sequence redundancy removed

Update Params2

Save FASTA files derived from updated family MSAs (after re-alignment and clipping)

Save intermediate FASTA files before clipping gappy ends (non-redundant --if skip_sequence_redundancy_removal is false-- or all --if skip_sequence_redundancy_removal is true--) in the update_families subworkflow

Outputs

Results land in --outdir; the files and directory layout depend on the selected workflow, parameters and publication settings. Run metadata is normally placed in <outdir>/pipeline_info/ (execution report, software versions), when those outputs are enabled. The pinned tree includes MultiQC support; a report is produced only when its workflow step runs. nfclaw run also writes <outdir>/provenance/ with the exact params file and the run log, <outdir>/provenance/logs/run.log — the whole launch, whose last line states the outcome (Nextflow's own log is <outdir>/.nextflow.log); unless --no-provenance it adds a run manifest (pinned version, commit and exact command), input/output SHA-256 checksums, and a replayable commands.sh. The exact output files and directory layout for this release are documented upstream: github.com/nf-core/proteinfamilies/blob/2.6.0/docs/output.md Check a run — in the foreground or the background — with nfclaw status <outdir>: success, still running, how it ended (with the error), or stopped without an outcome; exit 0 success, 3 running, 1 otherwise.