Difference between revisions of "830 - Haplotyper::ImputeGenotypes() (edge)"
From Genome Analysis Wiki
Jump to navigationJump to search (Created page with "<source lang="cpp"> void Haplotyper::ImputeGenotypes(float * matrix, int marker) { posterior[0][marker] = posterior[1][marker] = posterior[2][marker] = 0.0; for (in...") |
|||
Line 13: | Line 13: | ||
posterior[haplotypes[j][marker]][marker] += *matrix; | posterior[haplotypes[j][marker]][marker] += *matrix; | ||
− | double sum = posterior[0][marker] | + | double sum = posterior[0][marker] + posterior[1][marker] + posterior[2][marker]; |
posterior[0][marker] /= sum; | posterior[0][marker] /= sum; |
Latest revision as of 16:16, 2 October 2013
void Haplotyper::ImputeGenotypes(float * matrix, int marker)
{
posterior[0][marker] = posterior[1][marker] = posterior[2][marker] = 0.0;
for (int i = 0; i < states; i++)
if (haplotypes[i][marker])
for (int j = 0; j <= i; j++, matrix++)
posterior[haplotypes[j][marker] + 1][marker] += *matrix;
else
for (int j = 0; j <= i; j++, matrix++)
posterior[haplotypes[j][marker]][marker] += *matrix;
double sum = posterior[0][marker] + posterior[1][marker] + posterior[2][marker];
posterior[0][marker] /= sum;
posterior[1][marker] /= sum;
posterior[2][marker] /= sum;
}