--- /dev/null
+#include "muscle.h"\r
+#include "pwpath.h"\r
+#include "timing.h"\r
+#include "textfile.h"\r
+#include "msa.h"\r
+#include "profile.h"\r
+\r
+#if VER_3_52\r
+\r
+#if TIMING\r
+TICKS g_ticksDP = 0;\r
+#endif\r
+\r
+SCORE GlobalAlign(const ProfPos *PA, unsigned uLengthA, const ProfPos *PB,\r
+ unsigned uLengthB, PWPath &Path)\r
+ {\r
+#if TIMING\r
+ TICKS t1 = GetClockTicks();\r
+#endif\r
+ SCORE Score = 0;\r
+ if (g_bDiags)\r
+ Score = GlobalAlignDiags(PA, uLengthA, PB, uLengthB, Path);\r
+ else\r
+ Score = GlobalAlignNoDiags(PA, uLengthA, PB, uLengthB, Path);\r
+#if TIMING\r
+ TICKS t2 = GetClockTicks();\r
+ g_ticksDP += (t2 - t1);\r
+#endif\r
+ return Score;\r
+ }\r
+\r
+SCORE GlobalAlignNoDiags(const ProfPos *PA, unsigned uLengthA, const ProfPos *PB,\r
+ unsigned uLengthB, PWPath &Path)\r
+ {\r
+ if (g_bDimer)\r
+ return GlobalAlignDimer(PA, uLengthA, PB, uLengthB, Path);\r
+\r
+ switch (g_PPScore)\r
+ {\r
+ case PPSCORE_LE:\r
+ return GlobalAlignLE(PA, uLengthA, PB, uLengthB, Path);\r
+\r
+ case PPSCORE_SP:\r
+ case PPSCORE_SV:\r
+ return GlobalAlignSP(PA, uLengthA, PB, uLengthB, Path);\r
+\r
+ case PPSCORE_SPN:\r
+ return GlobalAlignSPN(PA, uLengthA, PB, uLengthB, Path);\r
+ }\r
+\r
+ Quit("Invalid PP score (GlobalAlignNoDiags)");\r
+ return 0;\r
+ }\r
+\r
+#endif // VER_3_52\r