]> git.donarmstrong.com Git - mothur.git/blobdiff - classifyseqscommand.h
added pipeline commands which involved change to command factory and command class...
[mothur.git] / classifyseqscommand.h
index 2223593c4e7758ac48844dbf7d5093b20f361b5d..16549135aacbe25e36d89f21c503f1baae2fe659 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "mothur.h"
 #include "command.hpp"
-#include "alignment.hpp"
+//#include "alignment.hpp"
 #include "classify.h"
 
 //KNN and Bayesian methods modeled from algorithms in
 class ClassifySeqsCommand : public Command {
        
 public:
-       ClassifySeqsCommand(string);    
+       ClassifySeqsCommand(string);
+       ClassifySeqsCommand();
        ~ClassifySeqsCommand();
+       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(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;
        vector<string> fastaFileNames;
        vector<string> namefileNames;
-       map<string, int> nameMap;
-       map<string, int>::iterator itNames;
+       vector<string> groupfileNames;
+       vector<string> outputNames;
+       map<string, vector<string> > nameMap;
+       map<string,  vector<string> >::iterator itNames;
+       map<string, vector<string> > outputTypes;
        
        Classify* classify;
        
-       string fastaFileName, templateFileName, distanceFileName, namefile, search, method, taxonomyFileName, outputDir;
+       string fastaFileName, templateFileName, distanceFileName, namefile, search, method, taxonomyFileName, outputDir, groupfile;
        int processors, kmerSize, numWanted, cutoff, iters;
        float match, misMatch, gapOpen, gapExtend;
        bool abort, probs;
        
        int driver(linePair*, string, string, string);
        void appendTaxFiles(string, string);
-       void createProcesses(string, string, string); 
+       int createProcesses(string, string, string); 
        string addUnclassifieds(string, int);
+       
+       int MPIReadNamesFile(string);
+       #ifdef USE_MPI
+       int driverMPI(int, int, MPI_File&, MPI_File&, MPI_File&, vector<unsigned long int>&);
+       #endif
 };
 
 #endif