NVBIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ssw.h
Go to the documentation of this file.
1 /*
2  * ssw.h
3  *
4  * Created by Mengyao Zhao on 6/22/10.
5  * Copyright 2010 Boston College. All rights reserved.
6  * Version 0.1.4
7  * Last revision by Mengyao Zhao on 01/30/13.
8  *
9  */
10 
11 #ifndef SSW_H
12 #define SSW_H
13 
14 #include <stdio.h>
15 #include <string.h>
16 #include <emmintrin.h>
17 
18 #if defined(WIN32)
19 typedef char int8_t;
20 typedef unsigned char uint8_t;
21 typedef short int16_t;
22 typedef unsigned short uint16_t;
23 typedef int int32_t;
24 typedef unsigned int uint32_t;
25 #else
26 #include <stdint.h>
27 #endif
28 
30 struct _profile;
31 typedef struct _profile s_profile;
32 
47 typedef struct {
57 } s_align;
58 
59 #ifdef __cplusplus
60 extern "C" {
61 #endif // __cplusplus
62 
81 s_profile* ssw_init (const int8_t* read, const int32_t readLen, const int8_t* mat, const int32_t n, const int8_t score_size);
82 
86 void init_destroy (s_profile* p);
87 
88 // @function ssw alignment.
121 s_align* ssw_align (const s_profile* prof,
122  const int8_t* ref,
123  int32_t refLen,
124  const uint8_t weight_gapO,
125  const uint8_t weight_gapE,
126  const uint8_t flag,
127  const uint16_t filters,
128  const int32_t filterd,
129  const int32_t maskLen);
130 
134 void align_destroy (s_align* a);
135 
136 #ifdef __cplusplus
137 }
138 #endif // __cplusplus
139 
140 #endif // SSW_H