
tooluniverse-gwas-drug-discovery
Transform GWAS signals into drug targets and repurposing opportunities. Connects GWAS-significant loci to causal genes via fine-mapping/eQTL, then to druggable proteins via DGIdb/OpenTargets, then to existing drugs via ChEMBL. Use for GWAS-to-target hypothesis generation, druggable-fraction analysis of disease loci, and human-genetics-validated drug-repurposing prioritization.
- Installs
- 387
- 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-drug-discovery- 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-drug-discovery 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-to-Drug Target Discovery
Transform genome-wide association studies (GWAS) into actionable drug targets and repurposing opportunities.
IMPORTANT: Always use English terms in tool calls. Respond in the user's language.
Overview
This skill bridges genetic discoveries from GWAS with drug development by:
- Identifying genetic risk factors - Finding genes associated with diseases
- Assessing druggability - Evaluating which genes can be targeted by drugs
- Prioritizing targets - Ranking candidates by genetic evidence strength
- Finding existing drugs - Discovering approved/investigational compounds
- Identifying repurposing opportunities - Matching drugs to new indications
Key insight: Targets with genetic support have 2x higher probability of clinical approval (Nelson et al., Nature Genetics 2015).
Reasoning Strategy
GWAS-to-drug translation succeeds when you think causally. A genetic association provides causal direction that observational data cannot: if a loss-of-function variant protects against disease, an inhibitor of that gene's product is the hypothesis to test. The direction of effect (LOF vs. GOF) determines whether you need an inhibitor or an agonist — get this wrong and the drug works backwards. GWAS effect sizes are small (odds ratios of 1.1–1.5 are typical), but the drug effect may be much larger or smaller than the genetic effect; the genetic signal validates the target, not the dose. Always integrate multiple lines of evidence (eQTL colocalization, pQTL, L2G score) before committing to a target, because many GWAS variants tag the causal gene only indirectly.
LOOK UP DON'T GUESS: Do not assume which gene a GWAS variant implicates — use OpenTargets_get_variant_credible_sets or gwas_get_associations_for_snp to get the actual mapped gene and L2G score. Do not guess the direction of effect, odds ratio, or whether a drug already exists for the target; always query the tools.
Workflow Steps
Step 1: GWAS Gene Discovery
Input: Disease/trait name (e.g., "type 2 diabetes", "Alzheimer disease")
Process: Query GWAS Catalog for associations, filter by significance (p < 5x10^-8), map variants to genes, aggregate evidence.
Tools:
gwas_get_associations_for_trait- Get associations by diseasegwas_search_associations- Flexible searchgwas_get_associations_for_snp- SNP-specific associationsOpenTargets_search_gwas_studies_by_disease- Curated GWAS dataOpenTargets_get_variant_credible_sets- Fine-mapped loci with L2G predictions
Step 2: Druggability Assessment
Input: Gene list from Step 1
Process: Check target class, assess tractability, evaluate safety, check for tool compounds or structures.
Tools:
OpenTargets_get_target_tractability_by_ensemblID- Druggability assessmentOpenTargets_get_target_classes_by_ensemblID- Target classificationOpenTargets_get_target_safety_profile_by_ensemblID- Safety dataOpenTargets_get_target_genomic_location_by_ensemblID- Genomic context
Step 3: Target Prioritization
Scoring Formula:
Target Score = (GWAS Score x 0.4) + (Druggability x 0.3) + (Clinical Evidence x 0.2) + (Novelty x 0.1)
Rank targets by composite score. Generate target dossiers.
Step 4: Existing Drug Search
Process: Search drug-target associations, find approved drugs and clinical candidates, get MOA and indication data.
Tools:
OpenTargets_get_associated_drugs_by_disease_efoId- Known drugs for diseaseOpenTargets_get_drug_mechanisms_of_action_by_chemblId- Drug MOAChEMBL_get_target_activities- Bioactivity dataChEMBL_get_drug_mechanisms/ChEMBL_search_drugs- Drug data
Step 5: Clinical Evidence & Safety
Tools:
FDA_get_adverse_reactions_by_drug_name- Safety dataFDA_get_active_ingredient_info_by_drug_name- Drug compositionOpenTargets_get_drug_warnings_by_chemblId- Drug warnings
Step 6: Repurposing Opportunities
Match drug targets to new disease genes, assess mechanistic fit, check contraindications, estimate repurposing probability.
Quick Start
from tooluniverse import ToolUniverse
tu = ToolUniverse()
tu.load_tools()
# Step 1: Get GWAS associations (use disease_trait not trait; no p_value_threshold param)
associations = tu.tools.gwas_get_associations_for_trait(disease_trait="type 2 diabetes")
# Step 2: Assess druggability (ensemblId lowercase d)
tractability = tu.tools.OpenTargets_get_target_tractability_by_ensemblID(ensemblId="ENSG00000148737")
# Step 3: Find existing drugs per target via DGIdb (OpenTargets drug query may return HTTP 400)
drugs = tu.tools.DGIdb_get_drug_gene_interactions(genes=["TCF7L2"])
All Tools by Category
GWAS & Genetics:
gwas_get_associations_for_trait/gwas_search_associations/gwas_get_associations_for_snpOpenTargets_search_gwas_studies_by_disease/OpenTargets_get_variant_credible_sets
Target Assessment:
OpenTargets_get_target_tractability_by_ensemblID/OpenTargets_get_target_classes_by_ensemblIDOpenTargets_get_target_safety_profile_by_ensemblID/OpenTargets_get_target_genomic_location_by_ensemblID
Drug Discovery:
OpenTargets_get_associated_drugs_by_disease_efoId/OpenTargets_get_drug_mechanisms_of_action_by_chemblIdChEMBL_get_target_activities/ChEMBL_get_drug_mechanisms/ChEMBL_search_drugs
Safety & Clinical:
FDA_get_adverse_reactions_by_drug_name/FDA_get_active_ingredient_info_by_drug_nameOpenTargets_get_drug_warnings_by_chemblId
Literature:
PubMed_search_articles/EuropePMC_search_articles/ClinicalTrials_search_studies
Best Practices
- Multi-ancestry GWAS: Include trans-ethnic meta-analyses for robust signals
- Functional validation: Confirm with eQTL, pQTL, colocalization analysis
- Network analysis: Group GWAS hits by pathway (KEGG, Reactome)
- Safety assessment: Check gnomAD pLI, GTEx expression, PharmaGKB
- Batch operations: Use
tu.run_batch()for parallel queries across targets
Parameter Gotchas
| Issue | Wrong | Correct |
|---|---|---|
| GWAS trait param | gwas_get_associations_for_trait(trait=...) | disease_trait=... (no trait param exists) |
| GWAS p-value filter | p_value_threshold=5e-8 | No such param; filter client-side after fetching results |
| OpenTargets ensembl case | ensemblID="ENSG..." | ensemblId="ENSG..." (lowercase 'd') |
| ClinicalTrials tool name | ClinicalTrials_search_studies(...) | ClinicalTrials_search_studies(...) |
| DGIdb tool name | DGIdb_get_drug_gene_interactions(...) | DGIdb_get_drug_gene_interactions(genes=[...]) |
| OpenTargets disease drugs | OpenTargets_get_associated_drugs_by_disease_efoId may return HTTP 400 | Fall back to DGIdb_get_drug_gene_interactions per gene |
| GWAS study search param | gwas_search_studies(disease_trait=...) | Use efo_trait=... for studies (disease_trait works for associations only) |
Interpretation: From GWAS Hit to Drug Target
GWAS Signal Strength Assessment
| Signal Quality | Criteria | Drug Discovery Value |
|---|---|---|
| Gold standard | Genome-wide significant (p < 5e-8), replicated across ancestries, L2G > 0.5, eQTL colocalized | Highest priority — genetic causality established |
| Strong | Genome-wide significant, L2G > 0.3, biological plausibility | High priority — pursue with functional validation |
| Moderate | Suggestive (p < 1e-5), or significant but no fine-mapping | Medium — needs additional evidence before investment |
| Weak | Single study, no replication, low L2G, no functional support | Low — hypothesis generating only |
Target Prioritization Decision Tree
After identifying GWAS-linked genes, rank them by answering:
-
Is the gene druggable? (DGIdb category: kinase/GPCR/ion channel = yes; transcription factor/scaffold = harder)
- If approved drug exists → REPURPOSING opportunity (fastest path)
- If druggable but no drug → NOVEL TARGET (standard drug discovery)
- If not druggable → consider antisense/PROTAC/genetic medicine
-
Is the genetic direction clear?
- LOF variants increase disease risk → need an AGONIST or gene therapy
- GOF variants increase disease risk → need an INHIBITOR (typical small molecule)
- Direction unclear → need functional studies before drug design
-
What's the effect size? (Odds ratio from GWAS)
- OR > 2.0: strong effect, likely penetrant → Mendelian-like, high confidence
- OR 1.2-2.0: moderate, common in complex disease → validate with independent data
- OR < 1.2: small effect → may not be clinically meaningful alone
-
Is there clinical precedent?
- Drug for same target approved for ANY disease → safety data exists → lower risk
- Drug in clinical trials → partial de-risking
- No precedent → full de novo development risk
Troubleshooting
| Problem | Solution |
|---|---|
| No GWAS hits for disease | Try broader trait name, check synonyms, use OpenTargets |
| Gene not in druggable class | Consider antibody/antisense modalities, check pathway neighbors |
| No existing drugs for target | Target may be novel - check tool compounds in ChEMBL |
| Low L2G score | Variants may be regulatory - check eQTL/pQTL evidence |
Reference Files
- REFERENCE.md - Detailed concepts, druggability tiers, clinical translation, limitations, ethics
- EXAMPLES.md - Use cases (Huntington's, Alzheimer's, diabetes) with success stories
- REPORT_TEMPLATE.md - Output report template with scoring criteria
- PROCEDURES.md - Step-by-step implementation procedures
- QUICK_START.md - Quick start guide
- Related skills: tooluniverse-drug-repurposing, disease-intelligence-gatherer, tooluniverse-sdk
FAQ
What does the tooluniverse-gwas-drug-discovery skill do?
Transform GWAS signals into drug targets and repurposing opportunities. Connects GWAS-significant loci to causal genes via fine-mapping/eQTL, then to druggable proteins via DGIdb/OpenTargets, then to existing drugs via ChEMBL. Use for GWAS-to-target hypothesis generation, druggable-fraction analysis of disease loci, and human-genetics-validated drug-repurposing prioritization.
How do I install tooluniverse-gwas-drug-discovery?
Run npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-gwas-drug-discovery 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-drug-discovery/ (personal) or .claude/skills/tooluniverse-gwas-drug-discovery/ (project).
Which AI agents can use tooluniverse-gwas-drug-discovery?
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-drug-discovery 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-drug-discovery?
It is published by mims-harvard in mims-harvard/tooluniverse. It has 387 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.