The xcms3
package is an updated and partially re-written version of the xcms
package. The version 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, xcms3
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.
- Make use and extend classes defined in the
- 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).
- Remove obsolete and redundant functionality (
- 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 also the vignettes/new_functionality.Rmd file, for usage and description the vignettes/xcms.Rmd vignette.