Forge Tools string_ppi

string_ppi read

scidex.forge.string_ppi

Query STRING-DB (string-db.org) for protein-protein interaction partners and combined confidence scores (0–1000) across 6 evidence channels: neighborhood, coexpression, co-occurrence, experimental, database, text mining. STRING is the gold standard for PPI network analysis, covering 67M+ proteins across 5,090 organisms. Input: gene symbol or UniProt accession. API: GET https://string-db.org/api/json/interaction_partners — free, no auth required.

HTTP: POST /api/scidex/forge/string_ppi

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.string_ppi``.",
  "properties": {
    "gene": {
      "description": "Gene symbol or UniProt accession to query (e.g. ``'TP53'``, ``'MDM2'``, ``'P04637'``). STRING resolves both gene symbols and UniProt accessions against the specified species.",
      "maxLength": 200,
      "title": "Gene",
      "type": "string"
    },
    "species": {
      "default": 9606,
      "description": "NCBI Taxonomy ID. Defaults to 9606 (Homo sapiens). Common alternates: 10090 (Mus musculus), 10116 (Rattus norvegicus), 4932 (Saccharomyces cerevisiae).",
      "maximum": 10000000,
      "minimum": 1,
      "title": "Species",
      "type": "integer"
    },
    "limit": {
      "default": 20,
      "description": "Maximum number of interaction partners to return. Passed directly to the STRING API.",
      "maximum": 500,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    },
    "min_score": {
      "default": 400,
      "description": "Minimum STRING combined confidence score (0–1000). STRING thresholds: low=150, medium=400, high=700, highest=900. Passed to the STRING API as required_score and also applied client-side as a safety filter.",
      "maximum": 1000,
      "minimum": 0,
      "title": "Min Score",
      "type": "integer"
    }
  },
  "required": [
    "gene"
  ],
  "title": "ForgeStringPpiIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "StringInteraction": {
      "description": "One STRING protein-protein interaction record.",
      "properties": {
        "partner": {
          "description": "Preferred gene name of the interaction partner.",
          "title": "Partner",
          "type": "string"
        },
        "combined_score": {
          "description": "STRING combined confidence score (0–1000).",
          "title": "Combined Score",
          "type": "integer"
        },
        "experimental_score": {
          "default": 0,
          "description": "Experimental (biochemical) evidence score (0–1000).",
          "title": "Experimental Score",
          "type": "integer"
        },
        "database_score": {
          "default": 0,
          "description": "Curated database evidence score (0–1000).",
          "title": "Database Score",
          "type": "integer"
        },
        "textmining_score": {
          "default": 0,
          "description": "Text-mining co-mention evidence score (0–1000).",
          "title": "Textmining Score",
          "type": "integer"
        },
        "coexpression_score": {
          "default": 0,
          "description": "Co-expression (mRNA correlation) evidence score (0–1000).",
          "title": "Coexpression Score",
          "type": "integer"
        }
      },
      "required": [
        "partner",
        "combined_score"
      ],
      "title": "StringInteraction",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.string_ppi``.",
  "properties": {
    "gene": {
      "description": "The input gene symbol or accession, echoed back.",
      "title": "Gene",
      "type": "string"
    },
    "species": {
      "description": "The input species NCBI Taxonomy ID, echoed back.",
      "title": "Species",
      "type": "integer"
    },
    "interactions": {
      "description": "Interaction partners in descending ``combined_score`` order. Empty when the gene has no known interactions at the requested score threshold, or when the identifier did not resolve in STRING.",
      "items": {
        "$ref": "#/$defs/StringInteraction"
      },
      "title": "Interactions",
      "type": "array"
    },
    "not_found": {
      "default": false,
      "description": "True when STRING returned no interactions for the query gene.",
      "title": "Not Found",
      "type": "boolean"
    }
  },
  "required": [
    "gene",
    "species"
  ],
  "title": "ForgeStringPpiOut",
  "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/string_ppi' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{
  "gene": ""
}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.