]> git.donarmstrong.com Git - mothur.git/blobdiff - chimeraseqscommand.h
modified mpi code to save ram by writing out every 10 seqs.
[mothur.git] / chimeraseqscommand.h
index 2398ce63b257935d857e06bf6525b6b94e8efd05..040d2dde543b9311762640680d1a8ba874e3fcf5 100644 (file)
 
 #include "mothur.h"
 #include "command.hpp"
-#include "filterseqscommand.h"
-#include "sequence.hpp"
-#include "sparsematrix.hpp"
-#include "dist.h"
-
-typedef list<PCell>::iterator MatData;
-typedef map<int, float> SeqMap;  //maps sequence to all distance for that seqeunce
-
-struct Preference {
-               string name;
-               vector<string> leftParent; //keep the name of closest left associated with the two scores
-               vector<string> rightParent; //keep the name of closest right associated with the two scores
-               vector<float> score;  //so you can keep last score and calc this score and keep whichever is bigger.
-               vector<float> closestLeft;  //keep the closest left associated with the two scores
-               vector<float> closestRight; //keep the closest right associated with the two scores
-               int midpoint;
-
-};
-
+#include "chimera.h"
 
 
 /***********************************************************/
@@ -44,22 +26,27 @@ public:
        
                
 private:
+
+       struct linePair {
+               int start;
+               int numSeqs;
+               linePair(long int i, int j) : start(i), numSeqs(j) {}
+       };
+       vector<int> processIDS;   //processid
+       vector<linePair*> lines;
        
-       Dist* distCalculator;
+       int driver(linePair*, string, string, string);
+       int createProcesses(string, string, string);
+       void appendOutputFiles(string, string); 
+
        bool abort;
-       string method, fastafile;
-       bool filter, correction;
-       int processors, midpoint, averageLeft, averageRight, window, iters, increment;
-       FilterSeqsCommand* filterSeqs;
-       ListVector* list;
-       vector<Sequence> seqs;
-       vector<Preference> pref;
+       string method, fastafile, templatefile, consfile, quanfile, maskfile, namefile, outputDir, search;
+       bool filter, correction, svg, printAll, realign;
+       int processors, midpoint, averageLeft, averageRight, window, iters, increment, numwanted, ksize, match, mismatch, parents, minSimilarity, minCoverage, minBS, minSNP, numSeqs, templateSeqsLength;
+       float divR;
+       Chimera* chimera;
        
-       void readSeqs();
-       void generatePreferences(vector<SeqMap>, vector<SeqMap>, int);
-       int createSparseMatrix(int, int, SparseMatrix*, vector<Sequence>);
        
-
 };
 
 /***********************************************************/