X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=screenseqscommand.h;h=602326c42e2ff75afbeb8050479cf7e188b8b634;hb=77ac47e1ea0b5a0c6f55eb25e6bc7d7494ed3ad2;hp=9b987261d10cc62f5296d1717752eb5d7c587dae;hpb=faf4e99552d6fb4595ff348b1f909ddc74536da2;p=mothur.git diff --git a/screenseqscommand.h b/screenseqscommand.h index 9b98726..602326c 100644 --- a/screenseqscommand.h +++ b/screenseqscommand.h @@ -11,19 +11,57 @@ */ #include "mothur.h" #include "command.hpp" -#include "globaldata.hpp" class ScreenSeqsCommand : public Command { public: + ScreenSeqsCommand(string); ScreenSeqsCommand(); - ~ScreenSeqsCommand(); - int execute(); + ~ScreenSeqsCommand() {} + + vector setParameters(); + string getCommandName() { return "screen.seqs"; } + string getCommandCategory() { return "Sequence Processing"; } + string getHelpString(); + + int execute(); + void help() { m->mothurOut(getHelpString()); } + + private: - void screenNameGroupFile(set); - void screenGroupFile(set); - GlobalData* globaldata; + struct linePair { + unsigned long int start; + unsigned long int end; + linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {} + }; + + vector processIDS; //processid + vector lines; + + int screenNameGroupFile(set); + int screenGroupFile(set); + int screenAlignReport(set); + int screenQual(set); + + int driver(linePair*, string, string, string, set&); + int createProcesses(string, string, string, set&); + + #ifdef USE_MPI + int driverMPI(int, int, MPI_File&, MPI_File&, MPI_File&, vector&, set&); + #endif + + bool abort; + string fastafile, namefile, groupfile, alignreport, outputDir, qualfile; + int startPos, endPos, maxAmbig, maxHomoP, minLength, maxLength, processors, criteria; + vector outputNames; + vector optimize; + map nameMap; + int readNames(); + + int getSummary(vector&); + int createProcessesCreateSummary(vector&, vector&, vector&, vector&, vector&, string); + int driverCreateSummary(vector&, vector&, vector&, vector&, vector&, string, linePair*); }; #endif