I have some old MOE430_2 CEL files that were previously analyzed using a custom CDF (Brainarray mm430mmentrezgcdf_10.0.0) and I'm trying to duplicate the analysis. I've built and installed the package mm430mmentrezgcdf_10.0.0.tar.gz but when I try to rma the affybatch object, I get the error:
Error in get(cdfname, envir = as.environment(paste("package:", cdfname, : object 'mm430mmentrezgcdf' not found
Any help would be appreciated.
Environment: macOS High Sierra 10.13.6, R version 3.5.1, BiocVersion 3.8.0
Here's the code I'm using.
library(affy) library(mm430mmentrezgcdf,lib.loc='/Library/Frameworks/R.framework/Versions/3.5/Resources/library/mm430mmentrezgcdf') celpath="/path/to/cel/files" data=ReadAffy(verbose=TRUE,celfile.path=celpath,cdfname="Mm430_Mm_ENTREZG") data@cdfName<-"Mm430_Mm_ENTREZG" data.rma=rma(data)
traceback() and sessionInfo()
> traceback()
13: get(cdfname, envir = as.environment(paste("package:", cdfname,
sep = "")))
12: cdfFromLibPath(cdfname, cur$where, verbose = verbose)
11: getCdfInfo(object)
10: .local(object, which, ...)
9: indexProbes(object, "pm", genenames = genenames)
8: indexProbes(object, "pm", genenames = genenames)
7: .local(object, ...)
6: pmindex(object, genenames)
5: pmindex(object, genenames)
4: .local(object, ...)
3: probeNames(object, subset)
2: probeNames(object, subset)
1: rma(data)
> sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.6
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
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 stats graphics grDevices utils datasets methods base
other attached packages:
[1] mm430mmentrezgcdf_10.0.0 affy_1.60.0 Biobase_2.42.0 BiocGenerics_0.28.0
loaded via a namespace (and not attached):
[1] BiocManager_1.30.4 zlibbioc_1.28.0 compiler_3.5.1 tools_3.5.1
[5] affyio_1.52.0 preprocessCore_1.44.0

I changed the argument from
Mm430_Mm_ENTREZGtomm430mmentrezgand removed the line to rename the slot that contains the CDF name, but still get error:I cannot reproduce your error because in R-3.5.1 I cannot get version 10 of the custom CDF installed (due to a namespace error; see below), but apparently you could.
> install.packages("http://bioconductor.org/packages/2.1/data/annotation/src/contrib/mm430mmentrezgcdf_10.0.0.tar.gz", type='source', repos=NULL) trying URL 'http://bioconductor.org/packages/2.1/data/annotation/src/contrib/mm430mmentrezgcdf_10.0.0.tar.gz' Content type 'application/x-tar' length 1750808 bytes (1.7 MB) downloaded 1.7 MB * installing *source* package 'mm430mmentrezgcdf' ... ERROR: a 'NAMESPACE' file is required * removing 'C:/Program Files/R/R-3.5.1patched/library/mm430mmentrezgcdf' In R CMD INSTALL Warning message: In install.packages("http://bioconductor.org/packages/2.1/data/annotation/src/contrib/mm430mmentrezgcdf_10.0.0.tar.gz", : installation of package ‘D:/TMP/RtmpkXaKIq/downloaded_packages/mm430mmentrezgcdf_10.0.0.tar.gz’ had non-zero exit status > >To reproduce the analyses, you have to use R-2.6.x (because the custom CDF v10.0 was released for Bioconductor version 2.1)
If you do so, all this is working fine when using some sample MOE430_2 arrays I have laying around:
> library(affy) Loading required package: Biobase Loading required package: tools Welcome to Bioconductor Vignettes contain introductory material. To view, type 'openVignette()'. To cite Bioconductor, see 'citation("Biobase")' and for packages 'citation(pkgname)'. Loading required package: affyio Loading required package: preprocessCore > library(mm430mmentrezgcdf) > > celpath="E:\\TEST\\FILES" > > data=ReadAffy(verbose=TRUE,celfile.path=celpath,cdfname="mm430mmentrezg") 1 reading E:\\TEST\\FILES/A124_01_FISHOIL.CEL ...instantiating an AffyBatch (intensity a 1004004x33 matrix)...done. Reading in :E:\\TEST\\FILES/A124_01_FISHOIL.CEL Reading in : E:\\TEST\\FILES/A124_02_FISHOIL.CEL <<snip>> Reading in : E:\\TEST\\FILES/A124_34_CTR.CEL > data.rma=rma(data) Background correcting Normalizing Calculating Expression > > data.rma ExpressionSet (storageMode: lockedEnvironment) assayData: 16539 features, 33 samples element names: exprs phenoData sampleNames: A124_01_FISHOIL.CEL, A124_02_FISHOIL.CEL, ..., A124_34_CTR.CEL (33 total) varLabels and varMetadata description: sample: arbitrary numbering featureData featureNames: 100009600_at, 100012_at, ..., AFFX-TrpnX-M_at (16539 total) fvarLabels and fvarMetadata description: none experimentData: use 'experimentData(object)' Annotation: mm430mmentrezg > sessionInfo() R version 2.6.1 (2007-11-26) i386-pc-mingw32 locale: LC_COLLATE=English_United States.1252;LC_CTYPE=English_United States.1252;LC_MONETARY=English_United States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252 attached base packages: [1] tools stats graphics grDevices utils datasets methods [8] base other attached packages: [1] mm430mmentrezgcdf_10.0.0 affy_1.16.0 preprocessCore_1.0.0 [4] affyio_1.6.1 Biobase_1.16.3 >Bottom line: Installing the very old package (mm430mmentrezgcdf_10.0.0.tar.gz) in the current R/BioC release very likely gives problems, so to really reproduce the previous analysis you'd better revert back to the R/BioC release that was used to generate the data (in this case R-2.6.x /BioC v2.1).
Thank you Guido! I built and installed version 10 of the custom CDF manually, but the problem here apparently stemmed from the rma function in the latest version of BioC. Reverting to R 2.6.x and BioC v2.1 (which used an older version of the script) fixed the issue, and I was able to rma the affybatch object. Many thanks!
Code used:
The mm430mmentrezg CDF source (downloaded here: http://brainarray.mbni.med.umich.edu/Brainarray/Database/CustomCDF/CDF_download_v10.asp) was built and installed via the command line using
R CMD build mm430mmentrezgcdfandR CMD install mm430mmentrezgcdf.What is this mm430 array? Do you perhaps mean the mouse430mmentrezgcdf? You seem to think it's installed (you do give a path to the library dir), but R begs to differ. Is that an aspirational path, or do you actually have something installed there?