]> git.donarmstrong.com Git - mothur.git/blobdiff - aligncommand.h
fixes while testing
[mothur.git] / aligncommand.h
index cf30a6b456dfcf803b137a2500a10dd36f7a5f25..1410626a42e3a407289f18565dd0e64a3d4d3cd4 100644 (file)
  *
  */
 
+#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();
+       ~AlignCommand();
+       vector<string> getRequiredParameters();
+       vector<string> getValidParameters();
+       vector<string> getRequiredFiles();
+       map<string, vector<string> > 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;
-
+private:
+       struct linePair {
+               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;
+       map<string, vector<string> > 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<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, flip;
 };
 
-
-
-#endif
\ No newline at end of file
+#endif