Iuphar
Skill BioTender-max/awesome-bio-agent-skills/skills/drugclaw/iuphar
Query the IUPHAR/BPS Guide to Pharmacology REST API for drug targets, ligands (drugs/compounds), and their interactions. Use whenever the user asks about pharmacological targets, receptor–ligand relationships, drug mechanisms of action, or wants to look up any drug or target name in IUPHAR. Supports single entity or batch queries. No API key required.From its SKILL.md
npx -y skills add BioTender-max/awesome-bio-agent-skills --skill iupharAssembled 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.7 KB, 634 tokens by cl100k_base, as published. Nobody here has run it
IUPHAR/BPS Guide to Pharmacology Skill
Query the expert-curated IUPHAR database for ligands (drugs/compounds), targets (receptors/enzymes/channels), and ligand–target interactions.
- Source: https://www.guidetopharmacology.org/
- API docs: https://www.guidetopharmacology.org/webServices.jsp
- Auth: None (open access)
Entity auto-detection
query_entity(name) tries ligand search first; if no hits, falls back to
target search.
| Input example | Detected as | What you get |
|---|---|---|
morphine | ligand | ligandId, type, approved status, INN … |
5-HT1A receptor | target | targetId, type, gene IDs, family IDs … |
GABA receptor | target | target info + top 10 ligand–target interactions |
API
| Function | Input | Returns |
|---|---|---|
query_entity(name) | single entity string | dict with entity, type, results, interactions |
query_entities(names) | list of entity strings | {name: result_dict} |
summarize(result) | output of query_entity | concise human-readable text |
search_ligand(name) | drug/compound name | list of ligand dicts |
get_ligand(id) | numeric ligand ID | full ligand detail dict |
search_target(name) | target name | list of target dicts |
get_target(id) | numeric target ID | full target detail dict |
get_interactions(target_id) | numeric target ID | list of interaction dicts |
Usage
from importlib.util import spec_from_file_location, module_from_spec
spec = spec_from_file_location("iuphar", "<path>/13_IUPHAR_BPS_Guide_to_Pharmacology.py")
iuphar = module_from_spec(spec); spec.loader.exec_module(iuphar)
# Single query
r = iuphar.query_entity("morphine")
print(iuphar.summarize(r))
# Batch query
results = iuphar.query_entities(["aspirin", "5-HT1A receptor"])
for name, res in results.items():
print(iuphar.summarize(res))
See if __name__ == "__main__" block in the .py file for more runnable
examples (single ligand, single target, batch, direct ID lookup).
Key fields returned
Ligand: ligandId, name, type, approved, inn, species
Target: targetId, name, abbreviation, type, familyIds, geneIds
Interaction: ligandId, targetId, action, affinityRange, affinityType, endogenous, species
What ships with it: 5 files
11.4 KB alongside SKILL.md, 4 of them executable
- example.pyruns5.7 KB
- __init__.pyruns130 B
- iuphar_skill.pyruns3.9 KB
- README.md988 B
- retrieve.pyruns766 B