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.
Discussions and suggestions are welcome: https://github.com/sneumann/xcms/issues