9 #include "utilities.hpp"
10 #include "sparsematrix.hpp"
11 #include "rabundvector.hpp"
17 typedef list<PCell>::iterator MatData;
22 Cluster(RAbundVector*, ListVector*, SparseMatrix*);
23 virtual void update() = 0;
26 void getRowColCells();
27 virtual void clusterBins();
28 virtual void clusterNames();
32 SparseMatrix* dMatrix;
37 vector<MatData> rowCells;
38 vector<MatData> colCells;
43 /***********************************************************************/
45 class CompleteLinkage : public Cluster {
47 CompleteLinkage(RAbundVector*, ListVector*, SparseMatrix*);
54 /***********************************************************************/
56 class SingleLinkage : public Cluster {
58 SingleLinkage(RAbundVector*, ListVector*, SparseMatrix*);
65 /***********************************************************************/
67 class AverageLinkage : public Cluster {
69 AverageLinkage(RAbundVector*, ListVector*, SparseMatrix*);
76 /***********************************************************************/