uniprot_protein read
scidex.forge.uniprot_protein
Fetch detailed protein annotations from UniProt for a given accession or gene symbol. Returns protein function, sequence length, domain architecture, subcellular locations, GO terms, and disease associations. Gold-standard curated protein database (Swiss-Prot reviewed entries). Free REST API — no auth required.
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.uniprot_protein``.",
"properties": {
"uniprot_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "UniProt accession (e.g. ``P02649`` for human APOE). Takes precedence over ``gene_symbol`` when both are provided.",
"title": "Uniprot Id"
},
"gene_symbol": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Gene symbol to resolve to a UniProt accession (e.g. ``APOE``). Requires ``organism`` to disambiguate when not human. Ignored when ``uniprot_id`` is provided.",
"title": "Gene Symbol"
},
"organism": {
"default": "Homo sapiens",
"description": "Organism name for gene-symbol resolution (default ``Homo sapiens``). Common values: ``Mus musculus``, ``Rattus norvegicus``, ``Danio rerio``. Has no effect when ``uniprot_id`` is supplied.",
"title": "Organism",
"type": "string"
}
},
"title": "ForgeUniProtIn",
"type": "object"
}Output schema
{
"$defs": {
"UniProtDomain": {
"description": "One domain feature from the UniProt feature table.",
"properties": {
"name": {
"description": "Domain name (e.g. 'Receptor binding').",
"title": "Name",
"type": "string"
},
"start": {
"description": "1-based start residue position.",
"title": "Start",
"type": "integer"
},
"end": {
"description": "1-based end residue position.",
"title": "End",
"type": "integer"
}
},
"required": [
"name",
"start",
"end"
],
"title": "UniProtDomain",
"type": "object"
}
},
"description": "Response shape for ``scidex.forge.uniprot_protein``.",
"properties": {
"uniprot_id": {
"description": "Primary UniProt accession (e.g. ``P02649``).",
"title": "Uniprot Id",
"type": "string"
},
"gene_symbol": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Canonical gene symbol per UniProt.",
"title": "Gene Symbol"
},
"protein_name": {
"description": "Recommended protein full name.",
"title": "Protein Name",
"type": "string"
},
"organism": {
"description": "Organism scientific name.",
"title": "Organism",
"type": "string"
},
"length": {
"description": "Canonical sequence length in residues.",
"title": "Length",
"type": "integer"
},
"function": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Curated function description from UniProt FUNCTION comment. ``None`` when absent (rare for Swiss-Prot entries).",
"title": "Function"
},
"subcellular_locations": {
"description": "Subcellular compartment names (e.g. ``['Secreted', 'Nucleus']``).",
"items": {
"type": "string"
},
"title": "Subcellular Locations",
"type": "array"
},
"domains": {
"description": "Domain features with name and 1-based start/end positions.",
"items": {
"$ref": "#/$defs/UniProtDomain"
},
"title": "Domains",
"type": "array"
},
"go_terms": {
"description": "GO annotations as ``'GO:XXXXXXX term-name'`` strings (e.g. ``'GO:0005829 cytosol'``). Aspect prefix stripped.",
"items": {
"type": "string"
},
"title": "Go Terms",
"type": "array"
},
"disease_associations": {
"description": "Disease names from UniProt DISEASE comments (e.g. ``'Alzheimer disease'``).",
"items": {
"type": "string"
},
"title": "Disease Associations",
"type": "array"
}
},
"required": [
"uniprot_id",
"protein_name",
"organism",
"length"
],
"title": "ForgeUniProtOut",
"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/uniprot_protein' \
-H 'authorization: Bearer $SCIDEX_JWT' \
-H 'content-type: application/json' \
-d '{}'Discussion
No comments yet — be the first.