Browse code

embed samtools sources directly, since Rsamtools has moved to htslib

Michael Lawrence authored on 11/02/2019 20:33:07
Showing1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,67 @@
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