qtl2shiny: localized QTL analysis and visualization
The qtl2shiny package provides an interactive dashboard designed to investigate local Quantitative Trait Loci (QTL) within focused genomic regions (typically 1–4 Mb). It performs allele-based LOD scans, SNP-based association mapping, SNP distribution pattern analysis, and candidate gene mediation.
Architecture & Modernization
qtl2shiny has been modernized from legacy monolithic scripts and shinydashboard layouts to a responsive Bootstrap 5 (bslib) architecture. The application is organized into over 40 focused Shiny modules (R/*App.R) structured across six main analysis panels.
Module Communication & Data Flow
Modules communicate by passing reactive values (such as project metadata, phenotype selections, and genotype probabilities) down through panel containers. The diagram below illustrates how key parent modules pass reactive data to downstream analysis panels:
graph TD
Project[projectApp] -->|project_df| Hotspot[hotspotApp]
Project -->|project_df| Probs[probsApp]
Project -->|project_df| SnpList[snpListApp]
Hotspot -->|hotspot_list| Scan[scanApp]
Hotspot -->|hotspot_list| Pattern[patternApp]
Hotspot -->|hotspot_list| Geno[genoApp]
Hotspot -->|hotspot_list| Mediate[mediateApp]
SnpList -->|snp_list| Scan
SnpList -->|snp_list| Pattern
SnpList -->|snp_list| Geno
SnpList -->|snp_list| Mediate
Probs -->|probs_obj| Scan
Probs -->|probs_obj| Mediate
Online Developer Guide Articles
Detailed technical documentation for the package data structures, query functions, and module interfaces is published on GitHub Pages at https://byandell-sysgen.github.io/qtl2shiny/articles/devel_guide:
-
Developer Guide Overview
Covers folder organization (qtl2shinyData), project configuration (projects.csv), genotype probability storage (fst), and SQL query routines for genes and variants. -
Module Architecture
Describes thebslibdashboard layout, sidebar parameters, reactive module communication, and unified download framework (downrintegration). -
Hotspots & Phenotypes Panel (
hotspotApp)
Details project loading, genome-wide hotspot count scans (hotspotScanApp), raw phenotype distribution plots (phenoPlotApp), and phenotype summary tables (phenoTableApp). -
Allele & SNP Scans Panel (
scanApp)
Details LOD scan plots, founder allele effect estimates (scanCoefApp), and SNP-based association mapping (snpScanApp). -
Patterns Panel (
patternApp)
Covers strain distribution pattern grouping (patternScanApp) and imputed SNP effect visualizations. -
Genotypes Panel (
genoApp)
Details allele pair probability visualizations (genoPlotApp), gene region track plots (geneRegionApp), and exon boundary inspection (geneExonApp). -
Scatter Plot Modules (
scatterApp)
Covers bivariate phenotype scatter plots, mediator trait comparisons (scatterPlotApp), and interactive table selections. -
Mediation Panel (
mediateApp)
Details causal mediation scans (mediateScanApp) for prioritizing candidate genes near QTL peaks.