#include "mothur.h"
#include "command.hpp"
+#include "listvector.hpp"
+#include "inputdata.h"
class SensSpecCommand : public Command {
public:
SensSpecCommand(string);
SensSpecCommand();
- ~SensSpecCommand();
- vector<string> getRequiredParameters();
- vector<string> getValidParameters();
- vector<string> getRequiredFiles();
- map<string, vector<string> > getOutputFiles() { return outputTypes; }
- int execute();
- void help();
+ ~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:
- void processPhylip();
- void processColumn();
+ int processPhylip();
+ int processColumn();
void setUpOutput();
void outputStatistics(string, string);
- string listFile, distFile, nameFile, sensSpecFileName;
+ string listFile, distFile, nameFile, sensSpecFileName, phylipfile, columnfile;
string outputDir;
string format;
vector<string> outputNames;
- map<string, vector<string> > outputTypes;
+ set<string> labels; //holds labels to be used
long int truePositives, falsePositives, trueNegatives, falseNegatives;
- bool abort;
+ bool abort, allLines;
bool hard;
- string lineLabel;
+ //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
\ No newline at end of file
+#endif
+
+
+