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
For more information see the package vignette.