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