#include <iostream>
#include <sstream>
-// some standard dna alphabets
-// \012 = nl
-// \015 = cr
-// this should make our sequence parsing end-of-line convention
-// independent
-static const char* dna_alphabet = "AaCcGgTtNn\012\015";
-static const char* rna_alphabet = "AaCcGgNnUu\012\015";
-static const char* iupac_alphabet = "AaCcGgTtUuRrYyMmKkSsWwBbDdHhVvNn\012\015";
-
annot::annot()
: begin(0),
end(0),
{
}
+const std::string Sequence::dna_alphabet("AaCcGgTtNn\012\015");
+const std::string Sequence::rna_alphabet("AaCcGgNnUu\012\015");
+ //! this is the general iupac alphabet for nucleotides
+const std::string Sequence::nucleic_iupac_alphabet("AaCcGgTtUuRrYyMmKkSsWwBbDdHhVvNn\012\015");
+ //! the protein alphabet
+const std::string Sequence::protein_alphabet("AaCcDdEeFfGgHhIiKkLlMmNnPpQqRrSsTtVvWwYy\012\015");
+
Sequence::Sequence()
: seq(""),
header(""),
((spirit::ch_p('>')|spirit::str_p(">")) >>
(*(spirit::print_p))[spirit::assign_a(name)] >>
spirit::eol_p >>
- (+(spirit::chset<>(iupac_alphabet)))[spirit::assign_a(seq)]
+ (+(spirit::chset<>(nucleic_iupac_alphabet.c_str())))[spirit::assign_a(seq)]
)[push_back_seq(query_seqs, name, seq)]
) >>
*spirit::space_p
typedef std::string::size_type size_type;
static const size_type npos = std::string::npos;
+ // some standard dna alphabets
+ // Include nl (\012), and cr (\015) to make sequence parsing eol
+ // convention independent.
+
+ static const std::string dna_alphabet;
+ static const std::string rna_alphabet;
+ //! this is the general iupac alphabet for nucleotides
+ static const std::string nucleic_iupac_alphabet;
+ //! the protein alphabet
+ static const std::string protein_alphabet;
+
Sequence();
~Sequence();
Sequence(const char* seq);