hansenlab / minfi

Devel repository for minfi
58 stars 67 forks source link

EPIC v2.0 - preprocessIllumina returning error #268

Open chanmur opened 2 months ago

chanmur commented 2 months ago

I am currently using minfi to analyse my DNA methylation data from Illumina EPIC v2.0. And, I get the following error when I run preprocessIllumina:

Error in h(simpleError(msg, call)) : 
  error in evaluating the argument 'x' in selecting a method for function 'match': object 'CG.controls' not found

Following is the essential code, including the steps run so far:

suppressMessages({
  library(data.table)
  library(ggplot2)
  library(dplyr)
  library(minfi)
  library(IlluminaHumanMethylationEPICv2manifest)
  library(IlluminaHumanMethylationEPICv2anno.20a1.hg38)
  library(shinyMethyl)
  library(cgageR)
})
rgSet <- read.metharray.exp(targets = targets, verbose = TRUE)
rgSet@annotation <- c(array = "IlluminaHumanMethylationEPICv2", annotation = "20a1.hg38")
mSet.norm <- preprocessIllumina(rgSet,
                                bg.correct = TRUE,
                                normalize = "controls",
                                reference = 2)

I had installed the manifest and annotation from the following pages:

"jokergoo/IlluminaHumanMethylationEPICv2manifest"
"jokergoo/IlluminaHumanMethylationEPICv2anno.20a1.hg38"

Based on suggestion elsewhere, I checked probeinfo

temp <- getProbeInfo(rgSet, "Control")
> temp$Type
  [1] "STAINING"                "STAINING"                "STAINING"               
  [4] "STAINING"                "EXTENSION"               "EXTENSION"              
  [7] "EXTENSION"               "EXTENSION"               "HYBRIDIZATION"          
 [10] "HYBRIDIZATION"           "HYBRIDIZATION"           "TARGET REMOVAL"         
 [13] "TARGET REMOVAL"          "BISULFITE CONVERSION I"  "BISULFITE CONVERSION I" 
 [16] "BISULFITE CONVERSION I"  "BISULFITE CONVERSION I"  "BISULFITE CONVERSION I" 
 [19] "BISULFITE CONVERSION I"  "BISULFITE CONVERSION I"  "BISULFITE CONVERSION I" 
 [22] "BISULFITE CONVERSION I"  "BISULFITE CONVERSION I"  "BISULFITE CONVERSION II"
 [25] "BISULFITE CONVERSION II" "BISULFITE CONVERSION II" "BISULFITE CONVERSION II"
 [28] "SPECIFICITY I"           "SPECIFICITY I"           "SPECIFICITY I"          
 [31] "SPECIFICITY I"           "SPECIFICITY I"           "SPECIFICITY I"          
 [34] "SPECIFICITY I"           "SPECIFICITY I"           "SPECIFICITY I"          
 [37] "SPECIFICITY I"           "SPECIFICITY I"           "SPECIFICITY I"          
 [40] "SPECIFICITY II"          "SPECIFICITY II"          "SPECIFICITY II"         
 [43] "NON-POLYMORPHIC"         "NON-POLYMORPHIC"         "NON-POLYMORPHIC"        
 [46] "NON-POLYMORPHIC"         "NON-POLYMORPHIC"         "NON-POLYMORPHIC"        
 [49] "NON-POLYMORPHIC"         "NON-POLYMORPHIC"         "NON-POLYMORPHIC"        
 [52] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
 [55] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
 [58] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
 [61] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
 [64] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
 [67] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
 [70] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
 [73] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
 [76] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
 [79] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
 [82] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
 [85] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
 [88] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
 [91] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
 [94] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
 [97] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[100] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[103] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[106] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[109] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[112] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[115] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[118] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[121] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[124] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[127] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[130] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[133] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[136] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[139] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[142] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[145] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[148] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[151] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[154] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[157] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[160] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[163] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[166] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[169] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[172] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[175] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[178] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[181] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[184] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[187] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[190] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[193] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[196] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[199] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[202] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[205] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[208] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[211] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[214] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[217] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[220] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[223] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[226] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[229] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[232] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[235] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[238] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[241] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[244] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[247] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[250] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[253] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[256] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[259] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[262] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[265] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[268] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[271] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[274] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[277] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[280] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[283] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[286] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[289] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[292] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[295] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[298] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[301] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[304] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[307] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[310] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[313] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[316] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[319] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[322] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[325] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[328] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[331] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[334] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[337] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[340] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[343] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[346] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[349] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[352] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[355] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[358] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[361] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[364] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[367] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[370] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[373] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[376] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[379] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[382] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[385] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[388] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[391] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[394] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[397] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[400] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[403] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[406] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[409] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[412] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[415] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[418] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[421] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[424] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[427] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[430] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[433] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[436] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[439] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[442] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[445] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[448] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[451] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[454] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[457] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[460] "NEGATIVE"                "NEGATIVE"                "NEGATIVE"               
