#include "mothur.h"
#include "command.hpp"
-#include "filterseqscommand.h"
-#include "sequence.hpp"
-#include "sparsematrix.hpp"
-#include "dist.h"
+#include "chimera.h"
-typedef list<PCell>::iterator MatData;
-typedef map<int, float> SeqMap; //maps sequence to all distance for that seqeunce
/***********************************************************/
int execute();
void help();
+
private:
- //Dist* distCalculator;
-
- struct Preference {
- string leftParent;
- string rightParent;
- float score;
+ struct linePair {
+ int start;
+ int numSeqs;
+ linePair(long int i, int j) : start(i), numSeqs(j) {}
};
+ vector<int> processIDS; //processid
+ vector<linePair*> lines;
+
+ int driver(linePair*, string, string);
+ void createProcesses(string, string);
+ void appendOutputFiles(string, string);
- Dist* distCalculator;
bool abort;
- string method, fastafile;
- bool filter, correction;
- int processors, midpoint;
- FilterSeqsCommand* filterSeqs;
- vector<Sequence> seqs;
- vector<Preference> pref;
+ string method, fastafile, templatefile, consfile, quanfile, maskfile, namefile, outputDir;
+ bool filter, correction, svg, printAll;
+ int processors, midpoint, averageLeft, averageRight, window, iters, increment, numwanted, ksize, match, mismatch, parents, minSimilarity, minCoverage, minBS, minSNP, numSeqs;
+ float divR;
+ Chimera* chimera;
- int findAverageMidPoint();
- void readSeqs();
- void generatePreferences(SparseMatrix*, SparseMatrix*);
- int createSparseMatrix(int, int, SparseMatrix*, vector<Sequence>);
-
};
/***********************************************************/