6 * sharedSharedSAbundVector.h
9 * Created by Sarah Westcott on 12/10/08.
10 * Copyright 2008 Schloss Lab UMASS Amherst. All rights reserved.
14 #include "datavector.hpp"
15 #include "rabundvector.hpp"
16 #include "ordervector.hpp"
17 #include "sharedordervector.h"
18 #include "sharedrabundvector.h"
20 /* This class is a child to datavector. It represents OTU information at a certain distance.
21 It is similiar to an sabundvector except each member of data knows which group it belongs to.
22 Each member of the internal container "data" is a struct of type individual.
23 An individual which knows the OTU from which it came,
24 the group it is in and its abundance. */
27 class SharedSAbundVector : public DataVector {
31 SharedSAbundVector(int);
32 SharedSAbundVector(const SharedSAbundVector& rv) : DataVector(rv.label), data(rv.data), maxRank(rv.maxRank), numBins(rv.numBins), numSeqs(rv.numSeqs){};
33 ~SharedSAbundVector(){};
39 void setGroup(string);
41 void set(int, int, string); //OTU, abundance, group
43 int getAbundance(int);
44 void push_back(int, int, string); //abundance, OTU, group
52 RAbundVector getRAbundVector();
53 SAbundVector getSAbundVector();
54 OrderVector getOrderVector(map<string,int>*);
55 SharedSAbundVector getSharedSAbundVector();
56 SharedRAbundVector getSharedRAbundVector();
57 SharedOrderVector getSharedOrderVector();
60 vector<individual> data;