+++ /dev/null
-#ifndef ORDER_H
-#define ORDER_H
-
-#include "datavector.hpp"
-#include "sabundvector.hpp"
-#include "rabundvector.hpp"
-
-/* This class is a child to datavector. It represents OTU information at a certain distance.
- A order vector can be converted into and listvector, rabundvector or sabundvector.
- Each member of the internal container "data" represents the OTU from which it came.
- So in the example below since there are 6 sequences in OTU 1 there are six 1's in the ordervector.
- and since there are 2 sequences in OTU 3 there are two 3's in the ordervector.
- 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 OrderVector : public DataVector {
-
-public:
- OrderVector();
-// OrderVector(int);
-// OrderVector(const OrderVector& ov);
- OrderVector(int ns, int nb=0, int mr=0) : DataVector(), data(ns, -1), maxRank(0), numBins(0), numSeqs(0) {};
- 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();}};
-
-
- OrderVector(string, vector<int>);
- OrderVector(ifstream&);
- ~OrderVector(){};
-
- void set(int, int);
- int get(int);
- void push_back(int);
- void resize(int);
- int size();
- void clear();
- void print(string, ostream&);
- vector<int>::iterator begin();
- vector<int>::iterator end();
-
- void print(ostream&);
-
- int getNumBins();
- int getNumSeqs();
- int getMaxRank();
-
- RAbundVector getRAbundVector();
- SAbundVector getSAbundVector();
- OrderVector getOrderVector(map<string,int>*);
-
-private:
- vector<int> data;
- int maxRank;
- int numBins;
- int numSeqs;
- bool needToUpdate;
- void updateStats();
-};
-
-#endif