hansenlab / minfi

Devel repository for minfi
58 stars 70 forks source link

getUnMeth() didn't work for EPIC v2 #257

Open atomnh opened 10 months ago

atomnh commented 10 months ago

I applied minfi on EPIC v2, which has been released recently. I realized that most beta values from getBeta() are NA. I checked the output of getMeth(), only 8% of the probes were NA, however, for getUnMeth(), around 90% are NA, I believed that's the reason for that error. But I don't know how to extract the code for getUnmeth() and getMeth(). Could you please help me fix this issue or send me the code that I can modify it by myself possibly? Thank you so much! Given the EPIC v2 has been released, would you consider to upgrade minfi for that platform? It's really a big pain trying to modify it by myself. Thank you again!

votti commented 9 months ago

For me using the annotations/manifest released here worked to get EPIC v2 running: https://stat.ethz.ch/pipermail/bioc-devel/2023-March/019518.html

  1. Install the manifest/annotation
    
    BiocManager::install("jokergoo/IlluminaHumanMethylationEPICv2manifest")
    # or
    remotes::install_github("jokergoo/IlluminaHumanMethylationEPICv2manifest")

and

BiocManager::install("jokergoo/IlluminaHumanMethylationEPICv2anno.20a1.hg38")

or

remotes::install_github("jokergoo/IlluminaHumanMethylationEPICv2anno.20a1.hg38")


2. Change set the annotation metadata of the RGset

RGset = read.metharray.exp(...)

annotation(RGset)["array"] = "IlluminaHumanMethylationEPICv2"

explained in the IlluminaHumanMethylationEPICv2anno.20a1.hg38 package

annotation(RGset)["annotation"] = "20a1.hg38"

ABanaeiEsfahani commented 7 months ago

Hi Vito @votti, Hope this message finds you well. Thanks for the comment. I have already used "IlluminaHumanMethylationEPICv2anno.20a1.hg38". Do you also have any normalisation in your pipeline? Something like "preprocessFunnorm" or "preprocessIllumina". It seems they don't work well here. And as far as I understood, it goes back to the utils.R file (https://github.com/hansenlab/minfi/blob/devel/R/utils.R) where the annotations have been hardcoded. Any comment on this? Have you revised the utils.R file?

i) .default.epic.annotation <- "ilm10b4.hg19" ii) .metharray.types <- c("IlluminaHumanMethylation450k", "IlluminaHumanMethylationEPIC", "IlluminaHumanMethylation27k", "IlluminaHumanMethylationAllergy", "HorvathMammalMethylChip40") iii) .isEPIC <- function(object) { annotation(object)["array"] == "IlluminaHumanMethylationEPIC" }