Oncofusion

start / graph / ana-q153-the-irx2-irx2-dt-geometry-re-derived-from-three-annotations

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

The IRX2 / IRX2-DT geometry re-derived from three annotations: 215 bp and 89.2% under RefSeq, 437 bp and 78.2% under Ensembl, and the verdict does not move

also called IRX2 IRX2-DT overlap · C5orf38 divergent promoter geometry

Two genes sit back to back on chromosome 5 with their on-switches only about 200 base pairs apart, so the 2,000-base window this project measures at IRX2 is mostly the other gene's window as well. Three separate gene catalogues were checked and they disagree about the exact distance, but all of them say the window is at least three-quarters shared.

The same thing, for a scientist

Q151 asserted, from one annotation, that IRX2-DT (GeneID 153571, previous official symbol C5orf38) has its TSS 215 bp from IRX2's on the opposite strand, so that the two 2 kb TSS windows overlap by 1,785 bp (89.2%). This beat re-derived it from sources fetched this cycle and **the claim holds**. UCSC `api.genome.ucsc.edu/getData/track` hg38 `refGene` gives IRX2 on the minus strand with TSS `chr5:2,751,677` and C5orf38 on the plus strand with earliest TSS `chr5:2,751,892`: Δ = **215 bp** [E1]. NCBI `esummary` for GeneID 153572 returns `chrstart 2751676 > chrstop 2735634`, confirming the **minus** strand and putting the TSS at the HIGHER coordinate, and GeneID 153571 returns `chrstart 2751892 < chrstop 2758577`, plus strand: in consistent 1-based coordinates Δ = **216 bp**, the 1 bp being UCSC's half-open `txStart` [E2]. Ensembl REST — a genuinely different annotation, GENCODE rather than RefSeq — is the one that moves the number: `ENSG00000170561` IRX2 strand −1 ends at 2,751,694, `ENSG00000186493` IRX2-DT strand +1 starts at 2,752,131, giving Δ = **437 bp** and an overlap of 1,563 bp = **78.2%** [E3]. The Ensembl start is the same coordinate as refGene's *shorter* `NM_178569`/`NM_001294337` isoform; the disagreement is about which isoform exists, not about where a base is. **The operative figure for this project is 89.2%**, because `C:\Temp\q145irx1\promoters.tsv` keyed IRX2 to `chr5:2,750,677-2,752,677` and C5orf38 to `chr5:2,750,892-2,752,892`, an intersection of exactly 1,785 of 2,000 bp — that is the sequence the bigWig means were actually taken over [E4]. Two corrections to the entry this beat was sent to check: refGene lists **seven** protein-coding transcripts for this locus, not eight (`gene-irx2-dt`'s prose says eight while its own data field correctly lists seven) [E1]; and the locus **does** have a reviewed Swiss-Prot accession, **Q86SI9 `CEI_HUMAN`, 138 aa, primary gene name IRX2-DT** [E5].

Go deeper
The three annotations side by side
routefetchedIRX2 TSSIRX2-DT TSSΔ2 kb overlap
UCSC refGene hg38 REST (dataTime 2020-08-17)2026-09-242,751,677 (−, txEnd)2,751,892 (+, txStart)21589.2%
NCBI esummary db=gene2026-09-242,751,676 0-based → 2,751,6772,751,892 0-based → 2,751,89321689.2%
Ensembl REST lookup/symbol GRCh382026-09-242,751,694 (strand −1)2,752,131 (strand +1)43778.2%

All three agree on the two things that matter: opposite strands, head to head, and a window that is overwhelmingly shared. The RefSeq and Ensembl numbers differ because Ensembl's ENSG00000186493 begins at the shorter isoform's start, which refGene also carries (NM_178569, txStart 2,752,130 0-based = 2,752,131 1-based — the same base). This is an isoform-inclusion disagreement, not a coordinate disagreement, and it was pre-registered as a possibility before either number was computed.

Ensembl also classifies the locus differently: logic_name is ensembl_havana_lincrna and the biotype is not protein-coding, while RefSeq gives it seven NM_ transcripts with a CDS from 2,752,264 and UniProt gives it a reviewed 138-aa accession. Two major annotations disagree about whether this gene codes for a protein.

The minus-strand trap, checked rather than assumed

