[][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.