How to get DMR for Infinium methylation EPIC v2
1
1
Entering edit mode
@31eec9dd
Last seen 1 day ago
United States

I am doing EWAS analysis to get DMP, DMR and Enrichment pathway analysis. However, most packages do not support EPIC v2. I was so lucky to find some codes to get DMP, but still, now, I did not find a way to get Differentially methylated region (DMR). Is there a way to get it? I am trying to understand how these packages calculate DMR but it is confusing.

ChAMP DMRcate minfi • 643 views
ADD COMMENT
0
Entering edit mode
@james-w-macdonald-5106
Last seen 1 hour ago
United States

All packages support the V2 EPIC array, you just need to get the correct annotation files, which are available from Zuguang Gu's GitHub page. You can install using BiocManager

library(BiocManager)
install("jokergoo/IlluminaHumanMethylationEPICv2anno.20a1.hg38")
install("jokergoo/IlluminaHumanMethylationEPICv2manifest ")
## and then
library(minfi)
targets <- read.metharray.sheet(<where your files are>)
dat <- read.metharray.exp(targets = targets)

At this point, do note that minfi does not natively support the V2 array, so you have to change the annotation

annotation(dat) <- setNames(c("IlluminaHumanMethylationEPICv2", "ilmn20a1.hg38"), c("array","annotation"))

And then you can use minfi to identify DMRs using bumpHunter, or you can use the DMRcate package, or DSS, once it is fixed and starts building again.

0
Entering edit mode

Thank you James for your insight, I did this step earlier in the beginning of the analysis, but I am encountering a challenge when specifying parameters in the cpg.annotate function for DMR (Differentially Methylated Regions) analysis.

The goal is to include the array type (IlluminaHumanMethylationEPICv2) and the annotation (20a1.hg38) in my analysis. However, I am unsure if I'm specifying the parameters correctly in the cpg.annotate function, especially in relation to the design and contrast matrices.

This the code in the minfi pipeline

myAnnotation <- cpg.annotate(object = mVals, datatype = "array", what = "M", 
                             analysis.type = "differential", design = design, 
                             contrasts = TRUE, cont.matrix = contMatrix, 
                             coef = "naive - rTreg", arraytype = "450K")

I adjusting the code for EPIC v2 as following, still does not work. seems to me to get DMR is not possible we have to wait for the package to be updated. I am getting error message

"Error in match.arg(arraytype) : 'arg' should be one of "EPIC", "450K"

"


myAnnotation <- cpg.annotate(object = mVals, datatype = "array", what = "M", 
                             analysis.type = "differential", design = design, 
                             contrasts = TRUE, cont.matrix = contMatrix, 
                             coef = "Case - Control", arraytype = "IlluminaHumanMethylationEPICv2",
                             annotation = "ilmn20a1.hg38")
ADD REPLY
0
Entering edit mode

You want to make sure that you already have a GenomicRatioSet that you pass into cpg.annotate.

eset <- preprocessFunnorm(dat)
myAnnotation <- cpg.anotate("array", eset, design = design, 
                             contrasts = TRUE, cont.matrix = contMatrix, 
                             coef = "naive - rTreg")

You don't have to specify the 'what' or 'datatype' arguments (see ?cpg.annotate).

ADD REPLY

Login before adding your answer.

Traffic: 837 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6