]> git.donarmstrong.com Git - mothur.git/blob - clusterdoturcommand.h
Merge remote-tracking branch 'mothur/master'
[mothur.git] / clusterdoturcommand.h
1 #ifndef CLUSTERDOTURCOMMAND_H
2 #define CLUSTERDOTURCOMMAND_H
3
4 /*
5  *  clusterdoturcommand.h
6  *  Mothur
7  *
8  *  Created by westcott on 10/27/10.
9  *  Copyright 2010 Schloss Lab. All rights reserved.
10  *
11  */
12
13 #include "command.hpp"
14 #include "nameassignment.hpp"
15 #include "rabundvector.hpp"
16 #include "sabundvector.hpp"
17 #include "listvector.hpp"
18
19
20 class ClusterDoturCommand : public Command {
21         
22 public:
23         ClusterDoturCommand(string);
24         ClusterDoturCommand();
25         ~ClusterDoturCommand(){}
26         
27         vector<string> setParameters();
28         string getCommandName()                 { return "cluster.classic";             }
29         string getCommandCategory()             { return "Clustering";                  }
30     string getOutputFileNameTag(string, string);
31         string getHelpString();         
32         string getCitation() { return "Schloss PD, Westcott SL (2011). Assessing and improving methods used in OTU-based approaches for 16S rRNA gene sequence analysis. Appl Environ Microbiol 77:3219.\nSchloss PD, Handelsman J (2005). Introducing DOTUR, a computer program for defining operational taxonomic units and estimating species richness. Appl Environ Microbiol 71: 1501-6.\nhttp://www.mothur.org/wiki/Cluster.classic\n";}
33         string getDescription()         { return "cluster your sequences into OTUs using DOTUR’s method"; }
34         
35         int execute(); 
36         void help() { m->mothurOut(getHelpString()); }  
37         
38 private:
39         bool abort, hard, sim;
40         string method, fileroot, tag, outputDir, phylipfile, namefile, countfile;
41         double cutoff;
42         int precision, length;
43         ofstream sabundFile, rabundFile, listFile;
44         NameAssignment* nameMap;
45         ListVector* list;
46         RAbundVector* rabund;
47         RAbundVector oldRAbund;
48         ListVector oldList;
49         
50         void printData(string label);
51         vector<string> outputNames;
52 };
53
54 #endif
55