Entering edit mode
Hugh Shanahan
▴
50
@hugh-shanahan-5565
Last seen 10.3 years ago
We are writing a new R package to construct CDF's with particular
subsets of probes removed. We are building the CDF packages using a
modification of makecdfenv.
Up until recently, everything has been working fine when we update the
CDF library name of an expression set, i.e.
> raw <- ReadAffy()
> raw at cdfName <- "hgu133ag4"
> eSet <- rma(raw)
Having upgraded to R 2.15.2 and now using the most up to date
libraries of bioconductor 2.10 (i.e. doing a clean install on a new
(Windows) machine generates an error
which has cropped over the years, namely if we try to run a
normalisation step (such as above) then we get the following error
(the same error occurs with other normalisations such as rma) :-
> eSet <- rma(raw)
Attaching package: hgu133ag4cdf
The following object(s) are masked from package:hgu133acdf:
i2xy, xy2i
Error in ans[[i]][, i.probes] : incorrect number of dimensions
The problem appears to occur in indexProbes which is part of the affy
package (AffyBatch.R to be precise), which first gets the environment
associated with the expression set,
envir <- getCdfInfo(object)
genenames <- ls(envir)
ans <- mget(genenames, envir, ifnotfound=NA)
so that ans should be a list with names of affy id's and each entry is
a two column data frame with entries for the pm and mm probe
locations.
The only possibility when the error is occurring is when the following
is called
tmp <- as.vector(ans[[i]][, i.probes])
which suggests that ans is not in this format when it gets to this
line. The problem is, I can't reproduce the error if I use the source
code of AffyBatch.R .
Any ideas on how I can check that this hypothesis is correct ? Any
ideas how I can fix this ? It looks as if this error has occurred a
number of times over the years, but there never seems to be a complete
solution...
Many thanks