]> git.donarmstrong.com Git - mothur.git/blob - alnparams.h
b159179098426ae1eaac9ab11c20251b15c9e0dc
[mothur.git] / alnparams.h
1 //uchime by Robert C. Edgar http://drive5.com/uchime This code is donated to the public domain.\r
2 \r
3 #ifndef alnparams_h\r
4 #define alnparams_h\r
5 \r
6 struct HSPData;\r
7 \r
8 // Gap penalty scores are negative\r
9 // (i.e., are scores, not penalties).\r
10 struct AlnParams\r
11         {\r
12         const char *SubstMxName;\r
13         const float * const *SubstMx;\r
14 \r
15         bool Nucleo;\r
16         bool NucleoSet;\r
17 \r
18 // Local gaps\r
19         float LocalOpen;\r
20         float LocalExt;\r
21 \r
22 // Global internal gaps\r
23         float OpenA;\r
24         float OpenB;\r
25 \r
26         float ExtA;\r
27         float ExtB;\r
28 \r
29 // Global terminal gaps\r
30         float LOpenA;\r
31         float LOpenB;\r
32         float ROpenA;\r
33         float ROpenB;\r
34 \r
35         float LExtA;\r
36         float LExtB;\r
37         float RExtA;\r
38         float RExtB;\r
39 \r
40         void Clear();\r
41         void SetLocal(float Open, float Ext);\r
42         void Init2(const float * const *Mx, float Open, float Ext);\r
43         void Init4(const float * const *Mx, float Open, float Ext, float TermOpen, float TermExt);\r
44         void Init(const AlnParams &AP, const HSPData &HSP, unsigned LA, unsigned LB);\r
45         void InitFromCmdLine(bool Nucleo);\r
46         void SetMxFromCmdLine(bool Nucleo);\r
47         void SetPenalties(const string &OpenStr, const string &ExtStr);\r
48         float GetLocalOpen() const;\r
49         float GetLocalExt() const;\r
50         bool GetIsNucleo() const;\r
51 \r
52         bool Is2() const;\r
53         bool Is4() const;\r
54         const char *GetType() const;\r
55 \r
56         void LogMe() const;\r
57         };\r
58 \r
59 const float OBVIOUSLY_WRONG_PENALTY = 1000.0;\r
60 \r
61 #endif // alnparams_h\r