Forge Tools ecod_domains

ecod_domains read

scidex.forge.ecod_domains

Query the ECOD database (prodata.swmed.edu/ecod/) for evolutionary protein domain classifications. Accepts a PDB code or UniProt accession and returns EcodDomain records with X-group (possible homologs), H-group (homologous superfamily), T-group (topology), and F-group (family) names. ECOD is particularly useful for detecting remote evolutionary relationships and classifying domains that span fold space in ways that topology-based schemes (CATH, SCOP) may miss. API: GET http://prodata.swmed.edu/ecod/ — free, no auth.

HTTP: POST /api/scidex/forge/ecod_domains

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.ecod_domains``.",
  "properties": {
    "query": {
      "description": "Query string whose interpretation depends on ``query_type``:\n• ``'pdb'`` (default) — 4-character PDB code (e.g. ``'1TUP'``).\n• ``'uniprot'`` — UniProt accession (e.g. ``'P04637'``).",
      "maxLength": 200,
      "title": "Query",
      "type": "string"
    },
    "query_type": {
      "default": "pdb",
      "description": "Determines how ``query`` is interpreted.  ``'pdb'`` fetches all domains in a PDB entry; ``'uniprot'`` fetches all domains mapped to a UniProt accession.  Default: ``'pdb'``.",
      "title": "Query Type",
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "title": "ForgeEcodDomainsIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "EcodDomain": {
      "description": "One ECOD domain record.",
      "properties": {
        "ecod_domain_id": {
          "description": "ECOD domain identifier (e.g. 'e1tup_A_000001').",
          "title": "Ecod Domain Id",
          "type": "string"
        },
        "pdb_id": {
          "description": "4-character PDB code (lower-case).",
          "title": "Pdb Id",
          "type": "string"
        },
        "chain": {
          "description": "PDB chain identifier.",
          "title": "Chain",
          "type": "string"
        },
        "pdb_range": {
          "default": "",
          "description": "Residue range in PDB numbering (e.g. 'A:97-289').",
          "title": "Pdb Range",
          "type": "string"
        },
        "x_name": {
          "default": "",
          "description": "X-group name — broadest level grouping possible evolutionary homologs across fold space (e.g. 'alpha+beta').",
          "title": "X Name",
          "type": "string"
        },
        "h_name": {
          "default": "",
          "description": "H-group name — homologous superfamily; domains sharing a common ancestor with strong structural/sequence evidence (e.g. 'Winged helix-like DNA-binding domain superfamily').",
          "title": "H Name",
          "type": "string"
        },
        "t_name": {
          "default": "",
          "description": "T-group name — topology/fold group; domains sharing an overall fold regardless of evolutionary relationship (e.g. 'Winged helix-like DNA-binding domain').",
          "title": "T Name",
          "type": "string"
        },
        "f_name": {
          "default": "",
          "description": "F-group name — family level, the most specific ECOD classification grouping close evolutionary relatives (e.g. 'p53-like transcription factor').",
          "title": "F Name",
          "type": "string"
        },
        "uniprot_acc": {
          "default": "",
          "description": "UniProt accession if ECOD has mapped the domain to a protein.",
          "title": "Uniprot Acc",
          "type": "string"
        }
      },
      "required": [
        "ecod_domain_id",
        "pdb_id",
        "chain"
      ],
      "title": "EcodDomain",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.ecod_domains``.",
  "properties": {
    "query": {
      "description": "The input query string, echoed back.",
      "title": "Query",
      "type": "string"
    },
    "query_type": {
      "description": "The query_type used, echoed back.",
      "title": "Query Type",
      "type": "string"
    },
    "domains": {
      "description": "ECOD domain records matching the query.",
      "items": {
        "$ref": "#/$defs/EcodDomain"
      },
      "title": "Domains",
      "type": "array"
    },
    "not_found": {
      "default": false,
      "description": "True when the query returned no ECOD domain records.",
      "title": "Not Found",
      "type": "boolean"
    },
    "source": {
      "default": "http://prodata.swmed.edu/ecod/",
      "description": "Canonical URL of the ECOD database.",
      "title": "Source",
      "type": "string"
    }
  },
  "required": [
    "query",
    "query_type"
  ],
  "title": "ForgeEcodDomainsOut",
  "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/ecod_domains' \
  -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.