]> git.donarmstrong.com Git - mothur.git/blob - sensspeccommand.h
changes while testing
[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         
30         string getHelpString(); 
31     string getOutputPattern(string);    
32         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 77:3219.\nhttp://www.mothur.org/wiki/Sens.spec"; }
33         string getDescription()         { return "sens.spec"; }
34
35         int execute(); 
36         void help() { m->mothurOut(getHelpString()); }  
37         
38 private:
39         int processPhylip();
40         int processColumn();
41         void setUpOutput();
42         void outputStatistics(string, string);
43         
44         string listFile, distFile, nameFile, sensSpecFileName, phylipfile, columnfile;
45         string outputDir;
46         string format;
47         vector<string> outputNames;
48         set<string> labels; //holds labels to be used
49
50         long int truePositives, falsePositives, trueNegatives, falseNegatives;
51         bool abort, allLines, square;
52         bool hard;
53         //string lineLabel;
54         double cutoff;
55         int precision;
56         
57         int fillSeqMap(map<string, int>&, ListVector*&);
58         int fillSeqPairSet(set<string>&, ListVector*&);
59         int process(map<string, int>&, string, bool&, string&);
60         int process(set<string>&, string, bool&, string&, int);
61     string preProcessList();
62     bool testFile();
63
64 };
65
66 #endif
67
68
69