3 #ifndef CODON_AMINO_TABLE_H 4 #define CODON_AMINO_TABLE_H 10 #include <boost/bind.hpp> 67 void makeInvertedMap();
69 typedef std::map<Codon, AminoAcid> CodonMap;
70 typedef std::multimap<AminoAcid, Codon> InvertedCodonMap;
72 InvertedCodonMap invertedCodonMap_;
75 inline CodonAminoTable::CodonAminoTable() {
76 codonMap_.insert(std::make_pair(
Codon(
"TTT"),PHENYLALANINE));
77 codonMap_.insert(std::make_pair(
Codon(
"TTC"),PHENYLALANINE));
78 codonMap_.insert(std::make_pair(
Codon(
"TTA"),LEUCINE));
79 codonMap_.insert(std::make_pair(
Codon(
"TTG"),LEUCINE));
80 codonMap_.insert(std::make_pair(
Codon(
"CTT"),LEUCINE));
81 codonMap_.insert(std::make_pair(
Codon(
"CTC"),LEUCINE));
82 codonMap_.insert(std::make_pair(
Codon(
"CTA"),LEUCINE));
83 codonMap_.insert(std::make_pair(
Codon(
"CTG"),LEUCINE));
84 codonMap_.insert(std::make_pair(
Codon(
"ATT"),ISOLEUCINE));
85 codonMap_.insert(std::make_pair(
Codon(
"ATC"),ISOLEUCINE));
86 codonMap_.insert(std::make_pair(
Codon(
"ATA"),ISOLEUCINE));
87 codonMap_.insert(std::make_pair(
Codon(
"ATG"),METHIONINE));
88 codonMap_.insert(std::make_pair(
Codon(
"GTT"),VALINE));
89 codonMap_.insert(std::make_pair(
Codon(
"GTC"),VALINE));
90 codonMap_.insert(std::make_pair(
Codon(
"GTA"),VALINE));
91 codonMap_.insert(std::make_pair(
Codon(
"GTG"),VALINE));
92 codonMap_.insert(std::make_pair(
Codon(
"TCT"),SERINE));
93 codonMap_.insert(std::make_pair(
Codon(
"TCC"),SERINE));
94 codonMap_.insert(std::make_pair(
Codon(
"TCA"),SERINE));
95 codonMap_.insert(std::make_pair(
Codon(
"TCG"),SERINE));
96 codonMap_.insert(std::make_pair(
Codon(
"CCT"),PROLINE));
97 codonMap_.insert(std::make_pair(
Codon(
"CCC"),PROLINE));
98 codonMap_.insert(std::make_pair(
Codon(
"CCA"),PROLINE));
99 codonMap_.insert(std::make_pair(
Codon(
"CCG"),PROLINE));
100 codonMap_.insert(std::make_pair(
Codon(
"ACT"),THREONINE));
101 codonMap_.insert(std::make_pair(
Codon(
"ACC"),THREONINE));
102 codonMap_.insert(std::make_pair(
Codon(
"ACA"),THREONINE));
103 codonMap_.insert(std::make_pair(
Codon(
"ACG"),THREONINE));
104 codonMap_.insert(std::make_pair(
Codon(
"GCT"),ALANINE));
105 codonMap_.insert(std::make_pair(
Codon(
"GCC"),ALANINE));
106 codonMap_.insert(std::make_pair(
Codon(
"GCA"),ALANINE));
107 codonMap_.insert(std::make_pair(
Codon(
"GCG"),ALANINE));
108 codonMap_.insert(std::make_pair(
Codon(
"TAT"),TYROSINE));
109 codonMap_.insert(std::make_pair(
Codon(
"TAC"),TYROSINE));
110 codonMap_.insert(std::make_pair(
Codon(
"TAA"),STOP_CODON));
111 codonMap_.insert(std::make_pair(
Codon(
"TAG"),STOP_CODON));
112 codonMap_.insert(std::make_pair(
Codon(
"CAT"),HISTIDYNE));
113 codonMap_.insert(std::make_pair(
Codon(
"CAC"),HISTIDYNE));
114 codonMap_.insert(std::make_pair(
Codon(
"CAA"),GLUTAMINE));
115 codonMap_.insert(std::make_pair(
Codon(
"CAG"),GLUTAMINE));
116 codonMap_.insert(std::make_pair(
Codon(
"AAT"),ASPARAGINE));
117 codonMap_.insert(std::make_pair(
Codon(
"AAC"),ASPARAGINE));
118 codonMap_.insert(std::make_pair(
Codon(
"AAA"),LYSINE));
119 codonMap_.insert(std::make_pair(
Codon(
"AAG"),LYSINE));
120 codonMap_.insert(std::make_pair(
Codon(
"GAT"),ASPARTIC));
121 codonMap_.insert(std::make_pair(
Codon(
"GAC"),ASPARTIC));
122 codonMap_.insert(std::make_pair(
Codon(
"GAA"),GLUTAMIC));
123 codonMap_.insert(std::make_pair(
Codon(
"GAG"),GLUTAMIC));
124 codonMap_.insert(std::make_pair(
Codon(
"TGT"),CYSTEINE));
125 codonMap_.insert(std::make_pair(
Codon(
"TGC"),CYSTEINE));
126 codonMap_.insert(std::make_pair(
Codon(
"TGA"),STOP_CODON));
127 codonMap_.insert(std::make_pair(
Codon(
"TGG"),TRYPTOPHAN));
128 codonMap_.insert(std::make_pair(
Codon(
"CGT"),ARGININE));
129 codonMap_.insert(std::make_pair(
Codon(
"CGA"),ARGININE));
130 codonMap_.insert(std::make_pair(
Codon(
"CGC"),ARGININE));
131 codonMap_.insert(std::make_pair(
Codon(
"CGG"),ARGININE));
132 codonMap_.insert(std::make_pair(
Codon(
"AGT"),SERINE));
133 codonMap_.insert(std::make_pair(
Codon(
"AGC"),SERINE));
134 codonMap_.insert(std::make_pair(
Codon(
"AGA"),ARGININE));
135 codonMap_.insert(std::make_pair(
Codon(
"AGG"),ARGININE));
136 codonMap_.insert(std::make_pair(
Codon(
"GGT"),GLYCINE));
137 codonMap_.insert(std::make_pair(
Codon(
"GGC"),GLYCINE));
138 codonMap_.insert(std::make_pair(
Codon(
"GGA"),GLYCINE));
139 codonMap_.insert(std::make_pair(
Codon(
"GGG"),GLYCINE));
144 inline void CodonAminoTable::makeInvertedMap() {
145 for(CodonMap::const_iterator it = codonMap_.begin(); it != codonMap_.end(); ++it) {
146 invertedCodonMap_.insert(std::make_pair(it->second, it->first));
152 CodonMap::const_iterator p = codonMap_.find(codon);
153 if( p != codonMap_.end() )
161 typedef InvertedCodonMap::const_iterator It;
163 std::pair<It,It> p = invertedCodonMap_.equal_range(amino);
164 std::set<Codon> codons;
165 for(It i = p.first; i != p.second; ++i )
166 codons.insert(i->second );
178 os << static_cast<char>(n);
AminoAcid getAmino(const Codon &codon) const
the amino for given codon
Definition: CodonAminoTable.h:151
AminoAcid
Definition: CodonAminoTable.h:17
codons for given amino, amino for given codon, singleton
Definition: CodonAminoTable.h:45
the triplet of nucleotides, codon.
Definition: Codon.h:20
std::ostream & operator<<(std::ostream &os, const Chain &chain)
Definition: Chain.h:162
std::set< Codon > getCodons(AminoAcid amino) const
codons for given amino
Definition: CodonAminoTable.h:160