]> git.donarmstrong.com Git - mothur.git/blobdiff - alignedsimilarity.h
checking in chimera files in progress after move to michigan
[mothur.git] / alignedsimilarity.h
diff --git a/alignedsimilarity.h b/alignedsimilarity.h
new file mode 100644 (file)
index 0000000..716b8b7
--- /dev/null
@@ -0,0 +1,67 @@
+#ifndef ALIGNSIM_H
+#define ALIGNSIM_H
+
+/*
+ *  alignedsimilarity.h
+ *  Mothur
+ *
+ *  Created by westcott on 8/18/09.
+ *  Copyright 2009 Schloss Lab. All rights reserved.
+ *
+ */
+
+
+#include "chimera.h"
+#include "dist.h"
+
+//This class was created using the algorythms described in the 
+//"Evaluation of Nearest Neighbor Methods for Detection of Chimeric Small-Subunit rRna Sequences" paper 
+//by J.F. Robison-Cox 1, M.M. Bateson 2 and D.M. Ward 2
+
+
+/***********************************************************/
+
+class AlignSim : public Chimera {
+       
+       public:
+               AlignSim(string, string);       
+               ~AlignSim();
+               
+               void getChimeras();
+               void print(ostream&);
+               
+               void setCons(string){};
+               void setQuantiles(string q) { quanfile = q; };
+               
+               
+       private:
+               
+               Dist* distCalc;
+               vector<linePair*> lines;
+               vector<linePair*> templateLines;
+               
+               vector<Sequence*> querySeqs;
+               vector<Sequence*> templateSeqs;
+               
+               vector< vector<sim> > IS;  //IS[0] is the vector os sim values for each window for querySeqs[0]
+               vector< vector<sim> > templateIS;  //templateIS[0] is the vector os sim values for each window for templateSeqs[0]
+               vector<int> windowBreak;
+               
+               string fastafile, templateFile;
+               int iters;
+               
+               vector< vector<sim> > findIS(int, int, vector<Sequence*>);
+               vector<Sequence*> findClosestSides(Sequence*, int, vector<int>&, int);
+               int findNumMatchedBases(Sequence, Sequence);
+               vector<int> findWindows();
+               
+               vector< vector<float> > quantile;
+               
+               vector< vector<sim> > createProcessesIS(vector<Sequence*>, vector<linePair*>);
+               
+};
+
+/***********************************************************/
+
+#endif
+