View source: R/functions-MSpectra.R
MSpectra | R Documentation |
MSpectra
(Mass Spectra) objects allow to collect one or more
Spectrum object(s) (Spectrum1 or Spectrum2) in
a list
-like structure with the possibility to add arbitrary annotations
to each individual Spectrum
object. These can be accessed/set with
the mcols()
method.
MSpectra
objects can be created with the MSpectra
function.
Functions to access the individual spectra's attributes are available (listed below).
writeMgfData
exports a MSpectra
object to a file in MGF format. All
metadata columns present in mcols
are exported as additional fields with
the capitalized column names used as field names (see examples below).
MSpectra(..., elementMetadata = NULL)
## S4 method for signature 'MSpectra'
mz(object)
## S4 method for signature 'MSpectra'
intensity(object)
## S4 method for signature 'MSpectra'
rtime(object)
## S4 method for signature 'MSpectra'
precursorMz(object)
## S4 method for signature 'MSpectra'
precursorCharge(object)
## S4 method for signature 'MSpectra'
precScanNum(object)
## S4 method for signature 'MSpectra'
precursorIntensity(object)
## S4 method for signature 'MSpectra'
acquisitionNum(object)
## S4 method for signature 'MSpectra'
scanIndex(object)
## S4 method for signature 'MSpectra,ANY'
peaksCount(object)
## S4 method for signature 'MSpectra'
msLevel(object)
## S4 method for signature 'MSpectra'
tic(object)
## S4 method for signature 'MSpectra'
ionCount(object)
## S4 method for signature 'MSpectra'
collisionEnergy(object)
## S4 method for signature 'MSpectra'
fromFile(object)
## S4 method for signature 'MSpectra'
polarity(object)
## S4 method for signature 'MSpectra'
smoothed(object)
## S4 method for signature 'MSpectra'
isEmpty(x)
## S4 method for signature 'MSpectra'
centroided(object)
## S4 method for signature 'MSpectra'
isCentroided(object)
## S4 method for signature 'MSpectra'
writeMgfData(object, con = "spectra.mgf", COM = NULL, TITLE = NULL)
## S4 method for signature 'MSpectra'
clean(object, all = FALSE, msLevel. = msLevel., ...)
## S4 method for signature 'MSpectra'
removePeaks(object, t, msLevel., ...)
## S4 method for signature 'MSpectra'
filterMz(object, mz, msLevel., ...)
## S4 method for signature 'MSpectra'
pickPeaks(
object,
halfWindowSize = 3L,
method = c("MAD", "SuperSmoother"),
SNR = 0L,
refineMz = c("none", "kNeighbors", "kNeighbours", "descendPeak"),
msLevel. = unique(msLevel(object)),
...
)
## S4 method for signature 'MSpectra'
smooth(
x,
method = c("SavitzkyGolay", "MovingAverage"),
halfWindowSize = 2L,
...
)
## S4 method for signature 'MSpectra'
filterMsLevel(object, msLevel.)
... |
For |
elementMetadata |
For |
object |
For all functions: a |
x |
For all functions: a |
con |
For |
COM |
For |
TITLE |
For |
all |
For |
msLevel. |
For |
t |
For |
mz |
For |
halfWindowSize |
For |
method |
For |
SNR |
For |
refineMz |
For |
MSpectra
inherits all methods from the SimpleList class of the
S4Vectors
package. This includes lapply
and other data manipulation
and subsetting operations.
New MSpectra can be created with the MSpectra(...)
function
where ...
can either be a single Spectrum object or a list
of
Spectrum
objects (Spectrum1 and/or Spectrum2).
These methods allow to access the attributes and values of the individual
Spectrum
(Spectrum1 or Spectrum2) objects within the list.
mz
return the m/z values of each spectrum as a list
of numeric
vectors.
intensity
return the intensity values of each spectrum as a list
of
numeric
vectors.
rtime
return the retention time of each spectrum as a numeric
vector
with length equal to the length of object
.
precursorMz
, precursorCharge
, precursorIntensity
, precScanNum
return precursor m/z values, charge, intensity and scan number for each
spectrum as a numeric
(or integer
) vector with length equal to the
length of object
. Note that for Spectrum1 objects NA
will be
returned.
acquisitionNum
and scanIndex
return the acquisition number of each
spectrum and its scan index as an integer
vector with the same length
than object
.
ionCount
and tic
return the ion count and total ion current of each
spectrum.
peaksCount
returns the number of peaks for each spectrum as a integer
vector.
msLevel
returns the MS level of each spectrum.
collisionEnergy
returns the collision energy for each spectrum or NA
for Spectrum1 objects.
polarity
returns the spectra's polarity.
fromFile
returns the index from the (e.g. mzML) file the spectra where
from. This applies only for spectra read using the readMSData()
function.
smoothed
whether spectra have been smoothed (i.e. processed with the
smooth()
method. Returns a logical
of length equal to the
number of spectra.
isEmpty
returns TRUE
for spectra without peak data.
centroided
, isCentroided
returns for each spectrum whether it contains
centroided data. While centroided
returns the internal attribute of
each spectrum, isCentroided
tries to guess whether spectra are
centroided from the actual peak data.
clean
cleans each spectrum. See clean()
for more details.
pickPeaks
performs peak picking to generate centroided spectra. See
pickPeaks()
for more details.
removePeaks
removes peaks lower than a threshold t
. See
removePeaks()
for more details.
smooth
smooths spectra. See smooth()
for more details.
[
can be used to subset the MSpectra
object.
filterMsLevel
filters MSpectra
to retain only spectra from certain MS
level(s).
filterMz
filters the spectra by the specified mz
range. See
filterMz()
for details.
Note that the Spectra package provides a more robust and efficient infrastructure for mass spectrometry data handling and analysis. So, wherever possible, the newer Spectra package should be used instead of the MSnbase.
For backward compatibility, it is however possible to convert between the
MSpectra
and the newer Spectra
objects:
A Spectra
object can be coerced to a MSpectra
using
as(sps, "MSpectra")
where sps
is a Spectra
object.
The extractSpectraData()
function can be used to extract the data from
a MSpectra
as a DataFrame
, which can then be used to create a
Spectra
object.
Johannes Rainer
## Create from Spectrum objects
sp1 <- new("Spectrum1", mz = c(1, 2, 4), intensity = c(4, 5, 2))
sp2 <- new("Spectrum2", mz = c(1, 2, 3, 4), intensity = c(5, 3, 2, 5),
precursorMz = 2)
spl <- MSpectra(sp1, sp2)
spl
spl[[1]]
## Add also metadata columns
mcols(spl)$id <- c("a", "b")
mcols(spl)
## Create a MSpectra with metadata
spl <- MSpectra(sp1, sp2, elementMetadata = DataFrame(id = c("a", "b")))
mcols(spl)
mcols(spl)$id
## Extract the mz values for the individual spectra
mz(spl)
## Extract the intensity values for the individual spectra
intensity(spl)
## Extract the retention time values for the individual spectra
rtime(spl)
## Extract the precursor m/z of each spectrum.
precursorMz(spl)
## Extract the precursor charge of each spectrum.
precursorCharge(spl)
## Extract the precursor scan number for each spectrum.
precScanNum(spl)
## Extract the precursor intensity of each spectrum.
precursorIntensity(spl)
## Extract the acquisition number of each spectrum.
acquisitionNum(spl)
## Extract the scan index of each spectrum.
scanIndex(spl)
## Get the number of peaks per spectrum.
peaksCount(spl)
## Get the MS level of each spectrum.
msLevel(spl)
## Get the total ion current for each spectrum.
tic(spl)
## Get the total ion current for each spectrum.
ionCount(spl)
## Extract the collision energy for each spectrum.
collisionEnergy(spl)
## Extract the file index for each spectrum.
fromFile(spl)
## Get the polarity for each spectrum.
polarity(spl)
## Whether spectra are smoothed (i.e. processed with the `smooth`
## function).
smoothed(spl)
## Are spectra empty (i.e. contain no peak data)?
isEmpty(spl)
## Do the spectra contain centroided data?
centroided(spl)
## Do the spectra contain centroided data? Whether spectra are centroided
## is estimated from the peak data.
isCentroided(spl)
## Export the spectrum list to a MGF file. Values in metadata columns are
## exported as additional field for each spectrum.
tmpf <- tempfile()
writeMgfData(spl, tmpf)
## Evaluate the written output. The ID of each spectrum (defined in the
## "id" metadata column) is exported as field "ID".
readLines(tmpf)
## Set mcols to NULL to avoid export of additional data fields.
mcols(spl) <- NULL
file.remove(tmpf)
writeMgfData(spl, tmpf)
readLines(tmpf)
## Filter the object by MS level
filterMsLevel(spl, msLevel. = 1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.