Drug Repurposing Hub Query Skill
SkillDev toolsQuery the Broad Institute Drug Repurposing Hub (~6,800 compounds). Look up drugs by name, gene target, MOA, disease area, Broad ID, or InChIKey. Returns clinical phase, mechanism of action, targets, disease area, indication, and chemical identifiers.
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Drug Repurposing Hub Query Skill skill
What this skill tells your AI
The instructions your AI receives, as published by qsong-github/drugclaw in skills/drug_repurposing/repurposing_hub/SKILL.md and read by ahel’s review.
Search the Broad Institute Drug Repurposing Hub by any entity. Auto-detects input type by pattern:
| Input Pattern | Detected As | Match Logic |
|---|---|---|
BRD-A12345678 | Broad compound ID | prefix on broad_id |
ABCDEFGHIJKLMN-OPQRSTUVWX-Y | InChIKey | exact on InChIKey |
EGFR, BRAF, TOP1 | Gene / target | exact token in target (pipe-separated) |
| anything else | free text | substring on pert_iname, moa, indication, disease_area |
API
| Function | Input | Returns |
|---|---|---|
load_drugs(path) | drug TSV path | list[dict] |
load_samples(path) | sample TSV path | list[dict] |
load_merged() | — | list[dict] (drugs + chemical IDs from samples) |
search(entity) | single entity string | list[dict] |
search_batch(entities) | list of entity strings | dict[str, list[dict]] |
summarize(hits, entity) | hits + label | compact LLM-readable text |
to_json(hits) | list[dict] | list[dict] (JSON-serialisable) |
Usage
See if __name__ == "__main__" block in 29_Drug_Repurposing_Hub.py for
runnable examples covering: drug name, gene target, MOA keyword, disease
area, batch search, and JSON output.
from importlib.machinery import SourceFileLoader
hub = SourceFileLoader("hub", "29_Drug_Repurposing_Hub.py").load_module()
# Single drug lookup
hits = hub.search("imatinib")
print(hub.summarize(hits, "imatinib"))
# Target-based search
hits = hub.search("EGFR")
# Batch
results = hub.search_batch(["metformin", "aspirin", "BRAF"])
Data
- Source: Broad Institute Drug Repurposing Hub (https://repo-hub.broadinstitute.org/repurposing)
- Drug file:
repo-drug-annotation-20200324.txt— tab-delimited,!-prefixed comment lines- Columns:
pert_iname,clinical_phase,moa,target,disease_area,indication
- Columns:
- Sample file:
repo-sample-annotation-20240610.txt— tab-delimited,!-prefixed comment lines- Columns include:
broad_id,pert_iname,InChIKey,pubchem_cid,smiles,vendor,purity, etc.
- Columns include:
- Merge: on
pert_iname; first sample with non-emptyInChIKeyis kept per drug - Path:
DATA_DIRvariable in29_Drug_Repurposing_Hub.py - Citation: Corsello SM et al. Nature Medicine 23, 405–408 (2017). doi:10.1038/nm.4306
Signals
- GitHub stars
- 116
- Forks
- 3
- Last commit
- Aug 2026
Advanced
- Item type
- skill
- Key
drug-repurposing-hub- Source
- github.com/qsong-github/drugclaw
github.com/qsong-github/drugclaw
Related picks
Skill · wshobson
The pick for Pythonpython-pro
Skill · jeffallan
The pick for Pythonrseng-notebooks
Skill · fdiblen
The pick for Notebooksnotebook.fix_logging
Skill · causify-ai
The pick for Notebooksxlsx
Skill · anthropics
The pick for Pandasspreadsheet
Skill · davila7
The pick for Pandas