Changeset 6280
- Timestamp:
- 25/11/09 16:02:42 (2 years ago)
- Location:
- trunk
- Files:
-
- 34 removed
- 127 modified
- 26 copied
-
ARBDB/ad_prot.h (modified) (1 diff)
-
ARBDB/aditem.c (modified) (2 diffs)
-
ARBDB/adseqcompr.c (modified) (1 diff)
-
ARBDB/arbdb.c (modified) (2 diffs)
-
ARBDB/arbdbt.h (modified) (1 diff)
-
ARB_GDE/GDE.cxx (modified) (1 diff)
-
ARB_GDE/GDE_FileIO.cxx (modified) (1 diff)
-
ARB_GDE/GDE_Genbank.cxx (modified) (1 diff)
-
ARB_GDE/GDE_HGLfile.cxx (modified) (1 diff)
-
ARB_GDE/GDE_ParseMenu.cxx (modified) (2 diffs)
-
ARB_GDE/GDE_arbdb_io.cxx (modified) (9 diffs)
-
ARB_GDE/GDE_def.h (modified) (2 diffs)
-
ARB_GDE/GDE_event.cxx (modified) (1 diff)
-
ARB_GDE/GDE_global.cxx (copied) (copied from branches/clusters/ARB_GDE/GDE_global.cxx)
-
ARB_GDE/GDE_global.h (deleted)
-
ARB_GDE/GDE_menu.h (modified) (4 diffs)
-
ARB_GDE/GDE_proto.h (modified) (2 diffs)
-
ARB_GDE/Makefile (modified) (12 diffs)
-
ARB_GDE/gde.hxx (modified) (1 diff)
-
AWT (modified) (1 prop)
-
AWT/AWT_codon_table.cxx (deleted)
-
AWT/AWT_csp.cxx (deleted)
-
AWT/AWT_db_browser.cxx (modified) (1 diff)
-
AWT/AWT_dtree.cxx (deleted)
-
AWT/AWT_filter.cxx (deleted)
-
AWT/AWT_irstree.cxx (deleted)
-
AWT/AWT_nei.cxx (deleted)
-
AWT/AWT_pro_a_nucs.cxx (deleted)
-
AWT/AWT_query_and_functions.cxx (modified) (2 diffs)
-
AWT/AWT_seq_dna.cxx (deleted)
-
AWT/AWT_seq_protein.cxx (deleted)
-
AWT/AWT_seq_simple_pro.cxx (deleted)
-
AWT/AWT_translate.cxx (deleted)
-
AWT/AWT_tree.cxx (deleted)
-
AWT/AWT_tree_cb.cxx (deleted)
-
AWT/AWT_tree_cmp.cxx (deleted)
-
AWT/Makefile (modified) (11 diffs)
-
AWT/awt_canvas.hxx (modified) (1 diff)
-
AWT/awt_codon_table.hxx (deleted)
-
AWT/awt_csp.hxx (deleted)
-
AWT/awt_dtree.hxx (deleted)
-
AWT/awt_item_sel_list.hxx (modified) (1 diff)
-
AWT/awt_nei.hxx (deleted)
-
AWT/awt_parsimony_defaults.hxx (deleted)
-
AWT/awt_pro_a_nucs.hxx (deleted)
-
AWT/awt_sel_boxes.hxx (modified) (2 diffs)
-
AWT/awt_seq_dna.hxx (deleted)
-
AWT/awt_seq_protein.hxx (deleted)
-
AWT/awt_seq_simple_pro.hxx (deleted)
-
AWT/awt_translate.hxx (deleted)
-
AWT/awt_tree.hxx (deleted)
-
AWT/awt_tree_cb.hxx (deleted)
-
AWT/awt_tree_cmp.hxx (deleted)
-
AWT/awtfilter.hxx (deleted)
-
AWTI/AWTI_export.cxx (modified) (11 diffs)
-
AWTI/Makefile (modified) (3 diffs)
-
AWTI/awti_export.hxx (modified) (1 diff)
-
DIST/DI_clusters.cxx (copied) (copied from branches/clusters/DIST/DI_clusters.cxx) (1 diff)
-
DIST/DI_clustertree.cxx (copied) (copied from branches/clusters/DIST/DI_clustertree.cxx)
-
DIST/DI_compress_matrix.cxx (modified) (1 diff)
-
DIST/DI_foundclusters.cxx (copied) (copied from branches/clusters/DIST/DI_foundclusters.cxx)
-
DIST/DI_main.cxx (modified) (2 diffs)
-
DIST/DI_matr.cxx (modified) (52 diffs)
-
DIST/DI_mldist.cxx (modified) (3 diffs)
-
DIST/DI_protdist.cxx (modified) (4 diffs)
-
DIST/DI_save_matr.cxx (modified) (3 diffs)
-
DIST/DI_seq_pars.cxx (deleted)
-
DIST/DI_view_matrix.cxx (modified) (3 diffs)
-
DIST/Makefile (modified) (12 diffs)
-
DIST/di_awars.hxx (copied) (copied from branches/clusters/DIST/di_awars.hxx)
-
DIST/di_clusters.hxx (copied) (copied from branches/clusters/DIST/di_clusters.hxx)
-
DIST/di_clustertree.hxx (copied) (copied from branches/clusters/DIST/di_clustertree.hxx)
-
DIST/di_foundclusters.hxx (copied) (copied from branches/clusters/DIST/di_foundclusters.hxx)
-
DIST/di_matr.hxx (modified) (7 diffs)
-
DIST/di_mldist.hxx (modified) (3 diffs)
-
DIST/di_protdist.hxx (modified) (3 diffs)
-
DIST/di_view_matrix.hxx (modified) (3 diffs)
-
DIST/dist.hxx (modified) (2 diffs)
-
DIST/distanalyse.cxx (modified) (2 diffs)
-
EDIT4/ED4_ProteinViewer.cxx (modified) (2 diffs)
-
EDIT4/ED4_main.cxx (modified) (1 diff)
-
EDIT4/ED4_manager.cxx (modified) (1 diff)
-
EDIT4/ED4_search.cxx (modified) (3 diffs)
-
EDIT4/Makefile (modified) (4 diffs)
-
GENOM/EXP_interface.cxx (modified) (1 diff)
-
GENOM/EXP_local.hxx (modified) (1 diff)
-
GENOM/GEN_graphic.cxx (modified) (2 diffs)
-
GENOM/GEN_interface.cxx (modified) (2 diffs)
-
GENOM/GEN_interface.hxx (modified) (1 diff)
-
GENOM/GEN_map.cxx (modified) (4 diffs)
-
GENOM/GEN_translations.cxx (modified) (1 diff)
-
GENOM/Makefile (modified) (6 diffs)
-
GENOM_IMPORT/DBwriter.cxx (modified) (2 diffs)
-
GENOM_IMPORT/Makefile (modified) (1 diff)
-
HELP_SOURCE/oldhelp/di_clusters.hlp (copied) (copied from branches/clusters/HELP_SOURCE/oldhelp/di_clusters.hlp)
-
MERGE/MG_checkfield.cxx (modified) (1 diff)
-
MERGE/MG_species.cxx (modified) (4 diffs)
-
MULTI_PROBE/MP_noclass.cxx (modified) (4 diffs)
-
MULTI_PROBE/MP_sonde.cxx (modified) (1 diff)
-
MULTI_PROBE/MP_sondentopf.cxx (modified) (1 diff)
-
MULTI_PROBE/Makefile (modified) (6 diffs)
-
Makefile (modified) (12 diffs)
-
NTREE/AP_conservProfile2Gnuplot.cxx (modified) (1 diff)
-
NTREE/AP_csp_2_gnuplot.cxx (modified) (8 diffs)
-
NTREE/AP_pos_var_pars.cxx (modified) (1 diff)
-
NTREE/Makefile (modified) (5 diffs)
-
NTREE/NT_cb.cxx (modified) (1 diff)
-
NTREE/NT_concatenate.cxx (modified) (1 diff)
-
NTREE/NT_edconf.cxx (modified) (6 diffs)
-
NTREE/NT_extern.cxx (modified) (15 diffs)
-
NTREE/NT_main.cxx (modified) (1 diff)
-
NTREE/NT_sort.cxx (deleted)
-
NTREE/NT_trackAliChanges.cxx (modified) (1 diff)
-
NTREE/NT_trackAliChanges.h (modified) (1 diff)
-
NTREE/NT_tree_cmp.cxx (copied) (copied from branches/clusters/NTREE/NT_tree_cmp.cxx)
-
NTREE/ad_spec.cxx (modified) (1 diff)
-
NTREE/ad_transpro.cxx (modified) (2 diffs)
-
NTREE/ad_trees.cxx (modified) (4 diffs)
-
NTREE/ad_trees.hxx (modified) (1 diff)
-
NTREE/ap_csp_2_gnuplot.hxx (modified) (2 diffs)
-
NTREE/ap_pos_var_pars.hxx (modified) (2 diffs)
-
NTREE/nt_cb.hxx (modified) (2 diffs)
-
NTREE/nt_edconf.hxx (deleted)
-
NTREE/nt_internal.h (modified) (4 diffs)
-
NTREE/nt_sort.hxx (modified) (1 diff)
-
NTREE/nt_tree_cmp.hxx (copied) (copied from branches/clusters/NTREE/nt_tree_cmp.hxx)
-
NTREE/ntree.hxx (modified) (1 diff)
-
PARSIMONY/AP_buffer.cxx (modified) (1 diff)
-
PARSIMONY/AP_buffer.hxx (modified) (6 diffs)
-
PARSIMONY/AP_main.cxx (modified) (10 diffs)
-
PARSIMONY/AP_tree_edge.cxx (modified) (12 diffs)
-
PARSIMONY/AP_tree_nlen.cxx (modified) (34 diffs)
-
PARSIMONY/GA_genetic.cxx (modified) (3 diffs)
-
PARSIMONY/GA_main.cxx (modified) (1 diff)
-
PARSIMONY/GA_window.cxx (modified) (2 diffs)
-
PARSIMONY/Makefile (modified) (8 diffs)
-
PARSIMONY/PARS_dtree.cxx (modified) (15 diffs)
-
PARSIMONY/PARS_klprops.cxx (modified) (1 diff)
-
PARSIMONY/PARS_main.cxx (modified) (44 diffs)
-
PARSIMONY/ap_main.hxx (copied) (copied from branches/clusters/PARSIMONY/ap_main.hxx)
-
PARSIMONY/ap_tree_nlen.hxx (modified) (14 diffs)
-
PARSIMONY/pars_dtree.hxx (modified) (2 diffs)
-
PARSIMONY/pars_klprops.hxx (copied) (copied from branches/clusters/PARSIMONY/pars_klprops.hxx)
-
PARSIMONY/pars_main.hxx (modified) (1 diff)
-
PARSIMONY/parsimony.hxx (deleted)
-
PARSIMONY/ph_seq_pars.hxx (deleted)
-
PHYLO/Makefile (modified) (17 diffs)
-
PHYLO/PH_matr.cxx (modified) (1 diff)
-
PHYLO/phylo.hxx (modified) (4 diffs)
-
PROBE_DESIGN/Makefile (modified) (4 diffs)
-
PROBE_DESIGN/SaiProbeVisualization.cxx (modified) (1 diff)
-
PROBE_DESIGN/probe_design.cxx (modified) (2 diffs)
-
SECEDIT/SEC_graphic.cxx (modified) (2 diffs)
-
SECEDIT/SEC_main.cxx (modified) (2 diffs)
-
SEQ_QUALITY/Makefile (modified) (6 diffs)
-
SEQ_QUALITY/SQ_functions.cxx (modified) (4 diffs)
-
SEQ_QUALITY/SQ_helix.h (modified) (4 diffs)
-
SEQ_QUALITY/SQ_main.cxx (modified) (1 diff)
-
SL/ALIVIEW (copied) (copied from branches/clusters/SL/ALIVIEW)
-
SL/AP_TREE (copied) (copied from branches/clusters/SL/AP_TREE)
-
SL/AP_TREE/Makefile (modified) (2 diffs)
-
SL/ARB_TREE (copied) (copied from branches/clusters/SL/ARB_TREE)
-
SL/FILTER (copied) (copied from branches/clusters/SL/FILTER)
-
SL/GUI_ALIVIEW (copied) (copied from branches/clusters/SL/GUI_ALIVIEW)
-
SL/GUI_ALIVIEW/Makefile (modified) (4 diffs)
-
SL/MATRIX (copied) (copied from branches/clusters/SL/MATRIX)
-
SL/MATRIX/Makefile (modified) (2 diffs)
-
SL/Makefile (modified) (3 diffs)
-
SL/NEIGHBOURJOIN (copied) (copied from branches/clusters/SL/NEIGHBOURJOIN)
-
SL/PRONUC (copied) (copied from branches/clusters/SL/PRONUC)
-
SL/PRONUC/Makefile (modified) (4 diffs)
-
SL/SEQUENCE (copied) (copied from branches/clusters/SL/SEQUENCE)
-
SL/TRANSLATE (copied) (copied from branches/clusters/SL/TRANSLATE)
-
SL/TREEDISP (copied) (copied from branches/clusters/SL/TREEDISP)
-
SL/TREE_WRITE/TreeWrite.h (modified) (1 diff)
-
SOURCE_TOOLS/generate_all_links.sh (modified) (10 diffs)
-
SOURCE_TOOLS/touch_modified.pl (modified) (1 diff)
-
STAT/Makefile (modified) (5 diffs)
-
STAT/ST_ml.cxx (modified) (20 diffs)
-
STAT/ST_quality.cxx (modified) (3 diffs)
-
STAT/ST_window.cxx (modified) (5 diffs)
-
STAT/st_ml.hxx (modified) (4 diffs)
-
STAT/st_window.hxx (modified) (3 diffs)
-
TEMPLATES/downcast.h (copied) (copied from branches/clusters/TEMPLATES/downcast.h)
-
WINDOW/AW_window.cxx (modified) (1 diff)
-
lib/pictures/di_clusters.fig (copied) (copied from branches/clusters/lib/pictures/di_clusters.fig)
-
lib/pictures/di_ge_ma.fig (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ARBDB/ad_prot.h
r6270 r6280 239 239 long GB_read_usr_private P_((GBDATA *gbd)); 240 240 GB_ERROR GB_write_usr_private P_((GBDATA *gbd, long ref)); 241 GB_ERRORGB_write_flag P_((GBDATA *gbd, long flag));241 void GB_write_flag P_((GBDATA *gbd, long flag)); 242 242 int GB_read_flag P_((GBDATA *gbd)); 243 243 void GB_touch P_((GBDATA *gbd)); -
trunk/ARBDB/aditem.c
r6100 r6280 38 38 else { 39 39 error = GBT_write_string(gb_item, id_field, id); // write item identifier 40 if (!error && markCreated) error =GB_write_flag(gb_item, 1); // mark generated item40 if (!error && markCreated) GB_write_flag(gb_item, 1); // mark generated item 41 41 } 42 42 } … … 294 294 mark and unmark species 295 295 ********************************************************************************************/ 296 void GBT_mark_all(GBDATA *gb_main, int flag) 297 { 296 void GBT_mark_all(GBDATA *gb_main, int flag) { 297 // flag == 0 -> unmark 298 // flag == 1 -> mark 299 // flag == 2 -> invert 300 298 301 GBDATA *gb_species; 299 302 GB_push_transaction(gb_main); -
trunk/ARBDB/adseqcompr.c
r6197 r6280 18 18 19 19 typedef struct gb_seq_compr_tree { 20 #ifdef FAKE_VTAB_PTR 21 virtualTable *dummy_virtual; /* simulate pointer to virtual-table used in AP_tree */ 22 #endif 23 GBT_TREE_ELEMENTS(struct gb_seq_compr_tree); 20 GBT_VTAB_AND_TREE_ELEMENTS(struct gb_seq_compr_tree); 24 21 25 22 int index; /* master(inner nodes) or sequence(leaf nodes) index */ -
trunk/ARBDB/arbdb.c
r6262 r6280 2489 2489 ********************************************************************************************/ 2490 2490 2491 GB_ERRORGB_write_flag(GBDATA *gbd,long flag)2491 void GB_write_flag(GBDATA *gbd,long flag) 2492 2492 { 2493 2493 GBCONTAINER *gbc = (GBCONTAINER *)gbd; … … 2510 2510 GB_DO_CALLBACKS(gbd); 2511 2511 } 2512 return 0;2513 2512 } 2514 2513 -
trunk/ARBDB/arbdbt.h
r6127 r6280 45 45 #ifdef FAKE_VTAB_PTR 46 46 /* if defined, FAKE_VTAB_PTR contains 'char' */ 47 typedef FAKE_VTAB_PTR virtualTable; 47 typedef FAKE_VTAB_PTR virtualTable; 48 #define GBT_VTAB_AND_TREE_ELEMENTS(type) \ 49 virtualTable *dummy_virtual; \ 50 GBT_TREE_ELEMENTS(type) 51 #else 52 #define GBT_VTAB_AND_TREE_ELEMENTS(type) GBT_TREE_ELEMENTS(type) 48 53 #endif 49 54 50 55 typedef struct gbt_tree_struct { 51 #ifdef FAKE_VTAB_PTR 52 virtualTable *dummy_virtual; /* simulate pointer to virtual-table used in AP_tree */ 53 #endif 54 GBT_TREE_ELEMENTS(struct gbt_tree_struct); 56 GBT_VTAB_AND_TREE_ELEMENTS(struct gbt_tree_struct); 55 57 } GBT_TREE; 56 58 -
trunk/ARB_GDE/GDE.cxx
r6069 r6280 1 #include <cstdio>2 #include <cstdlib>3 #include <cstring>4 #include <cmath>5 6 #include <arbdb.h>7 #include <arbdbt.h>8 // #include <malloc.h>9 #include <aw_root.hxx>10 #include <aw_device.hxx>11 #include <aw_window.hxx>12 #include <awt.hxx>13 #include <awt_sel_boxes.hxx>14 15 #include "gde.hxx"16 #include "GDE_menu.h"17 #include "GDE_def.h"18 1 #include "GDE_extglob.h" 19 2 #include "GDE_awars.h" 3 4 #include <awt_sel_boxes.hxx> 5 #include <awt_filter.hxx> 6 #include <aw_window.hxx> 7 8 /*AISC_MKPT_PROMOTE:#ifndef GDE_MENU_H*/ 9 /*AISC_MKPT_PROMOTE:#include "GDE_menu.h"*/ 10 /*AISC_MKPT_PROMOTE:#endif*/ 20 11 21 12 adfiltercbstruct *agde_filtercd = 0; -
trunk/ARB_GDE/GDE_FileIO.cxx
r5901 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 // #include <malloc.h> 4 #include <string.h> 5 6 #include <arbdb.h> 7 #include <arbdbt.h> 8 #include <aw_root.hxx> 9 #include <aw_device.hxx> 10 #include <aw_window.hxx> 11 #include <awt.hxx> 12 13 #include "gde.hxx" 14 #include "GDE_def.h" 15 #include "GDE_menu.h" 16 #include "GDE_extglob.h" 1 #include "GDE_proto.h" 17 2 18 3 int MAX(int a,int b) -
trunk/ARB_GDE/GDE_Genbank.cxx
r5695 r6280 1 #include <sys/time.h> 2 #include <stdio.h> 3 // #include <malloc.h> 4 #include <string.h> 1 #include "GDE_extglob.h" 5 2 #include <time.h> 6 7 //#include <xview/xview.h>8 //#include <xview/panel.h>9 10 #include <arbdb.h>11 #include <aw_root.hxx>12 #include <aw_device.hxx>13 #include <aw_window.hxx>14 #include <awt.hxx>15 16 #include "gde.hxx"17 #include "GDE_menu.h"18 #include "GDE_def.h"19 #include "GDE_extglob.h"20 3 21 4 /* -
trunk/ARB_GDE/GDE_HGLfile.cxx
r5695 r6280 1 #include <sys/time.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 // #include <malloc.h> 5 #include <string.h> 1 #include "GDE_extglob.h" 6 2 #include <time.h> 7 8 //#include <xview/xview.h>9 //#include <xview/panel.h>10 11 #include <arbdb.h>12 #include <aw_root.hxx>13 #include <aw_device.hxx>14 #include <aw_window.hxx>15 #include <awt.hxx>16 17 #include "gde.hxx"18 #include "GDE_menu.h"19 #include "GDE_def.h"20 #include "GDE_extglob.h"21 3 22 4 /* -
trunk/ARB_GDE/GDE_ParseMenu.cxx
r6141 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 // #include <malloc.h> 1 #include "GDE_extglob.h" 5 2 #include <ctype.h> 6 #include <assert.h>7 8 #include <arbdb.h>9 #include <aw_root.hxx>10 #include <aw_device.hxx>11 #include <aw_window.hxx>12 #include <awt.hxx>13 14 #include "gde.hxx"15 #include "GDE_menu.h"16 #include "GDE_def.h"17 #include "GDE_global.h"18 #include "GDE_extglob.h"19 3 20 4 static int getline(FILE *file,char *string) … … 468 452 } 469 453 470 assert(num_menus>0); // if this fails, the file ARB_GDEmenus contained no menus (maybe file has zero size)454 gde_assert(num_menus>0); // if this fails, the file ARB_GDEmenus contained no menus (maybe file has zero size) 471 455 472 456 return; -
trunk/ARB_GDE/GDE_arbdb_io.cxx
r6141 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <memory.h> 5 6 #include <arbdb.h> 7 #include <arbdbt.h> 8 #include <aw_root.hxx> 9 #include <aw_device.hxx> 10 #include <aw_window.hxx> 11 #include <awt.hxx> 1 #include "GDE_def.h" 2 #include "GDE_proto.h" 3 4 #include <AW_rename.hxx> 5 #include <AP_filter.hxx> 12 6 #include <aw_awars.hxx> 13 #include <awt_tree.hxx> 14 15 #include "gde.hxx" 16 #include "GDE_def.h" 17 #include "GDE_menu.h" 18 #include "GDE_extglob.h" 19 #include "AW_rename.hxx" 7 8 /*AISC_MKPT_PROMOTE:#ifndef GDE_EXTGLOB_H*/ 9 /*AISC_MKPT_PROMOTE:#include "GDE_extglob.h"*/ 10 /*AISC_MKPT_PROMOTE:#endif*/ 20 11 21 12 typedef unsigned int UINT; … … 41 32 static int InsertDatainGDE(NA_Alignment *dataset,GBDATA **the_species,unsigned char **the_names, 42 33 unsigned char **the_sequences, unsigned long numberspecies, 43 unsigned long maxalignlen, AP_filter *filter, GapCompression compress,34 unsigned long maxalignlen, const AP_filter *filter, GapCompression compress, 44 35 bool cutoff_stop_codon) 45 36 { … … 47 38 GBDATA *gb_species; 48 39 GBDATA *gbd; 49 int newfiltercreated = 0;50 40 NA_Sequence *this_elem; 41 AP_filter *allocatedFilter = 0; 51 42 52 43 gde_assert((the_species==0) != (the_names==0)); 53 44 54 45 if (filter==0) { 55 filter = new AP_filter; 56 filter->init(maxalignlen); 57 newfiltercreated=1; 46 allocatedFilter = new AP_filter(maxalignlen); 47 filter = allocatedFilter; 58 48 } 59 49 else { 60 size_t fl = filter-> filter_len;50 size_t fl = filter->get_length(); 61 51 if (fl < maxalignlen) { 62 52 aw_message("Warning: Your filter is shorter than the alignment len"); … … 91 81 92 82 if (compress==COMPRESS_ALL) { // compress all gaps and filter positions 93 long len = filter-> real_len;83 long len = filter->get_filtered_length(); 94 84 unsigned long i; 95 85 … … 100 90 char c = the_sequences[i][col]; 101 91 if (!c) break; 102 if ((filter-> filter_mask[col]) && (c!='-') && (c!='.')) {92 if ((filter->use_position(col)) && (c!='-') && (c!='.')) { 103 93 sequfilt[i][newcount++] = c; 104 94 } … … 134 124 } 135 125 126 bool modified = false; 127 char *filterString = filter->to_string(); 128 136 129 for (i=0; i<maxalignlen; i++) { 137 if (filter-> filter_mask[i]) {130 if (filter->use_position(i)) { 138 131 bool wantColumn = false; 139 132 … … 147 140 } 148 141 if (!wantColumn) { 149 filter ->filter_mask[i] = 0;150 filter->real_len--;142 filterString[i] = '0'; 143 modified = true; 151 144 } 152 145 } 153 146 } 154 } 155 156 long len = filter->real_len; 147 148 if (modified) { 149 size_t len = filter->get_length(); 150 151 delete allocatedFilter; 152 filter = allocatedFilter = new AP_filter(filterString, NULL, len); 153 } 154 155 free(filterString); 156 } 157 158 long len = filter->get_filtered_length(); 157 159 size_t i; 158 160 … … 165 167 memset(sequfilt[i],'.',len); // Generate empty sequences 166 168 167 size_t col;168 for ( col=0; (col<maxalignlen) && (c=the_sequences[i][col]); col++) {169 if (filter-> filter_mask[col]) {170 sequfilt[i][newcount++] = filter->simplify[c];169 const uchar *simplify = filter->get_simplify_table(); 170 for (size_t col=0; (col<maxalignlen) && (c=the_sequences[i][col]); col++) { 171 if (filter->use_position(col)) { 172 sequfilt[i][newcount++] = simplify[c]; 171 173 } 172 174 } … … 303 305 free(sequfilt); 304 306 } 305 if (newfiltercreated) delete filter;307 delete allocatedFilter; 306 308 return 0; 307 309 } -
trunk/ARB_GDE/GDE_def.h
r5078 r6280 1 #ifndef GDE_DEF_H 2 #define GDE_DEF_H 3 4 #ifndef ARBDBT_H 5 #include <arbdbt.h> 6 #endif 7 1 8 /* 2 9 … … 236 243 extern NA_Alignment *DataSet; 237 244 238 239 245 #define getcmask(a,b) (b < ((a)->offset))?0:((a)->cmask[(b-(a)->offset)]) 240 246 247 #else 248 #error GDE_def.h included twice 249 #endif // GDE_DEF_H -
trunk/ARB_GDE/GDE_event.cxx
r6141 r6280 1 #include <unistd.h>2 #include <netdb.h>3 #include <sys/time.h>4 #include <sys/types.h>5 #include <sys/stat.h>6 #include <stdio.h>7 #include <stdlib.h>8 #include <string.h>9 //#include <xview/xview.h>10 //#include <xview/panel.h>11 #include <arbdb.h>12 #include <arbdbt.h>13 // #include <malloc.h>14 #include <aw_root.hxx>15 #include <aw_device.hxx>16 #include <aw_window.hxx>17 #include <awt.hxx>18 #include <awt_tree.hxx>19 #include <awt_sel_boxes.hxx>20 #include <gde.hxx>21 #include "GDE_menu.h"22 #include "GDE_def.h"23 1 #include "GDE_extglob.h" 24 2 #include "GDE_awars.h" 25 3 4 #include <awt_filter.hxx> 5 #include <aw_window.hxx> 6 #include <AP_filter.hxx> 7 8 #include <set> 26 9 #include <string> 27 #include <set>28 10 29 11 using namespace std; -
trunk/ARB_GDE/GDE_menu.h
r6141 r6280 1 // =============================================================== // 2 // // 3 // File : GDE_menu.h // 4 // Purpose : // 5 // // 6 // =============================================================== // 7 8 #ifndef GDE_MENU_H 9 #define GDE_MENU_H 10 11 #ifndef GDE_HXX 12 #include "gde.hxx" 13 #endif 14 #ifndef GDE_DEF_H 15 #include "GDE_def.h" 16 #endif 1 17 2 18 #ifndef ARB_ASSERT_H 3 19 #include <arb_assert.h> 4 20 #endif 21 5 22 #define gde_assert(bed) arb_assert(bed) 6 23 … … 43 60 } GfileFormat; 44 61 62 class AW_window; 63 45 64 typedef struct GmenuItemtype 46 65 { … … 73 92 } Gmenu; 74 93 75 //typedef unsigned char uchar;94 typedef unsigned char uchar; 76 95 77 96 extern struct choose_get_sequence_struct { … … 81 100 } gde_cgss; 82 101 102 103 #else 104 #error GDE_menu.h included twice 105 #endif // GDE_MENU_H -
trunk/ARB_GDE/GDE_proto.h
r5968 r6280 14 14 15 15 16 /* GDE_ParseMenu.cxx */ 17 void ParseMenu(void); 18 int Find(const char *target, const char *key); 19 int Find2(const char *target, const char *key); 20 void Error(const char *msg) __ATTR__NORETURN; 21 void crop(char *input, char *head, char *tail); 16 /* GDE.cxx */ 22 17 23 /* GDE.cxx */ 18 #ifndef GDE_MENU_H 19 #include "GDE_menu.h" 20 #endif 21 24 22 char *GDE_makeawarname(GmenuItem *gmenuitem, long i); 25 23 void GDE_load_menu(AW_window *awm, AW_active mask, const char *menulabel, const char *menuitemlabel); 26 24 void create_gde_var(AW_root *aw_root, AW_default aw_def, char *(*get_sequences )(void *THIS, GBDATA **&the_species, uchar **&the_names, uchar **&the_sequences, long &numberspecies, long &maxalignlen ), gde_cgss_window_type wt, void *THIS); 27 28 /* GDE_event.cxx */29 void GDE_startaction_cb(AW_window *aw, GmenuItem *gmenuitem, AW_CL cd);30 31 /* GDE_arbdb_io.cxx */32 void ReadArbdb_plain(char *filename, NA_Alignment *dataset, int type);33 int ReadArbdb2(NA_Alignment *dataset, AP_filter *filter, GapCompression compress, bool cutoff_stop_codon);34 int ReadArbdb(NA_Alignment *dataset, bool marked, AP_filter *filter, GapCompression compress, bool cutoff_stop_codon);35 int getelem(NA_Sequence *a, int b);36 void putelem(NA_Sequence *a, int b, NA_Base c);37 38 /* GDE_HGLfile.cxx */39 void ReadGDE(char *filename, NA_Alignment *dataset, int type);40 int WriteGDE(NA_Alignment *aln, char *filename, int method, int maskable);41 void SeqNorm(NA_Sequence *seq);42 char *uniqueID(void);43 44 /* GDE_Genbank.cxx */45 void ReadGen(char *filename, NA_Alignment *dataset, int type);46 int WriteGen(NA_Alignment *aln, char *filename, int method, int maskable);47 void SetTime(void *b);48 25 49 26 /* GDE_FileIO.cxx */ … … 67 44 int WriteCMask(NA_Alignment *aln, char *filename, int method, int maskable); 68 45 46 /* GDE_Genbank.cxx */ 47 void ReadGen(char *filename, NA_Alignment *dataset, int type); 48 int WriteGen(NA_Alignment *aln, char *filename, int method, int maskable); 49 void SetTime(void *b); 50 51 /* GDE_HGLfile.cxx */ 52 void ReadGDE(char *filename, NA_Alignment *dataset, int type); 53 int WriteGDE(NA_Alignment *aln, char *filename, int method, int maskable); 54 void SeqNorm(NA_Sequence *seq); 55 char *uniqueID(void); 56 57 /* GDE_ParseMenu.cxx */ 58 void ParseMenu(void); 59 int Find(const char *target, const char *key); 60 int Find2(const char *target, const char *key); 61 void Error(const char *msg) __ATTR__NORETURN; 62 void crop(char *input, char *head, char *tail); 63 64 /* GDE_arbdb_io.cxx */ 65 66 #ifndef GDE_EXTGLOB_H 67 #include "GDE_extglob.h" 68 #endif 69 70 void ReadArbdb_plain(char *filename, NA_Alignment *dataset, int type); 71 int ReadArbdb2(NA_Alignment *dataset, AP_filter *filter, GapCompression compress, bool cutoff_stop_codon); 72 int ReadArbdb(NA_Alignment *dataset, bool marked, AP_filter *filter, GapCompression compress, bool cutoff_stop_codon); 73 int getelem(NA_Sequence *a, int b); 74 void putelem(NA_Sequence *a, int b, NA_Base c); 75 76 /* GDE_event.cxx */ 77 void GDE_startaction_cb(AW_window *aw, GmenuItem *gmenuitem, AW_CL cd); 78 69 79 #else 70 80 #error GDE_proto.h included twice -
trunk/ARB_GDE/Makefile
r6277 r6280 2 2 .SUFFIXES: .o .cxx .depend 3 3 4 CPP_OBJECTS = GDE_ParseMenu.o GDE.o GDE_event.o \ 5 GDE_arbdb_io.o GDE_HGLfile.o\ 6 GDE_Genbank.o GDE_FileIO.o 4 CPP_OBJECTS = \ 5 GDE.o \ 6 GDE_FileIO.o \ 7 GDE_Genbank.o \ 8 GDE_HGLfile.o \ 9 GDE_ParseMenu.o \ 10 GDE_arbdb_io.o \ 11 GDE_event.o \ 12 GDE_global.o \ 7 13 8 14 CPP_FILES=$(CPP_OBJECTS:.o=.cxx) … … 13 19 $(CPP) $(cflags) -c $< $(CPPINCLUDES) 14 20 15 proto: GDE_proto.h16 17 21 GDE_proto.h: $(CPP_FILES) Makefile 18 ../MAKEBIN/aisc_mkpt -G -A -E -w GDE_proto.h $(CPP_FILES) > GDE_proto.h.tmp 22 $(MAKE) proto 23 24 proto: 25 ../MAKEBIN/aisc_mkpt -P -G -A -E -w GDE_proto.h $(CPP_FILES) > GDE_proto.h.tmp 19 26 ../SOURCE_TOOLS/mv_if_diff GDE_proto.h.tmp GDE_proto.h 20 27 … … 60 67 GDE.o: $(ARBHOME)/INCLUDE/aw_root.hxx 61 68 GDE.o: $(ARBHOME)/INCLUDE/aw_window.hxx 62 GDE.o: $(ARBHOME)/INCLUDE/awt .hxx69 GDE.o: $(ARBHOME)/INCLUDE/awt_filter.hxx 63 70 GDE.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 64 71 GDE.o: $(ARBHOME)/INCLUDE/smartptr.h … … 72 79 GDE_arbdb_io.o: $(ARBHOME)/INCLUDE/ad_prot.h 73 80 GDE_arbdb_io.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 81 GDE_arbdb_io.o: $(ARBHOME)/INCLUDE/AP_filter.hxx 74 82 GDE_arbdb_io.o: $(ARBHOME)/INCLUDE/arb_assert.h 75 83 GDE_arbdb_io.o: $(ARBHOME)/INCLUDE/arb_error.h … … 80 88 GDE_arbdb_io.o: $(ARBHOME)/INCLUDE/attributes.h 81 89 GDE_arbdb_io.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 82 GDE_arbdb_io.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx83 GDE_arbdb_io.o: $(ARBHOME)/INCLUDE/aw_device.hxx84 GDE_arbdb_io.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx85 GDE_arbdb_io.o: $(ARBHOME)/INCLUDE/aw_position.hxx86 90 GDE_arbdb_io.o: $(ARBHOME)/INCLUDE/AW_rename.hxx 87 91 GDE_arbdb_io.o: $(ARBHOME)/INCLUDE/aw_root.hxx 88 GDE_arbdb_io.o: $(ARBHOME)/INCLUDE/aw_window.hxx89 GDE_arbdb_io.o: $(ARBHOME)/INCLUDE/awt.hxx90 GDE_arbdb_io.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx91 GDE_arbdb_io.o: $(ARBHOME)/INCLUDE/awt_tree.hxx92 92 GDE_arbdb_io.o: $(ARBHOME)/INCLUDE/smartptr.h 93 93 … … 101 101 GDE_event.o: $(ARBHOME)/INCLUDE/ad_prot.h 102 102 GDE_event.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 103 GDE_event.o: $(ARBHOME)/INCLUDE/AP_filter.hxx 103 104 GDE_event.o: $(ARBHOME)/INCLUDE/arb_assert.h 104 105 GDE_event.o: $(ARBHOME)/INCLUDE/arb_error.h … … 108 109 GDE_event.o: $(ARBHOME)/INCLUDE/arbtools.h 109 110 GDE_event.o: $(ARBHOME)/INCLUDE/attributes.h 110 GDE_event.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx111 111 GDE_event.o: $(ARBHOME)/INCLUDE/aw_device.hxx 112 112 GDE_event.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx … … 114 114 GDE_event.o: $(ARBHOME)/INCLUDE/aw_root.hxx 115 115 GDE_event.o: $(ARBHOME)/INCLUDE/aw_window.hxx 116 GDE_event.o: $(ARBHOME)/INCLUDE/awt.hxx 117 GDE_event.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 118 GDE_event.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 119 GDE_event.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 116 GDE_event.o: $(ARBHOME)/INCLUDE/awt_filter.hxx 120 117 GDE_event.o: $(ARBHOME)/INCLUDE/smartptr.h 121 118 … … 135 132 GDE_FileIO.o: $(ARBHOME)/INCLUDE/arbtools.h 136 133 GDE_FileIO.o: $(ARBHOME)/INCLUDE/attributes.h 137 GDE_FileIO.o: $(ARBHOME)/INCLUDE/aw_device.hxx138 GDE_FileIO.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx139 GDE_FileIO.o: $(ARBHOME)/INCLUDE/aw_position.hxx140 134 GDE_FileIO.o: $(ARBHOME)/INCLUDE/aw_root.hxx 141 GDE_FileIO.o: $(ARBHOME)/INCLUDE/aw_window.hxx142 GDE_FileIO.o: $(ARBHOME)/INCLUDE/awt.hxx143 135 GDE_FileIO.o: $(ARBHOME)/INCLUDE/smartptr.h 144 136 … … 150 142 GDE_Genbank.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 151 143 GDE_Genbank.o: $(ARBHOME)/INCLUDE/ad_prot.h 144 GDE_Genbank.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 152 145 GDE_Genbank.o: $(ARBHOME)/INCLUDE/arb_assert.h 153 146 GDE_Genbank.o: $(ARBHOME)/INCLUDE/arb_error.h 154 147 GDE_Genbank.o: $(ARBHOME)/INCLUDE/arbdb.h 155 148 GDE_Genbank.o: $(ARBHOME)/INCLUDE/arbdb_base.h 149 GDE_Genbank.o: $(ARBHOME)/INCLUDE/arbdbt.h 156 150 GDE_Genbank.o: $(ARBHOME)/INCLUDE/arbtools.h 157 151 GDE_Genbank.o: $(ARBHOME)/INCLUDE/attributes.h 158 GDE_Genbank.o: $(ARBHOME)/INCLUDE/aw_device.hxx159 GDE_Genbank.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx160 GDE_Genbank.o: $(ARBHOME)/INCLUDE/aw_position.hxx161 152 GDE_Genbank.o: $(ARBHOME)/INCLUDE/aw_root.hxx 162 GDE_Genbank.o: $(ARBHOME)/INCLUDE/aw_window.hxx163 GDE_Genbank.o: $(ARBHOME)/INCLUDE/awt.hxx164 153 GDE_Genbank.o: $(ARBHOME)/INCLUDE/smartptr.h 154 155 GDE_global.o: gde.hxx 156 GDE_global.o: GDE_def.h 157 GDE_global.o: GDE_extglob.h 158 GDE_global.o: GDE_menu.h 159 GDE_global.o: GDE_proto.h 160 GDE_global.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 161 GDE_global.o: $(ARBHOME)/INCLUDE/ad_prot.h 162 GDE_global.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 163 GDE_global.o: $(ARBHOME)/INCLUDE/arb_assert.h 164 GDE_global.o: $(ARBHOME)/INCLUDE/arb_error.h 165 GDE_global.o: $(ARBHOME)/INCLUDE/arbdb.h 166 GDE_global.o: $(ARBHOME)/INCLUDE/arbdb_base.h 167 GDE_global.o: $(ARBHOME)/INCLUDE/arbdbt.h 168 GDE_global.o: $(ARBHOME)/INCLUDE/arbtools.h 169 GDE_global.o: $(ARBHOME)/INCLUDE/attributes.h 170 GDE_global.o: $(ARBHOME)/INCLUDE/aw_root.hxx 171 GDE_global.o: $(ARBHOME)/INCLUDE/smartptr.h 165 172 166 173 GDE_HGLfile.o: gde.hxx … … 171 178 GDE_HGLfile.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 172 179 GDE_HGLfile.o: $(ARBHOME)/INCLUDE/ad_prot.h 180 GDE_HGLfile.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 173 181 GDE_HGLfile.o: $(ARBHOME)/INCLUDE/arb_assert.h 174 182 GDE_HGLfile.o: $(ARBHOME)/INCLUDE/arb_error.h 175 183 GDE_HGLfile.o: $(ARBHOME)/INCLUDE/arbdb.h 176 184 GDE_HGLfile.o: $(ARBHOME)/INCLUDE/arbdb_base.h 185 GDE_HGLfile.o: $(ARBHOME)/INCLUDE/arbdbt.h 177 186 GDE_HGLfile.o: $(ARBHOME)/INCLUDE/arbtools.h 178 187 GDE_HGLfile.o: $(ARBHOME)/INCLUDE/attributes.h 179 GDE_HGLfile.o: $(ARBHOME)/INCLUDE/aw_device.hxx180 GDE_HGLfile.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx181 GDE_HGLfile.o: $(ARBHOME)/INCLUDE/aw_position.hxx182 188 GDE_HGLfile.o: $(ARBHOME)/INCLUDE/aw_root.hxx 183 GDE_HGLfile.o: $(ARBHOME)/INCLUDE/aw_window.hxx184 GDE_HGLfile.o: $(ARBHOME)/INCLUDE/awt.hxx185 189 GDE_HGLfile.o: $(ARBHOME)/INCLUDE/smartptr.h 186 190 … … 188 192 GDE_ParseMenu.o: GDE_def.h 189 193 GDE_ParseMenu.o: GDE_extglob.h 190 GDE_ParseMenu.o: GDE_global.h191 194 GDE_ParseMenu.o: GDE_menu.h 192 195 GDE_ParseMenu.o: GDE_proto.h 193 196 GDE_ParseMenu.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 194 197 GDE_ParseMenu.o: $(ARBHOME)/INCLUDE/ad_prot.h 198 GDE_ParseMenu.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 195 199 GDE_ParseMenu.o: $(ARBHOME)/INCLUDE/arb_assert.h 196 200 GDE_ParseMenu.o: $(ARBHOME)/INCLUDE/arb_error.h 197 201 GDE_ParseMenu.o: $(ARBHOME)/INCLUDE/arbdb.h 198 202 GDE_ParseMenu.o: $(ARBHOME)/INCLUDE/arbdb_base.h 203 GDE_ParseMenu.o: $(ARBHOME)/INCLUDE/arbdbt.h 199 204 GDE_ParseMenu.o: $(ARBHOME)/INCLUDE/arbtools.h 200 205 GDE_ParseMenu.o: $(ARBHOME)/INCLUDE/attributes.h 201 GDE_ParseMenu.o: $(ARBHOME)/INCLUDE/aw_device.hxx202 GDE_ParseMenu.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx203 GDE_ParseMenu.o: $(ARBHOME)/INCLUDE/aw_position.hxx204 206 GDE_ParseMenu.o: $(ARBHOME)/INCLUDE/aw_root.hxx 205 GDE_ParseMenu.o: $(ARBHOME)/INCLUDE/aw_window.hxx206 GDE_ParseMenu.o: $(ARBHOME)/INCLUDE/awt.hxx207 207 GDE_ParseMenu.o: $(ARBHOME)/INCLUDE/smartptr.h -
trunk/ARB_GDE/gde.hxx
r5834 r6280 11 11 #ifndef GDE_HXX 12 12 #define GDE_HXX 13 14 #ifndef AW_ROOT_HXX 15 #include <aw_root.hxx> 16 #endif 13 17 14 18 typedef unsigned char uchar; -
trunk/AWT
- Property svn:ignore
-
old new 5 5 libAWT.so 6 6 Makefile.bak 7 Makefile.old
-
- Property svn:ignore
-
trunk/AWT/AWT_db_browser.cxx
r6277 r6280 13 13 14 14 #include "awt.hxx" 15 #include "awt_tree.hxx" 15 16 #include <arbdbt.h> 16 17 #include <inline.h> 18 #include <AP_Tree.hxx> 17 19 18 20 #include <string> -
trunk/AWT/AWT_query_and_functions.cxx
r6187 r6280 1743 1743 1744 1744 // @@@ awt_mark_colored is obsolete! (will be replaced by dynamic coloring in the future) 1745 static void awt_mark_colored(AW_window *aww, AW_CL cl_cmd, AW_CL cl_mode) 1746 { 1745 static void awt_mark_colored(AW_window *aww, AW_CL cl_cmd, AW_CL cl_mode) { 1747 1746 const color_mark_data *cmd = (struct color_mark_data *)cl_cmd; 1748 1747 const ad_item_selector *sel = cmd->sel; 1749 1748 int mode = int(cl_mode); // 0 = unmark 1 = mark 2 = invert 1750 GB_ERROR error = 0;1751 1749 AW_root *aw_root = aww->get_root(); 1752 1750 int color_group = aw_root->awar(AWAR_COLORIZE)->read_int(); … … 1756 1754 1757 1755 for (GBDATA *gb_item_container = sel->get_first_item_container(cmd->gb_main, aw_root, range); 1758 !error &&gb_item_container;1756 gb_item_container; 1759 1757 gb_item_container = sel->get_next_item_container(gb_item_container, range)) 1758 { 1759 for (GBDATA *gb_item = sel->get_first_item(gb_item_container); 1760 gb_item; 1761 gb_item = sel->get_next_item(gb_item)) 1760 1762 { 1761 for (GBDATA *gb_item = sel->get_first_item(gb_item_container); 1762 !error && gb_item; 1763 gb_item = sel->get_next_item(gb_item)) 1764 { 1765 long my_color = AW_find_color_group(gb_item, true); 1766 if (my_color == color_group) { 1767 bool marked = GB_read_flag(gb_item); 1768 1769 switch (mode) { 1770 case 0: marked = 0; break; 1771 case 1: marked = 1; break; 1772 case 2: marked = !marked; break; 1773 default : awt_assert(0); break; 1774 } 1775 1776 error = GB_write_flag(gb_item, marked); 1777 } 1778 } 1779 } 1780 1781 if (error) GB_export_error(error); 1763 long my_color = AW_find_color_group(gb_item, true); 1764 if (my_color == color_group) { 1765 bool marked = GB_read_flag(gb_item); 1766 1767 switch (mode) { 1768 case 0: marked = 0; break; 1769 case 1: marked = 1; break; 1770 case 2: marked = !marked; break; 1771 default : awt_assert(0); break; 1772 } 1773 1774 GB_write_flag(gb_item, marked); 1775 } 1776 } 1777 } 1778 1782 1779 } 1783 1780 -
trunk/AWT/Makefile
r6277 r6280 4 4 5 5 OBJECTS = \ 6 AWT_input_mask.o AWT_hotkeys.o \ 7 AWT_www.o AWT_tables.o AWT_irstree.o \ 8 AWT_asciiprint.o AWT_map_key.o AWT_tree_cmp.o AWT_seq_colors.o \ 9 AWT_pro_a_nucs.o AWT_csp.o AWT_canvas.o AWT_dtree.o AWT_tree.o AWT_tree_cb.o AWT_nei.o \ 10 AWT_filter.o AWT_sel_boxes.o AWT_canio.o AWT_nds.o \ 11 AWT_query_and_functions.o AWT_file_selection.o \ 12 AWT_preset.o AWT_seq_dna.o AWT_seq_protein.o AWT_seq_simple_pro.o \ 13 AWT_codon_table.o AWT_iupac.o AWT_config_manager.o AWT_advice.o AWT_db_browser.o \ 14 AWT_attributes.o AWT_changekey.o AWT_item_sel_list.o AWT_macro.o AWT_translate.o 6 AWT_advice.o \ 7 AWT_asciiprint.o \ 8 AWT_attributes.o \ 9 AWT_canio.o \ 10 AWT_canvas.o \ 11 AWT_changekey.o \ 12 AWT_config_manager.o \ 13 AWT_db_browser.o \ 14 AWT_file_selection.o \ 15 AWT_hotkeys.o \ 16 AWT_input_mask.o \ 17 AWT_item_sel_list.o \ 18 AWT_iupac.o \ 19 AWT_macro.o \ 20 AWT_map_key.o \ 21 AWT_nds.o \ 22 AWT_preset.o \ 23 AWT_query_and_functions.o \ 24 AWT_sel_boxes.o \ 25 AWT_seq_colors.o \ 26 AWT_tables.o \ 27 AWT_www.o \ 15 28 16 29 $(MAIN): $(OBJECTS) … … 22 35 23 36 # $(CPPLIB) $(cflags) -c -D_USE_AW_WINDOW $< $(CPPINCLUDES) 24 25 awt_tree_cb.hxx: AWT_tree_cb.cxx26 rm -f $@27 ../MAKEBIN/aisc_mkpt -w $@ -C $? >$@28 37 29 38 clean: … … 152 161 AWT_changekey.o: $(ARBHOME)/INCLUDE/smartptr.h 153 162 154 AWT_codon_table.o: awt.hxx155 AWT_codon_table.o: awt_codon_table.hxx156 AWT_codon_table.o: awt_iupac.hxx157 AWT_codon_table.o: $(ARBHOME)/INCLUDE/ad_k_prot.h158 AWT_codon_table.o: $(ARBHOME)/INCLUDE/ad_prot.h159 AWT_codon_table.o: $(ARBHOME)/INCLUDE/arb_assert.h160 AWT_codon_table.o: $(ARBHOME)/INCLUDE/arb_error.h161 AWT_codon_table.o: $(ARBHOME)/INCLUDE/arbdb.h162 AWT_codon_table.o: $(ARBHOME)/INCLUDE/arbdb_base.h163 AWT_codon_table.o: $(ARBHOME)/INCLUDE/arbtools.h164 AWT_codon_table.o: $(ARBHOME)/INCLUDE/attributes.h165 AWT_codon_table.o: $(ARBHOME)/INCLUDE/aw_device.hxx166 AWT_codon_table.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx167 AWT_codon_table.o: $(ARBHOME)/INCLUDE/aw_position.hxx168 AWT_codon_table.o: $(ARBHOME)/INCLUDE/aw_root.hxx169 AWT_codon_table.o: $(ARBHOME)/INCLUDE/aw_window.hxx170 AWT_codon_table.o: $(ARBHOME)/INCLUDE/smartptr.h171 172 163 AWT_config_manager.o: awt.hxx 173 164 AWT_config_manager.o: awt_config_manager.hxx … … 187 178 AWT_config_manager.o: $(ARBHOME)/INCLUDE/smartptr.h 188 179 189 AWT_csp.o: awt.hxx190 AWT_csp.o: awt_csp.hxx191 AWT_csp.o: awt_pro_a_nucs.hxx192 AWT_csp.o: awt_sel_boxes.hxx193 AWT_csp.o: awt_tree.hxx194 AWT_csp.o: $(ARBHOME)/INCLUDE/ad_k_prot.h195 AWT_csp.o: $(ARBHOME)/INCLUDE/ad_prot.h196 AWT_csp.o: $(ARBHOME)/INCLUDE/ad_t_prot.h197 AWT_csp.o: $(ARBHOME)/INCLUDE/arb_assert.h198 AWT_csp.o: $(ARBHOME)/INCLUDE/arb_error.h199 AWT_csp.o: $(ARBHOME)/INCLUDE/arbdb.h200 AWT_csp.o: $(ARBHOME)/INCLUDE/arbdb_base.h201 AWT_csp.o: $(ARBHOME)/INCLUDE/arbdbt.h202 AWT_csp.o: $(ARBHOME)/INCLUDE/arbtools.h203 AWT_csp.o: $(ARBHOME)/INCLUDE/attributes.h204 AWT_csp.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx205 AWT_csp.o: $(ARBHOME)/INCLUDE/aw_device.hxx206 AWT_csp.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx207 AWT_csp.o: $(ARBHOME)/INCLUDE/aw_position.hxx208 AWT_csp.o: $(ARBHOME)/INCLUDE/aw_root.hxx209 AWT_csp.o: $(ARBHOME)/INCLUDE/aw_window.hxx210 AWT_csp.o: $(ARBHOME)/INCLUDE/BI_helix.hxx211 AWT_csp.o: $(ARBHOME)/INCLUDE/smartptr.h212 213 180 AWT_db_browser.o: awt.hxx 214 AWT_db_browser.o: awt_pro_a_nucs.hxx215 AWT_db_browser.o: awt_tree.hxx216 181 AWT_db_browser.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 217 182 AWT_db_browser.o: $(ARBHOME)/INCLUDE/ad_prot.h 218 183 AWT_db_browser.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 184 AWT_db_browser.o: $(ARBHOME)/INCLUDE/AliView.hxx 185 AWT_db_browser.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 186 AWT_db_browser.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 219 187 AWT_db_browser.o: $(ARBHOME)/INCLUDE/arb_assert.h 220 188 AWT_db_browser.o: $(ARBHOME)/INCLUDE/arb_error.h 189 AWT_db_browser.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 221 190 AWT_db_browser.o: $(ARBHOME)/INCLUDE/arbdb.h 222 191 AWT_db_browser.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 230 199 AWT_db_browser.o: $(ARBHOME)/INCLUDE/aw_root.hxx 231 200 AWT_db_browser.o: $(ARBHOME)/INCLUDE/aw_window.hxx 201 AWT_db_browser.o: $(ARBHOME)/INCLUDE/downcast.h 232 202 AWT_db_browser.o: $(ARBHOME)/INCLUDE/inline.h 233 203 AWT_db_browser.o: $(ARBHOME)/INCLUDE/smartptr.h 234 235 AWT_dtree.o: awt.hxx236 AWT_dtree.o: awt_attributes.hxx237 AWT_dtree.o: awt_canvas.hxx238 AWT_dtree.o: awt_dtree.hxx239 AWT_dtree.o: awt_nds.hxx240 AWT_dtree.o: awt_pro_a_nucs.hxx241 AWT_dtree.o: awt_tree.hxx242 AWT_dtree.o: $(ARBHOME)/INCLUDE/ad_k_prot.h243 AWT_dtree.o: $(ARBHOME)/INCLUDE/ad_prot.h244 AWT_dtree.o: $(ARBHOME)/INCLUDE/ad_t_prot.h245 AWT_dtree.o: $(ARBHOME)/INCLUDE/arb_assert.h246 AWT_dtree.o: $(ARBHOME)/INCLUDE/arb_error.h247 AWT_dtree.o: $(ARBHOME)/INCLUDE/arbdb.h248 AWT_dtree.o: $(ARBHOME)/INCLUDE/arbdb_base.h249 AWT_dtree.o: $(ARBHOME)/INCLUDE/arbdbt.h250 AWT_dtree.o: $(ARBHOME)/INCLUDE/arbtools.h251 AWT_dtree.o: $(ARBHOME)/INCLUDE/attributes.h252 AWT_dtree.o: $(ARBHOME)/INCLUDE/aw_awars.hxx253 AWT_dtree.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx254 AWT_dtree.o: $(ARBHOME)/INCLUDE/aw_device.hxx255 AWT_dtree.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx256 AWT_dtree.o: $(ARBHOME)/INCLUDE/aw_position.hxx257 AWT_dtree.o: $(ARBHOME)/INCLUDE/aw_preset.hxx258 AWT_dtree.o: $(ARBHOME)/INCLUDE/aw_root.hxx259 AWT_dtree.o: $(ARBHOME)/INCLUDE/aw_window.hxx260 AWT_dtree.o: $(ARBHOME)/INCLUDE/smartptr.h261 204 262 205 AWT_file_selection.o: awt.hxx … … 279 222 AWT_file_selection.o: $(ARBHOME)/INCLUDE/aw_window.hxx 280 223 AWT_file_selection.o: $(ARBHOME)/INCLUDE/smartptr.h 281 282 AWT_filter.o: awt.hxx283 AWT_filter.o: awt_pro_a_nucs.hxx284 AWT_filter.o: awt_sel_boxes.hxx285 AWT_filter.o: awt_tree.hxx286 AWT_filter.o: awtfilter.hxx287 AWT_filter.o: $(ARBHOME)/INCLUDE/ad_k_prot.h288 AWT_filter.o: $(ARBHOME)/INCLUDE/ad_prot.h289 AWT_filter.o: $(ARBHOME)/INCLUDE/ad_t_prot.h290 AWT_filter.o: $(ARBHOME)/INCLUDE/arb_assert.h291 AWT_filter.o: $(ARBHOME)/INCLUDE/arb_error.h292 AWT_filter.o: $(ARBHOME)/INCLUDE/arbdb.h293 AWT_filter.o: $(ARBHOME)/INCLUDE/arbdb_base.h294 AWT_filter.o: $(ARBHOME)/INCLUDE/arbdbt.h295 AWT_filter.o: $(ARBHOME)/INCLUDE/arbtools.h296 AWT_filter.o: $(ARBHOME)/INCLUDE/attributes.h297 AWT_filter.o: $(ARBHOME)/INCLUDE/aw_awars.hxx298 AWT_filter.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx299 AWT_filter.o: $(ARBHOME)/INCLUDE/aw_device.hxx300 AWT_filter.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx301 AWT_filter.o: $(ARBHOME)/INCLUDE/aw_position.hxx302 AWT_filter.o: $(ARBHOME)/INCLUDE/aw_root.hxx303 AWT_filter.o: $(ARBHOME)/INCLUDE/aw_window.hxx304 AWT_filter.o: $(ARBHOME)/INCLUDE/smartptr.h305 224 306 225 AWT_hotkeys.o: awt_hotkeys.hxx … … 328 247 AWT_input_mask.o: $(ARBHOME)/INCLUDE/smartptr.h 329 248 330 AWT_irstree.o: awt_canvas.hxx331 AWT_irstree.o: awt_dtree.hxx332 AWT_irstree.o: awt_nds.hxx333 AWT_irstree.o: awt_pro_a_nucs.hxx334 AWT_irstree.o: awt_tree.hxx335 AWT_irstree.o: $(ARBHOME)/INCLUDE/ad_k_prot.h336 AWT_irstree.o: $(ARBHOME)/INCLUDE/ad_prot.h337 AWT_irstree.o: $(ARBHOME)/INCLUDE/ad_t_prot.h338 AWT_irstree.o: $(ARBHOME)/INCLUDE/arb_assert.h339 AWT_irstree.o: $(ARBHOME)/INCLUDE/arb_error.h340 AWT_irstree.o: $(ARBHOME)/INCLUDE/arbdb.h341 AWT_irstree.o: $(ARBHOME)/INCLUDE/arbdb_base.h342 AWT_irstree.o: $(ARBHOME)/INCLUDE/arbdbt.h343 AWT_irstree.o: $(ARBHOME)/INCLUDE/arbtools.h344 AWT_irstree.o: $(ARBHOME)/INCLUDE/attributes.h345 AWT_irstree.o: $(ARBHOME)/INCLUDE/aw_awars.hxx346 AWT_irstree.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx347 AWT_irstree.o: $(ARBHOME)/INCLUDE/aw_device.hxx348 AWT_irstree.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx349 AWT_irstree.o: $(ARBHOME)/INCLUDE/aw_position.hxx350 AWT_irstree.o: $(ARBHOME)/INCLUDE/aw_root.hxx351 AWT_irstree.o: $(ARBHOME)/INCLUDE/aw_window.hxx352 AWT_irstree.o: $(ARBHOME)/INCLUDE/smartptr.h353 354 249 AWT_item_sel_list.o: awt.hxx 355 250 AWT_item_sel_list.o: awt_item_sel_list.hxx … … 434 329 AWT_nds.o: $(ARBHOME)/INCLUDE/aw_window.hxx 435 330 AWT_nds.o: $(ARBHOME)/INCLUDE/smartptr.h 436 437 AWT_nei.o: awt_nei.hxx438 AWT_nei.o: awt_pro_a_nucs.hxx439 AWT_nei.o: awt_tree.hxx440 AWT_nei.o: $(ARBHOME)/INCLUDE/ad_k_prot.h441 AWT_nei.o: $(ARBHOME)/INCLUDE/ad_prot.h442 AWT_nei.o: $(ARBHOME)/INCLUDE/ad_t_prot.h443 AWT_nei.o: $(ARBHOME)/INCLUDE/arb_assert.h444 AWT_nei.o: $(ARBHOME)/INCLUDE/arb_error.h445 AWT_nei.o: $(ARBHOME)/INCLUDE/arbdb.h446 AWT_nei.o: $(ARBHOME)/INCLUDE/arbdb_base.h447 AWT_nei.o: $(ARBHOME)/INCLUDE/arbdbt.h448 AWT_nei.o: $(ARBHOME)/INCLUDE/arbtools.h449 AWT_nei.o: $(ARBHOME)/INCLUDE/attributes.h450 AWT_nei.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx451 AWT_nei.o: $(ARBHOME)/INCLUDE/aw_root.hxx452 AWT_nei.o: $(ARBHOME)/INCLUDE/smartptr.h453 331 454 332 AWT_preset.o: aw_def.hxx … … 474 352 AWT_preset.o: $(ARBHOME)/INCLUDE/aw_window.hxx 475 353 AWT_preset.o: $(ARBHOME)/INCLUDE/smartptr.h 476 477 AWT_pro_a_nucs.o: awt.hxx478 AWT_pro_a_nucs.o: awt_codon_table.hxx479 AWT_pro_a_nucs.o: awt_pro_a_nucs.hxx480 AWT_pro_a_nucs.o: $(ARBHOME)/INCLUDE/ad_k_prot.h481 AWT_pro_a_nucs.o: $(ARBHOME)/INCLUDE/ad_prot.h482 AWT_pro_a_nucs.o: $(ARBHOME)/INCLUDE/ad_t_prot.h483 AWT_pro_a_nucs.o: $(ARBHOME)/INCLUDE/arb_assert.h484 AWT_pro_a_nucs.o: $(ARBHOME)/INCLUDE/arb_error.h485 AWT_pro_a_nucs.o: $(ARBHOME)/INCLUDE/arbdb.h486 AWT_pro_a_nucs.o: $(ARBHOME)/INCLUDE/arbdb_base.h487 AWT_pro_a_nucs.o: $(ARBHOME)/INCLUDE/arbdbt.h488 AWT_pro_a_nucs.o: $(ARBHOME)/INCLUDE/arbtools.h489 AWT_pro_a_nucs.o: $(ARBHOME)/INCLUDE/attributes.h490 AWT_pro_a_nucs.o: $(ARBHOME)/INCLUDE/aw_device.hxx491 AWT_pro_a_nucs.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx492 AWT_pro_a_nucs.o: $(ARBHOME)/INCLUDE/aw_position.hxx493 AWT_pro_a_nucs.o: $(ARBHOME)/INCLUDE/aw_root.hxx494 AWT_pro_a_nucs.o: $(ARBHOME)/INCLUDE/aw_window.hxx495 AWT_pro_a_nucs.o: $(ARBHOME)/INCLUDE/inline.h496 AWT_pro_a_nucs.o: $(ARBHOME)/INCLUDE/smartptr.h497 354 498 355 AWT_query_and_functions.o: awt.hxx … … 567 424 AWT_seq_colors.o: $(ARBHOME)/INCLUDE/smartptr.h 568 425 569 AWT_seq_dna.o: awt_parsimony_defaults.hxx570 AWT_seq_dna.o: awt_pro_a_nucs.hxx571 AWT_seq_dna.o: awt_seq_dna.hxx572 AWT_seq_dna.o: awt_tree.hxx573 AWT_seq_dna.o: $(ARBHOME)/INCLUDE/ad_k_prot.h574 AWT_seq_dna.o: $(ARBHOME)/INCLUDE/ad_prot.h575 AWT_seq_dna.o: $(ARBHOME)/INCLUDE/ad_t_prot.h576 AWT_seq_dna.o: $(ARBHOME)/INCLUDE/arb_assert.h577 AWT_seq_dna.o: $(ARBHOME)/INCLUDE/arb_error.h578 AWT_seq_dna.o: $(ARBHOME)/INCLUDE/arbdb.h579 AWT_seq_dna.o: $(ARBHOME)/INCLUDE/arbdb_base.h580 AWT_seq_dna.o: $(ARBHOME)/INCLUDE/arbdbt.h581 AWT_seq_dna.o: $(ARBHOME)/INCLUDE/arbtools.h582 AWT_seq_dna.o: $(ARBHOME)/INCLUDE/attributes.h583 AWT_seq_dna.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx584 AWT_seq_dna.o: $(ARBHOME)/INCLUDE/aw_root.hxx585 AWT_seq_dna.o: $(ARBHOME)/INCLUDE/smartptr.h586 587 AWT_seq_protein.o: awt_parsimony_defaults.hxx588 AWT_seq_protein.o: awt_pro_a_nucs.hxx589 AWT_seq_protein.o: awt_seq_protein.hxx590 AWT_seq_protein.o: awt_tree.hxx591 AWT_seq_protein.o: $(ARBHOME)/INCLUDE/ad_k_prot.h592 AWT_seq_protein.o: $(ARBHOME)/INCLUDE/ad_prot.h593 AWT_seq_protein.o: $(ARBHOME)/INCLUDE/ad_t_prot.h594 AWT_seq_protein.o: $(ARBHOME)/INCLUDE/arb_assert.h595 AWT_seq_protein.o: $(ARBHOME)/INCLUDE/arb_error.h596 AWT_seq_protein.o: $(ARBHOME)/INCLUDE/arbdb.h597 AWT_seq_protein.o: $(ARBHOME)/INCLUDE/arbdb_base.h598 AWT_seq_protein.o: $(ARBHOME)/INCLUDE/arbdbt.h599 AWT_seq_protein.o: $(ARBHOME)/INCLUDE/arbtools.h600 AWT_seq_protein.o: $(ARBHOME)/INCLUDE/attributes.h601 AWT_seq_protein.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx602 AWT_seq_protein.o: $(ARBHOME)/INCLUDE/aw_root.hxx603 AWT_seq_protein.o: $(ARBHOME)/INCLUDE/inline.h604 AWT_seq_protein.o: $(ARBHOME)/INCLUDE/smartptr.h605 606 AWT_seq_simple_pro.o: awt_pro_a_nucs.hxx607 AWT_seq_simple_pro.o: awt_seq_simple_pro.hxx608 AWT_seq_simple_pro.o: awt_tree.hxx609 AWT_seq_simple_pro.o: $(ARBHOME)/INCLUDE/ad_k_prot.h610 AWT_seq_simple_pro.o: $(ARBHOME)/INCLUDE/ad_prot.h611 AWT_seq_simple_pro.o: $(ARBHOME)/INCLUDE/ad_t_prot.h612 AWT_seq_simple_pro.o: $(ARBHOME)/INCLUDE/arb_assert.h613 AWT_seq_simple_pro.o: $(ARBHOME)/INCLUDE/arb_error.h614 AWT_seq_simple_pro.o: $(ARBHOME)/INCLUDE/arbdb.h615 AWT_seq_simple_pro.o: $(ARBHOME)/INCLUDE/arbdb_base.h616 AWT_seq_simple_pro.o: $(ARBHOME)/INCLUDE/arbdbt.h617 AWT_seq_simple_pro.o: $(ARBHOME)/INCLUDE/arbtools.h618 AWT_seq_simple_pro.o: $(ARBHOME)/INCLUDE/attributes.h619 AWT_seq_simple_pro.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx620 AWT_seq_simple_pro.o: $(ARBHOME)/INCLUDE/aw_root.hxx621 AWT_seq_simple_pro.o: $(ARBHOME)/INCLUDE/smartptr.h622 623 426 AWT_tables.o: awt.hxx 624 427 AWT_tables.o: awt_sel_boxes.hxx … … 643 446 AWT_tables.o: $(ARBHOME)/INCLUDE/smartptr.h 644 447 645 AWT_translate.o: awt.hxx646 AWT_translate.o: awt_codon_table.hxx647 AWT_translate.o: awt_pro_a_nucs.hxx648 AWT_translate.o: awt_translate.hxx649 AWT_translate.o: $(ARBHOME)/INCLUDE/ad_k_prot.h650 AWT_translate.o: $(ARBHOME)/INCLUDE/ad_prot.h651 AWT_translate.o: $(ARBHOME)/INCLUDE/ad_t_prot.h652 AWT_translate.o: $(ARBHOME)/INCLUDE/arb_assert.h653 AWT_translate.o: $(ARBHOME)/INCLUDE/arb_error.h654 AWT_translate.o: $(ARBHOME)/INCLUDE/arbdb.h655 AWT_translate.o: $(ARBHOME)/INCLUDE/arbdb_base.h656 AWT_translate.o: $(ARBHOME)/INCLUDE/arbdbt.h657 AWT_translate.o: $(ARBHOME)/INCLUDE/arbtools.h658 AWT_translate.o: $(ARBHOME)/INCLUDE/attributes.h659 AWT_translate.o: $(ARBHOME)/INCLUDE/aw_device.hxx660 AWT_translate.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx661 AWT_translate.o: $(ARBHOME)/INCLUDE/aw_position.hxx662 AWT_translate.o: $(ARBHOME)/INCLUDE/aw_root.hxx663 AWT_translate.o: $(ARBHOME)/INCLUDE/aw_window.hxx664 AWT_translate.o: $(ARBHOME)/INCLUDE/smartptr.h665 666 AWT_tree.o: awt.hxx667 AWT_tree.o: awt_attributes.hxx668 AWT_tree.o: awt_canvas.hxx669 AWT_tree.o: awt_pro_a_nucs.hxx670 AWT_tree.o: awt_tree.hxx671 AWT_tree.o: $(ARBHOME)/INCLUDE/ad_k_prot.h672 AWT_tree.o: $(ARBHOME)/INCLUDE/ad_prot.h673 AWT_tree.o: $(ARBHOME)/INCLUDE/ad_t_prot.h674 AWT_tree.o: $(ARBHOME)/INCLUDE/arb_assert.h675 AWT_tree.o: $(ARBHOME)/INCLUDE/arb_error.h676 AWT_tree.o: $(ARBHOME)/INCLUDE/arbdb.h677 AWT_tree.o: $(ARBHOME)/INCLUDE/arbdb_base.h678 AWT_tree.o: $(ARBHOME)/INCLUDE/arbdbt.h679 AWT_tree.o: $(ARBHOME)/INCLUDE/arbtools.h680 AWT_tree.o: $(ARBHOME)/INCLUDE/attributes.h681 AWT_tree.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx682 AWT_tree.o: $(ARBHOME)/INCLUDE/aw_device.hxx683 AWT_tree.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx684 AWT_tree.o: $(ARBHOME)/INCLUDE/aw_position.hxx685 AWT_tree.o: $(ARBHOME)/INCLUDE/aw_root.hxx686 AWT_tree.o: $(ARBHOME)/INCLUDE/aw_window.hxx687 AWT_tree.o: $(ARBHOME)/INCLUDE/smartptr.h688 689 AWT_tree_cb.o: awt.hxx690 AWT_tree_cb.o: awt_advice.hxx691 AWT_tree_cb.o: awt_canvas.hxx692 AWT_tree_cb.o: awt_dtree.hxx693 AWT_tree_cb.o: awt_pro_a_nucs.hxx694 AWT_tree_cb.o: awt_tree.hxx695 AWT_tree_cb.o: awt_tree_cb.hxx696 AWT_tree_cb.o: $(ARBHOME)/INCLUDE/ad_k_prot.h697 AWT_tree_cb.o: $(ARBHOME)/INCLUDE/ad_prot.h698 AWT_tree_cb.o: $(ARBHOME)/INCLUDE/ad_t_prot.h699 AWT_tree_cb.o: $(ARBHOME)/INCLUDE/arb_assert.h700 AWT_tree_cb.o: $(ARBHOME)/INCLUDE/arb_error.h701 AWT_tree_cb.o: $(ARBHOME)/INCLUDE/arbdb.h702 AWT_tree_cb.o: $(ARBHOME)/INCLUDE/arbdb_base.h703 AWT_tree_cb.o: $(ARBHOME)/INCLUDE/arbdbt.h704 AWT_tree_cb.o: $(ARBHOME)/INCLUDE/arbtools.h705 AWT_tree_cb.o: $(ARBHOME)/INCLUDE/attributes.h706 AWT_tree_cb.o: $(ARBHOME)/INCLUDE/aw_awars.hxx707 AWT_tree_cb.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx708 AWT_tree_cb.o: $(ARBHOME)/INCLUDE/aw_device.hxx709 AWT_tree_cb.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx710 AWT_tree_cb.o: $(ARBHOME)/INCLUDE/aw_position.hxx711 AWT_tree_cb.o: $(ARBHOME)/INCLUDE/aw_root.hxx712 AWT_tree_cb.o: $(ARBHOME)/INCLUDE/aw_window.hxx713 AWT_tree_cb.o: $(ARBHOME)/INCLUDE/smartptr.h714 715 AWT_tree_cmp.o: awt.hxx716 AWT_tree_cmp.o: awt_pro_a_nucs.hxx717 AWT_tree_cmp.o: awt_tree.hxx718 AWT_tree_cmp.o: awt_tree_cmp.hxx719 AWT_tree_cmp.o: $(ARBHOME)/INCLUDE/ad_k_prot.h720 AWT_tree_cmp.o: $(ARBHOME)/INCLUDE/ad_prot.h721 AWT_tree_cmp.o: $(ARBHOME)/INCLUDE/ad_t_prot.h722 AWT_tree_cmp.o: $(ARBHOME)/INCLUDE/arb_assert.h723 AWT_tree_cmp.o: $(ARBHOME)/INCLUDE/arb_error.h724 AWT_tree_cmp.o: $(ARBHOME)/INCLUDE/arbdb.h725 AWT_tree_cmp.o: $(ARBHOME)/INCLUDE/arbdb_base.h726 AWT_tree_cmp.o: $(ARBHOME)/INCLUDE/arbdbt.h727 AWT_tree_cmp.o: $(ARBHOME)/INCLUDE/arbtools.h728 AWT_tree_cmp.o: $(ARBHOME)/INCLUDE/attributes.h729 AWT_tree_cmp.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx730 AWT_tree_cmp.o: $(ARBHOME)/INCLUDE/aw_device.hxx731 AWT_tree_cmp.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx732 AWT_tree_cmp.o: $(ARBHOME)/INCLUDE/aw_position.hxx733 AWT_tree_cmp.o: $(ARBHOME)/INCLUDE/aw_root.hxx734 AWT_tree_cmp.o: $(ARBHOME)/INCLUDE/aw_window.hxx735 AWT_tree_cmp.o: $(ARBHOME)/INCLUDE/smartptr.h736 737 448 AWT_www.o: awt.hxx 738 449 AWT_www.o: awt_config_manager.hxx -
trunk/AWT/awt_canvas.hxx
r5901 r6280 24 24 AWT_MODE_ZOOM, // no command 25 25 AWT_MODE_LZOOM, 26 AWT_MODE_ MOD, // species info26 AWT_MODE_EDIT, // species info 27 27 AWT_MODE_WWW, 28 28 AWT_MODE_LINE, -
trunk/AWT/awt_item_sel_list.hxx
r6141 r6280 21 21 AWT_SF_HIDDEN = 2, 22 22 // continue with 4, 8 23 AWT_SF_ALL = ((AWT_SF_HIDDEN<<1)-1), 23 AWT_SF_ALL = ((AWT_SF_HIDDEN<<1)-1), 24 24 }; 25 26 #define AWT_NDS_FILTER (1<<GB_STRING)|(1<<GB_BYTE)|(1<<GB_INT)|(1<<GB_FLOAT)|(1<<GB_BITS)|(1<<GB_LINK) 27 #define AWT_PARS_FILTER (1<<GB_STRING)|(1<<GB_BYTE)|(1<<GB_INT)|(1<<GB_FLOAT)|(1<<GB_BITS)|(1<<GB_LINK) 28 #define AWT_STRING_FILTER (1<<GB_STRING)|(1<<GB_BITS)|(1<<GB_LINK) 29 30 struct ad_item_selector; 25 31 26 32 AW_CL awt_create_selection_list_on_scandb(GBDATA *gb_main, -
trunk/AWT/awt_sel_boxes.hxx
r5901 r6280 14 14 #define AWT_SEL_BOXES_HXX 15 15 16 class AP_filter; 16 #ifndef ARBDBT_H 17 #include <arbdbt.h> 18 #endif 19 #ifndef AW_ROOT_HXX 20 #include <aw_root.hxx> 21 #endif 22 23 class AP_filter; 17 24 struct adfiltercbstruct; 18 25 … … 69 76 AW_window* (*create_popup)(AW_root *, AW_default)); // .. or create_popup (both together not allowed) 70 77 71 /*********************** FILTERS ************************/72 adfiltercbstruct *awt_create_select_filter(AW_root *aw_root,GBDATA *gb_main, const char *def_name);73 /* Create a data structure for filters (needed for awt_create_select_filter_win */74 /* Create a filter selection box, this box needs 3 AWARS:75 1. "$def_name"76 2. "$def_name:/name=/filter"77 3. "$def_name:/name=/alignment"78 and some internal awars79 */80 void awt_set_awar_to_valid_filter_good_for_tree_methods(GBDATA *gb_main,AW_root *awr, const char *awar_name);81 82 AW_window *awt_create_select_filter_win(AW_root *aw_root, AW_CL cd_adfiltercbstruct);83 /* not just the box, but the whole window */84 85 AP_filter *awt_get_filter(AW_root *aw_root, adfiltercbstruct *acbs);86 87 char *AWT_get_combined_filter_name(AW_root *aw_root, GB_CSTR prefix);88 89 #define AWT_NDS_FILTER (1<<GB_STRING)|(1<<GB_BYTE)|(1<<GB_INT)|(1<<GB_FLOAT)|(1<<GB_BITS)|(1<<GB_LINK)90 #define AWT_PARS_FILTER (1<<GB_STRING)|(1<<GB_BYTE)|(1<<GB_INT)|(1<<GB_FLOAT)|(1<<GB_BITS)|(1<<GB_LINK)91 #define AWT_STRING_FILTER (1<<GB_STRING)|(1<<GB_BITS)|(1<<GB_LINK)92 93 78 /*********************** species fields ************************/ 94 79 -
trunk/AWTI/AWTI_export.cxx
r6141 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <unistd.h> 4 #include <string.h> 5 // #include <malloc.h> 6 #include <arbdb.h> 7 #include <arbdbt.h> 8 #include <aw_root.hxx> 9 #include <aw_device.hxx> 10 #include <aw_window.hxx> 1 #include "awti_export.hxx" 2 #include "awti_exp_local.hxx" 3 4 #include <aw_awars.hxx> 11 5 #include <aw_global.hxx> 12 6 #include <awt.hxx> 13 #include <awt_tree.hxx> 7 #include <awt_filter.hxx> 8 #include <AP_filter.hxx> 9 #include <xml.hxx> 14 10 #include <inline.h> 15 16 #include "awti_export.hxx"17 #include "awti_exp_local.hxx"18 #include "awt_sel_boxes.hxx"19 #include "aw_awars.hxx"20 21 #include "xml.hxx"22 11 23 12 #define awte_assert(cond) arb_assert(cond) … … 173 162 int compress; // 0 = no;1 = vertical gaps; 2 = all gaps; 174 163 175 size_t max_ali_len; // length of alignment176 int *export_column;// list of exported seq data positions177 int columns;// how many columns get exported178 179 GBDATA *single_species; // if != NULL -> first/next only return that species (used to export to multiple files) 164 size_t max_ali_len; // length of alignment 165 size_t *export_column; // list of exported seq data positions 166 size_t columns; // how many columns get exported 167 168 GBDATA *single_species; // if != NULL -> first/next only return that species (used to export to multiple files) 180 169 181 170 public: … … 214 203 } 215 204 216 if ( size_t(filter->filter_len) < max_ali_len) {217 aw_message(GBS_global_string("Warning: Your filter is shorter than the alignment (% li<%zu)",218 filter-> filter_len, max_ali_len));219 max_ali_len = filter-> filter_len;205 if (filter->get_length() < max_ali_len) { 206 aw_message(GBS_global_string("Warning: Your filter is shorter than the alignment (%zu<%zu)", 207 filter->get_length(), max_ali_len)); 208 max_ali_len = filter->get_length(); 220 209 } 221 210 } … … 276 265 awte_assert(!in_single_mode()); 277 266 278 filter->calc_filter_2_seq();279 267 if (compress == 1) { // compress vertical gaps! 280 int gap_columns = filter->real_len; 281 int *gap_column = new int[gap_columns+1]; 282 memcpy(gap_column, filter->filterpos_2_seqpos, gap_columns*sizeof(*gap_column)); 268 size_t gap_columns = filter->get_filtered_length(); 269 size_t *gap_column = new size_t[gap_columns+1]; 270 271 const size_t *filterpos_2_seqpos = filter->get_filterpos_2_seqpos(); 272 memcpy(gap_column, filterpos_2_seqpos, gap_columns*sizeof(*gap_column)); 283 273 gap_column[gap_columns] = max_ali_len; 284 274 … … 302 292 303 293 if (!err) { 304 int j = 0;305 int i;294 size_t j = 0; 295 size_t i; 306 296 for (i = 0; i<gap_columns; ++i) { 307 297 if (isGap(sdata[gap_column[i]])) { … … 311 301 } 312 302 313 int skipped_columns = i-j; 314 gap_columns -= skipped_columns; 315 awte_assert(gap_columns >= 0); 303 awte_assert(i >= j); 304 size_t skipped_columns = i-j; 305 awte_assert(gap_columns >= skipped_columns); 306 gap_columns -= skipped_columns; 316 307 } 317 308 ++count; … … 325 316 326 317 if (!err) { 327 columns = filter-> real_len- gap_columns;328 export_column = new int[columns];329 330 int gpos = 0; // index into array of vertical gaps331 int epos = 0; // index into array of exported columns332 int flen = filter->real_len;333 int a;318 columns = filter->get_filtered_length() - gap_columns; 319 export_column = new size_t[columns]; 320 321 size_t gpos = 0; // index into array of vertical gaps 322 size_t epos = 0; // index into array of exported columns 323 size_t flen = filter->get_filtered_length(); 324 size_t a; 334 325 for (a = 0; a<flen && gpos<gap_columns; ++a) { 335 int fpos = filter->filterpos_2_seqpos[a];326 size_t fpos = filterpos_2_seqpos[a]; 336 327 if (fpos == gap_column[gpos]) { // only gaps here -> skip column 337 328 gpos++; … … 344 335 } 345 336 for (; a<flen; ++a) { 346 export_column[epos++] = filter ->filterpos_2_seqpos[a];337 export_column[epos++] = filterpos_2_seqpos[a]; 347 338 } 348 339 … … 351 342 352 343 delete [] gap_column; 353 delete [] filter->filterpos_2_seqpos;354 filter->filterpos_2_seqpos = 0;355 344 } 356 345 else { // compress all or none (simply use filter) 357 export_column = filter->filterpos_2_seqpos; 358 filter->filterpos_2_seqpos = 0; 359 columns = filter->real_len; 346 const size_t *filterpos_2_seqpos = filter->get_filterpos_2_seqpos(); 347 348 columns = filter->get_filtered_length(); 349 export_column = new size_t[columns]; 350 351 memcpy(export_column, filterpos_2_seqpos, columns*sizeof(*filterpos_2_seqpos)); 360 352 } 361 353 … … 377 369 } 378 370 else { 379 inti;380 const uchar *simplify = filter-> simplify;371 size_t i; 372 const uchar *simplify = filter->get_simplify_table(); 381 373 382 374 if (cut_stop_codon) { … … 388 380 389 381 if (compress == 2) { // compress all gaps 390 int j = 0;382 size_t j = 0; 391 383 for (i = 0; i<columns; ++i) { 392 384 size_t seq_pos = export_column[i]; -
trunk/AWTI/Makefile
r6277 r6280 35 35 AWTI_export.o: $(ARBHOME)/INCLUDE/ad_prot.h 36 36 AWTI_export.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 37 AWTI_export.o: $(ARBHOME)/INCLUDE/AP_filter.hxx 37 38 AWTI_export.o: $(ARBHOME)/INCLUDE/arb_assert.h 38 39 AWTI_export.o: $(ARBHOME)/INCLUDE/arb_error.h … … 43 44 AWTI_export.o: $(ARBHOME)/INCLUDE/attributes.h 44 45 AWTI_export.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 45 AWTI_export.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx46 46 AWTI_export.o: $(ARBHOME)/INCLUDE/aw_device.hxx 47 47 AWTI_export.o: $(ARBHOME)/INCLUDE/aw_global.hxx … … 51 51 AWTI_export.o: $(ARBHOME)/INCLUDE/aw_window.hxx 52 52 AWTI_export.o: $(ARBHOME)/INCLUDE/awt.hxx 53 AWTI_export.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 54 AWTI_export.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 55 AWTI_export.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 53 AWTI_export.o: $(ARBHOME)/INCLUDE/awt_filter.hxx 56 54 AWTI_export.o: $(ARBHOME)/INCLUDE/inline.h 57 55 AWTI_export.o: $(ARBHOME)/INCLUDE/smartptr.h -
trunk/AWTI/awti_export.hxx
r6091 r6280 13 13 #define AWTI_EXPORT_HXX 14 14 15 #ifndef ARB _ASSERT_H16 #include <arb _assert.h>15 #ifndef ARBDBT_H 16 #include <arbdbt.h> 17 17 #endif 18 19 class AW_window; 20 class AW_root; 18 21 19 22 AW_window *open_AWTC_export_window(AW_root *awr,GBDATA *gb_main); -
trunk/DIST/DI_clusters.cxx
r6252 r6280 48 48 49 49 void DI_create_cluster_awars(AW_root *aw_root, AW_default def, AW_default db) { 50 aw_root->awar_float(AWAR_CLUSTER_MAXDIST, 0.5, def)->set_minmax(0.0, 100.0);50 aw_root->awar_float(AWAR_CLUSTER_MAXDIST, 3.0, def)->set_minmax(0.0, 100.0); 51 51 aw_root->awar_int(AWAR_CLUSTER_MINSIZE, 7, def)->set_minmax(2, INT_MAX); 52 52 aw_root->awar_int(AWAR_CLUSTER_AUTOMARK, 1, def); -
trunk/DIST/DI_compress_matrix.cxx
r6141 r6280 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 #include <memory.h> 5 6 #include <arbdb.h> 7 #include <arbdbt.h> 8 9 #include <aw_root.hxx> 10 #include <aw_device.hxx> 11 #include <aw_window.hxx> 12 #include <aw_preset.hxx> 13 14 #include <awt_tree.hxx> 15 #include "dist.hxx" 16 17 #include <di_matr.hxx> 18 #include <di_view_matrix.hxx> 1 #include "di_matr.hxx" 19 2 20 3 /* returns 1 only if groupname != null and there are species for that group */ -
trunk/DIST/DI_main.cxx
r6247 r6280 19 19 20 20 AW_window *DI_create_matrix_window(AW_root *aw_root); 21 void DI_create_matrix_variables(AW_root *aw_root, AW_default aw_def );21 void DI_create_matrix_variables(AW_root *aw_root, AW_default aw_def, AW_default db); 22 22 #ifdef FINDCORR 23 23 AW_window *bc_create_main_window( AW_root *awr); … … 81 81 } 82 82 83 DI_create_matrix_variables(aw_root, aw_default);83 DI_create_matrix_variables(aw_root, aw_default, GLOBAL_gb_main); 84 84 #ifdef FINDCORR 85 85 bc_create_bc_variables(aw_root,aw_default); -
trunk/DIST/DI_matr.cxx
r6247 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <memory.h> 4 // #include <malloc.h> 5 #include <string.h> 6 7 #include <math.h> 8 #include <time.h> 9 #include <limits.h> 10 11 #include <arbdb.h> 12 #include <arbdbt.h> 13 14 #include <aw_root.hxx> 15 #include <aw_device.hxx> 16 #include <aw_window.hxx> 17 #include <aw_preset.hxx> 18 #include <aw_global.hxx> 19 #include <aw_awars.hxx> 20 21 #include <awt.hxx> 22 #include <awt_tree.hxx> 23 #include <awt_sel_boxes.hxx> 24 #include <awt_macro.hxx> 25 #include <awt_csp.hxx> 26 1 // =============================================================== // 2 // // 3 // File : DI_matr.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #include "di_protdist.hxx" 12 #include "di_clusters.hxx" 27 13 #include "dist.hxx" 14 #include "di_view_matrix.hxx" 15 #include "di_matr.hxx" 16 #include "di_awars.hxx" 17 18 #include <neighbourjoin.hxx> 19 #include <AP_seq_dna.hxx> 20 #include <AP_filter.hxx> 28 21 #include <BI_helix.hxx> 29 22 #include <CT_ctree.hxx> 30 #include "di_matr.hxx" 31 #include "di_protdist.hxx" 32 #include "di_view_matrix.hxx" 23 #include <awt_macro.hxx> 24 #include <awt.hxx> 25 #include <awt_sel_boxes.hxx> 26 #include <awt_filter.hxx> 27 #include <awt_csp.hxx> 28 #include <aw_preset.hxx> 29 #include <aw_awars.hxx> 30 #include <aw_global.hxx> 31 32 #include <gui_aliview.hxx> 33 34 #include <climits> 35 #include <ctime> 33 36 34 37 #define di_assert(cond) arb_assert(cond) … … 36 39 // -------------------------------------------------------------------------------- 37 40 38 #define AWAR_DIST_FILTER_PREFIX AWAR_DIST_PREFIX "filter/"39 #define AWAR_DIST_COLUMN_STAT_PREFIX AWAR_DIST_PREFIX "col_stat/"40 #define AWAR_DIST_TREE_PREFIX AWAR_DIST_PREFIX "tree/"41 42 #define AWAR_DIST_MATRIX_DNA_BASE AWAR_DIST_PREFIX "dna/matrix"43 #define AWAR_DIST_MATRIX_DNA_ENABLED "tmp/" AWAR_DIST_MATRIX_DNA_BASE "/enable"44 45 #define AWAR_DIST_WHICH_SPECIES AWAR_DIST_PREFIX "which_species"46 #define AWAR_DIST_ALIGNMENT AWAR_DIST_PREFIX "alignment"47 41 #define AWAR_DIST_BOOTSTRAP_COUNT AWAR_DIST_PREFIX "bootstrap/count" 48 42 #define AWAR_DIST_CANCEL_CHARS AWAR_DIST_PREFIX "cancel/chars" 49 43 50 #define AWAR_DIST_FILTER_ALIGNMENT AWAR_DIST_FILTER_PREFIX "alignment"51 #define AWAR_DIST_FILTER_NAME AWAR_DIST_FILTER_PREFIX "name"52 #define AWAR_DIST_FILTER_FILTER AWAR_DIST_FILTER_PREFIX "filter"53 #define AWAR_DIST_FILTER_SIMPLIFY AWAR_DIST_FILTER_PREFIX "simplify"54 55 44 #define AWAR_DIST_COLUMN_STAT_ALIGNMENT AWAR_DIST_COLUMN_STAT_PREFIX "alignment" 56 45 #define AWAR_DIST_COLUMN_STAT_NAME AWAR_DIST_COLUMN_STAT_PREFIX "name" 57 46 58 #define AWAR_DIST_TREE_STD_NAME AWAR_DIST_TREE_PREFIX "tree_name"59 #define AWAR_DIST_TREE_CURR_NAME "tmp/" AWAR_DIST_TREE_PREFIX "curr_tree_name"60 47 #define AWAR_DIST_TREE_SORT_NAME "tmp/" AWAR_DIST_TREE_PREFIX "sort_tree_name" 61 48 #define AWAR_DIST_TREE_COMP_NAME "tmp/" AWAR_DIST_TREE_PREFIX "compr_tree_name" 49 #define AWAR_DIST_TREE_STD_NAME AWAR_DIST_TREE_PREFIX "tree_name" 62 50 63 51 #define AWAR_DIST_SAVE_MATRIX_TYPE AWAR_DIST_SAVE_MATRIX_BASE "/type" … … 66 54 // -------------------------------------------------------------------------------- 67 55 68 DI_MATRIX *DI_MATRIX::ROOT = 0; 69 DI_dmatrix *di_dmatrix = 0; 70 AWT_csp *global_csp = 0; 71 72 static adfiltercbstruct *dist_filter_cl = 0; 56 DI_MATRIX *DI_MATRIX::ROOT = 0; 57 DI_dmatrix *di_dmatrix = 0; 73 58 74 59 AP_matrix DI_dna_matrix(AP_MAX); … … 104 89 } 105 90 106 void DI_create_matrix_variables(AW_root *aw_root, AW_default def )91 void DI_create_matrix_variables(AW_root *aw_root, AW_default def, AW_default db) 107 92 { 108 GB_transaction dummy( GLOBAL_gb_main);93 GB_transaction dummy(db); 109 94 DI_dna_matrix.set_description("",""); 110 95 DI_dna_matrix.x_description[AP_A] = strdup("A"); … … 132 117 aw_root->awar_string(AWAR_DIST_WHICH_SPECIES, "marked", def)->add_callback(delete_matrix_cb); 133 118 { 134 char *default_ali = GBT_get_default_alignment( GLOBAL_gb_main);119 char *default_ali = GBT_get_default_alignment(db); 135 120 aw_root->awar_string( AWAR_DIST_ALIGNMENT,"",def) ->add_callback(delete_matrix_cb)->write_string(default_ali); 136 121 free(default_ali); … … 155 140 aw_root->awar_string(AWAR_DIST_TREE_STD_NAME, "tree_nj", def); 156 141 { 157 char *currentTree = aw_root->awar_string(AWAR_TREE, "", GLOBAL_gb_main)->read_string();142 char *currentTree = aw_root->awar_string(AWAR_TREE, "", db)->read_string(); 158 143 aw_root->awar_string(AWAR_DIST_TREE_CURR_NAME, currentTree, def); 159 144 aw_root->awar_string(AWAR_DIST_TREE_SORT_NAME, currentTree, def)->add_callback(delete_matrix_cb); … … 166 151 aw_root->awar_float(AWAR_DIST_MIN_DIST, 0.0); 167 152 aw_root->awar_float(AWAR_DIST_MAX_DIST, 0.0); 168 169 aw_root->awar_string(AWAR_SPECIES_NAME, "", GLOBAL_gb_main); 153 154 aw_root->awar_string(AWAR_SPECIES_NAME, "", db); 155 156 DI_create_cluster_awars(aw_root, def, db); 170 157 171 158 #if defined(DEBUG) … … 173 160 #endif // DEBUG 174 161 175 GB_push_transaction(GLOBAL_gb_main); 176 177 GBDATA *gb_species_data = GB_search(GLOBAL_gb_main,"species_data",GB_CREATE_CONTAINER); 178 GB_add_callback(gb_species_data,GB_CB_CHANGED,(GB_CB)delete_matrix_cb,0); 179 180 GB_pop_transaction(GLOBAL_gb_main); 181 182 } 183 184 DI_ENTRY::DI_ENTRY(GBDATA *gbd,class DI_MATRIX *phmatri) { 162 { 163 GB_push_transaction(db); 164 165 GBDATA *gb_species_data = GB_search(db,"species_data",GB_CREATE_CONTAINER); 166 GB_add_callback(gb_species_data,GB_CB_CHANGED,(GB_CB)delete_matrix_cb,0); 167 168 GB_pop_transaction(db); 169 } 170 } 171 172 DI_ENTRY::DI_ENTRY(GBDATA *gbd, DI_MATRIX *phmatri) { 185 173 memset((char *)this,0,sizeof(DI_ENTRY)); 186 174 phmatrix = phmatri; 187 175 188 GBDATA *gb_ali = GB_entry(gbd, phmatrix->use);176 GBDATA *gb_ali = GB_entry(gbd, phmatrix->get_aliname()); 189 177 if (gb_ali) { 190 178 GBDATA *gb_data = GB_entry(gb_ali,"data"); 191 179 if (gb_data) { 192 const char *seq = GB_read_char_pntr(gb_data);193 194 180 if (phmatrix->is_AA) { 195 sequence = sequence_protein = new AP_sequence_simple_protein(phmatrix-> tree_root);181 sequence = sequence_protein = new AP_sequence_simple_protein(phmatrix->get_aliview()); 196 182 } 197 183 else { 198 sequence = sequence_parsimony = new AP_sequence_parsimony(phmatrix->tree_root); 199 } 200 sequence->set(seq); 184 sequence = sequence_parsimony = new AP_sequence_parsimony(phmatrix->get_aliview()); 185 } 186 sequence->bind_to_species(gbd); 187 sequence->lazy_load_sequence(); // load sequence 201 188 202 189 name = GBT_read_string(gbd, "name"); … … 206 193 } 207 194 208 DI_ENTRY::DI_ENTRY(char *namei, classDI_MATRIX *phmatri)195 DI_ENTRY::DI_ENTRY(char *namei, DI_MATRIX *phmatri) 209 196 { 210 197 memset((char *)this,0,sizeof(DI_ENTRY)); … … 222 209 } 223 210 224 DI_MATRIX::DI_MATRIX(GBDATA *gb_maini,AW_root *awr) 225 { 226 memset((char *)this,0,sizeof(DI_MATRIX)); 211 DI_MATRIX::DI_MATRIX(const AliView& aliview_, AW_root *awr) { 212 memset((char *)this, 0, sizeof(*this)); 227 213 aw_root = awr; 228 gb_main = gb_maini; 229 } 230 231 char *DI_MATRIX::unload(void) 232 { 233 freeset(use, 0); 234 long i; 235 for (i=0;i<nentries;i++){ 214 aliview = new AliView(aliview_); 215 } 216 217 char *DI_MATRIX::unload() { 218 for (long i=0; i<nentries; i++) { 236 219 delete entries[i]; 237 220 } 238 delete tree_root;239 221 freeset(entries, 0); 240 222 nentries = 0; … … 242 224 } 243 225 244 DI_MATRIX::~DI_MATRIX( void)226 DI_MATRIX::~DI_MATRIX() 245 227 { 246 228 unload(); 247 229 delete matrix; 230 delete aliview; 248 231 } 249 232 … … 255 238 } 256 239 257 char *DI_MATRIX::load(char *usei, AP_filter *filter, AP_weights *weights, LoadWhat what, GB_CSTR sort_tree_name, bool show_warnings, GBDATA **species_list) { 258 delete tree_root; 259 tree_root = new AP_tree_root(gb_main,0,0); 260 tree_root->filter = filter; 261 tree_root->weights = weights; 262 this->use = strdup(usei); 263 this->gb_main = GLOBAL_gb_main; 240 char *DI_MATRIX::load(LoadWhat what, GB_CSTR sort_tree_name, bool show_warnings, GBDATA **species_list) { 241 GBDATA *gb_main = get_gb_main(); 242 const char *use = get_aliname(); 243 264 244 GB_push_transaction(gb_main); 265 245 … … 452 432 } 453 433 454 long *DI_MATRIX::create_helix_filter(BI_helix *helix,AP_filter *filter){ 455 long *result = (long *)calloc(sizeof(long),(size_t)filter->real_len); 456 long *temp = (long *)calloc(sizeof(long),(size_t)filter->real_len); 457 int i,count; 458 count = 0; 459 for (i=0;i<filter->filter_len;i++) { 460 if (filter->filter_mask[i]) { 434 long *DI_MATRIX::create_helix_filter(BI_helix *helix, const AP_filter *filter){ 435 long *result = (long *)calloc(sizeof(long), filter->get_filtered_length()); 436 long *temp = (long *)calloc(sizeof(long), filter->get_filtered_length()); 437 int count = 0; 438 size_t i; 439 440 for (i=0; i<filter->get_length(); i++) { 441 if (filter->use_position(i)) { 461 442 temp[i] = count; 462 443 if (helix->pairtype(i)== HELIX_PAIR) { 463 444 result[count] = helix->opposite_position(i); 464 }else{ 445 } 446 else { 465 447 result[count] = -1; 466 448 } … … 482 464 return "There are no species selected"; 483 465 } 484 long row,col,pos,s_len; 485 unsigned char *seq1,*seq2; 486 s_len = tree_root->filter->real_len; 466 long row,col,pos,s_len; 467 468 const unsigned char *seq1,*seq2; 469 s_len = aliview->get_length(); 487 470 this->clear(hrates); 488 471 this->clear(nrates); … … 492 475 if (aw_status(gauge*gauge)) return "Aborted"; 493 476 for (col=0; col<row; col++) { 494 seq1 = (unsigned char *)entries[row]->sequence_parsimony->sequence;495 seq2 = (unsigned char *)entries[col]->sequence_parsimony->sequence;477 seq1 = entries[row]->sequence_parsimony->get_usequence(); 478 seq2 = entries[col]->sequence_parsimony->get_usequence(); 496 479 for (pos = 0; pos < s_len; pos++){ 497 480 if(filter[pos]>=0) { … … 505 488 } 506 489 for (row = 0; row<nentries;row++){ 507 seq1 = (unsigned char *)entries[row]->sequence_parsimony->sequence;490 seq1 = entries[row]->sequence_parsimony->get_usequence(); 508 491 for (pos = 0; pos < s_len; pos++){ 509 492 if(filter[pos]>=0) { … … 525 508 static BI_helix *helix = 0; 526 509 if (!helix) helix = new BI_helix(); 527 const char *error = helix->init(g b_main);510 const char *error = helix->init(get_gb_main()); 528 511 if (error) return error; 529 512 … … 535 518 536 519 fprintf(out,"Pairs in helical regions:\n"); 537 long *filter = create_helix_filter(helix, tree_root->filter);520 long *filter = create_helix_filter(helix, aliview->get_filter()); 538 521 error = calculate_rates(temp,temp2,pairs,filter); 539 522 if (error){ … … 549 532 rate_write(temp2,out); 550 533 551 long row,col,pos,s_len;552 char *seq1,*seq2; 553 s_len = tree_root->filter->real_len;534 long row,col,pos,s_len; 535 536 s_len = aliview->get_length(); 554 537 fprintf(out,"\nDistance matrix (Helixdist Helixlen Nonhelixdist Nonhelixlen):"); 555 538 fprintf(out,"\n%li",nentries); 539 556 540 const int MAXDISTDEBUG = 1000; 557 double distdebug[MAXDISTDEBUG]; 541 double distdebug[MAXDISTDEBUG]; 542 558 543 for (pos = 0;pos<MAXDISTDEBUG;pos++) distdebug[pos] = 0.0; 544 559 545 for (row = 0; row<nentries;row++){ 560 546 if ( nentries > 100 || ((row&0xf) == 0)){ … … 568 554 569 555 for (col=0; col<row; col++) { 570 seq1 = entries[row]->sequence_parsimony->sequence; 571 seq2= entries[col]->sequence_parsimony->sequence; 556 const unsigned char *seq1,*seq2; 557 558 seq1 = entries[row]->sequence_parsimony->get_usequence(); 559 seq2 = entries[col]->sequence_parsimony->get_usequence(); 572 560 this->clear(temp); 573 561 this->clear(temp2); 562 574 563 for (pos = 0; pos < s_len; pos++){ 575 if(filter[pos]>=0) { 576 temp[(unsigned char)*seq1][(unsigned char)*seq2]++; 577 }else{ 578 temp2[(unsigned char)*seq1][(unsigned char)*seq2]++; 579 } 564 if (filter[pos]>=0) temp [*seq1][*seq2]++; 565 else temp2[*seq1][*seq2]++; 580 566 seq1++; seq2++; 581 567 } … … 619 605 char *DI_MATRIX::calculate_overall_freqs(double rel_frequencies[AP_MAX], char *cancel) 620 606 { 621 long hits2[AP_MAX]; 622 long sum = 0; 623 int i,row; 624 char *seq1; 625 int pos; 626 int b; 627 long s_len = tree_root->filter->real_len; 607 long hits2[AP_MAX]; 608 long sum = 0; 609 int i,row; 610 int pos; 611 int b; 612 long s_len = aliview->get_length(); 628 613 629 614 memset((char *) &hits2[0], 0, sizeof(hits2)); 630 615 for (row = 0; row < nentries; row++) { 631 seq1 = entries[row]->sequence_parsimony->sequence;616 const char *seq1 = entries[row]->sequence_parsimony->get_sequence(); 632 617 for (pos = 0; pos < s_len; pos++) { 633 618 b = *(seq1++); … … 678 663 matrix = new AP_smatrix(nentries); 679 664 680 long s_len = tree_root->filter->real_len;665 long s_len = aliview->get_length(); 681 666 long hits[AP_MAX][AP_MAX]; 682 667 int row; … … 719 704 for (col=0; col<=row; col++) { 720 705 columns = 0; 721 c har *seq1 = entries[row]->sequence_parsimony->sequence;722 c har *seq2 = entries[col]->sequence_parsimony->sequence;706 const unsigned char *seq1 = entries[row]->sequence_parsimony->get_usequence(); 707 const unsigned char *seq2 = entries[col]->sequence_parsimony->get_usequence(); 723 708 b = 0.0; 724 709 switch(transformation){ … … 732 717 int pos; 733 718 for (pos = s_len; pos >=0; pos--){ 734 hits[ (unsigned char)*(seq1++)][(unsigned char)*(seq2++)]++;719 hits[*(seq1++)][*(seq2++)]++; 735 720 } 736 721 int x,y; … … 782 767 memset((char *)hits,0,sizeof(long) * AP_MAX * AP_MAX); 783 768 for (pos = s_len; pos >=0; pos--){ 784 hits[ (unsigned char)*(seq1++)][(unsigned char)*(seq2++)]++;769 hits[*(seq1++)][*(seq2++)]++; 785 770 } 786 771 switch(transformation){ … … 890 875 matrix = new AP_smatrix(nentries); 891 876 892 di_protdist prodist(whichcode, whichcat, nentries, entries, tree_root->filter->real_len,matrix);877 di_protdist prodist(whichcode, whichcat, nentries, entries, aliview->get_length(), matrix); 893 878 return prodist.makedists(); 894 879 } 895 880 896 static GB_ERROR di_calculate_matrix_cb(AW_window *aww, AW_CL bootstrap_flag, AW_CL cl_show_warnings) // returns "Aborted" if stopped by user 897 { 898 bool show_warnings = (bool)cl_show_warnings; 881 static GB_ERROR di_calculate_matrix(AW_window *aww, const WeightedFilter *weighted_filter, bool bootstrap_flag, bool show_warnings) { 882 // returns "Aborted" if stopped by user 899 883 GB_push_transaction(GLOBAL_gb_main); 900 884 if (DI_MATRIX::ROOT){ … … 918 902 char *cancel = aw_root->awar(AWAR_DIST_CANCEL_CHARS)->read_string(); 919 903 920 AP_filter *ap_filter = awt_get_filter(aw_root, dist_filter_cl); 921 if (bootstrap_flag){ 922 ap_filter->enable_bootstrap(); 923 } 924 925 AP_weights *ap_weights = new AP_weights; 926 ap_weights->init(ap_filter); 904 AliView *aliview = weighted_filter->create_aliview(use); 905 if (bootstrap_flag) aliview->get_filter()->enable_bootstrap(); 927 906 928 907 char *load_what = aw_root->awar(AWAR_DIST_WHICH_SPECIES)->read_string(); … … 932 911 GB_ERROR error = 0; 933 912 { 934 DI_MATRIX *phm = new DI_MATRIX(GLOBAL_gb_main,aw_root);913 DI_MATRIX *phm = new DI_MATRIX(*aliview, aw_root); 935 914 phm->matrix_type = DI_MATRIX_FULL; 936 phm->load(use, ap_filter, ap_weights, all_flag, sort_tree_name, show_warnings, NULL); 915 phm->load(all_flag, sort_tree_name, show_warnings, NULL); 916 937 917 free(sort_tree_name); 938 918 GB_pop_transaction(GLOBAL_gb_main); 939 919 if (aw_status()) { 940 920 phm->unload(); 941 return "Aborted"; 942 } 943 944 DI_TRANSFORMATION trans = (DI_TRANSFORMATION)aw_root->awar(AWAR_DIST_CORR_TRANS)->read_int(); 945 946 if (phm->is_AA){ 947 error = phm->calculate_pro(trans); 948 }else{ 949 error = phm->calculate(aw_root,cancel,0.0,trans); 950 } 951 if (!bootstrap_flag){ 952 aw_closestatus(); 953 } 921 error = "Aborted"; 922 } 923 else { 924 DI_TRANSFORMATION trans = (DI_TRANSFORMATION)aw_root->awar(AWAR_DIST_CORR_TRANS)->read_int(); 925 926 if (phm->is_AA) error = phm->calculate_pro(trans); 927 else error = phm->calculate(aw_root,cancel,0.0,trans); 928 } 929 if (!bootstrap_flag) aw_closestatus(); 954 930 delete phm->ROOT; 955 931 if (error && strcmp(error,"Aborted")){ … … 960 936 else { 961 937 phm->ROOT = phm; 962 963 938 } 964 939 } … … 966 941 967 942 free(cancel); 968 delete ap_filter; 969 delete ap_weights; 943 delete aliview; 970 944 971 945 free(use); … … 973 947 } 974 948 975 static void di_mark_by_distance(AW_window *aww ) {949 static void di_mark_by_distance(AW_window *aww, AW_CL cl_weightedFilter) { 976 950 AW_root *aw_root = aww->get_root(); 977 951 double lowerBound = aw_root->awar(AWAR_DIST_MIN_DIST)->read_float(); … … 1003 977 } 1004 978 else { 1005 char *use = aw_root->awar(AWAR_DIST_ALIGNMENT)->read_string(); 1006 char *cancel = aw_root->awar(AWAR_DIST_CANCEL_CHARS)->read_string(); 1007 AP_filter *ap_filter = awt_get_filter(aw_root,dist_filter_cl); 1008 AP_weights *ap_weights = new AP_weights; 1009 AP_smatrix *ap_ratematrix = 0; 1010 DI_TRANSFORMATION trans = (DI_TRANSFORMATION)aw_root->awar(AWAR_DIST_CORR_TRANS)->read_int(); 1011 1012 ap_weights->init(ap_filter); 979 char *use = aw_root->awar(AWAR_DIST_ALIGNMENT)->read_string(); 980 char *cancel = aw_root->awar(AWAR_DIST_CANCEL_CHARS)->read_string(); 981 AP_smatrix *ap_ratematrix = 0; 982 DI_TRANSFORMATION trans = (DI_TRANSFORMATION)aw_root->awar(AWAR_DIST_CORR_TRANS)->read_int(); 983 WeightedFilter *weighted_filter = (WeightedFilter*)cl_weightedFilter; 984 AliView *aliview = weighted_filter->create_aliview(use); 1013 985 1014 986 if (!error) { … … 1028 1000 gb_species = GBT_next_species(gb_species)) 1029 1001 { 1030 DI_MATRIX *phm = new DI_MATRIX( GLOBAL_gb_main, aw_root);1002 DI_MATRIX *phm = new DI_MATRIX(*aliview, aw_root); 1031 1003 phm->matrix_type = DI_MATRIX_FULL; 1032 1004 GBDATA *species_pair[] = { gb_selected, gb_species, NULL }; 1033 1005 1034 phm->load( use, ap_filter, ap_weights,DI_LOAD_LIST, NULL, false, species_pair);1006 phm->load(DI_LOAD_LIST, NULL, false, species_pair); 1035 1007 1036 1008 if (phm->is_AA){ … … 1064 1036 1065 1037 delete ap_ratematrix; 1066 delete ap_weights; 1067 delete ap_filter; 1038 delete aliview; 1068 1039 free(cancel); 1069 1040 free(use); … … 1088 1059 } 1089 1060 1090 static void di_view_matrix_cb(AW_window *aww){ 1091 GB_ERROR error = di_calculate_matrix_cb(aww,0,true); 1061 static void di_view_matrix_cb(AW_window *aww, AW_CL cl_sparam) { 1062 save_matrix_params *sparam = (save_matrix_params*)cl_sparam; 1063 GB_ERROR error = di_calculate_matrix(aww, sparam->weighted_filter, 0, true); 1092 1064 if (error) return; 1093 1065 … … 1097 1069 if (!viewer) { 1098 1070 AW_root *aw_root = aww->get_root(); 1099 viewer = DI_create_view_matrix_window(aw_root, di_dmatrix );1071 viewer = DI_create_view_matrix_window(aw_root, di_dmatrix, sparam); 1100 1072 1101 1073 AW_awar *awar_sel = aw_root->awar(AWAR_SPECIES_NAME); … … 1109 1081 } 1110 1082 1111 static void di_save_matrix_cb(AW_window *aww) 1112 { 1083 static void di_save_matrix_cb(AW_window *aww, AW_CL cl_weightedFilter) { 1113 1084 // save the matrix 1114 GB_ERROR error = di_calculate_matrix_cb(aww,0, true); 1085 WeightedFilter *weighted_filter = (WeightedFilter*)cl_weightedFilter; 1086 GB_ERROR error = di_calculate_matrix(aww, weighted_filter, 0, true); 1115 1087 if (!error) { 1116 1088 char *filename = aww->get_root()->awar(AWAR_DIST_SAVE_MATRIX_FILENAME)->read_string(); … … 1124 1096 } 1125 1097 1126 AW_window *DI_create_save_matrix_window(AW_root *aw_root, char *base_name) 1127 { 1098 AW_window *DI_create_save_matrix_window(AW_root *aw_root, save_matrix_params *save_params) { 1128 1099 static AW_window_simple *aws = 0; 1129 if (aws) return aws; 1130 aws = new AW_window_simple; 1131 aws->init( aw_root, "SAVE_MATRIX", "Save Matrix"); 1132 aws->load_xfig("sel_box_user.fig"); 1133 1134 aws->at("close");aws->callback((AW_CB0)AW_POPDOWN); 1135 aws->create_button("CLOSE", "CANCEL","C"); 1136 1137 1138 aws->at("help");aws->callback(AW_POPUP_HELP,(AW_CL)"save_matrix.hlp"); 1139 aws->create_button("HELP", "HELP","H"); 1140 1141 aws->at("user"); 1142 aws->create_option_menu(AWAR_DIST_SAVE_MATRIX_TYPE); 1143 aws->insert_default_option("Phylip Format (Lower Triangular Matrix)","P",DI_SAVE_PHYLIP_COMP); 1144 aws->insert_option("Readable (using NDS)","R",DI_SAVE_READABLE); 1145 aws->insert_option("Tabbed (using NDS)","R",DI_SAVE_TABBED); 1146 aws->update_option_menu(); 1147 1148 awt_create_selection_box((AW_window *)aws,base_name); 1149 1150 aws->at("save2");aws->callback(di_save_matrix_cb); 1151 aws->create_button("SAVE", "SAVE","S"); 1152 1153 aws->callback( (AW_CB0)AW_POPDOWN); 1154 aws->at("cancel2"); 1155 aws->create_button("CLOSE", "CANCEL","C"); 1156 1100 if (!aws) { 1101 aws = new AW_window_simple; 1102 aws->init( aw_root, "SAVE_MATRIX", "Save Matrix"); 1103 aws->load_xfig("sel_box_user.fig"); 1104 1105 aws->at("close");aws->callback((AW_CB0)AW_POPDOWN); 1106 aws->create_button("CLOSE", "CANCEL","C"); 1107 1108 1109 aws->at("help");aws->callback(AW_POPUP_HELP,(AW_CL)"save_matrix.hlp"); 1110 aws->create_button("HELP", "HELP","H"); 1111 1112 aws->at("user"); 1113 aws->create_option_menu(AWAR_DIST_SAVE_MATRIX_TYPE); 1114 aws->insert_default_option("Phylip Format (Lower Triangular Matrix)","P",DI_SAVE_PHYLIP_COMP); 1115 aws->insert_option("Readable (using NDS)","R",DI_SAVE_READABLE); 1116 aws->insert_option("Tabbed (using NDS)","R",DI_SAVE_TABBED); 1117 aws->update_option_menu(); 1118 1119 awt_create_selection_box((AW_window *)aws, save_params->awar_base); 1120 1121 aws->at("save2"); 1122 aws->callback(di_save_matrix_cb, (AW_CL)save_params->weighted_filter); 1123 aws->create_button("SAVE", "SAVE","S"); 1124 1125 aws->callback( (AW_CB0)AW_POPDOWN); 1126 aws->at("cancel2"); 1127 aws->create_button("CLOSE", "CANCEL","C"); 1128 } 1157 1129 return aws; 1158 1130 } … … 1206 1178 } 1207 1179 1208 static void di_calculate_tree_cb(AW_window *aww, AW_CL bootstrap_flag)1180 static void di_calculate_tree_cb(AW_window *aww, AW_CL cl_weightedFilter, AW_CL bootstrap_flag) 1209 1181 { 1210 1182 AW_root *aw_root = aww->get_root(); … … 1226 1198 int last_status_upd = 0; 1227 1199 1200 WeightedFilter *weighted_filter = (WeightedFilter*)cl_weightedFilter; 1201 1228 1202 if (!error) { 1229 1203 { … … 1244 1218 1245 1219 gb_assert(DI_MATRIX::ROOT == 0); 1246 di_calculate_matrix _cb(aww,bootstrap_flag, true);1220 di_calculate_matrix(aww, weighted_filter, bootstrap_flag, true); 1247 1221 1248 1222 DI_MATRIX *matr = DI_MATRIX::ROOT; … … 1290 1264 DI_MATRIX::ROOT = 0; 1291 1265 1292 error = di_calculate_matrix _cb(aww, bootstrap_flag, bootstrap_flag ? false : true);1266 error = di_calculate_matrix(aww, weighted_filter, bootstrap_flag, bootstrap_flag ? false : true); 1293 1267 if (error && strcmp(error,"Aborted") == 0) { 1294 1268 error = 0; // clear error (otherwise no tree will be read below) … … 1384 1358 aw_status("Read the database"); 1385 1359 1386 DI_MATRIX *phm = new DI_MATRIX(GLOBAL_gb_main,aw_root);1387 1360 char *filter_str = aw_root->awar(AWAR_DIST_FILTER_FILTER)->read_string(); 1388 1361 char *cancel = aw_root->awar(AWAR_DIST_CANCEL_CHARS)->read_string(); 1389 1362 1390 AP_filter *ap_filter = new AP_filter; 1391 long flen = strlen(filter_str); 1392 if (flen == ali_len){ 1393 ap_filter->init(filter_str,"0",ali_len); 1394 }else{ 1395 if (flen){ 1396 aw_message("WARNING: YOUR FILTER LEN IS NOT THE ALIGNMENT LEN\nFILTER IS TRUNCATED WITH ZEROS OR CUTTED"); 1397 ap_filter->init(filter_str,"0",ali_len); 1398 }else{ 1399 ap_filter->init(ali_len); 1400 } 1401 } 1402 1403 AP_weights *ap_weights = new AP_weights; 1404 ap_weights->init(ap_filter); 1405 1363 AliView *aliview; 1364 { 1365 AP_filter *ap_filter = NULL; 1366 long flen = strlen(filter_str); 1367 1368 if (flen == ali_len){ 1369 ap_filter = new AP_filter(filter_str, "0", ali_len); 1370 } 1371 else { 1372 if (flen) { 1373 aw_message("WARNING: YOUR FILTER LEN IS NOT THE ALIGNMENT LEN\nFILTER IS TRUNCATED WITH ZEROS OR CUTTED"); 1374 ap_filter = new AP_filter(filter_str, "0", ali_len); 1375 } 1376 else { 1377 ap_filter = new AP_filter(ali_len); // unfiltered 1378 } 1379 } 1380 1381 AP_weights ap_weights(ap_filter); 1382 1383 aliview = new AliView(GLOBAL_gb_main, *ap_filter, ap_weights, use); 1384 delete ap_filter; 1385 } 1386 1387 DI_MATRIX *phm = new DI_MATRIX(*aliview,aw_root); 1388 1406 1389 char *load_what = aw_root->awar(AWAR_DIST_WHICH_SPECIES)->read_string(); 1407 1390 char *sort_tree_name = aw_root->awar(AWAR_DIST_TREE_SORT_NAME)->read_string(); 1408 1391 1409 1392 LoadWhat all_flag = (strcmp(load_what,"all") == 0) ? DI_LOAD_ALL : DI_LOAD_MARKED; 1410 1393 1411 1394 delete phm->ROOT; 1412 1395 phm->ROOT = 0; 1413 phm->load(use, ap_filter, ap_weights, all_flag, sort_tree_name, true, NULL); 1396 1397 phm->load(all_flag, sort_tree_name, true, NULL); 1414 1398 free(sort_tree_name); 1415 1399 GB_pop_transaction(GLOBAL_gb_main); … … 1420 1404 trans = (DI_TRANSFORMATION)aw_root->awar(AWAR_DIST_CORR_TRANS)->read_int(); 1421 1405 1422 1423 char *error = phm->analyse(aw_root); 1406 phm->analyse(); 1424 1407 aw_closestatus(); 1425 1408 1426 1409 delete phm; 1427 if (error) aw_message(error);1428 1410 1429 1411 free(load_what); 1430 1412 1431 1413 free(cancel); 1432 delete ap_filter; 1433 delete ap_weights; 1414 delete aliview; 1434 1415 1435 1416 free(use); … … 1445 1426 } 1446 1427 1447 static void di_calculate_full_matrix_cb(AW_window *aww ){1428 static void di_calculate_full_matrix_cb(AW_window *aww, AW_CL cl_weightedFilter){ 1448 1429 if (DI_MATRIX::ROOT && DI_MATRIX::ROOT->matrix_type == DI_MATRIX_FULL) return; 1449 1430 delete_matrix_cb(0); 1450 di_calculate_matrix_cb(aww,0, true); 1431 WeightedFilter *weighted_filter = (WeightedFilter*)cl_weightedFilter; 1432 di_calculate_matrix(aww, weighted_filter, 0, true); 1451 1433 if (di_dmatrix){ 1452 1434 di_dmatrix->resized(); … … 1455 1437 } 1456 1438 1457 static void di_compress_tree_cb(AW_window *aww ){1439 static void di_compress_tree_cb(AW_window *aww, AW_CL cl_weightedFilter) { 1458 1440 GB_transaction dummy(GLOBAL_gb_main); 1459 1441 char *treename = aww->get_root()->awar(AWAR_DIST_TREE_COMP_NAME)->read_string(); … … 1466 1448 } 1467 1449 1468 di_calculate_matrix_cb(aww,0, true); 1450 WeightedFilter *weighted_filter = (WeightedFilter*)cl_weightedFilter; 1451 di_calculate_matrix(aww, weighted_filter, 0, true); 1469 1452 if (!DI_MATRIX::ROOT) error = "Cannot calculate your matrix"; 1470 1453 … … 1538 1521 AW_window *DI_create_matrix_window(AW_root *aw_root) { 1539 1522 AW_window_simple_menu *aws = new AW_window_simple_menu; 1540 aws->init( aw_root, "NEIGHBOUR JOINING", "NEIGHBOUR JOINING ");1523 aws->init( aw_root, "NEIGHBOUR JOINING", "NEIGHBOUR JOINING [ARB_DIST]"); 1541 1524 aws->load_xfig("di_ge_ma.fig"); 1542 1525 aws->button_length( 10 ); … … 1569 1552 1570 1553 aws->insert_help_topic("help ...", "h", "dist.hlp", AWM_ALL, (AW_CB)AW_POPUP_HELP, (AW_CL)"dist.hlp", 0); 1554 1555 // ------------------ 1556 // left side 1571 1557 1572 1558 aws->at( "which_species" ); … … 1579 1565 awt_create_selection_list_on_ad(GLOBAL_gb_main, (AW_window *)aws,AWAR_DIST_ALIGNMENT,"*="); 1580 1566 1567 // filter & weights 1568 1569 WeightedFilter *weighted_filter = // do NOT free (bound to callbacks) 1570 new WeightedFilter(GLOBAL_gb_main, aws->get_root(), AWAR_DIST_FILTER_NAME, AWAR_DIST_COLUMN_STAT_NAME); 1571 1581 1572 aws->at("filter_select"); 1582 dist_filter_cl = awt_create_select_filter(aws->get_root(), GLOBAL_gb_main, AWAR_DIST_FILTER_NAME); 1583 aws->callback(AW_POPUP, (AW_CL)awt_create_select_filter_win, (AW_CL)dist_filter_cl); 1573 aws->callback(AW_POPUP, (AW_CL)awt_create_select_filter_win, (AW_CL)(weighted_filter->get_adfiltercbstruct())); 1584 1574 aws->create_button("SELECT_FILTER", AWAR_DIST_FILTER_NAME); 1585 1575 1586 1576 aws->at("weights_select"); 1587 1577 aws->sens_mask(AWM_EXP); 1588 global_csp = new AWT_csp(GLOBAL_gb_main,aws->get_root(),AWAR_DIST_COLUMN_STAT_NAME); 1589 aws->callback(AW_POPUP,(AW_CL)create_csp_window, (AW_CL)global_csp); 1578 aws->callback(AW_POPUP,(AW_CL)create_csp_window, (AW_CL)weighted_filter->get_csp()); 1590 1579 aws->create_button("SELECT_COL_STAT",AWAR_DIST_COLUMN_STAT_NAME); 1591 1580 aws->sens_mask(AWM_ALL); … … 1625 1614 aws->update_option_menu(); 1626 1615 1616 aws->at("autodetect"); // auto 1617 aws->callback(di_autodetect_callback); 1618 aws->sens_mask(AWM_EXP); 1619 aws->create_button("AUTODETECT_CORRECTION", "AUTODETECT","A"); 1620 aws->sens_mask(AWM_ALL); 1621 1627 1622 // ------------------- 1628 1623 // right side 1629 // ------------------- 1624 1630 1625 1631 1626 aws->at("mark_distance"); 1632 aws->callback(di_mark_by_distance );1627 aws->callback(di_mark_by_distance, (AW_CL)weighted_filter); 1633 1628 aws->create_autosize_button("MARK_BY_DIST", "Mark all species"); 1634 1629 … … 1641 1636 // ----------------- 1642 1637 1643 aws->button_length(18); 1644 1645 // aws->at("compress"); 1646 // aws->callback(AW_POPUP, (AW_CL)create_select_compress_tree,0); 1647 // aws->help_text("compress_tree.hlp"); 1648 // aws->create_button("CALC_COMPRESSED_MATRIX", "Calculate\nCompressed M. ...","C"); 1649 1650 aws->at("compress"); 1651 aws->callback(di_compress_tree_cb); 1652 aws->create_button("CALC_COMPRESSED_MATRIX", "Calculate\nCompressed Matrix","C"); 1653 1654 aws->at("calculate"); 1655 aws->callback(di_calculate_full_matrix_cb); 1656 aws->create_button("CALC_FULL_MATRIX", "Calculate\nFull Matrix","F"); 1657 1658 aws->button_length(13); 1659 1660 aws->at("save_matrix"); 1661 aws->callback(AW_POPUP, (AW_CL)DI_create_save_matrix_window,(AW_CL)AWAR_DIST_SAVE_MATRIX_BASE); 1662 aws->create_button("SAVE_MATRIX", "Save matrix","M"); 1663 1664 aws->at("view_matrix"); 1665 aws->callback(di_view_matrix_cb); 1666 aws->create_button("VIEW_MATRIX", "View matrix","V"); 1638 // tree selection 1667 1639 1668 1640 aws->at("tree_list"); 1669 1641 awt_create_selection_list_on_trees(GLOBAL_gb_main,(AW_window *)aws,AWAR_DIST_TREE_CURR_NAME); 1670 1642 1643 aws->at("detect_clusters"); 1644 aws->callback(AW_POPUP, (AW_CL)DI_create_cluster_detection_window, (AW_CL)weighted_filter); 1645 aws->create_autosize_button("DETECT_CLUSTERS", "Detect homogenous clusters in tree","D"); 1646 1647 // matrix calculation 1648 1671 1649 aws->button_length(18); 1672 1673 aws->at("t_calculate"); 1674 aws->callback(di_calculate_tree_cb,0); 1675 aws->create_button("CALC_TREE", "Calculate \ntree","C"); 1676 1677 aws->at("bootstrap"); 1678 aws->callback(di_calculate_tree_cb,1); 1679 aws->create_button("CALC_BOOTSTRAP_TREE", "Calculate \nbootstrap tree"); 1680 1681 aws->at("bcount"); 1682 aws->create_input_field(AWAR_DIST_BOOTSTRAP_COUNT, 7); 1683 1684 aws->at("autodetect"); // auto 1685 aws->callback(di_autodetect_callback); 1686 aws->sens_mask(AWM_EXP); 1687 aws->create_button("AUTODETECT_CORRECTION", "AUTODETECT","A"); 1688 aws->sens_mask(AWM_ALL); 1689 1690 aws->at("sort_tree_name"); 1691 aws->create_input_field(AWAR_DIST_TREE_SORT_NAME,12); 1692 aws->at("compr_tree_name"); 1693 aws->create_input_field(AWAR_DIST_TREE_COMP_NAME,12); 1694 aws->at("calc_tree_name"); 1695 aws->create_input_field(AWAR_DIST_TREE_STD_NAME,12); 1650 aws->at("calculate"); 1651 aws->callback(di_calculate_full_matrix_cb, (AW_CL)weighted_filter); 1652 aws->create_button("CALC_FULL_MATRIX", "Calculate\nFull Matrix","F"); 1653 aws->at("compress"); 1654 aws->callback(di_compress_tree_cb, (AW_CL)weighted_filter); 1655 aws->create_button("CALC_COMPRESSED_MATRIX", "Calculate\nCompressed Matrix","C"); 1656 1657 aws->button_length(13); 1658 1659 { 1660 save_matrix_params *sparams = new save_matrix_params; // do not free (bound to callbacks) 1661 1662 sparams->awar_base = AWAR_DIST_SAVE_MATRIX_BASE; 1663 sparams->weighted_filter = weighted_filter; 1664 1665 aws->at("save_matrix"); 1666 aws->callback(AW_POPUP, (AW_CL)DI_create_save_matrix_window,(AW_CL)sparams); 1667 aws->create_button("SAVE_MATRIX", "Save matrix","M"); 1668 1669 aws->at("view_matrix"); 1670 aws->callback(di_view_matrix_cb, (AW_CL)sparams); 1671 aws->create_button("VIEW_MATRIX", "View matrix","V"); 1672 } 1696 1673 1697 1674 aws->button_length(22); 1698 1699 1675 aws->at("use_compr_tree"); 1700 1676 aws->callback(di_define_compression_tree_name_cb); 1701 1677 aws->create_button("USE_COMPRESSION_TREE", "Use to compress", ""); 1702 1703 1678 aws->at("use_sort_tree"); 1704 1679 aws->callback(di_define_sort_tree_name_cb); 1705 1680 aws->create_button("USE_SORT_TREE", "Use to sort", ""); 1706 1681 1682 aws->at("compr_tree_name"); 1683 aws->create_input_field(AWAR_DIST_TREE_COMP_NAME,12); 1684 aws->at("sort_tree_name"); 1685 aws->create_input_field(AWAR_DIST_TREE_SORT_NAME,12); 1686 1687 // tree calculation 1688 1689 aws->button_length(18); 1690 aws->at("t_calculate"); 1691 aws->callback(di_calculate_tree_cb, (AW_CL)weighted_filter, 0); 1692 aws->create_button("CALC_TREE", "Calculate \ntree","C"); 1693 aws->at("bootstrap"); 1694 aws->callback(di_calculate_tree_cb, (AW_CL)weighted_filter, 1); 1695 aws->create_button("CALC_BOOTSTRAP_TREE", "Calculate \nbootstrap tree"); 1696 1697 aws->button_length(22); 1707 1698 aws->at("use_existing"); 1708 1699 aws->callback(di_define_save_tree_name_cb); 1709 1700 aws->create_button("USE_NAME", "Use as new tree name", ""); 1710 1701 1702 aws->at("calc_tree_name"); 1703 aws->create_input_field(AWAR_DIST_TREE_STD_NAME,12); 1704 1705 aws->at("bcount"); 1706 aws->create_input_field(AWAR_DIST_BOOTSTRAP_COUNT, 7); 1707 1711 1708 GB_pop_transaction(GLOBAL_gb_main); 1712 1709 return (AW_window *)aws; -
trunk/DIST/DI_mldist.cxx
r6141 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <memory.h> 4 // #include <malloc.h> 5 #include <string.h> 6 7 #include <math.h> 8 9 #include <arbdb.h> 10 #include <arbdbt.h> 11 12 #include <aw_root.hxx> 13 #include <aw_device.hxx> 14 #include <aw_window.hxx> 15 #include <aw_preset.hxx> 16 #include <awt.hxx> 17 18 #include <awt_tree.hxx> 19 #include "dist.hxx" 20 #include <awt_csp.hxx> 21 1 // =============================================================== // 2 // // 3 // File : DI_mldist.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #include "di_mldist.hxx" 22 12 #include "di_matr.hxx" 23 #include "di_mldist.hxx" 24 25 #define epsilon 0.000001/* a small number */ 26 13 14 #include <AP_seq_simple_pro.hxx> 15 16 #include <cmath> 17 18 19 #define epsilon 0.000001 // a small number 27 20 28 21 void di_mldist::givens(di_ml_matrix a,long i,long j,long n,double ctheta,double stheta,GB_BOOL left) … … 231 224 { 232 225 /* move all unknown characters to del */ 233 ap_pro *seq 1 = entries[i]->sequence_protein->sequence;226 ap_pro *seq = entries[i]->sequence_protein->get_sequence(); 234 227 for (k = 0; k <chars ; k++) { 235 b1 = seq 1[k];228 b1 = seq[k]; 236 229 if (b1 <=val) continue; 237 230 if (b1 == asx || b1 == glx) continue; 238 seq 1[k] = del;231 seq[k] = del; 239 232 } 240 233 } … … 250 243 tt = pos_2_tt(pos); 251 244 build_akt_predikt(tt); 252 ap_pro *seq1 = entries[i]->sequence_protein->sequence;253 ap_pro *seq2 = entries[j]->sequence_protein->sequence;245 const ap_pro *seq1 = entries[i]->sequence_protein->get_sequence(); 246 const ap_pro *seq2 = entries[j]->sequence_protein->get_sequence(); 254 247 for (k = chars; k >0; k--) { 255 248 b1 = *(seq1++); -
trunk/DIST/DI_protdist.cxx
r6141 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <memory.h> 4 // #include <malloc.h> 5 #include <string.h> 1 // =============================================================== // 2 // // 3 // File : DI_protdist.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #include "di_protdist.hxx" 12 #include "di_matr.hxx" 6 13 7 14 #include <math.h> 8 15 9 #include <arbdb.h> 10 #include <arbdbt.h> 11 12 #include <aw_root.hxx> 13 #include <aw_device.hxx> 14 #include <aw_window.hxx> 15 #include <aw_preset.hxx> 16 #include <awt.hxx> 17 18 #include <awt_tree.hxx> 19 #include "dist.hxx" 20 #include <awt_csp.hxx> 21 22 #include "di_matr.hxx" 23 #include "di_protdist.hxx" 24 25 #define epsilon 0.000001/* a small number */ 16 #define di_assert(cond) arb_assert(cond) 17 18 #define epsilon 0.000001 /* a small number */ 26 19 27 20 double di_protdist::pameigs[20] = { … … 676 669 { 677 670 /* move all unknown characters to del */ 678 ap_pro *seq1 = entries[i]->sequence_protein-> sequence;671 ap_pro *seq1 = entries[i]->sequence_protein->get_sequence(); 679 672 for (k = 0; k <chars ; k++) { 680 673 b1 = seq1[k]; … … 699 692 tt = pos_2_tt(pos); 700 693 build_akt_predikt(tt); 701 ap_pro *seq1 = entries[i]->sequence_protein->sequence;702 ap_pro *seq2 = entries[j]->sequence_protein->sequence;694 const ap_pro *seq1 = entries[i]->sequence_protein->get_sequence(); 695 const ap_pro *seq2 = entries[j]->sequence_protein->get_sequence(); 703 696 for (k = chars; k >0; k--) { 704 697 b1 = *(seq1++); … … 742 735 m = 0; 743 736 n = 0; 744 ap_pro *seq1 = entries[i]->sequence_protein->sequence;745 ap_pro *seq2 = entries[j]->sequence_protein->sequence;737 const ap_pro *seq1 = entries[i]->sequence_protein->get_sequence(); 738 const ap_pro *seq2 = entries[j]->sequence_protein->get_sequence(); 746 739 for (k = chars; k >0; k--) { 747 740 b1 = *(seq1++); -
trunk/DIST/DI_save_matr.cxx
r5402 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 // #include <malloc.h> 4 #include <memory.h> 5 #include <string.h> 6 #include <arbdb.h> 7 #include <arbdbt.h> 8 9 #include <aw_root.hxx> 10 #include <aw_device.hxx> 11 #include <aw_window.hxx> 12 #include <awt_tree.hxx> 13 #include "dist.hxx" 14 #include <awt_nds.hxx> 15 #include <awt_csp.hxx> 1 // =============================================================== // 2 // // 3 // File : DI_save_matr.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 16 10 17 11 #include "di_matr.hxx" 18 12 #include <awt_nds.hxx> 19 13 20 14 const char *DI_MATRIX::save(char *filename,enum DI_SAVE_TYPE type) … … 43 37 case DI_SAVE_TABBED: 44 38 { 39 GBDATA *gb_main = get_gb_main(); 45 40 GB_transaction dummy(gb_main); 46 size_t app_size = 200; // maximum width for NDS output (and max. height for vertical one)41 size_t app_size = 200; // maximum width for NDS output (and max. height for vertical one) 47 42 size_t maxnds = 0; 48 43 bool tabbed = (type == DI_SAVE_TABBED); … … 142 137 if (!tabbed) fputc(' ', out); 143 138 144 if (val2 > max) max = val2; 145 if (val2 < min) min = val2; 146 sum += val; 139 if (val2 > max) max = val2; 140 if (val2 < min) min = val2; 141 142 sum += val2; // ralf: before this added 'val' (which was included somehow) 147 143 } 148 144 fprintf(out,"\n"); -
trunk/DIST/DI_view_matrix.cxx
r6141 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <memory.h> 4 #include <string.h> 5 6 #include <arbdb.h> 7 #include <arbdbt.h> 8 9 #include <aw_root.hxx> 10 #include <aw_device.hxx> 1 // =============================================================== // 2 // // 3 // File : DI_view_matrix.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #include "di_view_matrix.hxx" 12 #include "di_matr.hxx" 13 #include "dist.hxx" 14 11 15 #include <aw_window.hxx> 16 #include <aw_awars.hxx> 12 17 #include <aw_preset.hxx> 13 #include <aw_awars.hxx> 14 15 #include <awt_tree.hxx> 18 16 19 #include <awt_canvas.hxx> 17 #include "dist.hxx"18 19 #include <di_matr.hxx>20 #include <di_view_matrix.hxx>21 20 22 21 void vertical_change_cb (AW_window *aww,DI_dmatrix *dis) { dis->monitor_vertical_scroll_cb(aww); } … … 550 549 } 551 550 552 AW_window *DI_create_view_matrix_window(AW_root *awr, DI_dmatrix *dmatrix ){551 AW_window *DI_create_view_matrix_window(AW_root *awr, DI_dmatrix *dmatrix, save_matrix_params *sparam) { 553 552 di_bind_dist_awars(awr, dmatrix); 554 553 AW_window_menu *awm = new AW_window_menu(); … … 580 579 581 580 awm->create_menu("File","F"); 582 awm->insert_menu_topic("save_matrix", "Save Matrix to File", "S","save_matrix.hlp", AWM_ALL, AW_POPUP, (AW_CL)DI_create_save_matrix_window, (AW_CL) AWAR_DIST_SAVE_MATRIX_BASE);581 awm->insert_menu_topic("save_matrix", "Save Matrix to File", "S","save_matrix.hlp", AWM_ALL, AW_POPUP, (AW_CL)DI_create_save_matrix_window, (AW_CL)sparam); 583 582 awm->insert_menu_topic("close", "Close", "C",0, AWM_ALL, (AW_CB)AW_POPDOWN, (AW_CL)0, 0 ); 584 583 -
trunk/DIST/Makefile
r6277 r6280 3 3 .SUFFIXES: .o .cxx .depend 4 4 5 CPP_OBJECTS = DI_mldist.o DI_protdist.o DI_compress_matrix.o DI_view_matrix.o DI_save_matr.o DI_main.o DI_matr.o distanalyse.o 5 CPP_OBJECTS = \ 6 DI_foundclusters.o \ 7 DI_clusters.o \ 8 DI_clustertree.o \ 9 DI_compress_matrix.o \ 10 DI_main.o \ 11 DI_matr.o \ 12 DI_mldist.o \ 13 DI_protdist.o \ 14 DI_save_matr.o \ 15 DI_view_matrix.o \ 16 distanalyse.o \ 6 17 7 18 $(MAIN): $(CPP_OBJECTS) … … 30 41 # For formatting issues see SOURCE_TOOLS/fix_depends.pl 31 42 43 DI_clusters.o: di_awars.hxx 44 DI_clusters.o: di_clusters.hxx 45 DI_clusters.o: di_clustertree.hxx 46 DI_clusters.o: di_foundclusters.hxx 47 DI_clusters.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 48 DI_clusters.o: $(ARBHOME)/INCLUDE/ad_prot.h 49 DI_clusters.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 50 DI_clusters.o: $(ARBHOME)/INCLUDE/AliView.hxx 51 DI_clusters.o: $(ARBHOME)/INCLUDE/AP_filter.hxx 52 DI_clusters.o: $(ARBHOME)/INCLUDE/AP_seq_dna.hxx 53 DI_clusters.o: $(ARBHOME)/INCLUDE/AP_seq_simple_pro.hxx 54 DI_clusters.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 55 DI_clusters.o: $(ARBHOME)/INCLUDE/arb_assert.h 56 DI_clusters.o: $(ARBHOME)/INCLUDE/arb_error.h 57 DI_clusters.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 58 DI_clusters.o: $(ARBHOME)/INCLUDE/arbdb.h 59 DI_clusters.o: $(ARBHOME)/INCLUDE/arbdb_base.h 60 DI_clusters.o: $(ARBHOME)/INCLUDE/arbdbt.h 61 DI_clusters.o: $(ARBHOME)/INCLUDE/arbtools.h 62 DI_clusters.o: $(ARBHOME)/INCLUDE/attributes.h 63 DI_clusters.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 64 DI_clusters.o: $(ARBHOME)/INCLUDE/aw_device.hxx 65 DI_clusters.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 66 DI_clusters.o: $(ARBHOME)/INCLUDE/aw_position.hxx 67 DI_clusters.o: $(ARBHOME)/INCLUDE/aw_root.hxx 68 DI_clusters.o: $(ARBHOME)/INCLUDE/aw_window.hxx 69 DI_clusters.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 70 DI_clusters.o: $(ARBHOME)/INCLUDE/downcast.h 71 DI_clusters.o: $(ARBHOME)/INCLUDE/gui_aliview.hxx 72 DI_clusters.o: $(ARBHOME)/INCLUDE/smartptr.h 73 74 DI_clustertree.o: di_clustertree.hxx 75 DI_clustertree.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 76 DI_clustertree.o: $(ARBHOME)/INCLUDE/ad_prot.h 77 DI_clustertree.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 78 DI_clustertree.o: $(ARBHOME)/INCLUDE/AliView.hxx 79 DI_clustertree.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 80 DI_clustertree.o: $(ARBHOME)/INCLUDE/arb_assert.h 81 DI_clustertree.o: $(ARBHOME)/INCLUDE/arb_error.h 82 DI_clustertree.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 83 DI_clustertree.o: $(ARBHOME)/INCLUDE/arbdb.h 84 DI_clustertree.o: $(ARBHOME)/INCLUDE/arbdb_base.h 85 DI_clustertree.o: $(ARBHOME)/INCLUDE/arbdbt.h 86 DI_clustertree.o: $(ARBHOME)/INCLUDE/arbtools.h 87 DI_clustertree.o: $(ARBHOME)/INCLUDE/attributes.h 88 DI_clustertree.o: $(ARBHOME)/INCLUDE/aw_root.hxx 89 DI_clustertree.o: $(ARBHOME)/INCLUDE/downcast.h 90 DI_clustertree.o: $(ARBHOME)/INCLUDE/smartptr.h 91 32 92 DI_compress_matrix.o: di_matr.hxx 33 DI_compress_matrix.o: di_view_matrix.hxx34 DI_compress_matrix.o: dist.hxx35 93 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 36 94 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/ad_prot.h 37 95 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 96 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/AliView.hxx 97 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/AP_matrix.hxx 98 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/AP_pro_a_nucs.hxx 99 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 100 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 38 101 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/arb_assert.h 39 102 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/arb_error.h 103 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 40 104 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/arbdb.h 41 105 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 44 108 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/attributes.h 45 109 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 46 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/aw_device.hxx47 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx48 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/aw_position.hxx49 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/aw_preset.hxx50 110 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/aw_root.hxx 51 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/aw_window.hxx 52 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 53 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/awt_seq_dna.hxx 54 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/awt_seq_simple_pro.hxx 55 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 111 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/downcast.h 56 112 DI_compress_matrix.o: $(ARBHOME)/INCLUDE/smartptr.h 113 114 DI_foundclusters.o: di_clustertree.hxx 115 DI_foundclusters.o: di_foundclusters.hxx 116 DI_foundclusters.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 117 DI_foundclusters.o: $(ARBHOME)/INCLUDE/ad_prot.h 118 DI_foundclusters.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 119 DI_foundclusters.o: $(ARBHOME)/INCLUDE/AliView.hxx 120 DI_foundclusters.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 121 DI_foundclusters.o: $(ARBHOME)/INCLUDE/arb_assert.h 122 DI_foundclusters.o: $(ARBHOME)/INCLUDE/arb_error.h 123 DI_foundclusters.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 124 DI_foundclusters.o: $(ARBHOME)/INCLUDE/arbdb.h 125 DI_foundclusters.o: $(ARBHOME)/INCLUDE/arbdb_base.h 126 DI_foundclusters.o: $(ARBHOME)/INCLUDE/arbdbt.h 127 DI_foundclusters.o: $(ARBHOME)/INCLUDE/arbtools.h 128 DI_foundclusters.o: $(ARBHOME)/INCLUDE/attributes.h 129 DI_foundclusters.o: $(ARBHOME)/INCLUDE/aw_device.hxx 130 DI_foundclusters.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 131 DI_foundclusters.o: $(ARBHOME)/INCLUDE/aw_position.hxx 132 DI_foundclusters.o: $(ARBHOME)/INCLUDE/aw_root.hxx 133 DI_foundclusters.o: $(ARBHOME)/INCLUDE/aw_window.hxx 134 DI_foundclusters.o: $(ARBHOME)/INCLUDE/downcast.h 135 DI_foundclusters.o: $(ARBHOME)/INCLUDE/gui_aliview.hxx 136 DI_foundclusters.o: $(ARBHOME)/INCLUDE/smartptr.h 57 137 58 138 DI_main.o: $(ARBHOME)/INCLUDE/ad_k_prot.h … … 75 155 DI_main.o: $(ARBHOME)/INCLUDE/smartptr.h 76 156 157 DI_matr.o: di_awars.hxx 158 DI_matr.o: di_clusters.hxx 77 159 DI_matr.o: di_matr.hxx 78 160 DI_matr.o: di_protdist.hxx … … 82 164 DI_matr.o: $(ARBHOME)/INCLUDE/ad_prot.h 83 165 DI_matr.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 166 DI_matr.o: $(ARBHOME)/INCLUDE/AliView.hxx 167 DI_matr.o: $(ARBHOME)/INCLUDE/AP_filter.hxx 168 DI_matr.o: $(ARBHOME)/INCLUDE/AP_matrix.hxx 169 DI_matr.o: $(ARBHOME)/INCLUDE/AP_pro_a_nucs.hxx 170 DI_matr.o: $(ARBHOME)/INCLUDE/AP_seq_dna.hxx 171 DI_matr.o: $(ARBHOME)/INCLUDE/AP_seq_simple_pro.hxx 172 DI_matr.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 173 DI_matr.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 84 174 DI_matr.o: $(ARBHOME)/INCLUDE/arb_assert.h 85 175 DI_matr.o: $(ARBHOME)/INCLUDE/arb_error.h 176 DI_matr.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 86 177 DI_matr.o: $(ARBHOME)/INCLUDE/arbdb.h 87 178 DI_matr.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 100 191 DI_matr.o: $(ARBHOME)/INCLUDE/awt.hxx 101 192 DI_matr.o: $(ARBHOME)/INCLUDE/awt_csp.hxx 193 DI_matr.o: $(ARBHOME)/INCLUDE/awt_filter.hxx 102 194 DI_matr.o: $(ARBHOME)/INCLUDE/awt_macro.hxx 103 DI_matr.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx104 195 DI_matr.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 105 DI_matr.o: $(ARBHOME)/INCLUDE/awt_seq_dna.hxx106 DI_matr.o: $(ARBHOME)/INCLUDE/awt_seq_simple_pro.hxx107 DI_matr.o: $(ARBHOME)/INCLUDE/awt_tree.hxx108 196 DI_matr.o: $(ARBHOME)/INCLUDE/BI_helix.hxx 109 197 DI_matr.o: $(ARBHOME)/INCLUDE/CT_ctree.hxx 198 DI_matr.o: $(ARBHOME)/INCLUDE/downcast.h 199 DI_matr.o: $(ARBHOME)/INCLUDE/gui_aliview.hxx 200 DI_matr.o: $(ARBHOME)/INCLUDE/neighbourjoin.hxx 110 201 DI_matr.o: $(ARBHOME)/INCLUDE/smartptr.h 111 202 112 203 DI_mldist.o: di_matr.hxx 113 204 DI_mldist.o: di_mldist.hxx 114 DI_mldist.o: dist.hxx115 205 DI_mldist.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 116 206 DI_mldist.o: $(ARBHOME)/INCLUDE/ad_prot.h 117 207 DI_mldist.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 208 DI_mldist.o: $(ARBHOME)/INCLUDE/AliView.hxx 209 DI_mldist.o: $(ARBHOME)/INCLUDE/AP_matrix.hxx 210 DI_mldist.o: $(ARBHOME)/INCLUDE/AP_pro_a_nucs.hxx 211 DI_mldist.o: $(ARBHOME)/INCLUDE/AP_seq_simple_pro.hxx 212 DI_mldist.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 213 DI_mldist.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 118 214 DI_mldist.o: $(ARBHOME)/INCLUDE/arb_assert.h 119 215 DI_mldist.o: $(ARBHOME)/INCLUDE/arb_error.h 216 DI_mldist.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 120 217 DI_mldist.o: $(ARBHOME)/INCLUDE/arbdb.h 121 218 DI_mldist.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 124 221 DI_mldist.o: $(ARBHOME)/INCLUDE/attributes.h 125 222 DI_mldist.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 126 DI_mldist.o: $(ARBHOME)/INCLUDE/aw_device.hxx127 DI_mldist.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx128 DI_mldist.o: $(ARBHOME)/INCLUDE/aw_position.hxx129 DI_mldist.o: $(ARBHOME)/INCLUDE/aw_preset.hxx130 223 DI_mldist.o: $(ARBHOME)/INCLUDE/aw_root.hxx 131 DI_mldist.o: $(ARBHOME)/INCLUDE/aw_window.hxx 132 DI_mldist.o: $(ARBHOME)/INCLUDE/awt.hxx 133 DI_mldist.o: $(ARBHOME)/INCLUDE/awt_csp.hxx 134 DI_mldist.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 135 DI_mldist.o: $(ARBHOME)/INCLUDE/awt_seq_dna.hxx 136 DI_mldist.o: $(ARBHOME)/INCLUDE/awt_seq_simple_pro.hxx 137 DI_mldist.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 224 DI_mldist.o: $(ARBHOME)/INCLUDE/downcast.h 138 225 DI_mldist.o: $(ARBHOME)/INCLUDE/smartptr.h 139 226 140 227 DI_protdist.o: di_matr.hxx 141 228 DI_protdist.o: di_protdist.hxx 142 DI_protdist.o: dist.hxx143 229 DI_protdist.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 144 230 DI_protdist.o: $(ARBHOME)/INCLUDE/ad_prot.h 145 231 DI_protdist.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 232 DI_protdist.o: $(ARBHOME)/INCLUDE/AliView.hxx 233 DI_protdist.o: $(ARBHOME)/INCLUDE/AP_matrix.hxx 234 DI_protdist.o: $(ARBHOME)/INCLUDE/AP_pro_a_nucs.hxx 235 DI_protdist.o: $(ARBHOME)/INCLUDE/AP_seq_simple_pro.hxx 236 DI_protdist.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 237 DI_protdist.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 146 238 DI_protdist.o: $(ARBHOME)/INCLUDE/arb_assert.h 147 239 DI_protdist.o: $(ARBHOME)/INCLUDE/arb_error.h 240 DI_protdist.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 148 241 DI_protdist.o: $(ARBHOME)/INCLUDE/arbdb.h 149 242 DI_protdist.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 152 245 DI_protdist.o: $(ARBHOME)/INCLUDE/attributes.h 153 246 DI_protdist.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 154 DI_protdist.o: $(ARBHOME)/INCLUDE/aw_device.hxx155 DI_protdist.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx156 DI_protdist.o: $(ARBHOME)/INCLUDE/aw_position.hxx157 DI_protdist.o: $(ARBHOME)/INCLUDE/aw_preset.hxx158 247 DI_protdist.o: $(ARBHOME)/INCLUDE/aw_root.hxx 159 DI_protdist.o: $(ARBHOME)/INCLUDE/aw_window.hxx 160 DI_protdist.o: $(ARBHOME)/INCLUDE/awt.hxx 161 DI_protdist.o: $(ARBHOME)/INCLUDE/awt_csp.hxx 162 DI_protdist.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 163 DI_protdist.o: $(ARBHOME)/INCLUDE/awt_seq_dna.hxx 164 DI_protdist.o: $(ARBHOME)/INCLUDE/awt_seq_simple_pro.hxx 165 DI_protdist.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 248 DI_protdist.o: $(ARBHOME)/INCLUDE/downcast.h 166 249 DI_protdist.o: $(ARBHOME)/INCLUDE/smartptr.h 167 250 168 251 DI_save_matr.o: di_matr.hxx 169 DI_save_matr.o: dist.hxx170 252 DI_save_matr.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 171 253 DI_save_matr.o: $(ARBHOME)/INCLUDE/ad_prot.h 172 254 DI_save_matr.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 255 DI_save_matr.o: $(ARBHOME)/INCLUDE/AliView.hxx 256 DI_save_matr.o: $(ARBHOME)/INCLUDE/AP_matrix.hxx 257 DI_save_matr.o: $(ARBHOME)/INCLUDE/AP_pro_a_nucs.hxx 258 DI_save_matr.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 259 DI_save_matr.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 173 260 DI_save_matr.o: $(ARBHOME)/INCLUDE/arb_assert.h 174 261 DI_save_matr.o: $(ARBHOME)/INCLUDE/arb_error.h 262 DI_save_matr.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 175 263 DI_save_matr.o: $(ARBHOME)/INCLUDE/arbdb.h 176 264 DI_save_matr.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 179 267 DI_save_matr.o: $(ARBHOME)/INCLUDE/attributes.h 180 268 DI_save_matr.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 181 DI_save_matr.o: $(ARBHOME)/INCLUDE/aw_device.hxx182 DI_save_matr.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx183 DI_save_matr.o: $(ARBHOME)/INCLUDE/aw_position.hxx184 269 DI_save_matr.o: $(ARBHOME)/INCLUDE/aw_root.hxx 185 DI_save_matr.o: $(ARBHOME)/INCLUDE/aw_window.hxx186 DI_save_matr.o: $(ARBHOME)/INCLUDE/awt_csp.hxx187 270 DI_save_matr.o: $(ARBHOME)/INCLUDE/awt_nds.hxx 188 DI_save_matr.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 189 DI_save_matr.o: $(ARBHOME)/INCLUDE/awt_seq_dna.hxx 190 DI_save_matr.o: $(ARBHOME)/INCLUDE/awt_seq_simple_pro.hxx 191 DI_save_matr.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 271 DI_save_matr.o: $(ARBHOME)/INCLUDE/downcast.h 192 272 DI_save_matr.o: $(ARBHOME)/INCLUDE/smartptr.h 193 273 … … 198 278 DI_view_matrix.o: $(ARBHOME)/INCLUDE/ad_prot.h 199 279 DI_view_matrix.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 280 DI_view_matrix.o: $(ARBHOME)/INCLUDE/AliView.hxx 281 DI_view_matrix.o: $(ARBHOME)/INCLUDE/AP_matrix.hxx 282 DI_view_matrix.o: $(ARBHOME)/INCLUDE/AP_pro_a_nucs.hxx 283 DI_view_matrix.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 284 DI_view_matrix.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 200 285 DI_view_matrix.o: $(ARBHOME)/INCLUDE/arb_assert.h 201 286 DI_view_matrix.o: $(ARBHOME)/INCLUDE/arb_error.h 287 DI_view_matrix.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 202 288 DI_view_matrix.o: $(ARBHOME)/INCLUDE/arbdb.h 203 289 DI_view_matrix.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 214 300 DI_view_matrix.o: $(ARBHOME)/INCLUDE/aw_window.hxx 215 301 DI_view_matrix.o: $(ARBHOME)/INCLUDE/awt_canvas.hxx 216 DI_view_matrix.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 217 DI_view_matrix.o: $(ARBHOME)/INCLUDE/awt_seq_dna.hxx 218 DI_view_matrix.o: $(ARBHOME)/INCLUDE/awt_seq_simple_pro.hxx 219 DI_view_matrix.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 302 DI_view_matrix.o: $(ARBHOME)/INCLUDE/downcast.h 220 303 DI_view_matrix.o: $(ARBHOME)/INCLUDE/smartptr.h 221 304 222 305 distanalyse.o: di_matr.hxx 223 distanalyse.o: dist.hxx224 306 distanalyse.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 225 307 distanalyse.o: $(ARBHOME)/INCLUDE/ad_prot.h 226 308 distanalyse.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 309 distanalyse.o: $(ARBHOME)/INCLUDE/AliView.hxx 310 distanalyse.o: $(ARBHOME)/INCLUDE/AP_filter.hxx 311 distanalyse.o: $(ARBHOME)/INCLUDE/AP_matrix.hxx 312 distanalyse.o: $(ARBHOME)/INCLUDE/AP_pro_a_nucs.hxx 313 distanalyse.o: $(ARBHOME)/INCLUDE/AP_seq_dna.hxx 314 distanalyse.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 315 distanalyse.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 227 316 distanalyse.o: $(ARBHOME)/INCLUDE/arb_assert.h 228 317 distanalyse.o: $(ARBHOME)/INCLUDE/arb_error.h 318 distanalyse.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 229 319 distanalyse.o: $(ARBHOME)/INCLUDE/arbdb.h 230 320 distanalyse.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 233 323 distanalyse.o: $(ARBHOME)/INCLUDE/attributes.h 234 324 distanalyse.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 235 distanalyse.o: $(ARBHOME)/INCLUDE/aw_device.hxx236 distanalyse.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx237 distanalyse.o: $(ARBHOME)/INCLUDE/aw_position.hxx238 325 distanalyse.o: $(ARBHOME)/INCLUDE/aw_root.hxx 239 distanalyse.o: $(ARBHOME)/INCLUDE/aw_window.hxx 240 distanalyse.o: $(ARBHOME)/INCLUDE/awt.hxx 241 distanalyse.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 242 distanalyse.o: $(ARBHOME)/INCLUDE/awt_seq_dna.hxx 243 distanalyse.o: $(ARBHOME)/INCLUDE/awt_seq_simple_pro.hxx 244 distanalyse.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 326 distanalyse.o: $(ARBHOME)/INCLUDE/downcast.h 245 327 distanalyse.o: $(ARBHOME)/INCLUDE/smartptr.h -
trunk/DIST/di_matr.hxx
r5420 r6280 1 // =============================================================== // 2 // // 3 // File : di_matr.hxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #ifndef DI_MATR_HXX 12 #define DI_MATR_HXX 13 14 #ifndef AP_PRO_A_NUCS_HXX 15 #include <AP_pro_a_nucs.hxx> 16 #endif 17 #ifndef AP_TREE_HXX 18 #include <AP_Tree.hxx> 19 #endif 20 #ifndef AP_MATRIX_HXX 21 #include <AP_matrix.hxx> 22 #endif 23 1 24 2 25 #define AWAR_DIST_PREFIX "dist/" … … 30 53 enum DI_MATRIX_TYPE { 31 54 DI_MATRIX_FULL, 32 DI_MATRIX_COMPRESSED }; 55 DI_MATRIX_COMPRESSED 56 }; 33 57 34 58 class DI_MATRIX; 35 59 class AW_root; 60 class AP_sequence_parsimony; 61 class AP_sequence_simple_protein; 36 62 37 63 class DI_ENTRY { … … 64 90 enum LoadWhat { DI_LOAD_ALL, DI_LOAD_MARKED, DI_LOAD_LIST }; 65 91 66 class DI_MATRIX { 67 private: 92 class DI_MATRIX : Noncopyable { 68 93 friend class DI_ENTRY; 69 94 70 GBDATA *gb_main; 71 GBDATA *gb_species_data; 72 char *use; 73 long seq_len; 74 char cancel_columns[256]; 75 AP_tree_root *tree_root; 76 AW_root *aw_root; // only link 77 long entries_mem_size; 95 GBDATA *gb_species_data; 96 long seq_len; 97 char cancel_columns[256]; 98 AW_root *aw_root; // only link 99 long entries_mem_size; 100 AliView *aliview; 78 101 79 102 public: … … 85 108 DI_MATRIX_TYPE matrix_type; 86 109 87 DI_MATRIX( GBDATA *gb_main,AW_root *awr);88 ~DI_MATRIX( void);110 DI_MATRIX(const AliView& aliview, AW_root *awr); 111 ~DI_MATRIX(); 89 112 90 char *load(char *use, AP_filter *filter, AP_weights *weights, LoadWhat what, GB_CSTR sort_tree_name, bool show_warnings, GBDATA **species_list); 113 GBDATA *get_gb_main() const { return aliview->get_gb_main(); } 114 const char *get_aliname() const { return aliview->get_aliname(); } 115 const AliView *get_aliview() const { return aliview; } 116 117 char *load(LoadWhat what, GB_CSTR sort_tree_name, bool show_warnings, GBDATA **species_list); 91 118 char *unload(void); 92 119 const char *save(char *filename,enum DI_SAVE_TYPE type); … … 95 122 void make_sym(DI_MUT_MATR &hits); 96 123 void rate_write(DI_MUT_MATR &hits,FILE *out); 97 long *create_helix_filter(BI_helix *helix, AP_filter *filter);124 long *create_helix_filter(BI_helix *helix, const AP_filter *filter); 98 125 // 0 non helix 1 helix; compressed filter 99 126 GB_ERROR calculate_rates(DI_MUT_MATR &hrates,DI_MUT_MATR &nrates,DI_MUT_MATR &pairs,long *filter); … … 103 130 char *calculate_overall_freqs(double rel_frequencies[AP_MAX],char *cancel_columns); 104 131 GB_ERROR calculate_pro(DI_TRANSFORMATION transformation); 105 char *analyse(AW_root *aw_root);132 void analyse(); 106 133 107 134 int search_group(GBT_TREE *node,GB_HASH *hash, long *groupcnt,char *groupname, DI_ENTRY **groups); // @@ OLIVER … … 109 136 }; 110 137 138 class WeightedFilter; 139 struct save_matrix_params { 140 const char *awar_base; 141 const WeightedFilter *weighted_filter; 142 }; 111 143 112 AW_window *DI_create_save_matrix_window(AW_root *aw_root, char *base_name); 144 AW_window *DI_create_save_matrix_window(AW_root *aw_root, save_matrix_params *save_params); 145 146 #else 147 #error di_matr.hxx included twice 148 #endif // DI_MATR_HXX -
trunk/DIST/di_mldist.hxx
r5392 r6280 1 // =============================================================== // 2 // // 3 // File : di_mldist.hxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #ifndef DI_MLDIST_HXX 12 #define DI_MLDIST_HXX 13 14 #ifndef ARBDBT_H 15 #include <arbdbt.h> 16 #endif 17 18 1 19 const int DI_ML_RESOLUTION = 1000; // max res 2 20 const int DI_ML_MAX_DIST = 10; // max dist … … 7 25 typedef double di_pml_matrix[DI_ML_MAX_MAT_SIZE][DI_ML_MAX_MAT_SIZE]; 8 26 typedef char di_bool_matrix[DI_ML_MAX_MAT_SIZE][DI_ML_MAX_MAT_SIZE]; 27 28 class DI_ENTRY; 29 class AP_smatrix; 9 30 10 31 class di_mldist { … … 64 85 const char *makedists(); // calculate the distance matrix 65 86 }; 87 88 #else 89 #error di_mldist.hxx included twice 90 #endif // DI_MLDIST_HXX -
trunk/DIST/di_protdist.hxx
r5392 r6280 1 // =============================================================== // 2 // // 3 // File : di_protdist.hxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 1 10 2 const int di_max_aa = stop; // mussed be 20 11 #ifndef DI_PROTDIST_HXX 12 #define DI_PROTDIST_HXX 13 14 #ifndef AP_SEQ_SIMPLE_PRO_HXX 15 #include <AP_seq_simple_pro.hxx> 16 #endif 17 18 const int di_max_aa = stop; // must be 20 3 19 const int di_max_paa = unk; // includes virtual aa 4 20 const int di_resolution = 1000; // max res … … 18 34 typedef double di_paa_matrix[di_max_paa][di_max_paa]; 19 35 typedef char di_bool_matrix[di_max_paa][di_max_paa]; 36 37 class DI_ENTRY; 38 class AP_smatrix; 20 39 21 40 class di_protdist { … … 86 105 const char *makedists(); // calculate the distance matrix 87 106 }; 107 108 #else 109 #error di_protdist.hxx included twice 110 #endif // DI_PROTDIST_HXX -
trunk/DIST/di_view_matrix.hxx
r5675 r6280 11 11 #define DI_VIEW_MATRIX_HXX 12 12 13 #ifndef AW_ WINDOW_HXX14 #include <aw_ window.hxx>13 #ifndef AW_ROOT_HXX 14 #include <aw_root.hxx> 15 15 #endif 16 16 … … 26 26 DI_G_LAST // must be last 27 27 } DI_gc; 28 29 class AW_device; 30 class AW_event; 31 class DI_MATRIX; 28 32 29 33 class DI_dmatrix { … … 72 76 }; 73 77 74 AW_window *DI_create_view_matrix_window(AW_root *awr, DI_dmatrix *dmatrix); 78 struct save_matrix_params; 79 AW_window *DI_create_view_matrix_window(AW_root *awr, DI_dmatrix *dmatrix, save_matrix_params *sparam); 75 80 76 81 -
trunk/DIST/dist.hxx
r5968 r6280 12 12 #define DIST_HXX 13 13 14 #ifndef AWT_SEQ_DNA_HXX 15 #include <awt_seq_dna.hxx> 16 #endif 17 #ifndef AWT_SEQ_SIMPLE_PRO_HXX 18 #include <awt_seq_simple_pro.hxx> 14 #ifndef ARBDBT_H 15 #include <arbdbt.h> 19 16 #endif 20 17 … … 22 19 23 20 extern GBDATA *GLOBAL_gb_main; 24 GBT_TREE *neighbourjoining(char **names, AP_FLOAT **m, long size, size_t structure_size);25 21 26 22 #else -
trunk/DIST/distanalyse.cxx
r6141 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <memory.h> 4 #include <string.h> 1 // =============================================================== // 2 // // 3 // File : distanalyse.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 5 10 6 #include <math.h>7 8 #include <arbdb.h>9 #include <arbdbt.h>10 11 #include <aw_root.hxx>12 #include <aw_device.hxx>13 #include <aw_window.hxx>14 15 #include <awt.hxx>16 17 #include <awt_tree.hxx>18 #include "dist.hxx"19 11 #include "di_matr.hxx" 12 #include <AP_seq_dna.hxx> 13 #include <AP_filter.hxx> 20 14 21 15 22 23 char *DI_MATRIX::analyse(AW_root *awrdummy) 24 { 25 AWUSE(awrdummy); 26 long row, pos; 27 char *sequ, ch, dummy[280]; 16 void DI_MATRIX::analyse() { 17 long row; 28 18 29 19 long act_gci, mean_gci=0; … … 35 25 aw_message("A lot of sequences!\n ==> fast Kimura selected! (instead of PAM)"); 36 26 aw_root->awar(AWAR_DIST_CORR_TRANS)->write_int(DI_TRANSFORMATION_KIMURA); 37 }else{ 38 aw_message( "Only limited number of sequences!\n" 39 " ==> slow PAM selected! (instead of Kimura)"); 27 } 28 else{ 29 aw_message("Only limited number of sequences!\n" 30 " ==> slow PAM selected! (instead of Kimura)"); 40 31 aw_root->awar(AWAR_DIST_CORR_TRANS)->write_int(DI_TRANSFORMATION_PAM); 41 32 } 42 return 0;43 33 } 34 else { 35 // calculate meanvalue of sequencelength: 36 for(row=0; row<nentries; row++) { 37 act_gci = 0; 38 act_len = 0; 39 40 const char *sequ = entries[row]->sequence_parsimony->get_sequence(); 44 41 42 size_t flen = aliview->get_length(); 43 for (size_t pos=0; pos<flen; pos++) { 44 char ch = sequ[pos]; 45 if(ch == AP_C || ch == AP_G) act_gci++; 46 if(ch == AP_A || ch == AP_C || ch == AP_G || ch == AP_T) act_len++; 47 } 48 mean_gci += act_gci; 49 act_gc = ((float) act_gci) / act_len; 50 if(act_gc < min_gc) min_gc = act_gc; 51 if(act_gc > max_gc) max_gc = act_gc; 52 mean_len += act_len; 53 if(act_len < min_len) min_len = act_len; 54 if(act_len > max_len) max_len = act_len; 55 } 45 56 46 //calculate meanvalue of sequencelength: 57 if (min_len * 1.3 < max_len) { 58 aw_message("Warning: The length of sequences differs significantly!\n" 59 " Be careful: Neighbour Joining is sensitive to\n" 60 " this kind of \"error\""); 61 } 62 mean_gc = ((float) mean_gci) / mean_len / nentries; 63 mean_len /= nentries; 47 64 48 for(row=0; row<nentries; row++) { 49 act_gci = 0; 50 act_len = 0; 51 sequ = entries[row]->sequence_parsimony->sequence; 52 for(pos=0; pos<tree_root->filter->real_len; pos++) { 53 ch = sequ[pos]; 54 if(ch == AP_C || ch == AP_G) act_gci++; 55 if(ch == AP_A || ch == AP_C || ch == AP_G || ch == AP_T) act_len++; 65 if(mean_len < 100) { 66 aw_message("Too short sequences!\n ==> No correction selected!"); 67 aw_root->awar(AWAR_DIST_CORR_TRANS)->write_int(DI_TRANSFORMATION_NONE); 56 68 } 57 mean_gci += act_gci; 58 act_gc = ((float) act_gci) / act_len; 59 if(act_gc < min_gc) min_gc = act_gc; 60 if(act_gc > max_gc) max_gc = act_gc; 61 mean_len += act_len; 62 if(act_len < min_len) min_len = act_len; 63 if(act_len > max_len) max_len = act_len; 69 else if(mean_len < 300) { 70 aw_message("Meanlength shorter than 300\n ==> Jukes Cantor selected!"); 71 aw_root->awar(AWAR_DIST_CORR_TRANS)->write_int(DI_TRANSFORMATION_JUKES_CANTOR); 72 } 73 else if ((mean_len < 1000) || ((max_gc / min_gc) < 1.2)) { 74 const char *reason; 75 if(mean_len < 1000) reason = "Sequences are too short for Olsen!"; 76 else reason = GBS_global_string("Maximal GC (%f) : Minimal GC (%f) < 1.2", max_gc, min_gc); 77 78 reason = GBS_global_string("%s ==> Felsenstein selected!", reason); 79 aw_message(reason); 80 aw_root->awar(AWAR_DIST_CORR_TRANS)->write_int(DI_TRANSFORMATION_FELSENSTEIN); 81 } 82 else { 83 aw_message("Olsen selected!"); 84 aw_root->awar(AWAR_DIST_CORR_TRANS)->write_int(DI_TRANSFORMATION_OLSEN); 85 } 64 86 } 65 66 if (min_len * 1.3 < max_len) {67 aw_message("Warning: The length of sequences differs significantly\n"68 " be careful, neighbour joining is sensitive to\n"69 " this kind of error");70 }71 mean_gc = ((float) mean_gci) / mean_len / nentries;72 mean_len /= nentries;73 74 75 if(mean_len < 100) {76 aw_root->awar(AWAR_DIST_CORR_TRANS)->write_int(DI_TRANSFORMATION_NONE);77 aw_message("Too short sequences!\n ==> No correction selected!");78 return NULL;79 }80 81 if(mean_len < 300) {82 aw_root->awar(AWAR_DIST_CORR_TRANS)->write_int(DI_TRANSFORMATION_JUKES_CANTOR);83 aw_message("Meanlength shorter than 300\n ==> Jukes Cantor selected!");84 return NULL;85 }86 87 if((mean_len < 1000) || ((max_gc / min_gc) < 1.2)) {88 if(mean_len < 1000)89 sprintf(dummy, "Too short sequences for Olsen! \n");90 else91 sprintf(dummy, "Maximal GC (%f) : Minimal GC (%f) < 1.2\n", max_gc, min_gc);92 sprintf(dummy, "%s ==> Felsenstein selected!", dummy);93 aw_root->awar(AWAR_DIST_CORR_TRANS)->write_int(DI_TRANSFORMATION_FELSENSTEIN);94 aw_message(dummy);95 return NULL;96 }97 98 aw_root->awar(AWAR_DIST_CORR_TRANS)->write_int(DI_TRANSFORMATION_OLSEN);99 aw_message("Olsen selected!");100 return NULL;101 102 87 } -
trunk/EDIT4/ED4_ProteinViewer.cxx
r6141 r6280 14 14 #include "ed4_class.hxx" 15 15 16 #include < awt_pro_a_nucs.hxx>17 #include < awt_codon_table.hxx>18 #include < awt_translate.hxx>16 #include <AP_pro_a_nucs.hxx> 17 #include <AP_codon_table.hxx> 18 #include <Translate.hxx> 19 19 #include <awt_seq_colors.hxx> 20 20 #include <aw_question.hxx> 21 21 #include <aw_preset.hxx> 22 22 #include <aw_awars.hxx> 23 #include <arbdbt.h>24 23 25 24 #include <iostream> … … 633 632 const char *AAname = 0; 634 633 if(base>='A' && base<='Z') { 635 AAname = A WT_get_protein_name(base);634 AAname = AP_get_protein_name(base); 636 635 } 637 636 else if (base=='*') { -
trunk/EDIT4/ED4_main.cxx
r6208 r6280 20 20 #include <st_window.hxx> 21 21 #include <gde.hxx> 22 #include <awt_pro_a_nucs.hxx>22 #include <AP_pro_a_nucs.hxx> 23 23 24 24 #include <ed4_extern.hxx> -
trunk/EDIT4/ED4_manager.cxx
r6279 r6280 1813 1813 e4_assert(gbd); 1814 1814 1815 #if defined(ASSERTION_USED) 1816 GB_ERROR error = 1817 #endif // ASSERTION_USED 1818 GB_write_flag(gbd, mark ? 1 : 0); 1819 e4_assert(!error); 1820 1815 GB_write_flag(gbd, mark ? 1 : 0); 1821 1816 sel++; 1822 1817 } -
trunk/EDIT4/ED4_search.cxx
r6257 r6280 1446 1446 ED4_SearchPositionType pattern = ED4_SearchPositionType(cl_pattern); 1447 1447 ED4_terminal *terminal = ED4_ROOT->root_group_man->get_first_terminal(); 1448 GB_ERROR error = 0;1449 1448 GB_transaction ta(GLOBAL_gb_main); 1450 1449 1451 while (terminal && !error) {1450 while (terminal) { 1452 1451 if (terminal->is_sequence_terminal()) { 1453 1452 ED4_sequence_terminal *seq_terminal = terminal->to_sequence_terminal(); … … 1462 1461 GBDATA *gbd = species_man->get_species_pointer(); 1463 1462 e4_assert(gbd); 1464 error =GB_write_flag(gbd, 1);1463 GB_write_flag(gbd, 1); 1465 1464 } 1466 1465 } … … 1468 1467 1469 1468 terminal = terminal->get_next_terminal(); 1470 }1471 1472 if (error) {1473 error = ta.close(error);1474 aw_message(error);1475 1469 } 1476 1470 } -
trunk/EDIT4/Makefile
r6277 r6280 252 252 ED4_main.o: $(ARBHOME)/INCLUDE/ad_prot.h 253 253 ED4_main.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 254 ED4_main.o: $(ARBHOME)/INCLUDE/AP_pro_a_nucs.hxx 254 255 ED4_main.o: $(ARBHOME)/INCLUDE/arb_assert.h 255 256 ED4_main.o: $(ARBHOME)/INCLUDE/arb_error.h … … 271 272 ED4_main.o: $(ARBHOME)/INCLUDE/awt.hxx 272 273 ED4_main.o: $(ARBHOME)/INCLUDE/awt_map_key.hxx 273 ED4_main.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx274 274 ED4_main.o: $(ARBHOME)/INCLUDE/awt_seq_colors.hxx 275 275 ED4_main.o: $(ARBHOME)/INCLUDE/BI_helix.hxx … … 443 443 ED4_ProteinViewer.o: $(ARBHOME)/INCLUDE/ad_prot.h 444 444 ED4_ProteinViewer.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 445 ED4_ProteinViewer.o: $(ARBHOME)/INCLUDE/AP_codon_table.hxx 446 ED4_ProteinViewer.o: $(ARBHOME)/INCLUDE/AP_pro_a_nucs.hxx 445 447 ED4_ProteinViewer.o: $(ARBHOME)/INCLUDE/arb_assert.h 446 448 ED4_ProteinViewer.o: $(ARBHOME)/INCLUDE/arb_error.h … … 461 463 ED4_ProteinViewer.o: $(ARBHOME)/INCLUDE/aw_window.hxx 462 464 ED4_ProteinViewer.o: $(ARBHOME)/INCLUDE/awt.hxx 463 ED4_ProteinViewer.o: $(ARBHOME)/INCLUDE/awt_codon_table.hxx464 ED4_ProteinViewer.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx465 465 ED4_ProteinViewer.o: $(ARBHOME)/INCLUDE/awt_seq_colors.hxx 466 ED4_ProteinViewer.o: $(ARBHOME)/INCLUDE/awt_translate.hxx467 466 ED4_ProteinViewer.o: $(ARBHOME)/INCLUDE/smartptr.h 467 ED4_ProteinViewer.o: $(ARBHOME)/INCLUDE/Translate.hxx 468 468 469 469 ED4_RNA3D.o: ../RNA3D/RNA3D_Main.hxx -
trunk/GENOM/EXP_interface.cxx
r6188 r6280 13 13 // ==================================================================== // 14 14 15 #include <awt.hxx> 16 #include <awt_canvas.hxx> 17 #include <awt_item_sel_list.hxx> 18 #include <awt_sel_boxes.hxx> 19 #include <arbdbt.h> 20 #include <aw_awars.hxx> 21 #include <db_scanner.hxx> 22 23 #include "EXP.hxx" 15 #include "EXP_local.hxx" 24 16 #include "EXP_interface.hxx" 25 #include "EXP_local.hxx" 26 27 #include "GEN.hxx" 17 28 18 #include "GEN_local.hxx" 29 19 #include "GEN_interface.hxx" 30 20 21 #include <db_scanner.hxx> 22 23 #include <awt_sel_boxes.hxx> 24 #include <awt_item_sel_list.hxx> 25 #include <awt.hxx> 26 27 #include <aw_awars.hxx> 28 31 29 #include "../NTREE/ad_spec.hxx" 32 30 #include <../NTREE/nt_internal.h> 33 34 #include <cstdlib>35 #include <cstring>36 31 37 32 using namespace std; -
trunk/GENOM/EXP_local.hxx
r5675 r6280 16 16 #define EXP_LOCAL_HXX 17 17 18 #ifndef EXP_HXX 19 #include <EXP.hxx> 20 #endif 21 #ifndef AW_ROOT_HXX 22 #include <aw_root.hxx> 23 #endif 18 24 #ifndef ARB_ASSERT_H 19 25 #include <arb_assert.h> -
trunk/GENOM/GEN_graphic.cxx
r5942 r6280 117 117 } 118 118 case AWT_MODE_SELECT: 119 case AWT_MODE_ MOD: {119 case AWT_MODE_EDIT: { 120 120 if(button==AWT_M_LEFT) { 121 121 GEN_gene *gene = 0; … … 127 127 aw_root->awar(AWAR_LOCAL_GENE_NAME(window_nr))->write_string(gene->Name().c_str()); 128 128 129 if (cmd == AWT_MODE_ MOD) {129 if (cmd == AWT_MODE_EDIT) { 130 130 GEN_create_gene_window(aw_root)->activate(); 131 131 } -
trunk/GENOM/GEN_interface.cxx
r6188 r6280 1 #include <cstdlib> 2 #include <cstring> 3 #include <awt.hxx> 4 #include <awt_canvas.hxx> 1 #include "GEN_local.hxx" 2 5 3 #include <awt_item_sel_list.hxx> 6 4 #include <awt_sel_boxes.hxx> … … 8 6 #include <db_scanner.hxx> 9 7 10 #include <arbdbt.h>11 #include <probe_design.hxx>12 13 8 #include <ntree.hxx> 14 9 #include <../NTREE/ad_spec.hxx> 15 10 #include <../NTREE/nt_internal.h> 16 11 17 #ifndef GEN_LOCAL_HXX18 #include "GEN_local.hxx"19 #endif20 #ifndef GEN_NDS_HXX21 #include "GEN_nds.hxx"22 #endif23 12 24 13 using namespace std; -
trunk/GENOM/GEN_interface.hxx
r312 r6280 8 8 #define GEN_INTERFACE_HXX 9 9 10 #ifndef ARBDBT_H 11 #include <arbdbt.h> 12 #endif 13 14 10 15 extern struct ad_item_selector GEN_item_selector; 11 16 -
trunk/GENOM/GEN_map.cxx
r6188 r6280 522 522 break; 523 523 } 524 case AWT_MODE_ MOD: {524 case AWT_MODE_EDIT: { 525 525 text="INFO MODE LEFT: click for info"; 526 526 break; … … 922 922 923 923 static void do_mark_command_for_one_species(int imode, GBDATA *gb_species, AW_CL cl_user) { 924 GEN_MARK_MODE mode = (GEN_MARK_MODE)imode; 925 GB_ERROR error = 0; 924 GEN_MARK_MODE mode = (GEN_MARK_MODE)imode; 926 925 927 926 for (GBDATA *gb_gene = GEN_first_gene(gb_species); 928 !error &&gb_gene;927 gb_gene; 929 928 gb_gene = GEN_next_gene(gb_gene)) 930 929 { … … 975 974 } 976 975 977 if (mark_flag != org_mark_flag) { 978 error = GB_write_flag(gb_gene, mark_flag?1:0); 979 } 980 } 981 982 if (error) aw_message(error); 976 if (mark_flag != org_mark_flag) GB_write_flag(gb_gene, mark_flag?1:0); 977 } 983 978 } 984 979 … … 1666 1661 create_mode("select.bitmap", "gen_mode.hlp", AWM_ALL, GEN_mode_event, (AW_CL)this, (AW_CL)AWT_MODE_SELECT); 1667 1662 create_mode("pzoom.bitmap", "gen_mode.hlp", AWM_ALL, GEN_mode_event, (AW_CL)this, (AW_CL)AWT_MODE_ZOOM); 1668 create_mode("info.bitmap", "gen_mode.hlp", AWM_ALL, GEN_mode_event, (AW_CL)this, (AW_CL)AWT_MODE_ MOD);1663 create_mode("info.bitmap", "gen_mode.hlp", AWM_ALL, GEN_mode_event, (AW_CL)this, (AW_CL)AWT_MODE_EDIT); 1669 1664 1670 1665 // ------------------ -
trunk/GENOM/GEN_translations.cxx
r6141 r6280 11 11 // =============================================================== // 12 12 13 #include "GEN_local.hxx" 14 15 #include <Translate.hxx> 16 #include <AP_codon_table.hxx> 17 #include <aw_question.hxx> 13 18 #include <arbdbt.h> 14 #include <awt_translate.hxx>15 #include <awt_codon_table.hxx>16 #include <aw_question.hxx>17 18 #include "GEN.hxx"19 #include "GEN_local.hxx"20 19 21 20 using namespace std; -
trunk/GENOM/Makefile
r6277 r6280 40 40 $(MAKEDEPEND) -f- $(MAKEDEPENDFLAGS) $< 2>/dev/null >$@ 41 41 42 # DO NOT DELETE 42 # DO NOT DELETE THIS LINE -- make depend depends on it. 43 43 44 44 # Do not add dependencies manually - use 'make depend' in $ARBHOME … … 71 71 EXP_interface.o: $(ARBHOME)/INCLUDE/aw_window.hxx 72 72 EXP_interface.o: $(ARBHOME)/INCLUDE/awt.hxx 73 EXP_interface.o: $(ARBHOME)/INCLUDE/awt_canvas.hxx74 73 EXP_interface.o: $(ARBHOME)/INCLUDE/awt_item_sel_list.hxx 75 74 EXP_interface.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx … … 158 157 GEN_interface.o: GEN.hxx 159 158 GEN_interface.o: GEN_local.hxx 160 GEN_interface.o: GEN_nds.hxx161 159 GEN_interface.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 162 160 GEN_interface.o: $(ARBHOME)/INCLUDE/ad_prot.h … … 177 175 GEN_interface.o: $(ARBHOME)/INCLUDE/aw_window.hxx 178 176 GEN_interface.o: $(ARBHOME)/INCLUDE/awt.hxx 179 GEN_interface.o: $(ARBHOME)/INCLUDE/awt_canvas.hxx180 177 GEN_interface.o: $(ARBHOME)/INCLUDE/awt_item_sel_list.hxx 181 178 GEN_interface.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 182 179 GEN_interface.o: $(ARBHOME)/INCLUDE/db_scanner.hxx 183 180 GEN_interface.o: $(ARBHOME)/INCLUDE/ntree.hxx 184 GEN_interface.o: $(ARBHOME)/INCLUDE/probe_design.hxx185 181 GEN_interface.o: $(ARBHOME)/INCLUDE/smartptr.h 186 182 … … 249 245 GEN_translations.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 250 246 GEN_translations.o: $(ARBHOME)/INCLUDE/adGene.h 247 GEN_translations.o: $(ARBHOME)/INCLUDE/AP_codon_table.hxx 251 248 GEN_translations.o: $(ARBHOME)/INCLUDE/arb_assert.h 252 249 GEN_translations.o: $(ARBHOME)/INCLUDE/arb_error.h … … 263 260 GEN_translations.o: $(ARBHOME)/INCLUDE/aw_window.hxx 264 261 GEN_translations.o: $(ARBHOME)/INCLUDE/awt.hxx 265 GEN_translations.o: $(ARBHOME)/INCLUDE/awt_codon_table.hxx266 GEN_translations.o: $(ARBHOME)/INCLUDE/awt_translate.hxx267 262 GEN_translations.o: $(ARBHOME)/INCLUDE/smartptr.h 263 GEN_translations.o: $(ARBHOME)/INCLUDE/Translate.hxx -
trunk/GENOM_IMPORT/DBwriter.cxx
r6141 r6280 16 16 #include <arbdbt.h> 17 17 #include <adGene.h> 18 #include < awt_translate.hxx>18 #include <Translate.hxx> 19 19 #include <aw_question.hxx> 20 20 #include <GEN.hxx> … … 48 48 if (!gb_container) throw DBerror(GBS_global_string("Failed to create container '%s'", name)); 49 49 50 if (mark) { 51 GB_ERROR err = GB_write_flag(gb_container, 1); 52 if (err) throw DBerror(GBS_global_string("Failed to mark %s", name), err); 53 } 50 if (mark) GB_write_flag(gb_container, 1); 54 51 55 52 return gb_container; -
trunk/GENOM_IMPORT/Makefile
r6277 r6280 84 84 DBwriter.o: $(ARBHOME)/INCLUDE/aw_root.hxx 85 85 DBwriter.o: $(ARBHOME)/INCLUDE/aw_window.hxx 86 DBwriter.o: $(ARBHOME)/INCLUDE/awt_translate.hxx87 86 DBwriter.o: $(ARBHOME)/INCLUDE/FileBuffer.h 88 87 DBwriter.o: $(ARBHOME)/INCLUDE/GEN.hxx 89 88 DBwriter.o: $(ARBHOME)/INCLUDE/smartptr.h 89 DBwriter.o: $(ARBHOME)/INCLUDE/Translate.hxx 90 90 91 91 Feature.o: defs.h -
trunk/MERGE/MG_checkfield.cxx
r6141 r6280 247 247 GBS_diff_strings(s1,s2,exclude,ToUpper,correct,&positions1,&positions2,&corrected); 248 248 if (corrected) { 249 error = GB_write_as_string(gb_field2,s2);250 if (!error) error =GB_write_flag(gb_species2,1);249 error = GB_write_as_string(gb_field2,s2); 250 if (!error) GB_write_flag(gb_species2,1); 251 251 } 252 252 } -
trunk/MERGE/MG_species.cxx
r6141 r6280 686 686 else { 687 687 if (!GBS_find_string(s2,s1,0)) { 688 error = GB_write_string(gb_field2, GBS_global_string("%s %s", s2, s1));689 if (!error) error =GB_write_flag(gb_species2,1);688 error = GB_write_string(gb_field2, GBS_global_string("%s %s", s2, s1)); 689 if (!error) GB_write_flag(gb_species2,1); 690 690 } 691 691 } … … 695 695 } 696 696 else { // not GB_STRING 697 error = GB_copy(gb_field2,gb_field1);698 if (!error) error =GB_write_flag(gb_species2, 1);697 error = GB_copy(gb_field2,gb_field1); 698 if (!error) GB_write_flag(gb_species2, 1); 699 699 if (transfer_of_alignment && !error){ 700 700 error = MG_transfer_sequence(&rm,gb_species1,gb_species2); … … 827 827 } 828 828 } 829 if (!error) error =GB_write_flag(gb_species2,1);829 if (!error) GB_write_flag(gb_species2,1); 830 830 } 831 831 } … … 1160 1160 else { 1161 1161 error = GB_copy_with_protection(D_species, M_species, GB_TRUE); 1162 if (!error) error =GB_write_flag(D_species,1); // mark species1162 if (!error) GB_write_flag(D_species,1); // mark species 1163 1163 if (!error) error = GB_write_usr_private(D_species,255); // put in hitlist 1164 1164 if (!error) error = GBT_write_string(D_species, "name", m_name); -
trunk/MULTI_PROBE/MP_noclass.cxx
r6160 r6280 11 11 #include <awt.hxx> 12 12 #include <awt_canvas.hxx> 13 #include <awt_tree.hxx> 14 #include <awt_dtree.hxx> 15 #include <awt_tree_cb.hxx> 13 #include <AP_Tree.hxx> 14 #include <TreeCallbacks.hxx> 16 15 17 16 #include "MultiProbe.hxx" … … 63 62 GB_transaction dummy(ntw->gb_main); 64 63 65 AP_tree *ap_tree = AWT_TREE(ntw)-> tree_root;64 AP_tree *ap_tree = AWT_TREE(ntw)->get_root_node(); 66 65 if (ap_tree) ap_tree->calc_color(); 67 66 … … 540 539 541 540 GB_transaction dummy(ntw->gb_main); 542 AWT_TREE(ntw)-> tree_root->calc_color_probes(mp_main->get_stc()->sondentopf->get_color_hash());541 AWT_TREE(ntw)->get_root_node()->calc_color_probes(mp_main->get_stc()->sondentopf->get_color_hash()); 543 542 544 543 if (ntw->gb_main) … … 826 825 GB_transaction dummy(ntw->gb_main); 827 826 828 AWT_TREE(ntw)-> tree_root->calc_color();827 AWT_TREE(ntw)->get_root_node()->calc_color(); 829 828 830 829 if (ntw->gb_main) -
trunk/MULTI_PROBE/MP_sonde.cxx
r6137 r6280 4 4 #include <arbdbt.h> 5 5 #include <aw_root.hxx> 6 #include <awt_tree.hxx>7 6 #include <math.h> 8 7 -
trunk/MULTI_PROBE/MP_sondentopf.cxx
r5356 r6280 3 3 #include <string.h> 4 4 #include <arbdbt.h> 5 #include <awt_tree.hxx> 5 #include <aw_root.hxx> 6 #include <AP_Tree.hxx> // needed for GCs 6 7 #include <math.h> 7 8 -
trunk/MULTI_PROBE/Makefile
r6277 r6280 126 126 MP_noclass.o: $(ARBHOME)/INCLUDE/ad_prot.h 127 127 MP_noclass.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 128 MP_noclass.o: $(ARBHOME)/INCLUDE/AliView.hxx 129 MP_noclass.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 130 MP_noclass.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 128 131 MP_noclass.o: $(ARBHOME)/INCLUDE/arb_assert.h 129 132 MP_noclass.o: $(ARBHOME)/INCLUDE/arb_error.h 133 MP_noclass.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 130 134 MP_noclass.o: $(ARBHOME)/INCLUDE/arbdb.h 131 135 MP_noclass.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 142 146 MP_noclass.o: $(ARBHOME)/INCLUDE/awt.hxx 143 147 MP_noclass.o: $(ARBHOME)/INCLUDE/awt_canvas.hxx 144 MP_noclass.o: $(ARBHOME)/INCLUDE/awt_dtree.hxx145 MP_noclass.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx146 MP_noclass.o: $(ARBHOME)/INCLUDE/awt_tree.hxx147 MP_noclass.o: $(ARBHOME)/INCLUDE/awt_tree_cb.hxx148 148 MP_noclass.o: $(ARBHOME)/INCLUDE/client.h 149 MP_noclass.o: $(ARBHOME)/INCLUDE/downcast.h 149 150 MP_noclass.o: $(ARBHOME)/INCLUDE/PT_com.h 150 151 MP_noclass.o: $(ARBHOME)/INCLUDE/servercntrl.h 151 152 MP_noclass.o: $(ARBHOME)/INCLUDE/smartptr.h 153 MP_noclass.o: $(ARBHOME)/INCLUDE/TreeCallbacks.hxx 154 MP_noclass.o: $(ARBHOME)/INCLUDE/TreeDisplay.hxx 152 155 153 156 MP_permute.o: MP_externs.hxx … … 239 242 MP_sonde.o: $(ARBHOME)/INCLUDE/attributes.h 240 243 MP_sonde.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 241 MP_sonde.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx242 244 MP_sonde.o: $(ARBHOME)/INCLUDE/aw_root.hxx 243 MP_sonde.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx244 MP_sonde.o: $(ARBHOME)/INCLUDE/awt_tree.hxx245 245 MP_sonde.o: $(ARBHOME)/INCLUDE/client.h 246 246 MP_sonde.o: $(ARBHOME)/INCLUDE/PT_com.h … … 256 256 MP_sondentopf.o: $(ARBHOME)/INCLUDE/ad_prot.h 257 257 MP_sondentopf.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 258 MP_sondentopf.o: $(ARBHOME)/INCLUDE/AliView.hxx 259 MP_sondentopf.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 260 MP_sondentopf.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 258 261 MP_sondentopf.o: $(ARBHOME)/INCLUDE/arb_assert.h 259 262 MP_sondentopf.o: $(ARBHOME)/INCLUDE/arb_error.h 263 MP_sondentopf.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 260 264 MP_sondentopf.o: $(ARBHOME)/INCLUDE/arbdb.h 261 265 MP_sondentopf.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 266 270 MP_sondentopf.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 267 271 MP_sondentopf.o: $(ARBHOME)/INCLUDE/aw_root.hxx 268 MP_sondentopf.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx269 MP_sondentopf.o: $(ARBHOME)/INCLUDE/awt_tree.hxx270 272 MP_sondentopf.o: $(ARBHOME)/INCLUDE/client.h 273 MP_sondentopf.o: $(ARBHOME)/INCLUDE/downcast.h 271 274 MP_sondentopf.o: $(ARBHOME)/INCLUDE/PT_com.h 272 275 MP_sondentopf.o: $(ARBHOME)/INCLUDE/servercntrl.h … … 281 284 MP_Window.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 282 285 MP_Window.o: $(ARBHOME)/INCLUDE/ad_prot.h 286 MP_Window.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 283 287 MP_Window.o: $(ARBHOME)/INCLUDE/arb_assert.h 284 288 MP_Window.o: $(ARBHOME)/INCLUDE/arb_error.h 285 289 MP_Window.o: $(ARBHOME)/INCLUDE/arbdb.h 286 290 MP_Window.o: $(ARBHOME)/INCLUDE/arbdb_base.h 291 MP_Window.o: $(ARBHOME)/INCLUDE/arbdbt.h 287 292 MP_Window.o: $(ARBHOME)/INCLUDE/arbtools.h 288 293 MP_Window.o: $(ARBHOME)/INCLUDE/attributes.h -
trunk/Makefile
r6277 r6280 631 631 XML/XML.a \ 632 632 633 # ----------------------- 634 # library packets 635 633 636 ARCHS_CLIENT_PROBE = PROBE_COM/client.a 634 637 ARCHS_CLIENT_NAMES = NAMES_COM/client.a … … 640 643 # communication libs need aisc and aisc_mkpts: 641 644 $(ARCHS_COMMUNICATION:.a=.dummy) : $(ARCHS_MAKEBIN:.a=.dummy) 645 646 ARCHS_SEQUENCE = \ 647 SL/SEQUENCE/SEQUENCE.a \ 648 SL/ALIVIEW/ALIVIEW.a \ 649 SL/PRONUC/PRONUC.a \ 650 651 ARCHS_TREE = \ 652 $(ARCHS_SEQUENCE) \ 653 SL/FILTER/FILTER.a \ 654 SL/ARB_TREE/ARB_TREE.a \ 655 656 # parsimony tree (used by NTREE, PARSIMONY, STAT(->EDIT[4]), DIST(obsolete!)) 657 ARCHS_AP_TREE = \ 658 $(ARCHS_TREE) \ 659 SL/AP_TREE/AP_TREE.a \ 642 660 643 661 #*************************************************************************************** … … 649 667 ARCHS_NTREE = \ 650 668 $(ARCHS_CLIENT_PROBE) \ 669 $(ARCHS_AP_TREE) \ 651 670 ARB_GDE/ARB_GDE.a \ 652 671 AWTC/AWTC.a \ … … 664 683 SL/DB_SCANNER/DB_SCANNER.a \ 665 684 SL/FILE_BUFFER/FILE_BUFFER.a \ 685 SL/GUI_ALIVIEW/GUI_ALIVIEW.a \ 666 686 SL/HELIX/HELIX.a \ 667 687 SL/REGEXPR/REGEXPR.a \ 688 SL/TRANSLATE/TRANSLATE.a \ 689 SL/TREEDISP/TREEDISP.a \ 668 690 SL/TREE_READ/TREE_READ.a \ 669 691 SL/TREE_WRITE/TREE_WRITE.a \ … … 690 712 EDIT = bin/arb_edit 691 713 ARCHS_EDIT = \ 714 $(ARCHS_AP_TREE) \ 715 ARB_GDE/ARB_GDE.a \ 716 EDIT/EDIT.a \ 692 717 NAMES_COM/client.a \ 693 718 SERVERCNTRL/SERVERCNTRL.a \ 694 EDIT/EDIT.a \ 695 ARB_GDE/ARB_GDE.a \ 719 SL/AW_HELIX/AW_HELIX.a \ 720 SL/AW_NAME/AW_NAME.a \ 721 SL/GUI_ALIVIEW/GUI_ALIVIEW.a \ 722 SL/HELIX/HELIX.a \ 696 723 STAT/STAT.a \ 697 724 XML/XML.a \ 698 SL/HELIX/HELIX.a \699 SL/AW_HELIX/AW_HELIX.a \700 SL/AW_NAME/AW_NAME.a \701 725 702 726 $(EDIT): $(ARCHS_EDIT:.a=.dummy) shared_libs … … 711 735 712 736 ARCHS_EDIT4 := \ 713 NAMES_COM/client.a \ 737 $(ARCHS_AP_TREE) \ 738 ARB_GDE/ARB_GDE.a \ 714 739 AWTC/AWTC.a \ 715 740 EDIT4/EDIT4.a \ 741 ISLAND_HOPPING/ISLAND_HOPPING.a \ 742 NAMES_COM/client.a \ 716 743 SECEDIT/SECEDIT.a \ 717 744 SERVERCNTRL/SERVERCNTRL.a \ 718 STAT/STAT.a \719 ARB_GDE/ARB_GDE.a \720 ISLAND_HOPPING/ISLAND_HOPPING.a \721 SL/FAST_ALIGNER/FAST_ALIGNER.a \722 SL/HELIX/HELIX.a \723 745 SL/AW_HELIX/AW_HELIX.a \ 724 746 SL/AW_NAME/AW_NAME.a \ 747 SL/FAST_ALIGNER/FAST_ALIGNER.a \ 725 748 SL/FILE_BUFFER/FILE_BUFFER.a \ 749 SL/GUI_ALIVIEW/GUI_ALIVIEW.a \ 750 SL/HELIX/HELIX.a \ 751 SL/TRANSLATE/TRANSLATE.a \ 752 STAT/STAT.a \ 726 753 XML/XML.a \ 727 754 … … 759 786 WETC/WETC.a \ 760 787 SL/HELIX/HELIX.a \ 788 SL/FILTER/FILTER.a \ 761 789 XML/XML.a \ 762 790 … … 772 800 ARCHS_DIST = \ 773 801 $(ARCHS_CLIENT_PROBE) \ 802 $(ARCHS_AP_TREE) \ 803 CONSENSUS_TREE/CONSENSUS_TREE.a \ 774 804 DIST/DIST.a \ 805 EISPACK/EISPACK.a \ 775 806 SERVERCNTRL/SERVERCNTRL.a \ 776 CONSENSUS_TREE/CONSENSUS_TREE.a \ 777 EISPACK/EISPACK.a \ 807 SL/GUI_ALIVIEW/GUI_ALIVIEW.a \ 778 808 SL/HELIX/HELIX.a \ 809 SL/MATRIX/MATRIX.a \ 810 SL/NEIGHBOURJOIN/NEIGHBOURJOIN.a \ 779 811 XML/XML.a \ 780 812 … … 789 821 PARSIMONY = bin/arb_pars 790 822 ARCHS_PARSIMONY = \ 823 $(ARCHS_AP_TREE) \ 791 824 NAMES_COM/client.a \ 825 PARSIMONY/PARSIMONY.a \ 792 826 SERVERCNTRL/SERVERCNTRL.a \ 793 PARSIMONY/PARSIMONY.a \ 827 SL/AW_NAME/AW_NAME.a \ 828 SL/GUI_ALIVIEW/GUI_ALIVIEW.a \ 794 829 SL/HELIX/HELIX.a \ 795 SL/AW_NAME/AW_NAME.a \ 830 SL/TRANSLATE/TRANSLATE.a \ 831 SL/TREEDISP/TREEDISP.a \ 796 832 XML/XML.a \ 797 833 … … 846 882 PHYLO/PHYLO.a \ 847 883 SL/HELIX/HELIX.a \ 884 SL/FILTER/FILTER.a \ 885 SL/MATRIX/MATRIX.a \ 848 886 XML/XML.a \ 849 887 … … 1126 1164 xmlin: XML_IMPORT/XML_IMPORT.dummy# broken 1127 1165 templ: TEMPLATES/TEMPLATES.dummy 1166 stat: STAT/STAT.a $(NTREE) $(EDIT) $(EDIT4) 1128 1167 1129 1168 #******************************************************************************** … … 1171 1210 AISC_COM/AISC_COM.proto \ 1172 1211 GDE/GDE.proto \ 1212 SL/SL.proto \ 1173 1213 1174 1214 #******************************************************************************** -
trunk/NTREE/AP_conservProfile2Gnuplot.cxx
r6141 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <math.h> 5 #include <unistd.h> 6 #include <sys/types.h> 1 // =============================================================== // 2 // // 3 // File : AP_conservProfile2Gnuplot.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 7 10 8 #include <arbdb.h> 9 #include <arbdbt.h> 10 #include <aw_root.hxx> 11 #include <aw_device.hxx> 12 #include <aw_window.hxx> 13 #include <aw_awars.hxx> 11 #include "nt_internal.h" 12 13 #include <awt.hxx> 14 #include "ap_conservProfile2Gnuplot.hxx" 15 14 16 #include <aw_global.hxx> 15 #include <awt.hxx>16 #include <awt_tree.hxx>17 #include <awt_canvas.hxx>18 #include <awt_csp.hxx>19 #include "ap_conservProfile2Gnuplot.hxx"20 //#include "nt_cb.hxx"21 17 22 18 extern GBDATA *GLOBAL_gb_main; -
trunk/NTREE/AP_csp_2_gnuplot.cxx
r6141 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <math.h> 1 // =============================================================== // 2 // // 3 // File : AP_csp_2_gnuplot.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #include "nt_internal.h" 12 #include "ap_csp_2_gnuplot.hxx" 13 14 #include <awt_filter.hxx> 15 #include <awt.hxx> 16 #include <awt_csp.hxx> 17 #include <AP_filter.hxx> 18 #include <aw_global.hxx> 19 #include <aw_awars.hxx> 20 5 21 #include <unistd.h> 6 #include <sys/types.h> 7 8 #include <arbdb.h> 9 #include <arbdbt.h> 10 #include <aw_root.hxx> 11 #include <aw_device.hxx> 12 #include <aw_window.hxx> 13 #include <aw_awars.hxx> 14 #include <aw_global.hxx> 15 #include <awt.hxx> 16 #include <awt_tree.hxx> 17 #include <awt_csp.hxx> 18 #include <awt_sel_boxes.hxx> 19 #include "ap_csp_2_gnuplot.hxx" 20 21 #ifndef ARB_ASSERT_H 22 #include <arb_assert.h> 23 #endif 22 24 23 #define nt_assert(bed) arb_assert(bed) 25 24 26 25 extern GBDATA *GLOBAL_gb_main; 27 26 28 29 // ------------------------------------------------------------------------------------------------------------------------------30 // static GB_ERROR split_stat_filename(const char *fname, char **dirPtr, char **name_prefixPtr, char **name_postfixPtr)31 // ------------------------------------------------------------------------------------------------------------------------------32 27 static GB_ERROR split_stat_filename(const char *fname, char **dirPtr, char **name_prefixPtr, char **name_postfixPtr) { 33 28 // 'fname' is sth like 'directory/prefix.sth_gnu' … … 66 61 return 0; 67 62 } 68 // ------------------------------------------------------------------------------------------- 69 // static char * get_overlay_files(AW_root *awr, const char *fname, GB_ERROR& error) 70 // ------------------------------------------------------------------------------------------- 63 71 64 static char * get_overlay_files(AW_root *awr, const char *fname, GB_ERROR& error) { 72 65 nt_assert(!error); … … 219 212 } 220 213 221 // ------------------------------------------------------------------------------ 222 // void AP_csp_2_gnuplot_cb(AW_window *aww, AW_CL cspcd, AW_CL cl_mode) 223 // ------------------------------------------------------------------------------ 214 // ------------------- 215 // SortedFreq 216 217 class SortedFreq { 218 float *freq[4]; 219 220 public: 221 SortedFreq(const AWT_csp *csp); 222 ~SortedFreq(); 223 224 float get(PlotType plot_type, size_t pos) const { 225 float f; 226 switch (plot_type) { 227 case PT_MOST_FREQUENT_BASE: f = freq[0][pos]; break; 228 case PT_SECOND_FREQUENT_BASE: f = freq[1][pos]; break; 229 case PT_THIRD_FREQUENT_BASE: f = freq[2][pos]; break; 230 case PT_LEAST_FREQUENT_BASE: f = freq[3][pos]; break; 231 default: nt_assert(0); break; 232 } 233 return f; 234 } 235 }; 236 237 SortedFreq::SortedFreq(const AWT_csp *csp) { 238 size_t len = csp->get_length(); 239 for (int i = 0; i<4; ++i) { // 4 best frequencies 240 freq[i] = new float[len]; 241 for (size_t p = 0; p<len; ++p) freq[i][p] = 0.0; // clear 242 } 243 244 for (unsigned int c = 0; c<256; ++c) { // all character stats 245 const float *cfreq = csp->get_frequencies((unsigned char)c); 246 if (cfreq) { 247 for (size_t p = 0; p<len; ++p) { // all positions 248 if (freq[3][p] < cfreq[p]) { 249 freq[3][p] = cfreq[p]; // found higher freq 250 251 for (int i = 3; i > 0; --i) { // bubble upwards to sort 252 if (freq[i-1][p] >= freq[i][p]) break; // sorted! 253 254 float f = freq[i][p]; 255 freq[i][p] = freq[i-1][p]; 256 freq[i-1][p] = f; 257 } 258 } 259 } 260 } 261 } 262 263 #if defined(DEBUG) 264 for (size_t p = 0; p<len; ++p) { // all positions 265 nt_assert(freq[0][p] >= freq[1][p]); 266 nt_assert(freq[1][p] >= freq[2][p]); 267 nt_assert(freq[2][p] >= freq[3][p]); 268 } 269 #endif // DEBUG 270 } 271 SortedFreq::~SortedFreq() { 272 for (int i = 0; i<4; ++i) delete [] freq[i]; 273 } 274 275 // ---------------------------- 276 // AP_csp_2_gnuplot_cb 277 224 278 void AP_csp_2_gnuplot_cb(AW_window *aww, AW_CL cspcd, AW_CL cl_mode) { 225 279 // cl_mode = 0 -> write file … … 230 284 AWT_csp *csp = (AWT_csp *)cspcd; 231 285 GB_ERROR error = 0; 232 AP_filter filter;233 286 int mode = int(cl_mode); 234 287 … … 237 290 char *alignment_name = aww->get_root()->awar(AP_AWAR_FILTER_ALIGNMENT)->read_string(); 238 291 long alignment_length = GBT_get_alignment_len(GLOBAL_gb_main,alignment_name); 239 error = filter.init(filterstring,"0",alignment_length); 292 293 AP_filter filter(filterstring, "0", alignment_length); 294 240 295 free(alignment_name); 241 296 free(filterstring); 242 297 243 if (!error)error = csp->go(&filter);244 245 if (!error && !csp-> seq_len) error = "Please select column statistic";298 error = csp->go(&filter); 299 300 if (!error && !csp->get_length()) error = "Please select column statistic"; 246 301 } 247 302 … … 276 331 277 332 if (!error) { 278 char *type = aww->get_root()->awar(AP_AWAR_CSP_SUFFIX)->read_string(); 279 long smooth = aww->get_root()->awar(AP_AWAR_CSP_SMOOTH)->read_int()+1; 280 double val; 281 double smoothed = 0; 282 unsigned int j; 283 float *f[4]; 284 285 if (type[0] == 'f') { // sort frequencies 286 int wf; 287 int c = 0; 288 289 for (wf = 0; wf <256 && c <4; wf++) { 290 if (csp->frequency[wf]) f[c++] = csp->frequency[wf]; 291 } 292 int k,l; 293 for (k=3;k>0;k--) { 294 for (l=0;l<k;l++) { 295 for (j=0;j<csp->seq_len; j++) { 296 if (f[l][j] > f[l+1][j]) { 297 float h; 298 h = f[l][j]; 299 f[l][j] = f[l+1][j]; 300 f[l+1][j] = h; 333 char *type = aww->get_root()->awar(AP_AWAR_CSP_SUFFIX)->read_string(); 334 long smooth = aww->get_root()->awar(AP_AWAR_CSP_SMOOTH)->read_int()+1; 335 size_t csplen = csp->get_length(); 336 337 enum { 338 STAT_AMOUNT, 339 STAT_SIMPLE_FLOAT, 340 STAT_SIMPLE_BOOL, 341 STAT_SORT, 342 STAT_UNKNOWN 343 } stat_type = STAT_UNKNOWN; 344 union { 345 struct { 346 const float *A; 347 const float *C; 348 const float *G; 349 const float *TU; 350 } amount; // STAT_AMOUNT 351 const float *floatVals; // STAT_SIMPLE_FLOAT 352 const bool *boolVals; // STAT_SIMPLE_BOOL 353 SortedFreq *sorted; // STAT_SORT 354 } data; 355 356 PlotType plot_type = string2PlotType(type); 357 switch (plot_type) { 358 case PT_GC_RATIO: 359 case PT_GA_RATIO: 360 case PT_BASE_A: 361 case PT_BASE_C: 362 case PT_BASE_G: 363 case PT_BASE_TU: { 364 stat_type = STAT_AMOUNT; 365 366 data.amount.A = csp->get_frequencies('A'); 367 data.amount.C = csp->get_frequencies('C'); 368 data.amount.G = csp->get_frequencies('G'); 369 data.amount.TU = csp->get_frequencies('U'); 370 break; 371 } 372 case PT_RATE: 373 stat_type = STAT_SIMPLE_FLOAT; 374 data.floatVals = csp->get_rates(); 375 break; 376 377 case PT_TT_RATIO: 378 stat_type = STAT_SIMPLE_FLOAT; 379 data.floatVals = csp->get_ttratio(); 380 break; 381 382 case PT_HELIX: { 383 stat_type = STAT_SIMPLE_BOOL; 384 data.boolVals = csp->get_is_helix(); 385 break; 386 } 387 case PT_MOST_FREQUENT_BASE: 388 case PT_SECOND_FREQUENT_BASE: 389 case PT_THIRD_FREQUENT_BASE: 390 case PT_LEAST_FREQUENT_BASE: { 391 stat_type = STAT_SORT; 392 data.sorted = new SortedFreq(csp); 393 break; 394 } 395 case PT_PLOT_TYPES: 396 case PT_UNKNOWN: 397 error = "Please select what to plot"; 398 break; 399 } 400 401 const GB_UINT4 *weights = csp->get_weights(); 402 403 if (!error) { 404 for (size_t j=0; j<csplen; ++j) { 405 if (!weights[j]) continue; 406 fprintf(out,"%i ",j); // print X coordinate 407 408 double val; 409 switch (stat_type) { 410 case STAT_AMOUNT: { 411 float A = data.amount.A[j]; 412 float C = data.amount.C[j]; 413 float G = data.amount.G[j]; 414 float TU = data.amount.TU[j]; 415 416 float amount = A+C+G+TU; 417 418 switch (plot_type) { 419 case PT_GC_RATIO: val = (G+C)/amount; break; 420 case PT_GA_RATIO: val = (G+A)/amount; break; 421 case PT_BASE_A: val = A/amount; break; 422 case PT_BASE_C: val = C/amount; break; 423 case PT_BASE_G: val = G/amount; break; 424 case PT_BASE_TU: val = TU/amount; break; 425 426 default: nt_assert(0); break; 301 427 } 428 break; 302 429 } 430 case STAT_SIMPLE_FLOAT: val = data.floatVals[j]; break; 431 case STAT_SIMPLE_BOOL: val = data.boolVals[j]; break; 432 case STAT_SORT: val = data.sorted->get(plot_type, j); break; 433 434 case STAT_UNKNOWN: nt_assert(0); break; 303 435 } 304 } 305 } 306 307 PlotType plot_type = string2PlotType(type); 308 nt_assert(plot_type != PT_UNKNOWN); // 'type' is not a PlotType 309 310 for (j=0;j<csp->seq_len; j++) { 311 if (!csp->weights[j]) continue; 312 fprintf(out,"%i ",j); 313 314 double amount = 315 csp->frequency[(unsigned char)'A'][j] + csp->frequency[(unsigned char)'C'][j] + 316 csp->frequency[(unsigned char)'G'][j] + csp->frequency[(unsigned char)'U'][j] ; 317 318 switch (plot_type) { 319 case PT_GC_RATIO: 320 val = ( csp->frequency[(unsigned char)'G'][j] + csp->frequency[(unsigned char)'C'][j] ) / amount; 321 break; 322 case PT_GA_RATIO: 323 val = ( csp->frequency[(unsigned char)'G'][j] + csp->frequency[(unsigned char)'A'][j] ) / amount; 324 break; 325 326 case PT_BASE_A: val = csp->frequency[(unsigned char)'A'][j] / amount; break; 327 case PT_BASE_C: val = csp->frequency[(unsigned char)'C'][j] / amount; break; 328 case PT_BASE_G: val = csp->frequency[(unsigned char)'G'][j] / amount; break; 329 case PT_BASE_TU: val = csp->frequency[(unsigned char)'U'][j] / amount; break; 330 331 case PT_RATE: val = csp->rates[j]; break; 332 case PT_TT_RATIO: val = csp->ttratio[j]; break; 333 case PT_HELIX: val = csp->is_helix[j]; break; 334 335 case PT_MOST_FREQUENT_BASE: val = f[3][j]; break; 336 case PT_SECOND_FREQUENT_BASE: val = f[2][j]; break; 337 case PT_THIRD_FREQUENT_BASE: val = f[1][j]; break; 338 case PT_LEAST_FREQUENT_BASE: val = f[0][j]; break; 339 default: { 340 nt_assert(0); // unknown calculation requested.. 341 val = 0; 342 } 343 } 344 smoothed = val/smooth + smoothed *(smooth-1)/(smooth); 345 fprintf(out,"%f\n",smoothed); 346 } 347 436 437 double smoothed = val/smooth + smoothed *(smooth-1)/(smooth); 438 fprintf(out,"%f\n",smoothed); // print Y coordinate 439 } 440 } 441 442 if (stat_type == STAT_SORT) delete data.sorted; 348 443 free(type); 349 444 fclose(out); 350 445 out = 0; 351 446 } 352 447 353 448 if (!error) { 354 449 aww->get_root()->awar(AP_AWAR_CSP_DIRECTORY)->touch(); // reload file selection box … … 380 475 381 476 fprintf(out, "%s \"%s\" %s title \"%s\"\n", plot_command[int(plotted)], fname, smooth, makeTitle(fname)); 382 fprintf(out, "pause -1 \"Press RETURN to close gnuplot\"\n");477 fprintf(out, "pause mouse any \"Any key or button will terminate gnuplot\"\n"); 383 478 fclose(out); 384 479 out = 0; … … 499 594 return (AW_window *)aws; 500 595 } 596 597 -
trunk/NTREE/AP_pos_var_pars.cxx
r5825 r6280 1 #include <stdlib.h> 2 #include <stdio.h> 3 #include <ctype.h> 4 #include <string.h> 5 // #include <malloc.h> 6 #include <memory.h> 7 #include <math.h> 8 #include <arbdb.h> 9 #include <arbdbt.h> 10 #include <aw_root.hxx> 11 #include <aw_device.hxx> 1 // =============================================================== // 2 // // 3 // File : AP_pos_var_pars.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #include "ap_pos_var_pars.hxx" 12 13 #include <AP_pro_a_nucs.hxx> 14 #include <awt_sel_boxes.hxx> 12 15 #include <aw_window.hxx> 13 #include <awt.hxx> 14 #include <awt_tree.hxx> 15 #include <awt_sel_boxes.hxx> 16 17 #include "ap_pos_var_pars.hxx" 16 17 #include <cctype> 18 18 19 19 #define ap_assert(cond) arb_assert(cond) -
trunk/NTREE/Makefile
r6277 r6280 3 3 .SUFFIXES: .o .cxx .depend 4 4 5 5 # Note: NT_cb.o should be first object (needed by 'proto') 6 6 CPP_OBJECTS = \ 7 NT_cb.o \ 7 8 AP_consensus.o \ 8 9 AP_conservProfile2Gnuplot.o \ … … 10 11 AP_csp_2_gnuplot.o \ 11 12 AP_pos_var_pars.o \ 12 NT_cb.o \13 13 NT_concatenate.o \ 14 14 NT_dbrepair.o \ … … 24 24 NT_validNameParser.o \ 25 25 NT_validNames.o \ 26 NT_tree_cmp.o \ 26 27 ad_ali.o \ 27 28 ad_ext.o \ … … 40 41 41 42 proto: 42 ../MAKEBIN/aisc_mkpt - A -E -g -F NT_,AP_ -w nt_internal.h $(CPP_SOURCES) >nt_internal.h.tmp43 ../MAKEBIN/aisc_mkpt -P -A -E -g -F NT_,AP_ -w nt_internal.h $(CPP_SOURCES) >nt_internal.h.tmp 43 44 ../SOURCE_TOOLS/mv_if_diff nt_internal.h.tmp nt_internal.h 44 ../MAKEBIN/aisc_mkpt - A -E -g -w nt_cb.hxx NT_cb.cxx NT_extern.cxx >nt_cb.hxx.tmp45 ../MAKEBIN/aisc_mkpt -P -A -E -g -w nt_cb.hxx NT_cb.cxx NT_extern.cxx >nt_cb.hxx.tmp 45 46 ../SOURCE_TOOLS/mv_if_diff nt_cb.hxx.tmp nt_cb.hxx 46 47 … … 63 64 # DO NOT DELETE THIS LINE -- make depend depends on it. 64 65 65 # Do not add dependencies manually - use 'make depend' in $ARBHOME 66 # For formatting issues see SOURCE_TOOLS/fix_depends.pl 67 68 ad_ali.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 69 ad_ali.o: $(ARBHOME)/INCLUDE/ad_prot.h 70 ad_ali.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 71 ad_ali.o: $(ARBHOME)/INCLUDE/arb_assert.h 72 ad_ali.o: $(ARBHOME)/INCLUDE/arb_error.h 73 ad_ali.o: $(ARBHOME)/INCLUDE/arbdb.h 74 ad_ali.o: $(ARBHOME)/INCLUDE/arbdb_base.h 75 ad_ali.o: $(ARBHOME)/INCLUDE/arbdbt.h 76 ad_ali.o: $(ARBHOME)/INCLUDE/arbtools.h 77 ad_ali.o: $(ARBHOME)/INCLUDE/attributes.h 78 ad_ali.o: $(ARBHOME)/INCLUDE/aw_device.hxx 79 ad_ali.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 80 ad_ali.o: $(ARBHOME)/INCLUDE/aw_position.hxx 81 ad_ali.o: $(ARBHOME)/INCLUDE/aw_root.hxx 82 ad_ali.o: $(ARBHOME)/INCLUDE/aw_window.hxx 83 ad_ali.o: $(ARBHOME)/INCLUDE/awt.hxx 84 ad_ali.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 85 ad_ali.o: $(ARBHOME)/INCLUDE/smartptr.h 86 87 ad_ext.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 88 ad_ext.o: $(ARBHOME)/INCLUDE/ad_prot.h 89 ad_ext.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 90 ad_ext.o: $(ARBHOME)/INCLUDE/arb_assert.h 91 ad_ext.o: $(ARBHOME)/INCLUDE/arb_error.h 92 ad_ext.o: $(ARBHOME)/INCLUDE/arbdb.h 93 ad_ext.o: $(ARBHOME)/INCLUDE/arbdb_base.h 94 ad_ext.o: $(ARBHOME)/INCLUDE/arbdbt.h 95 ad_ext.o: $(ARBHOME)/INCLUDE/arbtools.h 96 ad_ext.o: $(ARBHOME)/INCLUDE/attributes.h 97 ad_ext.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 98 ad_ext.o: $(ARBHOME)/INCLUDE/aw_device.hxx 99 ad_ext.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 100 ad_ext.o: $(ARBHOME)/INCLUDE/aw_position.hxx 101 ad_ext.o: $(ARBHOME)/INCLUDE/aw_root.hxx 102 ad_ext.o: $(ARBHOME)/INCLUDE/aw_window.hxx 103 ad_ext.o: $(ARBHOME)/INCLUDE/awt.hxx 104 ad_ext.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 105 ad_ext.o: $(ARBHOME)/INCLUDE/db_scanner.hxx 106 ad_ext.o: $(ARBHOME)/INCLUDE/smartptr.h 107 108 ad_spec.o: ad_spec.hxx 66 NT_cb.o: nt_internal.h 67 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 68 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 69 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 70 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 71 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 72 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 73 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 74 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 75 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 76 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 77 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 78 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h nt_cb.hxx 79 NT_cb.o: ntree.hxx 80 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 81 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 82 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 83 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 84 NT_cb.o: ad_trees.hxx 85 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_canvas.hxx 86 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_sel_boxes.hxx 87 NT_cb.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_awars.hxx 88 89 AP_consensus.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 90 AP_consensus.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 91 AP_consensus.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 92 AP_consensus.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 93 AP_consensus.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 94 AP_consensus.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 95 AP_consensus.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 96 AP_consensus.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 97 AP_consensus.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 98 AP_consensus.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 99 AP_consensus.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 100 AP_consensus.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 101 AP_consensus.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 102 AP_consensus.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 103 AP_consensus.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 104 AP_consensus.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 105 AP_consensus.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt.hxx 106 AP_consensus.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_sel_boxes.hxx 107 108 AP_conservProfile2Gnuplot.o: nt_internal.h 109 AP_conservProfile2Gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 110 AP_conservProfile2Gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 111 AP_conservProfile2Gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 112 AP_conservProfile2Gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 113 AP_conservProfile2Gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 114 AP_conservProfile2Gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 115 AP_conservProfile2Gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 116 AP_conservProfile2Gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 117 AP_conservProfile2Gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 118 AP_conservProfile2Gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 119 AP_conservProfile2Gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 120 AP_conservProfile2Gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 121 AP_conservProfile2Gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt.hxx 122 AP_conservProfile2Gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 123 AP_conservProfile2Gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 124 AP_conservProfile2Gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 125 AP_conservProfile2Gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 126 AP_conservProfile2Gnuplot.o: ap_conservProfile2Gnuplot.hxx 127 AP_conservProfile2Gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_global.hxx 128 129 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 130 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 131 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 132 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 133 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 134 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 135 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 136 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 137 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 138 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 139 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 140 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 141 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 142 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 143 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 144 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 145 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_awars.hxx 146 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_global.hxx 147 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt.hxx 148 AP_cprofile.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_sel_boxes.hxx 149 150 AP_csp_2_gnuplot.o: nt_internal.h 151 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 152 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 153 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 154 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 155 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 156 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 157 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 158 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 159 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 160 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 161 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 162 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 163 AP_csp_2_gnuplot.o: ap_csp_2_gnuplot.hxx 164 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_filter.hxx 165 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt.hxx 166 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 167 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 168 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 169 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 170 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_csp.hxx 171 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/AP_filter.hxx 172 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_global.hxx 173 AP_csp_2_gnuplot.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_awars.hxx 174 175 AP_pos_var_pars.o: ap_pos_var_pars.hxx 176 AP_pos_var_pars.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 177 AP_pos_var_pars.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 178 AP_pos_var_pars.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 179 AP_pos_var_pars.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 180 AP_pos_var_pars.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 181 AP_pos_var_pars.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 182 AP_pos_var_pars.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 183 AP_pos_var_pars.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 184 AP_pos_var_pars.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/AP_pro_a_nucs.hxx 185 AP_pos_var_pars.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_sel_boxes.hxx 186 AP_pos_var_pars.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 187 AP_pos_var_pars.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 188 AP_pos_var_pars.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 189 AP_pos_var_pars.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 190 AP_pos_var_pars.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 191 AP_pos_var_pars.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 192 AP_pos_var_pars.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 193 AP_pos_var_pars.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 194 195 NT_concatenate.o: nt_internal.h 196 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 197 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 198 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 199 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 200 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 201 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 202 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 203 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 204 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 205 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 206 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 207 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 208 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt.hxx 209 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 210 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 211 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 212 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 213 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_item_sel_list.hxx 214 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_sel_boxes.hxx 215 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/AW_rename.hxx 216 NT_concatenate.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_question.hxx 217 218 NT_dbrepair.o: NT_dbrepair.hxx 219 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 220 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 221 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 222 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 223 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 224 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 225 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 226 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 227 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 228 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 229 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 230 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 231 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 232 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 233 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 234 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 235 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/adGene.h 236 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt.hxx 237 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/GEN.hxx 238 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/EXP.hxx 239 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_color_groups.hxx 240 NT_dbrepair.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/inline.h 241 242 NT_edconf.o: nt_cb.hxx 243 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 244 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 245 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 246 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 247 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 248 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 249 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 250 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 251 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 252 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 253 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 254 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 255 NT_edconf.o: nt_internal.h 256 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_sel_boxes.hxx 257 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 258 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 259 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 260 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 261 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_awars.hxx 262 NT_edconf.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_config.h 263 264 NT_extern.o: nt_internal.h 265 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 266 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 267 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 268 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 269 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 270 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 271 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 272 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 273 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 274 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 275 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 276 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 277 NT_extern.o: ntree.hxx 278 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 279 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 280 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 281 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 282 NT_extern.o: ad_spec.hxx 283 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt.hxx 284 NT_extern.o: ad_trees.hxx ap_consensus.hxx 285 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/seq_quality.h 286 NT_extern.o: nt_join.hxx 287 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/st_window.hxx 288 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/GEN.hxx 289 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/adGene.h 290 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/EXP.hxx 291 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/TreeCallbacks.hxx 292 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/TreeDisplay.hxx 293 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/AP_Tree.hxx 294 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ARB_Tree.hxx 295 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/AliView.hxx 296 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/AP_sequence.hxx 297 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_color_groups.hxx 298 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/downcast.h 299 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_canvas.hxx 300 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/AW_rename.hxx 301 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/probe_design.hxx 302 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/primer_design.hxx 303 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/gde.hxx 304 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awtc_submission.hxx 305 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awti_export.hxx 306 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_preset.hxx 307 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_macro.hxx 308 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_advice.hxx 309 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_config_manager.hxx 310 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_input_mask.hxx 311 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_sel_boxes.hxx 312 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_www.hxx 313 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_nds.hxx 314 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_preset.hxx 315 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_global.hxx 316 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_awars.hxx 317 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_version.h 318 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_build.h 319 NT_extern.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/svn_revision.h 320 321 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 322 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 323 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 324 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 325 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 326 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 327 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 328 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 329 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 330 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 331 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 332 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 333 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 334 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 335 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 336 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 337 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awti_import.hxx 338 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_canvas.hxx 339 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/mg_merge.hxx 340 NT_import.o: nt_internal.h ad_spec.hxx 341 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt.hxx 342 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/GEN.hxx 343 NT_import.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/adGene.h 344 345 NT_ins_col.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 346 NT_ins_col.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 347 NT_ins_col.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 348 NT_ins_col.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 349 NT_ins_col.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 350 NT_ins_col.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 351 NT_ins_col.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 352 NT_ins_col.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 353 NT_ins_col.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 354 NT_ins_col.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 355 NT_ins_col.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 356 NT_ins_col.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 357 NT_ins_col.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 358 NT_ins_col.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 359 NT_ins_col.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 360 NT_ins_col.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 361 NT_ins_col.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_awars.hxx 362 363 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 364 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 365 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 366 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 367 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 368 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 369 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 370 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 371 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 372 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 373 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 374 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 375 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 376 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 377 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 378 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 379 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_awars.hxx 380 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt.hxx 381 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_item_sel_list.hxx 382 NT_join.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_sel_boxes.hxx 383 384 NT_main.o: nt_internal.h 385 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 386 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 387 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 388 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 389 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 390 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 391 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 392 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 393 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 394 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 395 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 396 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 397 NT_main.o: ntree.hxx 398 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 399 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 400 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 401 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 402 NT_main.o: nt_cb.hxx 403 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/mg_merge.hxx 404 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awti_import.hxx 405 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_advice.hxx 406 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt.hxx 407 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_global.hxx 408 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_question.hxx 409 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_awars.hxx 410 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/adGene.h 411 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_version.h 412 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_build.h 413 NT_main.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/svn_revision.h 414 415 NT_trackAliChanges.o: NT_trackAliChanges.h 416 NT_trackAliChanges.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 417 NT_trackAliChanges.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 418 NT_trackAliChanges.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 419 NT_trackAliChanges.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 420 NT_trackAliChanges.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 421 NT_trackAliChanges.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 422 NT_trackAliChanges.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 423 NT_trackAliChanges.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 424 NT_trackAliChanges.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_sel_boxes.hxx 425 NT_trackAliChanges.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 426 NT_trackAliChanges.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 427 NT_trackAliChanges.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 428 NT_trackAliChanges.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 429 NT_trackAliChanges.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 430 NT_trackAliChanges.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 431 NT_trackAliChanges.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 432 NT_trackAliChanges.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 433 434 NT_validManual.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 435 NT_validManual.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 436 NT_validManual.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 437 NT_validManual.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 438 NT_validManual.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 439 NT_validManual.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 440 NT_validManual.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 441 NT_validManual.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 442 NT_validManual.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 443 NT_validManual.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 444 NT_validManual.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 445 NT_validManual.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 446 NT_validManual.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 447 NT_validManual.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 448 NT_validManual.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 449 NT_validManual.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 450 NT_validManual.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_awars.hxx 451 NT_validManual.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt.hxx 452 453 NT_validNameParser.o: nt_validNameParser.hxx 454 455 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 456 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 457 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 458 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 459 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 460 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 461 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 462 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 463 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 464 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 465 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 466 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 467 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 468 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 469 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 470 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 471 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_awars.hxx 472 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt.hxx 473 NT_validNames.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_www.hxx 474 NT_validNames.o: nt_validNameParser.hxx 475 476 NT_tree_cmp.o: nt_tree_cmp.hxx 477 NT_tree_cmp.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 478 NT_tree_cmp.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 479 NT_tree_cmp.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 480 NT_tree_cmp.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 481 NT_tree_cmp.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 482 NT_tree_cmp.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 483 NT_tree_cmp.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 484 NT_tree_cmp.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 485 NT_tree_cmp.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/AP_Tree.hxx 486 NT_tree_cmp.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ARB_Tree.hxx 487 NT_tree_cmp.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/AliView.hxx 488 NT_tree_cmp.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/AP_sequence.hxx 489 NT_tree_cmp.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_color_groups.hxx 490 NT_tree_cmp.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 491 NT_tree_cmp.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 492 NT_tree_cmp.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 493 NT_tree_cmp.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 494 NT_tree_cmp.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/downcast.h 495 496 ad_ali.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 497 ad_ali.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 498 ad_ali.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 499 ad_ali.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 500 ad_ali.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 501 ad_ali.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 502 ad_ali.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 503 ad_ali.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 504 ad_ali.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 505 ad_ali.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 506 ad_ali.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 507 ad_ali.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 508 ad_ali.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 509 ad_ali.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 510 ad_ali.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 511 ad_ali.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 512 ad_ali.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt.hxx 513 ad_ali.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_sel_boxes.hxx 514 515 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 516 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 517 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 518 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 519 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 520 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 521 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 522 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 523 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 524 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 525 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 526 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 527 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 528 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 529 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 530 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 531 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt.hxx 532 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_sel_boxes.hxx 533 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_awars.hxx 534 ad_ext.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/db_scanner.hxx 535 536 ad_spec.o: ad_spec.hxx /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt.hxx 537 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 538 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 539 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 540 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 541 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 542 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 543 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 544 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 545 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 546 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 547 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 548 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 549 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 550 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 109 551 ad_spec.o: nt_internal.h 552 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 553 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 110 554 ad_spec.o: ntree.hxx 111 ad_spec.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 112 ad_spec.o: $(ARBHOME)/INCLUDE/ad_prot.h 113 ad_spec.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 114 ad_spec.o: $(ARBHOME)/INCLUDE/arb_assert.h 115 ad_spec.o: $(ARBHOME)/INCLUDE/arb_error.h 116 ad_spec.o: $(ARBHOME)/INCLUDE/arbdb.h 117 ad_spec.o: $(ARBHOME)/INCLUDE/arbdb_base.h 118 ad_spec.o: $(ARBHOME)/INCLUDE/arbdbt.h 119 ad_spec.o: $(ARBHOME)/INCLUDE/arbtools.h 120 ad_spec.o: $(ARBHOME)/INCLUDE/attributes.h 121 ad_spec.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 122 ad_spec.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 123 ad_spec.o: $(ARBHOME)/INCLUDE/aw_device.hxx 124 ad_spec.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 125 ad_spec.o: $(ARBHOME)/INCLUDE/aw_position.hxx 126 ad_spec.o: $(ARBHOME)/INCLUDE/AW_rename.hxx 127 ad_spec.o: $(ARBHOME)/INCLUDE/aw_root.hxx 128 ad_spec.o: $(ARBHOME)/INCLUDE/aw_window.hxx 129 ad_spec.o: $(ARBHOME)/INCLUDE/awt.hxx 130 ad_spec.o: $(ARBHOME)/INCLUDE/awt_canvas.hxx 131 ad_spec.o: $(ARBHOME)/INCLUDE/awt_dtree.hxx 132 ad_spec.o: $(ARBHOME)/INCLUDE/awt_item_sel_list.hxx 133 ad_spec.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 134 ad_spec.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 135 ad_spec.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 136 ad_spec.o: $(ARBHOME)/INCLUDE/awt_www.hxx 137 ad_spec.o: $(ARBHOME)/INCLUDE/awtc_next_neighbours.hxx 138 ad_spec.o: $(ARBHOME)/INCLUDE/awtlocal.hxx 139 ad_spec.o: $(ARBHOME)/INCLUDE/db_scanner.hxx 140 ad_spec.o: $(ARBHOME)/INCLUDE/probe_design.hxx 141 ad_spec.o: $(ARBHOME)/INCLUDE/smartptr.h 142 143 ad_transpro.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 144 ad_transpro.o: $(ARBHOME)/INCLUDE/ad_prot.h 145 ad_transpro.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 146 ad_transpro.o: $(ARBHOME)/INCLUDE/arb_assert.h 147 ad_transpro.o: $(ARBHOME)/INCLUDE/arb_error.h 148 ad_transpro.o: $(ARBHOME)/INCLUDE/arbdb.h 149 ad_transpro.o: $(ARBHOME)/INCLUDE/arbdb_base.h 150 ad_transpro.o: $(ARBHOME)/INCLUDE/arbdbt.h 151 ad_transpro.o: $(ARBHOME)/INCLUDE/arbtools.h 152 ad_transpro.o: $(ARBHOME)/INCLUDE/attributes.h 153 ad_transpro.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 154 ad_transpro.o: $(ARBHOME)/INCLUDE/aw_device.hxx 155 ad_transpro.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 156 ad_transpro.o: $(ARBHOME)/INCLUDE/aw_position.hxx 157 ad_transpro.o: $(ARBHOME)/INCLUDE/aw_root.hxx 158 ad_transpro.o: $(ARBHOME)/INCLUDE/aw_window.hxx 159 ad_transpro.o: $(ARBHOME)/INCLUDE/awt.hxx 160 ad_transpro.o: $(ARBHOME)/INCLUDE/awt_codon_table.hxx 161 ad_transpro.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 162 ad_transpro.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 163 ad_transpro.o: $(ARBHOME)/INCLUDE/awt_translate.hxx 164 ad_transpro.o: $(ARBHOME)/INCLUDE/smartptr.h 555 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awtc_next_neighbours.hxx 556 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/AW_rename.hxx 557 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/db_scanner.hxx 558 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_item_sel_list.hxx 559 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awtlocal.hxx 560 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_www.hxx 561 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_canvas.hxx 562 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_sel_boxes.hxx 563 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_awars.hxx 564 ad_spec.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/probe_design.hxx 565 566 ad_transpro.o: nt_internal.h 567 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 568 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 569 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 570 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 571 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 572 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 573 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 574 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 575 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 576 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 577 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 578 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 579 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_sel_boxes.hxx 580 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/Translate.hxx 581 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/AP_codon_table.hxx 582 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt.hxx 583 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 584 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 585 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 586 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 587 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/AP_pro_a_nucs.hxx 588 ad_transpro.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_awars.hxx 165 589 166 590 ad_trees.o: ad_trees.hxx 167 ad_trees.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 168 ad_trees.o: $(ARBHOME)/INCLUDE/ad_prot.h 169 ad_trees.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 170 ad_trees.o: $(ARBHOME)/INCLUDE/arb_assert.h 171 ad_trees.o: $(ARBHOME)/INCLUDE/arb_error.h 172 ad_trees.o: $(ARBHOME)/INCLUDE/arbdb.h 173 ad_trees.o: $(ARBHOME)/INCLUDE/arbdb_base.h 174 ad_trees.o: $(ARBHOME)/INCLUDE/arbdbt.h 175 ad_trees.o: $(ARBHOME)/INCLUDE/arbtools.h 176 ad_trees.o: $(ARBHOME)/INCLUDE/attributes.h 177 ad_trees.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 178 ad_trees.o: $(ARBHOME)/INCLUDE/aw_device.hxx 179 ad_trees.o: $(ARBHOME)/INCLUDE/aw_global.hxx 180 ad_trees.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 181 ad_trees.o: $(ARBHOME)/INCLUDE/aw_position.hxx 182 ad_trees.o: $(ARBHOME)/INCLUDE/aw_root.hxx 183 ad_trees.o: $(ARBHOME)/INCLUDE/aw_window.hxx 184 ad_trees.o: $(ARBHOME)/INCLUDE/awt.hxx 185 ad_trees.o: $(ARBHOME)/INCLUDE/awt_nds.hxx 186 ad_trees.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 187 ad_trees.o: $(ARBHOME)/INCLUDE/awt_tree_cmp.hxx 188 ad_trees.o: $(ARBHOME)/INCLUDE/smartptr.h 189 ad_trees.o: $(ARBHOME)/INCLUDE/TreeRead.h 190 ad_trees.o: $(ARBHOME)/INCLUDE/TreeWrite.h 191 192 AP_consensus.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 193 AP_consensus.o: $(ARBHOME)/INCLUDE/ad_prot.h 194 AP_consensus.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 195 AP_consensus.o: $(ARBHOME)/INCLUDE/arb_assert.h 196 AP_consensus.o: $(ARBHOME)/INCLUDE/arb_error.h 197 AP_consensus.o: $(ARBHOME)/INCLUDE/arbdb.h 198 AP_consensus.o: $(ARBHOME)/INCLUDE/arbdb_base.h 199 AP_consensus.o: $(ARBHOME)/INCLUDE/arbdbt.h 200 AP_consensus.o: $(ARBHOME)/INCLUDE/arbtools.h 201 AP_consensus.o: $(ARBHOME)/INCLUDE/attributes.h 202 AP_consensus.o: $(ARBHOME)/INCLUDE/aw_device.hxx 203 AP_consensus.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 204 AP_consensus.o: $(ARBHOME)/INCLUDE/aw_position.hxx 205 AP_consensus.o: $(ARBHOME)/INCLUDE/aw_root.hxx 206 AP_consensus.o: $(ARBHOME)/INCLUDE/aw_window.hxx 207 AP_consensus.o: $(ARBHOME)/INCLUDE/awt.hxx 208 AP_consensus.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 209 AP_consensus.o: $(ARBHOME)/INCLUDE/smartptr.h 210 211 AP_conservProfile2Gnuplot.o: ap_conservProfile2Gnuplot.hxx 212 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 213 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/ad_prot.h 214 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 215 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/arb_assert.h 216 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/arb_error.h 217 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/arbdb.h 218 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/arbdb_base.h 219 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/arbdbt.h 220 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/arbtools.h 221 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/attributes.h 222 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 223 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 224 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/aw_device.hxx 225 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/aw_global.hxx 226 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 227 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/aw_position.hxx 228 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/aw_root.hxx 229 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/aw_window.hxx 230 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/awt.hxx 231 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/awt_canvas.hxx 232 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/awt_csp.hxx 233 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 234 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 235 AP_conservProfile2Gnuplot.o: $(ARBHOME)/INCLUDE/smartptr.h 236 237 AP_cprofile.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 238 AP_cprofile.o: $(ARBHOME)/INCLUDE/ad_prot.h 239 AP_cprofile.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 240 AP_cprofile.o: $(ARBHOME)/INCLUDE/arb_assert.h 241 AP_cprofile.o: $(ARBHOME)/INCLUDE/arb_error.h 242 AP_cprofile.o: $(ARBHOME)/INCLUDE/arbdb.h 243 AP_cprofile.o: $(ARBHOME)/INCLUDE/arbdb_base.h 244 AP_cprofile.o: $(ARBHOME)/INCLUDE/arbdbt.h 245 AP_cprofile.o: $(ARBHOME)/INCLUDE/arbtools.h 246 AP_cprofile.o: $(ARBHOME)/INCLUDE/attributes.h 247 AP_cprofile.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 248 AP_cprofile.o: $(ARBHOME)/INCLUDE/aw_device.hxx 249 AP_cprofile.o: $(ARBHOME)/INCLUDE/aw_global.hxx 250 AP_cprofile.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 251 AP_cprofile.o: $(ARBHOME)/INCLUDE/aw_position.hxx 252 AP_cprofile.o: $(ARBHOME)/INCLUDE/aw_root.hxx 253 AP_cprofile.o: $(ARBHOME)/INCLUDE/aw_window.hxx 254 AP_cprofile.o: $(ARBHOME)/INCLUDE/awt.hxx 255 AP_cprofile.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 256 AP_cprofile.o: $(ARBHOME)/INCLUDE/smartptr.h 257 258 AP_csp_2_gnuplot.o: ap_csp_2_gnuplot.hxx 259 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 260 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/ad_prot.h 261 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 262 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/arb_assert.h 263 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/arb_error.h 264 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/arbdb.h 265 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/arbdb_base.h 266 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/arbdbt.h 267 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/arbtools.h 268 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/attributes.h 269 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 270 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 271 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/aw_device.hxx 272 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/aw_global.hxx 273 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 274 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/aw_position.hxx 275 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/aw_root.hxx 276 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/aw_window.hxx 277 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/awt.hxx 278 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/awt_csp.hxx 279 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 280 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 281 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 282 AP_csp_2_gnuplot.o: $(ARBHOME)/INCLUDE/smartptr.h 283 284 AP_pos_var_pars.o: ap_pos_var_pars.hxx 285 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 286 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/ad_prot.h 287 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 288 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/arb_assert.h 289 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/arb_error.h 290 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/arbdb.h 291 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/arbdb_base.h 292 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/arbdbt.h 293 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/arbtools.h 294 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/attributes.h 295 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 296 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/aw_device.hxx 297 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 298 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/aw_position.hxx 299 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/aw_root.hxx 300 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/aw_window.hxx 301 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/awt.hxx 302 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 303 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 304 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 305 AP_pos_var_pars.o: $(ARBHOME)/INCLUDE/smartptr.h 306 307 NT_cb.o: ad_trees.hxx 308 NT_cb.o: nt_cb.hxx 309 NT_cb.o: nt_internal.h 310 NT_cb.o: ntree.hxx 311 NT_cb.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 312 NT_cb.o: $(ARBHOME)/INCLUDE/ad_prot.h 313 NT_cb.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 314 NT_cb.o: $(ARBHOME)/INCLUDE/arb_assert.h 315 NT_cb.o: $(ARBHOME)/INCLUDE/arb_error.h 316 NT_cb.o: $(ARBHOME)/INCLUDE/arbdb.h 317 NT_cb.o: $(ARBHOME)/INCLUDE/arbdb_base.h 318 NT_cb.o: $(ARBHOME)/INCLUDE/arbdbt.h 319 NT_cb.o: $(ARBHOME)/INCLUDE/arbtools.h 320 NT_cb.o: $(ARBHOME)/INCLUDE/attributes.h 321 NT_cb.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 322 NT_cb.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 323 NT_cb.o: $(ARBHOME)/INCLUDE/aw_device.hxx 324 NT_cb.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 325 NT_cb.o: $(ARBHOME)/INCLUDE/aw_position.hxx 326 NT_cb.o: $(ARBHOME)/INCLUDE/aw_root.hxx 327 NT_cb.o: $(ARBHOME)/INCLUDE/aw_window.hxx 328 NT_cb.o: $(ARBHOME)/INCLUDE/awt.hxx 329 NT_cb.o: $(ARBHOME)/INCLUDE/awt_canvas.hxx 330 NT_cb.o: $(ARBHOME)/INCLUDE/awt_dtree.hxx 331 NT_cb.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 332 NT_cb.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 333 NT_cb.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 334 NT_cb.o: $(ARBHOME)/INCLUDE/smartptr.h 335 336 NT_concatenate.o: nt_internal.h 337 NT_concatenate.o: nt_sort.hxx 338 NT_concatenate.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 339 NT_concatenate.o: $(ARBHOME)/INCLUDE/ad_prot.h 340 NT_concatenate.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 341 NT_concatenate.o: $(ARBHOME)/INCLUDE/arb_assert.h 342 NT_concatenate.o: $(ARBHOME)/INCLUDE/arb_error.h 343 NT_concatenate.o: $(ARBHOME)/INCLUDE/arbdb.h 344 NT_concatenate.o: $(ARBHOME)/INCLUDE/arbdb_base.h 345 NT_concatenate.o: $(ARBHOME)/INCLUDE/arbdbt.h 346 NT_concatenate.o: $(ARBHOME)/INCLUDE/arbtools.h 347 NT_concatenate.o: $(ARBHOME)/INCLUDE/attributes.h 348 NT_concatenate.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 349 NT_concatenate.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 350 NT_concatenate.o: $(ARBHOME)/INCLUDE/aw_device.hxx 351 NT_concatenate.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 352 NT_concatenate.o: $(ARBHOME)/INCLUDE/aw_position.hxx 353 NT_concatenate.o: $(ARBHOME)/INCLUDE/aw_question.hxx 354 NT_concatenate.o: $(ARBHOME)/INCLUDE/AW_rename.hxx 355 NT_concatenate.o: $(ARBHOME)/INCLUDE/aw_root.hxx 356 NT_concatenate.o: $(ARBHOME)/INCLUDE/aw_window.hxx 357 NT_concatenate.o: $(ARBHOME)/INCLUDE/awt.hxx 358 NT_concatenate.o: $(ARBHOME)/INCLUDE/awt_canvas.hxx 359 NT_concatenate.o: $(ARBHOME)/INCLUDE/awt_item_sel_list.hxx 360 NT_concatenate.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 361 NT_concatenate.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 362 NT_concatenate.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 363 NT_concatenate.o: $(ARBHOME)/INCLUDE/awtlocal.hxx 364 NT_concatenate.o: $(ARBHOME)/INCLUDE/smartptr.h 365 366 NT_dbrepair.o: NT_dbrepair.hxx 367 NT_dbrepair.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 368 NT_dbrepair.o: $(ARBHOME)/INCLUDE/ad_prot.h 369 NT_dbrepair.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 370 NT_dbrepair.o: $(ARBHOME)/INCLUDE/adGene.h 371 NT_dbrepair.o: $(ARBHOME)/INCLUDE/arb_assert.h 372 NT_dbrepair.o: $(ARBHOME)/INCLUDE/arb_error.h 373 NT_dbrepair.o: $(ARBHOME)/INCLUDE/arbdb.h 374 NT_dbrepair.o: $(ARBHOME)/INCLUDE/arbdb_base.h 375 NT_dbrepair.o: $(ARBHOME)/INCLUDE/arbdbt.h 376 NT_dbrepair.o: $(ARBHOME)/INCLUDE/arbtools.h 377 NT_dbrepair.o: $(ARBHOME)/INCLUDE/attributes.h 378 NT_dbrepair.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 379 NT_dbrepair.o: $(ARBHOME)/INCLUDE/aw_device.hxx 380 NT_dbrepair.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 381 NT_dbrepair.o: $(ARBHOME)/INCLUDE/aw_position.hxx 382 NT_dbrepair.o: $(ARBHOME)/INCLUDE/aw_root.hxx 383 NT_dbrepair.o: $(ARBHOME)/INCLUDE/aw_window.hxx 384 NT_dbrepair.o: $(ARBHOME)/INCLUDE/awt.hxx 385 NT_dbrepair.o: $(ARBHOME)/INCLUDE/EXP.hxx 386 NT_dbrepair.o: $(ARBHOME)/INCLUDE/GEN.hxx 387 NT_dbrepair.o: $(ARBHOME)/INCLUDE/inline.h 388 NT_dbrepair.o: $(ARBHOME)/INCLUDE/smartptr.h 389 390 NT_edconf.o: nt_edconf.hxx 391 NT_edconf.o: $(ARBHOME)/INCLUDE/ad_config.h 392 NT_edconf.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 393 NT_edconf.o: $(ARBHOME)/INCLUDE/ad_prot.h 394 NT_edconf.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 395 NT_edconf.o: $(ARBHOME)/INCLUDE/arb_assert.h 396 NT_edconf.o: $(ARBHOME)/INCLUDE/arb_error.h 397 NT_edconf.o: $(ARBHOME)/INCLUDE/arbdb.h 398 NT_edconf.o: $(ARBHOME)/INCLUDE/arbdb_base.h 399 NT_edconf.o: $(ARBHOME)/INCLUDE/arbdbt.h 400 NT_edconf.o: $(ARBHOME)/INCLUDE/arbtools.h 401 NT_edconf.o: $(ARBHOME)/INCLUDE/attributes.h 402 NT_edconf.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 403 NT_edconf.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 404 NT_edconf.o: $(ARBHOME)/INCLUDE/aw_device.hxx 405 NT_edconf.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 406 NT_edconf.o: $(ARBHOME)/INCLUDE/aw_position.hxx 407 NT_edconf.o: $(ARBHOME)/INCLUDE/aw_root.hxx 408 NT_edconf.o: $(ARBHOME)/INCLUDE/aw_window.hxx 409 NT_edconf.o: $(ARBHOME)/INCLUDE/awt.hxx 410 NT_edconf.o: $(ARBHOME)/INCLUDE/awt_canvas.hxx 411 NT_edconf.o: $(ARBHOME)/INCLUDE/awt_dtree.hxx 412 NT_edconf.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 413 NT_edconf.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 414 NT_edconf.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 415 NT_edconf.o: $(ARBHOME)/INCLUDE/smartptr.h 416 417 NT_extern.o: ad_spec.hxx 418 NT_extern.o: ad_trees.hxx 419 NT_extern.o: ap_consensus.hxx 420 NT_extern.o: ap_conservProfile2Gnuplot.hxx 421 NT_extern.o: ap_csp_2_gnuplot.hxx 422 NT_extern.o: ap_pos_var_pars.hxx 423 NT_extern.o: nt_cb.hxx 424 NT_extern.o: NT_dbrepair.hxx 425 NT_extern.o: nt_edconf.hxx 426 NT_extern.o: nt_internal.h 427 NT_extern.o: nt_join.hxx 428 NT_extern.o: nt_sort.hxx 429 NT_extern.o: NT_trackAliChanges.h 430 NT_extern.o: ntree.hxx 431 NT_extern.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 432 NT_extern.o: $(ARBHOME)/INCLUDE/ad_prot.h 433 NT_extern.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 434 NT_extern.o: $(ARBHOME)/INCLUDE/adGene.h 435 NT_extern.o: $(ARBHOME)/INCLUDE/arb_assert.h 436 NT_extern.o: $(ARBHOME)/INCLUDE/arb_build.h 437 NT_extern.o: $(ARBHOME)/INCLUDE/arb_error.h 438 NT_extern.o: $(ARBHOME)/INCLUDE/arb_version.h 439 NT_extern.o: $(ARBHOME)/INCLUDE/arbdb.h 440 NT_extern.o: $(ARBHOME)/INCLUDE/arbdb_base.h 441 NT_extern.o: $(ARBHOME)/INCLUDE/arbdbt.h 442 NT_extern.o: $(ARBHOME)/INCLUDE/arbtools.h 443 NT_extern.o: $(ARBHOME)/INCLUDE/attributes.h 444 NT_extern.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 445 NT_extern.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 446 NT_extern.o: $(ARBHOME)/INCLUDE/aw_device.hxx 447 NT_extern.o: $(ARBHOME)/INCLUDE/aw_global.hxx 448 NT_extern.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 449 NT_extern.o: $(ARBHOME)/INCLUDE/aw_position.hxx 450 NT_extern.o: $(ARBHOME)/INCLUDE/aw_preset.hxx 451 NT_extern.o: $(ARBHOME)/INCLUDE/AW_rename.hxx 452 NT_extern.o: $(ARBHOME)/INCLUDE/aw_root.hxx 453 NT_extern.o: $(ARBHOME)/INCLUDE/aw_window.hxx 454 NT_extern.o: $(ARBHOME)/INCLUDE/awt.hxx 455 NT_extern.o: $(ARBHOME)/INCLUDE/awt_advice.hxx 456 NT_extern.o: $(ARBHOME)/INCLUDE/awt_canvas.hxx 457 NT_extern.o: $(ARBHOME)/INCLUDE/awt_config_manager.hxx 458 NT_extern.o: $(ARBHOME)/INCLUDE/awt_dtree.hxx 459 NT_extern.o: $(ARBHOME)/INCLUDE/awt_input_mask.hxx 460 NT_extern.o: $(ARBHOME)/INCLUDE/awt_macro.hxx 461 NT_extern.o: $(ARBHOME)/INCLUDE/awt_nds.hxx 462 NT_extern.o: $(ARBHOME)/INCLUDE/awt_preset.hxx 463 NT_extern.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 464 NT_extern.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 465 NT_extern.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 466 NT_extern.o: $(ARBHOME)/INCLUDE/awt_tree_cb.hxx 467 NT_extern.o: $(ARBHOME)/INCLUDE/awt_www.hxx 468 NT_extern.o: $(ARBHOME)/INCLUDE/awtc_submission.hxx 469 NT_extern.o: $(ARBHOME)/INCLUDE/awti_export.hxx 470 NT_extern.o: $(ARBHOME)/INCLUDE/EXP.hxx 471 NT_extern.o: $(ARBHOME)/INCLUDE/gde.hxx 472 NT_extern.o: $(ARBHOME)/INCLUDE/GEN.hxx 473 NT_extern.o: $(ARBHOME)/INCLUDE/primer_design.hxx 474 NT_extern.o: $(ARBHOME)/INCLUDE/probe_design.hxx 475 NT_extern.o: $(ARBHOME)/INCLUDE/seq_quality.h 476 NT_extern.o: $(ARBHOME)/INCLUDE/smartptr.h 477 NT_extern.o: $(ARBHOME)/INCLUDE/st_window.hxx 478 NT_extern.o: $(ARBHOME)/INCLUDE/svn_revision.h 479 480 NT_import.o: ad_spec.hxx 481 NT_import.o: nt_internal.h 482 NT_import.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 483 NT_import.o: $(ARBHOME)/INCLUDE/ad_prot.h 484 NT_import.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 485 NT_import.o: $(ARBHOME)/INCLUDE/adGene.h 486 NT_import.o: $(ARBHOME)/INCLUDE/arb_assert.h 487 NT_import.o: $(ARBHOME)/INCLUDE/arb_error.h 488 NT_import.o: $(ARBHOME)/INCLUDE/arbdb.h 489 NT_import.o: $(ARBHOME)/INCLUDE/arbdb_base.h 490 NT_import.o: $(ARBHOME)/INCLUDE/arbdbt.h 491 NT_import.o: $(ARBHOME)/INCLUDE/arbtools.h 492 NT_import.o: $(ARBHOME)/INCLUDE/attributes.h 493 NT_import.o: $(ARBHOME)/INCLUDE/aw_device.hxx 494 NT_import.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 495 NT_import.o: $(ARBHOME)/INCLUDE/aw_position.hxx 496 NT_import.o: $(ARBHOME)/INCLUDE/aw_root.hxx 497 NT_import.o: $(ARBHOME)/INCLUDE/aw_window.hxx 498 NT_import.o: $(ARBHOME)/INCLUDE/awt.hxx 499 NT_import.o: $(ARBHOME)/INCLUDE/awt_canvas.hxx 500 NT_import.o: $(ARBHOME)/INCLUDE/awti_import.hxx 501 NT_import.o: $(ARBHOME)/INCLUDE/GEN.hxx 502 NT_import.o: $(ARBHOME)/INCLUDE/mg_merge.hxx 503 NT_import.o: $(ARBHOME)/INCLUDE/smartptr.h 504 505 NT_ins_col.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 506 NT_ins_col.o: $(ARBHOME)/INCLUDE/ad_prot.h 507 NT_ins_col.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 508 NT_ins_col.o: $(ARBHOME)/INCLUDE/arb_assert.h 509 NT_ins_col.o: $(ARBHOME)/INCLUDE/arb_error.h 510 NT_ins_col.o: $(ARBHOME)/INCLUDE/arbdb.h 511 NT_ins_col.o: $(ARBHOME)/INCLUDE/arbdb_base.h 512 NT_ins_col.o: $(ARBHOME)/INCLUDE/arbdbt.h 513 NT_ins_col.o: $(ARBHOME)/INCLUDE/arbtools.h 514 NT_ins_col.o: $(ARBHOME)/INCLUDE/attributes.h 515 NT_ins_col.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 516 NT_ins_col.o: $(ARBHOME)/INCLUDE/aw_device.hxx 517 NT_ins_col.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 518 NT_ins_col.o: $(ARBHOME)/INCLUDE/aw_position.hxx 519 NT_ins_col.o: $(ARBHOME)/INCLUDE/aw_root.hxx 520 NT_ins_col.o: $(ARBHOME)/INCLUDE/aw_window.hxx 521 NT_ins_col.o: $(ARBHOME)/INCLUDE/smartptr.h 522 523 NT_join.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 524 NT_join.o: $(ARBHOME)/INCLUDE/ad_prot.h 525 NT_join.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 526 NT_join.o: $(ARBHOME)/INCLUDE/arb_assert.h 527 NT_join.o: $(ARBHOME)/INCLUDE/arb_error.h 528 NT_join.o: $(ARBHOME)/INCLUDE/arbdb.h 529 NT_join.o: $(ARBHOME)/INCLUDE/arbdb_base.h 530 NT_join.o: $(ARBHOME)/INCLUDE/arbdbt.h 531 NT_join.o: $(ARBHOME)/INCLUDE/arbtools.h 532 NT_join.o: $(ARBHOME)/INCLUDE/attributes.h 533 NT_join.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 534 NT_join.o: $(ARBHOME)/INCLUDE/aw_device.hxx 535 NT_join.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 536 NT_join.o: $(ARBHOME)/INCLUDE/aw_position.hxx 537 NT_join.o: $(ARBHOME)/INCLUDE/aw_root.hxx 538 NT_join.o: $(ARBHOME)/INCLUDE/aw_window.hxx 539 NT_join.o: $(ARBHOME)/INCLUDE/awt.hxx 540 NT_join.o: $(ARBHOME)/INCLUDE/awt_item_sel_list.hxx 541 NT_join.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 542 NT_join.o: $(ARBHOME)/INCLUDE/smartptr.h 543 544 NT_main.o: nt_cb.hxx 545 NT_main.o: NT_dbrepair.hxx 546 NT_main.o: nt_internal.h 547 NT_main.o: ntree.hxx 548 NT_main.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 549 NT_main.o: $(ARBHOME)/INCLUDE/ad_prot.h 550 NT_main.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 551 NT_main.o: $(ARBHOME)/INCLUDE/adGene.h 552 NT_main.o: $(ARBHOME)/INCLUDE/arb_assert.h 553 NT_main.o: $(ARBHOME)/INCLUDE/arb_build.h 554 NT_main.o: $(ARBHOME)/INCLUDE/arb_error.h 555 NT_main.o: $(ARBHOME)/INCLUDE/arb_version.h 556 NT_main.o: $(ARBHOME)/INCLUDE/arbdb.h 557 NT_main.o: $(ARBHOME)/INCLUDE/arbdb_base.h 558 NT_main.o: $(ARBHOME)/INCLUDE/arbdbt.h 559 NT_main.o: $(ARBHOME)/INCLUDE/arbtools.h 560 NT_main.o: $(ARBHOME)/INCLUDE/attributes.h 561 NT_main.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 562 NT_main.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 563 NT_main.o: $(ARBHOME)/INCLUDE/aw_device.hxx 564 NT_main.o: $(ARBHOME)/INCLUDE/aw_global.hxx 565 NT_main.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 566 NT_main.o: $(ARBHOME)/INCLUDE/aw_position.hxx 567 NT_main.o: $(ARBHOME)/INCLUDE/aw_question.hxx 568 NT_main.o: $(ARBHOME)/INCLUDE/aw_root.hxx 569 NT_main.o: $(ARBHOME)/INCLUDE/aw_window.hxx 570 NT_main.o: $(ARBHOME)/INCLUDE/awt.hxx 571 NT_main.o: $(ARBHOME)/INCLUDE/awt_advice.hxx 572 NT_main.o: $(ARBHOME)/INCLUDE/awt_canvas.hxx 573 NT_main.o: $(ARBHOME)/INCLUDE/awt_dtree.hxx 574 NT_main.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 575 NT_main.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 576 NT_main.o: $(ARBHOME)/INCLUDE/awti_import.hxx 577 NT_main.o: $(ARBHOME)/INCLUDE/mg_merge.hxx 578 NT_main.o: $(ARBHOME)/INCLUDE/servercntrl.h 579 NT_main.o: $(ARBHOME)/INCLUDE/smartptr.h 580 NT_main.o: $(ARBHOME)/INCLUDE/svn_revision.h 581 582 NT_sort.o: nt_sort.hxx 583 NT_sort.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 584 NT_sort.o: $(ARBHOME)/INCLUDE/ad_prot.h 585 NT_sort.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 586 NT_sort.o: $(ARBHOME)/INCLUDE/arb_assert.h 587 NT_sort.o: $(ARBHOME)/INCLUDE/arb_error.h 588 NT_sort.o: $(ARBHOME)/INCLUDE/arbdb.h 589 NT_sort.o: $(ARBHOME)/INCLUDE/arbdb_base.h 590 NT_sort.o: $(ARBHOME)/INCLUDE/arbdbt.h 591 NT_sort.o: $(ARBHOME)/INCLUDE/arbtools.h 592 NT_sort.o: $(ARBHOME)/INCLUDE/attributes.h 593 NT_sort.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 594 NT_sort.o: $(ARBHOME)/INCLUDE/aw_device.hxx 595 NT_sort.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 596 NT_sort.o: $(ARBHOME)/INCLUDE/aw_position.hxx 597 NT_sort.o: $(ARBHOME)/INCLUDE/aw_root.hxx 598 NT_sort.o: $(ARBHOME)/INCLUDE/aw_window.hxx 599 NT_sort.o: $(ARBHOME)/INCLUDE/awt.hxx 600 NT_sort.o: $(ARBHOME)/INCLUDE/awt_item_sel_list.hxx 601 NT_sort.o: $(ARBHOME)/INCLUDE/smartptr.h 602 603 NT_trackAliChanges.o: NT_trackAliChanges.h 604 NT_trackAliChanges.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 605 NT_trackAliChanges.o: $(ARBHOME)/INCLUDE/ad_prot.h 606 NT_trackAliChanges.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 607 NT_trackAliChanges.o: $(ARBHOME)/INCLUDE/arb_assert.h 608 NT_trackAliChanges.o: $(ARBHOME)/INCLUDE/arb_error.h 609 NT_trackAliChanges.o: $(ARBHOME)/INCLUDE/arbdb.h 610 NT_trackAliChanges.o: $(ARBHOME)/INCLUDE/arbdb_base.h 611 NT_trackAliChanges.o: $(ARBHOME)/INCLUDE/arbdbt.h 612 NT_trackAliChanges.o: $(ARBHOME)/INCLUDE/arbtools.h 613 NT_trackAliChanges.o: $(ARBHOME)/INCLUDE/attributes.h 614 NT_trackAliChanges.o: $(ARBHOME)/INCLUDE/aw_device.hxx 615 NT_trackAliChanges.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 616 NT_trackAliChanges.o: $(ARBHOME)/INCLUDE/aw_position.hxx 617 NT_trackAliChanges.o: $(ARBHOME)/INCLUDE/aw_root.hxx 618 NT_trackAliChanges.o: $(ARBHOME)/INCLUDE/aw_window.hxx 619 NT_trackAliChanges.o: $(ARBHOME)/INCLUDE/awt.hxx 620 NT_trackAliChanges.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 621 NT_trackAliChanges.o: $(ARBHOME)/INCLUDE/smartptr.h 622 623 NT_validManual.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 624 NT_validManual.o: $(ARBHOME)/INCLUDE/ad_prot.h 625 NT_validManual.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 626 NT_validManual.o: $(ARBHOME)/INCLUDE/arb_assert.h 627 NT_validManual.o: $(ARBHOME)/INCLUDE/arb_error.h 628 NT_validManual.o: $(ARBHOME)/INCLUDE/arbdb.h 629 NT_validManual.o: $(ARBHOME)/INCLUDE/arbdb_base.h 630 NT_validManual.o: $(ARBHOME)/INCLUDE/arbdbt.h 631 NT_validManual.o: $(ARBHOME)/INCLUDE/arbtools.h 632 NT_validManual.o: $(ARBHOME)/INCLUDE/attributes.h 633 NT_validManual.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 634 NT_validManual.o: $(ARBHOME)/INCLUDE/aw_device.hxx 635 NT_validManual.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 636 NT_validManual.o: $(ARBHOME)/INCLUDE/aw_position.hxx 637 NT_validManual.o: $(ARBHOME)/INCLUDE/aw_root.hxx 638 NT_validManual.o: $(ARBHOME)/INCLUDE/aw_window.hxx 639 NT_validManual.o: $(ARBHOME)/INCLUDE/awt.hxx 640 NT_validManual.o: $(ARBHOME)/INCLUDE/smartptr.h 641 642 NT_validNameParser.o: nt_validNameParser.hxx 643 644 NT_validNames.o: nt_validNameParser.hxx 645 NT_validNames.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 646 NT_validNames.o: $(ARBHOME)/INCLUDE/ad_prot.h 647 NT_validNames.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 648 NT_validNames.o: $(ARBHOME)/INCLUDE/arb_assert.h 649 NT_validNames.o: $(ARBHOME)/INCLUDE/arb_error.h 650 NT_validNames.o: $(ARBHOME)/INCLUDE/arbdb.h 651 NT_validNames.o: $(ARBHOME)/INCLUDE/arbdb_base.h 652 NT_validNames.o: $(ARBHOME)/INCLUDE/arbdbt.h 653 NT_validNames.o: $(ARBHOME)/INCLUDE/arbtools.h 654 NT_validNames.o: $(ARBHOME)/INCLUDE/attributes.h 655 NT_validNames.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 656 NT_validNames.o: $(ARBHOME)/INCLUDE/aw_device.hxx 657 NT_validNames.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 658 NT_validNames.o: $(ARBHOME)/INCLUDE/aw_position.hxx 659 NT_validNames.o: $(ARBHOME)/INCLUDE/aw_root.hxx 660 NT_validNames.o: $(ARBHOME)/INCLUDE/aw_window.hxx 661 NT_validNames.o: $(ARBHOME)/INCLUDE/awt.hxx 662 NT_validNames.o: $(ARBHOME)/INCLUDE/awt_www.hxx 663 NT_validNames.o: $(ARBHOME)/INCLUDE/smartptr.h 591 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_root.hxx 592 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_assert.h 593 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb_base.h 594 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/attributes.h 595 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_k_prot.h 596 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbtools.h 597 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arb_error.h 598 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/smartptr.h 599 ad_trees.o: nt_tree_cmp.hxx 600 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdbt.h 601 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/arbdb.h 602 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_prot.h 603 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/ad_t_prot.h 604 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/TreeRead.h 605 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/TreeWrite.h 606 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_sel_boxes.hxx 607 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt_nds.hxx 608 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/awt.hxx 609 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_window.hxx 610 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_device.hxx 611 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_position.hxx 612 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_keysym.hxx 613 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_awars.hxx 614 ad_trees.o: /home/ralf/ARB-saphira/ARB.quickChange/INCLUDE/aw_global.hxx -
trunk/NTREE/NT_cb.cxx
r5794 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 1 // =============================================================== // 2 // // 3 // File : NT_cb.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 3 10 4 #include <arbdb.h>5 #include <arbdbt.h>6 7 #include <aw_root.hxx>8 #include <aw_device.hxx>9 #include <aw_window.hxx>10 #include <aw_awars.hxx>11 #include <awt_canvas.hxx>12 #include <awt.hxx>13 14 #include <awt_tree.hxx>15 #include <awt_dtree.hxx>16 #include <awt_sel_boxes.hxx>17 #include "ad_trees.hxx"18 #include "ntree.hxx"19 11 #include "nt_internal.h" 20 12 #include "nt_cb.hxx" 13 #include "ntree.hxx" 14 #include "ad_trees.hxx" 21 15 16 #include <awt_canvas.hxx> 17 #include <awt_sel_boxes.hxx> 18 #include <aw_awars.hxx> 22 19 23 #define AWT_TREE(ntw) ((AWT_graphic_tree *)ntw->tree_disp) 20 /*AISC_MKPT_PROMOTE:#ifndef ARBDBT_H*/ 21 /*AISC_MKPT_PROMOTE:#include <arbdbt.h>*/ 22 /*AISC_MKPT_PROMOTE:#endif*/ 23 /*AISC_MKPT_PROMOTE:#ifndef AW_ROOT_HXX*/ 24 /*AISC_MKPT_PROMOTE:#include <aw_root.hxx>*/ 25 /*AISC_MKPT_PROMOTE:#endif*/ 26 /*AISC_MKPT_PROMOTE:*/ 27 /*AISC_MKPT_PROMOTE:class AW_window;*/ 28 /*AISC_MKPT_PROMOTE:class AWT_canvas;*/ 29 30 // #define AWT_TREE(ntw) ((AWT_graphic_tree *)ntw->tree_disp) 31 #define AWT_TREE(ntw) DOWNCAST(AWT_graphic_tree *, (ntw)->tree_disp) 24 32 25 33 void NT_delete_mark_all_cb(void *, AWT_canvas *ntw) { -
trunk/NTREE/NT_concatenate.cxx
r6141 r6280 11 11 /*=======================================================================================*/ 12 12 13 #include <stdio.h> 14 #include <stdlib.h> 15 #include <unistd.h> 16 #include <time.h> 17 #include <string.h> 18 #include <memory.h> 19 #include <iostream> 20 21 #include <arbdb.h> 22 #include <arbdbt.h> 23 #include <aw_root.hxx> 24 #include <aw_device.hxx> 25 #include <aw_window.hxx> 26 #include <aw_awars.hxx> 13 #include "nt_internal.h" 14 27 15 #include <awt.hxx> 28 #include <AW_rename.hxx>29 #include <awt_tree.hxx>30 #include <awt_canvas.hxx>31 16 #include <awt_item_sel_list.hxx> 32 17 #include <awt_sel_boxes.hxx> 33 #include "awtlocal.hxx"18 #include <AW_rename.hxx> 34 19 #include <aw_question.hxx> 35 #include "nt_internal.h" 36 #include <nt_sort.hxx> // for sorting database entries 37 38 #ifndef ARB_ASSERT_H 39 #include <arb_assert.h> 40 #endif 20 41 21 #define nt_assert(bed) arb_assert(bed) 42 22 -
trunk/NTREE/NT_edconf.cxx
r6158 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 5 #include <arbdb.h> 6 #include <arbdbt.h> 1 // =============================================================== // 2 // // 3 // File : NT_edconf.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #include "nt_cb.hxx" 12 #include "nt_internal.h" 13 14 #include <awt_sel_boxes.hxx> 15 #include <aw_window.hxx> 16 #include <aw_awars.hxx> 7 17 #include <ad_config.h> 8 #include <aw_awars.hxx> 9 #include <aw_root.hxx> 10 #include <aw_device.hxx> 11 #include <aw_window.hxx> 12 13 #include "nt_edconf.hxx" 14 15 #include <awt.hxx> 16 #include <awt_canvas.hxx> 17 #include <awt_tree.hxx> 18 #include <awt_dtree.hxx> 19 #include <awt_sel_boxes.hxx> 20 21 #ifndef ARB_ASSERT_H 22 #include <arb_assert.h> 23 #endif 18 24 19 #define nt_assert(bed) arb_assert(bed) 25 20 … … 379 374 } 380 375 381 void NT_start_editor_on_tree(AW_window *, GBT_TREE **ptree, int use_species_aside){ 382 GB_ERROR error = NT_create_configuration(0,ptree,CONFNAME, use_species_aside); 383 if (!error) { 384 GBCMC_system(GLOBAL_gb_main, "arb_edit4 -c "CONFNAME" &"); 385 } 376 void NT_start_editor_on_tree(AW_window *, AW_CL cl_use_species_aside, AW_CL) { 377 GB_ERROR error = NT_create_configuration(0, nt_get_current_tree_root(), CONFNAME, (int)cl_use_species_aside); 378 if (!error) GBCMC_system(GLOBAL_gb_main, "arb_edit4 -c "CONFNAME" &"); 386 379 } 387 380 … … 477 470 478 471 479 GB_ERROR NT_create_configuration(AW_window *, GBT_TREE **ptree,const char *conf_name, int use_species_aside){ 480 GBT_TREE *tree = *ptree; 481 char *to_free = 0; 472 GB_ERROR NT_create_configuration(AW_window *, GBT_TREE *tree, const char *conf_name, int use_species_aside) { 473 char *to_free = 0; 482 474 483 475 if (!conf_name) { … … 492 484 { 493 485 const char *val = GBS_global_string("%i", last_used_species_aside); 494 char *use_species = aw_input(" Enter number ofextra species to view aside marked:", val);486 char *use_species = aw_input("How many extra species to view aside marked:", val); 495 487 if (use_species) use_species_aside = atoi(use_species); 496 488 free(use_species); … … 551 543 } 552 544 553 void nt_store_configuration(AW_window */*aww*/, AW_CL cl_GBT_TREE_ptr) { 554 GBT_TREE **ptree = (GBT_TREE**)cl_GBT_TREE_ptr; 555 GB_ERROR err = NT_create_configuration(0, ptree, 0, 0); 545 static void nt_store_configuration(AW_window *) { 546 GB_ERROR err = NT_create_configuration(0, nt_get_current_tree_root(), 0, 0); 556 547 if (err) aw_message(err); 557 548 } … … 586 577 free(old_name); 587 578 } 588 // -------------------------------------------------------------------------------------- 589 // AW_window *create_configuration_admin_window(AW_root *root, GBT_TREE **ptree) 590 // -------------------------------------------------------------------------------------- 591 AW_window *create_configuration_admin_window(AW_root *root, GBT_TREE **ptree) { 579 580 static AW_window *create_configuration_admin_window(AW_root *root) { 592 581 static AW_window_simple *aws = 0; 593 if (aws) return aws; 594 595 init_config_awars(root); 596 597 aws = new AW_window_simple; 598 aws->init(root, "SPECIES_SELECTIONS", "Species Selections"); 599 aws->load_xfig("nt_selection.fig"); 600 601 aws->at("close"); 602 aws->callback( (AW_CB0)AW_POPDOWN); 603 aws->create_button("CLOSE","CLOSE","C"); 604 605 aws->at("help"); 606 aws->callback(AW_POPUP_HELP,(AW_CL)"configuration.hlp"); 607 aws->create_button("HELP","HELP","H"); 608 609 aws->at("list"); 610 awt_create_selection_list_on_configurations(GLOBAL_gb_main, aws, AWAR_CONFIGURATION); 611 612 aws->at("store"); 613 aws->callback(nt_store_configuration, (AW_CL)ptree); 614 aws->create_button("STORE","STORE","S"); 615 616 aws->at("extract"); 617 aws->callback(nt_extract_configuration, CONF_EXTRACT); 618 aws->create_button("EXTRACT","EXTRACT","E"); 619 620 aws->at("mark"); 621 aws->callback(nt_extract_configuration, CONF_MARK); 622 aws->create_button("MARK","MARK","M"); 623 624 aws->at("unmark"); 625 aws->callback(nt_extract_configuration, CONF_UNMARK); 626 aws->create_button("UNMARK","UNMARK","U"); 627 628 aws->at("invert"); 629 aws->callback(nt_extract_configuration, CONF_INVERT); 630 aws->create_button("INVERT","INVERT","I"); 631 632 aws->at("combine"); 633 aws->callback(nt_extract_configuration, CONF_COMBINE); 634 aws->create_button("COMBINE","COMBINE","C"); 635 636 aws->at("delete"); 637 aws->callback(nt_delete_configuration); 638 aws->create_button("DELETE","DELETE","D"); 639 640 aws->at("rename"); 641 aws->callback(nt_rename_configuration); 642 aws->create_button("RENAME","RENAME","R"); 643 582 if (!aws) { 583 init_config_awars(root); 584 585 aws = new AW_window_simple; 586 aws->init(root, "SPECIES_SELECTIONS", "Species Selections"); 587 aws->load_xfig("nt_selection.fig"); 588 589 aws->at("close"); 590 aws->callback( (AW_CB0)AW_POPDOWN); 591 aws->create_button("CLOSE","CLOSE","C"); 592 593 aws->at("help"); 594 aws->callback(AW_POPUP_HELP,(AW_CL)"configuration.hlp"); 595 aws->create_button("HELP","HELP","H"); 596 597 aws->at("list"); 598 awt_create_selection_list_on_configurations(GLOBAL_gb_main, aws, AWAR_CONFIGURATION); 599 600 aws->at("store"); 601 aws->callback(nt_store_configuration); 602 aws->create_button("STORE","STORE","S"); 603 604 aws->at("extract"); 605 aws->callback(nt_extract_configuration, CONF_EXTRACT); 606 aws->create_button("EXTRACT","EXTRACT","E"); 607 608 aws->at("mark"); 609 aws->callback(nt_extract_configuration, CONF_MARK); 610 aws->create_button("MARK","MARK","M"); 611 612 aws->at("unmark"); 613 aws->callback(nt_extract_configuration, CONF_UNMARK); 614 aws->create_button("UNMARK","UNMARK","U"); 615 616 aws->at("invert"); 617 aws->callback(nt_extract_configuration, CONF_INVERT); 618 aws->create_button("INVERT","INVERT","I"); 619 620 aws->at("combine"); 621 aws->callback(nt_extract_configuration, CONF_COMBINE); 622 aws->create_button("COMBINE","COMBINE","C"); 623 624 aws->at("delete"); 625 aws->callback(nt_delete_configuration); 626 aws->create_button("DELETE","DELETE","D"); 627 628 aws->at("rename"); 629 aws->callback(nt_rename_configuration); 630 aws->create_button("RENAME","RENAME","R"); 631 } 644 632 return aws; 645 633 } 646 634 647 void NT_popup_configuration_admin(AW_window *aw_main, AW_CL cl_GBT_TREE_ptr, AW_CL) { 648 GBT_TREE **ptree = (GBT_TREE**)cl_GBT_TREE_ptr; 649 AW_root *aw_root = aw_main->get_root(); 650 AW_window *aww = create_configuration_admin_window(aw_root, ptree); 651 635 void NT_popup_configuration_admin(AW_window *aw_main, AW_CL, AW_CL) { 636 AW_window *aww = create_configuration_admin_window(aw_main->get_root()); 652 637 aww->activate(); 653 638 } -
trunk/NTREE/NT_extern.cxx
r6200 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 5 #include <arbdb.h> 6 #include <arbdbt.h> 7 #include <aw_root.hxx> 8 #include <aw_device.hxx> 9 #include <aw_window.hxx> 10 #include <aw_awars.hxx> 11 1 // =============================================================== // 2 // // 3 // File : NT_extern.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #include "nt_internal.h" 12 #include "ntree.hxx" 13 #include "ad_spec.hxx" 12 14 #include "ad_trees.hxx" 13 #include "ad_spec.hxx" 15 #include "ap_consensus.hxx" 16 #include "seq_quality.h" 17 #include "nt_join.hxx" 18 19 #include <st_window.hxx> 20 #include <GEN.hxx> 21 #include <EXP.hxx> 22 23 #include <TreeCallbacks.hxx> 24 #include <AW_rename.hxx> 25 #include <probe_design.hxx> 26 #include <primer_design.hxx> 27 #include <gde.hxx> 28 #include <awtc_submission.hxx> 29 30 #include <awti_export.hxx> 31 32 #include <awt_preset.hxx> 33 #include <awt_macro.hxx> 34 #include <awt_advice.hxx> 35 #include <awt_config_manager.hxx> 36 #include <awt_input_mask.hxx> 37 #include <awt_sel_boxes.hxx> 38 #include <awt_www.hxx> 14 39 #include <awt_nds.hxx> 15 #include <awt_canvas.hxx> 40 16 41 #include <aw_preset.hxx> 17 42 #include <aw_global.hxx> 18 #include <awt_preset.hxx> 19 #include <awt_advice.hxx> 20 #include <awt_config_manager.hxx> 21 #include <awt_sel_boxes.hxx> 22 #include <awt_macro.hxx> 23 24 #include <AW_rename.hxx> 25 #include <awtc_submission.hxx> 26 #include <gde.hxx> 27 28 #include <awt_www.hxx> 29 #include <awt_tree.hxx> 30 #include <awt_dtree.hxx> 31 #include <awt_tree_cb.hxx> 32 #include "ntree.hxx" 33 #include "nt_cb.hxx" 34 #include "nt_sort.hxx" 35 #include "ap_consensus.hxx" 36 #include "ap_csp_2_gnuplot.hxx" 37 #include "ap_conservProfile2Gnuplot.hxx" 38 #include <awti_export.hxx> 39 #include "nt_join.hxx" 40 #include "nt_edconf.hxx" 41 #include "ap_pos_var_pars.hxx" 43 #include <aw_awars.hxx> 44 42 45 #include <arb_version.h> 43 #include "nt_internal.h" 44 #include <st_window.hxx> 45 #include <probe_design.hxx> 46 #include <primer_design.hxx> 47 #include <GEN.hxx> 48 #include <EXP.hxx> 49 #include <awt_input_mask.hxx> 50 51 #include "seq_quality.h" 52 #include "NT_trackAliChanges.h" 53 #include "NT_dbrepair.hxx" 54 55 #ifndef ARB_ASSERT_H 56 #include <arb_assert.h> 57 #endif 46 58 47 #define nt_assert(bed) arb_assert(bed) 59 48 … … 813 802 AWT_canvas *ntw = (AWT_canvas *)ntwcl; 814 803 GB_transaction dummy(ntw->gb_main); 815 804 816 805 NT_mark_all_cb(aww,(AW_CL)ntw, (AW_CL)0); 817 AWT_TREE(ntw)->tree_root->mark_degenerated_branches(ntw->gb_main,atof(val)); 818 AWT_TREE(ntw)->tree_root->compute_tree(ntw->gb_main); 806 AP_tree *tree_root = AWT_TREE(ntw)->get_root_node(); 807 tree_root->mark_degenerated_branches(ntw->gb_main,atof(val)); 808 tree_root->compute_tree(ntw->gb_main); 819 809 free(val); 820 810 ntw->refresh(); … … 829 819 830 820 NT_mark_all_cb(aww,(AW_CL)ntw, (AW_CL)0); 831 AWT_TREE(ntw)->tree_root->mark_deep_branches(ntw->gb_main,atoi(val)); 832 AWT_TREE(ntw)->tree_root->compute_tree(ntw->gb_main); 821 AP_tree *tree_root = AWT_TREE(ntw)->get_root_node(); 822 tree_root->mark_deep_branches(ntw->gb_main,atoi(val)); 823 tree_root->compute_tree(ntw->gb_main); 833 824 free(val); 834 825 ntw->refresh(); … … 851 842 852 843 NT_mark_all_cb(aww,(AW_CL)ntw, (AW_CL)0); 853 AWT_TREE(ntw)->tree_root->mark_long_branches(ntw->gb_main, min_rel_diff, min_abs_diff); 854 AWT_TREE(ntw)->tree_root->compute_tree(ntw->gb_main); 844 AP_tree *tree_root = AWT_TREE(ntw)->get_root_node(); 845 tree_root->mark_long_branches(ntw->gb_main, min_rel_diff, min_abs_diff); 846 tree_root->compute_tree(ntw->gb_main); 855 847 ntw->refresh(); 856 848 } … … 864 856 GB_transaction dummy(ntw->gb_main); 865 857 NT_mark_all_cb(aww,(AW_CL)ntw, (AW_CL)0); 866 AWT_TREE(ntw)->tree_root->mark_duplicates(ntw->gb_main); 867 AWT_TREE(ntw)->tree_root->compute_tree(ntw->gb_main); 858 AP_tree *tree_root = AWT_TREE(ntw)->get_root_node(); 859 tree_root->mark_duplicates(ntw->gb_main); 860 tree_root->compute_tree(ntw->gb_main); 868 861 ntw->refresh(); 869 862 } 870 863 871 864 void NT_justify_branch_lenghs(AW_window *, AW_CL cl_ntw, AW_CL){ 872 AWT_canvas *ntw = (AWT_canvas *)cl_ntw; 873 GB_transaction dummy(ntw->gb_main); 874 if (AWT_TREE(ntw)->tree_root){ 875 AWT_TREE(ntw)->tree_root->justify_branch_lenghs(ntw->gb_main); 876 AWT_TREE(ntw)->tree_root->compute_tree(ntw->gb_main); 865 AWT_canvas *ntw = (AWT_canvas *)cl_ntw; 866 GB_transaction dummy(ntw->gb_main); 867 AP_tree *tree_root = AWT_TREE(ntw)->get_root_node(); 868 869 if (tree_root){ 870 tree_root->justify_branch_lenghs(ntw->gb_main); 871 tree_root->compute_tree(ntw->gb_main); 877 872 GB_ERROR error = AWT_TREE(ntw)->save(ntw->gb_main,0,0,0); 878 873 if (error) aw_message(error); … … 905 900 906 901 void NT_pseudo_species_to_organism(AW_window *, AW_CL ntwcl){ 907 AWT_canvas *ntw = (AWT_canvas *)ntwcl;902 AWT_canvas *ntw = (AWT_canvas *)ntwcl; 908 903 GB_transaction dummy(ntw->gb_main); 909 if (AWT_TREE(ntw)->tree_root){ 904 AP_tree *tree_root = AWT_TREE(ntw)->get_root_node(); 905 906 if (tree_root){ 910 907 GB_HASH *organism_hash = GBT_create_organism_hash(ntw->gb_main); 911 AWT_TREE(ntw)->tree_root->relink_tree(ntw->gb_main, relink_pseudo_species_to_organisms, organism_hash);912 AWT_TREE(ntw)->tree_root->compute_tree(ntw->gb_main);908 tree_root->relink_tree(ntw->gb_main, relink_pseudo_species_to_organisms, organism_hash); 909 tree_root->compute_tree(ntw->gb_main); 913 910 GB_ERROR error = AWT_TREE(ntw)->save(ntw->gb_main,0,0,0); 914 911 if (error) aw_message(error); … … 1056 1053 } 1057 1054 1055 GBT_TREE *nt_get_current_tree_root() { 1056 if (GLOBAL_NT.tree) { 1057 AP_tree *root = GLOBAL_NT.tree->get_root_node(); 1058 if (root) { 1059 return (GBT_TREE*)root; 1060 } 1061 } 1062 return NULL; 1063 } 1064 1058 1065 //-------------------------------------------------------------------------------------------------- 1059 1066 … … 1090 1097 if (!clone) AW_init_color_group_defaults("arb_ntree"); 1091 1098 1092 GLOBAL_NT.tree = NT_generate_tree(awr, GLOBAL_gb_main);1099 GLOBAL_NT.tree = NT_generate_tree(awr, GLOBAL_gb_main); 1093 1100 1094 1101 AWT_canvas *ntw; … … 1108 1115 if (existing_tree_name) { 1109 1116 awr->awar(awar_tree)->write_string(existing_tree_name); 1110 NT_reload_tree_event(awr,ntw,GB_FALSE); // load first tree !!!!!!! 1111 }else{ 1117 NT_reload_tree_event(awr, ntw); // load first tree 1118 } 1119 else { 1112 1120 AWT_advice("Your database contains no tree.", AWT_ADVICE_TOGGLE|AWT_ADVICE_HELP, 0, "no_tree.hlp"); 1113 } 1114 1115 awr->awar( awar_tree)->add_callback( (AW_RCB)NT_reload_tree_event, (AW_CL)ntw,(AW_CL)GB_FALSE); 1121 GLOBAL_NT.tree->set_tree_type(AP_LIST_NDS); // no tree -> show NDS list 1122 } 1123 1124 awr->awar( awar_tree)->add_callback( (AW_RCB)NT_reload_tree_event, (AW_CL)ntw, 0); 1116 1125 1117 1126 free(existing_tree_name); … … 1217 1226 1218 1227 NT_insert_mark_submenus(awm, ntw, 1); 1219 AWMIMT("species_colors", "Set Colors", "l", "mark_colors.hlp", AWM_ALL, AW_POPUP, (AW_CL)NT_create_species_colorize_window, 0);1220 AWMIMT("selection_admin", "Configurations", "o", "configuration.hlp", AWM_ALL, NT_popup_configuration_admin, (AW_CL)&(GLOBAL_NT.tree->tree_root), (AW_CL)0);1228 AWMIMT("species_colors", "Set Colors", "l", "mark_colors.hlp", AWM_ALL, AW_POPUP, (AW_CL)NT_create_species_colorize_window, 0); 1229 AWMIMT("selection_admin", "Configurations", "o", "configuration.hlp", AWM_ALL, NT_popup_configuration_admin, 0, 0); 1221 1230 1222 1231 SEP________________________SEP(); … … 1233 1242 awm->insert_sub_menu("Sort Species", "r"); 1234 1243 { 1235 AWMIMT("sort_by_field", "According to Database Entries", "D", "sp_sort_fld.hlp", AWM_ALL, AW_POPUP, (AW_CL)NT_build_resort_window,0);1236 AWMIMT("sort_by_tree", "According to Phylogeny", "P", "sp_sort_phyl.hlp", AWM_ALL, (AW_CB)NT_resort_data_by_phylogeny, (AW_CL)&(GLOBAL_NT.tree->tree_root),0);1244 AWMIMT("sort_by_field", "According to Database Entries", "D", "sp_sort_fld.hlp", AWM_ALL, AW_POPUP, (AW_CL)NT_build_resort_window, 0); 1245 AWMIMT("sort_by_tree", "According to Phylogeny", "P", "sp_sort_phyl.hlp", AWM_ALL, NT_resort_data_by_phylogeny, 0, 0); 1237 1246 } 1238 1247 awm->close_sub_menu(); … … 1279 1288 awm->insert_sub_menu("Edit Sequences","E"); 1280 1289 { 1281 AWMIMT("new_arb_edit4", "Using marked species and tree", "m", "arb_edit4.hlp", AWM_ALL, (AW_CB)NT_start_editor_on_tree, (AW_CL)&(GLOBAL_NT.tree->tree_root),0);1282 AWMIMT("new2_arb_edit4", "... plus relatives", "r", "arb_edit4.hlp", AWM_ALL, (AW_CB)NT_start_editor_on_tree, (AW_CL)&(GLOBAL_NT.tree->tree_root), -1);1290 AWMIMT("new_arb_edit4", "Using marked species and tree", "m", "arb_edit4.hlp", AWM_ALL, NT_start_editor_on_tree, 0, 0); 1291 AWMIMT("new2_arb_edit4", "... plus relatives", "r", "arb_edit4.hlp", AWM_ALL, NT_start_editor_on_tree, -1, 0); 1283 1292 AWMIMT("old_arb_edit4", "Using earlier configuration", "c", "arb_edit4.hlp", AWM_ALL, AW_POPUP, (AW_CL)NT_start_editor_on_old_configuration, 0); 1284 1293 } … … 1552 1561 awm->create_mode("pzoom.bitmap", "mode_pzoom.hlp", AWM_ALL, (AW_CB)nt_mode_event, (AW_CL)ntw, (AW_CL)AWT_MODE_ZOOM); 1553 1562 awm->create_mode("lzoom.bitmap", "mode_lzoom.hlp", AWM_ALL, (AW_CB)nt_mode_event, (AW_CL)ntw, (AW_CL)AWT_MODE_LZOOM); 1554 awm->create_mode("modify.bitmap", "mode_info.hlp", AWM_ALL, (AW_CB)NT_modify_cb, (AW_CL)ntw, (AW_CL)AWT_MODE_ MOD);1563 awm->create_mode("modify.bitmap", "mode_info.hlp", AWM_ALL, (AW_CB)NT_modify_cb, (AW_CL)ntw, (AW_CL)AWT_MODE_EDIT); 1555 1564 awm->create_mode("www_mode.bitmap", "mode_www.hlp", AWM_ALL, (AW_CB)nt_mode_event, (AW_CL)ntw, (AW_CL)AWT_MODE_WWW); 1556 1565 … … 1708 1717 1709 1718 awm->at_set_to(false, false, ((2-is_genome_db)*EDIT_XSIZE), EDIT_YSIZE); 1710 awm->callback( (AW_CB)NT_start_editor_on_tree, (AW_CL)&(GLOBAL_NT.tree->tree_root), 0);1719 awm->callback(NT_start_editor_on_tree, 0, 0); 1711 1720 awm->help_text("arb_edit4.hlp"); 1712 1721 awm->create_button("EDIT_SEQUENCES", "#edit.xpm"); … … 1765 1774 awm->button_length(13); 1766 1775 awm->help_text("marked_species.hlp"); 1767 awm->callback(NT_popup_configuration_admin, (AW_CL)&(GLOBAL_NT.tree->tree_root), 0);1776 awm->callback(NT_popup_configuration_admin, 0, 0); 1768 1777 awm->create_button(0, AWAR_MARKED_SPECIES_COUNTER); 1769 1778 { -
trunk/NTREE/NT_main.cxx
r6206 r6280 1 #include <string.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <arbdb.h> 5 #include <arbdbt.h> 6 #include <adGene.h> 7 8 #include <servercntrl.h> 9 #include <aw_root.hxx> 10 #include <aw_device.hxx> 11 #include <aw_window.hxx> 12 #include <aw_awars.hxx> 13 #include <aw_question.hxx> 14 #include <aw_global.hxx> 15 #include <awt_canvas.hxx> 16 #include <awt_advice.hxx> 17 18 #include <awt_tree.hxx> 19 #include <awt_dtree.hxx> 20 #include <awt.hxx> 21 #include <awti_import.hxx> 22 23 #include <mg_merge.hxx> 1 // =============================================================== // 2 // // 3 // File : NT_main.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 24 10 25 11 #include "nt_internal.h" 26 12 #include "ntree.hxx" 27 13 #include "nt_cb.hxx" 28 #include "NT_dbrepair.hxx" 29 14 15 #include <mg_merge.hxx> 16 #include <awti_import.hxx> 17 #include <awt_advice.hxx> 18 #include <awt.hxx> 19 #include <aw_global.hxx> 20 #include <aw_question.hxx> 21 #include <aw_awars.hxx> 22 #include <adGene.h> 30 23 #include <arb_version.h> 31 24 -
trunk/NTREE/NT_trackAliChanges.cxx
r5851 r6280 10 10 // =============================================================== // 11 11 12 #include <cstdlib> 13 #include <cstring> 12 #include "NT_trackAliChanges.h" 13 14 #include <awt_sel_boxes.hxx> 15 #include <aw_window.hxx> 14 16 #include <ctime> 15 16 17 #include <awt.hxx>18 #include <awt_sel_boxes.hxx>19 #include <arbdbt.h>20 21 #include "NT_trackAliChanges.h"22 17 23 18 extern GBDATA *GLOBAL_gb_main; -
trunk/NTREE/NT_trackAliChanges.h
r5675 r6280 13 13 #define NT_TRACKALICHANGES_H 14 14 15 #ifndef AW_ROOT_HXX 16 #include <aw_root.hxx> 17 #endif 18 19 class AW_window; 20 15 21 void NT_create_trackAliChanges_Awars(AW_root *root, AW_default aw_def); 16 22 AW_window *NT_create_trackAliChanges_window(AW_root *root); -
trunk/NTREE/ad_spec.cxx
r6188 r6280 1 // =============================================================== // 2 // // 3 // File : ad_spec.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 1 12 #include "ad_spec.hxx" 2 3 #include <stdio.h> 4 #include <stdlib.h> 5 #include <string.h> 6 #include <arbdbt.h> 7 #include <aw_awars.hxx> 8 #include <awt_www.hxx> 9 #include <awt_tree.hxx> 10 #include <awt_canvas.hxx> 11 #include <awt_dtree.hxx> 12 #include <awtlocal.hxx> 13 #include <awt_item_sel_list.hxx> 14 #include <awt_sel_boxes.hxx> 15 #include <db_scanner.hxx> 13 #include "nt_internal.h" 14 #include "ntree.hxx" 15 16 16 #include <awtc_next_neighbours.hxx> 17 17 #include <AW_rename.hxx> 18 #include <ntree.hxx> 19 #include <nt_internal.h> 20 21 #ifndef ARB_ASSERT_H 22 #include <arb_assert.h> 23 #endif 18 #include <db_scanner.hxx> 19 #include <awt_item_sel_list.hxx> 20 #include <awtlocal.hxx> 21 #include <awt_www.hxx> 22 #include <awt_canvas.hxx> 23 #include <awt_sel_boxes.hxx> 24 #include <aw_awars.hxx> 25 24 26 #define nt_assert(bed) arb_assert(bed) 25 27 -
trunk/NTREE/ad_transpro.cxx
r6141 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <ctype.h> 5 6 #include <arbdb.h> 7 #include <arbdbt.h> 8 #include <aw_root.hxx> 9 #include <aw_device.hxx> 1 // =============================================================== // 2 // // 3 // File : ad_transpro.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #include "nt_internal.h" 12 13 #include <awt_sel_boxes.hxx> 14 #include <Translate.hxx> 15 #include <AP_codon_table.hxx> 16 #include <AP_pro_a_nucs.hxx> 10 17 #include <aw_awars.hxx> 11 #include <aw_window.hxx> 12 #include <awt.hxx> 13 #include <awt_codon_table.hxx> 14 #include <awt_sel_boxes.hxx> 15 #include <awt_pro_a_nucs.hxx> 16 #include <awt_translate.hxx> 17 18 #ifndef ARB_ASSERT_H 19 #include <arb_assert.h> 20 #endif 18 #include <cctype> 19 21 20 #define nt_assert(bed) arb_assert(bed) 22 21 … … 343 342 GB_ERROR arb_transdna(GBDATA *gb_main, char *ali_source, char *ali_dest, long *neededLength) 344 343 { 345 A WT_initialize_codon_tables();344 AP_initialize_codon_tables(); 346 345 347 346 GBDATA *gb_source = GBT_get_alignment(gb_main,ali_source); if (!gb_source) return "Please select a valid source alignment"; -
trunk/NTREE/ad_trees.cxx
r6200 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <memory.h> 4 // #include <malloc.h> 5 #include <string.h> 6 #include <unistd.h> 7 8 #include <arbdb.h> 9 #include <arbdbt.h> 10 #include <aw_root.hxx> 11 #include <aw_device.hxx> 12 #include <aw_window.hxx> 1 // =============================================================== // 2 // // 3 // File : ad_trees.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #include "ad_trees.hxx" 12 #include "nt_tree_cmp.hxx" 13 14 #include <TreeRead.h> 15 #include <TreeWrite.h> 16 #include <awt_sel_boxes.hxx> 17 #include <awt_nds.hxx> 18 #include <awt.hxx> 13 19 #include <aw_awars.hxx> 14 20 #include <aw_global.hxx> 15 #include <awt.hxx> 16 #include <TreeRead.h> 17 #include <TreeWrite.h> 18 #include <awt_tree_cmp.hxx> 19 #include <awt_sel_boxes.hxx> 20 #include <awt_nds.hxx> 21 22 #include "ad_trees.hxx" 23 24 #ifndef ARB_ASSERT_H 25 #include <arb_assert.h> 26 #endif 21 27 22 #define nt_assert(bed) arb_assert(bed) 28 23 … … 184 179 185 180 void tree_rename_cb(AW_window *aww) { 186 char *source = aww->get_root()->awar(AWAR_TREE_NAME)->read_string(); 187 char *dest = aww->get_root()->awar(AWAR_TREE_DEST)->read_string(); 188 GB_ERROR error = GBT_check_tree_name(dest); 181 AW_root *aw_root = aww->get_root(); 182 AW_awar *awar_tree = aw_root->awar(AWAR_TREE_NAME); 183 char *source = awar_tree->read_string(); 184 char *dest = aw_root->awar(AWAR_TREE_DEST)->read_string(); 185 GB_ERROR error = GBT_check_tree_name(dest); 189 186 190 187 if (!error) { … … 211 208 } 212 209 } 210 211 if (!error) awar_tree->write_string(dest); 213 212 error = GB_end_transaction(GLOBAL_gb_main, error); 214 213 } 215 214 216 215 aww->hide_or_notify(error); 217 216 218 217 free(dest); 219 218 free(source); … … 679 678 } 680 679 void ad_tr_delete_cb(AW_window *aww){ 681 GB_ERROR error = 0; 682 char *source = aww->get_root()->awar(AWAR_TREE_NAME)->read_string(); 683 684 GB_begin_transaction(GLOBAL_gb_main); 685 686 GBDATA *gb_tree = GBT_get_tree(GLOBAL_gb_main,source); 687 if (gb_tree) { 688 char *newname = GBT_get_next_tree_name(GLOBAL_gb_main,source); 689 error = GB_delete(gb_tree); 690 if (!error && newname) { 691 aww->get_root()->awar(AWAR_TREE_NAME)->write_string(strcmp(newname, source) == 0 ? "" : newname); 692 } 680 AW_awar *awar_tree = aww->get_root()->awar(AWAR_TREE_NAME); 681 char *source = awar_tree->read_string(); 682 683 // 1. switch to next tree 684 { 685 GB_transaction ta(GLOBAL_gb_main); 686 char *newname = GBT_get_next_tree_name(GLOBAL_gb_main, source); 687 688 awar_tree->write_string(!newname || (strcmp(newname, source) == 0) ? "" : newname); 693 689 free(newname); 694 690 } 695 else { 696 error = "Please select a tree first"; 697 } 698 699 if (!error) GB_commit_transaction(GLOBAL_gb_main); 700 else GB_abort_transaction(GLOBAL_gb_main); 701 702 if (error) aw_message(error); 691 692 // 2. delete old tree 693 { 694 GB_ERROR error = GB_begin_transaction(GLOBAL_gb_main); 695 GBDATA *gb_tree = GBT_get_tree(GLOBAL_gb_main,source); 696 if (gb_tree) { 697 char *newname = GBT_get_next_tree_name(GLOBAL_gb_main,source); 698 error = GB_delete(gb_tree); 699 if (!error && newname) { 700 awar_tree->write_string(strcmp(newname, source) == 0 ? "" : newname); 701 } 702 free(newname); 703 } 704 else { 705 error = "Please select a tree first"; 706 } 707 708 error = GB_end_transaction(GLOBAL_gb_main, error); 709 if (error) { 710 aw_message(error); 711 awar_tree->write_string(source); // switch back to failed tree 712 } 713 } 714 703 715 free(source); 704 716 } -
trunk/NTREE/ad_trees.hxx
r6033 r6280 12 12 #define AD_TREES_HXX 13 13 14 #ifndef AW_ROOT_HXX 15 #include <aw_root.hxx> 16 #endif 17 14 18 #define AWAR_TREE_NAME "tmp/ad_tree/tree_name" 15 19 -
trunk/NTREE/ap_csp_2_gnuplot.hxx
r5390 r6280 1 // ================================================================ // 2 // // 3 // File : ap_csp_2_gnuplot.hxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // ================================================================ // 10 11 #ifndef AP_CSP_2_GNUPLOT_HXX 12 #define AP_CSP_2_GNUPLOT_HXX 13 1 14 #define AP_AWAR_CSP "tmp/ntree/csp_2_gnuplot" 2 15 #define AP_AWAR_CSP_NAME AP_AWAR_CSP "/name" … … 15 28 16 29 AW_window *AP_open_csp_2_gnuplot_window( AW_root *root ); 30 31 #else 32 #error ap_csp_2_gnuplot.hxx included twice 33 #endif // AP_CSP_2_GNUPLOT_HXX -
trunk/NTREE/ap_pos_var_pars.hxx
r6141 r6280 1 #define AWAR_PVP_SAI "tmp/pos_var_pars/sai" 1 // =============================================================== // 2 // // 3 // File : ap_pos_var_pars.hxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #ifndef AP_POS_VAR_PARS_HXX 12 #define AP_POS_VAR_PARS_HXX 13 14 #ifndef ARBDBT_H 15 #include <arbdbt.h> 16 #endif 17 18 class AW_window; 19 class AW_root; 20 21 #define AWAR_PVP_SAI "tmp/pos_var_pars/sai" 2 22 #define AWAR_PVP_TREE "tmp/pos_var_pars/tree" 3 23 … … 32 52 GB_ERROR save_sai(const char *sai_name); 33 53 }; 54 55 #else 56 #error ap_pos_var_pars.hxx included twice 57 #endif // AP_POS_VAR_PARS_HXX -
trunk/NTREE/nt_cb.hxx
r5968 r6280 17 17 18 18 /* NT_cb.cxx */ 19 20 #ifndef ARBDBT_H 21 #include <arbdbt.h> 22 #endif 23 #ifndef AW_ROOT_HXX 24 #include <aw_root.hxx> 25 #endif 26 27 class AW_window; 28 class AWT_canvas; 29 19 30 void NT_delete_mark_all_cb(void *, AWT_canvas *ntw); 20 31 AW_window *NT_open_select_tree_window(AW_root *awr, char *awar_tree); … … 59 70 void NT_popup_species_window(AW_window *aww, AW_CL dummy_1x, AW_CL dummy_2x); 60 71 void NT_alltree_remove_leafs(AW_window *, AW_CL cl_mode, AW_CL cl_gb_main); 72 GBT_TREE *nt_get_current_tree_root(void); 61 73 AW_window *create_nt_main_window(AW_root *awr, AW_CL clone); 62 74 -
trunk/NTREE/nt_internal.h
r6019 r6280 15 15 #endif 16 16 17 18 /* NT_cb.cxx */ 19 20 #ifndef ARBDBT_H 21 #include <arbdbt.h> 22 #endif 23 #ifndef AW_ROOT_HXX 24 #include <aw_root.hxx> 25 #endif 26 27 class AW_window; 28 class AWT_canvas; 29 30 void NT_delete_mark_all_cb(void *, AWT_canvas *ntw); 31 AW_window *NT_open_select_tree_window(AW_root *awr, char *awar_tree); 32 void NT_select_last_tree(AW_window *aww, char *awar_tree); 33 AW_window *NT_open_select_alignment_window(AW_root *awr); 34 void NT_system_cb(AW_window *aww, AW_CL command, AW_CL auto_help_file); 35 void NT_system_cb2(AW_window *aww, AW_CL command, AW_CL auto_help_file); 17 36 18 37 /* AP_consensus.cxx */ … … 36 55 AW_window *AP_open_pos_var_pars_window(AW_root *root); 37 56 38 /* NT_cb.cxx */39 void NT_delete_mark_all_cb(void *, AWT_canvas *ntw);40 AW_window *NT_open_select_tree_window(AW_root *awr, char *awar_tree);41 void NT_select_last_tree(AW_window *aww, char *awar_tree);42 AW_window *NT_open_select_alignment_window(AW_root *awr);43 void NT_system_cb(AW_window *aww, AW_CL command, AW_CL auto_help_file);44 void NT_system_cb2(AW_window *aww, AW_CL command, AW_CL auto_help_file);45 46 57 /* NT_concatenate.cxx */ 47 58 void NT_createConcatenationAwars(AW_root *aw_root, AW_default aw_def); … … 56 67 /* NT_edconf.cxx */ 57 68 AW_window *NT_start_editor_on_old_configuration(AW_root *awr); 58 void NT_start_editor_on_tree(AW_window *, GBT_TREE **ptree, int use_species_aside);59 GB_ERROR NT_create_configuration(AW_window *, GBT_TREE * *ptree, const char *conf_name, int use_species_aside);60 void NT_popup_configuration_admin(AW_window *aw_main, AW_CL cl_GBT_TREE_ptr, AW_CL dummy_1x);69 void NT_start_editor_on_tree(AW_window *, AW_CL cl_use_species_aside, AW_CL dummy_1x); 70 GB_ERROR NT_create_configuration(AW_window *, GBT_TREE *tree, const char *conf_name, int use_species_aside); 71 void NT_popup_configuration_admin(AW_window *aw_main, AW_CL dummy_1x, AW_CL dummy_2x); 61 72 62 73 /* NT_extern.cxx */ … … 97 108 /* NT_sort.cxx */ 98 109 GB_ERROR NT_resort_data_base(GBT_TREE *tree, const char *key1, const char *key2, const char *key3); 99 void NT_resort_data_by_phylogeny(AW_window * dummy, GBT_TREE **ptree);110 void NT_resort_data_by_phylogeny(AW_window *, AW_CL dummy_1x, AW_CL dummy_2x); 100 111 void NT_resort_data_by_user_criteria(AW_window *aw); 101 112 void NT_build_resort_awars(AW_root *awr, AW_default aw_def); -
trunk/NTREE/nt_sort.hxx
r5646 r6280 1 #error "bad header" 2 1 3 extern GBDATA *GLOBAL_gb_main; 2 #define NT_RESORT_FILTER (1<<GB_STRING)|(1<<GB_INT)|(1<<GB_FLOAT)3 4 4 5 AW_window *NT_build_resort_window(AW_root *awr); -
trunk/NTREE/ntree.hxx
r5968 r6280 11 11 #ifndef NTREE_HXX 12 12 #define NTREE_HXX 13 14 #ifndef AW_WINDOW_HXX 15 #include <aw_window.hxx> 16 #endif 13 17 14 18 #define NT_AW_TRUE 1 -
trunk/PARSIMONY/AP_buffer.cxx
r6141 r6280 1 #include <cstdio> 2 #include <memory.h> 3 #include <iostream> 4 5 #include <arbdb.h> 6 #include <arbdbt.h> 7 #include <awt_tree.hxx> 1 // =============================================================== // 2 // // 3 // File : AP_buffer.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 8 10 9 11 #include "AP_buffer.hxx" 10 12 #include "AP_error.hxx" 13 14 #include <iostream> 11 15 12 16 using namespace std; -
trunk/PARSIMONY/AP_buffer.hxx
r5390 r6280 1 #ifndef _AP_BUFFER_INC 2 #define _AP_BUFFER_INC 1 // =============================================================== // 2 // // 3 // File : AP_buffer.hxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #ifndef AP_BUFFER_HXX 12 #define AP_BUFFER_HXX 13 14 #ifndef AP_SEQUENCE_HXX 15 #include <AP_sequence.hxx> 16 #endif 17 #ifndef AP_TREE_HXX 18 #include <AP_Tree.hxx> 19 #endif 20 3 21 4 22 /******************* … … 96 114 97 115 struct AP_tree_buffer { 98 unsigned long controll; // used for internal buffer check99 unsigned int count; // counts how often the entry is buffered116 unsigned long controll; // used for internal buffer check 117 unsigned int count; // counts how often the entry is buffered 100 118 AP_STACK_MODE mode; 101 119 AP_sequence *sequence; … … 105 123 AP_tree *leftson; 106 124 AP_tree *rightson; 125 AP_tree_root *root; 107 126 GBDATA *gb_node; 108 127 … … 128 147 }; 129 148 130 149 class AP_tree_nlen; 131 150 132 151 class AP_main_stack : public AP_STACK { … … 135 154 public: 136 155 friend class AP_main; 137 void push(AP_tree *value) { AP_STACK::push((void *)value); }138 AP_tree * pop() { return (AP_tree *)AP_STACK::pop(); }139 AP_tree * get() { return (AP_tree *)AP_STACK::get(); }140 AP_tree * get_first() { return (AP_tree *)AP_STACK::get_first(); }156 void push(AP_tree_nlen *value) { AP_STACK::push((void *)value); } 157 AP_tree_nlen *pop() { return (AP_tree_nlen*)AP_STACK::pop(); } 158 AP_tree_nlen *get() { return (AP_tree_nlen*)AP_STACK::get(); } 159 AP_tree_nlen *get_first() { return (AP_tree_nlen*)AP_STACK::get_first(); } 141 160 void print(); 142 161 }; … … 151 170 }; 152 171 153 #endif 172 #else 173 #error AP_buffer.hxx included twice 174 #endif // AP_BUFFER_HXX -
trunk/PARSIMONY/AP_main.cxx
r6141 r6280 1 #include <cstdio> 2 #include <cmath> 3 #include <cstring> 4 #include <memory.h> 1 // =============================================================== // 2 // // 3 // File : AP_main.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #include "AP_error.hxx" 12 #include "ap_main.hxx" 13 #include "ap_tree_nlen.hxx" 14 15 #include <TreeDisplay.hxx> 16 5 17 #include <iostream> 6 7 #include <arbdb.h>8 #include <arbdbt.h>9 #include <awt_tree.hxx>10 11 #include "AP_buffer.hxx"12 #include "parsimony.hxx"13 #include "AP_error.hxx"14 18 15 19 using namespace std; … … 79 83 ***************/ 80 84 81 AP_main::AP_main( void) {85 AP_main::AP_main() { 82 86 memset((char *)this,0,sizeof(AP_main)); 83 87 } 84 88 85 AP_main::~AP_main(void) { 86 if (use) delete use; 89 AP_main::~AP_main() { 87 90 if (stack) delete stack; 88 91 } … … 95 98 } 96 99 97 void AP_main::user_push( void) {100 void AP_main::user_push() { 98 101 this->user_push_counter = stack_level + 1; 99 102 this->push(); 100 103 } 101 104 102 void AP_main::user_pop( void) {105 void AP_main::user_pop() { 103 106 // checks if user_pop possible 104 107 if (user_push_counter == stack_level) { … … 110 113 } 111 114 112 void AP_main::push( void) {115 void AP_main::push() { 113 116 // if count > 1 the nodes are buffered more than once 114 117 // WARNING:: node only has to be buffered once in the stack … … 121 124 } 122 125 123 void AP_main::pop( void) {124 AP_tree *knoten;126 void AP_main::pop() { 127 AP_tree_nlen *knoten; 125 128 if (!stack) { 126 129 new AP_ERR("AP_main::pop()","Stack underflow !"); … … 147 150 } 148 151 149 void AP_main::clear( void) {152 void AP_main::clear() { 150 153 // removes count elements from the list 151 154 // because the current tree is used … … 155 158 // previous stack 156 159 157 AP_tree * knoten; 158 AP_main_stack * new_stack; 160 AP_tree_nlen *knoten; 161 AP_main_stack *new_stack; 162 159 163 if (!stack) { 160 164 new AP_ERR("AP_main::clear","Stack underflow !"); … … 166 170 while (stack->size() > 0) { 167 171 knoten = stack->pop(); 168 //if (buffer_cout == AP_TRUE) knoten->printl();169 172 knoten->clear(stack_level,user_push_counter); 170 173 } … … 195 198 } 196 199 197 void AP_main::push_node(AP_tree * node,AP_STACK_MODE mode) {200 void AP_main::push_node(AP_tree_nlen *node, AP_STACK_MODE mode) { 198 201 // 199 202 // stores node … … 212 215 } 213 216 214 215 void AP_main::set_tree_root(AP_tree *new_root) { 216 // removes old root and sets it 217 // to the father of the new_root 218 *ap_main->tree_root = new_root; 219 } 217 AP_tree_nlen *AP_main::get_root_node() { 218 return DOWNCAST(AP_tree_nlen*, agt->get_root_node()); 219 } 220 221 void AP_main::set_tree_root(AWT_graphic_tree *agt_) { 222 ap_assert(agt == 0 && agt_ != 0); // do only once 223 agt = agt_; 224 } 225 226 const char *AP_main::get_aliname() const { 227 return agt->tree_static->get_aliview()->get_aliname(); 228 } 229 -
trunk/PARSIMONY/AP_tree_edge.cxx
r6141 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <math.h> 4 #include <iostream> 1 // =============================================================== // 2 // // 3 // File : AP_tree_edge.cxx // 4 // Purpose : // 5 // // 6 // Coded by Ralf Westram (coder@reallysoft.de) in Summer 1995 // 7 // Institute of Microbiology (Technical University Munich) // 8 // http://www.arb-home.de/ // 9 // // 10 // =============================================================== // 11 12 #include "ap_tree_nlen.hxx" 13 14 #include <AP_filter.hxx> 15 16 #include <cmath> 5 17 #include <iomanip> 6 #include <memory.h>7 #include <arbdb.h>8 #include <arbdbt.h>9 #include <string.h>10 #include <awt_tree.hxx>11 12 #include "AP_buffer.hxx"13 #include "parsimony.hxx"14 #include "ap_tree_nlen.hxx"15 16 // #include <aw_root.hxx>17 18 18 19 using namespace std; … … 444 445 } 445 446 446 int AP_tree_edge::dumpChain( void) const447 int AP_tree_edge::dumpChain() const 447 448 { 448 449 // cout << this << '\n'; … … 479 480 } 480 481 481 long AP_tree_edge::sizeofChain( void){482 long AP_tree_edge::sizeofChain(){ 482 483 AP_tree_edge *f; 483 484 long c= 0; … … 553 554 tree optimization 554 555 **************************/ 555 void ap_init_bootstrap_remark(AP_tree_nlen *son_node){ 556 int seq_len = son_node->sequence->root->filter->real_len; 557 AP_sequence::static_mutation_per_site[0] = (char *)GB_calloc(sizeof(char),seq_len); 558 AP_sequence::static_mutation_per_site[1] = (char *)GB_calloc(sizeof(char),seq_len); 559 AP_sequence::static_mutation_per_site[2] = (char *)GB_calloc(sizeof(char),seq_len); 560 } 561 562 double fak(int n,int m){ 563 double res = 1.0; 564 while (n>m){ 565 res *= n; 566 n--; 567 } 568 return res; 569 } 570 571 572 double ap_calc_bootstrap_remark_sub(int seq_len, char *old, char *ne){ 556 557 class MutationsPerSite { 558 char *Data; 559 size_t length; 560 561 public: 562 MutationsPerSite(size_t len) 563 : Data((char*)GB_calloc(sizeof(char), len*3)) 564 , length(len) 565 { } 566 ~MutationsPerSite() { 567 free(Data); 568 } 569 570 char *data(int block) { 571 ap_assert(block >= 0 && block<3); 572 return Data+block*length; 573 } 574 const char *data(int block) const { 575 return const_cast<MutationsPerSite*>(this)->data(block); 576 } 577 }; 578 579 double ap_calc_bootstrap_remark_sub(int seq_len, const char *old, const char *ne){ 573 580 int i; 574 581 int sum[3]; … … 653 660 } 654 661 655 void ap_calc_bootstrap_remark(AP_tree_nlen *son_node,AP_BL_MODE mode){662 static void ap_calc_bootstrap_remark(AP_tree_nlen *son_node, AP_BL_MODE mode, const MutationsPerSite& mps) { 656 663 if (!son_node->is_leaf){ 657 int seq_len = son_node->sequence->root->filter->real_len; 658 float one = ap_calc_bootstrap_remark_sub(seq_len, 659 &AP_sequence::static_mutation_per_site[0][0], 660 &AP_sequence::static_mutation_per_site[1][0]); 661 float two = ap_calc_bootstrap_remark_sub(seq_len, 662 &AP_sequence::static_mutation_per_site[0][0], 663 &AP_sequence::static_mutation_per_site[2][0]); 664 size_t seq_len = son_node->get_seq()->get_sequence_length(); 665 float one = ap_calc_bootstrap_remark_sub(seq_len, mps.data(0), mps.data(1)); 666 float two = ap_calc_bootstrap_remark_sub(seq_len, mps.data(0), mps.data(2)); 667 664 668 if ((mode & AP_BL_BOOTSTRAP_ESTIMATE) == AP_BL_BOOTSTRAP_ESTIMATE){ 665 669 one = one * two; // assume independent bootstrap values for both nnis 666 }else{ 670 } 671 else { 667 672 if (two<one) one = two; // dependent bootstrap values, take minimum (safe) 668 673 } … … 677 682 freedup(son_node->Brother()->remark_branch, text); 678 683 } 679 680 freeset(AP_sequence::static_mutation_per_site[0], NULL);681 freeset(AP_sequence::static_mutation_per_site[1], NULL);682 freeset(AP_sequence::static_mutation_per_site[2], NULL);683 684 } 684 685 685 686 686 687 void ap_calc_leaf_branch_length(AP_tree_nlen *leaf){ 687 AP_FLOAT Seq_len = leaf-> sequence->real_len();688 AP_FLOAT Seq_len = leaf->get_seq()->weighted_base_count(); 688 689 if (Seq_len <=1.0) Seq_len = 1.0; 689 690 … … 719 720 static double s_old = 0.0; 720 721 721 AP_FLOAT seq_len = son-> sequence->real_len();722 AP_FLOAT seq_len = son->get_seq()->weighted_base_count(); 722 723 if (seq_len <=1.0) seq_len = 1.0; 723 724 blen *= 0.5 / seq_len * 2.0; // doubled counted sum * corr … … 819 820 } 820 821 } 821 if (mode & AP_BL_BOOTSTRAP_LIMIT) {822 if (mode & AP_BL_BOOTSTRAP_LIMIT) { 822 823 if (fath->father){ 823 824 son->set_root(); 824 825 new_parsimony = rootNode()->costs(); 825 826 } 826 ap_init_bootstrap_remark(son); 827 } 828 new_parsimony = follow->nni(new_parsimony, mode); 829 if (mode & AP_BL_BOOTSTRAP_LIMIT){ 830 ap_calc_bootstrap_remark(son,mode); 831 } 827 828 MutationsPerSite mps(son->get_seq()->get_sequence_length()); 829 new_parsimony = follow->nni_mutPerSite(new_parsimony, mode, &mps); 830 ap_calc_bootstrap_remark(son, mode, mps); 831 } 832 else { 833 new_parsimony = follow->nni(new_parsimony, mode); 834 } 835 832 836 if (useStatus ? aw_status(++count/(double)cs) : aw_status()) { Abort = 1; break; } 833 837 } … … 857 861 int AP_tree_edge::nodesInTree; 858 862 859 AP_FLOAT AP_tree_edge::nni (AP_FLOAT pars_one, AP_BL_MODE mode)860 { 861 AP_tree_nlen *root = (AP_tree_nlen *) (*ap_main->tree_root);863 AP_FLOAT AP_tree_edge::nni_mutPerSite(AP_FLOAT pars_one, AP_BL_MODE mode, MutationsPerSite *mps) 864 { 865 AP_tree_nlen *root = rootNode(); 862 866 863 867 if (node[0]->is_leaf || node[1]->is_leaf) { // a son at root … … 890 894 int betterValueFound = 0; 891 895 { // ******** original tree 892 if ( (mode & AP_BL_BOOTSTRAP_LIMIT)){896 if ((mode & AP_BL_BOOTSTRAP_LIMIT)) { 893 897 root->costs(); 894 char *ms = AP_sequence::static_mutation_per_site[0];895 AP_sequence::mutation_per_site = ms;896 898 son->unhash_sequence(); 897 son-> father->unhash_sequence();899 son->Father()->unhash_sequence(); 898 900 ap_assert(!son->father->father); 899 901 AP_tree_nlen *brother = son->Brother(); 900 902 brother->unhash_sequence(); 901 pars_one = 0.0; 902 } 903 if (pars_one==0.0) pars_one = root->costs(); 903 904 ap_assert(mps); 905 pars_one = root->costs(mps->data(0)); 906 } 907 else if (pars_one==0.0) { 908 pars_one = root->costs(); 909 } 904 910 } 905 911 { // ********* first nni 906 912 ap_main->push(); 907 913 son->swap_assymetric(AP_LEFT); 908 char *ms = AP_sequence::static_mutation_per_site[1]; 909 AP_sequence::mutation_per_site = ms; 910 pars_two = root->costs(); 914 pars_two = root->costs(mps ? mps->data(1) : NULL); 911 915 912 916 if (pars_two <= parsbest){ 913 if ((mode & AP_BL_NNI_ONLY)==0) ap_main->pop(); 914 else ap_main->clear(); 915 parsbest = pars_two; 917 if ((mode & AP_BL_NNI_ONLY) == 0) ap_main->pop(); 918 else ap_main->clear(); 919 920 parsbest = pars_two; 916 921 betterValueFound = (int)(pars_one-pars_two); 917 }else{ 922 } 923 else { 918 924 ap_main->pop(); 919 925 } … … 922 928 ap_main->push(); 923 929 son->swap_assymetric(AP_RIGHT); 924 char *ms = AP_sequence::static_mutation_per_site[2]; 925 AP_sequence::mutation_per_site = ms; 926 pars_three = root->costs(); 930 pars_three = root->costs(mps ? mps->data(2) : NULL); 927 931 928 932 if (pars_three <= parsbest){ 929 if ((mode & AP_BL_NNI_ONLY)==0) ap_main->pop(); 930 else ap_main->clear(); 931 parsbest = pars_three; 933 if ((mode & AP_BL_NNI_ONLY) == 0) ap_main->pop(); 934 else ap_main->clear(); 935 936 parsbest = pars_three; 932 937 betterValueFound = (int)(pars_one-pars_three); 933 }else{ 938 } 939 else { 934 940 ap_main->pop(); 935 941 } 936 AP_sequence::mutation_per_site = 0;937 942 } 938 943 … … 1029 1034 } 1030 1035 } 1036 -
trunk/PARSIMONY/AP_tree_nlen.cxx
r6234 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 // #include <malloc.h> 4 #include <string.h> 5 #include <iostream> 6 #include <math.h> 7 #include <arbdb.h> 8 #include <arbdbt.h> 9 // 10 #include <awt_tree.hxx> 11 #include <awt_seq_dna.hxx> 12 #include "AP_buffer.hxx" 13 #include "parsimony.hxx" 1 // =============================================================== // 2 // // 3 // File : AP_tree_nlen.cxx // 4 // Purpose : // 5 // // 6 // Coded by Ralf Westram (coder@reallysoft.de) in Summer 1995 // 7 // Institute of Microbiology (Technical University Munich) // 8 // http://www.arb-home.de/ // 9 // // 10 // =============================================================== // 11 12 #include "ap_tree_nlen.hxx" 14 13 #include "pars_debug.hxx" 15 #include "ap_tree_nlen.hxx" 16 // #include <aw_root.hxx>14 15 #include <AP_seq_dna.hxx> 17 16 18 17 using namespace std; 19 18 20 #define ap_assert(x) arb_assert(x)19 // #define ap_assert(x) arb_assert(x) 21 20 22 21 // --------------------------------- … … 32 31 AP_tree_nlen::AP_tree_nlen(AP_tree_root *Tree_root) 33 32 : AP_tree(Tree_root) 33 , kernighan(AP_NONE) 34 , distance(INT_MAX) 35 , mutation_rate(0) 34 36 { 35 // this->init(); 36 kernighan = AP_NONE; 37 sequence = NULL; 38 39 edge[0] = edge[1] = edge[2] = NULL; 37 edge[0] = edge[1] = edge[2] = NULL; 40 38 index[0] = index[1] = index[2] = 0; 41 distance = INT_MAX; 42 43 // cout << "AP_tree_nlen-constructor\n"; 44 } 45 46 AP_tree *AP_tree_nlen::dup(void) 47 { 48 return (AP_tree *) new AP_tree_nlen(this->tree_root); 49 } 50 51 AP_UPDATE_FLAGS AP_tree_nlen::check_update(void) 52 { 53 AP_UPDATE_FLAGS res = this->AP_tree::check_update(); 54 55 if (res == AP_UPDATE_RELOADED) { 56 return AP_UPDATE_OK; 57 } 58 59 return res; 39 } 40 41 AP_tree_nlen *AP_tree_nlen::dup() const { 42 return new AP_tree_nlen(get_tree_root()); 43 } 44 45 AP_UPDATE_FLAGS AP_tree_nlen::check_update() { 46 AP_UPDATE_FLAGS res = AP_tree::check_update(); 47 48 return res == AP_UPDATE_RELOADED ? AP_UPDATE_OK : res; 60 49 } 61 50 … … 78 67 79 68 if (is_leaf == GB_TRUE) { 80 if (tree->sequence) { 81 this->sequence = tree->sequence; 82 } 83 else { 84 cout << "empty sequence at leaf"; 85 this->sequence = 0; 86 } 69 ap_assert(tree->get_seq()); /* oops - AP_tree_nlen expects to have sequences at leafs! 70 * did you forget to remove_leafs() ? */ 71 72 set_seq(tree->get_seq()); 73 // dangerous - no copy, just moves pointer 74 // will result in undefined behavior 75 76 ap_assert(0); // this will not work, but is only used in GA_genetic. 77 // Use some kind of SmartPtr there! 78 79 // if (tree->sequence) { 80 // this->sequence = tree->sequence; 81 // } 82 // else { 83 // cout << "empty sequence at leaf"; 84 // this->sequence = 0; 85 // } 87 86 } 88 87 } … … 149 148 for (e=0; e<3; e++) if (edge[e]==NULL) return e; 150 149 151 cout << "No unused edge found at" << *this << '\n';150 // cout << "No unused edge found at" << *this << '\n'; 152 151 return -1; 153 152 } … … 162 161 } 163 162 } 164 cout << "AP_tree_nlen::edgeTo: " << *this << "\nhas no edge to " << *neighbour << '\n';163 // cout << "AP_tree_nlen::edgeTo: " << *this << "\nhas no edge to " << *neighbour << '\n'; 165 164 ap_assert(0); 166 165 return NULL; … … 211 210 ********************************************/ 212 211 212 #if defined(CHECK_TREE_STRUCTURE) 213 214 void AP_tree_nlen::assert_edges_valid() const { 215 if (!is_root()) { // root has no edges 216 if (Father()->is_root()) { // sons of root have one edge between them 217 ap_assert(edgeTo(Brother()) == Brother()->edgeTo(this)); 218 } 219 else { 220 ap_assert(edgeTo(Father()) == Father()->edgeTo(this)); 221 if (!is_leaf) { 222 ap_assert(edgeTo(Leftson()) == Leftson()->edgeTo(this)); 223 ap_assert(edgeTo(Rightson()) == Rightson()->edgeTo(this)); 224 } 225 } 226 } 227 228 if (!is_leaf) { 229 Leftson()->assert_edges_valid(); 230 Rightson()->assert_edges_valid(); 231 } 232 } 233 234 void AP_tree_nlen::assert_valid() const { 235 assert_edges_valid(); 236 AP_tree::assert_valid(); 237 } 238 239 #endif 240 213 241 void AP_tree_nlen::insert(AP_tree *new_brother) { 214 242 // inserts a node at the father-edge of new_brother 215 243 216 AP_tree *pntr;244 AP_tree_nlen *pntr; 217 245 AP_tree_nlen *newBrother = dynamic_cast<AP_tree_nlen*>(new_brother); 218 246 ap_assert(new_brother); … … 220 248 AP_tree_edge *oldEdge; 221 249 222 ap_main->push_node(new _brother, STRUCTURE);250 ap_main->push_node(newBrother, STRUCTURE); 223 251 224 252 if (new_brother->father) { 225 ap_main->push_node(new_brother->father, BOTH); 226 for (pntr = new_brother->father->father; pntr; pntr = pntr->father) { 253 ap_main->push_node(newBrother->Father(), BOTH); 254 AP_tree_nlen *newGrandpa = newBrother->Father()->Father(); 255 for (pntr = newGrandpa; pntr; pntr = pntr->Father()) { 227 256 ap_main->push_node(pntr, SEQUENCE); 228 257 } 229 258 230 if (new _brother->father->father) {259 if (newGrandpa) { 231 260 oldEdge = newBrother->edgeTo(newBrother->Father())->unlink(); 232 261 AP_tree::insert(new_brother); … … 242 271 new AP_tree_edge(Father(),newBrother); 243 272 } 244 else { // insert at root 245 AP_tree_nlen *lson = newBrother->Leftson(); 246 AP_tree_nlen *rson = newBrother->Rightson(); 247 248 ap_main->push_node(lson, STRUCTURE); 249 ap_main->push_node(rson, STRUCTURE); 250 251 oldEdge = lson->edgeTo(rson)->unlink(); 273 else { // insert at root 274 if (newBrother->is_leaf) { // tree contains exactly one species (only legal during insert) 275 AP_tree::insert(new_brother); 276 new AP_tree_edge(newBrother, this); // build the root edge 277 } 278 else { 279 AP_tree_nlen *lson = newBrother->Leftson(); 280 AP_tree_nlen *rson = newBrother->Rightson(); 281 282 ap_main->push_node(lson, STRUCTURE); 283 ap_main->push_node(rson, STRUCTURE); 284 285 oldEdge = lson->edgeTo(rson)->unlink(); 252 286 #if defined(DEBUG) 253 cout << "old Edge = " << oldEdge << '\n';287 cout << "old Edge = " << oldEdge << '\n'; 254 288 #endif // DEBUG 255 289 256 AP_tree::insert(new_brother); 257 258 oldEdge->relink(this,newBrother); 259 new AP_tree_edge(newBrother,rson); 260 new AP_tree_edge(newBrother,lson); 261 } 262 } 263 264 void AP_tree_nlen::remove(void) { 290 AP_tree::insert(new_brother); 291 292 oldEdge->relink(this,newBrother); 293 new AP_tree_edge(newBrother,rson); 294 new AP_tree_edge(newBrother,lson); 295 } 296 } 297 } 298 299 void AP_tree_nlen::remove() { 265 300 // Removes the node and its father from the tree: 266 301 // … … 280 315 // memory location was stored in the tree-stack. 281 316 282 AP_tree *pntr; 317 AP_tree_nlen *oldBrother = Brother(); 318 319 ASSERT_VALID_TREE(this); 320 321 ap_assert(father); // can't remove complete tree, 322 323 ap_main->push_node(this, STRUCTURE); 324 ap_main->push_node(oldBrother, STRUCTURE); 325 326 AP_tree_nlen *grandPa = Father()->Father(); 327 for (AP_tree_nlen *pntr = grandPa; pntr; pntr = pntr->Father()) { 328 ap_main->push_node(pntr, SEQUENCE); 329 } 330 283 331 AP_tree_edge *oldEdge; 284 AP_tree_nlen *oldBrother = Brother(); 285 286 ap_assert(father); 287 288 ap_main->push_node(this, STRUCTURE); 289 ap_main->push_node(brother(), STRUCTURE); 290 291 for (pntr = father->father; pntr; pntr = pntr->father) { 292 ap_main->push_node(pntr, SEQUENCE); 293 } 294 295 if (father->father) { 296 AP_tree_nlen *grandPa = Father()->Father(); 297 298 ap_main->push_node(father, BOTH); 332 if (grandPa) { 333 ASSERT_VALID_TREE(grandPa); 334 335 ap_main->push_node(Father(), BOTH); 299 336 ap_main->push_node(grandPa, STRUCTURE); 300 337 301 edgeTo(Father())->unlink(); 302 Father()->edgeTo(oldBrother)->unlink(); 338 edgeTo(Father())->unlink(); // LOST_EDGE 339 Father()->edgeTo(oldBrother)->unlink(); // LOST_EDGE 303 340 304 341 if (grandPa->father) { … … 315 352 oldEdge->relink(oldBrother,uncle); 316 353 } 317 } 318 else { // remove son of root 319 AP_tree_nlen *lson = Brother()->Leftson(); 320 AP_tree_nlen *rson = Brother()->Rightson(); 321 322 ap_assert(lson && rson); 323 324 ap_main->push_node(lson,STRUCTURE); 325 ap_main->push_node(rson,STRUCTURE); 326 ap_main->push_node(father, ROOT); 327 328 ap_main->set_tree_root(oldBrother); 329 330 // delete edgeTo(oldBrother); 331 oldBrother->edgeTo(lson)->unlink(); 332 // delete oldBrother->edgeTo(lson); 333 oldEdge = oldBrother->edgeTo(rson)->unlink(); 334 AP_tree::remove(); 335 oldEdge->relink(lson,rson); 336 } 354 ASSERT_VALID_TREE(grandPa); 355 } 356 else { // remove son of root 357 AP_tree_nlen *oldRoot = Father(); 358 ASSERT_VALID_TREE(oldRoot); 359 360 if (oldBrother->is_leaf) { 361 // root 362 // oo 363 // o o 364 // o o 365 // oldBrother --- this -----> NULL 366 // 367 ap_main->push_node(oldRoot, ROOT); 368 369 edgeTo(oldBrother)->unlink(); // LOST_EDGE 370 371 #if defined(DEBUG) 372 AP_tree_root *troot = get_tree_root(); 373 #endif // DEBUG 374 AP_tree::remove(); 375 ap_assert(!troot->get_root_node()); // tree should have been removed 376 } 377 else { 378 // 379 // root 380 // oo . 381 // o o root (=oldBrother) 382 // o o oo . 383 // oldBrother --- this -----> o o . 384 // /\ o o . 385 // / \ lson ----- rson 386 // / \ . 387 // lson rson 388 // 389 AP_tree_nlen *lson = oldBrother->Leftson(); 390 AP_tree_nlen *rson = oldBrother->Rightson(); 391 392 ap_assert(lson && rson); 393 394 ap_main->push_node(lson,STRUCTURE); 395 ap_main->push_node(rson,STRUCTURE); 396 ap_main->push_node(oldRoot, ROOT); 397 398 // get_tree_root()->change_root(get_father(), oldBrother); 399 // don't do this here (already done in AP_tree::remove()) 400 401 edgeTo(oldBrother)->unlink(); // LOST_EDGE 402 oldBrother->edgeTo(lson)->unlink(); // LOST_EDGE 403 404 oldEdge = oldBrother->edgeTo(rson)->unlink(); 405 AP_tree::remove(); 406 oldEdge->relink(lson,rson); 407 408 ap_assert(lson->get_tree_root()->get_root_node() == oldBrother); 409 ASSERT_VALID_TREE(oldBrother); 410 } 411 } 412 337 413 } 338 414 … … 357 433 ap_main->push_node(this, BOTH); 358 434 ap_main->push_node(movedSon,STRUCTURE); 359 ap_main->push_node( father, SEQUENCE);435 ap_main->push_node(Father(), SEQUENCE); 360 436 ap_main->push_node(nephew, STRUCTURE); 361 437 ap_main->push_node(oldBrother, BOTH); … … 372 448 else { 373 449 ap_main->push_node(this, BOTH); 374 ap_main->push_node( father, BOTH);450 ap_main->push_node(Father(), BOTH); 375 451 ap_main->push_node(oldBrother, STRUCTURE); 376 452 ap_main->push_node(movedSon,STRUCTURE); … … 378 454 // from father to root buffer all sequences 379 455 380 for (AP_tree *pntr = father->father; pntr ; pntr = pntr->father) {456 for (AP_tree_nlen *pntr = Father()->Father(); pntr ; pntr = pntr->Father()) { 381 457 ap_main->push_node(pntr, SEQUENCE); 382 458 } … … 401 477 // from this to root buffer the nodes 402 478 ap_main->push_node(this , STRUCTURE); 403 404 AP_tree *old_brother = 0;405 AP_tree *old_root;479 480 AP_tree_nlen *old_brother = 0; 481 AP_tree_nlen *old_root = 0; 406 482 { 407 AP_tree *pntr;408 for (pntr = father; pntr->father; pntr = pntr->father) {483 AP_tree_nlen *pntr; 484 for (pntr = Father(); pntr->father; pntr = pntr->Father()) { 409 485 ap_main->push_node(pntr, BOTH); 410 486 old_brother = pntr; … … 414 490 415 491 if (old_brother) { 416 old_brother = old_brother-> brother();492 old_brother = old_brother->Brother(); 417 493 ap_main->push_node(old_brother , STRUCTURE); 418 494 } … … 443 519 ap_assert(new_brother->father); 444 520 445 AP_tree *pntr;521 AP_tree_nlen *pntr; 446 522 447 523 ap_main->push_node(this , STRUCTURE); 448 ap_main->push_node( brother(), STRUCTURE);524 ap_main->push_node(Brother(), STRUCTURE); 449 525 450 526 if (father->father) { 451 AP_tree *grandpa = father->father;452 453 ap_main->push_node( father, BOTH);527 AP_tree_nlen *grandpa = Father()->Father(); 528 529 ap_main->push_node(Father(), BOTH); 454 530 455 531 if (grandpa->father) { 456 532 ap_main->push_node(grandpa, BOTH); 457 for (pntr = grandpa-> father; pntr; pntr = pntr->father) {533 for (pntr = grandpa->Father(); pntr; pntr = pntr->Father()) { 458 534 ap_main->push_node( pntr, SEQUENCE); 459 535 } … … 461 537 else { // grandson of root 462 538 ap_main->push_node(grandpa, ROOT); 463 ap_main->push_node( father->brother(), STRUCTURE);539 ap_main->push_node(Father()->Brother(), STRUCTURE); 464 540 } 465 541 } 466 542 else { // son of root 467 ap_main->push_node(father , ROOT); 468 469 if (!brother()->is_leaf) { 470 ap_main->push_node(brother()->leftson, STRUCTURE); 471 ap_main->push_node(brother()->rightson, STRUCTURE); 472 } 473 } 474 475 ap_main->push_node(new_brother , STRUCTURE); 543 ap_main->push_node(Father(), ROOT); 544 545 if (!get_brother()->is_leaf) { 546 ap_main->push_node(Brother()->Leftson(), STRUCTURE); 547 ap_main->push_node(Brother()->Rightson(), STRUCTURE); 548 } 549 } 550 551 AP_tree_nlen *newBrother = AP_TREE_NLEN_CAST(new_brother); 552 553 ap_main->push_node(newBrother , STRUCTURE); 476 554 if (new_brother->father) { 477 555 if (new_brother->father->father) { 478 ap_main->push_node(new _brother->father, BOTH);556 ap_main->push_node(newBrother->Father(), BOTH); 479 557 } 480 558 else { // move to son of root 481 ap_main->push_node(new _brother->father, BOTH);482 ap_main->push_node(new _brother->brother(), STRUCTURE);483 } 484 485 for (pntr = new_brother->father->father; pntr; pntr = pntr->father) {486 ap_main->push_node( pntr, SEQUENCE);559 ap_main->push_node(newBrother->Father(), BOTH); 560 ap_main->push_node(newBrother->Brother(), STRUCTURE); 561 } 562 563 for (pntr = newBrother->Father()->Father(); pntr; pntr = pntr->Father()) { 564 ap_main->push_node(pntr, SEQUENCE); 487 565 } 488 566 } 489 567 490 568 AP_tree_nlen *thisFather = Father(); 491 AP_tree_nlen *newBrother = (AP_tree_nlen*)new_brother;492 569 AP_tree_nlen *grandFather = thisFather->Father(); 493 570 AP_tree_nlen *oldBrother = Brother(); … … 616 693 } 617 694 618 /*-----------------------619 costs620 -----------------------*/621 622 AP_FLOAT AP_tree_nlen::costs(void) { /* cost of a tree (number of changes ..) */623 if (! this->tree_root->sequence_template) return 0.0;624 this->parsimony_rek();625 return (AP_FLOAT)this->mutation_rate;626 }627 628 695 /******************************************* 629 696 … … 638 705 639 706 void AP_tree_nlen::unhash_sequence() { 640 //removes the current sequence 641 //(not leaf) 642 643 if (sequence != 0) { 644 if (!is_leaf) { 645 sequence->is_set_flag = AP_FALSE; 646 } 647 } 648 649 return; 707 // removes the sequence from inner node (not for leafs!) 708 AP_sequence *sequence = get_seq(); 709 if (sequence && !is_leaf) sequence->forget_sequence(); 650 710 } 651 711 … … 655 715 // according if user_buffer is greater than datum 656 716 657 // cout << "clear\n";658 659 717 AP_tree_buffer * buff; 660 718 AP_BOOL result; … … 698 756 if (this->stack_level == datum) { 699 757 AP_tree_buffer *last_buffer = stack.get_first(); 700 if (sequence &&(mode & SEQUENCE)) sequence->is_set_flag = AP_FALSE; 758 AP_sequence *sequence = get_seq(); 759 760 if (sequence && (mode & SEQUENCE)) sequence->forget_sequence(); 701 761 if (0 == (mode & ~last_buffer->mode)) { // already buffered 702 762 return AP_FALSE; … … 717 777 718 778 if ( (mode & STRUCTURE) && !(new_buff->mode & STRUCTURE) ) { 719 // cout << "push structure " << *this << '\n'; 720 new_buff->father = father; 721 new_buff->leftson = leftson; 722 new_buff->rightson = rightson; 779 new_buff->father = get_father(); 780 new_buff->leftson = get_leftson(); 781 new_buff->rightson = get_rightson(); 723 782 new_buff->leftlen = leftlen; 724 783 new_buff->rightlen = rightlen; 784 new_buff->root = get_tree_root(); 725 785 new_buff->gb_node = gb_node; 726 786 new_buff->distance = distance; … … 736 796 737 797 if ( (mode & SEQUENCE) && !(new_buff->mode & SEQUENCE) ) { 738 if (sequence) { 739 new_buff->sequence = sequence; 740 new_buff->mutation_rate = mutation_rate; 741 mutation_rate = 0.0; 742 sequence = 0; 743 } 744 else { 745 new_buff->sequence = 0; 746 AW_ERROR("Sequence not found %s",this->name); 747 } 798 AP_sequence *sequence = take_seq(); 799 new_buff->sequence = sequence; 800 new_buff->mutation_rate = mutation_rate; 801 mutation_rate = 0.0; 748 802 } 749 803 … … 765 819 766 820 if (mode&STRUCTURE) { 767 // cout << "pop structure " << this << '\n';768 769 821 father = buff->father; 770 822 leftson = buff->leftson; … … 772 824 leftlen = buff->leftlen; 773 825 rightlen = buff->rightlen; 826 set_tree_root(buff->root); 774 827 gb_node = buff->gb_node; 775 828 distance = buff->distance; … … 789 842 790 843 if (mode&SEQUENCE) { 791 if (sequence) delete sequence; 792 793 sequence = buff->sequence; 844 replace_seq(buff->sequence); 794 845 mutation_rate = buff->mutation_rate; 795 846 } 796 847 797 848 if (ROOT==mode) { 798 // cout << "root popped:" << this << "\n"; 799 ap_main->set_tree_root(this); 849 buff->root->change_root(buff->root->get_root_node(), this); 800 850 } 801 851 … … 808 858 ********************************************************/ 809 859 810 void AP_tree_nlen::parsimony_rek(void) 811 { 812 if (sequence && sequence->is_set_flag) return; 860 void AP_tree_nlen::parsimony_rek(char *mutPerSite) { 861 AP_sequence *sequence = get_seq(); 813 862 814 863 if (is_leaf) { 815 sequence->is_set_flag = AP_TRUE; 816 return; 817 } 818 819 if (!Leftson()->sequence || !Leftson()->sequence->is_set_flag ) Leftson()->parsimony_rek(); 820 if (!Rightson()->sequence|| !Rightson()->sequence->is_set_flag ) Rightson()->parsimony_rek(); 821 822 if (!Leftson()->sequence->is_set_flag || !Rightson()->sequence->is_set_flag) { 823 AW_ERROR("AP_tree_nlen::parsimony_rek: Cannot set sequence"); 824 return; 825 } 826 827 if (sequence == 0) sequence = tree_root->sequence_template->dup(); 828 829 AP_FLOAT mutations_for_combine = sequence->combine(Leftson()->sequence, Rightson()->sequence); 830 mutation_rate = Leftson()->mutation_rate + Rightson()->mutation_rate + mutations_for_combine; 831 832 #if defined(DEBUG) && 0 833 printf("mutation-rates: left=%f right=%f combine=%f overall=%f %s\n", 834 Leftson()->mutation_rate, Rightson()->mutation_rate, mutations_for_combine, mutation_rate, 835 fullname()); 836 #endif // DEBUG 837 838 sequence->is_set_flag = AP_TRUE; 864 ap_assert(sequence); // tree w/o aliview? 865 sequence->ensure_sequence_loaded(); 866 } 867 else { 868 if (!sequence) { 869 sequence = set_seq(get_tree_root()->get_seqTemplate()->dup()); 870 ap_assert(sequence); 871 } 872 873 if (!sequence->got_sequence()) { 874 AP_tree_nlen *lson = Leftson(); 875 AP_tree_nlen *rson = Rightson(); 876 877 ap_assert(lson); 878 ap_assert(rson); 879 880 lson->parsimony_rek(mutPerSite); 881 rson->parsimony_rek(mutPerSite); 882 883 AP_sequence *lseq = lson->get_seq(); 884 AP_sequence *rseq = rson->get_seq(); 885 886 ap_assert(lseq); 887 ap_assert(rseq); 888 889 AP_FLOAT mutations_for_combine = sequence->combine(lseq, rseq, mutPerSite); 890 mutation_rate = lson->mutation_rate + rson->mutation_rate + mutations_for_combine; 891 } 892 } 893 } 894 895 AP_FLOAT AP_tree_nlen::costs(char *mutPerSite) { 896 // returns costs of a tree ( = number of mutations) 897 898 ap_assert(get_tree_root()->get_seqTemplate()); // forgot to set_seqTemplate() ? (previously returned 0.0 in this case) 899 parsimony_rek(mutPerSite); 900 return mutation_rate; 839 901 } 840 902 … … 910 972 // zwei swapmoeglichkeiten initialisieren 911 973 // 912 AP_tree *this_brother = this-> brother();974 AP_tree *this_brother = this->get_brother(); 913 975 if (rek_deep == 0) { 914 976 for (i = 0; i < 8; i+=2) { … … 930 992 } else { 931 993 //an der Wurzel nehme linken und rechten Sohns des Bruders 932 if (this-> brother()->is_leaf == GB_FALSE) {994 if (this->get_brother()->is_leaf == GB_FALSE) { 933 995 pars_refpntr[4] = pars_refpntr[5] = static_cast<AP_tree_nlen *>(this_brother->leftson); 934 996 pars_refpntr[6] = pars_refpntr[7] = static_cast<AP_tree_nlen *>(this_brother->rightson); … … 951 1013 ap_main->push(); 952 1014 this->set_root(); 953 (*ap_main->tree_root)->costs();1015 rootNode()->costs(); 954 1016 955 1017 int visited_subtrees = 0; … … 963 1025 if (!pars_refpntr[i]->kernighan == AP_NONE) continue; 964 1026 if (pars_refpntr[i]->gr.hidden) continue; 965 if (pars_refpntr[i]-> father->gr.hidden) continue;1027 if (pars_refpntr[i]->get_father()->gr.hidden) continue; 966 1028 967 1029 //nur wenn kein Blatt ist 968 1030 ap_main->push(); 969 1031 pars_refpntr[i]->swap_assymetric(pars_side_ref[i]); 970 pars[i] = (*ap_main->tree_root)->costs();1032 pars[i] = rootNode()->costs(); 971 1033 if (pars[i] < pars_best) { 972 1034 better_subtrees++; … … 1049 1111 pars_refpntr[pars_ref[i]]->swap_assymetric(pars_side_ref[pars_ref[i]]); 1050 1112 //vertausche seite 1051 (*ap_main->tree_root)->parsimony_rek();1113 rootNode()->parsimony_rek(); 1052 1114 switch (rek_width_type) { 1053 1115 case AP_BETTER:{ … … 1243 1305 } 1244 1306 1245 int AP_tree_nlen::test(void) const1246 {1247 int edges = 0;1248 1249 for (int e=0; e<3; e++) if (edge[e]!=NULL) edges++;1250 1251 if (!sequence) cout << "Node" << *this << "has no sequence\n";1252 1253 if (father) {1254 if (father->father == (AP_tree *)this) {1255 cout << "Ooops! I am my own grandfather! How is this possible?\n" <<1256 *this << '\n' <<1257 *Father() << '\n';1258 }1259 1260 if (is_leaf) {1261 if (edges!=1) cout << "Leaf-Node" << *this << "has" << edges << " edges\n";1262 }1263 else {1264 if (edges!=3) cout << "Inner-Node" << *this << "has" << edges << " edges\n";1265 }1266 1267 int e;1268 1269 for (e=0; e<3; e++) {1270 if (edge[e]) {1271 if (edge[e]->isConnectedTo(this)) {1272 AP_tree_nlen *neighbour = edge[e]->otherNode(this);1273 1274 if ( ! (neighbour==father || neighbour==leftson || neighbour==rightson)) {1275 if (father->father==NULL) {1276 if (!(father->leftson==neighbour || father->rightson==neighbour)) {1277 cout << "Neighbour is not brother (at root)\n";1278 }1279 }1280 else {1281 cout << "Edge " << edge[e] << " connects the nodes"1282 << *this << "and" << *(edge[e]->otherNode(this))1283 << "(they are not neighbours)\n";1284 }1285 }1286 }1287 else {1288 cout << "Node" << *this1289 << "is connected to wrong edge"1290 << edge[e] << '\n';1291 }1292 }1293 }1294 }1295 else {1296 if (edges) {1297 cout << "Root" << *this << "has edges!\n";1298 }1299 }1300 1301 test_tree(); // AP_tree::1302 1303 return 0;1304 }1305 1306 1307 const char *AP_tree_nlen::fullname() const 1307 1308 { … … 1332 1333 1333 1334 1334 char* AP_tree_nlen::getSequence() 1335 { 1336 char *s; 1337 1335 char* AP_tree_nlen::getSequenceCopy() { 1338 1336 costs(); 1339 AP_sequence_parsimony *pseq = (AP_sequence_parsimony*)sequence; 1340 ap_assert(pseq->is_set_flag); 1341 s = new char[pseq->sequence_len]; 1342 memcpy(s,pseq->sequence,(unsigned int)pseq->sequence_len); 1337 1338 AP_sequence_parsimony *pseq = DOWNCAST(AP_sequence_parsimony*, get_seq()); 1339 ap_assert(pseq->got_sequence()); 1340 1341 size_t len = pseq->get_sequence_length(); 1342 char *s = new char[len]; 1343 memcpy(s, pseq->get_sequence(), len); 1343 1344 1344 1345 return s; -
trunk/PARSIMONY/GA_genetic.cxx
r6141 r6280 8 8 #include <iostream.h> 9 9 #include "AP_buffer.hxx" 10 #include " parsimony.hxx"10 #include "ap_main.hxx" 11 11 #include "ap_tree_nlen.hxx" 12 12 #include "GA_genetic.hxx" … … 16 16 17 17 18 GA_genetic::GA_genetic( void) {18 GA_genetic::GA_genetic() { 19 19 gb_tree_start = 0; 20 20 gb_tree_opt = 0; … … 27 27 } 28 28 29 GA_genetic::~GA_genetic( void) {29 GA_genetic::~GA_genetic() { 30 30 if (fout) { 31 31 if (fclose(fout) != 0) { -
trunk/PARSIMONY/GA_main.cxx
r6141 r6280 8 8 #include <iostream.h> 9 9 #include "AP_buffer.hxx" 10 #include " parsimony.hxx"10 #include "ap_main.hxx" 11 11 #include "ap_tree_nlen.hxx" 12 12 #include "GA_genetic.hxx" -
trunk/PARSIMONY/GA_window.cxx
r5390 r6280 15 15 // #include <malloc.h> 16 16 #include "AP_buffer.hxx" 17 #include " parsimony.hxx"17 #include "ap_main.hxx" 18 18 #include "ap_tree_nlen.hxx" 19 19 #include "GA_genetic.hxx" … … 27 27 extern GA_genetic *GAgenetic; 28 28 29 void start_genetic_cb(AW_window *aww,AW_CL cld1) { 30 AWUSE(cld1); 31 AW_root *aw_root = aww->get_root(); 32 //aw_root->awar("kh/costs")->write_string((long)ap_main->combineCount); 29 void start_genetic_cb(AW_window *,AW_CL ) { 33 30 start_genetic(ap_main->gb_main); 34 31 } -
trunk/PARSIMONY/Makefile
r6277 r6280 34 34 AP_buffer.o: $(ARBHOME)/INCLUDE/ad_prot.h 35 35 AP_buffer.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 36 AP_buffer.o: $(ARBHOME)/INCLUDE/AliView.hxx 37 AP_buffer.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 38 AP_buffer.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 36 39 AP_buffer.o: $(ARBHOME)/INCLUDE/arb_assert.h 37 40 AP_buffer.o: $(ARBHOME)/INCLUDE/arb_error.h 41 AP_buffer.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 38 42 AP_buffer.o: $(ARBHOME)/INCLUDE/arbdb.h 39 43 AP_buffer.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 43 47 AP_buffer.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 44 48 AP_buffer.o: $(ARBHOME)/INCLUDE/aw_root.hxx 45 AP_buffer.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 46 AP_buffer.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 49 AP_buffer.o: $(ARBHOME)/INCLUDE/downcast.h 47 50 AP_buffer.o: $(ARBHOME)/INCLUDE/smartptr.h 48 51 49 52 AP_main.o: AP_buffer.hxx 50 53 AP_main.o: AP_error.hxx 51 AP_main.o: parsimony.hxx 54 AP_main.o: ap_main.hxx 55 AP_main.o: ap_tree_nlen.hxx 52 56 AP_main.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 53 57 AP_main.o: $(ARBHOME)/INCLUDE/ad_prot.h 54 58 AP_main.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 59 AP_main.o: $(ARBHOME)/INCLUDE/AliView.hxx 60 AP_main.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 61 AP_main.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 55 62 AP_main.o: $(ARBHOME)/INCLUDE/arb_assert.h 56 63 AP_main.o: $(ARBHOME)/INCLUDE/arb_error.h 64 AP_main.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 57 65 AP_main.o: $(ARBHOME)/INCLUDE/arbdb.h 58 66 AP_main.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 61 69 AP_main.o: $(ARBHOME)/INCLUDE/attributes.h 62 70 AP_main.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 71 AP_main.o: $(ARBHOME)/INCLUDE/aw_device.hxx 72 AP_main.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 73 AP_main.o: $(ARBHOME)/INCLUDE/aw_position.hxx 63 74 AP_main.o: $(ARBHOME)/INCLUDE/aw_root.hxx 64 AP_main.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 65 AP_main.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 75 AP_main.o: $(ARBHOME)/INCLUDE/aw_window.hxx 76 AP_main.o: $(ARBHOME)/INCLUDE/awt_canvas.hxx 77 AP_main.o: $(ARBHOME)/INCLUDE/downcast.h 66 78 AP_main.o: $(ARBHOME)/INCLUDE/smartptr.h 79 AP_main.o: $(ARBHOME)/INCLUDE/TreeDisplay.hxx 67 80 68 81 AP_tree_edge.o: AP_buffer.hxx 82 AP_tree_edge.o: ap_main.hxx 69 83 AP_tree_edge.o: ap_tree_nlen.hxx 70 AP_tree_edge.o: parsimony.hxx71 84 AP_tree_edge.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 72 85 AP_tree_edge.o: $(ARBHOME)/INCLUDE/ad_prot.h 73 86 AP_tree_edge.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 87 AP_tree_edge.o: $(ARBHOME)/INCLUDE/AliView.hxx 88 AP_tree_edge.o: $(ARBHOME)/INCLUDE/AP_filter.hxx 89 AP_tree_edge.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 90 AP_tree_edge.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 74 91 AP_tree_edge.o: $(ARBHOME)/INCLUDE/arb_assert.h 75 92 AP_tree_edge.o: $(ARBHOME)/INCLUDE/arb_error.h 93 AP_tree_edge.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 76 94 AP_tree_edge.o: $(ARBHOME)/INCLUDE/arbdb.h 77 95 AP_tree_edge.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 81 99 AP_tree_edge.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 82 100 AP_tree_edge.o: $(ARBHOME)/INCLUDE/aw_root.hxx 83 AP_tree_edge.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 84 AP_tree_edge.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 101 AP_tree_edge.o: $(ARBHOME)/INCLUDE/downcast.h 85 102 AP_tree_edge.o: $(ARBHOME)/INCLUDE/smartptr.h 86 103 87 104 AP_tree_nlen.o: AP_buffer.hxx 105 AP_tree_nlen.o: ap_main.hxx 88 106 AP_tree_nlen.o: ap_tree_nlen.hxx 89 107 AP_tree_nlen.o: pars_debug.hxx 90 AP_tree_nlen.o: parsimony.hxx91 108 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 92 109 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/ad_prot.h 93 110 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 111 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/AliView.hxx 112 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/AP_seq_dna.hxx 113 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 114 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 94 115 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/arb_assert.h 95 116 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/arb_error.h 117 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 96 118 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/arbdb.h 97 119 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 101 123 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 102 124 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/aw_root.hxx 103 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 104 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/awt_seq_dna.hxx 105 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 125 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/downcast.h 106 126 AP_tree_nlen.o: $(ARBHOME)/INCLUDE/smartptr.h 107 127 … … 123 143 124 144 PARS_dtree.o: AP_buffer.hxx 145 PARS_dtree.o: ap_main.hxx 125 146 PARS_dtree.o: ap_tree_nlen.hxx 126 147 PARS_dtree.o: pars_debug.hxx 127 148 PARS_dtree.o: pars_dtree.hxx 128 149 PARS_dtree.o: pars_main.hxx 129 PARS_dtree.o: parsimony.hxx130 150 PARS_dtree.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 131 151 PARS_dtree.o: $(ARBHOME)/INCLUDE/ad_prot.h 132 152 PARS_dtree.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 153 PARS_dtree.o: $(ARBHOME)/INCLUDE/AliView.hxx 154 PARS_dtree.o: $(ARBHOME)/INCLUDE/AP_filter.hxx 155 PARS_dtree.o: $(ARBHOME)/INCLUDE/AP_seq_dna.hxx 156 PARS_dtree.o: $(ARBHOME)/INCLUDE/AP_seq_protein.hxx 157 PARS_dtree.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 158 PARS_dtree.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 133 159 PARS_dtree.o: $(ARBHOME)/INCLUDE/arb_assert.h 134 160 PARS_dtree.o: $(ARBHOME)/INCLUDE/arb_error.h 161 PARS_dtree.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 135 162 PARS_dtree.o: $(ARBHOME)/INCLUDE/arbdb.h 136 163 PARS_dtree.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 145 172 PARS_dtree.o: $(ARBHOME)/INCLUDE/aw_root.hxx 146 173 PARS_dtree.o: $(ARBHOME)/INCLUDE/aw_window.hxx 147 PARS_dtree.o: $(ARBHOME)/INCLUDE/awt.hxx148 174 PARS_dtree.o: $(ARBHOME)/INCLUDE/awt_canvas.hxx 149 175 PARS_dtree.o: $(ARBHOME)/INCLUDE/awt_csp.hxx 150 PARS_dtree.o: $(ARBHOME)/INCLUDE/awt_dtree.hxx 151 PARS_dtree.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 176 PARS_dtree.o: $(ARBHOME)/INCLUDE/awt_filter.hxx 152 177 PARS_dtree.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 153 PARS_dtree.o: $(ARBHOME)/INCLUDE/awt_seq_dna.hxx 154 PARS_dtree.o: $(ARBHOME)/INCLUDE/awt_seq_protein.hxx 155 PARS_dtree.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 178 PARS_dtree.o: $(ARBHOME)/INCLUDE/downcast.h 179 PARS_dtree.o: $(ARBHOME)/INCLUDE/gui_aliview.hxx 156 180 PARS_dtree.o: $(ARBHOME)/INCLUDE/smartptr.h 157 158 PARS_klprops.o: AP_buffer.hxx 159 PARS_klprops.o: ap_tree_nlen.hxx 160 PARS_klprops.o: pars_dtree.hxx 161 PARS_klprops.o: pars_main.hxx 162 PARS_klprops.o: parsimony.hxx 181 PARS_dtree.o: $(ARBHOME)/INCLUDE/TreeDisplay.hxx 182 183 PARS_klprops.o: pars_klprops.hxx 163 184 PARS_klprops.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 164 PARS_klprops.o: $(ARBHOME)/INCLUDE/ad_prot.h165 PARS_klprops.o: $(ARBHOME)/INCLUDE/ad_t_prot.h166 185 PARS_klprops.o: $(ARBHOME)/INCLUDE/arb_assert.h 167 186 PARS_klprops.o: $(ARBHOME)/INCLUDE/arb_error.h 168 PARS_klprops.o: $(ARBHOME)/INCLUDE/arbdb.h169 187 PARS_klprops.o: $(ARBHOME)/INCLUDE/arbdb_base.h 170 PARS_klprops.o: $(ARBHOME)/INCLUDE/arbdbt.h171 188 PARS_klprops.o: $(ARBHOME)/INCLUDE/arbtools.h 172 189 PARS_klprops.o: $(ARBHOME)/INCLUDE/attributes.h 173 PARS_klprops.o: $(ARBHOME)/INCLUDE/aw_awars.hxx174 PARS_klprops.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx175 190 PARS_klprops.o: $(ARBHOME)/INCLUDE/aw_device.hxx 176 191 PARS_klprops.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 177 192 PARS_klprops.o: $(ARBHOME)/INCLUDE/aw_position.hxx 178 PARS_klprops.o: $(ARBHOME)/INCLUDE/aw_preset.hxx179 193 PARS_klprops.o: $(ARBHOME)/INCLUDE/aw_root.hxx 180 194 PARS_klprops.o: $(ARBHOME)/INCLUDE/aw_window.hxx 181 PARS_klprops.o: $(ARBHOME)/INCLUDE/awt.hxx182 PARS_klprops.o: $(ARBHOME)/INCLUDE/awt_canvas.hxx183 PARS_klprops.o: $(ARBHOME)/INCLUDE/awt_dtree.hxx184 PARS_klprops.o: $(ARBHOME)/INCLUDE/awt_nds.hxx185 PARS_klprops.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx186 PARS_klprops.o: $(ARBHOME)/INCLUDE/awt_tree.hxx187 PARS_klprops.o: $(ARBHOME)/INCLUDE/awt_tree_cb.hxx188 195 PARS_klprops.o: $(ARBHOME)/INCLUDE/smartptr.h 189 196 190 197 PARS_main.o: AP_buffer.hxx 198 PARS_main.o: ap_main.hxx 191 199 PARS_main.o: ap_tree_nlen.hxx 192 200 PARS_main.o: pars_dtree.hxx 201 PARS_main.o: pars_klprops.hxx 193 202 PARS_main.o: pars_main.hxx 194 PARS_main.o: parsimony.hxx195 203 PARS_main.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 196 204 PARS_main.o: $(ARBHOME)/INCLUDE/ad_prot.h 197 205 PARS_main.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 206 PARS_main.o: $(ARBHOME)/INCLUDE/AliView.hxx 207 PARS_main.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 208 PARS_main.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 198 209 PARS_main.o: $(ARBHOME)/INCLUDE/arb_assert.h 199 210 PARS_main.o: $(ARBHOME)/INCLUDE/arb_error.h 211 PARS_main.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 200 212 PARS_main.o: $(ARBHOME)/INCLUDE/arbdb.h 201 213 PARS_main.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 214 226 PARS_main.o: $(ARBHOME)/INCLUDE/awt_canvas.hxx 215 227 PARS_main.o: $(ARBHOME)/INCLUDE/awt_csp.hxx 216 PARS_main.o: $(ARBHOME)/INCLUDE/awt_ dtree.hxx228 PARS_main.o: $(ARBHOME)/INCLUDE/awt_filter.hxx 217 229 PARS_main.o: $(ARBHOME)/INCLUDE/awt_nds.hxx 218 PARS_main.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx219 230 PARS_main.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 220 PARS_main.o: $(ARBHOME)/INCLUDE/ awt_tree.hxx221 PARS_main.o: $(ARBHOME)/INCLUDE/ awt_tree_cb.hxx231 PARS_main.o: $(ARBHOME)/INCLUDE/downcast.h 232 PARS_main.o: $(ARBHOME)/INCLUDE/gui_aliview.hxx 222 233 PARS_main.o: $(ARBHOME)/INCLUDE/smartptr.h 234 PARS_main.o: $(ARBHOME)/INCLUDE/TreeCallbacks.hxx 235 PARS_main.o: $(ARBHOME)/INCLUDE/TreeDisplay.hxx -
trunk/PARSIMONY/PARS_dtree.cxx
r6141 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 5 #include <arbdb.h> 6 #include <arbdbt.h> 7 #include <aw_root.hxx> 8 #include <aw_device.hxx> 9 #include <aw_window.hxx> 10 #include <aw_preset.hxx> 11 #include <awt_canvas.hxx> 12 #include <awt_tree.hxx> 13 #include <awt_seq_dna.hxx> 14 #include <awt_seq_protein.hxx> 15 16 #include <awt_csp.hxx> 17 #include <awt.hxx> 18 #include <awt_dtree.hxx> 19 #include <awt_sel_boxes.hxx> 1 // =============================================================== // 2 // // 3 // File : PARS_dtree.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #include "ap_main.hxx" 20 12 #include "pars_dtree.hxx" 21 22 #include "AP_buffer.hxx"23 #include "parsimony.hxx"24 #include "ap_tree_nlen.hxx"25 13 #include "pars_main.hxx" 26 14 #include "pars_debug.hxx" 27 28 extern AWT_csp *awt_csp; 29 30 char *AWT_graphic_parsimony_root_changed(void *cd, AP_tree *old, AP_tree *newroot) 31 { 15 #include "ap_tree_nlen.hxx" 16 17 #include <AP_seq_dna.hxx> 18 #include <AP_seq_protein.hxx> 19 #include <AP_filter.hxx> 20 21 #include <awt_csp.hxx> 22 #include <awt_sel_boxes.hxx> 23 #include <awt_filter.hxx> 24 25 #include <gui_aliview.hxx> 26 27 #include <aw_preset.hxx> 28 29 static void AWT_graphic_parsimony_root_changed(void *cd, AP_tree *old, AP_tree *newroot) { 32 30 AWT_graphic_tree *agt = (AWT_graphic_tree*)cd; 31 33 32 if (old == agt->tree_root_display) agt->tree_root_display = newroot; 34 if (old == agt->tree_root) agt->tree_root = newroot; 35 if (old == GLOBAL_NT->tree->tree_root) GLOBAL_NT->tree->tree_root = newroot; 36 return 0; 37 } 38 33 } 34 35 static AliView *pars_generate_aliview(WeightedFilter *pars_weighted_filter) { 36 GBDATA *gb_main = pars_weighted_filter->get_gb_main(); 37 char *ali_name; 38 { 39 GB_transaction ta(gb_main); 40 ali_name = GBT_read_string(gb_main,AWAR_ALIGNMENT); 41 } 42 AliView *aliview = pars_weighted_filter->create_aliview(ali_name); 43 if (!aliview) aw_popup_exit(GB_await_error()); 44 free(ali_name); 45 return aliview; 46 } 39 47 40 48 /************************** … … 47 55 48 56 **************************/ 49 void NT_tree_init(AWT_graphic_tree *agt, adfiltercbstruct *pars_global_filter) { 50 51 AP_tree *tree = agt->tree_root; 57 58 void PARS_tree_init(AWT_graphic_tree *agt) { 59 ap_assert(agt->get_root_node()); 60 ap_assert(agt == ap_main->get_tree_root()); 61 52 62 GB_transaction dummy(GLOBAL_gb_main); 53 54 if (!tree) { 55 return; 56 } 57 char *use = GBT_read_string(GLOBAL_gb_main,AWAR_ALIGNMENT); 58 59 long ali_len = GBT_get_alignment_len(GLOBAL_gb_main,use); 63 64 const char *use = ap_main->get_aliname(); 65 long ali_len = GBT_get_alignment_len(GLOBAL_gb_main, use); 60 66 if (ali_len <=1) { 61 67 aw_popup_exit("No valid alignment selected! Try again"); 62 68 } 63 69 64 65 GB_BOOL is_aa = GBT_is_alignment_protein(GLOBAL_gb_main,use); 66 // 67 // filter & weights setup 68 // 69 if (!tree->tree_root->sequence_template) { 70 AP_tree_root *tr = tree->tree_root; 71 AP_sequence *sproto; 72 if (is_aa) { 73 sproto = (AP_sequence *)new AP_sequence_protein(tr); 74 }else{ 75 sproto = (AP_sequence *)new AP_sequence_parsimony(tr); 76 } 77 78 tr->sequence_template = sproto; 79 tr->filter = awt_get_filter(agt->aw_root, pars_global_filter); 80 tr->weights = new AP_weights(); 81 82 awt_csp->go(0); 83 int i; 84 if (awt_csp->rates){ 85 for (i=0;i<ali_len;i++){ 86 if (awt_csp->rates[i]>0.0000001){ 87 awt_csp->weights[i] *= (int)(2.0/ awt_csp->rates[i]); 88 } 89 } 90 tr->weights->init(awt_csp->weights , tr->filter); 91 }else{ 92 tr->weights->init(tr->filter); 93 } 94 tree->load_sequences_rek(use,GB_FALSE,GB_TRUE); // load with sequences 95 } 96 tree->tree_root->root_changed_cd = (void*)agt; 97 tree->tree_root->root_changed = AWT_graphic_parsimony_root_changed; 98 99 ap_main->use = use; 70 agt->tree_static->set_root_changed_callback(AWT_graphic_parsimony_root_changed, agt); 100 71 } 101 72 … … 115 86 116 87 void PARS_kernighan_cb(AP_tree *tree) { 117 118 88 GB_push_transaction(GLOBAL_gb_main); 119 89 120 AP_sequence::global_combineCount = 0;90 long prevCombineCount = AP_sequence::combine_count(); 121 91 122 92 AP_FLOAT pars_start, pars_prev; 123 pars_prev = pars_start = GLOBAL_NT->tree->tree_root->costs();93 pars_prev = pars_start = AP_TREE_NLEN_CAST(GLOBAL_PARS->tree->get_root_node())->costs(); 124 94 125 95 int rek_deep_max = *GBT_read_int(GLOBAL_gb_main,"genetic/kh/maxdepth"); … … 195 165 196 166 if (tree_elem->gr.hidden || 197 (tree_elem->father && tree_elem-> father->gr.hidden)){167 (tree_elem->father && tree_elem->get_father()->gr.hidden)){ 198 168 continue; // within a folded group 199 169 } … … 211 181 if (better_tree_found) { 212 182 ap_main->clear(); 213 pars_start = GLOBAL_NT->tree->tree_root->costs();183 pars_start = AP_TREE_NLEN_CAST(GLOBAL_PARS->tree->get_root_node())->costs(); 214 184 char buffer[100]; 215 185 sprintf(buffer,"New Parsimony: %f",pars_start); … … 223 193 delete list; 224 194 ap_global_abort_flag |= abort_flag; 225 printf("Combines: %li\n", AP_sequence::global_combineCount); 226 return; 195 printf("Combines: %li\n", AP_sequence::combine_count()-prevCombineCount); 227 196 } 228 197 229 198 void PARS_optimizer_cb(AP_tree *tree) { 230 AP_tree *oldrootleft = GLOBAL_NT->tree->tree_root->leftson; 231 AP_tree *oldrootright = GLOBAL_NT->tree->tree_root->rightson; 199 AWT_graphic_tree *agt = GLOBAL_PARS->tree; 200 AP_tree *oldrootleft = agt->get_root_node()->get_leftson(); 201 AP_tree *oldrootright = agt->get_root_node()->get_rightson(); 232 202 233 203 for (ap_global_abort_flag = 0;!ap_global_abort_flag;){ 234 AP_FLOAT old_pars = GLOBAL_NT->tree->tree_root->costs();235 236 ((AP_tree_nlen *)tree)->nn_interchange_rek(AP_TRUE, ap_global_abort_flag,-1,AP_BL_NNI_ONLY, GB_TRUE); // only not hidden204 AP_FLOAT old_pars = AP_TREE_NLEN_CAST(agt->get_root_node())->costs(); 205 206 ((AP_tree_nlen *)tree)->nn_interchange_rek(AP_TRUE, ap_global_abort_flag, -1); 237 207 if (ap_global_abort_flag) break; 208 209 if (old_pars != AP_TREE_NLEN_CAST(agt->get_root_node())->costs()) { // NNI found better tree 210 continue; 211 } 212 238 213 PARS_kernighan_cb(tree); 239 if (old_pars == GLOBAL_NT->tree->tree_root->costs()) {214 if (old_pars == AP_TREE_NLEN_CAST(agt->get_root_node())->costs()) { 240 215 ap_global_abort_flag = 1; 241 216 } … … 243 218 if (oldrootleft->father == oldrootright) oldrootleft->set_root(); 244 219 else oldrootright->set_root(); 245 GLOBAL_NT->tree->tree_root->costs();220 AP_TREE_NLEN_CAST(agt->get_root_node())->costs(); 246 221 aw_closestatus(); 247 222 } 248 223 249 AWT_graphic_parsimony::AWT_graphic_parsimony(AW_root *root, GBDATA *gb_maini):AWT_graphic_tree(root,gb_maini) 250 {;} 251 252 AWT_graphic_tree *PARS_generate_tree(AW_root *root) { 253 AWT_graphic_parsimony *apdt = new AWT_graphic_parsimony(root,GLOBAL_gb_main); 254 AP_tree_nlen *aptnl = new AP_tree_nlen(0); 255 256 apdt->init((AP_tree *)aptnl); 257 ap_main->tree_root = &apdt->tree_root; 258 259 delete aptnl; 224 AWT_graphic_parsimony::AWT_graphic_parsimony(AW_root *root, GBDATA *gb_maini) 225 : AWT_graphic_tree(root,gb_maini) 226 {} 227 228 AWT_graphic_tree *PARS_generate_tree(AW_root *root, WeightedFilter *pars_weighted_filter) { 229 AliView *aliview = pars_generate_aliview(pars_weighted_filter); 230 AP_sequence *seq_templ = 0; 231 232 GBDATA *gb_main = aliview->get_gb_main(); 233 { 234 GB_transaction ta(gb_main); 235 GB_BOOL is_aa = GBT_is_alignment_protein(gb_main, aliview->get_aliname()); 236 237 if (is_aa) seq_templ = new AP_sequence_protein(aliview); 238 else seq_templ = new AP_sequence_parsimony(aliview); 239 } 240 241 AWT_graphic_parsimony *apdt = new AWT_graphic_parsimony(root, aliview->get_gb_main()); 242 243 apdt->init(AP_tree_nlen(0), aliview, seq_templ, true, false); 244 245 ap_main->set_tree_root(apdt); 260 246 return apdt; 261 247 } … … 297 283 void AWT_graphic_parsimony::show(AW_device *device) 298 284 { 299 long parsval = 0; 300 if (GLOBAL_NT->tree->tree_root) parsval = (long)GLOBAL_NT->tree->tree_root->costs(); 301 GLOBAL_NT->awr->awar(AWAR_PARSIMONY)->write_int( parsval); 302 long best = GLOBAL_NT->awr->awar(AWAR_BEST_PARSIMONY)->read_int(); 285 long parsval = 0; 286 AP_tree_nlen *root_node = AP_TREE_NLEN_CAST(GLOBAL_PARS->tree->get_root_node()); 287 if (root_node) parsval = root_node->costs(); 288 289 GLOBAL_PARS->awr->awar(AWAR_PARSIMONY)->write_int(parsval); 290 long best = GLOBAL_PARS->awr->awar(AWAR_BEST_PARSIMONY)->read_int(); 303 291 if (parsval < best || 0==best) { 304 GLOBAL_ NT->awr->awar(AWAR_BEST_PARSIMONY)->write_int( parsval);292 GLOBAL_PARS->awr->awar(AWAR_BEST_PARSIMONY)->write_int( parsval); 305 293 } 306 294 this->AWT_graphic_tree::show(device); … … 368 356 break; 369 357 } 370 // if ( dest->is_ son(source)) {358 // if ( dest->is_inside(source)) { 371 359 // aw_message("This operation is only allowed with two independent subtrees"); 372 360 // break; … … 388 376 error = source->move_group_info(dest); 389 377 break; 390 default:391 error = "????? 45338";392 378 } 393 379 … … 398 384 if (error) aw_message(error); 399 385 this->exports.refresh = 1; 400 this->exports.save = 1;401 this->exports.resize = 1;402 this->tree_root->test_tree();386 this->exports.save = 1; 387 this->exports.resize = 1; 388 ASSERT_VALID_TREE(get_root_node()); 403 389 //this->tree_root->compute_tree(gb_main); 404 390 compute_tree = true; … … 415 401 GB_pop_transaction(gb_main); 416 402 switch(button){ 417 case AWT_M_LEFT: 418 if (!cl->exists) break; 419 at = (AP_tree *)cl->client_data1; 420 ap_global_abort_flag = AP_FALSE; 421 ((AP_tree_nlen *)at)->nn_interchange_rek(AP_TRUE,ap_global_abort_flag,-1); 422 this->exports.refresh = 1; 423 this->exports.save = 1; 424 this->tree_root->test_tree(); 403 case AWT_M_LEFT: { 404 if (cl->exists) { 405 at = (AP_tree *)cl->client_data1; 406 ap_global_abort_flag = AP_FALSE; 407 AP_tree_nlen *atn = DOWNCAST(AP_tree_nlen*, at); 408 atn->nn_interchange_rek(AP_TRUE,ap_global_abort_flag,-1); 409 exports.refresh = 1; 410 exports.save = 1; 411 ASSERT_VALID_TREE(get_root_node()); 412 recalc_branch_lengths = true; 413 } 414 break; 415 } 416 case AWT_M_RIGHT: { 417 long prevCombineCount = AP_sequence::combine_count(); 418 ap_global_abort_flag = AP_FALSE; 419 AP_tree_nlen *atn = DOWNCAST(AP_tree_nlen*, get_root_node()); 420 421 atn->nn_interchange_rek(AP_TRUE,ap_global_abort_flag,-1); 422 printf("Combines: %li\n", AP_sequence::combine_count()-prevCombineCount); 423 424 exports.refresh = 1; 425 exports.save = 1; 426 ASSERT_VALID_TREE(get_root_node()); 425 427 recalc_branch_lengths = true; 426 428 break; 427 case AWT_M_RIGHT: 428 AP_sequence::global_combineCount = 0; 429 ap_global_abort_flag = AP_FALSE; 430 ((AP_tree_nlen *)this->tree_root)->nn_interchange_rek(AP_TRUE,ap_global_abort_flag,-1); 431 printf("Combines: %li\n", AP_sequence::global_combineCount); 432 this->exports.refresh = 1; 433 this->exports.save = 1; 434 this->tree_root->test_tree(); 435 recalc_branch_lengths = true; 436 break; 429 } 437 430 } 438 431 GB_begin_transaction(gb_main); … … 449 442 this->exports.refresh = 1; 450 443 this->exports.save = 1; 451 this->tree_root->test_tree();444 ASSERT_VALID_TREE(get_root_node()); 452 445 recalc_branch_lengths = true; 453 446 break; 454 447 case AWT_M_RIGHT: 455 PARS_kernighan_cb( this->tree_root);448 PARS_kernighan_cb(get_root_node()); 456 449 this->exports.refresh = 1; 457 450 this->exports.save = 1; 458 this->tree_root->test_tree();451 ASSERT_VALID_TREE(get_root_node()); 459 452 recalc_branch_lengths = true; 460 453 break; … … 473 466 this->exports.refresh = 1; 474 467 this->exports.save = 1; 475 this->tree_root->test_tree();468 ASSERT_VALID_TREE(get_root_node()); 476 469 recalc_branch_lengths = true; 477 470 break; 478 471 case AWT_M_RIGHT: 479 PARS_optimizer_cb( this->tree_root);472 PARS_optimizer_cb(get_root_node()); 480 473 this->exports.refresh = 1; 481 474 this->exports.save = 1; 482 this->tree_root->test_tree();475 ASSERT_VALID_TREE(get_root_node()); 483 476 recalc_branch_lengths = true; 484 477 break; … … 509 502 510 503 if (compute_tree) { 511 this->tree_root->compute_tree(gb_main);512 this->exports.refresh = 1;513 } 514 } 504 get_root_node()->compute_tree(gb_main); 505 exports.refresh = 1; 506 } 507 } -
trunk/PARSIMONY/PARS_klprops.cxx
r6089 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 // #include <malloc.h> 4 #include <arbdb.h> 5 #include <arbdbt.h> 1 // =============================================================== // 2 // // 3 // File : PARS_klprops.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 6 10 7 #include <aw_root.hxx>8 #include <aw_device.hxx> 11 #include "pars_klprops.hxx" 12 9 13 #include <aw_window.hxx> 10 #include <aw_preset.hxx>11 #include <aw_awars.hxx>12 #include <awt_canvas.hxx>13 #include <awt.hxx>14 #include <awt_nds.hxx>15 14 16 #include <awt_tree.hxx>17 #include <awt_dtree.hxx>18 #include <awt_tree_cb.hxx>19 20 #include "AP_buffer.hxx"21 #include "parsimony.hxx"22 #include "ap_tree_nlen.hxx"23 #include "pars_main.hxx"24 #include "pars_dtree.hxx"25 26 extern AW_window *preset_window( AW_root *root );27 extern AW_window *genetic_window(AW_root *root);28 15 29 16 AW_window *create_kernighan_window(AW_root *aw_root) { -
trunk/PARSIMONY/PARS_main.cxx
r6236 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 // #include <malloc.h> 5 #include <iostream> 6 #include <limits.h> 7 #include <arbdb.h> 8 #include <arbdbt.h> 9 10 #include <aw_root.hxx> 11 #include <aw_device.hxx> 12 #include <aw_window.hxx> 13 #include <aw_preset.hxx> 14 #include <aw_awars.hxx> 15 #include <awt_canvas.hxx> 16 #include <awt.hxx> 17 #include <awt_nds.hxx> 18 19 #include <awt_tree.hxx> 20 #include <awt_dtree.hxx> 21 #include <awt_tree_cb.hxx> 22 #include <awt_sel_boxes.hxx> 23 24 #include <awt_csp.hxx> 25 26 #include "AP_buffer.hxx" 27 #include "parsimony.hxx" 28 #include "ap_tree_nlen.hxx" 1 // =============================================================== // 2 // // 3 // File : PARS_main.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #include "ap_main.hxx" 29 12 #include "pars_main.hxx" 30 13 #include "pars_dtree.hxx" 14 #include "pars_klprops.hxx" 15 #include "ap_tree_nlen.hxx" 16 17 #include <aw_awars.hxx> 18 #include <aw_preset.hxx> 19 20 #include <awt.hxx> 21 #include <awt_csp.hxx> 22 #include <awt_nds.hxx> 23 #include <awt_sel_boxes.hxx> 24 #include <awt_filter.hxx> 25 #include <gui_aliview.hxx> 26 27 #include <TreeCallbacks.hxx> 31 28 32 29 #include <list> … … 36 33 #endif // DEBUG 37 34 38 39 35 using namespace std; 40 36 41 37 AW_HEADER_MAIN 42 38 43 GBDATA *GLOBAL_gb_main; // global gb_main for arb_pars 44 NT_global *GLOBAL_NT; 39 #define AWAR_CSP_NAME "tmp/pars/csp/name" 40 41 GBDATA *GLOBAL_gb_main; // global gb_main for arb_pars 42 43 44 45 #if defined(DEVEL_RALF) 46 #warning make GLOBAL_PARS static! 47 #endif // DEVEL_RALF 48 PARS_global *GLOBAL_PARS; 45 49 46 50 // waaah more globals :( 47 51 AP_main *ap_main; 48 AWT_csp *awt_csp = 0; 49 50 AW_window *create_kernighan_window(AW_root *aw_root); 51 52 static void pars_export_tree(void){ 53 // GB_ERROR error = GLOBAL_NT->tree->tree_root->AP_tree::saveTree(); 54 GB_ERROR error = GLOBAL_NT->tree->save(0, 0, 0, 0); 52 53 static void pars_saveNrefresh_changed_tree(AWT_canvas *ntw) { 54 ap_assert((AWT_TREE(ntw) == GLOBAL_PARS->tree)); 55 56 GB_ERROR error = GLOBAL_PARS->tree->save(ntw->gb_main,0,0,0); 57 if (error) aw_message(error); 58 59 ntw->zoom_reset(); 60 ntw->refresh(); 61 } 62 63 static void pars_export_tree(){ 64 GB_ERROR error = GLOBAL_PARS->tree->save(0, 0, 0, 0); 55 65 if (error) aw_message(error); 56 66 } … … 78 88 { 79 89 ap_main->user_push(); 80 aww->get_root()->awar(AWAR_STACKPOINTER)->write_int(ap_main-> user_push_counter);90 aww->get_root()->awar(AWAR_STACKPOINTER)->write_int(ap_main->get_user_push_counter()); 81 91 } 82 92 83 93 void AP_user_pop_cb(AW_window *aww,AWT_canvas *ntw) 84 94 { 85 if (ap_main-> user_push_counter<=0) {95 if (ap_main->get_user_push_counter()<=0) { 86 96 aw_message("No tree on stack."); 87 97 return; 88 98 } 89 99 ap_main->user_pop(); 90 (*ap_main->tree_root)->compute_tree(GLOBAL_gb_main); 91 ntw->zoom_reset(); 92 ntw->refresh(); 93 (*ap_main->tree_root)->test_tree(); 94 aww->get_root()->awar(AWAR_STACKPOINTER)->write_int(ap_main->user_push_counter); 95 pars_export_tree(); 96 97 if (ap_main->user_push_counter <= 0) { // last tree was popped => push again 100 rootNode()->compute_tree(GLOBAL_gb_main); 101 ASSERT_VALID_TREE(rootNode()); 102 aww->get_root()->awar(AWAR_STACKPOINTER)->write_int(ap_main->get_user_push_counter()); 103 104 pars_saveNrefresh_changed_tree(ntw); 105 106 if (ap_main->get_user_push_counter() <= 0) { // last tree was popped => push again 98 107 AP_user_push_cb(aww, ntw); 99 108 } … … 123 132 if (isits->abort_flag) return val; 124 133 125 AP_tree *tree = (*ap_main->tree_root); 126 GBDATA *gb_node = (GBDATA *)val; 127 128 GB_begin_transaction(GLOBAL_gb_main); 129 130 GBDATA *gb_data = GBT_read_sequence(gb_node,ap_main->use); 131 if (!gb_data) 132 { 133 sprintf(AW_ERROR_BUFFER,"Warning Species '%s' has no sequence '%s'", 134 key,ap_main->use); 135 aw_message(); 136 GB_commit_transaction(GLOBAL_gb_main); 137 return val; 138 } 139 134 GBDATA *gb_node = (GBDATA *)val; 135 136 #if defined(DEVEL_RALF) 137 #warning following code could be a method .. 138 // ARB_tree *ARB_tree_root::create_linked_leaf(GBDATA *gb_species, const char *name) 139 #endif // DEVEL_RALF 140 141 AP_tree *tree = rootNode(); 140 142 AP_tree *leaf = tree->dup(); 141 143 leaf->gb_node = gb_node; 142 leaf->name = strdup(key);144 leaf->name = strdup(key); 143 145 leaf->is_leaf = GB_TRUE; 144 146 145 leaf->sequence = leaf->tree_root->sequence_template->dup(); 146 leaf->sequence->set(GB_read_char_pntr(gb_data)); 147 GB_commit_transaction (GLOBAL_gb_main); 148 149 if (leaf->sequence->real_len() < MIN_SEQUENCE_LENGTH) 150 { 147 leaf->set_seq(leaf->get_tree_root()->get_seqTemplate()->dup()); 148 GB_ERROR error = leaf->get_seq()->bind_to_species(gb_node); 149 150 if (error) { 151 aw_message(error); 152 return val; 153 } 154 155 if (leaf->get_seq()->weighted_base_count() < MIN_SEQUENCE_LENGTH) { 151 156 sprintf(AW_ERROR_BUFFER, 152 "Species %s has too short sequence (% i, minimum is %i)",157 "Species %s has too short sequence (%f, minimum is %i)", 153 158 key, 154 (int)leaf->sequence->real_len(),159 leaf->get_seq()->weighted_base_count(), 155 160 MIN_SEQUENCE_LENGTH); 156 161 aw_message(); … … 206 211 207 212 tree->buildBranchList(blist,bsum,AP_TRUE,-1); // get all branches 208 AP_sequence::global_combineCount = 0; 209 210 AP_tree *bestposl = tree->leftson; 211 AP_tree *bestposr = tree->rightson; 213 214 #if defined(DEBUG) 215 long prevCombineCount = AP_sequence::combine_count(); 216 #endif // DEBUG 217 218 AP_tree *bestposl = tree->get_leftson(); 219 AP_tree *bestposr = tree->get_rightson(); 212 220 leaf->insert(bestposl); 213 221 AP_FLOAT best_parsimony,akt_parsimony; 214 best_parsimony = akt_parsimony = (*ap_main->tree_root)->costs();222 best_parsimony = akt_parsimony = rootNode()->costs(); 215 223 216 224 for (counter = 0; !isits->abort_flag && blist[counter]; counter += 2) … … 238 246 239 247 leaf->moveTo(bl,0.5); 240 akt_parsimony = (*ap_main->tree_root)->costs();248 akt_parsimony = rootNode()->costs(); 241 249 242 250 if (akt_parsimony<best_parsimony) … … 258 266 { 259 267 AP_tree_nlen *fath = ((AP_tree_nlen*)bestposl)->Father()->Father(); 268 260 269 char *seq_with_leaf; 261 270 char *seq_without_leaf; 262 long len_with_leaf;263 long len_without_leaf; 264 long i;265 266 seq_with_leaf = fath->getSequence();267 len_with_leaf = fath->sequence->sequence_len; 268 271 long i; 272 273 // Note: removed sequence length code here, 274 // cause "sequence_len" is always filter-length (i.e. constant until filter changes) 275 // ralf 10/2009 276 277 seq_with_leaf = fath->getSequenceCopy(); 269 278 270 279 ap_main->push(); 280 271 281 leaf->remove(); 272 273 seq_without_leaf = fath->getSequence(); 274 len_without_leaf = fath->sequence->sequence_len; 275 282 seq_without_leaf = fath->getSequenceCopy(); 276 283 277 284 ap_main->pop(); 278 285 279 280 if (len_with_leaf==len_without_leaf) { 281 for (i=0; i<len_with_leaf; i++) { 282 if (seq_with_leaf[i]!=seq_without_leaf[i]) { 283 baseDiff++; 284 } 286 for (i=0; seq_with_leaf[i]; i++) { 287 if (seq_with_leaf[i]!=seq_without_leaf[i]) { 288 baseDiff++; 285 289 } 286 } 287 else { 288 cout << "Laenge der Sequenz hat sich geaendert!!!"; 290 289 291 } 290 292 … … 295 297 rootEdge()->countSpecies(); 296 298 297 // printf("Combines: %i\n",global_combineCount); 299 #if defined(DEBUG) 300 printf("Combines: %li\n", AP_sequence::combine_count()-prevCombineCount); 301 #endif // DEBUG 298 302 299 303 if (!isits->quick_add_flag ) { … … 319 323 AP_tree *leaf1 = (AP_tree*)leaf1_ptr; 320 324 321 AP_FLOAT len0 = leaf0-> sequence->real_len();322 AP_FLOAT len1 = leaf1-> sequence->real_len();325 AP_FLOAT len0 = leaf0->get_seq()->weighted_base_count(); 326 AP_FLOAT len1 = leaf1->get_seq()->weighted_base_count(); 323 327 324 328 return len0<len1 ? 1 : (len0>len1 ? -1 : 0); // longest sequence first 325 329 } 326 330 327 static long transform_gbd_to_leaf(const char *key, long val, void *) {331 static long transform_gbd_to_leaf(const char *key, long val, void *) { 328 332 if (!val) return val; 329 333 330 AP_tree *tree = (*ap_main->tree_root); 331 GBDATA *gb_node = (GBDATA *)val; 332 GBDATA *gb_data = GBT_read_sequence(gb_node,ap_main->use); 333 334 if (!gb_data) { 335 sprintf(AW_ERROR_BUFFER,"Warning Species '%s' has no sequence '%s'", 336 key,ap_main->use); 337 aw_message(); 338 return 0; 339 } 340 AP_tree *leaf = tree->dup(); 334 #if defined(DEVEL_RALF) 335 #warning use create_linked_leaf() when impl 336 #endif // DEVEL_RALF 337 338 GBDATA *gb_node = (GBDATA *)val; 339 AP_tree_root *troot = ap_main->get_tree_root()->tree_static; 340 341 AP_tree *leaf = DOWNCAST(const AP_tree*, troot->get_nodeTemplate())->dup(); 341 342 leaf->gb_node = gb_node; 342 leaf->name = strdup(key);343 leaf->name = strdup(key); 343 344 leaf->is_leaf = GB_TRUE; 344 leaf->sequence = leaf->tree_root->sequence_template->dup(); 345 leaf->sequence->set(GB_read_char_pntr(gb_data)); 345 346 leaf->set_seq(troot->get_seqTemplate()->dup()); 347 GB_ERROR error = leaf->get_seq()->bind_to_species(gb_node); 348 if (error) { 349 aw_message(error); 350 delete leaf; leaf = 0; 351 } 346 352 return (long)leaf; 347 353 } … … 354 360 if (isits->abort_flag) return leaf; 355 361 356 AP_tree *tree = (*ap_main->tree_root); 357 358 359 if (leaf->sequence->real_len() < MIN_SEQUENCE_LENGTH) { 360 sprintf(AW_ERROR_BUFFER,"Species %s has too short sequence (%i, minimum is %i)", 361 key, (int)leaf->sequence->real_len(), MIN_SEQUENCE_LENGTH); 362 AP_tree *tree = rootNode(); 363 364 if (leaf->get_seq()->weighted_base_count() < MIN_SEQUENCE_LENGTH) { 365 sprintf(AW_ERROR_BUFFER, 366 "Species %s has too short sequence (%f, minimum is %i)", 367 key, 368 leaf->get_seq()->weighted_base_count(), 369 MIN_SEQUENCE_LENGTH); 370 362 371 aw_message(); 363 372 delete leaf; … … 371 380 aw_openstatus(AW_ERROR_BUFFER); 372 381 } 373 aw_status("Searching best position"); 374 375 AP_tree **blist; 376 AP_tree_nlen *bl,*blf; 377 long bsum = 0; 378 long counter = 0; 379 380 tree->buildBranchList(blist,bsum,AP_TRUE,-1); // get all branches 381 AP_sequence::global_combineCount = 0; 382 383 AP_tree *bestposl = tree->leftson; 384 AP_tree *bestposr = tree->rightson; 385 leaf->insert(bestposl); 386 AP_FLOAT best_parsimony,akt_parsimony; 387 best_parsimony = akt_parsimony = (*ap_main->tree_root)->costs(); 388 389 for (counter = 0;!isits->abort_flag && blist[counter];counter += 2) { 390 if (isits->singlestatus && (counter & 0xf) == 0) { 391 isits->abort_flag = (AP_BOOL)aw_status(counter/(bsum*2.0)); 392 } 393 bl = (AP_tree_nlen *)blist[counter]; 394 blf = (AP_tree_nlen *)blist[counter+1]; 395 if (blf->father == bl ) { 396 bl = (AP_tree_nlen *)blist[counter+1]; 397 blf = (AP_tree_nlen *)blist[counter]; 398 } 399 400 if (bl->father) { //->father 401 bl->set_root(); 402 } 403 404 leaf->moveTo(bl,0.5); 405 akt_parsimony = (*ap_main->tree_root)->costs(); 406 if (akt_parsimony < best_parsimony) { 407 best_parsimony = akt_parsimony; 408 bestposl = bl; 409 bestposr = blf; 410 } 411 412 } 413 delete blist;blist = 0; 414 if (bestposl->father != bestposr){ 415 bestposl = bestposr; 416 } 417 leaf->moveTo(bestposl,0.5); 418 419 if (!isits->quick_add_flag) { 420 int deep = 5; 421 if ( (isits->currentspecies & 0xf ) == 0) deep = -1; 422 aw_status("optimization"); 423 ((AP_tree_nlen *)bestposl->father)-> 424 nn_interchange_rek(AP_FALSE, isits->abort_flag, deep, AP_BL_NNI_ONLY, GB_TRUE); 425 } 426 AP_tree *brother = leaf->brother(); 427 if ( brother->is_leaf && // brother is a short sequence 428 brother->sequence->real_len() *2 < leaf->sequence->real_len() && 429 leaf->father->father){ // There are more than two species 430 brother->remove(); 431 leaf->remove(); 432 isits->currentspecies--; 433 char *label = GBS_global_string_copy("2:%s",leaf->name); 434 insert_species_in_tree(label, leaf, cd_isits); // reinsert species 435 delete label; 436 isits->currentspecies--; 437 label = GBS_global_string_copy("shortseq:%s",brother->name); 438 insert_species_in_tree(label, brother, cd_isits); // reinsert short sequence 439 delete label; 440 } 441 442 if (!isits->singlestatus) { 443 isits->abort_flag |= aw_status(isits->currentspecies/(double)isits->maxspecies); 382 383 if (!tree) { // no tree yet 384 static AP_tree *last_inserted = NULL; 385 386 if (!last_inserted) { // store 1st leaf 387 last_inserted = leaf; 388 } 389 else { // 2nd leaf -> create initial tree 390 AP_tree_root *troot = ap_main->get_tree_root()->tree_static; 391 leaf->insert(last_inserted); 392 last_inserted = NULL; 393 394 AP_tree *initial_tree = leaf->get_father(); 395 troot->change_root(NULL, initial_tree); 396 397 ASSERT_VALID_TREE(troot->get_root_node()); 398 } 399 } 400 else { 401 aw_status("Searching best position"); 402 403 ASSERT_VALID_TREE(tree); 404 405 AP_tree **blist; 406 AP_tree_nlen *bl,*blf; 407 long bsum = 0; 408 long counter = 0; 409 410 tree->buildBranchList(blist,bsum,AP_TRUE,-1); // get all branches 411 412 AP_tree *bestposl = tree->get_leftson(); 413 AP_tree *bestposr = tree->get_rightson(); 414 leaf->insert(bestposl); 415 416 ASSERT_VALID_TREE(rootNode()); 417 418 AP_FLOAT best_parsimony,akt_parsimony; 419 best_parsimony = akt_parsimony = rootNode()->costs(); 420 421 for (counter = 0;!isits->abort_flag && blist[counter];counter += 2) { 422 if (isits->singlestatus && (counter & 0xf) == 0) { 423 isits->abort_flag = (AP_BOOL)aw_status(counter/(bsum*2.0)); 424 } 425 bl = (AP_tree_nlen *)blist[counter]; 426 blf = (AP_tree_nlen *)blist[counter+1]; 427 if (blf->father == bl ) { 428 bl = (AP_tree_nlen *)blist[counter+1]; 429 blf = (AP_tree_nlen *)blist[counter]; 430 } 431 432 if (bl->father) { //->father 433 bl->set_root(); 434 } 435 436 leaf->moveTo(bl,0.5); 437 akt_parsimony = rootNode()->costs(); 438 if (akt_parsimony < best_parsimony) { 439 best_parsimony = akt_parsimony; 440 bestposl = bl; 441 bestposr = blf; 442 } 443 444 } 445 delete blist;blist = 0; 446 if (bestposl->father != bestposr){ 447 bestposl = bestposr; 448 } 449 leaf->moveTo(bestposl,0.5); 450 451 if (!isits->quick_add_flag) { 452 int deep = 5; 453 if ( (isits->currentspecies & 0xf ) == 0) deep = -1; 454 aw_status("optimization"); 455 ((AP_tree_nlen *)bestposl->father)-> 456 nn_interchange_rek(AP_FALSE, isits->abort_flag, deep, AP_BL_NNI_ONLY, GB_TRUE); 457 } 458 AP_tree *brother = leaf->get_brother(); 459 if (brother->is_leaf && // brother is a short sequence 460 2 * brother->get_seq()->weighted_base_count() < leaf->get_seq()->weighted_base_count() && 461 leaf->father->father) // There are more than two species 462 { 463 brother->remove(); 464 leaf->remove(); 465 isits->currentspecies--; 466 char *label = GBS_global_string_copy("2:%s",leaf->name); 467 insert_species_in_tree(label, leaf, cd_isits); // reinsert species 468 delete label; 469 isits->currentspecies--; 470 label = GBS_global_string_copy("shortseq:%s",brother->name); 471 insert_species_in_tree(label, brother, cd_isits); // reinsert short sequence 472 delete label; 473 } 474 475 if (!isits->singlestatus) { 476 isits->abort_flag |= aw_status(isits->currentspecies/(double)isits->maxspecies); 477 } 444 478 } 445 479 … … 459 493 } 460 494 461 static void nt_add(AW_window *, AWT_canvas *ntw, int what, AP_BOOL quick, int test) 495 enum AddWhat { 496 NT_ADD_MARKED, 497 NT_ADD_SELECTED, 498 }; 499 500 static void nt_add(AW_window *, AWT_canvas *ntw, AddWhat what, AP_BOOL quick, int test) 462 501 { 463 GB_begin_transaction(GLOBAL_gb_main); 502 GB_ERROR error = 0; 503 504 AP_tree *oldrootleft = NULL; 505 AP_tree *oldrootright = NULL; 506 { 507 AP_tree *root = rootNode(); 508 if (root) { 509 oldrootleft = root->get_leftson(); 510 oldrootright = root->get_rightson(); 511 } 512 } 513 514 aw_openstatus("Search selected species"); 515 464 516 GB_HASH *hash = 0; 465 GB_ERROR error = 0; 466 AP_tree *oldrootleft = (*ap_main->tree_root)->leftson; 467 AP_tree *oldrootright = (*ap_main->tree_root)->rightson; 468 aw_openstatus("Search selected species"); 469 470 if (what) 471 { 472 char *name = GBT_readOrCreate_string(GLOBAL_gb_main, AWAR_SPECIES_NAME, ""); 473 if (name && strlen(name)) { 474 GBDATA *gb_species = GBT_find_species(GLOBAL_gb_main,name); 475 if (gb_species) { 476 hash = GBS_create_hash(10, GB_MIND_CASE); 477 GBS_write_hash(hash,name,(long)gb_species); 517 { 518 GB_transaction ta(GLOBAL_gb_main); 519 switch (what) { 520 case NT_ADD_SELECTED: { 521 char *name = GBT_readOrCreate_string(GLOBAL_gb_main, AWAR_SPECIES_NAME, ""); 522 if (name && strlen(name)) { 523 GBDATA *gb_species = GBT_find_species(GLOBAL_gb_main, name); 524 if (gb_species) { 525 hash = GBS_create_hash(10, GB_MIND_CASE); 526 GBS_write_hash(hash, name, (long)gb_species); 527 } 528 else error = GBS_global_string("Selected Species (%s) not found", name); 529 } 530 else error = "Please select a species"; 531 free(name); 532 break; 478 533 } 479 else { 480 error = "Error: Selected Species not found"; 534 case NT_ADD_MARKED: { 535 hash = GBT_create_marked_species_hash(GLOBAL_gb_main); 536 break; 481 537 } 482 538 } 483 else { 484 error= "Please select an species" 485 " to select an species: 1. arb_edit: enable global cursor and select sequence" 486 " 2. arb_ntree: species/search and select species"; 487 } 488 free(name); 489 } 490 else { 491 hash = GBT_create_marked_species_hash(GLOBAL_gb_main); 492 } 493 GB_commit_transaction(GLOBAL_gb_main); 494 539 } 540 541 ap_assert(hash); 495 542 if (!error) { 496 NT_remove_species_in_tree_from_hash( *ap_main->tree_root,hash);543 NT_remove_species_in_tree_from_hash(rootNode(), hash); 497 544 498 545 InsertData isits(quick); 499 500 546 GBS_hash_do_loop(hash, count_hash_elements, &isits); 501 502 547 aw_openstatus(GBS_global_string("Adding %li species", isits.maxspecies)); 503 548 … … 520 565 rootEdge()->nni_rek(AP_FALSE,isits.abort_flag,-1, GB_FALSE ,AP_BL_BL_ONLY); 521 566 522 rootNode()->test_tree();567 ASSERT_VALID_TREE(rootNode()); 523 568 rootNode()->compute_tree(GLOBAL_gb_main); 524 569 525 if (oldrootleft->father == oldrootright) oldrootleft->set_root(); 526 else oldrootright->set_root(); 570 if (oldrootleft) { 571 if (oldrootleft->father == oldrootright) oldrootleft->set_root(); 572 else oldrootright->set_root(); 573 } 574 else { 575 ARB_edge innermost = rootNode()->get_tree_root()->find_innermost_edge(); 576 AP_TREE_CAST(innermost.son())->set_root(); 577 } 527 578 528 579 aw_closestatus(); … … 533 584 534 585 AWT_TREE(ntw)->resort_tree(0); 535 ntw->zoom_reset(); 536 if (!error) pars_export_tree(); 586 pars_saveNrefresh_changed_tree(ntw); 537 587 } 538 588 … … 606 656 long curr_penalty; 607 657 608 leaf_full-> sequence->partial_match(get_self()->sequence, &curr_overlap, &curr_penalty);658 leaf_full->get_seq()->partial_match(get_self()->get_seq(), &curr_overlap, &curr_penalty); 609 659 610 660 bool better = false; … … 661 711 } 662 712 else { 663 error = nt_best_partial_match_rek(partial, tree-> leftson);664 if (!error) error = nt_best_partial_match_rek(partial, tree-> rightson);713 error = nt_best_partial_match_rek(partial, tree->get_leftson()); 714 if (!error) error = nt_best_partial_match_rek(partial, tree->get_rightson()); 665 715 } 666 716 } … … 680 730 } 681 731 else { 682 count_partial_and_full(at-> leftson, partial, full, zombies, default_value, define_if_undef);683 count_partial_and_full(at-> rightson, partial, full, zombies, default_value, define_if_undef);732 count_partial_and_full(at->get_leftson(), partial, full, zombies, default_value, define_if_undef); 733 count_partial_and_full(at->get_rightson(), partial, full, zombies, default_value, define_if_undef); 684 734 } 685 735 } … … 698 748 } 699 749 700 AP_tree *left = find_least_deep_leaf(at-> leftson, depth+1, min_depth);701 AP_tree *right = find_least_deep_leaf(at-> rightson, depth+1, min_depth);750 AP_tree *left = find_least_deep_leaf(at->get_leftson(), depth+1, min_depth); 751 AP_tree *right = find_least_deep_leaf(at->get_rightson(), depth+1, min_depth); 702 752 703 753 return right ? right : left; … … 731 781 ++marked_found; 732 782 733 if (GBT_read_sequence(gb_marked,ap_main-> use)) { // species has sequence in alignment783 if (GBT_read_sequence(gb_marked,ap_main->get_aliname())) { // species has sequence in alignment 734 784 const char *name = GBT_read_name(gb_marked); 735 785 … … 760 810 761 811 if (!error) { 762 NT_remove_species_in_tree_from_hash( *ap_main->tree_root,partial_hash); // skip all species which are in tree812 NT_remove_species_in_tree_from_hash(rootNode(), partial_hash); // skip all species which are in tree 763 813 GBS_hash_do_loop(partial_hash, push_partial, &partial); // build partial list from hash 764 814 765 815 int partials_already_in_tree = partial_marked_sequences - partial.size(); 766 816 767 if (no_data>0) aw_message(GBS_global_string("%i marked species have no data in '%s'", no_data, ap_main-> use));817 if (no_data>0) aw_message(GBS_global_string("%i marked species have no data in '%s'", no_data, ap_main->get_aliname())); 768 818 if (full_marked_sequences>0) aw_message(GBS_global_string("%i marked species are declared full sequences", full_marked_sequences)); 769 819 if (partials_already_in_tree>0) aw_message(GBS_global_string("%i marked species are already in tree", partials_already_in_tree)); … … 775 825 if (!error) { 776 826 // find best matching full sequence for each partial sequence 777 error = nt_best_partial_match_rek(partial, *ap_main->tree_root);827 error = nt_best_partial_match_rek(partial, rootNode()); 778 828 779 829 list<PartialSequence>::iterator i = partial.begin(); … … 797 847 AP_tree *part_leaf = i->release(); 798 848 AP_tree *full_seq = const_cast<AP_tree*>(i->get_best_match()); 799 AP_tree *brother = full_seq-> brother();849 AP_tree *brother = full_seq->get_brother(); 800 850 int is_partial = 0; 801 851 AP_tree *target = 0; … … 847 897 848 898 // we need to create the sequence of the father node! 849 AP_tree *father = part_leaf->father;899 AP_tree_nlen *father = AP_TREE_NLEN_CAST(part_leaf->get_father()); 850 900 father->costs(); 851 901 … … 893 943 } 894 944 895 // AWT_TREE(ntw)->resort_tree(0); 896 ntw->zoom_reset(); 897 if (!error) pars_export_tree(); 945 // AWT_TREE(ntw)->resort_tree(0); 946 pars_saveNrefresh_changed_tree(ntw); 898 947 } 899 948 … … 904 953 // normal versions : 905 954 906 static void NT_add(AW_window * aww, AWT_canvas *ntw, int what) { 907 // what == 0 marked ==1 selected 908 nt_add(aww,ntw,what,AP_FALSE,0); 909 } 910 911 static void NT_quick_add(AW_window * aww, AWT_canvas *ntw, int what) { 912 // what == 0 marked ==1 selected 913 nt_add(aww,ntw,what,AP_TRUE,0); 914 } 955 static void NT_add (AW_window * aww, AWT_canvas *ntw, AddWhat what){ nt_add(aww, ntw, what, AP_FALSE, 0); } 956 static void NT_quick_add(AW_window * aww, AWT_canvas *ntw, AddWhat what){ nt_add(aww, ntw, what, AP_TRUE, 0); } 915 957 916 958 // test versions : 917 959 918 960 #if defined(TEST_FUNCTIONS) 919 static void NT_add_test(AW_window * aww, AWT_canvas *ntw, int what) { 920 // what == 0 marked ==1 selected 921 nt_add(aww,ntw,what,AP_FALSE,1); 922 } 923 924 static void NT_quick_add_test(AW_window * aww, AWT_canvas *ntw, int what) { 925 // what == 0 marked ==1 selected 926 nt_add(aww,ntw,what,AP_TRUE,1); 927 } 961 static void NT_add_test (AW_window * aww, AWT_canvas *ntw, AddWhat what){ nt_add(aww, ntw, what, AP_FALSE, 1); } 962 static void NT_quick_add_test(AW_window * aww, AWT_canvas *ntw, AddWhat what){ nt_add(aww, ntw, what, AP_TRUE, 1); } 928 963 #endif // TEST_FUNCTIONS 929 964 … … 932 967 // ----------------------------------------- 933 968 934 static void NT_radd_internal(AW_window * aww, AWT_canvas *ntw, int what, AP_BOOL quick, int test) { 935 // what == 0 marked ==1 selected 936 969 static void NT_radd_internal(AW_window * aww, AWT_canvas *ntw, AddWhat what, AP_BOOL quick, int test) { 937 970 AW_awar *awar_best_pars = aww->get_root()->awar(AWAR_BEST_PARSIMONY); 938 971 int oldparsval = awar_best_pars->read_int(); 939 972 940 NT_remove_leafs(0,ntw,AWT_REMOVE_BUT_DONT_FREE | AWT_REMOVE_MARKED); 973 AWT_graphic_tree *agt = AWT_TREE(ntw); 974 if (agt->get_root_node()) { 975 agt->tree_static->remove_leafs(AWT_REMOVE_BUT_DONT_FREE|AWT_REMOVE_MARKED); 976 } 941 977 942 978 // restore old parsimony value (otherwise the state where species were removed would count) : … … 948 984 // normal versions : 949 985 950 static void NT_radd(AW_window * aww, AWT_canvas *ntw, int what) { 951 // what == 0 marked ==1 selected 952 NT_radd_internal(aww, ntw, what, AP_FALSE, 0); 953 } 954 955 static void NT_rquick_add(AW_window * aww, AWT_canvas *ntw, int what) { 956 // what == 0 marked ==1 selected 957 NT_radd_internal(aww, ntw, what, AP_TRUE, 0); 958 } 959 960 // static void NT_radd_test_internal(AW_window * aww, AWT_canvas *ntw, int what, AP_BOOL quick) { 961 // // what == 0 marked ==1 selected 962 // NT_remove_leafs(0,ntw,AWT_REMOVE_BUT_DONT_FREE | AWT_REMOVE_MARKED); 963 // nt_add(aww,ntw,what,quick,1); 964 // } 986 static void NT_radd (AW_window * aww, AWT_canvas *ntw, AddWhat what){ NT_radd_internal(aww, ntw, what, AP_FALSE, 0); } 987 static void NT_rquick_add(AW_window * aww, AWT_canvas *ntw, AddWhat what){ NT_radd_internal(aww, ntw, what, AP_TRUE, 0); } 965 988 966 989 // test versions : 967 990 968 991 #if defined(TEST_FUNCTIONS) 969 static void NT_radd_test(AW_window * aww, AWT_canvas *ntw, int what) { 970 // what == 0 marked ==1 selected 971 NT_radd_internal(aww, ntw, what, AP_FALSE, 1); 972 } 973 974 static void NT_rquick_add_test(AW_window * aww, AWT_canvas *ntw, int what) { 975 // what == 0 marked ==1 selected 976 NT_radd_internal(aww, ntw, what, AP_TRUE, 1); 977 } 992 static void NT_radd_test (AW_window * aww, AWT_canvas *ntw, AddWhat what){ NT_radd_internal(aww, ntw, what, AP_FALSE, 1); } 993 static void NT_rquick_add_test(AW_window * aww, AWT_canvas *ntw, AddWhat what){ NT_radd_internal(aww, ntw, what, AP_TRUE, 1); } 978 994 #endif // TEST_FUNCTIONS 979 995 … … 998 1014 AWT_TREE(ntw)->resort_tree(0); 999 1015 1000 ntw->zoom_reset(); 1001 ntw->refresh(); 1002 pars_export_tree(); 1003 } 1004 1005 static void NT_bootstrap(AW_window *aw,AWT_canvas *ntw,AW_CL limit_only) 1006 { 1007 AW_POPUP_HELP(aw, (AW_CL)"pa_bootstrap.hlp"); 1016 pars_saveNrefresh_changed_tree(ntw); 1017 } 1018 1019 static void NT_bootstrap(AW_window *, AWT_canvas *ntw, AW_CL limit_only) { 1008 1020 aw_openstatus("Calculating Bootstrap Limit"); 1009 1021 int abort_flag = AP_FALSE; 1010 1022 rootEdge()->nni_rek(AP_FALSE, abort_flag, -1, GB_FALSE, 1011 limit_only ? AP_BL_BOOTSTRAP_LIMIT : AP_BL_BOOTSTRAP_ESTIMATE);1023 AP_BL_MODE((limit_only ? AP_BL_BOOTSTRAP_LIMIT : AP_BL_BOOTSTRAP_ESTIMATE)|AP_BL_BL_ONLY)); 1012 1024 aw_closestatus(); 1013 1025 1014 1026 AWT_TREE(ntw)->resort_tree(0); 1015 1027 1016 AWT_TREE(ntw)->tree_root_display = AWT_TREE(ntw)->tree_root; 1017 ntw->zoom_reset(); 1018 ntw->refresh(); 1019 pars_export_tree(); 1028 AWT_TREE(ntw)->tree_root_display = AWT_TREE(ntw)->get_root_node(); 1029 pars_saveNrefresh_changed_tree(ntw); 1020 1030 } 1021 1031 … … 1024 1034 aw_openstatus("Optimize Tree"); 1025 1035 1026 PARS_optimizer_cb( (*ap_main->tree_root));1027 rootNode()->test_tree();1036 PARS_optimizer_cb(rootNode()); 1037 ASSERT_VALID_TREE(rootNode()); 1028 1038 1029 1039 aw_openstatus("Calculating Branch Lengths"); … … 1033 1043 rootNode()->compute_tree(GLOBAL_gb_main); 1034 1044 aw_closestatus(); 1035 ntw->zoom_reset(); 1036 ntw->refresh(); 1037 pars_export_tree(); 1045 pars_saveNrefresh_changed_tree(ntw); 1038 1046 } 1039 1047 … … 1060 1068 rootNode()->compute_tree(GLOBAL_gb_main); 1061 1069 aw_closestatus(); 1062 ntw->zoom_reset(); 1063 ntw->refresh(); 1064 pars_export_tree(); 1070 pars_saveNrefresh_changed_tree(ntw); 1065 1071 } 1066 1072 … … 1120 1126 ntw->refresh(); 1121 1127 } 1122 1123 static void testTree(AP_tree_nlen *tree,int *nodeCount, int *edgeCount)1124 {1125 tree->test();1126 (*nodeCount)++;1127 1128 if (tree->father) // we do only test edges if were not at root1129 {1130 AP_tree_edge *e =0;1131 int skipTest=0;1132 1133 if (tree->father->father)1134 {1135 e = tree->edgeTo(tree->Father());1136 }1137 else // son of root!1138 {1139 if (tree->father->leftson==(AP_tree*)tree) // to not test twice1140 {1141 e = tree->edgeTo(tree->Brother());1142 }1143 else1144 {1145 skipTest=1;1146 }1147 }1148 1149 if (!skipTest)1150 {1151 if (e)1152 {1153 int dist2bord;1154 1155 e->test();1156 (*edgeCount)++;1157 1158 dist2bord = e->distanceToBorder();1159 if (dist2bord != e->Distance())1160 {1161 cout << *e << "distance error: should=" << dist2bord << " is=" << e->Distance() << endl;1162 }1163 }1164 else1165 {1166 cout << *tree << "has no edge to father\n";1167 }1168 }1169 }1170 1171 if (!tree->is_leaf)1172 {1173 testTree((AP_tree_nlen*)tree->leftson,nodeCount,edgeCount);1174 testTree((AP_tree_nlen*)tree->rightson,nodeCount,edgeCount);1175 }1176 }1177 1178 static void TEST_testWholeTree(AW_window *, AWT_canvas *)1179 // Tests the whole tree structure (edges and nodes) for consistency1180 {1181 AP_tree_nlen *root = (AP_tree_nlen*)*ap_main->tree_root;1182 int nodes = 0;1183 int edges = 0;1184 1185 if (root->father)1186 {1187 int m = INT_MAX;1188 1189 cout << "OOPS! Root has father:\n" << *root << '\n';1190 while (m-- && root->father) root = root->Father();1191 1192 if (root->father)1193 {1194 cout << "Root node lost between:\n"1195 << *root << '\n'1196 << *(root->Father()) << '\n';1197 }1198 else1199 {1200 cout << "Found a root:\n" << *root << "\n Let's test from here:\n";1201 }1202 }1203 1204 root->test_tree();1205 testTree(root, &nodes, &edges);1206 1207 cout << "Nodes tested: " << nodes << '\n'1208 << "Edges tested: " << edges << '\n';1209 }1210 #endif // TEST_FUNCTIONS1211 1212 static int dumpNodes(AP_tree_nlen *node)1213 {1214 int cnt = 1;1215 1216 cout << *node1217 << "(llen=" << node->leftlen1218 << ",rlen=" << node->rightlen << ")\n";1219 1220 if (!node->is_leaf)1221 {1222 cnt += dumpNodes(node->Leftson());1223 cnt += dumpNodes(node->Rightson());1224 }1225 1226 return cnt;1227 }1228 1229 #if defined(TEST_FUNCTIONS)1230 static void TEST_dumpNodes(AW_window *, AWT_canvas *)1231 {1232 AP_tree_nlen *root = (AP_tree_nlen*)*ap_main->tree_root;1233 int cnt;1234 1235 cout << "----- Dumping all nodes in tree\n";1236 cnt = dumpNodes(root);1237 cout << "----- " << cnt << "nodes dumped!\n";1238 }1239 1128 #endif // TEST_FUNCTIONS 1240 1129 … … 1252 1141 static void TEST_setBranchlen(AW_window *, AWT_canvas *ntw) 1253 1142 { 1254 AP_tree_nlen *root = (AP_tree_nlen*)*ap_main->tree_root;1143 AP_tree_nlen *root = rootNode(); 1255 1144 1256 1145 setBranchlens(root,1.0); 1257 1146 refreshTree(ntw); 1258 1147 } 1259 #endif // TEST_FUNCTIONS 1260 1261 /* 1262 static AP_tree_nlen *getRandomSonOf(AP_tree_nlen *daddy, int innerNodeAllowed,int rootAllowed) 1263 { 1264 if (daddy->is_leaf) return daddy; 1265 int r = rand() % (innerNodeAllowed && rootAllowed ? 3 : 2); 1266 if (r==2) return daddy; 1267 return getRandomSonOf(r ? daddy->Leftson() : daddy->Rightson(), 1268 innerNodeAllowed, 1); 1269 } 1270 static void TEST_performRandomMoves(AW_window *aww,AWT_canvas *ntw) 1271 { 1272 AWUSE(aww); 1273 1274 int cnt=10000; 1275 1276 while(cnt) 1277 { 1278 AP_tree_nlen *root = (AP_tree_nlen*)*ap_main->tree_root; 1279 AP_tree_nlen *source = getRandomSonOf(root,1,0); 1280 AP_tree_nlen *dest = getRandomSonOf(root,1,0); 1281 1282 if (source!=dest && !dest->is_son(source)) 1283 { 1284 root->setBranchlen(1.0,1.0); 1285 source->setBranchlen(1.0,1.0); 1286 dest->setBranchlen(1.0,1.0); 1287 1288 char *error = source->move(dest,0.5); 1289 1290 if (error) 1291 { 1292 cout << error << '\n'; 1293 break; 1294 } 1295 1296 cnt--; 1297 // cout << "Moves left: " << cnt << '\n'; 1298 } 1299 } 1300 1301 cout << "Testing tree\n"; 1302 TEST_testWholeTree(aww,ntw); 1303 1304 // cout << "setting branchlens\n"; 1305 // TEST_setBranchlen(aww,ntw); 1306 1307 // cout << "dumping nodes\n"; 1308 // TEST_dumpNodes(aww,ntw); 1309 1310 cout << "done\n"; 1311 // refreshTree(ntw); 1312 } 1313 */ 1314 1315 #if defined(TEST_FUNCTIONS) 1148 1149 static void TEST_treeStats(AW_window *, AWT_canvas *) { 1150 ARB_tree_info tinfo; 1151 AP_tree_nlen *root = rootNode(); 1152 1153 { 1154 GB_transaction ta(root->get_tree_root()->get_gb_main()); 1155 root->calcTreeInfo(tinfo); 1156 } 1157 1158 puts("Tree stats:"); 1159 1160 printf("nodes =%6zu\n", tinfo.nodes()); 1161 printf(" inner =%6zu\n", tinfo.innerNodes); 1162 printf(" groups =%6zu\n", tinfo.groups); 1163 printf(" leafs =%6zu\n", tinfo.leafs); 1164 printf(" unlinked =%6zu (zombies?)\n", tinfo.unlinked); 1165 printf(" linked =%6zu\n", tinfo.linked()); 1166 printf(" marked =%6zu\n", tinfo.marked); 1167 } 1168 1316 1169 static void TEST_mixTree(AW_window *, AWT_canvas *ntw) 1317 1170 { … … 1322 1175 static void TEST_sortTreeByName(AW_window *, AWT_canvas *ntw) 1323 1176 { 1324 AP_tree_nlen *root = (AP_tree_nlen*)*ap_main->tree_root;1177 AP_tree_nlen *root = rootNode(); 1325 1178 1326 1179 root->sortByName(); … … 1330 1183 static void TEST_buildAndDumpChain(AW_window *, AWT_canvas *) 1331 1184 { 1332 AP_tree_nlen *root = (AP_tree_nlen*)*ap_main->tree_root;1185 AP_tree_nlen *root = rootNode(); 1333 1186 1334 1187 root->Leftson()->edgeTo(root->Rightson())->testChain(2); … … 1349 1202 awm->create_menu("Test[debug]", "T", AWM_ALL ); 1350 1203 1351 awm->insert_menu_topic(0, "Test edges", "T", "", AWM_ALL, (AW_CB)TEST_testWholeTree, (AW_CL)ntw, 0);1352 1204 awm->insert_menu_topic(0, "Mix tree", "M", "", AWM_ALL, (AW_CB)TEST_mixTree, (AW_CL)ntw, 0); 1353 awm->insert_menu_topic(0, " Dump nodes", "D", "", AWM_ALL, (AW_CB)TEST_dumpNodes, (AW_CL)ntw, 0);1205 awm->insert_menu_topic(0, "Tree statistics", "s", "", AWM_ALL, (AW_CB)TEST_treeStats, (AW_CL)ntw, 0); 1354 1206 awm->insert_menu_topic(0, "Set branchlens", "b", "", AWM_ALL, (AW_CB)TEST_setBranchlen, (AW_CL)ntw, 0); 1355 awm->insert_menu_topic(0, "Sort tree by name", " S", "", AWM_ALL, (AW_CB)TEST_sortTreeByName, (AW_CL)ntw, 0);1207 awm->insert_menu_topic(0, "Sort tree by name", "o", "", AWM_ALL, (AW_CB)TEST_sortTreeByName, (AW_CL)ntw, 0); 1356 1208 awm->insert_menu_topic(0, "Build & dump chain", "c", "", AWM_ALL, (AW_CB)TEST_buildAndDumpChain, (AW_CL)ntw, 0); 1357 1209 awm->insert_separator(); 1358 awm->insert_menu_topic(0, "Add marked species", "A", "pa_quick.hlp", AWM_ALL, (AW_CB)NT_quick_add_test, (AW_CL)ntw, 0);1359 awm->insert_menu_topic(0, "Add marked species + NNI", "N", "pa_add.hlp", AWM_ALL, (AW_CB)NT_add_test, (AW_CL)ntw, 0);1360 awm->insert_menu_topic(0, "Remove & add marked species", "o", "pa_add.hlp", AWM_ALL, (AW_CB)NT_rquick_add_test, (AW_CL)ntw, 0);1361 awm->insert_menu_topic(0, "Remove & add marked + NNI", "v", "pa_add.hlp", AWM_ALL, (AW_CB)NT_radd_test, (AW_CL)ntw, 0);1210 awm->insert_menu_topic(0, "Add marked species", "A", "pa_quick.hlp", AWM_ALL, (AW_CB)NT_quick_add_test, (AW_CL)ntw, NT_ADD_MARKED); 1211 awm->insert_menu_topic(0, "Add marked species + NNI", "N", "pa_add.hlp", AWM_ALL, (AW_CB)NT_add_test, (AW_CL)ntw, NT_ADD_MARKED); 1212 awm->insert_menu_topic(0, "Remove & add marked species", "o", "pa_add.hlp", AWM_ALL, (AW_CB)NT_rquick_add_test, (AW_CL)ntw, NT_ADD_MARKED); 1213 awm->insert_menu_topic(0, "Remove & add marked + NNI", "v", "pa_add.hlp", AWM_ALL, (AW_CB)NT_radd_test, (AW_CL)ntw, NT_ADD_MARKED); 1362 1214 awm->insert_separator(); 1363 awm->insert_menu_topic(0, "Add selected species", "l", "pa_quick_sel.hlp", AWM_ALL, (AW_CB)NT_quick_add_test, (AW_CL)ntw, 1);1364 awm->insert_menu_topic(0, "Add selected species + NNI", "I", "pa_add_sel.hlp", AWM_ALL, (AW_CB)NT_add_test, (AW_CL)ntw, 1);1215 awm->insert_menu_topic(0, "Add selected species", "l", "pa_quick_sel.hlp", AWM_ALL, (AW_CB)NT_quick_add_test, (AW_CL)ntw, NT_ADD_SELECTED); 1216 awm->insert_menu_topic(0, "Add selected species + NNI", "I", "pa_add_sel.hlp", AWM_ALL, (AW_CB)NT_add_test, (AW_CL)ntw, NT_ADD_SELECTED); 1365 1217 } 1366 1218 #endif // TEST_FUNCTIONS … … 1408 1260 ******************************************************/ 1409 1261 1410 static void pars_start_cb(AW_window *aw_parent, AW_CL cd_adfiltercbstruct) { 1411 AW_root *awr = aw_parent->get_root(); 1262 1263 1264 static void pars_start_cb(AW_window *aw_parent, AW_CL cd_weightedFilter, AW_CL cl_cmds) { 1265 WeightedFilter *wfilt = (WeightedFilter*)cd_weightedFilter; 1266 PARS_commands *cmds = (PARS_commands*)cl_cmds; 1267 AW_root *awr = aw_parent->get_root(); 1412 1268 GB_begin_transaction(GLOBAL_gb_main); 1413 1269 { … … 1428 1284 1429 1285 AW_gc_manager aw_gc_manager = 0; 1430 GLOBAL_NT->tree = PARS_generate_tree(awr); 1286 1287 GLOBAL_PARS->tree = PARS_generate_tree(awr, wfilt); 1431 1288 1432 1289 AWT_canvas *ntw; 1433 1290 { 1434 AP_tree_sort old_sort_type = GLOBAL_NT->tree->tree_sort; 1435 GLOBAL_NT->tree->set_tree_type(AP_LIST_SIMPLE); // avoid NDS warnings during startup 1436 ntw = new AWT_canvas(GLOBAL_gb_main, (AW_window *)awm, GLOBAL_NT->tree, aw_gc_manager, AWAR_TREE); 1437 GLOBAL_NT->tree->set_tree_type(old_sort_type); 1438 } 1439 1440 { 1291 AP_tree_sort old_sort_type = GLOBAL_PARS->tree->tree_sort; 1292 GLOBAL_PARS->tree->set_tree_type(AP_LIST_SIMPLE); // avoid NDS warnings during startup 1293 ntw = new AWT_canvas(GLOBAL_gb_main, (AW_window *)awm, GLOBAL_PARS->tree, aw_gc_manager, AWAR_TREE); 1294 GLOBAL_PARS->tree->set_tree_type(old_sort_type); 1295 } 1296 1297 { 1298 GB_ERROR error = 0; 1299 1441 1300 aw_openstatus("load tree"); 1442 NT_reload_tree_event(awr,ntw,GB_TRUE); // load first tree and set delete callbacks 1443 if (!GLOBAL_NT->tree->tree_root) { 1444 aw_closestatus(); 1445 aw_popup_exit("I cannot load the selected tree"); 1446 } 1447 1448 AP_tree_edge::initialize((AP_tree_nlen*)*ap_main->tree_root); // builds edges 1449 GLOBAL_NT->tree->tree_root->remove_leafs(ntw->gb_main, AWT_REMOVE_DELETED); 1450 1451 adfiltercbstruct *acbs = (adfiltercbstruct*)cd_adfiltercbstruct; 1452 NT_tree_init(GLOBAL_NT->tree, acbs); 1453 1454 GLOBAL_NT->tree->tree_root->remove_leafs(ntw->gb_main, AWT_REMOVE_DELETED | AWT_REMOVE_NO_SEQUENCE); 1455 1456 GB_commit_transaction(ntw->gb_main); 1457 aw_status("Calculating inner nodes"); 1458 GLOBAL_NT->tree->tree_root->costs(); 1459 1301 NT_reload_tree_event(awr, ntw); // load first tree 1302 if (!GLOBAL_PARS->tree->get_root_node()) { 1303 error = "I cannot load the selected tree"; 1304 } 1305 else { 1306 AP_tree_edge::initialize(rootNode()); // builds edges 1307 GLOBAL_PARS->tree->tree_static->remove_leafs(AWT_REMOVE_DELETED); 1308 1309 PARS_tree_init(GLOBAL_PARS->tree); 1310 GLOBAL_PARS->tree->tree_static->remove_leafs(AWT_REMOVE_DELETED | AWT_REMOVE_NO_SEQUENCE); 1311 1312 if (!GLOBAL_PARS->tree->get_root_node()) { 1313 const char *aliname = GLOBAL_PARS->tree->tree_static->get_aliview()->get_aliname(); 1314 error = GBS_global_string("Less than 2 species contain data in '%s'\n" 1315 "Tree vanished", aliname); 1316 } 1317 1318 error = GB_end_transaction(ntw->gb_main, error); 1319 if (!error) { 1320 aw_status("Calculating inner nodes"); 1321 AP_TREE_NLEN_CAST(GLOBAL_PARS->tree->get_root_node())->costs(); 1322 } 1323 } 1460 1324 aw_closestatus(); 1325 if (error) aw_popup_exit(error); 1461 1326 } 1462 1327 1463 1328 awr->awar( AWAR_COLOR_GROUPS_USE)->add_callback( (AW_RCB)NT_recompute_cb, (AW_CL)ntw,0); 1464 1329 1465 if ( ap_main->commands.add_marked) NT_quick_add(awm,ntw,0);1466 if ( ap_main->commands.add_selected) NT_quick_add(awm,ntw,1);1467 if ( ap_main->commands.calc_branch_lengths) NT_branch_lengths(awm,ntw);1468 if ( ap_main->commands.calc_bootstrap) NT_bootstrap(awm,ntw,0);1469 if ( ap_main->commands.quit) pars_exit(awm);1330 if (cmds->add_marked) NT_quick_add(awm,ntw,NT_ADD_MARKED); 1331 if (cmds->add_selected) NT_quick_add(awm,ntw,NT_ADD_SELECTED); 1332 if (cmds->calc_branch_lengths) NT_branch_lengths(awm,ntw); 1333 if (cmds->calc_bootstrap) NT_bootstrap(awm,ntw,0); 1334 if (cmds->quit) pars_exit(awm); 1470 1335 1471 1336 GB_transaction dummy(ntw->gb_main); … … 1517 1382 awm->insert_sub_menu("Add Species to Tree", "A"); 1518 1383 { 1519 awm->insert_menu_topic("add_marked", "Add Marked Species", "M", "pa_quick.hlp", AWM_ALL, (AW_CB)NT_quick_add, (AW_CL)ntw, 0);1520 awm->insert_menu_topic("add_marked_nni", "Add Marked Species + Local Optimization (NNI)", "N", "pa_add.hlp", AWM_ALL, (AW_CB)NT_add, (AW_CL)ntw, 0);1521 awm->insert_menu_topic("rm_add_marked", "Remove & Add Marked Species", "R", "pa_add.hlp", AWM_ALL, (AW_CB)NT_rquick_add, (AW_CL)ntw, 0);1522 awm->insert_menu_topic("rm_add_marked_nni|", "Remove & Add Marked + Local Optimization (NNI)", "L", "pa_add.hlp", AWM_ALL, (AW_CB)NT_radd, (AW_CL)ntw, 0);1384 awm->insert_menu_topic("add_marked", "Add Marked Species", "M", "pa_quick.hlp", AWM_ALL, (AW_CB)NT_quick_add, (AW_CL)ntw, NT_ADD_MARKED); 1385 awm->insert_menu_topic("add_marked_nni", "Add Marked Species + Local Optimization (NNI)", "N", "pa_add.hlp", AWM_ALL, (AW_CB)NT_add, (AW_CL)ntw, NT_ADD_MARKED); 1386 awm->insert_menu_topic("rm_add_marked", "Remove & Add Marked Species", "R", "pa_add.hlp", AWM_ALL, (AW_CB)NT_rquick_add, (AW_CL)ntw, NT_ADD_MARKED); 1387 awm->insert_menu_topic("rm_add_marked_nni|", "Remove & Add Marked + Local Optimization (NNI)", "L", "pa_add.hlp", AWM_ALL, (AW_CB)NT_radd, (AW_CL)ntw, NT_ADD_MARKED); 1523 1388 awm->insert_separator(); 1524 1389 awm->insert_menu_topic("add_marked_partial", "Add Marked Partial Species", "P", "pa_partial.hlp", AWM_ALL, NT_partial_add, (AW_CL)ntw, (AW_CL)0); 1525 1390 awm->insert_separator(); 1526 awm->insert_menu_topic("add_selected", "Add Selected Species", "S", "pa_quick_sel.hlp", AWM_ALL, (AW_CB)NT_quick_add, (AW_CL)ntw, 1);1527 awm->insert_menu_topic("add_selected_nni", "Add Selected Species + Local Optimization (NNI)", "O", "pa_add_sel.hlp", AWM_ALL, (AW_CB)NT_add, (AW_CL)ntw, 1);1391 awm->insert_menu_topic("add_selected", "Add Selected Species", "S", "pa_quick_sel.hlp", AWM_ALL, (AW_CB)NT_quick_add, (AW_CL)ntw, NT_ADD_SELECTED); 1392 awm->insert_menu_topic("add_selected_nni", "Add Selected Species + Local Optimization (NNI)", "O", "pa_add_sel.hlp", AWM_ALL, (AW_CB)NT_add, (AW_CL)ntw, NT_ADD_SELECTED); 1528 1393 } 1529 1394 awm->close_sub_menu(); … … 1682 1547 } 1683 1548 1684 static AW_window *create_pars_init_window(AW_root *awr) 1685 { 1549 static AW_window *create_pars_init_window(AW_root *awr, const PARS_commands *cmds) { 1686 1550 AW_window_simple *aws = new AW_window_simple; 1687 1551 aws->init( awr, "PARS_PROPS", "SET PARSIMONY OPTIONS"); … … 1699 1563 aws->create_button("HELP","HELP","H"); 1700 1564 1565 WeightedFilter *weighted_filter = // do NOT free (bound to callbacks) 1566 new WeightedFilter(GLOBAL_gb_main, aws->get_root(), AWAR_FILTER_NAME, AWAR_CSP_NAME); 1567 1701 1568 aws->at("filter"); 1702 adfiltercbstruct *filtercd = awt_create_select_filter(aws->get_root(),GLOBAL_gb_main,AWAR_FILTER_NAME); 1703 aws->callback(AW_POPUP, (AW_CL)awt_create_select_filter_win, (AW_CL)filtercd); 1569 aws->callback(AW_POPUP, (AW_CL)awt_create_select_filter_win, (AW_CL)weighted_filter->get_adfiltercbstruct()); 1704 1570 aws->create_button("SELECT_FILTER",AWAR_FILTER_NAME); 1705 1571 1706 aws->callback(pars_start_cb, (AW_CL)filtercd); 1572 aws->at("weights"); 1573 aws->callback(AW_POPUP,(AW_CL)create_csp_window,(AW_CL)weighted_filter->get_csp()); 1574 aws->create_button("SELECT_CSP", AWAR_CSP_NAME); 1575 1576 aws->at("alignment"); 1577 awt_create_selection_list_on_ad(GLOBAL_gb_main,(AW_window *)aws,AWAR_ALIGNMENT,"*="); 1578 1579 aws->at("tree"); 1580 awt_create_selection_list_on_trees(GLOBAL_gb_main,(AW_window *)aws,AWAR_TREE); 1581 1582 aws->callback(pars_start_cb, (AW_CL)weighted_filter, (AW_CL)cmds); 1707 1583 aws->at("go"); 1708 1584 aws->create_button("GO","GO","G"); 1709 1585 1710 aws->at("alignment"); 1711 awt_create_selection_list_on_ad(GLOBAL_gb_main,(AW_window *)aws,AWAR_ALIGNMENT,"*="); 1712 1713 aws->at("tree"); 1714 awt_create_selection_list_on_trees(GLOBAL_gb_main,(AW_window *)aws,AWAR_TREE); 1715 1716 awt_csp = new AWT_csp(GLOBAL_gb_main,awr,"tmp/pars/csp/name"); 1717 1718 aws->at("weights"); 1719 aws->callback(AW_POPUP,(AW_CL)create_csp_window,(AW_CL)awt_csp); 1720 aws->create_button("SELECT_CSP","tmp/pars/csp/name"); 1721 1722 return (AW_window *)aws; 1586 return aws; 1723 1587 } 1724 1588 … … 1845 1709 ap_main = new AP_main; 1846 1710 1847 GLOBAL_ NT = (NT_global *)calloc(sizeof(NT_global),1);1848 GLOBAL_ NT->awr = aw_root;1711 GLOBAL_PARS = (PARS_global *)calloc(sizeof(PARS_global),1); 1712 GLOBAL_PARS->awr = aw_root; 1849 1713 1850 1714 const char *db_server = ":"; 1715 1716 PARS_commands cmds; 1851 1717 1852 1718 while (argc>=2 && argv[1][0] == '-'){ 1853 1719 argc--; 1854 1720 argv++; 1855 if (!strcmp(argv[0],"-quit")){ 1856 ap_main->commands.quit = 1; 1857 continue; 1858 } 1859 if (!strcmp(argv[0],"-add_marked")){ 1860 ap_main->commands.add_marked = 1; 1861 continue; 1862 } 1863 if (!strcmp(argv[0],"-add_selected")){ 1864 ap_main->commands.add_selected = 1; 1865 continue; 1866 } 1867 if (!strcmp(argv[0],"-calc_branchlengths")){ 1868 ap_main->commands.calc_branch_lengths = 1; 1869 continue; 1870 } 1871 if (!strcmp(argv[0],"-calc_bootstrap")){ 1872 ap_main->commands.calc_bootstrap = 1; 1873 continue; 1874 } 1875 GB_export_errorf("Unknown option '%s'",argv[0]); 1876 GB_print_error(); 1877 printf(" Options: Meaning:\n" 1878 "\n" 1879 " -add_marked add marked species (without changing topology)\n" 1880 " -add_selected add selected species (without changing topology)\n" 1881 " -calc_branchlengths calculate branch lengths only\n" 1882 " -calc_bootstrap estimate bootstrap values\n" 1883 " -quit quit after performing operations\n" 1884 ); 1885 1886 exit(-1); 1721 if (!strcmp(argv[0],"-quit")) cmds.quit = 1; 1722 else if (!strcmp(argv[0],"-add_marked")) cmds.add_marked = 1; 1723 else if (!strcmp(argv[0],"-add_selected")) cmds.add_selected = 1; 1724 else if (!strcmp(argv[0],"-calc_branchlengths")) cmds.calc_branch_lengths = 1; 1725 else if (!strcmp(argv[0],"-calc_bootstrap")) cmds.calc_bootstrap = 1; 1726 else { 1727 GB_export_errorf("Unknown option '%s'",argv[0]); 1728 GB_print_error(); 1729 printf(" Options: Meaning:\n" 1730 "\n" 1731 " -add_marked add marked species (without changing topology)\n" 1732 " -add_selected add selected species (without changing topology)\n" 1733 " -calc_branchlengths calculate branch lengths only\n" 1734 " -calc_bootstrap estimate bootstrap values\n" 1735 " -quit quit after performing operations\n" 1736 ); 1737 1738 exit(-1); 1739 } 1887 1740 } 1888 1741 … … 1901 1754 pars_create_all_awars(aw_root,aw_default); 1902 1755 1903 aww = create_pars_init_window(aw_root );1756 aww = create_pars_init_window(aw_root, &cmds); 1904 1757 aww->show(); 1905 1758 … … 1909 1762 } 1910 1763 1911 -
trunk/PARSIMONY/ap_tree_nlen.hxx
r6141 r6280 1 // =============================================================== // 2 // // 3 // File : ap_tree_nlen.hxx // 4 // Purpose : // 5 // // 6 // Coded by Ralf Westram (coder@reallysoft.de) in Summer 1995 // 7 // Institute of Microbiology (Technical University Munich) // 8 // http://www.arb-home.de/ // 9 // // 10 // =============================================================== // 11 12 #ifndef AP_TREE_NLEN_HXX 13 #define AP_TREE_NLEN_HXX 14 15 #ifndef _CPP_IOSTREAM 1 16 #include <iostream> 2 #include <limits.h> 3 4 #define ap_assert(x) arb_assert(x) 17 #endif 18 #ifndef _CPP_CLIMITS 19 #include <climits> 20 #endif 21 #ifndef ARBDBT_H 22 #include <arbdbt.h> 23 #endif 24 #ifndef AP_TREE_HXX 25 #include <AP_Tree.hxx> 26 #endif 27 #ifndef AP_BUFFER_HXX 28 #include "AP_buffer.hxx" 29 #endif 30 #ifndef AP_MAIN_HXX 31 #include <ap_main.hxx> 32 #endif 33 34 // --------------------------------------------- 35 // downcasts for AP_tree_nlen 36 37 #ifndef DOWNCAST_H 38 #include <downcast.h> 39 #endif 40 41 #define AP_TREE_NLEN_CAST(arb_tree) DOWNCAST(AP_tree_nlen*, arb_tree) 42 #define AP_TREE_NLEN_CONST_CAST(arb_tree) DOWNCAST(const AP_tree_nlen*, arb_tree) 43 44 5 45 6 46 class AP_tree_nlen; … … 30 70 AP_BL_NNI_BL = 3, // better tree & branch lengths 31 71 AP_BL_BOOTSTRAP_LIMIT = 4, // calculate upper bootstrap limits 32 AP_BL_BOOTSTRAP_ESTIMATE = 12 // calculate estimate of bootstrap 72 AP_BL_BOOTSTRAP_ESTIMATE = 12 // calculate estimate of bootstrap (includes AP_BL_BOOTSTRAP_LIMIT) 33 73 } AP_BL_MODE; 34 74 35 75 class AP_tree_edge; 36 76 37 class AP_tree_nlen : public AP_tree { /* tree that is independent of branch lengths and root */ 38 AP_tree *dup(void); 39 40 AP_BOOL clear(unsigned long stack_update,unsigned long user_push_counter); 41 void unhash_sequence(void); 42 void createListRekUp(AP_CO_LIST *list,int *cn); 43 void createListRekSide(AP_CO_LIST *list,int *cn); 44 77 class AP_tree_nlen : public AP_tree { 78 /* tree that is independent of branch lengths and root */ 45 79 46 80 AP_TREE_SIDE kernighan; // Flag zum markieren … … 52 86 int index[3]; // index to node[] in AP_tree_edge 53 87 54 protected: 88 AP_FLOAT mutation_rate; 89 90 91 92 AP_tree_nlen *dup() const; 93 94 void createListRekUp(AP_CO_LIST *list,int *cn); 95 void createListRekSide(AP_CO_LIST *list,int *cn); 55 96 56 97 public: 57 AP_FLOAT costs(void); /* cost of a tree (number of changes ..)*/58 AP_BOOL push(AP_STACK_MODE, unsigned long); /* push state of costs */59 void pop(unsigned long); /* pop old tree costs */60 61 virtual AP_UPDATE_FLAGS check_update(); // disable load !!!!62 63 64 98 AP_tree_nlen(AP_tree_root *tree_root); 65 99 virtual ~AP_tree_nlen() {} 66 100 101 void unhash_sequence(); 102 AP_FLOAT costs(char *mutPerSite = NULL); /* cost of a tree (number of changes ..)*/ 103 104 AP_BOOL push(AP_STACK_MODE, unsigned long); /* push state of costs */ 105 void pop(unsigned long); /* pop old tree costs */ 106 AP_BOOL clear(unsigned long stack_update,unsigned long user_push_counter); 107 108 virtual AP_UPDATE_FLAGS check_update(); // disable load !!!! 109 67 110 void copy(AP_tree_nlen *tree); 68 111 int Distance(); … … 70 113 // tree reconstruction methods: 71 114 void insert(AP_tree *new_brother); 72 void remove( void);115 void remove(); 73 116 void swap_assymetric(AP_TREE_SIDE mode); 74 117 void moveTo(AP_tree *new_brother, AP_FLOAT rel_pos); // if unsure, use cantMoveTo to test if possible … … 76 119 77 120 // tree optimization methods: 78 void parsimony_rek( );121 void parsimony_rek(char *mutPerSite = NULL); 79 122 80 123 AP_FLOAT nn_interchange_rek(AP_BOOL openclosestatus, … … 109 152 void setBranchlen(double leftLen,double rightLen) { leftlen = leftLen; rightlen = rightLen; } 110 153 111 int test() const;112 154 const char* fullname() const; 113 114 155 const char* sortByName(); 115 156 116 157 // casted access to neighbours: 117 158 118 AP_tree_nlen *Father() const { return (AP_tree_nlen*)father; } 119 AP_tree_nlen *Brother() const { return (AP_tree_nlen*)brother(); } 120 AP_tree_nlen *Leftson() const { return (AP_tree_nlen*)leftson; } 121 AP_tree_nlen *Rightson() const { return (AP_tree_nlen*)rightson; } 159 AP_tree_nlen *Father() { return AP_TREE_NLEN_CAST(get_father()); } 160 AP_tree_nlen *Brother() { return AP_TREE_NLEN_CAST(get_brother()); } 161 AP_tree_nlen *Leftson() { return AP_TREE_NLEN_CAST(get_leftson()); } 162 AP_tree_nlen *Rightson() { return AP_TREE_NLEN_CAST(get_rightson()); } 163 const AP_tree_nlen *Father() const { return AP_TREE_NLEN_CONST_CAST(get_father()); } 164 const AP_tree_nlen *Brother() const { return AP_TREE_NLEN_CONST_CAST(get_brother()); } 165 const AP_tree_nlen *Leftson() const { return AP_TREE_NLEN_CONST_CAST(get_leftson()); } 166 const AP_tree_nlen *Rightson() const { return AP_TREE_NLEN_CONST_CAST(get_rightson()); } 122 167 123 168 // AP_tree_edge access functions: … … 134 179 void unlinkAllEdges(AP_tree_edge **edgePtr1, AP_tree_edge **edgePtr2, AP_tree_edge **edgePtr3); 135 180 136 //void destroyAllEdges(); 137 138 // test stuff: 139 140 char *getSequence(); 141 181 char *getSequenceCopy(); 182 183 #if defined(CHECK_TREE_STRUCTURE) 184 void assert_edges_valid() const; 185 void assert_valid() const; 186 #endif // CHECK_TREE_STRUCTURE 187 188 142 189 friend class AP_tree_edge; 143 190 friend std::ostream& operator<<(std::ostream&,const AP_tree_nlen&); … … 146 193 147 194 /************ AP_tree_edge ************/ 195 196 class MutationsPerSite; 197 148 198 class AP_tree_edge 149 199 { … … 175 225 AP_tree_edge *comesFrom = NULL); 176 226 177 long sizeofChain( void);227 long sizeofChain(); 178 228 void calcDistance(); 179 229 void tailDistance(AP_tree_nlen*); … … 223 273 AP_tree_nlen *skipNode = NULL); 224 274 225 AP_FLOAT nni(AP_FLOAT pars_one, AP_BL_MODE mode); 275 AP_FLOAT nni_mutPerSite(AP_FLOAT pars_one, AP_BL_MODE mode, MutationsPerSite *mps); 276 AP_FLOAT nni(AP_FLOAT pars_one, AP_BL_MODE mode) { return nni_mutPerSite(pars_one, mode, NULL); } 226 277 227 278 // test methods: … … 233 284 234 285 int Distance() const { ap_assert(distanceOK()); return (node[0]->distance+node[1]->distance) >> 1; } 235 int distanceToBorder(int maxsearch=INT_MAX,AP_tree_nlen *skip=NULL) const; // obsolete286 int distanceToBorder(int maxsearch=INT_MAX,AP_tree_nlen *skip=NULL) const; // obsolete 236 287 237 288 static int dumpNNI; // should NNI dump its values? … … 242 293 void countSpecies(int deep=-1,const AP_tree_nlen* skip=NULL); 243 294 244 static int speciesInTree; // no of species (leafs) in tree 245 static int nodesInTree; // no of nodes in tree 295 static int speciesInTree; // no of species (leafs) in tree (updated by countSpecies) 296 static int nodesInTree; // no of nodes in tree - including leafs, but w/o rootnode (updated by countSpecies) 297 298 static int edgesInTree() { return nodesInTree-1; } // (updated by countSpecies) 246 299 }; 247 300 … … 251 304 252 305 inline AP_tree_nlen *rootNode() { 253 return ((AP_tree_nlen*)*ap_main->tree_root);306 return ap_main->get_root_node(); 254 307 } 255 308 … … 259 312 260 313 /**************************************************/ 314 315 #else 316 #error ap_tree_nlen.hxx included twice 317 #endif // AP_TREE_NLEN_HXX -
trunk/PARSIMONY/pars_dtree.hxx
r5827 r6280 1 // =============================================================== // 2 // // 3 // File : pars_dtree.hxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #ifndef PARS_DTREE_HXX 12 #define PARS_DTREE_HXX 13 14 #ifndef TREEDISPLAY_HXX 15 #include <TreeDisplay.hxx> 16 #endif 17 18 1 19 class AWT_graphic_parsimony: public AWT_graphic_tree { 2 20 virtual AW_gc_manager init_devices(AW_window *,AW_device *, AWT_canvas *ntw,AW_CL cd2); … … 16 34 }; 17 35 18 struct adfiltercbstruct; 19 void NT_tree_init(AWT_graphic_tree *agt, adfiltercbstruct *pars_global_filter); 36 void PARS_tree_init(AWT_graphic_tree *agt); 20 37 void PARS_optimizer_cb(AP_tree *tree); 38 39 #else 40 #error pars_dtree.hxx included twice 41 #endif // PARS_DTREE_HXX -
trunk/PARSIMONY/pars_main.hxx
r5827 r6280 1 #define MIN_SEQUENCE_LENGTH 20 1 // =============================================================== // 2 // // 3 // File : pars_main.hxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 2 10 3 extern struct NT_global { 4 AW_root *awr; 11 #ifndef PARS_MAIN_HXX 12 #define PARS_MAIN_HXX 13 14 #define MIN_SEQUENCE_LENGTH 20 15 16 class AW_root; 17 class AWT_graphic_tree; 18 class WeightedFilter; 19 20 extern struct PARS_global { 21 AW_root *awr; 5 22 AWT_graphic_tree *tree; 6 } *GLOBAL_ NT;23 } *GLOBAL_PARS; 7 24 8 AWT_graphic_tree *PARS_generate_tree(AW_root *root );25 AWT_graphic_tree *PARS_generate_tree(AW_root *root, WeightedFilter *pars_weighted_filter); 9 26 27 28 #else 29 #error pars_main.hxx included twice 30 #endif // PARS_MAIN_HXX -
trunk/PHYLO/Makefile
r6277 r6280 37 37 PH_data.o: $(ARBHOME)/INCLUDE/ad_prot.h 38 38 PH_data.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 39 PH_data.o: $(ARBHOME)/INCLUDE/AP_matrix.hxx 39 40 PH_data.o: $(ARBHOME)/INCLUDE/arb_assert.h 40 41 PH_data.o: $(ARBHOME)/INCLUDE/arb_error.h … … 44 45 PH_data.o: $(ARBHOME)/INCLUDE/arbtools.h 45 46 PH_data.o: $(ARBHOME)/INCLUDE/attributes.h 46 PH_data.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx47 47 PH_data.o: $(ARBHOME)/INCLUDE/aw_device.hxx 48 48 PH_data.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx … … 50 50 PH_data.o: $(ARBHOME)/INCLUDE/aw_root.hxx 51 51 PH_data.o: $(ARBHOME)/INCLUDE/aw_window.hxx 52 PH_data.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx53 PH_data.o: $(ARBHOME)/INCLUDE/awt_tree.hxx54 52 PH_data.o: $(ARBHOME)/INCLUDE/smartptr.h 55 53 … … 61 59 PH_display.o: $(ARBHOME)/INCLUDE/ad_prot.h 62 60 PH_display.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 61 PH_display.o: $(ARBHOME)/INCLUDE/AP_matrix.hxx 63 62 PH_display.o: $(ARBHOME)/INCLUDE/arb_assert.h 64 63 PH_display.o: $(ARBHOME)/INCLUDE/arb_error.h … … 68 67 PH_display.o: $(ARBHOME)/INCLUDE/arbtools.h 69 68 PH_display.o: $(ARBHOME)/INCLUDE/attributes.h 70 PH_display.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx71 69 PH_display.o: $(ARBHOME)/INCLUDE/aw_device.hxx 72 70 PH_display.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx … … 74 72 PH_display.o: $(ARBHOME)/INCLUDE/aw_root.hxx 75 73 PH_display.o: $(ARBHOME)/INCLUDE/aw_window.hxx 76 PH_display.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx77 PH_display.o: $(ARBHOME)/INCLUDE/awt_tree.hxx78 74 PH_display.o: $(ARBHOME)/INCLUDE/smartptr.h 79 75 … … 84 80 PH_filt.o: $(ARBHOME)/INCLUDE/ad_prot.h 85 81 PH_filt.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 82 PH_filt.o: $(ARBHOME)/INCLUDE/AP_matrix.hxx 86 83 PH_filt.o: $(ARBHOME)/INCLUDE/arb_assert.h 87 84 PH_filt.o: $(ARBHOME)/INCLUDE/arb_error.h … … 91 88 PH_filt.o: $(ARBHOME)/INCLUDE/arbtools.h 92 89 PH_filt.o: $(ARBHOME)/INCLUDE/attributes.h 93 PH_filt.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx94 90 PH_filt.o: $(ARBHOME)/INCLUDE/aw_device.hxx 95 91 PH_filt.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx … … 97 93 PH_filt.o: $(ARBHOME)/INCLUDE/aw_root.hxx 98 94 PH_filt.o: $(ARBHOME)/INCLUDE/aw_window.hxx 99 PH_filt.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx100 PH_filt.o: $(ARBHOME)/INCLUDE/awt_tree.hxx101 95 PH_filt.o: $(ARBHOME)/INCLUDE/smartptr.h 102 96 … … 108 102 PH_main.o: $(ARBHOME)/INCLUDE/ad_prot.h 109 103 PH_main.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 104 PH_main.o: $(ARBHOME)/INCLUDE/AP_matrix.hxx 110 105 PH_main.o: $(ARBHOME)/INCLUDE/arb_assert.h 111 106 PH_main.o: $(ARBHOME)/INCLUDE/arb_error.h … … 115 110 PH_main.o: $(ARBHOME)/INCLUDE/arbtools.h 116 111 PH_main.o: $(ARBHOME)/INCLUDE/attributes.h 117 PH_main.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx118 112 PH_main.o: $(ARBHOME)/INCLUDE/aw_device.hxx 119 113 PH_main.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx … … 123 117 PH_main.o: $(ARBHOME)/INCLUDE/aw_window.hxx 124 118 PH_main.o: $(ARBHOME)/INCLUDE/awt.hxx 125 PH_main.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx126 119 PH_main.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 127 PH_main.o: $(ARBHOME)/INCLUDE/awt_tree.hxx128 120 PH_main.o: $(ARBHOME)/INCLUDE/smartptr.h 129 121 … … 133 125 PH_matr.o: $(ARBHOME)/INCLUDE/ad_prot.h 134 126 PH_matr.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 127 PH_matr.o: $(ARBHOME)/INCLUDE/AP_matrix.hxx 128 PH_matr.o: $(ARBHOME)/INCLUDE/AP_pro_a_nucs.hxx 135 129 PH_matr.o: $(ARBHOME)/INCLUDE/arb_assert.h 136 130 PH_matr.o: $(ARBHOME)/INCLUDE/arb_error.h … … 140 134 PH_matr.o: $(ARBHOME)/INCLUDE/arbtools.h 141 135 PH_matr.o: $(ARBHOME)/INCLUDE/attributes.h 142 PH_matr.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx143 136 PH_matr.o: $(ARBHOME)/INCLUDE/aw_device.hxx 144 137 PH_matr.o: $(ARBHOME)/INCLUDE/aw_global.hxx … … 148 141 PH_matr.o: $(ARBHOME)/INCLUDE/aw_window.hxx 149 142 PH_matr.o: $(ARBHOME)/INCLUDE/awt.hxx 150 PH_matr.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx151 PH_matr.o: $(ARBHOME)/INCLUDE/awt_tree.hxx152 143 PH_matr.o: $(ARBHOME)/INCLUDE/smartptr.h 153 144 … … 157 148 PH_root.o: $(ARBHOME)/INCLUDE/ad_prot.h 158 149 PH_root.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 150 PH_root.o: $(ARBHOME)/INCLUDE/AP_matrix.hxx 159 151 PH_root.o: $(ARBHOME)/INCLUDE/arb_assert.h 160 152 PH_root.o: $(ARBHOME)/INCLUDE/arb_error.h … … 164 156 PH_root.o: $(ARBHOME)/INCLUDE/arbtools.h 165 157 PH_root.o: $(ARBHOME)/INCLUDE/attributes.h 166 PH_root.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx167 158 PH_root.o: $(ARBHOME)/INCLUDE/aw_root.hxx 168 PH_root.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx169 PH_root.o: $(ARBHOME)/INCLUDE/awt_tree.hxx170 159 PH_root.o: $(ARBHOME)/INCLUDE/smartptr.h -
trunk/PHYLO/PH_matr.cxx
r5625 r6280 4 4 #include <awt.hxx> 5 5 6 #include <AP_pro_a_nucs.hxx> 7 6 8 #include <cstring> 7 9 #include <cstdlib> 10 8 11 9 12 #warning module completely unused -
trunk/PHYLO/phylo.hxx
r5901 r6280 1 ///////////////////////////////////////////////////////////////// 2 ///////////////////////////////////////////////////////////////// 3 // // 4 // FILENAME: phylo.hxx // 5 // // 6 ///////////////////////////////////////////////////////////////// 7 // // 8 // contains: abstract classes and // 9 // global needed definitions,declarations and // 10 // functions // 11 // // 12 ///////////////////////////////////////////////////////////////// 13 ///////////////////////////////////////////////////////////////// 1 // =============================================================== // 2 // // 3 // File : phylo.hxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 14 10 11 #ifndef PHYLO_HXX 12 #define PHYLO_HXX 15 13 16 14 #ifndef _CPP_CSTDIO … … 23 21 #include <arbdbt.h> 24 22 #endif 25 #ifndef AW T_TREE_HXX26 #include <aw t_tree.hxx>23 #ifndef AW_ROOT_HXX 24 #include <aw_root.hxx> 27 25 #endif 28 26 #ifndef AP_MATRIX_HXX 27 #include <AP_matrix.hxx> 28 #endif 29 29 #ifndef ARB_ASSERT_H 30 30 #include <arb_assert.h> 31 31 #endif 32 33 32 #ifndef PH_FILTER_HXX 34 33 #include "PH_filter.hxx" … … 132 131 long AP_timer(void); 133 132 134 GBT_TREE *neighbourjoining(char **names, AP_FLOAT **m, long size, size_t structure_size);135 136 133 ///////////////////////////////////////////////////////////////// 137 134 // // … … 192 189 }; 193 190 194 191 #else 192 #error phylo.hxx included twice 193 #endif // PHYLO_HXX -
trunk/PROBE_DESIGN/Makefile
r6277 r6280 34 34 probe_design.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 35 35 probe_design.o: $(ARBHOME)/INCLUDE/adGene.h 36 probe_design.o: $(ARBHOME)/INCLUDE/AliView.hxx 37 probe_design.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 38 probe_design.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 36 39 probe_design.o: $(ARBHOME)/INCLUDE/arb_assert.h 37 40 probe_design.o: $(ARBHOME)/INCLUDE/arb_error.h 41 probe_design.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 38 42 probe_design.o: $(ARBHOME)/INCLUDE/arbdb.h 39 43 probe_design.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 52 56 probe_design.o: $(ARBHOME)/INCLUDE/awt_canvas.hxx 53 57 probe_design.o: $(ARBHOME)/INCLUDE/awt_config_manager.hxx 54 probe_design.o: $(ARBHOME)/INCLUDE/awt_dtree.hxx55 58 probe_design.o: $(ARBHOME)/INCLUDE/awt_iupac.hxx 56 probe_design.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx57 59 probe_design.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 58 probe_design.o: $(ARBHOME)/INCLUDE/awt_tree.hxx59 probe_design.o: $(ARBHOME)/INCLUDE/awt_tree_cb.hxx60 60 probe_design.o: $(ARBHOME)/INCLUDE/client.h 61 probe_design.o: $(ARBHOME)/INCLUDE/downcast.h 61 62 probe_design.o: $(ARBHOME)/INCLUDE/GEN.hxx 62 63 probe_design.o: $(ARBHOME)/INCLUDE/PT_com.h 63 64 probe_design.o: $(ARBHOME)/INCLUDE/servercntrl.h 64 65 probe_design.o: $(ARBHOME)/INCLUDE/smartptr.h 66 probe_design.o: $(ARBHOME)/INCLUDE/TreeCallbacks.hxx 67 probe_design.o: $(ARBHOME)/INCLUDE/TreeDisplay.hxx 65 68 66 69 probe_match_parser.o: probe_match_parser.hxx … … 88 91 SaiProbeVisualization.o: $(ARBHOME)/INCLUDE/attributes.h 89 92 SaiProbeVisualization.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 90 SaiProbeVisualization.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx91 93 SaiProbeVisualization.o: $(ARBHOME)/INCLUDE/aw_device.hxx 92 94 SaiProbeVisualization.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx … … 98 100 SaiProbeVisualization.o: $(ARBHOME)/INCLUDE/awt_canvas.hxx 99 101 SaiProbeVisualization.o: $(ARBHOME)/INCLUDE/awt_config_manager.hxx 100 SaiProbeVisualization.o: $(ARBHOME)/INCLUDE/awt_dtree.hxx101 102 SaiProbeVisualization.o: $(ARBHOME)/INCLUDE/awt_nds.hxx 102 SaiProbeVisualization.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx103 103 SaiProbeVisualization.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 104 SaiProbeVisualization.o: $(ARBHOME)/INCLUDE/awt_tree.hxx105 SaiProbeVisualization.o: $(ARBHOME)/INCLUDE/awt_tree_cb.hxx106 104 SaiProbeVisualization.o: $(ARBHOME)/INCLUDE/smartptr.h -
trunk/PROBE_DESIGN/SaiProbeVisualization.cxx
r6188 r6280 18 18 19 19 #include <awt_canvas.hxx> 20 #include <awt_tree.hxx>21 #include <awt_dtree.hxx>22 #include <awt_tree_cb.hxx>23 20 #include <awt_config_manager.hxx> 24 21 -
trunk/PROBE_DESIGN/probe_design.cxx
r6141 r6280 18 18 19 19 #include <awt_canvas.hxx> 20 #include <awt_tree.hxx>21 #include <awt_dtree.hxx>22 #include <awt_tree_cb.hxx>23 20 #include <awt_config_manager.hxx> 24 21 #include <awt_canvas.hxx> … … 34 31 #include "probe_match_parser.hxx" 35 32 36 void NT_group_not_marked_cb(void *dummy, AWT_canvas *ntw); // real prototype is in awt_tree_cb.hxx 33 #include <TreeCallbacks.hxx> 37 34 38 35 // general awars -
trunk/SECEDIT/SEC_graphic.cxx
r6141 r6280 310 310 break; 311 311 } 312 case AWT_MODE_ MOD: // edit constraints312 case AWT_MODE_EDIT: // edit constraints 313 313 if (button==AWT_M_LEFT && event==AW_Mouse_Press) { 314 314 error = change_constraints(elem); … … 489 489 AW_clicked_line *cl, AW_clicked_text *ct) 490 490 { 491 if (cmd != AWT_MODE_ MOD&& cmd != AWT_MODE_STRETCH) sec_root->set_show_constraints(SEC_NO_TYPE);491 if (cmd != AWT_MODE_EDIT && cmd != AWT_MODE_STRETCH) sec_root->set_show_constraints(SEC_NO_TYPE); 492 492 493 493 GB_ERROR error = 0; -
trunk/SECEDIT/SEC_main.cxx
r6188 r6280 219 219 break; 220 220 } 221 case AWT_MODE_ MOD: {221 case AWT_MODE_EDIT: { 222 222 text="CONSTRAINT MODE LEFT: modify constraint"; 223 223 sec_root->set_show_constraints(SEC_ANY_TYPE); … … 756 756 awm->create_mode("rot.bitmap", "sec_mode.hlp", AWM_ALL, sec_mode_event, (AW_CL)root, (AW_CL)AWT_MODE_ROT); 757 757 awm->create_mode("stretch.bitmap", "sec_mode.hlp", AWM_ALL, sec_mode_event, (AW_CL)root, (AW_CL)AWT_MODE_STRETCH); 758 awm->create_mode("info.bitmap", "sec_mode.hlp", AWM_ALL, sec_mode_event, (AW_CL)root, (AW_CL)AWT_MODE_ MOD);758 awm->create_mode("info.bitmap", "sec_mode.hlp", AWM_ALL, sec_mode_event, (AW_CL)root, (AW_CL)AWT_MODE_EDIT); 759 759 awm->create_mode("sec_setcurs.bitmap", "sec_mode.hlp", AWM_ALL, sec_mode_event, (AW_CL)root, (AW_CL)AWT_MODE_LINE); 760 760 awm->create_mode("probeInfo.bitmap", "sec_mode.hlp", AWM_ALL, sec_mode_event, (AW_CL)root, (AW_CL)AWT_MODE_PROINFO); -
trunk/SEQ_QUALITY/Makefile
r6277 r6280 38 38 SQ_functions.o: $(ARBHOME)/INCLUDE/ad_prot.h 39 39 SQ_functions.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 40 SQ_functions.o: $(ARBHOME)/INCLUDE/AP_filter.hxx 40 41 SQ_functions.o: $(ARBHOME)/INCLUDE/arb_assert.h 41 42 SQ_functions.o: $(ARBHOME)/INCLUDE/arb_error.h … … 45 46 SQ_functions.o: $(ARBHOME)/INCLUDE/arbtools.h 46 47 SQ_functions.o: $(ARBHOME)/INCLUDE/attributes.h 47 SQ_functions.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx48 48 SQ_functions.o: $(ARBHOME)/INCLUDE/aw_device.hxx 49 49 SQ_functions.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx … … 54 54 SQ_functions.o: $(ARBHOME)/INCLUDE/awt.hxx 55 55 SQ_functions.o: $(ARBHOME)/INCLUDE/awt_iupac.hxx 56 SQ_functions.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx57 SQ_functions.o: $(ARBHOME)/INCLUDE/awt_tree.hxx58 56 SQ_functions.o: $(ARBHOME)/INCLUDE/BI_helix.hxx 59 57 SQ_functions.o: $(ARBHOME)/INCLUDE/smartptr.h … … 65 63 SQ_GroupData.o: $(ARBHOME)/INCLUDE/attributes.h 66 64 67 SQ_main.o: ../AWT/awtfilter.hxx68 65 SQ_main.o: seq_quality.h 69 66 SQ_main.o: SQ_functions.h … … 80 77 SQ_main.o: $(ARBHOME)/INCLUDE/attributes.h 81 78 SQ_main.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 82 SQ_main.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx83 79 SQ_main.o: $(ARBHOME)/INCLUDE/aw_device.hxx 84 80 SQ_main.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx … … 87 83 SQ_main.o: $(ARBHOME)/INCLUDE/aw_window.hxx 88 84 SQ_main.o: $(ARBHOME)/INCLUDE/awt.hxx 89 SQ_main.o: $(ARBHOME)/INCLUDE/awt_ pro_a_nucs.hxx85 SQ_main.o: $(ARBHOME)/INCLUDE/awt_filter.hxx 90 86 SQ_main.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 91 SQ_main.o: $(ARBHOME)/INCLUDE/awt_tree.hxx92 87 SQ_main.o: $(ARBHOME)/INCLUDE/smartptr.h -
trunk/SEQ_QUALITY/SQ_functions.cxx
r6141 r6280 26 26 #include <aw_preset.hxx> 27 27 #include <awt.hxx> 28 #include <awt_tree.hxx>29 28 30 29 #include "SQ_GroupData.h" … … 411 410 412 411 char *SQ_fetch_filtered_sequence(GBDATA * read_sequence, AP_filter * filter) { 413 if (!read_sequence) 414 return 0; 415 416 const char *rawSequence = GB_read_char_pntr(read_sequence); 417 int filteredLength = filter->real_len; 418 419 if (filter->filterpos_2_seqpos == 0) 420 filter->calc_filter_2_seq(); 421 422 char *filteredSequence = (char *) malloc(filteredLength * sizeof(char)); 423 424 if (filteredSequence) { 425 for (int i = 0; i < filteredLength; ++i) { 426 filteredSequence[i] = rawSequence[filter->filterpos_2_seqpos[i]]; 427 } 428 } 429 412 char *filteredSequence = 0; 413 if (read_sequence) { 414 const char *rawSequence = GB_read_char_pntr(read_sequence); 415 int filteredLength = filter->get_filtered_length(); 416 const size_t *filterpos_2_seqpos = filter->get_filterpos_2_seqpos(); 417 418 filteredSequence = (char*)malloc(filteredLength * sizeof(char)); 419 if (filteredSequence) { 420 for (int i = 0; i < filteredLength; ++i) { 421 filteredSequence[i] = rawSequence[filterpos_2_seqpos[i]]; 422 } 423 } 424 } 430 425 return filteredSequence; 431 426 } … … 473 468 char *rawSequence = SQ_fetch_filtered_sequence(read_sequence, 474 469 filter); 475 int sequenceLength = filter-> real_len;470 int sequenceLength = filter->get_filtered_length(); 476 471 477 472 /*calculate physical layout of sequence */ … … 576 571 char *rawSequence = SQ_fetch_filtered_sequence( 577 572 read_sequence, filter); 578 int sequenceLength = filter-> real_len;573 int sequenceLength = filter->get_filtered_length(); 579 574 580 575 /*calculate physical layout of sequence */ -
trunk/SEQ_QUALITY/SQ_helix.h
r5675 r6280 23 23 #include <BI_helix.hxx> 24 24 #endif 25 #ifndef AP_FILTER_HXX 26 #include <AP_filter.hxx> 27 #endif 28 25 29 26 30 class SQ_helix { … … 86 90 87 91 void SQ_helix::SQ_calc_helix_layout(const char *seq, GBDATA * gb_main, 88 char *alignment_name, GBDATA * gb_quality, AP_filter * filter) {92 char *alignment_name, GBDATA * gb_quality, AP_filter * filter) { 89 93 getHelix(gb_main, alignment_name); 94 95 size_t filterLen = filter->get_filtered_length(); 96 const size_t *filterpos_2_seqpos = filter->get_filterpos_2_seqpos(); 90 97 91 98 // one call should be enough here (alignment does not change during the whole evaluation) … … 93 100 filterMap.clear(); 94 101 95 for (int filter_pos = 0; filter_pos < filter ->real_len; filter_pos++) {96 filterMap[filter ->filterpos_2_seqpos[filter_pos]] = filter_pos;102 for (int filter_pos = 0; filter_pos < filterLen; filter_pos++) { 103 filterMap[filterpos_2_seqpos[filter_pos]] = filter_pos; 97 104 } 98 105 … … 108 115 std::map<int,int>::iterator it; 109 116 110 for (int filter_pos = 0; filter_pos < filter ->real_len; filter_pos++) {111 int seq_pos = filter ->filterpos_2_seqpos[filter_pos];117 for (int filter_pos = 0; filter_pos < filterLen; filter_pos++) { 118 int seq_pos = filterpos_2_seqpos[filter_pos]; 112 119 113 120 BI_PAIR_TYPE pair_type = helix->pairtype(seq_pos); -
trunk/SEQ_QUALITY/SQ_main.cxx
r6141 r6280 23 23 #include <aw_window.hxx> 24 24 #include <awt.hxx> 25 #include <awt_tree.hxx> 26 #include "../AWT/awtfilter.hxx" 25 #include <awt_filter.hxx> 27 26 #include <awt_sel_boxes.hxx> 28 27 #include <aw_awars.hxx> -
trunk/SL/AP_TREE/Makefile
r6238 r6280 44 44 AP_Tree.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 45 45 AP_Tree.o: $(ARBHOME)/INCLUDE/arb_assert.h 46 AP_Tree.o: $(ARBHOME)/INCLUDE/arb_error.h 46 47 AP_Tree.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 47 48 AP_Tree.o: $(ARBHOME)/INCLUDE/arbdb.h … … 54 55 AP_Tree.o: $(ARBHOME)/INCLUDE/awt_attributes.hxx 55 56 AP_Tree.o: $(ARBHOME)/INCLUDE/downcast.h 57 AP_Tree.o: $(ARBHOME)/INCLUDE/smartptr.h -
trunk/SL/GUI_ALIVIEW/Makefile
r6253 r6280 46 46 AWT_csp.o: $(ARBHOME)/INCLUDE/AP_filter.hxx 47 47 AWT_csp.o: $(ARBHOME)/INCLUDE/arb_assert.h 48 AWT_csp.o: $(ARBHOME)/INCLUDE/arb_error.h 48 49 AWT_csp.o: $(ARBHOME)/INCLUDE/arbdb.h 49 50 AWT_csp.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 58 59 AWT_csp.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 59 60 AWT_csp.o: $(ARBHOME)/INCLUDE/BI_helix.hxx 61 AWT_csp.o: $(ARBHOME)/INCLUDE/smartptr.h 60 62 61 63 AWT_filter.o: awt_filter.hxx … … 65 67 AWT_filter.o: $(ARBHOME)/INCLUDE/AP_filter.hxx 66 68 AWT_filter.o: $(ARBHOME)/INCLUDE/arb_assert.h 69 AWT_filter.o: $(ARBHOME)/INCLUDE/arb_error.h 67 70 AWT_filter.o: $(ARBHOME)/INCLUDE/arbdb.h 68 71 AWT_filter.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 78 81 AWT_filter.o: $(ARBHOME)/INCLUDE/awt.hxx 79 82 AWT_filter.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 83 AWT_filter.o: $(ARBHOME)/INCLUDE/smartptr.h 80 84 81 85 GUI_aliview.o: awt_csp.hxx -
trunk/SL/MATRIX/Makefile
r6225 r6280 41 41 AP_matrix.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 42 42 AP_matrix.o: $(ARBHOME)/INCLUDE/arb_assert.h 43 AP_matrix.o: $(ARBHOME)/INCLUDE/arb_error.h 43 44 AP_matrix.o: $(ARBHOME)/INCLUDE/arbdb.h 44 45 AP_matrix.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 51 52 AP_matrix.o: $(ARBHOME)/INCLUDE/aw_root.hxx 52 53 AP_matrix.o: $(ARBHOME)/INCLUDE/aw_window.hxx 54 AP_matrix.o: $(ARBHOME)/INCLUDE/smartptr.h -
trunk/SL/Makefile
r6023 r6280 1 1 2 2 ARCHS_ALL = \ 3 TREE_READ/TREE_READ.dummy \4 TREE_WRITE/TREE_WRITE.dummy \5 HELIX/HELIX.dummy \3 ALIVIEW/ALIVIEW.dummy \ 4 AP_TREE/AP_TREE.dummy \ 5 ARB_TREE/ARB_TREE.dummy \ 6 6 AW_HELIX/AW_HELIX.dummy \ 7 7 AW_NAME/AW_NAME.dummy \ 8 8 DB_SCANNER/DB_SCANNER.dummy \ 9 FAST_ALIGNER/FAST_ALIGNER.dummy \ 9 10 FILE_BUFFER/FILE_BUFFER.dummy \ 11 FILTER/FILTER.dummy \ 12 GUI_ALIVIEW/GUI_ALIVIEW.dummy \ 13 HELIX/HELIX.dummy \ 14 MATRIX/MATRIX.dummy \ 15 NEIGHBOURJOIN/NEIGHBOURJOIN.dummy \ 16 PRONUC/PRONUC.dummy \ 10 17 REGEXPR/REGEXPR.dummy \ 11 FAST_ALIGNER/FAST_ALIGNER.dummy \ 18 SEQUENCE/SEQUENCE.dummy \ 19 TREE_READ/TREE_READ.dummy \ 20 TREE_WRITE/TREE_WRITE.dummy \ 12 21 13 22 # -------------------------------------------------------------------------------- … … 44 53 clean: $(ARCHS:.dummy=.clean) 45 54 55 proto: TREEDISP/TREEDISP.proto 56 46 57 %.depend: 47 58 @cp -p $(@D)/Makefile $(@D)/Makefile.old # save old Makefile … … 65 76 clean 66 77 78 %.proto: 79 @$(MAKE) -C $(@D) \ 80 proto 81 67 82 # the end of the above command avoids that the output of parallel make calls gets mixed up 68 83 -
trunk/SL/PRONUC/Makefile
r6225 r6280 43 43 AP_codon_table.o: $(ARBHOME)/INCLUDE/ad_prot.h 44 44 AP_codon_table.o: $(ARBHOME)/INCLUDE/arb_assert.h 45 AP_codon_table.o: $(ARBHOME)/INCLUDE/arb_error.h 45 46 AP_codon_table.o: $(ARBHOME)/INCLUDE/arbdb.h 46 47 AP_codon_table.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 54 55 AP_codon_table.o: $(ARBHOME)/INCLUDE/awt.hxx 55 56 AP_codon_table.o: $(ARBHOME)/INCLUDE/awt_iupac.hxx 57 AP_codon_table.o: $(ARBHOME)/INCLUDE/smartptr.h 56 58 57 59 AP_pro_a_nucs.o: AP_codon_table.hxx … … 61 63 AP_pro_a_nucs.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 62 64 AP_pro_a_nucs.o: $(ARBHOME)/INCLUDE/arb_assert.h 65 AP_pro_a_nucs.o: $(ARBHOME)/INCLUDE/arb_error.h 63 66 AP_pro_a_nucs.o: $(ARBHOME)/INCLUDE/arbdb.h 64 67 AP_pro_a_nucs.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 73 76 AP_pro_a_nucs.o: $(ARBHOME)/INCLUDE/awt.hxx 74 77 AP_pro_a_nucs.o: $(ARBHOME)/INCLUDE/inline.h 78 AP_pro_a_nucs.o: $(ARBHOME)/INCLUDE/smartptr.h -
trunk/SL/TREE_WRITE/TreeWrite.h
r6066 r6280 11 11 #ifndef TREEWRITE_H 12 12 #define TREEWRITE_H 13 14 #ifndef ARBDBT_H 15 #include <arbdbt.h> 16 #endif 13 17 14 18 typedef void (*TREE_make_node_text_init)(GBDATA *gb_main); -
trunk/SOURCE_TOOLS/generate_all_links.sh
r6277 r6280 4 4 5 5 finderr() { 6 FOUND=`grep -Hn "$1" $SELF `7 if [ -z $FOUND]; then6 FOUND=`grep -Hn "$1" $SELF | perl -ne '/^[^:]+:[^:]+:/; print $&."\n";'` 7 if [ -z "$FOUND" ]; then 8 8 echo "$SELF:8: $2 ($1 not located -- search manually)" 9 9 else … … 35 35 (test -e $DIR/$1 || finderr $1 "Target '$DIR/$1 does not exists (anymore)" ) && 36 36 (test -e $2 || (test -h $2 && 37 (finderr $2 " Warning Symlink '$2' pointsto nowhere -- removing wrong link";ls -al $2;rm $2;true)37 (finderr $2 "Note: Symlink '$2' pointed to nowhere -- removing wrong link";ls -al $2;rm $2;true) 38 38 ) || true) && 39 39 symlink_maybe_no_target $1 $2 … … 121 121 symlink ../TEMPLATES/attributes.h INCLUDE/attributes.h && 122 122 symlink ../TEMPLATES/config_parser.h INCLUDE/config_parser.h && 123 symlink ../TEMPLATES/downcast.h INCLUDE/downcast.h && 123 124 symlink ../TEMPLATES/inline.h INCLUDE/inline.h && 124 125 symlink ../TEMPLATES/output.h INCLUDE/output.h && … … 140 141 141 142 symlink ../AISC_COM/C/aisc_func_types.h INCLUDE/aisc_func_types.h && 143 symlink ../AISC_COM/C/aisc_global.h INCLUDE/aisc_global.h && 142 144 symlink ../AISC_COM/C/client.h INCLUDE/client.h && 143 145 symlink ../AISC_COM/C/client_privat.h INCLUDE/client_privat.h && 144 146 symlink ../AISC_COM/C/server.h INCLUDE/server.h && 145 147 symlink ../AISC_COM/C/struct_man.h INCLUDE/struct_man.h && 146 symlink ../AISC_COM/C/aisc_global.h INCLUDE/aisc_global.h &&147 148 symlink ../ARBDB/adGene.h INCLUDE/adGene.h && 149 symlink ../ARBDB/ad_config.h INCLUDE/ad_config.h && 150 symlink ../ARBDB/ad_k_prot.h INCLUDE/ad_k_prot.h && 148 151 symlink ../ARBDB/ad_prot.h INCLUDE/ad_prot.h && 149 symlink ../ARBDB/ad_config.h INCLUDE/ad_config.h &&150 152 symlink ../ARBDB/ad_t_prot.h INCLUDE/ad_t_prot.h && 151 symlink ../ARBDB/ad_k_prot.h INCLUDE/ad_k_prot.h &&152 153 symlink ../ARBDB/arb_assert.h INCLUDE/arb_assert.h && 153 154 symlink ../ARBDB/arbdb.h INCLUDE/arbdb.h && … … 162 163 symlink ../AWT/awt_attributes.hxx INCLUDE/awt_attributes.hxx && 163 164 symlink ../AWT/awt_canvas.hxx INCLUDE/awt_canvas.hxx && 164 symlink ../AWT/awt_codon_table.hxx INCLUDE/awt_codon_table.hxx &&165 165 symlink ../AWT/awt_config_manager.hxx INCLUDE/awt_config_manager.hxx && 166 symlink ../AWT/awt_csp.hxx INCLUDE/awt_csp.hxx &&167 symlink ../AWT/awt_dtree.hxx INCLUDE/awt_dtree.hxx &&168 166 symlink ../AWT/awt_hotkeys.hxx INCLUDE/awt_hotkeys.hxx && 169 167 symlink ../AWT/awt_input_mask.hxx INCLUDE/awt_input_mask.hxx && … … 174 172 symlink ../AWT/awt_nds.hxx INCLUDE/awt_nds.hxx && 175 173 symlink ../AWT/awt_preset.hxx INCLUDE/awt_preset.hxx && 176 symlink ../AWT/awt_pro_a_nucs.hxx INCLUDE/awt_pro_a_nucs.hxx &&177 174 symlink ../AWT/awt_sel_boxes.hxx INCLUDE/awt_sel_boxes.hxx && 178 175 symlink ../AWT/awt_seq_colors.hxx INCLUDE/awt_seq_colors.hxx && 179 symlink ../AWT/awt_seq_dna.hxx INCLUDE/awt_seq_dna.hxx &&180 symlink ../AWT/awt_seq_protein.hxx INCLUDE/awt_seq_protein.hxx &&181 symlink ../AWT/awt_seq_simple_pro.hxx INCLUDE/awt_seq_simple_pro.hxx &&182 symlink ../AWT/awt_translate.hxx INCLUDE/awt_translate.hxx &&183 symlink ../AWT/awt_tree.hxx INCLUDE/awt_tree.hxx &&184 symlink ../AWT/awt_tree_cb.hxx INCLUDE/awt_tree_cb.hxx &&185 symlink ../AWT/awt_tree_cmp.hxx INCLUDE/awt_tree_cmp.hxx &&186 176 symlink ../AWT/awt_www.hxx INCLUDE/awt_www.hxx && 187 177 symlink ../AWT/awtlocal.hxx INCLUDE/awtlocal.hxx && … … 204 194 symlink ../PROBE_DESIGN/probe_design.hxx INCLUDE/probe_design.hxx && 205 195 symlink ../SECEDIT/secedit_extern.hxx INCLUDE/secedit_extern.hxx && 196 symlink ../SEQ_QUALITY/seq_quality.h INCLUDE/seq_quality.h && 206 197 symlink ../SERVERCNTRL/servercntrl.h INCLUDE/servercntrl.h && 207 symlink ../SEQ_QUALITY/seq_quality.h INCLUDE/seq_quality.h && 198 symlink ../SL/ALIVIEW/AliView.hxx INCLUDE/AliView.hxx && 199 symlink ../SL/AP_TREE/AP_Tree.hxx INCLUDE/AP_Tree.hxx && 200 symlink ../SL/ARB_TREE/ARB_Tree.hxx INCLUDE/ARB_Tree.hxx && 208 201 symlink ../SL/AW_HELIX/AW_helix.hxx INCLUDE/AW_helix.hxx && 209 202 symlink ../SL/AW_NAME/AW_rename.hxx INCLUDE/AW_rename.hxx && … … 211 204 symlink ../SL/FAST_ALIGNER/fast_aligner.hxx INCLUDE/fast_aligner.hxx && 212 205 symlink ../SL/FILE_BUFFER/FileBuffer.h INCLUDE/FileBuffer.h && 206 symlink ../SL/FILTER/AP_filter.hxx INCLUDE/AP_filter.hxx && 207 symlink ../SL/GUI_ALIVIEW/awt_csp.hxx INCLUDE/awt_csp.hxx && 208 symlink ../SL/GUI_ALIVIEW/awt_filter.hxx INCLUDE/awt_filter.hxx && 209 symlink ../SL/GUI_ALIVIEW/gui_aliview.hxx INCLUDE/gui_aliview.hxx && 213 210 symlink ../SL/HELIX/BI_helix.hxx INCLUDE/BI_helix.hxx && 211 symlink ../SL/MATRIX/AP_matrix.hxx INCLUDE/AP_matrix.hxx && 212 symlink ../SL/NEIGHBOURJOIN/neighbourjoin.hxx INCLUDE/neighbourjoin.hxx && 213 symlink ../SL/PRONUC/AP_codon_table.hxx INCLUDE/AP_codon_table.hxx && 214 symlink ../SL/PRONUC/AP_pro_a_nucs.hxx INCLUDE/AP_pro_a_nucs.hxx && 214 215 symlink ../SL/REGEXPR/RegExpr.hxx INCLUDE/RegExpr.hxx && 216 symlink ../SL/SEQUENCE/AP_seq_dna.hxx INCLUDE/AP_seq_dna.hxx && 217 symlink ../SL/SEQUENCE/AP_seq_protein.hxx INCLUDE/AP_seq_protein.hxx && 218 symlink ../SL/SEQUENCE/AP_seq_simple_pro.hxx INCLUDE/AP_seq_simple_pro.hxx && 219 symlink ../SL/SEQUENCE/AP_sequence.hxx INCLUDE/AP_sequence.hxx && 220 symlink ../SL/TRANSLATE/Translate.hxx INCLUDE/Translate.hxx && 221 symlink ../SL/TREEDISP/TreeCallbacks.hxx INCLUDE/TreeCallbacks.hxx && 222 symlink ../SL/TREEDISP/TreeDisplay.hxx INCLUDE/TreeDisplay.hxx && 215 223 symlink ../SL/TREE_READ/TreeRead.h INCLUDE/TreeRead.h && 216 224 symlink ../SL/TREE_WRITE/TreeWrite.h INCLUDE/TreeWrite.h && … … 219 227 symlink ../WINDOW/aw_color_groups.hxx INCLUDE/aw_color_groups.hxx && 220 228 symlink ../WINDOW/aw_device.hxx INCLUDE/aw_device.hxx && 229 symlink ../WINDOW/aw_font_group.hxx INCLUDE/aw_font_group.hxx && 230 symlink ../WINDOW/aw_global.hxx INCLUDE/aw_global.hxx && 221 231 symlink ../WINDOW/aw_global_awars.hxx INCLUDE/aw_global_awars.hxx && 222 232 symlink ../WINDOW/aw_keysym.hxx INCLUDE/aw_keysym.hxx && … … 226 236 symlink ../WINDOW/aw_root.hxx INCLUDE/aw_root.hxx && 227 237 symlink ../WINDOW/aw_window.hxx INCLUDE/aw_window.hxx && 228 symlink ../WINDOW/aw_global.hxx INCLUDE/aw_global.hxx &&229 238 symlink ../WINDOW/aw_window_Xm_interface.hxx INCLUDE/aw_window_Xm_interface.hxx && 230 symlink ../WINDOW/aw_font_group.hxx INCLUDE/aw_font_group.hxx &&231 239 symlink ../XML/xml.hxx INCLUDE/xml.hxx && 232 240 -
trunk/SOURCE_TOOLS/touch_modified.pl
r5952 r6280 32 32 33 33 if ($touch==1) { 34 if (not -f $file) { die "File '$file' not found (statusline='$line')" } 34 if (-d $file) { 35 $handled = 1; 36 } 37 else { 38 if (not -f $file) { die "File '$file' not found (statusline='$line')" } 35 39 36 my $touch_cmd = "touch '$file'"; 37 print '['.$touch_cmd."]\n"; 38 system($touch_cmd); 39 $handled = 1; 40 my $touch_cmd = "touch '$file'"; 41 print '['.$touch_cmd."]\n"; 42 system($touch_cmd); 43 $handled = 1; 44 } 40 45 } 41 46 } -
trunk/STAT/Makefile
r6277 r6280 35 35 ST_ml.o: $(ARBHOME)/INCLUDE/ad_prot.h 36 36 ST_ml.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 37 ST_ml.o: $(ARBHOME)/INCLUDE/AliView.hxx 38 ST_ml.o: $(ARBHOME)/INCLUDE/AP_filter.hxx 39 ST_ml.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 40 ST_ml.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 37 41 ST_ml.o: $(ARBHOME)/INCLUDE/arb_assert.h 38 42 ST_ml.o: $(ARBHOME)/INCLUDE/arb_error.h 43 ST_ml.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 39 44 ST_ml.o: $(ARBHOME)/INCLUDE/arbdb.h 40 45 ST_ml.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 42 47 ST_ml.o: $(ARBHOME)/INCLUDE/arbtools.h 43 48 ST_ml.o: $(ARBHOME)/INCLUDE/attributes.h 44 ST_ml.o: $(ARBHOME)/INCLUDE/aw_awars.hxx45 49 ST_ml.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 46 50 ST_ml.o: $(ARBHOME)/INCLUDE/aw_root.hxx 47 51 ST_ml.o: $(ARBHOME)/INCLUDE/awt_csp.hxx 48 ST_ml.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 49 ST_ml.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 52 ST_ml.o: $(ARBHOME)/INCLUDE/downcast.h 50 53 ST_ml.o: $(ARBHOME)/INCLUDE/smartptr.h 51 54 … … 56 59 ST_quality.o: $(ARBHOME)/INCLUDE/ad_prot.h 57 60 ST_quality.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 61 ST_quality.o: $(ARBHOME)/INCLUDE/AliView.hxx 62 ST_quality.o: $(ARBHOME)/INCLUDE/AP_filter.hxx 63 ST_quality.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 64 ST_quality.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 58 65 ST_quality.o: $(ARBHOME)/INCLUDE/arb_assert.h 59 66 ST_quality.o: $(ARBHOME)/INCLUDE/arb_error.h 67 ST_quality.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 60 68 ST_quality.o: $(ARBHOME)/INCLUDE/arbdb.h 61 69 ST_quality.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 65 73 ST_quality.o: $(ARBHOME)/INCLUDE/aw_awars.hxx 66 74 ST_quality.o: $(ARBHOME)/INCLUDE/aw_color_groups.hxx 75 ST_quality.o: $(ARBHOME)/INCLUDE/aw_device.hxx 76 ST_quality.o: $(ARBHOME)/INCLUDE/aw_keysym.hxx 77 ST_quality.o: $(ARBHOME)/INCLUDE/aw_position.hxx 67 78 ST_quality.o: $(ARBHOME)/INCLUDE/aw_root.hxx 79 ST_quality.o: $(ARBHOME)/INCLUDE/aw_window.hxx 68 80 ST_quality.o: $(ARBHOME)/INCLUDE/awt_csp.hxx 69 ST_quality.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx70 ST_quality.o: $(ARBHOME)/INCLUDE/awt_tree.hxx71 81 ST_quality.o: $(ARBHOME)/INCLUDE/BI_helix.hxx 82 ST_quality.o: $(ARBHOME)/INCLUDE/downcast.h 72 83 ST_quality.o: $(ARBHOME)/INCLUDE/smartptr.h 73 84 74 85 ST_window.o: st_ml.hxx 75 ST_window.o: st_quality.hxx76 86 ST_window.o: st_window.hxx 77 87 ST_window.o: $(ARBHOME)/INCLUDE/ad_k_prot.h 78 88 ST_window.o: $(ARBHOME)/INCLUDE/ad_prot.h 79 89 ST_window.o: $(ARBHOME)/INCLUDE/ad_t_prot.h 90 ST_window.o: $(ARBHOME)/INCLUDE/AliView.hxx 91 ST_window.o: $(ARBHOME)/INCLUDE/AP_sequence.hxx 92 ST_window.o: $(ARBHOME)/INCLUDE/AP_Tree.hxx 80 93 ST_window.o: $(ARBHOME)/INCLUDE/arb_assert.h 81 94 ST_window.o: $(ARBHOME)/INCLUDE/arb_error.h 95 ST_window.o: $(ARBHOME)/INCLUDE/ARB_Tree.hxx 82 96 ST_window.o: $(ARBHOME)/INCLUDE/arbdb.h 83 97 ST_window.o: $(ARBHOME)/INCLUDE/arbdb_base.h … … 94 108 ST_window.o: $(ARBHOME)/INCLUDE/awt.hxx 95 109 ST_window.o: $(ARBHOME)/INCLUDE/awt_csp.hxx 110 ST_window.o: $(ARBHOME)/INCLUDE/awt_filter.hxx 96 111 ST_window.o: $(ARBHOME)/INCLUDE/awt_item_sel_list.hxx 97 ST_window.o: $(ARBHOME)/INCLUDE/awt_pro_a_nucs.hxx 98 ST_window.o: $(ARBHOME)/INCLUDE/awt_sel_boxes.hxx 99 ST_window.o: $(ARBHOME)/INCLUDE/awt_tree.hxx 112 ST_window.o: $(ARBHOME)/INCLUDE/downcast.h 100 113 ST_window.o: $(ARBHOME)/INCLUDE/smartptr.h -
trunk/STAT/ST_ml.cxx
r6141 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <math.h> 5 #include <memory.h> 6 // #include <malloc.h> 7 #include <ctype.h> 8 #include <arbdb.h> 9 #include <arbdbt.h> 10 #include <aw_awars.hxx> 11 #include <awt_tree.hxx> 1 #include "st_ml.hxx" 2 12 3 #include <awt_csp.hxx> 13 #include "st_ml.hxx" 4 #include <AP_filter.hxx> 5 6 #include <cctype> 7 #include <cmath> 8 14 9 15 10 #define st_assert(bed) arb_assert(bed) … … 152 147 #endif 153 148 154 ST_sequence_ml::ST_sequence_ml(AP_tree_root * rooti, ST_ML * st_mli) : 155 AP_sequence(rooti) { 156 gb_data = 0; 157 st_ml = st_mli; 158 sequence = new ST_base_vector[ST_MAX_SEQ_PART]; 159 color_out = NULL; 160 color_out_valid_till = NULL; 161 last_updated = 0; 162 } 163 164 void st_sequence_callback(GBDATA *, int *cl, gb_call_back_type) { 149 ST_sequence_ml::ST_sequence_ml(const AliView *aliview, ST_ML *st_ml_) 150 : AP_sequence(aliview) 151 , st_ml(st_ml_) 152 , sequence(new ST_base_vector[ST_MAX_SEQ_PART]) 153 , last_updated(0) 154 , color_out(NULL) 155 , color_out_valid_till(NULL) 156 { 157 } 158 159 ST_sequence_ml::~ST_sequence_ml() { 160 delete [] sequence; 161 delete color_out; 162 delete color_out_valid_till; 163 164 unbind_from_species(true); 165 } 166 167 static void st_sequence_callback(GBDATA *, int *cl, gb_call_back_type) { 165 168 ST_sequence_ml *seq = (ST_sequence_ml *) cl; 166 169 seq->sequence_change(); 167 170 } 168 171 169 void st_sequence_del_callback(GBDATA *, int *cl, gb_call_back_type) {172 static void st_sequence_del_callback(GBDATA *, int *cl, gb_call_back_type) { 170 173 ST_sequence_ml *seq = (ST_sequence_ml *) cl; 171 seq->delete_sequence(); 172 } 173 174 void ST_sequence_ml::delete_sequence() { 175 if (gb_data) 176 GB_remove_callback(gb_data, GB_CB_CHANGED, st_sequence_callback, 177 (int *) this); 178 if (gb_data) 179 GB_remove_callback(gb_data, GB_CB_DELETE, st_sequence_del_callback, 180 (int *) this); 181 gb_data = 0; 174 seq->unbind_from_species(false); 175 } 176 177 178 GB_ERROR ST_sequence_ml::bind_to_species(GBDATA *gb_species) { 179 GB_ERROR error = AP_sequence::bind_to_species(gb_species); 180 if (!error) { 181 GBDATA *gb_seq = get_bound_species_data(); 182 st_assert(gb_seq); 183 184 error = GB_add_callback(gb_seq, GB_CB_CHANGED, st_sequence_callback, (int *) this); 185 if (!error) error = GB_add_callback(gb_seq, GB_CB_DELETE, st_sequence_del_callback, (int *) this); 186 } 187 return error; 188 } 189 void ST_sequence_ml::unbind_from_species(bool remove_callbacks) { 190 if (remove_callbacks) { 191 GBDATA *gb_seq = get_bound_species_data(); 192 st_assert(gb_seq); 193 GB_remove_callback(gb_seq, GB_CB_CHANGED, st_sequence_callback, (int *) this); 194 GB_remove_callback(gb_seq, GB_CB_DELETE, st_sequence_del_callback, (int *) this); 195 } 196 AP_sequence::unbind_from_species(); 182 197 } 183 198 184 199 void ST_sequence_ml::sequence_change() { 185 200 st_ml->clear_all(); 186 187 } 188 189 ST_sequence_ml::~ST_sequence_ml() { 190 delete[]sequence; 191 delete color_out; 192 delete color_out_valid_till; 193 194 delete_sequence(); 195 } 196 197 AP_sequence *ST_sequence_ml::dup() { 198 return new ST_sequence_ml(root, st_ml); 199 } 200 201 void ST_sequence_ml::set_gb(GBDATA * gbd) { 202 delete_sequence(); 203 gb_data = gbd; 204 GB_add_callback(gb_data, GB_CB_CHANGED, st_sequence_callback, (int *) this); 205 GB_add_callback(gb_data, GB_CB_DELETE, st_sequence_del_callback, 206 (int *) this); 201 } 202 203 AP_sequence *ST_sequence_ml::dup() const { 204 return new ST_sequence_ml(get_aliview(), st_ml); 207 205 } 208 206 209 207 void ST_sequence_ml::set(const char *) { 210 st_assert(0); // function does nothing, so i assert it wont be called -- ralf may 2008 208 st_assert(0); // hmm why not perform set_sequence() here ? 209 } 210 211 void ST_sequence_ml::unset() { 211 212 } 212 213 … … 218 219 int source_sequence_len = 0; 219 220 221 GBDATA *gb_data = get_bound_species_data(); 220 222 if (gb_data) { 221 223 source_sequence_len = (int) GB_read_string_count(gb_data); … … 243 245 } 244 246 245 AP_FLOAT ST_sequence_ml::combine(const AP_sequence *, const AP_sequence *) { 246 return 0.0; 247 AP_FLOAT ST_sequence_ml::combine(const AP_sequence *, const AP_sequence *, char *) { 248 st_assert(0); 249 return -1.0; 247 250 } 248 251 … … 349 352 350 353 void ST_sequence_ml::print() { 351 int i;352 for (i = 0; i < ST_MAX_SEQ_PART; i++) {353 printf("POS %3i %c ", i, GB_read_char_pntr(gb_data)[i]);354 const char *data = GB_read_char_pntr(get_bound_species_data()); 355 for (int i = 0; i < ST_MAX_SEQ_PART; i++) { 356 printf("POS %3i %c ", i, data[i]); 354 357 printf("\n"); 355 358 } 359 } 360 361 AP_FLOAT ST_sequence_ml::count_weighted_bases() const { 362 st_assert(0); 363 return -1.0; 356 364 } 357 365 … … 362 370 363 371 ST_ML::~ST_ML() { 364 if (tree_root) { 365 delete tree_root->tree; 366 tree_root->tree = 0; 367 delete tree_root; 368 } 372 delete tree_root; 369 373 free(alignment_name); 370 374 if (hash_2_ap_tree) GBS_free_hash(hash_2_ap_tree); … … 373 377 delete[]inv_base_frequencies; 374 378 delete[]rate_matrices; 375 if (!awt_csp) { 379 if (!awt_csp) { // rates and ttratio have been allocated (see ST_ML::init) 376 380 delete rates; 377 381 delete ttratio; … … 384 388 } 385 389 386 /** Translate characters to base frequencies */387 390 void ST_ML::create_frequencies() { 388 ST_base_vector *out = new ST_base_vector[alignment_len]; 389 int i, j; 390 float **frequency = 0; 391 392 base_frequencies = out; 391 // Translate characters to base frequencies 392 393 base_frequencies = new ST_base_vector[alignment_len]; 393 394 inv_base_frequencies = new ST_base_vector[alignment_len]; 394 395 395 if (awt_csp) 396 frequency = awt_csp->frequency; 397 398 if (!frequency) { 399 for (i = 0; i < alignment_len; i++) { 400 for (j = ST_A; j < ST_MAX_BASE; j++) { 401 out[i].b[j] = 1.0; 396 if (!awt_csp) { 397 for (int i = 0; i < alignment_len; i++) { 398 for (int j = ST_A; j < ST_MAX_BASE; j++) { 399 base_frequencies[i].b[j] = 1.0; 402 400 inv_base_frequencies[i].b[j] = 1.0; 403 401 } 404 out[i].lik= 1.0;402 base_frequencies[i].lik = 1.0; 405 403 inv_base_frequencies[i].lik = 1.0; 406 404 } 407 return; 408 } 409 410 for (i = 0; i < alignment_len; i++) { 411 for (j = ST_A; j < ST_MAX_BASE; j++) { 412 out[i].b[j] = 0.01; // minimal frequency 413 } 414 415 if (frequency['A']) 416 out[i].b[ST_A] += frequency['A'][i]; 417 if (frequency['a']) 418 out[i].b[ST_A] += frequency['a'][i]; 419 420 if (frequency['C']) 421 out[i].b[ST_C] += frequency['C'][i]; 422 if (frequency['c']) 423 out[i].b[ST_C] += frequency['c'][i]; 424 425 if (frequency['G']) 426 out[i].b[ST_G] += frequency['G'][i]; 427 if (frequency['g']) 428 out[i].b[ST_G] += frequency['g'][i]; 429 430 if (frequency['T']) 431 out[i].b[ST_T] += frequency['T'][i]; 432 if (frequency['t']) 433 out[i].b[ST_T] += frequency['t'][i]; 434 if (frequency['U']) 435 out[i].b[ST_T] += frequency['U'][i]; 436 if (frequency['u']) 437 out[i].b[ST_T] += frequency['u'][i]; 438 439 if (frequency['-']) 440 out[i].b[ST_GAP] += frequency['-'][i]; 441 442 double sum = 0.0; 443 444 for (j = ST_A; j < ST_MAX_BASE; j++) 445 sum += out[i].b[j]; 446 for (j = ST_A; j < ST_MAX_BASE; j++) 447 out[i].b[j] += sum * .01; // smoothen frequencies to avoid crazy values 448 double min = out[i].b[ST_A]; 449 for (sum = 0, j = ST_A; j < ST_MAX_BASE; j++) { 450 sum += out[i].b[j]; 451 if (out[i].b[j] < min) 452 min = out[i].b[j]; 453 } 454 for (j = ST_A; j < ST_MAX_BASE; j++) { 455 if (sum > 0.01) { // valid column ?? 456 out[i].b[j] *= ST_MAX_BASE / sum; 457 } else { 458 out[i].b[j] = 1.0; // no 459 } 460 inv_base_frequencies[i].b[j] = min / out[i].b[j]; 461 } 462 out[i].lik = 1.0; 463 inv_base_frequencies[i].lik = 1.0; 464 405 } 406 else { 407 for (int i = 0; i < alignment_len; i++) { 408 for (int j = ST_A; j < ST_MAX_BASE; j++) { 409 base_frequencies[i].b[j] = 0.01; // minimal frequency 410 } 411 412 static struct { 413 unsigned char c; 414 AWT_dna_base b; 415 } toCount[] = { 416 { 'A', ST_A }, { 'a', ST_A }, 417 { 'C', ST_C }, { 'c', ST_C }, 418 { 'G', ST_G }, { 'g', ST_G }, 419 { 'T', ST_T }, { 't', ST_T }, 420 { 'U', ST_T }, { 'u', ST_T }, 421 { '-', ST_GAP }, 422 { 0, ST_UNKNOWN }, 423 }; 424 425 for (int j = 0; toCount[j].c; ++j) { 426 const float *freq = awt_csp->get_frequencies(toCount[j].c); 427 if (freq) base_frequencies[i].b[toCount[j].b] += freq[i]; 428 } 429 430 double sum = 0.0; 431 432 for (int j = ST_A; j < ST_MAX_BASE; j++) sum += base_frequencies[i].b[j]; 433 for (int j = ST_A; j < ST_MAX_BASE; j++) base_frequencies[i].b[j] += sum * .01; // smoothen frequencies to avoid crazy values 434 435 double min = base_frequencies[i].b[ST_A]; 436 sum = 0.0; 437 for (int j = ST_A; j < ST_MAX_BASE; j++) { 438 sum += base_frequencies[i].b[j]; 439 if (base_frequencies[i].b[j] < min) min = base_frequencies[i].b[j]; 440 } 441 for (int j = ST_A; j < ST_MAX_BASE; j++) { 442 if (sum > 0.01) { // valid column ?? 443 base_frequencies[i].b[j] *= ST_MAX_BASE / sum; 444 } 445 else { 446 base_frequencies[i].b[j] = 1.0; // no 447 } 448 inv_base_frequencies[i].b[j] = min / base_frequencies[i].b[j]; 449 } 450 base_frequencies[i].lik = 1.0; 451 inv_base_frequencies[i].lik = 1.0; 452 } 465 453 } 466 454 } … … 470 458 if (node->is_leaf) { 471 459 GBS_write_hash(hash_2_ap_tree, node->name, (long) node); 472 } else { 473 insert_tree_into_hash_rek(node->leftson); 474 insert_tree_into_hash_rek(node->rightson); 460 } 461 else { 462 insert_tree_into_hash_rek(node->get_leftson()); 463 insert_tree_into_hash_rek(node->get_rightson()); 475 464 } 476 465 } … … 497 486 else { 498 487 AP_tree *leaf = (AP_tree *) val; 499 AP_tree *father = leaf-> father;488 AP_tree *father = leaf->get_father(); 500 489 leaf->remove(); 501 490 delete father; // deletes me also … … 508 497 GB_ERROR error = NULL; 509 498 510 if (!tree_root->tree || tree_root->tree->is_leaf) {511 const char *tree_name = tree_root->tree_name;512 499 AP_tree *root = tree_root->get_root_node(); 500 if (!root || root->is_leaf) { 501 const char *tree_name = tree_root->get_tree_name(); 513 502 error = GBS_global_string("Too few species remained in tree '%s'", tree_name); 514 503 } … … 519 508 GB_ERROR ST_ML::init(const char *tree_name, const char *alignment_namei, 520 509 const char *species_names, int marked_only, 521 const char * /*filter_string */, AWT_csp * awt_cspi) { 522 523 GB_transaction ta(gb_main); 510 AWT_csp *awt_cspi, bool show_status) 511 { 524 512 GB_ERROR error = 0; 513 525 514 if (is_inited) { 526 return GB_export_error("Sorry, once you selected a column statistic you cannot change parameters"); 527 } 528 GB_ERROR awt_csp_error = 0; 529 awt_csp = awt_cspi; 530 awt_csp_error = awt_csp->go(); 531 if (awt_csp_error) { 532 fprintf(stderr, "%s\n", awt_csp_error); 533 } 534 alignment_name = strdup(alignment_namei); 535 alignment_len = GBT_get_alignment_len(gb_main, alignment_name); 536 if (alignment_len < 10) { 537 free(alignment_name); 538 return GB_await_error(); 539 } 540 AP_tree *tree = new AP_tree(0); 541 tree_root = new AP_tree_root(gb_main, tree, tree_name); 542 error = tree->load(tree_root, 0, GB_FALSE, GB_FALSE, 0, 0); // tree is not linked !!! 543 if (error) { 544 delete tree; tree = 0; 545 delete tree_root; tree_root = 0; 546 return error; 547 } 548 tree_root->tree = tree; 549 550 // aw_openstatus("Initializing Online Statistic"); 551 /* send species into hash table */ 552 hash_2_ap_tree = GBS_create_hash(1000, GB_MIND_CASE); 553 // aw_status("Loading Tree"); 554 /* delete species */ 555 if (species_names) { // keep names 556 tree_root->tree->remove_leafs(gb_main, AWT_REMOVE_DELETED); 557 558 error = tree_size_ok(tree_root); 559 if (error) return ta.close(error); 560 561 char *l, *n; 562 keep_species_hash = GBS_create_hash(GBT_get_species_hash_size(gb_main), GB_MIND_CASE); 563 for (l = (char *) species_names; l; l = n) { 564 n = strchr(l, 1); 565 if (n) *n = 0; 566 GBS_write_hash(keep_species_hash, l, 1); 567 if (n) *(n++) = 1; 568 } 569 570 insert_tree_into_hash_rek(tree_root->tree); 571 GBS_hash_do_loop(hash_2_ap_tree, delete_species, this); 572 GBS_free_hash(keep_species_hash); 573 keep_species_hash = 0; 574 GBT_link_tree((GBT_TREE *) tree_root->tree, gb_main, GB_FALSE, 0, 0); 575 } 576 else { // keep marked 577 GBT_link_tree((GBT_TREE *) tree_root->tree, gb_main, GB_FALSE, 0, 0); 578 tree_root->tree->remove_leafs(gb_main, (marked_only ? AWT_REMOVE_NOT_MARKED : 0)|AWT_REMOVE_DELETED); 515 error = "Column statistic can't be re-initialized"; 516 } 517 else { 518 GB_transaction ta(gb_main); 519 GB_ERROR awt_csp_error = 0; 520 521 if (show_status) aw_openstatus("Activating column statistic"); 522 523 awt_csp = awt_cspi; 524 awt_csp_error = awt_csp->go(NULL); 525 526 if (awt_csp_error) fprintf(stderr, "%s\n", awt_csp_error); 527 528 alignment_name = strdup(alignment_namei); 529 alignment_len = GBT_get_alignment_len(gb_main, alignment_name); 530 531 if (alignment_len < 10) { 532 error = GB_await_error(); 533 } 534 else { 535 { 536 AP_filter filter(alignment_len); // unfiltered 537 AP_weights weights(&filter); 538 AliView *aliview = new AliView(gb_main, filter, weights, alignment_name); 539 ST_sequence_ml *seq_templ = new ST_sequence_ml(aliview, this); 540 541 tree_root = new AP_tree_root(aliview, AP_tree(0), seq_templ, false); 542 // do not delete 'aliview' or 'seq_templ' (they belong to 'tree_root' now) 543 } 544 545 if (show_status) aw_status("load tree"); 546 tree_root->loadFromDB(tree_name); // tree is not linked! 547 548 if (show_status) aw_status("link tree"); 549 hash_2_ap_tree = GBS_create_hash(1000, GB_MIND_CASE); // send species into hash table 550 551 /* delete species */ 552 if (species_names) { // keep names 553 tree_root->remove_leafs(AWT_REMOVE_DELETED); 554 555 error = tree_size_ok(tree_root); 556 if (!error) { 557 char *l, *n; 558 keep_species_hash = GBS_create_hash(GBT_get_species_hash_size(gb_main), GB_MIND_CASE); 559 for (l = (char *) species_names; l; l = n) { 560 n = strchr(l, 1); 561 if (n) *n = 0; 562 GBS_write_hash(keep_species_hash, l, 1); 563 if (n) *(n++) = 1; 564 } 565 566 insert_tree_into_hash_rek(tree_root->get_root_node()); 567 GBS_hash_do_loop(hash_2_ap_tree, delete_species, this); 568 GBS_free_hash(keep_species_hash); 569 keep_species_hash = 0; 570 GBT_link_tree(tree_root->get_root_node()->get_gbt_tree(), gb_main, GB_BOOL(show_status), 0, 0); 571 } 572 } 573 else { // keep marked 574 GBT_link_tree(tree_root->get_root_node()->get_gbt_tree(), gb_main, GB_BOOL(show_status), 0, 0); 575 tree_root->remove_leafs((marked_only ? AWT_REMOVE_NOT_MARKED : 0)|AWT_REMOVE_DELETED); 579 576 580 error = tree_size_ok(tree_root); 581 if (error) return ta.close(error); 582 583 insert_tree_into_hash_rek(tree_root->tree); 584 } 585 586 /* calc frequencies */ 587 588 if (!awt_csp_error) { 589 rates = awt_csp->rates; 590 ttratio = awt_csp->ttratio; 591 } 592 else { 593 rates = new float[alignment_len]; 594 ttratio = new float[alignment_len]; 595 for (int i = 0; i < alignment_len; i++) { 596 rates[i] = 1.0; 597 ttratio[i] = 2.0; 598 } 599 awt_csp = 0; 600 } 601 // aw_status("build frequencies"); 602 create_frequencies(); 603 604 /* set update time */ 605 606 latest_modification = GB_read_clock(gb_main); 607 608 /* load sequences */ 609 // aw_status("load sequences"); 610 tree_root->sequence_template = new ST_sequence_ml(tree_root, this); 611 tree_root->tree->load_sequences_rek(alignment_name, GB_TRUE, GB_TRUE); 612 613 /* create matrices */ 614 create_matrices(2.0, 1000); 615 616 ST_sequence_ml::tmp_out = new ST_base_vector[alignment_len]; 617 is_inited = 1; 618 // aw_closestatus(); 619 return 0; 577 error = tree_size_ok(tree_root); 578 if (!error) insert_tree_into_hash_rek(tree_root->get_root_node()); 579 } 580 581 if (!error) { 582 /* calc frequencies */ 583 if (show_status) aw_status("calculating frequencies"); 584 585 if (!awt_csp_error) { 586 rates = awt_csp->get_rates(); 587 ttratio = awt_csp->get_ttratio(); 588 } 589 else { 590 float *alloc_rates = new float[alignment_len]; 591 float *alloc_ttratio = new float[alignment_len]; 592 593 for (int i = 0; i < alignment_len; i++) { 594 alloc_rates[i] = 1.0; 595 alloc_ttratio[i] = 2.0; 596 } 597 rates = alloc_rates; 598 ttratio = alloc_ttratio; 599 600 awt_csp = 0; // mark rates and ttratio as "allocated" 601 } 602 create_frequencies(); 603 604 /* set update time */ 605 606 latest_modification = GB_read_clock(gb_main); 607 608 /* create matrices */ 609 create_matrices(2.0, 1000); 610 611 ST_sequence_ml::tmp_out = new ST_base_vector[alignment_len]; 612 is_inited = 1; 613 } 614 if (error) { 615 delete tree_root; tree_root = NULL; 616 GBS_free_hash(hash_2_ap_tree); hash_2_ap_tree = NULL; 617 } 618 } 619 620 if (error) { 621 free(alignment_name); 622 error = ta.close(error); 623 } 624 625 if (show_status) aw_closestatus(); 626 } 627 return error; 628 } 629 630 ST_sequence_ml *ST_ML::getOrCreate_seq(AP_tree *node) { 631 ST_sequence_ml *seq = DOWNCAST(ST_sequence_ml*, node->get_seq()); 632 if (!seq) { 633 seq = new ST_sequence_ml(tree_root->get_aliview(), this); // @@@ why not use dup() ? 634 635 node->set_seq(seq); 636 if (node->is_leaf) { 637 st_assert(node->gb_node); 638 seq->bind_to_species(node->gb_node); 639 } 640 } 641 return seq; 620 642 } 621 643 622 644 /** go through the tree and calculate the ST_base_vector from bottom to top */ 623 645 ST_sequence_ml *ST_ML::do_tree(AP_tree * node) { 624 ST_sequence_ml *seq = static_cast<ST_sequence_ml*>(node->sequence); 625 if (!seq) { 626 seq = new ST_sequence_ml(tree_root, this); 627 node->sequence = (AP_sequence *) seq; 628 } 629 630 if (seq->last_updated) 631 return seq; // already valid !!! 632 633 if (node->is_leaf) { 634 seq->set_sequence(); 635 } else { 636 ST_sequence_ml *ls = do_tree(node->leftson); 637 ST_sequence_ml *rs = do_tree(node->rightson); 638 seq->go(ls, node->leftlen, rs, node->rightlen); 639 } 640 seq->last_updated = 1; 646 ST_sequence_ml *seq = getOrCreate_seq(node); 647 if (!seq->last_updated) { 648 if (node->is_leaf) { 649 seq->set_sequence(); 650 } 651 else { 652 ST_sequence_ml *ls = do_tree(node->get_leftson()); 653 ST_sequence_ml *rs = do_tree(node->get_rightson()); 654 seq->go(ls, node->leftlen, rs, node->rightlen); 655 } 656 657 seq->last_updated = 1; 658 } 659 641 660 return seq; 642 661 } … … 644 663 void ST_ML::clear_all() { 645 664 GB_transaction dummy(gb_main); 646 undo_tree(tree_root-> tree);665 undo_tree(tree_root->get_root_node()); 647 666 latest_modification = GB_read_clock(gb_main); 648 667 } 649 668 650 669 void ST_ML::undo_tree(AP_tree * node) { 651 ST_sequence_ml *seq = static_cast<ST_sequence_ml*>(node->sequence); 652 if (!seq) { 653 seq = new ST_sequence_ml(tree_root, this); 654 node->sequence = (AP_sequence *) seq; 655 } 670 ST_sequence_ml *seq = getOrCreate_seq(node); 656 671 seq->ungo(); 657 672 if (!node->is_leaf) { 658 undo_tree(node-> leftson);659 undo_tree(node-> rightson);673 undo_tree(node->get_leftson()); 674 undo_tree(node->get_rightson()); 660 675 } 661 676 } … … 677 692 st_assert((end_ali_pos - start_ali_pos + 1) <= ST_MAX_SEQ_PART); 678 693 679 ST_sequence_ml *seq = (ST_sequence_ml *) node->sequence;694 ST_sequence_ml *seq = getOrCreate_seq(node); 680 695 681 696 if (start_ali_pos != base || end_ali_pos > to) { 682 undo_tree(tree_root-> tree); // undo everything697 undo_tree(tree_root->get_root_node()); // undo everything 683 698 base = start_ali_pos; 684 699 to = end_ali_pos; … … 686 701 687 702 AP_tree *pntr; 688 for (pntr = node->father; pntr; pntr = pntr->father) { 689 ST_sequence_ml *sequ = (ST_sequence_ml *) pntr->sequence; 690 if (sequ) 691 sequ->ungo(); 703 for (pntr = node->get_father(); pntr; pntr = pntr->get_father()) { 704 ST_sequence_ml *sequ = getOrCreate_seq(pntr); 705 if (sequ) sequ->ungo(); 692 706 } 693 707 … … 695 709 696 710 // get the sequence of my brother 697 AP_tree *brother = node->brother();711 AP_tree *brother = node->get_brother(); 698 712 ST_sequence_ml *seq_of_brother = do_tree(brother); 699 713 700 seq->calc_out(seq_of_brother, node->father->leftlen 701 + node->father->rightlen); 714 seq->calc_out(seq_of_brother, node->father->leftlen + node->father->rightlen); 702 715 return seq; 703 716 } … … 743 756 } 744 757 745 ST_sequence_ml *seq = (ST_sequence_ml *) node->sequence;758 ST_sequence_ml *seq = getOrCreate_seq(node); 746 759 747 760 for (int pos = 0; pos < alignment_len; pos++) { … … 769 782 ST_ML_Color *ST_ML::get_color_string(char *species_name, AP_tree * node, 770 783 int start_ali_pos, int end_ali_pos) 771 // (Re-)Calculates the color string of a given node for sequence positions start_ali_pos..end_ali_pos772 784 { 773 774 // if node isn't given search it using species name: 785 // (Re-)Calculates the color string of a given node for sequence positions start_ali_pos..end_ali_pos 775 786 if (!node) { 776 if (!hash_2_ap_tree)777 return 0;787 // if node isn't given, search it using species name: 788 if (!hash_2_ap_tree) return 0; 778 789 node = (AP_tree *) GBS_read_hash(hash_2_ap_tree, species_name); 779 if (!node) 780 return 0;781 } 790 if (!node) return 0; 791 } 792 782 793 // align start_ali_pos/end_ali_pos to previous/next pos divisible by ST_BUCKET_SIZE: 783 794 start_ali_pos &= ~(ST_BUCKET_SIZE - 1); 784 end_ali_pos = (end_ali_pos & ~(ST_BUCKET_SIZE - 1)) + ST_BUCKET_SIZE - 1;785 if (end_ali_pos > alignment_len)786 end_ali_pos = alignment_len;795 end_ali_pos = (end_ali_pos & ~(ST_BUCKET_SIZE - 1)) + ST_BUCKET_SIZE - 1; 796 797 if (end_ali_pos > alignment_len) end_ali_pos = alignment_len; 787 798 788 799 double val; 789 ST_sequence_ml *seq = (ST_sequence_ml *) node->sequence;800 ST_sequence_ml *seq = getOrCreate_seq(node); 790 801 int pos; 791 802 … … 820 831 int source_sequence_len = 0; 821 832 822 if (seq->gb_data) { 823 source_sequence_len = GB_read_string_count(seq->gb_data); 824 source_sequence = GB_read_char_pntr(seq->gb_data); 833 GBDATA *gb_data = seq->get_bound_species_data(); 834 if (gb_data) { 835 source_sequence_len = GB_read_string_count(gb_data); 836 source_sequence = GB_read_char_pntr(gb_data); 825 837 } 826 838 // create color string in 'outs': … … 860 872 return seq->color_out; 861 873 } 874 -
trunk/STAT/ST_quality.cxx
r6141 r6280 10 10 #include <aw_awars.hxx> 11 11 #include <BI_helix.hxx> 12 #include <AP_filter.hxx> 12 13 13 14 #include <aw_root.hxx> 14 #include <awt_tree.hxx>15 15 #include <awt_csp.hxx> 16 16 #include "st_ml.hxx" … … 91 91 92 92 void st_ml_add_sequence_part_to_stat(ST_ML * st_ml, AWT_csp * /*awt_csp */, 93 const char *species_name, int seq_len, int bucket_size,94 GB_HASH * species_to_info_hash, int start, int end) {95 93 const char *species_name, int seq_len, int bucket_size, 94 GB_HASH * species_to_info_hash, int start, int end) 95 { 96 96 AP_tree *node = st_ml_convert_species_name_to_node(st_ml, species_name); 97 if (!node) 98 return; 99 ST_sequence_ml *sml = st_ml->get_ml_vectors(0, node, start, end); 100 if (!sml) 101 return; // no statistic available 102 st_cq_info *info; 103 if (start > 0) { 104 info = (st_cq_info *) GBS_read_hash(species_to_info_hash, species_name); 105 } else { 106 info = new st_cq_info(seq_len, bucket_size); 107 GBS_write_hash(species_to_info_hash, species_name, long (info)); 108 } 109 int pos; 110 const char *source_sequence = 0; 111 int source_sequence_len = 0; 112 113 if (sml->gb_data) { 114 source_sequence_len = GB_read_string_count(sml->gb_data); 115 source_sequence = GB_read_char_pntr(sml->gb_data); 116 } 117 if (end > source_sequence_len) { 118 end = source_sequence_len; 119 } 120 121 ST_base_vector *vec = sml->tmp_out + start; 122 for (pos = start; pos < end; vec++, pos++) { 123 double max = 0; 124 double v; 125 int b; 97 if (node) { 98 ST_sequence_ml *sml = st_ml->get_ml_vectors(0, node, start, end); 99 if (sml) { 100 st_cq_info *info; 101 if (start > 0) { 102 info = (st_cq_info *) GBS_read_hash(species_to_info_hash, species_name); 103 } 104 else { 105 info = new st_cq_info(seq_len, bucket_size); 106 GBS_write_hash(species_to_info_hash, species_name, long (info)); 107 } 108 109 int pos; 110 const char *source_sequence = 0; 111 int source_sequence_len = 0; 112 113 // if (sml->gb_data) { 114 GBDATA *gb_data = sml->get_bound_species_data(); 115 if (gb_data) { 116 source_sequence_len = GB_read_string_count(gb_data); 117 source_sequence = GB_read_char_pntr(gb_data); 118 } 119 if (end > source_sequence_len) { 120 end = source_sequence_len; 121 } 122 123 ST_base_vector *vec = sml->tmp_out + start; 124 for (pos = start; pos < end; vec++, pos++) { 125 double max = 0; 126 double v; 127 int b; 126 128 127 for (b = ST_A; b < ST_MAX_BASE; b++) { 128 v = vec->b[b]; 129 if (v > max) 130 max = v; 131 } 132 AWT_dna_base base = awt_dna_table.char_to_enum(source_sequence[pos]); 133 if (base != ST_UNKNOWN && base != ST_GAP) { // don't count gaps 134 double val = max / (0.0001 + vec->b[base]); 135 double log_val = log(val); 136 info->ss2.add(pos * 2 / seq_len, log_val); 137 info->ss5.add(pos * 5 / seq_len, log_val); 138 info->ssu.add(pos * info->ssu.size / seq_len, log_val); 129 for (b = ST_A; b < ST_MAX_BASE; b++) { 130 v = vec->b[b]; 131 if (v > max) 132 max = v; 133 } 134 AWT_dna_base base = awt_dna_table.char_to_enum(source_sequence[pos]); 135 if (base != ST_UNKNOWN && base != ST_GAP) { // don't count gaps 136 double val = max / (0.0001 + vec->b[base]); 137 double log_val = log(val); 138 info->ss2.add(pos * 2 / seq_len, log_val); 139 info->ss5.add(pos * 5 / seq_len, log_val); 140 info->ssu.add(pos * info->ssu.size / seq_len, log_val); 141 } 142 } 139 143 } 140 144 } … … 193 197 194 198 GB_ERROR st_ml_check_sequence_quality(GBDATA * gb_main, const char *tree_name, 195 const char *alignment_name, AWT_csp * awt_csp, int bucket_size, 196 int marked_only, st_report_enum report, const char *filter_string, 197 const char *dest_field) { 198 AP_filter filter; 199 int seq_len = GBT_get_alignment_len(gb_main, alignment_name); 200 filter.init(filter_string, "0 ", seq_len); 201 ST_ML st_ml(gb_main); 202 GB_ERROR error = st_ml.init(tree_name, alignment_name, 0, marked_only, 203 filter_string, awt_csp); 204 if (error) { 205 return error; 206 } 207 208 GB_HASH *species_to_info_hash = GBS_create_hash(GBT_get_species_count(gb_main), GB_IGNORE_CASE); 209 GB_CSTR *snames = GBT_get_species_names_of_tree((GBT_TREE *) st_ml.tree_root->tree); 210 211 int pos; 212 aw_openstatus("Sequence Quality Check"); 213 for (pos = 0; pos < seq_len; pos += ST_MAX_SEQ_PART) { 214 int end = pos + ST_MAX_SEQ_PART - 1; 215 if (end > seq_len) 216 end = seq_len; 217 if (aw_status(pos / double (seq_len))) { 218 return "aborted"; 219 } 199 const char *alignment_name, AWT_csp * awt_csp, int bucket_size, 200 int marked_only, st_report_enum report, const char *dest_field) 201 { 202 int seq_len = GBT_get_alignment_len(gb_main, alignment_name); 203 ST_ML st_ml(gb_main); 204 GB_ERROR error = st_ml.init(tree_name, alignment_name, 0, marked_only, awt_csp, true); 205 206 if (!error) { 207 GB_HASH *species_to_info_hash = GBS_create_hash(GBT_get_species_count(gb_main), GB_IGNORE_CASE); 208 GB_CSTR *snames = GBT_get_species_names_of_tree(st_ml.tree_root->get_root_node()->get_gbt_tree()); 209 210 int pos; 211 aw_openstatus("Sequence Quality Check"); 212 for (pos = 0; pos < seq_len; pos += ST_MAX_SEQ_PART) { 213 int end = pos + ST_MAX_SEQ_PART - 1; 214 if (end > seq_len) 215 end = seq_len; 216 if (aw_status(pos / double (seq_len))) { 217 return "aborted"; 218 } 219 const char **pspecies_name; 220 for (pspecies_name = snames; *pspecies_name; pspecies_name++) { 221 st_ml_add_sequence_part_to_stat(&st_ml, awt_csp, *pspecies_name, 222 seq_len, bucket_size, species_to_info_hash, pos, end); 223 } 224 } 225 aw_status("Generating Result String"); 220 226 const char **pspecies_name; 221 227 for (pspecies_name = snames; *pspecies_name; pspecies_name++) { 222 st_ml_add_sequence_part_to_stat(&st_ml, awt_csp, *pspecies_name, 223 seq_len, bucket_size, species_to_info_hash, pos, end); 224 } 225 } 226 aw_status("Generating Result String"); 227 const char **pspecies_name; 228 for (pspecies_name = snames; *pspecies_name; pspecies_name++) { 229 st_ml_add_quality_string_to_species(gb_main, alignment_name, 230 *pspecies_name, seq_len, bucket_size, species_to_info_hash, 231 report, dest_field); 232 } 233 aw_closestatus(); 234 free(snames); 235 GBS_free_hash(species_to_info_hash); 236 return NULL; 237 } 228 st_ml_add_quality_string_to_species(gb_main, alignment_name, 229 *pspecies_name, seq_len, bucket_size, species_to_info_hash, 230 report, dest_field); 231 } 232 aw_closestatus(); 233 234 free(snames); 235 GBS_free_hash(species_to_info_hash); 236 } 237 238 return error; 239 } -
trunk/STAT/ST_window.cxx
r5953 r6280 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <arbdb.h> 4 #include <arbdbt.h> 5 #include <aw_root.hxx> 6 #include <aw_window.hxx> 1 // ================================================================ // 2 // // 3 // File : ST_window.cxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // ================================================================ // 10 11 #include "st_window.hxx" 12 #include "st_ml.hxx" 13 7 14 #include <aw_awars.hxx> 8 15 #include <awt.hxx> 9 #include <awt_ tree.hxx>16 #include <awt_item_sel_list.hxx> 10 17 #include <awt_csp.hxx> 11 #include <awt_item_sel_list.hxx> 12 #include <awt_sel_boxes.hxx> 13 #include "st_window.hxx" 14 #include "st_ml.hxx" 15 #include "st_quality.hxx" 18 #include <awt_filter.hxx> 16 19 17 20 void st_ok_cb(AW_window *aww, ST_ML *st_ml) { … … 22 25 23 26 GB_ERROR error = GB_push_transaction(st_ml->gb_main); 24 if (!error) error = st_ml->init(tree_name, alignment_name, (char *) 0, marked_only, (char *) 0, st_ml->awt_csp);27 if (!error) error = st_ml->init(tree_name, alignment_name, NULL, marked_only, st_ml->awt_csp, true); 25 28 if (!error && st_ml->refresh_func) st_ml->refresh_func(st_ml->aw_window); 26 29 … … 34 37 AW_window *st_create_main_window(AW_root * root, ST_ML * st_ml, AW_CB0 refresh_func, AW_window * win) { 35 38 AW_window_simple *aws = new AW_window_simple; 36 aws->init(root, " ENABLE_ONLINE_STATISTIC", "ACTIVATE ONLINESTATISTIC");39 aws->init(root, "COLUMN_STATISTIC", "COLUMN STATISTIC"); 37 40 38 41 aws->load_xfig("stat_main.fig"); … … 107 110 108 111 void st_check_cb(AW_window * aww, GBDATA * gb_main, AWT_csp * awt_csp) { 109 GB_begin_transaction(gb_main); 112 GB_transaction ta(gb_main); 113 110 114 AW_root *r = aww->get_root(); 115 111 116 char *alignment_name = r->awar(ST_ML_AWAR_ALIGNMENT)->read_string(); 112 int bucket_size= r->awar(ST_ML_AWAR_CQ_BUCKET_SIZE)->read_int();113 char *tree_name = r->awar(AWAR_TREE)->read_string();114 char *dest_field = r->awar(ST_ML_AWAR_CQ_DEST_FIELD)->read_string();115 int marked_only= r->awar(ST_ML_AWAR_CQ_MARKED_ONLY)->read_int();116 char *filter_string = r->awar(ST_ML_AWAR_CQ_FILTER_FILTER)->read_string();117 int bucket_size = r->awar(ST_ML_AWAR_CQ_BUCKET_SIZE)->read_int(); 118 char *tree_name = r->awar(AWAR_TREE)->read_string(); 119 char *dest_field = r->awar(ST_ML_AWAR_CQ_DEST_FIELD)->read_string(); 120 int marked_only = r->awar(ST_ML_AWAR_CQ_MARKED_ONLY)->read_int(); 121 117 122 st_report_enum report = (st_report_enum) r->awar(ST_ML_AWAR_CQ_REPORT)->read_int(); 118 GB_ERROR error = st_ml_check_sequence_quality(gb_main, tree_name, 119 alignment_name, awt_csp, bucket_size, marked_only, report, 120 filter_string, dest_field); 121 free(filter_string); 123 GB_ERROR error = st_ml_check_sequence_quality(gb_main, tree_name, alignment_name, 124 awt_csp, bucket_size, marked_only, 125 report, dest_field); 122 126 free(dest_field); 123 127 free(alignment_name); 124 128 free(tree_name); 125 if (error) { 126 aw_message(error); 127 GB_abort_transaction(gb_main); 128 } else { 129 GB_commit_transaction(gb_main); 130 } 129 130 error = ta.close(error); 131 if (error) aw_message(error); 131 132 } 132 133 … … 159 160 root->awar_int(ST_ML_AWAR_CQ_REPORT, 0); 160 161 161 root->awar_string(ST_ML_AWAR_CQ_FILTER_NAME, "ECOLI");162 root->awar_string(ST_ML_AWAR_CQ_FILTER_ALIGNMENT);163 root->awar_string(ST_ML_AWAR_CQ_FILTER_FILTER);164 165 162 root->awar_string(ST_ML_AWAR_ALIGNMENT)->map(AWAR_DEFAULT_ALIGNMENT); 166 root->awar_string(ST_ML_AWAR_CQ_FILTER_ALIGNMENT)->167 map(AWAR_DEFAULT_ALIGNMENT);168 163 169 164 awt_csp = new AWT_csp(gb_main, root, ST_ML_AWAR_CSP); 170 //AW_CL filter_cl =171 awt_create_select_filter(root, gb_main, ST_ML_AWAR_CQ_FILTER_NAME);172 165 173 166 aws->at("which"); -
trunk/STAT/st_ml.hxx
r6141 r6280 1 // =============================================================== // 2 // // 3 // File : st_ml.hxx // 4 // Purpose : // 5 // // 6 // Institute of Microbiology (Technical University Munich) // 7 // http://www.arb-home.de/ // 8 // // 9 // =============================================================== // 10 11 #ifndef ST_ML_HXX 12 #define ST_ML_HXX 13 14 #ifndef AP_SEQUENCE_HXX 15 #include <AP_sequence.hxx> 16 #endif 17 #ifndef AP_TREE_HXX 18 #include <AP_Tree.hxx> 19 #endif 20 21 1 22 #ifndef ARB_ASSERT_H 2 23 #include <arb_assert.h> 3 24 #endif 25 4 26 #define st_assert(bed) arb_assert(bed) 5 27 … … 55 77 56 78 /** Note: Because we have only limited memory we split the 57 sequence into ST_MAX_SEQ_PART long parts */ 58 class ST_sequence_ml : private AP_sequence { 79 sequence into ST_MAX_SEQ_PART long parts */ 80 81 82 class ST_sequence_ml : public AP_sequence { 59 83 friend class ST_ML; 84 85 AP_FLOAT count_weighted_bases() const; 86 60 87 public: 61 88 62 GBDATA *gb_data; // the sequence63 89 static ST_base_vector *tmp_out; // len = alignment length 64 90 65 91 protected: 66 92 67 ST_ML *st_ml; // link to a global ST object 68 ST_base_vector *sequence; // A part of the sequence 69 int last_updated; 70 ST_ML_Color *color_out; 71 int *color_out_valid_till; // color_out is valid up to 93 ST_ML *st_ml; // link to a global ST object 94 ST_base_vector *sequence; // A part of the sequence 95 int last_updated; 96 ST_ML_Color *color_out; 97 int *color_out_valid_till; // color_out is valid up to 98 99 void set(const char *sequence); 100 void unset(); 72 101 73 102 public: 74 void delete_sequence(); // remove link to database 75 void sequence_change(); // sequence has changed in db 76 AP_FLOAT combine(const AP_sequence* lefts, const AP_sequence *rights); 103 104 ST_sequence_ml(const AliView *aliview, ST_ML *st_ml_); 105 virtual ~ST_sequence_ml(); 106 107 AP_sequence *dup(void) const; 108 AP_FLOAT combine(const AP_sequence* lefts, const AP_sequence *rights, char *mutation_per_site = 0); 77 109 void partial_match(const AP_sequence* part, long *overlap, long *penalty) const; 78 ST_sequence_ml(AP_tree_root *rooti, ST_ML *st_ml);79 ~ST_sequence_ml();80 AP_sequence *dup(void);81 110 82 void set(const char *sequence); 83 void set_gb(GBDATA *gbd); 111 GB_ERROR bind_to_species(GBDATA *gb_species); 112 void unbind_from_species(bool remove_callbacks); 113 GBDATA *get_bound_species_data() const { return AP_sequence::get_bound_species_data(); } 84 114 85 void set_sequence(); // start at st_ml->base 115 void sequence_change(); // sequence has changed in db 116 void set_sequence(); // start at st_ml->base 86 117 87 void go(const ST_sequence_ml *lefts, double leftl, 88 const ST_sequence_ml *rights, double rightl); 118 void go(const ST_sequence_ml *lefts, double leftl, const ST_sequence_ml *rights, double rightl); 89 119 void ungo(); // undo go 90 120 … … 97 127 98 128 class ST_ML { 99 char *alignment_name; 100 friend AP_tree *st_ml_convert_species_name_to_node(ST_ML *st_ml, 101 const char *species_name); 102 GB_HASH *hash_2_ap_tree; // hash table to get from name to tree_node 103 GB_HASH *keep_species_hash; // temporary hash to find 104 int refresh_n; 105 int *not_valid; // which columns are valid 129 friend AP_tree *st_ml_convert_species_name_to_node(ST_ML *st_ml, const char *species_name); 130 131 char *alignment_name; 132 GB_HASH *hash_2_ap_tree; // hash table to get from name to tree_node 133 GB_HASH *keep_species_hash; // temporary hash to find 134 int refresh_n; 135 int *not_valid; // which columns are valid 136 137 ST_sequence_ml *getOrCreate_seq(AP_tree *node); 106 138 107 139 ST_sequence_ml *do_tree(AP_tree *node); 108 void undo_tree(AP_tree *node); //opposite of do_tree 109 void insert_tree_into_hash_rek(AP_tree *node); 110 void create_matrices(double max_disti, int nmatrices); 111 void create_frequencies(); 112 static long delete_species(const char *key, long val, void *cd_st_ml); 140 void undo_tree(AP_tree *node); //opposite of do_tree 141 void insert_tree_into_hash_rek(AP_tree *node); 142 void create_matrices(double max_disti, int nmatrices); 143 void create_frequencies(); 144 static long delete_species(const char *key, long val, void *cd_st_ml); 145 113 146 public: 114 147 AP_tree_root *tree_root; 115 int latest_modification;// last mod;116 int base;117 int to;118 AW_CB0 refresh_func;119 AW_window *aw_window;148 int latest_modification; // last mod; 149 int base; 150 int to; 151 AW_CB0 refresh_func; 152 AW_window *aw_window; 120 153 121 GBDATA *gb_main; 122 float *ttratio; // column independent 123 ST_base_vector *base_frequencies; // column independent 124 ST_base_vector *inv_base_frequencies; // column independent 125 float *rates; // column independent 126 double max_dist; // max_dist for rate_matrices 127 double step_size; // max_dist/step_size matrices 128 int max_matr; 129 ST_rate_matrix *rate_matrices; // for each distance a new matrix 130 long alignment_len; 131 AWT_csp *awt_csp; 154 GBDATA *gb_main; 155 const float *ttratio; // column independent 156 ST_base_vector *base_frequencies; // column independent 157 ST_base_vector *inv_base_frequencies; // column independent 158 const float *rates; // column independent 159 double max_dist; // max_dist for rate_matrices 160 double step_size; // max_dist/step_size matrices 161 int max_matr; 162 ST_rate_matrix *rate_matrices; // for each distance a new matrix 163 long alignment_len; 164 AWT_csp *awt_csp; 165 132 166 void set_modified(int *what = 0); 133 void set_refresh(); // set flag for refresh167 void set_refresh(); // set flag for refresh 134 168 135 169 ~ST_ML(); … … 138 172 int is_inited; 139 173 140 GB_ERROR init(const char *tree_name, const char *alignment_name, 141 const char *species_names, int marked_only, 142 const char *filter_string, AWT_csp *awt_csp); 143 // species_names is 0 -> all [marked] species (else species_names is a (char)1 separated list of species) 144 // filter_string==0 -> no filter 174 GB_ERROR init(const char *tree_name, 175 const char *alignment_name, 176 const char *species_names, // 0 -> all [marked] species (else species_names is a (char)1 separated list of species) 177 int marked_only, 178 AWT_csp *awt_csp, 179 bool show_status) __ATTR__USERESULT; 145 180 146 void clear_all(); // delete all caches181 void clear_all(); // delete all caches 147 182 183 ST_sequence_ml *get_ml_vectors(char *species_name, AP_tree *node, int start_ali_pos, int end_ali_pos); 184 ST_ML_Color *get_color_string(char *species_name, AP_tree *node, int start_ali_pos, int end_ali_pos); 148 185 149 ST_sequence_ml *get_ml_vectors(char *species_name, AP_tree *node, 150 int start_ali_pos, int end_ali_pos); 151 ST_ML_Color *get_color_string(char *species_name, AP_tree *node, 152 int start_ali_pos, int end_ali_pos); 153 154 int update_ml_likelihood(char *result[4], int *latest_update, 155 char *species_name, AP_tree *node); 186 int update_ml_likelihood(char *result[4], int *latest_update, char *species_name, AP_tree *node); 156 187 157 188 int refresh_needed(); 158 189 }; 190 191 #else 192 #error st_ml.hxx included twice 193 #endif // ST_ML_HXX -
trunk/STAT/st_window.hxx
r5968 r6280 12 12 #define ST_WINDOW_HXX 13 13 14 #ifndef ARBDBT_H 15 #include <arbdbt.h> 16 #endif 17 #ifndef AW_WINDOW_HXX 18 #include <aw_window.hxx> 19 #endif 14 20 15 21 #define ST_ML_AWAR "tmp/st_ml/" … … 18 24 #define ST_ML_AWAR_CQ_BUCKET_SIZE ST_ML_AWAR "bucket_size" 19 25 20 #define ST_ML_AWAR_CQ_FILTER_NAME ST_ML_AWAR "filter/name"21 #define ST_ML_AWAR_CQ_FILTER_ALIGNMENT ST_ML_AWAR "filter/alignment"22 #define ST_ML_AWAR_CQ_FILTER_FILTER ST_ML_AWAR "filter/filter"23 26 #define ST_ML_AWAR_CQ_MARKED_ONLY ST_ML_AWAR "marked_only" 24 27 #define ST_ML_AWAR_CQ_DEST_FIELD ST_ML_AWAR "dest_field" … … 53 56 GB_ERROR st_ml_check_sequence_quality(GBDATA * gb_main, const char *tree_name, 54 57 const char *alignment_name, AWT_csp * awt_csp, int bucket_size, 55 int marked_only, st_report_enum report, const char *filter_string, 56 const char *dest_field); 58 int marked_only, st_report_enum report, const char *dest_field); 57 59 58 60 -
trunk/WINDOW/AW_window.cxx
r6223 r6280 1379 1379 1380 1380 static int aw_status_dummy2(const char *val) { 1381 return aw_status( (char *)val);1381 return aw_status(val); 1382 1382 } 1383 1383 -
trunk/lib/pictures/di_ge_ma.fig
r6141 r6280 8 8 -2 9 9 1200 2 10 6 12825 7245 13905 7875 11 4 0 -1 0 0 18 12 0.0000 4 135 1125 12825 7380 No. of trees:\001 12 4 0 -1 0 0 18 12 0.0000 4 165 705 12825 7830 $bcount\001 13 -6 14 6 12645 1530 13815 2205 15 4 2 -1 0 0 18 12 0.0000 4 180 1155 13815 2160 $mark_upper\001 16 4 2 -1 0 0 18 12 0.0000 4 180 1155 13815 1710 $mark_lower\001 17 -6 18 6 8145 2430 14490 4050 19 2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2 20 8175 4020 14475 4020 21 4 0 -1 0 0 18 12 0.0000 4 135 1620 8175 2595 Trees in Database\001 22 4 0 -1 0 0 18 12 0.0000 4 180 840 9975 2745 $tree_list\001 23 4 2 -1 0 0 18 12 0.0000 4 180 1260 14310 3870 $to:X:tree_list\001 24 -6 25 6 8145 4275 14490 6165 26 2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2 27 8175 6150 14475 6150 28 4 0 -1 0 0 18 12 0.0000 4 165 900 8175 4575 $calculate\001 29 4 0 -1 0 0 18 12 0.0000 4 180 1215 12825 4425 $view_matrix\001 30 4 0 -1 0 0 18 12 0.0000 4 180 975 10425 4575 $compress\001 31 4 0 -1 0 0 18 13 0.0000 4 210 1350 12825 4875 $save_matrix\001 32 4 0 -1 0 0 18 13 0.0000 4 210 1560 8175 5850 $use_sort_tree\001 33 4 0 -1 0 0 18 13 0.0000 4 210 1800 8175 5400 $use_compr_tree\001 34 4 0 -1 0 0 18 12 0.0000 4 180 1710 11100 5400 $compr_tree_name\001 35 4 0 -1 0 0 18 12 0.0000 4 180 1515 11100 5850 $sort_tree_name\001 36 4 2 -1 0 0 18 12 0.0000 4 180 2130 14325 5550 $to:X:compr_tree_name\001 37 4 2 -1 0 0 18 12 0.0000 4 180 1935 14325 6000 $to:X:sort_tree_name\001 10 6 12285 1530 13680 2205 11 4 0 -1 0 0 18 12 0.0000 4 225 1365 12285 2160 $mark_upper\001 12 4 0 -1 0 0 18 12 0.0000 4 225 1305 12285 1710 $mark_lower\001 38 13 -6 39 14 2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 0 0 1 … … 44 19 1275 5700 7500 5700 45 20 2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2 46 7800 1500 7800 796521 7800 1500 7800 9045 47 22 2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2 48 8175 2295 14475 2295 23 8175 5190 14760 5190 24 2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2 25 8175 7320 14760 7320 49 26 2 1 0 1 -1 -1 0 0 -1 0.000 0 0 -1 0 0 1 50 14625 8010 51 4 0 -1 0 0 18 12 0.0000 4 165 570 1200 1125 $close\001 52 4 2 -1 0 0 18 12 0.0000 4 180 465 14475 1125 $help\001 53 4 0 -1 0 0 18 12 0.0000 4 180 1170 3975 3675 $filter_select\001 54 4 0 -1 0 0 18 12 0.0000 4 180 1455 3975 4275 $weights_select\001 55 4 0 -1 0 0 18 13 0.0000 4 210 1515 3975 4875 $which_cancel\001 56 4 0 -1 0 0 18 12 0.0000 4 135 2565 1275 5400 User defined distance matrix\001 57 4 0 -1 0 0 18 12 0.0000 4 180 1410 3975 5475 $change_matrix\001 58 4 2 -1 0 0 18 12 0.0000 4 180 1650 5700 5475 $to:change_matrix\001 59 4 0 -1 0 0 18 12 0.0000 4 135 570 6000 5400 enable\001 60 4 0 -1 0 0 18 12 0.0000 4 135 1395 1275 4800 Exclude Column\001 61 4 0 -1 0 0 18 12 0.0000 4 180 1845 1275 4200 Weights/Rates/GC ...\001 62 4 0 -1 0 0 18 12 0.0000 4 135 450 1275 3600 Filter\001 63 4 0 -1 0 0 18 12 0.0000 4 165 1065 3975 6750 $autodetect\001 64 4 0 -1 0 0 18 12 0.0000 4 135 915 1275 6150 Correction\001 65 4 0 -1 0 0 18 12 0.0000 4 180 1635 3975 6225 $which_correction\001 66 4 0 -1 0 0 18 12 0.0000 4 180 1275 1275 1800 Which Species\001 67 4 2 -1 0 0 18 12 0.0000 4 180 1650 7575 6225 $correction_select\001 68 4 2 -1 0 0 18 12 0.0000 4 180 1410 7575 3675 $to:filter_select\001 69 4 2 -1 0 0 18 12 0.0000 4 180 1695 7575 4275 $to:weights_select\001 70 4 2 -1 0 0 18 12 0.0000 4 180 1320 7575 4875 $cancel_select\001 71 4 0 -1 0 0 18 12 0.0000 4 165 675 6825 5475 $enable\001 72 4 0 -1 0 0 18 12 0.0000 4 180 1410 1500 2325 $which_species\001 73 4 0 -1 0 0 18 12 0.0000 4 180 870 3150 1800 Alignment\001 74 4 0 -1 0 0 18 12 0.0000 4 180 1590 4350 1800 $which_alignment\001 75 4 2 -1 0 0 18 12 0.0000 4 180 1830 7575 3075 $to:which_alignment\001 76 4 0 -1 0 0 18 12 0.0000 4 180 1410 8235 1755 $mark_distance\001 77 4 0 -1 0 0 18 13 0.0000 4 210 1425 8175 6765 $use_existing\001 78 4 0 -1 0 0 18 12 0.0000 4 180 1515 11100 6765 $calc_tree_name\001 79 4 2 -1 0 0 18 12 0.0000 4 180 1935 14325 6915 $to:X:calc_tree_name\001 80 4 0 -1 0 0 18 12 0.0000 4 180 1080 8175 7515 $t_calculate\001 81 4 0 -1 0 0 18 12 0.0000 4 180 960 10425 7515 $bootstrap\001 82 4 0 -1 0 0 18 12 0.0000 4 135 3255 8505 2070 where distance to selected is inside:\001 27 14895 9180 28 2 1 0 2 -1 -1 0 0 -1 0.000 0 0 -1 0 0 2 29 8175 2295 14760 2295 30 4 0 -1 0 0 18 12 0.0000 4 210 675 1200 1125 $close\001 31 4 0 -1 0 0 18 12 0.0000 4 225 1320 3975 3675 $filter_select\001 32 4 0 -1 0 0 18 12 0.0000 4 225 1650 3975 4275 $weights_select\001 33 4 0 -1 0 0 18 13 0.0000 4 225 1515 3975 4875 $which_cancel\001 34 4 0 -1 0 0 18 12 0.0000 4 165 2955 1275 5400 User defined distance matrix\001 35 4 0 -1 0 0 18 12 0.0000 4 225 1635 3975 5475 $change_matrix\001 36 4 2 -1 0 0 18 12 0.0000 4 225 1920 5700 5475 $to:change_matrix\001 37 4 0 -1 0 0 18 12 0.0000 4 165 690 6000 5400 enable\001 38 4 0 -1 0 0 18 12 0.0000 4 165 1680 1275 4800 Exclude Column\001 39 4 0 -1 0 0 18 12 0.0000 4 210 2145 1275 4200 Weights/Rates/GC ...\001 40 4 0 -1 0 0 18 12 0.0000 4 165 540 1275 3600 Filter\001 41 4 0 -1 0 0 18 12 0.0000 4 210 1230 3975 6750 $autodetect\001 42 4 0 -1 0 0 18 12 0.0000 4 165 1125 1275 6150 Correction\001 43 4 0 -1 0 0 18 12 0.0000 4 225 1920 3975 6225 $which_correction\001 44 4 0 -1 0 0 18 12 0.0000 4 210 1545 1275 1800 Which Species\001 45 4 2 -1 0 0 18 12 0.0000 4 225 1935 7575 6225 $correction_select\001 46 4 2 -1 0 0 18 12 0.0000 4 225 1605 7575 3675 $to:filter_select\001 47 4 2 -1 0 0 18 12 0.0000 4 225 1935 7575 4275 $to:weights_select\001 48 4 2 -1 0 0 18 12 0.0000 4 225 1530 7575 4875 $cancel_select\001 49 4 0 -1 0 0 18 12 0.0000 4 210 810 6825 5475 $enable\001 50 4 0 -1 0 0 18 12 0.0000 4 225 1635 1500 2325 $which_species\001 51 4 0 -1 0 0 18 12 0.0000 4 210 1050 3150 1800 Alignment\001 52 4 0 -1 0 0 18 12 0.0000 4 225 1860 4350 1800 $which_alignment\001 53 4 2 -1 0 0 18 12 0.0000 4 225 2145 7575 3075 $to:which_alignment\001 54 4 0 -1 0 0 18 12 0.0000 4 165 3765 8505 2070 where distance to selected is inside:\001 55 4 2 -1 0 0 18 12 0.0000 4 225 570 14745 1125 $help\001 56 4 0 -1 0 0 18 12 0.0000 4 225 1740 11100 7935 $calc_tree_name\001 57 4 0 -1 0 0 18 12 0.0000 4 225 1980 11100 6570 $compr_tree_name\001 58 4 0 -1 0 0 18 12 0.0000 4 225 1740 11100 7020 $sort_tree_name\001 59 4 2 -1 0 0 18 12 0.0000 4 225 1455 14580 4590 $to:X:tree_list\001 60 4 2 -1 0 0 18 12 0.0000 4 225 2235 14595 8085 $to:X:calc_tree_name\001 61 4 2 -1 0 0 18 12 0.0000 4 225 2475 14595 6720 $to:X:compr_tree_name\001 62 4 2 -1 0 0 18 12 0.0000 4 225 2235 14595 7170 $to:X:sort_tree_name\001 63 4 0 -1 0 0 18 13 0.0000 4 225 1350 13095 5985 $save_matrix\001 64 4 0 -1 0 0 18 12 0.0000 4 165 1275 13095 8550 No. of trees:\001 65 4 0 -1 0 0 18 12 0.0000 4 210 855 13095 9000 $bcount\001 66 4 0 -1 0 0 18 12 0.0000 4 225 1140 10665 8685 $bootstrap\001 67 4 0 -1 0 0 18 12 0.0000 4 210 1050 8175 5625 $calculate\001 68 4 0 -1 0 0 18 12 0.0000 4 225 1320 13095 5625 $view_matrix\001 69 4 0 -1 0 0 18 12 0.0000 4 225 1140 10665 5625 $compress\001 70 4 0 -1 0 0 18 12 0.0000 4 225 1635 8145 1755 $mark_distance\001 71 4 0 -1 0 0 18 12 0.0000 4 165 1860 8145 2595 Trees in Database\001 72 4 0 -1 0 0 18 12 0.0000 4 225 960 8145 2970 $tree_list\001 73 4 0 -1 0 0 18 13 0.0000 4 225 1425 8145 7935 $use_existing\001 74 4 0 -1 0 0 18 12 0.0000 4 225 1245 8145 8685 $t_calculate\001 75 4 0 -1 0 0 18 13 0.0000 4 225 1560 8145 7020 $use_sort_tree\001 76 4 0 -1 0 0 18 13 0.0000 4 225 1800 8145 6570 $use_compr_tree\001 77 4 0 -1 0 0 18 12 0.0000 4 225 1725 8145 4995 $detect_clusters\001
