Forge Tools opentargets

opentargets read

scidex.forge.opentargets

Look up disease associations for a gene from Open Targets Platform v4. Returns ranked disease associations with composite scores, evidence counts, and therapeutic areas. Critical for AD/neurodegeneration target grounding.

HTTP: POST /api/scidex/forge/opentargets

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.opentargets``.",
  "properties": {
    "gene_symbol": {
      "anyOf": [
        {
          "maxLength": 30,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Gene symbol (``BDNF``, ``APP``, ``MAPT``). Resolved to a canonical Ensembl gene id via the Open Targets ``search`` query before the associations call. Mutually exclusive with ``ensembl_gene_id``.",
      "title": "Gene Symbol"
    },
    "ensembl_gene_id": {
      "anyOf": [
        {
          "maxLength": 30,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Ensembl human gene id (``ENSG00000142192`` = APP). When supplied, the search round-trip is skipped — saves one HTTP call. Mutually exclusive with ``gene_symbol``.",
      "title": "Ensembl Gene Id"
    },
    "limit": {
      "default": 20,
      "description": "Maximum number of disease association rows to return, ordered by overall score descending. Default 20.",
      "maximum": 100,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "OpenTargetsInput",
  "type": "object"
}
Output schema
{
  "$defs": {
    "DiseaseAssociation": {
      "description": "One disease association in the response.",
      "properties": {
        "disease_id": {
          "description": "EFO id (e.g. ``EFO_0000249`` for Alzheimer's disease).",
          "title": "Disease Id",
          "type": "string"
        },
        "disease_name": {
          "default": "",
          "description": "Free-text disease name.",
          "title": "Disease Name",
          "type": "string"
        },
        "association_score": {
          "default": 0,
          "description": "Open Targets overall association score in ``[0.0, 1.0]``. Composites genetic, somatic, drug, RNA, animal-model, and text-mining evidence into one comparable score.",
          "title": "Association Score",
          "type": "number"
        },
        "evidence_count": {
          "default": 0,
          "description": "Number of distinct evidence datatypes (genetic_association, somatic_mutation, known_drug, affected_pathway, rna_expression, literature, animal_model) contributing a positive score. 0..7 in practice; higher = more diverse evidence backing.",
          "title": "Evidence Count",
          "type": "integer"
        },
        "therapeutic_areas": {
          "description": "Therapeutic-area rollups for the disease (e.g. ``nervous system disease`` for AD, ``cancer`` for oncology indications). Deduped, order preserved from upstream.",
          "items": {
            "type": "string"
          },
          "title": "Therapeutic Areas",
          "type": "array"
        }
      },
      "required": [
        "disease_id"
      ],
      "title": "DiseaseAssociation",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.opentargets``.",
  "properties": {
    "gene_symbol": {
      "default": "",
      "description": "Approved gene symbol echoed from Open Targets. May differ in case from the caller's input (Open Targets normalises to its approved symbol).",
      "title": "Gene Symbol",
      "type": "string"
    },
    "ensembl_gene_id": {
      "description": "Canonical Ensembl gene id used.",
      "title": "Ensembl Gene Id",
      "type": "string"
    },
    "associations": {
      "items": {
        "$ref": "#/$defs/DiseaseAssociation"
      },
      "title": "Associations",
      "type": "array"
    },
    "returned": {
      "description": "Length of ``associations``.",
      "title": "Returned",
      "type": "integer"
    },
    "took_ms": {
      "description": "Wall-clock time for the upstream calls.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "required": [
    "ensembl_gene_id",
    "returned",
    "took_ms"
  ],
  "title": "OpenTargetsResponse",
  "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/opentargets' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.