19 #ifndef OST_SEQUENCE_HH
20 #define OST_SEQUENCE_HH
28 #include <boost/shared_ptr.hpp>
32 #include <ost/info/info_fw.hh>
40 namespace ost {
namespace seq {
namespace impl {
53 const String& sequence_string,
54 const String& role=
"UNKNOWN");
59 int GetResidueIndex(
int pos)
const;
63 int GetPos(
int residue_index)
const;
66 int GetFirstNonGap()
const;
69 int GetLastNonGap()
const;
71 const String& GetName()
const;
73 void SetName(
const String& name);
75 void Cut(
int start,
int n);
77 void ShiftRegion(
int start,
int end,
int amount);
82 void SetString(
const String& seq);
88 void Replace(
const String& str,
int start,
int end);
91 String GetGaplessString()
const;
96 int GetOffset()
const;
98 int GetIndex(
const String& substr)
const;
104 void SetOffset(
int offset);
107 int GetLength()
const;
116 char GetOneLetterCode(
int position)
const;
118 void SetOneLetterCode(
int position,
char new_char);
144 bool HasAttachedView()
const;
146 void Append(
char olc);
150 return seq_string_[index];
154 return seq_string_[index];
172 void ShiftsFromSequence();
175 int GetPosNoBounds(
int index)
const;
177 static bool IsSequenceStringSane(
const String& seq_string);
186 std::list<Shift> shifts_;
195 #if(OST_INFO_ENABLED)
201 info::InfoGroup& group);
#define DLLEXPORT_OST_SEQ
char operator[](size_t index) const
ImageStateConstModOPAlgorithm< ShiftFnc > Shift
const String & GetString() const
const String & GetRole() const
pointer_it< T > end(const std::vector< T > &values)
std::vector< SequenceImplPtr > SequenceList
char & operator[](size_t index)
boost::shared_ptr< SequenceImpl > SequenceImplPtr
void SetRole(const String &role)
base class for the implementation