A comprehensive Shiny application for qPCR data analysis and visualization using the ΔΔCt method with MIQE-compliant statistical analysis.
- Statistical analysis now run on ddCt by default. Users can choose to run on dCt/ddCt.
- Added post-hoc tests for Kruskal-Wallis
- Added more p adjustment methods, e.g. FDR.
- Used "yeti" theme for a cleaner, more modern UI.
- Added Chinese translation (UI only)! Users can now switch languages in the upper right corner.
- Folded advanced settings for a cleaner UI.
- Added options to visualize results in -ddCt, ddCt, -dCt and dCt.
- ΔΔCt Method: Standard relative quantification analysis
- Statistical Analysis: One-way ANOVA and Kruskal-Wallis tests with multiple correction methods
- Quality Control: CV analysis, outlier detection, and data validation
- Multiple Plot Types: Bar, box, violin, and beeswarm plots with extensive customization
- Bilingual Support: English and Chinese interface with dynamic language switching
- Interactive Data Editing: Edit individual data points and exclude outliers with full tracking
- Publication-Ready Plots: 13+ color palettes including colorblind-friendly and journal themes
- Comprehensive Export: Complete analysis results, plots, and modification history in ZIP format
- Multiple Formats: CSV and Excel (.xlsx, .xls) with sheet selection
- Automatic Validation: Data format checking and error reporting
- Flexible Input: Supports various column naming conventions
Upload your qPCR data file containing these required columns:
- Sample: Sample identifiers
- Target: Gene names
- Cq: Quantification cycle values (0-40)
- Well: PCR well locations (optional but recommended)
Set your control sample and housekeeping genes (auto-detection available):
Analyze your data with comprehensive statistical analysis and publication-ready plots:
git clone https://github.com/mianaz/qpcr_tool.git
cd qpcr_tool# Install all required packages
install.packages(c(
# Core Shiny
"shiny", "shinythemes", "shinyjs", "DT", "sortable",
# Analysis
"tidyverse", "ggplot2", "rstatix", "gridExtra",
# Plotting
"ggprism", "ggsignif", "viridis", "ggsci", "ggthemes", "ggbeeswarm",
# File handling
"openxlsx"
))# Option 1: Using app.R
source("app.R")
shiny::runApp()
# Option 2: Direct execution
shiny::runApp(".")The repository includes sample data files for testing:
sample_data.csv- CSV format examplesample_data.xlsx- Excel format example
Configure your preferred statistical methods and significance thresholds:
Extensive customization options for publication-ready figures:
Interactive tables with export functionality:
library(rsconnect)
rsconnect::setAccountInfo(name='your_account', token='TOKEN', secret='SECRET')
rsconnect::deployApp("path/to/qpcr_tool/")A hosted version is available at: https://apps.bioinfospace.com/qpcr-analysis/
If you use this tool in your research, please cite:
qPCR Analysis Tool v2.0 - ΔΔCt Method.
GitHub: https://github.com/mianaz/qpcr_tool
BibTeX:
@software{qpcr_analysis_tool_2024,
title={qPCR Analysis Tool v2.0 - ΔΔCt Method},
author={mianaz},
year={2024},
url={https://github.com/mianaz/qpcr_tool},
note={Comprehensive Shiny application for qPCR data analysis and visualization}
}- No Permanent Storage: Your data is processed temporarily on the server and never permanently saved or stored
- Session Isolation: Each user operates in an isolated R session, completely separate from other users
- Temporary Processing: Files are processed in server memory and temporary storage during your session only
- Automatic Cleanup: All data, files, and results are automatically cleared when your session ends
- Independent Sessions: Each user has their own isolated processing environment on the server
- Session Lifecycle: Your data exists only during your active browser session
- Memory Cleanup: Server memory is automatically freed when your session terminates
- Fresh Start: Refresh your browser to start a new analysis (previous results will be cleared)
- Save Your Work: Download results before closing your browser or starting fresh
- Session Timeout: Extended inactivity will automatically end your session and clear data
- No Data Retention: We do not retain, backup, or store your analysis data
- Sensitive Data: Each session is isolated, but consider local installation for highly sensitive research
MIT License - see LICENSE file for details.
09/05/2025 - Many thanks to @Emberwhirl for pointing out statistical issues in previous versions and suggestions for new features.







