]> git.donarmstrong.com Git - mothur.git/blobdiff - sharedrabundvector.cpp
removed various build warnings
[mothur.git] / sharedrabundvector.cpp
index 25f9dd3bea207be00b1b35e264d604dd1e9b3a54..9276b7bfdc0ae441a883f42ddd0aabcddf1f04bd 100644 (file)
@@ -51,7 +51,7 @@ SharedRAbundVector::SharedRAbundVector(string id, vector<individual> rav) : Data
                }
        }
        catch(exception& e) {
-               errorOut(e, "SharedRAbundVector", "SharedRAbundVector");
+               m->errorOut(e, "SharedRAbundVector", "SharedRAbundVector");
                exit(1);
        }
 }
@@ -70,11 +70,15 @@ SharedRAbundVector::SharedRAbundVector(ifstream& f) : DataVector(), maxRank(0),
                string holdLabel, nextLabel, groupN;
                individual newguy;
                
-               for (int i = 0; i < lookup.size(); i++) {  delete lookup[i];  }
+               for (int i = 0; i < lookup.size(); i++) {  delete lookup[i]; lookup[i] = NULL; }
                lookup.clear();
                
+               if (globaldata->saveNextLabel == "") {  f >> label;  }
+               else { label = globaldata->saveNextLabel; }
+               
                //read in first row since you know there is at least 1 group.
-               f >> label >> groupN >> num;
+               f >> groupN >> num;
+
                holdLabel = label;
                
                //add new vector to lookup
@@ -95,16 +99,15 @@ SharedRAbundVector::SharedRAbundVector(ifstream& f) : DataVector(), maxRank(0),
                        
                        lookup[0]->push_back(inputData, groupN); //abundance, bin, group
                        push_back(inputData, groupN);
-                       numSeqs += inputData;
-                       numBins++;
+                       //numSeqs += inputData;
+                       //numBins++;
                        if (inputData > maxRank) { maxRank = inputData; }
-                       
                }
                
-               gobble(f);
-               
-               if (f.eof() != true) { f >> nextLabel; }
+               m->gobble(f);
                
+               if (!(f.eof())) { f >> nextLabel; }
+       
                //read the rest of the groups info in
                while ((nextLabel == holdLabel) && (f.eof() != true)) {
                        f >> groupN >> num;
@@ -112,6 +115,7 @@ SharedRAbundVector::SharedRAbundVector(ifstream& f) : DataVector(), maxRank(0),
                        
                        if (globaldata->gGroupmap == NULL) { 
                                //save group in groupmap
+       
                                groupmap->namesOfGroups.push_back(groupN);
                                groupmap->groupIndex[groupN] = count;
                        }
@@ -128,19 +132,18 @@ SharedRAbundVector::SharedRAbundVector(ifstream& f) : DataVector(), maxRank(0),
                                lookup[count]->push_back(inputData, groupN); //abundance, bin, group
                        }
                        
-                       gobble(f);
+                       m->gobble(f);
                                
                        if (f.eof() != true) { f >> nextLabel; }
                }
-               
-               //put file pointer back since you are now at a new distance label
-               for (int i = 0; i < nextLabel.length(); i++) { f.unget();  }
+       
+               globaldata->saveNextLabel = nextLabel;
        
                if (globaldata->gGroupmap == NULL) { globaldata->gGroupmap = groupmap;  }
                
        }
        catch(exception& e) {
-               errorOut(e, "SharedRAbundVector", "SharedRAbundVector");
+               m->errorOut(e, "SharedRAbundVector", "SharedRAbundVector");
                exit(1);
        }
 }
@@ -158,7 +161,7 @@ void SharedRAbundVector::set(int binNumber, int newBinSize, string groupname){
                numSeqs += (newBinSize - oldBinSize);
        }
        catch(exception& e) {
-               errorOut(e, "SharedRAbundVector", "set");
+               m->errorOut(e, "SharedRAbundVector", "set");
                exit(1);
        }
 }
@@ -202,6 +205,16 @@ vector <individual> SharedRAbundVector::getData(){
 }
 /***********************************************************************/
 
+void SharedRAbundVector::clear(){
+       numBins = 0;
+       maxRank = 0;
+       numSeqs = 0;
+       data.clear();
+       for (int i = 0; i < lookup.size(); i++) {  delete lookup[i]; lookup[i] = NULL; }
+       lookup.clear();
+}
+/***********************************************************************/
+
 void SharedRAbundVector::push_back(int binSize, string groupName){
        try {
                individual newGuy;
@@ -219,7 +232,7 @@ void SharedRAbundVector::push_back(int binSize, string groupName){
                numSeqs += binSize;
        }
        catch(exception& e) {
-               errorOut(e, "SharedRAbundVector", "push_back");
+               m->errorOut(e, "SharedRAbundVector", "push_back");
                exit(1);
        }
 }
@@ -243,7 +256,7 @@ void SharedRAbundVector::insert(int binSize, int otu, string groupName){
                numSeqs += binSize;
        }
        catch(exception& e) {
-               errorOut(e, "SharedRAbundVector", "insert");
+               m->errorOut(e, "SharedRAbundVector", "insert");
                exit(1);
        }
 }
