5 #ifndef BALL_KERNEL_NUCLEOTIDE_H
6 #define BALL_KERNEL_NUCLEOTIDE_H
8 #ifndef BALL_KERNEL_FRAGMENT_H
12 #ifndef BALL_KERNEL_RESIDUE_H
16 #ifndef BALL_KERNEL_NUCLEOTIDEITERATOR_H
21 #define BALL_NUCLEOTIDE_DEFAULT_ID ""
22 #define BALL_NUCLEOTIDE_DEFAULT_INSERTION_CODE ' '
84 virtual void destroy();
111 void set(
const Nucleotide& nucleotide,
bool deep =
true);
126 void get(
Nucleotide& nucleotide,
bool deep =
true)
const;
139 bool operator == (
const Nucleotide& nucleotide)
const;
144 bool operator != (
const Nucleotide& nucleotide)
const;
164 void setID(
const String&
id);
169 const String& getID()
const;
174 void setInsertionCode(
char insertion_code);
179 char getInsertionCode()
const;
184 void prepend(
Atom& atom);
189 void append(
Atom& atom);
194 void insert(
Atom& atom);
211 bool remove(
Atom& atom);
238 bool isTerminal()
const;
244 bool is3Prime()
const;
250 bool is5Prime()
const;
261 virtual bool isValid()
const;
269 virtual void dump(std::ostream& s = std::cout,
Size depth = 0)
const;
279 Size countAtomContainers()
const;
299 bool isSuperAtomContainerOf(
const AtomContainer& atom_container)
const;
307 char insertion_code_;
311 template <class NucleotideContainerType>
315 for ( res_it = nucleotide_container.beginNucleotide(); !res_it.
isEnd(); ++res_it)
323 template <
class Nucleot
ideContainerType>
336 #endif // BALL_KERNEL_NUCLEOTIDE_H