Nothing
## ---- include = FALSE---------------------------------------------------------
library(CellBench)
library(purrr)
## -----------------------------------------------------------------------------
# generic skeleton for a wrapper
wrapper <- function(sce, ...) {
stopifnot(is(sce, "SingleCellExperiment"))
res <- method_function(sce, ...)
return(res)
}
## -----------------------------------------------------------------------------
# one possible wrapper implmentation
drimpute_wrapper <- function(sce, ...) {
# wrapper only accepts SingleCellExperiment or matrix type objects
stopifnot(is(sce, "SingleCellExperiment"))
expr <- SingleCellExperiment::normcounts(sce)
expr_processed <- DrImpute::preprocessSC(expr)
logcounts(sce) <- DrImpute::DrImpute(expr_processed, ...)
return(sce)
}
## -----------------------------------------------------------------------------
# another possible implementation
# DrImpute's default ks is 10:15, we can use 5:15 for robustness
drimpute_wrapper <- function(sce, ks = 5:15, method = c("mean", "med")) {
stopifnot(is(sce, "SingleCellExperiment"))
expr <- SingleCellExperiment::normcounts(sce)
expr_processed <- DrImpute::preprocessSC(expr)
method <- match.arg(method)
logcounts(sce) <- DrImpute::DrImpute(expr_processed, ks = ks, method = method)
return(sce)
}
## -----------------------------------------------------------------------------
imputation_method <- fn_list(
dr_impute_mean = purrr::partial(drimpute_wrapper, method = "mean"),
dr_impute_median = purrr::partial(drimpute_wrapper, method = "med")
)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.