tooluniverse-drug-repurposing

Drug Repurposing with ToolUniverse

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "tooluniverse-drug-repurposing" with this command: npx skills add wu-yc/labclaw/wu-yc-labclaw-tooluniverse-drug-repurposing

Drug Repurposing with ToolUniverse

Systematically identify and evaluate drug repurposing candidates using multiple computational strategies.

IMPORTANT: Always use English terms in tool calls (drug names, disease names, target names), even if the user writes in another language. Only try original-language terms as a fallback if English returns no results. Respond in the user's language.

Core Strategies

  1. Target-Based Repurposing

Start with disease targets → Find drugs that modulate those targets

  1. Compound-Based Repurposing

Start with approved drugs → Find new disease indications

  1. Disease-Driven Repurposing

Start with disease → Find targets → Match to existing drugs

Quick Start

from tooluniverse import ToolUniverse

tu = ToolUniverse(use_cache=True) tu.load_tools()

Example: Find repurposing candidates for a disease

disease_name = "rheumatoid arthritis"

Step 1: Get disease information

disease_info = tu.tools.OpenTargets_get_disease_id_description_by_name( diseaseName=disease_name )

Step 2: Get associated targets

disease_id = disease_info['data']['id'] targets = tu.tools.OpenTargets_get_associated_targets_by_disease_efoId( efoId=disease_id, limit=10 )

Step 3: Find drugs for each target

for target in targets['data'][:5]: drugs = tu.tools.DGIdb_get_drug_gene_interactions( gene_name=target['gene_symbol'] ) # Evaluate each drug candidate...

Complete Workflow

Phase 1: Disease & Target Analysis

1.1 Get disease information

disease_info = tu.tools.OpenTargets_get_disease_id_description_by_name( diseaseName="[disease_name]" )

1.2 Find associated targets

targets = tu.tools.OpenTargets_get_associated_targets_by_disease_efoId( efoId=disease_info['data']['id'], limit=20 )

1.3 Get target details for top candidates

target_details = [] for target in targets['data'][:10]: details = tu.tools.UniProt_get_entry_by_accession( accession=target['uniprot_id'] ) target_details.append(details)

Phase 2: Drug Discovery

2.1 Find drugs targeting disease-associated targets

drug_candidates = []

for target in targets['data'][:10]: # Search DrugBank drugbank_results = tu.tools.drugbank_get_drug_name_and_description_by_target_name( target_name=target['gene_symbol'] )

# Search DGIdb
dgidb_results = tu.tools.DGIdb_get_drug_gene_interactions(
    gene_name=target['gene_symbol']
)

# Search ChEMBL
chembl_results = tu.tools.ChEMBL_search_drugs(
    query=target['gene_symbol'],
    limit=10
)

drug_candidates.extend([drugbank_results, dgidb_results, chembl_results])

2.2 Get drug details

for drug_name in unique_drugs: # Get DrugBank info drug_info = tu.tools.drugbank_get_drug_basic_info_by_drug_name_or_id( drug_name_or_drugbank_id=drug_name )

# Get current indications
indications = tu.tools.drugbank_get_indications_by_drug_name_or_drugbank_id(
    drug_name_or_drugbank_id=drug_name
)

# Get pharmacology
pharmacology = tu.tools.drugbank_get_pharmacology_by_drug_name_or_drugbank_id(
    drug_name_or_drugbank_id=drug_name
)

Phase 3: Safety & Feasibility Assessment

3.1 Check FDA safety data

for drug in top_candidates: # Get warnings and precautions warnings = tu.tools.FDA_get_warnings_and_cautions_by_drug_name( drug_name=drug['name'] )

# Get adverse event reports
adverse_events = tu.tools.FAERS_search_reports_by_drug_and_reaction(
    drug_name=drug['name'],
    limit=100
)

# Get drug interactions
interactions = tu.tools.drugbank_get_drug_interactions_by_drug_name_or_id(
    drug_name_or_id=drug['name']
)

3.2 Assess ADMET properties (for novel formulations)

for drug in top_candidates: if 'smiles' in drug: admet = tu.tools.ADMETAI_predict_admet( smiles=drug['smiles'], use_cache=True )

Phase 4: Literature Evidence

4.1 Search for existing evidence

for drug in top_candidates: # PubMed search query = f"{drug['name']} AND {disease_name}" pubmed_results = tu.tools.PubMed_search_articles( query=query, max_results=50 )

