|Subject:||Missing output for fetch_window|
|Date:||Fri, 27 Oct 2017 19:32:57 +0100|
|To:||bug-Set-IntervalTree [...] rt.cpan.org|
|From:||Matthieu Muffato <muffato [...] ebi.ac.uk>|
Hello, I am having issues with fetch_window. As I add more intervals/objects to the tree, some objects are not returned any more. It looks like the C++ code does not handle overlapping input overlaps, but it is not mentioned in the documentation of the module. I have attached a minimal test script. It adds elements one at a time to the tree, and queries a given interval (always the same) with fetch_window. It prints the returned array and the internal structure of the tree (even though I can't make sense of it). The list is supposed to remain the same or grow, reaching the elements 1, 2, 4, 6 and 7. But as soon as element 3 is added, the tree only returns the element 2. I think this is due to the end coordinate of element 3 being higher than the start coordinate of element 2. If I decrease the end coordinate to 6208751, none of the intervals overlap (but one is duplicated) and it works. However the documentation doesn't mention such a limitation. On the other hand, fetch doesn't seem to be affected by the overlap. It always correctly returns all the elements. I haven't looked into the C++ code, but could that mean that the structure is correct, but fetch_window makes too many assumptions about the intervals ? Bug replicated on: - v0.10, on perl v5.18.2 / Linux 3.13.0-132-generic (Ubuntu) - v0.11, on perl v5.24.1 / Linux 3.10.0-514.16.1.el7.x86_64 (RHEL7) I hope you can provide some guidance ! Thank you Best regards, Matthieu Muffato
Message body is not shown because sender requested not to inline it.