]> git.donarmstrong.com Git - mothur.git/blobdiff - uchime_src/alpha.cpp
added uchime_src folder. added biom parameter to make.shared. added biom as a current...
[mothur.git] / uchime_src / alpha.cpp
diff --git a/uchime_src/alpha.cpp b/uchime_src/alpha.cpp
new file mode 100644 (file)
index 0000000..0efca3b
--- /dev/null
@@ -0,0 +1,2761 @@
+// Generated by /p/py/alphac.py
+#include "alpha.h"
+
+unsigned g_CharToLetterAminoStop[256] =
+       {
+       INVALID_LETTER, // [  0] 0x00
+       INVALID_LETTER, // [  1] 0x01
+       INVALID_LETTER, // [  2] 0x02
+       INVALID_LETTER, // [  3] 0x03
+       INVALID_LETTER, // [  4] 0x04
+       INVALID_LETTER, // [  5] 0x05
+       INVALID_LETTER, // [  6] 0x06
+       INVALID_LETTER, // [  7] 0x07
+       INVALID_LETTER, // [  8] 0x08
+       INVALID_LETTER, // [  9] 0x09
+       INVALID_LETTER, // [ 10] 0x0a
+       INVALID_LETTER, // [ 11] 0x0b
+       INVALID_LETTER, // [ 12] 0x0c
+       INVALID_LETTER, // [ 13] 0x0d
+       INVALID_LETTER, // [ 14] 0x0e
+       INVALID_LETTER, // [ 15] 0x0f
+       INVALID_LETTER, // [ 16] 0x10
+       INVALID_LETTER, // [ 17] 0x11
+       INVALID_LETTER, // [ 18] 0x12
+       INVALID_LETTER, // [ 19] 0x13
+       INVALID_LETTER, // [ 20] 0x14
+       INVALID_LETTER, // [ 21] 0x15
+       INVALID_LETTER, // [ 22] 0x16
+       INVALID_LETTER, // [ 23] 0x17
+       INVALID_LETTER, // [ 24] 0x18
+       INVALID_LETTER, // [ 25] 0x19
+       INVALID_LETTER, // [ 26] 0x1a
+       INVALID_LETTER, // [ 27] 0x1b
+       INVALID_LETTER, // [ 28] 0x1c
+       INVALID_LETTER, // [ 29] 0x1d
+       INVALID_LETTER, // [ 30] 0x1e
+       INVALID_LETTER, // [ 31] 0x1f
+       INVALID_LETTER, // [ 32] ' '
+       INVALID_LETTER, // [ 33] '!'
+       INVALID_LETTER, // [ 34] '"'
+       INVALID_LETTER, // [ 35] '#'
+       INVALID_LETTER, // [ 36] '$'
+       INVALID_LETTER, // [ 37] '%'
+       INVALID_LETTER, // [ 38] '&'
+       INVALID_LETTER, // [ 39] '''
+       INVALID_LETTER, // [ 40] '('
+       INVALID_LETTER, // [ 41] ')'
+       20 ,            // [ 42] '*' = STP
+       INVALID_LETTER, // [ 43] '+'
+       INVALID_LETTER, // [ 44] ','
+       INVALID_LETTER, // [ 45] '-'
+       INVALID_LETTER, // [ 46] '.'
+       INVALID_LETTER, // [ 47] '/'
+       INVALID_LETTER, // [ 48] '0'
+       INVALID_LETTER, // [ 49] '1'
+       INVALID_LETTER, // [ 50] '2'
+       INVALID_LETTER, // [ 51] '3'
+       INVALID_LETTER, // [ 52] '4'
+       INVALID_LETTER, // [ 53] '5'
+       INVALID_LETTER, // [ 54] '6'
+       INVALID_LETTER, // [ 55] '7'
+       INVALID_LETTER, // [ 56] '8'
+       INVALID_LETTER, // [ 57] '9'
+       INVALID_LETTER, // [ 58] ':'
+       INVALID_LETTER, // [ 59] ';'
+       INVALID_LETTER, // [ 60] '<'
+       INVALID_LETTER, // [ 61] '='
+       INVALID_LETTER, // [ 62] '>'
+       INVALID_LETTER, // [ 63] '?'
+       INVALID_LETTER, // [ 64] '@'
+       0  ,            // [ 65] 'A' = Ala
+       INVALID_LETTER, // [ 66] 'B'
+       1  ,            // [ 67] 'C' = Cys
+       2  ,            // [ 68] 'D' = Asp
+       3  ,            // [ 69] 'E' = Glu
+       4  ,            // [ 70] 'F' = Phe
+       5  ,            // [ 71] 'G' = Gly
+       6  ,            // [ 72] 'H' = His
+       7  ,            // [ 73] 'I' = Ile
+       INVALID_LETTER, // [ 74] 'J'
+       8  ,            // [ 75] 'K' = Lys
+       9  ,            // [ 76] 'L' = Leu
+       10 ,            // [ 77] 'M' = Met
+       11 ,            // [ 78] 'N' = Asn
+       INVALID_LETTER, // [ 79] 'O'
+       12 ,            // [ 80] 'P' = Pro
+       13 ,            // [ 81] 'Q' = Gln
+       14 ,            // [ 82] 'R' = Arg
+       15 ,            // [ 83] 'S' = Ser
+       16 ,            // [ 84] 'T' = Thr
+       INVALID_LETTER, // [ 85] 'U'
+       17 ,            // [ 86] 'V' = Val
+       18 ,            // [ 87] 'W' = Trp
+       INVALID_LETTER, // [ 88] 'X'
+       19 ,            // [ 89] 'Y' = Tyr
+       INVALID_LETTER, // [ 90] 'Z'
+       INVALID_LETTER, // [ 91] '['
+       INVALID_LETTER, // [ 92] '\'
+       INVALID_LETTER, // [ 93] ']'
+       INVALID_LETTER, // [ 94] '^'
+       INVALID_LETTER, // [ 95] '_'
+       INVALID_LETTER, // [ 96] '`'
+       0  ,            // [ 97] 'a' = Ala
+       INVALID_LETTER, // [ 98] 'b'
+       1  ,            // [ 99] 'c' = Cys
+       2  ,            // [100] 'd' = Asp
+       3  ,            // [101] 'e' = Glu
+       4  ,            // [102] 'f' = Phe
+       5  ,            // [103] 'g' = Gly
+       6  ,            // [104] 'h' = His
+       7  ,            // [105] 'i' = Ile
+       INVALID_LETTER, // [106] 'j'
+       8  ,            // [107] 'k' = Lys
+       9  ,            // [108] 'l' = Leu
+       10 ,            // [109] 'm' = Met
+       11 ,            // [110] 'n' = Asn
+       INVALID_LETTER, // [111] 'o'
+       12 ,            // [112] 'p' = Pro
+       13 ,            // [113] 'q' = Gln
+       14 ,            // [114] 'r' = Arg
+       15 ,            // [115] 's' = Ser
+       16 ,            // [116] 't' = Thr
+       INVALID_LETTER, // [117] 'u'
+       17 ,            // [118] 'v' = Val
+       18 ,            // [119] 'w' = Trp
+       INVALID_LETTER, // [120] 'x'
+       19 ,            // [121] 'y' = Tyr
+       INVALID_LETTER, // [122] 'z'
+       INVALID_LETTER, // [123] '{'
+       INVALID_LETTER, // [124] '|'
+       INVALID_LETTER, // [125] '}'
+       INVALID_LETTER, // [126] '~'
+       INVALID_LETTER, // [127] 0x7f
+       INVALID_LETTER, // [128] 0x80
+       INVALID_LETTER, // [129] 0x81
+       INVALID_LETTER, // [130] 0x82
+       INVALID_LETTER, // [131] 0x83
+       INVALID_LETTER, // [132] 0x84
+       INVALID_LETTER, // [133] 0x85
+       INVALID_LETTER, // [134] 0x86
+       INVALID_LETTER, // [135] 0x87
+       INVALID_LETTER, // [136] 0x88
+       INVALID_LETTER, // [137] 0x89
+       INVALID_LETTER, // [138] 0x8a
+       INVALID_LETTER, // [139] 0x8b
+       INVALID_LETTER, // [140] 0x8c
+       INVALID_LETTER, // [141] 0x8d
+       INVALID_LETTER, // [142] 0x8e
+       INVALID_LETTER, // [143] 0x8f
+       INVALID_LETTER, // [144] 0x90
+       INVALID_LETTER, // [145] 0x91
+       INVALID_LETTER, // [146] 0x92
+       INVALID_LETTER, // [147] 0x93
+       INVALID_LETTER, // [148] 0x94
+       INVALID_LETTER, // [149] 0x95
+       INVALID_LETTER, // [150] 0x96
+       INVALID_LETTER, // [151] 0x97
+       INVALID_LETTER, // [152] 0x98
+       INVALID_LETTER, // [153] 0x99
+       INVALID_LETTER, // [154] 0x9a
+       INVALID_LETTER, // [155] 0x9b
+       INVALID_LETTER, // [156] 0x9c
+       INVALID_LETTER, // [157] 0x9d
+       INVALID_LETTER, // [158] 0x9e
+       INVALID_LETTER, // [159] 0x9f
+       INVALID_LETTER, // [160] 0xa0
+       INVALID_LETTER, // [161] 0xa1
+       INVALID_LETTER, // [162] 0xa2
+       INVALID_LETTER, // [163] 0xa3
+       INVALID_LETTER, // [164] 0xa4
+       INVALID_LETTER, // [165] 0xa5
+       INVALID_LETTER, // [166] 0xa6
+       INVALID_LETTER, // [167] 0xa7
+       INVALID_LETTER, // [168] 0xa8
+       INVALID_LETTER, // [169] 0xa9
+       INVALID_LETTER, // [170] 0xaa
+       INVALID_LETTER, // [171] 0xab
+       INVALID_LETTER, // [172] 0xac
+       INVALID_LETTER, // [173] 0xad
+       INVALID_LETTER, // [174] 0xae
+       INVALID_LETTER, // [175] 0xaf
+       INVALID_LETTER, // [176] 0xb0
+       INVALID_LETTER, // [177] 0xb1
+       INVALID_LETTER, // [178] 0xb2
+       INVALID_LETTER, // [179] 0xb3
+       INVALID_LETTER, // [180] 0xb4
+       INVALID_LETTER, // [181] 0xb5
+       INVALID_LETTER, // [182] 0xb6
+       INVALID_LETTER, // [183] 0xb7
+       INVALID_LETTER, // [184] 0xb8
+       INVALID_LETTER, // [185] 0xb9
+       INVALID_LETTER, // [186] 0xba
+       INVALID_LETTER, // [187] 0xbb
+       INVALID_LETTER, // [188] 0xbc
+       INVALID_LETTER, // [189] 0xbd
+       INVALID_LETTER, // [190] 0xbe
+       INVALID_LETTER, // [191] 0xbf
+       INVALID_LETTER, // [192] 0xc0
+       INVALID_LETTER, // [193] 0xc1
+       INVALID_LETTER, // [194] 0xc2
+       INVALID_LETTER, // [195] 0xc3
+       INVALID_LETTER, // [196] 0xc4
+       INVALID_LETTER, // [197] 0xc5
+       INVALID_LETTER, // [198] 0xc6
+       INVALID_LETTER, // [199] 0xc7
+       INVALID_LETTER, // [200] 0xc8
+       INVALID_LETTER, // [201] 0xc9
+       INVALID_LETTER, // [202] 0xca
+       INVALID_LETTER, // [203] 0xcb
+       INVALID_LETTER, // [204] 0xcc
+       INVALID_LETTER, // [205] 0xcd
+       INVALID_LETTER, // [206] 0xce
+       INVALID_LETTER, // [207] 0xcf
+       INVALID_LETTER, // [208] 0xd0
+       INVALID_LETTER, // [209] 0xd1
+       INVALID_LETTER, // [210] 0xd2
+       INVALID_LETTER, // [211] 0xd3
+       INVALID_LETTER, // [212] 0xd4
+       INVALID_LETTER, // [213] 0xd5
+       INVALID_LETTER, // [214] 0xd6
+       INVALID_LETTER, // [215] 0xd7
+       INVALID_LETTER, // [216] 0xd8
+       INVALID_LETTER, // [217] 0xd9
+       INVALID_LETTER, // [218] 0xda
+       INVALID_LETTER, // [219] 0xdb
+       INVALID_LETTER, // [220] 0xdc
+       INVALID_LETTER, // [221] 0xdd
+       INVALID_LETTER, // [222] 0xde
+       INVALID_LETTER, // [223] 0xdf
+       INVALID_LETTER, // [224] 0xe0
+       INVALID_LETTER, // [225] 0xe1
+       INVALID_LETTER, // [226] 0xe2
+       INVALID_LETTER, // [227] 0xe3
+       INVALID_LETTER, // [228] 0xe4
+       INVALID_LETTER, // [229] 0xe5
+       INVALID_LETTER, // [230] 0xe6
+       INVALID_LETTER, // [231] 0xe7
+       INVALID_LETTER, // [232] 0xe8
+       INVALID_LETTER, // [233] 0xe9
+       INVALID_LETTER, // [234] 0xea
+       INVALID_LETTER, // [235] 0xeb
+       INVALID_LETTER, // [236] 0xec
+       INVALID_LETTER, // [237] 0xed
+       INVALID_LETTER, // [238] 0xee
+       INVALID_LETTER, // [239] 0xef
+       INVALID_LETTER, // [240] 0xf0
+       INVALID_LETTER, // [241] 0xf1
+       INVALID_LETTER, // [242] 0xf2
+       INVALID_LETTER, // [243] 0xf3
+       INVALID_LETTER, // [244] 0xf4
+       INVALID_LETTER, // [245] 0xf5
+       INVALID_LETTER, // [246] 0xf6
+       INVALID_LETTER, // [247] 0xf7
+       INVALID_LETTER, // [248] 0xf8
+       INVALID_LETTER, // [249] 0xf9
+       INVALID_LETTER, // [250] 0xfa
+       INVALID_LETTER, // [251] 0xfb
+       INVALID_LETTER, // [252] 0xfc
+       INVALID_LETTER, // [253] 0xfd
+       INVALID_LETTER, // [254] 0xfe
+       INVALID_LETTER, // [255] 0xff
+       };
+unsigned g_CharToLetterAmino[256] =
+       {
+       INVALID_LETTER, // [  0] 0x00
+       INVALID_LETTER, // [  1] 0x01
+       INVALID_LETTER, // [  2] 0x02
+       INVALID_LETTER, // [  3] 0x03
+       INVALID_LETTER, // [  4] 0x04
+       INVALID_LETTER, // [  5] 0x05
+       INVALID_LETTER, // [  6] 0x06
+       INVALID_LETTER, // [  7] 0x07
+       INVALID_LETTER, // [  8] 0x08
+       INVALID_LETTER, // [  9] 0x09
+       INVALID_LETTER, // [ 10] 0x0a
+       INVALID_LETTER, // [ 11] 0x0b
+       INVALID_LETTER, // [ 12] 0x0c
+       INVALID_LETTER, // [ 13] 0x0d
+       INVALID_LETTER, // [ 14] 0x0e
+       INVALID_LETTER, // [ 15] 0x0f
+       INVALID_LETTER, // [ 16] 0x10
+       INVALID_LETTER, // [ 17] 0x11
+       INVALID_LETTER, // [ 18] 0x12
+       INVALID_LETTER, // [ 19] 0x13
+       INVALID_LETTER, // [ 20] 0x14
+       INVALID_LETTER, // [ 21] 0x15
+       INVALID_LETTER, // [ 22] 0x16
+       INVALID_LETTER, // [ 23] 0x17
+       INVALID_LETTER, // [ 24] 0x18
+       INVALID_LETTER, // [ 25] 0x19
+       INVALID_LETTER, // [ 26] 0x1a
+       INVALID_LETTER, // [ 27] 0x1b
+       INVALID_LETTER, // [ 28] 0x1c
+       INVALID_LETTER, // [ 29] 0x1d
+       INVALID_LETTER, // [ 30] 0x1e
+       INVALID_LETTER, // [ 31] 0x1f
+       INVALID_LETTER, // [ 32] ' '
+       INVALID_LETTER, // [ 33] '!'
+       INVALID_LETTER, // [ 34] '"'
+       INVALID_LETTER, // [ 35] '#'
+       INVALID_LETTER, // [ 36] '$'
+       INVALID_LETTER, // [ 37] '%'
+       INVALID_LETTER, // [ 38] '&'
+       INVALID_LETTER, // [ 39] '''
+       INVALID_LETTER, // [ 40] '('
+       INVALID_LETTER, // [ 41] ')'
+       INVALID_LETTER, // [ 42] '*'
+       INVALID_LETTER, // [ 43] '+'
+       INVALID_LETTER, // [ 44] ','
+       INVALID_LETTER, // [ 45] '-'
+       INVALID_LETTER, // [ 46] '.'
+       INVALID_LETTER, // [ 47] '/'
+       INVALID_LETTER, // [ 48] '0'
+       INVALID_LETTER, // [ 49] '1'
+       INVALID_LETTER, // [ 50] '2'
+       INVALID_LETTER, // [ 51] '3'
+       INVALID_LETTER, // [ 52] '4'
+       INVALID_LETTER, // [ 53] '5'
+       INVALID_LETTER, // [ 54] '6'
+       INVALID_LETTER, // [ 55] '7'
+       INVALID_LETTER, // [ 56] '8'
+       INVALID_LETTER, // [ 57] '9'
+       INVALID_LETTER, // [ 58] ':'
+       INVALID_LETTER, // [ 59] ';'
+       INVALID_LETTER, // [ 60] '<'
+       INVALID_LETTER, // [ 61] '='
+       INVALID_LETTER, // [ 62] '>'
+       INVALID_LETTER, // [ 63] '?'
+       INVALID_LETTER, // [ 64] '@'
+       0  ,            // [ 65] 'A' = Ala
+       INVALID_LETTER, // [ 66] 'B'
+       1  ,            // [ 67] 'C' = Cys
+       2  ,            // [ 68] 'D' = Asp
+       3  ,            // [ 69] 'E' = Glu
+       4  ,            // [ 70] 'F' = Phe
+       5  ,            // [ 71] 'G' = Gly
+       6  ,            // [ 72] 'H' = His
+       7  ,            // [ 73] 'I' = Ile
+       INVALID_LETTER, // [ 74] 'J'
+       8  ,            // [ 75] 'K' = Lys
+       9  ,            // [ 76] 'L' = Leu
+       10 ,            // [ 77] 'M' = Met
+       11 ,            // [ 78] 'N' = Asn
+       INVALID_LETTER, // [ 79] 'O'
+       12 ,            // [ 80] 'P' = Pro
+       13 ,            // [ 81] 'Q' = Gln
+       14 ,            // [ 82] 'R' = Arg
+       15 ,            // [ 83] 'S' = Ser
+       16 ,            // [ 84] 'T' = Thr
+       INVALID_LETTER, // [ 85] 'U'
+       17 ,            // [ 86] 'V' = Val
+       18 ,            // [ 87] 'W' = Trp
+       INVALID_LETTER, // [ 88] 'X'
+       19 ,            // [ 89] 'Y' = Tyr
+       INVALID_LETTER, // [ 90] 'Z'
+       INVALID_LETTER, // [ 91] '['
+       INVALID_LETTER, // [ 92] '\'
+       INVALID_LETTER, // [ 93] ']'
+       INVALID_LETTER, // [ 94] '^'
+       INVALID_LETTER, // [ 95] '_'
+       INVALID_LETTER, // [ 96] '`'
+       0  ,            // [ 97] 'a' = Ala
+       INVALID_LETTER, // [ 98] 'b'
+       1  ,            // [ 99] 'c' = Cys
+       2  ,            // [100] 'd' = Asp
+       3  ,            // [101] 'e' = Glu
+       4  ,            // [102] 'f' = Phe
+       5  ,            // [103] 'g' = Gly
+       6  ,            // [104] 'h' = His
+       7  ,            // [105] 'i' = Ile
+       INVALID_LETTER, // [106] 'j'
+       8  ,            // [107] 'k' = Lys
+       9  ,            // [108] 'l' = Leu
+       10 ,            // [109] 'm' = Met
+       11 ,            // [110] 'n' = Asn
+       INVALID_LETTER, // [111] 'o'
+       12 ,            // [112] 'p' = Pro
+       13 ,            // [113] 'q' = Gln
+       14 ,            // [114] 'r' = Arg
+       15 ,            // [115] 's' = Ser
+       16 ,            // [116] 't' = Thr
+       INVALID_LETTER, // [117] 'u'
+       17 ,            // [118] 'v' = Val
+       18 ,            // [119] 'w' = Trp
+       INVALID_LETTER, // [120] 'x'
+       19 ,            // [121] 'y' = Tyr
+       INVALID_LETTER, // [122] 'z'
+       INVALID_LETTER, // [123] '{'
+       INVALID_LETTER, // [124] '|'
+       INVALID_LETTER, // [125] '}'
+       INVALID_LETTER, // [126] '~'
+       INVALID_LETTER, // [127] 0x7f
+       INVALID_LETTER, // [128] 0x80
+       INVALID_LETTER, // [129] 0x81
+       INVALID_LETTER, // [130] 0x82
+       INVALID_LETTER, // [131] 0x83
+       INVALID_LETTER, // [132] 0x84
+       INVALID_LETTER, // [133] 0x85
+       INVALID_LETTER, // [134] 0x86
+       INVALID_LETTER, // [135] 0x87
+       INVALID_LETTER, // [136] 0x88
+       INVALID_LETTER, // [137] 0x89
+       INVALID_LETTER, // [138] 0x8a
+       INVALID_LETTER, // [139] 0x8b
+       INVALID_LETTER, // [140] 0x8c
+       INVALID_LETTER, // [141] 0x8d
+       INVALID_LETTER, // [142] 0x8e
+       INVALID_LETTER, // [143] 0x8f
+       INVALID_LETTER, // [144] 0x90
+       INVALID_LETTER, // [145] 0x91
+       INVALID_LETTER, // [146] 0x92
+       INVALID_LETTER, // [147] 0x93
+       INVALID_LETTER, // [148] 0x94
+       INVALID_LETTER, // [149] 0x95
+       INVALID_LETTER, // [150] 0x96
+       INVALID_LETTER, // [151] 0x97
+       INVALID_LETTER, // [152] 0x98
+       INVALID_LETTER, // [153] 0x99
+       INVALID_LETTER, // [154] 0x9a
+       INVALID_LETTER, // [155] 0x9b
+       INVALID_LETTER, // [156] 0x9c
+       INVALID_LETTER, // [157] 0x9d
+       INVALID_LETTER, // [158] 0x9e
+       INVALID_LETTER, // [159] 0x9f
+       INVALID_LETTER, // [160] 0xa0
+       INVALID_LETTER, // [161] 0xa1
+       INVALID_LETTER, // [162] 0xa2
+       INVALID_LETTER, // [163] 0xa3
+       INVALID_LETTER, // [164] 0xa4
+       INVALID_LETTER, // [165] 0xa5
+       INVALID_LETTER, // [166] 0xa6
+       INVALID_LETTER, // [167] 0xa7
+       INVALID_LETTER, // [168] 0xa8
+       INVALID_LETTER, // [169] 0xa9
+       INVALID_LETTER, // [170] 0xaa
+       INVALID_LETTER, // [171] 0xab
+       INVALID_LETTER, // [172] 0xac
+       INVALID_LETTER, // [173] 0xad
+       INVALID_LETTER, // [174] 0xae
+       INVALID_LETTER, // [175] 0xaf
+       INVALID_LETTER, // [176] 0xb0
+       INVALID_LETTER, // [177] 0xb1
+       INVALID_LETTER, // [178] 0xb2
+       INVALID_LETTER, // [179] 0xb3
+       INVALID_LETTER, // [180] 0xb4
+       INVALID_LETTER, // [181] 0xb5
+       INVALID_LETTER, // [182] 0xb6
+       INVALID_LETTER, // [183] 0xb7
+       INVALID_LETTER, // [184] 0xb8
+       INVALID_LETTER, // [185] 0xb9
+       INVALID_LETTER, // [186] 0xba
+       INVALID_LETTER, // [187] 0xbb
+       INVALID_LETTER, // [188] 0xbc
+       INVALID_LETTER, // [189] 0xbd
+       INVALID_LETTER, // [190] 0xbe
+       INVALID_LETTER, // [191] 0xbf
+       INVALID_LETTER, // [192] 0xc0
+       INVALID_LETTER, // [193] 0xc1
+       INVALID_LETTER, // [194] 0xc2
+       INVALID_LETTER, // [195] 0xc3
+       INVALID_LETTER, // [196] 0xc4
+       INVALID_LETTER, // [197] 0xc5
+       INVALID_LETTER, // [198] 0xc6
+       INVALID_LETTER, // [199] 0xc7
+       INVALID_LETTER, // [200] 0xc8
+       INVALID_LETTER, // [201] 0xc9
+       INVALID_LETTER, // [202] 0xca
+       INVALID_LETTER, // [203] 0xcb
+       INVALID_LETTER, // [204] 0xcc
+       INVALID_LETTER, // [205] 0xcd
+       INVALID_LETTER, // [206] 0xce
+       INVALID_LETTER, // [207] 0xcf
+       INVALID_LETTER, // [208] 0xd0
+       INVALID_LETTER, // [209] 0xd1
+       INVALID_LETTER, // [210] 0xd2
+       INVALID_LETTER, // [211] 0xd3
+       INVALID_LETTER, // [212] 0xd4
+       INVALID_LETTER, // [213] 0xd5
+       INVALID_LETTER, // [214] 0xd6
+       INVALID_LETTER, // [215] 0xd7
+       INVALID_LETTER, // [216] 0xd8
+       INVALID_LETTER, // [217] 0xd9
+       INVALID_LETTER, // [218] 0xda
+       INVALID_LETTER, // [219] 0xdb
+       INVALID_LETTER, // [220] 0xdc
+       INVALID_LETTER, // [221] 0xdd
+       INVALID_LETTER, // [222] 0xde
+       INVALID_LETTER, // [223] 0xdf
+       INVALID_LETTER, // [224] 0xe0
+       INVALID_LETTER, // [225] 0xe1
+       INVALID_LETTER, // [226] 0xe2
+       INVALID_LETTER, // [227] 0xe3
+       INVALID_LETTER, // [228] 0xe4
+       INVALID_LETTER, // [229] 0xe5
+       INVALID_LETTER, // [230] 0xe6
+       INVALID_LETTER, // [231] 0xe7
+       INVALID_LETTER, // [232] 0xe8
+       INVALID_LETTER, // [233] 0xe9
+       INVALID_LETTER, // [234] 0xea
+       INVALID_LETTER, // [235] 0xeb
+       INVALID_LETTER, // [236] 0xec
+       INVALID_LETTER, // [237] 0xed
+       INVALID_LETTER, // [238] 0xee
+       INVALID_LETTER, // [239] 0xef
+       INVALID_LETTER, // [240] 0xf0
+       INVALID_LETTER, // [241] 0xf1
+       INVALID_LETTER, // [242] 0xf2
+       INVALID_LETTER, // [243] 0xf3
+       INVALID_LETTER, // [244] 0xf4
+       INVALID_LETTER, // [245] 0xf5
+       INVALID_LETTER, // [246] 0xf6
+       INVALID_LETTER, // [247] 0xf7
+       INVALID_LETTER, // [248] 0xf8
+       INVALID_LETTER, // [249] 0xf9
+       INVALID_LETTER, // [250] 0xfa
+       INVALID_LETTER, // [251] 0xfb
+       INVALID_LETTER, // [252] 0xfc
+       INVALID_LETTER, // [253] 0xfd
+       INVALID_LETTER, // [254] 0xfe
+       INVALID_LETTER, // [255] 0xff
+       };
+
+unsigned char g_LetterToCharAmino[256] =
+       {
+       'A', // [0] 
+       'C', // [1] 
+       'D', // [2] 
+       'E', // [3] 
+       'F', // [4] 
+       'G', // [5] 
+       'H', // [6] 
+       'I', // [7] 
+       'K', // [8] 
+       'L', // [9] 
+       'M', // [10] 
+       'N', // [11] 
+       'P', // [12] 
+       'Q', // [13] 
+       'R', // [14] 
+       'S', // [15] 
+       'T', // [16] 
+       'V', // [17] 
+       'W', // [18] 
+       'Y', // [19] 
+       '*', // [20] 
+       INVALID_CHAR, // [21]
+       INVALID_CHAR, // [22]
+       INVALID_CHAR, // [23]
+       INVALID_CHAR, // [24]
+       INVALID_CHAR, // [25]
+       INVALID_CHAR, // [26]
+       INVALID_CHAR, // [27]
+       INVALID_CHAR, // [28]
+       INVALID_CHAR, // [29]
+       INVALID_CHAR, // [30]
+       INVALID_CHAR, // [31]
+       INVALID_CHAR, // [32]
+       INVALID_CHAR, // [33]
+       INVALID_CHAR, // [34]
+       INVALID_CHAR, // [35]
+       INVALID_CHAR, // [36]
+       INVALID_CHAR, // [37]
+       INVALID_CHAR, // [38]
+       INVALID_CHAR, // [39]
+       INVALID_CHAR, // [40]
+       INVALID_CHAR, // [41]
+       INVALID_CHAR, // [42]
+       INVALID_CHAR, // [43]
+       INVALID_CHAR, // [44]
+       INVALID_CHAR, // [45]
+       INVALID_CHAR, // [46]
+       INVALID_CHAR, // [47]
+       INVALID_CHAR, // [48]
+       INVALID_CHAR, // [49]
+       INVALID_CHAR, // [50]
+       INVALID_CHAR, // [51]
+       INVALID_CHAR, // [52]
+       INVALID_CHAR, // [53]
+       INVALID_CHAR, // [54]
+       INVALID_CHAR, // [55]
+       INVALID_CHAR, // [56]
+       INVALID_CHAR, // [57]
+       INVALID_CHAR, // [58]
+       INVALID_CHAR, // [59]
+       INVALID_CHAR, // [60]
+       INVALID_CHAR, // [61]
+       INVALID_CHAR, // [62]
+       INVALID_CHAR, // [63]
+       INVALID_CHAR, // [64]
+       INVALID_CHAR, // [65]
+       INVALID_CHAR, // [66]
+       INVALID_CHAR, // [67]
+       INVALID_CHAR, // [68]
+       INVALID_CHAR, // [69]
+       INVALID_CHAR, // [70]
+       INVALID_CHAR, // [71]
+       INVALID_CHAR, // [72]
+       INVALID_CHAR, // [73]
+       INVALID_CHAR, // [74]
+       INVALID_CHAR, // [75]
+       INVALID_CHAR, // [76]
+       INVALID_CHAR, // [77]
+       INVALID_CHAR, // [78]
+       INVALID_CHAR, // [79]
+       INVALID_CHAR, // [80]
+       INVALID_CHAR, // [81]
+       INVALID_CHAR, // [82]
+       INVALID_CHAR, // [83]
+       INVALID_CHAR, // [84]
+       INVALID_CHAR, // [85]
+       INVALID_CHAR, // [86]
+       INVALID_CHAR, // [87]
+       INVALID_CHAR, // [88]
+       INVALID_CHAR, // [89]
+       INVALID_CHAR, // [90]
+       INVALID_CHAR, // [91]
+       INVALID_CHAR, // [92]
+       INVALID_CHAR, // [93]
+       INVALID_CHAR, // [94]
+       INVALID_CHAR, // [95]
+       INVALID_CHAR, // [96]
+       INVALID_CHAR, // [97]
+       INVALID_CHAR, // [98]
+       INVALID_CHAR, // [99]
+       INVALID_CHAR, // [100]
+       INVALID_CHAR, // [101]
+       INVALID_CHAR, // [102]
+       INVALID_CHAR, // [103]
+       INVALID_CHAR, // [104]
+       INVALID_CHAR, // [105]
+       INVALID_CHAR, // [106]
+       INVALID_CHAR, // [107]
+       INVALID_CHAR, // [108]
+       INVALID_CHAR, // [109]
+       INVALID_CHAR, // [110]
+       INVALID_CHAR, // [111]
+       INVALID_CHAR, // [112]
+       INVALID_CHAR, // [113]
+       INVALID_CHAR, // [114]
+       INVALID_CHAR, // [115]
+       INVALID_CHAR, // [116]
+       INVALID_CHAR, // [117]
+       INVALID_CHAR, // [118]
+       INVALID_CHAR, // [119]
+       INVALID_CHAR, // [120]
+       INVALID_CHAR, // [121]
+       INVALID_CHAR, // [122]
+       INVALID_CHAR, // [123]
+       INVALID_CHAR, // [124]
+       INVALID_CHAR, // [125]
+       INVALID_CHAR, // [126]
+       INVALID_CHAR, // [127]
+       INVALID_CHAR, // [128]
+       INVALID_CHAR, // [129]
+       INVALID_CHAR, // [130]
+       INVALID_CHAR, // [131]
+       INVALID_CHAR, // [132]
+       INVALID_CHAR, // [133]
+       INVALID_CHAR, // [134]
+       INVALID_CHAR, // [135]
+       INVALID_CHAR, // [136]
+       INVALID_CHAR, // [137]
+       INVALID_CHAR, // [138]
+       INVALID_CHAR, // [139]
+       INVALID_CHAR, // [140]
+       INVALID_CHAR, // [141]
+       INVALID_CHAR, // [142]
+       INVALID_CHAR, // [143]
+       INVALID_CHAR, // [144]
+       INVALID_CHAR, // [145]
+       INVALID_CHAR, // [146]
+       INVALID_CHAR, // [147]
+       INVALID_CHAR, // [148]
+       INVALID_CHAR, // [149]
+       INVALID_CHAR, // [150]
+       INVALID_CHAR, // [151]
+       INVALID_CHAR, // [152]
+       INVALID_CHAR, // [153]
+       INVALID_CHAR, // [154]
+       INVALID_CHAR, // [155]
+       INVALID_CHAR, // [156]
+       INVALID_CHAR, // [157]
+       INVALID_CHAR, // [158]
+       INVALID_CHAR, // [159]
+       INVALID_CHAR, // [160]
+       INVALID_CHAR, // [161]
+       INVALID_CHAR, // [162]
+       INVALID_CHAR, // [163]
+       INVALID_CHAR, // [164]
+       INVALID_CHAR, // [165]
+       INVALID_CHAR, // [166]
+       INVALID_CHAR, // [167]
+       INVALID_CHAR, // [168]
+       INVALID_CHAR, // [169]
+       INVALID_CHAR, // [170]
+       INVALID_CHAR, // [171]
+       INVALID_CHAR, // [172]
+       INVALID_CHAR, // [173]
+       INVALID_CHAR, // [174]
+       INVALID_CHAR, // [175]
+       INVALID_CHAR, // [176]
+       INVALID_CHAR, // [177]
+       INVALID_CHAR, // [178]
+       INVALID_CHAR, // [179]
+       INVALID_CHAR, // [180]
+       INVALID_CHAR, // [181]
+       INVALID_CHAR, // [182]
+       INVALID_CHAR, // [183]
+       INVALID_CHAR, // [184]
+       INVALID_CHAR, // [185]
+       INVALID_CHAR, // [186]
+       INVALID_CHAR, // [187]
+       INVALID_CHAR, // [188]
+       INVALID_CHAR, // [189]
+       INVALID_CHAR, // [190]
+       INVALID_CHAR, // [191]
+       INVALID_CHAR, // [192]
+       INVALID_CHAR, // [193]
+       INVALID_CHAR, // [194]
+       INVALID_CHAR, // [195]
+       INVALID_CHAR, // [196]
+       INVALID_CHAR, // [197]
+       INVALID_CHAR, // [198]
+       INVALID_CHAR, // [199]
+       INVALID_CHAR, // [200]
+       INVALID_CHAR, // [201]
+       INVALID_CHAR, // [202]
+       INVALID_CHAR, // [203]
+       INVALID_CHAR, // [204]
+       INVALID_CHAR, // [205]
+       INVALID_CHAR, // [206]
+       INVALID_CHAR, // [207]
+       INVALID_CHAR, // [208]
+       INVALID_CHAR, // [209]
+       INVALID_CHAR, // [210]
+       INVALID_CHAR, // [211]
+       INVALID_CHAR, // [212]
+       INVALID_CHAR, // [213]
+       INVALID_CHAR, // [214]
+       INVALID_CHAR, // [215]
+       INVALID_CHAR, // [216]
+       INVALID_CHAR, // [217]
+       INVALID_CHAR, // [218]
+       INVALID_CHAR, // [219]
+       INVALID_CHAR, // [220]
+       INVALID_CHAR, // [221]
+       INVALID_CHAR, // [222]
+       INVALID_CHAR, // [223]
+       INVALID_CHAR, // [224]
+       INVALID_CHAR, // [225]
+       INVALID_CHAR, // [226]
+       INVALID_CHAR, // [227]
+       INVALID_CHAR, // [228]
+       INVALID_CHAR, // [229]
+       INVALID_CHAR, // [230]
+       INVALID_CHAR, // [231]
+       INVALID_CHAR, // [232]
+       INVALID_CHAR, // [233]
+       INVALID_CHAR, // [234]
+       INVALID_CHAR, // [235]
+       INVALID_CHAR, // [236]
+       INVALID_CHAR, // [237]
+       INVALID_CHAR, // [238]
+       INVALID_CHAR, // [239]
+       INVALID_CHAR, // [240]
+       INVALID_CHAR, // [241]
+       INVALID_CHAR, // [242]
+       INVALID_CHAR, // [243]
+       INVALID_CHAR, // [244]
+       INVALID_CHAR, // [245]
+       INVALID_CHAR, // [246]
+       INVALID_CHAR, // [247]
+       INVALID_CHAR, // [248]
+       INVALID_CHAR, // [249]
+       INVALID_CHAR, // [250]
+       INVALID_CHAR, // [251]
+       INVALID_CHAR, // [252]
+       INVALID_CHAR, // [253]
+       INVALID_CHAR, // [254]
+       INVALID_CHAR, // [255]
+       };
+
+unsigned g_CharToLetterNucleo[256] =
+       {
+       INVALID_LETTER, // [  0] = 0x00
+       INVALID_LETTER, // [  1] = 0x01
+       INVALID_LETTER, // [  2] = 0x02
+       INVALID_LETTER, // [  3] = 0x03
+       INVALID_LETTER, // [  4] = 0x04
+       INVALID_LETTER, // [  5] = 0x05
+       INVALID_LETTER, // [  6] = 0x06
+       INVALID_LETTER, // [  7] = 0x07
+       INVALID_LETTER, // [  8] = 0x08
+       INVALID_LETTER, // [  9] = 0x09
+       INVALID_LETTER, // [ 10] = 0x0a
+       INVALID_LETTER, // [ 11] = 0x0b
+       INVALID_LETTER, // [ 12] = 0x0c
+       INVALID_LETTER, // [ 13] = 0x0d
+       INVALID_LETTER, // [ 14] = 0x0e
+       INVALID_LETTER, // [ 15] = 0x0f
+       INVALID_LETTER, // [ 16] = 0x10
+       INVALID_LETTER, // [ 17] = 0x11
+       INVALID_LETTER, // [ 18] = 0x12
+       INVALID_LETTER, // [ 19] = 0x13
+       INVALID_LETTER, // [ 20] = 0x14
+       INVALID_LETTER, // [ 21] = 0x15
+       INVALID_LETTER, // [ 22] = 0x16
+       INVALID_LETTER, // [ 23] = 0x17
+       INVALID_LETTER, // [ 24] = 0x18
+       INVALID_LETTER, // [ 25] = 0x19
+       INVALID_LETTER, // [ 26] = 0x1a
+       INVALID_LETTER, // [ 27] = 0x1b
+       INVALID_LETTER, // [ 28] = 0x1c
+       INVALID_LETTER, // [ 29] = 0x1d
+       INVALID_LETTER, // [ 30] = 0x1e
+       INVALID_LETTER, // [ 31] = 0x1f
+       INVALID_LETTER, // [ 32] = 32
+       INVALID_LETTER, // [ 33] = 33
+       INVALID_LETTER, // [ 34] = 34
+       INVALID_LETTER, // [ 35] = 35
+       INVALID_LETTER, // [ 36] = 36
+       INVALID_LETTER, // [ 37] = 37
+       INVALID_LETTER, // [ 38] = 38
+       INVALID_LETTER, // [ 39] = 39
+       INVALID_LETTER, // [ 40] = 40
+       INVALID_LETTER, // [ 41] = 41
+       INVALID_LETTER, // [ 42] = 42
+       INVALID_LETTER, // [ 43] = 43
+       INVALID_LETTER, // [ 44] = 44
+       INVALID_LETTER, // [ 45] = 45
+       INVALID_LETTER, // [ 46] = 46
+       INVALID_LETTER, // [ 47] = 47
+       INVALID_LETTER, // [ 48] = 48
+       INVALID_LETTER, // [ 49] = 49
+       INVALID_LETTER, // [ 50] = 50
+       INVALID_LETTER, // [ 51] = 51
+       INVALID_LETTER, // [ 52] = 52
+       INVALID_LETTER, // [ 53] = 53
+       INVALID_LETTER, // [ 54] = 54
+       INVALID_LETTER, // [ 55] = 55
+       INVALID_LETTER, // [ 56] = 56
+       INVALID_LETTER, // [ 57] = 57
+       INVALID_LETTER, // [ 58] = 58
+       INVALID_LETTER, // [ 59] = 59
+       INVALID_LETTER, // [ 60] = 60
+       INVALID_LETTER, // [ 61] = 61
+       INVALID_LETTER, // [ 62] = 62
+       INVALID_LETTER, // [ 63] = 63
+       INVALID_LETTER, // [ 64] = 64
+       0  ,            // [ 65] = A (Nucleotide)
+       INVALID_LETTER, // [ 66] = 66
+       1  ,            // [ 67] = C (Nucleotide)
+       INVALID_LETTER, // [ 68] = 68
+       INVALID_LETTER, // [ 69] = 69
+       INVALID_LETTER, // [ 70] = 70
+       2  ,            // [ 71] = G (Nucleotide)
+       INVALID_LETTER, // [ 72] = 72
+       INVALID_LETTER, // [ 73] = 73
+       INVALID_LETTER, // [ 74] = 74
+       INVALID_LETTER, // [ 75] = 75
+       INVALID_LETTER, // [ 76] = 76
+       INVALID_LETTER, // [ 77] = 77
+       INVALID_LETTER, // [ 78] = 78
+       INVALID_LETTER, // [ 79] = 79
+       INVALID_LETTER, // [ 80] = 80
+       INVALID_LETTER, // [ 81] = 81
+       INVALID_LETTER, // [ 82] = 82
+       INVALID_LETTER, // [ 83] = 83
+       3  ,            // [ 84] = T (Nucleotide)
+       3  ,            // [ 85] = U (Nucleotide)
+       INVALID_LETTER, // [ 86] = 86
+       INVALID_LETTER, // [ 87] = 87
+       INVALID_LETTER, // [ 88] = 88
+       INVALID_LETTER, // [ 89] = 89
+       INVALID_LETTER, // [ 90] = 90
+       INVALID_LETTER, // [ 91] = 91
+       INVALID_LETTER, // [ 92] = 92
+       INVALID_LETTER, // [ 93] = 93
+       INVALID_LETTER, // [ 94] = 94
+       INVALID_LETTER, // [ 95] = 95
+       INVALID_LETTER, // [ 96] = 96
+       0  ,            // [ 97] = a (Nucleotide)
+       INVALID_LETTER, // [ 98] = 98
+       1  ,            // [ 99] = c (Nucleotide)
+       INVALID_LETTER, // [100] = 100
+       INVALID_LETTER, // [101] = 101
+       INVALID_LETTER, // [102] = 102
+       2  ,            // [103] = g (Nucleotide)
+       INVALID_LETTER, // [104] = 104
+       INVALID_LETTER, // [105] = 105
+       INVALID_LETTER, // [106] = 106
+       INVALID_LETTER, // [107] = 107
+       INVALID_LETTER, // [108] = 108
+       INVALID_LETTER, // [109] = 109
+       INVALID_LETTER, // [110] = 110
+       INVALID_LETTER, // [111] = 111
+       INVALID_LETTER, // [112] = 112
+       INVALID_LETTER, // [113] = 113
+       INVALID_LETTER, // [114] = 114
+       INVALID_LETTER, // [115] = 115
+       3  ,            // [116] = t (Nucleotide)
+       3  ,            // [117] = u (Nucleotide)
+       INVALID_LETTER, // [118] = 118
+       INVALID_LETTER, // [119] = 119
+       INVALID_LETTER, // [120] = 120
+       INVALID_LETTER, // [121] = 121
+       INVALID_LETTER, // [122] = 122
+       INVALID_LETTER, // [123] = 123
+       INVALID_LETTER, // [124] = 124
+       INVALID_LETTER, // [125] = 125
+       INVALID_LETTER, // [126] = 126
+       INVALID_LETTER, // [127] = 0x7f
+       INVALID_LETTER, // [128] = 0x80
+       INVALID_LETTER, // [129] = 0x81
+       INVALID_LETTER, // [130] = 0x82
+       INVALID_LETTER, // [131] = 0x83
+       INVALID_LETTER, // [132] = 0x84
+       INVALID_LETTER, // [133] = 0x85
+       INVALID_LETTER, // [134] = 0x86
+       INVALID_LETTER, // [135] = 0x87
+       INVALID_LETTER, // [136] = 0x88
+       INVALID_LETTER, // [137] = 0x89
+       INVALID_LETTER, // [138] = 0x8a
+       INVALID_LETTER, // [139] = 0x8b
+       INVALID_LETTER, // [140] = 0x8c
+       INVALID_LETTER, // [141] = 0x8d
+       INVALID_LETTER, // [142] = 0x8e
+       INVALID_LETTER, // [143] = 0x8f
+       INVALID_LETTER, // [144] = 0x90
+       INVALID_LETTER, // [145] = 0x91
+       INVALID_LETTER, // [146] = 0x92
+       INVALID_LETTER, // [147] = 0x93
+       INVALID_LETTER, // [148] = 0x94
+       INVALID_LETTER, // [149] = 0x95
+       INVALID_LETTER, // [150] = 0x96
+       INVALID_LETTER, // [151] = 0x97
+       INVALID_LETTER, // [152] = 0x98
+       INVALID_LETTER, // [153] = 0x99
+       INVALID_LETTER, // [154] = 0x9a
+       INVALID_LETTER, // [155] = 0x9b
+       INVALID_LETTER, // [156] = 0x9c
+       INVALID_LETTER, // [157] = 0x9d
+       INVALID_LETTER, // [158] = 0x9e
+       INVALID_LETTER, // [159] = 0x9f
+       INVALID_LETTER, // [160] = 0xa0
+       INVALID_LETTER, // [161] = 0xa1
+       INVALID_LETTER, // [162] = 0xa2
+       INVALID_LETTER, // [163] = 0xa3
+       INVALID_LETTER, // [164] = 0xa4
+       INVALID_LETTER, // [165] = 0xa5
+       INVALID_LETTER, // [166] = 0xa6
+       INVALID_LETTER, // [167] = 0xa7
+       INVALID_LETTER, // [168] = 0xa8
+       INVALID_LETTER, // [169] = 0xa9
+       INVALID_LETTER, // [170] = 0xaa
+       INVALID_LETTER, // [171] = 0xab
+       INVALID_LETTER, // [172] = 0xac
+       INVALID_LETTER, // [173] = 0xad
+       INVALID_LETTER, // [174] = 0xae
+       INVALID_LETTER, // [175] = 0xaf
+       INVALID_LETTER, // [176] = 0xb0
+       INVALID_LETTER, // [177] = 0xb1
+       INVALID_LETTER, // [178] = 0xb2
+       INVALID_LETTER, // [179] = 0xb3
+       INVALID_LETTER, // [180] = 0xb4
+       INVALID_LETTER, // [181] = 0xb5
+       INVALID_LETTER, // [182] = 0xb6
+       INVALID_LETTER, // [183] = 0xb7
+       INVALID_LETTER, // [184] = 0xb8
+       INVALID_LETTER, // [185] = 0xb9
+       INVALID_LETTER, // [186] = 0xba
+       INVALID_LETTER, // [187] = 0xbb
+       INVALID_LETTER, // [188] = 0xbc
+       INVALID_LETTER, // [189] = 0xbd
+       INVALID_LETTER, // [190] = 0xbe
+       INVALID_LETTER, // [191] = 0xbf
+       INVALID_LETTER, // [192] = 0xc0
+       INVALID_LETTER, // [193] = 0xc1
+       INVALID_LETTER, // [194] = 0xc2
+       INVALID_LETTER, // [195] = 0xc3
+       INVALID_LETTER, // [196] = 0xc4
+       INVALID_LETTER, // [197] = 0xc5
+       INVALID_LETTER, // [198] = 0xc6
+       INVALID_LETTER, // [199] = 0xc7
+       INVALID_LETTER, // [200] = 0xc8
+       INVALID_LETTER, // [201] = 0xc9
+       INVALID_LETTER, // [202] = 0xca
+       INVALID_LETTER, // [203] = 0xcb
+       INVALID_LETTER, // [204] = 0xcc
+       INVALID_LETTER, // [205] = 0xcd
+       INVALID_LETTER, // [206] = 0xce
+       INVALID_LETTER, // [207] = 0xcf
+       INVALID_LETTER, // [208] = 0xd0
+       INVALID_LETTER, // [209] = 0xd1
+       INVALID_LETTER, // [210] = 0xd2
+       INVALID_LETTER, // [211] = 0xd3
+       INVALID_LETTER, // [212] = 0xd4
+       INVALID_LETTER, // [213] = 0xd5
+       INVALID_LETTER, // [214] = 0xd6
+       INVALID_LETTER, // [215] = 0xd7
+       INVALID_LETTER, // [216] = 0xd8
+       INVALID_LETTER, // [217] = 0xd9
+       INVALID_LETTER, // [218] = 0xda
+       INVALID_LETTER, // [219] = 0xdb
+       INVALID_LETTER, // [220] = 0xdc
+       INVALID_LETTER, // [221] = 0xdd
+       INVALID_LETTER, // [222] = 0xde
+       INVALID_LETTER, // [223] = 0xdf
+       INVALID_LETTER, // [224] = 0xe0
+       INVALID_LETTER, // [225] = 0xe1
+       INVALID_LETTER, // [226] = 0xe2
+       INVALID_LETTER, // [227] = 0xe3
+       INVALID_LETTER, // [228] = 0xe4
+       INVALID_LETTER, // [229] = 0xe5
+       INVALID_LETTER, // [230] = 0xe6
+       INVALID_LETTER, // [231] = 0xe7
+       INVALID_LETTER, // [232] = 0xe8
+       INVALID_LETTER, // [233] = 0xe9
+       INVALID_LETTER, // [234] = 0xea
+       INVALID_LETTER, // [235] = 0xeb
+       INVALID_LETTER, // [236] = 0xec
+       INVALID_LETTER, // [237] = 0xed
+       INVALID_LETTER, // [238] = 0xee
+       INVALID_LETTER, // [239] = 0xef
+       INVALID_LETTER, // [240] = 0xf0
+       INVALID_LETTER, // [241] = 0xf1
+       INVALID_LETTER, // [242] = 0xf2
+       INVALID_LETTER, // [243] = 0xf3
+       INVALID_LETTER, // [244] = 0xf4
+       INVALID_LETTER, // [245] = 0xf5
+       INVALID_LETTER, // [246] = 0xf6
+       INVALID_LETTER, // [247] = 0xf7
+       INVALID_LETTER, // [248] = 0xf8
+       INVALID_LETTER, // [249] = 0xf9
+       INVALID_LETTER, // [250] = 0xfa
+       INVALID_LETTER, // [251] = 0xfb
+       INVALID_LETTER, // [252] = 0xfc
+       INVALID_LETTER, // [253] = 0xfd
+       INVALID_LETTER, // [254] = 0xfe
+       INVALID_LETTER, // [255] = 0xff
+       };
+
+unsigned char g_LetterToCharNucleo[256] =
+       {
+       'A', // [0]
+       'C', // [1]
+       'G', // [2]
+       'T', // [3]
+       INVALID_CHAR, // [4]
+       INVALID_CHAR, // [5]
+       INVALID_CHAR, // [6]
+       INVALID_CHAR, // [7]
+       INVALID_CHAR, // [8]
+       INVALID_CHAR, // [9]
+       INVALID_CHAR, // [10]
+       INVALID_CHAR, // [11]
+       INVALID_CHAR, // [12]
+       INVALID_CHAR, // [13]
+       INVALID_CHAR, // [14]
+       INVALID_CHAR, // [15]
+       INVALID_CHAR, // [16]
+       INVALID_CHAR, // [17]
+       INVALID_CHAR, // [18]
+       INVALID_CHAR, // [19]
+       INVALID_CHAR, // [20]
+       INVALID_CHAR, // [21]
+       INVALID_CHAR, // [22]
+       INVALID_CHAR, // [23]
+       INVALID_CHAR, // [24]
+       INVALID_CHAR, // [25]
+       INVALID_CHAR, // [26]
+       INVALID_CHAR, // [27]
+       INVALID_CHAR, // [28]
+       INVALID_CHAR, // [29]
+       INVALID_CHAR, // [30]
+       INVALID_CHAR, // [31]
+       INVALID_CHAR, // [32]
+       INVALID_CHAR, // [33]
+       INVALID_CHAR, // [34]
+       INVALID_CHAR, // [35]
+       INVALID_CHAR, // [36]
+       INVALID_CHAR, // [37]
+       INVALID_CHAR, // [38]
+       INVALID_CHAR, // [39]
+       INVALID_CHAR, // [40]
+       INVALID_CHAR, // [41]
+       INVALID_CHAR, // [42]
+       INVALID_CHAR, // [43]
+       INVALID_CHAR, // [44]
+       INVALID_CHAR, // [45]
+       INVALID_CHAR, // [46]
+       INVALID_CHAR, // [47]
+       INVALID_CHAR, // [48]
+       INVALID_CHAR, // [49]
+       INVALID_CHAR, // [50]
+       INVALID_CHAR, // [51]
+       INVALID_CHAR, // [52]
+       INVALID_CHAR, // [53]
+       INVALID_CHAR, // [54]
+       INVALID_CHAR, // [55]
+       INVALID_CHAR, // [56]
+       INVALID_CHAR, // [57]
+       INVALID_CHAR, // [58]
+       INVALID_CHAR, // [59]
+       INVALID_CHAR, // [60]
+       INVALID_CHAR, // [61]
+       INVALID_CHAR, // [62]
+       INVALID_CHAR, // [63]
+       INVALID_CHAR, // [64]
+       INVALID_CHAR, // [65]
+       INVALID_CHAR, // [66]
+       INVALID_CHAR, // [67]
+       INVALID_CHAR, // [68]
+       INVALID_CHAR, // [69]
+       INVALID_CHAR, // [70]
+       INVALID_CHAR, // [71]
+       INVALID_CHAR, // [72]
+       INVALID_CHAR, // [73]
+       INVALID_CHAR, // [74]
+       INVALID_CHAR, // [75]
+       INVALID_CHAR, // [76]
+       INVALID_CHAR, // [77]
+       INVALID_CHAR, // [78]
+       INVALID_CHAR, // [79]
+       INVALID_CHAR, // [80]
+       INVALID_CHAR, // [81]
+       INVALID_CHAR, // [82]
+       INVALID_CHAR, // [83]
+       INVALID_CHAR, // [84]
+       INVALID_CHAR, // [85]
+       INVALID_CHAR, // [86]
+       INVALID_CHAR, // [87]
+       INVALID_CHAR, // [88]
+       INVALID_CHAR, // [89]
+       INVALID_CHAR, // [90]
+       INVALID_CHAR, // [91]
+       INVALID_CHAR, // [92]
+       INVALID_CHAR, // [93]
+       INVALID_CHAR, // [94]
+       INVALID_CHAR, // [95]
+       INVALID_CHAR, // [96]
+       INVALID_CHAR, // [97]
+       INVALID_CHAR, // [98]
+       INVALID_CHAR, // [99]
+       INVALID_CHAR, // [100]
+       INVALID_CHAR, // [101]
+       INVALID_CHAR, // [102]
+       INVALID_CHAR, // [103]
+       INVALID_CHAR, // [104]
+       INVALID_CHAR, // [105]
+       INVALID_CHAR, // [106]
+       INVALID_CHAR, // [107]
+       INVALID_CHAR, // [108]
+       INVALID_CHAR, // [109]
+       INVALID_CHAR, // [110]
+       INVALID_CHAR, // [111]
+       INVALID_CHAR, // [112]
+       INVALID_CHAR, // [113]
+       INVALID_CHAR, // [114]
+       INVALID_CHAR, // [115]
+       INVALID_CHAR, // [116]
+       INVALID_CHAR, // [117]
+       INVALID_CHAR, // [118]
+       INVALID_CHAR, // [119]
+       INVALID_CHAR, // [120]
+       INVALID_CHAR, // [121]
+       INVALID_CHAR, // [122]
+       INVALID_CHAR, // [123]
+       INVALID_CHAR, // [124]
+       INVALID_CHAR, // [125]
+       INVALID_CHAR, // [126]
+       INVALID_CHAR, // [127]
+       INVALID_CHAR, // [128]
+       INVALID_CHAR, // [129]
+       INVALID_CHAR, // [130]
+       INVALID_CHAR, // [131]
+       INVALID_CHAR, // [132]
+       INVALID_CHAR, // [133]
+       INVALID_CHAR, // [134]
+       INVALID_CHAR, // [135]
+       INVALID_CHAR, // [136]
+       INVALID_CHAR, // [137]
+       INVALID_CHAR, // [138]
+       INVALID_CHAR, // [139]
+       INVALID_CHAR, // [140]
+       INVALID_CHAR, // [141]
+       INVALID_CHAR, // [142]
+       INVALID_CHAR, // [143]
+       INVALID_CHAR, // [144]
+       INVALID_CHAR, // [145]
+       INVALID_CHAR, // [146]
+       INVALID_CHAR, // [147]
+       INVALID_CHAR, // [148]
+       INVALID_CHAR, // [149]
+       INVALID_CHAR, // [150]
+       INVALID_CHAR, // [151]
+       INVALID_CHAR, // [152]
+       INVALID_CHAR, // [153]
+       INVALID_CHAR, // [154]
+       INVALID_CHAR, // [155]
+       INVALID_CHAR, // [156]
+       INVALID_CHAR, // [157]
+       INVALID_CHAR, // [158]
+       INVALID_CHAR, // [159]
+       INVALID_CHAR, // [160]
+       INVALID_CHAR, // [161]
+       INVALID_CHAR, // [162]
+       INVALID_CHAR, // [163]
+       INVALID_CHAR, // [164]
+       INVALID_CHAR, // [165]
+       INVALID_CHAR, // [166]
+       INVALID_CHAR, // [167]
+       INVALID_CHAR, // [168]
+       INVALID_CHAR, // [169]
+       INVALID_CHAR, // [170]
+       INVALID_CHAR, // [171]
+       INVALID_CHAR, // [172]
+       INVALID_CHAR, // [173]
+       INVALID_CHAR, // [174]
+       INVALID_CHAR, // [175]
+       INVALID_CHAR, // [176]
+       INVALID_CHAR, // [177]
+       INVALID_CHAR, // [178]
+       INVALID_CHAR, // [179]
+       INVALID_CHAR, // [180]
+       INVALID_CHAR, // [181]
+       INVALID_CHAR, // [182]
+       INVALID_CHAR, // [183]
+       INVALID_CHAR, // [184]
+       INVALID_CHAR, // [185]
+       INVALID_CHAR, // [186]
+       INVALID_CHAR, // [187]
+       INVALID_CHAR, // [188]
+       INVALID_CHAR, // [189]
+       INVALID_CHAR, // [190]
+       INVALID_CHAR, // [191]
+       INVALID_CHAR, // [192]
+       INVALID_CHAR, // [193]
+       INVALID_CHAR, // [194]
+       INVALID_CHAR, // [195]
+       INVALID_CHAR, // [196]
+       INVALID_CHAR, // [197]
+       INVALID_CHAR, // [198]
+       INVALID_CHAR, // [199]
+       INVALID_CHAR, // [200]
+       INVALID_CHAR, // [201]
+       INVALID_CHAR, // [202]
+       INVALID_CHAR, // [203]
+       INVALID_CHAR, // [204]
+       INVALID_CHAR, // [205]
+       INVALID_CHAR, // [206]
+       INVALID_CHAR, // [207]
+       INVALID_CHAR, // [208]
+       INVALID_CHAR, // [209]
+       INVALID_CHAR, // [210]
+       INVALID_CHAR, // [211]
+       INVALID_CHAR, // [212]
+       INVALID_CHAR, // [213]
+       INVALID_CHAR, // [214]
+       INVALID_CHAR, // [215]
+       INVALID_CHAR, // [216]
+       INVALID_CHAR, // [217]
+       INVALID_CHAR, // [218]
+       INVALID_CHAR, // [219]
+       INVALID_CHAR, // [220]
+       INVALID_CHAR, // [221]
+       INVALID_CHAR, // [222]
+       INVALID_CHAR, // [223]
+       INVALID_CHAR, // [224]
+       INVALID_CHAR, // [225]
+       INVALID_CHAR, // [226]
+       INVALID_CHAR, // [227]
+       INVALID_CHAR, // [228]
+       INVALID_CHAR, // [229]
+       INVALID_CHAR, // [230]
+       INVALID_CHAR, // [231]
+       INVALID_CHAR, // [232]
+       INVALID_CHAR, // [233]
+       INVALID_CHAR, // [234]
+       INVALID_CHAR, // [235]
+       INVALID_CHAR, // [236]
+       INVALID_CHAR, // [237]
+       INVALID_CHAR, // [238]
+       INVALID_CHAR, // [239]
+       INVALID_CHAR, // [240]
+       INVALID_CHAR, // [241]
+       INVALID_CHAR, // [242]
+       INVALID_CHAR, // [243]
+       INVALID_CHAR, // [244]
+       INVALID_CHAR, // [245]
+       INVALID_CHAR, // [246]
+       INVALID_CHAR, // [247]
+       INVALID_CHAR, // [248]
+       INVALID_CHAR, // [249]
+       INVALID_CHAR, // [250]
+       INVALID_CHAR, // [251]
+       INVALID_CHAR, // [252]
+       INVALID_CHAR, // [253]
+       INVALID_CHAR, // [254]
+       INVALID_CHAR, // [255]
+       };
+
+unsigned g_CodonWordToAminoLetter[4*4*4] =
+       {
+       8 , // [ 0] = AAA K (Lys)
+       11, // [ 1] = AAC N (Asn)
+       8 , // [ 2] = AAG K (Lys)
+       11, // [ 3] = AAT N (Asn)
+       16, // [ 4] = ACA T (Thr)
+       16, // [ 5] = ACC T (Thr)
+       16, // [ 6] = ACG T (Thr)
+       16, // [ 7] = ACT T (Thr)
+       14, // [ 8] = AGA R (Arg)
+       15, // [ 9] = AGC S (Ser)
+       14, // [10] = AGG R (Arg)
+       15, // [11] = AGT S (Ser)
+       7 , // [12] = ATA I (Ile)
+       7 , // [13] = ATC I (Ile)
+       10, // [14] = ATG M (Met)
+       7 , // [15] = ATT I (Ile)
+       13, // [16] = CAA Q (Gln)
+       6 , // [17] = CAC H (His)
+       13, // [18] = CAG Q (Gln)
+       6 , // [19] = CAT H (His)
+       12, // [20] = CCA P (Pro)
+       12, // [21] = CCC P (Pro)
+       12, // [22] = CCG P (Pro)
+       12, // [23] = CCT P (Pro)
+       14, // [24] = CGA R (Arg)
+       14, // [25] = CGC R (Arg)
+       14, // [26] = CGG R (Arg)
+       14, // [27] = CGT R (Arg)
+       9 , // [28] = CTA L (Leu)
+       9 , // [29] = CTC L (Leu)
+       9 , // [30] = CTG L (Leu)
+       9 , // [31] = CTT L (Leu)
+       3 , // [32] = GAA E (Glu)
+       2 , // [33] = GAC D (Asp)
+       3 , // [34] = GAG E (Glu)
+       2 , // [35] = GAT D (Asp)
+       0 , // [36] = GCA A (Ala)
+       0 , // [37] = GCC A (Ala)
+       0 , // [38] = GCG A (Ala)
+       0 , // [39] = GCT A (Ala)
+       5 , // [40] = GGA G (Gly)
+       5 , // [41] = GGC G (Gly)
+       5 , // [42] = GGG G (Gly)
+       5 , // [43] = GGT G (Gly)
+       17, // [44] = GTA V (Val)
+       17, // [45] = GTC V (Val)
+       17, // [46] = GTG V (Val)
+       17, // [47] = GTT V (Val)
+       20, // [48] = TAA * (STP)
+       19, // [49] = TAC Y (Tyr)
+       20, // [50] = TAG * (STP)
+       19, // [51] = TAT Y (Tyr)
+       15, // [52] = TCA S (Ser)
+       15, // [53] = TCC S (Ser)
+       15, // [54] = TCG S (Ser)
+       15, // [55] = TCT S (Ser)
+       20, // [56] = TGA * (STP)
+       1 , // [57] = TGC C (Cys)
+       18, // [58] = TGG W (Trp)
+       1 , // [59] = TGT C (Cys)
+       9 , // [60] = TTA L (Leu)
+       4 , // [61] = TTC F (Phe)
+       9 , // [62] = TTG L (Leu)
+       4 , // [63] = TTT F (Phe)
+       };
+
+char g_CodonWordToAminoChar[4*4*4] =
+       {
+       'K', // [ 0] = AAA (Lys)
+       'N', // [ 1] = AAC (Asn)
+       'K', // [ 2] = AAG (Lys)
+       'N', // [ 3] = AAT (Asn)
+       'T', // [ 4] = ACA (Thr)
+       'T', // [ 5] = ACC (Thr)
+       'T', // [ 6] = ACG (Thr)
+       'T', // [ 7] = ACT (Thr)
+       'R', // [ 8] = AGA (Arg)
+       'S', // [ 9] = AGC (Ser)
+       'R', // [10] = AGG (Arg)
+       'S', // [11] = AGT (Ser)
+       'I', // [12] = ATA (Ile)
+       'I', // [13] = ATC (Ile)
+       'M', // [14] = ATG (Met)
+       'I', // [15] = ATT (Ile)
+       'Q', // [16] = CAA (Gln)
+       'H', // [17] = CAC (His)
+       'Q', // [18] = CAG (Gln)
+       'H', // [19] = CAT (His)
+       'P', // [20] = CCA (Pro)
+       'P', // [21] = CCC (Pro)
+       'P', // [22] = CCG (Pro)
+       'P', // [23] = CCT (Pro)
+       'R', // [24] = CGA (Arg)
+       'R', // [25] = CGC (Arg)
+       'R', // [26] = CGG (Arg)
+       'R', // [27] = CGT (Arg)
+       'L', // [28] = CTA (Leu)
+       'L', // [29] = CTC (Leu)
+       'L', // [30] = CTG (Leu)
+       'L', // [31] = CTT (Leu)
+       'E', // [32] = GAA (Glu)
+       'D', // [33] = GAC (Asp)
+       'E', // [34] = GAG (Glu)
+       'D', // [35] = GAT (Asp)
+       'A', // [36] = GCA (Ala)
+       'A', // [37] = GCC (Ala)
+       'A', // [38] = GCG (Ala)
+       'A', // [39] = GCT (Ala)
+       'G', // [40] = GGA (Gly)
+       'G', // [41] = GGC (Gly)
+       'G', // [42] = GGG (Gly)
+       'G', // [43] = GGT (Gly)
+       'V', // [44] = GTA (Val)
+       'V', // [45] = GTC (Val)
+       'V', // [46] = GTG (Val)
+       'V', // [47] = GTT (Val)
+       '*', // [48] = TAA (STP)
+       'Y', // [49] = TAC (Tyr)
+       '*', // [50] = TAG (STP)
+       'Y', // [51] = TAT (Tyr)
+       'S', // [52] = TCA (Ser)
+       'S', // [53] = TCC (Ser)
+       'S', // [54] = TCG (Ser)
+       'S', // [55] = TCT (Ser)
+       '*', // [56] = TGA (STP)
+       'C', // [57] = TGC (Cys)
+       'W', // [58] = TGG (Trp)
+       'C', // [59] = TGT (Cys)
+       'L', // [60] = TTA (Leu)
+       'F', // [61] = TTC (Phe)
+       'L', // [62] = TTG (Leu)
+       'F', // [63] = TTT (Phe)
+       };
+
+unsigned char g_CharToCompChar[256] =
+       {
+       INVALID_CHAR, // [  0]
+       INVALID_CHAR, // [  1]
+       INVALID_CHAR, // [  2]
+       INVALID_CHAR, // [  3]
+       INVALID_CHAR, // [  4]
+       INVALID_CHAR, // [  5]
+       INVALID_CHAR, // [  6]
+       INVALID_CHAR, // [  7]
+       INVALID_CHAR, // [  8]
+       INVALID_CHAR, // [  9]
+       INVALID_CHAR, // [ 10]
+       INVALID_CHAR, // [ 11]
+       INVALID_CHAR, // [ 12]
+       INVALID_CHAR, // [ 13]
+       INVALID_CHAR, // [ 14]
+       INVALID_CHAR, // [ 15]
+       INVALID_CHAR, // [ 16]
+       INVALID_CHAR, // [ 17]
+       INVALID_CHAR, // [ 18]
+       INVALID_CHAR, // [ 19]
+       INVALID_CHAR, // [ 20]
+       INVALID_CHAR, // [ 21]
+       INVALID_CHAR, // [ 22]
+       INVALID_CHAR, // [ 23]
+       INVALID_CHAR, // [ 24]
+       INVALID_CHAR, // [ 25]
+       INVALID_CHAR, // [ 26]
+       INVALID_CHAR, // [ 27]
+       INVALID_CHAR, // [ 28]
+       INVALID_CHAR, // [ 29]
+       INVALID_CHAR, // [ 30]
+       INVALID_CHAR, // [ 31]
+       INVALID_CHAR, // [ 32]
+       INVALID_CHAR, // [ 33]
+       INVALID_CHAR, // [ 34]
+       INVALID_CHAR, // [ 35]
+       INVALID_CHAR, // [ 36]
+       INVALID_CHAR, // [ 37]
+       INVALID_CHAR, // [ 38]
+       INVALID_CHAR, // [ 39]
+       INVALID_CHAR, // [ 40]
+       INVALID_CHAR, // [ 41]
+       INVALID_CHAR, // [ 42]
+       INVALID_CHAR, // [ 43]
+       INVALID_CHAR, // [ 44]
+       INVALID_CHAR, // [ 45]
+       INVALID_CHAR, // [ 46]
+       INVALID_CHAR, // [ 47]
+       INVALID_CHAR, // [ 48]
+       INVALID_CHAR, // [ 49]
+       INVALID_CHAR, // [ 50]
+       INVALID_CHAR, // [ 51]
+       INVALID_CHAR, // [ 52]
+       INVALID_CHAR, // [ 53]
+       INVALID_CHAR, // [ 54]
+       INVALID_CHAR, // [ 55]
+       INVALID_CHAR, // [ 56]
+       INVALID_CHAR, // [ 57]
+       INVALID_CHAR, // [ 58]
+       INVALID_CHAR, // [ 59]
+       INVALID_CHAR, // [ 60]
+       INVALID_CHAR, // [ 61]
+       INVALID_CHAR, // [ 62]
+       INVALID_CHAR, // [ 63]
+       INVALID_CHAR, // [ 64]
+       'T',          // [ 65] A -> T
+       INVALID_CHAR, // [ 66]
+       'G',          // [ 67] C -> G
+       INVALID_CHAR, // [ 68]
+       INVALID_CHAR, // [ 69]
+       INVALID_CHAR, // [ 70]
+       'C',          // [ 71] G -> C
+       INVALID_CHAR, // [ 72]
+       INVALID_CHAR, // [ 73]
+       INVALID_CHAR, // [ 74]
+       INVALID_CHAR, // [ 75]
+       INVALID_CHAR, // [ 76]
+       INVALID_CHAR, // [ 77]
+       INVALID_CHAR, // [ 78]
+       INVALID_CHAR, // [ 79]
+       INVALID_CHAR, // [ 80]
+       INVALID_CHAR, // [ 81]
+       INVALID_CHAR, // [ 82]
+       INVALID_CHAR, // [ 83]
+       'A',          // [ 84] T -> A
+       'A',          // [ 85] U -> A
+       INVALID_CHAR, // [ 86]
+       INVALID_CHAR, // [ 87]
+       INVALID_CHAR, // [ 88]
+       INVALID_CHAR, // [ 89]
+       INVALID_CHAR, // [ 90]
+       INVALID_CHAR, // [ 91]
+       INVALID_CHAR, // [ 92]
+       INVALID_CHAR, // [ 93]
+       INVALID_CHAR, // [ 94]
+       INVALID_CHAR, // [ 95]
+       INVALID_CHAR, // [ 96]
+       'T',          // [ 97] a -> T
+       INVALID_CHAR, // [ 98]
+       'G',          // [ 99] c -> G
+       INVALID_CHAR, // [100]
+       INVALID_CHAR, // [101]
+       INVALID_CHAR, // [102]
+       'C',          // [103] g -> C
+       INVALID_CHAR, // [104]
+       INVALID_CHAR, // [105]
+       INVALID_CHAR, // [106]
+       INVALID_CHAR, // [107]
+       INVALID_CHAR, // [108]
+       INVALID_CHAR, // [109]
+       INVALID_CHAR, // [110]
+       INVALID_CHAR, // [111]
+       INVALID_CHAR, // [112]
+       INVALID_CHAR, // [113]
+       INVALID_CHAR, // [114]
+       INVALID_CHAR, // [115]
+       'A',          // [116] t -> A
+       'A',          // [117] u -> A
+       INVALID_CHAR, // [118]
+       INVALID_CHAR, // [119]
+       INVALID_CHAR, // [120]
+       INVALID_CHAR, // [121]
+       INVALID_CHAR, // [122]
+       INVALID_CHAR, // [123]
+       INVALID_CHAR, // [124]
+       INVALID_CHAR, // [125]
+       INVALID_CHAR, // [126]
+       INVALID_CHAR, // [127]
+       INVALID_CHAR, // [128]
+       INVALID_CHAR, // [129]
+       INVALID_CHAR, // [130]
+       INVALID_CHAR, // [131]
+       INVALID_CHAR, // [132]
+       INVALID_CHAR, // [133]
+       INVALID_CHAR, // [134]
+       INVALID_CHAR, // [135]
+       INVALID_CHAR, // [136]
+       INVALID_CHAR, // [137]
+       INVALID_CHAR, // [138]
+       INVALID_CHAR, // [139]
+       INVALID_CHAR, // [140]
+       INVALID_CHAR, // [141]
+       INVALID_CHAR, // [142]
+       INVALID_CHAR, // [143]
+       INVALID_CHAR, // [144]
+       INVALID_CHAR, // [145]
+       INVALID_CHAR, // [146]
+       INVALID_CHAR, // [147]
+       INVALID_CHAR, // [148]
+       INVALID_CHAR, // [149]
+       INVALID_CHAR, // [150]
+       INVALID_CHAR, // [151]
+       INVALID_CHAR, // [152]
+       INVALID_CHAR, // [153]
+       INVALID_CHAR, // [154]
+       INVALID_CHAR, // [155]
+       INVALID_CHAR, // [156]
+       INVALID_CHAR, // [157]
+       INVALID_CHAR, // [158]
+       INVALID_CHAR, // [159]
+       INVALID_CHAR, // [160]
+       INVALID_CHAR, // [161]
+       INVALID_CHAR, // [162]
+       INVALID_CHAR, // [163]
+       INVALID_CHAR, // [164]
+       INVALID_CHAR, // [165]
+       INVALID_CHAR, // [166]
+       INVALID_CHAR, // [167]
+       INVALID_CHAR, // [168]
+       INVALID_CHAR, // [169]
+       INVALID_CHAR, // [170]
+       INVALID_CHAR, // [171]
+       INVALID_CHAR, // [172]
+       INVALID_CHAR, // [173]
+       INVALID_CHAR, // [174]
+       INVALID_CHAR, // [175]
+       INVALID_CHAR, // [176]
+       INVALID_CHAR, // [177]
+       INVALID_CHAR, // [178]
+       INVALID_CHAR, // [179]
+       INVALID_CHAR, // [180]
+       INVALID_CHAR, // [181]
+       INVALID_CHAR, // [182]
+       INVALID_CHAR, // [183]
+       INVALID_CHAR, // [184]
+       INVALID_CHAR, // [185]
+       INVALID_CHAR, // [186]
+       INVALID_CHAR, // [187]
+       INVALID_CHAR, // [188]
+       INVALID_CHAR, // [189]
+       INVALID_CHAR, // [190]
+       INVALID_CHAR, // [191]
+       INVALID_CHAR, // [192]
+       INVALID_CHAR, // [193]
+       INVALID_CHAR, // [194]
+       INVALID_CHAR, // [195]
+       INVALID_CHAR, // [196]
+       INVALID_CHAR, // [197]
+       INVALID_CHAR, // [198]
+       INVALID_CHAR, // [199]
+       INVALID_CHAR, // [200]
+       INVALID_CHAR, // [201]
+       INVALID_CHAR, // [202]
+       INVALID_CHAR, // [203]
+       INVALID_CHAR, // [204]
+       INVALID_CHAR, // [205]
+       INVALID_CHAR, // [206]
+       INVALID_CHAR, // [207]
+       INVALID_CHAR, // [208]
+       INVALID_CHAR, // [209]
+       INVALID_CHAR, // [210]
+       INVALID_CHAR, // [211]
+       INVALID_CHAR, // [212]
+       INVALID_CHAR, // [213]
+       INVALID_CHAR, // [214]
+       INVALID_CHAR, // [215]
+       INVALID_CHAR, // [216]
+       INVALID_CHAR, // [217]
+       INVALID_CHAR, // [218]
+       INVALID_CHAR, // [219]
+       INVALID_CHAR, // [220]
+       INVALID_CHAR, // [221]
+       INVALID_CHAR, // [222]
+       INVALID_CHAR, // [223]
+       INVALID_CHAR, // [224]
+       INVALID_CHAR, // [225]
+       INVALID_CHAR, // [226]
+       INVALID_CHAR, // [227]
+       INVALID_CHAR, // [228]
+       INVALID_CHAR, // [229]
+       INVALID_CHAR, // [230]
+       INVALID_CHAR, // [231]
+       INVALID_CHAR, // [232]
+       INVALID_CHAR, // [233]
+       INVALID_CHAR, // [234]
+       INVALID_CHAR, // [235]
+       INVALID_CHAR, // [236]
+       INVALID_CHAR, // [237]
+       INVALID_CHAR, // [238]
+       INVALID_CHAR, // [239]
+       INVALID_CHAR, // [240]
+       INVALID_CHAR, // [241]
+       INVALID_CHAR, // [242]
+       INVALID_CHAR, // [243]
+       INVALID_CHAR, // [244]
+       INVALID_CHAR, // [245]
+       INVALID_CHAR, // [246]
+       INVALID_CHAR, // [247]
+       INVALID_CHAR, // [248]
+       INVALID_CHAR, // [249]
+       INVALID_CHAR, // [250]
+       INVALID_CHAR, // [251]
+       INVALID_CHAR, // [252]
+       INVALID_CHAR, // [253]
+       INVALID_CHAR, // [254]
+       INVALID_CHAR, // [255]
+};
+
+unsigned g_CharToCompLetter[256] =
+       {
+       INVALID_LETTER, // [  0]
+       INVALID_LETTER, // [  1]
+       INVALID_LETTER, // [  2]
+       INVALID_LETTER, // [  3]
+       INVALID_LETTER, // [  4]
+       INVALID_LETTER, // [  5]
+       INVALID_LETTER, // [  6]
+       INVALID_LETTER, // [  7]
+       INVALID_LETTER, // [  8]
+       INVALID_LETTER, // [  9]
+       INVALID_LETTER, // [ 10]
+       INVALID_LETTER, // [ 11]
+       INVALID_LETTER, // [ 12]
+       INVALID_LETTER, // [ 13]
+       INVALID_LETTER, // [ 14]
+       INVALID_LETTER, // [ 15]
+       INVALID_LETTER, // [ 16]
+       INVALID_LETTER, // [ 17]
+       INVALID_LETTER, // [ 18]
+       INVALID_LETTER, // [ 19]
+       INVALID_LETTER, // [ 20]
+       INVALID_LETTER, // [ 21]
+       INVALID_LETTER, // [ 22]
+       INVALID_LETTER, // [ 23]
+       INVALID_LETTER, // [ 24]
+       INVALID_LETTER, // [ 25]
+       INVALID_LETTER, // [ 26]
+       INVALID_LETTER, // [ 27]
+       INVALID_LETTER, // [ 28]
+       INVALID_LETTER, // [ 29]
+       INVALID_LETTER, // [ 30]
+       INVALID_LETTER, // [ 31]
+       INVALID_LETTER, // [ 32]
+       INVALID_LETTER, // [ 33]
+       INVALID_LETTER, // [ 34]
+       INVALID_LETTER, // [ 35]
+       INVALID_LETTER, // [ 36]
+       INVALID_LETTER, // [ 37]
+       INVALID_LETTER, // [ 38]
+       INVALID_LETTER, // [ 39]
+       INVALID_LETTER, // [ 40]
+       INVALID_LETTER, // [ 41]
+       INVALID_LETTER, // [ 42]
+       INVALID_LETTER, // [ 43]
+       INVALID_LETTER, // [ 44]
+       INVALID_LETTER, // [ 45]
+       INVALID_LETTER, // [ 46]
+       INVALID_LETTER, // [ 47]
+       INVALID_LETTER, // [ 48]
+       INVALID_LETTER, // [ 49]
+       INVALID_LETTER, // [ 50]
+       INVALID_LETTER, // [ 51]
+       INVALID_LETTER, // [ 52]
+       INVALID_LETTER, // [ 53]
+       INVALID_LETTER, // [ 54]
+       INVALID_LETTER, // [ 55]
+       INVALID_LETTER, // [ 56]
+       INVALID_LETTER, // [ 57]
+       INVALID_LETTER, // [ 58]
+       INVALID_LETTER, // [ 59]
+       INVALID_LETTER, // [ 60]
+       INVALID_LETTER, // [ 61]
+       INVALID_LETTER, // [ 62]
+       INVALID_LETTER, // [ 63]
+       INVALID_LETTER, // [ 64]
+       3,              // [ 65] A -> T
+       INVALID_LETTER, // [ 66]
+       2,              // [ 67] C -> G
+       INVALID_LETTER, // [ 68]
+       INVALID_LETTER, // [ 69]
+       INVALID_LETTER, // [ 70]
+       1,              // [ 71] G -> C
+       INVALID_LETTER, // [ 72]
+       INVALID_LETTER, // [ 73]
+       INVALID_LETTER, // [ 74]
+       INVALID_LETTER, // [ 75]
+       INVALID_LETTER, // [ 76]
+       INVALID_LETTER, // [ 77]
+       INVALID_LETTER, // [ 78]
+       INVALID_LETTER, // [ 79]
+       INVALID_LETTER, // [ 80]
+       INVALID_LETTER, // [ 81]
+       INVALID_LETTER, // [ 82]
+       INVALID_LETTER, // [ 83]
+       0,              // [ 84] T -> A
+       0,              // [ 85] U -> A
+       INVALID_LETTER, // [ 86]
+       INVALID_LETTER, // [ 87]
+       INVALID_LETTER, // [ 88]
+       INVALID_LETTER, // [ 89]
+       INVALID_LETTER, // [ 90]
+       INVALID_LETTER, // [ 91]
+       INVALID_LETTER, // [ 92]
+       INVALID_LETTER, // [ 93]
+       INVALID_LETTER, // [ 94]
+       INVALID_LETTER, // [ 95]
+       INVALID_LETTER, // [ 96]
+       3,              // [ 97] a -> T
+       INVALID_LETTER, // [ 98]
+       2,              // [ 99] c -> G
+       INVALID_LETTER, // [100]
+       INVALID_LETTER, // [101]
+       INVALID_LETTER, // [102]
+       1,              // [103] g -> C
+       INVALID_LETTER, // [104]
+       INVALID_LETTER, // [105]
+       INVALID_LETTER, // [106]
+       INVALID_LETTER, // [107]
+       INVALID_LETTER, // [108]
+       INVALID_LETTER, // [109]
+       INVALID_LETTER, // [110]
+       INVALID_LETTER, // [111]
+       INVALID_LETTER, // [112]
+       INVALID_LETTER, // [113]
+       INVALID_LETTER, // [114]
+       INVALID_LETTER, // [115]
+       0,              // [116] t -> A
+       0,              // [117] u -> A
+       INVALID_LETTER, // [118]
+       INVALID_LETTER, // [119]
+       INVALID_LETTER, // [120]
+       INVALID_LETTER, // [121]
+       INVALID_LETTER, // [122]
+       INVALID_LETTER, // [123]
+       INVALID_LETTER, // [124]
+       INVALID_LETTER, // [125]
+       INVALID_LETTER, // [126]
+       INVALID_LETTER, // [127]
+       INVALID_LETTER, // [128]
+       INVALID_LETTER, // [129]
+       INVALID_LETTER, // [130]
+       INVALID_LETTER, // [131]
+       INVALID_LETTER, // [132]
+       INVALID_LETTER, // [133]
+       INVALID_LETTER, // [134]
+       INVALID_LETTER, // [135]
+       INVALID_LETTER, // [136]
+       INVALID_LETTER, // [137]
+       INVALID_LETTER, // [138]
+       INVALID_LETTER, // [139]
+       INVALID_LETTER, // [140]
+       INVALID_LETTER, // [141]
+       INVALID_LETTER, // [142]
+       INVALID_LETTER, // [143]
+       INVALID_LETTER, // [144]
+       INVALID_LETTER, // [145]
+       INVALID_LETTER, // [146]
+       INVALID_LETTER, // [147]
+       INVALID_LETTER, // [148]
+       INVALID_LETTER, // [149]
+       INVALID_LETTER, // [150]
+       INVALID_LETTER, // [151]
+       INVALID_LETTER, // [152]
+       INVALID_LETTER, // [153]
+       INVALID_LETTER, // [154]
+       INVALID_LETTER, // [155]
+       INVALID_LETTER, // [156]
+       INVALID_LETTER, // [157]
+       INVALID_LETTER, // [158]
+       INVALID_LETTER, // [159]
+       INVALID_LETTER, // [160]
+       INVALID_LETTER, // [161]
+       INVALID_LETTER, // [162]
+       INVALID_LETTER, // [163]
+       INVALID_LETTER, // [164]
+       INVALID_LETTER, // [165]
+       INVALID_LETTER, // [166]
+       INVALID_LETTER, // [167]
+       INVALID_LETTER, // [168]
+       INVALID_LETTER, // [169]
+       INVALID_LETTER, // [170]
+       INVALID_LETTER, // [171]
+       INVALID_LETTER, // [172]
+       INVALID_LETTER, // [173]
+       INVALID_LETTER, // [174]
+       INVALID_LETTER, // [175]
+       INVALID_LETTER, // [176]
+       INVALID_LETTER, // [177]
+       INVALID_LETTER, // [178]
+       INVALID_LETTER, // [179]
+       INVALID_LETTER, // [180]
+       INVALID_LETTER, // [181]
+       INVALID_LETTER, // [182]
+       INVALID_LETTER, // [183]
+       INVALID_LETTER, // [184]
+       INVALID_LETTER, // [185]
+       INVALID_LETTER, // [186]
+       INVALID_LETTER, // [187]
+       INVALID_LETTER, // [188]
+       INVALID_LETTER, // [189]
+       INVALID_LETTER, // [190]
+       INVALID_LETTER, // [191]
+       INVALID_LETTER, // [192]
+       INVALID_LETTER, // [193]
+       INVALID_LETTER, // [194]
+       INVALID_LETTER, // [195]
+       INVALID_LETTER, // [196]
+       INVALID_LETTER, // [197]
+       INVALID_LETTER, // [198]
+       INVALID_LETTER, // [199]
+       INVALID_LETTER, // [200]
+       INVALID_LETTER, // [201]
+       INVALID_LETTER, // [202]
+       INVALID_LETTER, // [203]
+       INVALID_LETTER, // [204]
+       INVALID_LETTER, // [205]
+       INVALID_LETTER, // [206]
+       INVALID_LETTER, // [207]
+       INVALID_LETTER, // [208]
+       INVALID_LETTER, // [209]
+       INVALID_LETTER, // [210]
+       INVALID_LETTER, // [211]
+       INVALID_LETTER, // [212]
+       INVALID_LETTER, // [213]
+       INVALID_LETTER, // [214]
+       INVALID_LETTER, // [215]
+       INVALID_LETTER, // [216]
+       INVALID_LETTER, // [217]
+       INVALID_LETTER, // [218]
+       INVALID_LETTER, // [219]
+       INVALID_LETTER, // [220]
+       INVALID_LETTER, // [221]
+       INVALID_LETTER, // [222]
+       INVALID_LETTER, // [223]
+       INVALID_LETTER, // [224]
+       INVALID_LETTER, // [225]
+       INVALID_LETTER, // [226]
+       INVALID_LETTER, // [227]
+       INVALID_LETTER, // [228]
+       INVALID_LETTER, // [229]
+       INVALID_LETTER, // [230]
+       INVALID_LETTER, // [231]
+       INVALID_LETTER, // [232]
+       INVALID_LETTER, // [233]
+       INVALID_LETTER, // [234]
+       INVALID_LETTER, // [235]
+       INVALID_LETTER, // [236]
+       INVALID_LETTER, // [237]
+       INVALID_LETTER, // [238]
+       INVALID_LETTER, // [239]
+       INVALID_LETTER, // [240]
+       INVALID_LETTER, // [241]
+       INVALID_LETTER, // [242]
+       INVALID_LETTER, // [243]
+       INVALID_LETTER, // [244]
+       INVALID_LETTER, // [245]
+       INVALID_LETTER, // [246]
+       INVALID_LETTER, // [247]
+       INVALID_LETTER, // [248]
+       INVALID_LETTER, // [249]
+       INVALID_LETTER, // [250]
+       INVALID_LETTER, // [251]
+       INVALID_LETTER, // [252]
+       INVALID_LETTER, // [253]
+       INVALID_LETTER, // [254]
+       INVALID_LETTER, // [255]
+};
+
+bool g_IsAminoChar[256] =
+       {
+       false, // [  0] 0x00
+       false, // [  1] 0x01
+       false, // [  2] 0x02
+       false, // [  3] 0x03
+       false, // [  4] 0x04
+       false, // [  5] 0x05
+       false, // [  6] 0x06
+       false, // [  7] 0x07
+       false, // [  8] 0x08
+       false, // [  9] 0x09
+       false, // [ 10] 0x0a
+       false, // [ 11] 0x0b
+       false, // [ 12] 0x0c
+       false, // [ 13] 0x0d
+       false, // [ 14] 0x0e
+       false, // [ 15] 0x0f
+       false, // [ 16] 0x10
+       false, // [ 17] 0x11
+       false, // [ 18] 0x12
+       false, // [ 19] 0x13
+       false, // [ 20] 0x14
+       false, // [ 21] 0x15
+       false, // [ 22] 0x16
+       false, // [ 23] 0x17
+       false, // [ 24] 0x18
+       false, // [ 25] 0x19
+       false, // [ 26] 0x1a
+       false, // [ 27] 0x1b
+       false, // [ 28] 0x1c
+       false, // [ 29] 0x1d
+       false, // [ 30] 0x1e
+       false, // [ 31] 0x1f
+       false, // [ 32] ' '
+       false, // [ 33] '!'
+       false, // [ 34] '"'
+       false, // [ 35] '#'
+       false, // [ 36] '$'
+       false, // [ 37] '%'
+       false, // [ 38] '&'
+       false, // [ 39] '''
+       false, // [ 40] '('
+       false, // [ 41] ')'
+       true,  // [ 42] '*' = STP
+       false, // [ 43] '+'
+       false, // [ 44] ','
+       false, // [ 45] '-'
+       false, // [ 46] '.'
+       false, // [ 47] '/'
+       false, // [ 48] '0'
+       false, // [ 49] '1'
+       false, // [ 50] '2'
+       false, // [ 51] '3'
+       false, // [ 52] '4'
+       false, // [ 53] '5'
+       false, // [ 54] '6'
+       false, // [ 55] '7'
+       false, // [ 56] '8'
+       false, // [ 57] '9'
+       false, // [ 58] ':'
+       false, // [ 59] ';'
+       false, // [ 60] '<'
+       false, // [ 61] '='
+       false, // [ 62] '>'
+       false, // [ 63] '?'
+       false, // [ 64] '@'
+       true,  // [ 65] 'A' = Ala
+       false, // [ 66] 'B'
+       true,  // [ 67] 'C' = Cys
+       true,  // [ 68] 'D' = Asp
+       true,  // [ 69] 'E' = Glu
+       true,  // [ 70] 'F' = Phe
+       true,  // [ 71] 'G' = Gly
+       true,  // [ 72] 'H' = His
+       true,  // [ 73] 'I' = Ile
+       false, // [ 74] 'J'
+       true,  // [ 75] 'K' = Lys
+       true,  // [ 76] 'L' = Leu
+       true,  // [ 77] 'M' = Met
+       true,  // [ 78] 'N' = Asn
+       false, // [ 79] 'O'
+       true,  // [ 80] 'P' = Pro
+       true,  // [ 81] 'Q' = Gln
+       true,  // [ 82] 'R' = Arg
+       true,  // [ 83] 'S' = Ser
+       true,  // [ 84] 'T' = Thr
+       false, // [ 85] 'U'
+       true,  // [ 86] 'V' = Val
+       true,  // [ 87] 'W' = Trp
+       false, // [ 88] 'X'
+       true,  // [ 89] 'Y' = Tyr
+       false, // [ 90] 'Z'
+       false, // [ 91] '['
+       false, // [ 92] '\'
+       false, // [ 93] ']'
+       false, // [ 94] '^'
+       false, // [ 95] '_'
+       false, // [ 96] '`'
+       true,  // [ 97] 'A' = Ala
+       false, // [ 98] 'B'
+       true,  // [ 99] 'C' = Cys
+       true,  // [100] 'D' = Asp
+       true,  // [101] 'E' = Glu
+       true,  // [102] 'F' = Phe
+       true,  // [103] 'G' = Gly
+       true,  // [104] 'H' = His
+       true,  // [105] 'I' = Ile
+       false, // [106] 'J'
+       true,  // [107] 'K' = Lys
+       true,  // [108] 'L' = Leu
+       true,  // [109] 'M' = Met
+       true,  // [110] 'N' = Asn
+       false, // [111] 'O'
+       true,  // [112] 'P' = Pro
+       true,  // [113] 'Q' = Gln
+       true,  // [114] 'R' = Arg
+       true,  // [115] 'S' = Ser
+       true,  // [116] 'T' = Thr
+       false, // [117] 'U'
+       true,  // [118] 'V' = Val
+       true,  // [119] 'W' = Trp
+       false, // [120] 'X'
+       true,  // [121] 'Y' = Tyr
+       false, // [122] 'Z'
+       false, // [123] '{'
+       false, // [124] '|'
+       false, // [125] '}'
+       false, // [126] '~'
+       false, // [127] 0x7f
+       false, // [128] 0x80
+       false, // [129] 0x81
+       false, // [130] 0x82
+       false, // [131] 0x83
+       false, // [132] 0x84
+       false, // [133] 0x85
+       false, // [134] 0x86
+       false, // [135] 0x87
+       false, // [136] 0x88
+       false, // [137] 0x89
+       false, // [138] 0x8a
+       false, // [139] 0x8b
+       false, // [140] 0x8c
+       false, // [141] 0x8d
+       false, // [142] 0x8e
+       false, // [143] 0x8f
+       false, // [144] 0x90
+       false, // [145] 0x91
+       false, // [146] 0x92
+       false, // [147] 0x93
+       false, // [148] 0x94
+       false, // [149] 0x95
+       false, // [150] 0x96
+       false, // [151] 0x97
+       false, // [152] 0x98
+       false, // [153] 0x99
+       false, // [154] 0x9a
+       false, // [155] 0x9b
+       false, // [156] 0x9c
+       false, // [157] 0x9d
+       false, // [158] 0x9e
+       false, // [159] 0x9f
+       false, // [160] 0xa0
+       false, // [161] 0xa1
+       false, // [162] 0xa2
+       false, // [163] 0xa3
+       false, // [164] 0xa4
+       false, // [165] 0xa5
+       false, // [166] 0xa6
+       false, // [167] 0xa7
+       false, // [168] 0xa8
+       false, // [169] 0xa9
+       false, // [170] 0xaa
+       false, // [171] 0xab
+       false, // [172] 0xac
+       false, // [173] 0xad
+       false, // [174] 0xae
+       false, // [175] 0xaf
+       false, // [176] 0xb0
+       false, // [177] 0xb1
+       false, // [178] 0xb2
+       false, // [179] 0xb3
+       false, // [180] 0xb4
+       false, // [181] 0xb5
+       false, // [182] 0xb6
+       false, // [183] 0xb7
+       false, // [184] 0xb8
+       false, // [185] 0xb9
+       false, // [186] 0xba
+       false, // [187] 0xbb
+       false, // [188] 0xbc
+       false, // [189] 0xbd
+       false, // [190] 0xbe
+       false, // [191] 0xbf
+       false, // [192] 0xc0
+       false, // [193] 0xc1
+       false, // [194] 0xc2
+       false, // [195] 0xc3
+       false, // [196] 0xc4
+       false, // [197] 0xc5
+       false, // [198] 0xc6
+       false, // [199] 0xc7
+       false, // [200] 0xc8
+       false, // [201] 0xc9
+       false, // [202] 0xca
+       false, // [203] 0xcb
+       false, // [204] 0xcc
+       false, // [205] 0xcd
+       false, // [206] 0xce
+       false, // [207] 0xcf
+       false, // [208] 0xd0
+       false, // [209] 0xd1
+       false, // [210] 0xd2
+       false, // [211] 0xd3
+       false, // [212] 0xd4
+       false, // [213] 0xd5
+       false, // [214] 0xd6
+       false, // [215] 0xd7
+       false, // [216] 0xd8
+       false, // [217] 0xd9
+       false, // [218] 0xda
+       false, // [219] 0xdb
+       false, // [220] 0xdc
+       false, // [221] 0xdd
+       false, // [222] 0xde
+       false, // [223] 0xdf
+       false, // [224] 0xe0
+       false, // [225] 0xe1
+       false, // [226] 0xe2
+       false, // [227] 0xe3
+       false, // [228] 0xe4
+       false, // [229] 0xe5
+       false, // [230] 0xe6
+       false, // [231] 0xe7
+       false, // [232] 0xe8
+       false, // [233] 0xe9
+       false, // [234] 0xea
+       false, // [235] 0xeb
+       false, // [236] 0xec
+       false, // [237] 0xed
+       false, // [238] 0xee
+       false, // [239] 0xef
+       false, // [240] 0xf0
+       false, // [241] 0xf1
+       false, // [242] 0xf2
+       false, // [243] 0xf3
+       false, // [244] 0xf4
+       false, // [245] 0xf5
+       false, // [246] 0xf6
+       false, // [247] 0xf7
+       false, // [248] 0xf8
+       false, // [249] 0xf9
+       false, // [250] 0xfa
+       false, // [251] 0xfb
+       false, // [252] 0xfc
+       false, // [253] 0xfd
+       false, // [254] 0xfe
+       false, // [255] 0xff
+       };
+
+bool g_IsNucleoChar[256] =
+       {
+       false, // [  0] 0x00
+       false, // [  1] 0x01
+       false, // [  2] 0x02
+       false, // [  3] 0x03
+       false, // [  4] 0x04
+       false, // [  5] 0x05
+       false, // [  6] 0x06
+       false, // [  7] 0x07
+       false, // [  8] 0x08
+       false, // [  9] 0x09
+       false, // [ 10] 0x0a
+       false, // [ 11] 0x0b
+       false, // [ 12] 0x0c
+       false, // [ 13] 0x0d
+       false, // [ 14] 0x0e
+       false, // [ 15] 0x0f
+       false, // [ 16] 0x10
+       false, // [ 17] 0x11
+       false, // [ 18] 0x12
+       false, // [ 19] 0x13
+       false, // [ 20] 0x14
+       false, // [ 21] 0x15
+       false, // [ 22] 0x16
+       false, // [ 23] 0x17
+       false, // [ 24] 0x18
+       false, // [ 25] 0x19
+       false, // [ 26] 0x1a
+       false, // [ 27] 0x1b
+       false, // [ 28] 0x1c
+       false, // [ 29] 0x1d
+       false, // [ 30] 0x1e
+       false, // [ 31] 0x1f
+       false, // [ 32] ' '
+       false, // [ 33] '!'
+       false, // [ 34] '"'
+       false, // [ 35] '#'
+       false, // [ 36] '$'
+       false, // [ 37] '%'
+       false, // [ 38] '&'
+       false, // [ 39] '''
+       false, // [ 40] '('
+       false, // [ 41] ')'
+       false, // [ 42] '*'
+       false, // [ 43] '+'
+       false, // [ 44] ','
+       false, // [ 45] '-'
+       false, // [ 46] '.'
+       false, // [ 47] '/'
+       false, // [ 48] '0'
+       false, // [ 49] '1'
+       false, // [ 50] '2'
+       false, // [ 51] '3'
+       false, // [ 52] '4'
+       false, // [ 53] '5'
+       false, // [ 54] '6'
+       false, // [ 55] '7'
+       false, // [ 56] '8'
+       false, // [ 57] '9'
+       false, // [ 58] ':'
+       false, // [ 59] ';'
+       false, // [ 60] '<'
+       false, // [ 61] '='
+       false, // [ 62] '>'
+       false, // [ 63] '?'
+       false, // [ 64] '@'
+       true,  // [ 65] 'A' (Nucleotide)
+       false, // [ 66] 'B'
+       true,  // [ 67] 'C' (Nucleotide)
+       false, // [ 68] 'D'
+       false, // [ 69] 'E'
+       false, // [ 70] 'F'
+       true,  // [ 71] 'G' (Nucleotide)
+       false, // [ 72] 'H'
+       false, // [ 73] 'I'
+       false, // [ 74] 'J'
+       false, // [ 75] 'K'
+       false, // [ 76] 'L'
+       false, // [ 77] 'M'
+       true,  // [ 78] 'N' (Nucleotide)
+       false, // [ 79] 'O'
+       false, // [ 80] 'P'
+       false, // [ 81] 'Q'
+       false, // [ 82] 'R'
+       false, // [ 83] 'S'
+       true,  // [ 84] 'T' (Nucleotide)
+       true,  // [ 85] 'U' (Nucleotide)
+       false, // [ 86] 'V'
+       false, // [ 87] 'W'
+       false, // [ 88] 'X'
+       false, // [ 89] 'Y'
+       false, // [ 90] 'Z'
+       false, // [ 91] '['
+       false, // [ 92] '\'
+       false, // [ 93] ']'
+       false, // [ 94] '^'
+       false, // [ 95] '_'
+       false, // [ 96] '`'
+       true,  // [ 97] 'A' (Nucleotide)
+       false, // [ 98] 'B'
+       true,  // [ 99] 'C' (Nucleotide)
+       false, // [100] 'D'
+       false, // [101] 'E'
+       false, // [102] 'F'
+       true,  // [103] 'G' (Nucleotide)
+       false, // [104] 'H'
+       false, // [105] 'I'
+       false, // [106] 'J'
+       false, // [107] 'K'
+       false, // [108] 'L'
+       false, // [109] 'M'
+       true,  // [110] 'N' (Nucleotide)
+       false, // [111] 'O'
+       false, // [112] 'P'
+       false, // [113] 'Q'
+       false, // [114] 'R'
+       false, // [115] 'S'
+       true,  // [116] 'T' (Nucleotide)
+       true,  // [117] 'U' (Nucleotide)
+       false, // [118] 'V'
+       false, // [119] 'W'
+       false, // [120] 'X'
+       false, // [121] 'Y'
+       false, // [122] 'Z'
+       false, // [123] '{'
+       false, // [124] '|'
+       false, // [125] '}'
+       false, // [126] '~'
+       false, // [127] 0x7f
+       false, // [128] 0x80
+       false, // [129] 0x81
+       false, // [130] 0x82
+       false, // [131] 0x83
+       false, // [132] 0x84
+       false, // [133] 0x85
+       false, // [134] 0x86
+       false, // [135] 0x87
+       false, // [136] 0x88
+       false, // [137] 0x89
+       false, // [138] 0x8a
+       false, // [139] 0x8b
+       false, // [140] 0x8c
+       false, // [141] 0x8d
+       false, // [142] 0x8e
+       false, // [143] 0x8f
+       false, // [144] 0x90
+       false, // [145] 0x91
+       false, // [146] 0x92
+       false, // [147] 0x93
+       false, // [148] 0x94
+       false, // [149] 0x95
+       false, // [150] 0x96
+       false, // [151] 0x97
+       false, // [152] 0x98
+       false, // [153] 0x99
+       false, // [154] 0x9a
+       false, // [155] 0x9b
+       false, // [156] 0x9c
+       false, // [157] 0x9d
+       false, // [158] 0x9e
+       false, // [159] 0x9f
+       false, // [160] 0xa0
+       false, // [161] 0xa1
+       false, // [162] 0xa2
+       false, // [163] 0xa3
+       false, // [164] 0xa4
+       false, // [165] 0xa5
+       false, // [166] 0xa6
+       false, // [167] 0xa7
+       false, // [168] 0xa8
+       false, // [169] 0xa9
+       false, // [170] 0xaa
+       false, // [171] 0xab
+       false, // [172] 0xac
+       false, // [173] 0xad
+       false, // [174] 0xae
+       false, // [175] 0xaf
+       false, // [176] 0xb0
+       false, // [177] 0xb1
+       false, // [178] 0xb2
+       false, // [179] 0xb3
+       false, // [180] 0xb4
+       false, // [181] 0xb5
+       false, // [182] 0xb6
+       false, // [183] 0xb7
+       false, // [184] 0xb8
+       false, // [185] 0xb9
+       false, // [186] 0xba
+       false, // [187] 0xbb
+       false, // [188] 0xbc
+       false, // [189] 0xbd
+       false, // [190] 0xbe
+       false, // [191] 0xbf
+       false, // [192] 0xc0
+       false, // [193] 0xc1
+       false, // [194] 0xc2
+       false, // [195] 0xc3
+       false, // [196] 0xc4
+       false, // [197] 0xc5
+       false, // [198] 0xc6
+       false, // [199] 0xc7
+       false, // [200] 0xc8
+       false, // [201] 0xc9
+       false, // [202] 0xca
+       false, // [203] 0xcb
+       false, // [204] 0xcc
+       false, // [205] 0xcd
+       false, // [206] 0xce
+       false, // [207] 0xcf
+       false, // [208] 0xd0
+       false, // [209] 0xd1
+       false, // [210] 0xd2
+       false, // [211] 0xd3
+       false, // [212] 0xd4
+       false, // [213] 0xd5
+       false, // [214] 0xd6
+       false, // [215] 0xd7
+       false, // [216] 0xd8
+       false, // [217] 0xd9
+       false, // [218] 0xda
+       false, // [219] 0xdb
+       false, // [220] 0xdc
+       false, // [221] 0xdd
+       false, // [222] 0xde
+       false, // [223] 0xdf
+       false, // [224] 0xe0
+       false, // [225] 0xe1
+       false, // [226] 0xe2
+       false, // [227] 0xe3
+       false, // [228] 0xe4
+       false, // [229] 0xe5
+       false, // [230] 0xe6
+       false, // [231] 0xe7
+       false, // [232] 0xe8
+       false, // [233] 0xe9
+       false, // [234] 0xea
+       false, // [235] 0xeb
+       false, // [236] 0xec
+       false, // [237] 0xed
+       false, // [238] 0xee
+       false, // [239] 0xef
+       false, // [240] 0xf0
+       false, // [241] 0xf1
+       false, // [242] 0xf2
+       false, // [243] 0xf3
+       false, // [244] 0xf4
+       false, // [245] 0xf5
+       false, // [246] 0xf6
+       false, // [247] 0xf7
+       false, // [248] 0xf8
+       false, // [249] 0xf9
+       false, // [250] 0xfa
+       false, // [251] 0xfb
+       false, // [252] 0xfc
+       false, // [253] 0xfd
+       false, // [254] 0xfe
+       false, // [255] 0xff
+       };
+
+bool g_IsACGTU[256] =
+       {
+       false, // [  0] 0x00
+       false, // [  1] 0x01
+       false, // [  2] 0x02
+       false, // [  3] 0x03
+       false, // [  4] 0x04
+       false, // [  5] 0x05
+       false, // [  6] 0x06
+       false, // [  7] 0x07
+       false, // [  8] 0x08
+       false, // [  9] 0x09
+       false, // [ 10] 0x0a
+       false, // [ 11] 0x0b
+       false, // [ 12] 0x0c
+       false, // [ 13] 0x0d
+       false, // [ 14] 0x0e
+       false, // [ 15] 0x0f
+       false, // [ 16] 0x10
+       false, // [ 17] 0x11
+       false, // [ 18] 0x12
+       false, // [ 19] 0x13
+       false, // [ 20] 0x14
+       false, // [ 21] 0x15
+       false, // [ 22] 0x16
+       false, // [ 23] 0x17
+       false, // [ 24] 0x18
+       false, // [ 25] 0x19
+       false, // [ 26] 0x1a
+       false, // [ 27] 0x1b
+       false, // [ 28] 0x1c
+       false, // [ 29] 0x1d
+       false, // [ 30] 0x1e
+       false, // [ 31] 0x1f
+       false, // [ 32] ' '
+       false, // [ 33] '!'
+       false, // [ 34] '"'
+       false, // [ 35] '#'
+       false, // [ 36] '$'
+       false, // [ 37] '%'
+       false, // [ 38] '&'
+       false, // [ 39] '''
+       false, // [ 40] '('
+       false, // [ 41] ')'
+       false, // [ 42] '*'
+       false, // [ 43] '+'
+       false, // [ 44] ','
+       false, // [ 45] '-'
+       false, // [ 46] '.'
+       false, // [ 47] '/'
+       false, // [ 48] '0'
+       false, // [ 49] '1'
+       false, // [ 50] '2'
+       false, // [ 51] '3'
+       false, // [ 52] '4'
+       false, // [ 53] '5'
+       false, // [ 54] '6'
+       false, // [ 55] '7'
+       false, // [ 56] '8'
+       false, // [ 57] '9'
+       false, // [ 58] ':'
+       false, // [ 59] ';'
+       false, // [ 60] '<'
+       false, // [ 61] '='
+       false, // [ 62] '>'
+       false, // [ 63] '?'
+       false, // [ 64] '@'
+       true,  // [ 65] 'A' (ACGT)
+       false, // [ 66] 'B'
+       true,  // [ 67] 'C' (ACGT)
+       false, // [ 68] 'D'
+       false, // [ 69] 'E'
+       false, // [ 70] 'F'
+       true,  // [ 71] 'G' (ACGT)
+       false, // [ 72] 'H'
+       false, // [ 73] 'I'
+       false, // [ 74] 'J'
+       false, // [ 75] 'K'
+       false, // [ 76] 'L'
+       false, // [ 77] 'M'
+       false, // [ 78] 'N'
+       false, // [ 79] 'O'
+       false, // [ 80] 'P'
+       false, // [ 81] 'Q'
+       false, // [ 82] 'R'
+       false, // [ 83] 'S'
+       true,  // [ 84] 'T' (ACGT)
+       true,  // [ 85] 'U' (ACGT)
+       false, // [ 86] 'V'
+       false, // [ 87] 'W'
+       false, // [ 88] 'X'
+       false, // [ 89] 'Y'
+       false, // [ 90] 'Z'
+       false, // [ 91] '['
+       false, // [ 92] '\'
+       false, // [ 93] ']'
+       false, // [ 94] '^'
+       false, // [ 95] '_'
+       false, // [ 96] '`'
+       true,  // [ 97] 'A' (ACGT)
+       false, // [ 98] 'B'
+       true,  // [ 99] 'C' (ACGT)
+       false, // [100] 'D'
+       false, // [101] 'E'
+       false, // [102] 'F'
+       true,  // [103] 'G' (ACGT)
+       false, // [104] 'H'
+       false, // [105] 'I'
+       false, // [106] 'J'
+       false, // [107] 'K'
+       false, // [108] 'L'
+       false, // [109] 'M'
+       false, // [110] 'N'
+       false, // [111] 'O'
+       false, // [112] 'P'
+       false, // [113] 'Q'
+       false, // [114] 'R'
+       false, // [115] 'S'
+       true,  // [116] 'T' (ACGT)
+       true,  // [117] 'U' (ACGT)
+       false, // [118] 'V'
+       false, // [119] 'W'
+       false, // [120] 'X'
+       false, // [121] 'Y'
+       false, // [122] 'Z'
+       false, // [123] '{'
+       false, // [124] '|'
+       false, // [125] '}'
+       false, // [126] '~'
+       false, // [127] 0x7f
+       false, // [128] 0x80
+       false, // [129] 0x81
+       false, // [130] 0x82
+       false, // [131] 0x83
+       false, // [132] 0x84
+       false, // [133] 0x85
+       false, // [134] 0x86
+       false, // [135] 0x87
+       false, // [136] 0x88
+       false, // [137] 0x89
+       false, // [138] 0x8a
+       false, // [139] 0x8b
+       false, // [140] 0x8c
+       false, // [141] 0x8d
+       false, // [142] 0x8e
+       false, // [143] 0x8f
+       false, // [144] 0x90
+       false, // [145] 0x91
+       false, // [146] 0x92
+       false, // [147] 0x93
+       false, // [148] 0x94
+       false, // [149] 0x95
+       false, // [150] 0x96
+       false, // [151] 0x97
+       false, // [152] 0x98
+       false, // [153] 0x99
+       false, // [154] 0x9a
+       false, // [155] 0x9b
+       false, // [156] 0x9c
+       false, // [157] 0x9d
+       false, // [158] 0x9e
+       false, // [159] 0x9f
+       false, // [160] 0xa0
+       false, // [161] 0xa1
+       false, // [162] 0xa2
+       false, // [163] 0xa3
+       false, // [164] 0xa4
+       false, // [165] 0xa5
+       false, // [166] 0xa6
+       false, // [167] 0xa7
+       false, // [168] 0xa8
+       false, // [169] 0xa9
+       false, // [170] 0xaa
+       false, // [171] 0xab
+       false, // [172] 0xac
+       false, // [173] 0xad
+       false, // [174] 0xae
+       false, // [175] 0xaf
+       false, // [176] 0xb0
+       false, // [177] 0xb1
+       false, // [178] 0xb2
+       false, // [179] 0xb3
+       false, // [180] 0xb4
+       false, // [181] 0xb5
+       false, // [182] 0xb6
+       false, // [183] 0xb7
+       false, // [184] 0xb8
+       false, // [185] 0xb9
+       false, // [186] 0xba
+       false, // [187] 0xbb
+       false, // [188] 0xbc
+       false, // [189] 0xbd
+       false, // [190] 0xbe
+       false, // [191] 0xbf
+       false, // [192] 0xc0
+       false, // [193] 0xc1
+       false, // [194] 0xc2
+       false, // [195] 0xc3
+       false, // [196] 0xc4
+       false, // [197] 0xc5
+       false, // [198] 0xc6
+       false, // [199] 0xc7
+       false, // [200] 0xc8
+       false, // [201] 0xc9
+       false, // [202] 0xca
+       false, // [203] 0xcb
+       false, // [204] 0xcc
+       false, // [205] 0xcd
+       false, // [206] 0xce
+       false, // [207] 0xcf
+       false, // [208] 0xd0
+       false, // [209] 0xd1
+       false, // [210] 0xd2
+       false, // [211] 0xd3
+       false, // [212] 0xd4
+       false, // [213] 0xd5
+       false, // [214] 0xd6
+       false, // [215] 0xd7
+       false, // [216] 0xd8
+       false, // [217] 0xd9
+       false, // [218] 0xda
+       false, // [219] 0xdb
+       false, // [220] 0xdc
+       false, // [221] 0xdd
+       false, // [222] 0xde
+       false, // [223] 0xdf
+       false, // [224] 0xe0
+       false, // [225] 0xe1
+       false, // [226] 0xe2
+       false, // [227] 0xe3
+       false, // [228] 0xe4
+       false, // [229] 0xe5
+       false, // [230] 0xe6
+       false, // [231] 0xe7
+       false, // [232] 0xe8
+       false, // [233] 0xe9
+       false, // [234] 0xea
+       false, // [235] 0xeb
+       false, // [236] 0xec
+       false, // [237] 0xed
+       false, // [238] 0xee
+       false, // [239] 0xef
+       false, // [240] 0xf0
+       false, // [241] 0xf1
+       false, // [242] 0xf2
+       false, // [243] 0xf3
+       false, // [244] 0xf4
+       false, // [245] 0xf5
+       false, // [246] 0xf6
+       false, // [247] 0xf7
+       false, // [248] 0xf8
+       false, // [249] 0xf9
+       false, // [250] 0xfa
+       false, // [251] 0xfb
+       false, // [252] 0xfc
+       false, // [253] 0xfd
+       false, // [254] 0xfe
+       false, // [255] 0xff
+       };
+
+float g_AminoFreqs[20] =
+       {
+       0.0777f, // 'A' = Ala
+       0.0161f, // 'C' = Cys
+       0.0527f, // 'D' = Asp
+       0.0631f, // 'E' = Glu
+       0.0417f, // 'F' = Phe
+       0.0718f, // 'G' = Gly
+       0.0238f, // 'H' = His
+       0.0606f, // 'I' = Ile
+       0.0601f, // 'K' = Lys
+       0.0906f, // 'L' = Leu
+       0.0233f, // 'M' = Met
+       0.0439f, // 'N' = Asn
+       0.0456f, // 'P' = Pro
+       0.0368f, // 'Q' = Gln
+       0.0526f, // 'R' = Arg
+       0.0639f, // 'S' = Ser
+       0.0570f, // 'T' = Thr
+       0.0712f, // 'V' = Val
+       0.0134f, // 'W' = Trp
+       0.0339f, // 'Y' = Tyr
+       };