jpayne@69: //-- Values and function for DNA -> Amino Acid translation jpayne@69: jpayne@69: #ifndef __TRANSLATE_HH jpayne@69: #define __TRANSLATE_HH jpayne@69: jpayne@69: #include jpayne@69: #include jpayne@69: jpayne@69: long int Translate_DNA jpayne@69: (char * A, char * tA, int Frame); jpayne@69: jpayne@69: // function to translate dna sequence to aminoacid sequence jpayne@69: // uses esttrans' headers and algo jpayne@69: // A as read in from gene.h Read_String jpayne@69: // tA should be an empty string, malloced to atleast (len A / 3) jpayne@69: // frame is 1,2,3,4,5,6 jpayne@69: // returns new (strlen(A+1)) or -1 on error jpayne@69: // See end of file for source. jpayne@69: jpayne@69: #define BAD_PEP_CHAR -1 jpayne@69: #define SKIP_PEP_CHAR -2 jpayne@69: #define NUM_DNA_SYMBOLS 16 jpayne@69: #define DNA_A 0 jpayne@69: #define DNA_C 1 jpayne@69: #define DNA_G 2 jpayne@69: #define DNA_TU 3 jpayne@69: #define DNA_M 4 jpayne@69: #define DNA_R 5 jpayne@69: #define DNA_W 6 jpayne@69: #define DNA_S 7 jpayne@69: #define DNA_Y 8 jpayne@69: #define DNA_K 9 jpayne@69: #define DNA_V 10 jpayne@69: #define DNA_H 11 jpayne@69: #define DNA_D 12 jpayne@69: #define DNA_B 13 jpayne@69: #define DNA_XN 14 jpayne@69: #define DNA_dot 15 jpayne@69: jpayne@69: #define AA_LEN 8192 jpayne@69: #define DNA_LEN 32768 jpayne@69: #define AA_LINE_LEN 60 jpayne@69: jpayne@69: const int compdna[NUM_DNA_SYMBOLS] = { jpayne@69: DNA_TU, jpayne@69: DNA_G, jpayne@69: DNA_C, jpayne@69: DNA_A, jpayne@69: DNA_K, jpayne@69: DNA_Y, jpayne@69: DNA_W, jpayne@69: DNA_S, jpayne@69: DNA_R, jpayne@69: DNA_M, jpayne@69: DNA_B, jpayne@69: DNA_D, jpayne@69: DNA_H, jpayne@69: DNA_V, jpayne@69: DNA_XN, jpayne@69: DNA_dot jpayne@69: }; jpayne@69: jpayne@69: const int transdna[256] = { jpayne@69: BAD_PEP_CHAR, /* 0 NUL*/ jpayne@69: BAD_PEP_CHAR, /* 1 SOH*/ jpayne@69: BAD_PEP_CHAR, /* 2 STX*/ jpayne@69: BAD_PEP_CHAR, /* 3 ETX*/ jpayne@69: BAD_PEP_CHAR, /* 4 EOT*/ jpayne@69: BAD_PEP_CHAR, /* 5 ENQ*/ jpayne@69: BAD_PEP_CHAR, /* 6 ACK*/ jpayne@69: BAD_PEP_CHAR, /* 7 BEL*/ jpayne@69: BAD_PEP_CHAR, /* 8 BS */ jpayne@69: SKIP_PEP_CHAR, /* 9 HT */ jpayne@69: SKIP_PEP_CHAR, /* 10 NL */ jpayne@69: SKIP_PEP_CHAR, /* 11 VT */ jpayne@69: SKIP_PEP_CHAR, /* 12 NP */ jpayne@69: SKIP_PEP_CHAR, /* 13 CR */ jpayne@69: BAD_PEP_CHAR, /* 14 SO */ jpayne@69: BAD_PEP_CHAR, /* 15 SI */ jpayne@69: BAD_PEP_CHAR, /* 16 DLE*/ jpayne@69: BAD_PEP_CHAR, /* 17 DC1*/ jpayne@69: BAD_PEP_CHAR, /* 18 DC2*/ jpayne@69: BAD_PEP_CHAR, /* 19 DC3*/ jpayne@69: BAD_PEP_CHAR, /* 20 DC4*/ jpayne@69: BAD_PEP_CHAR, /* 21 NAK*/ jpayne@69: BAD_PEP_CHAR, /* 22 SYN*/ jpayne@69: BAD_PEP_CHAR, /* 23 ETB*/ jpayne@69: BAD_PEP_CHAR, /* 24 CAN*/ jpayne@69: BAD_PEP_CHAR, /* 25 EM */ jpayne@69: BAD_PEP_CHAR, /* 26 SUB*/ jpayne@69: BAD_PEP_CHAR, /* 27 ESC*/ jpayne@69: BAD_PEP_CHAR, /* 28 FS */ jpayne@69: BAD_PEP_CHAR, /* 29 GS */ jpayne@69: BAD_PEP_CHAR, /* 30 RS */ jpayne@69: BAD_PEP_CHAR, /* 31 US */ jpayne@69: SKIP_PEP_CHAR, /* 32 SP */ jpayne@69: BAD_PEP_CHAR, /* 33 ! */ jpayne@69: BAD_PEP_CHAR, /* 34 " */ jpayne@69: BAD_PEP_CHAR, /* 35 # */ jpayne@69: BAD_PEP_CHAR, /* 36 $ */ jpayne@69: BAD_PEP_CHAR, /* 37 % */ jpayne@69: BAD_PEP_CHAR, /* 38 & */ jpayne@69: BAD_PEP_CHAR, /* 39 ' */ jpayne@69: BAD_PEP_CHAR, /* 40 ( */ jpayne@69: BAD_PEP_CHAR, /* 41 ) */ jpayne@69: BAD_PEP_CHAR, /* 42 * */ jpayne@69: BAD_PEP_CHAR, /* 43 + */ jpayne@69: BAD_PEP_CHAR, /* 44 , */ jpayne@69: BAD_PEP_CHAR, /* 45 - */ jpayne@69: DNA_dot, /* 46 . */ jpayne@69: BAD_PEP_CHAR, /* 47 / */ jpayne@69: BAD_PEP_CHAR, /* 48 0 */ jpayne@69: BAD_PEP_CHAR, /* 49 1 */ jpayne@69: BAD_PEP_CHAR, /* 50 2 */ jpayne@69: BAD_PEP_CHAR, /* 51 3 */ jpayne@69: BAD_PEP_CHAR, /* 52 4 */ jpayne@69: BAD_PEP_CHAR, /* 53 5 */ jpayne@69: BAD_PEP_CHAR, /* 54 6 */ jpayne@69: BAD_PEP_CHAR, /* 55 7 */ jpayne@69: BAD_PEP_CHAR, /* 56 8 */ jpayne@69: BAD_PEP_CHAR, /* 57 9 */ jpayne@69: BAD_PEP_CHAR, /* 58 : */ jpayne@69: BAD_PEP_CHAR, /* 59 ; */ jpayne@69: BAD_PEP_CHAR, /* 60 < */ jpayne@69: BAD_PEP_CHAR, /* 61 = */ jpayne@69: BAD_PEP_CHAR, /* 62 > */ jpayne@69: BAD_PEP_CHAR, /* 63 ? */ jpayne@69: BAD_PEP_CHAR, /* 64 @ */ jpayne@69: DNA_A, /* 65 A */ jpayne@69: DNA_B, /* 66 B */ jpayne@69: DNA_C, /* 67 C */ jpayne@69: DNA_D, /* 68 D */ jpayne@69: BAD_PEP_CHAR, /* 69 E */ jpayne@69: BAD_PEP_CHAR, /* 70 F */ jpayne@69: DNA_G, /* 71 G */ jpayne@69: DNA_H, /* 72 H */ jpayne@69: BAD_PEP_CHAR, /* 73 I */ jpayne@69: BAD_PEP_CHAR, /* 74 J */ jpayne@69: DNA_K, /* 75 K */ jpayne@69: BAD_PEP_CHAR, /* 76 L */ jpayne@69: DNA_M, /* 77 M */ jpayne@69: DNA_XN, /* 78 N */ jpayne@69: BAD_PEP_CHAR, /* 79 O */ jpayne@69: BAD_PEP_CHAR, /* 80 P */ jpayne@69: BAD_PEP_CHAR, /* 81 Q */ jpayne@69: DNA_R, /* 82 R */ jpayne@69: DNA_S, /* 83 S */ jpayne@69: DNA_TU, /* 84 T */ jpayne@69: DNA_TU, /* 85 U */ jpayne@69: DNA_V, /* 86 V */ jpayne@69: DNA_W, /* 87 W */ jpayne@69: DNA_XN, /* 88 X */ jpayne@69: DNA_Y, /* 89 Y */ jpayne@69: BAD_PEP_CHAR, /* 90 Z */ jpayne@69: BAD_PEP_CHAR, /* 91 [ */ jpayne@69: BAD_PEP_CHAR, /* 92 \ */ jpayne@69: BAD_PEP_CHAR, /* 93 ] */ jpayne@69: BAD_PEP_CHAR, /* 94 ^ */ jpayne@69: BAD_PEP_CHAR, /* 95 _ */ jpayne@69: BAD_PEP_CHAR, /* 96 ` */ jpayne@69: DNA_A, /* 97 a */ jpayne@69: DNA_B, /* 98 b */ jpayne@69: DNA_C, /* 99 c */ jpayne@69: DNA_D, /*100 d */ jpayne@69: BAD_PEP_CHAR, /*101 e */ jpayne@69: BAD_PEP_CHAR, /*102 f */ jpayne@69: DNA_G, /*103 g */ jpayne@69: DNA_H, /*104 h */ jpayne@69: BAD_PEP_CHAR, /*105 i */ jpayne@69: BAD_PEP_CHAR, /*106 j */ jpayne@69: DNA_K, /*107 k */ jpayne@69: BAD_PEP_CHAR, /*108 l */ jpayne@69: DNA_M, /*109 m */ jpayne@69: DNA_XN, /*110 n */ jpayne@69: BAD_PEP_CHAR, /*111 o */ jpayne@69: BAD_PEP_CHAR, /*112 p */ jpayne@69: BAD_PEP_CHAR, /*113 q */ jpayne@69: DNA_R, /*114 r */ jpayne@69: DNA_S, /*115 s */ jpayne@69: DNA_TU, /*116 t */ jpayne@69: DNA_TU, /*117 u */ jpayne@69: DNA_V, /*118 v */ jpayne@69: DNA_W, /*119 w */ jpayne@69: DNA_XN, /*120 x */ jpayne@69: DNA_Y, /*121 y */ jpayne@69: BAD_PEP_CHAR, /*122 z */ jpayne@69: BAD_PEP_CHAR, /*123 { */ jpayne@69: BAD_PEP_CHAR, /*124 | */ jpayne@69: BAD_PEP_CHAR, /*125 } */ jpayne@69: BAD_PEP_CHAR, /*126 ~ */ jpayne@69: BAD_PEP_CHAR, /*127 DEL*/ jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR, jpayne@69: BAD_PEP_CHAR jpayne@69: }; jpayne@69: jpayne@69: const char universal[NUM_DNA_SYMBOLS * NUM_DNA_SYMBOLS * NUM_DNA_SYMBOLS] = { jpayne@69: 'K','N','K','N','X','K','X','X','N','X','X','X','X','X','X','X', jpayne@69: 'T','T','T','T','T','T','T','T','T','T','T','T','T','T','T','X', jpayne@69: 'R','S','R','S','X','R','X','X','S','X','X','X','X','X','X','X', jpayne@69: 'I','I','M','I','I','X','I','X','I','X','X','I','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'Q','H','Q','H','X','Q','X','X','H','X','X','X','X','X','X','X', jpayne@69: 'P','P','P','P','P','P','P','P','P','P','P','P','P','P','P','X', jpayne@69: 'R','R','R','R','R','R','R','R','R','R','R','R','R','R','R','X', jpayne@69: 'L','L','L','L','L','L','L','L','L','L','L','L','L','L','L','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'E','D','E','D','X','E','X','X','D','X','X','X','X','X','X','X', jpayne@69: 'A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','X', jpayne@69: 'G','G','G','G','G','G','G','G','G','G','G','G','G','G','G','X', jpayne@69: 'V','V','V','V','V','V','V','V','V','V','V','V','V','V','V','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: '*','Y','*','Y','X','*','X','X','Y','X','X','X','X','X','X','X', jpayne@69: 'S','S','S','S','S','S','S','S','S','S','S','S','S','S','S','X', jpayne@69: '*','C','W','C','X','X','X','X','C','X','X','X','X','X','X','X', jpayne@69: 'L','F','L','F','X','L','X','X','F','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: '*','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'R','X','R','X','X','R','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','B','X','B','X','X','X','X','B','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'Z','X','Z','X','X','Z','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'L','X','L','X','X','L','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X', jpayne@69: 'X','X','X','X','X','X','X','X','X','X','X','X','X','X','X','X' jpayne@69: }; jpayne@69: jpayne@69: #endif // #ifndef __TRANSLATE_HH