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;
51 PROPERTY__NON_STANDARD = Fragment::NUMBER_OF_PROPERTIES + 1,
85 ADD_VARIANT_EXTENSIONS_AND_ID
161 bool operator == (
const Residue& residue)
const;
166 bool operator != (
const Residue& residue)
const;
408 virtual void dump(std::ostream& s = std::cout,
Size depth = 0)
const;
424 Size countAtomContainers()
const;
444 bool isSuperAtomContainerOf(
const AtomContainer& atom_container)
const;
453 char insertion_code_;
456 template <
class Res
idueContainerType>
460 for (; res_it != residue_container.endResidue(); ++res_it)
462 if (res_it->isAminoAcid() ==
true)
471 template <
class Res
idueContainerType>
475 for (; res_it != residue_container.rendResidue(); ++res_it)
478 if (res_it->isAminoAcid() ==
true)
#define BALL_DECLARE_STD_ITERATOR_WRAPPER(container, type, method_name)
#define BALL_KERNEL_DEFINE_ITERATOR_CREATORS(Type)
#define BALL_RESIDUE_DEFAULT_INSERTION_CODE
#define BALL_RESIDUE_DEFAULT_ID
#define BALL_CREATE_DEEP(name)
const Residue * getCTerminal(const ResidueContainerType &residue_container)
std::reverse_iterator< ResidueConstIterator > ResidueConstReverseIterator
const Residue * getNTerminal(const ResidueContainerType &residue_container)
ConstBidirectionalIterator< Composite, Residue, Composite::CompositeIterator, ResidueIteratorTraits > ResidueConstIterator
Residue(const Residue &residue, bool deep=true)
Copy constructor.
void unsetInsertionCode()
void swap(Residue &residue)
Angle getTorsionPhi() const
Angle getTorsionPsi() const
const String & getID() const
virtual void destroy()
Clears the contents of this instance and removes it from all composite structures.
const Chain * getChain() const
SecondaryStructure * getSecondaryStructure()
virtual void dump(std::ostream &s=std::cout, Size depth=0) const
void persistentWrite(PersistenceManager &pm, const char *name=0) const
void set(const Residue &residue, bool deep=true)
const PDBAtom * getPDBAtom(Position position) const
void insertAfter(PDBAtom &atom, Composite &after)
void persistentRead(PersistenceManager &pm)
void insert(PDBAtom &atom)
bool remove(PDBAtom &atom)
void get(Residue &residue, bool deep=true) const
Angle getTorsionOmega() const
void setInsertionCode(char insertion_code)
virtual ~Residue()
Destructor.
Size countPDBAtoms() const
PDBAtom * getPDBAtom(Position position)
char getInsertionCode() const
virtual bool isResidue() const
String getFullName(FullNameType type=ADD_VARIANT_EXTENSIONS) const
virtual void clear()
Clears the contents of this instance.
Residue()
Default constructor.
virtual bool isValid() const
void insertBefore(PDBAtom &atom, Composite &before)
bool hasTorsionPhi() const
void spliceBefore(Residue &residue)
bool hasTorsionOmega() const
const SecondaryStructure * getSecondaryStructure() const
void spliceAfter(Residue &residue)
Residue(const String &name, const String &id=BALL_RESIDUE_DEFAULT_ID, char insertion_code=BALL_RESIDUE_DEFAULT_INSERTION_CODE)
Detailled constructor.
@ ADD_VARIANT_EXTENSIONS
Add the residue variant extensions (e.g. '-C' for C-terminal residues)
@ NO_VARIANT_EXTENSIONS
This returns the unmodified residue name only.
void splice(Residue &residue)
void setID(const String &id)
bool hasTorsionPsi() const
void prepend(PDBAtom &atom)
const Protein * getProtein() const
void append(PDBAtom &atom)