]> git.donarmstrong.com Git - mothur.git/blobdiff - sharedordervector.h
minor bugs fixes and added line and label options to read.otu's parselist and shared...
[mothur.git] / sharedordervector.h
index ef9d6a75b9821ff013a7e94d0c3f67f57886bcf8..94d91c5756da05a608253694a307ad6ea931baed 100644 (file)
@@ -5,14 +5,19 @@
  *  Dotur
  *
  *  Created by Sarah Westcott on 12/9/08.
- *  Copyright 2008 __MyCompanyName__. All rights reserved.
+ *  Copyright 2008 Schloss Lab UMASS Amherst. All rights reserved.
  *
  */
+ /* This class is a child to datavector.  It represents OTU information at a certain distance. 
+       It is similiar to an order vector except each member of data knows which group it belongs to.
+       Each member of the internal container "data" represents is an individual which knows the OTU from which it came, 
+       the group it is in and the abundance is equal to the OTU number.  */
+
+
+using namespace std;
 
-#include <Carbon/Carbon.h>
 #include "datavector.hpp"
-#include "sabundvector.hpp"
-#include "rabundvector.hpp"
 
 struct individual {
                string group;
@@ -20,6 +25,12 @@ struct individual {
                int abundance;
 };
 
+#include "sabundvector.hpp"
+#include "rabundvector.hpp"
+#include "sharedrabundvector.h"
+#include "sharedsabundvector.h"
+#include "globaldata.hpp"
+#include "groupmap.h"
 
 class SharedOrderVector : public DataVector {
        
@@ -29,12 +40,12 @@ public:
        SharedOrderVector(const SharedOrderVector& ov)  : DataVector(ov.label), data(ov.data), maxRank(ov.maxRank), numBins(ov.numBins), numSeqs(ov.numSeqs), needToUpdate(ov.needToUpdate) {if(needToUpdate == 1){     updateStats();}};
 
        SharedOrderVector(string, vector<individual>);
-//     SharedOrderVector(ifstream&);
+       SharedOrderVector(ifstream&);
        ~SharedOrderVector(){};
        
-       void set(int, int, int, string);
+       void set(int, int, int, string);        //index, OTU, abundance, group
        individual get(int);
-       void push_back(int, int, string);
+       void push_back(int, int, string);  //OTU, abundance, group
        void resize(int);
        int size();
        void print(ostream&);
@@ -50,8 +61,12 @@ public:
        SAbundVector getSAbundVector();
        OrderVector getOrderVector(map<string,int>*);
        SharedOrderVector getSharedOrderVector();
+       SharedRAbundVector getSharedRAbundVector(string);  //get the sharedRabundvector for a sepecific group
+       SharedSAbundVector getSharedSAbundVector(string);       //get the sharedSabundvector for a sepecific group
        
 private:
+       GlobalData* globaldata;
+       GroupMap* groupmap;
        vector<individual>  data; 
        map< int, vector<individual> >::iterator it;
        int maxRank;