I built this app so my team members can review clustering and annotation at their own pace. It lets users explore different resolutions and view outputs like stacked bar plots, DEGs, violin, and feature plots. Users can also search for genes or upload gene sets for analysis.
An interactive Shiny-based web application for exploring and analyzing single-cell RNA-seq (scRNA-seq) data using the Seurat framework. This app enables intuitive visualization, clustering, and downstream analysis without requiring extensive coding.
⸻
• 📊 Upload and explore Seurat objects
• 🔍 Interactive UMAP / t-SNE visualization
• 🧬 Cluster identification and annotation
• 📈 Differential expression (DEG) analysis
• 🌈 Customizable plots (FeaturePlot, Violin, DotPlot)
• 📥 Export results (tables, plots, DEG lists)
• 🔗 Integrated pipeline for streamlined workflows
⸻
Access the app here:
👉 http://implk-01:3838/
⚠️ Note: Only works for salk employees 😅
⸻
Access the app here:
👉 https://valisha.github.io/ValApp-for-singlecell-seurat-clustering/
⸻
git clone https://github.com/Valisha/ValApp-for-singlecell-seurat-clustering.git cd ValApp-for-singlecell-seurat-clustering
Make sure you have R (>= 4.4) installed.
install.packages(c(“shiny”, “Seurat”, “dplyr”, “ggplot2”, “patchwork”, “circlize”, “openxlsx”, “readxl”, “DT”, “tibble”, “scales”))
if (!requireNamespace(“BiocManager”, quietly = TRUE)) install.packages(“BiocManager”) BiocManager::install(“ComplexHeatmap”)
⸻
Option 1: Using script
./start_app.sh
Option 2: Run manually in R
shiny::runApp()
⸻
To deploy on a Shiny Server (CentOS/RHEL): 1. Place the app folder in:
/var/www/shiny-server/
2. Restart Shiny Server:
sudo systemctl restart shiny-server
3. Access via:
http://
⸻
├── app.R / ui.R / server.R ├── start_app.sh ├── renv/ # Reproducible environment ├── data/ # Input datasets ├── www/ # Static assets └── README.md
⸻
• Accepts Seurat objects (.rds)
• Ensure metadata and clustering are precomputed for best performance
⸻
• Differential expression tables (downloadable)
• Publication-ready plots
• Cluster annotations
⸻
Common Issues
Package installation errors • Ensure system dependencies (e.g., libxml2, icu) are installed
App not loading • Check logs:
sudo journalctl -u shiny-server
/etc/shiny-server/shiny-server.conf
Add:
app_init_timeout 300;
⸻
Contributions are welcome! 1. Fork the repo 2. Create a new branch 3. Submit a pull request
⸻
This project is licensed under the MIT License.
⸻
Valisha Shah
⸻
• Seurat Team
• R Shiny Community
• Bioconductor Project
⸻
• Integration with TCR-seq analysis
• Advanced trajectory analysis
• Multi-omics (CITE-seq) support
⸻
If you find this useful, consider giving the repo a ⭐!