[BioC] IRanges bug? Running do.cal("c", list.of.IRanges.objects)
Steve Lianoglou
mailinglist.honeypot at gmail.com
Fri May 7 23:50:23 CEST 2010
Ahhh ... I see.
Makes sense, thanks.
-steve
On Fri, May 7, 2010 at 5:46 PM, Patrick Aboyoun <paboyoun at fhcrc.org> wrote:
> Steve,
> This outcome is due to how the S4 generic for c is defined
>
>> args(getGeneric("c"))
> function (x, ..., recursive = FALSE)
> NULL
>
> The dispatch occurs off the argument x. Since all your list elements are
> named, but none are named "x", your object uses the primitive method
>
>> c
> function (..., recursive = FALSE) .Primitive("c")
>
> and so you get an undesired result. One solution is to unname your list
> object in the do.call step
>
> R> do.call(c, unname(ilist))
> IRanges of length 3
> start end width
> [1] 1 30 30
> [2] 10 80 71
> [3] 100 500 401
>
> In your situation, however, I would recommend storing lists of IRanges
> objects in an [Simple/Compressed]IRangesList instance. You can then use many
> IRangesList methods as well as its unlist method to get the object you were
> looking for:
>
> R> ilist2 <- IRangesList(ilist)
> R> unlist(ilist2, use.names=FALSE)
> IRanges of length 3
> start end width
> [1] 1 30 30
> [2] 10 80 71
> [3] 100 500 401
>
> R> sessionInfo()
> R version 2.12.0 Under development (unstable) (2010-05-02 r51890)
> i386-apple-darwin9.8.0
>
> locale:
> [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
> other attached packages:
> [1] IRanges_1.7.1
>
>
>
> Patrick
>
>
> On 5/7/10 2:23 PM, Steve Lianoglou wrote:
>>
>> Hi,
>>
>> I feel like this should construct a new IRanges object that is the
>> "stack" of all the IRanges objects in my list:
>>
>> R> library(IRanges)
>> R> ilist<- list(a=IRanges(1, 30), b=IRanges(10,80), c=IRanges(100, 500))
>> R> do.call('c', ilist)
>>
>> But it just returns the same list as ilist.
>>
>> Shouldn't the above return the equivalent of:
>>
>> R> c(l$a, l$b, l$c)
>>
>> No?
>>
>> R> sessionInfo()
>> R version 2.11.0 Patched (2010-05-05 r51909)
>> x86_64-apple-darwin9.8.0
>>
>> locale:
>> [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8
>>
>> attached base packages:
>> [1] stats graphics grDevices utils datasets methods base
>>
>> other attached packages:
>> [1] IRanges_1.6.1 ARE.utils_0.1.0
>>
>> loaded via a namespace (and not attached):
>> [1] igraph_0.5.3 tools_2.11.0
>>
>> Thanks,
>> -steve
>>
>>
>
>
--
Steve Lianoglou
Graduate Student: Computational Systems Biology
| Memorial Sloan-Kettering Cancer Center
| Weill Medical College of Cornell University
Contact Info: http://cbio.mskcc.org/~lianos/contact
More information about the Bioconductor
mailing list