X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=filterseqscommand.h;h=3c46036468401352987fb9d6cb61b48447613dab;hb=fdc1f6eaf544f695fc1511f24bddd7e6069c33ba;hp=17f1b3387ee1279a3b44e6ef3d34b732fc88834d;hpb=faf4e99552d6fb4595ff348b1f909ddc74536da2;p=mothur.git diff --git a/filterseqscommand.h b/filterseqscommand.h index 17f1b33..3c46036 100644 --- a/filterseqscommand.h +++ b/filterseqscommand.h @@ -11,33 +11,51 @@ */ #include "command.hpp" -#include "globaldata.hpp" -#include "sequence.hpp" +#include "filters.h" +#include "mpi.h" +class Sequence; class FilterSeqsCommand : public Command { public: - FilterSeqsCommand(); + FilterSeqsCommand(string); ~FilterSeqsCommand() {}; int execute(); + void help(); private: - void doHard(); - void doTrump(Sequence); - void doVertical(); - void doSoft(); - void getFreqs(Sequence); - string filter; - int alignmentLength; + struct linePair { + int start; + int num; + linePair(long int i, long int j) : start(i), num(j) {} + }; + vector lines; + vector processIDS; + + string vertical, filter, fasta, hard, outputDir, filterFileName; + vector fastafileNames; + int alignmentLength, processors; + vector bufferSizes; + vector outputNames; char trump; - bool vertical; + bool abort; float soft; int numSeqs; - GlobalData* globaldata; - vector a, t, g, c, gap; - + string createFilter(); + int filterSequences(); + int createProcessesCreateFilter(Filters&, string); + int createProcessesRunFilter(string, string); + int driverRunFilter(string, string, string, linePair*); + int driverCreateFilter(Filters& F, string filename, linePair* line); + #ifdef USE_MPI + int driverMPIRun(int, int, MPI_File&, MPI_File&, vector&); + int MPICreateFilter(int, int, Filters&, MPI_File&, vector&); + #endif + int setLines(string); + + }; #endif