@@ -267,7 +280,7 @@ void SharedRAbundVector::push_front(int binSize, int otu, string groupName){
                numSeqs += binSize;
        }
        catch(exception& e) {
-               errorOut(e, "SharedRAbundVector", "push_front");
+               m->errorOut(e, "SharedRAbundVector", "push_front");
                exit(1);
        }
 }
@@ -313,7 +326,7 @@ void SharedRAbundVector::print(ostream& output){
                output << endl;
        }
        catch(exception& e) {
-               errorOut(e, "SharedRAbundVector", "print");
+               m->errorOut(e, "SharedRAbundVector", "print");
                exit(1);
        }
 }
@@ -363,7 +376,7 @@ vector<SharedRAbundVector*> SharedRAbundVector::getSharedRAbundVectors(){
                for (int i = 0; i < lookup.size(); i++) {
                        //if this sharedrabund is not from a group the user wants then delete it.
                        if (util->isValidGroup(lookup[i]->getGroup(), globaldata->Groups) == false) { 
-                               delete lookup[i]; 
+                               delete lookup[i]; lookup[i] = NULL;
                                lookup.erase(lookup.begin()+i); 
                                i--; 
                        }
@@ -374,7 +387,7 @@ vector<SharedRAbundVector*> SharedRAbundVector::getSharedRAbundVectors(){
                return lookup;
        }
        catch(exception& e) {
-               errorOut(e, "SharedRAbundVector", "getSharedRAbundVectors");
+               m->errorOut(e, "SharedRAbundVector", "getSharedRAbundVectors");
                exit(1);
        }
 }
@@ -394,7 +407,7 @@ RAbundVector SharedRAbundVector::getRAbundVector() {
                return rav;
        }
        catch(exception& e) {
-               errorOut(e, "SharedRAbundVector", "getRAbundVector");
+               m->errorOut(e, "SharedRAbundVector", "getRAbundVector");
                exit(1);
        }
 }
@@ -409,7 +422,7 @@ RAbundVector SharedRAbundVector::getRAbundVector2() {
                return rav;
        }
        catch(exception& e) {
-               errorOut(e, "SharedRAbundVector", "getRAbundVector2");
+               m->errorOut(e, "SharedRAbundVector", "getRAbundVector2");
                exit(1);
        }
 }
@@ -431,7 +444,7 @@ SharedSAbundVector SharedRAbundVector::getSharedSAbundVector(){
                return sav;
        }
        catch(exception& e) {
-               errorOut(e, "SharedRAbundVector", "getSharedSAbundVector");
+               m->errorOut(e, "SharedRAbundVector", "getSharedSAbundVector");
                exit(1);
        }
 }
@@ -450,7 +463,7 @@ SAbundVector SharedRAbundVector::getSAbundVector() {
                return sav;
        }
        catch(exception& e) {
-               errorOut(e, "SharedRAbundVector", "getSAbundVector");           
+               m->errorOut(e, "SharedRAbundVector", "getSAbundVector");                
                exit(1);
        }
 }
@@ -474,7 +487,7 @@ SharedOrderVector SharedRAbundVector::getSharedOrderVector() {
                return ov;
        }
        catch(exception& e) {
-               errorOut(e, "SharedRAbundVector", "getSharedOrderVector");
+               m->errorOut(e, "SharedRAbundVector", "getSharedOrderVector");
                exit(1);
        }
 }
@@ -483,19 +496,19 @@ SharedOrderVector SharedRAbundVector::getSharedOrderVector() {
 OrderVector SharedRAbundVector::getOrderVector(map<string,int>* nameMap = NULL) {
        try {
                OrderVector ov;
-       
-               for(int i=0;i<data.size();i++){
+               for(int i=0;i<numBins;i++){
                        for(int j=0;j<data[i].abundance;j++){
                                ov.push_back(i);
                        }
                }
                random_shuffle(ov.begin(), ov.end());
-
+               
                ov.setLabel(label);     
+
                return ov;
        }
        catch(exception& e) {
-               errorOut(e, "SharedRAbundVector", "getOrderVector");
+               m->errorOut(e, "SharedRAbundVector", "getOrderVector");
                exit(1);
        }
 }