Skip to contents

Please see the package documentation for more information and examples and news for the latest changes.

Version 4

Version 4 adds native support for the Spectra package to xcms and allows to perform the pre-processing on MsExperiment objects (from the MsExperiment. The new supported data containers (Spectra, MsExperiment and XcmsExperiment) allow more flexible analyses and seamless future extensions to additional types of data (such as ion mobility data). Ultimately, these changes will also allow easier integration of xcms with other R packages such as MsFeatures or MetaboAnnotation.

While it is suggested that users switch to the newer data and result objects, all functionality from version 3 and before remain fully supported.

Version 3

Version >= 3 of the xcms package are updated and partially re-written versions of the original xcms package. The version number 3 was selected to avoid confusions with the xcms2 (http://pubs.acs.org/doi/abs/10.1021/ac800795f) software. While providing all of the original software’s functionality, xcms version >= 3 aims at:

  1. Better integration into the Bioconductor framework:
  • Make use and extend classes defined in the MSnbase package.
  • Implement class versioning (Biobase’s Versioned class).
  • Use BiocParallel for parallel processing.
  1. Implementation of validation methods for all classes to ensure data integrity.
  2. Easier and faster access to raw spectra data.
  3. Cleanup of the source code:
  • Remove obsolete and redundant functionality (getEIC, rawEIC etc).
  • Unify interfaces, i.e. implement a layer of base functions accessing all analysis methods (which are implemented in C, C++ or R).
  1. Using a more consistent naming scheme of methods that follows established naming conventions (e.g. correspondence instead of grouping).
  2. Update, improve and extend the documentation.
  3. Establishing a layer of base R-functions that interface all analysis methods. These should take M/Z, retention time (or scan index) and intensity values as input along with optional arguments for the downstream functions (implemented in C, C++ or R). The input arguments should be basic R objects (numeric vectors) thus enabling easy integration of analysis methods in other R packages.
  4. The user interface’s analysis methods should take the (raw) data object and a parameter class, that is used for dispatching to the corresponding analysis algorithm.
  5. Add unit tests.

Discussions and suggestions are welcome: https://github.com/sneumann/xcms/issues

Contribution

Contributions to the xcms package are more than welcome, whether under the form of ideas, documentation, code, packages, … For a contribution guideline please see the guideline for the RforMassSpectrometry initiative. For a seamless integration, contributors are expected to adhere to the RforMassSpectrometry coding syle.

Code of Conduct

As contributors and maintainers of the package, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. See the RforMassSpectrometry Code of Conduct for more information.