8
TICKS g_ticksObjScore = 0;
11
SCORE ObjScore(const MSA &msa, const unsigned SeqIndexes1[],
12
unsigned uSeqCount1, const unsigned SeqIndexes2[], unsigned uSeqCount2)
15
TICKS t1 = GetClockTicks();
17
const unsigned uSeqCount = msa.GetSeqCount();
19
OBJSCORE OS = g_ObjScore;
20
if (g_ObjScore == OBJSCORE_SPM)
35
MSAFromSeqSubset(msa, SeqIndexes1, uSeqCount1, msa1);
36
MSAFromSeqSubset(msa, SeqIndexes2, uSeqCount2, msa2);
38
SetMSAWeightsMuscle(msa1);
39
SetMSAWeightsMuscle(msa2);
45
// Yuck -- casting away const (design flaw)
46
SetMSAWeightsMuscle((MSA &) msa);
54
Score = ObjScoreSP(msa);
58
Score = ObjScoreDP(msa1, msa2);
62
Score = ObjScoreXP(msa1, msa2);
66
Score = ObjScorePS(msa);
70
Score = ObjScoreSPDimer(msa);
74
Quit("Invalid g_ObjScore=%d", g_ObjScore);
77
TICKS t2 = GetClockTicks();
78
g_ticksObjScore += (t2 - t1);
83
SCORE ObjScoreIds(const MSA &msa, const unsigned Ids1[],
84
unsigned uCount1, const unsigned Ids2[], unsigned uCount2)
87
TICKS t1 = GetClockTicks();
89
unsigned *SeqIndexes1 = new unsigned[uCount1];
90
unsigned *SeqIndexes2 = new unsigned[uCount2];
92
for (unsigned n = 0; n < uCount1; ++n)
93
SeqIndexes1[n] = msa.GetSeqIndex(Ids1[n]);
95
for (unsigned n = 0; n < uCount2; ++n)
96
SeqIndexes2[n] = msa.GetSeqIndex(Ids2[n]);
99
extern SCORE ObjScoreDA(const MSA &msa, SCORE *ptrLetters, SCORE *ptrGaps);
101
SCORE dObjScore = ObjScoreDA(msa, &Letters, &Gaps);
103
delete[] SeqIndexes1;
104
delete[] SeqIndexes2;
106
SCORE dObjScore = ObjScore(msa, SeqIndexes1, uCount1, SeqIndexes2, uCount2);
109
TICKS t2 = GetClockTicks();
110
g_ticksObjScore += (t2 - t1);