11 #ifndef MULTIPROBE_HXX
12 #define MULTIPROBE_HXX
30 #define mp_assert(x) arb_assert(x)
36 class AW_window_simple;
44 #define MP_AWAR_SEQIN "tmp/mp/seqin"
45 #define MP_AWAR_SELECTEDPROBES "mp/selectedprobes"
46 #define MP_AWAR_PROBELIST "mp/probelist"
47 #define MP_AWAR_WEIGHTEDMISMATCHES "mp/weightedmismatches"
48 #define MP_AWAR_COMPLEMENT "mp/complement"
49 #define MP_AWAR_MISMATCHES "mp/mismatches"
50 #define MP_AWAR_PTSERVER AWAR_PT_SERVER
51 #define MP_AWAR_LOADLIST "mp/loadlist"
52 #define MP_AWAR_RESULTPROBES "mp/resultprobes"
53 #define MP_AWAR_RESULTPROBESCOMMENT "mp/resultprobescomment"
54 #define MP_AWAR_NOOFPROBES "mp/noofprobes"
55 #define MP_AWAR_QUALITY "mp/quality"
56 #define MP_AWAR_SINGLEMISMATCHES "mp/singlemismatches"
57 #define MP_AWAR_OUTSIDEMISMATCHES "mp/outsidemismatches"
58 #define MP_AWAR_QUALITYBORDER1 "mp/qualityborder1"
59 #define MP_AWAR_GREYZONE "mp/greyzone"
60 #define MP_AWAR_EMPHASIS "mp/emphasis"
61 #define MP_AWAR_ECOLIPOS "mp/ecolipos"
62 #define MP_AWAR_AUTOADVANCE "mp/auto_advance"
64 #define QUALITYDEFAULT 3
65 #define MAXPROBECOMBIS 6 // Maximale Anzahl der Sondenkombinationen
66 #define MAXMISMATCHES 6 // von 0 bis 5 !!!!
67 #define FITNESSSCALEFACTOR 10 // wird benutzt um intern die hammingtabelle feiner zu granulieren
70 #define MULTROULETTEFACTOR 10 // macht aus z.B. 4,231 42
71 #define MAXINITPOPULATION 50 // Ausgangsgroesse der Population
72 #define MAXPOPULATION MAXINITPOPULATION
73 #define CROSSOVER_WS 60 // Crossoverwahrscheinlichkeit liegt bei CROSSOVER_WS Prozent !!!
74 #define MUTATION_WS 33 // Mutationswahrscheinlichkeit liegt bei 1/MUTATION_WS Prozent!!!
75 #define SIGMATRUNCATION_CONST 2 // die Standardwerte liegen zwischen 1 und 3
76 #define C_MULT 1.4 // Werte zwischen 1.2 und 2.0
82 #define LIST(TYP) ((List<Sonde>*) TYP)
84 #define MAXSONDENHASHSIZE 1000 // max 1000 Sonden koennen gecached werden, bei Bedarf aendern !!!!
160 AW_window_simple *aws;
161 AW_window_simple *result_window;
205 Hit(
long baktnummer);
221 void put_Sonde(
const char *name,
int allowed_mis,
double outside_mis);
234 long length_hitliste;
238 long *Allowed_Mismatch;
239 double *Outside_Mismatch;
264 bool match_also_revcompl,
267 const char *match_seq,
269 long *number_of_species,
274 Sonde(
const char* bezeichner,
int num_probes,
int allowed_mis,
double outside_mis);
360 #error MultiProbe.hxx included twice
361 #endif // MULTIPROBE_HXX
Hit * get_hitdata_by_number(long index)
AW_window_simple * get_window()
AW_window_simple * get_result_window()
void set_bitkennung(Bitvector *bv)
#define implicated(hypothesis, conclusion)
void set_p_eval(ProbeValuation *y)
Bakt_Info * get_bakt_info_by_index(long index)
long get_length_hitliste()
GB_HASH * get_color_hash()
static void set_gb_main(GBDATA *gb_main_)
List< Sondentopf > * ST_Liste
double get_mismatch_at_pos(int pos)
AW_selection_list * selected_list
int get_random(int min, int max)
void set_vector(char *back)
void convert(const FormattedFile &in, const FormattedFile &out)
int subset(Bitvector *Obermenge)
Sonde * get_cached_sonde(const char *name)
ProbeValuation * get_p_eval()
void MP_compute(AW_window *, GBDATA *gb_main)
void heapsort(long feldlaenge, MO_Mismatch **Nr_Mm_Feld)
positiontype fill_marked_bakts()
Bitvector * get_bitkennung()
void sink(long i, long t, MO_Mismatch **A)
MO_Mismatch ** get_matching_species(int ptserver_id, bool match_also_revcompl, int match_weight, int match_mis, const char *match_seq, MO_Liste *convert, long *number_of_species, GB_ERROR &error)
GB_ERROR get_all_species(int ptserver_id)
void set_mismatch_at_pos(int pos, double mm)
probe_tabs * fill_Stat_Arrays()
ProbeValuation * new_probe_eval(char **field, int size, int *array, int *mismatches)
double get_Allowed_Mismatch_no(int no)
long k_chosenFrom_n(int k, int n)
unsigned char ** hamming_tab
static void error(const char *msg)
long get_index_by_entry(const char *key)
void destroy_probe_eval()
long get_length_hitliste()
Sonde * cache_Sonde(const char *name, int allowed_mis, double outside_mis)
unsigned long positiontype
void put_Sonde(const char *name, int allowed_mis, double outside_mis)
const char * get_entry_by_index(long index) const
TREE_canvas * get_canvas()
void set_mor(positiontype mor)
int gen_Hitliste(MO_Liste *Bakterienliste)
Sondentopf(MO_Liste *BL, MO_Liste *AL)
void set_stc(ST_Container *stopfC)
char * result_probes_comment
ST_Container(int anz_sonden)
const char * get_vector()
double ** gen_Mergefeld()
float outside_mismatches_difference
double check_for_min(long k, MO_Mismatch **probebacts, long laenge)
MP_Window(AW_root *aw_root, GBDATA *gb_main)
int remembered_mismatches
List< char > * Sondennamen
double get_Outside_Mismatch_no(int no)
Bakt_Info ** get_mo_liste()
MP_Main(AW_root *awr, TREE_canvas *canvas)
MO_Liste * Bakterienliste
void gen_color_hash(positiontype anz_sonden)
long put_entry(const char *name)
Bitvector * merge(Bitvector *x)
void set_far(positiontype far)
Sonde(const char *bezeichner, int num_probes, int allowed_mis, double outside_mis)
MP_Window * get_mp_window()
AW_selection_list * result_probes_list
AW_window_simple * create_result_window(AW_root *aw_root)