Oncofusion

start / graph / concept-a-normalisation-only-moves-the-zero-line

Explainerestablished confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.Q138-absolute-h3k79me2

Every per-sample normalisation is a constant multiplier: it never changes the shape, it only moves the line between 'gained' and 'lost' - which is why 'share', 'raw' and 'absolute' give the same ranking and three different answers to 'did this go up?'

also called share = absolute / G, absolute = raw x K · the zero line is the only thing normalisation decides · why a spike-in matters and a share does not

If you divide every measurement in a sample by the same number, the order of the measurements does not change at all - only the point at which you would call something bigger or smaller than it was. That is the whole job of a normalisation, and it is why two analyses of identical data can agree about which genes changed most and disagree completely about whether anything went up.

The same thing, for a scientist

**The two identities, written together for the first time in this corpus.** Let `raw(g)` be a deposited signal, `G` the global change and `K` a spike-in scale factor. Then for any gene g and any treated/control pair: > `share_ratio(g) = absolute_ratio(g) / G` > `absolute_ratio(g) = raw_ratio(g) x K` Both `G` and `K` are **one number per contrast**. So: - **The shape is invariant.** Every ranking, every correlation, every permutation p-value computed on gene-level ratios is identical under all three conventions. A share-based gradient and an absolute gradient have exactly the same shape. - **The level is not.** The threshold at which a ratio reads as 'gained' moves by G in one case and by 1/K in the other, and both can be far from 1. **Measured consequences of getting this wrong, both from this corpus:** | the error | what it produced | |---|---| | reading a share as absolute | 34 of 66 strata read as gains of up to +440% while actually losing up to 68% of signal | | reading a raw ratio as absolute | a decile reported as 'GAINED 66%' had lost 76.5% | **The rule.** A number labelled 'absolute' must name the constant that put it there. If it cannot, it is a raw ratio and the zero line is wherever the library depth happened to fall.

Go deeper
What a spike-in actually buys, stated exactly

A spike-in does not tell you which genes changed most - the raw table already does, and so does a share. It tells you where zero is, and nothing else.

That sounds like a small thing and is not, because almost every biological question of interest is a sign question: did this locus gain the mark or lose it? Is this class spared? Did the drug redistribute the mark or remove it? All of those are read off the zero line, and the zero line is precisely what a within-sample statistic cannot supply.

Conversely, if a question is purely comparative - 'which of these two genes lost more' - a spike-in adds nothing and its absence is not a defect. A great deal of published chromatin work is of that kind and is unaffected by any of this. 1

The practical checks that follow
  1. Name the constant. Any field called absolute_* should carry the scale factor beside it. In this beat that is K = dm6_reads(DMSO)/dm6_reads(treated), ranging 0.067 to 0.229 across twelve contrasts.
  2. Check the arithmetic of the numbers, not the filename. A file named ..._+_dm6_spike-in_... in this very deposit contains unscaled counts; the test that caught it was that every value lay on a 0.04 grid.
  3. When you report a ranking, say it is a ranking. It is the half of the result that survives every normalisation choice and it should be stated as the robust half, not buried under magnitudes that do not.
  4. Two scale-factor conventions are not one. ChIP-Rx (raw/spike) and a fraction-based ratio agree only when the spike-in fraction is small. At 34% fly reads they differ by 1.6x here. Report both.
Facts and figures
measured cost of confusing thema decile reported as gaining 66% had lost 76.5%
identities
[
  "share_ratio(g) = absolute_ratio(g) / G",
  "absolute_ratio(g) = raw_ratio(g) x K"
]
invariant under normalisation
[
  "rank",
  "Spearman",
  "permutation p-value",
  "gradient shape"
]
not invariant
[
  "gained vs lost",
  "percentage retained",
  "fold change magnitude"
]
K range in gse149183
[
  0.06711,
  0.22864
]
How this could bite us back
  • A pharmacodynamic endpoint expressed as a fold change inherits the normalisation constant of whatever assay produced it. Two labs reporting '5-fold reduction in H3K79me2' may be reporting a 5-fold and a 50-fold change in the quantity a patient's cells experience.
Still open
  1. How many entries in this corpus report a fold change whose normalisation constant is not stated anywhere? A field-name audit would bound it and has never been run.
  2. Is there a cheap internal check for whether a deposited table has been scaled, other than the quantisation test used here? The quantisation test only works on count-derived data with a coarse grid.
  3. For a mark with no known demethylase, is the correct null for 'did this gene gain' really 1.0, or is it the dilution expectation from the division rate? Under that null, a gene retaining 31% over 4-6 divisions may be gaining.
Every source behind this entry (2)
  1. E1established confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.paper

    Spike-in (reference-exogenous) normalisation of ChIP-seq applies one scale factor per library derived from the exogenous genome's read count, and is required to detect genome-wide changes in a mark's absolute abundance, which within-sample normalisation cannot see.

    Quantitative ChIP-Seq normalization reveals global modulation of the epigenome · Orlando DA, Chen MW, Brown VE, et al. · Cell Reports 2014
    What this evidence cannot show

    The method assumes the exogenous chromatin is added in constant proportion per cell and recovered with constant efficiency. Neither assumption is verifiable from a deposited count table, and the second is questionable when the endogenous signal collapses far enough that the spike-in dominates the library.

    Evidence that argues against this (1)
    • Choice of normalisation factor within ChIP-Rx is itself consequential: a dedicated 2024 pipeline paper notes that normalisation factor calculation differs from standard ChIP-seq and that 'choosing and applying the appropriate normalization method is crucial for interpreting the biological results', offering multiple options rather than one. So a spike-in moves the zero line to a better place, not to a certainly correct one. Bressan D et al. 2024
  2. E2established confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.dataset

    In GSE149183 the identity absolute_ratio = raw_ratio x K holds exactly, and applying it moves a stratum previously reported as gaining 66% to a 76.5% loss without changing its rank among the strata.

    GSE149183 series supplementary files: RS4_11 and MOLM13 H3K79me2 TSS-ChIPseq signal + dm6 spike-in sitepro tables · Perner F, Gadrey JY, Xiong Y, et al. · NCBI Gene Expression Omnibus 2020
    What this evidence cannot show

    The identity is arithmetic, not an empirical finding; what is empirical is the size of K and therefore the size of the correction.

    Evidence that argues against this (1)
    • None possible - the relation is algebraic. What can be disputed is the value of K, which rests on a single unreplicated exogenous read count per library. NCBI GEO 2020
Connected to