21 long laenge_markierte;
75 Sonde*
s =
new Sonde(name, num_probes, allowed_mis, outside_mis);
153 s = stc->
cache_Sonde(name, allowed_mis, outside_mis);
156 if (! s->get_bitkennung())
157 s->set_bitkennung(
new Bitvector(((
int) pos)));
160 s->get_bitkennung()->setbit(pos-1);
163 for (i=0; i<s->get_length_hitliste(); i++)
164 if (s->get_hitdata_by_number(i))
165 s->get_hitdata_by_number(i)->set_mismatch_at_pos(pos, s->get_hitdata_by_number(i)->get_mismatch_at_pos(0));
177 long H_laenge, sondennummer;
178 double** Mergefeld =
new double*[alle_bakterien+1];
180 for (i=0; i<alle_bakterien+1; i++) {
183 Mergefeld[i][j] = 100;
191 for (i=0; i<H_laenge; i++) {
207 int* markierte =
new int[feldlen];
208 int* unmarkierte =
new int[feldlen];
222 for (i=0; i<feldlen; i++) {
231 for (i=0; i < alle_bakterien+1; i++) {
235 if (Mergefeld[i][j] <= ((
double) AllowedMismatchFeld[j] + (
double)
mp_gl_awars.
greyzone)) {
238 else if (Mergefeld[i][j] <= ((
double) AllowedMismatchFeld[j] +
248 wertigkeit += faktor * (
long) pow(3, j);
252 markierte[wertigkeit]++;
255 unmarkierte[wertigkeit]++;
260 for (i=0; i<alle_bakterien+1; i++) {
261 delete [] Mergefeld[i];
264 delete [] AllowedMismatchFeld;
271 if (!anz_sonden)
return;
277 int* rgb =
new int[3];
291 for (i=1; i < alle_bakterien+1; i++) {
292 rgb[0]=0; rgb[1]=0; rgb[2]=0;
302 if (!rgb[0] && !rgb[1] && !rgb[2]) { color =
AWT_GC_BLACK; }
303 else if ( rgb[0] && !rgb[1] && !rgb[2]) { color =
AWT_GC_RED; }
304 else if (!rgb[0] && rgb[1] && !rgb[2]) { color =
AWT_GC_GREEN; }
305 else if (!rgb[0] && !rgb[1] && rgb[2]) { color =
AWT_GC_BLUE; }
306 else if ( rgb[0] && rgb[1] && !rgb[2]) { color =
AWT_GC_YELLOW; }
307 else if ( rgb[0] && !rgb[1] && rgb[2]) { color =
AWT_GC_MAGENTA; }
308 else if (!rgb[0] && rgb[1] && rgb[2]) { color =
AWT_GC_CYAN; }
309 else if ( rgb[0] && rgb[1] && rgb[2]) { color =
AWT_GC_WHITE; }
317 for (i=0; i<alle_bakterien+1; i++)
318 delete [] Mergefeld[i];
322 delete [] AllowedMismatchFeld;
Hit * get_hitdata_by_number(long index)
positiontype insert_as_last(Type *object)
long GBS_write_hash(GB_HASH *hs, const char *key, long val)
long get_length_hitliste()
double get_mismatch_at_pos(int pos)
char * ARB_strdup(const char *str)
void GBS_free_hash(GB_HASH *hs)
Sonde * get_cached_sonde(const char *name)
positiontype fill_marked_bakts()
GB_ERROR get_all_species(int ptserver_id)
void GBK_terminate(const char *error) __ATTR__NORETURN
probe_tabs * fill_Stat_Arrays()
double get_Allowed_Mismatch_no(int no)
static void error(const char *msg)
long get_index_by_entry(const char *key)
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
int gen_Hitliste(MO_Liste *Bakterienliste)
Sondentopf(MO_Liste *BL, MO_Liste *AL)
ST_Container(int anz_sonden)
double ** gen_Mergefeld()
float outside_mismatches_difference
List< char > * Sondennamen
void aw_message(const char *msg)
MO_Liste * Bakterienliste
void gen_color_hash(positiontype anz_sonden)
long GBS_read_hash(const GB_HASH *hs, const char *key)
positiontype insert_as_first(Type *object)
GB_HASH * GBS_create_hash(long estimated_elements, GB_CASE case_sens)
GB_write_int const char s