Define where the pipeline should find input data and save output data.

URI/path to an SDRF file OR globbing pattern for URIs/paths of mzML or Thermo RAW files

required
type: string

The input to the pipeline can be specified in two mutually exclusive ways:

  • using a path or URI to a PRIDE Sample to Data Relation Format file (SDRF), e.g. as part of a submitted and
    annotated PRIDE experiment (see here for examples). Input files will be downloaded and cached from the URIs specified in the SDRF file.
    An OpenMS-style experimental design will be generated based on the factor columns of the SDRF. The settings for the
    following parameters will currently be overwritten by the ones specified in the SDRF:

    • fixed_mods,
    • variable_mods,
    • precursor_mass_tolerance,
    • precursor_mass_tolerance_unit,
    • fragment_mass_tolerance,
    • fragment_mass_tolerance_unit,
    • fragment_method,
    • enzyme
  • by specifying globbing patterns to the input spectrum files in Thermo RAW or mzML format (e.g. /data/experiment{1,2,3}_rep*.mzML). An experimental design should be provided with the expdesign parameter.

The output directory where the results will be saved.

type: string
default: ./results

Email address for completion summary.

type: string
pattern: ^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$

Set this parameter to your e-mail address to get a summary e-mail with details of the run sent to you when the workflow exits. If set in your user config file (~/.nextflow/config) then you don't need to specify this on the command line for every run.

Less common options for the pipeline, typically set in a config file.

Display help text.

hidden
type: boolean

Method used to save pipeline results to output directory.

hidden
type: string

The Nextflow publishDir option specifies which intermediate files should be saved to the output directory. This option tells the pipeline what method should be used to move these files. See Nextflow docs for details.

Workflow name.

hidden
type: string

A custom name for the pipeline run. Unlike the core nextflow -name option with one hyphen this parameter can be reused multiple times, for example if using -resume. Passed through to steps such as MultiQC and used for things like report filenames and titles.

Email address for completion summary, only when pipeline fails.

hidden
type: string
pattern: ^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$

This works exactly as with --email, except emails are only sent if the workflow is not successful.

Send plain-text email instead of HTML.

hidden
type: boolean

Set to receive plain-text e-mails instead of HTML formatted.

File size limit when attaching QC reports to summary emails.

hidden
type: string
default: 25 MB

If file generated by pipeline exceeds the threshold, it will not be attached.

Do not use coloured log outputs.

hidden
type: boolean

Set to disable colourful command line output and live life in monochrome.

Directory to keep pipeline Nextflow logs and reports.

hidden
type: string
default: ${params.outdir}/pipeline_info

Set the top limit for requested resources for any single job.

Maximum number of CPUs that can be requested for any single job.

hidden
type: integer
default: 16

Use to set an upper-limit for the CPU requirement for each process. Should be an integer e.g. --max_cpus 1

Maximum amount of memory that can be requested for any single job.

hidden
type: string
default: 128.GB

Use to set an upper-limit for the memory requirement for each process. Should be a string in the format integer-unit e.g. --max_memory '8.GB'

Maximum amount of time that can be requested for any single job.

hidden
type: string
default: 240.h

Use to set an upper-limit for the time requirement for each process. Should be a string in the format integer-unit e.g. --max_time '2.h'

Parameters used to describe centralised config profiles. These should not be edited.

Git commit id for Institutional configs.

hidden
type: string
default: master

Provide git commit id for custom Institutional configs hosted at nf-core/configs. This was implemented for reproducibility purposes. Default: master.

## Download and use config file with following git commit id  
--custom_config_version d52db660777c4bf36546ddb188ec530c3ada1b96  

Base directory for Institutional configs.

hidden
type: string
default: https://raw.githubusercontent.com/nf-core/configs/master

If you're running offline, nextflow will not be able to fetch the institutional config files from the internet. If you don't need them, then this is not a problem. If you do need them, you should download the files from the repo and tell nextflow where to find them with the custom_config_base option. For example:

## Download and unzip the config files  
cd /path/to/my/configs  
wget https://github.com/nf-core/configs/archive/master.zip  
unzip master.zip  
  
## Run the pipeline  
cd /path/to/my/data  
nextflow run /path/to/pipeline/ --custom_config_base /path/to/my/configs/configs-master/  

Note that the nf-core/tools helper package has a download command to download all required pipeline files + singularity containers + institutional configs in one go for you, to make this process easier.

Institutional configs hostname.

hidden
type: string

