2 #include "distfunc.h"
\r
5 void DistPWScoreDist(const SeqVect &v, DistFunc &DF);
\r
7 void DistUnaligned(const SeqVect &v, DISTANCE DistMethod, DistFunc &DF)
\r
9 const unsigned uSeqCount = v.Length();
\r
13 case DISTANCE_Kmer6_6:
\r
17 case DISTANCE_Kmer20_3:
\r
18 DistKmer20_3(v, DF);
\r
21 case DISTANCE_Kmer20_4:
\r
22 FastDistKmer(v, DF);
\r
25 case DISTANCE_Kbit20_3:
\r
26 DistKbit20_3(v, DF);
\r
29 case DISTANCE_Kmer4_6:
\r
33 case DISTANCE_PWKimura:
\r
34 DistPWKimura(v, DF);
\r
37 case DISTANCE_PWScoreDist:
\r
38 DistPWScoreDist(v, DF);
\r
42 Quit("DistUnaligned, unsupported distance method %d", DistMethod);
\r
45 // const char **SeqNames = (const char **) malloc(uSeqCount*sizeof(char *));
\r
46 for (unsigned uSeqIndex = 0; uSeqIndex < uSeqCount; ++uSeqIndex)
\r
48 const Seq &s = *(v[uSeqIndex]);
\r
50 const char *ptrName = s.GetName();
\r
51 unsigned uId = s.GetId();
\r
53 DF.SetName(uSeqIndex, ptrName);
\r
54 DF.SetId(uSeqIndex, uId);
\r