1 | #include "muscle.h" |
---|
2 | #include "pwpath.h" |
---|
3 | #include "timing.h" |
---|
4 | #include "textfile.h" |
---|
5 | #include "msa.h" |
---|
6 | #include "profile.h" |
---|
7 | |
---|
8 | #if VER_3_52 |
---|
9 | |
---|
10 | #if TIMING |
---|
11 | TICKS g_ticksDP = 0; |
---|
12 | #endif |
---|
13 | |
---|
14 | SCORE GlobalAlign(const ProfPos *PA, unsigned uLengthA, const ProfPos *PB, |
---|
15 | unsigned uLengthB, PWPath &Path) |
---|
16 | { |
---|
17 | #if TIMING |
---|
18 | TICKS t1 = GetClockTicks(); |
---|
19 | #endif |
---|
20 | SCORE Score = 0; |
---|
21 | if (g_bDiags) |
---|
22 | Score = GlobalAlignDiags(PA, uLengthA, PB, uLengthB, Path); |
---|
23 | else |
---|
24 | Score = GlobalAlignNoDiags(PA, uLengthA, PB, uLengthB, Path); |
---|
25 | #if TIMING |
---|
26 | TICKS t2 = GetClockTicks(); |
---|
27 | g_ticksDP += (t2 - t1); |
---|
28 | #endif |
---|
29 | return Score; |
---|
30 | } |
---|
31 | |
---|
32 | SCORE GlobalAlignNoDiags(const ProfPos *PA, unsigned uLengthA, const ProfPos *PB, |
---|
33 | unsigned uLengthB, PWPath &Path) |
---|
34 | { |
---|
35 | if (g_bDimer) |
---|
36 | return GlobalAlignDimer(PA, uLengthA, PB, uLengthB, Path); |
---|
37 | |
---|
38 | switch (g_PPScore) |
---|
39 | { |
---|
40 | case PPSCORE_LE: |
---|
41 | return GlobalAlignLE(PA, uLengthA, PB, uLengthB, Path); |
---|
42 | |
---|
43 | case PPSCORE_SP: |
---|
44 | case PPSCORE_SV: |
---|
45 | return GlobalAlignSP(PA, uLengthA, PB, uLengthB, Path); |
---|
46 | |
---|
47 | case PPSCORE_SPN: |
---|
48 | return GlobalAlignSPN(PA, uLengthA, PB, uLengthB, Path); |
---|
49 | } |
---|
50 | |
---|
51 | Quit("Invalid PP score (GlobalAlignNoDiags)"); |
---|
52 | return 0; |
---|
53 | } |
---|
54 | |
---|
55 | #endif // VER_3_52 |
---|