knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "man/figures/" )
The multiGSEA
package was built to facilitate the use of gene sets in the
analysis of high throughput genomics data (primarily RNA-seq). Analysts can
orchestrate any number of GSEA methods across a specific contrast using the
unified interface provided by the multiGSEA
function, and a shiny application
is provided that facilitates the exploration and interpretation of GSEA results.
multiGSEA
function is a wrapper that orchestrates the execution of any
number of user-specified gene set enrichment analyses (GSEA) over a particular
experimental contrast of interest. This will create a MultiGSEAResult
object which stores the results of each GSEA method internally, allowing
for easy query and retrieval.multiGSEA.shiny
package provides an explore
function, which is invoked on MultiGSEAREsult
objects returned from a call to multiGSEA
. The shiny application facilitates
interactive exploration of these GSEA results. This application can also be
deployed to a shiny server and can be initialized by uploading a serialized
MultiGSEAResult
*.rds
file.Full details that outline the use of this software package is provided in the package's vignette, however a brief description is outlined below.
A subset of the RNA-seq data tumor/normal samples in the BRCA indication from
the TCGA are provided in this package. We will use that data to perform a
"camera" and "fry" gene set enrichment analysis of tumor vs normal samples
using the MSigDB hallmark and c2 gene set collections with multiGSEA
.
library(multiGSEA) library(dplyr) gdb <- getMSigGeneSetDb(c('H', 'C2'), species = 'human', id.type = "entrez") vm <- exampleExpressionSet(dataset = 'tumor-vs-normal', do.voom = TRUE) mg <- multiGSEA(gdb, vm, vm$design, "tumor", methods=c("camera", "fry"))
We can view the top "camera" results with the smallest pvalues like so:
results(mg, "camera") %>% arrange(pval) %>% select(collection, name, padj) %>% head
The shift in expression of the genes within the top gene set can be visualized
with the iplot
function below. This plot produces interactive graphics, but
rasterized versions are saved for use with this README
file:
iplot(mg, 'c2', 'SOTIRIOU_BREAST_CANCER_GRADE_1_VS_3_UP', type = "density")
iplot(mg, 'c2', 'SOTIRIOU_BREAST_CANCER_GRADE_1_VS_3_UP', type = "boxplot")
When these plots are rendered in your workspace or an Rmarkdown document, the user can hover of the genes (dots) to see their name and differential expression statistics.
For an immersive, interactive way to explore the GSEA results, use the
multiGSEA.shiny::explore(mg)
method!
The multiGSEA suite of packages will soon be submitted to bioconductor and
installable via the recommended BiocManager::install()
mechanism. In the
meantime, install this package multiGSEA.shiny@develop branch from github,
which sould install both multiGSEA.shiny and multiGSEA packages.
# install.packages("BiocManager") BiocManager::install("lianos/multiGSEA.shiny@develop")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.