Institutional config description.

hidden
type: string

Institutional config contact information.

hidden
type: string

Institutional config URL link.

hidden
type: string

In case your input was an SDRF files, the following optional parameters can be set.

Root folder in which the spectrum files specified in the SDRF are searched

type: string

This optional parameter can be used to specify a root folder in which the spectrum files specified in the SDRF are searched.
It is usually used if you have a local version of the experiment already. Note that this option does not support recursive
searching yet.

Overwrite the file type/extension of the filename as specified in the SDRF

type: string

If the above --root_folder was given to load local input files, this overwrites the file type/extension of
the filename as specified in the SDRF. Usually used in case you have an mzML-converted version of the files already. Needs to be
one of 'mzML' or 'raw' (the letter cases should match your files exactly).

In case your input was a globbing pattern to spectrum files in Thermo RAW or mzML format you can specify a manual OpenMS-style experimental design file here.

A tab-separated experimental design file in OpenMS' own format (TODO link). All input files need to be present as a row with exactly the same names. If no design is given, unrelated, unfractionated runs are assumed.

type: string

Settings that relate to the mandatory protein database and the optional generation of decoy entries.

The fasta protein database used during database search.

required
type: string

Since the database is not included in an SDRF, this parameter always needs to be given to specify the input protein database
when you run the pipeline. Remember to include contaminants (and decoys if not added in the pipeline with --add-decoys)

--database '[path to Fasta protein database]'  

Generate and append decoys to the given protein database

type: boolean

If decoys were not yet included in the input database, they have to be appended by OpenMS DecoyGenerator by adding this flag (TODO allow specifying type).
Default: pseudo-reverse peptides

Pre- or suffix of decoy proteins in their accession

type: string
default: DECOY_

If --add-decoys was set, this setting is used during generation and passed to all tools that need decoy information.
If decoys were appended to the database externally, this setting needs to match the used affix. (While OpenMS tools can infer the affix automatically, some thirdparty tools might not.)
Typical values are 'rev', 'decoy', 'dec'. Look for them in your database.

Location of the decoy marker string in the fasta accession. Before (prefix) or after (suffix)

type: string
default: prefix

Prefix is highly recommended. Only in case an external tool marked decoys with a suffix, e.g. sp|Q12345|ProteinA_DECOY change this parameter to suffix.

In case you start from profile mode mzMLs or the internal preprocessing during conversion with the ThermoRawFileParser fails (e.g. due to new instrument types), preprocessing has to be performed with OpenMS. Use this section to configure.

Activate OpenMS-internal peak picking

type: boolean

Activate OpenMS-internal peak picking with the tool PeakPickerHiRes. Skips already picked spectra.

Perform peakpicking in memory

type: boolean

Perform peakpicking in memory. Use only if problems occur.

Which MS levels to pick as comma separated list. Leave empty for auto-detection.

type: string

Which MS levels to pick as comma separated list, e.g. --peakpicking_ms_levels 1,2. Leave empty for auto-detection.

A comma separated list of search engines. Valid: comet, msgf

type: string
default: comet

A comma-separated list of search engines to run in parallel on each mzML file. Currently supported: comet and msgf (default: comet)
If more than one search engine is given, results are combined based on posterior error probabilities (see the different types
of estimation procedures under --posterior_probabilities). Combination is done with
ConsensusID.
See also its corresponding --consensusid_algorithm parameter for different combination strategies.
Combinations may profit from an increased --num_hits parameter.

The enzyme to be used for in-silico digestion, in 'OpenMS format'

type: string
default: Trypsin

Specify which enzymatic restriction should be applied, e.g. 'unspecific cleavage', 'Trypsin' (default), see OpenMS
enzymes. Note: MSGF does not support extended
cutting rules, as used by default with Trypsin. I.e. if you specify Trypsin with MSGF, it will be automatically converted to
Trypsin/P= 'Trypsin without proline rule'.

Specify the amount of termini matching the enzyme cutting rules for a peptide to be considered. Valid values are fully (default), semi, or none

type: string

Specify the maximum number of allowed missed enzyme cleavages in a peptide. The parameter is not applied if unspecific cleavage is specified as enzyme.

type: integer
default: 2

Precursor mass tolerance used for database search. For High-Resolution instruments a precursor mass tolerance value of 5 ppm is recommended (i.e. 5). See also --precursor_mass_tolerance_unit.

type: integer
default: 5

Precursor mass tolerance unit used for database search. Possible values are 'ppm' (default) and 'Da'.

