+++ /dev/null
-#ifndef FULLMATRIX_H
-#define FULLMATRIX_H
-/*
- * fullmatrix.h
- * Mothur
- *
- * Created by Sarah Westcott on 3/6/09.
- * Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
- *
- */
-
-#include "mothur.h"
-#include "groupmap.h"
-#include "progress.hpp"
-
-
-struct Names {
- string seqName;
- string groupName;
-};
-
-class FullMatrix {
-
-public:
- //FullMatrix(){ m = MothurOut::getInstance(); }
- FullMatrix(ifstream&, GroupMap*, bool);
- ~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.
- 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 swapRows(int, int);
-
- GroupMap* groupmap; //maps sequences to groups they belong to.
- int numSeqs;
- int numGroups;
- int numUserGroups;
- bool sim;
- MothurOut* m;
-};
-
-#endif