Forge Tools stitch_interactions

stitch_interactions read

scidex.forge.stitch_interactions

Look up STITCH chemical-protein interactions for a chemical or protein identifier. STITCH integrates structure similarity, literature co-occurrence, and experimental binding data for 9.6 million chemicals across 2031 organisms. Supports bidirectional lookup: chemical → proteins (drug target discovery) or protein → chemicals (reverse target-to-drug mapping). Returns scored interactions with combined, experimental, and text-mining evidence. Distinct from scidex.forge.string_ppi (protein-protein only), scidex.forge.chembl_compound (bioactivity assay), and scidex.forge.dgidb_interactions (curated drug-gene list). API: GET https://stitch.embl.de/api/tsv/interactors — free, no auth required.

HTTP: POST /api/scidex/forge/stitch_interactions

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.stitch_interactions``.",
  "properties": {
    "query": {
      "description": "Chemical or protein identifier to look up. Chemical examples: 'aspirin', 'CIDm00002244', 'CIDs00004170'. Protein example: 'TP53' or '9606.ENSP00000269305' for reverse lookup. STITCH resolves common drug names and gene symbols automatically.",
      "title": "Query",
      "type": "string"
    },
    "query_type": {
      "default": "chemical",
      "description": "'chemical' (default) looks up a chemical and returns interacting proteins. 'protein' looks up a protein and returns interacting chemicals. Validated at the verb edge; must be 'chemical' or 'protein'.",
      "title": "Query Type",
      "type": "string"
    },
    "species": {
      "default": 9606,
      "description": "NCBI Taxonomy ID for the target organism. Defaults to 9606 (Homo sapiens). Common alternates: 10090 (Mus musculus), 10116 (Rattus norvegicus).",
      "maximum": 10000000,
      "minimum": 1,
      "title": "Species",
      "type": "integer"
    },
    "min_score": {
      "default": 400,
      "description": "Minimum STITCH combined interaction score (0–1000). STITCH confidence thresholds: low=150, medium=400, high=700, highest=900. Passed to the STITCH API as ``required_score``.",
      "maximum": 1000,
      "minimum": 0,
      "title": "Min Score",
      "type": "integer"
    },
    "limit": {
      "default": 20,
      "description": "Maximum number of interactions to return (default 20, max 500).",
      "maximum": 500,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "ForgeStitchIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "StitchInteraction": {
      "description": "One STITCH chemical-protein interaction edge.",
      "properties": {
        "chemical_id": {
          "description": "STITCH chemical identifier (e.g., CIDm00002244 for aspirin).",
          "title": "Chemical Id",
          "type": "string"
        },
        "protein_id": {
          "description": "STITCH protein identifier (e.g., 9606.ENSP00000269305).",
          "title": "Protein Id",
          "type": "string"
        },
        "combined_score": {
          "description": "STITCH combined interaction score (0–1000).",
          "title": "Combined Score",
          "type": "integer"
        },
        "experimental_score": {
          "default": 0,
          "description": "Experimental binding evidence score (0–1000).",
          "title": "Experimental Score",
          "type": "integer"
        },
        "textmining_score": {
          "default": 0,
          "description": "Text-mining co-occurrence evidence score (0–1000).",
          "title": "Textmining Score",
          "type": "integer"
        }
      },
      "required": [
        "chemical_id",
        "protein_id",
        "combined_score"
      ],
      "title": "StitchInteraction",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.stitch_interactions``.",
  "properties": {
    "interactions": {
      "description": "Chemical-protein interactions in descending combined_score order. Empty when the identifier was not found in STITCH or no interactions exist at the requested score threshold.",
      "items": {
        "$ref": "#/$defs/StitchInteraction"
      },
      "title": "Interactions",
      "type": "array"
    },
    "not_found": {
      "default": false,
      "description": "True when the identifier is unknown to STITCH or no interactions exist at the minimum score threshold.",
      "title": "Not Found",
      "type": "boolean"
    },
    "took_ms": {
      "default": 0,
      "description": "Wall-clock time for the upstream STITCH API call in milliseconds.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "title": "ForgeStitchOut",
  "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/stitch_interactions' \
  -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.