1 #ifndef LOCARNA_SEQUENCE_ANNOTATION_HH 2 #define LOCARNA_SEQUENCE_ANNOTATION_HH 27 typedef std::string name_t;
31 typedef std::vector<std::string> annotation_t;
40 annotation_t annotation_;
106 return SequenceAnnotation::empty_instance_;
117 return annotation_.size()>0?annotation_[0].size():0;
135 return annotation_.size();
147 assert(i<annotation_.size());
148 return annotation_[i];
169 return c==
' ' || c==
'.';
194 name(
size_t i)
const;
209 duplicate_names()
const;
229 #endif // LOCARNA_SEQUENCE_ANNOTATION_HH std::string single_string(char sep='#') const
Definition: sequence_annotation.cc:66
static bool is_neutral_char(char c)
Test for neutral character.
Definition: sequence_annotation.hh:168
pair of vector of alignment edges
Definition: alignment.hh:63
const std::string & annotation_string(size_t i) const
Definition: sequence_annotation.hh:146
static const SequenceAnnotation & empty_instance()
initialize the static member empty_instance
Definition: sequence_annotation.hh:105
bool is_neutral_pos(size_t i) const
Test neutral name at a position.
Definition: sequence_annotation.cc:80
size_t size_type
general size type
Definition: aux.hh:94
Definition: aligner.cc:17
SequenceAnnotation(size_type name_length=0)
Construct empty.
Definition: sequence_annotation.hh:56
size_t name_length() const
Name length.
Definition: sequence_annotation.hh:134
std::string name(size_t i) const
Access name at position.
Definition: sequence_annotation.cc:89
static bool is_neutral(const name_t &name)
Test neutral name.
Definition: sequence_annotation.cc:71
bool empty() const
Check empty.
Definition: sequence_annotation.hh:125
void push_back_name(const name_t &name)
Push back name to the annotation strings in annotation_.
Definition: sequence_annotation.cc:102
Annotation of a sequence.
Definition: sequence_annotation.hh:24
size_t length() const
Size of the represented range.
Definition: sequence_annotation.hh:116