As having probabilities of zero for the current path is not generally true for the complete path, we give all the possible paths a probability of $$pseudocount$$
This way an edge in the graph that didn't occur in the current path, can still be taken by a new path
Given a string Text, a multiple alignment Alignment, a threshold θ, and a pseudocount σ.
Return an optimal hidden path emitting Text in HMM(Alignment,θ,σ).
>>> profile_HMM_sequence_alignment('C', 0.2, 0.01, 'ABC', ['B---B', 'CAACC', 'CC-AB', 'B-BCB', 'CBBBB']) ['M1', 'D2'] >>> profile_HMM_sequence_alignment('CD', 0.3776073047984535, 0.01, 'ABCD', ['CBBAC', 'C-BBD', 'BC--C', 'DCBBC', 'BADCC']) ['M1', 'D2', 'D3', 'D4', 'M5']