]> git.donarmstrong.com Git - mothur.git/blobdiff - collect.cpp
modified trim.seqs to speed up the append with multiple processors
[mothur.git] / collect.cpp
index 379424c9155d7dcee7e0535644652ef852f19481..79e997de38bc8938bbcdb72d7134a566a7b9a2bb 100644 (file)
@@ -24,7 +24,9 @@ int Collect::getCurve(float percentFreq = 0.01){
                 }   
                                
                                //convert freq percentage to number
-                               int increment = numSeqs * percentFreq;
+                               int increment = 1;
+                               if (percentFreq < 1.0) {  increment = numSeqs * percentFreq;  }
+                               else { increment = percentFreq;  }
                                                                                                                                                                                                                                                        
                 for(int i=0;i<numSeqs;i++){
                                                
@@ -86,22 +88,25 @@ try {
                 //initialize labels for output
                 //makes  'uniqueAB         uniqueAC  uniqueBC' if your groups are A, B, C
                 getGroupComb();
-                groupLabel = ""; 
-                for (int s = 0; s < groupComb.size(); s++) {
-                        groupLabel = groupLabel + label + groupComb[s] + "\t";
-                }
-                               
-                               //for multi displays
-                               string groupLabelAll = groupLabel + label + "all\t";
                                
                 for(int i=0;i<displays.size();i++){
                         ccd->registerDisplay(displays[i]); //adds a display[i] to cdd
+                                               bool hasLciHci = displays[i]->hasLciHci();
+                                               groupLabel = "";
+                                               for (int s = 0; s < groupComb.size(); s++) {
+                                                       if (hasLciHci) {  groupLabel = groupLabel + label + groupComb[s] + "\t" + label + groupComb[s] + "lci\t" + label + groupComb[s] + "hci\t"; }
+                                                       else{  groupLabel = groupLabel + label + groupComb[s] + "\t";  }
+                                               }
+
+                                               string groupLabelAll = groupLabel + label + "all\t"; 
                                                if ((displays[i]->isCalcMultiple() == true) && (displays[i]->getAll() == true)) {   displays[i]->init(groupLabelAll); }
                                                else {  displays[i]->init(groupLabel);  }           
                 }
                 
                                //convert freq percentage to number
-                               int increment = numSeqs * percentFreq;
+                               int increment = 1;
+                               if (percentFreq < 1.0) {  increment = numSeqs * percentFreq;  }
+                               else { increment = percentFreq;  }
                                
                 //sample all the members
                 for(int i=0;i<numSeqs;i++){