# Europe PMC search
pmc_results = tu.tools.EuropePMC_search_articles(
    query=query,
    limit=50
)

# Clinical trials
trials = tu.tools.ClinicalTrials_search(
    condition=disease_name,
    intervention=drug['name']
)

Phase 5: Scoring & Ranking

Create a scoring function to rank candidates:

def score_repurposing_candidate(drug, target_score, safety_data, literature_count): """Score drug repurposing candidate (0-100).""" score = 0

# Target association strength (0-40 points)
score += min(target_score * 40, 40)

# Safety profile (0-30 points)
if drug['approval_status'] == 'approved':
    score += 20
elif drug['approval_status'] == 'clinical':
    score += 10

if not safety_data.get('black_box_warning'):
    score += 10

# Literature evidence (0-20 points)
score += min(literature_count / 5 * 20, 20)

# Drug-likeness (0-10 points)
if drug.get('bioavailability') == 'high':
    score += 10

return score

Score all candidates

scored_candidates = [] for drug in drug_candidates: score = score_repurposing_candidate( drug=drug, target_score=drug['target_association_score'], safety_data=drug['safety_profile'], literature_count=drug['supporting_papers'] ) drug['repurposing_score'] = score scored_candidates.append(drug)

Sort by score

ranked_candidates = sorted( scored_candidates, key=lambda x: x['repurposing_score'], reverse=True )

Alternative Strategies

Strategy A: Mechanism-Based Repurposing

Find drugs with similar mechanism of action

known_drug = "metformin"

Get mechanism

moa = tu.tools.drugbank_get_drug_desc_pharmacology_by_moa( mechanism_of_action="[moa_term]" )

Get similar drugs

similar = tu.tools.ChEMBL_search_similar_molecules( query=known_drug, similarity_threshold=70 )

Strategy B: Network-Based Repurposing

Use pathway analysis

pathways = tu.tools.drugbank_get_pathways_reactions_by_drug_or_id( drug_name_or_drugbank_id="[drug_name]" )

Find drugs affecting same pathways

pathway_drugs = tu.tools.drugbank_get_drug_name_and_description_by_pathway_name( pathway_name=pathways['data'][0]['pathway_name'] )

Strategy C: Phenotype-Based Repurposing

Search by indication/phenotype

indication_drugs = tu.tools.drugbank_get_drug_name_and_description_by_indication( indication="[related_indication]" )

Analyze adverse events as therapeutic effects

Example: minoxidil (hypertension) → hair growth

adverse_as_therapeutic = tu.tools.FAERS_search_reports_by_drug_and_reaction( drug_name="[drug_name]", limit=1000 )

Key ToolUniverse Tools

Disease & Target Tools:

  • OpenTargets_get_disease_id_description_by_name

  • Disease lookup

  • OpenTargets_get_associated_targets_by_disease_efoId

  • Disease targets

  • UniProt_get_entry_by_accession

  • Protein details

Drug Discovery Tools:

  • drugbank_get_drug_name_and_description_by_target_name

  • Drugs by target

  • drugbank_get_drug_name_and_description_by_indication

  • Drugs by indication

  • DGIdb_get_drug_gene_interactions

  • Drug-gene interactions

  • ChEMBL_search_drugs

  • Drug search

  • ChEMBL_get_drug_mechanisms

  • Mechanism of action

Drug Information Tools:

  • drugbank_get_drug_basic_info_by_drug_name_or_id

  • Basic drug info

  • drugbank_get_indications_by_drug_name_or_drugbank_id

  • Approved indications

  • drugbank_get_pharmacology_by_drug_name_or_drugbank_id

  • Pharmacology

  • drugbank_get_targets_by_drug_name_or_drugbank_id

  • Drug targets

Safety Assessment Tools:

  • FDA_get_warnings_and_cautions_by_drug_name

  • FDA warnings

  • FAERS_search_reports_by_drug_and_reaction

  • Adverse events

  • FAERS_count_death_related_by_drug

  • Serious outcomes

  • drugbank_get_drug_interactions_by_drug_name_or_id

  • Interactions

Property Prediction Tools:

  • ADMETAI_predict_admet

  • ADMET properties

  • ADMETAI_predict_toxicity

  • Toxicity prediction

Literature Tools:

  • PubMed_search_articles

  • PubMed search

  • EuropePMC_search_articles

  • Europe PMC search

  • ClinicalTrials_search

  • Clinical trials

