Hi!
I played around with the Illumina mouse demo data and ENmix. The following code worked for me and you should end up with normalized beta values for subsequent limma analysis (or DMR analysis folowing the ENmix vignette).
#setwd()
#download the Infinium_Mouse_Methylation_v1.0_A1_GS_Manifest_File.csv file from Illumina HP to working directory (= directory with idats and .csv)
library(ENmix)
library(geneplotter)
library(limma)
mf="Infinium_Mouse_Methylation_v1.0_A1_GS_Manifest_File.csv"
rgSet <- readidat(path = getwd(),manifestfile=mf,recursive = TRUE)
######Raw data QC and inspection
plotCtrl(rgSet)
mraw <- getmeth(rgSet)
multifreqpoly(assays(mraw)$Meth+assays(mraw)$Unmeth,xlab="Total intensity")
beta_raw<-getB(mraw)
anno=rowData(mraw)
beta1=beta_raw[anno$Infinium_Design_Type=="I",]
beta2=beta_raw[anno$Infinium_Design_Type=="II",]
multidensity(beta_raw,main="Multidensity")
multifreqpoly(beta_raw,main="Multifreqpoly",xlab="Beta value")
multidensity(beta1,main="Multidensity: Infinium I")
multifreqpoly(beta1,main="Multifreqpoly: Infinium I",xlab="Beta value")
multidensity(beta2,main="Multidensity: Infinium II")
multifreqpoly(beta2,main="Multifreqpoly: Infinium II",xlab="Beta value")
head(beta_raw,15)
######Process data
beta=mpreprocess(rgSet, nCores=6)
beta11=beta[anno$Infinium_Design_Type=="I",]
beta22=beta[anno$Infinium_Design_Type=="II",]
multidensity(beta,main="Multidensity")
multifreqpoly(beta,main="Multifreqpoly",xlab="Beta value")
multidensity(beta11,main="Multidensity: Infinium I")
multifreqpoly(beta11,main="Multifreqpoly: Infinium I",xlab="Beta value")
multidensity(beta22,main="Multidensity: Infinium II")
multifreqpoly(beta22,main="Multifreqpoly: Infinium II",xlab="Beta value")
head(beta,15)
######Continue with limma or DMR analysis
Hope that helps 🙂
Read more here: Source link