Introduction to Causal Analysis using Mendelian Randomization

Author

Tayyaba Alvi, Mark Olenik, Melike Donertas

Published

July 20, 2025

Introduction to Causal Analysis using Mendelian Randomization

Welcome to the official web resource for our tutorial at ISMB 2025 in Liverpool.

Tell us about yourself!

Thank you for your interest in our tutorial! To help us tailor the final content to your needs, we would be grateful if you could take two minutes to fill out our pre-workshop survey. Your feedback is invaluable.

Tell Us About Yourself (Google Form)

Workshop Outline (tentative)

09:00–09:45: Part 1: Introduction to MR * Why association is not causation.

09:45–10:15: Part 2: Mathematical Foundations of MR * Challenges and assumptions in MR.

10:15–10:30: Part 3: Practical Introduction * Getting ready to analyse data.

10:30–10:45: Environment Setup

10:45-11:00: Coffee break

11:00–11:45: Part 4: Real-world data analysis using MR (IVW and MR Egger) and sensitivity analyses * A hands-on practical session in R.

11:45-12:15: Part 5: Simulations to explain concepts * Interactive plots and simulations to understand how key parameters and IV assumptions influence causal estimates and type I/II errors.

12:15-13:00: Part 6: Exercise * Your turn!

Pre-Workshop Requirements

We have set up virtual environments with RStudio access to ensure a smooth experience. Before the workshop, the only requirement is knowledge of basic R and RStudio.

To connect please go: https://genome.leibniz-fli.de/rstudio/workshop/

For those wishing to replicate the analysis on their own machines, please see the requirements below.

What do you need to be able to replicate the workshop in your own environment?

R and RStudio

  • R: Version 4.2.0 or newer is recommended.
  • RStudio: The latest stable version is recommended.

R Libraries:

Please install the following packages from CRAN and Bioconductor before the workshop.

# Install from CRAN
install.packages(c("remotes", "ieugwasr", "dplyr", "ggplot2"))

# Install from Bioconductor
if (!require("BiocManager", quietly = TRUE))
  install.packages("BiocManager")
BiocManager::install("VariantAnnotation")

# Install from GitHub
remotes::install_github("MRCIEU/TwoSampleMR")
remotes::install_github("MRCIEU/MRInstruments")
remotes::install_github("mrcieu/gwasglue")

Data:

The datasets used in the hands-on session are available for download as a single compressed file.

Useful resources