Output Format

Present results as ranked candidates:

Drug Repurposing Analysis: [Disease Name]

Top 10 Repurposing Candidates

1. [Drug Name] (Score: 87/100)

Current Indications: [list approved uses] Proposed Indication: [new disease/condition] Repurposing Rationale: Targets [gene/protein] with high association to disease

Evidence Summary:

  • Target association score: 0.85
  • Approval status: FDA approved (safer profile)
  • Literature support: 23 papers, 4 clinical trials
  • Safety profile: No black box warnings

Mechanism: [Brief mechanism description]

Next Steps:

  • Phase II trial feasibility assessment
  • Patient population identification
  • Dosing optimization study

Key Papers:

  1. Smith et al. 2024 - Clinical efficacy in similar condition
  2. Jones et al. 2023 - Mechanism validation

2. [Drug Name] (Score: 79/100)

[Similar structure...]

Supporting Analysis

Target Network: [visualization or description] Pathway Overlap: [affected pathways] Safety Considerations: [major concerns] Development Timeline: [estimated phases]

Scoring Criteria

Target Association (0-40 points):

  • Strong genetic evidence: 40

  • Moderate association: 25

  • Pathway-level evidence: 15

  • Weak/predicted: 5

Safety Profile (0-30 points):

  • FDA approved: 20

  • Phase III: 15

  • Phase II: 10

  • Phase I: 5

  • No black box warning: +10

  • Known serious AE: -10

Literature Evidence (0-20 points):

  • Clinical trials: 5 points each (max 15)

  • Preclinical studies: 1 point each (max 10)

  • Case reports: 0.5 points each (max 5)

Drug Properties (0-10 points):

  • High bioavailability: 5

  • Good BBB penetration (if CNS): 5

  • Low toxicity predictions: 5

Best Practices

  • Start Broad: Query multiple databases (DrugBank, ChEMBL, DGIdb)

  • Validate Targets: Confirm target-disease associations in OpenTargets

  • Check Safety First: Prioritize approved drugs with known safety profiles

  • Literature Mining: Always search for existing clinical/preclinical evidence

  • Use Caching: Enable use_cache=True for expensive predictions

  • Batch Operations: Use tu.run_batch() for parallel queries

  • Consider Mechanism: Evaluate biological plausibility

  • Patent Landscape: Check if indication is already protected

  • Market Analysis: Consider unmet medical need and commercial viability

  • Regulatory Path: FDA approved drugs have faster repurposing path

Common Patterns

Pattern 1: Rapid Screening

Quick screening of 100+ drugs against disease targets

targets = get_disease_targets(disease_id)[:10] all_drugs = []

for target in targets: drugs = tu.tools.DGIdb_get_drug_gene_interactions( gene_name=target['gene_symbol'] ) all_drugs.extend(drugs)

Filter to FDA approved only

approved_drugs = [d for d in all_drugs if d.get('approved')]

Pattern 2: Deep Dive Single Drug

Comprehensive analysis of one drug candidate

drug_name = "metformin"

Get everything

info = tu.tools.drugbank_get_drug_basic_info_by_drug_name_or_id(drug_name_or_drugbank_id=drug_name) targets = tu.tools.drugbank_get_targets_by_drug_name_or_drugbank_id(drug_name_or_drugbank_id=drug_name) indications = tu.tools.drugbank_get_indications_by_drug_name_or_drugbank_id(drug_name_or_drugbank_id=drug_name) pharmacology = tu.tools.drugbank_get_pharmacology_by_drug_name_or_drugbank_id(drug_name_or_drugbank_id=drug_name) interactions = tu.tools.drugbank_get_drug_interactions_by_drug_name_or_id(drug_name_or_id=drug_name) warnings = tu.tools.FDA_get_warnings_and_cautions_by_drug_name(drug_name=drug_name) papers = tu.tools.PubMed_search_articles(query=f"{drug_name} AND [new_disease]", max_results=100)

Pattern 3: Comparative Analysis

Compare multiple candidates side-by-side

candidates = ["drug_a", "drug_b", "drug_c"]

comparison = [] for drug in candidates: data = { 'name': drug, 'info': tu.tools.drugbank_get_drug_basic_info_by_drug_name_or_id(drug_name_or_drugbank_id=drug), 'safety': tu.tools.FDA_get_warnings_and_cautions_by_drug_name(drug_name=drug), 'evidence': tu.tools.PubMed_search_articles(query=drug, max_results=10) } comparison.append(data)

