hansenlab / minfi

Devel repository for minfi
58 stars 67 forks source link

Object 'combine_dimnames' not found error when using getBeta() #164

Closed lardenoije closed 6 years ago

lardenoije commented 6 years ago

Dear Developers,

I am trying to get my EPIC array analysis workflow to work on a new system, i.e. from sessionInfo():

R version 3.4.3 (2017-11-30)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: Scientific Linux 7.4 (Nitrogen)

However, I cannot get minfi to work properly. When installing minfi on this system via the usual way like this:

source("https://bioconductor.org/biocLite.R")
biocLite("minfi")

A version of minfi (minfi_1.20.2) is installed that does not seem to properly support EPIC arrays yet, i.e. when using getBeta() on a newly created extended RGset I get this error:

rgsetExt <- read.metharray.exp(targets = targets, verbose = TRUE, extended = TRUE)
head(getBeta(rgsetExt))
Loading required package: Unknownmanifest
Error in getManifest(object) : 
  cannot load manifest package Unknownmanifest
In addition: Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘Unknownmanifest’

I had previously solved this problem by simply upgrading to a newer version of minfi, and in this case I attempted the same by installing minfi from github (I needed to upgrade all the other packages below as well to successfully install and load the newer minfi version):

library(devtools)
install_github("Bioconductor/BiocGenerics")
install_github("Bioconductor/S4Vectors")
install_github("Bioconductor/IRanges")
install_github("Bioconductor/DelayedArray")
install_github("PeteHaitch/DelayedMatrixStats")
install_github("Bioconductor/GenomeInfoDbData")
install_github("Bioconductor/GenomeInfoDb")
install_github("Bioconductor/XVector")
install_github("Bioconductor/GenomicRanges")
install_github("Bioconductor/SummarizedExperiment")
install_github("mwsill/IlluminaHumanMethylationEPICmanifest")
install_github("Bioconductor/BiocParallel")
install_github("hansenlab/minfi")
library(minfi)

The "Unknownmanifest" error seems to be solved with the newer version, but I get another error now:

rgsetExt <- read.metharray.exp(targets = targets, verbose = TRUE, extended = TRUE)
head(getBeta(rgsetExt))
Loading required package: IlluminaHumanMethylationEPICmanifest
Error in get(name, envir = asNamespace(pkg), inherits = FALSE) : 
  object 'combine_dimnames' not found

Any ideas how this can be solved?

Best wishes, Roy

sessionInfo()
R version 3.4.3 (2017-11-30)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: Scientific Linux 7.4 (Nitrogen)

Matrix products: default
BLAS/LAPACK: /usr/lib64/R/lib/libRblas.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8    LC_PAPER=en_US.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
[10] LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

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

other attached packages:
 [1] IlluminaHumanMethylationEPICmanifest_0.4.0 minfi_1.27.1                               devtools_1.13.5                            bumphunter_1.14.0                          locfit_1.5-9.1                             iterators_1.0.8                           
 [7] foreach_1.4.3                              Biostrings_2.42.1                          XVector_0.21.1                             SummarizedExperiment_1.11.4                DelayedArray_0.7.2                         BiocParallel_1.15.3                       
[13] matrixStats_0.53.1                         GenomicRanges_1.33.5                       GenomeInfoDb_1.17.1                        IRanges_2.15.13                            S4Vectors_0.19.6                           Biobase_2.34.0                            
[19] BiocGenerics_0.27.0                        BiocInstaller_1.24.0                      

loaded via a namespace (and not attached):
 [1] httr_1.3.1               nor1mix_1.2-3            splines_3.4.3            DelayedMatrixStats_1.3.0 doRNG_1.6.6              GenomeInfoDbData_1.1.0   Rsamtools_1.26.2         RSQLite_1.1-2            lattice_0.20-35          limma_3.30.13           
[11] quadprog_1.5-5           digest_0.6.12            RColorBrewer_1.1-2       preprocessCore_1.36.0    Matrix_1.2-12            plyr_1.8.4               GEOquery_2.40.0          siggenes_1.48.0          XML_3.98-1.7             biomaRt_2.30.0          
[21] genefilter_1.56.0        zlibbioc_1.20.0          xtable_1.8-2             HDF5Array_1.2.1          git2r_0.21.0             openssl_0.9.6            annotate_1.52.1          beanplot_1.2             pkgmaker_0.22            withr_2.1.2             
[31] GenomicFeatures_1.26.4   survival_2.41-3          magrittr_1.5             mclust_5.4               memoise_1.1.0            nlme_3.1-131             MASS_7.3-47              tools_3.4.3              registry_0.3             data.table_1.11.2       
[41] stringr_1.2.0            rngtools_1.2.4           AnnotationDbi_1.36.2     base64_2.0               compiler_3.4.3           rhdf5_2.18.0             grid_3.4.3               RCurl_1.95-4.10          bitops_1.0-6             codetools_0.2-15        
[51] multtest_2.30.0          DBI_0.6-1                reshape_0.8.7            curl_2.6                 R6_2.2.0                 illuminaio_0.16.0        GenomicAlignments_1.10.1 knitr_1.15.1             rtracklayer_1.34.2       stringi_1.1.5           
[61] Rcpp_0.12.10
PeteHaitch commented 6 years ago

Hi @lardenoije, In short, you'll need to upgrade R to 3.5, re-install Bioconductor (instructions), and then install minfi with BiocInstaller::biocLite("minfi") in order to use the latest version.

In more detail: Bioconductor package versions are tied to a particular version of R. The current release version of minfi is v1.26 and can only be installed on R 3.5.

Additionally, you should only use BiocInstaller::biocLite() for installing Bioconductor packages because it checks these types of issues. BiocInstaller::biocLite() is installing the correct version of minfi given your R installation. We (Bioconductor) don't support using devtools::install_github() to install from GitHub because it doesn't do any of these checks and you end up with a mishmash of incompatible dependencies.

lardenoije commented 6 years ago

Dear @PeteHaitch,

Thank you for your quick reply and clear explanation, I'll be sure to avoid using install_github() in the future for Bioconductor packages. I was afraid I would need to upgrade R and that would have been the first thing to try if I weren't working on a server, but I'll see if I can convince the server administrators to upgrade soon.

Best wishes, Roy