]> git.donarmstrong.com Git - mothur.git/blob - sensspeccommand.h
removing chime source files from mother project.
[mothur.git] / sensspeccommand.h
1 #ifndef SENSSPECCOMMAND_H
2 #define SENSSPECCOMMAND_H
3
4
5 /*
6  *  sensspeccommand.h
7  *  Mothur
8  *
9  *  Created by Pat Schloss on 7/6/10.
10  *  Copyright 2010 Schloss Lab. All rights reserved.
11  *
12  */
13
14 #include "mothur.h"
15 #include "command.hpp"
16 #include "listvector.hpp"
17 #include "inputdata.h"
18
19 class SensSpecCommand : public Command {
20         
21 public:
22         SensSpecCommand(string);
23         SensSpecCommand();
24         ~SensSpecCommand(){}
25         
26         vector<string> setParameters();
27         string getCommandName()                 { return "sens.spec";                           }
28         string getCommandCategory()             { return "OTU-Based Approaches";        }
29         string getHelpString(); 
30         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. \nhttp://www.mothur.org/wiki/Sens.spec"; }
31         string getDescription()         { return "sens.spec"; }
32
33         int execute(); 
34         void help() { m->mothurOut(getHelpString()); }  
35         
36 private:
37         int processPhylip();
38         int processColumn();
39         void setUpOutput();
40         void outputStatistics(string, string);
41         
42         string listFile, distFile, nameFile, sensSpecFileName, phylipfile, columnfile;
43         string outputDir;
44         string format;
45         vector<string> outputNames;
46         set<string> labels; //holds labels to be used
47
48         long int truePositives, falsePositives, trueNegatives, falseNegatives;
49         bool abort, allLines;
50         bool hard;
51         //string lineLabel;
52         double cutoff;
53         int precision;
54         
55         int fillSeqMap(map<string, int>&, ListVector*&);
56         int fillSeqPairSet(set<string>&, ListVector*&);
57         int process(map<string, int>&, string, bool&, string&);
58         int process(set<string>&, string, bool&, string&, int);
59
60 };
61
62 #endif
63
64
65