Forge Tools skempi_affinity

skempi_affinity read

scidex.forge.skempi_affinity

Query SKEMPI 2.0 for experimental ΔΔG (change in binding free energy) measurements for mutations in protein–protein complexes. Filter by PDB accession code and/or protein/gene name. Returns mutation records with ΔΔG, ΔG_mut, ΔG_wt (kcal/mol), binding affinities, temperature, pH, and literature references. Positive ΔΔG = destabilising mutation; negative ΔΔG = stabilising. SKEMPI 2.0 covers ~7,000 entries from ~345 protein complexes — the standard reference for experimental protein–protein binding thermodynamics. Data: life.bsc.es/pid/skempi2 — public, no authentication required.

HTTP: POST /api/scidex/forge/skempi_affinity

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.skempi_affinity``.",
  "properties": {
    "pdb_id": {
      "anyOf": [
        {
          "maxLength": 10,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "4-character PDB accession code to filter by (case-insensitive), e.g. '1CSE'. At least one of pdb_id or gene_symbol is required.",
      "title": "Pdb Id"
    },
    "gene_symbol": {
      "anyOf": [
        {
          "maxLength": 64,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Gene symbol or protein name substring to filter by (case-insensitive). Matched against protein name and UniProt ID fields. At least one of pdb_id or gene_symbol is required.",
      "title": "Gene Symbol"
    },
    "limit": {
      "default": 50,
      "description": "Maximum number of records to return (default 50, max 500).",
      "maximum": 500,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "ForgeSkempiAffinityIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "SkempiMutationRecord": {
      "description": "One experimental ΔΔG record from SKEMPI 2.0.",
      "properties": {
        "pdb_entry": {
          "description": "SKEMPI PDB entry identifier, e.g. '1CSE_E_I' (4-char PDB code + chain designators).",
          "title": "Pdb Entry",
          "type": "string"
        },
        "mutations": {
          "description": "Mutation string in SKEMPI notation, e.g. 'SA1CG'. May contain comma-separated chains for multi-site mutations.",
          "title": "Mutations",
          "type": "string"
        },
        "protein_1": {
          "default": "",
          "description": "Name of protein 1 in the complex.",
          "title": "Protein 1",
          "type": "string"
        },
        "protein_2": {
          "default": "",
          "description": "Name of protein 2 in the complex.",
          "title": "Protein 2",
          "type": "string"
        },
        "uniprot_1": {
          "default": "",
          "description": "UniProt accession for protein 1 (semicolon-separated if multiple).",
          "title": "Uniprot 1",
          "type": "string"
        },
        "uniprot_2": {
          "default": "",
          "description": "UniProt accession for protein 2 (semicolon-separated if multiple).",
          "title": "Uniprot 2",
          "type": "string"
        },
        "ddg_kcal_mol": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "ΔΔG in kcal/mol (mutant − wild-type). Positive = destabilising; negative = stabilising.",
          "title": "Ddg Kcal Mol"
        },
        "dg_mut_kcal_mol": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "ΔG of mutant complex in kcal/mol.",
          "title": "Dg Mut Kcal Mol"
        },
        "dg_wt_kcal_mol": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "ΔG of wild-type complex in kcal/mol.",
          "title": "Dg Wt Kcal Mol"
        },
        "affinity_mut_M": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Affinity of mutant complex in M.",
          "title": "Affinity Mut M"
        },
        "affinity_wt_M": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Affinity of wild-type complex in M.",
          "title": "Affinity Wt M"
        },
        "temperature_k": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Experimental temperature in Kelvin.",
          "title": "Temperature K"
        },
        "ph": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Experimental pH.",
          "title": "Ph"
        },
        "reference": {
          "default": "",
          "description": "PubMed ID or citation reference.",
          "title": "Reference",
          "type": "string"
        },
        "mutation_location": {
          "default": "",
          "description": "Mutation location annotation (e.g. 'COR', 'RIM', 'INT', 'SUR').",
          "title": "Mutation Location",
          "type": "string"
        }
      },
      "required": [
        "pdb_entry",
        "mutations"
      ],
      "title": "SkempiMutationRecord",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.skempi_affinity``.",
  "properties": {
    "query": {
      "description": "Human-readable description of the applied filters.",
      "title": "Query",
      "type": "string"
    },
    "records": {
      "description": "Matching ΔΔG records from SKEMPI 2.0.",
      "items": {
        "$ref": "#/$defs/SkempiMutationRecord"
      },
      "title": "Records",
      "type": "array"
    },
    "total_found": {
      "default": 0,
      "description": "Total number of matching records before limit was applied.",
      "title": "Total Found",
      "type": "integer"
    },
    "not_found": {
      "default": false,
      "description": "True when no records matched the provided filters.",
      "title": "Not Found",
      "type": "boolean"
    },
    "source": {
      "default": "SKEMPI 2.0 (life.bsc.es/pid/skempi2)",
      "description": "Data source identifier.",
      "title": "Source",
      "type": "string"
    },
    "took_ms": {
      "default": 0,
      "description": "Wall-clock time for data fetch and filtering in milliseconds.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "ForgeSkempiAffinityOut",
  "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/skempi_affinity' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.