#include "datavector.hpp"
#include "sharedordervector.h"
#include "sharedsabundvector.h"
+#include "sharedrabundfloatvector.h"
#include "rabundvector.hpp"
-#include "groupmap.h"
+//#include "groupmap.h"
/* 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.
An individual which knows the OTU from which it came,
the group it is in and its abundance. */
-class GlobalData;
+//class GlobalData;
class SharedRAbundVector : public DataVector {
int getMaxRank();
string getGroup();
void setGroup(string);
+ string getBinLabel();
+ void setBinLabel(string);
int getGroupIndex();
void setGroupIndex(int);
void pop_back();
void resize(int);
int size();
+ void clear();
vector<individual>::reverse_iterator rbegin();
vector<individual>::reverse_iterator rend();
void print(ostream&);
+ void printHeaders(ostream&);
RAbundVector getRAbundVector();
RAbundVector getRAbundVector2();
SharedSAbundVector getSharedSAbundVector();
SharedRAbundVector getSharedRAbundVector();
vector<SharedRAbundVector*> getSharedRAbundVectors();
+ vector<SharedRAbundFloatVector*> getSharedRAbundFloatVectors(vector<SharedRAbundVector*>);
private:
vector<individual> data;
vector<SharedRAbundVector*> lookup;
- GlobalData* globaldata;
- GroupMap* groupmap;
+ //GlobalData* globaldata;
+ //GroupMap* groupmap;
int maxRank;
int numBins;
int numSeqs;
string group;
int index;
+
+ int eliminateZeroOTUS(vector<SharedRAbundVector*>&);
};