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 threshold θ and a pseudocount σ, followed by an alphabet Σ, followed by a multiple alignment Alignment whose strings are formed from Σ.
Return the transition and emission probabilities of the profile HMM HMM(Alignment, θ, σ).
>>> profile_HMM_pseudocounts(0.25, 0.04, 'ABCDE', ['ABD-DDB', 'CAACCEC']) ({'I6': {'E': 0.5, 'I6': 0.5}, 'I5': {'M6': 0.3333333333333333, 'I5': 0.3333333333333333, 'D6': 0.3333333333333333}, 'M1': {'M2': 0.9285714285714285, 'I1': 0.03571428571428571, 'D2': 0.03571428571428571}, 'D1': {'M2': 0.3333333333333333, 'I1': 0.3333333333333333, 'D2': 0.3333333333333333}, 'M4': {'I4': 0.03571428571428571, 'D5': 0.03571428571428571, 'M5': 0.9285714285714285}, 'I4': {'I4': 0.3333333333333333, 'D5': 0.3333333333333333, 'M5': 0.3333333333333333}, 'M3': {'I3': 0.48214285714285715, 'D4': 0.03571428571428571, 'M4': 0.48214285714285715}, 'I1': {'M2': 0.3333333333333333, 'I1': 0.3333333333333333, 'D2': 0.3333333333333333}, 'D5': {'M6': 0.3333333333333333, 'I5': 0.3333333333333333, 'D6': 0.3333333333333333}, 'D2': {'M3': 0.3333333333333333, 'I2': 0.3333333333333333, 'D3': 0.3333333333333333}, 'M2': {'M3': 0.9285714285714285, 'I2': 0.03571428571428571, 'D3': 0.03571428571428571}, 'I3': {'I3': 0.03571428571428571, 'D4': 0.03571428571428571, 'M4': 0.9285714285714285}, 'I2': {'M3': 0.3333333333333333, 'I2': 0.3333333333333333, 'D3': 0.3333333333333333}, 'M5': {'M6': 0.9285714285714285, 'I5': 0.03571428571428571, 'D6': 0.03571428571428571}, 'D3': {'I3': 0.3333333333333333, 'D4': 0.3333333333333333, 'M4': 0.3333333333333333}, 'S': {'I0': 0.03571428571428571, 'M1': 0.9285714285714285, 'D1': 0.03571428571428571}, 'M6': {'E': 0.9629629629629629, 'I6': 0.037037037037037035}, 'I0': {'I0': 0.3333333333333333, 'M1': 0.3333333333333333, 'D1': 0.3333333333333333}, 'D4': {'I4': 0.3333333333333333, 'D5': 0.3333333333333333, 'M5': 0.3333333333333333}, 'D6': {'E': 0.5, 'I6': 0.5}}, {'I2': {'A': 0.2, 'B': 0.2, 'C': 0.2, 'E': 0.2, 'D': 0.2}, 'M1': {'A': 0.44999999999999996, 'B': 0.033333333333333326, 'C': 0.44999999999999996, 'E': 0.033333333333333326, 'D': 0.033333333333333326}, 'D1': {'A': 0, 'B': 0, 'C': 0, 'E': 0, 'D': 0}, 'M4': {'A': 0.033333333333333326, 'B': 0.033333333333333326, 'C': 0.44999999999999996, 'E': 0.033333333333333326, 'D': 0.44999999999999996}, 'E': {'A': 0, 'B': 0, 'C': 0, 'E': 0, 'D': 0}, 'I4': {'A': 0.2, 'B': 0.2, 'C': 0.2, 'E': 0.2, 'D': 0.2}, 'M3': {'A': 0.44999999999999996, 'B': 0.033333333333333326, 'C': 0.033333333333333326, 'E': 0.033333333333333326, 'D': 0.44999999999999996}, 'I1': {'A': 0.2, 'B': 0.2, 'C': 0.2, 'E': 0.2, 'D': 0.2}, 'D5': {'A': 0, 'B': 0, 'C': 0, 'E': 0, 'D': 0}, 'D2': {'A': 0, 'B': 0, 'C': 0, 'E': 0, 'D': 0}, 'M2': {'A': 0.44999999999999996, 'B': 0.44999999999999996, 'C': 0.033333333333333326, 'E': 0.033333333333333326, 'D': 0.033333333333333326}, 'I3': {'A': 0.033333333333333326, 'B': 0.033333333333333326, 'C': 0.8666666666666666, 'E': 0.033333333333333326, 'D': 0.033333333333333326}, 'I6': {'A': 0.2, 'B': 0.2, 'C': 0.2, 'E': 0.2, 'D': 0.2}, 'I5': {'A': 0.2, 'B': 0.2, 'C': 0.2, 'E': 0.2, 'D': 0.2}, 'D3': {'A': 0, 'B': 0, 'C': 0, 'E': 0, 'D': 0}, 'S': {'A': 0, 'B': 0, 'C': 0, 'E': 0, 'D': 0}, 'M6': {'A': 0.033333333333333326, 'B': 0.44999999999999996, 'C': 0.44999999999999996, 'E': 0.033333333333333326, 'D': 0.033333333333333326}, 'D6': {'A': 0, 'B': 0, 'C': 0, 'E': 0, 'D': 0}, 'I0': {'A': 0.2, 'B': 0.2, 'C': 0.2, 'E': 0.2, 'D': 0.2}, 'D4': {'A': 0, 'B': 0, 'C': 0, 'E': 0, 'D': 0}, 'M5': {'A': 0.033333333333333326, 'B': 0.033333333333333326, 'C': 0.033333333333333326, 'E': 0.44999999999999996, 'D': 0.44999999999999996}}) >>> profile_HMM_pseudocounts(0.25519959248016066, 0.02, 'ABCDE', ['-BBDE-BE', 'C-BCEBE-', 'BBBCCDDE', 'CBBACCEB']) ({'M7': {'I7': 0.018867924528301886, 'D8': 0.25471698113207547, 'M8': 0.7264150943396226}, 'M8': {'E': 0.9807692307692307, 'I8': 0.019230769230769232}, 'I8': {'E': 0.5, 'I8': 0.5}, 'D5': {'M6': 0.3333333333333333, 'I5': 0.3333333333333333, 'D6': 0.3333333333333333}, 'I1': {'M2': 0.3333333333333333, 'I1': 0.3333333333333333, 'D2': 0.3333333333333333}, 'I2': {'M3': 0.3333333333333333, 'I2': 0.3333333333333333, 'D3': 0.3333333333333333}, 'D8': {'E': 0.9807692307692307, 'I8': 0.019230769230769232}, 'D3': {'I3': 0.3333333333333333, 'D4': 0.3333333333333333, 'M4': 0.3333333333333333}, 'D7': {'I7': 0.3333333333333333, 'D8': 0.3333333333333333, 'M8': 0.3333333333333333}, 'M6': {'M7': 0.9622641509433962, 'I6': 0.018867924528301886, 'D7': 0.018867924528301886}, 'I0': {'I0': 0.3333333333333333, 'M1': 0.3333333333333333, 'D1': 0.3333333333333333}, 'D6': {'M7': 0.9622641509433962, 'I6': 0.018867924528301886, 'D7': 0.018867924528301886}, 'I6': {'M7': 0.3333333333333333, 'I6': 0.3333333333333333, 'D7': 0.3333333333333333}, 'M1': {'M2': 0.6477987421383647, 'D2': 0.3333333333333333, 'I1': 0.018867924528301886}, 'D1': {'M2': 0.9622641509433962, 'I1': 0.018867924528301886, 'D2': 0.018867924528301886}, 'M4': {'I4': 0.018867924528301886, 'D5': 0.018867924528301886, 'M5': 0.9622641509433962}, 'I4': {'I4': 0.3333333333333333, 'D5': 0.3333333333333333, 'M5': 0.3333333333333333}, 'M3': {'I3': 0.018867924528301886, 'D4': 0.018867924528301886, 'M4': 0.9622641509433962}, 'D2': {'M3': 0.9622641509433962, 'I2': 0.018867924528301886, 'D3': 0.018867924528301886}, 'M2': {'M3': 0.9622641509433962, 'I2': 0.018867924528301886, 'D3': 0.018867924528301886}, 'I3': {'I3': 0.3333333333333333, 'D4': 0.3333333333333333, 'M4': 0.3333333333333333}, 'M5': {'M6': 0.7264150943396226, 'I5': 0.018867924528301886, 'D6': 0.25471698113207547}, 'D4': {'I4': 0.3333333333333333, 'D5': 0.3333333333333333, 'M5': 0.3333333333333333}, 'S': {'I0': 0.018867924528301886, 'M1': 0.7264150943396226, 'D1': 0.25471698113207547}, 'I7': {'I7': 0.3333333333333333, 'D8': 0.3333333333333333, 'M8': 0.3333333333333333}, 'I5': {'M6': 0.3333333333333333, 'I5': 0.3333333333333333, 'D6': 0.3333333333333333}}, {'I2': {'A': 0.2, 'B': 0.2, 'C': 0.2, 'E': 0.2, 'D': 0.2}, 'E': {'A': 0, 'B': 0, 'C': 0, 'E': 0, 'D': 0}, 'M8': {'A': 0.01818181818181818, 'B': 0.32121212121212117, 'C': 0.01818181818181818, 'E': 0.6242424242424242, 'D': 0.01818181818181818}, 'I8': {'A': 0.2, 'B': 0.2, 'C': 0.2, 'E': 0.2, 'D': 0.2}, 'D2': {'A': 0, 'B': 0, 'C': 0, 'E': 0, 'D': 0}, 'M7': {'A': 0.01818181818181818, 'B': 0.24545454545454545, 'C': 0.01818181818181818, 'E': 0.4727272727272727, 'D': 0.24545454545454545}, 'D8': {'A': 0, 'B': 0, 'C': 0, 'E': 0, 'D': 0}, 'D3': {'A': 0, 'B': 0, 'C': 0, 'E': 0, 'D': 0}, 'D7': {'A': 0, 'B': 0, 'C': 0, 'E': 0, 'D': 0}, 'M6': {'A': 0.01818181818181818, 'B': 0.32121212121212117, 'C': 0.32121212121212117, 'E': 0.01818181818181818, 'D': 0.32121212121212117}, 'D5': {'A': 0, 'B': 0, 'C': 0, 'E': 0, 'D': 0}, 'D6': {'A': 0, 'B': 0, 'C': 0, 'E': 0, 'D': 0}, 'I0': {'A': 0.2, 'B': 0.2, 'C': 0.2, 'E': 0.2, 'D': 0.2}, 'I6': {'A': 0.2, 'B': 0.2, 'C': 0.2, 'E': 0.2, 'D': 0.2}, 'M1': {'A': 0.01818181818181818, 'B': 0.32121212121212117, 'C': 0.6242424242424242, 'E': 0.01818181818181818, 'D': 0.01818181818181818}, 'D1': {'A': 0, 'B': 0, 'C': 0, 'E': 0, 'D': 0}, 'M4': {'A': 0.24545454545454545, 'B': 0.01818181818181818, 'C': 0.4727272727272727, 'E': 0.01818181818181818, 'D': 0.24545454545454545}, 'I4': {'A': 0.2, 'B': 0.2, 'C': 0.2, 'E': 0.2, 'D': 0.2}, 'M3': {'A': 0.01818181818181818, 'B': 0.9272727272727272, 'C': 0.01818181818181818, 'E': 0.01818181818181818, 'D': 0.01818181818181818}, 'I1': {'A': 0.2, 'B': 0.2, 'C': 0.2, 'E': 0.2, 'D': 0.2}, 'M2': {'A': 0.01818181818181818, 'B': 0.9272727272727272, 'C': 0.01818181818181818, 'E': 0.01818181818181818, 'D': 0.01818181818181818}, 'I3': {'A': 0.2, 'B': 0.2, 'C': 0.2, 'E': 0.2, 'D': 0.2}, 'M5': {'A': 0.01818181818181818, 'B': 0.01818181818181818, 'C': 0.4727272727272727, 'E': 0.4727272727272727, 'D': 0.01818181818181818}, 'D4': {'A': 0, 'B': 0, 'C': 0, 'E': 0, 'D': 0}, 'S': {'A': 0, 'B': 0, 'C': 0, 'E': 0, 'D': 0}, 'I7': {'A': 0.2, 'B': 0.2, 'C': 0.2, 'E': 0.2, 'D': 0.2}, 'I5': {'A': 0.2, 'B': 0.2, 'C': 0.2, 'E': 0.2, 'D': 0.2}})