-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Redesign of how joins are stored in
LeftGroupedJoin
.
- Previously only overlap and data indices were stored in `LeftGroupedJoin`. However, this makes downstream operations that need to compare, merge/flatten, etc the right ranges harder. So, now a `Vec<RangeTuples>` are stored. `RangeTuple` is a new minimal range type with `Option<usize>` index (they fit well in `LeftGroupedJoin`, since this option avoids having to carry indexed/empty types to this level, which makes prevents API clog. - `RangeTuple` and functionality added. - New experimental method `hist-feature` `--reduce` option which forces overlapping right ranges to create a new set of their feature types, e.g. "CDS,exon,5UTR", which allows for exhaustive and exclusive assignment of each basepair in a window to a particular "feature set". This isn't tested yet, hence experimental. - Commented out `IndexedDataContainer` methods that weren't used and just getting in the way. - New `UniqueIdentifier` type which is useful for key to `usize` mapping. Then, implemntations for `UniqueIdentifier` so it is a `IndexedDataContainer`. This allows for much more efficient storage of data in indexed data containers when one value is repeated a lot. Added `GRanges::new_vec_keyed()` and `GRanges::push_range_with_key()` to implement these methods (the former's name may change). - `RangeReduced` type, which stores "reduced" or flattend ranges. This is used in the `--reduce` option of `hist-features`. - `ConditionalMergingIterator` -- without the `Result`. - `reduce_ranges()` method.
- Loading branch information
Showing
10 changed files
with
835 additions
and
146 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.