class FullMatrix {
public:
- FullMatrix(){};
+ FullMatrix(){ m = MothurOut::getInstance(); }
FullMatrix(ifstream&);
~FullMatrix(){};
int getNumSeqs();
vector<int> getSizes();
vector<string> getGroups();
+ void setGroups(vector<string> names) { groups = names; }
+ void setSizes(vector<int> s) { sizes = s; }
int getNumGroups();
void printMatrix(ostream&);
float get(int, int);
+ Names getRowInfo(int row) { return index[row]; }
private:
vector< vector<float> > matrix; //a 2D distance matrix of all the sequences and their distances to eachother.
- void readSquareMatrix(ifstream&);
- void readLTMatrix(ifstream&);
+ int readSquareMatrix(ifstream&);
+ int 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.
+ 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