X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=aligncommand.h;h=b100287269f16781839c884bd83121c620e279ba;hb=37309a2552995e5f7f2e04be99b808c803472311;hp=cf30a6b456dfcf803b137a2500a10dd36f7a5f25;hpb=526a868606faa50caf86e7399f7554c0335b39e5;p=mothur.git diff --git a/aligncommand.h b/aligncommand.h index cf30a6b..b100287 100644 --- a/aligncommand.h +++ b/aligncommand.h @@ -10,26 +10,48 @@ * */ +#include "mothur.h" #include "command.hpp" -#include "globaldata.hpp" +#include "database.hpp" +#include "alignment.hpp" +#include "alignmentdb.h" class AlignCommand : public Command { - public: - AlignCommand(); - ~AlignCommand(); - int execute(); +public: + AlignCommand(string); + ~AlignCommand(); + int execute(); + void help(); - private: - GlobalData* globaldata; - string candidateFileName, templateFileName, distanceFileName; - int kmerSize; - float match, misMatch, gapOpen, gapExtend; - ofstream out; - ifstream in; - +private: + struct linePair { + int start; + int numSeqs; + linePair(long int i, int j) : start(i), numSeqs(j) {} + }; + vector processIDS; //processid + vector lines; + bool MPIWroteAccnos; + + AlignmentDB* templateDB; + Alignment* alignment; + + int driver(linePair*, string, string, string, string); + int createProcesses(string, string, string, string); + void appendAlignFiles(string, string); + void appendReportFiles(string, string); + + #ifdef USE_MPI + int driverMPI(int, int, MPI_File&, MPI_File&, MPI_File&, MPI_File&, vector&); + #endif + + string candidateFileName, templateFileName, distanceFileName, search, align, outputDir; + float match, misMatch, gapOpen, gapExtend, threshold; + int processors, kmerSize; + vector candidateFileNames; + + bool abort, flip; }; - - -#endif \ No newline at end of file +#endif