tooluniverse-gwas-drug-discovery-1294df — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited tooluniverse-gwas-drug-discovery-1294df (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
This skill bridges genetic discoveries from GWAS with drug development by:
Key insight: Targets with genetic support have 2x higher probability of clinical approval (Nelson et al., Nature Genetics 2015).
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.
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 predictionsInput: 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 contextScoring 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.
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 dataTools:
FDA_get_adverse_reactions_by_drug_name - Safety dataFDA_get_active_ingredient_info_by_drug_name - Drug compositionOpenTargets_get_drug_warnings_by_chemblId - Drug warningsMatch drug targets to new disease genes, assess mechanistic fit, check contraindications, estimate repurposing probability.
from tooluniverse import ToolUniverse
tu = ToolUniverse(use_cache=True)
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"])GWAS & Genetics:
gwas_get_associations_for_trait / gwas_search_associations / gwas_get_associations_for_snpOpenTargets_search_gwas_studies_by_disease / OpenTargets_get_variant_credible_setsTarget 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_ensemblIDDrug 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_drugsSafety & Clinical:
FDA_get_adverse_reactions_by_drug_name / FDA_get_active_ingredient_info_by_drug_nameOpenTargets_get_drug_warnings_by_chemblIdLiterature:
PubMed_search_articles / EuropePMC_search_articles / ClinicalTrials_search_studiestu.run_batch() for parallel queries across targets| 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) |
| 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 |
After identifying GWAS-linked genes, rank them by answering:
| 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 |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.