squidpy.gr.nhood_enrichment
- squidpy.gr.nhood_enrichment(adata, cluster_key, library_key=None, connectivity_key=None, n_perms=1000, numba_parallel=False, seed=None, copy=False, n_jobs=None, backend='loky', show_progress_bar=True)[source]
Compute neighborhood enrichment by permutation test.
- Parameters:
adata (
AnnData|SpatialData) – Annotated data object.cluster_key (
str) – Key inanndata.AnnData.obswhere clustering is stored.library_key (
str|None) – If multiple library_id, column inanndata.AnnData.obswhich stores mapping betweenlibrary_idand obs.connectivity_key (
str|None) – Key inanndata.AnnData.obspwhere spatial connectivities are stored. Default is:anndata.AnnData.obsp['spatial_connectivities'].n_perms (
int) – Number of permutations for the permutation test.numba_parallel (
bool) – Whether to usenumba.prange()or not. If None, it is determined automatically. For small datasets or small number of interactions, it’s recommended to set this to False.copy (
bool) – IfTrue, return the result, otherwise save it to theadataobject.n_jobs (
int|None) – Number of parallel jobs to use. Forbackend="loky", the number of cores used by numba for each job spawned by the backend will be set to 1 in order to overcome the oversubscription issue in case you run numba in your function to parallelize. To set the absolute maximum number of threads in numba for your python program, set the environment variable:NUMBA_NUM_THREADSbefore running the program.backend (
str) – Parallelization backend to use. Seejoblib.Parallelfor available options.show_progress_bar (
bool) – Whether to show the progress bar or not.
- Return type:
- Returns:
If
copy = True, returns aNhoodEnrichmentResultwith the z-score and the enrichment count.Otherwise, modifies the
adatawith the following keys:anndata.AnnData.uns['{cluster_key}_nhood_enrichment']['zscore']- the enrichment z-score.anndata.AnnData.uns['{cluster_key}_nhood_enrichment']['count']- the enrichment count.