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