]> git.donarmstrong.com Git - mothur.git/blobdiff - aligncommand.h
added pipeline commands which involved change to command factory and command class...
[mothur.git] / aligncommand.h
index 0a2e7ba618291f99044cfd187f3e616b40a936cd..1410626a42e3a407289f18565dd0e64a3d4d3cd4 100644 (file)
@@ -20,31 +20,43 @@ class AlignCommand : public Command {
        
 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:
        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<int> processIDS;   //processid
        vector<linePair*> lines;
+       bool MPIWroteAccnos;
+       map<string, vector<string> > outputTypes;
        
        AlignmentDB* templateDB;
        Alignment* alignment;
        
        int driver(linePair*, string, string, string, string);
-       void createProcesses(string, string, string, string);
+       int createProcesses(string, string, string, string);
        void appendAlignFiles(string, string); 
        void appendReportFiles(string, string);
        
-       string candidateFileName, templateFileName, distanceFileName, search, align;
+       #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;
 };