X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=aligncommand.h;h=c0147512df11740241e9d4bd611a34b37a2d00b8;hb=1e8d08e96f4fe99604a6b3502568de464bf60891;hp=f0496a54a9070b31dcb699a0deefc7cb51fc8a50;hpb=182db2b6f1747bc1e0b8cd3eceec8751abdd31d5;p=mothur.git diff --git a/aligncommand.h b/aligncommand.h index f0496a5..c014751 100644 --- a/aligncommand.h +++ b/aligncommand.h @@ -20,18 +20,27 @@ class AlignCommand : public Command { public: AlignCommand(string); + AlignCommand(); ~AlignCommand(); + + vector setParameters(); + string getCommandName() { return "align.seqs"; } + string getCommandCategory() { return "Sequence Processing"; } + string getHelpString(); + string getCitation() { return "DeSantis TZ, Jr., Hugenholtz P, Keller K, Brodie EL, Larsen N, Piceno YM, Phan R, Andersen GL (2006). NAST: a multiple sequence alignment server for comparative analysis of 16S rRNA genes. Nucleic Acids Res 34: W394-9.\nSchloss PD (2009). A high-throughput DNA sequence aligner for microbial ecology studies. PLoS ONE 4: e8230.\nSchloss PD (2010). The effects of alignment quality, distance calculation method, sequence filtering, and region on the analysis of 16S rRNA gene-based studies. PLoS Comput Biol 6: e1000844.\nhttp://www.mothur.org/wiki/Align.seqs http://www.mothur.org/wiki/Align.seqs"; } + int execute(); - void help(); + void help() { m->mothurOut(getHelpString()); } private: struct linePair { - int start; - int numSeqs; - linePair(long int i, int j) : start(i), numSeqs(j) {} + 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; AlignmentDB* templateDB; Alignment* alignment; @@ -41,12 +50,18 @@ private: 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; + bool abort, flip, calledHelp; + }; #endif