Learn R Programming

TargetSearch (version 1.28.1)

NetCDFPeakFinding: 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 = NULL, Window = 15, IntThreshold = 10, pp.method = "ppc", baseline = FALSE, baseline.opts = NULL)

Arguments

cdfFile
A character string naming a netcdf file.
massRange
A two component numeric vector with the scan mass range to extract or NULL, in which case the range will be inferred from the cdf file.
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".
baseline
Logical. Should baseline correction be performed?
baseline.opts
A list of options passed to baselineCorrection

Value

A three 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.
massRange
The mass range.

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. It also can be NULL, in which case the mass range will be determined by scanning the cdf file. 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.

See Also

peakCDFextraction

Examples

Run this code
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)

Run the code above in your browser using DataLab