LocARNA-2.0.0
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 namespace LocARNA {
12 
17  class Sequence : public MultipleAlignment {
18  public:
19 
24 
30  Sequence(const std::string &name, const std::string &sequence)
31  : MultipleAlignment(name, sequence) {}
32 
38  static
39  Sequence &
41  return static_cast<Sequence &>(ma);
42  }
43 
49  static
50  const Sequence &
51  view(const MultipleAlignment &ma) {
52  return static_cast<const Sequence &>(ma);
53  }
54 
65  AliColumn
66  operator[](size_type col_index) const {
67  return column(col_index);
68  }
69 
77  std::vector<std::string>
78  names() const;
79  };
80 
81 } // end namespace LocARNA
82 
83 #endif
Represents a multiple alignment.
Definition: multiple_alignment.hh:65
AliColumn column(size_type col_index) const
Access alignment column.
Definition: multiple_alignment.hh:717
"Sequence View" of multiple alignment as array of column vectors
Definition: sequence.hh:17
Sequence()
Construct empty.
Definition: sequence.hh:23
static const Sequence & view(const MultipleAlignment &ma)
Obtain const sequence view of multiple alignment.
Definition: sequence.hh:51
AliColumn operator[](size_type col_index) const
Access to columns.
Definition: sequence.hh:66
std::vector< std::string > names() const
names vector (legacy, deprecated)
Definition: sequence.cc:5
Sequence(const std::string &name, const std::string &sequence)
Construct as single sequence.
Definition: sequence.hh:30
static Sequence & view(MultipleAlignment &ma)
Obtain sequence view of multiple alignment.
Definition: sequence.hh:40
Definition: aligner.cc:15
size_t size_type
general size type
Definition: aux.hh:120