Skip to content

[query] add hl.utils.genomic_range_table#12679

Merged
danking merged 6 commits intohail-is:mainfrom
danking:table-genomic-range
Feb 16, 2023
Merged

[query] add hl.utils.genomic_range_table#12679
danking merged 6 commits intohail-is:mainfrom
danking:table-genomic-range

Conversation

@danking
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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