Introduction

nf-core/mspepid is a bioinformatics pipeline for the identification of peptides in mass spectrometry (MS)-based proteomics and peptidomics data. It takes a samplesheet with MS data files (Thermo .raw, Bruker TimsTOF .d, or open-standard .mzML) and a protein sequence database (FASTA) as input, runs one or more configurable database search engines, and performs post-processing with machine learning-based rescoring to produce high-confidence, FDR-filtered peptide-spectrum matches (PSMs).

The pipeline is designed as a modular, identification-focused building block that can in the future feed into downstream quantification or statistical pipelines such as nf-core/quantms and nf-core/msproteomics.

  1. Optional: Create entrapment database for FDR benchmarking (FDRBench)
  2. Generate decoy sequences (OpenMS DecoyDatabase) — skipped with --skip_decoy_generation if decoys are already present
  3. Convert vendor spectrum formats to mzML:
  4. Peptide-spectrum match (PSM) identification with one or more database search engines (more to come):
  5. Convert search engine results to a common PSM format (psm-utils)
  6. PSM rescoring (more to come):
    • Percolator - semi-supervised machine learning for PSM re-ranking and FDR estimation
    • MS2Rescore - MS2PIP spectral prediction-based feature generation followed by Percolator

Usage

Note

If you are new to Nextflow and nf-core, please refer to this page on how to set-up Nextflow. Make sure to test your setup with -profile test before running the workflow on actual data.

First, prepare a samplesheet with your input data that looks as follows:

samplesheet.csv:

ID,spectrum_file,fasta
1,/path/to/run1.raw,/path/to/proteins.fasta
2,/path/to/run2.mzML,/path/to/proteins.fasta

Each row represents one MS run. The ID column must be a unique integer. The spectrum_file column accepts Thermo .raw, Bruker TimsTOF .d, and .mzML files (with optional .gz, .zip, or .tar.gz compression). The fasta column is optional per row — use --fasta to apply a single protein database to all runs instead.

Now, you can run the pipeline using:

nextflow run nf-core/mspepid \
   -profile <docker/singularity/.../institute> \
   --input samplesheet.csv \
   --fasta proteins.fasta \
   --outdir <OUTDIR>
Warning

Please provide pipeline parameters via the CLI or Nextflow -params-file option. Custom config files including those provided by the -c Nextflow option can be used to provide any configuration except for parameters; see docs.

For more details and further functionality, please refer to the usage documentation and the parameter documentation.

Pipeline output

To see the results of an example test run with a full size dataset refer to the results tab on the nf-core website pipeline page. For more details about the output files and reports, please refer to the output documentation.

The main outputs are Percolator-scored PSM files (.pout) organised by search engine and rescoring strategy. For each enabled search engine and rescoring method, results are written to <outdir>/<searchengine>/ and respective subfolders <outdir>/<searchengine>/<rescoring>/.

Credits

nf-core/mspepid was originally written by the team of the Medical Bioinformatics, Ruhr University Bochum, (@medbioinf).

We thank the following people for their extensive assistance in the development of this pipeline:

Contributions and Support

If you would like to contribute to this pipeline, please see the contributing guidelines.

For further information or help, don’t hesitate to get in touch on the Slack #mspepid channel (you can join with this invite).

Citations

An extensive list of references for the tools used by the pipeline can be found in the CITATIONS.md file.

You can cite the nf-core publication as follows:

The nf-core framework for community-curated bioinformatics pipelines.

Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.

Nat Biotechnol. 2020 Feb 13. doi: 10.1038/s41587-020-0439-x.