rtIqr: interquartile RT period for identified quantification data...

View source: R/function_Spectra_metrics.R

rtIqrR Documentation

interquartile RT period for identified quantification data points (MS:4000153)

Description

MS:4000153
"The interquartile retention time period, in seconds, for all quantification data points after user-defined acceptance criteria are applied over the complete run. Longer times indicate better chromatographic separation. 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 retention time values are obtained,
(3) the interquartile range is obtained from the values and returned (NA values are removed).

Usage

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

Arguments

spectra

Spectra object

msLevel

integer

identificationLevel

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

...

not used here

Details

MS:4000153
is_a: MS:4000003 ! single value
is_a: MS:4000008 ! ID based
is_a: MS:4000017 ! chromatogram metric
relationship: has_units UO:0000010 ! second
synonym: "C-2A" RELATED [PMID:19837981]

Retention time values that are NA are removed.

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

Value

numeric(1)

Note

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

The stored retention time information in spectra might have a different unit than seconds. rtIqr will return the IQR based on the values stored in spectra and will not convert these values to seconds.

Author(s)

Thomas Naake

Examples

library(S4Vectors)
library(Spectra)

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)
rtIqr(spectra = sps, msLevel = 2L)

tnaake/MsQuality documentation built on Feb. 25, 2024, 7:32 p.m.