Kegg drug
Skill BioTender-max/awesome-bio-agent-skills/skills/drugclaw/kegg_drug
A curated collection of AI agent skills for biomedical research, covering genomics, proteomics, single-cell analysis, clinical AI, and protein design.From the repository description
npx -y skills add BioTender-max/awesome-bio-agent-skills --skill kegg_drugAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
2.6 KB, 777 tokens by cl100k_base, as published. Nobody here has run it
68 · KEGG Drug
Approved drugs — structures, targets, pathways & drug-drug interactions
Category: Drug-centric | Type: DB | Subcategory: DDI
API:https://rest.kegg.jp(free, no key required for academic use)
| Resource | URL |
|---|---|
| Homepage | https://www.genome.jp/kegg/ |
| API docs | https://www.kegg.jp/kegg/docs/keggapi.html |
| Paper | https://academic.oup.com/nar/article/38/suppl_1/D355/3112250 |
What it provides
- Drug metadata: name, formula, molecular weight, efficacy, class
- Targets: gene/protein targets for each approved drug
- Interactions (DDI): drug-drug interaction annotations
- Pathways: linked KEGG pathway IDs
Quick start
from 68_KEGG_Drug import query
# Single entity
results = query("aspirin")
# Multiple entities
results = query(["aspirin", "metformin", "imatinib"])
# By KEGG Drug ID
results = query("D00109")
# Specific fields only
results = query("warfarin", fields="targets")
results = query("warfarin", fields="interactions")
query() interface
query(entities, fields="all") -> list[dict]
| Parameter | Type | Description |
|---|---|---|
entities | str | list[str] | Drug name(s) or KEGG Drug ID(s) (e.g. "D00109") |
fields | str | "all" — full entry; "targets" — targets only; "interactions" — DDI only |
Return structure (fields="all")
[
{
"drug_id": "dr:D00109",
"query": "aspirin",
"name": "Aspirin (JP18/USP/INN); ...",
"formula": "C9H8O4",
"mol_weight": "180.0423",
"targets": ["PTGS1 ...", "PTGS2 ..."],
"interactions": ["Warfarin [precaution] ...", ...],
"pathways": ["map07112 ...", ...],
"classes": ["Analgesic ...", ...]
}
]
If a name cannot be resolved, the entry contains {"query": "xxx", "error": "No match found"}.
Lower-level functions
| Function | Input | Output | Description |
|---|---|---|---|
search(query, limit=10) | drug name/keyword | list[{id, name}] | Keyword search |
get_entry(drug_id) | KEGG Drug ID | dict | Full parsed entry |
get_targets(drug_id) | KEGG Drug ID | list[str] | Target lines |
get_interactions(drug_id) | KEGG Drug ID | list[str] | DDI lines |
Notes
- KEGG REST API is free for academic use; commercial use requires a license.
- Rate limit: no official cap, but keep requests reasonable (~1 req/sec).
- Drug IDs look like
D00109ordr:D00109; both formats accepted. - Not all drugs have interaction or target annotations — empty list means no data.
What ships with it: 5 files
17.3 KB alongside SKILL.md, 4 of them executable
- example.pyruns6.3 KB
- __init__.pyruns139 B
- kegg_drug_skill.pyruns8.4 KB
- README.md1.1 KB
- retrieve.pyruns1.4 KB