GO Annotations
locus_go_annotationsFetch Gene Ontology annotations for a plant locus from QuickGO by resolving it to UniProt, and return GO terms grouped by molecular function, biological process, and cellular component.
Instructions
Fetch Gene Ontology annotations for a plant locus from QuickGO (EBI). Free, no API key. The locus is first resolved to a UniProt accession via the same logic as resolve_locus_to_uniprot, then QuickGO is queried by geneProductId. Returns annotations[] with goId/goName/goAspect/qualifier/evidence + a by_aspect rollup ({molecular_function: [{goId, goName}, ...], biological_process: [...], cellular_component: [...]}) deduped on goId so the high-level term set is one read away; by_aspect_deduped_on names that key in the payload. truncated is true when numberOfHits exceeds returned — raise limit (max 100).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max annotations from QuickGO (1–100, default 50) | |
| locus | Yes | e.g. AT1G01010 (Arabidopsis), Os01g0100100 (rice) | |
| cursor | No | next_cursor from the previous page; omit for the first (#123) | |
| organism | No | Plant organism — accepts canonical slug (arabidopsis_thaliana), scientific or common name, or NCBI taxid | arabidopsis_thaliana |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| locus | Yes | ||
| total | Yes | How many GO annotations (QuickGO numberOfHits) exist upstream for this query, all pages (pre-cap) (#123) | |
| returned | Yes | Rows in this payload (#123) | |
| by_aspect | Yes | aspect → [{goId, goName}, ...], deduped on goId, over annotations[] only | |
| truncated | Yes | True when numberOfHits exceeds returned (raise `limit`) | |
| annotations | Yes | ||
| next_cursor | No | Pass back as cursor= to get the rows after this page; null on the last page. Opaque, and bound to this tool and query (#123) | |
| numberOfHits | Yes | Total annotations available upstream | |
| upstream_version | No | QuickGO release that produced THIS response, — always null today: this backend states no release on its responses; upstream_release(backend='quickgo') reports the release its own endpoint calls current at query time, or why there is none. null means QuickGO did not state one — never that no release exists, and never inferred from a separate metadata call, which can describe a different release than the one that answered. | |
| uniprot_accession | Yes | UniProt accession used to query QuickGO | |
| with_from_included | No | False when withFrom was not asked for (gene_report's GO section), in which case every withFrom is null because it was left out — not because the annotation has no partner or source cross-ref. | |
| by_aspect_deduped_on | Yes | The key by_aspect collapses annotations[] on: a dedup, not a truncation |