1 /* $Id: oligo.h 214025 2018-03-05 07:06:43Z twu $ */
2 #ifndef OLIGO_INCLUDED
3 #define OLIGO_INCLUDED
4 
5 #include "bool.h"
6 #include "genomicpos.h"
7 #include "indexdb.h"
8 #include "reader.h"
9 
10 typedef enum {INIT, DONE, INVALID, VALID} Oligostate_T;
11 
12 extern Oligostate_T
13 Oligo_next_5 (Oligostate_T last_state, int *querypos, Oligospace_T *forward,
14 	      Oligospace_T *revcomp, Reader_T reader, int genestrand);
15 extern Oligostate_T
16 Oligo_next_3 (Oligostate_T last_state, int *querypos, Oligospace_T *forward,
17 	      Oligospace_T *revcomp, Reader_T reader, int genestrand);
18 
19 extern Oligostate_T
20 Oligo_skip_5 (Oligostate_T last_state, int *querypos, Oligospace_T *forward,
21 	      Oligospace_T *revcomp, Reader_T reader, int genestrand, int nskip);
22 extern Oligostate_T
23 Oligo_skip_3 (Oligostate_T last_state, int *querypos, Oligospace_T *forward,
24 	      Oligospace_T *revcomp, Reader_T reader, int genestrand, int nskip);
25 
26 extern void
27 Oligo_setup (int index1part, int mode);
28 
29 #endif
30