Hi,

I was wondering if someone could comment on, or point me in the right direction of, considerations when normalising Illumina 450k Methylation data when there are large differences in global methylation status? The experiment I have is where the same cell line is used across 24 samples but there are different treatments and timepoints. One of the treatments is with decitabine, for example, which results in a marked global demethylation seen as a leftward shift in the global beta value profile - see Figure 5A below for an example.

http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3587326/figure/F5/

I have read around the area a bit, and much of the literature is concerned with exploring differences between cancer/normal or different tissues. This guide from Brent Pedersen was particularly helpful: https://github.com/brentp/450k-analysis-guide

The minfi vignette and associate papers were also useful, but the thing that struck me was the comment in the Dedeurwaerder et al 2014 review also quoted in the minfi Functional Normalisation paper:

> There is to date no between-array normalization method suited to 450K data that can bring enough benefit to counterbalance the strong impairment of data quality they can cause on some data sets

So, am I best off just doing a bare minimum within-array normalisation using, say, the `preprocessRaw` function in minfi and not doing any between-array normalisation at all?

Any comments gratefully received.

Phil Chapman, CRUK Manchester Institute
Hi Phil,

it seems that your dataset is a perfect example of when to use functional normalization. If there are large differences in global methylation status, functional normalization should be able to keep them while removing unwanted technical variation. Functional normalization is a kosher within-array normalization based only the array control probes. Those, by design, are not associated with the biology of your samples, and therefore global differences in methylation seen between samples should be conserved. In our implementation of functional normalization in minfi, `preprocessFunnorm()` implements as well the 'noob' background correction method (Triche et al., 2013), which improves significantly the downstream analysis results.

Let me know if you have any more questions,

Jean-Philippe Fortin