Forge Tools human_protein_atlas

human_protein_atlas read

scidex.forge.human_protein_atlas

Query the Human Protein Atlas for protein-level expression data. Returns tissue/cell-type expression (Not detected/Low/Medium/High) with antibody reliability scores, subcellular compartment locations, and protein class annotations. Complements GTEx (mRNA) with protein-level evidence. Free REST API — no auth required.

HTTP: POST /api/scidex/forge/human_protein_atlas

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.human_protein_atlas``.",
  "properties": {
    "gene_symbol": {
      "description": "HGNC gene symbol to query (e.g. ``TP53``, ``BRCA1``, ``EGFR``). Case-insensitive — normalised to uppercase before lookup.",
      "maxLength": 30,
      "minLength": 1,
      "title": "Gene Symbol",
      "type": "string"
    },
    "data_types": {
      "description": "Which HPA data sections to populate. Valid values: ``tissue`` (tissue/cell-type expression), ``subcellular`` (subcellular compartments), ``pathology`` (cancer pathology summary). Defaults to ``['tissue', 'subcellular']``.",
      "items": {
        "type": "string"
      },
      "title": "Data Types",
      "type": "array"
    },
    "limit": {
      "default": 20,
      "description": "Maximum number of tissue expression rows to return (default 20).",
      "maximum": 200,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "gene_symbol"
  ],
  "title": "ForgeHPAIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "HPAPathology": {
      "description": "Cancer-pathology expression summary for one cancer type.",
      "properties": {
        "cancer": {
          "description": "Cancer type label.",
          "title": "Cancer",
          "type": "string"
        },
        "high": {
          "default": 0,
          "description": "Samples with high expression.",
          "title": "High",
          "type": "integer"
        },
        "medium": {
          "default": 0,
          "description": "Samples with medium expression.",
          "title": "Medium",
          "type": "integer"
        },
        "low": {
          "default": 0,
          "description": "Samples with low expression.",
          "title": "Low",
          "type": "integer"
        },
        "not_detected": {
          "default": 0,
          "description": "Samples with no detected expression.",
          "title": "Not Detected",
          "type": "integer"
        }
      },
      "required": [
        "cancer"
      ],
      "title": "HPAPathology",
      "type": "object"
    },
    "HPATissueExpression": {
      "description": "One tissue-level expression row in the response.",
      "properties": {
        "tissue": {
          "description": "Tissue name (e.g. 'liver', 'brain').",
          "title": "Tissue",
          "type": "string"
        },
        "cell_type": {
          "default": "",
          "description": "Cell type within the tissue.",
          "title": "Cell Type",
          "type": "string"
        },
        "level": {
          "default": "",
          "description": "Protein expression level: 'Not detected', 'Low', 'Medium', or 'High'.",
          "title": "Level",
          "type": "string"
        },
        "reliability": {
          "default": "",
          "description": "Antibody reliability score: 'Enhanced', 'Supported', 'Approved', or 'Uncertain'.",
          "title": "Reliability",
          "type": "string"
        }
      },
      "required": [
        "tissue"
      ],
      "title": "HPATissueExpression",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.human_protein_atlas``.",
  "properties": {
    "gene_symbol": {
      "description": "Normalised (uppercase) gene symbol queried.",
      "title": "Gene Symbol",
      "type": "string"
    },
    "ensembl_gene_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Ensembl gene ID (e.g. ``ENSG00000141510``). ``None`` when not resolved.",
      "title": "Ensembl Gene Id"
    },
    "tissues": {
      "description": "Tissue and cell-type expression rows (populated when 'tissue' in data_types).",
      "items": {
        "$ref": "#/$defs/HPATissueExpression"
      },
      "title": "Tissues",
      "type": "array"
    },
    "subcellular_locations": {
      "description": "Subcellular compartments (populated when 'subcellular' in data_types). E.g. ['Nucleus', 'Cytoplasm'].",
      "items": {
        "type": "string"
      },
      "title": "Subcellular Locations",
      "type": "array"
    },
    "protein_class": {
      "description": "HPA functional protein class labels (e.g. 'Transcription factors').",
      "items": {
        "type": "string"
      },
      "title": "Protein Class",
      "type": "array"
    },
    "pathology_data": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/HPAPathology"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Cancer-pathology expression summary (populated when 'pathology' in data_types). ``None`` when not requested or no pathology data available.",
      "title": "Pathology Data"
    },
    "took_ms": {
      "description": "Wall-clock time for the upstream HPA call.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "required": [
    "gene_symbol",
    "took_ms"
  ],
  "title": "ForgeHPAOut",
  "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/human_protein_atlas' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{
  "gene_symbol": ""
}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.