]> git.donarmstrong.com Git - mothur.git/blob - subsamplecommand.h
added citation function to commands
[mothur.git] / subsamplecommand.h
1 #ifndef SUBSAMPLECOMMAND_H
2 #define SUBSAMPLECOMMAND_H
3
4 /*
5  *  subsamplecommand.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 "sharedrabundvector.h"
15 #include "listvector.hpp"
16 #include "rabundvector.hpp"
17 #include "inputdata.h"
18 #include "sequence.hpp"
19
20
21 class SubSampleCommand : public Command {
22
23 public:
24         SubSampleCommand(string);
25         SubSampleCommand();
26         ~SubSampleCommand() {}
27         
28         vector<string> setParameters();
29         string getCommandName()                 { return "sub.sample";  }
30         string getCommandCategory()             { return "General";             }
31         string getHelpString(); 
32         string getCitation() { return "http://www.mothur.org/wiki/Sub.sample"; }
33         
34         int execute(); 
35         void help() { m->mothurOut(getHelpString()); }  
36         
37 private:        
38         bool abort, pickedGroups, allLines, persample;
39         string listfile, groupfile, sharedfile, rabundfile, sabundfile, fastafile, namefile;
40         set<string> labels; //holds labels to be used
41         string groups, label, outputDir;
42         vector<string> Groups, outputNames;
43         int size;
44         vector<string> names;
45         map<string, vector<string> > nameMap;
46         
47         int eliminateZeroOTUS(vector<SharedRAbundVector*>&);
48         int getSubSampleShared();
49         int getSubSampleList();
50         int getSubSampleRabund();
51         int getSubSampleSabund();
52         int getSubSampleFasta();
53         int processShared(vector<SharedRAbundVector*>&, ofstream&);
54         int processRabund(RAbundVector*&, ofstream&);
55         int processSabund(SAbundVector*&, ofstream&);
56         int processList(ListVector*&, ofstream&, set<string>&);
57         int getNames();
58         int readNames();
59         
60 };
61
62 #endif
63