1 #ifndef __GLOBALS_H
2 #define __GLOBALS_H
3 
4 #include <set>
5 #include <vector>
6 
7 extern "C" {
8   #include "RNAlocmin_cmdline.h"
9 }
10 #include "hash_util.h"
11 #include "move_set_pk.h"
12 
13 // some global counters
14 static int num_moves = 0;
15 static int seq_len;
16 
17 // structure for sequence related stuff:
18 
19 class SeqInfo {
20 public:
21   char *seq;
22   short *s0;
23   short *s1;
24 
25   SeqInfo();
26   ~SeqInfo();
27   void Init(char *seq);
28 };
29 
30 // cute options singleton class
31 class Options {
32   // options
33 public:
34   float minh;   // leave out shallow minima (should be relativelly small)
35   bool noLP;    // no lone pairs
36   bool EOM;     // use energy_of_move
37   bool first;   // use first descent, not deepest
38   bool rand;    // use random walk, not deepest
39   bool shift;   // use shifts?
40   int verbose_lvl; // level of verbosity
41   int floodMax; // cap for flooding
42   bool neighs;  // use neighborhood routines?
43 
44   bool pknots; // flag for pseudoknots.
45 
46 public:
47   Options();
48 
49   // return 0 if success
50   int Init(gengetopt_args_info &args_info);
51 };
52 /*
53 // structure for degeneracy
54 class Degen {
55   // for degeneracy (structures with equal energies)
56 public:
57   int current;    // all structures here have this energy
58   set<short*, comps_short> processed;
59   set<short*, comps_short> unprocessed;
60 
61 public:
62   Degen();
63   ~Degen();
64   void Clear();
65 };*/
66 
67 // some good functions
68 
69 
70 // some singleton objects
71 //extern Degen Deg;
72 extern Options Opt;
73 //extern Encoded Enc;
74 
75 #endif
76