Forge Tools ebi_complex_portal

ebi_complex_portal read

scidex.forge.ebi_complex_portal

Query the EBI Complex Portal for manually curated macromolecular complexes. Returns protein assemblies, ribonucleoprotein complexes, and multi-subunit machines with stoichiometry, GO annotations, and subunit composition. Supports lookup by gene symbol (e.g. 'TP53'), complex name, or exact Complex Portal accession (e.g. 'CPX-2158'). Complements CORUM (mammalian purified complexes) and IntAct (binary PPI) — Complex Portal curates stable assemblies with defined subunit composition, covering non-mammalian organisms and nuclear machinery. REST API: https://www.ebi.ac.uk/intact/complex-ws/ — free, no auth.

HTTP: POST /api/scidex/forge/ebi_complex_portal

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.ebi_complex_portal``.",
  "properties": {
    "query": {
      "description": "Query string: a gene symbol (e.g. 'TP53'), a complex name, or a Complex Portal accession (e.g. 'CPX-2158').",
      "maxLength": 200,
      "minLength": 1,
      "title": "Query",
      "type": "string"
    },
    "query_type": {
      "default": "gene",
      "description": "How to interpret the query. 'gene' searches by gene symbol, 'complex_name' searches by complex name, 'complex_ac' fetches by exact Complex Portal accession.",
      "enum": [
        "gene",
        "complex_name",
        "complex_ac"
      ],
      "title": "Query Type",
      "type": "string"
    },
    "organism": {
      "default": "human",
      "description": "Organism to filter results by. Common values: 'human', 'mouse', 'yeast', 'ecoli'. Defaults to 'human'. Also accepts scientific names (e.g. 'Homo sapiens'). Ignored for 'complex_ac' queries.",
      "maxLength": 100,
      "title": "Organism",
      "type": "string"
    },
    "limit": {
      "default": 15,
      "description": "Maximum number of complexes to return. Default 15.",
      "maximum": 50,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "ForgeComplexPortalIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "ComplexEntry": {
      "description": "One macromolecular complex entry from EBI Complex Portal.",
      "properties": {
        "complex_ac": {
          "description": "Complex Portal accession (e.g. 'CPX-2158').",
          "title": "Complex Ac",
          "type": "string"
        },
        "name": {
          "description": "Human-readable complex name.",
          "title": "Name",
          "type": "string"
        },
        "systematic_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Systematic name of the complex.",
          "title": "Systematic Name"
        },
        "organism": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Organism name as returned by the API (e.g. 'Homo sapiens (9606)').",
          "title": "Organism"
        },
        "subunits": {
          "description": "Subunits with gene symbol, UniProt AC, stoichiometry, and biological role.",
          "items": {
            "$ref": "#/$defs/ComplexSubunit"
          },
          "title": "Subunits",
          "type": "array"
        },
        "go_annotations": {
          "description": "GO term IDs annotated to this complex (e.g. 'GO:0005488').",
          "items": {
            "type": "string"
          },
          "title": "Go Annotations",
          "type": "array"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Free-text description of the complex.",
          "title": "Description"
        },
        "complex_portal_url": {
          "description": "Link to this complex on the EBI Complex Portal website.",
          "title": "Complex Portal Url",
          "type": "string"
        }
      },
      "required": [
        "complex_ac",
        "name",
        "complex_portal_url"
      ],
      "title": "ComplexEntry",
      "type": "object"
    },
    "ComplexSubunit": {
      "description": "One subunit participant in a macromolecular complex.",
      "properties": {
        "gene": {
          "description": "Gene symbol or interactor name for this subunit.",
          "title": "Gene",
          "type": "string"
        },
        "uniprot_ac": {
          "description": "UniProt accession (or primary identifier) for this subunit.",
          "title": "Uniprot Ac",
          "type": "string"
        },
        "stoichiometry": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Stoichiometry in the complex (e.g. '4' for a homotetramer).",
          "title": "Stoichiometry"
        },
        "biological_role": {
          "default": "unspecified role",
          "description": "Biological role of this subunit (e.g. 'enzyme', 'inhibitor', 'unspecified role').",
          "title": "Biological Role",
          "type": "string"
        }
      },
      "required": [
        "gene",
        "uniprot_ac"
      ],
      "title": "ComplexSubunit",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.ebi_complex_portal``.",
  "properties": {
    "complexes": {
      "description": "Macromolecular complex entries matching the query.",
      "items": {
        "$ref": "#/$defs/ComplexEntry"
      },
      "title": "Complexes",
      "type": "array"
    },
    "not_found": {
      "description": "True when no complexes were found for the query.",
      "title": "Not Found",
      "type": "boolean"
    }
  },
  "required": [
    "not_found"
  ],
  "title": "ForgeComplexPortalOut",
  "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/ebi_complex_portal' \
  -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.