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