R Shiny application for integrative functional enrichment analysis and visualization of multiple gene datasets.
- Enrichment Analysis: Perform functional enrichment using GO, KEGG, and Reactome databases
- Multiple Clustering Methods: Choose from richR (Kappa), Hierarchical, or DAVID-style clustering
- Interactive Visualization: Bar plots, dot plots, heatmaps, and network graphs
- Session Save/Load: Save your analysis state and reload it later
- Multiple Species Support: 20+ supported organisms
# Install dependencies
source("install_dependencies.R")
install_all_dependencies()
# Or if you have the richCluster tarball locally:
install_all_dependencies("../richCluster_1.0.1.tar.gz")
# Load and run
devtools::load_all()
richStudio::launch_richStudio()renv::restore()
devtools::load_all()
richStudio::launch_richStudio()# CRAN packages (including richCluster)
install.packages(c("shiny", "shinydashboard", "shinyjs", "shinyWidgets",
"shinyjqui", "dplyr", "tidyverse", "ggplot2", "plotly",
"heatmaply", "DT", "jsonlite", "writexl", "zip", "richCluster"))
# Bioconductor packages (if needed)
BiocManager::install(c("AnnotationDbi", "org.Hs.eg.db"))
# GitHub packages
devtools::install_github("guokai8/richR")
devtools::install_github("guokai8/bioAnno")Visit: http://hurlab.med.und.edu:3838/richStudio
# Load the package
devtools::load_all()
# Launch the application
richStudio::launch_richStudio()- Open
richStudio.Rprojin RStudio - Run
devtools::load_all() - Run
richStudio::launch_richStudio()
richStudio v0.1.5 supports three clustering algorithms:
| Method | Description | Best For |
|---|---|---|
| richR (Original) | Kappa-based clustering using gene overlap | Quick clustering with simple parameters |
| Hierarchical | Flexible clustering with multiple linkage methods | Fine-tuned control over clustering behavior |
| DAVID | DAVID-style functional clustering | Compatibility with DAVID results |
- Distance Metrics: Kappa (Cohen's Kappa), Jaccard
- Linkage Methods: Single, Complete, Average, Ward
Upload DEG sets or enrichment results in various formats:
.txt,.csv,.tsvfiles- Text input (gene lists)
- Supported databases: GO, KEGG, Reactome
- Supported ontologies: BP (Biological Process), MF (Molecular Function), CC (Cellular Component)
- 20+ supported species
- Select enrichment results to cluster
- Choose clustering method and parameters
- View intermediate results (distance matrix, seeds)
- Export clustered results
- Bar plots: Enrichment significance
- Dot plots: Gene ratio visualization
- Heatmaps: Term-sample relationships
- Network plots: Term similarity networks
- Cluster heatmaps: Comprehensive and individual term views
- Save analysis state as RDS or JSON
- Reload sessions to continue analysis
- Export individual results (CSV, TSV, Excel)
- Export all results as ZIP archive
richStudio/
├── DESCRIPTION # Package metadata
├── NAMESPACE # Exported functions
├── R/ # R source files
│ ├── rr_cluster.R # Clustering functions
│ ├── cluster_tab.R # Clustering UI/server
│ ├── enrich_tab.R # Enrichment UI/server
│ ├── save_tab.R # Save/load functionality
│ └── ... # Other modules
├── inst/
│ ├── application/ # Shiny app entry point
│ │ └── app.R
│ └── extdata/ # Demo data
├── src/ # C++ source (Rcpp)
├── tests/ # Unit tests
└── man/ # Documentation
# Restore dependencies
renv::restore()
# Compile C++ and load package
Rcpp::compileAttributes()
devtools::load_all()
# Run tests
devtools::test()
# Generate documentation
devtools::document()
# Full check
devtools::check()- tidyverse-style R (snake_case,
<-assignment) - 2-space indentation
- roxygen2 documentation for exported functions
- Junguk Hur - Lead developer, maintainer (hurlabshared@gmail.com)
- Sarah Hong - Core development
- Jane Kim - Contributions
GPL-3
- Public Server: http://hurlab.med.und.edu:3838/richStudio
- Issues: https://github.com/hurlab/richStudio/issues
- richCluster Package: https://github.com/hurlab/richCluster