episcanpy.tl.louvain¶
-
episcanpy.tl.
louvain
(adata, resolution=None, random_state=0, restrict_to=None, key_added='louvain', adjacency=None, flavor='vtraag', directed=True, use_weights=False, partition_type=None, partition_kwargs=None, copy=False)¶ Cluster cells into subgroups [Blondel08] [Levine15] [Traag17].
Cluster cells using the Louvain algorithm [Blondel08] in the implementation of [Traag17]. The Louvain algorithm has been proposed for single-cell analysis by [Levine15].
This requires having ran
neighbors()
orbbknn()
first, or explicitly passing aadjacency
matrix.- Parameters
- adata
The annotated data matrix.
- resolution
For the default flavor (
'vtraag'
), you can provide a resolution (higher resolution means finding more and smaller clusters), which defaults to 1.0. See “Time as a resolution parameter” in [Lambiotte09].- random_state
Change the initialization of the optimization.
- restrict_to
Restrict the clustering to the categories within the key for sample annotation, tuple needs to contain
(obs_key, list_of_categories)
.- key_added
Key under which to add the cluster labels. (default:
'louvain'
)- adjacency
Sparse adjacency matrix of the graph, defaults to
adata.uns['neighbors']['connectivities']
.- flavor : {
'vtraag'
,'igraph'
,'rapids'
} Choose between to packages for computing the clustering.
'vtraag'
is much more powerful, and the default.- directed
Interpret the
adjacency
matrix as directed graph?- use_weights
Use weights from knn graph.
- partition_type
Type of partition to use. Only a valid argument if
flavor
is'vtraag'
.- partition_kwargs
Key word arguments to pass to partitioning, if
vtraag
method is being used.- copy
Copy adata or modify it inplace.
- Returns
None
By default (
copy=False
), updatesadata
with the following fields:adata.obs['louvain']
(pandas.Series
, dtypecategory
)Array of dim (number of samples) that stores the subgroup id (
'0'
,'1'
, …) for each cell.
AnnData
When
copy=True
is set, a copy ofadata
with those fields is returned.