0
|
1 #ifndef BWTGAP_H_
|
|
2 #define BWTGAP_H_
|
|
3
|
|
4 #include "bwt.h"
|
|
5 #include "bwtaln.h"
|
|
6
|
|
7 typedef struct { // recursion stack
|
|
8 u_int32_t info; // score<<21 | i
|
|
9 u_int32_t n_mm:8, n_gapo:8, n_gape:8, state:2, n_seed_mm:6;
|
|
10 bwtint_t k, l; // (k,l) is the SA region of [i,n-1]
|
|
11 int last_diff_pos;
|
|
12 } gap_entry_t;
|
|
13
|
|
14 typedef struct {
|
|
15 int n_entries, m_entries;
|
|
16 gap_entry_t *stack;
|
|
17 } gap_stack1_t;
|
|
18
|
|
19 typedef struct {
|
|
20 int n_stacks, best, n_entries;
|
|
21 gap_stack1_t *stacks;
|
|
22 } gap_stack_t;
|
|
23
|
|
24 #ifdef __cplusplus
|
|
25 extern "C" {
|
|
26 #endif
|
|
27
|
|
28 gap_stack_t *gap_init_stack2(int max_score);
|
|
29 gap_stack_t *gap_init_stack(int max_mm, int max_gapo, int max_gape, const gap_opt_t *opt);
|
|
30 void gap_destroy_stack(gap_stack_t *stack);
|
|
31 bwt_aln1_t *bwt_match_gap(bwt_t *const bwt, int len, const ubyte_t *seq, bwt_width_t *w,
|
|
32 bwt_width_t *seed_w, const gap_opt_t *opt, int *_n_aln, gap_stack_t *stack);
|
|
33 void bwa_aln2seq(int n_aln, const bwt_aln1_t *aln, bwa_seq_t *s);
|
|
34
|
|
35 #ifdef __cplusplus
|
|
36 }
|
|
37 #endif
|
|
38
|
|
39 #endif
|