Bio Causal Genomics Mediation Analysis
Decompose genetic effects into direct and indirect paths through mediating variables...
Install
npx skills add FreedomIntelligence/OpenClaw-Medical-Skills --skill bio-causal-genomics-mediation-analysis -g -a claude-code -y- Repository
- FreedomIntelligence/OpenClaw-Medical-Skills3.1k
- Category
- Testing
- Updated
- 4mo ago
- License
- See repository
- Context cost
- Mediumabout 2,330 tokens
- Runs scripts
- No, instructions only
What it does
Decompose genetic effects into direct and indirect paths through mediating variables using the mediation R package. Tests whether gene expression, methylation, or other molecular phenotypes mediate the effect of genetic variants on disease. Use when testing whether a molecular phenotype mediates the genotype-to-phenotype relationship.
Version Compatibility
Reference examples tested with: R stats (base), ggplot2 3.5+
Before using code patterns, verify installed versions match. If versions differ:
- R:
packageVersion('<pkg>')then?function_nameto verify parameters
If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
Mediation Analysis
"Test whether gene expression mediates the effect of this variant on disease" → Decompose the total genetic effect into direct and indirect (mediated) paths through a molecular phenotype, estimating ACME, ADE, and proportion mediated with bootstrap confidence intervals.
- R:
mediation::mediate()for causal mediation analysis
Framework
Causal mediation decomposes the total effect of a treatment (genotype) on an outcome (phenotype) into:
- ACME (Average Causal Mediation Effect) - Indirect effect through the mediator
- ADE (Average Direct Effect) - Direct effect not through the mediator
- Total effect = ACME + ADE
- Proportion mediated = ACME / Total effect
Typical genomic applications:
- SNP -> gene expression (mediator) -> disease
- SNP -> DNA methylation (mediator) -> gene expression
- SNP -> protein levels (mediator) -> clinical outcome
Basic Mediation with the mediation Package
Goal: Decompose a genetic effect into direct and indirect (mediated) paths through a molecular phenotype.
Approach: Fit separate models for mediator and outcome, then run mediate() with bootstrap to estimate ACME (indirect), ADE (direct), and proportion mediated.
library(mediation)
# --- Step 1: Fit mediator model ---
# How does the treatment (genotype) affect the mediator (expression)?
mediator_model <- lm(expression ~ genotype + age + sex + pc1 + pc2, data = dat)


