## ----setup, include=FALSE----------------------------------------------------- knitr::opts_chunk$set(echo = TRUE, dev = "png") ## ----install, eval= FALSE----------------------------------------------------- # if (!requireNamespace("BiocManager", quietly = TRUE)) { # install.packages("BiocManager") # } # BiocManager::install("celda") ## ----library, message = FALSE------------------------------------------------- library(celda) ## ----help, eval = FALSE------------------------------------------------------- # help(package = celda) ## ----simulate----------------------------------------------------------------- simsce <- simulateCells("celda_CG", S = 5, K = 5, L = 10, G = 200, CRange = c(30, 50)) ## ----assay, message = FALSE--------------------------------------------------- library(SingleCellExperiment) dim(counts(simsce)) ## ----cell_numbers------------------------------------------------------------- table(colData(simsce)$celda_cell_cluster) table(colData(simsce)$celda_sample_label) ## ----module_numbers----------------------------------------------------------- table(rowData(simsce)$celda_feature_module) ## ----warning = FALSE, message = FALSE----------------------------------------- simsce <- selectFeatures(simsce) ## ----celda_cg, warning = FALSE, message = FALSE------------------------------- sce <- celda_CG(x = simsce, K = 5, L = 10, verbose = FALSE, nchains = 1) ## ----accuracy----------------------------------------------------------------- table(celdaClusters(sce), celdaClusters(simsce)) table(celdaModules(sce), celdaModules(simsce)) ## ----umap--------------------------------------------------------------------- sce <- celdaUmap(sce) ## ----plot_umap, eval = TRUE, fig.width = 7, fig.height = 7-------------------- plotDimReduceCluster(x = sce, reducedDimName = "celda_UMAP") plotDimReduceModule(x = sce, reducedDimName = "celda_UMAP", rescale = TRUE) plotDimReduceFeature(x = sce, reducedDimName = "celda_UMAP", normalize = TRUE, features = "Gene_1") ## ----celda_heatmap, eval = TRUE, fig.width = 7, fig.height = 7---------------- plot(celdaHeatmap(sce = sce, nfeatures = 10)) ## ----propmap, eval = TRUE, fig.width = 7, fig.height = 7---------------------- celdaProbabilityMap(sce) ## ----module_heatmap, eval = TRUE, fig.width = 7, fig.height = 7--------------- moduleHeatmap(sce, featureModule = c(1,2), topCells = 100) ## ----message = FALSE---------------------------------------------------------- moduleSplit <- recursiveSplitModule(simsce, initialL = 2, maxL = 15) ## ----------------------------------------------------------------------------- plotGridSearchPerplexity(moduleSplit) ## ----module_split_rpc, message = FALSE, warning = FALSE----------------------- plotRPC(moduleSplit) ## ----module_split_select, message = FALSE------------------------------------- moduleSplitSelect <- subsetCeldaList(moduleSplit, params = list(L = 10)) cellSplit <- recursiveSplitCell(moduleSplitSelect, initialK = 3, maxK = 12, yInit = celdaModules(moduleSplitSelect)) ## ----rpc_cell----------------------------------------------------------------- plotGridSearchPerplexity(cellSplit) plotRPC(cellSplit) ## ----subset_celda, eval = TRUE------------------------------------------------ sce <- subsetCeldaList(cellSplit, params = list(K = 5, L = 10)) ## ----grid_search, eval = TRUE, message = FALSE-------------------------------- cgs <- celdaGridSearch(simsce, paramsTest = list(K = seq(4, 6), L = seq(9, 11)), cores = 1, model = "celda_CG", nchains = 2, maxIter = 100, verbose = FALSE, bestOnly = TRUE) ## ----plot_grid_search, eval = TRUE, fig.width = 8, fig.height = 8, warning = FALSE, message = FALSE---- plotGridSearchPerplexity(cgs) ## ----subset_grid_search, eval = TRUE------------------------------------------ sce <- subsetCeldaList(cgs, params = list(K = 5, L = 10)) ## ----best_only_cgs, eval = FALSE, message=FALSE------------------------------- # cgs <- celdaGridSearch(simsce, # paramsTest = list(K = seq(4, 6), L = seq(9, 11)), # cores = 1, # model = "celda_CG", # nchains = 2, # maxIter = 100, # verbose = FALSE, # bestOnly = FALSE) # # cgs <- resamplePerplexity(cgs, celdaList = cgs, resample = 2) # # cgsK5L10 <- subsetCeldaList(cgs, params = list(K = 5, L = 10)) # # sce <- selectBestModel(cgsK5L10) ## ----module_lookup------------------------------------------------------------ featureModuleLookup(sce, feature = c("Gene_99")) ## ----recode_clusters---------------------------------------------------------- sceZRecoded <- recodeClusterZ(sce, from = c(1, 2, 3, 4, 5), to = c(2, 1, 3, 4, 5)) ## ----recode_clusters_show----------------------------------------------------- table(celdaClusters(sce), celdaClusters(sceZRecoded)) ## ----session_info------------------------------------------------------------- sessionInfo()