Module asymmetree.seqevolve.EmpiricalModels
Empirical models for amino acid sequence evolution.
The values in the matrices and the equilibrium frequencies are taken from [1].
References
.. [1] http://giphy.pasteur.fr/empirical-models-of-amino-acid-substitution/
Expand source code
# -*- coding: utf-8 -*-
"""Empirical models for amino acid sequence evolution.
The values in the matrices and the equilibrium frequencies are taken from [1].
References
----------
.. [1] http://giphy.pasteur.fr/empirical-models-of-amino-acid-substitution/
"""
import numpy as np
def _WAG_aa():
S = np.array([[ 0.0, 0.551571, 0.509848, 0.738998, 1.02704, 0.908598, 1.58285, 1.41672, 0.316954, 0.193335, 0.397915, 0.906265, 0.893496, 0.210494, 1.43855, 3.37079, 2.12111, 0.113133, 0.240735, 2.00601],
[ 0.551571, 0.0, 0.635346, 0.147304, 0.528191, 3.0355, 0.439157, 0.584665, 2.13715, 0.186979, 0.497671, 5.35142, 0.683162, 0.102711, 0.679489, 1.22419, 0.554413, 1.16392, 0.381533, 0.251849],
[ 0.509848, 0.635346, 0.0, 5.42942, 0.265256, 1.54364, 0.947198, 1.12556, 3.95629, 0.554236, 0.131528, 3.01201, 0.198221, 0.0961621, 0.195081, 3.97423, 2.03006, 0.0719167, 1.086, 0.196246],
[ 0.738998, 0.147304, 5.42942, 0.0, 0.0302949, 0.616783, 6.17416, 0.865584, 0.930676, 0.039437, 0.0848047, 0.479855, 0.103754, 0.0467304, 0.423984, 1.07176, 0.374866, 0.129767, 0.325711, 0.152335],
[ 1.02704, 0.528191, 0.265256, 0.0302949, 0.0, 0.0988179, 0.021352, 0.306674, 0.248972, 0.170135, 0.384287, 0.0740339, 0.390482, 0.39802, 0.109404, 1.40766, 0.512984, 0.71707, 0.543833, 1.00214],
[ 0.908598, 3.0355, 1.54364, 0.616783, 0.0988179, 0.0, 5.46947, 0.330052, 4.29411, 0.113917, 0.869489, 3.8949, 1.54526, 0.0999208, 0.933372, 1.02887, 0.857928, 0.215737, 0.22771, 0.301281],
[ 1.58285, 0.439157, 0.947198, 6.17416, 0.021352, 5.46947, 0.0, 0.567717, 0.570025, 0.127395, 0.154263, 2.58443, 0.315124, 0.0811339, 0.682355, 0.704939, 0.822765, 0.156557, 0.196303, 0.588731],
[ 1.41672, 0.584665, 1.12556, 0.865584, 0.306674, 0.330052, 0.567717, 0.0, 0.24941, 0.0304501, 0.0613037, 0.373558, 0.1741, 0.049931, 0.24357, 1.34182, 0.225833, 0.336983, 0.103604, 0.187247],
[ 0.316954, 2.13715, 3.95629, 0.930676, 0.248972, 4.29411, 0.570025, 0.24941, 0.0, 0.13819, 0.499462, 0.890432, 0.404141, 0.679371, 0.696198, 0.740169, 0.473307, 0.262569, 3.87344, 0.118358],
[ 0.193335, 0.186979, 0.554236, 0.039437, 0.170135, 0.113917, 0.127395, 0.0304501, 0.13819, 0.0, 3.17097, 0.323832, 4.25746, 1.05947, 0.0999288, 0.31944, 1.45816, 0.212483, 0.42017, 7.8213],
[ 0.397915, 0.497671, 0.131528, 0.0848047, 0.384287, 0.869489, 0.154263, 0.0613037, 0.499462, 3.17097, 0.0, 0.257555, 4.85402, 2.11517, 0.415844, 0.344739, 0.326622, 0.665309, 0.398618, 1.80034],
[ 0.906265, 5.35142, 3.01201, 0.479855, 0.0740339, 3.8949, 2.58443, 0.373558, 0.890432, 0.323832, 0.257555, 0.0, 0.934276, 0.088836, 0.556896, 0.96713, 1.38698, 0.137505, 0.133264, 0.305434],
[ 0.893496, 0.683162, 0.198221, 0.103754, 0.390482, 1.54526, 0.315124, 0.1741, 0.404141, 4.25746, 4.85402, 0.934276, 0.0, 1.19063, 0.171329, 0.493905, 1.51612, 0.515706, 0.428437, 2.05845],
[ 0.210494, 0.102711, 0.0961621, 0.0467304, 0.39802, 0.0999208, 0.0811339, 0.049931, 0.679371, 1.05947, 2.11517, 0.088836, 1.19063, 0.0, 0.161444, 0.545931, 0.171903, 1.52964, 6.45428, 0.649892],
[ 1.43855, 0.679489, 0.195081, 0.423984, 0.109404, 0.933372, 0.682355, 0.24357, 0.696198, 0.0999288, 0.415844, 0.556896, 0.171329, 0.161444, 0.0, 1.61328, 0.795384, 0.139405, 0.216046, 0.314887],
[ 3.37079, 1.22419, 3.97423, 1.07176, 1.40766, 1.02887, 0.704939, 1.34182, 0.740169, 0.31944, 0.344739, 0.96713, 0.493905, 0.545931, 1.61328, 0.0, 4.37802, 0.523742, 0.786993, 0.232739],
[ 2.12111, 0.554413, 2.03006, 0.374866, 0.512984, 0.857928, 0.822765, 0.225833, 0.473307, 1.45816, 0.326622, 1.38698, 1.51612, 0.171903, 0.795384, 4.37802, 0.0, 0.110864, 0.291148, 1.38823],
[ 0.113133, 1.16392, 0.0719167, 0.129767, 0.71707, 0.215737, 0.156557, 0.336983, 0.262569, 0.212483, 0.665309, 0.137505, 0.515706, 1.52964, 0.139405, 0.523742, 0.110864, 0.0, 2.48539, 0.365369],
[ 0.240735, 0.381533, 1.086, 0.325711, 0.543833, 0.22771, 0.196303, 0.103604, 3.87344, 0.42017, 0.398618, 0.133264, 0.428437, 6.45428, 0.216046, 0.786993, 0.291148, 2.48539, 0.0, 0.31473],
[ 2.00601, 0.251849, 0.196246, 0.152335, 1.00214, 0.301281, 0.588731, 0.187247, 0.118358, 7.8213, 1.80034, 0.305434, 2.05845, 0.649892, 0.314887, 0.232739, 1.38823, 0.365369, 0.31473, 0.0]])
freqs = np.array([0.0866279, 0.043972, 0.0390894, 0.0570451, 0.0193078, 0.0367281, 0.0580589, 0.0832518, 0.0244313, 0.048466, 0.086209, 0.0620286, 0.0195027, 0.0384319, 0.0457631, 0.0695179, 0.0610127, 0.0143859, 0.0352742, 0.0708956])
return S, freqs
def _JTT_aa():
S = np.array([[ 0.0, 58.0, 54.0, 81.0, 56.0, 57.0, 105.0, 179.0, 27.0, 36.0, 30.0, 35.0, 54.0, 15.0, 194.0, 378.0, 475.0, 9.0, 11.0, 298.0],
[ 58.0, 0.0, 45.0, 16.0, 113.0, 310.0, 29.0, 137.0, 328.0, 22.0, 38.0, 646.0, 44.0, 5.0, 74.0, 101.0, 64.0, 126.0, 20.0, 17.0],
[ 54.0, 45.0, 0.0, 528.0, 34.0, 86.0, 58.0, 81.0, 391.0, 47.0, 12.0, 263.0, 30.0, 10.0, 15.0, 503.0, 232.0, 8.0, 70.0, 16.0],
[ 81.0, 16.0, 528.0, 0.0, 10.0, 49.0, 767.0, 130.0, 112.0, 11.0, 7.0, 26.0, 15.0, 4.0, 15.0, 59.0, 38.0, 4.0, 46.0, 31.0],
[ 56.0, 113.0, 34.0, 10.0, 0.0, 9.0, 5.0, 59.0, 69.0, 17.0, 23.0, 7.0, 31.0, 78.0, 14.0, 223.0, 42.0, 115.0, 209.0, 62.0],
[ 57.0, 310.0, 86.0, 49.0, 9.0, 0.0, 323.0, 26.0, 597.0, 9.0, 72.0, 292.0, 43.0, 4.0, 164.0, 53.0, 51.0, 18.0, 24.0, 20.0],
[105.0, 29.0, 58.0, 767.0, 5.0, 323.0, 0.0, 119.0, 26.0, 12.0, 9.0, 181.0, 18.0, 5.0, 18.0, 30.0, 32.0, 10.0, 7.0, 45.0],
[179.0, 137.0, 81.0, 130.0, 59.0, 26.0, 119.0, 0.0, 23.0, 6.0, 6.0, 27.0, 14.0, 5.0, 24.0, 201.0, 33.0, 55.0, 8.0, 47.0],
[ 27.0, 328.0, 391.0, 112.0, 69.0, 597.0, 26.0, 23.0, 0.0, 16.0, 56.0, 45.0, 33.0, 40.0, 115.0, 73.0, 46.0, 8.0, 573.0, 11.0],
[ 36.0, 22.0, 47.0, 11.0, 17.0, 9.0, 12.0, 6.0, 16.0, 0.0, 229.0, 21.0, 479.0, 89.0, 10.0, 40.0, 245.0, 9.0, 32.0, 961.0],
[ 30.0, 38.0, 12.0, 7.0, 23.0, 72.0, 9.0, 6.0, 56.0, 229.0, 0.0, 14.0, 388.0, 248.0, 102.0, 59.0, 25.0, 52.0, 24.0, 180.0],
[ 35.0, 646.0, 263.0, 26.0, 7.0, 292.0, 181.0, 27.0, 45.0, 21.0, 14.0, 0.0, 65.0, 4.0, 21.0, 47.0, 103.0, 10.0, 8.0, 14.0],
[ 54.0, 44.0, 30.0, 15.0, 31.0, 43.0, 18.0, 14.0, 33.0, 479.0, 388.0, 65.0, 0.0, 43.0, 16.0, 29.0, 226.0, 24.0, 18.0, 323.0],
[ 15.0, 5.0, 10.0, 4.0, 78.0, 4.0, 5.0, 5.0, 40.0, 89.0, 248.0, 4.0, 43.0, 0.0, 17.0, 92.0, 12.0, 53.0, 536.0, 62.0],
[194.0, 74.0, 15.0, 15.0, 14.0, 164.0, 18.0, 24.0, 115.0, 10.0, 102.0, 21.0, 16.0, 17.0, 0.0, 285.0, 118.0, 6.0, 10.0, 23.0],
[378.0, 101.0, 503.0, 59.0, 223.0, 53.0, 30.0, 201.0, 73.0, 40.0, 59.0, 47.0, 29.0, 92.0, 285.0, 0.0, 477.0, 35.0, 63.0, 38.0],
[475.0, 64.0, 232.0, 38.0, 42.0, 51.0, 32.0, 33.0, 46.0, 245.0, 25.0, 103.0, 226.0, 12.0, 118.0, 477.0, 0.0, 12.0, 21.0, 112.0],
[ 9.0, 126.0, 8.0, 4.0, 115.0, 18.0, 10.0, 55.0, 8.0, 9.0, 52.0, 10.0, 24.0, 53.0, 6.0, 35.0, 12.0, 0.0, 71.0, 25.0],
[ 11.0, 20.0, 70.0, 46.0, 209.0, 24.0, 7.0, 8.0, 573.0, 32.0, 24.0, 8.0, 18.0, 536.0, 10.0, 63.0, 21.0, 71.0, 0.0, 16.0],
[298.0, 17.0, 16.0, 31.0, 62.0, 20.0, 45.0, 47.0, 11.0, 961.0, 180.0, 14.0, 323.0, 62.0, 23.0, 38.0, 112.0, 25.0, 16.0, 0.0]])
freqs = np.array([0.076748, 0.051691, 0.042645, 0.051544, 0.019803, 0.040752, 0.06183, 0.073152, 0.022944, 0.053761, 0.091904, 0.058676, 0.023826, 0.040126, 0.050901, 0.068765, 0.058565, 0.014261, 0.032102, 0.066005])
return S, freqs
def _BLOSUM62_aa():
S = np.array([[ 0.0, 0.735790389698, 0.485391055466, 0.543161820899, 1.45999531047, 1.199705704602, 1.1709490428, 1.95588357496, 0.716241444998, 0.605899003687, 0.800016530518, 1.295201266783, 1.253758266664, 0.492964679748, 1.173275900924, 4.325092687057, 1.729178019485, 0.465839367725, 0.718206697586, 2.187774522005],
[0.735790389698, 0.0, 1.297446705134, 0.500964408555, 0.227826574209, 3.020833610064, 1.36057419042, 0.418763308518, 1.456141166336, 0.232036445142, 0.622711669692, 5.411115141489, 0.983692987457, 0.371644693209, 0.448133661718, 1.12278310421, 0.914665954563, 0.426382310122, 0.720517441216, 0.438388343772],
[0.485391055466, 1.297446705134, 0.0, 3.180100048216, 0.397358949897, 1.839216146992, 1.24048850864, 1.355872344485, 2.414501434208, 0.283017326278, 0.211888159615, 1.593137043457, 0.648441278787, 0.354861249223, 0.494887043702, 2.904101656456, 1.898173634533, 0.191482046247, 0.538222519037, 0.312858797993],
[0.543161820899, 0.500964408555, 3.180100048216, 0.0, 0.240836614802, 1.190945703396, 3.761625208368, 0.798473248968, 0.778142664022, 0.418555732462, 0.218131577594, 1.032447924952, 0.222621897958, 0.281730694207, 0.730628272998, 1.582754142065, 0.934187509431, 0.145345046279, 0.261422208965, 0.258129289418],
[ 1.45999531047, 0.227826574209, 0.397358949897, 0.240836614802, 0.0, 0.32980150463, 0.140748891814, 0.418203192284, 0.354058109831, 0.774894022794, 0.831842640142, 0.285078800906, 0.76768882348, 0.441337471187, 0.356008498769, 1.197188415094, 1.119831358516, 0.527664418872, 0.470237733696, 1.116352478606],
[1.199705704602, 3.020833610064, 1.839216146992, 1.190945703396, 0.32980150463, 0.0, 5.528919177928, 0.609846305383, 2.43534113114, 0.236202451204, 0.580737093181, 3.945277674515, 2.494896077113, 0.14435695975, 0.858570575674, 1.934870924596, 1.277480294596, 0.758653808642, 0.95898974285, 0.530785790125],
[ 1.1709490428, 1.36057419042, 1.24048850864, 3.761625208368, 0.140748891814, 5.528919177928, 0.0, 0.423579992176, 1.626891056982, 0.186848046932, 0.372625175087, 2.802427151679, 0.55541539747, 0.291409084165, 0.926563934846, 1.769893238937, 1.071097236007, 0.407635648938, 0.596719300346, 0.524253846338],
[ 1.95588357496, 0.418763308518, 1.355872344485, 0.798473248968, 0.418203192284, 0.609846305383, 0.423579992176, 0.0, 0.539859124954, 0.189296292376, 0.217721159236, 0.752042440303, 0.459436173579, 0.368166464453, 0.504086599527, 1.509326253224, 0.641436011405, 0.508358924638, 0.308055737035, 0.25334079019],
[0.716241444998, 1.456141166336, 2.414501434208, 0.778142664022, 0.354058109831, 2.43534113114, 1.626891056982, 0.539859124954, 0.0, 0.252718447885, 0.348072209797, 1.022507035889, 0.984311525359, 0.714533703928, 0.527007339151, 1.11702976291, 0.585407090225, 0.30124860078, 4.218953969389, 0.20155597175],
[0.605899003687, 0.232036445142, 0.283017326278, 0.418555732462, 0.774894022794, 0.236202451204, 0.186848046932, 0.189296292376, 0.252718447885, 0.0, 3.890963773304, 0.406193586642, 3.364797763104, 1.517359325954, 0.388355409206, 0.35754441246, 1.17909119726, 0.34198578754, 0.674617093228, 8.311839405458],
[0.800016530518, 0.622711669692, 0.211888159615, 0.218131577594, 0.831842640142, 0.580737093181, 0.372625175087, 0.217721159236, 0.348072209797, 3.890963773304, 0.0, 0.445570274261, 6.030559379572, 2.064839703237, 0.374555687471, 0.352969184527, 0.915259857694, 0.6914746346, 0.811245856323, 2.231405688913],
[1.295201266783, 5.411115141489, 1.593137043457, 1.032447924952, 0.285078800906, 3.945277674515, 2.802427151679, 0.752042440303, 1.022507035889, 0.406193586642, 0.445570274261, 0.0, 1.073061184332, 0.266924750511, 1.047383450722, 1.752165917819, 1.303875200799, 0.332243040634, 0.7179934869, 0.498138475304],
[1.253758266664, 0.983692987457, 0.648441278787, 0.222621897958, 0.76768882348, 2.494896077113, 0.55541539747, 0.459436173579, 0.984311525359, 3.364797763104, 6.030559379572, 1.073061184332, 0.0, 1.77385516883, 0.454123625103, 0.918723415746, 1.488548053722, 0.888101098152, 0.951682162246, 2.575850755315],
[0.492964679748, 0.371644693209, 0.354861249223, 0.281730694207, 0.441337471187, 0.14435695975, 0.291409084165, 0.368166464453, 0.714533703928, 1.517359325954, 2.064839703237, 0.266924750511, 1.77385516883, 0.0, 0.233597909629, 0.540027644824, 0.488206118793, 2.074324893497, 6.747260430801, 0.838119610178],
[1.173275900924, 0.448133661718, 0.494887043702, 0.730628272998, 0.356008498769, 0.858570575674, 0.926563934846, 0.504086599527, 0.527007339151, 0.388355409206, 0.374555687471, 1.047383450722, 0.454123625103, 0.233597909629, 0.0, 1.169129577716, 1.005451683149, 0.252214830027, 0.369405319355, 0.496908410676],
[4.325092687057, 1.12278310421, 2.904101656456, 1.582754142065, 1.197188415094, 1.934870924596, 1.769893238937, 1.509326253224, 1.11702976291, 0.35754441246, 0.352969184527, 1.752165917819, 0.918723415746, 0.540027644824, 1.169129577716, 0.0, 5.15155629227, 0.387925622098, 0.796751520761, 0.561925457442],
[1.729178019485, 0.914665954563, 1.898173634533, 0.934187509431, 1.119831358516, 1.277480294596, 1.071097236007, 0.641436011405, 0.585407090225, 1.17909119726, 0.915259857694, 1.303875200799, 1.488548053722, 0.488206118793, 1.005451683149, 5.15155629227, 0.0, 0.513128126891, 0.801010243199, 2.253074051176],
[0.465839367725, 0.426382310122, 0.191482046247, 0.145345046279, 0.527664418872, 0.758653808642, 0.407635648938, 0.508358924638, 0.30124860078, 0.34198578754, 0.6914746346, 0.332243040634, 0.888101098152, 2.074324893497, 0.252214830027, 0.387925622098, 0.513128126891, 0.0, 4.054419006558, 0.266508731426],
[0.718206697586, 0.720517441216, 0.538222519037, 0.261422208965, 0.470237733696, 0.95898974285, 0.596719300346, 0.308055737035, 4.218953969389, 0.674617093228, 0.811245856323, 0.7179934869, 0.951682162246, 6.747260430801, 0.369405319355, 0.796751520761, 0.801010243199, 4.054419006558, 0.0, 1.0],
[2.187774522005, 0.438388343772, 0.312858797993, 0.258129289418, 1.116352478606, 0.530785790125, 0.524253846338, 0.25334079019, 0.20155597175, 8.311839405458, 2.231405688913, 0.498138475304, 2.575850755315, 0.838119610178, 0.496908410676, 0.561925457442, 2.253074051176, 0.266508731426, 1.0, 0.0]])
freqs = np.array([0.074, 0.052, 0.045, 0.054, 0.025, 0.034, 0.054, 0.074, 0.026, 0.068, 0.099, 0.058, 0.025, 0.047, 0.039, 0.057, 0.051, 0.013, 0.032, 0.073])
return S, freqs
def _LG_aa():
S = np.array([[ 0.0, 0.425093, 0.276818, 0.395144, 2.489084, 0.969894, 1.038545, 2.06604, 0.358858, 0.14983, 0.395337, 0.536518, 1.124035, 0.253701, 1.177651, 4.727182, 2.139501, 0.180717, 0.218959, 2.54787],
[ 0.425093, 0.0, 0.751878, 0.123954, 0.534551, 2.807908, 0.36397, 0.390192, 2.426601, 0.126991, 0.301848, 6.326067, 0.484133, 0.052722, 0.332533, 0.858151, 0.578987, 0.593607, 0.31444, 0.170887],
[ 0.276818, 0.751878, 0.0, 5.076149, 0.528768, 1.695752, 0.541712, 1.437645, 4.509238, 0.191503, 0.068427, 2.145078, 0.371004, 0.089525, 0.161787, 4.008358, 2.000679, 0.045376, 0.612025, 0.083688],
[ 0.395144, 0.123954, 5.076149, 0.0, 0.062556, 0.523386, 5.24387, 0.844926, 0.927114, 0.01069, 0.015076, 0.282959, 0.025548, 0.017416, 0.394456, 1.240275, 0.42586, 0.02989, 0.135107, 0.037967],
[ 2.489084, 0.534551, 0.528768, 0.062556, 0.0, 0.084808, 0.003499, 0.569265, 0.640543, 0.320627, 0.594007, 0.013266, 0.89368, 1.105251, 0.075382, 2.784478, 1.14348, 0.670128, 1.165532, 1.959291],
[ 0.969894, 2.807908, 1.695752, 0.523386, 0.084808, 0.0, 4.128591, 0.267959, 4.813505, 0.072854, 0.582457, 3.234294, 1.672569, 0.035855, 0.624294, 1.223828, 1.080136, 0.236199, 0.257336, 0.210332],
[ 1.038545, 0.36397, 0.541712, 5.24387, 0.003499, 4.128591, 0.0, 0.348847, 0.423881, 0.044265, 0.069673, 1.807177, 0.173735, 0.018811, 0.419409, 0.611973, 0.604545, 0.077852, 0.120037, 0.245034],
[ 2.06604, 0.390192, 1.437645, 0.844926, 0.569265, 0.267959, 0.348847, 0.0, 0.311484, 0.008705, 0.044261, 0.296636, 0.139538, 0.089586, 0.196961, 1.73999, 0.129836, 0.268491, 0.054679, 0.076701],
[ 0.358858, 2.426601, 4.509238, 0.927114, 0.640543, 4.813505, 0.423881, 0.311484, 0.0, 0.108882, 0.366317, 0.697264, 0.442472, 0.682139, 0.508851, 0.990012, 0.584262, 0.597054, 5.306834, 0.119013],
[ 0.14983, 0.126991, 0.191503, 0.01069, 0.320627, 0.072854, 0.044265, 0.008705, 0.108882, 0.0, 4.145067, 0.159069, 4.273607, 1.112727, 0.078281, 0.064105, 1.033739, 0.11166, 0.232523, 10.649107],
[ 0.395337, 0.301848, 0.068427, 0.015076, 0.594007, 0.582457, 0.069673, 0.044261, 0.366317, 4.145067, 0.0, 0.1375, 6.312358, 2.592692, 0.24906, 0.182287, 0.302936, 0.619632, 0.299648, 1.702745],
[ 0.536518, 6.326067, 2.145078, 0.282959, 0.013266, 3.234294, 1.807177, 0.296636, 0.697264, 0.159069, 0.1375, 0.0, 0.656604, 0.023918, 0.390322, 0.748683, 1.136863, 0.049906, 0.131932, 0.185202],
[ 1.124035, 0.484133, 0.371004, 0.025548, 0.89368, 1.672569, 0.173735, 0.139538, 0.442472, 4.273607, 6.312358, 0.656604, 0.0, 1.798853, 0.099849, 0.34696, 2.020366, 0.696175, 0.481306, 1.898718],
[ 0.253701, 0.052722, 0.089525, 0.017416, 1.105251, 0.035855, 0.018811, 0.089586, 0.682139, 1.112727, 2.592692, 0.023918, 1.798853, 0.0, 0.094464, 0.361819, 0.165001, 2.457121, 7.803902, 0.654683],
[ 1.177651, 0.332533, 0.161787, 0.394456, 0.075382, 0.624294, 0.419409, 0.196961, 0.508851, 0.078281, 0.24906, 0.390322, 0.099849, 0.094464, 0.0, 1.338132, 0.571468, 0.095131, 0.089613, 0.296501],
[ 4.727182, 0.858151, 4.008358, 1.240275, 2.784478, 1.223828, 0.611973, 1.73999, 0.990012, 0.064105, 0.182287, 0.748683, 0.34696, 0.361819, 1.338132, 0.0, 6.472279, 0.248862, 0.400547, 0.098369],
[ 2.139501, 0.578987, 2.000679, 0.42586, 1.14348, 1.080136, 0.604545, 0.129836, 0.584262, 1.033739, 0.302936, 1.136863, 2.020366, 0.165001, 0.571468, 6.472279, 0.0, 0.140825, 0.245841, 2.188158],
[ 0.180717, 0.593607, 0.045376, 0.02989, 0.670128, 0.236199, 0.077852, 0.268491, 0.597054, 0.11166, 0.619632, 0.049906, 0.696175, 2.457121, 0.095131, 0.248862, 0.140825, 0.0, 3.151815, 0.18951],
[ 0.218959, 0.31444, 0.612025, 0.135107, 1.165532, 0.257336, 0.120037, 0.054679, 5.306834, 0.232523, 0.299648, 0.131932, 0.481306, 7.803902, 0.089613, 0.400547, 0.245841, 3.151815, 0.0, 0.249313],
[ 2.54787, 0.170887, 0.083688, 0.037967, 1.959291, 0.210332, 0.245034, 0.076701, 0.119013, 10.649107, 1.702745, 0.185202, 1.898718, 0.654683, 0.296501, 0.098369, 2.188158, 0.18951, 0.249313, 0.0]])
freqs = np.array([0.079066, 0.055941, 0.041977, 0.053052, 0.012937, 0.040767, 0.071586, 0.057337, 0.022355, 0.062157, 0.099081, 0.0646, 0.022951, 0.042302, 0.04404, 0.061197, 0.053287, 0.012066, 0.034155, 0.069147])
return S, freqs
def _DAYHOFF_aa():
S = np.array([[ 0.0, 27.0, 98.0, 120.0, 36.0, 89.0, 198.0, 240.0, 23.0, 65.0, 41.0, 26.0, 72.0, 18.0, 250.0, 409.0, 371.0, 0.0, 24.0, 208.0],
[ 27.0, 0.0, 32.0, 0.0, 23.0, 246.0, 1.0, 9.0, 240.0, 64.0, 15.0, 464.0, 90.0, 14.0, 103.0, 154.0, 26.0, 201.0, 8.0, 24.0],
[ 98.0, 32.0, 0.0, 905.0, 0.0, 103.0, 148.0, 139.0, 535.0, 77.0, 34.0, 318.0, 1.0, 14.0, 42.0, 495.0, 229.0, 23.0, 95.0, 15.0],
[ 120.0, 0.0, 905.0, 0.0, 0.0, 134.0, 1153.0, 125.0, 86.0, 24.0, 0.0, 71.0, 0.0, 0.0, 13.0, 95.0, 66.0, 0.0, 0.0, 18.0],
[ 36.0, 23.0, 0.0, 0.0, 0.0, 0.0, 0.0, 11.0, 28.0, 44.0, 0.0, 0.0, 0.0, 0.0, 19.0, 161.0, 16.0, 0.0, 96.0, 49.0],
[ 89.0, 246.0, 103.0, 134.0, 0.0, 0.0, 716.0, 28.0, 606.0, 18.0, 73.0, 153.0, 114.0, 0.0, 153.0, 56.0, 53.0, 0.0, 0.0, 35.0],
[ 198.0, 1.0, 148.0, 1153.0, 0.0, 716.0, 0.0, 81.0, 43.0, 61.0, 11.0, 83.0, 30.0, 0.0, 51.0, 79.0, 34.0, 0.0, 22.0, 37.0],
[ 240.0, 9.0, 139.0, 125.0, 11.0, 28.0, 81.0, 0.0, 10.0, 0.0, 7.0, 27.0, 17.0, 15.0, 34.0, 234.0, 30.0, 0.0, 0.0, 54.0],
[ 23.0, 240.0, 535.0, 86.0, 28.0, 606.0, 43.0, 10.0, 0.0, 7.0, 44.0, 26.0, 0.0, 48.0, 94.0, 35.0, 22.0, 27.0, 127.0, 44.0],
[ 65.0, 64.0, 77.0, 24.0, 44.0, 18.0, 61.0, 0.0, 7.0, 0.0, 257.0, 46.0, 336.0, 196.0, 12.0, 24.0, 192.0, 0.0, 37.0, 889.0],
[ 41.0, 15.0, 34.0, 0.0, 0.0, 73.0, 11.0, 7.0, 44.0, 257.0, 0.0, 18.0, 527.0, 157.0, 32.0, 17.0, 33.0, 46.0, 28.0, 175.0],
[ 26.0, 464.0, 318.0, 71.0, 0.0, 153.0, 83.0, 27.0, 26.0, 46.0, 18.0, 0.0, 243.0, 0.0, 33.0, 96.0, 136.0, 0.0, 13.0, 10.0],
[ 72.0, 90.0, 1.0, 0.0, 0.0, 114.0, 30.0, 17.0, 0.0, 336.0, 527.0, 243.0, 0.0, 92.0, 17.0, 62.0, 104.0, 0.0, 0.0, 258.0],
[ 18.0, 14.0, 14.0, 0.0, 0.0, 0.0, 0.0, 15.0, 48.0, 196.0, 157.0, 0.0, 92.0, 0.0, 11.0, 46.0, 13.0, 76.0, 698.0, 12.0],
[ 250.0, 103.0, 42.0, 13.0, 19.0, 153.0, 51.0, 34.0, 94.0, 12.0, 32.0, 33.0, 17.0, 11.0, 0.0, 245.0, 78.0, 0.0, 0.0, 48.0],
[ 409.0, 154.0, 495.0, 95.0, 161.0, 56.0, 79.0, 234.0, 35.0, 24.0, 17.0, 96.0, 62.0, 46.0, 245.0, 0.0, 550.0, 75.0, 34.0, 30.0],
[ 371.0, 26.0, 229.0, 66.0, 16.0, 53.0, 34.0, 30.0, 22.0, 192.0, 33.0, 136.0, 104.0, 13.0, 78.0, 550.0, 0.0, 0.0, 42.0, 157.0],
[ 0.0, 201.0, 23.0, 0.0, 0.0, 0.0, 0.0, 0.0, 27.0, 0.0, 46.0, 0.0, 0.0, 76.0, 0.0, 75.0, 0.0, 0.0, 61.0, 0.0],
[ 24.0, 8.0, 95.0, 0.0, 96.0, 0.0, 22.0, 0.0, 127.0, 37.0, 28.0, 13.0, 0.0, 698.0, 0.0, 34.0, 42.0, 61.0, 0.0, 28.0],
[ 208.0, 24.0, 15.0, 18.0, 49.0, 35.0, 37.0, 54.0, 44.0, 889.0, 175.0, 10.0, 258.0, 12.0, 48.0, 30.0, 157.0, 0.0, 28.0, 0.0]])
freqs = np.array([0.087127, 0.040904, 0.040432, 0.046872, 0.033474, 0.038255, 0.04953, 0.088612, 0.033618, 0.036886, 0.085357, 0.080482, 0.014753, 0.039772, 0.05068, 0.069577, 0.058542, 0.010494, 0.029916, 0.064718])
return S, freqs
empirical_models = {
'WAG': _WAG_aa,
'JTT': _JTT_aa,
'BLOSUM62': _BLOSUM62_aa,
'LG': _LG_aa,
'DAYHOFF': _DAYHOFF_aa,
}