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.
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
No comments yet — be the first.