+++ /dev/null
-#ifndef SHAREDRABUNDVECTOR_H
-#define SHAREDRABUNDVECTOR_H
-
-/*
- * sharedrabundvector.h
- * Dotur
- *
- * Created by Sarah Westcott on 12/5/08.
- * Copyright 2008 Schloss Lab UMASS Amherst. All rights reserved.
- *
- */
-
-#include "datavector.hpp"
-#include "sharedordervector.h"
-#include "sharedsabundvector.h"
-#include "sharedrabundfloatvector.h"
-#include "rabundvector.hpp"
-//#include "groupmap.h"
-
-/* DataStructure for a shared file.
- 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.
- Each member of the internal container "data" is a struct of type individual.
- An individual which knows the OTU from which it came,
- the group it is in and its abundance. */
-
-//class GlobalData;
-
-class SharedRAbundVector : public DataVector {
-
-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), group(bv.group), index(bv.index){};
- SharedRAbundVector(ifstream&);
- ~SharedRAbundVector();
-
- int getNumBins();
- int getNumSeqs();
- int getMaxRank();
- string getGroup();
- void setGroup(string);
- string getBinLabel();
- void setBinLabel(string);
- int getGroupIndex();
- void setGroupIndex(int);
-
- void set(int, int, string); //OTU, abundance, groupname
- void setData(vector <individual>);
- individual get(int);
- vector <individual> getData();
- int getAbundance(int);
- int numNZ();
- void sortD(); //Sorts the data in descending order.
- void push_front(int, int, string); //abundance, otu, groupname
- void insert(int, int, string); //abundance, otu, groupname
- void push_back(int, string); //abundance, groupname
- void pop_back();
- void resize(int);
- int size();
- void clear();
- vector<individual>::reverse_iterator rbegin();
- vector<individual>::reverse_iterator rend();
-
- void print(ostream&);
- void printHeaders(ostream&);
-
- RAbundVector getRAbundVector();
- RAbundVector getRAbundVector2();
- SAbundVector getSAbundVector();
- OrderVector getOrderVector(map<string,int>*);
- SharedOrderVector getSharedOrderVector();
- SharedSAbundVector getSharedSAbundVector();
- SharedRAbundVector getSharedRAbundVector();
- vector<SharedRAbundVector*> getSharedRAbundVectors();
- vector<SharedRAbundFloatVector*> getSharedRAbundFloatVectors(vector<SharedRAbundVector*>);
-
-private:
- vector<individual> data;
- vector<SharedRAbundVector*> lookup;
- //GlobalData* globaldata;
- //GroupMap* groupmap;
- int maxRank;
- int numBins;
- int numSeqs;
- string group;
- int index;
-
- int eliminateZeroOTUS(vector<SharedRAbundVector*>&);
-};
-
-
-#endif
-