peaks {mzR} | R Documentation

## Access the raw data from an `mzR` object.

### Description

Access the MS raw data. The `peaks`, `spectra` (can be used interchangeably) and `peaksCount` functions return the (m/z, intensity) pairs and the number peaks in the spectrum/spectra. `peaks` and `spectra` return a single matrix if `scans` is a `numeric` of length 1 and a list of matrices if several scans are asked for or no `scans` argument is provided (i.e all spectra in the oject are retured). `peaksCount` will return a numeric of length `n`.

The `header` function returns a list containing `seqNum`, `acquisitionNum`, `msLevel`, `peaksCount`, `totIonCurrent`, `retentionTime` (in seconds), `basePeakMZ`, `basePeakIntensity`, `collisionEnergy`, `ionisationEnergy`, `lowM`, `highMZ`, `precursorScanNum`, `precursorMZ`, `precursorCharge`, `precursorIntensity`, `mergedScan`, `mergedResultScanNum`, `mergedResultStartScanNum`, `mergedResultEndScanNum`, `filterString`, `spectrumId`, `centroided` (`logical` whether the data of the spectrum is in centroid mode or profile mode; only for pwiz backend), `injectionTime` (ion injection time, in milliseconds), `ionMobilityDriftTime` (in milliseconds), `isolationWindowTargetMZ`, `isolationWindowLowerOffset`, `isolationWindowUpperOffset`, `scanWindowLowerLimit` and `scanWindowUpperLimit`. If multiple scans are queried, a `data.frame` is returned with the scans reported along the rows. For missing or not defined spectrum variables `NA` is reported.

The `get3Dmap` function performs a simple resampling between `lowMz` and `highMz` with `reMz` resolution. A matrix of dimensions `length(scans)` times `seq(lowMz,highMz,resMz)` is returned.

The `chromatogram` (`chromatograms`) accessors return chromatograms for the MS file handle. If a single index is provided, as `data.frame` containing the retention time (1st columns) and intensities (2nd column) is returned. The name of the former is always `time`, while the latter will depend on the run parameters.

If more than 1 or no chromatogram indices are provided, then a list of chromatograms is returned; either those passed as argument or all of them. By default, the first (and possibly only) chromatogram is the total ion count, which can also be accessed with the `tic` method.

The `nChrom` function returns the number of chromatograms, including the total ion chromatogram.

The `chromatogramHeader` returns (similar to the `header` function for spectra) a `data.frame` with metadata information for the individual chromatograms. The `data.frame` has the columns: `"chromatogramId"` (the ID of the chromatogram as specified in the file), `"chromatogramIndex"` (the index of the chromatogram within the file), `"polarity"` (the polarity for the chromatogram, 0 for negative, +1 for positive and -1 for not set), `"precursorIsolationWindowTargetMZ"` (the isolation window m/z of the precursor), `"precursorIsolationWindowLowerOffset"`, `"precursorIsolationWindowUpperOffset"` (lower and upper offset for the isolation window m/z), `"precursorCollisionEnergy"` (collision energy), `"productIsolationWindowTargetMZ"`, `"productIsolationWindowLowerOffset"` and `"productIsolationWindowUpperOffset"` (definition of the m/z isolation window for the product).

Note that access to chromatograms is only supported in the `pwiz` backend.

### Usage

     header(object, scans, ...)

     peaksCount(object, scans, ...)

     ## S4 method for signature 'mzRpwiz'
    peaks(object, scans)
     ## S4 method for signature 'mzRramp'
    peaks(object, scans)
     ## S4 method for signature 'mzRnetCDF'
    peaks(object, scans)

     ## S4 method for signature 'mzRpwiz'
    spectra(object, scans)   ## same as peaks
     ## S4 method for signature 'mzRramp'
    spectra(object, scans)
     ## S4 method for signature 'mzRnetCDF'
    spectra(object, scans)

     get3Dmap(object, scans, lowMz, highMz, resMz, ...)

     ## S4 method for signature 'mzRpwiz'
    chromatogram(object, chrom)

     ## S4 method for signature 'mzRpwiz'
    chromatograms(object, chrom)  ## same as chromatogram

     ## S4 method for signature 'mzRpwiz'
    chromatogramHeader(object, chrom)

     tic(object, ...)

     nChrom(object)

### Arguments

`object` | An instantiated `mzR` object.
`scans` | A `numeric` specifying which scans to return. Optional for the `header`, `peaks`, `spectra` and `peaksCount` methods. If ommited, the requested data for all peaks is returned.
`lowMz, highMz` | `Numeric`s defining the m/z range to be returned.
`resMz` | a `numeric` defining the m/z resolution.
`chrom` | For `chromatogram`, `chromatograms` and `chromatogramHeader`: `numeric` specifying the index of the chromatograms to be extracted from the file. If omitted, data for all chromatograms is returned.
`...` | Other arguments. A `scan` parameter can be passed to `peaks`.

### Details

The column `acquisitionNum` in the `data.frame` returned by the `header` method contains the index during the scan in which the signal from the spectrum was measured. The `pwiz` backend extracts this number from the spectrum's ID provided in the mzML file. In contrast, column `seqNum` contains the index of each spectrum within the file and is thus consecutively numbered. Spectra from files with multiple MS levels are linked to each other via their `acquisitionNum`: column `precursorScanNum` of an e.g. MS level 2 spectrum contains the `acquisitionNum` of the related MS level 1 spectrum.

### Note

Spectrum identifiers are only specified in mzML files, thus, for all other file types the column `"spectrumId"` of the result `data.frame` returned by `header` contains `"scan="` followed by the acquisition number of the spectrum. Also, only the `pwiz` backend supports extraction of the spectras' IDs from mzML files. Thus, only mzML files read with `backend = "pwiz"` provide the spectrum IDs defined in the file. The content of the spectrum identifier depends on the vendor and the instrument acquisition settings and is reported here as a character, in its raw form, without further parsing.

### Author(s)

Steffen Neumann and Laurent Gatto

### See Also

`instrumentInfo` for metadata access and the `"mzR"` class.

`writeMSData` and `copyWriteMSData` for functions to write MS data in mzML or `mzXML` format.

### Examples

     library(msdata)
     filepath <- system.file("microtofq", package = "msdata")
     file <- list.files(filepath, pattern="MM14.mzML",
                         full.names=TRUE, recursive = TRUE)
     mz <- openMSfile(file)
     runInfo(mz)
     colnames(header(mz))
     close(mz)

     ## A shotgun LCMSMS experiment
     f <- proteomics(full.names = TRUE,
                     pattern = "TMT_Erwinia_1uLSike_Top10HCD_isol2_45stepped_60min_01.mzML.gz")
     x <- openMSfile(f, backend = "pwiz")
     x
     nChrom(x)
     head(tic(x))
     head(chromatogram(x, 1L)) ## same as tic(x)
     str(chromatogram(x)) ## as a list

     p <- peaks(x) ## extract all peak information
     head(peaks(x, scan=4)) ## extract just peaks from the 4th scan

     ## An MRM experiment
     f <- proteomics(full.names = TRUE, pattern = "MRM")
     x <- openMSfile(f, backend = "pwiz")
     x
     nChrom(x)
     head(tic(x))
     head(chromatogram(x, 1L)) ## same as tic(x)
     str(chromatogram(x, 10:12))

     ## get the header information for the chromatograms
     ch <- chromatogramHeader(x)
     head(ch)

[Package mzR version 2.21.1 Index]