X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=counttable.h;fp=counttable.h;h=68ba8d211cae1a12aa1d39a76f720a0998a87ad9;hb=6c2b1e530a5c0bb87040e58a3e410097acdfcc3d;hp=04e26d775bb84042ea409e2d18694eeaa216c4df;hpb=f509429e06e545bde69c97cacc0eb436775bd329;p=mothur.git diff --git a/counttable.h b/counttable.h index 04e26d7..68ba8d2 100644 --- a/counttable.h +++ b/counttable.h @@ -38,36 +38,49 @@ #include "mothurout.h" #include "listvector.hpp" +#include "groupmap.h" class CountTable { public: - CountTable() { m = MothurOut::getInstance(); hasGroups = false; total = 0; } + CountTable() { m = MothurOut::getInstance(); hasGroups = false; total = 0; uniques = 0; } ~CountTable() {} - int readTable(string); + int createTable(set&, map&, set&); //seqNames, seqName->group, groupNames + int createTable(string, string, bool); //namefile, groupfile, createGroup + int readTable(string); + int printTable(string); + int printHeaders(ofstream&); + int printSeq(ofstream&, string); bool testGroups(string file); //used to check if file has group data without reading it. + int copy(CountTable*); bool hasGroupInfo() { return hasGroups; } int getNumGroups() { return groups.size(); } vector getNamesOfGroups() { return groups; } //returns group names, if no group info vector is blank. + int addGroup(string); + int renameSeq(string, string); //used to change name of sequence for use with trees + int setAbund(string, string, int); //set abundance number of seqs for that group for that seq int push_back(string); //add a sequence int push_back(string, int); //add a sequence int push_back(string, vector); //add a sequence with group info + int remove(string); //remove seq int get(string); //returns unique sequence index for reading distance matrices like NameAssignment int size() { return indexNameMap.size(); } + vector getGroups(string); //returns vector of groups represented by this sequences vector getGroupCounts(string); //returns group counts for a seq passed in, if no group info is in file vector is blank. Order is the same as the groups returned by getGroups function. int getGroupCount(string, string); //returns number of seqs for that group for that seq int getGroupCount(string); // returns total seqs for that group - int getNumSeqs(string); //returns total seqs for that seq + int getNumSeqs(string); //returns total seqs for that seq, 0 if not found int getNumSeqs() { return total; } //return total number of seqs int getNumUniqueSeqs() { return uniques; } //return number of unique/representative seqs int getGroupIndex(string); //returns index in getGroupCounts vector of specific group vector getNamesOfSeqs(); + vector getNamesOfSeqs(string); int mergeCounts(string, string); //combines counts for 2 seqs, saving under the first name passed in. ListVector getListVector();