Oncofusion

start / graph / ana-phase2-dataset-gtex

Analysisstrong confidence 4 of 5: Replicated in peer-reviewed work by more than one group.Q14-phase2-readiness

Dataset: GTEx normal-tissue expression - fully open, and the version-string trap that silently returns nothing

also called GTEx access plan · normal tissue expression pull

GTEx measures how much of each gene healthy adult tissues make. It tells us which organs would be exposed if we blocked a target. It is completely free to use, but there is a trap: if you get the gene's version number slightly wrong, the service returns an empty answer instead of an error.

The same thing, for a scientist

GTEx supplies the normal-tissue half of every therapeutic-index argument in this beat. The median gene expression endpoint is open, anonymous and works for both v8 and v10, and it produced the normal-tissue numbers in all nine target dossiers this cycle. Two operational facts must be recorded or the pull silently fails: `datasetId` is mandatory, and the `gencodeId` must carry the exact GENCODE version for that release (v8 uses GENCODE v26, e.g. ENSG00000133895.14; v10 uses GENCODE v39, e.g. ENSG00000133895.18). A mismatched version returns `{"data": []}` with HTTP 200 - an empty success, which is the most dangerous kind of failure in an automated pipeline. Individual-level GTEx data is controlled through dbGaP phs000424.

Go deeper
What question it answers, and what it cannot

Answers: which normal adult tissues express the target, and at what median TPM, across 54 tissues. This is what generated, for example, the finding that DOT1L is 16-fold enriched in testis over whole blood, and that CBX8 sits under 1 TPM in blood.

Cannot answer: anything about infants. GTEx is adult post-mortem bulk tissue. It contains no fetal or paediatric samples and no purified haematopoietic progenitor fractions. For a disease of infants whose cell of origin is a fetal-liver-type progenitor, GTEx is a proxy and must be labelled as one every time it is used.

How to reach it

Two steps, both anonymous and key-free 1:

  1. Resolve the symbol to a versioned gencodeId: https://gtexportal.org/api/v2/reference/gene?geneId=MEN1 returns ENSG00000133895.14, gencodeVersion: v26.
  2. Pull medians: https://gtexportal.org/api/v2/expression/medianGeneExpression?gencodeId=ENSG00000133895.14&datasetId=gtex_v8&itemsPerPage=100.

Omitting datasetId, or using the v10 gencodeId against gtex_v8, returns an empty array with HTTP 200. A pull script must assert that 54 tissues came back and fail loudly if they did not.

Bulk files are also open: the v10 median-TPM GCT is served anonymously from the adult-gtex Google Cloud Storage bucket 2.

The access barrier

None for summary data. Individual-level genotypes, raw sequence and subject-level phenotypes are controlled access under dbGaP phs000424 and require a Data Use Certification 2. Nothing in this beat's plans needs individual-level GTEx, so no application is proposed.

Facts and figures
resourceGTEx v8 and v10 median gene expression
question answeredWhich normal adult tissues express the target, and at what level, so a therapeutic-index argument can be made?
version trapv8 uses GENCODE v26 (e.g. ENSG00000133895.14); v10 uses GENCODE v39 (e.g. ENSG00000133895.18). A mismatch returns an empty array with HTTP 200, not an error. Assert 54 tissues returned.
access barrierNone for medians. Individual-level data is controlled under dbGaP phs000424 with a Data Use Certification; not required by any plan in this beat.
statusrun
result summaryNormal-tissue medians pulled for all eight candidate genes this cycle and written into the nine target dossiers. Two findings of consequence: DOT1L is 16-fold enriched in testis over whole blood, a gonadal-toxicity flag in a paediatric disease; CBX8 is under 1 TPM in whole blood, the best therapeutic-index profile in the beat attached to the weakest dependency.
computelaptop; no GPU
values pulled this cycle
CBX80.852CBX8: 0.852KMT2A2.243KMT2A: 2.243PSIP16.713PSIP1: 6.713KAT76.753KAT7: 6.753DOT1L7.009DOT1L: 7.009AFF18.061AFF1: 8.061MEN18.197MEN1: 8.197MLLT140.3MLLT1: 40.304
access
{
  "auth": "none",
  "endpoint": "https://gtexportal.org/api/v2/expression/medianGeneExpression",
  "required_params": [
    "gencodeId (version-exact)",
    "datasetId (gtex_v8 or gtex_v10)"
  ],
  "resolver": "https://gtexportal.org/api/v2/reference/gene?geneId=SYMBOL",
  "bulk": "https://storage.googleapis.com/adult-gtex/bulk-gex/v10/rna-seq/GTEx_Analysis_v10_RNASeQCv2.4.2_gene_median_tpm.gct.gz"
}
values pulled this cycle — the numbers behind the chart
{
  "MEN1": {
    "whole_blood": 8.197,
    "max": "Brain_Cerebellum 45.145"
  },
  "PSIP1": {
    "whole_blood": 6.713,
    "min": "Liver 4.527"
  },
  "DOT1L": {
    "whole_blood": 7.009,
    "max": "Testis 111.665"
  },
  "MLLT1": {
    "whole_blood": 40.304,
    "max": "Brain_Cerebellum 141.675"
  },
  "KAT7": {
    "whole_blood": 6.753,
    "max": "Testis 34.134"
  },
  "CBX8": {
    "whole_blood": 0.852,
    "min": "Muscle_Skeletal 0.440"
  },
  "KMT2A": {
    "whole_blood": 2.243
  },
  "AFF1": {
    "whole_blood": 8.061,
    "max": "Thyroid 96.596"
  }
}
How this could bite us back
  • Using adult bulk tissue to argue safety in infants is the central weakness of every therapeutic-index claim in this beat, and it applies to all nine dossiers equally.
  • An empty-but-successful API response will silently produce a dossier with no normal-tissue section rather than a failed pipeline, and a reviewer may read the absence as an absence of expression.
