forked from ANGSD/angsd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
bambi_interface.h
52 lines (43 loc) · 1.18 KB
/
bambi_interface.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#pragma once
typedef unsigned int suint;
typedef struct tNode_t{//order is important. First 8 bytes will be modified by pool_alloc structure (James Bonfield)
int l;//4
int l2;//4//length of "insert"
int refPos;//4
int m;//4
int m2;//4//possible length of insert before realloc
char *seq;//8
unsigned char *qs;//8
suint *posi;//16
suint *isop;//16
unsigned char *mapQ;//8
tNode_t **insert;//8 an insertion 8bytes;
int deletion;//4 //counter
unsigned char *rgs;//<- added 19july 2020 for keeping track of readgroups
}tNode;
typedef struct{
int refId;
int regStart;
int regStop;
int nSites;
int nSamples;
tNode ***nd;//nd[site][ind]
int *refPos;//length is nSites
}chunkyT;
typedef struct{
int l;//number of nodes in nodes
int m; //possible number of of nodes
int first;//simply a value which is equal to nodes[0].refPos;
int last;
tNode **nds;//this length can maximum be the maxlenght of a read.NOTANYMORE
}nodePoolT;
typedef struct{
nodePoolT *dn;
int nFiles;
int regStart;
int regStop;
int refId;
}fcb;//forcallback
void dalloc_node(tNode *n);
chunkyT *mergeAllNodes_new(nodePoolT *dn,int nFiles);
void cleanUpChunkyT(chunkyT *chk);