]> git.donarmstrong.com Git - mothur.git/blobdiff - removeotulabelscommand.cpp
fixes while testing 1.33.0
[mothur.git] / removeotulabelscommand.cpp
index a882f6bdd3cc1a5588fa4cc18476eca09e6f2153..18322f1bcb46d0eeeb698b3e759c885e8b923437 100644 (file)
@@ -518,23 +518,16 @@ int RemoveOtuLabelsCommand::readList(){
         newList.setLabel(list->getLabel());
         int removedCount = 0;
         bool wroteSomething = false;
-        string snumBins = toString(list->getNumBins());
         
+        vector<string> binLabels = list->getLabels();
+        vector<string> newLabels;
         for (int i = 0; i < list->getNumBins(); i++) {
             
             if (m->control_pressed) { delete list; return 0;}
             
-            //create a label for this otu
-            string otuLabel = "Otu";
-            string sbinNumber = toString(i+1);
-            if (sbinNumber.length() < snumBins.length()) { 
-                int diff = snumBins.length() - sbinNumber.length();
-                for (int h = 0; h < diff; h++) { otuLabel += "0"; }
-            }
-            otuLabel += sbinNumber; 
-            
-            if (labels.count(m->getSimpleLabel(otuLabel)) == 0) {
+            if (labels.count(m->getSimpleLabel(binLabels[i])) == 0) {
                 newList.push_back(list->get(i));
+                newLabels.push_back(binLabels[i]);
             }else { removedCount++; }
         }
         
@@ -552,6 +545,8 @@ int RemoveOtuLabelsCommand::readList(){
         //print new listvector
         if (newList.getNumBins() != 0) {
             wroteSomething = true;
+            newList.setLabels(newLabels);
+            newList.printHeaders(out);
             newList.print(out);
         }
                out.close();