0
|
1 /* The MIT License
|
|
2
|
|
3 Copyright (c) 2003-2006, 2008, 2009 by Heng Li <lh3@live.co.uk>
|
|
4
|
|
5 Permission is hereby granted, free of charge, to any person obtaining
|
|
6 a copy of this software and associated documentation files (the
|
|
7 "Software"), to deal in the Software without restriction, including
|
|
8 without limitation the rights to use, copy, modify, merge, publish,
|
|
9 distribute, sublicense, and/or sell copies of the Software, and to
|
|
10 permit persons to whom the Software is furnished to do so, subject to
|
|
11 the following conditions:
|
|
12
|
|
13 The above copyright notice and this permission notice shall be
|
|
14 included in all copies or substantial portions of the Software.
|
|
15
|
|
16 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
17 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
18 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
19 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
|
20 BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
|
21 ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
22 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
23 SOFTWARE.
|
|
24 */
|
|
25
|
|
26 #ifndef LH3_KALN_H_
|
|
27 #define LH3_KALN_H_
|
|
28
|
|
29 #include <stdint.h>
|
|
30
|
|
31 #define MINOR_INF -1073741823
|
|
32
|
|
33 typedef struct {
|
|
34 int gap_open;
|
|
35 int gap_ext;
|
|
36 int gap_end_open;
|
|
37 int gap_end_ext;
|
|
38
|
|
39 int *matrix;
|
|
40 int row;
|
|
41 int band_width;
|
|
42 } ka_param_t;
|
|
43
|
|
44 typedef struct {
|
|
45 int iio, iie, ido, ide;
|
|
46 int eio, eie, edo, ede;
|
|
47 int *matrix;
|
|
48 int row;
|
|
49 int band_width;
|
|
50 } ka_param2_t;
|
|
51
|
|
52 #ifdef __cplusplus
|
|
53 extern "C" {
|
|
54 #endif
|
|
55
|
|
56 uint32_t *ka_global_core(uint8_t *seq1, int len1, uint8_t *seq2, int len2, const ka_param_t *ap,
|
|
57 int *_score, int *n_cigar);
|
|
58 int ka_global_score(const uint8_t *_seq1, int len1, const uint8_t *_seq2, int len2, const ka_param2_t *ap);
|
|
59 #ifdef __cplusplus
|
|
60 }
|
|
61 #endif
|
|
62
|
|
63 extern ka_param_t ka_param_blast; /* = { 5, 2, 5, 2, aln_sm_blast, 5, 50 }; */
|
|
64 extern ka_param_t ka_param_qual; // only use this for global alignment!!!
|
|
65 extern ka_param2_t ka_param2_qual; // only use this for global alignment!!!
|
|
66
|
|
67 #endif
|