Skip to contents

Compute module scores for multiple gene sets and visualize across groups.

Usage

VisMetaFeature(
  object,
  feature_sets,
  group.by = "seurat_clusters",
  nbin = 24,
  min.size = 3,
  palette = "C",
  violin_width = 0.8,
  violin_alpha = 0.3,
  box_width = 0.3,
  box_alpha = 0.5
)

Arguments

object

A Seurat object; required.

feature_sets

A named list of character vectors of genes; required.

group.by

Metadata column for grouping. Default: "seurat_clusters".

nbin

Number of bins for Seurat::AddModuleScore. Default: 24.

min.size

Minimum gene set size to keep. Default: 3.

palette

Viridis palette option for color/fill. Default: "C".

violin_width

Violin width. Default: 0.8.

violin_alpha

Violin alpha. Default: 0.3.

box_width

Box width. Default: 0.3.

box_alpha

Box alpha. Default: 0.5.

Value

A list with object and plot (violin+box per gene set).

Author

benben-miao

Examples

obj <- SeuratVisProExample(
    n_cells = 300,
    n_genes = 1000,
    n_clusters = 10,
    seed = 123,
    genes_mt = "^MT-",
    neighbor_dims = 10,
    cluster_res = 0.5,
    umap_dims = 10,
    spatial = FALSE)
#> Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
#> 
#> Number of nodes: 300
#> Number of edges: 4508
#> 
#> Running Louvain algorithm...
#> Maximum modularity in 10 random starts: 0.9485
#> Number of communities: 10
#> Elapsed time: 0 seconds

sets <- list(
  SetA = paste0('G', 1:10),
  SetB = paste0('G', 11:20))

res <- VisMetaFeature(
  obj,
  feature_sets = sets,
  group.by = "seurat_clusters",
  nbin = 24,
  min.size = 3,
  palette = "C",
  violin_width = 0.8,
  violin_alpha = 0.3,
  box_width = 0.3,
  box_alpha = 0.5)

res$plot