8 * Created by westcott on 10/13/09.
9 * Copyright 2009 Schloss Lab. All rights reserved.
15 #include "nameassignment.hpp"
20 /***********************************************************************/
26 linkNode(int l, float a) : links(l), dist(a) {};
30 /***********************************************************************/
34 HCluster(RAbundVector*, ListVector*, string, string, NameAssignment*, float);
36 bool update(int, int, float);
37 void setMapWanted(bool m);
38 map<string, int> getSeqtoBin() { return seq2Bin; }
39 vector<seqDist> getSeqs();
44 int getUpmostParent(int);
47 void updateArrayandLinkTable();
49 vector<seqDist> getSeqsFNNN();
50 vector<seqDist> getSeqsAN();
53 //seqDist getNextDist(char*, int&, int);
57 NameAssignment* nameMap;
59 vector<clusterNode> clusterArray;
61 //note: the nearest and average neighbor method do not use the link table or active links
62 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
63 map<int, int> activeLinks; //maps sequence to index in linkTable
64 map<int, int>::iterator it;
65 map<int, int>::iterator itActive;
66 map<int, int>::iterator it2Active;
67 map<int, int>::iterator it2;
72 float smallDist, cutoff;
73 map<string, int> seq2Bin;
74 bool mapWanted, exitedBreak;
76 string method, distfile;
79 vector<seqDist> mergedMin;
85 /***********************************************************************/