class Cluster {
public:
- Cluster(RAbundVector*, ListVector*, SparseDistanceMatrix*, float, string);
+ Cluster(RAbundVector*, ListVector*, SparseDistanceMatrix*, float, string, float);
virtual ~Cluster() {}
virtual void update(double&);
virtual string getTag() = 0;
ull smallRow;
ull smallCol;
- float smallDist;
+ float smallDist, adjust;
bool mapWanted;
float cutoff;
map<string, int> seq2Bin;
class CompleteLinkage : public Cluster {
public:
- CompleteLinkage(RAbundVector*, ListVector*, SparseDistanceMatrix*, float, string);
+ CompleteLinkage(RAbundVector*, ListVector*, SparseDistanceMatrix*, float, string, float);
bool updateDistance(PDistCell& colCell, PDistCell& rowCell);
string getTag();
class SingleLinkage : public Cluster {
public:
- SingleLinkage(RAbundVector*, ListVector*, SparseDistanceMatrix*, float, string);
+ SingleLinkage(RAbundVector*, ListVector*, SparseDistanceMatrix*, float, string, float);
void update(double&);
bool updateDistance(PDistCell& colCell, PDistCell& rowCell);
string getTag();
class AverageLinkage : public Cluster {
public:
- AverageLinkage(RAbundVector*, ListVector*, SparseDistanceMatrix*, float, string);
+ AverageLinkage(RAbundVector*, ListVector*, SparseDistanceMatrix*, float, string, float);
bool updateDistance(PDistCell& colCell, PDistCell& rowCell);
string getTag();
class WeightedLinkage : public Cluster {
public:
- WeightedLinkage(RAbundVector*, ListVector*, SparseDistanceMatrix*, float, string);
+ WeightedLinkage(RAbundVector*, ListVector*, SparseDistanceMatrix*, float, string, float);
bool updateDistance(PDistCell& colCell, PDistCell& rowCell);
string getTag();