48 double len_path_1 = 0.0, len_path_2 = 0.0;
50 string t1 =
Translate (codon1.begin(),codon1.end(), code);
51 string t2 =
Translate (intermediates[0].begin(),
52 intermediates[0].end(), code);
53 len_path_1 += gdist ((t1)[0], (t2)[0]);
55 t1 =
Translate (intermediates[0].begin(),intermediates[0].end(), code);
56 t2 =
Translate (codon2.begin(),codon2.end(), code);
57 len_path_1 += gdist ((t1)[0], (t2)[0]);
59 t1 =
Translate (codon1.begin(),codon1.end(), code);
60 t2 =
Translate (intermediates[1].begin(),intermediates[1].end(), code);
61 len_path_2 += gdist ((t1)[0], (t2)[0]);
63 t1 =
Translate (intermediates[1].begin(),intermediates[1].end(), code);
64 t2 =
Translate (codon2.begin(),codon2.end(), code);
65 len_path_2 += gdist ((t1)[0], (t2)[0]);
74 if (fabs(len_path_1-0.) <= DBL_EPSILON && fabs(len_path_2-0.) <= DBL_EPSILON)
76 __weights[0] = __weights[1] = 0.5;
81 __weights[0] = 1. - len_path_1 / (len_path_1 + len_path_2);
82 __weights[1] = 1. - len_path_2 / (len_path_1 + len_path_2);
83 w_tot = __weights[0] + __weights[1];
86 __weights[0] /= w_tot;
87 __weights[1] /= w_tot;
101 double len_path_1 = 0.0, len_path_2 = 0.0, len_path_3 =
102 0., len_path_4 = 0., len_path_5 = 0., len_path_6 = 0.;
104 string t1 =
Translate (codon1.begin(), codon1.end(),code);
105 string t2 =
Translate (intermediates[0].begin(), intermediates[0].end(),code);
106 double dist = gdist ((t1)[0],(t2)[0]);
110 t1 =
Translate (intermediates[0].begin(), intermediates[0].end(), code);
111 t2 =
Translate (intermediates[1].begin(), intermediates[1].end(), code);
112 dist = gdist ((t1)[0],(t2)[0]);
116 t1 =
Translate (intermediates[1].begin(), intermediates[1].end(),code);
117 t2 =
Translate (codon2.begin(),codon2.end(), code);
118 dist = gdist ((t1)[0],(t2)[0]);
123 t1 =
Translate (codon1.begin(),codon1.end(), code);
124 t2 =
Translate (intermediates[0].begin(),intermediates[0].end(), code);
125 dist = gdist ((t1)[0],(t2)[0]);
128 t1 =
Translate (intermediates[0].begin(),intermediates[0].end(), code);
129 t2 =
Translate (intermediates[2].begin(),intermediates[2].end(), code);
130 dist = gdist ((t1)[0],(t2)[0]);
133 t1 =
Translate (intermediates[2].begin(),intermediates[2].end(), code);
134 t2 =
Translate (codon2.begin(),codon2.end(), code);
135 dist = gdist ((t1)[0],(t2)[0]);
139 t1 =
Translate (codon1.begin(),codon1.end(), code);
140 t2 =
Translate (intermediates[3].begin(),intermediates[3].end(), code);
141 dist = gdist ((t1)[0],(t2)[0]);
144 t1 =
Translate (intermediates[3].begin(), intermediates[3].end(),code);
145 t2 =
Translate (intermediates[4].begin(), intermediates[4].end(), code);
146 dist = gdist ((t1)[0],(t2)[0]);
149 t1 =
Translate (intermediates[4].begin(), intermediates[4].end(), code);
150 t2 =
Translate (codon2.begin(),codon2.end(), code);
151 dist = gdist ((t1)[0],(t2)[0]);
155 t1 =
Translate (codon1.begin(),codon1.end(), code);
156 t2 =
Translate (intermediates[3].begin(), intermediates[3].end(), code);
157 dist = gdist ((t1)[0],(t2)[0]);
160 t1 =
Translate (intermediates[3].begin(), intermediates[3].end(), code);
161 t2 =
Translate (intermediates[5].begin(), intermediates[5].end(), code);
162 dist = gdist ((t1)[0],(t2)[0]);
165 t1 =
Translate (intermediates[5].begin(), intermediates[5].end(), code);
166 t2 =
Translate (codon2.begin(),codon2.end(), code);
167 dist = gdist ((t1)[0],(t2)[0]);
171 t1 =
Translate (codon1.begin(),codon1.end(), code);
172 t2 =
Translate (intermediates[6].begin(), intermediates[6].end(), code);
173 dist = gdist ((t1)[0],(t2)[0]);
176 t1 =
Translate (intermediates[6].begin(), intermediates[6].end(), code);
177 t2 =
Translate (intermediates[7].begin(), intermediates[7].end(), code);
178 dist = gdist ((t1)[0],(t2)[0]);
181 t1 =
Translate (intermediates[7].begin(), intermediates[7].end(), code);
182 t2 =
Translate (codon2.begin(),codon2.end(), code);
183 dist = gdist ((t1)[0],(t2)[0]);
187 t1 =
Translate (codon1.begin(),codon1.end(), code);
188 t2 =
Translate (intermediates[6].begin(), intermediates[6].end(), code);
189 dist = gdist ((t1)[0],(t2)[0]);
192 t1 =
Translate (intermediates[6].begin(), intermediates[6].end(), code);
193 t2 =
Translate (intermediates[8].begin(), intermediates[8].end(), code);
194 dist = gdist ((t1)[0],(t2)[0]);
197 t1 =
Translate (intermediates[8].begin(), intermediates[8].end(), code);
198 t2 =
Translate (codon2.begin(),codon2.end(), code);
199 dist = gdist ((t1)[0],(t2)[0]);
202 weights3_t __weights;
203 __weights[0] = 1. / len_path_1;
204 __weights[1] = 1. /len_path_2;
205 __weights[2] = 1. /len_path_3;
206 __weights[3] = 1. / len_path_4;
207 __weights[4] = 1. /len_path_5;
208 __weights[5] = 1./ len_path_6;
212 __weights[0] + __weights[1] + __weights[2] + __weights[3] + __weights[4] + __weights[5];
213 __weights[0] /= w_tot;
214 __weights[1] /= w_tot;
215 __weights[2] /= w_tot;
216 __weights[3] /= w_tot;
217 __weights[4] /= w_tot;
218 __weights[5] /= w_tot;
std::string Translate(std::string::const_iterator beg, std::string::const_iterator end, Sequence::GeneticCodes genetic_code=GeneticCodes::UNIVERSAL, const char &gapchar='-')
The namespace in which this library resides.
declaration of classes to weight codons by Grantham distance (i.e. for Sequence::Comeron95). Declares Sequence::GranthamWeights2 and Sequence::GranthamWeights3
Inter2_t Intermediates2(const std::string &codon1, const std::string &codon2)
Calculate the intermediate codons between a pair of codons diverged at 2 positions.
declares Sequence::Translate,a function to translate CDS sequences into peptide sequences ...
Grantham's distances (Sequence::Grantham)
declarations of Sequence::Intermediates2 and Sequence::Intermediates3
Grantham's distances.
weights2_t operator()(const std::string &codon1, const std::string &codon2, Sequence::GeneticCodes genetic_code) const
Inter3_t Intermediates3(const std::string &codon1, const std::string &codon2)
Calculate the intermediate codons between a pair of codons diverged at 3 positions.
weights3_t operator()(const std::string &codon1, const std::string &codon2, Sequence::GeneticCodes genetic_code) const