1 | #include "muscle.h" |
---|
2 | |
---|
3 | const float PAM_200_CENTER = (float) 20.0; |
---|
4 | |
---|
5 | #define v(x) ((float) x + PAM_200_CENTER) |
---|
6 | #define ROW(A, C, D, E, F, G, H, I, K, L, M, N, P, Q, R, S, T, V, W, Y) \ |
---|
7 | { v(A), v(C), v(D), v(E), v(F), v(G), v(H), v(I), v(K), v(L), \ |
---|
8 | v(M), v(N), v(P), v(Q), v(R), v(S), v(T), v(V), v(W), v(Y) }, |
---|
9 | |
---|
10 | float PAM200[32][32] = |
---|
11 | { |
---|
12 | // A C D E F G H I K L |
---|
13 | // M N P Q R S T V W Y |
---|
14 | ROW( 388, -0, 34, 32, -202, 159, -88, 89, -55, -67, |
---|
15 | 19, 86, 186, -34, -32, 237, 273, 171, -326, -239) // A |
---|
16 | ROW( -0, 1170, -248, -315, 74, -14, 43, -151, -204, -196, |
---|
17 | -132, -49, -142, -215, 29, 165, -7, -69, 179, 313) // C |
---|
18 | ROW( 34, -248, 625, 496, -419, 148, 78, -245, 55, -361, |
---|
19 | -255, 332, -169, 122, -64, 45, -13, -167, -438, -148) // D |
---|
20 | ROW( 32, -315, 496, 610, -480, 125, 25, -245, 175, -327, |
---|
21 | -242, 166, -141, 279, 34, -30, -56, -150, -386, -305) // E |
---|
22 | ROW( -202, 74, -419, -480, 888, -407, 62, 80, -443, 320, |
---|
23 | 67, -236, -180, -294, -327, -51, -173, 31, -1, 584) // F |
---|
24 | ROW( 159, -14, 148, 125, -407, 662, -114, -216, -34, -324, |
---|
25 | -246, 79, -77, -68, 97, 155, 21, -93, -58, -349) // G |
---|
26 | ROW( -88, 43, 78, 25, 62, -114, 766, -205, 144, -92, |
---|
27 | -152, 238, 66, 368, 257, 35, -35, -217, -201, 468) // H |
---|
28 | ROW( 89, -151, -245, -245, 80, -216, -205, 554, -224, 288, |
---|
29 | 391, -114, -115, -222, -208, -19, 162, 469, -274, -153) // I |
---|
30 | ROW( -55, -204, 55, 175, -443, -34, 144, -224, 632, -249, |
---|
31 | -118, 186, -86, 315, 466, 2, 19, -227, -216, -264) // K |
---|
32 | ROW( -67, -196, -361, -327, 320, -324, -92, 288, -249, 591, |
---|
33 | 369, -223, 53, -86, -170, -69, -41, 239, -66, -29) // L |
---|
34 | ROW( 19, -132, -255, -242, 67, -246, -152, 391, -118, 369, |
---|
35 | 756, -131, -98, -124, -129, -49, 129, 331, -229, -182) // M |
---|
36 | ROW( 86, -49, 332, 166, -236, 79, 238, -114, 186, -223, |
---|
37 | -131, 516, -21, 88, 73, 240, 168, -118, -379, -8) // N |
---|
38 | ROW( 186, -142, -169, -141, -180, -77, 66, -115, -86, 53, |
---|
39 | -98, -21, 736, 122, 5, 221, 139, -75, -373, -226) // P |
---|
40 | ROW( -34, -215, 122, 279, -294, -68, 368, -222, 315, -86, |
---|
41 | -124, 88, 122, 635, 301, -13, -35, -195, -243, -73) // Q |
---|
42 | ROW( -32, 29, -64, 34, -327, 97, 257, -208, 466, -170, |
---|
43 | -129, 73, 5, 301, 606, 28, -4, -201, 104, -133) // R |
---|
44 | ROW( 237, 165, 45, -30, -51, 155, 35, -19, 2, -69, |
---|
45 | -49, 240, 221, -13, 28, 353, 259, 8, -213, -55) // S |
---|
46 | ROW( 273, -7, -13, -56, -173, 21, -35, 162, 19, -41, |
---|
47 | 129, 168, 139, -35, -4, 259, 422, 143, -343, -190) // T |
---|
48 | ROW( 171, -69, -167, -150, 31, -93, -217, 469, -227, 239, |
---|
49 | 331, -118, -75, -195, -201, 8, 143, 505, -245, -197) // V |
---|
50 | ROW( -326, 179, -438, -386, -1, -58, -201, -274, -216, -66, |
---|
51 | -229, -379, -373, -243, 104, -213, -343, -245, 1475, 63) // W |
---|
52 | ROW( -239, 313, -148, -305, 584, -349, 468, -153, -264, -29, |
---|
53 | -182, -8, -226, -73, -133, -55, -190, -197, 63, 979) // Y |
---|
54 | }; |
---|
55 | |
---|
56 | #undef v |
---|
57 | #define v(x) ((float) x) |
---|
58 | #define RNC(A, C, D, E, F, G, H, I, K, L, M, N, P, Q, R, S, T, V, W, Y) \ |
---|
59 | { v(A), v(C), v(D), v(E), v(F), v(G), v(H), v(I), v(K), v(L), \ |
---|
60 | v(M), v(N), v(P), v(Q), v(R), v(S), v(T), v(V), v(W), v(Y) }, |
---|
61 | |
---|
62 | float PAM200NoCenter[32][32] = |
---|
63 | |
---|
64 | { |
---|
65 | // A C D E F G H I K L |
---|
66 | // M N P Q R S T V W Y |
---|
67 | RNC( 388, -0, 34, 32, -202, 159, -88, 89, -55, -67, |
---|
68 | 19, 86, 186, -34, -32, 237, 273, 171, -326, -239) // A |
---|
69 | RNC( -0, 1170, -248, -315, 74, -14, 43, -151, -204, -196, |
---|
70 | -132, -49, -142, -215, 29, 165, -7, -69, 179, 313) // C |
---|
71 | RNC( 34, -248, 625, 496, -419, 148, 78, -245, 55, -361, |
---|
72 | -255, 332, -169, 122, -64, 45, -13, -167, -438, -148) // D |
---|
73 | RNC( 32, -315, 496, 610, -480, 125, 25, -245, 175, -327, |
---|
74 | -242, 166, -141, 279, 34, -30, -56, -150, -386, -305) // E |
---|
75 | RNC( -202, 74, -419, -480, 888, -407, 62, 80, -443, 320, |
---|
76 | 67, -236, -180, -294, -327, -51, -173, 31, -1, 584) // F |
---|
77 | RNC( 159, -14, 148, 125, -407, 662, -114, -216, -34, -324, |
---|
78 | -246, 79, -77, -68, 97, 155, 21, -93, -58, -349) // G |
---|
79 | RNC( -88, 43, 78, 25, 62, -114, 766, -205, 144, -92, |
---|
80 | -152, 238, 66, 368, 257, 35, -35, -217, -201, 468) // H |
---|
81 | RNC( 89, -151, -245, -245, 80, -216, -205, 554, -224, 288, |
---|
82 | 391, -114, -115, -222, -208, -19, 162, 469, -274, -153) // I |
---|
83 | RNC( -55, -204, 55, 175, -443, -34, 144, -224, 632, -249, |
---|
84 | -118, 186, -86, 315, 466, 2, 19, -227, -216, -264) // K |
---|
85 | RNC( -67, -196, -361, -327, 320, -324, -92, 288, -249, 591, |
---|
86 | 369, -223, 53, -86, -170, -69, -41, 239, -66, -29) // L |
---|
87 | RNC( 19, -132, -255, -242, 67, -246, -152, 391, -118, 369, |
---|
88 | 756, -131, -98, -124, -129, -49, 129, 331, -229, -182) // M |
---|
89 | RNC( 86, -49, 332, 166, -236, 79, 238, -114, 186, -223, |
---|
90 | -131, 516, -21, 88, 73, 240, 168, -118, -379, -8) // N |
---|
91 | RNC( 186, -142, -169, -141, -180, -77, 66, -115, -86, 53, |
---|
92 | -98, -21, 736, 122, 5, 221, 139, -75, -373, -226) // P |
---|
93 | RNC( -34, -215, 122, 279, -294, -68, 368, -222, 315, -86, |
---|
94 | -124, 88, 122, 635, 301, -13, -35, -195, -243, -73) // Q |
---|
95 | RNC( -32, 29, -64, 34, -327, 97, 257, -208, 466, -170, |
---|
96 | -129, 73, 5, 301, 606, 28, -4, -201, 104, -133) // R |
---|
97 | RNC( 237, 165, 45, -30, -51, 155, 35, -19, 2, -69, |
---|
98 | -49, 240, 221, -13, 28, 353, 259, 8, -213, -55) // S |
---|
99 | RNC( 273, -7, -13, -56, -173, 21, -35, 162, 19, -41, |
---|
100 | 129, 168, 139, -35, -4, 259, 422, 143, -343, -190) // T |
---|
101 | RNC( 171, -69, -167, -150, 31, -93, -217, 469, -227, 239, |
---|
102 | 331, -118, -75, -195, -201, 8, 143, 505, -245, -197) // V |
---|
103 | RNC( -326, 179, -438, -386, -1, -58, -201, -274, -216, -66, |
---|
104 | -229, -379, -373, -243, 104, -213, -343, -245, 1475, 63) // W |
---|
105 | RNC( -239, 313, -148, -305, 584, -349, 468, -153, -264, -29, |
---|
106 | -182, -8, -226, -73, -133, -55, -190, -197, 63, 979) // Y |
---|
107 | }; |
---|