Oncofusion

start / graph / absence-no-gene-body-scale-irx2-measurement-exists-in-gse252378

Analysisstrong confidence 4 of 5: Replicated in peer-reviewed work by more than one group.Q153-can-an-irx2-promoter-measurement-be-attributed

No gene-body-scale IRX2 measurement exists in this project - the one scale that could attribute the signal is the one nobody computed

also called IRX2 gene body occupancy absent · IRX2 body scale never measured

The only way to tell IRX2's signal apart from its back-to-back neighbour's is to measure along the length of the gene instead of just around its start, because the two genes' bodies do not overlap at all. Nobody has done that in this project, and this entry records exactly that gap rather than filling it with a guess.

The same thing, for a scientist

IRX2 (`chr5:2,745,844-2,751,677`, minus strand, 5,833 bp) and IRX2-DT (`chr5:2,751,892-2,758,578`, plus strand, 6,686 bp) have **zero base pairs of overlapping gene body** — a head-to-head pair confounds promoters and nothing else. **So a gene-body-scale occupancy measurement at IRX2 would be fully attributable**, and it is the cheapest available resolution of the attribution question at this locus [E1]. It does not exist. Three region-scale result files were checked by direct string search, all three of which were written by the beats that built this machinery: `C:\Temp\q147part\results_gene_scale147.json` (which holds `irx1_occupied_gene_scale`), `C:\Temp\q147part\results_regions147.json`, and `C:\Temp\q145irx1\results_regions.json`. **`IRX1` appears 155, 320 and 220 times respectively; `IRX2`, `IRX2-DT` and `C5orf38` appear zero times in all three** [E2]. `regions147.py` and `regions145.py` are the machinery, they already run gene-body intervals for IRX1, and adding one interval is a one-line change — but it needs the bigWigs, which this beat was instructed not to download, so the gap is recorded and not closed [E2]. **`absence_class` is `measured-not-analysed`**: the tracks exist, are public, cover the interval, and this analysis has never been run on them. That is the cheapest class of absence in this project's taxonomy — compute, no wet work [E2].

Go deeper
What was checked, exactly
C:\Temp\q147part\results_gene_scale147.json   IRX1 x155   IRX2 x0   C5orf38 x0   IRX2-DT x0
C:\Temp\q147part\results_regions147.json      IRX1 x320   IRX2 x0   C5orf38 x0   IRX2-DT x0
C:\Temp\q145irx1\results_regions.json         IRX1 x220   IRX2 x0   C5orf38 x0   IRX2-DT x0

All three files exist and all three are readable; the IRX1 counts are the positive control on the search, which is what makes the three zeros a measurement rather than a failed lookup. A zero from a search that cannot return a one is worthless, and this one returns 155, 320 and 220.

The pre-registration for this beat declared in advance that if these files did not contain IRX2 rows, the absence would be recorded as absent rather than searched for somewhere else and reported as though it had come from the field. That is what happened.

What closing it would take, and what it would and would not settle

Cost: one interval added to regions147.py, re-extracted from the 133 GSE252378 bigWigs. No new samples, no wet work, no new deposit. The interval is chr5:2,745,844-2,751,677.

What it would settle: whether KMT2A-fusion signal is present over IRX2's own transcribed sequence, attributably, because IRX2-DT's body contributes no base pair to that interval.

What it would NOT settle: whether IRX2's promoter is occupied. A body measurement and a promoter measurement are different claims, and q147 found IRX1 occupied at gene-body scale in samples where the promoter-scale call differs — which is the reason the body scale is worth running and also the reason it cannot be substituted for the promoter answer.

One control it must carry: the q147 gene-body rule's own pass rate over all genes has never been computed, so a positive at IRX2's body would arrive without a null. finding-q151-the-two-antibody-2x-occupancy-rule-calls-a-tenth-of-all-promoters-occupied supplies that null at promoter scale only, and q151 recorded the gene-body null as uncomputable from what is on disk.

