MSnbase is under active development; current functionality is evolving and new features will be added. This software is free and open-source software. If you use it, please support the project by citing it in publications:

Gatto L, Lilley KS. MSnbase-an R/Bioconductor package for isobaric tagged mass spectrometry data visualization, processing and quantitation. Bioinformatics. 2012 Jan 15;28(2):288-9. doi: 10.1093/bioinformatics/btr645. PMID: 22113085.

Questions and bugs

For bugs, typos, suggestions or other questions, please file an issue in our tracking system ( providing as much information as possible, a reproducible example and the output of sessionInfo().

If you don’t have a GitHub account or wish to reach a broader audience for general questions about proteomics analysis using R, you may want to use the Bioconductor support site:

1 Introduction

This document is not a replacement for the individual manual pages, that document the slots of the MSnbase classes. It is a centralised high-level description of the package design.

MSnbase aims at being compatible with the Biobase infrastructure (Gentleman et al. 2004). Many meta data structures that are used in eSet and associated classes are also used here. As such, knowledge of the Biobase development and the new eSet vignette would be beneficial; the vignette can directly be accessed with vignette("BiobaseDevelopment", package="Biobase").

The initial goal is to use the MSnbase infrastructure for MS2 labelled (iTRAQ (Ross et al. 2004) and TMT (Thompson et al. 2003)) and label-free (spectral counting, index and abundance) quantitation - see the documentation for the quantify function for details. The infrastructure is currently extended to support a wider range of technologies, including metabolomics.

2 MSnbase classes

All classes have a .__classVersion__ slot, of class Versioned from the Biobase package. This slot documents the class version for any instance to be used for debugging and object update purposes. Any change in a class implementation should trigger a version change.

2.1 pSet: a virtual class for raw mass spectrometry data and meta data

This virtual class is the main container for mass spectrometry data, i.e spectra, and meta data. It is based on the eSet implementation for genomic data. The main difference with eSet is that the assayData slot is an environment containing any number of Spectrum instances (see the Spectrum section).

One new slot is introduced, namely processingData, that contains one MSnProcess instance (see the MSnProcess section). and the experimentData slot is now expected to contain MIAPE data. The annotation slot has not been implemented, as no prior feature annotation is known in shotgun proteomics.

## Virtual Class "pSet" [package "MSnbase"]
## Slots:
## Name:            assayData           phenoData         featureData
## Class:         environment NAnnotatedDataFrame  AnnotatedDataFrame
## Name:       experimentData        protocolData      processingData
## Class:               MIAxE  AnnotatedDataFrame          MSnProcess
## Name:               .cache   .__classVersion__
## Class:         environment            Versions
## Extends: "Versioned"