annotate bwa-0.6.2/bwtsw2.h @ 2:a294fbfcb1db draft default tip

Uploaded BWA
author ashvark
date Fri, 18 Jul 2014 07:55:59 -0400
parents dd1186b11b3b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
1 #ifndef LH3_BWTSW2_H
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
2 #define LH3_BWTSW2_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 #include "bntseq.h"
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
6 #include "bwt_lite.h"
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
7 #include "bwt.h"
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
8
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
9 #define BSW2_FLAG_MATESW 0x100
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
10 #define BSW2_FLAG_TANDEM 0x200
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
11 #define BSW2_FLAG_MOVED 0x400
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
12 #define BSW2_FLAG_RESCUED 0x800
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
13
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
14 typedef struct {
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
15 int skip_sw:16, hard_clip:16;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
16 int a, b, q, r, t, qr, bw, max_ins;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
17 int z, is, t_seeds, multi_2nd;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
18 float mask_level, coef;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
19 int n_threads, chunk_size;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
20 } bsw2opt_t;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
21
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
22 typedef struct {
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
23 bwtint_t k, l;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
24 uint32_t flag:18, n_seeds:13, is_rev:1;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
25 int len, G, G2;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
26 int beg, end;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
27 } bsw2hit_t;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
28
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
29 typedef struct {
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
30 int flag, nn, n_cigar, chr, pos, qual, mchr, mpos, pqual, isize, nm;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
31 uint32_t *cigar;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
32 } bsw2aux_t;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
33
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
34 typedef struct {
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
35 int n, max;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
36 bsw2hit_t *hits;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
37 bsw2aux_t *aux;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
38 } bwtsw2_t;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
39
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
40 typedef struct {
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
41 void *stack;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
42 int max_l;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
43 uint8_t *aln_mem;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
44 } bsw2global_t;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
45
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
46 typedef struct {
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
47 int l, tid;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
48 char *name, *seq, *qual, *sam;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
49 } bsw2seq1_t;
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
50
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
51 #ifdef __cplusplus
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
52 extern "C" {
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
53 #endif
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
54
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
55 bsw2opt_t *bsw2_init_opt();
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
56 bwtsw2_t **bsw2_core(const bntseq_t *bns, const bsw2opt_t *opt, const bwtl_t *target, const bwt_t *query, bsw2global_t *pool);
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
57 void bsw2_aln(const bsw2opt_t *opt, const bntseq_t *bns, bwt_t * const target, const char *fn, const char *fn2);
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
58 void bsw2_destroy(bwtsw2_t *b);
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
59
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
60 bsw2global_t *bsw2_global_init();
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
61 void bsw2_global_destroy(bsw2global_t *_pool);
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
62
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
63 void bsw2_pair(const bsw2opt_t *opt, int64_t l_pac, const uint8_t *pac, int n, bsw2seq1_t *seq, bwtsw2_t **hit);
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
64
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
65 #ifdef __cplusplus
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
66 }
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
67 #endif
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
68
dd1186b11b3b Uploaded BWA
ashvark
parents:
diff changeset
69 #endif