Question: ChAMP Normalization on EPIC Methylation Data
0
10 months ago by
yuabrahamliu0 wrote:

Hi there,

I met a problem when using ChAMP to perform normalization on EPIC data. Actually, SWAN, PBC and BMIP can work well, but when I use FunctionalNormalization  to do that, I always got an Error. My code is,

myNormfn <- champ.norm(beta=myLoad_B$beta, rgSet=myLoad_B$rgSet,
resultsDir="./CHAMP_Placenta_Normalizationfn/",
method="FunctionalNormalization",  #BMIQ
plotBMIQ=TRUE,
arraytype="EPIC",
cores=50)

While the error message is,

[preprocessFunnorm] Background and dye bias correction with noob
[dyeCorrection] Applying R/G ratio flip to fix dye bias
[preprocessFunnorm] Mapping to genome
[preprocessFunnorm] Quantile extraction
[preprocessFunnorm] Normalization
Error in getBeta(preprocessFunnorm(rgSet))[rownames(beta), ] :
subscript out of bounds
Calls: champ.norm
Execution halted

I don't know why there is always such a problem. Is there anything to do with the required package IlluminaHumanMethylationEPICanno.ilm10b3.hg19, because when I install ChAMP, actually what will also be installed automatically is IlluminaHumanMethylationEPICanno.ilm10b2.hg19, not IlluminaHumanMethylationEPICanno.ilm10b3.hg19. It is 10b2, not 10b3, and I need to install 10b3 by specially when did normalization. I don't know whether this is the point, or there are any other causes. Could anyone give me some help? Thank you so much!

My R version is 3.5.0

Best wishes,

Yu

written 10 months ago by yuabrahamliu0

At the moment, functional normalization does not greatly enhance results over the underlying ssNoob performance on EPIC arrays (cf. https://academic.oup.com/bioinformatics/article/33/4/558/2666344 ). You might consider using straight noob, as funnorm's results will be dataset dependent, and ssNoob is a single-sample approach. The choice depends on your experiment.

Alternatively, the best results we have seen on TARGET, TCGA, and other varied datasets have come from sesame ( https://academic.oup.com/nar/advance-article/doi/10.1093/nar/gky691/5061974 ) which unfortunately is not yet integrated into a ChAMP workflow (although sesame::sesamize() could easily allow the authors of ChAMP to do this).  SeSAMe will be part of the imminent BioC-3.8 release (http://bioconductor.org/packages/devel/bioc/html/sesame.html ) and if we knew of any better approach to preprocess Illumina methylation data, we'd just use that instead, so we'd love to see its strengths integrated widely.