Chembl
Skill BioTender-max/awesome-bio-agent-skills/skills/drugclaw/chembl
Query the ChEMBL database for drug molecules, bioactivity data, and drug targets via the ChEMBL REST API. Use whenever the user asks about drug properties (molecular weight, logP, Lipinski violations), drug-target interactions, bioactivity assay results, or wants to look up any entity by ChEMBL ID or drug/gene name in ChEMBL. 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 chemblAssembled 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.5 KB, 622 tokens by cl100k_base, as published. Nobody here has run it
ChEMBL Query Skill
Query ChEMBL bioactivity database for molecules, targets, and activity data. Auto-detects input type by prefix:
| Input Pattern | Detected As | Action |
|---|---|---|
CHEMBL25 | ChEMBL ID (molecule) | direct fetch by ID |
aspirin | drug name | substring search on pref_name |
CHEMBL203 | ChEMBL ID (target) | direct fetch by ID |
EGFR | gene/protein name | substring search on target_synonym |
API
| Function | Input | Returns |
|---|---|---|
query_molecules(entities, limit) | str or list[str] — ChEMBL IDs or drug names | dict[str, list[dict]] |
query_targets(entities, limit) | str or list[str] — ChEMBL IDs or gene names | dict[str, list[dict]] |
query_bioactivities(chembl_ids, limit) | str or list[str] — molecule ChEMBL IDs | dict[str, list[dict]] |
summarize_molecule(mol) | single molecule dict | compact one-line string |
summarize_activity(act) | single activity dict | compact one-line string |
summarize_target(tgt) | single target dict | compact one-line string |
Usage
See if __name__ == "__main__" block in chembl_query.py for runnable examples covering:
- Single molecule by ID —
query_molecules("CHEMBL25") - Batch molecule search by name —
query_molecules(["ibuprofen", "metformin"], limit=3) - Bioactivities for multiple molecules —
query_bioactivities(["CHEMBL25", "CHEMBL1642"], limit=3) - Single target by gene name —
query_targets("EGFR", limit=3) - Batch target lookup by ID —
query_targets(["CHEMBL203", "CHEMBL204"])
Key Fields
Molecule: molecule_chembl_id, pref_name, molecule_properties.full_mwt, molecule_properties.alogp, molecule_properties.num_ro5_violations
Activity: molecule_chembl_id, target_chembl_id, target_pref_name, standard_type, standard_value, standard_units
Target: target_chembl_id, pref_name, target_type, organism
Data Source
- API:
https://www.ebi.ac.uk/chembl/api/data(no key required) - Paper: https://doi.org/10.1093/nar/gkad1004
What ships with it: 5 files
21.5 KB alongside SKILL.md, 4 of them executable
- chembl_skill.pyruns11.3 KB
- example.pyruns7.5 KB
- __init__.pyruns130 B
- README.md1.1 KB
- retrieve.pyruns1.5 KB