]> git.donarmstrong.com Git - mothur.git/blobdiff - secondarystructurecommand.cpp
working on mgcluster count file change
[mothur.git] / secondarystructurecommand.cpp
index fe80b7810e716264152835060f25d1f2e45c1fed..ee50ab14e6183af4b2fe9979c97336ac1d9b75a5 100644 (file)
@@ -45,6 +45,26 @@ string AlignCheckCommand::getHelpString(){
        }
 }
 //**********************************************************************************************************************
+string AlignCheckCommand::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 == "aligncheck")            {   outputFileName =  "align.check";   }
+            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, "AlignCheckCommand", "getOutputFileNameTag");
+               exit(1);
+       }
+}
+//**********************************************************************************************************************
 AlignCheckCommand::AlignCheckCommand(){        
        try {
                abort = true; calledHelp = true; 
@@ -122,7 +142,7 @@ AlignCheckCommand::AlignCheckCommand(string option)  {
                        else if (mapfile == "not found") {  mapfile = "";  m->mothurOut("You must provide an map file."); m->mothurOutEndLine(); abort = true; }        
                        
                        fastafile = validParameter.validFile(parameters, "fasta", true);
-                       if (fastafile == "not open") { abort = true; }
+                       if (fastafile == "not open") { fastafile = ""; abort = true; }
                        else if (fastafile == "not found") {                            
                                fastafile = m->getFastaFile(); 
                                if (fastafile != "") { m->mothurOut("Using " + fastafile + " as input file for the fasta parameter."); m->mothurOutEndLine(); }
@@ -139,7 +159,11 @@ AlignCheckCommand::AlignCheckCommand(string option)  {
                                outputDir = ""; 
                                outputDir += m->hasPath(fastafile); //if user entered a file with a path then preserve it       
                        }
-
+                       
+                       if ((namefile == "") && (fastafile != "")){
+                               vector<string> files; files.push_back(fastafile); 
+                               parser.getNameFile(files);
+                       }
                }
 
        }
@@ -166,7 +190,7 @@ int AlignCheckCommand::execute(){
                m->openInputFile(fastafile, in);
                
                ofstream out;
-               string outfile = outputDir + m->getRootName(m->getSimpleName(fastafile)) + "align.check";
+               string outfile = outputDir + m->getRootName(m->getSimpleName(fastafile)) + getOutputFileNameTag("aligncheck");
                m->openOutputFile(outfile, out);