X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=screenseqscommand.h;h=f1b72051250d07a389ed332b0690cbcda3b807c0;hb=cad05a21b084833b07808c1586e755be48fe7e1a;hp=56c9d82f1625a2a9481a203b7b217a9bc3b66bc4;hpb=544469443afe44920bdf279aefd26d29534cabaf;p=mothur.git diff --git a/screenseqscommand.h b/screenseqscommand.h index 56c9d82..f1b7205 100644 --- a/screenseqscommand.h +++ b/screenseqscommand.h @@ -11,25 +11,40 @@ */ #include "mothur.h" #include "command.hpp" -#include "globaldata.hpp" -#include "readfasta.h" -#include "readnexus.h" -#include "readclustal.h" -#include "readseqsphylip.h" - -using namespace std; class ScreenSeqsCommand : public Command { public: - ScreenSeqsCommand(); + ScreenSeqsCommand(string); ~ScreenSeqsCommand(); int execute(); + void help(); + private: - void screenNameGroupFile(set); - void screenGroupFile(set); - GlobalData* globaldata; + struct linePair { + int start; + int numSeqs; + linePair(long int i, int j) : start(i), numSeqs(j) {} + }; + vector processIDS; //processid + vector lines; + + int screenNameGroupFile(set); + int screenGroupFile(set); + int screenAlignReport(set); + + int driver(linePair*, string, string, string, string, set&); + int createProcesses(string, string, string, string, set&); + + #ifdef USE_MPI + int driverMPI(int, int, MPI_File&, MPI_File&, MPI_File&, MPI_File&, vector&, set&); + #endif + + bool abort; + string fastafile, namefile, groupfile, alignreport, outputDir; + int startPos, endPos, maxAmbig, maxHomoP, minLength, maxLength, processors; + vector outputNames; }; #endif