Get from raw mass spectrometry data to quantified proteins in minutes. This guide covers the three main analysis modes: DIA, DDA LFQ, and TMT Label Check.
- Nextflow >= 25.04.0
- Docker or Singularity
- Java 17+
Install Nextflow if you do not have it:
curl -s https://get.nextflow.io | bashnextflow pull nf-core/msproteomicsCreate a CSV file with one row per MS run.
The required columns are sample and spectra; the optional columns are condition, label, and fraction.
| Column | Required | Description |
|---|---|---|
sample |
Yes | Unique sample name (no spaces) |
spectra |
Yes | Path to spectra file (.raw, .mzML, .d, .dia) |
condition |
No | Experimental group (e.g., control, treated) |
label |
No | TMT label channel (e.g., TMT126, TMT127N) |
fraction |
No | Fraction number (positive integer) |
Here is a minimal DIA or LFQ samplesheet (samplesheet.csv):
sample,spectra,condition,label,fraction
Sample_A1,/data/raw/A1.raw,control,,
Sample_A2,/data/raw/A2.raw,control,,
Sample_B1,/data/raw/B1.raw,treated,,
Sample_B2,/data/raw/B2.raw,treated,,For a TMT samplesheet example with label annotations, see assets/samplesheet_tmt.csv.
nextflow run nf-core/msproteomics \
--mode diann \
--input samplesheet.csv \
--outdir results \
-profile dockerWithout --database, the UniProt reference proteome for --organism (default Homo sapiens) is downloaded at runtime; see Database Preparation for the eight supported organisms.
For any other organism, supply a FASTA database explicitly with --database /path/to/database.fasta; otherwise the pipeline stops with an error.
nextflow run nf-core/msproteomics \
--mode fragpipe \
--input samplesheet.csv \
--database /path/to/database.fasta \
--fragpipe_container your-registry/fragpipe:24.0 \
--fragpipe_workflow LFQ-MBR.workflow \
--outdir results \
-profile dockerDDA LFQ mode requires a custom FragPipe container with licensed tools. See the FragPipe Docker build guide for instructions on building the container image.
nextflow run nf-core/msproteomics \
--mode fragpipe \
--tmt_mode labelcheck \
--tmt_type TMT16 \
--input samplesheet.csv \
--database /path/to/database.fasta \
--fragpipe_container your-registry/fragpipe:24.0 \
--outdir results \
-profile dockerThe pipeline auto-selects the correct workflow file based on --tmt_type.
Supported types: TMT6, TMT10, TMT11, TMT16, TMT18, TMTPRO.
All outputs are written under the directory specified by --outdir.
DIA results:
diann/report.stats.tsv— summary statistics from DIA-NNmultiqc/multiqc_report.html— interactive quality control report
DDA LFQ results:
ionquant/combined_protein.tsv— protein-level quantification (MaxLFQ)philosopher_filter/— filtered PSM and protein reports per sample
TMT Label Check results:
tmt_labelcheck/tmt_labelcheck_report.html— labeling efficiency report with per-channel statistics
If a run fails partway through, fix the issue and resume from the cached results:
nextflow run nf-core/msproteomics \
--mode diann \
--input samplesheet.csv \
--outdir results \
-profile docker \
-resumeThe -resume flag skips tasks that completed successfully and reruns only from the point of failure.
- Usage Guide — full parameter reference
- Output Documentation — interpreting results for each workflow
- Database Preparation — building custom FASTA databases
- Troubleshooting — common issues and solutions
- Workflow Architecture — pipeline design and module structure