The stricter null, and it partly reverses the last one (run)
also called variance-matched null · SD-matched comparison set
Our previous control compared each candidate gene against random genes, but many random genes barely vary at all and so can never look interesting. Comparing each candidate only against random genes that vary as much as it does changes the answer for three genes we had written off.
The same thing, for a scientist
Runs the variance-matched null that ana-depmap-null-distribution identified as the stricter test it had not performed. Each candidate is compared against random genes within 20% of its own standard deviation of gene effect across the same 54 leukemia lines. The top four survive unchanged, and MEF2C, KAT7 and MEIS1 now exceed their matched nulls, reversing part of the earlier deflation.
Why the previous null was the wrong comparison
The cycle-10 analysis drew 377 random protein-coding genes and recorded its own weakness plainly: "A random sample also includes many genes with little variance in gene effect, which biases the null toward zero... A variance-matched null would be the stricter test, and has not been run."
It turns out that null was wrong in two opposite directions at once, which is why the correction does not move everything the same way.
Too lenient in the middle. A gene whose CRISPR effect barely moves across cell lines cannot correlate with anything. Padding the null with such genes drags its centre toward zero and flatters every candidate.
Too harsh at the top. The plain null's ceiling was 0.641, set by a single high-variance random gene. That one gene then set the bar for every candidate, including low-variance ones for which it was never a fair comparator.
Matching on variance fixes both 1.
The result1 deeper
| Gene | r | SD of effect | matched null n | null max | beats matched null |
|---|---|---|---|---|---|
| KMT2A | 0.78 | 0.41 | 39 | 0.49 | yes |
| PSIP1 (LEDGF) | 0.69 | 0.37 | 33 | 0.49 | yes |
| DOT1L | 0.68 | 0.39 | 42 | 0.49 | yes |
| FLT3 | 0.65 | 0.48 | 38 | 0.49 | yes |
| MEF2C | 0.53 | 0.63 | 25 | 0.49 | yes |
| KAT7 | 0.52 | 0.27 | 56 | 0.47 | yes |
| MEIS1 | 0.47 | 0.28 | 49 | 0.45 | yes |
| DPY30 | 0.45 | 0.22 | 80 | 0.51 | no |
| BCL2 | 0.43 | 0.35 | 35 | 0.49 | no |
| MLLT1 | 0.43 | 0.30 | 38 | 0.45 | no |
| ACTB (control) | 0.15 | 0.38 | 31 | 0.49 | no |
| GAPDH (control) | 0.15 | 0.41 | 38 | 0.49 | no |
The controls sit at the 65th and 58th percentile of their own matched nulls, exactly where a null result should sit.
Three genes change status. MEF2C, KAT7 and MEIS1 were inside the range chance reached in the plain null and now exceed their matched nulls. The reason is mechanical: the 0.641 outlier that capped the old null has a variance profile unlike theirs, and once it is excluded their own comparison sets top out near 0.45 to 0.49.
What this does not license
The matched nulls contain only 25 to 80 genes. An empirical p of "0.0" therefore means below 1 in 25 to 1 in 80, not below one in a thousand. Across ten candidates, none of these p-values would survive strict multiple-testing correction on its own.
So the correct statement is: MEF2C, KAT7 and MEIS1 are no longer excluded by the null, not that they are established. DPY30, BCL2 and MLLT1 remain unexcluded and unsupported, sitting at the 94th to 98th percentile.
The top four are a different case. They beat their matched nulls by 0.16 to 0.29 in correlation, which is not a marginal call at any sample size.
The methodological point worth keeping
Two nulls, built from the same data with the same anchor and the same cell lines, disagree about three of ten genes. Neither was wrong about the top four, and neither was fabricated. The difference is entirely in which random genes were considered comparable.
That is worth remembering whenever this project reports an empirical p-value. A null is a modelling choice, not an objective fact, and a result that flips between two defensible nulls should be reported as unresolved rather than as whichever null was run second.
On that standard: the top four are robust, and the middle three are unresolved.
Superseded in part
ana-depmap-null-deep-pool reran this at six times the pool depth. The top four hold. This entry's claim that MEF2C, KAT7 and MEIS1 'now exceed their matched nulls' does not replicate: only MEF2C does, and MEIS1 fails Holm correction. The deeper reason is that the criterion used here — exceeding the maximum of the null — gets mechanically stricter as the null grows, so it cannot be compared across pool sizes. Read this entry for the variance-matching argument, which stands, and the deep-pool entry for the numbers.
| script | analyses/depmap-null-variance-matched/run.py |
|---|---|
| status | run |
| run date | 2026-09-18 |
| answers open question from | ana-depmap-null-distribution |
| method | random genes matched within +/-20% of each candidate's SD of gene effect across the same 54 leukemia lines; tolerance widened if fewer than 25 matches |
| seed | 20260918 |
| n random usable | 459 |
| n leukemia lines | 54 |
| resolution limit | matched nulls of 25-80 genes give an empirical p floor of 1/25 to 1/80 |
| figure | analyses/depmap-null-variance-matched/results.md |
beats matched null
[ "KMT2A", "PSIP1", "DOT1L", "FLT3", "MEF2C", "KAT7", "MEIS1" ]
does not
[ "DPY30", "BCL2", "MLLT1" ]
controls
[
{
"gene": "ACTB",
"r": 0.1539,
"percentile": 64.52
},
{
"gene": "GAPDH",
"r": 0.1498,
"percentile": 57.89
}
]status changes vs plain null
[ "MEF2C", "KAT7", "MEIS1" ]
- A result that flips between two defensible nulls should not be used to pick a target. The middle three are unresolved, and treating the newer null as authoritative simply because it ran second would repeat the error this analysis exists to expose.
- An empirical p reported as zero from a 25-gene comparison set invites over-reading. The floor is 1/n and the entry says so.
- ANSWERED by ana-depmap-null-deep-pool: a 2,743-gene pool does tighten the floor, and it shows the disagreement was caused by the pass criterion. 'Exceeds the null maximum' is an order statistic that rises with pool size, so this entry's central comparison was not sound. MEF2C and KAT7 survive Holm correction on the deeper pool; MEIS1 does not.
- The matched nulls are small because the random pool is 459 genes. Would a pool of several thousand tighten the p-value floor enough to make the mid-table interpretable?
- Variance matching does not address lineage restriction within leukemia, which remains the confounder no analysis in this project has removed.
- KAT7 now exceeds its matched null and is already a target with chemical matter. Does that change its priority relative to LEDGF?
- E1moderate confidence 3 of 5: One strong study, or several smaller consistent ones.dataset
Against nulls matched to each candidate within 20% of its standard deviation of gene effect across 54 leukemia lines, KMT2A (0.78), PSIP1 (0.69), DOT1L (0.68), FLT3 (0.65), MEF2C (0.53), KAT7 (0.52) and MEIS1 (0.47) all exceed their matched null maxima, while DPY30, BCL2, MLLT1 and the controls ACTB and GAPDH do not.
DepMap CRISPR (Chronos) gene effect via the Open Targets Platform GraphQL API, with variance-matched random-gene nulls drawn from the HGNC protein-coding catalogue; analysis in analyses/depmap-null-variance-matched/ · Broad Institute DepMap; HGNC; Open Targets Platform; analysis run by this project · Databases and derived analysis 2026What this evidence cannot show
Our own computation, not peer reviewed. Matched nulls contain only 25 to 80 genes, so an empirical p of zero means below 1/n rather than a small number, and none of the mid-table results would survive multiple-testing correction. Variance matching removes one confounder and does not address lineage restriction within leukemia. 54 leukemia lines, none infant or KMT2A-rearranged-specific. DepMap release version unverified.
Evidence that argues against this (1)
- The plain random null run in the previous cycle reached a maximum of 0.641, and against that comparison set MEF2C, KAT7 and MEIS1 did not stand out. Two defensible nulls disagree about these three genes, which is itself the reason to treat them as unresolved. analysis run by this project 2026
- ← refutesSix times the null pool, and the criterion I had been using turns out to be the problem (run)
at six times the pool depth, cycle 17's reversal for KAT7 and MEIS1 does not replicate on its own criterion; the criterion itself is unstable
answers the open question it raised, and reverses its verdict on three genes
- supports →KAT7 / HBO1 — an enzyme, a leukaemia-stem-cell dependency, and an inhibitor already in a crystal
KAT7 exceeds its variance-matched null, unlike under the plain null
- supports →Step 5 — The output program: HOXA9/HOXA10/MEIS1/PBX3 plus MEF2C, MYB, BCL2, FLT3 and PROM1/CD133
MEIS1 exceeds its matched null; the output program shows as a co-dependency once the comparison is fair
LEDGF survives every null this project has built
KAT7 changing status may change its priority relative to LEDGF
rebuilds the variance-matched null on the centred statistic, because a centred r cannot be compared against a raw null