zenith_gsa,dreamletResult,GeneSetCollection-method | R Documentation |
Perform a competitive gene set analysis accounting for correlation between genes.
## S4 method for signature 'dreamletResult,GeneSetCollection'
zenith_gsa(
fit,
geneSets,
coefs,
use.ranks = FALSE,
n_genes_min = 10,
inter.gene.cor = 0.01,
progressbar = TRUE,
...
)
## S4 method for signature 'dreamlet_mash_result,GeneSetCollection'
zenith_gsa(
fit,
geneSets,
coefs,
use.ranks = FALSE,
n_genes_min = 10,
inter.gene.cor = 0.01,
progressbar = TRUE,
...
)
fit |
results from |
geneSets |
|
coefs |
coefficients to test using |
use.ranks |
do a rank-based test |
n_genes_min |
minimum number of genes in a geneset |
inter.gene.cor |
if NA, estimate correlation from data. Otherwise, use specified value |
progressbar |
if TRUE, show progress bar |
... |
other arguments |
This code adapts the widely used camera()
analysis \insertCitewu2012camerazenith in the limma
package \insertCiteritchie2015limmazenith to the case of linear (mixed) models used by variancePartition::dream()
.
data.frame
of results for each gene set and cell type
data.frame
of results for each gene set and cell type
library(muscat)
library(SingleCellExperiment)
data(example_sce)
# create pseudobulk for each sample and cell cluster
pb <- aggregateToPseudoBulk(example_sce,
assay = "counts",
cluster_id = "cluster_id",
sample_id = "sample_id",
verbose = FALSE
)
# voom-style normalization
res.proc <- processAssays(pb, ~group_id)
# Differential expression analysis within each assay,
# evaluated on the voom normalized data
res.dl <- dreamlet(res.proc, ~group_id)
# Load Gene Ontology database
# use gene 'SYMBOL', or 'ENSEMBL' id
# use get_MSigDB() to load MSigDB
library(zenith)
go.gs <- get_GeneOntology("CC", to = "SYMBOL")
# Run zenith gene set analysis on result of dreamlet
res_zenith <- zenith_gsa(res.dl, go.gs, "group_idstim", progressbar = FALSE)
# for each cell type select 3 genesets with largest t-statistic
# and 1 geneset with the lowest
# Grey boxes indicate the gene set could not be evaluted because
# to few genes were represented
plotZenithResults(res_zenith, 3, 1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.