source: tags/old_import_filter/MERGE/merge.hxx

Last change on this file was 9797, checked in by westram, 11 years ago
  • reintegrated branch 'merge'
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.5 KB
Line 
1//  ==================================================================== //
2//                                                                       //
3//    File      : merge.hxx                                              //
4//    Purpose   : Local header for usage inside directory MERGE          //
5//                                                                       //
6//                                                                       //
7//  Copyright Department of Microbiology (Technical University Munich)   //
8//                                                                       //
9//  Visit our web site at: http://www.arb-home.de/                       //
10//                                                                       //
11//  ==================================================================== //
12
13#ifndef MERGE_HXX
14#define MERGE_HXX
15
16#ifndef AW_BASE_HXX
17#include <aw_base.hxx>
18#endif
19#ifndef ARB_ASSERT_H
20#include <arb_assert.h>
21#endif
22#ifndef ARBDB_BASE_H
23#include <arbdb_base.h>
24#endif
25
26#define mg_assert(bed) arb_assert(bed)
27
28#define AWAR_MERGE_SAV     "merge/"
29#define AWAR_MERGE_SAV_SRC AWAR_MERGE_SAV "src/"
30#define AWAR_MERGE_SAV_DST AWAR_MERGE_SAV "dst/"
31
32#define AWAR_MERGE_TMP     "tmp/" AWAR_MERGE_SAV
33#define AWAR_MERGE_TMP_SRC AWAR_MERGE_TMP "src/"
34#define AWAR_MERGE_TMP_DST AWAR_MERGE_TMP "dst/"
35
36#define AWAR_DB_SRC AWAR_MERGE_TMP_SRC "db"
37#define AWAR_DB_DST AWAR_MERGE_TMP_DST "db"
38
39inline const char *awar_name_tmp(int db_nr, const char *name) {
40    mg_assert(db_nr == 1 || db_nr == 2);
41    static char buffer[256];
42    sprintf(buffer, "%s%s", db_nr == 1 ? AWAR_MERGE_TMP_SRC : AWAR_MERGE_TMP_DST, name);
43    return buffer;
44}
45
46AW_window *MG_merge_alignment_cb(AW_root *awr);
47AW_window *MG_merge_names_cb(AW_root *awr);
48AW_window *MG_merge_species_cb(AW_root *awr, AW_CL dst_is_new);
49AW_window *MG_select_preserves_cb(AW_root *awr);
50AW_window *MG_merge_extendeds_cb(AW_root *awr);
51AW_window *MG_merge_trees_cb(AW_root *awr);
52AW_window *MG_merge_configs_cb(AW_root *awr);
53AW_window *create_mg_check_fields(AW_root *aw_root);
54
55void MG_create_config_awar(AW_root *aw_root, AW_default aw_def);
56void MG_create_trees_awar(AW_root *aw_root, AW_default aw_def);
57void MG_create_extendeds_awars(AW_root *aw_root, AW_default aw_def);
58void MG_create_alignment_awars(AW_root *aw_root, AW_default aw_def);
59void MG_create_species_awars(AW_root *aw_root, AW_default aw_def);
60void MG_create_rename_awars(AW_root *aw_root, AW_default aw_def);
61
62
63void MG_create_db_dependent_rename_awars(AW_root *aw_root, GBDATA *gb_src, GBDATA *gb_dst);
64
65void     MG_set_renamed(bool renamed, AW_root *aw_root, const char *reason);
66GB_ERROR MG_expect_renamed();
67
68int MG_copy_and_check_alignments(AW_window *aww);
69
70// export of gene-species:
71
72void       MG_create_gene_species_awars(AW_root *aw_root, AW_default aw_def);
73AW_window *MG_gene_species_create_field_transfer_def_window(AW_root *aw_root);
74GB_ERROR   MG_export_fields(AW_root *aw_root, GBDATA *gb_src, GBDATA *gb_dst, GB_HASH *error_suppressor, GB_HASH *source_organism_hash); // export defined fields
75
76#define AWAR_REMAP_SPECIES_LIST AWAR_MERGE_SAV "remap_species_list"
77#define AWAR_REMAP_ENABLE       AWAR_MERGE_SAV "remap_enable"
78
79#define IS_QUERIED_SPECIES(gb_species) (1 & GB_read_usr_private(gb_species))
80int mg_count_queried(GBDATA *gb_main);
81
82const char *MG_left_AWAR_SPECIES_NAME();
83
84#ifndef MG_MERGE_HXX
85#include "mg_merge.hxx"
86#endif
87
88inline GBDATA *get_gb_main(int db_nr) {
89    mg_assert(db_nr == 1 || db_nr == 2);
90    return db_nr == 1 ? GLOBAL_gb_src : GLOBAL_gb_dst;
91}
92
93
94#else
95#error merge.hxx included twice
96#endif // MERGE_HXX
Note: See TracBrowser for help on using the repository browser.