ChEMBL Query Skill

SkillDatabases & data

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.

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

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 ChEMBL Query Skill skill

What this skill tells your AI

The instructions your AI receives, as published by qsong-github/drugclaw in skills/dti/chembl/SKILL.md and read by ahel’s review.

Query ChEMBL bioactivity database for molecules, targets, and activity data. Auto-detects input type by prefix:

Input PatternDetected AsAction
CHEMBL25ChEMBL ID (molecule)direct fetch by ID
aspirindrug namesubstring search on pref_name
CHEMBL203ChEMBL ID (target)direct fetch by ID
EGFRgene/protein namesubstring search on target_synonym

API

FunctionInputReturns
query_molecules(entities, limit)str or list[str] — ChEMBL IDs or drug namesdict[str, list[dict]]
query_targets(entities, limit)str or list[str] — ChEMBL IDs or gene namesdict[str, list[dict]]
query_bioactivities(chembl_ids, limit)str or list[str] — molecule ChEMBL IDsdict[str, list[dict]]
summarize_molecule(mol)single molecule dictcompact one-line string
summarize_activity(act)single activity dictcompact one-line string
summarize_target(tgt)single target dictcompact one-line string

Usage

See if __name__ == "__main__" block in chembl_query.py for runnable examples covering:

  1. Single molecule by ID — query_molecules("CHEMBL25")
  2. Batch molecule search by name — query_molecules(["ibuprofen", "metformin"], limit=3)
  3. Bioactivities for multiple molecules — query_bioactivities(["CHEMBL25", "CHEMBL1642"], limit=3)
  4. Single target by gene name — query_targets("EGFR", limit=3)
  5. 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

Signals

GitHub stars
116
Forks
3
Last commit
Aug 2026

ahel review

  • K1binfo
    installs-packages (in chembl_skill.py)
  • K1binfo
    installs-packages (in README.md)

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Item type
skill
Key
chembl-query
Source
github.com/qsong-github/drugclaw