]> git.donarmstrong.com Git - mothur.git/blobdiff - sensspeccommand.h
Revert to previous commit
[mothur.git] / sensspeccommand.h
diff --git a/sensspeccommand.h b/sensspeccommand.h
new file mode 100644 (file)
index 0000000..02e84c0
--- /dev/null
@@ -0,0 +1,65 @@
+#ifndef SENSSPECCOMMAND_H
+#define SENSSPECCOMMAND_H
+
+
+/*
+ *  sensspeccommand.h
+ *  Mothur
+ *
+ *  Created by Pat Schloss on 7/6/10.
+ *  Copyright 2010 Schloss Lab. All rights reserved.
+ *
+ */
+
+#include "mothur.h"
+#include "command.hpp"
+#include "listvector.hpp"
+#include "inputdata.h"
+
+class SensSpecCommand : public Command {
+       
+public:
+       SensSpecCommand(string);
+       SensSpecCommand();
+       ~SensSpecCommand(){}
+       
+       vector<string> setParameters();
+       string getCommandName()                 { return "sens.spec";                           }
+       string getCommandCategory()             { return "OTU-Based Approaches";        }
+       string getHelpString(); 
+       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"; }
+       string getDescription()         { return "sens.spec"; }
+
+       int execute(); 
+       void help() { m->mothurOut(getHelpString()); }  
+       
+private:
+       int processPhylip();
+       int processColumn();
+       void setUpOutput();
+       void outputStatistics(string, string);
+       
+       string listFile, distFile, nameFile, sensSpecFileName, phylipfile, columnfile;
+       string outputDir;
+       string format;
+       vector<string> outputNames;
+       set<string> labels; //holds labels to be used
+
+       long int truePositives, falsePositives, trueNegatives, falseNegatives;
+       bool abort, allLines;
+       bool hard;
+       //string lineLabel;
+       double cutoff;
+       int precision;
+       
+       int fillSeqMap(map<string, int>&, ListVector*&);
+       int fillSeqPairSet(set<string>&, ListVector*&);
+       int process(map<string, int>&, string, bool&, string&);
+       int process(set<string>&, string, bool&, string&, int);
+
+};
+
+#endif
+
+
+