## ----echo=FALSE, results="hide", message=FALSE-------------------------------- knitr::opts_chunk$set(error=FALSE, message=FALSE, warning=FALSE) library(BiocStyle) ## ----------------------------------------------------------------------------- suppressPackageStartupMessages(library(escape)) suppressPackageStartupMessages(library(dittoSeq)) suppressPackageStartupMessages(library(SingleCellExperiment)) suppressPackageStartupMessages(library(Seurat)) suppressPackageStartupMessages(library(SeuratObject)) pbmc_small <- get("pbmc_small") pbmc_small <- DietSeurat(suppressMessages(UpdateSeuratObject(pbmc_small))) sce <- as.SingleCellExperiment(pbmc_small, assay = "RNA") ## ----------------------------------------------------------------------------- GS.hallmark <- getGeneSets(library = "H") ## ----eval = FALSE------------------------------------------------------------- # data("escape.gene.sets", package="escape") # gene.sets <- escape.gene.sets ## ----eval=FALSE--------------------------------------------------------------- # gene.sets <- list(Tcell_signature = c("CD2","CD3E","CD3D"), # Myeloid_signature = c("SPI1","FCER1G","CSF1R")) ## ----------------------------------------------------------------------------- ES.seurat <- enrichIt(obj = pbmc_small, gene.sets = GS.hallmark, groups = 1000, cores = 2, min.size = 5) ES.sce <- enrichIt(obj = sce, gene.sets = GS.hallmark, method = "UCell", groups = 1000, cores = 2, min.size = 5) ## ----------------------------------------------------------------------------- ## if working with a Seurat object pbmc_small <- Seurat::AddMetaData(pbmc_small, ES.seurat) ## if working with an SCE object met.data <- merge(colData(sce), ES.sce, by = "row.names", all=TRUE) row.names(met.data) <- met.data$Row.names met.data$Row.names <- NULL colData(sce) <- met.data ## ----------------------------------------------------------------------------- colors <- colorRampPalette(c("#0D0887FF","#7E03A8FF","#CC4678FF","#F89441FF","#F0F921FF")) ## ----------------------------------------------------------------------------- dittoHeatmap(pbmc_small, genes = NULL, metas = names(ES.seurat), annot.by = "groups", fontsize = 7, cluster_cols = TRUE, heatmap.colors = colors(50)) ## ----------------------------------------------------------------------------- dittoHeatmap(sce, genes = NULL, metas = c("HALLMARK_IL2_STAT5_SIGNALING", "HALLMARK_IL6_JAK_STAT3_SIGNALING", "HALLMARK_INFLAMMATORY_RESPONSE"), annot.by = "groups", fontsize = 7, heatmap.colors = colors(50)) ## ----------------------------------------------------------------------------- multi_dittoPlot(sce, vars = c("HALLMARK_IL2_STAT5_SIGNALING", "HALLMARK_IL6_JAK_STAT3_SIGNALING", "HALLMARK_INFLAMMATORY_RESPONSE"), group.by = "groups", plots = c("jitter", "vlnplot", "boxplot"), ylab = "Enrichment Scores", theme = theme_classic() + theme(plot.title = element_text(size = 10))) ## ----------------------------------------------------------------------------- dittoScatterHex(sce, x.var = "HALLMARK_IL2_STAT5_SIGNALING", y.var = "HALLMARK_IL6_JAK_STAT3_SIGNALING", do.contour = TRUE) + scale_fill_gradientn(colors = colors(11)) ## ----------------------------------------------------------------------------- dittoScatterHex(sce, x.var = "HALLMARK_IL2_STAT5_SIGNALING", y.var = "HALLMARK_IL6_JAK_STAT3_SIGNALING", do.contour = TRUE, split.by = "groups") + scale_fill_gradientn(colors = colors(11)) ## ----------------------------------------------------------------------------- ## Seurat object example ES2 <- data.frame(pbmc_small[[]], Idents(pbmc_small)) colnames(ES2)[ncol(ES2)] <- "cluster" ## plot ridgeEnrichment(ES2, gene.set = "HALLMARK_IL2_STAT5_SIGNALING", group = "cluster", add.rug = TRUE) ## ----------------------------------------------------------------------------- ridgeEnrichment(ES2, gene.set = "HALLMARK_IL2_STAT5_SIGNALING", group = "cluster", facet = "letter.idents", add.rug = TRUE) ## ----------------------------------------------------------------------------- splitEnrichment(ES2, split = "groups", gene.set = "HALLMARK_IL2_STAT5_SIGNALING") splitEnrichment(ES2, x.axis = "cluster", split = "groups", gene.set = "HALLMARK_IL2_STAT5_SIGNALING") ## ----------------------------------------------------------------------------- enrichmentPlot(pbmc_small, gene.set = "HALLMARK_IL2_STAT5_SIGNALING", gene.sets = GS.hallmark, group = "groups") ## ----------------------------------------------------------------------------- PCA <- performPCA(enriched = ES2, gene.sets = names(GS.hallmark), groups = c("groups", "cluster")) ## ----------------------------------------------------------------------------- pcaEnrichment(PCA, PCx = "PC1", PCy = "PC2", contours = TRUE) ## ----------------------------------------------------------------------------- pcaEnrichment(PCA, PCx = "PC1", PCy = "PC2", contours = FALSE, facet = "cluster") ## ----------------------------------------------------------------------------- masterPCAPlot(ES2, gene.sets = names(GS.hallmark), PCx = "PC1", PCy = "PC2", top.contribution = 10) ## ----------------------------------------------------------------------------- output <- getSignificance(ES2, group = "groups", gene.sets = names(ES.seurat), fit = "T.test") ## ----------------------------------------------------------------------------- sessionInfo()