Oncofusion

start / graph / ana-the-absence-tokens-are-mostly-right-and-the-scoping-lives-in-prose

Analysismoderate confidence 3 of 5: One strong study, or several smaller consistent ones.king

I audited whether a valid absence token is the RIGHT token, expecting the gene-nbn error to be widespread. It is not: 3 of 4 read were correctly scoped, the scoping is done in prose, and 39 of 40 flagged entries carry no machine-readable scope

also called absence token correctness · absence_class_scope · never-measured audit · the detector over-fires on depmap

Last cycle we found one entry whose gap label was wrong, so this checked whether that was common. It is not - the labels read correctly, and where an entry means something narrow it says so clearly in its own text, just not in a form a program can read.

The same thing, for a scientist

Cycle 68 found `gene-nbn` carrying `never-measured` over a field that falsely denied four existing ENCODE experiments, and raised the question of how many valid tokens are the wrong token. Of 222 entries with a valid `absence_class`, **99 are `never-measured`** - the strongest and most falsifiable claim. A mechanical narrowing found **33 of 99 name a data accession inside their own `data` block** and **40 of 99 carry a field name asserting a measurement**. Both filters **over-fire badly**: most hits are `depmap`, which measures fitness and is a different axis from the absence, or metadata names like `date_measured` and `alias_split_measured`. Reading four candidates: **`gene-eloa`, `gene-cbx1` and `ana-q37-a-damage-state-...` are all correctly scoped, and only `gene-nbn` was wrong** - and its error was a **false factual claim inside a field**, not a mis-scoped class. **The hypothesis that wrong tokens are widespread is not supported.** The one number that survives is structural: of the 40 flagged, **39 have no `absence_class_note`**, so the scoping that entries plainly do in prose is invisible to any program.

Go deeper
I called gene-cbx1 an error mid-audit and it is not one

The detector flagged gene-cbx1 because it holds a field named encode_occupancy_at_kmt2a_measured_by_this_beat, and I wrote that this was the same shape as gene-nbn: we measured it and never changed the label. That was wrong, and reading the entry is what showed it. Its fields are careful and mutually consistent:

  • shown_for_fusion — "NO — nobody has looked in any KMT2A fusion"
  • localization_shown_for_fusion — "NO — nobody has looked in any fusion. Newly bounded at the KMT2A locus by this beat in K562 and HepG2 (ENCODE), both negative."
  • cell_type — "measured here in K562 and HepG2; no measurement in a haematopoietic progenitor or a KMT2A-rearranged cell"

So never-measured is correct for the claim the entry is making — never measured in a KMT2A-rearranged cell — and the entry states that scope three separate times. I pattern-matched a field NAME onto the previous cycle's error and reached for the conclusion before reading. The detector narrowed 99 to 40; it did not adjudicate, and treating its output as a verdict is exactly the failure this project keeps recording.

What the two filters actually select for
filterhits of 99what dominates the hits
own data block names a data accession33PRIDE PXD009338 cited by seven Elongin/nucleoporin entries as the only relevant deposition, i.e. cited to BOUND the absence rather than to contradict it
a field NAME asserts a measurement40depmap — a fitness measurement, a different axis from "nobody has looked at this protein at the KMT2A locus"; plus date_measured, alias_split_measured, cell_types_measured, which are metadata

An accession inside a never-measured entry is usually evidence the author did the work. ana-q37-a-damage-state-resection-occupancy-dataset-does-exist-and-it-cannot-reach-the-kmt2a-locus names 23 accessions and its token is right: a damage-state dataset exists, it cannot reach KMT2A because there are no AsiSI sites in the gene body, so the locus has genuinely never been measured in a damage state. The accessions are the bound, not a contradiction of it.

The finding that survives is about scope, not correctness

39 of the 40 flagged entries carry no absence_class_note. The single exception is gene-nbn, where I added one last cycle. Yet the entries are doing the scoping — gene-cbx1 states its scope three times in prose, and gene-eloa's note reads "No instrument has been pointed at Elongin A in a KMT2A-rearranged cell outside the two screen hosts. The MOLM-13 shRNA score is separately measured-not-reported." That is precisely the field's purpose, written by an author two cycles before the field was formalised.

So the corpus is more careful than its schema. The cheap fix proposed last cycle is the right one and this audit strengthens it: a absence_class_scope naming WHICH gap the token describes — one field, no prose rewritten, and it would have stopped me misreading gene-cbx1 in the first place. The array schema (absences: [{what, class, basis}]) remains the fuller answer and the more expensive one.

