skills/tooluniverse-gwas-snp-interpretation/SKILL.md
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.
npx skillsauth add mims-harvard/tooluniverse tooluniverse-gwas-snp-interpretationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
Interpret genetic variants (SNPs) from GWAS studies by aggregating evidence from multiple sources to provide comprehensive clinical and biological context.
Use Cases:
The skill provides a comprehensive interpretation of SNPs by:
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
rs_id (str): dbSNP rs identifier
include_credible_sets (bool, default=True): Query fine-mapping data
p_threshold (float, default=5e-8): Genome-wide significance thresholdmax_associations (int, default=100): Maximum associations to retrieveReturns SNPInterpretationReport containing:
{
'rs_id': 'rs7903146',
'chromosome': '10',
'position': 112998590,
'ref_allele': 'C',
'alt_allele': 'T',
'consequence': 'intron_variant',
'mapped_genes': ['TCF7L2'],
'maf': 0.293
}
[
{
'trait': 'Type 2 diabetes',
'p_value': 1.2e-128,
'beta': '0.28 unit increase',
'study_id': 'GCST010555',
'pubmed_id': '33536258',
'effect_allele': 'T'
},
...
]
[
{
'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'
},
...
]
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
See QUICK_START.md for platform-specific examples.
gwas_get_snp_by_id: Get SNP annotationgwas_get_associations_for_snp: Get all trait associationsOpenTargets_get_variant_info: Get variant details with population frequenciesOpenTargets_get_variant_credible_sets: Get fine-mapping credible sets with L2Ginclude_credible_sets=True for clinical decisionstools
Generate the success criteria for a task or question, then review work against them. Given a task, goal, or open-ended question, decompose it into scenarios, evaluation perspectives, and fine-grained weighted YES/NO criteria using the Recursive Expansion Tree (RET) method; if work is supplied, score it criterion-by-criterion and surface what is missing or could be better. Use when asked to self-review or check your own work, judge whether a task is done well or completely, build a definition-of-done or completeness checklist, create an evaluation rubric or grading criteria, score or grade answers to a question, set up an LLM-as-judge rubric, or when the user mentions self-review, completeness check, success criteria, evaluation criteria, scoring rubric, Qworld, or the RET algorithm.
tools
Find the real protein target(s) of a peptide from its sequence — peptide target deorphanization / off-target identification, for ANY target class (GPCR, ion channel, protease, cytokine/growth-factor receptor, enzyme, integrin), not only GPCRs. Use when a peptide has a phenotype but does not bind its hypothesized target, when a peptide binds a target in one species or assay but not another, or to screen candidate targets for an orphan peptide. A target-class router steers a multi-route keyless pipeline (PROSITE/ELM motif, BLAST homology, HGNC/InterPro/GPCRdb/GtoPdb target-family enumeration, OpenTargets phenotype anchor, EnsemblCompara/Alliance cross-species reconciliation) plus optional NVIDIA-NIM co-folding (Boltz2, AlphaFold2-Multimer, OpenFold3) for structural confirmation.
tools
Install or update ToolUniverse in Claude Science — create the conda env, install the tooluniverse pip package, and (re)build the tooluniverse-research skill by fetching the current workflow library from GitHub. Use for first-time setup, upgrading the ToolUniverse version, refreshing the bundled workflows after an upstream release, or reinstalling on a new machine.
tools
Install, set up, verify, update, pin, uninstall, or troubleshoot the ToolUniverse plugin on OpenAI Codex. ALWAYS consult this skill for any of those — don't answer from memory, because the exact marketplace name (mims-harvard/ToolUniverse), the "codex plugin marketplace add" then "codex plugin add -m tooluniverse" flow, Codex's startup auto-upgrade behavior, the uvx tooluniverse MCP server, and the API-key env vars are easy to get wrong. Use it whenever someone wants to get ToolUniverse (or "the 1000+ scientific tools" / "the harvard tools") working on Codex, says the Codex plugin or its tools/skills won't load, hits a uvx or MCP-server startup error, asks how Codex updates it, wants to pin or remove it, or finds it running an old tool version — even if they never say the word "plugin". Not for the Claude Code plugin (use tooluniverse-claude-code-plugin), for running research with the tools, or for authoring new tools or skills.