Facts and figures
absence classmeasured-not-analysed
statusrun
what closes itone interval (chr5:2,745,844-2,751,677) added to regions147.py and re-extracted from the 133 GSE252378 bigWigs; compute only, no wet work, no new deposit
files checked
C:\Temp\q147part\results_…155.0C:\Temp\q147part\results_gene_scale147.json: 155C:\Temp\q145irx1\results_…220.0C:\Temp\q145irx1\results_regions.json: 220C:\Temp\q147part\results_…320.0C:\Temp\q147part\results_regions147.json: 320
files checked — the numbers behind the chart
{
  "C:\\Temp\\q147part\\results_gene_scale147.json": {
    "IRX1": 155,
    "IRX2": 0,
    "C5orf38": 0,
    "IRX2-DT": 0
  },
  "C:\\Temp\\q147part\\results_regions147.json": {
    "IRX1": 320,
    "IRX2": 0,
    "C5orf38": 0,
    "IRX2-DT": 0
  },
  "C:\\Temp\\q145irx1\\results_regions.json": {
    "IRX1": 220,
    "IRX2": 0,
    "C5orf38": 0,
    "IRX2-DT": 0
  }
}
measurements
[
  {
    "quantity": "gene_body_overlap_bp",
    "subject": "IRX2 gene body against IRX2-DT gene body, hg38 refGene",
    "value": 0,
    "units": "bp",
    "n": 2,
    "universe": "IRX2 chr5:2,745,844-2,751,677 (5,833 bp) against C5orf38 chr5:2,751,892-2,758,578 (6,686 bp)",
    "null": null,
    "note": "also disjoint under Ensembl; the two bodies are separated by the 215 bp between their TSSs"
  },
  {
    "quantity": "n_gene_body_scale_irx2_values_in_this_project",
    "subject": "occupancy values for IRX2 at gene-body or region scale anywhere in this project's computed results",
    "value": 0,
    "units": "values",
    "n": 3,
    "universe": "three region-scale result files from beats q145 and q147, searched by exact string with IRX1 (155/320/220 hits) as the positive control",
    "null": null,
    "note": "verified-false, not never-checked: the search was run, returned positives for IRX1, and returned nothing for IRX2"
  }
]
How this could bite us back
  • If a gene-body measurement comes back positive for IRX2 and the promoter stays negative, the natural reading - 'the fusion is in the body, not at the promoter' - is exactly the reading a 2 kb promoter mean would also produce if a real promoter peak were diluted. The two are not distinguishable without base-resolution coverage, so a body-scale positive must not be used to argue about the promoter.
Still open
  1. Is IRX2 occupied over its 5,833 bp gene body in any of the 27 samples? This is the whole point of the entry and the cheapest unanswered question at this locus.
  2. What is the q147 gene-body rule's pass rate over all genes? Without it, a gene-body positive at IRX2 would arrive with no null, and q151 recorded that this null cannot be computed from what is currently on disk.
  3. Does a peak exist in the 215 bp BETWEEN the two TSSs, which belongs to neither gene body? That region is the shared core of both promoter windows and a body-scale measurement would step over it entirely.
Every source behind this entry (2)
  1. E1established confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.database

    IRX2's gene body (chr5:2,745,844-2,751,677, minus strand) and IRX2-DT's gene body (chr5:2,751,892-2,758,578, plus strand) overlap by zero base pairs, separated by the 215 bp between their head-to-head TSSs, so a gene-body-scale measurement at either gene contains no sequence belonging to the other.

    UCSC Genome Browser REST API, hg38 refGene track, chr5:2,735,000-2,765,000 · UCSC Genome Browser, api.genome.ucsc.edu · UCSC Genome Browser 2026
    What this evidence cannot show

    Gene bodies are refGene transcript spans, taken as the union over each gene's transcripts in the fetched window. Under Ensembl's annotation IRX2 spans 2,741,794-2,751,694 and IRX2-DT 2,752,131-2,755,397, which are also disjoint, so the conclusion does not depend on the annotation. It does depend on transcript spans: an unannotated readthrough or an extended 3' end in a leukaemic cell would violate it, and none was looked for.

    Evidence that argues against this (1)
    • Disjoint bodies remove the sequence-sharing problem and do not remove all attribution difficulty: a KMT2A-fusion peak sitting in the 215 bp between the two TSSs would be in neither body, and a peak just inside one body is within a few hundred base pairs of the other gene's promoter. Disjointness makes attribution possible, not automatic. Ensembl REST et al. 2026
  2. E2established confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.dataset

    No gene-body or region-scale occupancy value for IRX2, IRX2-DT or C5orf38 exists in any of this project's three region-scale result files, while IRX1 appears 155, 320 and 220 times in them respectively, so the search that returns the three zeros demonstrably returns positives.

    q153 check of q145 and q147 region-scale result files for IRX2 rows · Iqbal Lab oncofusion knowledge graph, beat Q153 · this project 2026
    What this evidence cannot show

    Bounded by exact-string search over three named JSON files on 2026-09-24, with IRX1 as the positive control on the search. It is a statement about this project's computed results, not about GSE252378: the deposit's bigWigs cover the interval and a gene-body value could be extracted at any time. The three files are scratch outputs on C: and are not committed; if a region-scale IRX2 value exists in a committed results file not among these three, this claim is wrong, and no fourth file was searched.

    Evidence that argues against this (1)
    • gene-irx2's own open_questions already named this gap in an earlier cycle - 'the q145/q147 promoter interval table covers IRX1 and not IRX2 - adding one interval would answer it with no new data' - and it has not been closed in the cycles since. A caveat that names a cheap uncovered case is a task, and this one has now been named twice without being done. Iqbal Lab oncofusion knowledge graph et al. 2026
Connected to