54 window_nr(window_nr_),
63 int get_nr()
const {
return window_nr; }
95 static void with_all_mapped_windows(
const GenmapWindowCallback& gwcb);
128 for (
int nr = 0; nr<winCount; ++nr) {
137 if (nr<window_counter) {
144 if (window_counter>windows_size) {
145 int new_windows_size = windows_size+5;
148 for (
int i = 0; i<windows_size; ++i) new_windows[i] = windows[i];
151 windows = new_windows;
152 windows_size = new_windows_size;
158 windows[nr]->
init(aw_root, gb_main);
192 gb_gene_data(gb_gene_data_)
208 if (mapwin && mapwin->
get_graphic() == wanted_graphic) {
235 typedef map<GEN_graphic*, gene_container_changed_cb_data> callback_dict;
236 static callback_dict installed_callbacks;
238 callback_dict::iterator found = installed_callbacks.find(gg);
239 if (found == installed_callbacks.end()) {
242 found = installed_callbacks.find(gg);
243 gen_assert(found != installed_callbacks.end());
283 printf(
"Window %i: screen is: %i/%i -> %i/%i\n", win->
get_nr(), screen.
l, screen.
t, screen.
r, screen.
b);
292 if (wrange.
valid()) {
294 printf(
"Window %i: Draw world range of selected gene is: %f/%f -> %f/%f\n",
300 printf(
"Window %i: Draw screen range of selected gene is: %f/%f -> %f/%f\n",
301 win->
get_nr(), srange.left(), srange.top(), srange.right(), srange.bottom());
307 if (srange.top() < 0) {
308 scrolly =
AW_INT(srange.top())-2;
310 else if (srange.bottom() > screen.
b) {
311 scrolly =
AW_INT(srange.bottom())-screen.
b+2;
313 if (srange.left() < 0) {
314 scrollx =
AW_INT(srange.left())-2;
316 else if (srange.right() > screen.
r) {
317 scrollx =
AW_INT(srange.right())-screen.
r+2;
320 if (force_center_if_fits) {
322 int gene_center_x =
AW_INT((srange.left()+srange.right())/2);
323 int screen_center_x = (screen.
l+screen.
r)/2;
324 scrollx = gene_center_x-screen_center_x;
326 printf(
"center x\n");
330 int gene_center_y =
AW_INT((srange.top()+srange.bottom())/2);
331 int screen_center_y = (screen.
t+screen.
b)/2;
332 scrolly = gene_center_y-screen_center_y;
334 printf(
"center y\n");
340 printf(
"scroll %i/%i\n", scrollx, scrolly);
343 canvas->scroll(scrollx, scrolly);
346 canvas->request_refresh();
354 if (jump || force_refresh || force_zoom_reset) {
372 #define DISPLAY_TYPE_BIT(disp_type) (1<<(disp_type))
373 #define ALL_DISPLAY_TYPES (DISPLAY_TYPE_BIT(GEN_DISPLAY_STYLES)-1)
397 int window_nr = win->
get_nr();
418 int window_nr = win->
get_nr();
420 const char *local_awar_name =
NULp;
421 const char *local_lock_awar_name =
NULp;
422 const char *global_awar_name =
NULp;
436 AW_awar *global_awar = awr->
awar(global_awar_name);
438 int lock_value = awr->
awar(local_lock_awar_name)->
read_int();
439 if (lock_value == 0) {
440 local_awar->
map(global_awar);
476 int window_nr = win->
get_nr();
488 awar_lock_orga->
touch();
489 awar_lock_gene->
touch();
521 enum { REFRESH_ONLY = 0, ZOOM_RESET = 1 };
546 const char *text =
NULp;
579 static AW_window_simple *aws =
NULp;
582 aws =
new AW_window_simple;
584 aws->init(awr,
"GEN_OPTS",
"Genemap options");
585 aws->load_xfig(
"gen_options.fig");
589 aws->create_button(
"CLOSE",
"CLOSE",
"C");
593 aws->create_button(
"HELP",
"HELP",
"H");
595 aws->auto_space(5, 5);
596 aws->label_length(26);
598 const int FIELDWIDTH = 12;
599 const int SCALERWIDTH = 300;
602 aws->at(
"arrow_size"); aws->create_input_field_with_scaler(
AWAR_GENMAP_ARROW_SIZE, FIELDWIDTH, SCALERWIDTH);
604 aws->at(
"show_hidden");
605 aws->label(
"Show hidden genes");
609 aws->label(
"Show NDS for all genes");
613 aws->label(
"Auto jump to selected gene");
728 : progress(marked_genes_),
729 gb_species_data(gb_species_data_),
731 existing(gb_species_data, marked_genes_),
739 if (duplicateSpecies>0) {
741 "Duplicated gene-species got names with numerical postfixes ('.1', '.2', ...)"
742 , duplicateSpecies));
745 aw_message(
"Naming problems occurred.\nYou have to call 'Species/Synchronize IDs'!");
753 const char *other_acc =
NULp;
755 if (gb_other_species) {
767 if (!full_species_name) full_species_name = species_name;
775 const char *ali = eg2ps->
ali;
779 sprintf(acc,
"ARB_GENE_%lX",
id);
785 bool create_new_gene_species =
true;
786 char *short_name =
NULp;
788 if (gb_exist_geneSpec) {
794 char *question =
GBS_global_string_copy(
"Already have a gene-species for %s/%s ('%s')", species_name, gene_name, existing_name);
795 int answer = ask_about_existing_gene_species->get_answer(
"existing_pseudo_species", question,
"Overwrite species,Insert new alignment,Skip,Create new",
"all",
true);
797 create_new_gene_species =
false;
802 create_new_gene_species =
true;
809 char *question2 =
GBS_global_string_copy(
"Gene-species '%s' already has data in '%s'", existing_name, ali);
810 int overwrite_answer = ask_to_overwrite_alignment->get_answer(
"overwrite_gene_data", question2,
"Overwrite data,Skip",
"all",
true);
812 if (overwrite_answer == 1) error =
GBS_global_string(
"Skipped gene-species '%s' (already had data in alignment)", existing_name);
813 else if (overwrite_answer == 2) error =
"Aborted.";
825 create_new_gene_species =
true;
839 if (create_new_gene_species) {
846 if (strcmp(acc, other_acc) == 0) {
847 char *newName =
NULp;
848 for (
int postfix = 1; ; ++postfix) {
856 if (!other_acc || strcmp(acc, other_acc) != 0) {
863 if (!error) freeset(short_name, newName);
868 error =
GBS_global_string(
"acc of '%s' differs from acc stored in nameserver", short_name);
878 const char *msg =
GBS_global_string(
"%s\nGenerating a random name instead.", error);
883 if (!short_name) error =
GBS_global_string(
"Failed to create a new name for pseudo gene-species '%s'", full_name);
890 if (!gb_exist_geneSpec) error =
GB_export_errorf(
"Failed to create pseudo-species '%s'", short_name);
912 const char *codon_start =
NULp;
913 const char *transl_table =
NULp;
922 if (!error && codon_start) error =
GEN_species_add_entry(gb_exist_geneSpec,
"codon_start", codon_start);
923 if (!error && transl_table) error =
GEN_species_add_entry(gb_exist_geneSpec,
"transl_table", transl_table);
946 bool org_mark_flag = mark_flag;
949 case GEN_MARK: mark_flag = 1;
break;
967 bool hidden = gb_hidden ?
GB_read_byte(gb_hidden) != 0 :
false;
979 if (mark_flag != org_mark_flag)
GB_write_flag(gb_gene, mark_flag ? 1 : 0);
993 bool hidden = gb_hidden ? (
GB_read_byte(gb_hidden) != 0) :
false;
994 bool org_hidden = hidden;
1006 if (hidden != org_hidden) {
1014 void (*do_command)(
int cmode,
GBDATA *gb_species,
AW_CL cl_user),
int mode,
AW_CL cl_user) {
1025 do_command(mode, gb_organism, cl_user);
1034 do_command(mode, gb_organism, cl_user);
1044 if (gb_organism != gb_curr_organism) do_command(mode, gb_organism, cl_user);
1051 error =
"First you have to select a species.";
1054 do_command(mode, gb_organism, cl_user);
1073 typedef map<AW_CL, GEN_unique_param> ExistingParams;
1074 static ExistingParams existing_params;
1083 pair<ExistingParams::iterator, bool> created = existing_params.insert(ExistingParams::value_type(unique_,
GEN_unique_param(gb_main_, unique_)));
1084 ExistingParams::iterator wanted = created.first;
1089 GEN_unique_param::ExistingParams GEN_unique_param::existing_params;
1103 gen_count_marked_genes = 0;
1107 const char *where =
NULp;
1109 switch (perform_mode) {
1135 if (!
GBT_create_alignment(gb_main, ali, 0, 0, 0,
"dna",
"while extracting genes to pseudo-species")) {
1145 ask_about_existing_gene_species =
new AW_repeated_question;
1146 ask_to_overwrite_alignment =
new AW_repeated_question;
1152 gen_count_marked_genes = 0;
1157 eg2ps =
new EG2PS_data(ali, gb_species_data, gen_count_marked_genes);
1168 ask_to_overwrite_alignment =
NULp;
1169 ask_about_existing_gene_species =
NULp;
1306 char macro_name_buffer[50];
1308 sprintf(macro_name_buffer,
"%s_of_current", macro_prefix);
1311 sprintf(macro_name_buffer,
"%s_of_marked", macro_prefix);
1314 sprintf(macro_name_buffer,
"%s_of_all", macro_prefix);
1325 char macro_name_buffer[50];
1327 sprintf(macro_name_buffer,
"%s_of_current", macro_prefix);
1330 sprintf(macro_name_buffer,
"%s_of_all_but_current", macro_prefix);
1333 sprintf(macro_name_buffer,
"%s_of_marked", macro_prefix);
1336 sprintf(macro_name_buffer,
"%s_of_all", macro_prefix);
1351 static AW_window_simple *aws =
NULp;
1353 aws =
new AW_window_simple;
1355 aws->init(aw_root,
"DEBUG_AWARS",
"DEBUG AWARS");
1357 aws->auto_space(10, 10);
1359 const int width = 50;
1361 ; aws->label(
"AWAR_SPECIES_NAME "); aws->create_input_field(
AWAR_SPECIES_NAME, width);
1362 aws->at_newline(); aws->label(
"AWAR_ORGANISM_NAME "); aws->create_input_field(
AWAR_ORGANISM_NAME, width);
1363 aws->at_newline(); aws->label(
"AWAR_GENE_NAME "); aws->create_input_field(
AWAR_GENE_NAME, width);
1364 aws->at_newline(); aws->label(
"AWAR_COMBINED_GENE_NAME "); aws->create_input_field(
AWAR_COMBINED_GENE_NAME, width);
1365 aws->at_newline(); aws->label(
"AWAR_EXPERIMENT_NAME "); aws->create_input_field(
AWAR_EXPERIMENT_NAME, width);
1367 aws->at_newline(); aws->label(
"AWAR_PROTEOM_NAME "); aws->create_input_field(
AWAR_PROTEOM_NAME, width);
1368 aws->at_newline(); aws->label(
"AWAR_PROTEIN_NAME "); aws->create_input_field(
AWAR_PROTEIN_NAME, width);
1394 if (species_name[0] && gene_name[0]) {
1435 const char *
title =
"Organisms";
1436 const char *hotkey =
"O";
1459 const char *
title =
"Gene-Species";
1460 const char *hotkey =
"S";
1491 if (for_ARB_NTREE) {
1523 if (!for_ARB_NTREE) {
1660 int cur_x, cur_y, start_x, first_line_y, second_line_y, third_line_y;
1664 at(start_x, first_line_y);
1675 at(start_x, second_line_y);
1693 at(gene_x, first_line_y);
1698 at(gene_x, second_line_y);
1706 at(lock_x, first_line_y);
1709 at(lock_x, second_line_y);
1713 int dtype_x1 = cur_x;
1719 at(dtype_x1, first_line_y);
1731 at(dtype_x1, second_line_y);
1734 create_button(
"VERTICAL_DISPLAY_TYPE",
"#gen_vertical.xpm");
1740 at(jump_x, first_line_y);
1750 at(help_x, first_line_y);
1755 at(help_x, second_line_y);
static void mark_gene_species(AW_window *, MarkCommand mark, GBDATA *gb_main)
~GEN_item_type_species_selector() OVERRIDE
GB_ERROR GB_begin_transaction(GBDATA *gbd)
ItemSelector & GEN_get_selector()
AW_window * AW_create_gc_window_named(AW_root *aw_root, AW_gc_manager *gcman, const char *wid, const char *windowname)
static AW_window * GEN_create_gc_window(AW_root *awr, AW_gc_manager *gcman)
AW::Vector transform(const AW::Vector &vec) const
void GEN_create_nds_vars(AW_root *aw_root, AW_default awdef, GBDATA *gb_main, const DatabaseCallback &NDS_changed_callback)
UniqueNameDetector existing
bool name_known(const char *name)
AW_window * create_species_query_window(AW_root *aw_root, GBDATA *gb_main)
void get_at_position(int *x, int *y) const
static AW_window * create_colorize_genes_window(AW_root *aw_root, GBDATA *gb_main)
gene_container_changed_cb_data()
void set_display_update_callback(AW_root *awr, const char *awar_name, bool zoom_reset, int display_type_mask)
GB_ERROR GB_commit_transaction(GBDATA *gbd)
GEN_map_window(int window_nr_)
void popup_organism_info_window(AW_root *aw_root, GBDATA *gb_main)
const awt_input_mask_descriptor * AWT_look_input_mask(int id)
void button_length(int length)
GBDATA * GEN_next_gene(GBDATA *gb_gene)
void EXP_create_experiments_submenu(AW_window_menu_modes *awm, GBDATA *gb_main, bool submenu)
static void GEN_create_hide_submenu(AW_window_menu_modes *awm, GBDATA *gb_main)
void request_zoom_reset()
const AW_screen_area & get_area_size() const
static void GEN_insert_hide_submenu(AW_window_menu_modes *awm, GBDATA *gb_main, const char *macro_prefix, const char *submenu_name, const char *hot_key, const char *help_file, GEN_HIDE_MODE hide_mode)
GEN_item_type_species_selector()
#define AWAR_LOCAL_GENE_NAME(window_nr)
char * AWTC_generate_random_name(UniqueNameDetector &existingNames)
static void GEN_create_mask_submenu(AW_window_menu_modes *awm, GBDATA *gb_main)
void insert_menu_topic(const char *id, const char *name, const char *mnemonic, const char *help_text_, AW_active mask, const WindowCallback &wcb)
GB_ERROR GB_write_string(GBDATA *gbd, const char *s)
void GEN_add_pseudo_species_to_hash(GBDATA *gb_pseudo, GB_HASH *pseudo_hash)
const char * get_window_id() const
#define AWAR_GENMAP_SHOW_HIDDEN
int no_of_managed_windows()
AW_window * GEN_create_first_map(AW_root *aw_root, GBDATA *gb_main)
GBDATA * GEN_find_gene(GBDATA *gb_species, const char *name)
GB_ERROR GB_add_callback(GBDATA *gbd, GB_CB_TYPE type, const DatabaseCallback &dbcb)
ItemSelector & ORGANISM_get_selector()
AW_root * get_aw_root() const
const char * GEN_window_local_awar_name(const char *awar_name, int window_nr)
GBDATA * current(AW_root *root, GBDATA *gb_main) const OVERRIDE
long GBT_mark_all(GBDATA *gb_main, int flag)
static AW_window * GEN_create_options_window(AW_root *awr)
static void GEN_local_lock_changed_cb(AW_root *awr, GEN_map_window *win, bool gene_lock)
GB_ERROR GBT_check_alignment_name(const char *alignment_name)
static void GEN_organism_or_gene_changed_cb(AW_root *awr)
#define AWAR_ORGANISM_NAME
static void gen_extract_gene_2_pseudoSpecies(GBDATA *gb_species, GBDATA *gb_gene, EG2PS_data *eg2ps)
GBDATA * GEN_get_current_organism(GBDATA *gb_main)
GBDATA * GBT_get_alignment(GBDATA *gb_main, const char *aliname)
#define AWAR_COMBINED_EXPERIMENT_NAME
GB_ERROR AWTC_generate_one_name(GBDATA *gb_main, const char *full_name, const char *acc, const char *addid, char *&new_name)
#define AWAR_PROTEOM_NAME
static AW_repeated_question * ask_about_existing_gene_species
char * ARB_strdup(const char *str)
void create_toggle(const char *awar_name)
void GB_end_transaction_show_error(GBDATA *gbd, GB_ERROR error, void(*error_handler)(GB_ERROR))
GBDATA * GEN_get_local_gene_data(GEN_graphic *gg)
AW_awar * set_minmax(float min, float max)
#define AWAR_GENMAP_BOOK_BASES_PER_LINE
const char * GBS_global_string(const char *templat,...)
static void GEN_jump_cb(AW_window *aww, bool force_center_if_fits)
static void GEN_add_local_awar_callbacks(AW_root *awr, AW_default, GEN_map_window *win)
GEN_graphic * get_graphic() const
#define AWAR_GENMAP_AUTO_JUMP
static GEN_map_manager * get_map_manager()
static void GEN_open_mask_window(AW_window *aww, int id, GBDATA *gb_main)
static void GEN_insert_multi_submenu(AW_window_menu_modes *awm, const char *macro_prefix, const char *submenu_name, const char *hot_key, const char *help_file, void(*command)(AW_window *, GEN_PERFORM_MODE, GEN_command_mode_param *), GEN_command_mode_param *command_mode)
#define AWAR_LOCAL_GENE_LOCK(window_nr)
void GEN_popup_gene_infowindow(AW_root *aw_root, GBDATA *gb_main)
void AW_POPDOWN(AW_window *window)
#define AWAR_GENMAP_VERTICAL_FACTOR_Y
void AW_insert_common_property_menu_entries(AW_window_menu_modes *awmm)
static void GEN_set_display_style(AW_window *aww, GEN_DisplayStyle style)
void GBS_free_hash(GB_HASH *hs)
static void mark_organisms(AW_window *, MarkCommand mark, GBDATA *gb_main)
GBDATA * GEN_expect_gene_data(GBDATA *gb_species)
#define AWAR_GENMAP_ARROW_SIZE
void GEN_refresh_all_windows()
#define AWAR_GENMAP_RADIAL_INSIDE
static void GEN_insert_extract_submenu(AW_window_menu_modes *awm, GBDATA *gb_main, const char *macro_prefix, const char *submenu_name, const char *hot_key, const char *help_file)
bool nameIsUnique(const char *short_name, GBDATA *gb_species_data)
DECLARE_CBTYPE_FVV_AND_BUILDERS(GenmapWindowCallback, void, GEN_map_window *)
#define AWAR_FOOTER_MAX_LEN
static void GEN_jump_cb_auto(AW_root *root, GEN_map_window *win, bool force_refresh, bool force_zoom_reset)
static void GEN_undo_cb(AW_window *, GB_UNDO_TYPE undo_type, GBDATA *gb_main)
string performmode_relative_id(const char *id, GEN_PERFORM_MODE pmode)
static void GEN_local_organism_or_gene_name_changed_cb(AW_root *awr, GEN_map_window *win)
GBDATA * get_gb_main() const
static void GEN_mark_command(AW_window *, GEN_PERFORM_MODE perform_mode, GEN_command_mode_param *param)
static void with_all_mapped_windows(void(*cb)(GEN_map_window *))
static void do_mark_command_for_one_species(int imode, GBDATA *gb_species, AW_CL cl_user)
EG2PS_data(const char *ali_, GBDATA *gb_species_data_, long marked_genes_)
#define AWAR_PROTEIN_NAME
static void GEN_create_gene_species_submenu(AW_window_menu_modes *awm, GBDATA *gb_main, bool submenu)
#define DOWNCAST(totype, expr)
AW_awar * add_callback(const RootCallback &cb)
GB_ERROR GBT_add_alignment_changekeys(GBDATA *gb_main, const char *ali)
static void GEN_hide_command(AW_window *, GEN_PERFORM_MODE perform_mode, GEN_command_mode_param *param)
const GEN_root * get_gen_root() const
void init(AW_root *root, GBDATA *gb_main)
#define AWAR_GENMAP_DISPLAY_TYPE(window_nr)
static long gen_count_marked_genes
const char * read_char_pntr() const
#define AWAR_GENMAP_RADIAL_OUTSIDE
NOT4PERL GBDATA * GBT_add_data(GBDATA *species, const char *ali_name, const char *key, GB_TYPES type) __ATTR__DEPRECATED_TODO("better use GBT_create_sequence_data()")
void reinit_gen_root(AWT_canvas *scr, bool force_reinit)
const char * getKeyPath() const OVERRIDE
int create_mode(const char *pixmap, const char *help_text_, AW_active mask, const WindowCallback &cb)
GB_ERROR GB_await_error()
static GB_ERROR GEN_species_add_entry(GBDATA *gb_pseudo, const char *key, const char *value)
GB_HASH * GEN_create_pseudo_species_hash(GBDATA *gb_main, long additionalSize)
static AW_root * SINGLETON
GBDATA * GEN_first_pseudo_species(GBDATA *gb_main)
WindowCallback makeHelpCallback(const char *helpfile)
#define MODE_TEXT_STANDARD_ZOOMMODE()
void set_display_style(GEN_DisplayStyle type)
GB_TYPES GB_read_type(GBDATA *gbd)
static AW_window * create_colorize_organisms_window(AW_root *aw_root, GBDATA *gb_main)
static void GEN_gene_container_cb_installer(CbInstallMode install, AWT_canvas *gmw, GEN_graphic *gg)
static void mark_gene_species_of_marked_genes(AW_window *, GBDATA *gb_main)
static GEN_unique_param * get(GBDATA *gb_main_, AW_CL unique_)
GBDATA * GB_create(GBDATA *father, const char *key, GB_TYPES type)
AW_awar * awar_float(const char *var_name, float default_value=0.0, AW_default default_file=AW_ROOT_DEFAULT)
#define AWAR_LOCAL_ORGANISM_LOCK(window_nr)
#define MODE_TEXT_1BUTTON(modeName, leftInfo)
void AW_save_properties(AW_window *aw)
void create_menu(const char *name, const char *mnemonic, AW_active mask=AWM_ALL)
gene_container_changed_cb_data(AWT_canvas *canvas_, GEN_graphic *graphic_, GBDATA *gb_gene_data_)
void help_text(const char *id)
GBDATA * GEN_next_marked_organism(GBDATA *gb_organism)
static void GEN_create_genemap_local_awars(AW_root *aw_root, AW_default, int window_nr)
static void error(const char *msg)
static void GEN_display_param_changed_cb(AW_root *, bool zoom_reset, int display_type_mask)
GBDATA * GB_get_root(GBDATA *gbd)
static GB_ERROR gene_extract_handler(const char *ali, GEN_extract_mode_param *param)
size_t get_self_awar_content_length() const OVERRIDE
AW_window * AW_preset_window(AW_root *root)
GBDATA * get_gb_main() const
#define AWAR_EXPERIMENT_NAME
static const char * GEN_PERFORM_MODE_id[GEN_PERFORM_MODES]
#define AWAR_SPECIES_NAME
GBDATA * GEN_next_organism(GBDATA *gb_organism)
#define SRT_AUTOCORRECT_ALINAME
#define AWAR_LOCAL_ORGANISM_NAME(window_nr)
int GB_read_flag(GBDATA *gbd)
#define AWAR_GENMAP_SHOW_ALL_NDS
GBDATA * GBT_find_species_rel_species_data(GBDATA *gb_species_data, const char *name)
char * read_string() const
static WindowCallback simple(void(*root_cb)(AW_root *, T), T t)
AW_awar * awar(const char *awar)
void insert_sub_menu(const char *name, const char *mnemonic, AW_active mask=AWM_ALL)
const char * no_mode_text_defined()
static void GEN_perform_command(GBDATA *gb_main, GEN_PERFORM_MODE pmode, void(*do_command)(int cmode, GBDATA *gb_species, AW_CL cl_user), int mode, AW_CL cl_user)
AW_window * GEN_create_gene_query_window(AW_root *aw_root, GBDATA *gb_main)
char * GBT_read_gene_sequence(GBDATA *gb_gene, bool use_revComplement, char partSeparator)
#define CHANGE_KEY_PATH_GENES
static void GEN_create_genemap_global_awars(AW_root *aw_root, AW_default def, GBDATA *gb_main)
static void GEN_gene_container_changed_cb(GBDATA *, gene_container_changed_cb_data *cb_data)
static AW_window_menu_modes_opengl * awm
GBDATA * GEN_next_pseudo_species(GBDATA *gb_species)
#define AWAR_COMBINED_GENE_NAME
static void GEN_map_window_refresh_if_display_type(GEN_map_window *win, bool zoom_reset, int display_type_mask)
const char * get_self_awar() const OVERRIDE
GB_ERROR GB_undo(GBDATA *gb_main, GB_UNDO_TYPE type) __ATTR__USERESULT
static GEN_item_type_species_selector item_type_gene
void set_info_area_height(int height)
GB_ERROR GB_export_errorf(const char *templat,...)
#define AWAR_GENMAP_BOOK_LINE_HEIGHT
AW_window * create_colorize_items_window(AW_root *aw_root, GBDATA *gb_main, ItemSelector &sel)
AW_device * get_device() const
static void mark_organisms_with_marked_genes(AW_window *, GBDATA *gb_main)
void set_mode(AWT_COMMAND_MODE mo)
static GEN_command_mode_param * get(GBDATA *gb_main_, AW_CL command_mode_)
AW_awar * awar_int(const char *var_name, long default_value=0, AW_default default_file=AW_ROOT_DEFAULT)
void auto_space(int xspace, int yspace)
void AW_help_entry_pressed(AW_window *aww)
void GB_write_flag(GBDATA *gbd, long flag)
static void gene_extract_cb(AW_window *, GEN_extract_mode_param *param)
#define ALL_DISPLAY_TYPES
static AW_repeated_question * ask_to_overwrite_alignment
AW_gc_manager * gc_manager
AW_window * GEN_open_nds_window(AW_root *aw_root, GBDATA *gb_main)
const AW::Rectangle & get_selected_range() const
static void initialize(AW_root *aw_root_, GBDATA *gb_main_)
int GB_read_byte(GBDATA *gbd)
AW_awar * map(const char *awarn)
#define AWAR_GENMAP_BOOK_WIDTH_FACTOR
GB_ERROR GB_write_byte(GBDATA *gbd, int i)
void GB_remove_callback(GBDATA *gbd, GB_CB_TYPE type, const DatabaseCallback &dbcb)
static void GEN_NDS_changed(GBDATA *gb_viewkey)
#define assert_no_auto_refresh_for(CANVAS)
static void GEN_mode_event(AW_window *aws, GEN_map_window *win, AWT_COMMAND_MODE mode)
static bool initialized()
#define AWAR_GENMAP_BOOK_LINE_SPACE
static ARB_init_perl_interface init
void add_name(const char *name)
uint32_t GBS_checksum(const char *seq, int ignore_case, const char *exclude)
GEN_DisplayStyle get_display_style() const
void aw_message(const char *msg)
static AW_window * GEN_create_map(AW_root *aw_root, GEN_create_map_param *param)
void GEN_make_node_text_init(GBDATA *gb_main)
GBDATA * GBT_create_alignment(GBDATA *gb_main, const char *name, long len, long aligned, long security, const char *type, const char *why_created)
static void GEN_add_global_awar_callbacks(AW_root *awr)
GBDATA * GEN_first_gene(GBDATA *gb_species)
GBDATA * GBT_find_or_create_species(GBDATA *gb_main, const char *name, bool markCreated)
static void with_all_mapped_windows(const GenmapWindowCallback &gwcb)
static const char * readACC(GBDATA *gb_species_data, const char *name)
GBDATA * GBT_find_species(GBDATA *gb_main, const char *name)
GB_HASH * GBT_create_organism_hash(GBDATA *gb_main)
#define DISPLAY_TYPE_BIT(disp_type)
AWT_canvas * get_canvas() const
GB_ERROR write_string(const char *aw_string)
char * GBT_get_default_alignment(GBDATA *gb_main)
const char * local_id(const char *id) const
static void GEN_map_window_refresh(GEN_map_window *win)
GB_transaction ta(gb_var)
void callback(const WindowCallback &cb)
GB_CSTR GB_read_char_pntr(GBDATA *gbd)
AW_awar * awar_string(const char *var_name, const char *default_value="", AW_default default_file=AW_ROOT_DEFAULT)
static void GEN_insert_mark_submenu(AW_window_menu_modes *awm, GBDATA *gb_main, const char *macro_prefix, const char *submenu_name, const char *hot_key, const char *help_file, GEN_MARK_MODE mark_mode)
GBDATA * GEN_first_marked_organism(GBDATA *gb_main)
GBDATA * GEN_first_organism(GBDATA *gb_main)
GB_CSTR GBT_get_name_or_description(GBDATA *gb_item)
static void mark_gene_species_using_current_alignment(AW_window *, GBDATA *gb_main)
void shadow_width(int shadow_thickness)
static void reinit_NDS_4_window(GEN_map_window *win)
void GEN_create_genes_submenu(AW_window_menu_modes *awm, GBDATA *gb_main, bool for_ARB_NTREE)
static void GEN_update_unlocked_organism_and_gene_awars(GEN_map_window *win, const char *organismName, const char *geneName)
static void mark_genes_of_marked_gene_species(AW_window *, GBDATA *gb_main)
const char * GBT_read_char_pntr(GBDATA *gb_container, const char *fieldpath)
static void do_hide_command_for_one_species(int imode, GBDATA *gb_species, AW_CL)
int GEN_find_windowNr_for(GEN_graphic *wanted_graphic)
GB_ERROR write_int(long aw_int)
GB_ERROR AWT_initialize_input_mask(AW_root *root, GBDATA *gb_main, const awt_item_type_selector *sel, const char *mask_name, bool localMask)
GBDATA * GB_entry(GBDATA *father, const char *key)
static void GEN_create_organism_submenu(AW_window_menu_modes *awm, GBDATA *gb_main, bool submenu)
char * GBS_global_string_copy(const char *templat,...)
GBDATA * GEN_find_pseudo_species(GBDATA *gb_main, const char *organism_name, const char *gene_name, const GB_HASH *pseudo_hash)
GBDATA * GEN_find_origin_gene(GBDATA *gb_pseudo, const GB_HASH *organism_hash)
void create_button(const char *macro_name, AW_label label, const char *mnemonic=NULp, const char *color=NULp)
#define AWAR_GENMAP_VERTICAL_FACTOR_X
void AWT_activate_prompt(const char *title, const char *prompt, const char *defaultResult, const char *button, const ResultHandler &handle_result, const char *helpfile, const char *srt)
GEN_map_window * get_map_window(int nr)
GBDATA * GBT_get_species_data(GBDATA *gb_main)