ehrapy.tools.leiden#
- ehrapy.tools.leiden(edata, resolution=1, *, restrict_to=None, random_state=0, key_added='leiden', adjacency=None, use_weights=True, n_iterations=-1, neighbors_key=None, obsp=None, copy=False, **clustering_args)[source]#
Cluster observations into subgroups [TWvE19].
Cluster observations using the Leiden algorithm [TWvE19], an improved version of the Louvain algorithm [BGLL08]. It has been proposed for single-cell analysis by [LSB+15]. This requires having run
neighbors(). Uses theigraphimplementation (flavor="igraph"in scanpy);leidenalgis not supported.- Parameters:
edata (
EHRData) – Central data object.resolution (
float, default:1) – A parameter value controlling the coarseness of the clustering. Higher values lead to more clusters.restrict_to (
tuple[str,Sequence[str]] |None, default:None) – Restrict the clustering to the categories within the key for sample annotation, tuple needs to contain (obs_key, list_of_categories).random_state (
int|RandomState|None, default:0) – Random seed of the initialization of the optimization.key_added (
str, default:'leiden') – edata.obs key under which to add the cluster labels.adjacency (
spmatrix|None, default:None) – Sparse adjacency matrix of the graph, defaults to neighbors connectivities.use_weights (
bool, default:True) – If True, edge weights from the graph are used in the computation (placing more emphasis on stronger edges).n_iterations (
int, default:-1) – How many iterations of the Leiden clustering algorithm to perform. Positive values above 2 define the total number of iterations to perform. -1 has the algorithm run until it reaches its optimal clustering.neighbors_key (
str|None, default:None) – Use neighbors connectivities as adjacency. If not specified, leiden looks .obsp[‘connectivities’] for connectivities (default storage place for pp.neighbors). If specified, leiden looks .obsp[.uns[neighbors_key][‘connectivities_key’]] for connectivities.obsp (
str|None, default:None) – Use .obsp[obsp] as adjacency. You can’t specify both obsp and neighbors_key at the same time.copy (
bool, default:False) – Whether to copy edata or modify it inplace.**clustering_args – Any further arguments passed to
igraph.Graph.community_leiden.
- Return type:
- Returns:
edata.obs[key_added] Array of dim (number of samples) that stores the subgroup id (‘0’, ‘1’, …) for each cell.
edata.uns[‘leiden’][‘params’] A dict with the values for the parameters resolution, random_state, and n_iterations.