[463] "RESTORATION"             "NORM_T"                  "NORM_G"                 
[466] "NORM_T"                  "NORM_C"                  "NORM_A"                 
[469] "NORM_C"                  "NORM_T"                  "NORM_T"                 
[472] "NORM_T"                  "NORM_C"                  "NORM_T"                 
[475] "NORM_T"                  "NORM_T"                  "NORM_C"                 
[478] "NORM_A"                  "NORM_G"                  "NORM_T"                 
[481] "NORM_T"                  "NORM_G"                  "NORM_A"                 
[484] "NORM_C"                  "NORM_T"                  "NORM_G"                 
[487] "NORM_A"                  "NORM_C"                  "NORM_A"                 
[490] "NORM_C"                  "NORM_C"                  "NORM_A"                 
[493] "NORM_G"                  "NORM_G"                  "NORM_T"                 
[496] "NORM_T"                  "NORM_C"                  "NORM_C"                 
[499] "NORM_C"                  "NORM_C"                  "NORM_T"                 
[502] "NORM_C"                  "NORM_G"                  "NORM_G"                 
[505] "NORM_C"                  "NORM_T"                  "NORM_T"                 
[508] "NORM_C"                  "NORM_C"                  "NORM_C"                 
[511] "NORM_G"                  "NORM_T"                  "NORM_T"                 
[514] "NORM_C"                  "NORM_T"                  "NORM_T"                 
[517] "NORM_T"                  "NORM_T"                  "NORM_T"                 
[520] "NORM_T"                  "NORM_A"                  "NORM_A"                 
[523] "NORM_G"                  "NORM_A"                  "NORM_T"                 
[526] "NORM_C"                  "NORM_T"                  "NORM_C"                 
[529] "NORM_T"                  "NORM_C"                  "NORM_C"                 
[532] "NORM_G"                  "NORM_C"                  "NORM_C"                 
[535] "NORM_T"                  "NORM_A"                  "NORM_T"                 
[538] "NORM_G"                  "NORM_T"                  "NORM_C"                 
[541] "NORM_C"                  "NORM_C"                  "NORM_C"                 
[544] "NORM_G"                  "NORM_T"                  "NORM_C"                 
[547] "NORM_C"                  "NORM_A"                  "NORM_T"                 
[550] "NORM_C"                  "NORM_A"                  "NORM_T"                 
[553] "NORM_C"                  "NORM_T"                  "NORM_T"                 
[556] "NORM_C"                  "NORM_T"                  "NORM_T"                 
[559] "NORM_T"                  "NORM_C"                  "NORM_A"                 
[562] "NORM_G"                  "NORM_G"                  "NORM_A"                 
[565] "NORM_C"                  "NORM_C"                  "NORM_A"                 
[568] "NORM_C"                  "NORM_G"                  "NORM_C"                 
[571] "NORM_T"                  "NORM_T"                  "NORM_C"                 
[574] "NORM_G"                  "NORM_G"                  "NORM_T"                 
[577] "NORM_T"                  "NORM_T"                  "NORM_C"                 
[580] "NORM_C"                  "NORM_T"                  "NORM_T"                 
[583] "NORM_C"                  "NORM_C"                  "NORM_C"                 
[586] "NORM_C"                  "NORM_C"                  "NORM_T"                 
[589] "NORM_C"                  "NORM_G"                  "NORM_T"                 
[592] "NORM_G"                  "NORM_C"                  "NORM_T"                 
[595] "NORM_T"                  "NORM_A"                  "NORM_A"                 
[598] "NORM_G"                  "NORM_C"                  "NORM_A"                 
[601] "NORM_A"                  "NORM_A"                  "NORM_C"                 
[604] "NORM_T"                  "NORM_C"                  "NORM_G"                 
[607] "NORM_G"                  "NORM_G"                  "NORM_C"                 
[610] "NORM_C"                  "NORM_T"                  "NORM_A"                 
[613] "NORM_G"                  "NORM_G"                  "NORM_T"                 
[616] "NORM_C"                  "NORM_C"                  "NORM_A"                 
[619] "NORM_A"                  "NORM_T"                  "NORM_T"                 
[622] "NORM_T"                  "NORM_T"                  "NORM_G"                 
[625] "NORM_A"                  "NORM_A"                  "NORM_A"                 
[628] "NORM_C"                  "NORM_T"                  "NORM_A"                 
[631] "NORM_T"                  "NORM_C"                  "NORM_C"   

Following is the my session info:

> sessionInfo()
R version 4.3.1 (2023-06-16)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Ventura 13.2.1

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.11.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] parallel  stats4    stats     graphics  grDevices datasets  utils     methods   base     

