peach.pl.lineage_drivers

peach.pl.lineage_drivers#

peach.pl.lineage_drivers(adata, lineage, n_genes=20, driver_key=None, figsize=(10, 8), **kwargs)[source]#

Plot heatmap of top driver genes for a lineage.

Visualizes expression of genes most correlated with commitment to a specific lineage/archetype.

Parameters:
  • adata (AnnData) – Annotated data matrix

  • lineage (str) – Target lineage name (e.g., β€˜archetype_5’)

  • n_genes (int, optional (default: 20)) – Number of top genes to plot

  • driver_key (str, optional) – Key in adata.varm containing driver gene scores. If None, computes drivers on-the-fly using correlation method

  • figsize (tuple, optional (default: (10, 8))) – Figure size

  • **kwargs – Additional arguments passed to seaborn.heatmap

Returns:

fig – Figure object

Return type:

matplotlib.figure.Figure

Examples

Plot top 20 driver genes:

>>> import peach as pc
>>> pc.pl.lineage_drivers(adata, lineage="archetype_5", n_genes=20)

Custom number of genes:

>>> pc.pl.lineage_drivers(adata, lineage="archetype_3", n_genes=30, figsize=(12, 10))

Using pre-computed drivers:

>>> drivers = pc.tl.compute_lineage_drivers(adata, lineage="archetype_5")
>>> adata.var["driver_scores"] = drivers[f"archetype_5_corr"]
>>> pc.pl.lineage_drivers(adata, lineage="archetype_5", driver_key="driver_scores")

Notes

  • If driver_key is None, uses simple correlation method

  • Heatmap rows are cells ordered by fate probability

  • Heatmap columns are top driver genes

See also

gene_trends

Plot expression trends along pseudotime

fate_probabilities

Visualize fate probability distributions