Matrix Science header

Using Percolator scores
[Mascot results file module]

In Mascot Server 2.3 and later, MS-MS searches can be run through Percolator. Percolator is produced by the MacCoss group at University of Washington. See e.g.

Percolator scores can be shown in Mascot Server reports instead of Mascot scores.

Workflow

Percolated results are available both for old and new searches. However, they are only available when a decoy search has been performed. The Mascot results file is not changed by Percolator, but additional files for each results file are created by running ms-createpip.exe and percolator.exe. The workflow is as follows:

  1. Run a Mascot search, making sure that the DECOY option is on.
  2. Check that there are sufficient queries in the search by comparing getNumQueries() with getPercolatorMinQueries().
  3. Check that there are sufficient sequences in the search by comparing getNumSeqsAfterTax() with getPercolatorMinSequences().
  4. Get the default Percolator features by calling getPercolatorFeatures().
  5. Get the filenames to be used by ms-createpip.exe by calling setPercolatorFeatures() and getPercolatorFileNames().
  6. Run ms-createpip.exe, specifying the output filename using the value from the step above.
  7. Run percolator.exe, getting the required parameters by calling getPercolatorExeFlags() .
  8. Specify MSPEPSUM_PERCOLATOR as part of the flags2 parameter when creating an ms_peptidesummary object.
  9. Optionally, specify target FDR with ms_mascotresults_params::setTargetFDR().

Steps 1 to 7 can be performed automatically after a search by specifying the appropriate options in getExecAfterSearch() .

There is also a static function, staticGetPercolatorFileNames() that can be called to get filenames without creating an ms_mascotresfile object.

Percolator Scores

A 'Percolator score' is calculated from the posterior error probability (PEP) by

    percolatorScore = -10 * log10(PEP)

Percolator processes only the rank 1 matches found by Mascot. Lower ranked peptides are scored by simply calculating

    rank2PercolatorScore = (rank2MascotIonsScore/rank1MascotIonsScore) * rank1Percolatorscore

If the PEP value for rank 1 is exactly 1, it is reset to 0.9999. This is to ensure that there is a tiny amount of spread in scores for lower ranking peptides.

The function ms_peptide::getPercolatorScores() returns the posterior error probability which is used by Mascot Parser. The internal percolator score and the qValue can also be obtained, but these are unused by Mascot Parser.

When the MSPEPSUM_PERCOLATOR flag is specified, all Mascot scores are replaced with percolator derived scores. The original Mascot ions score for a peptide is still available by calling getPercolatorScores(). The following table describes the how each of the existing Mascot functions have been changed to return Percolator values.

Mascot Parser FunctionHow value is calculated
ms_peptide::getIonsScore() -10 * log10( posterior error probability )
ms_protein::getPeptideIonsScore() Same value as getIonsScore() above, except a minor correction for large proteins is applied in the same way as for the Mascot Score.
ms_protein::getScore() Calculated using the percolator scores rather than Mascot scores. Same rules for MudPIT and standard scoring apply.
ms_protein::getNonMudpitScore() Calculated using the percolator scores rather than Mascot scores. Same rules for MudPIT scoring apply.
ms_mascotresults::getPeptideIdentityThreshold() Calculated by taking -10log10(p), so a value of 0.05 gives a threshold score of ~13
ms_mascotresults::getAvePeptideIdentityThreshold() With Percolator, the threshold is the same for every query, so this is exactly the same as getPeptideIdentityThreshold() above.
ms_mascotresults::getMaxPeptideIdentityThreshold() With Percolator, the threshold is the same for every query, so this is exactly the same as getPeptideIdentityThreshold() above.
ms_mascotresults::getHomologyThreshold() With Percolator, there is no homology threshold, so this always returns 0.
ms_mascotresults::getHomologyThresholdForHistogram() With Percolator, there is no homology threshold, so this always returns 0.
ms_mascotresults::getPeptideExpectationValue() Return the posterior error probability by calculating it back from the score using 10 ^ score/-10. The same value can also be obtained by calling ms_peptide::getPercolatorScores() and retrieving the posterior error probability value.
ms_mascotresults::getProbFromScore() Calls getPeptideExpectationValue() as above.
ms_mascotresults::getIonsScoreHistogram() Returns a vector of Percolator scores rather than Mascot scores.
ms_mascotresults::getProteinScoreForHistogram() Returns the Percolator protein score rather than Mascot protein score
ms_mascotresults::getNumHitsAboveIdentity() Any peptide with a posterior error probability less than the significance value specified will be counted.
ms_mascotresults::getNumDecoyHitsAboveIdentity() Any peptide with a posterior error probability less than the significance value specified will be counted.
ms_mascotresults::getNumHitsAboveHomology() No homology thresholds, so always returns the same number as getNumHitsAboveIdentity().
ms_mascotresults::getNumDecoyHitsAboveHomology() No homology thresholds, so always returns the same number as getNumDecoyHitsAboveIdentity().

You cannot specify MSPEPSUM_PERCOLATOR with an Integrated error tolerant search.

The following configuration functions are relevant:


Copyright © 2022 Matrix Science Ltd.  All Rights Reserved. Generated on Thu Mar 31 2022 01:12:30