4 #include "datavector.hpp"
6 /* Data Structure for a rabund file.
7 This class is a child to datavector. It represents OTU information at a certain distance.
8 A rabundvector can be converted into and ordervector, listvector or sabundvector.
9 Each member of the internal container "data" represents an individual OTU.
10 So data[0] = 6, because there are six member in that OTU.
11 example: listvector = a,b,c,d,e,f g,h,i j,k l m
12 rabundvector = 6 3 2 1 1
13 sabundvector = 2 1 1 0 0 1
14 ordervector = 1 1 1 1 1 1 2 2 2 3 3 4 5 */
19 class RAbundVector : public DataVector {
24 RAbundVector(vector<int>, int, int, int);
25 // RAbundVector(const RAbundVector&);
26 RAbundVector(string, vector<int>);
27 RAbundVector(const RAbundVector& bv) : DataVector(bv), data(bv.data), maxRank(bv.maxRank), numBins(bv.numBins), numSeqs(bv.numSeqs){};
28 RAbundVector(ifstream&);
46 vector<int>::reverse_iterator rbegin();
47 vector<int>::reverse_iterator rend();
50 void print(string, ostream&);
51 void nonSortedPrint(ostream&);
53 RAbundVector getRAbundVector();
54 SAbundVector getSAbundVector();
55 OrderVector getOrderVector(map<string,int>*);