]> git.donarmstrong.com Git - mothur.git/blobdiff - summarysharedcommand.cpp
chimeracode
[mothur.git] / summarysharedcommand.cpp
index 65fcc9a161994da8714815d2a605ca1e96b9630a..081f5ef027dc04c30da1eba77647d67288bbfb44 100644 (file)
@@ -48,7 +48,7 @@ SummarySharedCommand::SummarySharedCommand(string option){
                
                else {
                        //valid paramters for this command
-                       string Array[] =  {"label","calc","groups","all"};
+                       string Array[] =  {"label","calc","groups","all","outputdir","inputdir"};
                        vector<string> myArray (Array, Array+(sizeof(Array)/sizeof(string)));
                        
                        OptionParser parser(option);
@@ -66,6 +66,12 @@ SummarySharedCommand::SummarySharedCommand(string option){
                                 mothurOut("You must read a list and a group, or a shared before you can use the summary.shared command."); mothurOutEndLine(); abort = true; 
                        }
                        
+                       //if the user changes the output directory command factory will send this info to us in the output parameter 
+                       outputDir = validParameter.validFile(parameters, "outputdir", false);           if (outputDir == "not found"){  
+                               outputDir = ""; 
+                               outputDir += hasPath(globaldata->getSharedFile()); //if user entered a file with a path then preserve it        
+                       }
+
                        //check for optional parameter and set defaults
                        // ...at some point should added some additional type checking...
                        label = validParameter.validFile(parameters, "label", false);                   
@@ -95,7 +101,7 @@ SummarySharedCommand::SummarySharedCommand(string option){
                                globaldata->Groups = Groups;
                        }
                        
-                       string temp = validParameter.validFile(parameters, "all", false);                               if (temp == "not found") { temp = "true"; }
+                       string temp = validParameter.validFile(parameters, "all", false);                               if (temp == "not found") { temp = "false"; }
                        all = isTrue(temp);
                        
                        if (abort == false) {
@@ -151,7 +157,7 @@ SummarySharedCommand::SummarySharedCommand(string option){
                                        }
                                }
                                
-                               outputFileName = ((getRootName(globaldata->inputFileName)) + "shared.summary");
+                               outputFileName = outputDir + getRootName(getSimpleName(globaldata->inputFileName)) + "shared.summary";
                                openOutputFile(outputFileName, outputFileHandle);
                                mult = false;
                        }
@@ -176,7 +182,7 @@ void SummarySharedCommand::help(){
                mothurOut("The default value for calc is sharedsobs-sharedchao-sharedace-jabund-sorensonabund-jclass-sorclass-jest-sorest-thetayc-thetan\n");
                mothurOut("The default value for groups is all the groups in your groupfile.\n");
                mothurOut("The label parameter is used to analyze specific labels in your input.\n");
-               mothurOut("The all parameter is used to specify if you want the estimate of all your groups together.  This estimate can only be made for sharedsobs and sharedchao calculators. The default is true.\n");
+               mothurOut("The all parameter is used to specify if you want the estimate of all your groups together.  This estimate can only be made for sharedsobs and sharedchao calculators. The default is false.\n");
                mothurOut("If you use sharedchao and run into memory issues, set all to false. \n");
                mothurOut("The groups parameter allows you to specify which of the groups in your groupfile you would like analyzed.  You must enter at least 2 valid groups.\n");
                mothurOut("Note: No spaces between parameter labels (i.e. label), '=' and parameters (i.e.yourLabel).\n\n");