]> git.donarmstrong.com Git - mothur.git/blobdiff - rabundvector.hpp
working on pam
[mothur.git] / rabundvector.hpp
index 327b29b5dc8fa881ca8f8f543c1f5f293974cda8..c7222291e714d3b23879e594a8fcf51bc9ce331d 100644 (file)
@@ -3,7 +3,8 @@
 
 #include "datavector.hpp"
 
-/* This class is a child to datavector.  It represents OTU information at a certain distance. 
+/*  Data Structure for a rabund file.
+    This class is a child to datavector.  It represents OTU information at a certain distance. 
        A rabundvector can be converted into and ordervector, listvector or sabundvector.
        Each member of the internal container "data" represents an individual OTU.
        So data[0] = 6, because there are six member in that OTU.
                         sabundvector   =       2               1               1               0               0               1
                         ordervector    =       1       1       1       1       1       1       2       2       2       3       3       4       5 */
 
+//class SAbundVector;
+//class OrderVector;
+
 class RAbundVector : public DataVector {
        
 public:
        RAbundVector();
        RAbundVector(int);
+       RAbundVector(vector<int>, int, int, int);
 //     RAbundVector(const RAbundVector&);
        RAbundVector(string, vector<int>);
        RAbundVector(const RAbundVector& bv) : DataVector(bv), data(bv.data), maxRank(bv.maxRank), numBins(bv.numBins), numSeqs(bv.numSeqs){};
@@ -33,11 +38,17 @@ public:
        void pop_back();
        void resize(int);
        int size();
+       void quicksort();
+       int sum();
+       int sum(int);
+       int numNZ();
+       void clear();
        vector<int>::reverse_iterator rbegin();
        vector<int>::reverse_iterator rend();
        
        void print(ostream&);
        void print(string, ostream&);
+       void nonSortedPrint(ostream&);
        
        RAbundVector getRAbundVector();
        SAbundVector getSAbundVector();