class RAbundVector;
class ListVector;
-/***********************************************************************/
-struct linkNode {
- int links;
- float dist;
-
- linkNode() {};
- linkNode(int l, float a) : links(l), dist(a) {};
- ~linkNode() {};
-};
-
/***********************************************************************/
class HCluster {
public:
HCluster(RAbundVector*, ListVector*, string, string, NameAssignment*, float);
~HCluster(){};
- bool update(int, int, float);
+ double update(int, int, float);
void setMapWanted(bool m);
map<string, int> getSeqtoBin() { return seq2Bin; }
vector<seqDist> getSeqs();
void updateMap();
vector<seqDist> getSeqsFNNN();
vector<seqDist> getSeqsAN();
- void combineFile();
- void processFile();
- seqDist getNextDist(char*, int&, int);
+ int combineFile();
+ int processFile();
+ //seqDist getNextDist(char*, int&, int);
RAbundVector* rabund;
ListVector* list;
int smallCol;
float smallDist, cutoff;
map<string, int> seq2Bin;
- bool mapWanted, exitedBreak, firstRead;
+ bool mapWanted, exitedBreak;
seqDist next;
string method, distfile;
ifstream filehandle;
vector<seqDist> mergedMin;
string partialDist;
+ MothurOut* m;
};