View source: R/do_findChromPeaks-functions.R
do_findChromPeaks_matchedFilter | R Documentation |
This function identifies peaks in the chromatographic
time domain as described in [Smith 2006]. The intensity values are
binned by cutting The LC/MS data into slices (bins) of a mass unit
(binSize
m/z) wide. Within each bin the maximal intensity is
selected. The peak detection is then performed in each bin by
extending it based on the steps
parameter to generate slices
comprising bins current_bin - steps +1
to
current_bin + steps - 1
.
Each of these slices is then filtered with matched filtration using
a second-derative Gaussian as the model peak shape. After filtration
peaks are detected using a signal-to-ration cut-off. For more details
and illustrations see [Smith 2006].
do_findChromPeaks_matchedFilter(
mz,
int,
scantime,
valsPerSpect,
binSize = 0.1,
impute = "none",
baseValue,
distance,
fwhm = 30,
sigma = fwhm/2.3548,
max = 5,
snthresh = 10,
steps = 2,
mzdiff = 0.8 - binSize * steps,
index = FALSE,
sleep = 0
)
mz |
Numeric vector with the individual m/z values from all scans/ spectra of one file/sample. |
int |
Numeric vector with the individual intensity values from all scans/spectra of one file/sample. |
scantime |
Numeric vector of length equal to the number of spectra/scans of the data representing the retention time of each scan. |
valsPerSpect |
Numeric vector with the number of values for each spectrum. |
binSize |
|
impute |
Character string specifying the method to be used for missing
value imputation. Allowed values are |
baseValue |
The base value to which empty elements should be set. This
is only considered for |
distance |
For |
fwhm |
|
sigma |
|
max |
|
snthresh |
|
steps |
|
mzdiff |
|
index |
|
sleep |
|
The intensities are binned by the provided m/z values within each
spectrum (scan). Binning is performed such that the bins are centered
around the m/z values (i.e. the first bin includes all m/z values between
min(mz) - bin_size/2
and min(mz) + bin_size/2
).
For more details on binning and missing value imputation see
binYonX
and imputeLinInterpol
methods.
A matrix, each row representing an identified chromatographic peak, with columns:
Intensity weighted mean of m/z values of the peak across scans.
Minimum m/z of the peak.
Maximum m/z of the peak.
Retention time of the peak's midpoint.
Minimum retention time of the peak.
Maximum retention time of the peak.
Integrated (original) intensity of the peak.
Integrated intensity of the filtered peak.
Maximum intensity of the peak.
Maximum intensity of the filtered peak.
Rank of peak in merged EIC (<= max
).
Signal to noise ratio of the peak
This function exposes core peak detection functionality of
the matchedFilter method. While this function can be called
directly, users will generally call the corresponding method for the
data object instead (e.g. the link{findPeaks.matchedFilter}
method).
Colin A Smith, Johannes Rainer
Colin A. Smith, Elizabeth J. Want, Grace O'Maille, Ruben Abagyan and Gary Siuzdak. "XCMS: Processing Mass Spectrometry Data for Metabolite Profiling Using Nonlinear Peak Alignment, Matching, and Identification" Anal. Chem. 2006, 78:779-787.
binYonX
for a binning function,
imputeLinInterpol
for the interpolation of missing values.
matchedFilter
for the standard user interface method.
Other core peak detection functions:
do_findChromPeaks_centWave()
,
do_findChromPeaks_centWaveWithPredIsoROIs()
,
do_findChromPeaks_massifquant()
,
do_findPeaks_MSW()
## Load the test file
faahko_sub <- loadXcmsData("faahko_sub")
## Subset to one file and restrict to a certain retention time range
data <- filterRt(filterFile(faahko_sub, 1), c(2500, 3000))
## Get m/z and intensity values
mzs <- mz(data)
ints <- intensity(data)
## Define the values per spectrum:
valsPerSpect <- lengths(mzs)
res <- do_findChromPeaks_matchedFilter(mz = unlist(mzs), int = unlist(ints),
scantime = rtime(data), valsPerSpect = valsPerSpect)
head(res)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.