| Title: | Explorer for Your Bulk RNA Seq Analyses |
|---|---|
| Description: | Interactive exploration of a Summarized experiment and associated DE analyses. A shiny app to inspect and interact with pre-calculated differential expression and functional enrichment results, and to facilitate comparisons between multiple models. This is meant to be a tool for exploration and discussion, rather than analysis. |
| Authors: | Jasper Spitzer [aut, cre] (ORCID: <https://orcid.org/0000-0001-9696-2092>) |
| Maintainer: | Jasper Spitzer <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 0.99.18 |
| Built: | 2026-10-29 17:53:27 UTC |
| Source: | https://github.com/bioc/exploreSE |
Example DE results for airway data set
A DESEqResults
This is a DESEqResults object, with the simplest model, using ~dex as
the design. Data is from the airway package, DE results are generated with DESeq2.
A DESEqResults
GO enrichments based on the baseline DE results
A EnrichResults
GO enrichmens are generated with clusterProfiler, filtered on down-regulated
genes only; genes that underwent DE testing were taken as the universe.
The code to create said object can be found in the folder /inst/scripts in
the exploreSE package, the file is called creating_dataset_examples.R.
A EnrichResults object
GO enrichments based on the baseline DE results
A EnrichResults
GO enrichmens are generated with clusterProfiler, filtered on up-regulated
genes only; genes that underwent DE testing were taken as the universe.
The code to create said object can be found in the folder /inst/scripts in
the exploreSE package, the file is called creating_dataset_examples.R.
A EnrichResults object
Example DE results for airway data set
A DESEqResults
This is a DESEqResults object, using ~ cell + dex as the design.
Data is from the airway package, DE results are generated with DESeq2,
using the dex untrt vs trt contrast
A DESEqResults
GO enrichments based on the cell_controlled DE results
A EnrichResults
GO enrichmens are generated with clusterProfiler, filtered on down-regulated
genes only; genes that underwent DE testing were taken as the universe.
The code to create said object can be found in the folder /inst/scripts in
the exploreSE package, the file is called creating_dataset_examples.R.
A EnrichResults object
GO enrichments based on the cell_controlled DE results
A EnrichResults
GO enrichmens are generated with clusterProfiler, filtered on up-regulated
genes only; genes that underwent DE testing were taken as the universe.
The code to create said object can be found in the folder /inst/scripts in
the exploreSE package, the file is called creating_dataset_examples.R.
A EnrichResults object
Example gene lists to use as contexts in the Context tab of exploreSE().
A named list of 9 character vectors.
A named list of 9 gene sets, as gene symbols:
11 well-known glucocorticoid response genes,
compiled from studies in human dermal fibroblasts, human airway smooth
muscle cells (the airway data set itself) and mouse keratinocytes.
261 genetic risk factors for aortic valve stenosis.
44 genetic risk factors for bicuspid aortic valve.
98 genetic risk factors for thoracic aortic aneurysm.
128 genetic risk factors for abdominal aortic aneurysm.
82 genetic risk factors for an increased ascending aortic diameter.
47 genetic risk factors for an increased descending aortic diameter.
220 genetic risk factors for coronary artery disease.
42 genes associated with monogenic forms of heritable thoracic aortic disease, bicuspid aortic valve and aortic valve stenosis.
The same contexts are available as a file with one context per column,
which can be used with the "Add context" upload:
system.file("extdata", "example_contexts.csv", package = "exploreSE").
Both are created by inst/scripts/creating_example_contexts.R.
dex_response: doi:10.3390/biom11050619, doi:10.1371/journal.pone.0099625 and doi:10.1016/j.mce.2015.05.015.
aortic_valve_stenosis: Small et al. (2026), doi:10.1038/s41588-025-02417-6.
bicuspid_aortic_valve: Thériault et al. (2026), doi:10.1161/CIRCULATIONAHA.125.074752, and Bravo-Jaimes et al. (2020), doi:10.1016/j.pcad.2020.06.005.
thoracic_aortic_aneurysm: Klarin et al. (2023), doi:10.1038/s41588-023-01420-z, and Murdock et al. (2026, preprint), doi:10.64898/2026.09.16.26363254.
abdominal_aortic_aneurysm: Roychowdhury et al. (2023), doi:10.1038/s41588-023-01510-y.
ascending_aortic_diameter, descending_aortic_diameter: Pirruccello et al. (2022), doi:10.1038/s41588-021-00962-4.
coronary_artery_disease: Aragam et al. (2022), doi:10.1038/s41588-022-01233-6.
monogenic_disease: Milewicz et al., Heritable Thoracic Aortic Disease Overview, GeneReviews, PMID: 20301299; Bravo-Jaimes et al. (2020), doi:10.1016/j.pcad.2020.06.005; Rämö et al. (2024), doi:10.1161/CIRCULATIONAHA.124.070982.
data("example_contexts", package = "exploreSE") lengths(example_contexts)data("example_contexts", package = "exploreSE") lengths(example_contexts)
This runs the explorer app. You can add a path to a .rds file or a the relevant R object as an argument to load it on start-up. The app looks for DE results in the metadata of the metadata(object)$de_results and, if it is a DeeDeeExperiment, in the DEA slots of the object. Similarly, the enrichment results are looked for in the metadata(object)$fe_results or FEA slots (DeeDeeExperiment). As the DeeDeeExperiment structure does a lot of work to clean and standardize the inputs and outputs for both DE and enrichment results, using it is highly recommended.
exploreSE(file = NULL, object = NULL, context = NULL)exploreSE(file = NULL, object = NULL, context = NULL)
file |
a string leading to a file you want loaded as a default |
object |
a summarizedExperiment object (or DeeDeeExperiment) to load in |
context |
a named list of gene vectors to load as context lists. The
names are used as the context names, and the genes have to match one of
the gene identifiers in the |
an application
app <- exploreSE() if(interactive()){ shiny::runApp(app, port = 1234) } app <- exploreSE(context = list( my_genes = c("Gene_1", "Gene_2", "Gene_3") ))app <- exploreSE() if(interactive()){ shiny::runApp(app, port = 1234) } app <- exploreSE(context = list( my_genes = c("Gene_1", "Gene_2", "Gene_3") ))
A function to calculate GO term enrichments from a given summarizedExperiment
or DeeDee experiment. By default, it calculates separate enrichments for
up- downregulated genes, at the cutoffs of |logFC| > 1 and adjusted p-
value < 0.05. It utilises the clusterProfiler::enrichGO() function.
get.gos(NAME, obj, species = "hs", gene_type = "SYMBOL")get.gos(NAME, obj, species = "hs", gene_type = "SYMBOL")
NAME |
character, name of the DE comparison |
obj |
DeeDeeExperiment or SummarizedExperiment, the object |
species |
character, the species hs/mm |
gene_type |
character, the type of gene identifier |
a DeeDeeExperiment or SummarizedExperiment
library(airway) library(DeeDeeExperiment) data(airway) data("baseline_de", package = "exploreSE") se_with_de <- addDEA(DeeDeeExperiment(airway), baseline) se_with_go <- get.gos(obj = se_with_de, NAME = "baseline", gene_type = "ENSEMBL")library(airway) library(DeeDeeExperiment) data(airway) data("baseline_de", package = "exploreSE") se_with_de <- addDEA(DeeDeeExperiment(airway), baseline) se_with_go <- get.gos(obj = se_with_de, NAME = "baseline", gene_type = "ENSEMBL")
Calculates the GSEA enrichments with the counts within a summarizedExperiment
or DeeDeeExperiment and adds them in the respective slots. It follows
the original signal-to-noise ratio of the method; other approaches for
ranking of genes are available in other implementations,
such as the clusterProfiler::GSEA() implementation which calls for
logFC ranked genes.
get.gsea( NAME, obj, type = "HALLMARK", conditions, species = "hs", condition_var = "condition", gene_type = "SYMBOL" )get.gsea( NAME, obj, type = "HALLMARK", conditions, species = "hs", condition_var = "condition", gene_type = "SYMBOL" )
NAME |
character, name of the DE comparison |
obj |
DeeDeeExperiment or SummarizedExperiment, the object |
type |
character, the type of gene set, HALLMARK or REACTOME |
conditions |
a vector of length 2, which levels of the condition variable are being compared, |
species |
character, supported values are "hs" and "mm" |
condition_var |
symbol or character, the variable name for this comparison |
gene_type |
character, the type of gene identifier |
a DeeDeeExperiment or SummarizedExperiment
library(airway) library(DeeDeeExperiment) data(airway) data("baseline_de", package = "exploreSE") se_with_de <- addDEA(DeeDeeExperiment(airway), baseline) se_with_gsea <- get.gsea(NAME = "baseline", obj = se_with_de, type = "HALLMARK", condition_var = "dex", conditions = c("trt", "untrt"), gene_type = "ENSEMBL")library(airway) library(DeeDeeExperiment) data(airway) data("baseline_de", package = "exploreSE") se_with_de <- addDEA(DeeDeeExperiment(airway), baseline) se_with_gsea <- get.gsea(NAME = "baseline", obj = se_with_de, type = "HALLMARK", condition_var = "dex", conditions = c("trt", "untrt"), gene_type = "ENSEMBL")