For each ROI, fit a curve and integrate the largest feature in
the box. Each entry in
ROIsDataPoints must match the corresponding row
ROI. The curve shape to employ for fitting can be changed with
curveModel while fitting parameters can be changed with
(list with one param per ROI window).
established at 0.5
outward (the window is the ROI width); if after 8 iterations
rtMax is not found, NA is returned and the peak fit rejected.
peakArea is calculated from
the weighted (by intensity) average mz of datapoints falling into the
mzMax are the
minimum and maxmimum mass in these range. If
falls outside of ROI (extracted scans),
returned as the input ROI limits and
mz is an approximation on the
datapoints available (if no scan of the ROI fall between rtMin/rtMax, mz
would be NA, the peak is rejected). If any of the two following ratio are
maxApexResidualRatio, the fit is rejected: 1) ratio of fit
residuals at the apex (predicted apex fit intensity vs measured apex
intensity: fit overshoots the apex), 2) ratio of predicted apex fit intensity
vs maximum measured peak intensity (fit misses the real apex in the peak).
1 2 3
(list) A list (one entry per ROI window) of data.frame with signal as row and retention time ('rt'), mass ('mz') and intensity ('int) as columns. Must match each row of ROI.
(data.frame) A data.frame of compounds to target as rows. Columns:
(str) Name of the curve model to fit (currently
(list or str) Either 'guess' for automated parametrisation or list (one per ROI windows) of 'guess' or list of curve fit parameters
(int) Number of points to employ when subsampling the fittedCurve (rt, rtMin, rtMax, integral calculation)
(float) Ratio of maximum allowed fit residual at the peak apex, compared to the fit max intensity. (e.g. 0.2 for a maximum residual of 20% of apex intensity)
(bool) If TRUE message the time taken and number of features found
Passes arguments to
## Examples cannot be computed as the function is not exported: ## Load data library(faahKO) library(MSnbase) netcdfFilePath <- system.file('cdf/KO/ko15.CDF', package = 'faahKO') raw_data <- MSnbase::readMSData(netcdfFilePath,centroided=TRUE,mode='onDisk')
## targetFeatTable targetFeatTable <- data.frame(matrix(vector(), 2, 8, dimnames=list(c(), c('cpdID','cpdName','rtMin','rt','rtMax','mzMin', 'mz','mzMax'))), stringsAsFactors=FALSE) targetFeatTable[1,] <- c('ID-1', 'Cpd 1', 3310., 3344.888, 3390., 522.194778, 522.2, 522.205222) targetFeatTable[2,] <- c('ID-2', 'Cpd 2', 3280., 3385.577, 3440., 496.195038, 496.2, 496.204962) targetFeatTable[,3:8] <- vapply(targetFeatTable[,3:8], as.numeric, FUN.VALUE=numeric(2))
ROIsPt <- extractSignalRawData(raw_data, rt=targetFeatTable[,c('rtMin','rtMax')], mz=targetFeatTable[,c('mzMin','mzMax')], verbose=TRUE) # Reading data from 2 windows
foundPeaks <- findTargetFeatures(ROIsPt, targetFeatTable, verbose=TRUE) # Warning: rtMin/rtMax outside of ROI; datapoints cannot be used for # mzMin/mzMax calculation, # approximate mz and returning ROI$mzMin and ROI$mzMax for ROI #1 # Found 2/2 features in 0.07 secs
foundPeaks # $peakTable # found rtMin rt rtMax mzMin mz mzMax peakArea # 1 TRUE 3309.759 3346.828 3385.410 522.1948 522.2 522.2052 26133727 # 2 TRUE 3345.377 3386.529 3428.279 496.2000 496.2 496.2000 35472141 # maxIntMeasured maxIntPredicted # 1 889280 901015.8 # 2 1128960 1113576.7 # # $curveFit # $curveFit[] # $amplitude #  162404.8 # # $center #  3341.888 # # $sigma #  0.07878613 # # $gamma #  0.00183361 # # $fitStatus #  2 # # $curveModel #  'skewedGaussian' # # attr(,'class') #  'peakPantheR_curveFit' # # $curveFit[] # $amplitude #  199249.1 # # $center #  3382.577 # # $sigma #  0.07490442 # # $gamma #  0.00114719 # # $fitStatus #  2 # # $curveModel #  'skewedGaussian' # # attr(,'class') #  'peakPantheR_curveFit'
list()$peakTable (data.frame) with targeted
features as rows and peak measures as columns (see Details),
list()$curveFit (list) a list of
NA for each ROI.
data.frame is structured as follow:
|found||was the peak found|
|rt||retention time of peak apex (sec)|
|rtMin||leading edge of peak retention time (sec) determined at 0.5% of apex intensity|
|rtMax||trailing edge of peak retention time (sec) determined at 0.5% of apex intensity|
|mz||weighted (by intensity) mean of peak m/z across scans|
|mzMin||m/z peak minimum (between rtMin, rtMax)|
|mzMax||m/z peak maximum (between rtMin, rtMax)|
|peakArea||integrated peak area|
|maxIntMeasured||maximum peak intensity in raw data|
|maxIntPredicted||maximum peak intensity based on curve fit (at apex)|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.