isPeak {PROcess}R Documentation

Locate Peaks in a Spectrum


Find local maxima of a spectrum.


isPeak(f,SoN = 2,span = 81,sm.span=11,plot=FALSE,add = FALSE,
zerothrsh=2,area.w = 0.003, ratio = 0.2) 


f a matrix of two columns representing a spectrum, with the first column the m/z value and second the intensity
SoN signal to noise ratio criterion for peak detection
span parameter for estimating local variance before peak detection; default is 81 points, that is, 40 points to the left and right of a point of which the variance is being estimated.
sm.span parameter for smoothing the spectrum before peak detection; default is 11 points, that is, 5 points to the left and right of a point being smoothed
plot logical, plot the smoothed spectrum and peaks?
add add to the existing raw and baseline-substracted plot?
zerothrsh ignore peaks whose intensity values are below zerothrsh.
area.w the neighbourhood of a peak m/z, mz*(1-area.w, 1+area.w).
ratio if area/max(area) > ratio, the peak is retained.


A spectrum is smoothed first using the nearest `span' neighbours. A larger span `sm.span' is needed to estimate the local variation so that it is not overestimated due to the peaks nearby. Then potential peaks are identified using Ripley's `peaks' function with `span' points.

Peaks that satify the conditions that the (smoothed) signal to noise ratio is greater than `SoN' and that the smoothed signal is greater than 1.64 * mad(sm) are returned.


A data frame with five components, `peak',`smooth',`mz' and `sigmas', each of length the number of rows in `f'. `peak' is logical indicating whethere there is a peak or not (Y/N), `smooth' the smooth of the spectrum, `mz' the same as `f[,1]', `sigmas' the estimates of local variation and `area' the area associated with each peak after the first pass.


Xiaochun Li


pkobj <- isPeak(bseoff,span=81,sm.span=11,plot=TRUE)

[Package PROcess version 1.3.2 Index]