X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=screenseqscommand.h;h=49d992ac193c7aa42ad4492c9190bda40671fc0b;hb=30910bfac62a1299cd20d99683c4fae68bfc2c1b;hp=5b44091dbd07d044f0de288490ff0d4633495008;hpb=315e38cf393c82be238da5b32574f225a020d25c;p=mothur.git diff --git a/screenseqscommand.h b/screenseqscommand.h index 5b44091..49d992a 100644 --- a/screenseqscommand.h +++ b/screenseqscommand.h @@ -16,18 +16,55 @@ class ScreenSeqsCommand : public Command { public: ScreenSeqsCommand(string); - ~ScreenSeqsCommand(); - int execute(); - void help(); + ScreenSeqsCommand(); + ~ScreenSeqsCommand() {} + + vector setParameters(); + string getCommandName() { return "screen.seqs"; } + string getCommandCategory() { return "Sequence Processing"; } + string getHelpString(); + string getCitation() { return "http://www.mothur.org/wiki/Screen.seqs"; } + string getDescription() { return "enables you to keep sequences that fulfill certain user defined criteria"; } + + int execute(); + void help() { m->mothurOut(getHelpString()); } + private: - void screenNameGroupFile(set); - void screenGroupFile(set); - void screenAlignReport(set); + + struct linePair { + unsigned long long start; + unsigned long long end; + linePair(unsigned long long i, unsigned long long j) : start(i), end(j) {} + }; + + vector processIDS; //processid + vector lines; + + int screenNameGroupFile(set); + int screenGroupFile(set); + int screenAlignReport(set); + int screenQual(set); + int screenTaxonomy(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; - int startPos, endPos, maxAmbig, maxHomoP, minLength, maxLength; + string fastafile, namefile, groupfile, alignreport, outputDir, qualfile, taxonomy; + 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