Skip to content

Repository files navigation

qPCR Analysis Tool - ΔΔCt Method

A comprehensive Shiny application for qPCR data analysis and visualization using the ΔΔCt method with MIQE-compliant statistical analysis.

Main Interface

Major Update 09/05/2025 - Fixed Statistical Methods, UI improvements

  • 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.

Features

Comprehensive Analysis

  • ΔΔ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

User Experience

  • 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

Data Import & 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

File Upload Interface

Quick Start

Step 1: Data Upload

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)

Sample Data Format

Step 2: Configure Settings

Set your control sample and housekeeping genes (auto-detection available):

Essential Settings

Step 3: Review Results

Analyze your data with comprehensive statistical analysis and publication-ready plots:

Analysis Results

Installation

Local Installation

git clone https://github.com/mianaz/qpcr_tool.git
cd qpcr_tool

Required R Packages

# 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"
))

Run the Application

# Option 1: Using app.R
source("app.R")
shiny::runApp()

# Option 2: Direct execution
shiny::runApp(".")

Sample Data

The repository includes sample data files for testing:

  • sample_data.csv - CSV format example
  • sample_data.xlsx - Excel format example

Advanced Features

Statistical Analysis

Configure your preferred statistical methods and significance thresholds:

Statistical Settings

Plot Customization

Extensive customization options for publication-ready figures:

Plot Settings

Data Tables

Interactive tables with export functionality:

Table Results

Deployment

Shiny Server

library(rsconnect)
rsconnect::setAccountInfo(name='your_account', token='TOKEN', secret='SECRET')
rsconnect::deployApp("path/to/qpcr_tool/")

Online Access

A hosted version is available at: https://apps.bioinfospace.com/qpcr-analysis/

Citation

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}
}

Data Privacy & Security

Data Protection

  • 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

Session Management

  • 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)

Important Notes

  • 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

License

MIT License - see LICENSE file for details.

Acknowledgments

09/05/2025 - Many thanks to @Emberwhirl for pointing out statistical issues in previous versions and suggestions for new features.

About

Shiny App for quick analysis of qPCR data using ddCt method

Resources

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages