X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mothurout.h;h=6f04f892dbb588700c884d27071fb613457fb35b;hb=55386dddad84cc1140d736cabaf4dd0ae16f2e01;hp=f6f505dce6409db716561b061a2e66eda3efae5a;hpb=86c838c428a9e7d26f902f5492738241fa72c4e7;p=mothur.git diff --git a/mothurout.h b/mothurout.h index f6f505d..6f04f89 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,15 +36,29 @@ 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; //functions from mothur.h //file operations vector divideFile(string, int&); + int divideFile(string, int&, vector&); vector setFilePosEachLine(string, int&); vector setFilePosFasta(string, int&); string sortFile(string, string); @@ -65,7 +80,9 @@ class MothurOut { void gobble(istream&); void gobble(istringstream&); map readNames(string); + int readNames(string, map&); int readNames(string, vector&, map&); + 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 Groups; + vector namesOfGroups; ofstream out; int mem_usage(double&, double&);