Please see the package documentation for more information and examples and news for the latest changes.
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 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:
- 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.
- Implementation of validation methods for all classes to ensure data integrity.
- Easier and faster access to raw spectra data.
- 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).
- Using a more consistent naming scheme of methods that follows established
naming conventions (e.g.
correspondence
instead ofgrouping
). - Update, improve and extend the documentation.
- 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.
- 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.
- Add unit tests.
Discussions and suggestions are welcome: https://github.com/sneumann/xcms/issues
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.
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.