[BioC] Recycling vars with IRanges::reflect
Patrick Aboyoun
paboyoun at fhcrc.org
Mon Apr 12 22:10:52 CEST 2010
Steve,
I'm not sure if this is a doc bug or a bug in code, but either way it
was a bug. Given that it would be reasonable to recycle the bounds
argument to be equilength with x, I patched IRanges in BioC 2.6 to
perform the recycling. This new version of the IRanges package will be
available from bioconductor.org within 36 hours.
> reflect(IRanges(c(1,20,30), width=5), IRanges(1, 34))
IRanges of length 3
start end width
[1] 30 34 5
[2] 11 15 5
[3] 1 5 5
>
> sessionInfo()
R version 2.11.0 beta (2010-04-12 r51689)
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.5.76
Cheers,
Patrick
On 4/12/10 12:22 PM, Steve Lianoglou wrote:
> Hi all,
>
> I was messing around with the IRanges::reflect method, wanting to
> reflect an IRanges object (with many inner ranges) within 1 large
> bounds. For instance, something like so:
>
> R> reflect(IRanges(c(1,20,30), width=5), IRanges(1, 34))
>
> However I get this message:
>
> Error in reflect(IRanges(c(1, 20, 30), width = 5), IRanges(1, 34)) :
> 'bounds' must be a Ranges object of length equal to that of 'x'
>
> Which, I guess, is fine, because I can always do:
>
> R> reflect(IRanges(c(1,20,30), width=5), IRanges(c(1,1,1), c(34,34,34)))
>
> But the section that address "reflect" in ?reflect says:
>
> reflect "reflects" or reverses each range in x relative to the
> corresponding range in bounds, which is *recycled as necessary*.
>
> (ASCII-emphasis mine)
>
> But it seems that neither the `bounds` or `x` var is recycled anyway I
> slice it. So, I'm curious if there's a discrepancy between the
> documentation and (i) the implementation; or (ii) my understanding.
>
> btw - I'm using IRanges_1.5.74
>
> Thanks,
> -steve
>
>
More information about the Bioconductor
mailing list