X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=groupmap.h;h=5397e02e7c158e5074a7f8e626d813561cc6d9b6;hb=3914b0d6480f67df53b1e838f51c4e6155710434;hp=8a1cfff6f660e0042f8a44784e8abff7864c5c2e;hpb=74844a60d80c6dd06e3fb02ee9b928424f9019b0;p=mothur.git diff --git a/groupmap.h b/groupmap.h index 8a1cfff..5397e02 100644 --- a/groupmap.h +++ b/groupmap.h @@ -2,7 +2,7 @@ #define GROUPMAP_H /* * groupmap.h - * Dotur + * Mothur * * Created by Sarah Westcott on 12/1/08. * Copyright 2008 Schloss Lab UMASS Amherst. All rights reserved. @@ -17,25 +17,42 @@ class GroupMap { public: - GroupMap() {}; + GroupMap() { m = MothurOut::getInstance(); } GroupMap(string); ~GroupMap(); int readMap(); + int readMap(string); + int readDesignMap(); + int readDesignMap(string); int getNumGroups(); bool isValidGroup(string); //return true if string is a valid group string getGroup(string); void setGroup(string, string); - vector namesOfGroups; - map groupIndex; //groupname, vectorIndex in namesOfGroups. - used by collectdisplays and libshuff commands. + vector getNamesOfGroups() { + sort(namesOfGroups.begin(), namesOfGroups.end()); + groupIndex.clear(); + for (int i = 0; i < namesOfGroups.size(); i++) { groupIndex[namesOfGroups[i]] = i; } + return namesOfGroups; + } + vector getNamesSeqs(); + void setNamesOfGroups(vector sn) { namesOfGroups = sn; } int getNumSeqs() { return groupmap.size(); } - vector getNamesSeqs(); + vector getNamesSeqs(vector); //get names of seqs belonging to a group or set of groups int getNumSeqs(string); //return the number of seqs in a given group - + int getCopy(GroupMap*); + int renameSeq(string, string); + int print(ofstream&); + int print(ofstream&, vector); //print certain groups + + + map groupIndex; //groupname, vectorIndex in namesOfGroups. - used by collectdisplays and libshuff commands. + private: + vector namesOfGroups; MothurOut* m; ifstream fileHandle; string groupFileName; - int index; + int index; map::iterator it; void setNamesOfGroups(string); map groupmap; //sequence name and groupname