0
|
1 #ifndef LH3_BWTSW2_H
|
|
2 #define LH3_BWTSW2_H
|
|
3
|
|
4 #include <stdint.h>
|
|
5 #include "bntseq.h"
|
|
6 #include "bwt_lite.h"
|
|
7 #include "bwt.h"
|
|
8
|
|
9 typedef struct {
|
|
10 int a, b, q, r, t, qr, bw;
|
|
11 int z, is, t_seeds, hard_clip;
|
|
12 float yita, mask_level, coef;
|
|
13 int n_threads, chunk_size;
|
|
14 } bsw2opt_t;
|
|
15
|
|
16 typedef struct {
|
|
17 uint32_t k, l, flag:18, n_seeds:14;
|
|
18 int len, G, G2;
|
|
19 int beg, end;
|
|
20 } bsw2hit_t;
|
|
21
|
|
22 typedef struct {
|
|
23 int n, max;
|
|
24 bsw2hit_t *hits;
|
|
25 int *n_cigar;
|
|
26 uint32_t **cigar;
|
|
27 } bwtsw2_t;
|
|
28
|
|
29 typedef struct {
|
|
30 void *stack;
|
|
31 int max_l;
|
|
32 uint8_t *aln_mem;
|
|
33 } bsw2global_t;
|
|
34
|
|
35 #ifdef __cplusplus
|
|
36 extern "C" {
|
|
37 #endif
|
|
38
|
|
39 bsw2opt_t *bsw2_init_opt();
|
|
40 bwtsw2_t **bsw2_core(const bsw2opt_t *opt, const bwtl_t *target, const bwt_t *query, bsw2global_t *pool);
|
|
41 void bsw2_aln(const bsw2opt_t *opt, const bntseq_t *bns, bwt_t * const target[2], const char *fn);
|
|
42 void bsw2_destroy(bwtsw2_t *b);
|
|
43
|
|
44 bsw2global_t *bsw2_global_init();
|
|
45 void bsw2_global_destroy(bsw2global_t *_pool);
|
|
46
|
|
47 #ifdef __cplusplus
|
|
48 }
|
|
49 #endif
|
|
50
|
|
51 #endif
|