]> git.donarmstrong.com Git - mothur.git/blob - rarefactcommand.h
forced rarefaction.single to output ending line for all groups. added subsample...
[mothur.git] / rarefactcommand.h
1 #ifndef RAREFACTCOMMAND_H
2 #define RAREFACTCOMMAND_H
3 /*
4  *  rarefactcommand.h
5  *  Dotur
6  *
7  *  Created by Sarah Westcott on 1/2/09.
8  *  Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
9  *
10  */
11
12 #include "command.hpp"
13 #include "ordervector.hpp"
14 #include "inputdata.h"
15 #include "rarefact.h"
16 #include "display.h"
17 #include "validcalculator.h"
18
19 class RareFactCommand : public Command {
20         
21 public:
22         RareFactCommand(string);
23         RareFactCommand();      
24         ~RareFactCommand(){}
25         
26         vector<string> setParameters();
27         string getCommandName()                 { return "rarefaction.single";          }
28         string getCommandCategory()             { return "OTU-Based Approaches";        }
29         string getHelpString(); 
30         string getCitation() { return "Magurran AE (2004). Measuring biological diversity. Blackwell Pub.: Malden, Ma. \nhttp://www.mothur.org/wiki/Rarefaction.single"; }
31         string getDescription()         { return "generate intra-sample rarefaction curves using a re-sampling without replacement approach"; }
32
33         int execute(); 
34         void help() { m->mothurOut(getHelpString()); }  
35         
36 private:
37         
38         vector<Display*> rDisplays;
39         OrderVector* order;
40         InputData* input;
41         Rarefact* rCurve;
42         int nIters, abund, processors;
43         float freq;
44         
45         bool abort, allLines, groupMode;
46         set<string> labels; //holds labels to be used
47         string label, calc, sharedfile, listfile, rabundfile, sabundfile, format, inputfile;
48         vector<string>  Estimators;
49         vector<string> inputFileNames, outputNames;
50         vector<string> groups;
51         string outputDir;
52         
53         vector<string> parseSharedFile(string, map<string, set<int> >&);
54         vector<string> createGroupFile(vector<string>&, map<int, string>);
55 };
56
57 #endif