]> git.donarmstrong.com Git - mothur.git/blobdiff - secondarystructurecommand.cpp
added debug statements to trim.seqs
[mothur.git] / secondarystructurecommand.cpp
index cc53ee0f02741cbe0fc6358a3a08cd56e891cd09..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);
                
                                
@@ -183,7 +207,7 @@ int AlignCheckCommand::execute(){
                
                int count = 0;
                while(!in.eof()){
-                       if (m->control_pressed) { in.close(); out.close(); remove(outfile.c_str()); return 0; }
+                       if (m->control_pressed) { in.close(); out.close(); m->mothurRemove(outfile); return 0; }
                        
                        Sequence seq(in);  m->gobble(in);
                        if (seq.getName() != "") {
@@ -220,7 +244,7 @@ int AlignCheckCommand::execute(){
                in.close();
                out.close();
                
-               if (m->control_pressed) {  remove(outfile.c_str()); return 0; }
+               if (m->control_pressed) {  m->mothurRemove(outfile); return 0; }
                
                sort(pound.begin(), pound.end());
                sort(dash.begin(), dash.end());
@@ -238,7 +262,7 @@ int AlignCheckCommand::execute(){
                int ptile97_5   = int(size * 0.975);
                int ptile100    = size - 1;
                
-               if (m->control_pressed) {  remove(outfile.c_str()); return 0; }
+               if (m->control_pressed) {  m->mothurRemove(outfile); return 0; }
                
                m->mothurOutEndLine();
                m->mothurOut("\t\tPound\tDash\tPlus\tEqual\tLoop\tTilde\tTotal"); m->mothurOutEndLine();