| 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 | }; |
|---|