]> git.donarmstrong.com Git - mothur.git/blobdiff - sharedrabundvector.h
added groups option to read.otu, added qtrim option to trim.seqs, fixed bug in get...
[mothur.git] / sharedrabundvector.h
index 92f71cdd75eca67df59f1f5cc548e61fe162b41e..14ec1b8e95d1aebea828c804ea1abc2e75b27217 100644 (file)
@@ -14,6 +14,7 @@
 #include "sharedordervector.h"
 #include "sharedsabundvector.h"
 #include "rabundvector.hpp"
+#include "groupmap.h"
 
 /* This class is a child to datavector.  It represents OTU information at a certain distance. 
        It is similiar to an rabundvector except each member of data knows which group it belongs to.
@@ -21,7 +22,7 @@
        An individual which knows the OTU from which it came, 
        the group it is in and its abundance.  */
 
-
+class GlobalData;
 
 class SharedRAbundVector : public DataVector {
        
@@ -29,8 +30,8 @@ public:
        SharedRAbundVector();
        SharedRAbundVector(int);
        //SharedRAbundVector(string, vector<int>);
-       SharedRAbundVector(const SharedRAbundVector& bv) : DataVector(bv), data(bv.data), maxRank(bv.maxRank), numBins(bv.numBins), numSeqs(bv.numSeqs){};
-    //SharedRAbundVector(ifstream&);
+       SharedRAbundVector(const SharedRAbundVector& bv) : DataVector(bv), data(bv.data), maxRank(bv.maxRank), numBins(bv.numBins), numSeqs(bv.numSeqs), group(bv.group), index(bv.index){};
+    SharedRAbundVector(ifstream&);
        ~SharedRAbundVector();
 
        int getNumBins();               
@@ -48,7 +49,9 @@ public:
        int getAbundance(int);
        int numNZ();
        void sortD();  //Sorts the data in descending order.
-       void push_back(int, int, string);  //abundance, OTU, groupname
+       void push_front(int, int, string); //abundance, otu, groupname
+       void insert(int, int, string); //abundance, otu, groupname
+       void push_back(int, int, string);  //abundance, otu, groupname
        void pop_back();
        void resize(int);
        int size();
@@ -64,9 +67,13 @@ public:
        SharedOrderVector getSharedOrderVector();
        SharedSAbundVector getSharedSAbundVector();
        SharedRAbundVector getSharedRAbundVector();
+       vector<SharedRAbundVector*> getSharedRAbundVectors();
        
 private:
        vector<individual>  data; 
+       vector<SharedRAbundVector*> lookup;
+       GlobalData* globaldata;
+       GroupMap* groupmap;
        int maxRank;
        int numBins;
        int numSeqs;