[BioC] nsFilter error

Thomas Lo thom.lo at cuhk.edu.hk
Thu Jul 12 03:07:24 CEST 2007


Hi,

Many thanks.  I understand more about the problem now.  

We look forward to the new release.

Thanks and regards,

Thomas

-----Original Message-----
From: Martin Morgan [mailto:mtmorgan at fhcrc.org] 
Sent: Wednesday, July 11, 2007 3:10 AM
To: Thomas Lo
Cc: 'Seth Falcon'; bioconductor at stat.math.ethz.ch
Subject: Re: [BioC] nsFilter error

Hi Thomas --

This helped a lot; the code at position 6 of the traceback is from
Biobase, and involves subsetting assayData. I ran example(ReadAffy) to
get the file names of some cel files, and then

> res = justGCRMA(filenames=fns)
> res[featureNames(res)[1],]
Error: no 'dimnames' attribute for array

With these clues and a peak at the justGCRMA code, I
found that the problem can be reproduced with

> se.exprs <- matrix(0, 5, 2)
> exprs <- matrix(0, 5, 2)
> dimnames(exprs) <- list(LETTERS[1:5], letters[1:2])
> es <- new("ExpressionSet", exprs=exprs, se.exprs=se.exprs)
> es["A",]
Error: no 'dimnames' attribute for array

The key is that se.exprs does not have any dimnames, so trying to
subset it causes an error.

The released and development version of Biobase have been patched to
try to 'harmonize' the assayData element names when possible (i.e.,
when some of the dimnames are NULL);

The irony is that se.exprs created by justGCRMA has only 'NA' values:

> any(!is.na(assayData(res)[["se.exprs"]]))
[1] FALSE

The patched release version should appear as 1.14.1 in the next day or
so.

Martin

"Thomas Lo" <thom.lo at cuhk.edu.hk> writes:

> Hi Seth,
>
> Thanks very much for your reply!  Here is what I got from traceback():
>
>> traceback()
> 6: switch(storage.mode, environment = , lockedEnvironment = {
>        aData <- new.env(parent = emptyenv())
>        if (missing(i)) 
>            for (nm in ls(orig)) aData[[nm]] <- orig[[nm]][, j, ..., 
>                drop = drop]
>        else {
>            if (missing(j)) 
>                for (nm in ls(orig)) aData[[nm]] <- orig[[nm]][i, 
>                    , ..., drop = drop]
>            else for (nm in ls(orig)) aData[[nm]] <- orig[[nm]][i, 
>                j, ..., drop = drop]
>        }
>        if ("lockedEnvironment" == storage.mode) 
>            assayDataEnvLock(aData)
>        aData
>    }, list = {
>        if (missing(i)) 
>            lapply(orig, function(obj) obj[, j, ..., drop = drop])
>        else {
>            if (missing(j)) 
>                lapply(orig, function(obj) obj[i, , ..., drop = drop])
>            else lapply(orig, function(obj) obj[i, j, ..., drop = drop])
>        }
>    })
> 5: eset[haveID, ]
> 4: eset[haveID, ]
> 3: requireID(eset, "ENTREZID")
> 2: nsFilter(exset)
> 1: nsFilter(exset)
>
> Is the output informative?  I have just tried the same procedure with an
> independent data set, and that produced the same error.  However, if I
read
> the data in using ReadAffy() before performing gcrma(), then nsFilter()
> appears to work fine.  So perhaps something that is not compatible between
> the justGCRMA() output and nsFilter()?
>
> Many thanks!
>
> Thomas
>
>
> -----Original Message-----
> From: Seth Falcon [mailto:sfalcon at fhcrc.org] 
> Sent: Tuesday, July 10, 2007 4:35 AM
> To: Thomas Lo
> Cc: bioconductor at stat.math.ethz.ch
> Subject: Re: [BioC] nsFilter error
>
> Hi Thomas,
>
> "Thomas Lo" <thom.lo at cuhk.edu.hk> writes:
>> I have performed a GCRMA normalization with my Affy data, and then tried
> the
>> 'nsFilter' function from the 'genefilter' package but got an error
message
>> as follows.  Help much appreciated.  Thanks.
>
>>> filterAns <- nsFilter(exset)
>>
>> Error: no 'dimnames' attribute for array
>
> Hmm, I haven't been able to reproduce this.  Can you try calling
> traceback() after the error message appears and sending the output?
>
> Also, if you are able to share the data, I could try reproducing
> here.  If the data is sharable, perhaps you can save the exset object
> using save() (and compress=TRUE)  and post it on a web/ftp that I can
> download from?
>
> + seth
>
> -- 
> Seth Falcon | Computational Biology | Fred Hutchinson Cancer Research
Center
> http://bioconductor.org
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives:
http://news.gmane.org/gmane.science.biology.informatics.conductor

-- 
Martin Morgan
Bioconductor / Computational Biology
http://bioconductor.org



More information about the Bioconductor mailing list