X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=uchime_src%2Falpha.cpp;fp=uchime_src%2Falpha.cpp;h=0efca3ba0bc09a61c0ad980948a7f9c49761a3f7;hb=7dab6ac3ae5a5f1ce37dca8cfacaa719881fd5b2;hp=0000000000000000000000000000000000000000;hpb=aa23898d895a8c04cc4582a8809343df0aef6622;p=mothur.git diff --git a/uchime_src/alpha.cpp b/uchime_src/alpha.cpp new file mode 100644 index 0000000..0efca3b --- /dev/null +++ b/uchime_src/alpha.cpp @@ -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 + };