Forge Tools panther_orthologs

panther_orthologs read

scidex.forge.panther_orthologs

Query PANTHER (Protein ANalysis THrough Evolutionary Relationships) for gene orthologs across 15+ species and PANTHER family/subfamily classification. Returns orthologous genes with organism, NCBI taxon ID, ortholog type (LDO, ortholog, paralog), and PANTHER gene IDs. Also returns the query gene's PANTHER family and subfamily names. Supports filtering to a single target organism. Ortholog types: LDO=least diverged (best 1:1), O=all orthologs, P=paralogs, X=co-orthologs, LDX=least diverged co-orthologs. REST API: https://www.pantherdb.org/services/oai/pantherdb/ — free, no auth required.

HTTP: POST /api/scidex/forge/panther_orthologs

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.panther_orthologs``.",
  "properties": {
    "gene_id": {
      "description": "Gene symbol (e.g. ``'TP53'``, ``'BRCA1'``) or NCBI gene ID for the query gene. PANTHER resolves most standard gene symbols for model organisms.",
      "title": "Gene Id",
      "type": "string"
    },
    "organism": {
      "default": "human",
      "description": "Source organism for the query gene. Accepts common names (``'human'``, ``'mouse'``, ``'fly'``, ``'worm'``, ``'yeast'``, ``'zebrafish'``) or scientific names (``'Homo sapiens'``). Defaults to ``'human'``.",
      "title": "Organism",
      "type": "string"
    },
    "target_organism": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "If specified, restrict ortholog results to this organism. Uses the same name formats as ``organism``. Pass ``None`` (default) to retrieve orthologs across all available organisms.",
      "title": "Target Organism"
    },
    "ortholog_type": {
      "default": "LDO",
      "description": "Ortholog type to query. ``LDO`` (Least Diverged Ortholog, default) gives the single best 1:1 ortholog per genome. ``O`` includes all orthologs, ``P`` paralogs, ``X`` co-orthologs, ``LDX`` least diverged co-orthologs.",
      "enum": [
        "LDO",
        "O",
        "P",
        "X",
        "LDX"
      ],
      "title": "Ortholog Type",
      "type": "string"
    }
  },
  "required": [
    "gene_id"
  ],
  "title": "ForgePantherOrthologsIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "PantherOrthologEntry": {
      "description": "One PANTHER ortholog record for a target gene.",
      "properties": {
        "target_gene_id": {
          "description": "Target gene identifier (symbol or database ID).",
          "title": "Target Gene Id",
          "type": "string"
        },
        "target_gene_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Full name of the target gene, if available.",
          "title": "Target Gene Name"
        },
        "target_organism": {
          "description": "Scientific name of the target organism.",
          "title": "Target Organism",
          "type": "string"
        },
        "target_taxon_id": {
          "description": "NCBI taxon ID of the target organism.",
          "title": "Target Taxon Id",
          "type": "integer"
        },
        "ortholog_type": {
          "description": "Ortholog classification: LDO (least diverged), O (ortholog), P (paralog), X (co-ortholog), or LDX.",
          "title": "Ortholog Type",
          "type": "string"
        },
        "panther_id": {
          "description": "PANTHER gene ID for the target gene (e.g. PTHR11447:SF4).",
          "title": "Panther Id",
          "type": "string"
        }
      },
      "required": [
        "target_gene_id",
        "target_organism",
        "target_taxon_id",
        "ortholog_type",
        "panther_id"
      ],
      "title": "PantherOrthologEntry",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.panther_orthologs``.",
  "properties": {
    "query_gene": {
      "description": "The gene symbol or ID that was queried.",
      "title": "Query Gene",
      "type": "string"
    },
    "query_organism": {
      "description": "The source organism that was queried.",
      "title": "Query Organism",
      "type": "string"
    },
    "panther_family": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "PANTHER family name for the query gene (e.g. 'P53 TRANSCRIPTION FACTOR').",
      "title": "Panther Family"
    },
    "panther_subfamily": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "PANTHER subfamily name for the query gene, if available.",
      "title": "Panther Subfamily"
    },
    "orthologs": {
      "description": "Ortholog entries across target organisms.",
      "items": {
        "$ref": "#/$defs/PantherOrthologEntry"
      },
      "title": "Orthologs",
      "type": "array"
    },
    "total_orthologs": {
      "default": 0,
      "description": "Total number of orthologs returned (after any target_organism filter).",
      "title": "Total Orthologs",
      "type": "integer"
    },
    "not_found": {
      "default": false,
      "description": "True if the query gene could not be resolved in PANTHER.",
      "title": "Not Found",
      "type": "boolean"
    },
    "source": {
      "default": "PANTHER (pantherdb.org)",
      "description": "Data source identifier.",
      "title": "Source",
      "type": "string"
    }
  },
  "required": [
    "query_gene",
    "query_organism"
  ],
  "title": "ForgePantherOrthologsOut",
  "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/panther_orthologs' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{
  "gene_id": ""
}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.