rm.sat: Removal of satellite peaks from FT-MS peak lists

View source: R/rm.sat.R

rm.satR Documentation

Removal of satellite peaks from FT-MS peak lists

Description

Brute force method to remove satellite peak from a FT-HRMS peak list.

Usage

rm.sat(peaklist, dmz = 0.3, drt = 0.3, intrat = 0.01, spar = 0.8, 
corcut = 0.8, plotit = TRUE)

Arguments

peaklist

Dataframe of HRMS peaks with three numeric columns for (a) m/z, (b) intensity and (c) retention time, such as peaklist.

dmz

m/z window around a parent peak within which satellite peaks are searched for.

drt

Retention time window around a parent peak within which satellite peaks are searched for.

intrat

Intensity ratio between satellite peak/associated parent peak below which the former are removed.

spar

spar argument used in R-function smooth spline. See details and ?smooth.spline.

corcut

Correlation coefficient above which symmetrical peaks are marked as satellite peaks. To disable, set to -1000 See details.

plotit

Plot results?

Details

"Parent" peak refers to a peak having associated satellite peaks as artifacts from FT calculations.

rm.sat screens, along decreasing intensity, peaks for having other peaks within ranges set by arguments dmz, drt and intrat. If present, the latter are marked as satellite peaks and are subsequently excluded from further screening within rm.sat.

In addition, arguments spar and corcut evaluate the symmetry of satellite peaks around the parent peak (i.e. below and above the parent peak m/z), if enough peaks around a parent peak within ranges set by arguments dmz, drt and intrat are found (here: at least 8 peaks, 4 above and 4 below the parent peak m/z). Two splines are fitted by R function smooth.spline, one to those peaks above and one to those peaks below the parent peak m/z. If the splines are symmetric (i.e. correlated with each other, see argument corcut), the associated peaks are termed satellites. This approach has not yet faced validation and is highly dependent on the peak-picking algorithm.

Value

A dataframe with four columns. The first three columns are identical to those of argument peaklist. The fourth columns marks potential satellite peaks with FALSE, the other peaks with TRUE (see example).

Note

Not removing satellite peaks may lead to undesirable artifacts when screening for isotope pattern and adduct relations using pattern.search and adduct.search, respectively. For example, consider a satellite peaks having a slightly larger m/z than its monoisotopic parent peaks. Then, a m/z difference from a 13C isotope between monoisotopic parent and M+1 peak often leads to a 15N isotope difference between satellite and M+1 peak. This artifact causes bogus isotope pattern groups (with the satellite peak assigned the monoisotopic peak in this example), group overlaps (see pattern.search) and interfering peaks in components (see combine).

Still, given the brute approach of rm.sat, there is no guarantee that all peaks removed are indeed satellite peaks. As an alternative, one may filter for peaks with an overly short eluation time/scan number or use data from MS devices that are less prone to produce satellite peaks.

Author(s)

Martin Loos

See Also

peaklist

Examples


data(peaklist);
peaklist<-rm.sat(peaklist,dmz=0.3,drt=0.1,intrat=0.015,spar=0.8,corcut=-1000,plotit=TRUE);
peaklist<-peaklist[peaklist[,4],1:3];


blosloos/nontarget documentation built on June 2, 2022, 3:53 p.m.