]> git.donarmstrong.com Git - mothur.git/blobdiff - groupmap.h
added citation function to commands
[mothur.git] / groupmap.h
index 54225e22a0ffab29c3ef7081aec8e75257d6d2d7..54085a19bab041d0caf17981c8c6c81f05a0c8b9 100644 (file)
@@ -10,6 +10,7 @@
  */
 
 #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. */
@@ -19,22 +20,28 @@ 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<string> namesOfGroups;
-       map<string, int> groupIndex;  //groupname, vectorIndex in namesOfGroups. - used by collectdisplays.
+       map<string, int> groupIndex;  //groupname, vectorIndex in namesOfGroups. - used by collectdisplays and libshuff commands.
        int getNumSeqs()  {  return groupmap.size();  }
+       vector<string> getNamesSeqs();
+       vector<string> getNamesSeqs(vector<string>); //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 index;
        map<string, string>::iterator it;
        void setNamesOfGroups(string); 
        map<string, string> groupmap; //sequence name and groupname
+       map<string, int> seqsPerGroup;  //maps groupname to number of seqs in that group
 };
 
 #endif