]> git.donarmstrong.com Git - mothur.git/blobdiff - taxonomyequalizer.cpp
changed random forest output filename
[mothur.git] / taxonomyequalizer.cpp
index c7e8cb9e4add8388602dc2bfc12cff28673f7db3..c0507261eaf2c96c9381172a646317c7cb6a1db3 100644 (file)
@@ -16,7 +16,7 @@ TaxEqualizer::TaxEqualizer(string tfile, int c, string o) : cutoff(c), outputDir
                containsConfidence = false;
                
                ifstream inTax;
-               openInputFile(tfile, inTax);
+               m->openInputFile(tfile, inTax);
        
                highestLevel = getHighestLevel(inTax);
                
@@ -32,11 +32,11 @@ TaxEqualizer::TaxEqualizer(string tfile, int c, string o) : cutoff(c), outputDir
                        
                        inTax.close(); 
                        ifstream in; 
-                       openInputFile(tfile, in);
+                       m->openInputFile(tfile, in);
                        
                        ofstream out;
-                       equalizedFile = outputDir + getRootName(getSimpleName(tfile)) + "equalized.taxonomy";
-                       openOutputFile(equalizedFile, out);
+                       equalizedFile = outputDir + m->getRootName(m->getSimpleName(tfile)) + "equalized.taxonomy";
+                       m->openOutputFile(equalizedFile, out);
                        
        
                        string name, tax;
@@ -44,9 +44,9 @@ TaxEqualizer::TaxEqualizer(string tfile, int c, string o) : cutoff(c), outputDir
                        
                                if (m->control_pressed) {  break; }
                                
-                               in >> name >> tax;   gobble(in);
+                               in >> name >> tax;   m->gobble(in);
                                
-                               if (containsConfidence) {  removeConfidences(tax);      }
+                               if (containsConfidence) {  m->removeConfidences(tax);   }
                                
                                //is this a taxonomy that needs to be extended?
                                if (seqLevels[name] < highestLevel) {
@@ -61,7 +61,7 @@ TaxEqualizer::TaxEqualizer(string tfile, int c, string o) : cutoff(c), outputDir
                        in.close();
                        out.close();
                        
-                       if (m->control_pressed) { remove(equalizedFile.c_str());  }
+                       if (m->control_pressed) { m->mothurRemove(equalizedFile);  }
                }else { inTax.close(); }
                
        }
@@ -78,7 +78,7 @@ int TaxEqualizer::getHighestLevel(ifstream& in) {
                string name, tax;
                
                while (in) {
-                       in >> name >> tax;   gobble(in);
+                       in >> name >> tax;   m->gobble(in);
                
                        //count levels in this taxonomy
                        int thisLevel = 0;
@@ -88,19 +88,19 @@ int TaxEqualizer::getHighestLevel(ifstream& in) {
                
                        //save sequences level
                        seqLevels[name] = thisLevel;
-               
+       
                        //is this the longest taxonomy?
                        if (thisLevel > level) {  
                                level = thisLevel;  
                                testTax = tax; //testTax is used to figure out if this file has confidences we need to strip out
-                       }  
+                       } 
                }
                
                int pos = testTax.find_first_of('(');
 
                //if there are '(' then there are confidences we need to take out
                if (pos != -1) {  containsConfidence = true;  }
-               
+       
                return level;
                                        
        }
@@ -152,29 +152,4 @@ void TaxEqualizer::truncateTaxonomy(string name, string& tax, int desiredLevel)
        }
 }
 /**************************************************************************************************/
-void TaxEqualizer::removeConfidences(string& tax) {
-       try {
-               
-               string taxon;
-               string newTax = "";
-               
-               while (tax.find_first_of(';') != -1) {
-                       //get taxon
-                       taxon = tax.substr(0,tax.find_first_of(';'));
-                       taxon = taxon.substr(0, taxon.find_first_of('(')); //rip off confidence
-                       taxon += ";";
-                       
-                       tax = tax.substr(tax.find_first_of(';')+1, tax.length());
-                       newTax += taxon;
-               }
-               
-               tax = newTax;
-       }
-       catch(exception& e) {
-               m->errorOut(e, "TaxEqualizer", "removeConfidences");
-               exit(1);
-       }
-}
-
-/**************************************************************************************************/