CORE is an algorithm to generate reproduciable clustering, CORE is first implemented in ascend R package. Here, CORE V2.0 introduces several new functionalities, including three key features: fast (and more memory efficient) implementation with C++ and paralellisation options allowing clustering of hundreds of thousands of cells (ongoing development), outlier revomal important if singletons exist (done), a number of dimensionality reduction methods including the imputation implementation (CIDR) for confirming clustering results (done), and an option to select the number of optimisation tree height windows for increasing resolution

CORE_clustering(
  mixedpop = NULL,
  windows = seq(from = 0.025, to = 1, by = 0.025),
  remove_outlier = c(0),
  nRounds = 1,
  PCA = FALSE,
  nPCs = 20,
  ngenes = 1500,
  verbose = FALSE,
  log_transform = FALSE
)

Arguments

mixedpop

is a SingleCellExperiment object from the train mixed population

windows

a numeric specifying the number of windows to test

remove_outlier

a vector containing IDs for clusters to be removed the default vector contains 0, as 0 is the cluster with singletons.

nRounds

an integer specifying the number rounds to attempt to remove outliers.

PCA

logical specifying if PCA is used before calculating distance matrix

nPCs

an integer specifying the number of principal components to use.

ngenes

number of genes used for clustering calculations.

verbose

a logical whether to display additional messages

log_transform

boolean whether log transform should be computed

Value

a list with clustering results of all iterations, and a selected optimal resolution

Author

Quan Nguyen, 2017-11-25

Examples

day5 <- day_5_cardio_cell_sample #day5$dat5_counts needs to be in a matrix format cellnames <- colnames(day5$dat5_counts) cluster <-day5$dat5_clusters cellnames <-data.frame('Cluster'=cluster, 'cellBarcodes' = cellnames) mixedpop2 <-new_summarized_scGPS_object(ExpressionMatrix = day5$dat5_counts, GeneMetadata = day5$dat5geneInfo, CellMetadata = day5$dat5_clusters) test <- CORE_clustering(mixedpop2, remove_outlier = c(0), PCA=FALSE, nPCs=20, ngenes=1500)
#> Performing 1 round of filtering
#> Identifying top variable genes
#> Calculating distance matrix
#> Performing hierarchical clustering
#> Finding clustering information
#> No more outliers detected in filtering round 1
#> Identifying top variable genes
#> Calculating distance matrix
#> Performing hierarchical clustering
#> Finding clustering information
#> Done clustering, moving to stability calculation...
#> Done calculating stability...
#> Start finding optimal clustering...
#> Done finding optimal clustering...