X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=filterseqscommand.h;h=1d2526fdca83114dcca76217917324d134bcc391;hb=aba5f8811829037b0a3004ef33f0ad4ed5e5fcf8;hp=9e703ceeb62c2d610776c7f245980de651ab28a1;hpb=3117b1c3109121dff476997d3c5db5b47a77729b;p=mothur.git diff --git a/filterseqscommand.h b/filterseqscommand.h index 9e703ce..1d2526f 100644 --- a/filterseqscommand.h +++ b/filterseqscommand.h @@ -11,38 +11,49 @@ */ #include "command.hpp" -#include "mothur.h" -#include "globaldata.hpp" -#include "readfasta.h" -#include "readnexus.h" -#include "readclustal.h" -#include "readseqsphylip.h" - -using namespace std; +#include "filters.h" +#include "mpi.h" +class Sequence; class FilterSeqsCommand : public Command { public: - FilterSeqsCommand() {}; + FilterSeqsCommand(string); ~FilterSeqsCommand() {}; int execute(); + void help(); private: - void doTrump(); - void doSoft(); - void doFilter(); - - GlobalData* globaldata; - string filename, trump, filter; + 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 abort; + float soft; + int numSeqs; - ReadFasta* readFasta; - ReadNexus* readNexus; - ReadClustal* readClustal; - ReadPhylip* readPhylip; + string createFilter(); + int filterSequences(); + int createProcessesCreateFilter(Filters&, string); + int createProcessesRunFilter(string, string); + int driverCreateFilter(Filters&, string, linePair*); + int driverRunFilter(string, string, string, linePair*); + int driverMPIRun(istringstream&, MPI_File&); + int MPICreateFilter(Filters&, string); + int setLines(string); + int parseBuffer(string, vector&); - vector columnsToRemove; - SequenceDB* db; - double soft; }; -#endif \ No newline at end of file +#endif