Algorithm
For every peptide hit of the input file submitted, we get the corresponding scan (MS2 or MS3 depending on scan level requested) and search for every label the nearest peak to their mz applying a window (+/- PPMTolerance). The peak selection is done using the [searchMethod] indicated by the user.
If the user selected the option to recalculate the intensities based on the datasheet provided, then it will recalculate them using the corresponding equation matrix with the observed intensities. If we haven’t obtained enough data to solve the matrix, then it will use the observed intensities instead.
Noise
Removes the intensities from the peaks of the scan that are within the labels (low and high mz), and the noise is the average of the remaining peaks intensities. The noise is calculated by obtaining all the intensities within the lowest mz label (- PPMTolerance applied) - 1, and the highest one (+ PPMTolerance applied) + 1, and then removing the observed intensities of the labels. The noise will be the average of these intensities.
Excluded Peaks
For all score calculations in MS2, the following peaks are excluded:
MS1 non-fragmented precursor M+H
TMT reporter ions (except for msnTotalSignal)
TMTpro complementary ion clusters
Main series [(M+H) - 163] to [(M+H) - 151]
Second series [(M+H) - 180] to [(M+H) - 168]
Third series [(M+H) - 134] to [(M+H) - 122]
TMT (6/10/11-plex) complementary ion clusters
Main series [(M+H) - 160] to [(M+H) - 151]
Second series [(M+H) - 177] to [(M+H) - 168]
In many scans, we observed TMT complementary ion clusters to be highly abundant, but without much predictive value, especially for SPS score calculations, as they are excluded from SPS ion selection as well.
MSN Scores
ScoreType.ISOTOPE_DISTRIBUTION
Gets the precursor for the scan, and calculates a mz window based on ppm tolerance for MS1 and +/- 1. This window is used to calculate the isotopic distribution (mzs). For all peaks in the scan, the intensities are accumulated in 2 different groups: isobIntensities for all the intensities of peaks that are within the isotopic distribution peaks, and nonIsobIntensities for the ones that are not in the distribution.
The score is calculated as:
score = isobIntensities/(isobIntensities + nonIsobIntensities)
ScoreType.REPORTERS_INTENSITY
Gets the higher and lower mz from all the labels and for every peak of the scan (MS2 or MS3), accumulates the intensities that are within this range (labels range).
Using the isobaric intensities of the labels, the score is calculated as:
score = isobIntensities/allIntensities
ScoreType.REPORTERS_FOUND
Counts how many of the isobaric labels are within the scan peaks (using MS2 or MS3 tolerance), and calculates the score as:
cnt/isoLabels.size()
Precursor signal percentage
Intensity of the precursor percentage from the total intensity in a given window (MS1). Gets the precursor intensity using the mz +/- MS1PPMTolerance. We limit the mz window to search for intensities by using the lowest precursor mz - ms1 window in Da and the highest + window in Da.
signalPerc = precIntensity/allIntensities
Precursor weighted signal
Using the previous MS1 scan to the precursor’s, the precursor’s MS1, and the posterior one. We calculate the retention time of each scan and then the total distance between the scans as: Precursor’s retention time + Distance between previous MS1 and precursor’s + distance between precursor’s and posterior MS1. For each of these 3 scans we calculate the precursor signal percentage so that the weighted score can be calculated as:
(dPivotCurrent / totalDistances) * currentSignal + (dPivotPre / totalDistances) * preSignal + (dPivotPost / totalDistances) * postSignal
MS2 scores
All MS2 scores are calculated by matching the BY fragment ions of the peptide to their most similar peak. (BY Fragment ions for the peptide, BY fragment ions for the peptide with neutral loss applied (calc all fragment ions for peptide mass - neutral mass loss [neutralLossesForFragmentIons]), and neutral losses specified [neutralLosses]) From the peak list we are excluding the MS1 precursor, the reporter ions, and the complement ions.
top X: top x peaks with highest intensity.
Peptide Intensity Score
From Scan peaks, sum of intensities of fragment ions divided by total.
score = totalFragmIonsIntensity/totalIntensity
Top X Peptides Peaks Ratio Top X defined by user Number of fragment ions in top X divided by top X topXFIons/topXNum
Peptide Top X Intensity Score
Sum of intensities of fragment ions in top X divided by the total sum of intensities of top X.
score = topXFragmIonsIntensity/topXIntensity
Top X Intensity From Total Score
Sum of intensities in top X divided by the sum of all peaks’ intensities.
score = topXIntensity/totalIntensity
Peptide Top X Intensity From Total Score
Sum of intensities of fragment ions in top X divided by the sum of all peaks’ intensities.
score = topXFragmIonsIntensity/totalIntensity
Top Peak Intensity Score
Higher intensity divided by the sum of all peaks’ intensities.
score = topPeakIntensity/totalIntensity
Top Peak Intensity Top X Score
Highest intensity divided by the total sum of intensities of top X.
score = topPeakIntensity/topXIntensity
Top Peak From Peptide
Indicates if the top peak (most intense) is a fragment ion
Top Peak From Peptide Neutral Loss
Indicates if the top peak (most intense) is a neutral loss
Top Peak Mass
Mass of the top peak (most intense)
msnTotalSignal
Sum of all the isobaric quant intensities (found labels)
precTotalSignal
Sum of precursor intensities found in MS2 (low and high mz is calculated using MS2PPMTolerance)
totalSignalSPSWind
Sum of precursors intensities found in MS2 within a window of mz, this window is calculated as follows:
mz +/- ms2PrecursorWindowTolerance(mz)
precTPIntRatio
score = precTotalSignal/totalSignalSPSWind
precRepIntRatio
matchingBYInt = matching B and Y fragment ions (from the SPS list) intensities
score = matchingBYInt / totalSignalSPSWind
precTPNumRatio
numPeaksSPSWind = number of peaks found in MS2 within a window of mz, this window is calculated as follows:
mz +/- ms2PrecursorWindowTolerance(mz)
score = number of precursors found / numPeaksSPSWind
MS3 scores
Definitions
Precursors
List of precursors provided by the scan minus their parent scan precursors MS3 <- we are removing the precursors that are within the MS2 and MS1 MS2 <- we are removing the precursors that are within the MS1
Precursors intensities
We are obtaining the intensities of the MS3 precursors in the MS2 (peak selection using MS2PPMTolerance window)
Peptide Fragment ions
B and Y fragment ions for the peptide (search hit) matching MS2 peaks.
Precursors matching BY intensities
Using the fragment ions calculated for the peptide (search hit). Sum of
all fragment ions intensities that their mz is found within any of the
precursors windows (using MS2PPMTolerance
)
Precursors window intensities
lowMz = (Precursor mz - tolerance)
with MS2PPMTolerance
highMz = (Precursor mz + tolerance)
with MS2PPMTolerance
ms2PrecursorWindowTolerance
mass to m/z
using the peptide charge (search hit!)MSN Total signal
Sum of all label intensities found in the scan (level defined in the conf file) The peak is found within a window (PPMTolerance)
Precursor total signal
Sum of precursors intensities
Total signal SPS window
Sum of precursors window intensities
precTPIntRatio
Precursor total signal divided by total signal sps window
precRepIntRatio
Precursors matching BY intensities divided by total signal SPS window
precTPNumRatio
Number of MS3 precursors found in MS2 divided by number of peaks found in their windows.