The convention in IRanges is to match by order, rather than by name, as is
done with ordinary R vectors, for element-wise vector operations.
findOverlaps does not fall into this category, as it is a "search"
operation.

Michael

On Mon, Sep 6, 2010 at 12:41 AM, Aaron Statham <[email protected]>wrote:

> Hi all,
>
> Just a gotcha I ran into today - when running Views() on
> RleList,RangesList arguments, the ranges are applied to the RleList by
> order of the list, not by matching up names.
> Consequently I had views running off the edge of a RleList with no
> warning or error being thrown.
>
> Example:
> > rle1 <- RleList(chr1=Rle(1:50), chr2=Rle(1:10))
> > ranges1 <- RangesList(chr2=IRanges(c(1,3), width=5),
> chr1=IRanges(c(5,15), width=5))
> > rle1
> SimpleRleList of length 2
> $chr1
> 'integer' Rle of length 50 with 50 runs
>  Lengths:  1  1  1  1  1  1  1  1  1  1  1 ...  1  1  1  1  1  1  1  1  1
>  1
>  Values :  1  2  3  4  5  6  7  8  9 10 11 ... 41 42 43 44 45 46 47 48 49
> 50
>
> $chr2
> 'integer' Rle of length 10 with 10 runs
>  Lengths:  1  1  1  1  1  1  1  1  1  1
>  Values :  1  2  3  4  5  6  7  8  9 10
>
> > ranges1
> SimpleRangesList of length 2
> $chr2
> IRanges of length 2
>    start end width
> [1]     1   5     5
> [2]     3   7     5
>
> $chr1
> IRanges of length 2
>    start end width
> [1]     5   9     5
> [2]    15  19     5
>
> > Views(rle1, ranges1)
> SimpleRleViewsList of length 2
> $chr1
> Views on a 50-length Rle subject
>
> views:
>    start end width
> [1]     1   5     5 [1 2 3 4 5]
> [2]     3   7     5 [3 4 5 6 7]
>
> $chr2
> Views on a 10-length Rle subject
>
> views:
>    start end width
> [1]     5   9     5 [5 6 7 8 9]
> [2]    15  19     5 [ ]
>
> > sessionInfo()
> R version 2.12.0 Under development (unstable) (2010-07-06 r52460)
> Platform: x86_64-unknown-linux-gnu (64-bit)
>
> locale:
>  [1] LC_CTYPE=en_AU.UTF-8       LC_NUMERIC=C
>  [3] LC_TIME=en_AU.UTF-8        LC_COLLATE=en_AU.UTF-8
>  [5] LC_MONETARY=C              LC_MESSAGES=en_AU.UTF-8
>  [7] LC_PAPER=en_AU.UTF-8       LC_NAME=C
>  [9] LC_ADDRESS=C               LC_TELEPHONE=C
> [11] LC_MEASUREMENT=en_AU.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
>
> other attached packages:
> [1] IRanges_1.7.32
>
> A quick fix would be to in RleViewsList() to check for names in
> rleList & rangesList (as is done in findOverlaps methods) and reorder
> one before the call to Map(Views, ...)
>
> Cheers,
> Aaron
>
> --
> Aaron Statham
> Postgraduate Scholar, Cancer Epigenetics
> Garvan Institute of Medical Research   Tel: (02) 9295 8393
> 384 Victoria St Darlinghurst 2010   Fax: (02) 9295 8316
> NSW Australia         email: [email protected]
>
> _______________________________________________
> Bioc-sig-sequencing mailing list
> [email protected]
> https://stat.ethz.ch/mailman/listinfo/bioc-sig-sequencing
>

        [[alternative HTML version deleted]]

_______________________________________________
Bioc-sig-sequencing mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/bioc-sig-sequencing

Reply via email to