Troubleshooting

"Disease not found":

  • Try disease synonyms or EFO ID lookup

  • Use broader disease categories

"No drugs found for target":

  • Check target name/symbol (HUGO nomenclature)

  • Expand to pathway-level drugs

  • Consider similar targets (protein family)

"Insufficient literature evidence":

  • Search for drug class rather than specific drug

  • Check preclinical/animal studies

  • Look for mechanism papers

"Safety data unavailable":

  • Drug may not be FDA approved in US

  • Check EMA or other regulatory databases

  • Review clinical trial safety data

Example Use Cases

Use Case 1: Find repurposing candidates for rare disease

Rare disease often lack approved drugs

Strategy: Find drugs targeting same pathways as related common diseases

rare_disease = "Niemann-Pick disease" related_disease = "Alzheimer's disease" # Similar pathology

Get pathways affected in related disease

targets = tu.tools.OpenTargets_get_associated_targets_by_disease_efoId( efoId=related_disease_id )

Find drugs for those targets

Evaluate for rare disease applicability

Use Case 2: Repurpose based on adverse effects

Adverse effect in one context = therapeutic in another

Example: Thalidomide (teratogenic) → cancer treatment

drug = "drug_name" adverse_events = tu.tools.FAERS_search_reports_by_drug_and_reaction( drug_name=drug, limit=1000 )

Analyze if adverse effects beneficial in other contexts

Example: weight loss AE → obesity treatment potential

Use Case 3: Combination therapy discovery

Find drugs that complement existing therapy

primary_drug = "existing_therapy" disease = "disease_name"

Get targets not covered by primary drug

disease_targets = tu.tools.OpenTargets_get_associated_targets_by_disease_efoId( efoId=disease_id )

primary_targets = tu.tools.drugbank_get_targets_by_drug_name_or_drugbank_id( drug_name_or_drugbank_id=primary_drug )

Find drugs for uncovered targets

uncovered_targets = [t for t in disease_targets if t not in primary_targets]

Advanced Techniques

Technique 1: Polypharmacology-Based Repurposing

Find drugs with multi-target activity matching disease network

Get disease network

targets = tu.tools.OpenTargets_get_associated_targets_by_disease_efoId( efoId=disease_id, limit=50 )

For each drug, count how many disease targets it hits

for drug in candidate_drugs: drug_targets = tu.tools.drugbank_get_targets_by_drug_name_or_drugbank_id( drug_name_or_drugbank_id=drug )

overlap = len(set(drug_targets) & set(disease_targets))
if overlap >= 3:  # Multi-target match
    print(f"{drug}: hits {overlap} disease targets")

Technique 2: Structure-Based Repurposing

Find structurally similar approved drugs

known_active = "known_active_compound"

Get structure

cid = tu.tools.PubChem_get_CID_by_compound_name( compound_name=known_active )

Find similar

similar = tu.tools.PubChem_search_compounds_by_similarity( cid=cid['data']['cid'], threshold=85 )

Check which are approved drugs

for compound in similar['data']: drug_info = tu.tools.PubChem_get_drug_label_info_by_CID( cid=compound['cid'] )

Technique 3: AI-Powered Candidate Selection

Use ML predictions to filter candidates

candidates_with_smiles = get_candidates_with_structures()

Predict ADMET for all

admet_results = [] for drug in candidates_with_smiles: admet = tu.tools.ADMETAI_predict_admet( smiles=drug['smiles'], use_cache=True ) admet_results.append({ 'drug': drug['name'], 'admet': admet, 'pass': evaluate_admet_criteria(admet) })

Keep only drugs passing ADMET criteria

viable_candidates = [r for r in admet_results if r['pass']]

Resources

For comprehensive disease analysis, see disease-intelligence-gatherer skill.

For compound property analysis, see chemical-compound-retrieval skill.

For detailed ToolUniverse SDK usage, see tooluniverse-sdk skill.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

drug-labels-search

No summary provided by upstream source.

Repository SourceNeeds Review
General

drugbank-database

No summary provided by upstream source.

Repository SourceNeeds Review
General

rowan

No summary provided by upstream source.

Repository SourceNeeds Review
General

tooluniverse-drug-target-validation

No summary provided by upstream source.

Repository SourceNeeds Review