source: branches/ali/SL/PVP/AP_pos_var.h

Last change on this file was 16897, checked in by westram, 7 years ago
  • calculate 2 sizes from PVP tree:
    • use 'treeNodes' for progress (as b4)
    • use 'treeLeafs' for ntaxa in PVP-type (fixes wrong amount/off-by-one)
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.9 KB
Line 
1// =============================================================== //
2//                                                                 //
3//   File      : AP_pos_var.h                                      //
4//   Purpose   : provides PVP calculation                          //
5//                                                                 //
6//   Institute of Microbiology (Technical University Munich)       //
7//   http://www.arb-home.de/                                       //
8//                                                                 //
9// =============================================================== //
10
11#ifndef AP_POS_VAR_H
12#define AP_POS_VAR_H
13
14#ifndef ARBTOOLS_H
15#include <arbtools.h>
16#endif
17#ifndef ARBDB_H
18#include <arbdb.h>
19#endif
20
21class AW_window;
22class AW_root;
23class arb_progress;
24
25class AP_pos_var : virtual Noncopyable {
26    GBDATA *gb_main;
27
28    long treeLeafs; // number of leafs in tree
29    long treeNodes; // number of leafs + inner nodes in tree
30
31    arb_progress *progress;
32
33    GB_UINT4 *frequencies[256]; // count every occurrence
34    GB_UINT4 *transitions;      // minimum transitions
35    GB_UINT4 *transversions;    // minimum transversions (dna only)
36
37    unsigned char char_2_freq[256]; // mapper (~ toupper)
38
39    long char_2_transition[256];   // a->1 c->2 g->4 ...
40    long char_2_transversion[256]; // y->1 r->2
41
42    long  ali_len;       // max len of alignment
43    char *ali_name;
44    char *tree_name;
45    bool  is_nuc;
46
47    const char *parsimony(TreeNode *tree, GB_UINT4 *bases = NULp, GB_UINT4 *ltbases = NULp);
48
49public:
50
51    AP_pos_var(GBDATA *gb_main_, const char *ali_name_, long ali_len_, bool is_nuc_, const char *tree_name_);
52    ~AP_pos_var();
53
54    GB_ERROR retrieve(TreeNode *tree);
55    GB_ERROR delete_aliEntry_from_SAI(const char *sai_name);
56    GB_ERROR save_aliEntry_to_SAI(const char *sai_name);
57};
58
59#else
60#error AP_pos_var.h included twice
61#endif // AP_POS_VAR_H
Note: See TracBrowser for help on using the repository browser.