Dear developers of justRMA,
thank you for your great work.
We are using your tool in our open source graphical microarray and NGS data analysis environment (called Chipster).
Some time ago we received a help request from a customer who was trying to analyse old CEL-files with newer, wrong CDF-files. We instructed the user to choose the correct CDF-file, but since the error message was a bit curious, I tracked down the problem. I tested this wrong combination -situation using old HG-133A-files and hugene10sthsentrezgcdf as the CDF.
I noticed that this justRMA caused the error (segfault):
custom_cdf = “hugene10sthsentrezgcdf" dat2 <- justRMA(filenames=list.celfiles(), cdfname=custom_cdf)
The error was repeated when using different .CEL-files and incorrect CDF-files (downloaded and installed from Brainarray).
I tried debugging (debug()), and was able to track the error inside read.probematrix() and read.celfile.probeintensity.matrices() to this command:
.Call("read_probeintensities", filenames, rm.mask, rm.outliers, rm.extra, ref.cdfName, dim.intensity, verbose, cdfInfo, which, PACKAGE = "affyio")
I tried to look at the parameter values given to the .Call-function. Filenames are ok, but for some reason the ref.cdfName is "HG-U133A" even though I tried to say it is "hugene10sthsentrezgcdf". I don't know at what point the given CDF-file input gets ignored, and I am not sure if the case is happening only when you use arrays with PM and MM -values or when you use wrong combination in general, but it seems to me that the disagreement between these inputs is causing the segfault in .Call.
Browse> ref.cdfName  "HG-U133A" Browse> dim.intensity  712 712
Did I miss something? Maybe some sanity check step + error message would be nice to avoid the segfault?
Thank you in advance!
With best regards,