type: string

Fragment mass tolerance used for database search. The default of 0.03 Da is for high-resolution instruments.

type: number
default: 0.03

Caution: for Comet we are estimating the fragment_bin_tolerance parameter based on this automatically.

Fragment mass tolerance unit used for database search. Possible values are 'ppm' (default) and 'Da'.

type: string

Caution: for Comet we are estimating the fragment_bin_tolerance parameter based on this automatically.

A comma-separated list of fixed modifications with their Unimod name to be searched during database search

type: string
default: Carbamidomethyl (C)

Specify which fixed modifications should be applied to the database search (eg. '' or 'Carbamidomethyl (C)', see Unimod modifications
in the style '({unimod name} ({optional term specificity} {optional origin})').
All possible modifications can be found in the restrictions mentioned in the command line documentation of e.g. CometAdapter (scroll down a bit for the complete set).
Multiple fixed modifications can be specified comma separated (e.g. 'Carbamidomethyl (C),Oxidation (M)').
Fixed modifications need to be found at every matching amino acid for a peptide to be reported.

A comma-separated list of variable modifications with their Unimod name to be searched during database search

type: string
default: Oxidation (M)

Specify which variable modifications should be applied to the database search (eg. '' or 'Oxidation (M)', see Unimod modifications
in the style '({unimod name} ({optional term specificity} {optional origin})').
All possible modifications can be found in the restrictions mentioned in the command line documentation of e.g. CometAdapter (scroll down a bit for the complete set).
Multiple variable modifications can be specified comma separated (e.g. 'Carbamidomethyl (C),Oxidation (M)').
Variable modifications may or may not be found at matching amino acids for a peptide to be reported.

The fragmentation method used during tandem MS. (MS/MS or MS2).

hidden
type: string
default: HCD

Currently unsupported. Defaults to ALL for Comet and from_spectrum, for MSGF. Should be a sensible default for 99% of the cases.

Comma-separated range of integers with allowed isotope peak errors for precursor tolerance (MS-GF+ parameter '-ti'). E.g. -1,2

type: string
default: 0,1

Range of integers with allowed isotope peak errors (MS-GF+ parameter '-ti'). Takes into account the error introduced by choosing a non-monoisotopic peak for fragmentation. Combined with 'precursor_mass_tolerance'/'precursor_error_units', this determines the actual precursor mass tolerance. E.g. for experimental mass 'exp' and calculated mass 'calc', '-precursor_mass_tolerance 20 -precursor_error_units ppm -isotope_error_range -1,2' tests '|exp - calc - n * 1.00335 Da| < 20 ppm' for n = -1, 0, 1, 2.

Type of instrument that generated the data. 'low_res' or 'high_res' (default; refers to LCQ and LTQ instruments)

type: string
default: high_res

MSGF only: Labeling or enrichment protocol used, if any. Default: automatic

type: string
default: automatic

Minimum precursor ion charge. Omit the '+'

type: integer
default: 2

Maximum precursor ion charge. Omit the '+'

type: integer
default: 4

Minimum peptide length to consider (works with MSGF and in newer Comet versions)

type: integer
default: 6

Maximum peptide length to consider (works with MSGF and in newer Comet versions)

type: integer
default: 40

Specify the maximum number of top peptide candidates per spectrum to be reported by the search engine. Default: 1

type: integer
default: 1

Maximum number of modifications per peptide. If this value is large, the search may take very long.

type: integer
default: 3

Debug level when running the database search. Logs become more verbose and at '>5' temporary files are kept.

type: integer

Settings for calculating a localization probability with LucXor for modifications with multiple candidate amino acids in a peptide.

Turn the mechanism on.

type: boolean

Which variable modifications to use for scoring their localization.

type: string
default: Phospho (S),Phospho (T),Phospho (Y)

List of neutral losses to consider for mod. localization.

hidden
type: string

List the types of neutral losses that you want to consider. The residue field is case sensitive. For example: lower case 'sty' implies that the neutral loss can only occur if the specified modification is present.
Syntax: 'NL = <RESDIUES> -<NEUTRAL_LOSS_MOLECULAR_FORMULA> <MASS_LOST>'
(default: '[sty -H3PO4 -97.97690]')

How much to add to an amino acid to make it a decoy for mod. localization.

hidden
type: number

List of neutral losses to consider for mod. localization from an internally generated decoy sequence.

hidden
type: string

