Forge Tools go_term_enrichment

go_term_enrichment read

scidex.forge.go_term_enrichment

Fetch Gene Ontology (GO) term annotations for one or more gene symbols using the EBI QuickGO API. Returns annotations across Biological Process (BP), Molecular Function (MF), and Cellular Component (CC) aspects, filterable by GO aspect and evidence code. Essential for interpreting experimental results and generating mechanistic hypotheses about gene function in hypothesis-grounding and bioanalysis workflows.

HTTP: POST /api/scidex/forge/go_term_enrichment

Invoke

Calls scidex.tool.invoke on the substrate with this tool name. Edit the JSON below — it must match the input schema. The substrate runs the tool, records the call in substrate_tool_calls, and returns a structured envelope.

Sign in to invoke this tool. Schema and curl snippet are visible to anyone.

Schemas

Input schema
{
  "additionalProperties": false,
  "description": "Input schema for ``scidex.forge.go_term_enrichment``.",
  "properties": {
    "gene_symbols": {
      "description": "HGNC gene symbols to query (e.g. ``['BRCA1', 'TP53']``). 1–20 genes per call.",
      "items": {
        "type": "string"
      },
      "maxItems": 20,
      "minItems": 1,
      "title": "Gene Symbols",
      "type": "array"
    },
    "aspect": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "GO aspects to include. Valid values: ``biological_process``, ``molecular_function``, ``cellular_component``. ``null`` / omit to return all three aspects.",
      "title": "Aspect"
    },
    "evidence_codes": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "GO evidence codes to include. Examples: ``['EXP', 'IDA', 'IPI']`` for experimental evidence; ``['IEA']`` for electronic annotation. ``null`` / omit to return all evidence codes.",
      "title": "Evidence Codes"
    },
    "limit": {
      "default": 50,
      "description": "Maximum total annotations to return across all input genes. Default 50.",
      "maximum": 500,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "gene_symbols"
  ],
  "title": "ForgeGOTermIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "GOTermAnnotation": {
      "description": "One GO term annotation in the response.",
      "properties": {
        "go_id": {
          "description": "GO term identifier (e.g. ``GO:0006281``).",
          "title": "Go Id",
          "type": "string"
        },
        "go_name": {
          "default": "",
          "description": "Human-readable GO term name.",
          "title": "Go Name",
          "type": "string"
        },
        "aspect": {
          "description": "GO aspect abbreviation: BP, MF, or CC.",
          "title": "Aspect",
          "type": "string"
        },
        "evidence_code": {
          "description": "GO evidence code (e.g. ``IDA``, ``IEA``).",
          "title": "Evidence Code",
          "type": "string"
        },
        "gene_product": {
          "description": "UniProt accession (e.g. ``P38398``).",
          "title": "Gene Product",
          "type": "string"
        },
        "gene_symbol": {
          "description": "HGNC gene symbol that produced this annotation.",
          "title": "Gene Symbol",
          "type": "string"
        },
        "source_db": {
          "default": "",
          "description": "Database that assigned this annotation.",
          "title": "Source Db",
          "type": "string"
        },
        "publication_count": {
          "default": 1,
          "description": "Number of supporting publication references.",
          "title": "Publication Count",
          "type": "integer"
        }
      },
      "required": [
        "go_id",
        "aspect",
        "evidence_code",
        "gene_product",
        "gene_symbol"
      ],
      "title": "GOTermAnnotation",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.go_term_enrichment``.",
  "properties": {
    "annotations": {
      "items": {
        "$ref": "#/$defs/GOTermAnnotation"
      },
      "title": "Annotations",
      "type": "array"
    },
    "gene_count": {
      "default": 0,
      "description": "Number of input gene symbols resolved to UniProt accessions.",
      "title": "Gene Count",
      "type": "integer"
    }
  },
  "title": "ForgeGOTermOut",
  "type": "object"
}

curl snippet

Replace $SCIDEX_JWT with a valid bearer token. Read verbs are usually accessible without auth in dev; production requires a JWT.

curl -sS -X POST '/api/scidex/forge/go_term_enrichment' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{
  "gene_symbols": []
}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.