]> git.donarmstrong.com Git - mothur.git/blobdiff - getlineagecommand.cpp
added [ERROR] flag if command aborts
[mothur.git] / getlineagecommand.cpp
index 8a825a1ca76c077cade0e6aecd078eb3fa72ea38..eee0ccad08a84f448ea47a42213673b0dd05254f 100644 (file)
@@ -27,8 +27,7 @@ vector<string> GetLineageCommand::getValidParameters(){
 //**********************************************************************************************************************
 GetLineageCommand::GetLineageCommand(){        
        try {
-               abort = true;
-               //initialize outputTypes
+               abort = true; calledHelp = true; 
                vector<string> tempOutNames;
                outputTypes["fasta"] = tempOutNames;
                outputTypes["taxonomy"] = tempOutNames;
@@ -68,10 +67,10 @@ vector<string> GetLineageCommand::getRequiredFiles(){
 //**********************************************************************************************************************
 GetLineageCommand::GetLineageCommand(string option)  {
        try {
-               abort = false;
+               abort = false; calledHelp = false;   
                                
                //allow user to run help
-               if(option == "help") { help(); abort = true; }
+               if(option == "help") { help(); abort = true; calledHelp = true; }
                
                else {
                        //valid paramters for this command
@@ -238,7 +237,7 @@ void GetLineageCommand::help(){
 int GetLineageCommand::execute(){
        try {
                
-               if (abort == true) { return 0; }
+               if (abort == true) { if (calledHelp) { return 0; }  return 2;   }
                
                if (m->control_pressed) { return 0; }
                
@@ -542,7 +541,7 @@ int GetLineageCommand::readTax(){
                m->openInputFile(taxfile, in);
                string name, tax;
                
-               bool wroteSomething = false;
+               //bool wroteSomething = false;
                
                bool taxonsHasConfidence = false;
                vector< map<string, int> > searchTaxons;
@@ -677,8 +676,14 @@ vector< map<string, int> > GetLineageCommand::getTaxons(string tax) {
                                int openParen = taxon.find_first_of('(');
                                int closeParen = taxon.find_last_of(')');
                                
-                               string newtaxon = taxon.substr(0, openParen); //rip off confidence
-                               string confidence = taxon.substr((openParen+1), (closeParen-openParen-1));  
+                               string newtaxon, confidence;
+                               if ((openParen != string::npos) && (closeParen != string::npos)) {
+                                       newtaxon = taxon.substr(0, openParen); //rip off confidence
+                                       confidence = taxon.substr((openParen+1), (closeParen-openParen-1));  
+                               }else{
+                                       newtaxon = taxon;
+                                       confidence = "0";
+                               } 
                                int con = 0;
                                convert(confidence, con);