gtex_expression read
scidex.forge.gtex_expression
Look up GTEx v8 median expression (TPM) for a gene across the 54 human tissues GTEx samples — including 13 brain regions. Pairs with allen_brain_expression: GTEx gives human RNA-seq TPM by tissue; ABA gives mouse ISH energy by brain substructure. Returns tissues ordered by median TPM descending, optionally filtered to a tissue-name substring.
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.gtex_expression``.",
"properties": {
"gene_symbol": {
"description": "HGNC gene symbol (e.g. ``BDNF``, ``APOE``, ``MAPT``). GTEx is case-insensitive on lookup but human-canonical uppercase casing matches the data.",
"maxLength": 30,
"minLength": 1,
"title": "Gene Symbol",
"type": "string"
},
"tissue_filter": {
"default": "",
"description": "Optional substring filter applied client-side against the GTEx ``tissueSiteDetailId`` (e.g. ``Brain`` returns the 13 brain regions; ``Heart`` returns the 2 heart subsites). Empty string returns every tissue.",
"maxLength": 30,
"title": "Tissue Filter",
"type": "string"
},
"limit": {
"default": 100,
"description": "Maximum number of tissue rows to return after the filter. GTEx v8 has 54 tissues total; the default of 100 returns every tissue.",
"maximum": 100,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"dataset_id": {
"default": "gtex_v8",
"description": "GTEx data release id. Defaults to ``gtex_v8`` (54 tissues, the current public release). ``gtex_v10`` is available in the API but returns no expression data yet.",
"maxLength": 12,
"title": "Dataset Id",
"type": "string"
},
"include_sample_counts": {
"default": false,
"description": "If True, fetch the GTEx tissue metadata table to populate ``sample_count`` per tissue. Adds one HTTP round-trip on cache miss; cached for the process lifetime thereafter.",
"title": "Include Sample Counts",
"type": "boolean"
}
},
"required": [
"gene_symbol"
],
"title": "GtexExpressionIn",
"type": "object"
}Output schema
{
"$defs": {
"TissueExpressionOut": {
"description": "One tissue's median expression for the queried gene.",
"properties": {
"tissue_id": {
"description": "GTEx ``tissueSiteDetailId`` — snake_case stable id (e.g. ``Brain_Cortex``, ``Adipose_Subcutaneous``).",
"title": "Tissue Id",
"type": "string"
},
"tissue_name": {
"default": "",
"description": "Human-readable tissue label from the GTEx tissue metadata endpoint (e.g. ``Brain - Cortex``). Falls back to ``tissue_id`` when metadata wasn't fetched.",
"title": "Tissue Name",
"type": "string"
},
"median_tpm": {
"default": 0,
"description": "Median expression in transcripts per million (TPM). Comparable across tissues for the same gene.",
"title": "Median Tpm",
"type": "number"
},
"sample_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of RNA-seq samples in this tissue, from the GTEx tissue metadata. ``None`` if ``include_sample_counts`` was False.",
"title": "Sample Count"
},
"ontology_id": {
"default": "",
"description": "UBERON ontology id (e.g. ``UBERON:0001876``). Useful for cross-referencing with ontology-keyed downstream tools.",
"title": "Ontology Id",
"type": "string"
}
},
"required": [
"tissue_id"
],
"title": "TissueExpressionOut",
"type": "object"
}
},
"description": "Response shape for ``scidex.forge.gtex_expression``.",
"properties": {
"gene_symbol": {
"description": "Echo of the queried gene symbol.",
"title": "Gene Symbol",
"type": "string"
},
"ensembl_gene_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "GENCODE id GTEx resolved the symbol to (e.g. ``ENSG00000176697.18``). ``None`` when the gene didn't resolve.",
"title": "Ensembl Gene Id"
},
"dataset_id": {
"default": "gtex_v8",
"description": "GTEx release id the rows came from.",
"title": "Dataset Id",
"type": "string"
},
"returned": {
"description": "Length of ``results``.",
"title": "Returned",
"type": "integer"
},
"results": {
"items": {
"$ref": "#/$defs/TissueExpressionOut"
},
"title": "Results",
"type": "array"
},
"took_ms": {
"description": "Wall-clock time for the upstream calls.",
"title": "Took Ms",
"type": "integer"
}
},
"required": [
"gene_symbol",
"returned",
"took_ms"
],
"title": "GtexExpressionOut",
"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/gtex_expression' \
-H 'authorization: Bearer $SCIDEX_JWT' \
-H 'content-type: application/json' \
-d '{
"gene_symbol": ""
}'Discussion
No comments yet — be the first.