Forge Tools swissmodel_repository

swissmodel_repository read

scidex.forge.swissmodel_repository

Fetch homology models for a UniProt accession from the SWISS-MODEL Repository. Returns template IDs, model quality scores (GMQE, QMEANDisCo), residue coverage, sequence identity, and coordinate download URLs. SWISS-MODEL is the primary repository for comparative protein structure models. Free public API — no auth required.

HTTP: POST /api/scidex/forge/swissmodel_repository

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.swissmodel_repository``.",
  "properties": {
    "uniprot_acc": {
      "description": "UniProt accession (e.g. ``P00533`` for EGFR). Upper-case alphanumerics, typically 6–10 characters.",
      "minLength": 1,
      "title": "Uniprot Acc",
      "type": "string"
    }
  },
  "required": [
    "uniprot_acc"
  ],
  "title": "ForgeSwissModelIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "SwissModelEntry": {
      "description": "One homology model from the SWISS-MODEL Repository.",
      "properties": {
        "template": {
          "default": "",
          "description": "Template structure identifier (e.g. '6I2V.1.A' — PDB ID, chain, entity). Empty when not reported.",
          "title": "Template",
          "type": "string"
        },
        "method": {
          "default": "",
          "description": "Modelling method (e.g. 'HOMOLOGY MODEL', 'TEMPLATE BASED').",
          "title": "Method",
          "type": "string"
        },
        "gmqe": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Global Model Quality Estimation score (0–1). Higher values indicate better model quality relative to the template.",
          "title": "Gmqe"
        },
        "qmean_global": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "QMEANDisCo global score (0–1). Model quality estimate based on agreement with experimentally determined structures.",
          "title": "Qmean Global"
        },
        "coverage": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Fraction of the UniProt sequence covered by this model (0–1).",
          "title": "Coverage"
        },
        "identity": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence identity between query and template (0–1).",
          "title": "Identity"
        },
        "similarity": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Sequence similarity between query and template (0–1).",
          "title": "Similarity"
        },
        "from_residue": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "1-based start residue of the modelled region in the UniProt sequence.",
          "title": "From Residue"
        },
        "to_residue": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "1-based end residue of the modelled region in the UniProt sequence.",
          "title": "To Residue"
        },
        "coordinates_url": {
          "default": "",
          "description": "URL to download the model coordinate file (PDB/mmCIF format).",
          "title": "Coordinates Url",
          "type": "string"
        }
      },
      "title": "SwissModelEntry",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.swissmodel_repository``.",
  "properties": {
    "uniprot_acc": {
      "description": "UniProt accession that was queried.",
      "title": "Uniprot Acc",
      "type": "string"
    },
    "models": {
      "description": "Homology models available in the SWISS-MODEL Repository for this accession. Ordered as returned by the API (typically by decreasing GMQE score). Empty when the accession is not found.",
      "items": {
        "$ref": "#/$defs/SwissModelEntry"
      },
      "title": "Models",
      "type": "array"
    },
    "not_found": {
      "default": false,
      "description": "True when no SWISS-MODEL Repository entry exists for this accession.",
      "title": "Not Found",
      "type": "boolean"
    },
    "source": {
      "default": "SWISS-MODEL Repository",
      "description": "Data source name.",
      "title": "Source",
      "type": "string"
    }
  },
  "required": [
    "uniprot_acc"
  ],
  "title": "ForgeSwissModelOut",
  "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/swissmodel_repository' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{
  "uniprot_acc": ""
}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.