Ejemplo n.º 1
0
void set_tprob_genmap(hmm_t *hmm, uint32_t prev_pos, uint32_t pos, void *data, double *tprob)
{
    args_t *args = (args_t*) data;
    double ci = get_genmap_rate(args, pos - prev_pos, pos);
    MAT(tprob,2,STATE_HW,STATE_AZ) *= ci;
    MAT(tprob,2,STATE_AZ,STATE_HW) *= ci;
    MAT(tprob,2,STATE_AZ,STATE_AZ)  = 1 - MAT(tprob,2,STATE_HW,STATE_AZ);
    MAT(tprob,2,STATE_HW,STATE_HW)  = 1 - MAT(tprob,2,STATE_AZ,STATE_HW);
}
Ejemplo n.º 2
0
void set_tprob_genmap(hmm_t *hmm, uint32_t prev_pos, uint32_t pos, void *data)
{
    args_t *args = (args_t*) data;
    double ci = get_genmap_rate(args, pos - prev_pos, pos);
    MAT(hmm->curr_tprob,2,STATE_HW,STATE_HW) *= 1-ci;
    MAT(hmm->curr_tprob,2,STATE_HW,STATE_AZ) *= ci;
    MAT(hmm->curr_tprob,2,STATE_AZ,STATE_HW) *= ci;
    MAT(hmm->curr_tprob,2,STATE_AZ,STATE_AZ) *= 1-ci;
}