The Spectra package defines an efficient infrastructure for storing and handling mass spectrometry spectra and functionality to subset, process, visualize and compare spectra data.
A description of its functionality and design is available in this preprint.
Spectra provides different implementations (backends) to store mass spectrometry data. These comprise backends tuned for fast data access and processing and backends for very large data sets ensuring a small memory footprint.
A (possibly incomplete) list of available backends (along with a link to the R package providing it) is shown below:
MsBackendCompDb (package
CompoundDb: provides
access to spectra data (spectra and peaks variables) from a CompDb
database. Has a small memory footprint because all data (except precursor m/z
values) are retrieved on-the-fly from the database.
MsBackendDataFrame (package: Spectra): alternative to the
MsBackendMemory also keeping all data in memory, but supporting S4 objects
as spectra variables because the data is stored internally in a DataFrame.
MsBackendHdf5Peaks (package: Spectra): on-disk backend similar to
MsBackendMzR, but the peaks data is stored in HDF5 files (general spectra
variables are kept in memory).
MsBackendHmdbXml (package
MsbackendHmdb):
allows import of MS data from xml files of the Human Metabolome Database
(HMDB). Extends the MsBackendDataFrame and keeps thus all data, after
import, in memory.
MsBackendMassbank (package
MsBackendMassbank):
allows to import/export data in MassBank text file format. Extends the
MsBackendDataFrame and keeps thus all data, after import, in memory.
MsBackendMassbankSql (package
MsBackendMassbank):
allows to directly connect to a MassBank SQL database to retrieve all MS data
and variables. Has a minimal memory footprint because all data is retrieved
on-the-fly from the SQL database.
MsBackendMassIVE (package
MsBackendMassIVE):
retrieves and caches MS data files from the MassIVE data repository.
MsBackendMemory (package: Spectra): default backend which keeps all data
in memory. Optimized for fast processing.
MsBackendMetaboLights (package
MsBackendMetaboLights):
retrieves and caches MS data files from the MetaboLights data repository.
MsBackendMetabolomicsWorkbench (package
MsBackendMetabolomicsWorkbench):
retrieves and caches MS data files from the MetabolomicsWorkbench data repository.
MsBackendMgf (package
MsBackendMgf): allows
to import/export data in mascot generic format (MGF). Extends the
MsBackendDataFrame and keeps thus all data, after import, in memory.
MsBackendMsp (package
MsbackendMsp): allows
to import/export data in NIST MSP format. Extends the MsBackendDataFrame and
keeps thus all data, after import, in memory.
MsBackendMzR (package: Spectra): by using the mzR package it supports
import of MS data from mzML, mzXML and CDF files. This backend keeps only
general spectra variables in memory and retrieves the peaks data (m/z and
intensity values) on-the-fly from the original data files. The backend has
thus a smaller memory footprint compared to in-memory backends.
MsBackendOfflineSql (package
MsBackendSql):
stores all MS data in a SQL database and has thus a minimal memory footprint.
Does, in contrast to MsBackendSql, not keep an active SQL database
connection and can thus support parallel processing.
MsBackendRawFileReader (package
MsBackendRawFileReader):
implements a backend for reading MS data from Thermo Fisher Scientific's raw
data files using the manufacturer's NewRawFileReader .Net libraries. The
package generalizes the functionality introduced by the rawrr package.
MsBackendSql (package
MsBackendSql):
stores all MS data in a SQL database and has thus a minimal memory footprint.
MsBackendTimsTof (package
MsBackendTimsTof:
allows import of data from Bruker TimsTOF raw data files (using the
opentimsr R package).
MsBackendWeizMass (package
MsBackendWeizMass:
allows to access MS data from WeizMass MS/MS spectral databases.
For more information see the package homepage.
The package can be installed with
install.packages("BiocManager")
BiocManager::install("Spectra")
Please help us improving and completing the package! Any type of contribution welcome :open_hands: - including discussions, suggestions or actual code. Don't be afraid - we're friendly βΊοΈ! π get involved by opening an issue.
Please also check out the RforMassSpectrometry Contributions Guide.
We follow the RforMassSpectrometry Code of Conduct to maintain an inclusive and respectful community.
This package is licensed under the Artistic 2.0 license: π https://opensource.org/license/Artistic-2.0
Documentation (manuals, vignettes) is licensed under CC BY-NC-SA 4.0: π https://creativecommons.org/licenses/by-nc-sa/4.0/