Difference between revisions of "830 - MarkovModel::CountRecombinants()"
From Genome Analysis Wiki
Jump to navigationJump to search (Created page with "<source lang="cpp"> double MarkovModel::CountRecombinants(float * from, float * to, double r) { if (r == 0) return 0.0; double sum = 0.0; for (int i = 0; i ...") |
(No difference)
|
Latest revision as of 14:54, 25 September 2013
double MarkovModel::CountRecombinants(float * from, float * to, double r)
{
if (r == 0)
return 0.0;
double sum = 0.0;
for (int i = 0; i < states; i++)
sum += from[i];
double rsum = 0.0;
double nrsum = 0.0;
for (int i = 0; i < states; i++)
{
rsum += to[i];
nrsum += from[i] * to[i];
}
rsum *= sum * r / states;
nrsum *= 1.0 - r;
double total = rsum + nrsum;
return rsum / total;
}