]> git.donarmstrong.com Git - mothur.git/blobdiff - chimeraseqscommand.h
added remove.seqs command
[mothur.git] / chimeraseqscommand.h
index 455ac926a494d162839444a5e192f9a030556d07..2398ce63b257935d857e06bf6525b6b94e8efd05 100644 (file)
 #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;
+
+};
 
 
 
@@ -26,27 +42,22 @@ public:
        int execute();
        void help();
        
+               
 private:
-       //Dist* distCalculator;
        
-       struct Preference {
-               string leftParent;
-               string rightParent;
-               float score;
-
-       };
-
-
+       Dist* distCalculator;
        bool abort;
        string method, fastafile;
        bool filter, correction;
-       int processors, midpoint;
+       int processors, midpoint, averageLeft, averageRight, window, iters, increment;
        FilterSeqsCommand* filterSeqs;
+       ListVector* list;
        vector<Sequence> seqs;
        vector<Preference> pref;
        
-       int findAverageMidPoint();
        void readSeqs();
+       void generatePreferences(vector<SeqMap>, vector<SeqMap>, int);
+       int createSparseMatrix(int, int, SparseMatrix*, vector<Sequence>);
        
 
 };