Alzheimer’s Disease Gene Expression

Parameterized Reporting & Interactive Exploration in R

Collin McNeil

Research Area: Alzheimer’s Disease

Alzheimer’s disease (AD) is a progressive neurodegenerative disorder and the leading cause of dementia worldwide.

  • The brain is not uniformly affected — some regions deteriorate earlier than others
  • The hippocampus and entorhinal cortex show early, severe damage (memory and navigation)
  • The postcentral gyrus and superior frontal gyrus tend to be affected later
  • Understanding which genes are disrupted in each region helps identify both shared disease mechanisms and region-specific vulnerabilities

The Data: GSE48350

Postmortem brain tissue microarray data from the Gene Expression Omnibus (GEO).

253 total samples

  • 80 Alzheimer’s patients
  • 173 age-matched controls

4 brain regions

  • Hippocampus
  • Entorhinal Cortex
  • Postcentral Gyrus
  • Superior Frontal Gyrus

54,675 genes measured per sample via microarray

Each gene has a measured expression level — we compare AD patients vs. controls to find genes that are significantly up- or down-regulated

What is Differential Gene Expression?

When we compare gene activity between two groups (here: AD vs. control), we calculate for each gene:

  • Log2 Fold Change (logFC): how much the gene’s expression changed
    • Positive = higher in AD (upregulated)
    • Negative = lower in AD (downregulated)
  • Adjusted p-value: statistical confidence after correcting for testing ~55,000 genes at once
  • A gene is considered significantly differentially expressed when it meets both a fold change and p-value threshold

Volcano Plot

Each point is one gene. A useful way to see both effect size and significance at once.

X-axis: magnitude of change — Y-axis: statistical confidence — Dashed lines: significance thresholds

Top Differentially Expressed Genes

The 20 genes with the largest absolute fold change in the Hippocampus.

Red = higher expression in AD (upregulated) — Blue = lower expression in AD (downregulated)

Heatmap of Top Significant Genes

Rows: the 10 most statistically significant genes. Columns: individual samples, grouped by disease status.

Red = high expression — Blue = low expression — Each panel is one condition

Project 1: Parameterized Reporting

The same analysis pipeline — re-run automatically across all four brain regions.

The Problem

Running identical analysis code manually for each of 4 brain regions is tedious and error-prone.

The Solution: Parameterized Quarto Reports

  • Write the analysis workflow once
  • Pass brain_region and data_path as parameters
  • Batch-render all four reports with a single R script

Each report contains:

  • Differential expression summary table
  • Top genes table (searchable)
  • Most significant genes table
  • Volcano plot
  • Top genes bar chart
  • Heatmap

Project 2: The Shiny App

Why build an app?

Static reports answer a fixed question. With an app, the user drives the exploration.

What the app does:

  • Select any of the 4 brain regions from a sidebar dropdown — all views update instantly
  • Tab 1 — Volcano Plot: adjust logFC and p-value thresholds with sliders to see how significance calls change
  • Tab 2 — Heatmap: choose how many top genes to show and filter by condition (AD, Control, or both)
  • Tab 3 — Top Genes Table: formatted gt table of the most significant genes, adjustable N

Demo

Let’s look at the app.

Switch to RStudio / the running Shiny app now

Workflow to cover:

  1. Load the app — default view (Hippocampus, Volcano Plot)
  2. Switch brain regions — notice all three tabs update
  3. Adjust logFC and p-value sliders on the Volcano Plot tab
  4. Switch to the Heatmap tab — adjust gene count, toggle conditions
  5. Switch to the Top Genes Table — adjust N, explore the output

Conclusion

What I built:

  • A parameterized Quarto reporting pipeline for 4 brain regions
  • An interactive Shiny app for real-time exploration of the same data

What I learned:

  • Parameterization eliminates repetition and reduces errors
  • Reactivity in Shiny makes analysis far more exploratory

Bigger picture:

Gene expression patterns differ meaningfully across brain regions in Alzheimer’s disease. Tools like these make it easier to identify and communicate those differences — without rerunning code from scratch each time.

Thank you!