Forge Tools ncbi_taxonomy

ncbi_taxonomy read

scidex.forge.ncbi_taxonomy

Resolve species names (common or scientific) or numeric taxon IDs to NCBI Taxonomy records. Returns taxon_id, scientific_name, common_name, rank, taxonomic lineage from root to parent, division, and model-organism flag. Useful for resolving 'human'→9606 or 'zebrafish'→7955 before querying model-organism databases (MGI, ZFIN, WormBase, FlyBase, SGD, RNAcentral). Set NCBI_API_KEY for 10 rps (default 3 rps anonymous).

HTTP: POST /api/scidex/forge/ncbi_taxonomy

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.ncbi_taxonomy``.",
  "properties": {
    "query": {
      "description": "Species name (common or scientific) or numeric taxon ID to resolve. Examples: ``'human'``, ``'Homo sapiens'``, ``'zebrafish'``, ``'7955'``.",
      "maxLength": 256,
      "minLength": 1,
      "title": "Query",
      "type": "string"
    },
    "limit": {
      "default": 5,
      "description": "Maximum number of taxonomy records to return.",
      "maximum": 20,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "ForgeNCBITaxonomyIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "NCBITaxonLineageNode": {
      "description": "One node in the NCBI Taxonomy lineage path from root to parent taxon.",
      "properties": {
        "taxon_id": {
          "description": "NCBI Taxonomy ID for this lineage node.",
          "title": "Taxon Id",
          "type": "integer"
        },
        "scientific_name": {
          "description": "Scientific name of this lineage node.",
          "title": "Scientific Name",
          "type": "string"
        },
        "rank": {
          "description": "Taxonomic rank (kingdom, phylum, class, …).",
          "title": "Rank",
          "type": "string"
        }
      },
      "required": [
        "taxon_id",
        "scientific_name",
        "rank"
      ],
      "title": "NCBITaxonLineageNode",
      "type": "object"
    },
    "NCBITaxonResult": {
      "description": "One NCBI Taxonomy record.",
      "properties": {
        "taxon_id": {
          "description": "NCBI Taxonomy numeric ID.",
          "title": "Taxon Id",
          "type": "integer"
        },
        "scientific_name": {
          "default": "",
          "description": "Binomial species name.",
          "title": "Scientific Name",
          "type": "string"
        },
        "common_name": {
          "default": "",
          "description": "Common/vernacular name.",
          "title": "Common Name",
          "type": "string"
        },
        "rank": {
          "default": "",
          "description": "Taxonomic rank.",
          "title": "Rank",
          "type": "string"
        },
        "lineage": {
          "description": "Ordered lineage nodes from root to direct parent taxon.",
          "items": {
            "$ref": "#/$defs/NCBITaxonLineageNode"
          },
          "title": "Lineage",
          "type": "array"
        },
        "division": {
          "default": "",
          "description": "NCBI taxonomic division.",
          "title": "Division",
          "type": "string"
        },
        "is_model_organism": {
          "default": false,
          "description": "True when this taxon is a common lab model organism.",
          "title": "Is Model Organism",
          "type": "boolean"
        }
      },
      "required": [
        "taxon_id"
      ],
      "title": "NCBITaxonResult",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.ncbi_taxonomy``.",
  "properties": {
    "query": {
      "description": "The original query string.",
      "title": "Query",
      "type": "string"
    },
    "results": {
      "description": "Taxonomy records matching the query.",
      "items": {
        "$ref": "#/$defs/NCBITaxonResult"
      },
      "title": "Results",
      "type": "array"
    },
    "total_found": {
      "default": 0,
      "description": "Total taxon IDs returned by esearch before the limit was applied.",
      "title": "Total Found",
      "type": "integer"
    },
    "not_found": {
      "default": false,
      "description": "True when the query produced no matching records.",
      "title": "Not Found",
      "type": "boolean"
    },
    "source": {
      "default": "NCBI Taxonomy via E-utilities",
      "description": "Data source identifier.",
      "title": "Source",
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "title": "ForgeNCBITaxonomyOut",
  "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/ncbi_taxonomy' \
  -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.