18 #ifndef __AminoAcid_CODE_H__
19 #define __AminoAcid_CODE_H__
68 isKnownAminoAcid(AminoAcidCode code) {
69 return !(code == XXX);
75 aminoAcidOneLetterTranslator(
char name) {
85 }
else if (name ==
'C') {
87 }
else if (name ==
'D') {
89 }
else if (name ==
'E') {
91 }
else if (name ==
'F') {
93 }
else if (name ==
'G') {
95 }
else if (name ==
'H') {
97 }
else if (name ==
'I') {
99 }
else if (name ==
'K') {
101 }
else if (name ==
'L') {
103 }
else if (name ==
'M') {
105 }
else if (name ==
'N') {
107 }
else if (name ==
'P') {
109 }
else if (name ==
'Q') {
111 }
else if (name ==
'R') {
113 }
else if (name ==
'S') {
115 }
else if (name ==
'T') {
117 }
else if (name ==
'V') {
119 }
else if (name ==
'W') {
121 }
else if (name ==
'Y') {
131 aminoAcidThreeLetterTranslator(
const string& name) {
141 }
else if (name ==
"CYS") {
143 }
else if (name ==
"ASP") {
145 }
else if (name ==
"GLU") {
147 }
else if (name ==
"PHE") {
149 }
else if (name ==
"GLY") {
151 }
else if (name ==
"HIS") {
153 }
else if (name ==
"ILE") {
155 }
else if (name ==
"LYS") {
157 }
else if (name ==
"LEU") {
159 }
else if (name ==
"MET") {
161 }
else if (name ==
"ASN") {
163 }
else if (name ==
"PRO") {
165 }
else if (name ==
"GLN") {
167 }
else if (name ==
"ARG") {
169 }
else if (name ==
"SER") {
171 }
else if (name ==
"THR") {
173 }
else if (name ==
"VAL") {
175 }
else if (name ==
"TRP") {
177 }
else if (name ==
"TYR") {
189 inline string aminoAcidThreeLetterTranslator(AminoAcidCode code) {
234 case AminoAcid_CODE_SIZE:
235 ERROR(
"AminoAcidTranslator(AminoAcidCode code): unknown code", exception);
238 ERROR(
"AminoAcidTranslator(AminoAcidCode code): unknown code", eXXXception);
248 inline char aminoAcidOneLetterTranslator(AminoAcidCode code) {
293 case AminoAcid_CODE_SIZE:
294 ERROR(
"AminoAcidTranslator(AminoAcidCode code): unknown code", exception);
298 ERROR(
"AminoAcidTranslator(AminoAcidCode code): unknown code", exception);
309 inline string aminoAcidFullTranslator(AminoAcidCode code) {
322 return "Phenylalanine";
350 return "Tryptophane";
354 case AminoAcid_CODE_SIZE:
355 ERROR(
"AminoAcidFullTranslator(AminoAcidCode code): unknown code", exception);
358 ERROR(
"AminoAcidFullTranslator(AminoAcidCode code): unknown code", exception);
368 inline string oneLetter2ThreeLetter(
char oneLetter) {
370 code = aminoAcidOneLetterTranslator(oneLetter);
371 return aminoAcidThreeLetterTranslator(code);
379 inline char threeLetter2OneLetter(
const string& threeLetter) {
381 code = aminoAcidThreeLetterTranslator(threeLetter);
382 return aminoAcidOneLetterTranslator(code);
390 inline AminoAcidCode& operator++(AminoAcidCode& ac,
int) {
391 return ac = ((ac == XXX) ? ALA : AminoAcidCode(ac + 1));
399 inline AminoAcidCode& operator--(AminoAcidCode& ac,
int) {
400 return ac = ((ac == ALA) ? XXX : AminoAcidCode(ac - 1));
408 inline bool isPolar(AminoAcidCode code) {
431 inline bool isHydrophobic(AminoAcidCode code) {
459 inline StateCode stateCodeOneLetterTranslator(
char name) {
469 }
else if (name ==
'E') {
471 }
else if (name ==
'T') {
473 }
else if (name ==
'C') {
485 inline char stateCodeOneLetterTranslator(StateCode code) {
498 case State_CODE_SIZE:
499 ERROR(
"StateCodeTranslator(StateCode code): unknown code", exception);
503 ERROR(
"StateCodeTranslator(StateCode code): unknown code", exception);
513 inline StateCode& operator++(StateCode& sc,
int) {
514 return sc = ((sc == YYY) ? HELIX : StateCode(sc + 1));