Forge Tools proteomicsdb_expression

proteomicsdb_expression read

scidex.forge.proteomicsdb_expression

Query ProteomicsDB (proteomicsdb.org) for quantitative human protein expression across tissues and cell lines derived from mass-spectrometry experiments. Two-step REST lookup: resolves a gene symbol to a UniProt accession, then retrieves per-experiment expression values with tissue name, normalized expression intensity, and experiment identifier. sample_type controls whether tissue, cell line, or both endpoints are queried. Complements PAXdb (ppm consensus), Human Protein Atlas (IHC), and GTEx (mRNA TPM) with direct quantitative proteomics measurements. API: ProteomicsDB REST v2 (proteomicsdb.org) — free, no auth required.

HTTP: POST /api/scidex/forge/proteomicsdb_expression

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.proteomicsdb_expression``.",
  "properties": {
    "gene_id": {
      "description": "HGNC gene symbol to query (e.g. ``'TP53'``, ``'ACTB'``, ``'GAPDH'``). ProteomicsDB resolves this to a UniProt accession before querying.",
      "title": "Gene Id",
      "type": "string"
    },
    "tissue": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional case-insensitive substring filter applied to ``tissue_name`` (e.g. ``'liver'`` returns only liver entries). Pass ``None`` (default) to return all tissues/cell lines.",
      "title": "Tissue"
    },
    "sample_type": {
      "default": "tissue",
      "description": "Which ProteomicsDB expression endpoints to query. ``'tissue'`` (default): human tissue atlas only. ``'cellline'``: cell line expression only. ``'all'``: both tissue and cell line data combined.",
      "enum": [
        "tissue",
        "cellline",
        "all"
      ],
      "title": "Sample Type",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "description": "Maximum number of entries to return after tissue filtering. Results are ordered by expression_value descending. Default 20.",
      "maximum": 200,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "gene_id"
  ],
  "title": "ForgeProteomicsDBIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "ProteomicsDBEntry": {
      "description": "One expression record from ProteomicsDB.",
      "properties": {
        "tissue_name": {
          "description": "Tissue or cell line name (e.g. 'Liver', 'HeLa').",
          "title": "Tissue Name",
          "type": "string"
        },
        "expression_value": {
          "description": "Normalized expression intensity from the MS experiment.",
          "title": "Expression Value",
          "type": "number"
        },
        "expression_unit": {
          "default": "normalized spectral count",
          "description": "Unit for expression_value (e.g. 'normalized spectral count').",
          "title": "Expression Unit",
          "type": "string"
        },
        "experiment_name": {
          "default": "",
          "description": "ProteomicsDB experiment identifier.",
          "title": "Experiment Name",
          "type": "string"
        },
        "sample_type": {
          "description": "'tissue' or 'cellline' — which ProteomicsDB endpoint sourced this entry.",
          "title": "Sample Type",
          "type": "string"
        }
      },
      "required": [
        "tissue_name",
        "expression_value",
        "sample_type"
      ],
      "title": "ProteomicsDBEntry",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.proteomicsdb_expression``.",
  "properties": {
    "gene_id": {
      "description": "The gene symbol that was queried.",
      "title": "Gene Id",
      "type": "string"
    },
    "uniprot_accession": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "UniProt accession resolved from the gene symbol (e.g. ``'P04637'`` for TP53). ``None`` when the gene was not found.",
      "title": "Uniprot Accession"
    },
    "results": {
      "description": "Expression entries ordered by expression_value descending.",
      "items": {
        "$ref": "#/$defs/ProteomicsDBEntry"
      },
      "title": "Results",
      "type": "array"
    },
    "total_found": {
      "default": 0,
      "description": "Total entries found before the limit was applied.",
      "title": "Total Found",
      "type": "integer"
    },
    "not_found": {
      "default": false,
      "description": "True if the gene symbol could not be resolved to a UniProt accession in ProteomicsDB.",
      "title": "Not Found",
      "type": "boolean"
    },
    "source": {
      "default": "ProteomicsDB (proteomicsdb.org)",
      "description": "Data source attribution.",
      "title": "Source",
      "type": "string"
    },
    "took_ms": {
      "default": 0,
      "description": "Wall-clock time in milliseconds for the upstream API calls.",
      "title": "Took Ms",
      "type": "integer"
    }
  },
  "required": [
    "gene_id"
  ],
  "title": "ForgeProteomicsDBOut",
  "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/proteomicsdb_expression' \
  -H 'authorization: Bearer $SCIDEX_JWT' \
  -H 'content-type: application/json' \
  -d '{
  "gene_id": ""
}'

Discussion

Posting anonymously. Sign in for attribution.

No comments yet — be the first.