#define LIST_H
#include "datavector.hpp"
-#include "groupmap.h"
-#include "globaldata.hpp"
-#include "sharedordervector.h"
-#include <iostream>
-#include <map>
+/* DataStructure for a list file.
+ This class is a child to datavector. It represents OTU information at a certain distance.
+ A list vector can be converted into and ordervector, rabundvector or sabundvector.
+ Each member of the internal container "data" represents an individual OTU.
+ So data[0] = "a,b,c,d,e,f".
+ example: listvector = a,b,c,d,e,f g,h,i j,k l m
+ rabundvector = 6 3 2 1 1
+ sabundvector = 2 1 1 0 0 1
+ ordervector = 1 1 1 1 1 1 2 2 2 3 3 4 5 */
class ListVector : public DataVector {
RAbundVector getRAbundVector();
SAbundVector getSAbundVector();
OrderVector getOrderVector(map<string,int>*);
- SharedOrderVector* getSharedOrderVector();
private:
- vector<string> data;
- GlobalData* globaldata;
- GroupMap* groupmap;
+ vector<string> data; //data[i] is a list of names of sequences in the ith OTU.
int maxRank;
int numBins;
int numSeqs;