]> git.donarmstrong.com Git - mothur.git/blobdiff - mothurout.cpp
tracking down chimera.slayer issue
[mothur.git] / mothurout.cpp
index 8fde2fd105d2b100715cc244a6d9a16bbd9eb353..2b06799f3c91f58c3c72ed63c2a6098d0473675e 100644 (file)
@@ -39,6 +39,8 @@ void MothurOut::printCurrentFiles()  {
                if (sharedfile != "")           {  mothurOut("shared=" + sharedfile); mothurOutEndLine();                       }
                if (taxonomyfile != "")         {  mothurOut("taxonomy=" + taxonomyfile); mothurOutEndLine();           }
                if (treefile != "")                     {  mothurOut("tree=" + treefile); mothurOutEndLine();                           }
+               if (flowfile != "")                     {  mothurOut("flow=" + flowfile); mothurOutEndLine();                           }
+               if (processors != "1")          {  mothurOut("processors=" + processors); mothurOutEndLine();           }
                
        }
        catch(exception& e) {
@@ -70,6 +72,8 @@ bool MothurOut::hasCurrentFiles()  {
                if (sharedfile != "")           {  return true;                 }
                if (taxonomyfile != "")         {  return true;                 }
                if (treefile != "")                     {  return true;                 }
+               if (flowfile != "")                     {  return true;                 }
+               if (processors != "1")          {  return true;                 }
                
                return hasCurrent;
                
@@ -101,7 +105,9 @@ void MothurOut::clearCurrentFiles()  {
                sfffile = "";
                oligosfile = "";
                accnosfile = "";
-               taxonomyfile = "";              
+               taxonomyfile = "";      
+               flowfile = "";
+               processors = "1";
        }
        catch(exception& e) {
                errorOut(e, "MothurOut", "clearCurrentFiles");
@@ -1217,6 +1223,42 @@ map<string, int> MothurOut::readNames(string namefile) {
                exit(1);
        }
 }
+/**********************************************************************************************************************/
+int MothurOut::readNames(string namefile, vector<seqPriorityNode>& nameVector, map<string, string>& fastamap) { 
+       try {
+               int error = 0;
+               
+               //open input file
+               ifstream in;
+               openInputFile(namefile, in);
+               
+               while (!in.eof()) {
+                       if (control_pressed) { break; }
+                       
+                       string firstCol, secondCol;
+                       in >> firstCol >> secondCol; gobble(in);
+                       
+                       int num = getNumNames(secondCol);
+                       
+                       map<string, string>::iterator it = fastamap.find(firstCol);
+                       if (it == fastamap.end()) {
+                               error = 1;
+                               mothurOut("[ERROR]: " + firstCol + " is not in your fastafile, but is in your namesfile, please correct."); mothurOutEndLine();
+                       }else {
+                               seqPriorityNode temp(num, it->second, firstCol);
+                               nameVector.push_back(temp);
+                       }
+               }
+               in.close();
+               
+               return error;
+               
+       }
+       catch(exception& e) {
+               errorOut(e, "MothurOut", "readNames");
+               exit(1);
+       }
+}
 
 /***********************************************************************/