Skip to content
Proteomics & immunologylatest-release

mhcquant

nf-core/mhcquant

Identify and quantify peptides from mass spectrometry raw data

version3.3.0a4b6d51803Oct 2, 2026 Upstream Usage docs

Key tools

OpenMSThermoRawFileParsertdf2mzmlCometDeepLCMS²PIPIonmobIM2DeepMS²RescoreTIMS²RescorePercolatorMokapotEasyPQPEpicorepridepysdrf-pipelinesMultiQC

Run it

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

Inputs

columntyperequiredallowed valuesconstraints
IDintegeryes
Samplestring or integeryes
Conditionstring or integeryes
ReplicateFileNamestring (file or directory path)yesmatches ^\S+\.(raw|RAW|mzML|mzML.gz|d|d.tar|d.tar.gz|d.zip)$
Fastastring (file or directory path)nomatches ^\S+\.(fasta|fa|fas|fna|faa|ffn)$
SearchPresetstringnomatches ^[a-zA-Z0-9_]+$

--input must match ^(PXD\d{6,}|\S+\.sdrf\.tsv|\S+\.tsv)$.

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

tsv
ID	Sample	Condition	ReplicateFileName

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

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; ReplicateFileName, Fasta from files matching their patterns, by sample name. Set the required columns no file determines with --sheet-set COLUMN=VALUE (a constant or a {sample}/{lane} template): ID (integer); Condition (string or integer). 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 mhcquant --input samplesheet.tsv --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 = '!>=25.10.4'.

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

bash
nfclaw run mhcquant ... --nxf-ver 25.10.4

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

Demo

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

Samplesheet

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

samplesheet.tsv header
ID Sample Condition ReplicateFileName
ColumnTypeRequiredAllowed / constraints
IDintegerrequired—
Samplestring or integerrequired—
Conditionstring or integerrequired—
ReplicateFileNamestring (file or directory path)requiredmatches ^\S+\.(raw|RAW|mzML|mzML.gz|d|d.tar|d.tar.gz|d.zip)$
Fastastring (file or directory path)optionalmatches ^\S+\.(fasta|fa|fas|fna|faa|ffn)$
SearchPresetstringoptionalmatches ^[a-zA-Z0-9_]+$

Required parameters

--inputstring

Input: samplesheet TSV, SDRF file (.sdrf.tsv), or PRIDE accession (PXD...)

Constraint · matches ^(PXD\d{6,}|\S+\.sdrf\.tsv|\S+\.tsv)$

--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

78 parameters · 10 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.

48 parameters · 30 hidden

Database options2

Input FASTA protein database

Add this parameter when you want to skip the generation of the decoy database.

Epicore options4

Compute core epitopes from overlapping peptides.

Specify the maximal difference between the start position of two peptides so they are still grouped together.

Specify the minimal length of an core epitope.

Specify the minimal overlap of two peptides so they are grouped together.

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.

Input: samplesheet TSV, SDRF file (.sdrf.tsv), or PRIDE accession (PXD...)

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.

Post Processing4

Create tsv files containing information about the MS2 ion annotations after processing.

Generate a spectral library from the search results. If global_fdr is specified, an additional global FDR-filtered library is generated from all MSruns in the samplesheet.

Specify the maximum length of peptides to be considered after processing

Specify the minimum length of peptides to be considered after processing

Preprocessing3

Clean up spectrum files and remove artificial charge 0 peptides.

Specify the MS levels for which the peak picking is applied (unless you use --run_centroidisation).

Include the flag when the specified ms level is not centroided (default=false).

Quantification options2

Set a maximum retention time shift for the linear RT alignment

Turn on quantification mode

Rescoring Settings6

Specify the level at which the false discovery rate should be computed.

Specify the false discovery rate threshold at which peptide hits should be selected.

Specify the feature generator that should be used for rescoring. One or multiple of basic,ms2pip,deeplc,ionmob

Compute global FDR and backfilter sample-specific FDRs

Specify the MS²PIP model that should be used for rescoring. Checkout the MS²PIP documentation for available models.

Specify the rescoring engine that should be used for rescoring. Either percolator or mokapot

Search Settings19

Specify which fragmentation method was used in the MS acquisition

Specify the mass range in Dalton that peptides should fulfill to be considered for peptide spectrum matching.

Specify which fixed modifications should be applied to the database search

Specify the fragment bin offset to be used for the comet database search.

Specify the fragment mass tolerance to be used for the comet database search.

Comets theoretical_fragment_ions parameter: theoretical fragment ion peak representation, high_res: sum of intensities plus flanking bins, ion trap (low_res) ms/ms: sum of intensities of central M bin only

Specify the number of hits that should be reported for each spectrum.

Specify the maximum number of modifications that should be contained in a peptide sequence match.

Specify the precursor charge range that peptides should fulfill to be considered for peptide spectrum matching.

Specify the unit of the precursor mass tolerance to be used for the Comet database search.

Specify the precursor mass tolerance to be used for the Comet database search.

Include if you want to remove all peaks around precursor m/z

TSV file with search parameter presets. Users can supply a custom file to define their own presets.

Include NL ions into the peptide spectrum matching

Include a ions into the peptide spectrum matching

Include c ions into the peptide spectrum matching

Include x ions into the peptide spectrum matching

Include z ions into the peptide spectrum matching

Specify which variable modifications should be applied to the database search

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/mhcquant/blob/3.3.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.