diff --git a/R/AllGenerics.R b/R/AllGenerics.R index 5a12bb524..4c4e68801 100644 --- a/R/AllGenerics.R +++ b/R/AllGenerics.R @@ -410,3 +410,13 @@ setGeneric("addMDS", signature = "x", function(x, ...) #' @export setGeneric("getReducedDimAttribute", signature = "x", function(x, ...) standardGeneric("getReducedDimAttribute")) + +#' @rdname utilization_functions +#' @export +setGeneric("convertToMAE", signature = "x", function(x, ...) + standardGeneric("convertToMAE")) + +#' @rdname utilization_functions +#' @export +setGeneric("convertToTreeSE", signature = "x", function(x, ...) + standardGeneric("convertToTreeSE")) diff --git a/R/utilization_functions.R b/R/utilization_functions.R index 4dc172e42..abc78319c 100644 --- a/R/utilization_functions.R +++ b/R/utilization_functions.R @@ -49,7 +49,6 @@ #' NULL -#' #' @export #' @rdname utilization_functions #' @importFrom SingleCellExperiment reducedDim @@ -69,6 +68,35 @@ setMethod("getReducedDimAttribute", "SingleCellExperiment", } ) +#' @export +#' @rdname utilization_functions +#' @importFrom SingleCellExperiment reducedDims +setMethod("convertToMAE", "SingleCellExperiment", + function(x, name = "main", ...){ + exps <- setNames(list(x), name) + exps <- c(exps, altExps(x) |> as.list()) |> ExperimentList() + mae <- MultiAssayExperiment(experiments = exps, colData = colData(x)) + return(mae) + } +) + +#' @export +#' @rdname utilization_functions +#' @importFrom MultiAssayExperiment intersectColumns experiments +setMethod("convertToTreeSE", "MultiAssayExperiment", + function(x, ...){ + x <- intersectColumns(x) + exps <- experiments(x) + if( !all(vapply(exps, function(x) is(x, "SummarizedExperiment"), logical(1L))) ){ + stop("All experiments must be SummarizedExperiment objects.", call. = FALSE) + } + tse <- exps[[1L]] |> as("TreeSummarizedExperiment") + altExps(tse) <- exps[-1] + return(tse) + } +) + + ################################ HELP FUNCTIONS ################################ # From a list, extract those elements that user has specified diff --git a/data/ibdmdb_2omic_demo.rda b/data/ibdmdb_2omic_demo.rda deleted file mode 100644 index 84770ee71..000000000 Binary files a/data/ibdmdb_2omic_demo.rda and /dev/null differ