ARB
MP_main.cxx
Go to the documentation of this file.
1 // ================================================================ //
2 // //
3 // File : MP_main.cxx //
4 // Purpose : //
5 // //
6 // Institute of Microbiology (Technical University Munich) //
7 // http://www.arb-home.de/ //
8 // //
9 // ================================================================ //
10 
11 #include <multi_probe.hxx>
12 
13 #include "MP_probe.hxx"
14 #include "MultiProbe.hxx"
15 #include "mp_proto.hxx"
16 
17 #include <TreeDisplay.hxx>
18 
19 #include <aw_root.hxx>
20 #include <aw_awar_defs.hxx>
21 
24 char MP_probe_tab[256]; // zum checken, ob ein eingegebener Sondenstring ok ist
28 bool pt_server_different = false;
29 
31  aw_root = awr;
32  scr = canvas;
33  stc = NULp;
34  create_awars();
35  mp_window = new MP_Window(aw_root, canvas->gb_main);
36  p_eval = NULp;
37 }
38 
43 
44  delete p_eval;
45  delete stc;
46  delete mp_window;
47 
48  new_pt_server = true;
49 }
50 
52  delete p_eval;
53  p_eval = NULp;
54 }
55 
56 ProbeValuation *MP_Main::new_probe_eval(char **field, int size, int *array, int *single_mismatch) {
57  p_eval = new ProbeValuation(field, size, array, single_mismatch);
58  p_eval->set_act_gen(new Generation(p_eval->get_max_init_for_gen(), 1)); // erste Generation = Ausgangspopulation
59  return p_eval;
60 }
61 
62 void MP_Main::create_awars() {
63  aw_root->awar_string(MP_AWAR_SEQIN);
65  aw_root->awar_string(MP_AWAR_PROBELIST)->add_target_var(& mp_gl_awars.probelist);
67  aw_root->awar_int(MP_AWAR_COMPLEMENT, 1)->add_target_var(& mp_gl_awars.complement);
69  remembered_mismatches = 0; // derselbe initiale Wert wie mp_gl_awars.no_of_mismatches
70  aw_root->awar_int(MP_AWAR_PTSERVER)->add_target_var(& mp_gl_awars.ptserver);
73  aw_root->awar_int(MP_AWAR_NOOFPROBES)->add_target_var(& mp_gl_awars.no_of_probes)->write_int(3);
78 
79  aw_root->awar_int(MP_AWAR_EMPHASIS)->add_target_var(& mp_gl_awars.emphasis)->write_int(0);
80  aw_root->awar_float(MP_AWAR_GREYZONE)->add_target_var(& mp_gl_awars.greyzone)->write_float(0.0);
81  aw_root->awar_int(MP_AWAR_ECOLIPOS)->add_target_var(& mp_gl_awars.ecolipos)->write_int(0);
82 
83  aw_root->awar_int(MP_AWAR_AUTOADVANCE, 1);
84 }
85 
86 
87 static void create_tables() {
88  int i;
89 
90  // probe_tab
91  for (i=0; i<256; i++)
92  MP_probe_tab[i] = false;
93 
94  const unsigned char *true_chars = (const unsigned char *)"atgucnATGUCN";
95  for (i = 0; true_chars[i]; ++i) {
96  MP_probe_tab[true_chars[i]] = true;
97  }
98 }
99 
101  if (!mp_main) {
102  create_tables();
103  mp_main = new MP_Main(root, canvas);
104  }
105 
106  AW_window *aw = mp_main->get_mp_window()->get_window();
107  aw->show();
108 
109  return aw;
110 }
111 
long singlemismatches
Definition: MultiProbe.hxx:97
bool pt_server_different
Definition: MP_main.cxx:28
char * probelist
Definition: MultiProbe.hxx:89
void MP_gen_quality(AW_root *awr)
Definition: MP_noclass.cxx:88
AW_window_simple * get_window()
Definition: MultiProbe.hxx:164
#define MP_AWAR_RESULTPROBES
Definition: MultiProbe.hxx:52
long no_of_mismatches
Definition: MultiProbe.hxx:95
long emphasis
Definition: MultiProbe.hxx:101
#define MP_AWAR_NOOFPROBES
Definition: MultiProbe.hxx:54
#define MP_AWAR_QUALITY
Definition: MultiProbe.hxx:55
#define MP_AWAR_RESULTPROBESCOMMENT
Definition: MultiProbe.hxx:53
AW_window * create_multiprobe_window(AW_root *root, TREE_canvas *canvas)
Definition: MP_main.cxx:100
#define MP_AWAR_ECOLIPOS
Definition: MultiProbe.hxx:61
MP_Main * mp_main
Definition: MP_main.cxx:23
long ecolipos
Definition: MultiProbe.hxx:102
char * result_probes
Definition: MultiProbe.hxx:90
#define MP_AWAR_EMPHASIS
Definition: MultiProbe.hxx:60
void MP_gen_singleprobe(AW_root *awr)
Definition: MP_noclass.cxx:173
AW_awar * add_callback(const RootCallback &cb)
Definition: AW_awar.cxx:231
static void create_tables()
Definition: MP_main.cxx:87
void show()
Definition: AW_window.cxx:1683
int remembered_mismatches
Definition: MP_main.cxx:25
AW_awar * awar_float(const char *var_name, float default_value=0.0, AW_default default_file=AW_ROOT_DEFAULT)
Definition: AW_root.cxx:560
#define MP_AWAR_SELECTEDPROBES
Definition: MultiProbe.hxx:45
ProbeValuation * new_probe_eval(char **field, int size, int *array, int *mismatches)
Definition: MP_main.cxx:56
void destroy_probe_eval()
Definition: MP_main.cxx:51
char MP_probe_tab[256]
Definition: MP_main.cxx:24
#define QUALITYDEFAULT
Definition: MultiProbe.hxx:64
#define MP_AWAR_PROBELIST
Definition: MultiProbe.hxx:46
long complement
Definition: MultiProbe.hxx:94
int get_max_init_for_gen()
Definition: MP_probe.hxx:172
char * result_probes_comment
Definition: MultiProbe.hxx:91
long ptserver
Definition: MultiProbe.hxx:98
AW_awar * remove_callback(const RootCallback &cb)
Definition: AW_awar.cxx:525
bool new_pt_server
Definition: MP_noclass.cxx:32
#define MP_AWAR_WEIGHTEDMISMATCHES
Definition: MultiProbe.hxx:47
float outside_mismatches_difference
Definition: MultiProbe.hxx:92
float greyzone
Definition: MultiProbe.hxx:105
#define MP_AWAR_MISMATCHES
Definition: MultiProbe.hxx:49
void set_act_gen(Generation *g)
Definition: MP_probe.hxx:171
#define MP_AWAR_GREYZONE
Definition: MultiProbe.hxx:59
AW_awar * awar_int(const char *var_name, long default_value=0, AW_default default_file=AW_ROOT_DEFAULT)
Definition: AW_root.cxx:580
#define MP_AWAR_AUTOADVANCE
Definition: MultiProbe.hxx:62
long weightedmismatches
Definition: MultiProbe.hxx:93
AW_awar * add_target_var(char **ppchr)
Definition: AW_awar.cxx:236
#define MP_AWAR_SEQIN
Definition: MultiProbe.hxx:44
#define MP_AWAR_COMPLEMENT
Definition: MultiProbe.hxx:48
MP_Main(AW_root *awr, TREE_canvas *canvas)
Definition: MP_main.cxx:30
char * selected_probes
Definition: MultiProbe.hxx:88
#define MP_AWAR_QUALITYBORDER1
Definition: MultiProbe.hxx:58
#define NULp
Definition: cxxforward.h:116
long no_of_probes
Definition: MultiProbe.hxx:96
MP_Window * get_mp_window()
Definition: MultiProbe.hxx:143
awar_vars mp_gl_awars
Definition: MP_main.cxx:22
void MP_modify_selected(AW_root *awr)
Definition: MP_noclass.cxx:123
~MP_Main()
Definition: MP_main.cxx:39
AW_awar * awar_string(const char *var_name, const char *default_value="", AW_default default_file=AW_ROOT_DEFAULT)
Definition: AW_root.cxx:570
#define MP_AWAR_PTSERVER
Definition: MultiProbe.hxx:50
GB_ERROR write_float(float aw_float)
#define MP_AWAR_SINGLEMISMATCHES
Definition: MultiProbe.hxx:56
#define MP_AWAR_OUTSIDEMISMATCHES
Definition: MultiProbe.hxx:57
long qualityborder_best
Definition: MultiProbe.hxx:100
long probe_quality
Definition: MultiProbe.hxx:99
int anz_elem_marked
Definition: MP_main.cxx:26
GB_ERROR write_int(long aw_int)
static void create_awars(AW_root *aw_root, AW_default def)
Definition: SEC_db.cxx:300
int anz_elem_unmarked
Definition: MP_main.cxx:27
GBDATA * gb_main
Definition: canvas.hxx:346