]> git.donarmstrong.com Git - mothur.git/blob - uchime_src/globalalign2.cpp
changes while testing
[mothur.git] / uchime_src / globalalign2.cpp
1 #if     UCHIMES
2
3 #include "dp.h"
4 #include "seq.h"
5
6 static AlnParams g_AP;
7 static bool g_APInitDone = false;
8
9 bool GlobalAlign(const SeqData &Query, const SeqData &Target, PathData &PD)\r
10         {\r
11         if (!g_APInitDone)\r
12                 {\r
13                 g_AP.InitFromCmdLine(true);\r
14                 g_APInitDone = true;\r
15                 }\r
16 \r
17         ViterbiFast(Query.Seq, Query.L, Target.Seq, Target.L, g_AP, PD);\r
18         return true;\r
19         }\r
20 \r
21 bool GlobalAlign(const SeqData &Query, const SeqData &Target, string &Path)\r
22         {\r
23         PathData PD;\r
24         GlobalAlign(Query, Target, PD);\r
25         Path = string(PD.Start);\r
26         return true;\r
27         }\r
28 \r
29 bool GlobalAlign(const SeqData &Query, const SeqData &Target, const AlnParams &/*AP*/,\r
30   const AlnHeuristics &AH, HSPFinder &/*HF*/, float /*MinFractId*/, float &/*HSPId*/, PathData &PD)\r
31         {\r
32         PD.Clear();\r
33         string Path;\r
34         bool Found = GlobalAlign(Query, Target, Path);\r
35         if (!Found)\r
36                 return false;\r
37         unsigned n = SIZE(Path);\r
38         PD.Alloc(n+1);\r
39         memcpy(PD.Front, Path.c_str(), n);\r
40         PD.Start = PD.Front;\r
41         PD.Start[n] = 0;\r
42         return true;\r
43         }\r
44 \r
45 #endif // UCHIMES\r