]> git.donarmstrong.com Git - mothur.git/blobdiff - mothurout.h
working on chimera.perseus. made removeConfidences function smarter. Fixed bug in...
[mothur.git] / mothurout.h
index 8ac84007de59225ccffb9642a4d0dd023818e40a..785263b4a11474ba939df4c97ae5f94ce6206d5a 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,20 +36,33 @@ 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&);
+               vector<unsigned long long> divideFile(string, int&);
                int divideFile(string, int&, vector<string>&);
-               vector<unsigned long int> setFilePosEachLine(string, int&);
-               vector<unsigned long int> setFilePosFasta(string, int&);
+               vector<unsigned long long> setFilePosEachLine(string, int&);
+               vector<unsigned long long> setFilePosFasta(string, int&);
                string sortFile(string, string);
-               void appendFiles(string, string);
+               int appendFiles(string, string);
                int renameFile(string, string); //oldname, newname
                string getFullPathName(string);
                string hasPath(string);
@@ -66,7 +80,11 @@ class MothurOut {
                void gobble(istream&);
                void gobble(istringstream&);
                map<string, int> readNames(string);
+               int readNames(string, map<string, string>&);
+               int readNames(string, map<string, vector<string> >&);
                int readNames(string, vector<seqPriorityNode>&, map<string, string>&);
+               void mothurRemove(string);
+       
                
                //searchs and checks
                bool checkReleaseVersion(ifstream&, string);
@@ -88,6 +106,7 @@ class MothurOut {
                void splitAtDash(string&, set<string>&);
                void splitAtDash(string&, vector<string>&);
                void splitAtChar(string&, vector<string>&, char);
+               int removeConfidences(string&);
                
                //math operation
                int factorial(int num);
@@ -95,6 +114,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;
@@ -176,7 +196,9 @@ class MothurOut {
                        processors = "1";
                        flowfile = "";
                        gui = false;
-               };
+                       printedHeaders = false;
+                       sharedHeaderMode = "";
+               }
                ~MothurOut();
 
                string logFileName;
@@ -186,7 +208,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&);