4 #include "datavector.hpp"
5 #include "sabundvector.hpp"
6 #include "rabundvector.hpp"
8 /* This class is a child to datavector. It represents OTU information at a certain distance.
9 A order vector can be converted into and listvector, rabundvector or sabundvector.
10 Each member of the internal container "data" represents the OTU from which it came.
11 So in the example below since there are 6 sequences in OTU 1 there are six 1's in the ordervector.
12 and since there are 2 sequences in OTU 3 there are two 3's in the ordervector.
13 example: listvector = a,b,c,d,e,f g,h,i j,k l m
14 rabundvector = 6 3 2 1 1
15 sabundvector = 2 1 1 0 0 1
16 ordervector = 1 1 1 1 1 1 2 2 2 3 3 4 5 */
19 class OrderVector : public DataVector {
24 // OrderVector(const OrderVector& ov);
25 OrderVector(int ns, int nb=0, int mr=0) : DataVector(), data(ns, -1), maxRank(0), numBins(0), numSeqs(0) {};
26 OrderVector(const OrderVector& ov) : DataVector(ov.label), data(ov.data), maxRank(ov.maxRank), numBins(ov.numBins), numSeqs(ov.numSeqs), needToUpdate(ov.needToUpdate) {if(needToUpdate == 1){ updateStats();}};
29 OrderVector(string, vector<int>);
30 OrderVector(ifstream&);
39 void print(string, ostream&);
40 vector<int>::iterator begin();
41 vector<int>::iterator end();
49 RAbundVector getRAbundVector();
50 SAbundVector getSAbundVector();
51 OrderVector getOrderVector(map<string,int>*);