The corpus holds 42 of 42 pan-fusion partners and 1 of 110 MLL-AF4-specific ones — the inverse of the standing priority, and every mechanism that produced it was a reasonable local decision
also called interactome coverage inversion · 42 of 42 versus 1 of 110 · why the AF4-specific tail is unwritten
The lab's standing instruction is to write up every partner of our own fusion. The graph has written all 42 partners that every MLL fusion shares and one of the 110 that only ours has. Every step that led there was sensible on its own — but the result is the opposite of the instruction, and this entry sets out why, and whether it should be fixed.
The same thing, for a scientist
Against Skucha 2018's MLL-AF4 column, this corpus holds **42 of 42 (100%) of the preys recovered under all seven baits and 1 of 110 (0.9%) of those recovered under MLL-AF4 alone** [E1]. The one is **KMT2D**, written for rule-66 nomenclature reasons and not because of this table. Re-running the corpus-content join on 2026-09-24 gives **21 of 110 mentioned anywhere and 89 never mentioned** — and **6 of those 21 are mentioned only by the cycle-158 entry that reported the gap**, so excluding self-reference the figures are 15 and 95, which is exactly what the dispatch brief carried [E2]. **Four mechanisms produced the inversion and all four are rational:** the tail is the low-significance end of a top-300 list; it is 14.5% mitochondrial; it is invisible to every coverage instrument this project runs, because IntAct has never curated PMID 29777171; and the pan-fusion core is a *better* place to spend effort under any evidence-weighted rule. **The correct response is therefore not to write the tail. It is to stop describing the pan-fusion core as index-fusion coverage**, and to record the tail as adjudicated-and-declined rather than as a gap, which is what this beat has done for six of its members.
The inversion, and the one entry that exists
| class in the MLL-AF4 column | n | held with an entry | % |
|---|---|---|---|
| recovered under all 7 baits | 42 | 42 | 100.0 |
| recovered under 2-6 baits | 139 | 30 | 21.6 |
| recovered under MLL-AF4 alone | 110 | 1 | 0.9 |
The single written singleton is KMT2D (p = 0.114 on 3|0 spectra — the weakest possible row, one replicate at zero), and gene-kmt2d exists because KMT2B and KMT2D each carry MLL2 and MLL4 as synonyms with their protein names swapped, i.e. for identifier reasons. No entry in this graph was ever written because of the AF4-specific list.
A verification worth recording, because it is the failure mode this corpus keeps hitting: a naive id check makes the pan-fusion figure 41 of 42, because the sheet lists TCEB3 and this graph writes ELOA. gene-eloa exists; gene-tceb3 does not. Resolve the retired symbol before calling it a gap — the 100% is real.
Why it happened, four mechanisms
1. The tail is the non-significant end of a rank-selected list. Within MLL-AF4's 291 calls the singletons have median p 0.114 and 5% below 0.05, against median 0.019 and 83% for the pan-fusion core. The repo's own skucha analysis records the same thing corpus-wide: median p 0.0257 for held partners against 0.114 for missing, mean 5.62 baits against 2.40 1. Coverage tracked evidence strength, which is what it should do.
2. The tail is 14.5% mitochondrial against the core's 2.4% in a nuclear-extract pulldown (Fisher p = 0.042). A reader skimming ACADM, ECHS1, GLUD1 and PDHA1 would correctly decline them, and would then reasonably not read further down.
3. It is invisible to every instrument. check-pi-dimensions.py scores interactome coverage against the IntAct bait-supported set and reports 51/51. IntAct has never curated PMID 29777171, so no IntAct-derived figure — including that 100% — can see any of these 110 proteins. A dimension that reads 100% is a dimension nobody works on; this is the same shape as the stale 'interactors: 100% of directed evidence' that suppressed interactome work for seven cycles.
4. And the gap report itself now counts as coverage. Of the 21 of 110 currently mentioned anywhere in the corpus, 6 — ACADM, CEP112, ECHS1, GLUD1, PDHA1, RGPD8 — are mentioned only in ana-q178-the-interactome-gap-is-not-where-the-standing-priority-says-it-is, the cycle-158 entry that reported the gap 2. Writing down that a symbol is unwritten makes the symbol mentioned. The effect here is 6 symbols in one cycle, and it moves the headline from 95-never-mentioned to 89.
What should actually change
Not the count. Three things:
- Stop letting a pan-fusion partner count as index-fusion coverage. A protein recovered under all seven MLL fusions is, by construction, the least index-specific thing in the table; it is evidence about the retained KMT2A N-terminus. The PI's standing priority — every documented KMT2A::AFF1 interactor — is not measurably advanced by writing a protein that MLL-GAS7 also binds.
- Record the tail as adjudicated, not as absent. An unwritten partner and a declined partner look identical to a coverage counter and are opposite states of knowledge. This beat wrote six declines; the remaining 104 are genuinely unexamined and should be described that way.
- Do not let the self-mention artefact accumulate. A coverage join that counts a gap report as coverage will slowly erase its own gap. Either exclude
ana-*andking/*entries from a mention join, or report mentions excluding the entry that reported the gap.
And the honest conclusion about the tail itself: on the evidence assembled by this beat, most of the 110 is background, and writing them would consume the graph's quality budget to fix a number. The inversion is real and the standing priority is not well served by closing it item by item. It is served by getting a KMT2A::AFF1 interactome in a B-lineage host, which does not exist.
| script | analyses/q180-is-af4-specificity-a-depth-artefact/ (mentions_of_the_tail.json, q179_join_excluding_q180.json) |
|---|---|
| status | run |
| result summary | 42/42 pan-fusion held (after resolving TCEB3 to ELOA), 1/110 AF4-specific held (KMT2D, written for nomenclature reasons). Mentions re-measured at 21/110 with 89 never mentioned; 6 of the 21 are mentioned only by the gap report, recovering the brief's 15 and 95. |
| shown for fusion | NO - nobody has looked in any fusion. This is a measurement about this corpus, not about biology. |
| epigenetic readout | none - a coverage audit. |
| absence class | measured-not-analysed |
| absence class note | The 104 members of the tail this beat did not adjudicate are unexamined, not absent: their peptide-level evidence is public in PXD009338 and their compartment annotations are in UniProt. Neither has been read for them individually. |
inputs
[ "analyses/skucha-mll-fusion-interactome/results.json (what_is_missing)", "analyses/q179-the-af4-specific-interactors-nobody-wrote/results.json (the dispatch figures)", "all node files under data/graph/nodes, 2026-09-24" ]
measurements — the numbers behind the chart
[
{
"quantity": "coverage_fraction",
"subject": "Skucha pan-fusion preys with an entry",
"value": 1,
"units": null,
"n": 42,
"universe": "the 42 preys of Skucha 2018 Suppl Table 5 recovered under all seven MLL-fusion baits, matched to gene-/protein- ids in the 3,056-id set of 2026-09-24",
"null": 0.009,
"note": "null column is the same quantity for the 110 MLL-AF4-only preys (1 of 110, KMT2D). A naive id match gives 41/42 because the sheet says TCEB3 and the graph says ELOA."
},
{
"quantity": "count",
"subject": "MLL-AF4-specific preys mentioned anywhere in the corpus",
"value": 21,
"units": null,
"n": 110,
"universe": "word-boundary match over 3,045 node files excluding this beat's folder, 2026-09-24",
"null": 15,
"note": "null column is the same count excluding the 6 symbols mentioned ONLY by the cycle-158 gap report, which reproduces the dispatch brief's figure exactly"
},
{
"quantity": "count",
"subject": "MLL-AF4-specific preys mentioned only by the gap report that reported the gap",
"value": 6,
"units": null,
"n": 110,
"universe": "same join; the six are ACADM, CEP112, ECHS1, GLUD1, PDHA1, RGPD8",
"null": 0,
"note": "null is what a coverage instrument should count for a symbol whose only appearance is in the entry saying it is unwritten"
}
]- A 100% coverage line on the PI's first stated priority is the most dangerous number in this project, because nothing will contradict it - no beat is dispatched to find the counter-example. This one held while 109 of 110 index-fusion-specific partners were unwritten and invisible.
- Should check-pi-dimensions.py's interactome line be computed against a union of IntAct AND the Skucha table rather than IntAct alone? It would fall sharply, and rule 93's instruction on instrument changes says to announce it carrying both numbers rather than silently re-baselining.
- How many other 100% lines in this project's reporters are 100% because the denominator excludes the hardest source? The interactome line is the one found; nobody has checked the others for the same shape.
- Of the 104 unadjudicated members of the tail, how many are already declinable on compartment alone without any further reading? The compartment audit puts 16 in the mitochondrial class and 58 in neither nucleus nor mitochondrion; a single pass could convert most of the list from 'unexamined' to 'declined on annotation' at low cost and would be an honest use of the granularity rule.
re-measures its coverage figures on the current corpus (21 mentioned / 89 never, recovering 15 / 95 once the gap report's own mentions are excluded) and adds the four mechanisms that produced the inversion
the tail is invisible to every coverage instrument precisely because IntAct never curated the source paper
the second of the four mechanisms: a reader skimming the tail correctly declines its mitochondrial members and stops reading
the sheet lists TCEB3 and this graph writes ELOA; resolving that retired symbol is what makes the pan-fusion coverage 42/42 rather than 41/42
the coverage inversion and the absence of any external validation are two views of the same fact: nobody, inside or outside this graph, has worked on the tail
the dataset's absence from IntAct, established here, is the third of the four mechanisms that produced the coverage inversion