IRX2 is on the minus strand, so its TSS is at the higher coordinate of the gene body (chr5:2,745,844-2,751,677 in refGene). Reading chrstart as a start rather than as a strand-dependent field would put the promoter window at ~2,735,634 — about 16 kb away, at the wrong end of the gene, and every occupancy number in q151 would be about empty sequence.

It was not done wrong. promoters.tsv stores IRX2 chr5 2751677 2750677 2752677 -, which is txEnd ± 1000 — the strand-correct choice. The q151 negative is therefore a measurement of IRX2's actual promoter, and this was verified against two independently fetched sources rather than taken from the file.

Instrument notes, because two of three routes failed at least once
  • Ensembl REST returned HTTP 500 with a 10,135-byte text/html error page for IRX2-DT, IRX1 and C5orf38 on the first attempt, and HTTP 200 with JSON for IRX2. On retry, IRX1 and IRX2-DT returned 200; C5orf38 returned 500 on all attempts and is unresolved through that route. A 500 with an HTML body is an instrument failure, not an absence — the coordinator brief for this beat recorded Ensembl as 500ing for IRX2, and this cycle IRX2 is precisely the one that worked first time.
  • UCSC's refGene REST snapshot has dataTime 2020-08-17. It is not a live RefSeq. The local refGene.txt.gz the project downloaded matches it and both match NCBI esummary fetched today, so nothing here turns on the staleness, but a locus with a 2021+ annotation change would not be visible through this route.
  • Content type and size were checked on every fetch. The two JSON responses were application/json; the Ensembl failures were text/html.
Facts and figures
scriptanalyses/q153-can-an-irx2-promoter-measurement-be-attributed/q153_census.py
statusrun
result summaryPremise CONFIRMED. RefSeq routes agree at 215/216 bp and 89.2%; Ensembl gives 437 bp and 78.2% because it excludes the longer IRX2-DT isoform. The verdict - the window is mostly the neighbour's - survives every annotation tried.
branch firedQ1 CONFIRMED (pre-registered): two fetched routes within +/-50 bp of 215
prereganalyses/q153-can-an-irx2-promoter-measurement-be-attributed/PREREGISTRATION.md
irx2 uniprotQ9BZI1
irx2 length AA471
irx2 dt uniprotQ86SI9
irx2 dt length AA138
irx2 dt uniprot entry nameCEI_HUMAN
gene bodies disjointtrue
gene body irx2chr5:2,745,844-2,751,677 (5,833 bp, minus strand)
gene body irx2 dtchr5:2,751,892-2,758,578 (6,686 bp, plus strand)
gene body gap bp215
measurements
gene_body_overlap_bp0.000gene_body_overlap_bp: 0promoter_window_overlap_p…89.3promoter_window_overlap_pct: 89.25tss_separation215.0tss_separation: 215tss_separation437.0tss_separation: 437
inputs
[
  "UCSC REST hg38 refGene chr5:2,735,000-2,765,000 (fetched 2026-09-24)",
  "NCBI esummary db=gene 153571,153572,79192 (fetched 2026-09-24)",
  "Ensembl REST lookup/symbol GRCh38 (fetched 2026-09-24)",
  "UniProtKB REST (fetched 2026-09-24)",
  "C:\\Temp\\q145irx1\\promoters.tsv (19,404 rows, the project's own window table)"
]
corrections to gene irx2 dt
[
  "summary_expert says 'eight protein-coding transcripts'; refGene lists SEVEN NM_ transcripts and the entry's own data.refgene_transcripts_coding field correctly lists seven",
  "data.uniprot is null with a note that no accession was looked up; the reviewed accession is Q86SI9 (CEI_HUMAN, 138 aa, primary gene name IRX2-DT)"
]
measurements — the numbers behind the chart
[
  {
    "quantity": "tss_separation",
    "subject": "IRX2 TSS to IRX2-DT TSS, head to head, hg38",
    "value": 215,
    "units": "bp",
    "n": 2,
    "universe": "UCSC hg38 refGene REST, earliest TSS per gene on its own strand: IRX2 2,751,677 (minus, txEnd); C5orf38 2,751,892 (plus, txStart)",
    "null": null,
    "note": "216 bp in consistent 1-based coordinates; the 1 bp is UCSC's half-open txStart"
  },
  {
    "quantity": "tss_separation",
    "subject": "IRX2 TSS to IRX2-DT TSS under Ensembl/GENCODE gene bounds",
    "value": 437,
    "units": "bp",
    "n": 2,
    "universe": "Ensembl REST GRCh38 gene-level bounds: ENSG00000170561 end 2,751,694; ENSG00000186493 start 2,752,131",
    "null": null,
    "note": "a different annotation, not a different genome; Ensembl omits the longer IRX2-DT isoform refGene carries"
  },
  {
    "quantity": "promoter_window_overlap_pct",
    "subject": "the two 2 kb windows this project actually measured at this locus",
    "value": 89.25,
    "units": "percent of a 2,000 bp window",
    "n": 2,
    "universe": "IRX2 chr5:2,750,677-2,752,677 against C5orf38 chr5:2,750,892-2,752,892 in C:\\Temp\\q145irx1\\promoters.tsv; intersection 1,785 bp",
    "null": null,
    "note": "78.2% under Ensembl's coordinates; both readings are above three quarters"
  },
  {
    "quantity": "gene_body_overlap_bp",
    "subject": "IRX2 gene body against IRX2-DT gene body",
    "value": 0,
    "units": "bp",
    "n": 2,
    "universe": "refGene hg38: IRX2 chr5:2,745,844-2,751,677 against C5orf38 chr5:2,751,892-2,758,578",
    "null": null,
    "note": "head-to-head genes have DISJOINT bodies; the promoters are confounded and the bodies are not, which is why the attribution answer is scale-dependent"
  }
]
How this could bite us back
  • Any DNA-level perturbation of the IRX2 promoter - CRISPRi, enhancer deletion, a dCas9 tether - necessarily engages IRX2-DT's promoter too, because the two share 1,785 bp of the same sequence. A phenotype from such a perturbation cannot be attributed to IRX2, and a paper that reports one as an IRX2 result would be making exactly the error this analysis is about.
  • The reverse also bites: a screen that finds nothing at this promoter has also found nothing for IRX2-DT, so a negative result here is cheaper than it looks - it covers two genes at once.
