Forge Tools smpdb_pathways

smpdb_pathways read

scidex.forge.smpdb_pathways

Look up SMPDB small molecule pathways for metabolites, drugs, or lipids. For each compound name, returns SMPDB pathways containing that compound, with pathway ID (SMP...), name, category (Metabolic/Drug Action/Disease), description, linked metabolites (with HMDB/KEGG IDs and roles), and linked proteins/enzymes. SMPDB covers 3,000+ human pathways with strong coverage of rare inherited metabolic disorders and drug action mechanisms not found in KEGG or Reactome. Distinct from forge_kegg_pathways (gene-centric KEGG) and forge_reactome_pathways (protein-centric Reactome). Up to 10 compound queries per call; up to 5 concurrent requests. Not-found compounds go to the not_found list. API: smpdb.ca/api — public, no auth required.

HTTP: POST /api/scidex/forge/smpdb_pathways

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.smpdb_pathways``.",
  "properties": {
    "compound_names": {
      "description": "Small molecule / compound names to search for in SMPDB. Examples: ['pyruvate', 'glucose', 'ibuprofen', 'dopamine']. Maximum 10 compounds per call.",
      "items": {
        "type": "string"
      },
      "maxItems": 10,
      "minItems": 1,
      "title": "Compound Names",
      "type": "array"
    },
    "max_pathways_per_compound": {
      "default": 5,
      "description": "Maximum SMPDB pathways to return per compound. Default 5, max 10.",
      "maximum": 10,
      "minimum": 1,
      "title": "Max Pathways Per Compound",
      "type": "integer"
    },
    "include_metabolites": {
      "default": true,
      "description": "If True (default), include linked metabolites in each pathway.",
      "title": "Include Metabolites",
      "type": "boolean"
    },
    "include_proteins": {
      "default": true,
      "description": "If True (default), include linked proteins/enzymes in each pathway.",
      "title": "Include Proteins",
      "type": "boolean"
    }
  },
  "required": [
    "compound_names"
  ],
  "title": "ForgeSMPDBPathwaysIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "SMPDBCompoundResult": {
      "description": "Pathways found for one queried compound.",
      "properties": {
        "compound_query": {
          "description": "The compound name/query that was searched.",
          "title": "Compound Query",
          "type": "string"
        },
        "pathways": {
          "description": "SMPDB pathways containing this compound.",
          "items": {
            "$ref": "#/$defs/SMPDBPathway"
          },
          "title": "Pathways",
          "type": "array"
        }
      },
      "required": [
        "compound_query"
      ],
      "title": "SMPDBCompoundResult",
      "type": "object"
    },
    "SMPDBLinkedMetabolite": {
      "description": "A metabolite linked to an SMPDB pathway.",
      "properties": {
        "metabolite_id": {
          "description": "SMPDB metabolite ID (e.g. 'SMPDB:0000562').",
          "title": "Metabolite Id",
          "type": "string"
        },
        "name": {
          "description": "Metabolite name.",
          "title": "Name",
          "type": "string"
        },
        "hmdb_id": {
          "default": "",
          "description": "HMDB ID (e.g. 'HMDB0000043'), if available.",
          "title": "Hmdb Id",
          "type": "string"
        },
        "kegg_id": {
          "default": "",
          "description": "KEGG compound ID (e.g. 'C00025'), if available.",
          "title": "Kegg Id",
          "type": "string"
        },
        "role": {
          "default": "",
          "description": "Role in pathway (e.g. 'substrate', 'product').",
          "title": "Role",
          "type": "string"
        }
      },
      "required": [
        "metabolite_id",
        "name"
      ],
      "title": "SMPDBLinkedMetabolite",
      "type": "object"
    },
    "SMPDBLinkedProtein": {
      "description": "A protein/enzyme linked to an SMPDB pathway.",
      "properties": {
        "uniprot_id": {
          "default": "",
          "description": "UniProt accession (e.g. 'P04637').",
          "title": "Uniprot Id",
          "type": "string"
        },
        "gene_name": {
          "default": "",
          "description": "Gene name/symbol (e.g. 'TP53').",
          "title": "Gene Name",
          "type": "string"
        },
        "protein_name": {
          "default": "",
          "description": "Protein full name.",
          "title": "Protein Name",
          "type": "string"
        }
      },
      "title": "SMPDBLinkedProtein",
      "type": "object"
    },
    "SMPDBPathway": {
      "description": "One SMPDB pathway record.",
      "properties": {
        "smpdb_id": {
          "description": "SMPDB pathway ID (e.g. 'SMP0000001').",
          "title": "Smpdb Id",
          "type": "string"
        },
        "name": {
          "description": "Pathway name (e.g. 'Glycolysis').",
          "title": "Name",
          "type": "string"
        },
        "category": {
          "default": "",
          "description": "Pathway category (e.g. 'Metabolic', 'Drug Action', 'Physiological', 'Disease').",
          "title": "Category",
          "type": "string"
        },
        "description": {
          "default": "",
          "description": "Pathway description.",
          "title": "Description",
          "type": "string"
        },
        "species": {
          "default": "Homo sapiens",
          "description": "Species (typically Homo sapiens).",
          "title": "Species",
          "type": "string"
        },
        "num_metabolites": {
          "default": 0,
          "description": "Number of metabolites in this pathway.",
          "title": "Num Metabolites",
          "type": "integer"
        },
        "num_proteins": {
          "default": 0,
          "description": "Number of proteins/enzymes in this pathway.",
          "title": "Num Proteins",
          "type": "integer"
        },
        "metabolites": {
          "description": "Key metabolites linked to this pathway.",
          "items": {
            "$ref": "#/$defs/SMPDBLinkedMetabolite"
          },
          "title": "Metabolites",
          "type": "array"
        },
        "proteins": {
          "description": "Key proteins/enzymes in this pathway.",
          "items": {
            "$ref": "#/$defs/SMPDBLinkedProtein"
          },
          "title": "Proteins",
          "type": "array"
        },
        "smpdb_url": {
          "default": "",
          "description": "SMPDB pathway URL.",
          "title": "Smpdb Url",
          "type": "string"
        }
      },
      "required": [
        "smpdb_id",
        "name"
      ],
      "title": "SMPDBPathway",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.smpdb_pathways``.",
  "properties": {
    "results": {
      "description": "Pathway results for each found compound.",
      "items": {
        "$ref": "#/$defs/SMPDBCompoundResult"
      },
      "title": "Results",
      "type": "array"
    },
    "not_found": {
      "description": "Compound names with no SMPDB pathway matches.",
      "items": {
        "type": "string"
      },
      "title": "Not Found",
      "type": "array"
    },
    "took_ms": {
      "description": "Wall-clock time for all upstream API calls.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "required": [
    "took_ms"
  ],
  "title": "ForgeSMPDBPathwaysOut",
  "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/smpdb_pathways' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{
  "compound_names": []
}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.