Many glycoverse packages, including glyexp, glyread, glyclean, glystats, glyvis, and glydet should end up on Bioconductor, which requires reuse of existing Bioconductor data containers like SummarizedExperiment.
The current experiment() class is actually re-inventing the wheel, and should be deprecated in the future. Instead, we should provide GlycomicSE and GlycoproteomicSE, subclassing and as a thin wrapper of SummarizedExperiment, providing minimum necessary rowData schema. For example, for GlycomicSE , a glycan_composition column is required, and for GlycoproteomicSE , protein, protein_site, and glycan_composition are required.
The downstream functions like glyclean should not be enforced to use these classes though. SummarizedExperiment, or preferably tidySummarizedExperiment can also be accepted. These two new classes should only act as the recommended containers, as they ensures the contracts to be met.
The roadmap of this migration has many stages:
- Stage I - Building up the foundation
- Add
GlycomicSE and GlycoproteomicSE in glyexp.
- Add support to
GlycomicSE , GlycoproteomicSE , and SummarizedExperiment for downstream packages including glyclean, glystats, glyvis, and glydet.
- Stage II - Recommend the new and deprecate the old
- Deprecate
experiment() and related functions in glyexp, and make real_experiment and real_experiment2 GlycomicSE and GlycoproteomicSE.
- Make
glyread functions return GlycomicSE or GlycoproteomicSE.
- Update document of all packages to use
GlycomicSE or GlycoproteomicSE as the data container.
- Stage III - Remove the old
- Completely remove
experiment() and related functions from glyexp
- Downstream packages no longer support
experiment() anymore
- Add a "History of glyexp" article to record this migration.
Stage II should last at least half an year before moving on to Stage III.
Many
glycoversepackages, includingglyexp,glyread,glyclean,glystats,glyvis, andglydetshould end up on Bioconductor, which requires reuse of existing Bioconductor data containers likeSummarizedExperiment.The current
experiment()class is actually re-inventing the wheel, and should be deprecated in the future. Instead, we should provideGlycomicSEandGlycoproteomicSE, subclassing and as a thin wrapper ofSummarizedExperiment, providing minimum necessaryrowDataschema. For example, forGlycomicSE, aglycan_compositioncolumn is required, and forGlycoproteomicSE,protein,protein_site, andglycan_compositionare required.The downstream functions like
glycleanshould not be enforced to use these classes though.SummarizedExperiment, or preferablytidySummarizedExperimentcan also be accepted. These two new classes should only act as the recommended containers, as they ensures the contracts to be met.The roadmap of this migration has many stages:
GlycomicSEandGlycoproteomicSEinglyexp.GlycomicSE,GlycoproteomicSE, andSummarizedExperimentfor downstream packages includingglyclean,glystats,glyvis, andglydet.experiment()and related functions inglyexp, and makereal_experimentandreal_experiment2GlycomicSEandGlycoproteomicSE.glyreadfunctions returnGlycomicSEorGlycoproteomicSE.GlycomicSEorGlycoproteomicSEas the data container.experiment()and related functions fromglyexpexperiment()anymoreStage II should last at least half an year before moving on to Stage III.