4 #include <Carbon/Carbon.h>
5 #include "datavector.hpp"
9 /* This class is a child to datavector. It represents OTU information at a certain distance.
10 A list vector can be converted into and ordervector, rabundvector or sabundvector.
11 Each member of the internal container "data" represents an individual OTU.
12 So data[0] = "a,b,c,d,e,f".
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 */
18 class ListVector : public DataVector {
23 // ListVector(const ListVector&);
24 ListVector(string, vector<string>);
25 ListVector(const ListVector& lv) : DataVector(lv.label), data(lv.data), maxRank(lv.maxRank), numBins(lv.numBins), numSeqs(lv.numSeqs){};
26 ListVector(ifstream&);
29 int getNumBins() { return numBins; }
30 int getNumSeqs() { return numSeqs; }
31 int getMaxRank() { return maxRank; }
33 void set(int, string);
35 void push_back(string);
41 RAbundVector getRAbundVector();
42 SAbundVector getSAbundVector();
43 OrderVector getOrderVector(map<string,int>*);
46 vector<string> data; //data[i] is a list of names of sequences in the ith OTU.