NetCDFPeakFinding {TargetSearch}R Documentation

Peak picking algorithm from CDF files

Description

This function reads a netcdf chromatogram file, finds the apex intensities and returns a list containing the retention time and the intensity matrices.

Usage

NetCDFPeakFinding(cdfFile, massRange = c(85, 500), Window = 5, IntThreshold = 10,
                  pp.method = "smoothing")

Arguments

cdfFile A character string naming a netcdf file.
massRange A two component numeric vector with the scan mass range to extract.
Window The window used by peak picking method. The number of points actually used is 2*Window + 1.
IntThreshold Apex intensities lower than this value will be removed from the RI files.
pp.method The pick picking method to be used. Options are "smoothing" and "ppc".

Details

The function expects the following NetCDF variables: intensity_values, mass_values, scan_index, point_count and scan_acquisition_time. Otherwise, an error will be displayed.

The massRange parameter is a numeric vector with two components: lower and higher masses. All masses in that range will be extracted. Note that it is not possible to extract a discontinuous mass range.

There are two peak picking algorithms that can be used. The "smoothing" method smooths the m/z curves and then looks for a change of sign of the intensity difference between two consecutive points. The "ppc" uses a sliding window and looks for the local maxima. This method is based on R-package ppc.

Value

A two component list.

Time The retention time vector.
Peaks The intensity matrix. Rows are the retention times and columns are masses. The first column is the lower mass value and the last one is the higher mass.

Author(s)

Alvaro Cuadros-Inostroza, Matthew Hannah, Henning Redestig

See Also

peakCDFextraction

Examples

require(TargetSearchData)
data(TargetSearchData)
CDFpath <- file.path(.find.package("TargetSearchData"), "gc-ms-data")
CDFfiles <- dir(CDFpath, pattern = "\.cdf$", full.names = TRUE)
CDFfiles

# extrac peaks of first chromatogram
peaks.1 <- NetCDFPeakFinding(CDFfiles[1], massRange = c(85, 320), Window = 15,
                         IntThreshold = 10, pp.method = "smoothing")
# scan acquisition times
head(peaks.1$Time)
# peaks in matrix form. first column is mass 85, last one is mass 320.
head(peaks.1$Peaks)


[Package TargetSearch version 1.0.0 Index]