If you're fixing tonight here is a possible related.  I get an error when I
do the findOverlaps and I have two GRanges with the same seqlevels but in
different order (so, I guess, technically not the same seqlevels).  If this
is not supported, I suggest an upfront check.

gr1 = GRanges(seqnames = c("chr1", "chr2"), ranges = IRanges(1:2, width =
1))
gr2 = gr1
seqlevels(gr2, force = TRUE) = c("chr2", "chr1")
findOverlaps(GIntervalTree(gr1), GIntervalTree(gr2))

I also got a seqfault on a similar example (but with real data).  I am
trying to see if I can make a small reproducible example (which is how I
got here), hypothesizing that it has something to do with the seqinfo slot
in the two GRanges.

Kasper






On Thu, Aug 1, 2013 at 4:48 PM, Hector Corrada Bravo <hcorr...@gmail.com>wrote:

> Thanks. I'll fix tonight.
>
>
> On Thu, Aug 1, 2013 at 4:28 PM, Kasper Daniel Hansen <
> kasperdanielhan...@gmail.com> wrote:
>
>> Bug:
>>
>> > library(GenomicRanges) ## 1.13.35
>>
>> > gr = GRanges(seqnames = c("chr1", "chr2"), ranges = IRanges(1:2, width
>> = 1))
>>
>>  > gr.tree <- GIntervalTree(gr)
>>
>>
>>  > findOverlaps(gr.tree, gr.tree)
>>
>>
>>  Hits of length 2
>>
>>
>>  queryLength: 2
>>
>>
>>  subjectLength: 2
>>
>>
>>    queryHits subjectHits
>>
>>
>>     <integer>   <integer>
>>
>>
>>   1         1           1
>>
>>
>>   2         2           2
>>
>>
>> !> findOverlaps(gr.tree, gr.tree[1])
>>
>>
>>
>>
>>
>>   *** caught segfault ***
>>
>>
>>  address (nil), cause 'memory not mapped'
>>
>>
>>
>>
>>
>>  Traceback:
>>
>>
>>   1: .Call(.NAME, ..., PACKAGE = PACKAGE)
>>
>>
>>   2: .Call2(fun, object@ptr, ..., PACKAGE = "IRanges")
>>
>>
>>   3: .IntervalForestCall(subject, fun, query, partitionIndices,
>> elementLengths(partitioning),     query_ord)
>>
>>   4: .local(query, subject, maxgap, minoverlap, type, select, ...)
>>
>>
>>   5: findOverlaps(qlist, subject@ranges, maxgap = maxgap, minoverlap =
>> minoverlap,     type = type, select = "all")
>>
>>   6: findOverlaps(qlist, subject@ranges, maxgap = maxgap, minoverlap =
>> minoverlap,     type = type, select = "all")
>>
>>   7: .local(query, subject, maxgap, minoverlap, type, select, ...)
>>
>>
>>   8: findOverlaps(gr.tree, gr.tree[1])
>>
>>
>>   9: findOverlaps(gr.tree, gr.tree[1])
>>
>>
>>
>>
>>
>>  Possible actions:
>>
>>
>>  1: abort (with core dump, if enabled)
>>
>>
>>  2: normal R exit
>>
>>
>>  3: exit R without saving workspace
>>
>>
>>  4: exit R saving workspace
>>
>>
>>  Selection:
>>
>>
>> On Thu, Aug 1, 2013 at 3:45 PM, Kasper Daniel Hansen <
>> kasperdanielhan...@gmail.com> wrote:
>>
>>> Ah! Super-nice!  I'll test as well, when I have time.
>>>
>>> Kasper
>>>
>>>
>>> On Thu, Aug 1, 2013 at 3:34 PM, Hector Corrada Bravo <hcorr...@gmail.com
>>> > wrote:
>>>
>>>> This is not tested, but...
>>>>
>>>> GIntervalTree extends GenomicRanges  so, in principle, can be used in
>>>> the rowData slot of SummarizedExperiment. I tried to make GIntervalTree
>>>> support as much of the GenomicRanges interface as I could so this may work
>>>> already for overlap queries where the SummarizedExperiment object is the
>>>> subject. I'll test this soon and let you know.
>>>>
>>>>
>>>> On Thu, Aug 1, 2013 at 3:12 PM, Kasper Daniel Hansen <
>>>> kasperdanielhan...@gmail.com> wrote:
>>>>
>>>>> Now that we have GIntervalTree, I am really interested in a
>>>>> SummarizedExperiment that stores its index in a slot, so it can be
>>>>> indexed
>>>>> once. I am sure other people are greedily eyeing this as well. Either
>>>>> changing the class or extending it.
>>>>>
>>>>> Unfortunately, I will not have time to work on this for some weeks,
>>>>> but I
>>>>> wanted to put the idea out there.
>>>>>
>>>>> Best,
>>>>> Kasper
>>>>>
>>>>> [[alternative HTML version deleted]]
>>>>>
>>>>> _______________________________________________
>>>>> Bioc-devel@r-project.org mailing list
>>>>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>>>>
>>>>>
>>>>
>>>
>>
>

        [[alternative HTML version deleted]]

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to