## ---- eval=FALSE-------------------------------------------------------------- # if (!requireNamespace("BiocManager")) # install.packages("BiocManager") # BiocManager::install("mbkmeans") ## ----options, include=FALSE, message=FALSE, warning=FALSE--------------------- knitr::opts_chunk$set(cache=FALSE, error=FALSE, message=FALSE, warning=FALSE) library(TENxPBMCData) library(scater) library(SingleCellExperiment) library(mbkmeans) library(DelayedMatrixStats) library(ClusterR) ## ----------------------------------------------------------------------------- tenx_pbmc4k <- TENxPBMCData(dataset = "pbmc4k") set.seed(1034) idx <- sample(seq_len(NCOL(tenx_pbmc4k)), 100) sce <- tenx_pbmc4k[, idx] #normalization sce <- logNormCounts(sce) vars <- rowVars(logcounts(sce)) names(vars) <- rownames(sce) vars <- sort(vars, decreasing = TRUE) sce1000 <- sce[names(vars)[1:1000],] sce1000 ## ----------------------------------------------------------------------------- res <- mbkmeans(sce1000, clusters = 5, reduceMethod = NA, whichAssay = "logcounts") ## ----------------------------------------------------------------------------- batchsize <- blocksize(sce1000) batchsize ## ----------------------------------------------------------------------------- res_random <- mbkmeans(sce1000, clusters = 5, reduceMethod = NA, whichAssay = "logcounts", initializer = "random") table(res$Clusters, res_random$Clusters) ## ----------------------------------------------------------------------------- res_full <- mbkmeans(sce1000, clusters = 5, reduceMethod = NA, whichAssay = "logcounts", initializer = "random", batch_size = ncol(sce1000)) res_classic <- kmeans(t(logcounts(sce1000)), centers = 5) table(res_full$Clusters, res_classic$cluster)