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