LocARNA-1.8.11
sequence.hh
1 #ifndef LOCARNA_SEQUENCE_HH
2 #define LOCARNA_SEQUENCE_HH
3 
4 #ifdef HAVE_CONFIG_H
5 # include <config.h>
6 #endif
7 
8 #include <vector>
9 #include "multiple_alignment.hh"
10 
11 
12 namespace LocARNA {
13 
29  class Sequence:
30  public MultipleAlignment {
31 
32  // BEWARE: don't define attributes in sequence! In
33  // MultipleAlignment.as_sequence(), we rely on a simple upcast
34  // to convert MultipleAlignment objects to Sequence objects
35 
36  public:
37 
42 
48  Sequence(const std::string &name,
49  const std::string &sequence)
50  : MultipleAlignment(name,sequence) {
51  }
52 
63  AliColumn
64  operator [](size_type col_index) const {
65  return column(col_index);
66  }
67 
74  std::vector<std::string>
75  names() const;
76 
77  };
78 
79 } // end namespace LocARNA
80 
81 #endif
Sequence(const std::string &name, const std::string &sequence)
Construct as single sequence.
Definition: sequence.hh:48
AliColumn column(size_type col_index) const
Access alignment column.
Definition: multiple_alignment.hh:774
Definition: aligner.cc:17
Sequence()
Construct empty.
Definition: sequence.hh:41
size_t size_type
size type
Definition: multiple_alignment.hh:68
read only proxy class representing a column of the alignment
Definition: multiple_alignment.hh:276
AliColumn operator[](size_type col_index) const
Access to columns.
Definition: sequence.hh:64
Represents a multiple alignment.
Definition: multiple_alignment.hh:65
"Sequence View" of multiple alignment as array of column vectors
Definition: sequence.hh:29
std::vector< std::string > names() const
names vector (legacy, deprecated)
Definition: sequence.cc:5