]> git.donarmstrong.com Git - mothur.git/blobdiff - mothurout.h
added multiple processors option for Windows users to align.seqs, dist.seqs, summary...
[mothur.git] / mothurout.h
index f6f505dce6409db716561b061a2e66eda3efae5a..6f04f892dbb588700c884d27071fb613457fb35b 100644 (file)
@@ -12,7 +12,6 @@
 
 #include "mothur.h"
 
-
 /***********************************************/
 
 class MothurOut {
@@ -21,8 +20,10 @@ class MothurOut {
                static MothurOut* getInstance();
                void setFileName(string);
                
-               void mothurOut(string);
-               void mothurOutEndLine();
+               void mothurOut(string); //writes to cout and the logfile
+               void mothurOutEndLine(); //writes to cout and the logfile
+               void mothurOut(string, ofstream&); //writes to the ofstream, cout and the logfile
+               void mothurOutEndLine(ofstream&); //writes to the ofstream, cout and the logfile
                void mothurOutJustToLog(string);
                void errorOut(exception&, string, string);
                void closeLog();
@@ -35,15 +36,29 @@ class MothurOut {
                void setReleaseDate(string r) { releaseDate = r; }
                string getVersion() { return version; }
                void setVersion(string r) { version = r; }
-               vector<string> Groups;
+       
+               void addGroup(string g) { Groups.push_back(g); }
+               void setGroups(vector<string>& g) { sort(g.begin(), g.end()); Groups = g; }
+               void clearGroups() { Groups.clear(); }
+           int getNumGroups() { return Groups.size(); }
+               vector<string> getGroups() { sort(Groups.begin(), Groups.end()); return Groups; }
+               void addAllGroup(string g) { namesOfGroups.push_back(g); }
+               void setAllGroups(vector<string>& g) { sort(g.begin(), g.end()); namesOfGroups = g; }
+               void clearAllGroups() { namesOfGroups.clear(); }
+               int getNumAllGroups() { return namesOfGroups.size(); }
+       
+               vector<string> getAllGroups() { sort(namesOfGroups.begin(), namesOfGroups.end()); return namesOfGroups; }
                vector<string> Treenames;
                map<string, string> names;
-               vector<string> namesOfGroups;
-               string saveNextLabel, argv;
+               vector<string> binLabelsInFile;
+               vector<string> currentBinLabels;
+               string saveNextLabel, argv, sharedHeaderMode;
+               bool printedHeaders;
                
                //functions from mothur.h
                //file operations
                vector<unsigned long int> divideFile(string, int&);
+               int divideFile(string, int&, vector<string>&);
                vector<unsigned long int> setFilePosEachLine(string, int&);
                vector<unsigned long int> setFilePosFasta(string, int&);
                string sortFile(string, string);
@@ -65,7 +80,9 @@ class MothurOut {
                void gobble(istream&);
                void gobble(istringstream&);
                map<string, int> readNames(string);
+               int readNames(string, map<string, string>&);
                int readNames(string, vector<seqPriorityNode>&, map<string, string>&);
+               void mothurRemove(string);
                
                //searchs and checks
                bool checkReleaseVersion(ifstream&, string);
@@ -94,6 +111,7 @@ class MothurOut {
                float ceilDist(float, int);
                float roundDist(float, int);
                unsigned int fromBase36(string);
+               int getRandomIndex(int); //highest
 
                int control_pressed;
                bool executing, runParse, jumble, gui;
@@ -175,7 +193,9 @@ class MothurOut {
                        processors = "1";
                        flowfile = "";
                        gui = false;
-               };
+                       printedHeaders = false;
+                       sharedHeaderMode = "";
+               }
                ~MothurOut();
 
                string logFileName;
@@ -185,7 +205,8 @@ class MothurOut {
                string accnosfile, phylipfile, columnfile, listfile, rabundfile, sabundfile, namefile, groupfile, designfile, taxonomyfile;
                string orderfile, treefile, sharedfile, ordergroupfile, relabundfile, fastafile, qualfile, sfffile, oligosfile, processors, flowfile;
 
-       
+               vector<string> Groups;
+               vector<string> namesOfGroups;
                ofstream out;
                
                int mem_usage(double&, double&);