-
-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate granges rust crate #150
Comments
Thanks! I'm aware of it... I recently added a page to the docs showing how to work with the If you have a sec, would you be able to briefly sketch out the API you'd imagine? Are these like methods on the result object, something else? Also, FWIW, you can recreate a lot of granges like functionality with SQL if you're comfortable with it. |
Yes, I saw the genomicranges integration, but it is very slow if you have a lot of intersections (e.g. intersecting a bed file with a bigwig (yesterday more than 1 hour, with latest version of iranges 15minutes): With my own implementation based on Polars and ncls (intersect library behind pyranges) it takes less than 17 seconds.
When you have a lot of intersections, this will likely be slow if you don't use specific structures that can handle intervals efficiently.
I didn't look closely at it yet. So no idea at the moment. Another similar crate: https://github.com/noamteyssier/bedrs |
Thanks yeah, I agree with all of that. My initial thought is similar to how biobear works with VCF/BAM indices, as I'd ideally want it to be compatible with SQL then expose a more pythonic API on top of it. |
Definitely not going to reach rust like speeds in Python :) Our focus initially has been to bring Bioconductor-like representations to Python. Its time I find some focus time and optimize the methods that were implemented. |
Investigate granges rust crate for allowing GenomicRanges like functionality: https://github.com/vsbuffalo/granges
The text was updated successfully, but these errors were encountered: