8 * Created by westcott on 10/13/09.
9 * Copyright 2009 Schloss Lab. All rights reserved.
15 #include "nameassignment.hpp"
20 /***********************************************************************/
24 HCluster(RAbundVector*, ListVector*, string, string, NameAssignment*, float);
26 double update(int, int, float);
27 void setMapWanted(bool m);
28 map<string, int> getSeqtoBin() { return seq2Bin; }
29 vector<seqDist> getSeqs();
34 int getUpmostParent(int);
37 void updateArrayandLinkTable();
39 vector<seqDist> getSeqsFNNN();
40 vector<seqDist> getSeqsAN();
43 //seqDist getNextDist(char*, int&, int);
47 NameAssignment* nameMap;
49 vector<clusterNode> clusterArray;
51 //note: the nearest and average neighbor method do not use the link table or active links
52 vector< map<int, int> > linkTable; // vector of maps - linkTable[1][6] = 2 would mean sequence in spot 1 has 2 links with sequence in 6
53 map<int, int> activeLinks; //maps sequence to index in linkTable
54 map<int, int>::iterator it;
55 map<int, int>::iterator itActive;
56 map<int, int>::iterator it2Active;
57 map<int, int>::iterator it2;
62 float smallDist, cutoff;
63 map<string, int> seq2Bin;
64 bool mapWanted, exitedBreak;
66 string method, distfile;
69 vector<seqDist> mergedMin;
76 /***********************************************************************/