I am using ChAMP to process EPIC methylation array data. While delving into the source code for champ.DMR
for another reason, I noticed that it defined the linear model used in the DMRcate method as ~ pheno
. Further delving revealed that champ.DMR
calls DMRcate::cpg.annotate
, which itself requires a model with an intercept (e.g. it is has this in the function stopifnot(colnames(design)[1] == "(Intercept)")
).
Is there any way to circumvent this and input a model into DMRcate
(and thus, into champ.DMR
) that has no intercept, as in 0 + pheno
? This is necessary as other methods (like champ.DMP
) already use a no intercept model.
You can specify
contrasts=TRUE
and pass a contrasts matrix (as you would in limma) tocpg.annotate
; this will allow you to fit non-intercept models.Tim