830 - MarkovModel::CountRecombinants()
From Genome Analysis Wiki
Jump to navigationJump to searchdouble 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;
}