peakPantheR_parallelAnnotation: Search, integrate and report targeted features in a multiple...

View source: R/peakPantheR_parallelAnnotation.R

peakPantheR_parallelAnnotationR Documentation

Search, integrate and report targeted features in a multiple spectra

Description

Integrate all target features in all files defined in the initialised input object and store results. The use of updated ROI and the integration of FIR are controled by the input object slots useUROI and useFIR. Files are processed in parallel using peakPantheR_singleFileSearch; ncores controls the number of cores used for parallelisation, with ncores=0 corresponding to serial processing. If the processing of a file fails (file does not exist or error during execution) the sample is removed from the outputed object.

Usage

peakPantheR_parallelAnnotation(
    object,
    ncores = 0,
    getAcquTime = TRUE,
    resetWorkers = 1,
    centroided = TRUE,
    curveModel = "skewedGaussian",
    verbose = TRUE,
    ...
)

Arguments

object

(peakPantheRAnnotation) Initialised peakPantheRAnnotation object defining the samples to process and compounds to target. The slots useUROI and useFIR controls if uROI must be used and FIR integrated if a feature is not found

ncores

(int) Number of cores to use for parallelisation. Default 0 for no parallelisation.

getAcquTime

(bool) If TRUE will extract sample acquisition date-time from the mzML metadata (the additional file access will impact run time)

resetWorkers

(int) If 0, the parallel cluster is only initiated once. If >0 the cluster will be reset (and the memory of each worker freed) once ncores * resetWorkers files have been processed. Default value is 1, the cluster is reset once ncores files have been processed. While potentially impacting performance (need to wait until all ncores * resetWorkers files are processed before restarting the cluster), shutting down the workers processes regularly will ensure the OS can reallocate memory more efficiently. For values >1, ensure sufficient system memory is available

centroided

(bool) use TRUE if the data is centroided, used by readMSData when reading the raw data files

curveModel

(str) specify the peak-shape model to fit, by default skewedGaussian. Accepted values are skewedGaussian and emgGaussian

verbose

(bool) If TRUE message calculation progress, time taken, number of features found (total and matched to targets) and failures

...

Passes arguments to findTargetFeatures to alter peak-picking parameters

Value

a list: list()$result (peakPantheRAnnotation) fully annotated object, list()$failures (list) list of failed samples and error message

See Also

Other peakPantheR: peakPantheRAnnotation, peakPantheR_singleFileSearch()

Other parallelAnnotation: peakPantheRAnnotation, peakPantheR_singleFileSearch()

Examples

if(requireNamespace('faahKO')){
## Load data
library(faahKO)

# 3 files
input_spectraPaths <- c(system.file('cdf/KO/ko15.CDF', package = 'faahKO'),
                        system.file('cdf/KO/ko16.CDF', package = 'faahKO'),
                        system.file('cdf/KO/ko18.CDF', package = 'faahKO'))

# 4 features
input_ROI     <- data.frame(matrix(vector(), 4, 8,
                    dimnames=list(c(), c('cpdID', 'cpdName', 'rtMin', 'rt',
                                        'rtMax', 'mzMin', 'mz', 'mzMax'))),
                    stringsAsFactors=FALSE)
input_ROI[1,] <- c('ID-1', 'Cpd 1', 3310., 3344.888, 3390., 522.194778,
                    522.2, 522.205222)
input_ROI[2,] <- c('ID-2', 'Cpd 2', 3280., 3385.577, 3440., 496.195038,
                    496.2, 496.204962)
input_ROI[3,] <- c('ID-3', 'Cpd 3', 3420., 3454.435, 3495., 464.195358,
                    464.2, 464.204642)
input_ROI[4,] <- c('ID-4', 'Cpd 4', 3670., 3701.697, 3745., 536.194638,
                    536.2, 536.205362)
input_ROI[,c(3:8)] <- vapply(input_ROI[,c(3:8)], as.numeric,
                            FUN.VALUE=numeric(4))

# Initialise object
initAnnotation <- peakPantheRAnnotation(spectraPaths=input_spectraPaths,
                                        targetFeatTable=input_ROI)
# to use updated ROI:
# uROIExist=TRUE, useUROI=TRUE, uROI=input_uROI
# to use FallBack Integration Regions:
# useFIR=TRUE, FIR=input_FIR

# Run serially
result_parallelAnnotation <- peakPantheR_parallelAnnotation(initAnnotation,
                                                        ncores=0,
                                                        getAcquTime=FALSE,
                                                        verbose=TRUE)
# Processing 4 compounds in 3 samples:
#  uROI:\tFALSE
#  FIR:\tFALSE
# ----- ko15 -----
# Polarity can not be extracted from netCDF files, please set manually the
#  polarity with the 'polarity' method.
# Reading data from 4 windows
# Data read in: 0.24 secs
# 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
# 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 #3
# Found 4/4 features in 0.06 secs
# Peak statistics done in: 0.02 secs
# Feature search done in: 0.76 secs
# ----- ko16 -----
# Polarity can not be extracted from netCDF files, please set manually the
#  polarity with the 'polarity' method.
# Reading data from 4 windows
# Data read in: 0.24 secs
# 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
# 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 #2
# 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 #3
# 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 #4
# Found 4/4 features in 0.08 secs
# Peak statistics done in: 0 secs
# Feature search done in: 0.71 secs
# ----- ko18 -----
# Polarity can not be extracted from netCDF files, please set manually the
#  polarity with the 'polarity' method.
# Reading data from 4 windows
# Data read in: 0.25 secs
# 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
# 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 #2
# 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 #4
# Found 4/4 features in 0.06 secs
# Peak statistics done in: 0 secs
# Feature search done in: 0.71 secs
# ----------------
# Parallel annotation done in: 2.18 secs

# No failures
result_parallelAnnotation$failures

result_parallelAnnotation$annotation
# An object of class peakPantheRAnnotation
#  4 compounds in 3 samples. 
#    updated ROI do not exist (uROI)
#    does not use updated ROI (uROI)
#    does not use fallback integration regions (FIR)
#    is annotated
}


phenomecentre/peakPantheR documentation built on Feb. 29, 2024, 9:07 p.m.