]> git.donarmstrong.com Git - mothur.git/blob - normalizesharedcommand.h
working on pam
[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         
28         string getHelpString(); 
29     string getOutputPattern(string);    
30         string getCitation() { return "http://www.mothur.org/wiki/Normalize.shared"; }
31         string getDescription()         { return "normalize samples in a shared or relabund file"; }
32
33         
34         int execute(); 
35         void help() { m->mothurOut(getHelpString()); }  
36         
37         
38 private:
39         InputData* input;
40         vector<SharedRAbundVector*> lookup;
41         vector<SharedRAbundFloatVector*> lookupFloat;
42         
43         bool abort, allLines, pickedGroups, makeRelabund;
44         set<string> labels; //holds labels to be used
45         string groups, label, outputDir, method, sharedfile, relabundfile, format, inputfile;
46         int norm;
47         vector<string> Groups, outputNames;
48                 
49         int normalize(vector<SharedRAbundVector*>&);
50         int normalize(vector<SharedRAbundFloatVector*>&);
51         int eliminateZeroOTUS(vector<SharedRAbundVector*>&);
52         int eliminateZeroOTUS(vector<SharedRAbundFloatVector*>&);
53
54 };
55
56 #endif
57