]> git.donarmstrong.com Git - mothur.git/blobdiff - filterseqscommand.h
finished mpi for filter.seqs
[mothur.git] / filterseqscommand.h
index e8af5ec35c505d4b73875cee2fd1b3b78fb22b68..1d2526fdca83114dcca76217917324d134bcc391 100644 (file)
@@ -12,6 +12,7 @@
 
 #include "command.hpp"
 #include "filters.h"
+#include "mpi.h"
 
 class Sequence;
 class FilterSeqsCommand : public Command {
@@ -23,19 +24,36 @@ public:
        void help();
        
 private:
+       struct linePair {
+               int start;
+               int num;
+               linePair(long int i, long int j) : start(i), num(j) {}
+       };
+       vector<linePair*> lines;
+       vector<int> processIDS;
+
        string vertical, filter, fasta, hard, outputDir, filterFileName;
        vector<string> fastafileNames;  
-       int alignmentLength;
+       int alignmentLength, processors;
+       vector<int> bufferSizes;
+       vector<string> outputNames;
 
        char trump;
        bool abort;
        float soft;
        int numSeqs;
        
-       Filters F;
-               
-       vector<int> a, t, g, c, gap;
-
+       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<string>&);
+       
 };
 
 #endif