[−][src]Crate coitrees
COITrees
coitrees
implements a fast static interval tree data structure with genomic
data in mind.
The data structure used a fairly standard interval tree, but with nodes stored in van Emde Boas layout, which improves average cache locality, and thus query performance. The downside is that building the tree is more expensive so a relatively large number of queries needs to made for it to break even.
The data structure COITree
is constructed with an array of IntervalNode
structs which store integer, end-inclusive intervals along with associated
metadata. The tree can be queried directly for coverage or overlaps, or
through the intermediary SortedQuerenty
which keeps track of some state
to accelerate overlaping queries.
Structs
COITree | COITree data structure. A representation of a static set of intervals with associated metadata, enabling fast overlap and coverage queries. |
COITreeIterator | Iterate through nodes in a tree in sorted order by interval start position. |
IntervalNode | An interval with associated metadata. |
SortedQuerent | An alternative query strategy that can be much faster when queries are performed in sorted order and overlap. |
Traits
IntWithMax | A trait facilitating COITree index types. |