]> git.donarmstrong.com Git - mothur.git/blob - nameassignment.cpp
added hcluster command and fixed some bugs, namely one with smart distancing.
[mothur.git] / nameassignment.cpp
1
2
3 #include "nameassignment.hpp"
4
5 //**********************************************************************************************************************
6
7 NameAssignment::NameAssignment(string nameMapFile){
8         
9         openInputFile(nameMapFile, fileHandle);
10         
11 }
12
13 //**********************************************************************************************************************
14
15 void NameAssignment::readMap(){
16         try{
17                 string firstCol, secondCol, skip;
18         //      int index = 0;
19         
20         
21 //              map<string, string> data;
22                 int rowIndex = 0;
23
24                 while(fileHandle){
25                         fileHandle >> firstCol;                         //read from first column
26                         fileHandle >> secondCol;                        //read from second column
27                         
28 //                      data[firstCol] = secondCol;                     //store data in map
29
30                         list.push_back(secondCol);              //adds data's value to list
31                         (*this)[firstCol] = rowIndex++;
32                         gobble(fileHandle);
33                 }
34                 fileHandle.close();
35         
36         }
37         catch(exception& e) {
38                 errorOut(e, "NameAssignment", "readMap");
39                 exit(1);
40         }
41 }
42 //**********************************************************************************************************************
43 void NameAssignment::push_back(string name) {
44         try{
45         
46                 int num = (*this).size();
47                 (*this)[name] = num;
48                 
49                 list.push_back(name);
50         }
51         catch(exception& e) {
52                 errorOut(e, "NameAssignment", "push_back");
53                 exit(1);
54         }
55 }
56
57 //**********************************************************************************************************************
58
59 ListVector NameAssignment::getListVector(void){
60
61         return list;
62         
63 }
64
65 //**********************************************************************************************************************
66
67 void NameAssignment::print(void){
68         try {
69                 map<string,int>::iterator it;
70                 for(it = (*this).begin(); it!=(*this).end(); it++){
71                         mothurOut(it->first + "\t" + toString(it->second)); mothurOutEndLine();  //prints out keys and values of the map this.
72                 }
73         }
74         catch(exception& e) {
75                 errorOut(e, "NameAssignment", "print");
76                 exit(1);
77         }
78 }
79
80 //**********************************************************************************************************************
81
82 int NameAssignment::get(string key){
83         
84         return  (*this)[key];   
85
86 }
87
88 //**********************************************************************************************************************
89