Closed jeromekelleher closed 2 months ago
Partially resolved. There's a slight wrinkle in the choice of passing a scalar vs vector for mutation rate.
Scalar and vector mutation probabilities are now dealt with appropriately I think. @szhan does that seem right, based on what you've been doing and the edits you've made?
Ah, oops, sorry that I missed this ping. I'll see if I can address this as I refactor the haploid LS HMM code.
So, just to recap, these are the main API functions.
def forwards(
reference_panel,
query,
prob_recombination,
*,
prob_mutation=None,
alleles=None,
scale_mutation_rate=None,
normalise=None,
):
pass
def backwards(
reference_panel,
query,
normalisation_factor_from_forward,
prob_recombination,
*,
prob_mutation=None,
alleles=None,
scale_mutation_rate=None,
):
pass
def viterbi(
reference_panel,
query,
prob_recombination,
*,
prob_mutation=None,
alleles=None,
scale_mutation_rate=None,
):
pass
def path_loglik(
reference_panel,
query,
path,
prob_recombination,
*,
prob_mutation=None,
alleles=None,
scale_mutation_rate=None,
):
pass
I've updated the above. I'm addressing this issue while fixing #37.
I think this is addressed by #37 ?
What are the fundamental things we provide?