filter-MChromatograms: Filtering sets of chromatographic data

Description Usage Arguments Value Author(s) Examples

Description

These functions allow to filter (subset) MChromatograms() or XChromatograms() objects, i.e. sets of chromatographic data, without changing the data (intensity and retention times) within the individual chromatograms (Chromatogram() objects).

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
## S4 method for signature 'MChromatograms'
filterColumnsIntensityAbove(
  object,
  threshold = 0,
  value = c("bpi", "tic"),
  which = c("any", "all")
)

## S4 method for signature 'MChromatograms'
filterColumnsKeepTop(
  object,
  n = 1L,
  sortBy = c("bpi", "tic"),
  aggregationFun = sum
)

## S4 method for signature 'XChromatograms'
filterColumnsIntensityAbove(
  object,
  threshold = 0,
  value = c("bpi", "tic", "maxo", "into"),
  which = c("any", "all")
)

## S4 method for signature 'XChromatograms'
filterColumnsKeepTop(
  object,
  n = 1L,
  sortBy = c("bpi", "tic", "maxo", "into"),
  aggregationFun = sum
)

Arguments

object

MChromatograms() or XChromatograms() object.

threshold

for filterColumnsIntensityAbove: numeric(1) with the threshold value to compare against.

value

character(1) defining which value should be used in the comparison or sorting. Can be value = "bpi" (default) to use the maximum intensity per chromatogram or value = "tic" to use the sum of intensities per chromatogram. For XChromatograms() objects also value = "maxo" and value = "into" is supported to use the maximum intensity or the integrated area of identified chromatographic peaks in each chromatogram.

which

for filterColumnsIntensityAbove: character(1) defining whether any (which = "any", default) or all (which = "all") chromatograms in a column have to fulfill the criteria for the column to be kept.

n

for filterColumnsKeepTop: integer(1) specifying the number of columns that should be returned. n will be rounded to the closest (larger) integer value.

sortBy

for filterColumnsKeepTop: the value by which columns should be ordered to determine the top n columns. Can be either sortBy = "bpi" (the default), in which case the maximum intensity of each column's chromatograms is used, or sortBy = "tic" to use the total intensity sum of all chromatograms. For XChromatograms() objects also value = "maxo" and value = "into" is supported to use the maximum intensity or the integrated area of identified chromatographic peaks in each chromatogram.

aggregationFun

for filterColumnsKeepTop: function to be used to aggregate (combine) the values from all chromatograms in each column. Defaults to aggregationFun = sum in which case the sum of the values is used to rank the columns. Alternatively the mean, median or similar function can be used.

Value

a filtered MChromatograms (or XChromatograms) object with the same number of rows (EICs) but eventually a lower number of columns (samples).

Author(s)

Johannes Rainer

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
chr1 <- Chromatogram(rtime = 1:10 + rnorm(n = 10, sd = 0.3),
    intensity = c(5, 29, 50, NA, 100, 12, 3, 4, 1, 3))
chr2 <- Chromatogram(rtime = 1:10 + rnorm(n = 10, sd = 0.3),
    intensity = c(80, 50, 20, 10, 9, 4, 3, 4, 1, 3))
chr3 <- Chromatogram(rtime = 3:9 + rnorm(7, sd = 0.3),
    intensity = c(53, 80, 130, 15, 5, 3, 2))

chrs <- MChromatograms(list(chr1, chr2, chr1, chr3, chr2, chr3),
    ncol = 3, byrow = FALSE)
chrs

#### filterColumnsIntensityAbove
##
## Keep all columns with for which the maximum intensity of any of its
## chromatograms is larger 90
filterColumnsIntensityAbove(chrs, threshold = 90)

## Require that ALL chromatograms in a column have a value larger 90
filterColumnsIntensityAbove(chrs, threshold = 90, which = "all")

## If none of the columns fulfills the criteria no columns are returned
filterColumnsIntensityAbove(chrs, threshold = 900)

## Filtering XChromatograms allow in addition to filter on the columns
## "maxo" or "into" of the identified chromatographic peaks within each
## chromatogram.

#### filterColumnsKeepTop
##
## Keep the 2 columns with the highest sum of maximal intensities in their
## chromatograms
filterColumnsKeepTop(chrs, n = 1)

## Keep the 50 percent of columns with the highest total sum of signal. Note
## that n will be rounded to the next larger integer value
filterColumnsKeepTop(chrs, n = 0.5 * ncol(chrs), sortBy = "tic")

xcms documentation built on Nov. 8, 2020, 5:13 p.m.