]> git.donarmstrong.com Git - mothur.git/blob - validcommands.cpp
936e706071aaa2dea1cd775e62c9e9ce264b41e8
[mothur.git] / validcommands.cpp
1 /*
2  *  validcommands.cpp
3  *  Dotur
4  *
5  *  Created by Sarah Westcott on 1/5/09.
6  *  Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
7  *
8  */
9
10 #include "validcommands.h"
11
12 /***********************************************************************/
13
14 ValidCommands::ValidCommands() {
15         try {
16         
17                 commands["read.dist"]                   = "read.dist"; 
18                 commands["read.otu"]                    = "read.otu";
19                 commands["read.tree"]                   = "read.tree"; 
20                 commands["bin.seqs"]                    = "bin.seqs"; 
21                 commands["get.oturep"]                  = "get.oturep";
22                 commands["cluster"]                             = "cluster"; 
23                 commands["unique.seqs"]                 = "unique.seqs"; 
24                 commands["dist.seqs"]                   = "dist.seqs";
25                 commands["dist.shared"]                 = "dist.shared";
26                 commands["collect.single"]              = "collect.single"; 
27                 commands["collect.shared"]              = "collect.shared"; 
28                 commands["rarefaction.single"]  = "rarefaction.single"; 
29                 commands["rarefaction.shared"]  = "rarefaction.shared"; 
30                 commands["summary.single"]              = "summary.single"; 
31                 commands["summary.shared"]              = "summary.shared"; 
32                 commands["parsimony"]                   = "parsimony";
33                 commands["unifrac.weighted"]    = "unifrac.weighted"; 
34                 commands["unifrac.unweighted"]  = "unifrac.unweighted"; 
35                 commands["libshuff"]                    = "libshuff";
36                 commands["tree.shared"]                 = "tree.shared";
37                 commands["heatmap"]                             = "heatmap";
38                 commands["venn"]                                = "venn";
39                 commands["get.group"]           = "get.group";
40                 commands["get.label"]           = "get.label";
41                 commands["get.line"]            = "get.line";
42                 commands["get.sabund"]          = "get.sabund";
43                 commands["get.rabund"]          = "get.rabund";
44                 commands["bootstrap.shared"]    = "bootstrap.shared";
45                 commands["concensus"]                   = "concensus";
46                 commands["help"]                                = "help"; 
47                 commands["filter.seqs"]                 = "filter.seqs";
48                 commands["align.seqs"]                  = "align.seqs";
49                 commands["summary.seqs"]                = "summary.seqs";
50                 commands["screen.seqs"]                 = "screen.seqs";
51                 commands["reverse.seqs"]                = "reverse.seqs";
52                 commands["trim.seqs"]                   = "trim.seqs";
53                 commands["quit"]                                = "quit"; 
54
55                                 
56         }
57         catch(exception& e) {
58                 cout << "Standard Error: " << e.what() << " has occurred in the ValidCommands class Function ValidCommands. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
59                 exit(1);
60         }
61         catch(...) {
62                 cout << "An unknown error has occurred in the ValidCommands class function ValidCommands. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
63                 exit(1);
64         }       
65 }
66
67 /***********************************************************************/
68
69 ValidCommands::~ValidCommands() {}
70
71 /***********************************************************************/
72 bool ValidCommands::isValidCommand(string command) {
73         try {   
74         
75                 //is the command in the map
76                 if ((commands.find(command)) != (commands.end())) {
77                         return true;
78                 }else{
79                         cout << command << " is not a valid command in Mothur.  Valid commands are ";
80                         for (it = commands.begin(); it != commands.end(); it++) {
81                                 cout << it->first << ", ";
82                         }
83                         cout << endl;
84                         return false;
85                 }
86                 
87         }
88         catch(exception& e) {
89                 cout << "Standard Error: " << e.what() << " has occurred in the ValidCommands class Function isValidCommand. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
90                 exit(1);
91         }
92         catch(...) {
93                 cout << "An unknown error has occurred in the ValidCommands class function isValidCommand. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
94                 exit(1);
95         }
96 }
97
98 /***********************************************************************/
99 void ValidCommands::printCommands(ostream& out) {
100         try {   
101                 out << "Valid commands are ";
102                 for (it = commands.begin(); it != commands.end(); it++) {
103                         out << it->first << ", ";
104                 }
105                 out << endl;
106         }
107         catch(exception& e) {
108                 cout << "Standard Error: " << e.what() << " has occurred in the ValidCommands class Function printCommands. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
109                 exit(1);
110         }
111         catch(...) {
112                 cout << "An unknown error has occurred in the ValidCommands class function printCommands. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
113                 exit(1);
114         }
115 }
116
117
118
119