]> git.donarmstrong.com Git - mothur.git/blobdiff - hcluster.h
changes while testing
[mothur.git] / hcluster.h
index 065d559d1223865313b95a32f20dd6fb14fc5fc0..d8598867a7bf247509a7736203a5ef505ce70f9e 100644 (file)
@@ -21,12 +21,12 @@ class ListVector;
 class HCluster {
        
 public:
-       HCluster(RAbundVector*, ListVector*, string);
+       HCluster(RAbundVector*, ListVector*, string, string, NameAssignment*, float);
        ~HCluster(){};
-    void update(int, int, float);
+    double update(int, int, float);
        void setMapWanted(bool m); 
        map<string, int> getSeqtoBin()  {  return seq2Bin;      }
-       vector<seqDist> getSeqs(ifstream&, NameAssignment*, float);
+       vector<seqDist> getSeqs();
 
 protected:     
        void clusterBins();
@@ -36,24 +36,40 @@ protected:
        void printInfo();
        void updateArrayandLinkTable();
        void updateMap();
+       vector<seqDist> getSeqsFNNN();
+       vector<seqDist> getSeqsAN();
+       int combineFile();
+       int processFile();
+       //seqDist getNextDist(char*, int&, int);
                
        RAbundVector* rabund;
        ListVector* list;
+       NameAssignment* nameMap;
        
        vector<clusterNode> clusterArray;
+       
+       //note: the nearest and average neighbor method do not use the link table or active links
        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
        map<int, int> activeLinks;  //maps sequence to index in linkTable
        map<int, int>::iterator it;
+       map<int, int>::iterator itActive;
+       map<int, int>::iterator it2Active;
        map<int, int>::iterator it2;
        
        int numSeqs;
        int smallRow;
        int smallCol;
-       float smallDist;
+       float smallDist, cutoff;
        map<string, int> seq2Bin;
        bool mapWanted, exitedBreak;
        seqDist next;
-       string method;
+       string method, distfile;
+       ifstream filehandle;
+       
+       vector<seqDist> mergedMin;
+       string partialDist;
+       MothurOut* m;
+       
        
 };