]> git.donarmstrong.com Git - mothur.git/blobdiff - aligncommand.h
working on citations
[mothur.git] / aligncommand.h
index c3c244138a7b2457dd20ba5bedc152b88f0e0e2b..c0147512df11740241e9d4bd611a34b37a2d00b8 100644 (file)
@@ -20,32 +20,48 @@ class AlignCommand : public Command {
        
 public:
        AlignCommand(string);   
+       AlignCommand();
        ~AlignCommand();
+       
+       vector<string> 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(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<int> processIDS;   //processid
        vector<linePair*> lines;
+       bool MPIWroteAccnos;
        
        AlignmentDB* templateDB;
        Alignment* alignment;
        
-       int driver(linePair*, string, string);
-       void createProcesses(string, string);
+       int driver(linePair*, string, string, string, string);
+       int createProcesses(string, string, string, string);
        void appendAlignFiles(string, string); 
        void appendReportFiles(string, string);
        
-       string candidateFileName, templateFileName, distanceFileName, search, align;
-       float match, misMatch, gapOpen, gapExtend;
+       #ifdef USE_MPI
+       int driverMPI(int, int, MPI_File&, MPI_File&, MPI_File&, MPI_File&, vector<unsigned long int>&);
+       #endif
+       
+       string candidateFileName, templateFileName, distanceFileName, search, align, outputDir;
+       float match, misMatch, gapOpen, gapExtend, threshold;
        int processors, kmerSize;
+       vector<string> candidateFileNames;
+       vector<string> outputNames;
        
-       bool abort;
+       bool abort, flip, calledHelp;
+
 };
 
 #endif