1 #include "alg/alphabet.hpp"
3 // some standard dna alphabets
4 // Include nl (\012), and cr (\015) to make sequence parsing eol
5 // convention independent.
6 const Alphabet Alphabet::reduced_dna_alphabet("AaCcGgTtNn\012\015");
7 const Alphabet Alphabet::reduced_rna_alphabet("AaCcGgUuNn\012\015");
8 const Alphabet Alphabet::reduced_nucleic_alphabet("AaCcGgTtUuNn\012\015");
9 //! this is the general iupac alphabet for nucleotides
10 const Alphabet Alphabet::nucleic_alphabet(
11 "AaCcGgTtUuRrYyMmKkSsWwBbDdHhVvNn-~.?\012\015"
13 //! the protein alphabet
14 const Alphabet Alphabet::protein_alphabet(
15 "AaCcDdEeFfGgHhIiKkLlMmNnPpQqRrSsTtVvWwYy\012\015"
18 Alphabet::Alphabet(const char *a) :
21 alphabet_set.insert(alphabet.begin(), alphabet.end());
24 void Alphabet::assign(const Alphabet& a)
26 alphabet = a.alphabet;
28 alphabet_set.insert(alphabet.begin(), alphabet.end());
31 const char *Alphabet::c_str() const
36 bool Alphabet::exists(const char c) const
38 return (alphabet_set.find(c) != alphabet_set.end());