X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=listvector.hpp;h=b2bc511cfd258da992f9f1b8a44971f4dd29e3e2;hb=250e3b11b1c9c1e1ad458ab6c7e71ac2e67e11d9;hp=dbd61cd0d8f10cba4ea87b4075bbec673f36b19b;hpb=20a2d0350a737a434c89f303662d64a8eeea7b05;p=mothur.git diff --git a/listvector.hpp b/listvector.hpp index dbd61cd..b2bc511 100644 --- a/listvector.hpp +++ b/listvector.hpp @@ -2,12 +2,16 @@ #define LIST_H #include "datavector.hpp" -#include "groupmap.h" -#include "globaldata.hpp" -#include "sharedordervector.h" -#include -#include +/* DataStructure for a list file. + This class is a child to datavector. It represents OTU information at a certain distance. + A list vector can be converted into and ordervector, rabundvector or sabundvector. + Each member of the internal container "data" represents an individual OTU. + So data[0] = "a,b,c,d,e,f". + example: listvector = a,b,c,d,e,f g,h,i j,k l m + rabundvector = 6 3 2 1 1 + sabundvector = 2 1 1 0 0 1 + ordervector = 1 1 1 1 1 1 2 2 2 3 3 4 5 */ class ListVector : public DataVector { @@ -16,7 +20,7 @@ public: ListVector(int); // ListVector(const ListVector&); ListVector(string, vector); - ListVector(const ListVector& lv) : DataVector(lv.label), data(lv.data), maxRank(lv.maxRank), numBins(lv.numBins), numSeqs(lv.numSeqs){}; + ListVector(const ListVector& lv) : DataVector(lv.label), data(lv.data), maxRank(lv.maxRank), numBins(lv.numBins), numSeqs(lv.numSeqs), binLabels(lv.binLabels) {}; ListVector(ifstream&); ~ListVector(){}; @@ -26,24 +30,25 @@ public: void set(int, string); string get(int); + vector getLabels(); + void setLabels(vector); void push_back(string); void resize(int); void clear(); int size(); void print(ostream&); + void printHeaders(ostream&); RAbundVector getRAbundVector(); SAbundVector getSAbundVector(); OrderVector getOrderVector(map*); - SharedOrderVector* getSharedOrderVector(); private: - vector data; - GlobalData* globaldata; - GroupMap* groupmap; + vector data; //data[i] is a list of names of sequences in the ith OTU. int maxRank; int numBins; int numSeqs; + vector binLabels; };