decoupler.tl.rankby_obsm

Contents

decoupler.tl.rankby_obsm#

decoupler.tl.rankby_obsm(adata, key, uns_key='rank_obsm', obs_keys=None)#

Ranks features in adata.obsm by the significance of their association with metadata in adata.obs.

For categorical variables it uses ANOVA, for continous Spearman’s correlation.

The obtained p-values are corrected by Benjamini-Hochberg.

Parameters:
  • adata (AnnData) – Annotated data matrix with observations (rows) and features (columns).

  • key (str) – adata.obsm key to use.

  • uns_key (str | None (default: 'rank_obsm')) – adata.uns key to store the results.

  • obs_keys (list | None (default: None)) – list of columns in adata.obs to use for testing.

Return type:

None | DataFrame

Returns:

If uns_key=False, a pandas.DataFrame with the resulting statistics.

Example

import decoupler as dc
import scanpy as sc

adata, net = dc.ds.toy()
sc.pp.scale(adata)
sc.tl.pca(adata)
dc.tl.rankby_obsm(adata, "X_pca")

# or, to perform based on a subset of obs columns.
dc.tl.rankby_obsm(adata, "X_pca", obs_keys=["condition"])