Forge Tools cell_ontology

cell_ontology read

scidex.forge.cell_ontology

Query the Cell Ontology (CL) via EBI OLS4 for standardized cell type identifiers. Returns CL terms (cl_id, label, definition, synonyms, parent terms, obsolescence). CL is the standard controlled vocabulary for naming cell types (CL:0000000 format) used by HCA, CellxGene, BGEE, and all major scRNA-seq pipelines. Complements scidex.forge.cellosaurus (cell line identity) and scidex.forge.bgee (gene expression by cell type). API: EBI OLS4 v2 (ebi.ac.uk/ols4) — public, no authentication required.

HTTP: POST /api/scidex/forge/cell_ontology

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.cell_ontology``.",
  "properties": {
    "query": {
      "description": "Cell type label or CL identifier to search (e.g. 'T cell', 'natural killer cell', 'CL:0000084'). Used as free-text search when query_type='label', or as exact CL identifier when query_type='cl_id'.",
      "maxLength": 200,
      "title": "Query",
      "type": "string"
    },
    "query_type": {
      "default": "label",
      "description": "Search mode: 'label' for free-text label search (default), 'cl_id' for exact CL identifier lookup (e.g. 'CL:0000084').",
      "enum": [
        "label",
        "cl_id"
      ],
      "title": "Query Type",
      "type": "string"
    },
    "include_obsolete": {
      "default": false,
      "description": "If True, include obsolete terms in results. Default False.",
      "title": "Include Obsolete",
      "type": "boolean"
    },
    "limit": {
      "default": 20,
      "description": "Maximum number of Cell Ontology terms to return. Default 20.",
      "maximum": 100,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "ForgeCellOntologyIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "CellOntologyTerm": {
      "description": "One Cell Ontology term in the response.",
      "properties": {
        "cl_id": {
          "description": "CL identifier (e.g. 'CL:0000084').",
          "title": "Cl Id",
          "type": "string"
        },
        "label": {
          "default": "",
          "description": "Term label/name.",
          "title": "Label",
          "type": "string"
        },
        "definition": {
          "default": "",
          "description": "Term definition (may be empty).",
          "title": "Definition",
          "type": "string"
        },
        "synonyms": {
          "description": "Synonym terms from the Cell Ontology.",
          "items": {
            "type": "string"
          },
          "title": "Synonyms",
          "type": "array"
        },
        "parent_terms": {
          "description": "Direct parent CL term IDs (is_a hierarchy).",
          "items": {
            "type": "string"
          },
          "title": "Parent Terms",
          "type": "array"
        },
        "is_obsolete": {
          "default": false,
          "description": "True if this term has been deprecated in the Cell Ontology.",
          "title": "Is Obsolete",
          "type": "boolean"
        }
      },
      "required": [
        "cl_id"
      ],
      "title": "CellOntologyTerm",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.cell_ontology``.",
  "properties": {
    "query": {
      "description": "The input query string.",
      "title": "Query",
      "type": "string"
    },
    "query_type": {
      "description": "The query type used ('label' or 'cl_id').",
      "title": "Query Type",
      "type": "string"
    },
    "terms": {
      "description": "Cell Ontology terms matching the query.",
      "items": {
        "$ref": "#/$defs/CellOntologyTerm"
      },
      "title": "Terms",
      "type": "array"
    },
    "not_found": {
      "description": "True if no Cell Ontology terms were found for the query.",
      "title": "Not Found",
      "type": "boolean"
    },
    "source": {
      "default": "Cell Ontology (CL) via EBI OLS4 (ebi.ac.uk/ols4)",
      "description": "Data source attribution.",
      "title": "Source",
      "type": "string"
    }
  },
  "required": [
    "query",
    "query_type",
    "not_found"
  ],
  "title": "ForgeCellOntologyOut",
  "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/cell_ontology' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{
  "query": ""
}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.