5 #ifndef BALL_KERNEL_RESIDUE_H
6 #define BALL_KERNEL_RESIDUE_H
8 #ifndef BALL_KERNEL_FRAGMENT_H
12 #ifndef BALL_KERNEL_PDBATOMITERATOR_H
16 #ifndef BALL_KERNEL_RESIDUEITERATOR_H
21 #define BALL_RESIDUE_DEFAULT_ID ""
22 #define BALL_RESIDUE_DEFAULT_INSERTION_CODE ' '
28 class SecondaryStructure;
85 ADD_VARIANT_EXTENSIONS_AND_ID
111 virtual void clear();
114 virtual void destroy();
141 void set(
const Residue& residue,
bool deep =
true);
149 void get(
Residue& residue,
bool deep =
true)
const;
161 bool operator == (
const Residue& residue)
const;
166 bool operator != (
const Residue& residue)
const;
185 String getFullName(FullNameType type = ADD_VARIANT_EXTENSIONS)
const;
190 bool hasTorsionPhi()
const;
195 Angle getTorsionPhi()
const;
200 bool hasTorsionPsi()
const;
205 Angle getTorsionPsi()
const;
217 const Protein* getProtein()
const;
229 const Chain* getChain()
const;
260 void setID(
const String&
id);
265 const String& getID()
const;
270 void setInsertionCode(
char insertion_code);
275 char getInsertionCode()
const;
280 Size countPDBAtoms()
const;
317 void spliceBefore(
Residue& residue);
322 void spliceAfter(
Residue& residue);
338 bool isAminoAcid()
const;
345 bool isTerminal()
const;
352 bool isNTerminal()
const;
359 bool isCTerminal()
const;
370 virtual bool isValid()
const;
378 virtual void dump(std::ostream& s = std::cout,
Size depth = 0)
const;
393 Size countAtomContainers() const;
411 bool remove(AtomContainer& AtomContainer);
413 bool isSuperAtomContainerOf(const AtomContainer& atom_container) const;
421 char insertion_code_;
424 template <class ResidueContainerType>
428 for (; res_it != residue_container.endResidue(); ++res_it)
430 if (res_it->isAminoAcid() ==
true)
439 template <
class Res
idueContainerType>
443 for (; res_it != residue_container.rendResidue(); ++res_it)
446 if (res_it->isAminoAcid() ==
true)
457 #endif // BALL_KERNEL_RESIDUE_H