Imports mass-spectrometry raw data files as 'MSnExp' instances.
Source:R/readMSData.R
readMSData.RdReads as set of XML-based mass-spectrometry data files and
generates an MSnExp object. This function uses the
functionality provided by the mzR package to access data and
meta data in mzData, mzXML and mzML.
Usage
readMSData(
files,
pdata = NULL,
msLevel. = NULL,
verbose = isMSnbaseVerbose(),
centroided. = NA,
smoothed. = NA,
cache. = 1L,
mode = c("inMemory", "onDisk")
)Arguments
- files
A
characterwith file names to be read and parsed.- pdata
An object of class AnnotatedDataFrame or
NULL(default).- msLevel.
MS level spectra to be read. In
inMemorymode, use1for MS1 spectra or any larger numeric for MSn spectra. Default is2forInMemorymode.onDiskmode supports multiple levels and will, by default, read all the data.- verbose
Verbosity flag. Default is to use
isMSnbaseVerbose().- centroided.
A
logical, indicating whether spectra are centroided or not. Default isNAin which case the information is extracted from the raw file (for mzML or mzXML files). InonDisk, it can also be set for different MS levels by a vector of logicals, where the first element is for MS1, the second element is for MS2, ... See OnDiskMSnExp for an example.- smoothed.
A
logicalindicating whether spectra already smoothed or not. Default isNA.- cache.
Numeric indicating caching level. Default is 0 for MS1 and 1 MS2 (or higher). Only relevant for
inMemorymode.- mode
On of
"inMemory"(default) or"onDisk". The former loads the raw data in memory, while the latter only generates the object and the raw data is accessed on disk when needed. See the benchmarking vignette for memory and speed implications.
Value
An MSnExp object for inMemory mode and a
OnDiskMSnExp object for onDisk mode.
Details
When using the inMemory mode, the whole MS data is read from
file and kept in memory as Spectrum objects within the
MSnExp'es assayData slot.
To reduce the memory footpring especially for large MS1 data sets
it is also possible to read only selected information from the MS
files and fetch the actual spectrum data (i.e. the M/Z and
intensity values) only on demand from the original data
files. This can be achieved by setting mode = "onDisk". The
function returns then an OnDiskMSnExp object instead of a
MSnExp object.
See also
readMgfData() to read mgf peak lists.
Examples
file <- dir(system.file(package = "MSnbase", dir = "extdata"),
full.name = TRUE,
pattern = "mzXML$")
mem <- readMSData(file, mode = "inMemory")
mem
#> MSn experiment data ("MSnExp")
#> Object size in memory: 0.18 Mb
#> - - - Spectra data - - -
#> MS level(s): 2
#> Number of spectra: 5
#> MSn retention times: 25:01 - 25:02 minutes
#> - - - Processing information - - -
#> Data loaded: Tue Aug 26 11:39:02 2025
#> MSnbase version: 2.35.2
#> - - - Meta data - - -
#> phenoData
#> rowNames: dummyiTRAQ.mzXML
#> varLabels: sampleNames
#> varMetadata: labelDescription
#> Loaded from:
#> dummyiTRAQ.mzXML
#> protocolData: none
#> featureData
#> featureNames: F1.S1 F1.S2 ... F1.S5 (5 total)
#> fvarLabels: spectrum
#> fvarMetadata: labelDescription
#> experimentData: use 'experimentData(object)'
dsk <- readMSData(file, mode = "onDisk")
dsk
#> MSn experiment data ("OnDiskMSnExp")
#> Object size in memory: 0.03 Mb
#> - - - Spectra data - - -
#> MS level(s): 2
#> Number of spectra: 5
#> MSn retention times: 25:01 - 25:02 minutes
#> - - - Processing information - - -
#> Data loaded [Tue Aug 26 11:39:03 2025]
#> MSnbase version: 2.35.2
#> - - - Meta data - - -
#> phenoData
#> rowNames: dummyiTRAQ.mzXML
#> varLabels: sampleNames
#> varMetadata: labelDescription
#> Loaded from:
#> dummyiTRAQ.mzXML
#> protocolData: none
#> featureData
#> featureNames: F1.S1 F1.S2 ... F1.S5 (5 total)
#> fvarLabels: fileIdx spIdx ... spectrum (36 total)
#> fvarMetadata: labelDescription
#> experimentData: use 'experimentData(object)'