libBigWig
bwValues.h
Go to the documentation of this file.
1 #ifndef LIBBIGWIG_VALUES_H
2 #define LIBBIGWIG_VALUES_H
3 
4 #include <inttypes.h>
12 //N.B., coordinates are still 0-based half open!
20 typedef struct bwRTreeNode_t {
21  uint8_t isLeaf;
22  //1 byte of padding
23  uint16_t nChildren;
24  uint32_t *chrIdxStart;
25  uint32_t *baseStart;
26  uint32_t *chrIdxEnd;
27  uint32_t *baseEnd;
28  uint64_t *dataOffset;
29  union {
30  uint64_t *size;
31  struct bwRTreeNode_t **child;
32  } x;
34 
38 //TODO rootOffset is pointless, it's 48bytes after the indexOffset
39 typedef struct {
40  uint32_t blockSize;
41  uint64_t nItems;
42  uint32_t chrIdxStart;
43  uint32_t baseStart;
44  uint32_t chrIdxEnd;
45  uint32_t baseEnd;
46  uint64_t idxSize;
47  uint32_t nItemsPerSlot;
48  //There's 4 bytes of padding in the file here
49  uint64_t rootOffset;
51 } bwRTree_t;
52 
56 typedef struct {
57  uint64_t n;
58  uint64_t *offset;
59  uint64_t *size;
61 
67 typedef struct {
68  uint32_t tid;
69  uint32_t start;
70  uint32_t end;
71  uint32_t step;
72  uint32_t span;
73  uint8_t type;
74  uint16_t nItems;
76 
77 #endif // LIBBIGWIG_VALUES_H
struct bwRTreeNode_t bwRTreeNode_t
A node within an R-tree holding the index for data.
The header section of a given data block.
Definition: bwValues.h:67
uint32_t step
Definition: bwValues.h:71
uint32_t tid
Definition: bwValues.h:68
uint32_t end
Definition: bwValues.h:70
uint8_t type
Definition: bwValues.h:73
uint16_t nItems
Definition: bwValues.h:74
uint32_t start
Definition: bwValues.h:69
uint32_t span
Definition: bwValues.h:72
This structure holds the data blocks that overlap a given interval.
Definition: bwValues.h:56
uint64_t * offset
Definition: bwValues.h:58
uint64_t n
Definition: bwValues.h:57
uint64_t * size
Definition: bwValues.h:59
A node within an R-tree holding the index for data.
Definition: bwValues.h:20
uint32_t * baseEnd
Definition: bwValues.h:27
uint16_t nChildren
Definition: bwValues.h:23
uint32_t * chrIdxStart
Definition: bwValues.h:24
uint32_t * chrIdxEnd
Definition: bwValues.h:26
uint64_t * dataOffset
Definition: bwValues.h:28
uint8_t isLeaf
Definition: bwValues.h:21
uint64_t * size
Definition: bwValues.h:30
struct bwRTreeNode_t ** child
Definition: bwValues.h:31
uint32_t * baseStart
Definition: bwValues.h:25
union bwRTreeNode_t::@1 x
Definition: bwValues.h:39
uint64_t idxSize
Definition: bwValues.h:46
uint32_t chrIdxStart
Definition: bwValues.h:42
uint32_t blockSize
Definition: bwValues.h:40
uint32_t chrIdxEnd
Definition: bwValues.h:44
uint64_t nItems
Definition: bwValues.h:41
uint32_t baseEnd
Definition: bwValues.h:45
uint64_t rootOffset
Definition: bwValues.h:49
bwRTreeNode_t * root
Definition: bwValues.h:50
uint32_t baseStart
Definition: bwValues.h:43
uint32_t nItemsPerSlot
Definition: bwValues.h:47