X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=groupmap.h;h=54085a19bab041d0caf17981c8c6c81f05a0c8b9;hb=bdb5d82e2a73829b4e1fa42656ad9bcb57e3e948;hp=75e0fdcf8a7f9f69df01245f6e09e1e9038bde93;hpb=20a2d0350a737a434c89f303662d64a8eeea7b05;p=mothur.git diff --git a/groupmap.h b/groupmap.h index 75e0fdc..54085a1 100644 --- a/groupmap.h +++ b/groupmap.h @@ -5,35 +5,43 @@ * Dotur * * Created by Sarah Westcott on 12/1/08. - * Copyright 2008 __MyCompanyName__. All rights reserved. + * Copyright 2008 Schloss Lab UMASS Amherst. All rights reserved. * */ -#include -#include -#include -#include -#include -#include "utilities.hpp" +#include "mothur.h" +#include "mothurout.h" +/* This class is a representation of the groupfile. It is used by all the shared commands to determine what group a + certain sequence belongs to. */ class GroupMap { public: + GroupMap() {}; GroupMap(string); ~GroupMap(); - void readMap(); + int readMap(); + int readDesignMap(); 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. + 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 + private: + MothurOut* m; ifstream fileHandle; string groupFileName; - int numGroups; + int index; map::iterator it; void setNamesOfGroups(string); map groupmap; //sequence name and groupname + map seqsPerGroup; //maps groupname to number of seqs in that group }; -#endif \ No newline at end of file +#endif