param-medic
Param-Medic breathes new life into MS/MS database searches by optimizing search parameter settings for your data.
Installation:
Param-Medic requires Python 2.7. It will not install properly in Python 3.X. There are two ways to install Param-Medic:
- Using PyPi: type "pip install param-medic"
- Download the Param-Medic source and run the setup script from the param-medic directory. This requires two commands:
- python setup.py build
- python setup.py install
Usage:
param-medic [--options] \<spectra file>+
Description:
In shotgun proteomics analysis, search engines compare tandem mass spectrometry spectra with theoretical spectra to make peptide-spectrum matches (PSMs). Proper selection of various parameters is critical to achieving good search performance. In particular,
- precursor mass tolerance defines the peptide candidates considered for each spectrum, and
- fragment mass tolerance (or bin size) determines how close observed and theoretical fragments must be in order to be considered a match.
For each of these parameters, too large a setting yields randomly high-scoring false PSMs, while too small excludes true PSMs.
Param-Medic finds pairs of spectra that are likely to have been generated by the same peptide and uses these pairs to infer optimal parameters for search with Comet, Tide and other search engines. If multiple input files are provided, then they will be processed together.
Param-Medic may fail if too few paired spectra are discovered, or if the observed precursor m/z values appear to have been artificially manipulated.
With permission, Param-Medic makes use of code repurposed from Jacob Schreiber's Pomegranate mixture-modeling software.
Input
- \<spectra file>+: The path to one or more files from which to parse fragmentation spectra, in .mzML or .ms2 format.
Output
The program prints to standard output the estimated parameter values for precursor mass tolerance (in ppm) and fragment bin size (in Th), as well as the standard deviations of the estimated error distributions for precursor and fragment masses.
Options
- --min-precursor-mz : Minimum precursor m/z value to consider.
- --max-precursor-mz : Maximum precursor m/z value to consider.
- --min-frag-mz : Minimum fragment m/z value to consider.
- --max-frag-mz : Maximum fragment m/z value to consider.
- --min-scan-frag-peaks : Minimum fragment peaks an MS/MS scan must contain to be considered.
- --max-precursor-delta-ppm : Maximum ppm distance between precursor m/z values to consider two scans potentially generated by the same peptide.
- --charge : Precursor charge state to consider MS/MS spectra from. Ideally, this should be the most frequently occurring charge state in the given data.
- --top-n-frag-peaks : Number of most-intense fragment peaks to consider, per MS/MS spectrum.
- --pair-top-n-frag-peaks : Number of fragment peaks per spectrum pair to be used in fragment error estimation.
- --min-common-frag-peaks : Number of the most-intense peaks that two spectra must share in order to be potentially generated by the same peptide.
- --max-scan-separation : Maximum number of scans two spectra can be separated by in order to be considered potentially generated by the same peptide.
- --min-peak-pairs : Minimum number of peak pairs (for precursor or fragment) that must be successfully paired in order to attempt to estimate error distribution.
- --debug : If this flag is set, verbose debug logging will be enabled.