medianTicOfRtRange: median of TIC values in the shortest RT range in which half...

View source: R/function_Spectra_metrics.R

medianTicOfRtRangeR Documentation

median of TIC values in the shortest RT range in which half of the quantification data points are identified (MS:4000159)


"Median of TIC values in the shortest RT range in which half of the quantification data points are identified. These data points may be for example XIC profiles, isotopic pattern areas, or reporter ions (see MS:1001805). The used type should be noted in the metadata or analysis methods section of the recording file for the respective run. In case of multiple acceptance criteria (FDR) available in proteomics, PSM-level FDR should be used for better comparability." [PSI:MS]

The metric is calculated as follows:
(1) the Spectra object is filtered according to the MS level,
(2) the Spectra object is ordered according to the retention time,
(3) the number of features in the Spectra object is obtained and the number for half of the features is calculated,
(4) iterate through the features (always by taking the neighbouring half of features) and calculate the retention time range of the set of features,
(5) retrieve the set of features with the minimum retention time range,
(6) calculate from the set of (5) the median TIC (NA values are removed) and return it.


  msLevel = 1L,
  identificationLevel = c("all", "identified", "unidentified"),



Spectra object




character(1), one of "all", "identified", or "unidentified"


not used here


is_a: MS:4000001 ! QC metric
is_a: MS:4000003 ! single value
is_a: MS:4000008 ! ID based
synonym: "MS1-2B" RELATED [PMID:19837981]

The function medianTicOfRtRange uses the function ionCount as an equivalent to the TIC.

An attribute containing the PSI:MS term will only be returned if identificationLevel is "identified".




The Spectra object might contain features that were not identified. If the calculation needs to be done according to *MS:4000159*, the Spectra object should be prepared accordingly, i.e. being subsetted to spectra with identification data.


Thomas Naake



spd <- DataFrame(
    msLevel = c(2L, 2L, 2L),
    polarity = c(1L, 1L, 1L),
    id = c("HMDB0000001", "HMDB0000001", "HMDB0001847"),
    name = c("1-Methylhistidine", "1-Methylhistidine", "Caffeine"))
## Assign m/z and intensity values
spd$mz <- list(
    c(109.2, 124.2, 124.5, 170.16, 170.52),
    c(83.1, 96.12, 97.14, 109.14, 124.08, 125.1, 170.16),
    c(56.0494, 69.0447, 83.0603, 109.0395, 110.0712,
        111.0551, 123.0429, 138.0662, 195.0876))
spd$intensity <- list(
    c(3.407, 47.494, 3.094, 100.0, 13.240),
    c(6.685, 4.381, 3.022, 16.708, 100.0, 4.565, 40.643),
    c(0.459, 2.585, 2.446, 0.508, 8.968, 0.524, 0.974, 100.0, 40.994))
spd$rtime <- c(9.44, 9.44, 15.84)
sps <- Spectra(spd)
medianTicOfRtRange(spectra = sps, msLevel = 2L)

tnaake/msQC documentation built on Feb. 25, 2024, 7:33 p.m.