Description Usage Arguments Details Author(s) References Examples
peakdetection
uses Continuous wavelet transformation
(CWT) to determine optimal peak location. A modified algorithm of Du
et al. (2006) is used to localize peak positions.
1 | peakdetection(scales, y, x, SNR.Th, SNR.area, mintr)
|
scales |
vector with the scales to perform CWT |
y |
vector of ion intensities |
x |
vector of mz bins |
SNR.Th |
Signal-to-noise threshold |
SNR.area |
Window size for noise estimation |
mintr |
Minimal peak width intensity treshold (in percentage), for which two overlapping peaks are considered as separated. default is set to 0.5. |
A peak detection algorithm based on continuous wavelet transformation (CWT) is used for this step (modified from Du et al., 2006). Peak detection based on CWT has the advantage that a sliding scale of wavelets instead of a single filter function with fixed wavelength is used. This allows for a flexible and automatic approximation of the peak width. As a result it is possible to locate both narrow and broad peaks within a given dynamic range.
David Fischer 2013
Du, P., Kibbe, W. A., & Lin, S. M. (2006). Improved peak detection in mass spectrum by incorporating continuous wavelet transform-based pattern matching. Bioinformatics, 22(17), 2059-2065. doi:10.1093/bioinformatics/btl355
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 37 38 |
cdfpath <- file.path(find.package("faahKO"), "cdf")
my.input.files <- dir(c(paste(cdfpath, "WT", sep='/'),
paste(cdfpath, "KO", sep='/')), full.names=TRUE)
# create xcmsSet object
xs <- new("xcmsSet")
xs@filepaths <- my.input.files
op<-par(mfrow=c(3,1))
x<-combine_spectra(xs=xs, mzbin=0.25,
linear=TRUE, continuum=FALSE)
plot(x$mz, x$intensity,
type='h',
main='original',
xlab='m/Z', ylab='ion intensity')
xy <- peakdetection(x=x$mz, y=x$intensity,
scales=1:10, SNR.Th=1.0, SNR.area=20, mintr=0.5)
id.peakcenter<-xy[,4]
plot(x$mz[id.peakcenter], x$intensity[id.peakcenter], type='h',
main='filtered')
plot(x$mz, x$intensity, type='l',
xlim=c(400,450),
main='zoom',
log='y',
xlab='m/Z', ylab='ion intensity (log scale)')
points(x$mz[id.peakcenter], x$intensity[id.peakcenter],col='red', type='h')
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.