]> git.donarmstrong.com Git - mothur.git/blobdiff - screenseqscommand.h
paralellized screen.seqs and added mpi code to it. fixed bug with all mpi commands...
[mothur.git] / screenseqscommand.h
index 269275d38409c251ef3f9b0b1c2552602367f348..f1b72051250d07a389ed332b0690cbcda3b807c0 100644 (file)
@@ -21,13 +21,30 @@ public:
        void help();
        
 private:
-       void screenNameGroupFile(set<string>);
-       void screenGroupFile(set<string>);
-       void screenAlignReport(set<string>);
+
+       struct linePair {
+               int start;
+               int numSeqs;
+               linePair(long int i, int j) : start(i), numSeqs(j) {}
+       };
+       vector<int> processIDS;   //processid
+       vector<linePair*> lines;
+
+       int screenNameGroupFile(set<string>);
+       int screenGroupFile(set<string>);
+       int screenAlignReport(set<string>);
        
+       int driver(linePair*, string, string, string, string, set<string>&);
+       int createProcesses(string, string, string, string, set<string>&);
+       
+       #ifdef USE_MPI
+       int driverMPI(int, int, MPI_File&, MPI_File&, MPI_File&, MPI_File&, vector<long>&, set<string>&);
+       #endif
+
        bool abort;
-       string fastafile, namefile, groupfile, alignreport;
-       int startPos, endPos, maxAmbig, maxHomoP, minLength, maxLength;
+       string fastafile, namefile, groupfile, alignreport, outputDir;
+       int startPos, endPos, maxAmbig, maxHomoP, minLength, maxLength, processors;
+       vector<string> outputNames;
 };
 
 #endif