Forge Tools pfam_domains

pfam_domains read

scidex.forge.pfam_domains

Resolve a UniProt accession to its Pfam domain annotations — one record per (Pfam family × sequence location) pair with accession, name, description, start/end residue positions, e-value, and optional clan accession / name. Pfam-specific complement to scidex.forge.interpro_domains, which aggregates across all InterPro member databases.

HTTP: POST /api/scidex/forge/pfam_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.pfam_domains``.",
  "properties": {
    "accession": {
      "description": "UniProt accession (canonical form, e.g. ``P23560`` for BDNF). Upper-case alphanumerics, 6–10 characters. Gene symbols are not accepted; resolve them via ``scidex.forge.uniprot_lookup``.",
      "maxLength": 10,
      "minLength": 6,
      "title": "Accession",
      "type": "string"
    }
  },
  "required": [
    "accession"
  ],
  "title": "PfamDomainsIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "PfamDomainOut": {
      "description": "One Pfam domain occurrence matched to the queried protein.\n\nOne record per (Pfam family × sequence location) pair. A protein\ncontaining two copies of the same domain will have two records with\nthe same ``pfam_accession`` but different ``start`` / ``end``.",
      "properties": {
        "pfam_accession": {
          "description": "Pfam accession (e.g. ``PF00243``).",
          "title": "Pfam Accession",
          "type": "string"
        },
        "name": {
          "default": "",
          "description": "Short Pfam entry name (e.g. ``NGF``).",
          "title": "Name",
          "type": "string"
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Long-form description of the Pfam family or domain.",
          "title": "Description"
        },
        "start": {
          "description": "1-based residue position where this domain match starts.",
          "title": "Start",
          "type": "integer"
        },
        "end": {
          "description": "1-based residue position where this domain match ends (inclusive).",
          "title": "End",
          "type": "integer"
        },
        "e_value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Pfam HMM e-value for this domain match. Lower values indicate stronger matches (e.g. 9.4e-48). ``None`` when EBI omits the score field.",
          "title": "E Value"
        },
        "clan_accession": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Pfam clan accession if this family belongs to a clan (e.g. ``CL0036``). ``None`` when the family has no clan.",
          "title": "Clan Accession"
        },
        "clan_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Human-readable clan name or description. ``None`` when absent.",
          "title": "Clan Name"
        }
      },
      "required": [
        "pfam_accession",
        "start",
        "end"
      ],
      "title": "PfamDomainOut",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.pfam_domains``.",
  "properties": {
    "uniprot_accession": {
      "description": "Echo of the queried accession.",
      "title": "Uniprot Accession",
      "type": "string"
    },
    "domains": {
      "items": {
        "$ref": "#/$defs/PfamDomainOut"
      },
      "title": "Domains",
      "type": "array"
    },
    "returned": {
      "description": "Length of ``domains``.",
      "title": "Returned",
      "type": "integer"
    },
    "took_ms": {
      "description": "Wall-clock time for the upstream call.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "required": [
    "uniprot_accession",
    "returned",
    "took_ms"
  ],
  "title": "PfamDomainsOut",
  "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/pfam_domains' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{
  "accession": ""
}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.