8 * Created by westcott on 8/24/09.
9 * Copyright 2009 Schloss LAB. All rights reserved.
17 //This class was created using the algorythms described in the
18 // "Evaluating putative chimeric sequences from PCR-amplified products" paper
19 //by Juan M. Gonzalez, Johannes Zimmerman and Cesareo Saiz-Jimenez.
21 /***********************************************************/
23 class Ccode : public Chimera {
26 Ccode(string, string);
32 void setCons(string c) {}
33 void setQuantiles(string q) {}
41 string fastafile, templateFile;
44 vector<linePair*> lines;
45 vector<linePair*> templateLines;
46 vector<Sequence*> querySeqs;
47 vector<Sequence*> templateSeqs;
50 vector< vector<Sequence*> > closest; //closest[0] is a vector of sequence at are closest to queryseqs[0]...
51 vector< vector<float> > averageRef; //averageRef[0] is the average distance at each window for the references for querySeqs[0]
52 vector< vector<float> > averageQuery; //averageQuery[0] is the average distance at each winow for the query for querySeqs[0]
54 vector< vector<Sequence*> > findClosest(int, int, int);
55 void removeBadReferenceSeqs(vector<Sequence*>&, int); //removes sequences from closest that are to different of too similar to eachother.
57 vector<int> findWindows();
58 vector<float> getAverageRef(vector<Sequence*>);
59 vector<float> getAverageQuery (vector<Sequence*>, int);
62 int getDiff(string, string); //return number of mismatched bases, a gap to base is not counted as a mismatch
64 void createProcessesClosest();
68 /***********************************************************/