5 * Created by Pat Schloss on 10/25/08.
6 * Copyright 2008 Patrick D. Schloss. All rights reserved.
10 #include "command.hpp"
11 #include "readdistcommand.h"
12 #include "readtreecommand.h"
13 #include "readotucommand.h"
14 #include "clustercommand.h"
15 #include "parselistcommand.h"
16 #include "collectcommand.h"
17 #include "collectsharedcommand.h"
18 #include "getgroupcommand.h"
19 #include "getlabelcommand.h"
20 #include "getlinecommand.h"
21 #include "rarefactcommand.h"
22 #include "summarycommand.h"
23 #include "summarysharedcommand.h"
24 #include "rarefactsharedcommand.h"
25 #include "quitcommand.h"
26 #include "helpcommand.h"
27 #include "commandfactory.hpp"
28 #include "deconvolutecommand.h"
29 #include "parsimonycommand.h"
30 #include "unifracunweightedcommand.h"
31 #include "unifracweightedcommand.h"
32 #include "libshuffcommand.h"
33 #include "heatmapcommand.h"
34 #include "filterseqscommand.h"
36 #include "venncommand.h"
37 #include "nocommands.h"
38 #include "binsequencecommand.h"
39 #include "getoturepcommand.h"
40 #include "treegroupscommand.h"
41 #include "bootstrapsharedcommand.h"
42 #include "concensuscommand.h"
43 #include "distancecommand.h"
44 #include "aligncommand.h"
45 #include "matrixoutputcommand.h"
46 #include "getsabundcommand.h"
47 #include "getrabundcommand.h"
48 #include "seqsummarycommand.h"
49 #include "screenseqscommand.h"
52 /***********************************************************/
54 /***********************************************************/
55 CommandFactory::CommandFactory(){
56 command = new NoCommand();
58 /***********************************************************/
60 /***********************************************************/
61 CommandFactory::~CommandFactory(){
65 /***********************************************************/
67 /***********************************************************/
68 //This function calls the appropriate command fucntions based on user input.
69 Command* CommandFactory::getCommand(string commandName){
71 delete command; //delete the old command
73 if(commandName == "read.dist") { command = new ReadDistCommand(); }
74 else if(commandName == "read.otu") { command = new ReadOtuCommand(); }
75 else if(commandName == "read.tree") { command = new ReadTreeCommand(); }
76 else if(commandName == "cluster") { command = new ClusterCommand(); }
77 else if(commandName == "deconvolute") { command = new DeconvoluteCommand(); }
78 else if(commandName == "parsimony") { command = new ParsimonyCommand(); }
79 else if(commandName == "help") { command = new HelpCommand(); }
80 else if(commandName == "quit") { command = new QuitCommand(); }
81 else if(commandName == "collect.single") { command = new CollectCommand(); }
82 else if(commandName == "collect.shared") { command = new CollectSharedCommand(); }
83 else if(commandName == "rarefaction.single") { command = new RareFactCommand(); }
84 else if(commandName == "rarefaction.shared") { command = new RareFactSharedCommand(); }
85 else if(commandName == "summary.single") { command = new SummaryCommand(); }
86 else if(commandName == "summary.shared") { command = new SummarySharedCommand(); }
87 else if(commandName == "unifrac.weighted") { command = new UnifracWeightedCommand(); }
88 else if(commandName == "unifrac.unweighted") { command = new UnifracUnweightedCommand(); }
89 else if(commandName == "get.group") { command = new GetgroupCommand(); }
90 else if(commandName == "get.label") { command = new GetlabelCommand(); }
91 else if(commandName == "get.line") { command = new GetlineCommand(); }
92 else if(commandName == "get.sabund") { command = new GetSAbundCommand(); }
93 else if(commandName == "get.rabund") { command = new GetRAbundCommand(); }
94 else if(commandName == "libshuff") { command = new LibShuffCommand(); }
95 else if(commandName == "heatmap") { command = new HeatMapCommand(); }
96 else if(commandName == "filter.seqs") { command = new FilterSeqsCommand(); }
97 else if(commandName == "venn") { command = new VennCommand(); }
98 else if(commandName == "bin.seqs") { command = new BinSeqCommand(); }
99 else if(commandName == "get.oturep") { command = new GetOTURepCommand(); }
100 else if(commandName == "tree.shared") { command = new TreeGroupCommand(); }
101 else if(commandName == "dist.shared") { command = new MatrixOutputCommand(); }
102 else if(commandName == "bootstrap.shared") { command = new BootSharedCommand(); }
103 else if(commandName == "concensus") { command = new ConcensusCommand(); }
104 else if(commandName == "dist.seqs") { command = new DistanceCommand(); }
105 else if(commandName == "align.seqs") { command = new AlignCommand(); }
106 else if(commandName == "summary.seqs") { command = new SeqSummaryCommand(); }
107 else if(commandName == "screen.seqs") { command = new ScreenSeqsCommand(); }
108 else { command = new NoCommand(); }
112 catch(exception& e) {
113 cout << "Standard Error: " << e.what() << " has occurred in the CommandFactory class Function getCommand. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
117 cout << "An unknown error has occurred in the CommandFactory class function getCommand. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
122 /***********************************************************/