search_rhea_entity
Find biochemical reactions in the Rhea database by keyword or field-scoped query. Returns reaction equations, EC numbers, ChEBI IDs, and cross-references.
Instructions
Search the Rhea reaction database by keyword and return matching reactions.
Matching is KEYWORD/FUZZY over reaction participants, equations, EC numbers,
and cross-references — NOT exact-ID lookup. A term like "glucose" matches any
reaction mentioning glucose. Field-scoped terms and wildcards are supported
(e.g. ec:1.1.1.1, chebi:17234, uniprot:*). A chebi:-scoped term takes
a BARE ChEBI number, not the CHEBI: prefix; a redundant chebi:CHEBI:17234
is auto-corrected to chebi:17234 (the prefixed form otherwise 500s).
RETURNS a dict {'total_count', 'has_more', 'results'} — NOT a bare list.
'total_count' is the number of reactions RETURNED (capped by limit, max
500); 'has_more' is true if more matched beyond the cap. Each result carries
the requested columns as snake_cased keys (e.g. 'rhea-id' → 'rhea_id',
'chebi-id' → 'chebi_id'). On upstream failure returns {'error': ...} instead
— CHECK FOR 'error' BEFORE READING 'results'.
Valid columns (default rhea-id,equation): rhea-id, equation, chebi,
chebi-id, ec, uniprot, go, pubmed, reaction-xref(EcoCyc|KEGG|MetaCyc|
Reactome|M-CSA).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| term | No | ||
| limit | No | Maximum number of reactions returned (default 25). Must be between 0 and 500; a negative limit or one above 500 raises ValueError. `has_more` in the result signals whether more matched. | |
| query | No | Search string, e.g. "ATP", "glucose", "ec:1.1.1.1", "chebi:17234", "uniprot:*". REQUIRED — a blank query raises ValueError (it would otherwise dump an arbitrary slice of the whole database). Accepts aliases: `search`, `term`, `keyword`, `keywords`, `search_term`, `name` (supplying two different values raises ValueError). | |
| search | No | ||
| columns | No | Which fields to return, as a comma-separated string or a list of column IDs (case-INSENSITIVE). Default "rhea-id,equation". Each requested column becomes a key on every result row; hyphenated IDs are snake_cased in the output (e.g. `chebi-id` → `chebi_id`). The 13 valid column IDs and their output keys: - chebi -> chebi (';'-joined ChEBI names) - chebi-id -> chebi_id (';'-joined ChEBI ids) - ec -> ec (';'-joined EC numbers) - equation -> equation (textual reaction equation) - go -> go (GO id + label) - pubmed -> pubmed (';'-joined PubMed ids) - reaction-xref(EcoCyc) -> xref_ecocyc - reaction-xref(KEGG) -> xref_kegg - reaction-xref(M-CSA) -> xref_mcsa - reaction-xref(MetaCyc) -> xref_metacyc - reaction-xref(Reactome) -> xref_reactome - rhea-id -> rhea_id (e.g. RHEA:10000) - uniprot -> uniprot (count of annotated UniProtKB entries) An unknown column raises ValueError — the API would otherwise silently drop it and return an unannounced narrower table. | rhea-id,equation |
| keyword | No | ||
| keywords | No | ||
| search_term | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||