source: branches/items/MERGE/MG_adapt_ali.hxx

Last change on this file was 18092, checked in by westram, 5 years ago
File size: 1.7 KB
Line 
1// ============================================================= //
2//                                                               //
3//   File      : MG_adapt_ali.hxx                                //
4//   Purpose   :                                                 //
5//                                                               //
6//   Institute of Microbiology (Technical University Munich)     //
7//   http://www.arb-home.de/                                     //
8//                                                               //
9// ============================================================= //
10
11#ifndef MG_ADAPT_ALI_HXX
12#define MG_ADAPT_ALI_HXX
13
14#ifndef ARBDB_BASE_H
15#include <arbdb_base.h>
16#endif
17#ifndef ARB_STRARRAY_H
18#include <arb_strarray.h>
19#endif
20
21class MG_remap;
22
23class MG_remaps : virtual Noncopyable {
24    int             n_remaps;
25    ConstStrArray   alignment_names;
26    MG_remap      **remaps;
27
28public:
29    MG_remaps(GBDATA *gb_left, GBDATA *gb_right, bool enable, const char *reference_species_names);
30    ~MG_remaps();
31
32    int size() const { return n_remaps; }
33#if defined(ASSERTION_USED)
34    bool validIdx(int idx) const { return idx>=0 && idx<size(); }
35#endif
36
37    bool doesRemap() const { return remaps; } // false when 'enable'==false has been passed to ctor
38
39    const char *alignment_name(int idx) const { arb_assert(validIdx(idx)); return alignment_names[idx]; }
40    const MG_remap& remap(int idx) const { arb_assert(validIdx(idx)); return *remaps[idx]; }
41};
42
43
44GB_ERROR MG_adaptAllCopiedAlignments(const MG_remaps& remaps, GBDATA *source_species, GBDATA *destination_species);
45
46#else
47#error mg_adapt_ali.hxx included twice
48#endif // MG_ADAPT_ALI_HXX
Note: See TracBrowser for help on using the repository browser.