Affymetrix Custom CDF segmentation fault
-
28-06-2021 - |
Pregunta
I'm using the following CDF file for the Affymetrix chip of Brachypodium dystachion. Apparently, it follows all the rules of the Affymetrix CDF specification
http://giorgilab.org/BradiGiorgiMutwil001_txt.cdf
However, when I try to create a customcdf environment out of it, using R and the Bioconductor package makecdfenv
library(makecdfenv) make.cdf.package("BradiGiorgiMutwil001_txt.cdf",species="Brachypodium_dystachion")
I get the following error:
Reading CDF file.
* caught segfault * address 0x1, cause 'memory not mapped'
Traceback: 1: .Call("readCDFfile", as.character(file), as.integer(3), as.integer(compress), PACKAGE = "makecdfenv") 2: read.cdffile(file.path(path.expand(cdf.path), filename), compress = compress) 3: make.cdf.env(filename, cdf.path = cdf.path, compress = compress, return.env.only = FALSE) 4: make.cdf.package("BradiGiorgiMutwil001_txt.cdf", species = "Brachypodium_dystachion")
Is there anything that strikes you as wrong in the input CDF file? I'm totally puzzled, because I don't know how to interprete this segmentation fault, nor how to trace it to a specific problem. Something similar happens while using the affxparser Bioconductor package, so it must be a problem with the CDF fields (and not with the package).
Thanks a lot! :-)
Federico
Solución
The function make.cdf.package() does not require a binary cdf, so there is no reason to have a test.
I took a look at this yesterday, and there isn't anything obviously wrong with this cdf, so it's nice that simply converting to binary fixes things.
Otros consejos
The function make.cdf.package()
work only on binary cdf. You need to convert your cdf with affxparser::convertCdf()
then you can create the package.