X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=sharedrabundvector.h;h=419d15a15af7b73872c2678675aff1a4f564c759;hp=92f71cdd75eca67df59f1f5cc548e61fe162b41e;hb=1a20e24ee786195ab0e1cccd4f5aede7a88f3f4e;hpb=eb1c88346fb246e95a6b38935b103f95e38b82ca diff --git a/sharedrabundvector.h b/sharedrabundvector.h index 92f71cd..419d15a 100644 --- a/sharedrabundvector.h +++ b/sharedrabundvector.h @@ -13,24 +13,26 @@ #include "datavector.hpp" #include "sharedordervector.h" #include "sharedsabundvector.h" +#include "sharedrabundfloatvector.h" #include "rabundvector.hpp" +//#include "groupmap.h" -/* This class is a child to datavector. It represents OTU information at a certain distance. +/* DataStructure for a shared file. + This class is a child to datavector. It represents OTU information at a certain distance. It is similiar to an rabundvector except each member of data knows which group it belongs to. Each member of the internal container "data" is a struct of type individual. An individual which knows the OTU from which it came, the group it is in and its abundance. */ - class SharedRAbundVector : public DataVector { public: SharedRAbundVector(); SharedRAbundVector(int); //SharedRAbundVector(string, vector); - SharedRAbundVector(const SharedRAbundVector& bv) : DataVector(bv), data(bv.data), maxRank(bv.maxRank), numBins(bv.numBins), numSeqs(bv.numSeqs){}; - //SharedRAbundVector(ifstream&); + SharedRAbundVector(const SharedRAbundVector& bv) : DataVector(bv), data(bv.data), maxRank(bv.maxRank), numBins(bv.numBins), numSeqs(bv.numSeqs), group(bv.group), index(bv.index){}; + SharedRAbundVector(ifstream&); ~SharedRAbundVector(); int getNumBins(); @@ -38,6 +40,8 @@ public: int getMaxRank(); string getGroup(); void setGroup(string); + string getBinLabel(); + void setBinLabel(string); int getGroupIndex(); void setGroupIndex(int); @@ -48,14 +52,18 @@ public: int getAbundance(int); int numNZ(); void sortD(); //Sorts the data in descending order. - void push_back(int, int, string); //abundance, OTU, groupname + void push_front(int, int, string); //abundance, otu, groupname + void insert(int, int, string); //abundance, otu, groupname + void push_back(int, string); //abundance, groupname void pop_back(); void resize(int); int size(); + void clear(); vector::reverse_iterator rbegin(); vector::reverse_iterator rend(); void print(ostream&); + void printHeaders(ostream&); RAbundVector getRAbundVector(); RAbundVector getRAbundVector2(); @@ -64,14 +72,21 @@ public: SharedOrderVector getSharedOrderVector(); SharedSAbundVector getSharedSAbundVector(); SharedRAbundVector getSharedRAbundVector(); + vector getSharedRAbundVectors(); + vector getSharedRAbundFloatVectors(vector); private: vector data; + vector lookup; + //GlobalData* globaldata; + //GroupMap* groupmap; int maxRank; int numBins; int numSeqs; string group; int index; + + int eliminateZeroOTUS(vector&); };