Skip to content
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

[query] add hl.utils.genomic_range_table #12679

Merged
merged 6 commits into from
Feb 16, 2023

Conversation

danking
Copy link
Contributor

@danking danking commented Feb 10, 2023

CHANGELOG: In Query on Batch, hl.balding_nichols_model is slightly faster. Also added hl.utils.genomic_range_table to quickly create a table keyed by locus.

It has grated on me for a while that hl.balding_nichols_models requires a whole pass to verify it is sorted even though it is plainly so. This change introduces the necessary infrastructure to convince Hail of that fact.

CHANGELOG: In Query on Batch, `hl.balding_nichols_model` is slightly faster. Also added `hl.utils.genomic_range_table` to quickly create a table keyed by locus.

It has grated on me for a while that `hl.balding_nichols_models` requires a whole pass to verify it
is sorted even though it is plainly so. This change introduces the necessary infrastructure to
convince Hail of that fact.
Copy link
Collaborator

@chrisvittal chrisvittal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no major objections to this, but I am curious as to why you went the route of a new table IR, rather than implementing this with the unsafe key by on a normal range table?

@danking
Copy link
Contributor Author

danking commented Feb 13, 2023

AFAIK, unsafe key-by would still do an unnecessary scan across the data to compute partition bounds. This IR is exactly 1 pass (instead of 2).

@danking danking merged commit 68b89a3 into hail-is:main Feb 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants