This application was born from a personal experience of spending 20 days analyzing RNA-Seq data for an assignment. While the learning experience was invaluable, the time investment inspired the creation of a tool that would streamline this process for future analyses. As they say, great tools often come from a touch of "productive laziness"! Besides that, my wet lab had RNA seq data that required us to contact a bioinformatician to revisit when we had more questions. I thought that it would be great to have a replayable (readily available) copy of the analysis made instead of a few heatmaps, tables and lists. The long term goal is to create a tool for reusable analysis (not static).
- Start: March 25, 2025
- v1.0 release: June 2025
- Current Status: Active Development
- Latest Update: June 2025
SigmaSEQ is a Shiny application for RNA-seq data analysis that provides an intuitive interface for exploratory data analysis, differential expression analysis, and pathway enrichment analysis.
The application integrates OpenAI's API for AI-based interpretation of results.
It is still a work in progress and very buggy but it will improve with time.
- GSE183325 dataset (included with RMarkdown documentation)
- Future plans include direct integration with GEO Database
- Testing with multiple datasets to ensure broad compatibility
- Support for count matrix and metadata file uploads
- Automatic data validation and quality checks
- Interactive data preview with DataTables
- Summary statistics display
- Quality control metrics visualization
- Sample clustering analysis
- Principal Component Analysis (PCA)
- Expression heatmap visualization
- Interactive plots with download capabilities
- Data normalization and transformation options
- Multiple analysis methods (DESeq2, EdgeR, Limma)
- Volcano plots for visualization
- MA plots for expression analysis
- Expression heatmaps for significant genes
- Interactive tables with filtering and sorting
- Downloadable plots and results
- Gene Set Enrichment Analysis (GSEA)
- Over-representation Analysis (ORA)
- Pathway network visualization
- Enrichment plots
- Multiple pathway databases (KEGG, GO, Reactome)
- Interactive pathway-gene associations
- Automated analysis interpretation
- Customizable analysis focus
- Multiple analysis types
- Exportable insights
- Clone the repository:
git clone https://github.com/lujason01/sigmaSEQ.git
cd sigmaSEQ- Install required R packages:
install.packages(c(
"shiny",
"shinyjs",
"shinyWidgets",
"bs4Dash",
"plotly",
"DT",
"ggplot2",
"dplyr",
"tidyr",
"stringr",
"readr",
"openxlsx"
))
# Install Bioconductor packages
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install(c(
"DESeq2",
"edgeR",
"limma",
"clusterProfiler",
"enrichplot",
"pathview",
"ReactomePA",
"DOSE",
"org.Hs.eg.db"
))- Run the application:
Rscript run_app.R-
Prepare your data:
- Count matrix (CSV/TSV/TXT format)
- Metadata file (CSV/TSV/TXT format)
- Ensure sample names match between files
-
Upload files:
- Click "Browse" to select files
- Wait for validation
- Review data preview and summary statistics
-
Enter GEO Accession Number:
- Format: GSE followed by numbers (e.g., GSE183325)
- The app will automatically fetch available platforms
- Example datasets:
- GSE183325: Example training dataset
- GSE12345: Example dataset
- GSE67890: Example dataset
-
Select Platform:
- The platform dropdown will be automatically populated
- Choose the appropriate platform for your analysis
- Common platforms include:
- GPL570: [HG-U133_Plus_2] Affymetrix Human Genome U133 Plus 2.0 Array
- GPL96: [HG-U133A] Affymetrix Human Genome U133A Array
- GPL6244: [HuGene-1_0-st] Affymetrix Human Gene 1.0 ST Array
-
Select Samples:
- The samples dropdown will be automatically populated
- Select one or more samples for analysis
- You can use Ctrl/Cmd + Click to select multiple samples
- The app will validate your selections before proceeding
-
Import Data:
- Click "Import Data" to fetch and process the selected data
- The app will:
- Download expression data
- Extract phenotype information
- Validate data quality
- Prepare for analysis
-
Review Data:
- Check the data preview tables
- Verify sample information
- Review quality metrics
- Proceed to analysis when ready
-
Configure analysis settings:
- Select normalization method
- Choose transformation method
- Set filtering parameters
-
Run analysis:
- Click "Run Analysis"
- Review quality control plots
- Explore sample clustering
- Analyze PCA results
- Download plots as needed
-
Set analysis parameters:
- Choose analysis method
- Select contrast groups
- Set thresholds (fold change, p-value)
-
Run analysis:
- Click "Run Analysis"
- Explore volcano plots
- Review MA plots
- Analyze expression heatmaps
- Download results and plots
-
Configure pathway settings:
- Select analysis method
- Choose pathway database
- Set significance thresholds
-
Run analysis:
- Click "Run Analysis"
- Explore enrichment plots
- Analyze pathway networks
- Review gene-pathway associations
- Download results and visualizations
sigmaSEQ/
├── R/
│ ├── modules/
│ │ ├── upload_server.R
│ │ ├── upload_ui.R
│ │ ├── eda_server.R
│ │ ├── eda_ui.R
│ │ ├── dea_server.R
│ │ ├── dea_ui.R
│ │ ├── pathway_server.R
│ │ ├── pathway_ui.R
│ │ ├── ai_interpretation_server.R
│ │ └── ai_interpretation_ui.R
│ ├── utils/
│ │ ├── data_processing.R
│ │ ├── visualization.R
│ │ └── helpers.R
│ ├── config.R
│ └── global.R
├── www/
│ ├── css/
│ │ ├── style.css # Main application styles
│ │ ├── eda.css # EDA module specific styles
│ │ ├── dea.css # DEA module specific styles
│ │ ├── pathway.css # Pathway module specific styles
│ │ └── ai.css # AI interpretation module styles
│ └── js/
│ ├── handlers.js # Main application JavaScript handlers
│ ├── eda_handlers.js # EDA module specific handlers
│ ├── dea_handlers.js # DEA module specific handlers
│ ├── pathway_handlers.js # Pathway module specific handlers
│ └── ai_handlers.js # AI interpretation module handlers
├── data/
│ └── example_data/
├── tests/
├── run_app.R
└── README.md
The www/ directory contains all static assets used by the web interface:
-
style.css: Main application styles including:- Layout and grid system
- Color schemes and themes
- Typography using Google Fonts (Exo 2, Saira, Winky sans)
- Responsive design elements
- Common component styles
-
Module-specific CSS files:
eda.css: Styles for exploratory data analysis visualizationsdea.css: Styles for differential expression analysis plotspathway.css: Styles for pathway analysis visualizationsai.css: Styles for AI interpretation interface
-
handlers.js: Core application JavaScript including:- Event handlers for common interactions
- Utility functions for data manipulation
- Plot initialization and updates
- Error handling and notifications
-
Module-specific JavaScript files:
eda_handlers.js: Handlers for EDA module interactionsdea_handlers.js: Handlers for DEA module interactionspathway_handlers.js: Handlers for pathway analysisai_handlers.js: Handlers for AI interpretation features
- shiny
- shinyjs
- shinyWidgets
- bs4Dash
- plotly
- DT
- ggplot2
- dplyr
- tidyr
- stringr
- readr
- openxlsx
- DESeq2
- edgeR
- limma
- clusterProfiler
- enrichplot
- pathview
- ReactomePA
- DOSE
- org.Hs.eg.db
Using Google Fonts:
- Exo 2
- Saira
- Winky sans
Let me know what you think of this project and feel free to advise.
This project is licensed under the MIT License - see the LICENSE file for details.
If you use SigmaSEQ in your research, please cite:
@software{sigmaSEQ,
title = {SigmaSEQ: RNA-seq Analysis Application},
author = {Lubega Jason},
year = {2025},
url = {https://github.com/lujason01/sigmaSEQ}
}
For support, please:
- Check the documentation
- Search existing issues
- Create a new issue if needed
- Bioconductor team for RNA-seq analysis packages
- Shiny team for the web framework
- All contributors and users
This is a passion project intended to be a learning curve, developed outside work hours. We are open to suggestions to make it better and more robust.