annotate bwa-0.6.2/bwt_lite.h @ 0:dd1186b11b3b draft

Uploaded BWA
author ashvark
date Fri, 18 Jul 2014 07:55:14 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
1 #ifndef BWT_LITE_H_
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
2 #define BWT_LITE_H_
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
3
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
4 #include <stdint.h>
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
5
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
6 typedef struct {
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
7 uint32_t seq_len, bwt_size, n_occ;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
8 uint32_t primary;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
9 uint32_t *bwt, *occ, *sa, L2[5];
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
10 uint32_t cnt_table[256];
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
11 } bwtl_t;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
12
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
13 #define bwtl_B0(b, k) ((b)->bwt[(k)>>4]>>((~(k)&0xf)<<1)&3)
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
14
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
15 #ifdef __cplusplus
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
16 extern "C" {
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
17 #endif
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
18
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
19 bwtl_t *bwtl_seq2bwtl(int len, const uint8_t *seq);
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
20 inline uint32_t bwtl_occ(const bwtl_t *bwt, uint32_t k, uint8_t c);
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
21 inline void bwtl_occ4(const bwtl_t *bwt, uint32_t k, uint32_t cnt[4]);
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
22 inline void bwtl_2occ4(const bwtl_t *bwt, uint32_t k, uint32_t l, uint32_t cntk[4], uint32_t cntl[4]);
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
23 void bwtl_destroy(bwtl_t *bwt);
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
24
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
25 #ifdef __cplusplus
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
26 }
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
27 #endif
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
28
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
29 #endif