X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=aligncommand.h;h=1410626a42e3a407289f18565dd0e64a3d4d3cd4;hb=af27acb766f6947c45e1eb65438d878c7ea48ef3;hp=b5ff7825c7ae06fb8351a2ed9b398379d6abbc9a;hpb=544469443afe44920bdf279aefd26d29534cabaf;p=mothur.git diff --git a/aligncommand.h b/aligncommand.h index b5ff782..1410626 100644 --- a/aligncommand.h +++ b/aligncommand.h @@ -10,26 +10,55 @@ * */ +#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(string); + AlignCommand(); ~AlignCommand(); - int execute(); - + vector getRequiredParameters(); + vector getValidParameters(); + vector getRequiredFiles(); + map > getOutputFiles() { return outputTypes; } + int execute(); + void help(); + private: - GlobalData* globaldata; - string candidateFileName, templateFileName, distanceFileName; - int kmerSize; - float match, misMatch, gapOpen, gapExtend; - ofstream out; - ifstream in; - + struct linePair { + unsigned long int start; + unsigned long int end; + linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {} + }; + vector processIDS; //processid + vector lines; + bool MPIWroteAccnos; + map > outputTypes; + + 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; + vector outputNames; + + bool abort, flip; }; - - -#endif \ No newline at end of file +#endif