libBigWig
|
A node within an R-tree holding the index for data. More...
#include <bwValues.h>
Data Fields | |
uint8_t | isLeaf |
uint16_t | nChildren |
uint32_t * | chrIdxStart |
uint32_t * | baseStart |
uint32_t * | chrIdxEnd |
uint32_t * | baseEnd |
uint64_t * | dataOffset |
union { | |
uint64_t * size | |
struct bwRTreeNode_t ** child | |
} | x |
A node within an R-tree holding the index for data.
Note that there are two types of nodes: leaf and twig. Leaf nodes point to where data actually is. Twig nodes point to additional index nodes, which may or may not be leaves. Each of these nodes has additional children, which may span multiple chromosomes/contigs.
With the start/end position, these positions refer specifically to the chromosomes specified in chrIdxStart/chrIdxEnd. Any chromosomes between these are completely spanned by a given child.
uint32_t* bwRTreeNode_t::baseEnd |
A list of the end position of each child.
uint32_t* bwRTreeNode_t::baseStart |
A list of the start position of each child.
struct bwRTreeNode_t** bwRTreeNode_t::child |
Twigs only: The child node(s).
uint32_t* bwRTreeNode_t::chrIdxEnd |
A list of the end chromosome indices of each child.
uint32_t* bwRTreeNode_t::chrIdxStart |
A list of the starting chromosome indices of each child.
uint64_t* bwRTreeNode_t::dataOffset |
For leaves, the offset to the on-disk data. For twigs, the offset to the child node.
uint8_t bwRTreeNode_t::isLeaf |
Is this node a leaf?
uint16_t bwRTreeNode_t::nChildren |
The number of children of this node, all lists have this length.
uint64_t* bwRTreeNode_t::size |
Leaves only: The size of the data block.
union { ... } bwRTreeNode_t::x |
A union holding either size or child