[BioC] Bug in GSVA with methods other than default?

Jonathan Manning Jonathan.Manning at ed.ac.uk
Fri Feb 21 13:55:35 CET 2014


Hi Sonja,

Thanks.

The error occurs in ALL situations where an alternate method is 
provided. Tweaking your own example does the trick, try this 
modification to reproduce:

gsva_es<- gsva(y, geneSets, mx.diff=1, method='plage')$es.obs

Jon


On 21/02/2014 12:34, Sonja Haenzelmann wrote:
> Hi Jonathan.
>
> Justin, the co author of the paper added the bootstrapping. As far as
> I know it does not work. There was an earlier post on this in the
> mailng list.
>
> How does your input look like? gsva can handle expression set or
> matrix, nothing else.
>
> Did I answer your question? If not, please provide me a *reproducible*
> example, otherwise I cannot help you :/
>
> Cheers
> Sonja
>
>
> On Fri, Feb 21, 2014 at 1:19 PM, Jonathan Manning
> <Jonathan.Manning at ed.ac.uk>  wrote:
>> Hi Sonja,
>>
>> Thanks for the quick reply, but I don't think I've made myself clear. I'm
>> aware that gsva() returns that list, from which you need to extract es.obs,
>> but the error lies internal to the method when that list is being
>> constructed.
>>
>> For example, when I run:
>>
>> gsva_es<- gsva(my.expressionset, c2BroadSets, verbose=TRUE,
>> method='plage')$es.obs
>>
>> I get the error I described:
>>
>> Error in eSco$es.obs : $ operator is invalid for atomic vectors
>>
>>  From what I can determine, GSVA:::.gsva() (called from gsva()) returns the
>> results of PLAGE et al directly, as matrices, rather than doing
>> bootstrapping etc and making a list. But the top-level gsva() seems to
>> expect a list with the results of bootstrapping etc, as happens in the
>> default case. The lines from gsva() in question are:
>>
>> eSco<- GSVA:::.gsva(Biobase::exprs(expr), mapped.gset.idx.list,
>>
>>                           method, rnaseq, abs.ranking, no.bootstraps,
>> bootstrap.percent,
>>
>>                           parallel.sz, parallel.type, mx.diff, tau, kernel,
>>
>>                           verbose)
>>
>>      eScoEset<- expr
>>
>>      Biobase::exprs(eScoEset)<- eSco$es.obs
>>
>>
>>
>>      Biobase::annotation(eScoEset)<- ""
>>
>>      return(list(es.obs = eScoEset, bootstrap = eSco$bootstrap,
>>
>>                  p.vals.sign = eSco$p.vals.sign))
>>
>> If I specify method='plage', then 'eSco' is a matrix and 'eSco$es.obs' won't
>> work.
>>
>> Is that clearer? It seems that bootstrapping doesn't happen right now where
>> method is PLAGE etc- should that be the case?
>>
>> Jon
>>
>>
>>
>> On 21/02/2014 12:01, Sonja Haenzelmann wrote:
>>
>> gsva_es<- gsva(y, geneSets, mx.diff=1)$es.obs
>>
>>
>> The University of Edinburgh is a charitable body, registered in
>> Scotland, with registration number SC005336.
>>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: not available
URL: <https://stat.ethz.ch/pipermail/bioconductor/attachments/20140221/57614d79/attachment.pl>


More information about the Bioconductor mailing list