bio-causal-genomics-pleiotropy-detection
Detect and adjust for horizontal pleiotropy in two-sample Mendelian randomization by distinguishing uncorrelated (UHP) from correlated (CHP) pleiotropy and choosing among Egger, MR-PRESSO, MR-RAPS, CAUSE, LHC-MR, LCV, MR-Clust, MR-Mix, and contamination-mixture methods. Use when validating an MR causal claim, running the STROBE-MR sensitivity battery, suspecting a shared heritable confounder, working under weak-instrument or polygenic-exposure regimes, or reconciling discordant estimates across robust methods.
npx skills add BioTender-max/awesome-bio-agent-skills --skill pleiotropy-detection --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Detect and adjust for horizontal pleiotropy in two-sample Mendelian randomization by distinguishing uncorrelated (UHP) from correlated (CHP) pleiotropy and selecting among multiple pleiotropy-robust methods. It supports evaluating pleiotropy, performing a method battery, and handling scenarios with weak instruments or polygenic exposures.
How it works
The skill instructs the agent to:
- Use two-sample MR with methods: IVW, MR-Egger, weighted median, weighted mode, MR-PRESSO, CAUSE, LHC-MR, LCV, MR-Clust, MR-Mix, and contamination mixture, depending on the regime.
- Decompose pleiotropy into UHP (addressed by Egger / median / mode / MR-PRESSO) and CHP (addressed by CAUSE / LHC-MR / LCV).
- Run a standard battery: compute point estimates, SE, p, 95% CI, and n_SNPs_used for IVW, MR-Egger, weighted median, weighted mode, and MR-PRESSO (with NbDistribution >= 10000 for reporting).
- Use CAUSE for CHP-aware estimation or MR-Clust for mechanism-heterogeneous instruments; use MR-ConMix or MRMix for contamination or mixture approaches.
- Compute Egger I^2_GX and apply SIMEX if I^2_GX < 0.9; otherwise consider alternative methods (MR-RAPS).
- Follow an operational decision flow: compute genetic correlation with LDSC; escalate CHP if rg is high or biology suggests shared factors; apply a triangulated approach with Steiger checks and bidirectional MR.
- Report ELPD delta and CHP-specific metrics when escalating to CHP methods.
When to use it
Use when validating an MR causal claim, running the STROBE-MR sensitivity battery, suspecting a shared heritable confounder, working under weak-instrument or polygenic-exposure regimes, or reconciling discordant estimates across robust methods.
What it can touch
The skill references tools and packages in R: TwoSampleMR, MR-PRESSO, cause, mrclust, MendelianRandomization, MRMix, simex. It lists specific function calls and package names as examples for various methods:
- TwoSampleMR::mr(), mr_pleiotropy_test(), mr_heterogeneity(), mr_leaveoneout(), directionality_test
- MR-PRESSO::mr_presso()
- cause::cause()
- mrclust::mr_clust_em()
- MendelianRandomization::mr_conmix()
- MRMix::MRMix()
- MR-Mix, contamination-mixture, LHC-MR, LCV
Caveats
Imposes version compatibility notes (TwoSampleMR, MendelianRandomization, MR-PRESSO, CAUSE, MR-Clust, MRMix, simex) and requires careful interpretation when CHP is plausible or when fewer than 100 significant SNPs are available for CAUSE. For CHP-focused evaluation, CAUSE or LHC-MR are recommended; PRESSO may be underpowered under CHP. For few SNPs, avoid relying solely on MR-Egger; consider alternative methods and report the intercept with caveats.
## Version Compatibility Reference examples tested with: TwoSampleMR 0.5.11+, MendelianRandomization 0.9.0+, MR-PRESSO 1.0+, CAUSE 1.2.0+, MR-Clust 0.1.0+, MRMix 0.1+, mr.raps 0.4.1+ (GitHub), LHC-MR 0.0.0.9000+ (GitHub), LCV (script-based, no version tag), simex 1.8+. Before using code patterns, verify installed versions match. If versions differ: - R: `packageVersion('<pkg>')` then `?function_name` to verify parameters - For GitHub-only packages, check the repo HEAD vs the local install date If code throws errors, introspect the installed package and adapt the example rather than retrying. # Pleiotropy Detection in Mendelian Randomization **"Validate my MR result against pleiotropic bias"** -> Decompose violations of the exclusion-restriction assumption into uncorrelated horizontal pleiotropy (UHP, addressable by Egger / median / mode / MR-PRESSO) and correlated horizontal pleiotropy (CHP, addressable only by CAUSE / LHC-MR / LCV), then run a method battery whose assumptions span both regimes. - R: `TwoSampleMR::mr()` (IVW + Egger + median + mode), `mr_pleiotropy_test()`, `mr_heterogeneity()`, `mr_leaveoneout()`, `directionality_test()` - R: `MRPRESSO::mr_presso()` for UHP outlie
- Version Compatibility
- UHP vs CHP: The Central Postdoc-Grade Distinction
- Operational Decision Flow (4 Steps)
- Algorithmic Taxonomy
- Decision Tree by Scenario
- Per-Method Failure Modes
- MR-Egger NOME violation
- MR-PRESSO majority-outlier breakdown
- MR-PRESSO false negative under CHP
- MR-Egger underpowered with few SNPs
- CAUSE underpowered with few significant SNPs
- LCV gcp under non-Gaussian effect distributions
- Quantitative Thresholds
- Standard Sensitivity Battery (Working Reference)
What does the bio-causal-genomics-pleiotropy-detection skill do?
Detect and adjust for horizontal pleiotropy in two-sample Mendelian randomization by distinguishing uncorrelated (UHP) from correlated (CHP) pleiotropy and choosing among Egger, MR-PRESSO, MR-RAPS, CAUSE, LHC-MR, LCV, MR-Clust, MR-Mix, and contamination-mixture methods. Use when validating an MR causal claim, running the STROBE-MR sensitivity battery, suspecting a shared heritable confounder, working under weak-instrument or polygenic-exposure regimes, or reconciling discordant estimates across robust methods.
How do I install it?
Run `npx skills add BioTender-max/awesome-bio-agent-skills --skill pleiotropy-detection --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From BioTender-max/awesome-bio-agent-skills, a repository with 135 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
