{
}
+Sequence::Sequence(const SequenceRef o)
+ : seq(new SeqSpan(o->seq)),
+ header(o->header),
+ species(o->species),
+ annots(o->annots),
+ motif_list(o->motif_list)
+{
+}
+
Sequence::Sequence(const SeqSpanRef& seq_ref)
: seq(seq_ref),
header(""),
new_seq.annots.push_back(new_annot);
}
}
-
}
+
Sequence
Sequence::subseq(size_type start, size_type count, SeqSpan::strand_type strand) const
{
Sequence new_seq = *this;
new_seq.seq = seq->subseq(start, count, strand);
-
+ if (seq->annotations()) {
+ AnnotationsRef a(new Annotations(*(seq->annotations())));
+ new_seq.seq->setAnnotations(a);
+ }
copy_children(new_seq, start, count);
return new_seq;