identifyMajorPeaks: Identify peaks based on the ridges in 2-D CWT coefficient...

Description Usage Arguments Details Value Author(s) References See Also Examples

Description

Indentify the peaks based on the ridge list (returned by getRidge) in 2-D CWT coefficient matrix and estimated Signal to Noise Ratio (SNR)

Usage

1
identifyMajorPeaks(ms, ridgeList, wCoefs, scales = as.numeric(colnames(wCoefs)), SNR.Th = 3, peakScaleRange = 5, ridgeLength = 32, nearbyPeak = FALSE, nearbyWinSize = 100, winSize.noise = 500, SNR.method = "quantile", minNoiseLevel = 0.001)

Arguments

ms

the mass spectrometry spectrum

ridgeList

returned by getRidge

wCoefs

2-D CWT coefficients

scales

scales of CWT, by default it is the colnames of wCoefs

SNR.Th

threshold of SNR

peakScaleRange

the CWT scale range of the peak.

ridgeLength

the maximum ridge scale of the major peaks.

nearbyPeak

determine whether to include the small peaks close to large major peaks

nearbyWinSize

the window size to determine the nearby peaks. Only effective when nearbyPeak is true.

winSize.noise

the local window size to estimate the noise level.

SNR.method

method to estimate noise level. Currently, only 95 percentage quantile is supported.

minNoiseLevel

the minimum noise level used in calculating SNR, i.e., if the estimated noise level is less than "minNoiseLevel", it will use "minNoiseLevel" instead. If the noise level is less than 0.5, it will be treated as the ratio to the maximum amplitude of the spectrum.

Details

The determination of the peaks is based on three rules: Rule 1: The maximum ridge scale of the peak should larger than a certain threshold Rule 2: Based on the scale of the peak (corresponding to the maximum value of the peak ridge) should be within certain range Rule 3: Based on the peak SNR

Value

Return a list with following elements:

peakIndex

the m/z indexes of the identified peaks

peakCenterIndex

the m/z indexes of peak centers, which correspond to the maximum on the ridge. peakCenterIndex includes all the peaks, not just the identified major peaks.

peakCenterValue

the CWT coefficients (the maximum on the ridge) corresponding to peakCenterIndex

peakSNR

the SNR of the peak, which is the ratio of peakCenterValue and noise level

peakScale

the estimated scale of the peak, which corresponds to the peakCenerIndex

potentialPeakIndex

the m/z indexes of all potential peaks, which satisfy all requirements of a peak without considering its SNR. Useful, if you want to change to a lower SNR threshold later.

allPeakIndex

the m/z indexes of all the peaks, whose order is the same as peakCenterIndex, peakCenterValue, peakSNR and peakScale.

All of these return elements have peak names, which are the same as the corresponding peak ridges. see getRidge for details.

Author(s)

Pan Du, Simon Lin

References

Du, P., Kibbe, W.A. and Lin, S.M. (2006) Improved peak detection in mass spectrum by incorporating continuous wavelet transform-based pattern matching, Bioinformatics, 22, 2059-2065.

See Also

peakDetectionCWT, tuneInPeakInfo

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
	data(exampleMS)
	scales <- seq(1, 64, 3)
	wCoefs <- cwt(exampleMS, scales=scales, wavelet='mexh')
	
	localMax <- getLocalMaximumCWT(wCoefs)
	ridgeList <- getRidge(localMax)
	
	SNR.Th <- 3
	majorPeakInfo <- identifyMajorPeaks(exampleMS, ridgeList, wCoefs, SNR.Th=SNR.Th)
	## Plot the identified peaks
	peakIndex <- majorPeakInfo$peakIndex
	plotPeak(exampleMS, peakIndex, main=paste('Identified peaks with SNR >', SNR.Th)) 
	

Example output

Loading required package: waveslim

waveslim: Wavelet Method for 1/2/3D Signals (version = 1.7.5)

MassSpecWavelet documentation built on Nov. 8, 2020, 5:36 p.m.