- Cluster(RAbundVector*, ListVector*, SparseMatrix*, float, string);
+ Cluster(RAbundVector*, ListVector*, SparseDistanceMatrix*, float, string);
virtual void update(double&);
virtual string getTag() = 0;
virtual void setMapWanted(bool m);
virtual map<string, int> getSeqtoBin() { return seq2Bin; }
virtual void update(double&);
virtual string getTag() = 0;
virtual void setMapWanted(bool m);
virtual map<string, int> getSeqtoBin() { return seq2Bin; }
-
-protected:
- void getRowColCells();
- void removeCell(const MatData& cell, int vrow, int vcol, bool rmMatrix=true);
-
- virtual bool updateDistance(MatData& colCell, MatData& rowCell) = 0;
-
+
+protected:
+ virtual bool updateDistance(PDistCell& colCell, PDistCell& rowCell) = 0;
+
virtual void clusterBins();
virtual void clusterNames();
virtual void updateMap();
RAbundVector* rabund;
ListVector* list;
virtual void clusterBins();
virtual void clusterNames();
virtual void updateMap();
RAbundVector* rabund;
ListVector* list;
- CompleteLinkage(RAbundVector*, ListVector*, SparseMatrix*, float, string);
- bool updateDistance(MatData& colCell, MatData& rowCell);
+ CompleteLinkage(RAbundVector*, ListVector*, SparseDistanceMatrix*, float, string);
+ bool updateDistance(PDistCell& colCell, PDistCell& rowCell);
};
/***********************************************************************/
class SingleLinkage : public Cluster {
public:
};
/***********************************************************************/
class SingleLinkage : public Cluster {
public:
- SingleLinkage(RAbundVector*, ListVector*, SparseMatrix*, float, string);
+ SingleLinkage(RAbundVector*, ListVector*, SparseDistanceMatrix*, float, string);
};
/***********************************************************************/
class AverageLinkage : public Cluster {
public:
};
/***********************************************************************/
class AverageLinkage : public Cluster {
public:
- AverageLinkage(RAbundVector*, ListVector*, SparseMatrix*, float, string);
- bool updateDistance(MatData& colCell, MatData& rowCell);
+ AverageLinkage(RAbundVector*, ListVector*, SparseDistanceMatrix*, float, string);
+ bool updateDistance(PDistCell& colCell, PDistCell& rowCell);
};
/***********************************************************************/
class WeightedLinkage : public Cluster {
public:
};
/***********************************************************************/
class WeightedLinkage : public Cluster {
public:
- WeightedLinkage(RAbundVector*, ListVector*, SparseMatrix*, float, string);
- bool updateDistance(MatData& colCell, MatData& rowCell);
+ WeightedLinkage(RAbundVector*, ListVector*, SparseDistanceMatrix*, float, string);
+ bool updateDistance(PDistCell& colCell, PDistCell& rowCell);