830 - MarkovModel::WalkLeft()
From Genome Analysis Wiki
Jump to navigationJump to search<source lang="cpp"> void MarkovModel::WalkLeft(char * observed, char ** haplotypes, float ** freqs)
{ // Initialize likelihoods at first position for (int i = 0; i < states; i++) matrix[0][i] = 1.;
// Scan along chromosome for (int i = 0; i < markers - 1; i++) { if (observed[i]) Condition(matrix[i], haplotypes, i, observed[i], E[i], freqs[observed[i]][i]); Transpose(matrix[i], matrix[i+1], R[i]); }
if (observed[markers - 1]) Condition(matrix[markers - 1], haplotypes, markers - 1, observed[markers - 1], E[markers - 1], freqs[observed[markers - 1]][markers - 1]); }