Still open
  1. Which IRX2-DT TSS is used in haematopoietic cells? RefSeq's 2,751,892 and Ensembl's 2,752,131 are both annotated; a CAGE or 5' end dataset in blood would decide it, and would move the overlap between 89.2% and 78.2%.
  2. Does IRX2-DT make a protein? UniProt says 'putative uncharacterized' at 138 aa, refGene gives it seven coding transcripts, Ensembl calls it a lincRNA. No ribosome-profiling or peptide evidence was sought in this beat.
  3. Is the UCSC refGene REST snapshot (dataTime 2020-08-17) the same as current RefSeq at this locus? NCBI esummary agrees today, but the two routes are not independent of each other and no post-2020 annotation change was checked for.
Every source behind this entry (5)
  1. E1established confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.database

    In hg38 refGene fetched from the UCSC REST API on 2026-09-24, IRX2 is on the minus strand with TSS chr5:2,751,677 and C5orf38/IRX2-DT is on the plus strand with earliest TSS chr5:2,751,892, a head-to-head separation of 215 bp; the locus carries seven NM_ (protein-coding) transcripts, all with cdsStart 2,752,264, and two NR_ transcripts.

    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

    `IRX2-DT` is in expected_absent_terms deliberately: the UCSC refGene track still uses the PREVIOUS official symbol C5orf38 in `name2`, so a search of this response for the current symbol returns nothing and that absence is part of the claim, not a failure of it. The response's `dataTime` is 2020-08-17, so this is a snapshot of refGene and not live RefSeq. txStart is 0-based and txEnd is 1-based half-open, so the 215 subtracts two differently based coordinates; in consistent 1-based coordinates the separation is 216 bp (see E2). Seven NM_ transcripts, not the eight stated in `gene-irx2-dt`'s summary prose.

    Evidence that argues against this (1)
    • refGene is one annotation. Ensembl/GENCODE does not carry the 2,751,892-start isoform of this gene at all and places the gene's start 239 bp further along, which changes the separation to 437 bp and the overlap to 78.2%. Neither is wrong; the choice of the earliest refGene TSS is made here because that is the rule the project's own promoter table used. Ensembl REST et al. 2026
  2. E2established confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.database

    NCBI esummary for GeneID 153572 (IRX2) returns chrstart 2751676 greater than chrstop 2735634, i.e. the minus strand with the TSS at the higher coordinate, and for GeneID 153571 (IRX2-DT) returns chrstart 2751892 less than chrstop 2758577, i.e. the plus strand, giving a head-to-head TSS separation of 216 bp in consistent 1-based coordinates.

    What this evidence cannot show

    esummary chrstart/chrstop are 0-based and strand-dependent; the strand is inferred from their order, which is the documented behaviour but is an inference rather than an explicit field. This is a gene-level span, so it reflects the outermost RefSeq transcript and not any particular isoform. Fetched once on 2026-09-24; NCBI returned HTTP 429 to a later call in an earlier beat, so a single clean 200 is the basis here.

    Evidence that argues against this (1)
    • NCBI's 'coordinated expression to IRX2' and 'IRX2 neighbor' other-designations are naming conventions applied when the gene was catalogued, not a measurement of co-expression in any tissue, and certainly not in leukaemia. They should not be cited as evidence that the two genes are co-regulated here. NCBI Gene 2026
  3. E3strong confidence 4 of 5: Replicated in peer-reviewed work by more than one group.database

    Ensembl REST on GRCh38 places IRX2 (ENSG00000170561, strand -1) ending at 2,751,694 and IRX2-DT (ENSG00000186493, strand +1) starting at 2,752,131, a separation of 437 bp giving a 2 kb window overlap of 1,563 bp (78.2%), and annotates IRX2-DT with logic_name ensembl_havana_lincrna rather than as protein-coding.

    What this evidence cannot show

    Confidence is strong rather than established because this endpoint returned HTTP 500 with a text/html error page on some calls in the same session (IRX2-DT and IRX1 on the first attempt, C5orf38 on every attempt), so the service was visibly unstable while these values were taken. Each reported value came from a single HTTP 200 JSON response and was not re-fetched a second time. Ensembl's gene-level start/end are the outermost transcript bounds of its own transcript set, so the difference from RefSeq is an isoform-inclusion difference and not a disagreement about a base position.

    Evidence that argues against this (1)
    • Ensembl calling the locus a lincRNA is contradicted by a reviewed Swiss-Prot entry for the same gene symbol (Q86SI9, 138 aa) and by seven refGene NM_ transcripts with a CDS. The protein is described by UniProt as 'putative uncharacterized', so the disagreement is real and unsettled rather than one side being simply wrong. UniProt Consortium 2026
  4. E4established confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.dataset

    The two windows this project actually measured are chr5:2,750,677-2,752,677 for IRX2 and chr5:2,750,892-2,752,892 for C5orf38, an intersection of exactly 1,785 bp of each 2,000 bp window (89.25%), leaving 215 bp unique to each.

    q153 geometry and neighbour census over the project's 19,404-promoter window table · Iqbal Lab oncofusion knowledge graph, beat Q153 · this project 2026
    What this evidence cannot show

    This is arithmetic on the project's own promoter table, asserted at load: all 19,404 windows are exactly TSS+/-1000 with end-start = 2000 and all symbols are unique. It describes the sequence the bigWig means were taken over and therefore the measurement, not the biology of either gene's true promoter, which may be narrower or wider than 2 kb.

    Evidence that argues against this (1)
    • A 2 kb window is a convention, not a promoter. At 500 bp the two windows would overlap by 285 bp of 500 (57%) and at 5 kb by 4,785 of 5,000 (95.7%), so the headline percentage is partly a property of the window size this project chose. What does not change with window size is that the two TSSs are inside each other's window at every scale this project uses. Trinklein ND et al. 2004
  5. E5established confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.database

    IRX2-DT has a reviewed Swiss-Prot accession Q86SI9, entry name CEI_HUMAN, protein name 'Putative uncharacterized protein IRX2-DT', primary gene name IRX2-DT with synonyms C5orf38 and CEI, 138 aa; and IRX2 itself resolves to exactly one reviewed record Q9BZI1, IRX2_HUMAN, 471 aa.

    What this evidence cannot show

    The primary gene name was read back from the record and equals IRX2-DT, and the length is asserted so verify-accessions.py can catch a swap (rules 62 and 65). The query also returns an unreviewed B7ZL86 'C5orf38 protein' at 135 aa; only the reviewed record is used. 'Putative uncharacterized' means UniProt has no functional evidence for the protein product, so this accession settles the identifier question and settles nothing about whether the protein exists in cells.

    Evidence that argues against this (1)
    • Ensembl annotates the same locus as a lincRNA with no protein product, so a reviewed UniProt accession does not establish that a protein is made. Recording the accession is an identifier fix; it must not be read as evidence of a coding gene. Ensembl REST et al. 2026
Connected to