1b5e64c40e2a2785790edeaf8c54de55d89998a8 fanhsu Fri Mar 4 08:17:57 2011 -0800 Added 'X' to aminoAcidTable and to functions to get AA abbrev and letter. diff --git src/lib/dnautil.c src/lib/dnautil.c index 7aabeee..7a6e5f0 100644 --- src/lib/dnautil.c +++ src/lib/dnautil.c @@ -1027,31 +1027,31 @@ return FALSE; dnaUtilOpen(); for (i=0; i<size-1; ++i) { if (ntChars[(int)poly[i]] == 0) return FALSE; } return TRUE; } /* Tables to convert from 0-20 to ascii single letter representation * of proteins. */ int aaVal[256]; -AA valToAa[20]; +AA valToAa[21]; AA aaChars[256]; /* 0 except for value aa characters. Converts to upper case rest. */ struct aminoAcidTable /* A little info about each amino acid. */ { int ix; char letter; char abbreviation[3]; char *name; }; struct aminoAcidTable aminoAcidTable[] = { {0, 'A', "ala", "alanine"}, @@ -1060,34 +1060,47 @@ {3, 'E', "glu", "glutamic acid"}, {4, 'F', "phe", "phenylalanine"}, {5, 'G', "gly", "glycine"}, {6, 'H', "his", "histidine"}, {7, 'I', "ile", "isoleucine"}, {8, 'K', "lys", "lysine"}, {9, 'L', "leu", "leucine"}, {10, 'M', "met", "methionine"}, {11, 'N', "asn", "asparagine"}, {12, 'P', "pro", "proline"}, {13, 'Q', "gln", "glutamine"}, {14, 'R', "arg", "arginine"}, {15, 'S', "ser", "serine"}, {16, 'T', "thr", "threonine"}, {17, 'V', "val", "valine"}, - {18, 'W', "try", "tryptophan"}, + {18, 'W', "trp", "tryptophan"}, {19, 'Y', "tyr", "tyrosine"}, + {20, 'X', "ter", "termination"}, }; +char *aaAbbr(int i) +/* return pointer to AA abbrevation */ +{ +return(aminoAcidTable[i].abbreviation); +} + +char aaLetter(int i) +/* return AA letter */ +{ +return(aminoAcidTable[i].letter); +} + static void initAaVal() /* Initialize aaVal and valToAa tables. */ { int i; char c, lowc; for (i=0; i<ArraySize(aaVal); ++i) aaVal[i] = -1; for (i=0; i<ArraySize(aminoAcidTable); ++i) { c = aminoAcidTable[i].letter; lowc = tolower(c); aaVal[(int)c] = aaVal[(int)lowc] = i; aaChars[(int)c] = aaChars[(int)lowc] = c; valToAa[i] = c;