Cycle 81 named lineage as the single biggest hole in the ARID1B paralogue-buffering result. Permuting ARID1A status only WITHIN lineage strata moves the estimate from -0.2985 to -0.2961 - a change of 0.0024 - with p = 0.00140, the instrument check surviving, both specificity controls flat and zero mutant lines dropped. Lineage explains none of it
also called the lineage-conditioned ARID1B contrast · did lineage explain the buffering signal · cycle 81's biggest hole, closed
The previous finding was that switching off the gene ARID1B matters much more in cells whose partner gene ARID1A is already broken - but ARID1A tends to be broken in particular cancer types, so the whole effect might have been about which tissue the cells came from rather than about the gene. This repeats the comparison in a way that can only ever compare cells of the same cancer type with each other, so tissue of origin is held fixed by construction. The answer barely moves: the effect size changes by about two parts in a thousand and remains statistically clear, while the internal checks that validate the comparison all still behave, so tissue of origin explains essentially none of the original result.
The same thing, for a scientist
**Statement.** `ana-arid1bs-flat-dependency-was-paralogue-buffering-and-my-own-caveat-was-right` (cycle 81) found ARID1B's CRISPR dependency at **−0.3709** in ARID1A-mutant lines against **−0.0724** in wild-type (difference −0.2985, 20,000-permutation two-sided p = 0.00020). Its counter-evidence named one hole and called it the biggest: **ARID1A-mutant lines are lineage-enriched, and lineage rather than ARID1A status could drive ARID1B dependency.** That hole is now closed. **Why cycle 81's permutation could not answer it.** It shuffled ARID1A status across all 1,208 screens, so its null destroyed the mutant group's **lineage composition** along with the ARID1A signal. A difference can be significant under that null purely because the 11 mutant lines share a lineage with a high ARID1B requirement. **The fix: permute ARID1A status ONLY WITHIN lineage strata.** The null then reproduces the mutant group's lineage composition exactly and varies only *which* lines within each lineage are called mutant. Lineage is held fixed by construction rather than adjusted for. | gene | conditioned difference | stratified p | cycle 81 unstratified | |---|---:|---:|---:| | **ARID1B** | **−0.2961** | **0.00140** | −0.2985 (p = 0.00020) | | **ARID1A** *(instrument check)* | **+0.1943** | **0.02345** | +0.1925 (p = 0.04390) | | ARID2 *(specificity)* | +0.0535 | 0.53827 | +0.0452 | | SMARCA4 *(specificity)* | +0.0421 | 0.68032 | +0.0313 | **9 usable strata, 11 mutant against 356 wild-type screens, and ZERO mutant lines dropped** — every one of the 11 sits in a stratum containing at least one wild-type line, so no mutant line was excluded for want of a comparator. **The estimate moved by 0.0024.** That is the result. Not "the effect survived with a weakened estimate" — conditioning on lineage changed the difference from −0.2985 to −0.2961, roughly a hundredth of the effect itself. The p-value rose from 0.00020 to 0.00140 exactly as expected, because stratification removes permutable information and therefore power; it remains an order of magnitude below 0.05. **Both guard conditions behave.** The ARID1A instrument check — ARID1A's own dependency must still fall away in the lines called ARID1A-mutant — **survives stratification** at +0.1943, p = 0.02345, so the strata are not too thin to test anything. And **neither specificity control becomes significant** (p = 0.54 and 0.68), so stratification is not manufacturing an artefact. Pre-registered verdict: **P1 HOLDS.**
The lineage label over-splits, and that makes this conservative rather than weak
The stratifying variable is Open Targets' diseaseFromSource, a disease string and not a curated lineage ontology. It over-splits: subtypes of one tissue become separate strata, and 9 usable strata out of the full label set is a fine-grained partition.
Over-splitting removes permutable information, which can only hurt the effect's apparent significance. Every line that ends up in a stratum with no counterpart of the other class contributes nothing to the permutation. So a surviving effect under an over-split label is stronger evidence than a surviving effect under a coarse one — the test was handed less to work with and the answer held anyway.
What over-splitting cannot do is manufacture the effect. The permutation only ever compares lines carrying the same disease label with each other, so no amount of splitting can let a between-lineage difference leak in.
The honest residual: a disease label is not a perfect lineage proxy in the other direction either. Two strings could describe the same tissue ("gastric adenocarcinoma" and "stomach cancer"), splitting a genuine stratum and discarding usable comparisons. That again costs power rather than creating signal. The exact strata and their mutant/wild-type counts are printed in results.json for anyone who wants to re-stratify on a curated ontology.
What this does and does not settle
Settled: lineage does not explain the ARID1B buffering signal. That was cycle 81's own nominated biggest hole and it is closed on the evidence available in this dataset.
Not settled, and unchanged from cycle 81:
- The pre-registered PRIMARY stratum is still underpowered. Cycle 81 declared truncating-only ARID1A calls as primary; it had 4 usable lines. This analysis inherits the ANY-mutation stratum, so it inherits the missense-dilution problem: some of the 11 "mutant" lines may have functionally intact ARID1A.
- Zero leukaemia lines are in the test. There is not one truncating-ARID1A leukaemia line with DepMap data. Buffering is established for cBAF pan-cancer and remains an inference, not a measurement, in KMT2A-rearranged cells — which is the only context this project cares about.
- n = 11 is still n = 11. A leave-one-out at that size is cheap and would say whether the effect rests on one or two lines. It was named in cycle 81's open questions and is still not run.
So this raises cycle 81's confidence from moderate on one specific axis — the lineage confound — and leaves the other three limits exactly where they were. Confidence here is moderate for the same reasons, not strong.
| method | permutation of ARID1A mutation status WITHIN lineage strata only, so the null reproduces the mutant group's lineage composition exactly |
|---|---|
| why cycle 81s test could not answer this | its permutation shuffled status across all 1,208 screens, destroying lineage composition along with the ARID1A signal - so a difference could be significant purely because the 11 mutant lines shared a high-requirement lineage |
| lineage proxy | Open Targets diseaseFromSource - a disease string, not a curated lineage ontology. It OVER-SPLITS, which removes permutable information and makes the test conservative; it cannot manufacture signal because the permutation only ever compares same-label lines. |
| n strata usable | 9 |
| n mutant in usable strata | 11 |
| n wt in usable strata | 356 |
| n mutant dropped single class strata | 0 |
| the headline | the estimate moved by 0.0024 - from -0.2985 to -0.2961 - which is about one hundredth of the effect itself. The p rose from 0.00020 to 0.00140 exactly as expected, because stratification removes permutable information and therefore power. |
| verdict | P1 HOLDS - the effect survives lineage conditioning; lineage cannot explain cycle 81's result |
| absence class | measured-not-analysed |
| absence class note | The lineage labels and gene-effect values needed for this test have been public and queryable for the life of this project, and cycle 81 named the analysis as its single biggest hole. It went unrun for one cycle. Not never-measured: the data exists and the test costs one script run. |
| seed | 20260923 |
| n permutations | 20000 |
| depmap release | NOT STATED BY THE OPEN TARGETS API |
| pulled | 2026-09-23 |
| open targets dataVersion | 26.06, fetched live in cycle 86 via {meta{dataVersion{year month iteration}}}. This is the OPEN TARGETS PLATFORM release and NOT a DepMap release name - the DepMap release itself is genuinely not stated, which is what the 'release not stated' caveats in these entries correctly mean. Recording it because it is the only version anchor available and these entries were omitting it. |
results — the numbers behind the chart
{
"ARID1B": {
"conditioned_diff": -0.2961,
"stratified_p": 0.0014,
"cycle_81_diff": -0.2985,
"cycle_81_p": 0.0002
},
"ARID1A_instrument_check": {
"conditioned_diff": 0.1943,
"stratified_p": 0.02345,
"cycle_81_diff": 0.1925,
"cycle_81_p": 0.0439
},
"ARID2_specificity": {
"conditioned_diff": 0.0535,
"stratified_p": 0.53827
},
"SMARCA4_specificity": {
"conditioned_diff": 0.0421,
"stratified_p": 0.68032
}
}guard conditions both behave
{
"instrument_check_survives": true,
"specificity_controls_stay_flat": true,
"why_that_matters": "if the ARID1A check had failed, thin strata would be the explanation and the run would be UNINTERPRETABLE rather than negative; if a specificity control had become significant, stratification would be manufacturing an artefact. The script encodes both as verdicts rather than leaving them to judgement."
}what this does NOT settle
[ "mutation call quality - it inherits the ANY-mutation stratum because the truncating-only primary had 4 usable lines", "leukaemia relevance - ZERO leukaemia lines are in the test, so buffering is pan-cancer and an inference in KMT2A-rearranged cells", "n = 11 - a leave-one-out is cheap, named in cycle 81's open questions, and still not run" ]
- How concentrated is the mutant group's lineage distribution actually? If it was never very different from the wild-type pool, this test confirms an absence rather than removing a threat - and the 9 strata with their counts in results.json would show it directly. Not computed.
- DepMap publishes functionally-annotated mutation calls. Using them instead of parsing Cellosaurus free text would likely lift the truncating-only stratum above the minimum group size and let cycle 81's pre-registered PRIMARY analysis actually run - which is now the largest untouched limit.
- Leave-one-out at n=11. Cheap, named two cycles ago, still not run, and it is the cheapest thing that could show the effect rests on one or two lines.
- E1moderate confidence 3 of 5: One strong study, or several smaller consistent ones.analysis
Permuting ARID1A mutation status only within lineage strata defined by Open Targets diseaseFromSource, across 9 usable strata containing 11 ARID1A-mutant and 356 wild-type DepMap screens with zero mutant lines dropped, ARID1B's gene-effect difference is -0.2961 with a stratified 20,000-permutation two-sided p of 0.00140, against cycle 81's unstratified -0.2985 (p = 0.00020). The ARID1A instrument check survives stratification at +0.1943 (p = 0.02345) and neither specificity control becomes significant: ARID2 +0.0535 (p = 0.53827) and SMARCA4 +0.0421 (p = 0.68032).
analyses/depmap-arid1b-lineage-conditioned/run.py and results.json, this repository; DepMap Chronos via Open Targets GraphQL, ARID1A variant annotation from Cellosaurus, pulled 2026-09-23 · Oncofusion knowledge graph, coordinator · internal analysis, reproducible from the repository 2026What this evidence cannot show
THIS CLOSES ONE OF CYCLE 81'S FOUR LIMITS AND LEAVES THREE UNTOUCHED, so confidence stays moderate. (1) It inherits the ANY-mutation stratum, because cycle 81's pre-registered PRIMARY stratum of truncating-only ARID1A calls had 4 usable lines and was underpowered - so some of the 11 'mutant' lines may have functionally intact ARID1A, biasing the difference toward zero. (2) ZERO leukaemia lines are in the test; there is not one truncating-ARID1A leukaemia line with DepMap data, so buffering is established for cBAF pan-cancer and remains an INFERENCE, not a measurement, in KMT2A-rearranged cells. (3) n = 11 mutant lines is small and a leave-one-out - named in cycle 81's open questions - is still not run. (4) The stratifying variable is a DISEASE STRING, not a curated lineage ontology; it over-splits, which costs power and cannot manufacture signal, but two strings describing one tissue would discard usable comparisons. The DepMap release is not stated by the Open Targets API; figures carry the pull date 2026-09-23.
Evidence that argues against this (3)
- The most serious remaining objection is not lineage but MUTATION CALL QUALITY, and this analysis does nothing about it. Cellosaurus 'Mutation' is free text and includes missense of unknown consequence; the truncating-only stratum that would isolate genuine loss of function has 4 usable lines. If the 11-line group is driven by a handful of genuinely null lines with the rest contributing noise, the effective n is far below 11 and BOTH the unstratified and stratified permutation p-values - which treat all 11 as exchangeable within their strata - overstate the evidence. Lineage conditioning cannot help with that, and DepMap's own functionally-annotated mutation calls are the untried route.
- That the estimate moved by only 0.0024 could also indicate the stratification did very little work - i.e. that the lineage distribution of the 11 mutant lines was not in fact very different from the wild-type pool, in which case the original confound was never large and this test confirms an absence rather than removing a threat. The 9 usable strata and their counts are in results.json and would show this directly; I did not compute how concentrated the mutant group's lineage distribution actually is, which is the number that would distinguish 'the confound was removed' from 'there was little confound to remove'.
- This is the third consecutive cycle in which I have re-measured my own prior result and found it stood or strengthened. That pattern deserves suspicion rather than satisfaction: the pre-registration, indifference band, instrument check and specificity controls were all declared before the pull, but they were declared by the same person who wanted the earlier result to hold, and no second party has scored any of it. The strongest available mitigation - that the script, its pre-registration and its raw output are all committed and re-runnable - is a reproducibility guarantee, not an independence one.
closes that entry's own nominated biggest hole: permuting ARID1A status WITHIN lineage strata moves the estimate from -0.2985 to -0.2961, a change of 0.0024, at p = 0.00140, with the instrument check surviving and both specificity controls flat
the template that entry named; this applies within-stratum permutation rather than adjustment, so lineage is held fixed by construction
ARID1B's dependency in ARID1A-disrupted lines is not a lineage artefact - the effect is unchanged when only same-disease-label lines are compared with each other
deflates that entry's contribution: the mutant group's lineage distribution is NOT unusually concentrated (permutation p = 0.42083, largest share 2 of 11), so its stratification had little confound to remove and 'lineage explains none of it' confirms an absence rather than defeating a threat
redoes cycle 84's test at 11x power: 29 usable strata instead of 9, and THIS TIME there was a real confound to remove - lineage concentration permutation p = 0.00020 against 0.42083 at n=11