X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=fullmatrix.h;h=e2c0e31b5fa8e4ed81ced8ba88b61fc4620adbf3;hb=d01397212a287495d3d0ec00beea93759bf25402;hp=4fe11451ea7bc612e1b50397bd82328bbe2195c3;hpb=8aaea67a29205b8d3fe787d94d0dc5987858d2e6;p=mothur.git diff --git a/fullmatrix.h b/fullmatrix.h index 4fe1145..e2c0e31 100644 --- a/fullmatrix.h +++ b/fullmatrix.h @@ -11,22 +11,49 @@ #include "mothur.h" #include "groupmap.h" +#include "globaldata.hpp" +#include "progress.hpp" + + +struct Names { + string seqName; + string groupName; +}; class FullMatrix { public: - FullMatrix(){}; + FullMatrix(){ m = MothurOut::getInstance(); } FullMatrix(ifstream&); - ~FullMatrix(); + ~FullMatrix(){}; int getNumSeqs(); + vector getSizes(); + vector getGroups(); + void setGroups(vector names) { groups = names; } + void setSizes(vector s) { sizes = s; } + int getNumGroups(); + void printMatrix(ostream&); + float get(int, int); + Names getRowInfo(int row) { return index[row]; } private: - void sortGroups(); //this function sorts the sequences within the matrix. vector< vector > matrix; //a 2D distance matrix of all the sequences and their distances to eachother. + int readSquareMatrix(ifstream&); + int readLTMatrix(ifstream&); + vector index; // row in vector, sequence group. need to know this so when we sort it can be updated. + vector sizes; + vector groups; + + void sortGroups(int, int); //this function sorts the sequences within the matrix. + void swapRows(int, int); + GroupMap* groupmap; //maps sequences to groups they belong to. int numSeqs; - + int numGroups; + int numUserGroups; + GlobalData* globaldata; + MothurOut* m; }; -#endif \ No newline at end of file +#endif