]> git.donarmstrong.com Git - mothur.git/blobdiff - chimeraccodecommand.h
added MPI code, broke up chimera.seqs into 5 separated commands, added parse.sff...
[mothur.git] / chimeraccodecommand.h
diff --git a/chimeraccodecommand.h b/chimeraccodecommand.h
new file mode 100644 (file)
index 0000000..9a0efb9
--- /dev/null
@@ -0,0 +1,56 @@
+#ifndef CHIMERACCODECOMMAND_H
+#define CHIMERACCODECOMMAND_H
+
+/*
+ *  chimeraccodecommand.h
+ *  Mothur
+ *
+ *  Created by westcott on 3/30/10.
+ *  Copyright 2010 Schloss Lab. All rights reserved.
+ *
+ */
+
+#include "mothur.h"
+#include "command.hpp"
+#include "chimera.h"
+
+
+/***********************************************************/
+
+class ChimeraCcodeCommand : public Command {
+public:
+       ChimeraCcodeCommand(string);
+       ~ChimeraCcodeCommand();
+       int execute();
+       void help();
+       
+               
+private:
+
+       struct linePair {
+               int start;
+               int numSeqs;
+               linePair(long int i, int j) : start(i), numSeqs(j) {}
+       };
+       vector<int> processIDS;   //processid
+       vector<linePair*> lines;
+       
+       int driver(linePair*, string, string, string);
+       int createProcesses(string, string, string);
+       
+       #ifdef USE_MPI
+       int driverMPI(int, int, MPI_File&, MPI_File&, MPI_File&, vector<long>&);
+       #endif
+
+       bool abort, filter, MPIWroteAccnos;
+       string fastafile, templatefile, outputDir, maskfile;
+       int processors, window, numwanted, numSeqs, templateSeqsLength;
+       Chimera* chimera;
+       
+       
+};
+
+/***********************************************************/
+
+#endif
+