42.5% of every node in this corpus names a histone mark, so 'names a mark' is a weak instrument - but it is not noise, and the two types where it collapses are the ones that tell you it is measuring something
also called q181 mark base rate · epi_text null
This project's coverage tool gives an entry credit for epigenetics if a histone mark is named anywhere in it. Almost half of everything in the whole knowledge graph names a histone mark, because the whole project is about a chromatin disease - so that credit is worth much less per entry than it looks.
The same thing, for a scientist
Rule 84 requires the null before a proportion is reported. The epigenetics line's second test, epi_text, credits an entry when _EPI_MARK finds a specific mark token anywhere in the serialised entry. Over the 541 gene/protein population that returns 54.7%. The null nobody had written down is the corpus-wide rate: 1,289 of 3,032 nodes of all types (42.5%) name a mark. The gene/protein population therefore sits only 12.2 points above a base rate driven by the fact that this is a knowledge graph about a histone-methyltransferase fusion. The instrument is weak but it is NOT vacuous: the rate varies from 56.1% (protein) and 52.9% (experiment) down to 23.2% (drug), 20.4% (risk) and 0.0% (epidemiology, 0 of 41), a spread no uniform contaminant would produce. The practical consequence is that epi_text should never be used to certify an individual entry, and the 54.7% should never be quoted as if it were 54.7% of entries knowing their subject's chromatin context.
The null, by node type
1,289 of 3,032 nodes name a mark: 42.5% 1.
| node type | names a mark | n | rate |
|---|---|---|---|
| protein | 137 | 244 | 56.1% |
| experiment | 100 | 189 | 52.9% |
| gene | 177 | 348 | 50.9% |
| mechanism | 183 | 363 | 50.4% |
| hypothesis | 88 | 178 | 49.4% |
| fusion | 27 | 59 | 45.8% |
| analysis | 384 | 883 | 43.5% |
| partner_interface | 26 | 86 | 30.2% |
| concept | 80 | 289 | 27.7% |
| drug | 13 | 56 | 23.2% |
| risk | 11 | 54 | 20.4% |
| epidemiology | 0 | 41 | 0.0% |
The epidemiology row is the control that proves the instrument is not noise. Forty-one incidence, survival and population entries, and not one names a histone mark -- exactly as it should be. A regex firing at random on a corpus this saturated with chromatin language would not produce a clean zero on a 41-entry stratum.
What the base rate does and does not license
Does not license: treating any individual entry's mark mention as evidence that the entry records its subject's chromatin context. At a 42.5% base rate, a single token carries little. The hand-read in ana-q181-the-thinnest-pi-dimension-is-half-a-notation-problem found 5 of 20 sampled stratum-B mentions were boilerplate about another protein or a citation title.
Does license: using the 12.2-point lift of the gene/protein population over the corpus base rate as weak aggregate evidence, and using the per-type spread as a validity check on the regex itself.
And it changes how the headline gap should be read. The 39.2%-to-54.7% gap between the two epigenetics lines was the prompt for this beat: a quarter of entries name a mark in prose and get no field credit. That framing treats the 54.7% as the truer number. It is not -- it is a generous number with a 42.5% floor under it. The right correction is not to promote epi_text, it is to stop using either line alone.
The sharpest mark in the corpus is the index fusion's own
Within the 134 stratum-B entries the mark counts are H3K4 284, H3K79 205, H2A.Z 168, H3K9 118, H3K27 98, H3K36 74, bivalent 64, H2AK119 43, H4K16 27, CpG island 25, 5mC 18 1. H3K4 and H3K79 together are 489 of roughly 1,180 tokens. Those are precisely the two marks the KMT2A::AFF1 axis is defined by, which is why the base rate is as high as it is: a mention of H3K79me2 in an arbitrary entry is very often a statement about the fusion, not about that entry's subject. That is the mechanism by which epi_text over-credits, and it is not correctable by widening the regex.
| script | analyses/q181-is-the-epigenetics-gap-real/baserate.py |
|---|---|
| status | run |
| generated | 2026-09-24 |
measurements
[
{
"quantity": "corpus-wide base rate of naming a histone mark",
"value": 42.5,
"units": "percent",
"n": 3032,
"subject": "check-pi-dimensions.py's _EPI_MARK regex over every node file of every type",
"universe": "all 3,032 node files at commit ac2aeab, 2026-09-24",
"null": null,
"note": "this IS the null for the 54.7% epi_text line; lift is 12.2 points"
},
{
"quantity": "epi_text rate in the node type where it should be zero",
"value": 0,
"units": "percent",
"n": 41,
"subject": "epidemiology nodes - incidence, survival, population",
"universe": "41 epidemiology nodes at commit ac2aeab",
"null": 42.5,
"note": "the discrimination control: 0 of 41 against a 42.5% corpus base rate"
}
]- What is the base rate among gene/protein entries that are NOT chromatin proteins? That, not the corpus-wide 42.5%, is the null the 54.7% should be judged against, and computing it requires the same hand classification this beat sampled rather than enumerated.
- H3K4 and H3K79 are 489 of ~1,180 mark tokens in stratum B. How many of those occurrences are statements about KMT2A::AFF1 rather than about the entry's subject? A dependency parse or a same-sentence symbol co-occurrence test would bound it; neither was run.
- Do the other four PI dimension lines have base rates this high? Nobody has written down the null for 'names a cell type' or 'names a compartment', and the localization line at 77.4% is the one most likely to be sitting on one.
- E1established confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.dataset
Over all 3,032 node files in the corpus, 1,289 (42.5%) contain a token matched by check-pi-dimensions.py's _EPI_MARK regex; the rate by node type ranges from 56.1% (protein, 137/244) to 0.0% (epidemiology, 0/41), and within the 134-entry stratum B the commonest mark tokens are H3K4 (284 occurrences) and H3K79 (205).
What this evidence cannot show
Token occurrences are counted with re.findall over the serialised entry, so a mark named ten times in one entry contributes ten, and the H3K4/H3K79 dominance is partly an artefact of long entries repeating a mark. The per-entry rates in the table are binary and unaffected. Three node types with fewer than 50 members are included in the table and their rates are unstable.
Evidence that argues against this (2)
- A 42.5% corpus-wide rate is the wrong null for the specific question the epigenetics line asks. The line scores gene and protein entries, and the honest null is the rate among gene/protein entries that are NOT chromatin proteins - which this analysis did not compute, because deciding which those are is the same judgement call the parent analysis had to sample for. Against that unmeasured null the 54.7% might be a much larger or much smaller lift than the 12.2 points quoted here.
- The clean epidemiology zero is offered as proof the instrument discriminates, but it proves less than it looks: epidemiology entries are short, numeric and about populations rather than molecules, so ANY molecular regex would return zero on them. A stronger control would be a node type that is molecular and non-chromatin, and this corpus does not have one as a type.
king verification of the q181 beat: stratum A audited and clean, three further regex blind spots, and one king correction withdrawn
supplies the null (42.5% corpus-wide) under the 54.7% epi_text line the triage rests on