Author: Eren Ada, PhD
Date: 12/01/2025
Current Version: 2.0.0
This project develops a comprehensive and modular bulk RNA-sequencing (RNA-seq) analysis tool using RShiny. The suite consists of interconnected RShiny applications, each dedicated to a specific stage of the RNA-seq analysis workflow.
Production-ready QC and pre-processing for bulk RNA‑seq count data. See Screenshots below for a brief tour.
Status: Complete and Production-Ready
Location: app.R (main application)
- Data Input & Validation
- Quality Control: library size, expression distribution, correlation heatmaps, 2D/3D PCA
- Filtering & Normalization: multiple strategies and evaluation views
- Export: processed data and publication-ready plots
# Install dependencies (once)
Rscript scripts/install_dependencies.R
# Launch from repository root
shiny::runApp("app.R")For detailed usage instructions, see the Quick Start Guide.
- Complete User Manual - Comprehensive guide to all features
- Quick Start Guide - 15-minute walkthrough
- Technical Requirements - System requirements and setup
- Troubleshooting Guide - Common issues and solutions
- Developer Documentation - Architecture and development guidelines
- Testing Framework - Testing guidelines and examples
- Project Status - Current development status
- R Version: 4.0.0 or higher (4.3.0+ recommended)
- Operating System: Windows 10+, macOS 10.14+, or Linux (Ubuntu 18.04+)
- RAM: 4GB minimum (8GB recommended)
- Browser: Chrome, Firefox, Safari, or Edge (latest versions)
Install all required CRAN and Bioconductor packages:
Rscript scripts/install_dependencies.R
# Then launch the application
shiny::runApp("app.R")For development or troubleshooting:
# Install package manager
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
# Install core dependencies
BiocManager::install(c("DESeq2", "edgeR"))
install.packages(c("shiny", "DT", "plotly", "ggplot2"))
# Note: The app uses additional packages (ggrepel, corrplot, shinythemes, shinyWidgets,
# dplyr, tidyr, readr, viridis, RColorBrewer, scales, moments, e1071, matrixStats,
# and Bioconductor preprocessCore, SummarizedExperiment and friends).
# To avoid omissions, prefer running: Rscript scripts/install_dependencies.RKey views:
- Data Input & Validation
- QC: PCA (2D/3D), correlation heatmaps
- Filtering & Normalization with evaluation
Screenshots:
- Validation:
screenshots/validation.png - PCA:
screenshots/pca.png - Correlation:
screenshots/sample_correlation.png - Filtering/Normalization:
screenshots/filtering_normalization.png - About:
screenshots/about.png
- Data Upload: Load count matrix and metadata (CSV format)
- Validation: Review data validation results and handle any issues
- Quality Control: Examine QC plots and assess data quality
- Processing: Apply filtering and normalization based on QC results
- Export: Download processed data and reports
Sample datasets are provided in the example_data/ directory for testing and learning:
example_counts.csv- Anonymized count matrix (5,001 genes × 24 samples)example_metadata.csv- Corresponding sample metadata with experimental design
Contributions are welcome. See the Developer Documentation for setup, standards, testing, and PR guidance.
- Fork the repository
- Create a feature branch
- Follow coding standards in Developer Guide
- Add tests for new functionality
- Update documentation
- Submit pull request
- Check the Troubleshooting Guide
- Review Technical Requirements
- Try with example data to isolate issues
- Create an issue with detailed information
This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License - see the LICENSE file for details.
If you use this tool in your research, please cite:
@software{ada2025rna,
author = {Ada, Eren},
title = {Modular Bulk RNA-seq Analysis RShiny Tool Suite},
year = {2025},
version = {2.0.0},
url = {https://github.com/hms-immunology/RNA_QC_APP}
}This project builds upon the excellent work of the Bioconductor community, particularly the DESeq2, edgeR, and limma packages for RNA-seq analysis.