5 * Created by Sarah Westcott on 12/1/08.
6 * Copyright 2008 Schloss Lab UMASS Amherst. All rights reserved.
12 /************************************************************/
14 GroupMap::GroupMap(string filename) {
15 groupFileName = filename;
16 openInputFile(filename, fileHandle);
20 /************************************************************/
21 GroupMap::~GroupMap(){};
23 /************************************************************/
24 void GroupMap::readMap() {
25 string seqName, seqGroup;
28 fileHandle >> seqName; //read from first column
29 fileHandle >> seqGroup; //read from second column
31 setNamesOfGroups(seqGroup);
33 groupmap[seqName] = seqGroup; //store data in map
39 /************************************************************/
41 int GroupMap::getNumGroups() {
43 return namesOfGroups.size();
46 /************************************************************/
48 string GroupMap::getGroup(string sequenceName) {
50 it = groupmap.find(sequenceName);
51 if (it != groupmap.end()) { //sequence name was in group file
59 /************************************************************/
61 void GroupMap::setNamesOfGroups(string seqGroup) {
64 for (i=0; i<namesOfGroups.size(); i++) {
65 if (namesOfGroups[i] != seqGroup) {
66 count++; //you have not found this group
68 break; //you already have it
71 if (count == namesOfGroups.size()) {
72 namesOfGroups.push_back(seqGroup); //new group
73 groupIndex[seqGroup] = index;