ensembl_xref read
scidex.forge.ensembl_xref
Resolve a gene symbol to its canonical Ensembl gene id and, optionally, list orthologs across target species. Bridges cross-species KG entities via Ensembl's homology graph.
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.ensembl_xref``.",
"properties": {
"gene_symbol": {
"description": "Gene symbol to resolve. Human (``BDNF``, ``APOE``) and non-human (``Bdnf``, ``Apoe``) casing both work — Ensembl normalises internally.",
"maxLength": 30,
"minLength": 1,
"title": "Gene Symbol",
"type": "string"
},
"species": {
"default": "homo_sapiens",
"description": "Source species Ensembl slug. Defaults to ``homo_sapiens``. Lowercase ``genus_species`` form; subspecies allowed.",
"maxLength": 64,
"title": "Species",
"type": "string"
},
"include_orthologs": {
"default": true,
"description": "When ``True`` (default), also fetch orthologs across ``target_species``. Set to ``False`` to skip the homology call entirely (saves one round-trip when only the gene id is needed).",
"title": "Include Orthologs",
"type": "boolean"
},
"target_species": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional list of target species slugs to constrain the ortholog query. ``None`` means Ensembl returns orthologs across all species. Ignored when ``include_orthologs`` is ``False``.",
"title": "Target Species"
}
},
"required": [
"gene_symbol"
],
"title": "EnsemblXrefIn",
"type": "object"
}Output schema
{
"$defs": {
"OrthologRow": {
"description": "One ortholog row in the response.",
"properties": {
"species": {
"description": "Ensembl species slug for the ortholog.",
"title": "Species",
"type": "string"
},
"gene_symbol": {
"description": "Native gene symbol of the ortholog.",
"title": "Gene Symbol",
"type": "string"
},
"ensembl_gene_id": {
"description": "Ensembl gene id of the ortholog.",
"title": "Ensembl Gene Id",
"type": "string"
},
"homology_type": {
"description": "Ensembl homology type — ``ortholog_one2one``, ``ortholog_one2many``, ``ortholog_many2many``, ``within_species_paralog``, or ``other_paralog``.",
"title": "Homology Type",
"type": "string"
}
},
"required": [
"species",
"gene_symbol",
"ensembl_gene_id",
"homology_type"
],
"title": "OrthologRow",
"type": "object"
}
},
"description": "Response shape for ``scidex.forge.ensembl_xref``.",
"properties": {
"gene_symbol": {
"description": "Echo of the queried gene symbol.",
"title": "Gene Symbol",
"type": "string"
},
"species": {
"description": "Echo of the queried source species.",
"title": "Species",
"type": "string"
},
"ensembl_gene_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Canonical Ensembl gene id for the source species. ``None`` when the gene has no Ensembl mapping.",
"title": "Ensembl Gene Id"
},
"ensembl_transcript_ids": {
"description": "Ensembl transcript ids for the source gene.",
"items": {
"type": "string"
},
"title": "Ensembl Transcript Ids",
"type": "array"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ensembl's free-text gene description, when present.",
"title": "Description"
},
"orthologs": {
"description": "Orthologs across requested target species. Empty when ``include_orthologs`` is ``False`` or the gene has no ortholog records in Ensembl.",
"items": {
"$ref": "#/$defs/OrthologRow"
},
"title": "Orthologs",
"type": "array"
},
"returned_orthologs": {
"default": 0,
"description": "Length of ``orthologs``.",
"title": "Returned Orthologs",
"type": "integer"
},
"took_ms": {
"description": "Wall-clock time for the upstream calls.",
"title": "Took Ms",
"type": "integer"
}
},
"required": [
"gene_symbol",
"species",
"took_ms"
],
"title": "EnsemblXrefResponse",
"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/ensembl_xref' \
-H 'authorization: Bearer $SCIDEX_JWT' \
-H 'content-type: application/json' \
-d '{
"gene_symbol": ""
}'Discussion
No comments yet — be the first.