incorporate drawable and annotations
[mussa.git] / alg / sequence.hpp
index 80aa49f75e17bcf9ca572de2d9b8c53658ea31af..fbd753fb46dc7d0142de209ece821626bd2e2577 100644 (file)
@@ -72,7 +72,7 @@ struct motif : public annot
 {
   std::string sequence;
 
-  motif() :  annot(), sequence("") {};
+  motif() : annot(), sequence("") {};
   //! this constructor is for when we're adding motifs to our annotations
   motif(int begin, std::string motif);
   ~motif();
@@ -88,6 +88,8 @@ private:
 };
 BOOST_CLASS_EXPORT(motif);
 
+class Sequence;
+typedef boost::shared_ptr<Sequence> SequenceRef;
 
 //! sequence track for mussa.
 class Sequence 
@@ -111,9 +113,13 @@ public:
   Sequence(const std::string& seq,
            AlphabetRef a = reduced_dna_alphabet,
            SeqSpan::strand_type strand = SeqSpan::PlusStrand);
+  //! make a new sequence, with the same SeqSpan
   Sequence(const Sequence& seq);
+  //! make a new sequence, with the same SeqSpan
   Sequence(const Sequence *);
-  Sequence(const SeqSpanRef&); 
+  //! Make a new sequence using a copy of SeqSpan
+  Sequence(const SequenceRef); 
+  Sequence(const SeqSpanRef&);
   ~Sequence();
   //! assignment to constant sequences
   Sequence &operator=(const Sequence&);