]> git.donarmstrong.com Git - mothur.git/blobdiff - pairwiseseqscommand.h
added pairwise.seqs
[mothur.git] / pairwiseseqscommand.h
diff --git a/pairwiseseqscommand.h b/pairwiseseqscommand.h
new file mode 100644 (file)
index 0000000..b40d6c9
--- /dev/null
@@ -0,0 +1,67 @@
+#ifndef PAIRWISESEQSCOMMAND_H
+#define PAIRWISESEQSCOMMAND_H
+
+/*
+ *  pairwiseseqscommand.h
+ *  Mothur
+ *
+ *  Created by westcott on 10/20/10.
+ *  Copyright 2010 Schloss Lab. All rights reserved.
+ *
+ */
+
+#include "mothur.h"
+#include "command.hpp"
+#include "database.hpp"
+#include "alignment.hpp"
+#include "validcalculator.h"
+#include "dist.h"
+#include "sequencedb.h"
+
+class PairwiseSeqsCommand : public Command {
+       
+public:
+       PairwiseSeqsCommand(string);    
+       PairwiseSeqsCommand();
+       ~PairwiseSeqsCommand();
+       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 end;
+       };
+       map<int, int> processIDS;   //end line, processid
+       vector<linePair*> lines;
+       map<string, vector<string> > outputTypes;
+       
+       Alignment* alignment;
+       Dist* distCalculator;
+       SequenceDB alignDB;
+       
+       void createProcesses(string);
+       int driver(int, int, string, float);
+       int driver(int, int, string, string);
+       
+       #ifdef USE_MPI 
+       int driverMPI(int, int, MPI_File&, float);
+       int driverMPI(int, int, string, unsigned long int&);
+       int driverMPI(int, int, string, unsigned long int&, string);
+       #endif
+       
+       string fastaFileName, align, calc, outputDir, output;
+       float match, misMatch, gapOpen, gapExtend, cutoff;
+       int processors;
+       vector<string> fastaFileNames, Estimators;
+       vector<string> outputNames;
+       
+       bool abort, countends, compress;
+};
+
+#endif
+