]> git.donarmstrong.com Git - mothur.git/blobdiff - makebiomcommand.cpp
added count file to get.groups and remove.groups. added shortcut parameter to classif...
[mothur.git] / makebiomcommand.cpp
index acd0500963d096acfb5d1ea453cc9186feafe783..9e8d3e39cb58e31e9f3dca2eeff35257eadd537a 100644 (file)
@@ -129,6 +129,27 @@ string MakeBiomCommand::getHelpString(){
                exit(1);
        }
 }
+//**********************************************************************************************************************
+string MakeBiomCommand::getOutputFileNameTag(string type, string inputName=""){        
+       try {
+        string outputFileName = "";
+               map<string, vector<string> >::iterator it;
+        
+        //is this a type this command creates
+        it = outputTypes.find(type);
+        if (it == outputTypes.end()) {  m->mothurOut("[ERROR]: this command doesn't create a " + type + " output file.\n"); }
+        else {
+            if (type == "biom")             {   outputFileName =  "biom";       }
+            else { m->mothurOut("[ERROR]: No definition for type " + type + " output file tag.\n"); m->control_pressed = true;  }
+        }
+        return outputFileName;
+       }
+       catch(exception& e) {
+               m->errorOut(e, "MakeBiomCommand", "getOutputFileNameTag");
+               exit(1);
+       }
+}
+
 //**********************************************************************************************************************
 MakeBiomCommand::MakeBiomCommand(){    
        try {
@@ -165,7 +186,7 @@ MakeBiomCommand::MakeBiomCommand(string option) {
                        for (it = parameters.begin(); it != parameters.end(); it++) { 
                                if (validParameter.isValidParameter(it->first, myArray, it->second) != true) {  abort = true;  }
                        }
-                       
+
                        //initialize outputTypes
                        vector<string> tempOutNames;
                        outputTypes["biom"] = tempOutNames;
@@ -352,7 +373,7 @@ int MakeBiomCommand::execute(){
 int MakeBiomCommand::getBiom(vector<SharedRAbundVector*>& lookup){
        try {
         
-        string outputFileName = outputDir + m->getRootName(m->getSimpleName(sharedfile)) + lookup[0]->getLabel() + ".biom";
+        string outputFileName = outputDir + m->getRootName(m->getSimpleName(sharedfile)) + lookup[0]->getLabel() + "." + getOutputFileNameTag("biom");
                ofstream out;
                m->openOutputFile(outputFileName, out);
                outputNames.push_back(outputFileName); outputTypes["biom"].push_back(outputFileName);
@@ -612,7 +633,7 @@ vector<string> MakeBiomCommand::parseTax(string tax, vector<string>& scores) {
                         scores.push_back(confidenceScore);
                                        }else{ scores.push_back("null"); }
                                }
-                       }
+                       }else{ scores.push_back("null"); }
                        
             //strip "" if they are there
             pos = taxon.find("\"");