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.
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
No comments yet — be the first.