Skip to contents

Pulls the top-scoring genes for each gene expression program from the spectra stored by GetCNMFPrograms in seurat_object@misc$cnmf$results. Returns a tidy data frame (one row per program-gene) ready to feed into GroupHeatmap, SplitDotPlot, or RunGSEA as a marker table.

Usage

GetCNMFTopGenes(seurat_object, n = 20L, programs = NULL)

Arguments

seurat_object

A Seurat object processed by GetCNMFPrograms.

n

Integer. Top genes per program to return. Default 20L (capped at the number stored, set by top_n_genes in GetCNMFPrograms).

programs

Integer/character vector or NULL. Programs to include, given as numbers (c(1, 3)) or labels (c("cNMF_1", "cNMF_3")). NULL (default) returns all.

Value

A data frame with columns program ("cNMF_<k>"), gene, and rank.

Examples

if (FALSE) { # \dontrun{
tg <- GetCNMFTopGenes(obj, n = 15)
# heatmap of program marker genes, blocked by program:
GroupHeatmap(obj, features = tg$gene, group.by = "CellType",
             feature_split = stats::setNames(tg$program, tg$gene))
} # }