]> git.donarmstrong.com Git - mothur.git/blobdiff - rabundvector.cpp
working on pam
[mothur.git] / rabundvector.cpp
index ce04df11ccd769a233ce30bfdf0554f34377d6cd..6cbaa0d896ad7d47105873c67cdc6d003329b83a 100644 (file)
@@ -41,7 +41,7 @@ RAbundVector::RAbundVector(string id, vector<int> rav) : DataVector(id), data(ra
                }
        }
        catch(exception& e) {
-               errorOut(e, "RAbundVector", "RAbundVector");
+               m->errorOut(e, "RAbundVector", "RAbundVector");
                exit(1);
        }
 }
@@ -56,7 +56,7 @@ RAbundVector::RAbundVector(vector<int> rav, int mr, int nb, int ns) {
                data = rav;
        }
        catch(exception& e) {
-               errorOut(e, "RAbundVector", "RAbundVector");
+               m->errorOut(e, "RAbundVector", "RAbundVector");
                exit(1);
        }
 }
@@ -78,7 +78,7 @@ RAbundVector::RAbundVector(ifstream& f) : DataVector(), maxRank(0), numBins(0),
                }
        }
        catch(exception& e) {
-               errorOut(e, "RAbundVector", "RAbundVector");
+               m->errorOut(e, "RAbundVector", "RAbundVector");
                exit(1);
        }
 }
@@ -103,7 +103,7 @@ void RAbundVector::set(int binNumber, int newBinSize){
                numSeqs += (newBinSize - oldBinSize);
        }
        catch(exception& e) {
-               errorOut(e, "RAbundVector", "set");
+               m->errorOut(e, "RAbundVector", "set");
                exit(1);
        }
 }
@@ -114,7 +114,15 @@ int RAbundVector::get(int index){
        return data[index];
        
 }
+/***********************************************************************/
 
+void RAbundVector::clear(){
+       numBins = 0;
+       maxRank = 0;
+       numSeqs = 0;
+       data.clear();
+       
+}
 /***********************************************************************/
 
 void RAbundVector::push_back(int binSize){
@@ -129,7 +137,7 @@ void RAbundVector::push_back(int binSize){
                numSeqs += binSize;
        }
        catch(exception& e) {
-               errorOut(e, "RAbundVector", "push_back");
+               m->errorOut(e, "RAbundVector", "push_back");
                exit(1);
        }
 }
@@ -193,6 +201,19 @@ vector<int>::reverse_iterator RAbundVector::rend(){
        return data.rend();                                     
 }
 
+/***********************************************************************/
+void RAbundVector::nonSortedPrint(ostream& output){
+       try {   
+               output << label << '\t' << numBins << '\t';
+       
+               for(int i=0;i<numBins;i++){             output << data[i] << '\t';              }
+               output << endl;
+       }
+       catch(exception& e) {
+               m->errorOut(e, "RAbundVector", "nonSortedPrint");
+               exit(1);
+       }
+}
 /***********************************************************************/
 void RAbundVector::print(string prefix, ostream& output){
        try {   
@@ -205,11 +226,12 @@ void RAbundVector::print(string prefix, ostream& output){
                output << endl;
        }
        catch(exception& e) {
-               errorOut(e, "RAbundVector", "print");
+               m->errorOut(e, "RAbundVector", "print");
                exit(1);
        }
 }
 
+
 /***********************************************************************/
 void RAbundVector::print(ostream& output){
        try {
@@ -222,7 +244,7 @@ void RAbundVector::print(ostream& output){
                output << endl;
        }
        catch(exception& e) {
-               errorOut(e, "RAbundVector", "print");
+               m->errorOut(e, "RAbundVector", "print");
                exit(1);
        }
 }
@@ -265,7 +287,7 @@ SAbundVector RAbundVector::getSAbundVector() {
                return sav;
        }
        catch(exception& e) {
-               errorOut(e, "RAbundVector", "getSAbundVector");
+               m->errorOut(e, "RAbundVector", "getSAbundVector");
                exit(1);
        }
 }
@@ -275,19 +297,20 @@ SAbundVector RAbundVector::getSAbundVector() {
 OrderVector RAbundVector::getOrderVector(map<string,int>* nameMap = NULL) {
        try {
                OrderVector ov;
-       
+
                for(int i=0;i<data.size();i++){
                        for(int j=0;j<data[i];j++){
                                ov.push_back(i);
                        }
                }
                random_shuffle(ov.begin(), ov.end());
-
                ov.setLabel(label);     
+               ov.getNumBins();
+
                return ov;
        }
        catch(exception& e) {
-               errorOut(e, "RAbundVector", "getOrderVector");
+               m->errorOut(e, "RAbundVector", "getOrderVector");
                exit(1);
        }
 }