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

1
2
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

.

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.

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.

Author(s)

Alvaro Cuadros-Inostroza, Matthew Hannah, Henning Redestig

See Also

peakCDFextraction

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
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)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.