isPeak: Locate Peaks in a Spectrum

Description Usage Arguments Details Value Author(s) Examples

View source: R/isPeak.R

Description

Find local maxima of a spectrum.

Usage

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

Arguments

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).

to calculate area of the peak,

ratio

if area/max(area) > ratio, the peak is retained.

...

further arguments that get passed on to plot.

Details

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.

Value

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.

Author(s)

Xiaochun Li

Examples

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

PROcess documentation built on Nov. 8, 2020, 5:44 p.m.