]> git.donarmstrong.com Git - mothur.git/blobdiff - mothurout.h
removed unused copy constructors and comments within comments that where causing...
[mothur.git] / mothurout.h
index fb5b432f549de88a1fa519bc83541649a0882389..12de987e231247a4fb195aef20054bd94dacd375 100644 (file)
 
 #include "mothur.h"
 
-
+/***********************************************/
+struct logger {
+    
+    logger() {}
+    ~logger() {}
+    
+    template< class T >
+    logger& operator <<( const T& o ) {
+        cout << o; return *this;
+    }
+    
+    logger& operator<<(ostream& (*m)(ostream&) ) {
+        cout << m; return *this;
+    }
+    
+}; 
 /***********************************************/
 
 class MothurOut {
@@ -37,20 +52,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, commandInputsConvertError;
                
                //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);
@@ -69,7 +97,13 @@ class MothurOut {
                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>&);
+               int mothurRemove(string);
+               bool mothurConvert(string, int&); //use for converting user inputs. Sets commandInputsConvertError to true if error occurs. Engines check this.
+               bool mothurConvert(string, float&); //use for converting user inputs. Sets commandInputsConvertError to true if error occurs. Engines check this.
+               bool mothurConvert(string, double&); //use for converting user inputs. Sets commandInputsConvertError to true if error occurs. Engines check this.
+       
                
                //searchs and checks
                bool checkReleaseVersion(ifstream&, string);
@@ -79,8 +113,10 @@ class MothurOut {
                void getNumSeqs(ifstream&, int&);
                int getNumSeqs(ifstream&);
                int getNumNames(string);
+               int getNumChar(string, char);
                bool isTrue(string);
                bool isContainingOnlyDigits(string);
+               bool isNumeric1(string);
        
                
                //string manipulation
@@ -91,6 +127,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);
@@ -98,6 +135,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;
@@ -179,7 +217,10 @@ class MothurOut {
                        processors = "1";
                        flowfile = "";
                        gui = false;
-               };
+                       printedHeaders = false;
+                       commandInputsConvertError = false;
+                       sharedHeaderMode = "";
+               }
                ~MothurOut();
 
                string logFileName;
@@ -189,7 +230,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&);