- About MS²ReScore
MS²ReScore performs sensitive peptide identification rescoring with predicted spectra using MS²PIP, DeepLC, and Percolator. This results in more confident peptide identifications, which allows you to get more peptide IDs at the same false discovery rate (FDR) threshold, or to set a more stringent FDR threshold while still retaining a similar number of peptide IDs. MS²ReScore is ideal for challenging proteomics identification workflows, such as proteogenomics, metaproteomics, or immunopeptidomics.
MS²ReScore uses identifications from a Percolator IN (PIN) file, or from the output of one of these search engines:
- MaxQuant: Start from
msms.txtidentification file and directory with
.mgffiles. (Be sure to export without FDR filtering!)
- MSGFPlus: Start with an
.mzididentification file and corresponding
- X!Tandem: Start with an X!Tandem
.xmlidentification file and corresponding
- PeptideShaker: Start with a
PeptideShaker Extended PSM Report and corresponding
If you use MS²ReScore for your research, please cite the following article:
Accurate peptide fragmentation predictions allow data driven approaches to replace and improve upon proteomics search engine scoring functions. Ana S C Silva, Robbin Bouwmeester, Lennart Martens, and Sven Degroeve. Bioinformatics (2019) doi:10.1093/bioinformatics/btz383
To replicate the experiments described in this article, check out the pub branch of this repository.
- Python 3.7 or higher on Linux, macOS, or Windows Subsystem for Linux
- If the option
run_percolatoris set to
True, Percolator needs to be callable with the
percolatorcommand (tested with version 3.02.1)
- Some pipelines require the Percolator converters, such as
tandem2pin, as well. These are usually installed alongside Percolator.
pip install ms2rescore
Recommended installation, including DeepLC for retention time prediction:
pip install ms2rescore[deeplc]
Command line interface
Run MS²ReScore from the command line as follows:
ms2rescore -c <path-to-config-file> -m <path-to-mgf> <path-to-identification-file>
ms2rescore --help to see all command line options.
MS²ReScore can be further configured through a JSON configuration file. A correct configuration is required to, for example, correctly parse the peptide modifications from the search engine output. If no configuration file is passed, or some options are not configured, the default values for these settings will be used. Options passed from the command line will override the configuration file. The full configuration is validated against a JSON Schema.
A full example configuration file can be found in ms2rescore/package_data/config_default.json.
The config file contains three top level categories (
percolator) and an additional categories for specific search engines
maxquant). The most important options in
pipeline(string): Pipeline to use, depending on input format. Must be one of:
['infer', 'pin', 'tandem', 'maxquant', 'msgfplus', 'peptideshaker']. Default:
feature_sets(array): Feature sets for which to generate PIN files and optionally run Percolator. Default:
- Items (string): Must be one of:
['all', 'ms2pip_rt', 'searchengine', 'rt', 'ms2pip'].
- Items (string): Must be one of:
An overview of all options can be found in configuration.md
Notes for specific search engines
- MSGFPlus: Run MSGFPlus in a concatenated target-decoy search, with the
- Run MaxQuant without FDR filtering (set to 1)
- MaxQuant requires additional options in the configuration file:
modification_mapping: Maps MaxQuant output to MS²PIP modifications list. Keys must contain MaxQuant’s two-letter modification codes and values must match one of the modifications listed in the MS²PIP configuration (see MS2PIP config).
fixed_modifications: Must list all modifications set as fixed during the MaxQuant search (as this is not denoted in the msms.txt file). Keys refer to the amino acid, values to the modification name used in the MS²PIP configuration.
Several intermediate files are created when the entire pipeline is run. These can be
accessed by specifying the
tmp_dir option. Depending on whether or not Percolator is
run, the following output files can be expected:
For each feature set (e.g.
<file>.pinPercolator IN file
<file>.poutPercolator OUT file with target PSMs
<file>.pout_decPercolator OUT file with decoy PSMs
<file>.weightsInternal feature weights used by Percolator’s scoring function.