00001 #ifndef GENETICCODE_H_INCLUDED
00002 #define GENETICCODE_H_INCLUDED
00003
00004
00005 enum Codon {AAA, AAU, AAG, AAC,
00006 AUA, AUU, AUG, AUC,
00007 AGA, AGU, AGG, AGC,
00008 ACA, ACU, ACG, ACC,
00009 UAU, UAC,
00010 UUA, UUU, UUG, UUC,
00011 UGU, UGG, UGC,
00012 UCA, UCU, UCG, UCC,
00013 GAA, GAU, GAG, GAC,
00014 GUA, GUU, GUG, GUC,
00015 GGA, GGU, GGG, GGC,
00016 GCA, GCU, GCG, GCC,
00017 CAA, CAU, CAG, CAC,
00018 CUA, CUU, CUG, CUC,
00019 CGA, CGU, CGG, CGC,
00020 CCA, CCU, CCG, CCC,
00021 UAA, UAG, UGA};
00022
00023 enum Anticodon {uuu, quu, gau, nau, cau, icg, ccg,
00024 ucu,
00025 gga,
00026 gcu, ggu, ugu, cca, qua, gag, uag,
00027 cag, aaa, gaa, gca, uuc, quc, gac,
00028 gcc, ucc, ccc, ggc,
00029 uug, cug, qug, qgg,
00030 ugg,
00031 stop};
00032
00033 class GeneticCode
00034 {
00035 public:
00036 ~GeneticCode();
00037 GeneticCode();
00038 Anticodon get_anticodon(Codon);
00039 Codon read_seq(char*);
00040 void write_seq(Codon, char*);
00041 const int GetNumCodons() {return NUM_CODONS;}
00042 const int GetNumAnticodons() {return NUM_ANTICODONS;}
00043 protected:
00044 static const int NUM_CODONS;
00045 static const int NUM_ANTICODONS;
00046 private:
00047 int *code;
00048 };
00049
00050 #endif