Skip to contents

Geneset Ordinal Association Test Enrichment Analysis (GOATEA) provides a Shiny interface with interactive visualizations and utility functions for performing and exploring automated gene set enrichment analysis using the ‘GOAT’ package.

GOATEA is designed to support large-scale and user-friendly enrichment workflows across multiple gene lists and comparisons, with flexible plotting and output options. Visualizations pre-enrichment include interactive Volcano and UpSet (overlap) plots. Visualizations post-enrichment include interactive geneset split term dotplot, geneset hierarchical clustering treeplot, multi-genelist gene-effectsize heatmap, enrichment overview gene-geneset heatmap and bottom-up pathway-like STRING database of protein-protein-interactions network graph.

Run via web browser - HuggingFace

Easiest: run GOATEA in your browser via HuggingFace Docker container: https://huggingface.co/spaces/Mausaya/GOATEA Note: this may be somewhat slower, as 16GB RAM and 2CPU are shared across all users.

Local installation

The development version of GOATEA is available through Github, GOATEA is also available through Bioconductor (v3.23).

For experienced technical users, GOATEA is also available via Docker. You can download the image under GitHub GOATEA Packages and create a local container to have a version that is independent of external package changes. See the GUI vignette for installation steps.

## GOATEA local installation requires the specific version of R (v4.5.0) and latest version of Rtools.
## Rtools is needed for package compilation, to download and install visit: 
# R: https://cran.r-project.org/mirrors.html
# Rtools: https://cran.r-project.org/bin/windows/Rtools/

## To install GOATEA from Bioconductor (v3.23) use:
if (!requireNamespace("BiocManager", quietly=TRUE)) install.packages("BiocManager")
BiocManager::install("goatea")
# or via pak
if ( ! require("pak", quietly = TRUE)) install.packages('pak')
pak::pkg_install('goatea', dependencies = TRUE, upgrade = TRUE)

## goatea requires at least one of the following available organism genome wide annotation packages:
### format: organism (taxid): org.Xx.eg.dg
# Human (9606)--------: org.Hs.eg.db
# Mouse (10090)-------: org.Mm.eg.db
# Fruit Fly (7227)----: org.Dm.eg.db
# Rhesus monkey (9544): org.Mmu.eg.db
# Rat (10116)---------: org.Rn.eg.db
# Worm (6239)---------: org.Ce.eg.db
# Chimpanzee (9598)---: org.Pt.eg.db
# Zebrafish (7955)----: org.Dr.eg.db
if ( ! require("pak", quietly = TRUE)) install.packages('pak')
pak::pkg_install(c(
  "org.Hs.eg.db", 
  "org.Mm.eg.db", 
  "org.Dm.eg.db", 
  "org.Mmu.eg.db", 
  "org.Rn.eg.db", 
  "org.Ce.eg.db", 
  "org.Pt.eg.db", 
  "org.Dr.eg.db"
))

Running goatea: Shiny application

Simply install the package and its dependencies, then run the code below in R.

Note that the goatea color scheme is easily customizable, have fun creating your own theme!

Click the ‘?’ buttons and hover over UI elements for explanation in tooltips.

library(goatea)

## customizable coloring
colors <- list(
  main_bg = "#222222",
  darker_bg = "#111111",
  focus = "#32CD32", 
  hover = "#228B22",
  border = "#555555",
  text = "#FFFFFF"
)

## run the goatea Shiny application
shiny::shinyApp(
  ui = goatea_ui,
  server = function(input, output, session) {
    goatea_server(
      input, output, session, 
      css_colors = colors)
  }
)

Documentation - Running goatea: automated analyses

See the documentation on the pkgdown site - vignette for more details on automated scripted analyses.

GOAT reference

Koopmans, F. GOAT: efficient and robust identification of gene set enrichment. Commun Biol 7, 744 (2024). https://doi.org/10.1038/s42003-024-06454-5

Contact

A thank you for your time and effort in using goatea, I hope it may aid you in exploring your data!

For issues: https://github.com/mauritsunkel/goatea/issues

To collaborate, pull request or email me:

Frequently Asked Questions (FAQ)

Why does my file not download? * For PPI: check if the string database website is online. * Generally: make sure you have read/write permissions in the set base folder.

How can I download and use example data? * The Colameo et al. example data used in the manuscript and vignettes is internally available via goatea:::example_Colameo_data * The Colameo et al. example data is also available for download via the GitHub repository in the inst/extdata/ folder. * This example data can also be loaded in R with: example_Colameo_data <- goat::download_goat_manuscript_data(output_dir = tempdir())[1:2]

Why do ggplot2 warning messages appear when I run the code? * These warnings are often related to the ggplot2 package and can be safely ignored. They do not affect the functionality of the code or the resulting plots. If you want to suppress these warnings, you can use the suppressWarnings() function in R around the code that generates the plots.

Why might the statistics on the termtree plot be ‘off’? * As the ‘enrichplot’ package used on the background no longer allows for GOAT enrichment to be converted to the class needed for plotting their ‘treeplot’, I rerun a local over-representation analysis on all genes of the selected genelist versus the selected genesets of the current enrichment view. Use this plot to visualize the hierarchy, clusters and gene set size of the genesets (terms).