Facts and figures
valid token entries222
never measured naming an accession in own data33
never measured with a measurement field name40
of those 40 carrying an absence class note1
hypothesis testedthat wrong tokens are widespread
verdictNOT SUPPORTED on what was read; the structural gap is scope, not correctness
proposed cheap fixabsence_class_scope, one field naming WHICH gap the token describes
measured2026-09-23, king, cycle 69
token distribution
unclassified-not-checked3.000unclassified-not-checked: 3measured-not-curated4.000measured-not-curated: 4measured-not-searched9.000measured-not-searched: 9literature-absence-bounded14.0literature-absence-bounded: 14measured-not-reported23.0measured-not-reported: 23measured-not-analysed70.0measured-not-analysed: 70never-measured99.0never-measured: 99
token distribution — the numbers behind the chart
{
  "never-measured": 99,
  "measured-not-analysed": 70,
  "measured-not-reported": 23,
  "literature-absence-bounded": 14,
  "measured-not-searched": 9,
  "measured-not-curated": 4,
  "unclassified-not-checked": 3
}
read in full
{
  "gene-nbn": "TOKEN WRONG (cycle 68) - a field falsely denied 4 ENCODE experiments",
  "gene-cbx1": "correctly scoped - states 'no measurement in a KMT2A-rearranged cell' three times; I called it an error mid-audit and was wrong",
  "gene-eloa": "correctly scoped, and already used absence_class_note two cycles before the field was formalised",
  "ana-q37-a-damage-state-...": "correct - 23 accessions cited to BOUND the absence; no AsiSI site in the KMT2A gene body"
}
Still open
  1. Sample the 59 never-measured entries that NEITHER filter flagged. Both filters key on field names and accessions, so a token that is wrong in a quiet entry is invisible to them, and that is where an unbiased estimate has to come from. Twenty read at random would give the rate this audit cannot.
  2. Should absence_class_scope be required rather than optional? 39 of 40 flagged entries lack any machine-readable scope while plainly carrying one in prose, so the field would be recording something that already exists rather than asking authors for new work.
  3. The seven Elongin and nucleoporin entries all cite PXD009338 as the only relevant deposition. Nobody has opened it. If that one proteomics deposit is the sole bound on seven absences, its contents decide seven entries at once.
Every source behind this entry (1)
  1. E1moderate confidence 3 of 5: One strong study, or several smaller consistent ones.computation_on_this_corpus

    Of 222 entries carrying a valid absence_class, 99 are never-measured. 33 of those 99 name a data accession (GSE/GSM/ENCSR/ENCFF/SRX/PXD/PRJNA/E-MTAB) inside their own data block, and 40 carry a field name asserting a measurement. Four candidates were read in full: gene-nbn (token wrong in cycle 68 because a field falsely denied four existing ENCODE experiments), gene-cbx1, gene-eloa and ana-q37-a-damage-state-resection-occupancy-dataset-does-exist. The last three are correctly scoped. 39 of the 40 flagged entries carry no absence_class_note.

    Correctness audit of never-measured absence tokens against each entry's own evidence, Oncofusion corpus · king, Oncofusion knowledge graph, cycle 69 · docs/king-log/2026-09-23-cycle-69.md 2026
    What this evidence cannot show

    **Four entries read is not a rate.** Three-of-four correct has a Wilson 95% CI of roughly 30-95%, which is consistent with almost any underlying error rate, and the four were chosen because a filter flagged them rather than at random - so they are the entries MOST likely to be wrong, which makes 3 of 4 correct more reassuring than a random sample would be but still not a measurement. The claim here is narrow: the hypothesis that wrong tokens are WIDESPREAD is unsupported, not that the rate is zero. The 39-of-40 figure is a complete count of the flagged set and does not have this limitation.

    Evidence that argues against this (2)
    • The audit is also self-serving in a way worth naming: I designed the filters, I read the four, and I am the author of some of the entries. A filter I built that over-fires on `depmap` produces a flagged set I can then declare mostly correct, and the reassuring conclusion costs me nothing. An independent check would sample the 59 never-measured entries my filters did NOT flag - the ones where nothing in the field names suggests a measurement - because a token that is wrong in a quiet entry is exactly what neither filter can see.
    • And one reading of gene-cbx1 still favours a defect, though not the one I claimed. Its `localization_shown_for_fusion` says the locus was 'newly bounded by this beat in K562 and HepG2, both negative' - so for the LOCUS question the right class is measured-and-negative, while for the FUSION question it is never-measured. Two gaps, two classes, one token. The entry is not wrong; it is the same single-valued-field problem documented last cycle, and calling it 'correctly scoped' is only true because the reader supplies the scope.
Connected to