This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Error in get(cdfname, object 'mm430mmentrezgcdf' not found

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_9.0.1.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

Environment: macOS High Sierra, R version 3.5.1

Here's the code I'm using.

library(affy)
library(mm430mmentrezgcdf)
celpath="/path/to/cel/files"
data=ReadAffy(verbose=TRUE,celfile.path=celpath)
data@cdfName<-"Mm430_Mm_ENTREZG"
data.rma = rma(data)

Any help would be appreciated.

affymetrix rma cdf affy

This is a pure R question. Have you tried specifying lib.loc= the dir path where you installed the custom library?

Added, but still get the same error.

library(mm430mmentrezgcdf,lib.loc='/Library/Frameworks/R.framework/Versions/3.5/Resources/library/mm430mmentrezg')

This appears to be an issue with the Affy library. I tried another function (justRMA) and get a similar error:

Error in just.rma(filenames = l$filenames, phenoData = l$phenoData, description = l$description,  : 
  object 'mm430mmentrezgcdf' not found
data.rma=justRMA(verbose=TRUE,celfile.path=celpath,cdfname=mm430mmentrezgcdf)

try reinstalling affy library and see if the issue goes away.

Deleted and reinstalled the affy library. No change, same error.

Thanks for catching the version error Santosh. Deleted, built and installed from source the 10.0 CDF. No change, same error.

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)

Error in get(cdfname, envir = as.environment(paste("package:", cdfname, : object 'mm430mmentrezgcdf' not found

I've the feeling that there is some issue with the names. You may check these things:

  1. what does the following line load (check in a fresh r session by doing ls())

    library(mm430mmentrezgcdf,lib.loc='/Library/Frameworks/R.framework/Versions/3.5/Resources/library/mm430mmentrezgcdf')
    

Is that the same as "Mm430_Mm_ENTREZG". If not, change the cdfname argument accordingly.

  1. Alternatively, try without passing any cdfname argument (and no data@cdfname). ReadAffy should guess it correctly.

Both libraries load without error – ls() doesn't reflect anything. I also ran BiocInstaller::biocValid(), which reports that my packages are of the correct version.

> library(affy)
> ls()
character(0)
> library(mm430mmentrezgcdf,lib.loc='/Library/Frameworks/R.framework/Versions/3.5/Resources/library/mm430mmentrezgcdf')
> ls()
character(0)
> BiocInstaller::biocValid()
[1] TRUE

To my knowledge, Mm430_Mm_ENTREZG is the same. The MBNI page uses a HS133A array as an example (http://brainarray.mbni.med.umich.edu/Brainarray/Database/CustomCDF/CDF_download_v10.asp).

If I drop the cdfname argument, I can RMA the affybatch object.

Then, it solves the problem by dropping the cdf file. Ain't it? Moreover, you can check what the name of the cdf file used by checking the cdfName slot

It doesn't solve the problem. Rather, I believe it points to the rma function as the issue. If I rma without identifying the cdfname, the cdf used is Mouse4302. I need to use the custom cdf Mm430_Mm_ENTREZG.

1 answer

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 to all suggestions!

Code used:

library(affy)
library(mm430mmentrezgcdf,lib.loc='/Library/Frameworks/R.framework/Versions/2.6/Resources/library/mm430mmentrezgcdf')
celpath="/path/to/cel/files"
data=ReadAffy(verbose=TRUE,celfile.path=celpath,cdfname="mm430mmentrezg")
data.rma=rma(data)

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 mm430mmentrezgcdf and R CMD install mm430mmentrezgcdf.

That's great that it got resolved. You may mark your own answer as accepted so as to close this thread.

Log in to answer this question.