1 #ifndef LOCARNA_SEQUENCE_ANNOTATION_HH
2 #define LOCARNA_SEQUENCE_ANNOTATION_HH
54 const std::vector<std::string> &annotation_strings);
85 return SequenceAnnotation::empty_instance_;
96 return annotation_.size() > 0 ? annotation_[0].size() : 0;
114 return annotation_.size();
126 assert(i < annotation_.size());
127 return annotation_[i];
147 return c ==
' ' || c ==
'.';
173 name(
size_t i)
const;
188 duplicate_names()
const;
207 typedef std::vector<std::string> annotation_t;
216 annotation_t annotation_;
Definition: alignment.hh:73
Annotation of a sequence.
Definition: sequence_annotation.hh:24
std::string name_t
an anchcor name
Definition: sequence_annotation.hh:27
bool is_neutral_pos(size_t i) const
Test neutral name at a position.
Definition: sequence_annotation.cc:72
std::string name(size_t i) const
Access name at position.
Definition: sequence_annotation.cc:83
static bool is_neutral(const name_t &name)
Test neutral name.
Definition: sequence_annotation.cc:66
void push_back_name(const name_t &name)
Push back name to the annotation strings in annotation_.
Definition: sequence_annotation.cc:96
static const SequenceAnnotation & empty_instance()
initialize the static member empty_instance
Definition: sequence_annotation.hh:84
std::string single_string(char sep='#') const
Definition: sequence_annotation.cc:61
static bool is_neutral_char(char c)
Test for neutral character.
Definition: sequence_annotation.hh:146
SequenceAnnotation(size_type name_length=0)
Construct empty.
Definition: sequence_annotation.hh:33
const std::string & annotation_string(size_t i) const
Definition: sequence_annotation.hh:125
size_t name_length() const
Name length.
Definition: sequence_annotation.hh:113
bool empty() const
Check empty.
Definition: sequence_annotation.hh:104
size_t length() const
Size of the represented range.
Definition: sequence_annotation.hh:95
Definition: aligner.cc:15
size_t size_type
general size type
Definition: aux.hh:120