ChEBI Query Skill
SkillDatabases & dataQuery the ChEBI (Chemical Entities of Biological Interest) database. Use whenever the user asks about small molecule identifiers, chemical ontology roles, molecular formulae, SMILES, InChI, synonyms, or cross-references for biologically relevant chemical compounds via ChEBI.
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 ChEBI Query Skill skill
What this skill tells your AI
The instructions your AI receives, as published by qsong-github/drugclaw in skills/drug_ontology/chebi/SKILL.md and read by ahel’s review.
Search the ChEBI 2.0 REST API by any entity. Auto-detects input type:
| Input Pattern | Detected As | Action |
|---|---|---|
CHEBI:15422 / chebi:15422 | ChEBI ID (prefixed) | full entity lookup via /compound/{id}/ |
27732 (pure digits ≤7) | ChEBI ID (numeric) | full entity lookup via /compound/{id}/ |
| anything else | free text | Elasticsearch search via /es_search/?term=... |
API
| Function | Input | Returns |
|---|---|---|
search(query, max_results=25) | single entity string | list[dict] |
search_batch(queries, max_results=25) | list of entity strings | dict[str, list[dict]] |
summarize(results, label) | result list + label | compact one-line-per-hit text |
to_json(results) | result list | list[dict] (JSON-serialisable) |
Lower-level helpers (called internally):
| Function | Purpose |
|---|---|
search_chebi(query, max_results) | keyword search via GET /es_search/?term=...&size=N |
get_entity(chebi_id) | full entity via GET /compound/CHEBI:{id}/ |
get_entities_batch(chebi_ids) | batch lookup via GET /compounds/?chebi_ids=id1,id2,... |
search_batch() automatically uses the efficient batch endpoint when all
queries are ChEBI IDs; otherwise it iterates with a 0.3 s delay.
Usage
See if __name__ == "__main__" block in 64_ChEBI.py for runnable examples
covering: single ID lookup, name search, formula search, batch ID search,
mixed batch search, and JSON output.
Key Fields Returned
Top-level: chebi_accession, name, ascii_name, definition, stars
(curation quality; 3 = fully curated), secondary_ids, is_released.
chemical_data (nested dict): formula, charge, mass,
monoisotopic_mass.
default_structure (nested dict): smiles, standard_inchi,
standard_inchi_key, wurcs.
names (nested dict by type): keys like IUPAC NAME, SYNONYM,
BRAND NAME, UNIPROT NAME; each value is a list of name objects.
ontology_relations: incoming_relations and outgoing_relations, each a
list of {init_id, init_name, relation_type, final_id, final_name}.
database_accessions (nested dict by type): CAS, MANUAL_X_REF,
REGISTRY_NUMBER, CITATION; cross-refs to DrugBank, KEGG, HMDB, PubChem,
PDBeChem, Wikipedia, etc.
roles_classification: list of role dicts with chebi_accession, name,
definition, biological_role (bool), application (bool),
chemical_role (bool).
Data Source
- Database: ChEBI 2.0 (EMBL-EBI), >195,000 molecular entities
- API base:
https://www.ebi.ac.uk/chebi/backend/api/public/ - Docs: https://www.ebi.ac.uk/chebi/backend/api/docs/
- License: CC BY 4.0
- Citation: Bento et al. Nucleic Acids Res. 2025, 54(D1), D1768–D1774.
Signals
- GitHub stars
- 116
- Forks
- 3
- Last commit
- Aug 2026
ahel review
K1binfo
installs-packages (in chebi_skill.py)K1binfo
installs-packages (in README.md)
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Item type
- skill
- Key
chebi-query- 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 Pythonsearch
Skill · davila7
The pick for Searchconnect
Skill · composiohq
More in Databases & dataanalytics
Skill · coreyhaines31
More in Databases & dataazure-kusto
Skill · microsoft
More in Databases & data