other attached packages:
 [1] IlluminaHumanMethylationEPICv2anno.20a1.hg38_1.0.0
 [2] dplyr_1.1.4                                       
 [3] IlluminaHumanMethylationEPICv2manifest_1.0.0      
 [4] shinyMethyl_1.38.0                                
 [5] cgageR_0.1.0                                      
 [6] ggplot2_3.5.0                                     
 [7] data.table_1.15.4                                 
 [8] minfi_1.48.0                                      
 [9] bumphunter_1.44.0                                 
[10] locfit_1.5-9.9                                    
[11] iterators_1.0.14                                  
[12] foreach_1.5.2                                     
[13] Biostrings_2.70.3                                 
[14] XVector_0.42.0                                    
[15] SummarizedExperiment_1.32.0                       
[16] Biobase_2.62.0                                    
[17] MatrixGenerics_1.14.0                             
[18] matrixStats_1.2.0                                 
[19] GenomicRanges_1.54.1                              
[20] GenomeInfoDb_1.38.8                               
[21] IRanges_2.36.0                                    
[22] S4Vectors_0.40.2                                  
[23] BiocGenerics_0.48.1                               

loaded via a namespace (and not attached):
  [1] RColorBrewer_1.1-3        rstudioapi_0.16.0         magrittr_2.0.3           
  [4] GenomicFeatures_1.54.4    BiocIO_1.12.0             zlibbioc_1.48.2          
  [7] vctrs_0.6.5               multtest_2.58.0           memoise_2.0.1            
 [10] Rsamtools_2.18.0          DelayedMatrixStats_1.24.0 RCurl_1.98-1.14          
 [13] askpass_1.2.0             htmltools_0.5.8.1         S4Arrays_1.2.1           
 [16] progress_1.2.3            curl_5.2.1                Rhdf5lib_1.24.2          
 [19] SparseArray_1.2.4         rhdf5_2.46.1              nor1mix_1.3-2            
 [22] plyr_1.8.9                cachem_1.0.8              GenomicAlignments_1.38.2 
 [25] mime_0.12                 lifecycle_1.0.4           pkgconfig_2.0.3          
 [28] Matrix_1.6-1.1            R6_2.5.1                  fastmap_1.1.1            
 [31] shiny_1.8.1.1             GenomeInfoDbData_1.2.11   digest_0.6.35            
 [34] colorspace_2.1-0          siggenes_1.76.0           reshape_0.8.9            
 [37] AnnotationDbi_1.64.1      RSQLite_2.3.6             base64_2.0.1             
 [40] filelock_1.0.3            fansi_1.0.6               httr_1.4.7               
 [43] abind_1.4-5               compiler_4.3.1            beanplot_1.3.1           
 [46] rngtools_1.5.2            withr_3.0.0               bit64_4.0.5              
 [49] BiocParallel_1.36.0       DBI_1.2.2                 HDF5Array_1.30.1         
 [52] biomaRt_2.58.2            MASS_7.3-60               openssl_2.1.1            
 [55] rappdirs_0.3.3            DelayedArray_0.28.0       rjson_0.2.21             
 [58] tools_4.3.1               httpuv_1.6.15             glue_1.7.0               
 [61] quadprog_1.5-8            restfulr_0.0.15           promises_1.2.1           
 [64] nlme_3.1-163              rhdf5filters_1.14.1       grid_4.3.1               
 [67] generics_0.1.3            gtable_0.3.4              tzdb_0.4.0               
 [70] preprocessCore_1.64.0     tidyr_1.3.1               hms_1.1.3                
 [73] xml2_1.3.6                utf8_1.2.4                pillar_1.9.0             
 [76] stringr_1.5.1             limma_3.58.1              later_1.3.2              
 [79] genefilter_1.84.0         splines_4.3.1             BiocFileCache_2.10.2     
 [82] lattice_0.22-5            renv_1.0.5                survival_3.5-7           
 [85] rtracklayer_1.62.0        bit_4.0.5                 GEOquery_2.70.0          
 [88] annotate_1.80.0           tidyselect_1.2.1          scrime_1.3.5             
 [91] statmod_1.5.0             stringi_1.8.3             yaml_2.3.8               
 [94] codetools_0.2-19          tibble_3.2.1              BiocManager_1.30.22      
 [97] cli_3.6.2                 xtable_1.8-4              munsell_0.5.1            
[100] Rcpp_1.0.12               dbplyr_2.5.0              png_0.1-8                
[103] XML_3.99-0.16.1           readr_2.1.5               blob_1.2.4               
[106] prettyunits_1.2.0         mclust_6.1                doRNG_1.8.6              
[109] sparseMatrixStats_1.14.0  bitops_1.0-7              scales_1.3.0             
[112] illuminaio_0.44.0         purrr_1.0.2               crayon_1.5.2             
[115] rlang_1.1.3               KEGGREST_1.42.0
giuseppedelnapalle commented 2 months ago

I caught similar error when I executed the preprocessIllumina function on EPIC 2.0 data. The error seems to stem from normalize.illumina.control function as per this post.