Forge Tools paxdb_abundance

paxdb_abundance read

scidex.forge.paxdb_abundance

Query PAXdb (Protein Abundance Database) for quantitative protein abundance in ppm across tissues and species. Two-step REST lookup: resolves a gene symbol to a PAXdb STRING protein id, then retrieves per-dataset abundance entries with tissue label, abundance_ppm, dataset quality score, and integrated flag. Integrated datasets represent consensus estimates across multiple experiments. Complements GTEx (mRNA TPM) and Human Protein Atlas (IHC) with mass-spectrometry proteomics. API: PAXdb REST v5 (pax-db.org) — free, no auth required.

HTTP: POST /api/scidex/forge/paxdb_abundance

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.paxdb_abundance``.",
  "properties": {
    "gene_id": {
      "description": "HGNC gene symbol to query (e.g. ``'TP53'``, ``'ACTB'``, ``'GAPDH'``). PAXdb resolves this to a STRING protein id before querying abundances.",
      "title": "Gene Id",
      "type": "string"
    },
    "species_taxid": {
      "default": 9606,
      "description": "NCBI taxon ID for the species. Default 9606 (Homo sapiens). Other commonly used values: 10090 (Mus musculus), 10116 (Rattus norvegicus), 7955 (Danio rerio), 7227 (Drosophila melanogaster), 6239 (C. elegans).",
      "minimum": 1,
      "title": "Species Taxid",
      "type": "integer"
    },
    "tissue": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional case-insensitive substring filter applied to the ``tissue`` field of each dataset entry (e.g. ``'brain'`` returns only brain-tissue datasets). Pass ``None`` (default) to return all tissues.",
      "title": "Tissue"
    },
    "limit": {
      "default": 10,
      "description": "Maximum number of dataset entries to return after tissue filtering. Results are ordered by ``abundance_ppm`` descending. Default 10.",
      "maximum": 200,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "gene_id"
  ],
  "title": "ForgePaxdbAbundanceIn",
  "type": "object"
}
Output schema
{
  "$defs": {
    "PaxdbDatasetEntry": {
      "description": "One PAXdb dataset abundance record for the queried protein.",
      "properties": {
        "dataset_name": {
          "description": "PAXdb dataset identifier (e.g. 'HUMAN_HEART_WHOLE-PROTEOME').",
          "title": "Dataset Name",
          "type": "string"
        },
        "tissue": {
          "description": "Tissue or organ label for this dataset (e.g. 'Heart', 'Brain').",
          "title": "Tissue",
          "type": "string"
        },
        "abundance_ppm": {
          "description": "Protein abundance in parts per million (ppm). Comparable across datasets for the same protein.",
          "title": "Abundance Ppm",
          "type": "number"
        },
        "dataset_score": {
          "description": "PAXdb quality score for this dataset (higher is better). Integrated datasets typically have higher scores.",
          "title": "Dataset Score",
          "type": "number"
        },
        "integrated": {
          "description": "True if this is an integrated (consensus across experiments) dataset; False for single-experiment data.",
          "title": "Integrated",
          "type": "boolean"
        }
      },
      "required": [
        "dataset_name",
        "tissue",
        "abundance_ppm",
        "dataset_score",
        "integrated"
      ],
      "title": "PaxdbDatasetEntry",
      "type": "object"
    }
  },
  "description": "Response shape for ``scidex.forge.paxdb_abundance``.",
  "properties": {
    "gene_id": {
      "description": "The gene symbol that was queried.",
      "title": "Gene Id",
      "type": "string"
    },
    "species_taxid": {
      "description": "NCBI taxon ID used for the lookup.",
      "title": "Species Taxid",
      "type": "integer"
    },
    "string_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "PAXdb / STRING protein id resolved from the gene symbol (e.g. ``'9606.ENSP00000269305'``). ``None`` when the gene was not found.",
      "title": "String Id"
    },
    "results": {
      "description": "Abundance entries ordered by abundance_ppm descending.",
      "items": {
        "$ref": "#/$defs/PaxdbDatasetEntry"
      },
      "title": "Results",
      "type": "array"
    },
    "returned": {
      "description": "Length of ``results``.",
      "title": "Returned",
      "type": "integer"
    },
    "not_found": {
      "default": false,
      "description": "True if the gene symbol could not be resolved to a protein in PAXdb for this species.",
      "title": "Not Found",
      "type": "boolean"
    },
    "source": {
      "default": "PAXdb v5 (pax-db.org)",
      "description": "Data source attribution.",
      "title": "Source",
      "type": "string"
    }
  },
  "required": [
    "gene_id",
    "species_taxid",
    "returned"
  ],
  "title": "ForgePaxdbAbundanceOut",
  "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/paxdb_abundance' \
  -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.