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;
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;
210 bool hasTorsionOmega()
const;
215 Angle getTorsionOmega()
const;
227 const Protein* getProtein()
const;
239 const Chain* getChain()
const;
270 void setID(
const String&
id);
275 const String& getID()
const;
280 void setInsertionCode(
char insertion_code);
285 char getInsertionCode()
const;
290 Size countPDBAtoms()
const;
327 void spliceBefore(
Residue& residue);
332 void spliceAfter(
Residue& residue);
348 bool isAminoAcid()
const;
355 bool isTerminal()
const;
362 bool isNTerminal()
const;
369 bool isCTerminal()
const;
375 virtual bool isResidue()
const {
return true; }
387 virtual bool isValid()
const;
395 virtual void dump(std::ostream& s = std::cout,
Size depth = 0)
const;
407 AtomContainer* getAtomContainer(
Position position);
409 const AtomContainer* getAtomContainer(
Position position) const;
411 Size countAtomContainers() const;
413 void prepend(AtomContainer& atom_container);
415 void append(AtomContainer& atom_container);
417 void insert(AtomContainer& atom_container);
419 void insertBefore(AtomContainer& atom_container, Composite& composite);
421 void insertAfter(AtomContainer& atom_container, Composite& composite);
423 void spliceBefore(AtomContainer& atom_container);
425 void spliceAfter(AtomContainer& base_ragment);
427 void splice(AtomContainer& AtomContainer);
429 bool remove(AtomContainer& AtomContainer);
431 bool isSuperAtomContainerOf(const AtomContainer& atom_container) const;
440 char insertion_code_;
443 template <class ResidueContainerType>
444 const Residue*
getNTerminal(const ResidueContainerType& residue_container)
447 for (; res_it != residue_container.endResidue(); ++res_it)
449 if (res_it->isAminoAcid() ==
true)
458 template <
class Res
idueContainerType>
462 for (; res_it != residue_container.rendResidue(); ++res_it)
465 if (res_it->isAminoAcid() ==
true)
476 #endif // BALL_KERNEL_RESIDUE_H
#define BALL_KERNEL_DEFINE_ITERATOR_CREATORS(Type)
const Residue * getNTerminal(const ResidueContainerType &residue_container)
const Residue * getCTerminal(const ResidueContainerType &residue_container)
Property
The number of predefined properties for AtomContainer.
#define BALL_RESIDUE_DEFAULT_INSERTION_CODE
#define BALL_RESIDUE_DEFAULT_ID
BALL_EXPORT bool operator!=(const String &s1, const String &s2)
#define BALL_CREATE_DEEP(name)
#define BALL_DECLARE_STD_ITERATOR_WRAPPER(container, type, method_name)
BALL_EXPORT bool operator==(const String &s1, const String &s2)
std::reverse_iterator< ResidueConstIterator > ResidueConstReverseIterator
Add the residue variant extensions (e.g. '-C' for C-terminal residues)
BALL_EXPORT AtomContainerList atomContainers(const AtomContainer &fragment, bool selected_only=false)
This returns the unmodified residue name only.