X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mothurout.h;h=d2a36b351902f3bc25d7c2132fb2c20f15421b23;hb=8dd3c225255d7084e3aff8740aa4f1f1cabb367a;hp=57d3f7647dabf43dd30f2caeefa9ae2bd09a0d30;hpb=65f2be9d8f9b4cf72b4aafd800fdd11ad26435fd;p=mothur.git diff --git a/mothurout.h b/mothurout.h index 57d3f76..d2a36b3 100644 --- a/mothurout.h +++ b/mothurout.h @@ -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,19 +36,33 @@ class MothurOut { void setReleaseDate(string r) { releaseDate = r; } string getVersion() { return version; } void setVersion(string r) { version = r; } - vector Groups; + + void addGroup(string g) { Groups.push_back(g); } + void setGroups(vector& g) { sort(g.begin(), g.end()); Groups = g; } + void clearGroups() { Groups.clear(); } + int getNumGroups() { return Groups.size(); } + vector getGroups() { sort(Groups.begin(), Groups.end()); return Groups; } + void addAllGroup(string g) { namesOfGroups.push_back(g); } + void setAllGroups(vector& g) { sort(g.begin(), g.end()); namesOfGroups = g; } + void clearAllGroups() { namesOfGroups.clear(); } + int getNumAllGroups() { return namesOfGroups.size(); } + + vector getAllGroups() { sort(namesOfGroups.begin(), namesOfGroups.end()); return namesOfGroups; } vector Treenames; map names; - vector namesOfGroups; - string saveNextLabel, argv; + vector binLabelsInFile; + vector currentBinLabels; + string saveNextLabel, argv, sharedHeaderMode; + bool printedHeaders, commandInputsConvertError; //functions from mothur.h //file operations - vector divideFile(string, int&); - vector setFilePosEachLine(string, int&); - vector setFilePosFasta(string, int&); + vector divideFile(string, int&); + int divideFile(string, int&, vector&); + vector setFilePosEachLine(string, int&); + vector 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); @@ -65,6 +80,14 @@ class MothurOut { void gobble(istream&); void gobble(istringstream&); map readNames(string); + int readNames(string, map&); + int readNames(string, map >&); + int readNames(string, vector&, map&); + 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); @@ -74,8 +97,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 @@ -86,6 +111,7 @@ class MothurOut { void splitAtDash(string&, set&); void splitAtDash(string&, vector&); void splitAtChar(string&, vector&, char); + int removeConfidences(string&); //math operation int factorial(int num); @@ -93,6 +119,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; @@ -117,6 +144,7 @@ class MothurOut { string getOligosFile() { return oligosfile; } string getAccnosFile() { return accnosfile; } string getTaxonomyFile() { return taxonomyfile; } + string getFlowFile() { return flowfile; } string getProcessors() { return processors; } void setListFile(string f) { listfile = getFullPathName(f); } @@ -138,9 +166,11 @@ class MothurOut { void setOligosFile(string f) { oligosfile = getFullPathName(f); } void setAccnosFile(string f) { accnosfile = getFullPathName(f); } void setTaxonomyFile(string f) { taxonomyfile = getFullPathName(f); } + void setFlowFile(string f) { flowfile = getFullPathName(f); } void setProcessors(string p) { processors = p; } void printCurrentFiles(); + bool hasCurrentFiles(); void clearCurrentFiles(); private: @@ -169,8 +199,12 @@ class MothurOut { accnosfile = ""; taxonomyfile = ""; processors = "1"; + flowfile = ""; gui = false; - }; + printedHeaders = false; + commandInputsConvertError = false; + sharedHeaderMode = ""; + } ~MothurOut(); string logFileName; @@ -178,9 +212,10 @@ class MothurOut { string releaseDate, version; string accnosfile, phylipfile, columnfile, listfile, rabundfile, sabundfile, namefile, groupfile, designfile, taxonomyfile; - string orderfile, treefile, sharedfile, ordergroupfile, relabundfile, fastafile, qualfile, sfffile, oligosfile, processors; + string orderfile, treefile, sharedfile, ordergroupfile, relabundfile, fastafile, qualfile, sfffile, oligosfile, processors, flowfile; - + vector Groups; + vector namesOfGroups; ofstream out; int mem_usage(double&, double&);