]> git.donarmstrong.com Git - mothur.git/blobdiff - fullmatrix.h
dist.seqs can now use n processors, and only outputs the phylip formatted distance...
[mothur.git] / fullmatrix.h
index 4fe11451ea7bc612e1b50397bd82328bbe2195c3..95c472fd4f1951f5bbee064a764eb6016a2ed956 100644 (file)
 
 #include "mothur.h"
 #include "groupmap.h"
+#include "globaldata.hpp"
+#include "progress.hpp"
+
+
+struct Names {
+       string          seqName;
+       string          groupName;
+};
 
 class FullMatrix {
        
 public:
        FullMatrix(){};
        FullMatrix(ifstream&);
-       ~FullMatrix();
+       ~FullMatrix(){};
        
        int getNumSeqs();
+       vector<int> getSizes();
+       vector<string> getGroups();
+       int getNumGroups();
+       void printMatrix(ostream&);
+       float get(int, int);
        
 private:
-       void sortGroups();  //this function sorts the sequences within the matrix.  
        vector< vector<float> > matrix;  //a 2D distance matrix of all the sequences and their distances to eachother.
+       void readSquareMatrix(ifstream&);  
+       void readLTMatrix(ifstream&);
+       vector<Names> index; // row in vector, sequence group.  need to know this so when we sort it can be updated.
+       vector<int> sizes;
+       vector<string> groups;
+       void sortGroups(int, int);  //this function sorts the sequences within the matrix.
+       
+       
        GroupMap* groupmap;  //maps sequences to groups they belong to.
        int numSeqs;
-
+       int numGroups;
+       int numUserGroups;
+       GlobalData* globaldata;
 };
 
 #endif
\ No newline at end of file