tooluniverse-drug-repurposing-17d64d — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited tooluniverse-drug-repurposing-17d64d (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.
Systematically identify and evaluate drug repurposing candidates using multiple computational strategies.
IMPORTANT: Always use English terms in tool calls. Respond in the user's language.
Start by asking: WHY might this drug work for a new disease? Three strategies:
Each strategy uses different tools and has different evidentiary weight. Identify which strategy applies FIRST, then choose the corresponding workflow below. Do not run all three strategies blindly — reason about which is most plausible given the drug's mechanism.
LOOK UP DON'T GUESS: Never assume a drug hits a target, never assume a target is disease-relevant, never assume pathway overlap. Verify each link with tool calls.
Phase 1: Disease & Target Analysis
Get disease info (OpenTargets), find associated targets, get target details
Phase 2: Drug Discovery
Search DrugBank, DGIdb, ChEMBL for drugs targeting disease-associated genes
Get drug details, indications, pharmacology
Phase 3: Safety & Feasibility Assessment
FDA warnings, FAERS adverse events, drug interactions, ADMET predictions
Phase 4: Literature Evidence
PubMed, Europe PMC, clinical trials for existing evidence
Phase 5: Scoring & Ranking
Composite score: target association + safety + literature + drug propertiesSee: PROCEDURES.md for detailed step-by-step procedures and code patterns.
from tooluniverse import ToolUniverse
tu = ToolUniverse()
tu.load_tools()
# Step 1: Get disease targets
disease_info = tu.tools.OpenTargets_get_disease_id_description_by_name(diseaseName="rheumatoid arthritis")
# Response nests ID at data.search.hits[0].id
disease_id = disease_info['data']['search']['hits'][0]['id']
targets = tu.tools.OpenTargets_get_associated_targets_by_disease_efoId(efoId=disease_id, limit=10)
# Step 2: Find drugs for each target
# Response nests targets at data.disease.associatedTargets.rows
rows = targets['data']['disease']['associatedTargets']['rows']
for target in rows[:5]:
gene = target['target']['approvedSymbol']
drugs = tu.tools.DGIdb_get_drug_gene_interactions(genes=[gene])Disease & Target:
OpenTargets_get_disease_id_description_by_name - Disease lookupOpenTargets_get_associated_targets_by_disease_efoId - Disease targetsUniProt_get_entry_by_accession - Protein detailsDrug Discovery:
drugbank_get_drug_name_and_description_by_target_name - Drugs by target. Param: `query=` (NOT `target_name=`)drugbank_get_drug_name_and_description_by_indication - Drugs by indication. Param: `query=` (NOT `indication=`)DGIdb_get_drug_gene_interactions - Drug-gene interactions. Response path: data.data.genes.nodes[0].interactionsChEMBL_search_drugs / ChEMBL_get_drug_mechanisms - Drug search and MOADrug Information (ALL DrugBank tools use query= as the search parameter, plus case_sensitive=False, exact_match=False, limit=N):
drugbank_get_drug_basic_info_by_drug_name_or_id - Basic info. Param: `query="drug_name"`drugbank_get_indications_by_drug_name_or_drugbank_id - Approved indications. Param: `query="drug_name"`drugbank_get_pharmacology_by_drug_name_or_drugbank_id - Pharmacology. Param: `query="drug_name"`drugbank_get_targets_by_drug_name_or_drugbank_id - Drug targets. Param: `query="drug_name"`Safety:
FDA_get_warnings_and_cautions_by_drug_name - FDA warningsFAERS_search_reports_by_drug_and_reaction - Adverse events. Param: `medicinalproduct=` (NOT `drug_name=`)FAERS_count_death_related_by_drug - Serious outcomes. Param: `medicinalproduct=` (NOT `drug_name=`)drugbank_get_drug_interactions_by_drug_name_or_id - InteractionsProperty Prediction:
ADMETAI_predict_physicochemical_properties / ADMETAI_predict_toxicity - ADMET and toxicityPathway & Network Analysis:
ReactomeAnalysis_pathway_enrichment - Pathway enrichment. Param: `identifiers="SOD1\nTARDBP\nFUS"` (newline-separated string, NOT array)STRING_get_network - Protein interaction networks. Param: `identifiers="SOD1\rTARDBP\rFUS"` (CR-separated string), `species=9606`CTD_get_gene_diseases - Curated gene-disease associations. Param: `input_terms="gene_symbol"` (NOT `gene_symbol=`)Literature & Clinical Trials:
PubMed_search_articles / EuropePMC_search_articles - Literature searchsearch_clinical_trials - ClinicalTrials.gov search. Use condition for disease name. The intervention filter is strict and may miss trials — use query_term for broader drug-name matching as fallback.CNS diseases note: For neurological indications (ALS, Alzheimer's, Parkinson's), prioritize BBB-penetrant candidates. Use ChEMBL molecular properties (MW < 500, PSA < 90) as BBB proxy sinceADMETAI_predict_BBB_penetrancemay require thetooluniverse[ml]extra. Consider route of administration (oral preferred for patients with swallowing difficulty) and sex-specific effects from preclinical models.
| Category | Points | How to Score |
|---|---|---|
| Target Association | 0-40 | 40: Target has genetic evidence in disease (GWAS, rare variants); 25: Target is in a disease-associated pathway (Reactome, KEGG); 15: Target is differentially expressed in disease tissue; 5: Target shares a GO term with disease genes |
| Safety Profile | 0-30 | 30: FDA-approved drug, no black box warning, established safety record; 20: FDA-approved with manageable warnings; 10: Phase II+ data, acceptable safety; 0: Preclinical only or serious safety signals |
| Literature Evidence | 0-20 | 20: Phase II+ trial for the new indication exists; 15: Case reports or retrospective studies show efficacy; 10: Preclinical in-vivo evidence (animal models); 5: In-vitro evidence only; 0: No prior evidence |
| Drug Properties | 0-10 | 10: Oral, good bioavailability, IP available; 5: Injectable or narrow therapeutic window; 0: Poor PK or formulation challenges |
Classification:
| Grade | Definition | Action |
|---|---|---|
| E1 (Clinical) | Existing clinical trial for new indication (any phase) | High priority — check trial results |
| E2 (Epidemiological) | Retrospective/observational data showing benefit | Moderate priority — design prospective study |
| E3 (Preclinical) | Animal model evidence for new indication | Standard priority — validate mechanism |
| E4 (Computational) | Target overlap, network proximity, or molecular similarity only | Low priority — needs experimental validation |
After running Phases 1-4, synthesize by answering:
search_clinical_trials first.search_clinical_trials(condition="[disease]", intervention="[drug]") — if a trial already exists, start thereA drug that hits a new target only at 100x its approved dose is NOT a viable repurposing candidate. Use this procedure after identifying drug-target pairs:
# Drug-target dose feasibility analysis
# Uses ChEMBL bioactivity data from ToolUniverse
from tooluniverse import ToolUniverse
tu = ToolUniverse()
tu.load_tools()
def check_dose_feasibility(drug_name, original_target, new_target):
"""
Compare drug's potency at original vs new target.
If new_target IC50 > 10x original_target IC50, flag as unlikely feasible.
"""
# Get bioactivity for original target
orig = tu.run_one_function({
'name': 'ChEMBL_get_bioactivities',
'arguments': {
'molecule_chembl_id': drug_name, # or search first
'target_chembl_id': original_target,
'limit': 10
}
})
# Get bioactivity for new target
new = tu.run_one_function({
'name': 'ChEMBL_get_bioactivities',
'arguments': {
'molecule_chembl_id': drug_name,
'target_chembl_id': new_target,
'limit': 10
}
})
# Extract IC50/Ki values and compare
# If new target requires >10x concentration → NOT FEASIBLE at safe doses
# If new target is within 3x → PROMISING
# If new target is within 1x → STRONG candidate
pass # Parse actual values from results
# Alternative: Quick Cmax check
# If published Cmax at approved dose < IC50 for new target → NOT FEASIBLE
# Cmax data can be found in:
# - DrugBank pharmacology section
# - DailyMed clinical pharmacology section
# - PubMed PK studiesKey principle: The most common reason repurposing fails is insufficient drug exposure at the new target. Always check whether the drug's concentration at approved doses reaches the IC50 for the new target.
| Problem | Solution |
|---|---|
| Disease not found | Try synonyms or EFO ID lookup |
| No drugs for target | Check HUGO nomenclature, expand to pathway-level, try similar targets |
| Insufficient literature | Search drug class instead, check preclinical/animal studies |
| Safety data unavailable | Drug may not be US-approved, check EMA or clinical trial safety |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.