libBigWig
Data Fields
bwRTreeNode_t Struct Reference

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
 

Detailed Description

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.

Field Documentation

◆ baseEnd

uint32_t* bwRTreeNode_t::baseEnd

A list of the end position of each child.

◆ baseStart

uint32_t* bwRTreeNode_t::baseStart

A list of the start position of each child.

◆ child

struct bwRTreeNode_t** bwRTreeNode_t::child

Twigs only: The child node(s).

◆ chrIdxEnd

uint32_t* bwRTreeNode_t::chrIdxEnd

A list of the end chromosome indices of each child.

◆ chrIdxStart

uint32_t* bwRTreeNode_t::chrIdxStart

A list of the starting chromosome indices of each child.

◆ dataOffset

uint64_t* bwRTreeNode_t::dataOffset

For leaves, the offset to the on-disk data. For twigs, the offset to the child node.

◆ isLeaf

uint8_t bwRTreeNode_t::isLeaf

Is this node a leaf?

◆ nChildren

uint16_t bwRTreeNode_t::nChildren

The number of children of this node, all lists have this length.

◆ size

uint64_t* bwRTreeNode_t::size

Leaves only: The size of the data block.

◆ x

union { ... } bwRTreeNode_t::x

A union holding either size or child


The documentation for this struct was generated from the following file: