Forge Tools ctd_chemical_disease

ctd_chemical_disease read

scidex.forge.ctd_chemical_disease

Query the Comparative Toxicogenomics Database (CTD, ctdbase.org) for curated chemical-gene interactions and chemical-disease associations. CTD covers 2.5M+ chemical-gene interactions and 100K+ chemical-disease associations manually curated from the biomedical literature. query_type='chemical' (default): returns gene interactions (which genes a chemical perturbs) and disease associations (which diseases a chemical is implicated in). query_type='gene': returns chemical-gene interactions for the given HGNC gene symbol (which chemicals interact with this gene). Fills the toxicogenomics gap: no other forge verb covers chemical causation. Complements forge_disgenet (gene-disease) and forge_opentargets (target-disease). API: GET https://ctdbase.org/tools/batchQuery.go — free, no authentication required.

HTTP: POST /api/scidex/forge/ctd_chemical_disease

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.ctd_chemical_disease``.",
  "properties": {
    "query": {
      "description": "Chemical name, MeSH chemical ID (e.g. ``'D059597'`` for BPA), or HGNC gene symbol when ``query_type='gene'``.  CTD accepts both free-text names and MeSH identifiers.",
      "maxLength": 500,
      "title": "Query",
      "type": "string"
    },
    "query_type": {
      "default": "chemical",
      "description": "Input entity type.  ``'chemical'`` (default) queries by chemical name or MeSH ID and returns gene interactions plus disease associations.  ``'gene'`` queries by HGNC gene symbol and returns only gene interactions (showing which chemicals interact with that gene).",
      "title": "Query Type",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "description": "Maximum number of records per list (gene_interactions and disease_associations). Default 20.",
      "maximum": 200,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "ForgeCtdChemicalDiseaseIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "DiseaseAssociation": {
      "description": "One CTD chemical-disease association record.",
      "properties": {
        "disease_name": {
          "description": "Disease name (MeSH canonical).",
          "title": "Disease Name",
          "type": "string"
        },
        "omim_id": {
          "default": "",
          "description": "OMIM disease identifier (first entry when multiple exist), or empty.",
          "title": "Omim Id",
          "type": "string"
        },
        "inference_score": {
          "default": 0,
          "description": "CTD inference score (higher = stronger inferred link). Zero when the association is direct (curated) with no inference network.",
          "title": "Inference Score",
          "type": "number"
        },
        "direct_evidence": {
          "default": "",
          "description": "CTD direct evidence annotation (e.g. ``'marker/mechanism'``, ``'therapeutic'``).  Empty string when the association is inferred rather than directly curated.",
          "title": "Direct Evidence",
          "type": "string"
        }
      },
      "required": [
        "disease_name"
      ],
      "title": "DiseaseAssociation",
      "type": "object"
    },
    "GeneInteraction": {
      "description": "One CTD chemical-gene interaction record.",
      "properties": {
        "gene_symbol": {
          "description": "HGNC gene symbol of the interacting gene.",
          "title": "Gene Symbol",
          "type": "string"
        },
        "interaction_type": {
          "default": "",
          "description": "CTD interaction action(s), e.g. ``'affects^binding'``, ``'increases^expression'``.  Multiple actions joined by ``'|'``.",
          "title": "Interaction Type",
          "type": "string"
        },
        "organism": {
          "default": "",
          "description": "Scientific name of the organism (e.g. ``'Homo sapiens'``).",
          "title": "Organism",
          "type": "string"
        },
        "pmid_count": {
          "default": 0,
          "description": "Number of PubMed IDs supporting the interaction.",
          "title": "Pmid Count",
          "type": "integer"
        }
      },
      "required": [
        "gene_symbol"
      ],
      "title": "GeneInteraction",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.ctd_chemical_disease``.",
  "properties": {
    "query": {
      "description": "The input query term, echoed back.",
      "title": "Query",
      "type": "string"
    },
    "query_type": {
      "description": "The query_type used (``'chemical'`` or ``'gene'``).",
      "title": "Query Type",
      "type": "string"
    },
    "gene_interactions": {
      "description": "Chemical-gene interaction records from CTD.  For chemical queries: genes interacting with the chemical.  For gene queries: interactions involving the queried gene.",
      "items": {
        "$ref": "#/$defs/GeneInteraction"
      },
      "title": "Gene Interactions",
      "type": "array"
    },
    "disease_associations": {
      "description": "Chemical-disease association records from CTD.  Populated only for ``query_type='chemical'``; empty for gene queries.",
      "items": {
        "$ref": "#/$defs/DiseaseAssociation"
      },
      "title": "Disease Associations",
      "type": "array"
    },
    "not_found": {
      "default": false,
      "description": "``True`` when the query returned no gene interactions AND no disease associations.  ``False`` when at least one record was found.",
      "title": "Not Found",
      "type": "boolean"
    }
  },
  "required": [
    "query",
    "query_type"
  ],
  "title": "ForgeCtdChemicalDiseaseOut",
  "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/ctd_chemical_disease' \
  -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.