Store Sequence sequence location in a shared_ptr class
[mussa.git] / alg / alphabet.hpp
index e7d35c944fe5e5847f05676beebb5a1cdf3ec4d2..399125478b57d514d4475bfff65685de8877fa68 100644 (file)
@@ -15,23 +15,26 @@ friend class Sequence;
 public:
   typedef std::string::const_iterator const_iterator;
 
-  //! return reference to the characters in our alphabet  
-  const char *c_str() const;
   //! case-insensitive test to check a character for existence in our alphabet
   bool exists(const char) const;
   
   // note, if you want to define an alphabet for a sequence, you probably want 
   // to update the enumeration in Sequence, and Sequence::get_sequence
   //! The standard DNA alphabet, with unique, and unknown characters
-  static const Alphabet reduced_dna_alphabet;
+  static const char *reduced_dna_cstr;
+  static const Alphabet &reduced_dna_alphabet();
   //! The standard RNA alphabet, with unique, and unknown characters
-  static const Alphabet reduced_rna_alphabet;
+  static const char *reduced_rna_cstr;
+  static const Alphabet &reduced_rna_alphabet();
   //! The standard DNA/RNA alphabet, with unique, and unknown characters
-  static const Alphabet reduced_nucleic_alphabet;
+  static const char *reduced_nucleic_cstr;
+  static const Alphabet &reduced_nucleic_alphabet();
   //! this is the general IUPAC alphabet for nucleotides
-  static const Alphabet nucleic_alphabet;
+  static const char *nucleic_cstr;
+  static const Alphabet &nucleic_alphabet();
   //! the protein alphabet
-  static const Alphabet protein_alphabet;
+  static const char *protein_cstr;  
+  static const Alphabet &protein_alphabet(); 
     
 private:
   //! what are allowable symbols in our alphabet