Forge Tools hpo_phenotype

hpo_phenotype read

scidex.forge.hpo_phenotype

Look up Human Phenotype Ontology (HPO) terms by term ID, phenotype name, or gene symbol. Returns matching HPO terms (with definition and parent terms) and disease associations from Monarch Initiative. Complements scidex.forge.opentargets and scidex.forge.gnomad_variant for genetics and rare-disease workflows.

HTTP: POST /api/scidex/forge/hpo_phenotype

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.hpo_phenotype``.",
  "properties": {
    "hpo_term_id": {
      "anyOf": [
        {
          "maxLength": 16,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "HPO term identifier (e.g. ``HP:0001250`` for Seizure). Mutually exclusive with ``phenotype_name`` and ``gene_symbol``.",
      "title": "Hpo Term Id"
    },
    "phenotype_name": {
      "anyOf": [
        {
          "maxLength": 200,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Free-text phenotype name to search HPO labels (e.g. ``seizure``, ``intellectual disability``). Mutually exclusive with ``hpo_term_id`` and ``gene_symbol``.",
      "title": "Phenotype Name"
    },
    "gene_symbol": {
      "anyOf": [
        {
          "maxLength": 30,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "HGNC gene symbol (e.g. ``SCN1A``). Returns HPO phenotype terms associated with that gene via Monarch Initiative. Mutually exclusive with ``hpo_term_id`` and ``phenotype_name``.",
      "title": "Gene Symbol"
    },
    "max_results": {
      "default": 10,
      "description": "Maximum HPO terms to return. Default 10.",
      "maximum": 50,
      "minimum": 1,
      "title": "Max Results",
      "type": "integer"
    },
    "max_diseases": {
      "default": 10,
      "description": "Maximum disease associations to return. Default 10.",
      "maximum": 50,
      "minimum": 1,
      "title": "Max Diseases",
      "type": "integer"
    }
  },
  "title": "ForgeHPOIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "HPODiseaseLink": {
      "description": "One HPO-phenotype → disease association in the response.",
      "properties": {
        "disease_id": {
          "description": "Disease identifier, e.g. ``OMIM:182389`` or ``ORPHANET:308``.",
          "title": "Disease Id",
          "type": "string"
        },
        "disease_name": {
          "default": "",
          "description": "Disease name.",
          "title": "Disease Name",
          "type": "string"
        },
        "associated_genes": {
          "description": "Gene symbols linked to this disease via the same phenotype.",
          "items": {
            "type": "string"
          },
          "title": "Associated Genes",
          "type": "array"
        }
      },
      "required": [
        "disease_id"
      ],
      "title": "HPODiseaseLink",
      "type": "object"
    },
    "HPOTerm": {
      "description": "One HPO term in the response.",
      "properties": {
        "term_id": {
          "description": "HPO term ID, e.g. ``HP:0001250``.",
          "title": "Term Id",
          "type": "string"
        },
        "label": {
          "default": "",
          "description": "Term label, e.g. ``Seizure``.",
          "title": "Label",
          "type": "string"
        },
        "definition": {
          "default": "",
          "description": "Term definition (may be empty).",
          "title": "Definition",
          "type": "string"
        },
        "parent_terms": {
          "description": "Direct parent HPO term IDs (``is_a`` parents).",
          "items": {
            "type": "string"
          },
          "title": "Parent Terms",
          "type": "array"
        }
      },
      "required": [
        "term_id"
      ],
      "title": "HPOTerm",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.hpo_phenotype``.",
  "properties": {
    "terms": {
      "description": "Matching HPO terms.",
      "items": {
        "$ref": "#/$defs/HPOTerm"
      },
      "title": "Terms",
      "type": "array"
    },
    "disease_associations": {
      "description": "Disease associations for the first matching HPO term.",
      "items": {
        "$ref": "#/$defs/HPODiseaseLink"
      },
      "title": "Disease Associations",
      "type": "array"
    },
    "took_ms": {
      "description": "Wall-clock time for all upstream calls.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "required": [
    "took_ms"
  ],
  "title": "ForgeHPOOut",
  "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/hpo_phenotype' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.