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 mothurOutJustToScreen(string); //writes to cout
void mothurOutJustToLog(string);
void errorOut(exception&, string, string);
void closeLog();
//map<string, string> names;
vector<string> binLabelsInFile;
vector<string> currentBinLabels;
- string saveNextLabel, argv, sharedHeaderMode;
- bool printedHeaders, commandInputsConvertError;
+ string saveNextLabel, argv, sharedHeaderMode, groupMode;
+ bool printedHeaders, commandInputsConvertError, changedSeqNames, modifyNames;
//functions from mothur.h
//file operations
bool dirCheck(string&); //completes path, appends appropriate / or \, makes sure dir is writable.
- vector<unsigned long long> divideFile(string, int&);
+ vector<unsigned long long> divideFile(string, int&); //divides splitting unevenness by sequence
+ vector<unsigned long long> divideFilePerLine(string, int&); //divides splitting unevenness at line breaks
int divideFile(string, int&, vector<string>&);
vector<unsigned long long> setFilePosEachLine(string, int&);
vector<unsigned long long> setFilePosFasta(string, int&);
string sortFile(string, string);
int appendFiles(string, string);
+ int appendFilesWithoutHeaders(string, string);
int renameFile(string, string); //oldname, newname
string getFullPathName(string);
string findProgramPath(string programName);
string getline(istringstream&);
void gobble(istream&);
void gobble(istringstream&);
- map<string, int> readNames(string);
+ vector<string> splitWhiteSpace(string& rest, char[], int);
+ vector<string> splitWhiteSpace(string);
+ set<string> readAccnos(string);
+ int readAccnos(string, vector<string>&);
+ map<string, int> readNames(string);
+ map<string, int> readNames(string, unsigned long int&);
+ int readTax(string, map<string, string>&);
+ vector<consTax> readConsTax(string);
+ int readConsTax(string, map<string, consTax2>&);
+ int readNames(string, map<string, string>&, map<string, int>&);
int readNames(string, map<string, string>&);
+ int readNames(string, map<string, string>&, bool);
+ int readNames(string, map<string, string>&, int);
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, intDist&); //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.
bool checkReleaseVersion(ifstream&, string);
bool anyLabelsToProcess(string, set<string>&, string);
bool inUsersGroups(vector<string>, vector<string>);
+ bool inUsersGroups(vector<int>, vector< vector<int> >);
bool inUsersGroups(string, vector<string>);
+ bool inUsersGroups(int, vector<int>);
void getNumSeqs(ifstream&, int&);
int getNumSeqs(ifstream&);
int getNumNames(string);
void splitAtDash(string&, vector<string>&);
void splitAtChar(string&, vector<string>&, char);
void splitAtChar(string&, string&, char);
+ vector<string> splitWhiteSpaceWithQuotes(string);
int removeConfidences(string&);
+ string removeQuotes(string);
string makeList(vector<string>&);
+ bool isSubset(vector<string>, vector<string>); //bigSet, subset
+ int checkName(string&);
+ map<string, vector<string> > parseClasses(string);
//math operation
int factorial(int num);
float roundDist(float, int);
unsigned int fromBase36(string);
int getRandomIndex(int); //highest
+ double getStandardDeviation(vector<int>&);
+ vector<double> getStandardDeviation(vector< vector<double> >&);
+ vector<double> getStandardDeviation(vector< vector<double> >&, vector<double>&);
+ vector<double> getAverages(vector< vector<double> >&);
+ double getAverage(vector<double>);
+ vector< vector<seqDist> > getStandardDeviation(vector< vector< vector<seqDist> > >&);
+ vector< vector<seqDist> > getStandardDeviation(vector< vector< vector<seqDist> > >&, vector< vector<seqDist> >&);
+ vector< vector<seqDist> > getAverages(vector< vector< vector<seqDist> > >&, string);
+ vector< vector<seqDist> > getAverages(vector< vector< vector<seqDist> > >&);
int control_pressed;
bool executing, runParse, jumble, gui, mothurCalling, debug;
- //current files - if you add a new type you must edit optionParser->getParameters, get.current command and mothurOut->printCurrentFiles/clearCurrentFiles.
+ //current files - if you add a new type you must edit optionParser->getParameters, get.current and set.current commands and mothurOut->printCurrentFiles/clearCurrentFiles/getCurrentTypes. add a get and set function.
string getPhylipFile() { return phylipfile; }
string getColumnFile() { return columnfile; }
string getListFile() { return listfile; }
string getTaxonomyFile() { return taxonomyfile; }
string getFlowFile() { return flowfile; }
string getBiomFile() { return biomfile; }
+ string getCountTableFile() { return counttablefile; }
+ string getSummaryFile() { return summaryfile; }
string getProcessors() { return processors; }
void setListFile(string f) { listfile = getFullPathName(f); }
void setTreeFile(string f) { treefile = getFullPathName(f); }
- void setGroupFile(string f) { groupfile = getFullPathName(f); }
+ void setGroupFile(string f) { groupfile = getFullPathName(f); groupMode = "group"; }
void setPhylipFile(string f) { phylipfile = getFullPathName(f); }
void setColumnFile(string f) { columnfile = getFullPathName(f); }
void setNameFile(string f) { namefile = getFullPathName(f); }
void setTaxonomyFile(string f) { taxonomyfile = getFullPathName(f); }
void setFlowFile(string f) { flowfile = getFullPathName(f); }
void setBiomFile(string f) { biomfile = getFullPathName(f); }
- void setProcessors(string p) { processors = p; }
+ void setSummaryFile(string f) { summaryfile = getFullPathName(f); }
+ void setCountTableFile(string f) { counttablefile = getFullPathName(f); groupMode = "count"; }
+ void setProcessors(string p) { processors = p; mothurOut("\nUsing " + toString(p) + " processors.\n"); }
void printCurrentFiles();
bool hasCurrentFiles();
void clearCurrentFiles();
+ set<string> getCurrentTypes();
private:
static MothurOut* _uniqueInstance;
processors = "1";
flowfile = "";
biomfile = "";
+ counttablefile = "";
+ summaryfile = "";
gui = false;
printedHeaders = false;
commandInputsConvertError = false;
mothurCalling = false;
debug = false;
sharedHeaderMode = "";
+ groupMode = "group";
+ changedSeqNames = false;
+ modifyNames = true;
}
~MothurOut();
string releaseDate, version;
string accnosfile, phylipfile, columnfile, listfile, rabundfile, sabundfile, namefile, groupfile, designfile, taxonomyfile, biomfile;
- string orderfile, treefile, sharedfile, ordergroupfile, relabundfile, fastafile, qualfile, sfffile, oligosfile, processors, flowfile;
+ string orderfile, treefile, sharedfile, ordergroupfile, relabundfile, fastafile, qualfile, sfffile, oligosfile, processors, flowfile, counttablefile, summaryfile;
vector<string> Groups;
vector<string> namesOfGroups;