Still open
  1. What is the paediatric and fetal equivalent of GTEx for these genes, and does any accessible resource cover infant marrow?
  2. Do any of these targets show a bone-marrow-progenitor-specific expression pattern that bulk whole-blood TPM averages away?
  3. Should phase-2 dossiers move to GTEx v10 for currency, accepting that every published number in this graph is v8 and would need re-deriving?
Every source behind this entry (2)
  1. E1strong confidence 4 of 5: Replicated in peer-reviewed work by more than one group.database

    The GTEx v2 median gene expression endpoint is open and anonymous and returns per-tissue medians for all 54 tissues, but requires an explicit datasetId and a gencodeId carrying the GENCODE version matching that release; a mismatch returns an empty array with HTTP 200.

    What this evidence cannot show

    Verified this cycle by direct query for eight genes; the silent-empty behaviour was observed directly when datasetId was omitted and when the v8 gencodeId .13 was used instead of .14. TIGHTENED 2026-09-19: verified against the portal API, GTEx v10 has 980 donors with no age bracket below 20-29, and its 54 tissues include whole blood but no bone marrow. GTEx cannot supply a paediatric or infant marrow baseline, which is the comparison a menin-inhibitor toxicity filter needs.

    Evidence that argues against this (2)
    • GTEx cannot supply the normal tissue this project's toxicity filter needs, on two counts verified against the portal API on 2026-09-19. First, age: the gtex_v10 subject endpoint returns 980 donors distributed across brackets 20-29 (84), 30-39 (78), 40-49 (153), 50-59 (314), 60-69 (318) and 70-79 (33). There is no donor under twenty, so there is no paediatric and no infant expression baseline anywhere in GTEx. GTEx Portal 2026
    • Second, tissue: the full tissueSiteDetail list is 54 entries and contains Whole_Blood and no bone marrow. A menin-inhibitor toxicity filter is fundamentally a question about normal haematopoietic progenitors in marrow, and GTEx has never sampled that tissue. Using whole blood as a proxy substitutes terminally differentiated circulating cells for the progenitor compartment at risk. GTEx Portal 2026
  2. E2strong confidence 4 of 5: Replicated in peer-reviewed work by more than one group.database

    GTEx bulk median-TPM files for v10 are served anonymously from the adult-gtex Google Cloud Storage bucket, while individual-level data is controlled under dbGaP accession phs000424 with a Data Use Certification requirement.

    What this evidence cannot show

    Bucket paths change between releases; the older gtex_analysis_v8 bucket path no longer resolves.

    Evidence that argues against this (1)
    • GTEx tissue is post-mortem. Carithers et al. describe the procurement model - rapid autopsy and organ-procurement partnerships - and the resulting expression profiles carry agonal state and ischaemic time as systematic covariates. A median-TPM value from post-mortem adult tissue is a weak basis for predicting on-target toxicity in a living infant. Carithers LJ et al. 2015
Connected to