
tooluniverse-gwas-snp-interpretation
Interpret a single GWAS SNP across multiple databases — GWAS Catalog hits, LD/haplotype context, eQTL evidence, regulatory annotation, ClinVar pathogenicity, gnomAD frequency. Use for 'what does this SNP do', SNP-to-mechanism tracing, and resolving lead-SNP-vs-causal-variant ambiguity. Always considers LD structure before claiming a SNP is mechanistically responsible.
- Installs
- 374
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-gwas-snp-interpretation- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads tooluniverse-gwas-snp-interpretation automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
GWAS SNP Interpretation Skill
SNP interpretation: a GWAS hit is a REGION, not a single causal variant. The lead SNP may not be causal — it may be in LD with the causal variant. Always check LD structure and functional annotation before concluding a specific SNP is mechanistically responsible. Use LDlink_get_proxies(variant="rs...", population="EUR") to retrieve the high-R² LD proxies (needs a free LDLINK_TOKEN) — a proxy in a coding/regulatory region is a better mechanistic candidate than the lead SNP itself. Fine-mapping (SuSiE, FINEMAP credible sets) narrows the causal set but rarely identifies a single variant with certainty. L2G scores integrate eQTL, chromatin interaction, and distance data to predict the causal gene — a lead SNP mapping to gene A may actually regulate gene B 500 kb away via a distal enhancer.
LOOK UP DON'T GUESS: never assume a SNP's functional consequence, mapped gene, or population frequency — always call gwas_get_snp_by_id and OpenTargets_get_variant_info to retrieve current annotations.
Overview
Interpret genetic variants (SNPs) from GWAS studies by aggregating evidence from multiple sources to provide comprehensive clinical and biological context.
Use Cases:
- "Interpret rs7903146" (TCF7L2 diabetes variant)
- "What diseases is rs429358 associated with?" (APOE Alzheimer's variant)
- "Clinical significance of rs1801133" (MTHFR variant)
- "Is rs12913832 in any fine-mapped loci?" (Eye color variant)
What It Does
The skill provides a comprehensive interpretation of SNPs by:
- SNP Annotation: Retrieves basic variant information including genomic coordinates, alleles, functional consequence, and mapped genes
- Association Discovery: Finds all GWAS trait/disease associations with statistical significance
- Fine-Mapping Evidence: Identifies credible sets the variant belongs to (fine-mapped causal loci)
- Gene Mapping: Uses Locus-to-Gene (L2G) predictions to identify likely causal genes
- Clinical Summary: Aggregates evidence into actionable clinical significance
Workflow
User Input: rs7903146
↓
[1] SNP Lookup
→ Get location, consequence, MAF
→ gwas_get_snp_by_id
↓
[2] Association Search
→ Find all trait/disease associations
→ gwas_get_associations_for_snp
↓
[3] Fine-Mapping (Optional)
→ Get credible set membership
→ OpenTargets_get_variant_credible_sets
↓
[4] Gene Predictions
→ Extract L2G scores for causal genes
→ (embedded in credible sets)
↓
[5] Clinical Summary
→ Aggregate evidence
→ Identify key traits and genes
↓
Output: Comprehensive Interpretation Report
Data Sources
GWAS Catalog (EMBL-EBI)
- SNP annotations: Functional consequences, mapped genes, population frequencies
- Associations: P-values, effect sizes, study metadata
- Coverage: 350,000+ publications, 670,000+ associations
Open Targets Genetics
- Fine-mapping: Statistical credible sets from SuSiE, FINEMAP methods
- L2G predictions: Machine learning-based gene prioritization
- Colocalization: QTL evidence for causal genes
- Coverage: UK Biobank, FinnGen, and other large cohorts
Input Parameters
Required
rs_id(str): dbSNP rs identifier- Format: "rs" + number (e.g., "rs7903146")
- Must be valid rsID in GWAS Catalog
Optional
include_credible_sets(bool, default=True): Query fine-mapping data- True: Complete interpretation (slower, ~10-30s)
- False: Fast associations only (~2-5s)
p_threshold(float, default=5e-8): Genome-wide significance thresholdmax_associations(int, default=100): Maximum associations to retrieve
Output Format
Returns SNPInterpretationReport containing:
1. SNP Basic Info
{
'rs_id': 'rs7903146',
'chromosome': '10',
'position': 112998590,
'ref_allele': 'C',
'alt_allele': 'T',
'consequence': 'intron_variant',
'mapped_genes': ['TCF7L2'],
'maf': 0.293
}
2. Trait Associations
[
{
'trait': 'Type 2 diabetes',
'p_value': 1.2e-128,
'beta': '0.28 unit increase',
'study_id': 'GCST010555',
'pubmed_id': '33536258',
'effect_allele': 'T'
},
...
]
3. Credible Sets (Fine-Mapping)
[
{
'study_id': 'GCST90476118',
'trait': 'Renal failure',
'finemapping_method': 'SuSiE-inf',
'p_value': 3.5e-42,
'predicted_genes': [
{'gene': 'TCF7L2', 'score': 0.863}
],
'region': '10:112950000-113050000'
},
...
]
4. Clinical Significance
Genome-wide significant associations with 100 traits/diseases:
- Type 2 diabetes
- Diabetic retinopathy
- HbA1c levels
...
Identified in 20 fine-mapped loci.
Predicted causal genes: TCF7L2
Example Usage
See QUICK_START.md for platform-specific examples.
Tools Used
GWAS Catalog Tools
gwas_get_snp_by_id: Get SNP annotationgwas_get_associations_for_snp: Get all trait associations
Open Targets Tools
OpenTargets_get_variant_info: Get variant details with population frequenciesOpenTargets_get_variant_credible_sets: Get fine-mapping credible sets with L2G
Interpretation Guide
P-value Significance Levels
- p < 5e-8: Genome-wide significant (strong evidence)
- p < 5e-6: Suggestive (moderate evidence)
- p < 0.05: Nominal (weak evidence)
L2G Score Interpretation
- > 0.5: High confidence causal gene
- 0.1-0.5: Moderate confidence
- < 0.1: Low confidence
Clinical Actionability
- High: Multiple genome-wide significant associations + in credible sets + high L2G scores
- Moderate: Genome-wide significant associations but limited fine-mapping
- Low: Suggestive associations or limited replication
Limitations
- Variant ID Conversion: OpenTargets requires chr_pos_ref_alt format, which may need allele lookup
- Population Specificity: Associations may vary by ancestry
- Effect Sizes: Beta values are study-dependent (different phenotype scales)
- Causality: Associations don't prove causation; fine-mapping improves confidence
- Currency: Data reflects published GWAS; latest studies may not be included
Best Practices
- Use Full Interpretation: Enable
include_credible_sets=Truefor clinical decisions - Check Multiple Variants: Look at other variants in the same locus
- Validate Populations: Consider ancestry-specific effect sizes
- Review Publications: Check original studies for context
- Integrate Evidence: Combine with functional data, eQTLs, pQTLs
Technical Notes
Performance
- Fast mode (no credible sets): 2-5 seconds
- Full mode (with credible sets): 10-30 seconds
- Bottleneck: OpenTargets GraphQL API rate limits
Error Handling
- Invalid rs_id: Returns error message
- No associations: Returns empty list with note
- API failures: Graceful degradation (returns partial results)
Related Skills
- Gene Function Analysis: Interpret predicted causal genes
- Disease Ontology Lookup: Understand trait classifications
- PubMed Literature Search: Find original GWAS publications
- Variant Effect Prediction: Functional consequence analysis
References
- GWAS Catalog: https://www.ebi.ac.uk/gwas/
- Open Targets Genetics: https://genetics.opentargets.org/
- GWAS Significance Thresholds: Fadista et al. 2016
- L2G Method: Mountjoy et al. 2021 (Nature Genetics)
Version
- Version: 1.0.0
- Last Updated: 2026-02-13
- ToolUniverse Version: >= 1.0.0
- Tools Required: gwas_get_snp_by_id, gwas_get_associations_for_snp, OpenTargets_get_variant_credible_sets
FAQ
What does the tooluniverse-gwas-snp-interpretation skill do?
Interpret a single GWAS SNP across multiple databases — GWAS Catalog hits, LD/haplotype context, eQTL evidence, regulatory annotation, ClinVar pathogenicity, gnomAD frequency. Use for 'what does this SNP do', SNP-to-mechanism tracing, and resolving lead-SNP-vs-causal-variant ambiguity. Always considers LD structure before claiming a SNP is mechanistically responsible.
How do I install tooluniverse-gwas-snp-interpretation?
Run npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-gwas-snp-interpretation in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/tooluniverse-gwas-snp-interpretation/ (personal) or .claude/skills/tooluniverse-gwas-snp-interpretation/ (project).
Which AI agents can use tooluniverse-gwas-snp-interpretation?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is tooluniverse-gwas-snp-interpretation safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains tooluniverse-gwas-snp-interpretation?
It is published by mims-harvard in mims-harvard/tooluniverse. It has 374 recorded installs.
More from mims-harvard/tooluniverse
tooluniverse-sequence-retrieval
mims-harvard/tooluniverse
Retrieve DNA/RNA/protein sequences from NCBI and ENA with disambiguation. Quality hierarchy: RefSeq (NM/NP) RefSeq predicted (XM/XP) GenBank submissions. Use for fetching specific sequences by accession, gene-symbol-to-sequence lookup, transcript-isoform retrieval, and curated-vs-raw-submission preference.
tooluniverse-literature-deep-research
mims-harvard/tooluniverse
Deep literature review — PubMed, EuropePMC, bioRxiv preprints, citation networks, evidence synthesis. Disambiguates queries, runs collision-aware searches, grades evidence T1-T4, and produces structured reports. Use for systematic literature review, meta-analysis evidence collection, and detailed answer-with-citations workflows.
tooluniverse-image-analysis
mims-harvard/tooluniverse
Microscopy and quantitative imaging analysis — colony morphometry, fluorescence intensity quantification, cell-count statistics, dose-response curves, and ANOVA/Dunnett on image-derived measurements. Uses pandas/numpy/scipy/scikit-image. Use for analyzing tabular outputs from CellProfiler/ImageJ, image-derived measurement statistics, and image-based assay quantification.
tooluniverse-clinical-guidelines
mims-harvard/tooluniverse
Search and retrieve clinical practice guidelines from 12+ authoritative sources — NICE, WHO, NCCN, AHA, ADA, SIGN, USPSTF, IDSA, NIH consensus, ESMO/ESC/EASL European societies, and US specialty associations. Use for evidence-graded treatment recommendations, dosing protocols, screening guidance, and authoritative-source-prioritized clinical guidance (NICE/WHO ranked above society guidelines).
tooluniverse
mims-harvard/tooluniverse
ToolUniverse plugin router. STEP 1 BEFORE ANY ANALYSIS: if the data folder contains executed.ipynb, run tu run readexecutednotebook '{"datafolder":" ","search":" "}' to extract its cell outputs and apply EVERY filter/sample-exclusion the notebook used — even when the question says 'Using DESeq2/Run X/Compute Y' (this describes the METHOD the notebook used, not a request to rerun). The notebook's cell outputs are the only published authoritative answers; reimplementing or reading stale pre-computed CSVs in the data folder produces different numbers because of outlier-sample removal, library version, and filter steps you don't see by skimming. STEP 2 routing — pick a sub-skill name from this exact list (never invent): tooluniverse-rnaseq-deseq2 (RNA/miRNA-seq DE, correlation, PCA, clustering, dispersion), tooluniverse-gene-enrichment (GO/KEGG/Reactome/GSEA/pathway enrichment), tooluniverse-statistical-modeling (regression, ANOVA, ordinal/logistic, chi-square, correl
tooluniverse-drug-research
mims-harvard/tooluniverse
Comprehensive drug profiling — mechanism, primary/secondary targets, drug interactions, clinical-trial status, adverse events (FAERS), pharmacogenomics, and approval history. Use for full drug investigation reports, 'tell me about drug X' queries, and assembling drug profiles for clinicians, researchers, or regulatory work.
Popular other skills
hyperframes-cli
heygen-com/hyperframes
The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.
triage
mattpocock/skills
Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
ask-matt
mattpocock/skills
Ask which skill or flow fits your situation. A router over the skills in this repo.
to-questionnaire
mattpocock/skills
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
loop-me
mattpocock/skills
Grill me about specs for the workflows I want to build, within this workspace.