]> git.donarmstrong.com Git - mothur.git/blob - normalizesharedcommand.h
Merge remote-tracking branch 'mothur/master'
[mothur.git] / normalizesharedcommand.h
1 #ifndef NORMALIZESHAREDCOMMAND_H
2 #define NORMALIZESHAREDCOMMAND_H
3
4 /*
5  *  normalizesharedcommand.h
6  *  Mothur
7  *
8  *  Created by westcott on 9/15/10.
9  *  Copyright 2010 Schloss Lab. All rights reserved.
10  *
11  */
12  
13 #include "command.hpp"
14 #include "inputdata.h"
15 #include "sharedrabundvector.h"
16
17 class NormalizeSharedCommand : public Command {
18
19 public:
20         NormalizeSharedCommand(string);
21         NormalizeSharedCommand();
22         ~NormalizeSharedCommand() {}
23         
24         vector<string> setParameters();
25         string getCommandName()                 { return "normalize.shared";            }
26         string getCommandCategory()             { return "OTU-Based Approaches";        }
27         string getOutputFileNameTag(string, string);
28         string getHelpString(); 
29         string getCitation() { return "http://www.mothur.org/wiki/Normalize.shared"; }
30         string getDescription()         { return "normalize samples in a shared or relabund file"; }
31
32         
33         int execute(); 
34         void help() { m->mothurOut(getHelpString()); }  
35         
36         
37 private:
38         InputData* input;
39         vector<SharedRAbundVector*> lookup;
40         vector<SharedRAbundFloatVector*> lookupFloat;
41         
42         bool abort, allLines, pickedGroups, makeRelabund;
43         set<string> labels; //holds labels to be used
44         string groups, label, outputDir, method, sharedfile, relabundfile, format, inputfile;
45         int norm;
46         vector<string> Groups, outputNames;
47                 
48         int normalize(vector<SharedRAbundVector*>&);
49         int normalize(vector<SharedRAbundFloatVector*>&);
50         int eliminateZeroOTUS(vector<SharedRAbundVector*>&);
51         int eliminateZeroOTUS(vector<SharedRAbundFloatVector*>&);
52
53 };
54
55 #endif
56