| FindClusters | R Documentation |
Identify clusters of cells by a shared nearest neighbor (SNN) modularity optimization based clustering algorithm. First calculate k-nearest neighbors and construct the SNN graph. Then optimize the modularity function to determine clusters. For a full description of the algorithms, see Waltman and van Eck (2013) The European Physical Journal B. Thanks to Nigel Delaney (evolvedmicrobe@github) for the initial rewrite (v2.3.4) of the Java modularity optimizer code in Rcpp!
FindClusters(object, ...)
## Default S3 method:
FindClusters(
object,
modularity.fxn = 1,
initial.membership = NULL,
node.sizes = NULL,
resolution = 0.8,
method = deprecated(),
algorithm = 1,
leiden_method = c("leidenbase", "igraph"),
leiden_objective_function = c("modularity", "CPM"),
n.start = 10,
n.iter = 10,
random.seed = 0,
group.singletons = TRUE,
temp.file.location = NULL,
edge.file.name = NULL,
verbose = TRUE,
...
)
## S3 method for class 'Seurat'
FindClusters(
object,
graph.name = NULL,
cluster.name = NULL,
modularity.fxn = 1,
initial.membership = NULL,
node.sizes = NULL,
resolution = 0.8,
method = NULL,
algorithm = 1,
leiden_method = c("leidenbase", "igraph"),
leiden_objective_function = c("modularity", "CPM"),
n.start = 10,
n.iter = 10,
random.seed = 0,
group.singletons = TRUE,
temp.file.location = NULL,
edge.file.name = NULL,
verbose = TRUE,
...
)
object |
An object |
... |
Arguments passed to other methods |
modularity.fxn |
Modularity function (1 = standard; 2 = alternative). |
initial.membership |
Passed to the 'initial_membership' parameter of 'leidenbase::leiden_find_partition'. |
node.sizes |
Passed to the 'node_sizes' parameter of 'leidenbase::leiden_find_partition'. |
resolution |
Value of the resolution parameter, use a value above (below) 1.0 if you want to obtain a larger (smaller) number of communities. |
method |
DEPRECATED. |
algorithm |
Algorithm for modularity optimization (1 = original Louvain algorithm; 2 = Louvain algorithm with multilevel refinement; 3 = SLM algorithm; 4 = Leiden algorithm). |
leiden_method |
Choose from the leidenbase ("leidenbase") or igraph ("igraph") packages for running leiden. Default is "leidenbase" |
leiden_objective_function |
objective function to use if 'leiden_method = "igraph"'.
See |
n.start |
Number of random starts. |
n.iter |
Maximal number of iterations per random start. |
random.seed |
Seed of the random number generator. |
group.singletons |
Group singletons into nearest cluster. If FALSE, assign all singletons to a "singleton" group |
temp.file.location |
Directory where intermediate files will be written. Specify the ABSOLUTE path. |
edge.file.name |
Edge file to use as input for modularity optimizer jar. |
verbose |
Print output |
graph.name |
Name of graph to use for the clustering algorithm |
cluster.name |
Name of output clusters |
Leiden clustering can be run with either the leidenbase or
igraph backend; see Traag et al (2018).
Returns a Seurat object where the idents have been updated with new cluster info; latest clustering results will be stored in object metadata under 'seurat_clusters'. Note that 'seurat_clusters' will be overwritten everytime FindClusters is run
When running Louvain clustering with multiple threads, results may differ
from single-threaded runs only when n.start > 1, because each random
start uses an independent random number stream based on random.seed
plus the restart index. Single-threaded runs use one random number stream
across all starts. With n.start = 1, all thread settings use the same
serial path. For a fixed random.seed, multi-threaded Louvain
results are expected to be reproducible across thread counts.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.