7 #include "utilities.hpp"
8 #include "sparsematrix.hpp"
9 #include "rabundvector.hpp"
15 typedef list<PCell>::iterator MatData;
20 Cluster(RAbundVector*, ListVector*, SparseMatrix*);
21 virtual void update() = 0;
24 void getRowColCells();
25 virtual void clusterBins();
26 virtual void clusterNames();
30 SparseMatrix* dMatrix;
35 vector<MatData> rowCells;
36 vector<MatData> colCells;
41 /***********************************************************************/
43 class CompleteLinkage : public Cluster {
45 CompleteLinkage(RAbundVector*, ListVector*, SparseMatrix*);
52 /***********************************************************************/
54 class SingleLinkage : public Cluster {
56 SingleLinkage(RAbundVector*, ListVector*, SparseMatrix*);
63 /***********************************************************************/
65 class AverageLinkage : public Cluster {
67 AverageLinkage(RAbundVector*, ListVector*, SparseMatrix*);
74 /***********************************************************************/