source: branches/stable/GDE/MUSCLE/src/types.h

Last change on this file was 10390, checked in by aboeckma, 11 years ago

added muscle sourcles amd makefile

File size: 2.1 KB
Line 
1#ifndef types_h
2#define types_h
3
4typedef unsigned char byte;
5typedef unsigned short ushort;
6
7typedef float SCOREMATRIX[32][32];
8typedef SCOREMATRIX *PTR_SCOREMATRIX;
9
10class MSA;
11class Seq;
12class ClusterTree;
13class DistFunc;
14class TextFile;
15class PWPath;
16class Tree;
17class SeqVect;
18class DistCalc;
19
20struct ProgNode;
21struct ProfPos;
22
23#if     SINGLE_AFFINE
24// Compress M, D and I trace-back matrices into 4 bits
25enum
26        {
27        BIT_MM = 0x00,
28        BIT_DM = 0x01,
29        BIT_IM = 0x02,
30        BIT_xM = 0x03,
31
32        BIT_DD = 0x00,
33        BIT_MD = 0x04,
34        //  ID not allowed
35        BIT_xD = 0x04,
36
37        BIT_II = 0x00,
38        BIT_MI = 0x08,
39        //  DI not allowed
40        BIT_xI = 0x08,
41        };
42
43#endif
44
45#if     DOUBLE_AFFINE
46// Compress M, D, E, I and J trace-back matrices into 7 bits
47enum
48        {
49        BIT_MM = 0x00,
50        BIT_DM = 0x01,
51        BIT_EM = 0x02,
52        BIT_IM = 0x03,
53        BIT_JM = 0x04,
54        BIT_xM = 0x07,
55
56        BIT_DD = 0x00,
57        BIT_MD = 0x08,
58        // [EIJ]D not sallowed
59        BIT_xD = 0x08,
60
61        BIT_EE = 0x00,
62        BIT_ME = 0x10,
63        //  [DDJ]E not allowed
64        BIT_xE = 0x10,
65
66        BIT_II = 0x00,
67        BIT_MI = 0x20,
68        //  [EDJ]I not allowed
69        BIT_xI = 0x20,
70
71        BIT_JJ = 0x00,
72        BIT_MJ = 0x40,
73        //  [EDI]J not allowed
74        BIT_xJ = 0x40,
75        };
76#endif
77
78enum EXIT
79        {
80        EXIT_Success = 0,
81        EXIT_NotStarted = 1,
82        EXIT_FatalError = 2,
83        EXIT_Except = 3,
84        };
85
86enum NODECMP
87        {
88        NODECMP_Undefined = 0,
89        NODECMP_Same = 0,               // equivalent to node in old tree
90        NODECMP_Diff = 1,               // equivalent & parent is changed
91        NODECMP_Changed = 2             // no equivalent node in old tree
92        };
93
94// Declare enums using macro hacks (see enums.h).
95#define s(t)    enum t { t##_Undefined = 0,
96#define c(t, x) t##_##x,
97#define e(t)    };
98#include "enums.h"
99
100// Declare conversion function XXXToStr(XXX x)
101// for each enum type XXX.
102#define s(t)    const char *t##ToStr(t x);
103#define c(t, x) /* empty */
104#define e(t)    /* empty */
105#include "enums.h"
106
107// Declare conversion function StrToXXX(const char *Str)
108// for each enum type XXX.
109#define s(t)    t StrTo##t(const char *Str);
110#define c(t, x) /* empty */
111#define e(t)    /* empty */
112#include "enums.h"
113
114const char *BoolToStr(bool b);
115const char *SecsToStr(unsigned long Secs);
116
117#endif // types_h
Note: See TracBrowser for help on using the repository browser.