For handling the neutral loss from a decoy sequence. The syntax for this is identical to that of the normal neutral losses given above except that the residue is always 'X'. Syntax: DECOY_NL = X -<NEUTRAL_LOSS_MOLECULAR_FORMULA> <MASS_LOST> (default: '[X -H3PO4 -97.97690]')

Debug level for Luciphor step. Increase for verbose logging and keeping temp files.

hidden
type: integer

Do not fail if there are some unmatched peptides. Only activate as last resort, if you know that the rest of your settings are fine!

type: string

Should isoleucine and leucine be treated interchangeably when mapping search engine hits to the database? Default: true

type: string

Choose between different rescoring/posterior probability calculation methods and set them up.

How to calculate posterior probabilities for PSMs:

  • 'percolator' = Re-score based on PSM-feature-based SVM and transform distance
    to hyperplane for posteriors
  • 'fit_distributions' = Fit positive and negative distributions to scores
    (similar to PeptideProphet)
type: string

FDR cutoff on PSM level (or potential peptide level; see Percolator options) before going into feature finding, map alignment and inference.

type: number
default: 0.1

Debug level when running the re-scoring. Logs become more verbose and at '>5' temporary files are kept.

type: integer

In the following you can find help for the Percolator specific options that are only used if [`--posterior_probabilities`](#--posterior_probabilities) was set to 'percolator'. Note that there are currently some restrictions to the original options of Percolator: * no Percolator protein FDR possible (currently OpenMS' FDR is used on protein level) * no support for separate target and decoy databases (i.e. no min-max q-value calculation or target-decoy competition strategy) * no support for combined or experiment-wide peptide re-scoring. Currently search results per input file are submitted to Percolator independently.

Calculate FDR on PSM ('psm-level-fdrs') or peptide level ('peptide-level-fdrs')?

type: string

The FDR cutoff to be used during training of the SVM.

type: number
default: 0.05

The FDR cutoff to be used during testing of the SVM.

type: number
default: 0.05

Only train an SVM on a subset of PSMs, and use the resulting score vector to evaluate the other PSMs. Recommended when analyzing huge numbers (>1 million) of PSMs. When set to 0, all PSMs are used for training as normal. This is a runtime vs. discriminability tradeoff. Default: 300,000

type: integer
default: 300000

Retention time features are calculated as in Klammer et al. instead of with Elude. Default: false

hidden
type: boolean

Use additional features whose values are learnt by correct entries. See help text. Default: 0 = none

type: integer

Percolator provides the possibility to use so called description of correct features, i.e. features for which desirable values are learnt from the previously identified target PSMs. The absolute value of the difference between desired value and observed value is then used as predictive features.

1 -> iso-electric point

2 -> mass calibration

4 -> retention time

8 -> delta_retention_time * delta_mass_calibration

Use this instead of Percolator if there are problems with Percolator (e.g. due to bad separation) or for performance

How to handle outliers during fitting:

  • ignore_iqr_outliers (default): ignore outliers outside of 3*IQR from Q1/Q3 for fitting
  • set_iqr_to_closest_valid: set IQR-based outliers to the last valid value for fitting
  • ignore_extreme_percentiles: ignore everything outside 99th and 1st percentile (also removes equal values like potential censored max values in XTandem)
  • none: do nothing
type: string

How to combine the probabilities from the single search engines: best, combine using a sequence similarity-matrix (PEPMatrix), combine using shared ion count of peptides (PEPIons). See help for further info.

type: string

Specifies how search engine results are combined: ConsensusID offers several algorithms that can aggregate results from multiple peptide identification engines ('search engines') into consensus identifications - typically one per MS2 spectrum. This works especially well for search engines that provide more than one peptide hit per spectrum, i.e. that report not just the best hit, but also a list of runner-up candidates with corresponding scores.

The available algorithms are:

  • PEPMatrix: Scoring based on posterior error probabilities (PEPs) and peptide sequence similarities. This algorithm uses a substitution matrix to score the similarity of sequences not listed by all search engines. It requires PEPs as the scores for all peptide hits.
  • PEPIons: Scoring based on posterior error probabilities (PEPs) and fragment ion similarities ('shared peak count'). This algorithm, too, requires PEPs as scores.
  • best: For each peptide ID, this uses the best score of any search engine as the consensus score.
  • worst: For each peptide ID, this uses the worst score of any search engine as the consensus score.
  • average: For each peptide ID, this uses the average score of all search engines as the consensus score.
  • ranks: Calculates a consensus score based on the ranks of peptide IDs in the results of different search engines. The final score is in the range (0, 1], with 1 being the best score.

To make scores comparable, for best, worst and average, PEPs are used as well. Peptide IDs are only considered the same if they map to exactly the same sequence (including modifications and their localization). Also isobaric aminoacids are (for now) only considered equal with the PEPMatrix/PEPIons algorithms.

Only use the top N hits per search engine and spectrum for combination. Default: 0 = all

type: integer

Limits the number of alternative peptide hits considered per spectrum/feature for each identification run. This helps to reduce runtime, especially for the PEPMatrix and PEPIons algorithms, which involve costly 'all vs. all' comparisons of peptide hits per spectrum across engines.

A threshold for the ratio of occurence/similarity scores of a peptide in other runs, to be reported. See help.

type: integer

This allows filtering of peptide hits based on agreement between search engines. Every peptide sequence in the analysis has been identified by at least one search run. This parameter defines which fraction (between 0 and 1) of the remaining search runs must 'support' a peptide identification that should be kept. The meaning of 'support' differs slightly between algorithms: For best, worst, average and rank, each search run supports peptides that it has also identified among its top consensusid_considered_top_hits candidates. So min_consensus_support simply gives the fraction of additional search engines that must have identified a peptide. (For example, if there are three search runs, and only peptides identified by at least two of them should be kept, set min_support to 0.5.) For the similarity-based algorithms PEPMatrix and PEPIons, the 'support' for a peptide is the average similarity of the most-similar peptide from each (other) search run. (In the context of the JPR publication, this is the average of the similarity scores used in the consensus score calculation for a peptide.) Note: For most of the subsequent algorithms, only the best identification per spectrum is used.

To group proteins, calculate scores on the protein (group) level and to potentially modify associations from peptides to proteins.

The inference method to use. 'aggregation' (default) or 'bayesian'.

type: string

Infer proteins through:

  • 'aggregation' = aggregates all peptide scores across a protein (by calculating the maximum) (default)
  • 'bayesian' = compute a posterior probability for every protein based on a Bayesian network (i.e. using Epifany)
  • ('percolator' not yet supported)

Note: If protein grouping is performed also depends on the protein_quant parameter (i.e. if peptides have to be unique or unique to a group only)

The experiment-wide protein (group)-level FDR cutoff. Default: 0.05

type: number
default: 0.05

This can be protein level if 'strictly_unique_peptides' are used for protein quantification. See --protein_quant

Quantify proteins based on:

  • 'unique_peptides' = use peptides mapping to single proteins or a group of indistinguishable proteins (according to the set of experimentally identified peptides)
  • 'strictly_unique_peptides' = use peptides mapping to a unique single protein only
  • 'shared_peptides' = use shared peptides, too, but only greedily for its best group (by inference score)
type: string

Choose between feature-based quantification based on integrated MS1 signals ('feature_intensity'; default) or spectral counting of PSMs ('spectral_counting'). WARNING: 'spectral_counting' is not compatible with our MSstats step yet. MSstats will therefore be disabled automatically with that choice.

type: string

Recalibrates masses based on precursor mass deviations to correct for instrument biases. (default: 'false')

type: boolean

Tries a targeted requantification in files where an ID is missing, based on aggregate properties (i.e. RT) of the features in other aligned files (e.g. 'mean' of RT). (WARNING: increased memory consumption and runtime). 'false' turns this feature off. (default: 'false')

type: string

Only looks for quantifiable features at locations with an identified spectrum. Set to false to include unidentified features so they can be linked and matched to identified ones (= match between runs). (default: 'true')

type: boolean
default: true

Debug level when running the re-scoring. Logs become more verbose and at '>666' potentially very large temporary files are kept.

type: integer

Skip MSstats for statistical post-processing?

type: boolean

Instead of all pairwise contrasts (default), uses the given condition name/number (corresponding to your experimental design) as a reference and creates pairwise contrasts against it. (TODO not yet fully implemented)

type: string

Allows full control over contrasts by specifying a set of contrasts in a semicolon seperated list of R-compatible contrasts with the condition names/numbers as variables (e.g. 1-2;1-3;2-3). Overwrites '--ref_condition' (TODO not yet fully implemented)

type: string

Enable generation of quality control report by PTXQC? default: 'false' since it is still unstable

type: boolean

Specify a yaml file for the report layout (see PTXQC documentation) (TODO not yet fully implemented)

type: string