rendered paste bodypublic class AAMapping { private static byte[] aaToNumMap; private static byte[] numToAAMap; private static final int AACOUNT=20; /** * Map amino acid characters to sequentially acending numbers * * @param aa AA character * @return */ public static byte mapAAToNum(byte aa) { if (aaToNumMap == null) { aaToNumMap = new byte[256]; for (int i=0; i<256; i++) aaToNumMap[i] = -1; aaToNumMap['A'] = 0; aaToNumMap['C'] = 1; aaToNumMap['D'] = 2; aaToNumMap['E'] = 3; aaToNumMap['F'] = 4; aaToNumMap['G'] = 5; aaToNumMap['H'] = 6; aaToNumMap['I'] = 7; aaToNumMap['K'] = 8; aaToNumMap['L'] = 9; aaToNumMap['M'] = 10; aaToNumMap['N'] = 11; aaToNumMap['P'] = 12; aaToNumMap['Q'] = 13; aaToNumMap['R'] = 14; aaToNumMap['S'] = 15; aaToNumMap['T'] = 16; aaToNumMap['V'] = 17; aaToNumMap['W'] = 18; aaToNumMap['Y'] = 19; } return aaToNumMap[aa]; } /** * Reverse function of mapAAToNum * * @param num number code * @return */ public static char mapNumToAA(byte num) { if (numToAAMap == null) { numToAAMap = new byte[AACOUNT]; numToAAMap[0] = 'A'; numToAAMap[1] = 'C'; numToAAMap[2] = 'D'; numToAAMap[3] = 'E'; numToAAMap[4] = 'F'; numToAAMap[5] = 'G'; numToAAMap[6] = 'H'; numToAAMap[7] = 'I'; numToAAMap[8] = 'K'; numToAAMap[9] = 'L'; numToAAMap[10] = 'M'; numToAAMap[11] = 'N'; numToAAMap[12] = 'P'; numToAAMap[13] = 'Q'; numToAAMap[14] = 'R'; numToAAMap[15] = 'S'; numToAAMap[16] = 'T'; numToAAMap[17] = 'V'; numToAAMap[18] = 'W'; numToAAMap[19] = 'Y'; } return (char)numToAAMap[num]; }}