BALL::Chain Class Reference

#include <BALL/KERNEL/chain.h>

Inheritance diagram for BALL::Chain:
BALL::AtomContainer BALL::Composite BALL::PropertyManager BALL::PersistentObject BALL::Selectable BALL::Object BALL::AutoDeletable

List of all members.

Public Types

Enums
enum  Property { NUMBER_OF_PROPERTIES = AtomContainer::NUMBER_OF_PROPERTIES }
 

The number of predefined properties for AtomContainer.

More...

Public Member Functions

bool operator== (const Chain &chain) const
bool operator!= (const Chain &chain) const
Constructors and Destructors
 Chain ()
 Default constrcutor.
 Chain (const Chain &chain, bool deep=true)
 Copy constructor.
 Chain (const String &name)
 Detailled constructor.
virtual ~Chain ()
 Destructor.
Persistence
void persistentWrite (PersistenceManager &pm, const char *name=0) const throw (Exception::GeneralException)
void persistentRead (PersistenceManager &pm) throw (Exception::GeneralException)
Assignment
void set (const Chain &chain, bool deep=true)
Chainoperator= (const Chain &chain)
void get (Chain &chain, bool deep=true) const
void swap (Chain &chain)
Accessors
ProteingetProtein ()
const ProteingetProtein () const
SecondaryStructuregetSecondaryStructure (Position position)
const SecondaryStructuregetSecondaryStructure (Position position) const
ResiduegetResidue (Position position)
const ResiduegetResidue (Position position) const
ResiduegetNTerminal ()
const ResiduegetNTerminal () const
ResiduegetCTerminal ()
const ResiduegetCTerminal () const
PDBAtomgetPDBAtom (Position position)
const PDBAtomgetPDBAtom (Position position) const
Size countSecondaryStructures () const
Size countResidues () const
Size countPDBAtoms () const
void prepend (SecondaryStructure &secondary_structure)
void append (SecondaryStructure &secondary_structure)
void insert (SecondaryStructure &secondary_structure)
void insertBefore (SecondaryStructure &secondary_structure, Composite &before)
void insertAfter (SecondaryStructure &secondary_structure, Composite &after)
bool remove (SecondaryStructure &secondary_structure)
void prepend (Residue &residue)
void append (Residue &residue)
void insert (Residue &residue)
void insertBefore (Residue &residue, Composite &before)
void insertAfter (Residue &residue, Composite &after)
bool remove (Residue &residue)
void spliceBefore (Chain &chain)
void spliceAfter (Chain &chain)
void splice (Chain &chain)
Debugging and Diagnostics
virtual void dump (std::ostream &s=std::cout, Size depth=0) const

Private Member Functions

AtomContainergetAtomContainer (Position position)
const AtomContainergetAtomContainer (Position position) const
AtomgetAtom (Position position)
const AtomgetAtom (Position position) const
void prepend (Atom &atom)
void append (Atom &atom)
void insert (Atom &atom)
void insertBefore (Atom &atom, Composite &before)
void insertAfter (Atom &atom, Composite &after)
bool remove (Atom &atom)
void prepend (AtomContainer &atom_container)
void append (AtomContainer &atom_container)
void insert (AtomContainer &atom_container)
void insertBefore (AtomContainer &atom_container, Composite &before)
void insertAfter (AtomContainer &atom_container, Composite &after)
void spliceBefore (AtomContainer &atom_container)
void spliceAfter (AtomContainer &atom_container)
void splice (AtomContainer &atom_container)
bool remove (AtomContainer &atom_container)

Detailed Description

Protein chain class. This class represents a polypeptide chain within a Protein . Chains can contain SecondaryStructure s or Residue s.


Member Enumeration Documentation

The number of predefined properties for AtomContainer.

Enumerator:
NUMBER_OF_PROPERTIES 

Reimplemented from BALL::AtomContainer.


Constructor & Destructor Documentation

BALL::Chain::Chain ( )

Default constrcutor.

BALL::Chain::Chain ( const Chain chain,
bool  deep = true 
)

Copy constructor.

BALL::Chain::Chain ( const String name)

Detailled constructor.

virtual BALL::Chain::~Chain ( ) [virtual]

Destructor.


Member Function Documentation

void BALL::Chain::append ( SecondaryStructure secondary_structure)

Append a SecondaryStructure after the last position.

Parameters:
secondary_structurethe SecondaryStructure to append
void BALL::Chain::append ( Atom atom) [private]

Append an atom to the last position.

Parameters:
atomthe atom to append

Reimplemented from BALL::AtomContainer.

void BALL::Chain::append ( Residue residue)

Append a Residue after the last position.

Parameters:
residuethe Residue to append
void BALL::Chain::append ( AtomContainer atom_container) [private]

Append an AtomContainer at the last position.

Parameters:
atom_containerthe AtomContainer to prepend

Reimplemented from BALL::AtomContainer.

Size BALL::Chain::countPDBAtoms ( ) const

Count the PDBAtoms

Returns:
Size the number of PDBAtoms
Size BALL::Chain::countResidues ( ) const

Count the Residues

Returns:
Size the number of residues
Size BALL::Chain::countSecondaryStructures ( ) const

Count the SecondaryStructures

Returns:
Size the number of secondary structures
virtual void BALL::Chain::dump ( std::ostream &  s = std::cout,
Size  depth = 0 
) const [virtual]

Internal state dump. Dump the current internal state to the output ostream s with dumping depth depth .

Parameters:
s- output stream where to output the internal state.
depth- the dumping depth

Reimplemented from BALL::AtomContainer.

void BALL::Chain::get ( Chain chain,
bool  deep = true 
) const

Copying with cloning facility. The assignment is either deep or shallow (default).

Parameters:
chainthe chain to be assigned to
See also:
chain::set
Atom* BALL::Chain::getAtom ( Position  position) [private]

Get a pointer to a child atom at a given position. The pointer is 0 if this instance does not have an atom at the given position.

Parameters:
positionthe position of the child atom
Returns:
Atom* - mutable pointer to the child

Reimplemented from BALL::AtomContainer.

const Atom* BALL::Chain::getAtom ( Position  position) const [private]

Get a pointer to a child atom at a given position. The pointer is 0 if this instance does not have an atom at the given position.

Parameters:
positionthe position of the child atom
Returns:
Atom* - constant pointer to the child

Reimplemented from BALL::AtomContainer.

const AtomContainer* BALL::Chain::getAtomContainer ( Position  position) const [private]

Get a constant pointer to a child AtomContainer at a given position. The pointer is 0 if this instance does not have an AtomContainer at the given position.

Parameters:
positionof the child AtomContainer
Returns:
AtomContainer* - constant pointer to the child

Reimplemented from BALL::AtomContainer.

AtomContainer* BALL::Chain::getAtomContainer ( Position  position) [private]

Get a pointer to a child AtomContainer at a given position. The pointer is 0 if this instance does not have an AtomContainer at the given position.

Parameters:
positionof the child AtomContainer
Returns:
AtomContainer* - mutable pointer to the child

Reimplemented from BALL::AtomContainer.

const Residue* BALL::Chain::getCTerminal ( ) const

Get a constant pointer to the C-terminal Residue. The pointer is 0 if this instance does not have a Residue with the property "PROPERTY__AMINO_ACID".

Returns:
Residue* - constant pointer to the C-terminal Residue
Residue* BALL::Chain::getCTerminal ( )

Get a pointer to the C-terminal Residue. The pointer is 0 if this instance does not have a Residue with the property "PROPERTY__AMINO_ACID".

Returns:
Residue* - mutable pointer to the C-terminal Residue
const Residue* BALL::Chain::getNTerminal ( ) const

Get a constant pointer to the N-terminal Residue. The pointer is 0 if this instance does not have a Residue with the property "PROPERTY__AMINO_ACID".

Returns:
Residue* - constant pointer to the N-terminal Residue
Residue* BALL::Chain::getNTerminal ( )

Get a pointer to the N-terminal Residue. The pointer is 0 if this instance does not have a Residue with the property "PROPERTY__AMINO_ACID".

Returns:
Residue* - mutable pointer to the N-terminal Residue
PDBAtom* BALL::Chain::getPDBAtom ( Position  position)

Get a pointer to a child PDBAtom at a given position. The pointer is 0 if this instance does not have a PDBAtom at this position.

Parameters:
positionthe position of the child PDBAtom
Returns:
PDBAtom* - mutable pointer to the child PDBAtom at position
const PDBAtom* BALL::Chain::getPDBAtom ( Position  position) const

Get a pointer to a child PDBAtom at a given position. The pointer is 0 if this instance does not have a PDBAtom at this position.

Parameters:
positionthe position of the child PDBAtom
Returns:
PDBAtom* - constant pointer to the child PDBAtom at position
Protein* BALL::Chain::getProtein ( )

Get a pointer to the parent protein. The pointer is 0 if this instance does not have a parent protein.

Returns:
Protein* - mutable pointer to the parent protein
const Protein* BALL::Chain::getProtein ( ) const

Get a constant pointer to the parent protein. The pointer is 0 if this instance does not have a parent protein.

Returns:
Protein* - constant pointer to the parent protein
Residue* BALL::Chain::getResidue ( Position  position)

Get a pointer to a child Residue at a given position. The pointer is 0 if this instance does not have a Residue at this position.

Parameters:
positionthe position of the child Residue
Returns:
Residue* - mutable pointer to the child Residue at position
const Residue* BALL::Chain::getResidue ( Position  position) const

Get a pointer to a child Residue at a given position. The pointer is 0 if this instance does not have a Residue at this position.

Parameters:
positionthe position of the child Residue
Returns:
Residue* - constant pointer to the child Residue at position
SecondaryStructure* BALL::Chain::getSecondaryStructure ( Position  position)

Get a pointer to a child SecondaryStructure at a given position. The pointer is 0 if this instance does not have a SecondaryStructure at this position.

Parameters:
positionthe position of the child SecondaryStructure
Returns:
SecondaryStructure* - mutable pointer to the child SecondaryStructure at position
const SecondaryStructure* BALL::Chain::getSecondaryStructure ( Position  position) const

Get a constant pointer to a child SecondaryStructure at a given position. The pointer is 0 if this instance does not have a SecondaryStructure at this position.

Parameters:
positionthe position of the child SecondaryStructure
Returns:
SecondaryStructure* - constant pointer to the child SecondaryStructure at position
void BALL::Chain::insert ( Residue residue)

Insert a Residue after the last position.

Parameters:
residuethe Residue to insert
void BALL::Chain::insert ( Atom atom) [private]

Insert an atom to the last position.

Parameters:
atomthe atom to insert

Reimplemented from BALL::AtomContainer.

void BALL::Chain::insert ( SecondaryStructure secondary_structure)

Insert a SecondaryStructure after the last position.

Parameters:
secondary_structurethe SecondaryStructure to insert
void BALL::Chain::insert ( AtomContainer atom_container) [private]

Insert an AtomContainer at the last position.

Parameters:
atom_containerthe AtomContainer to insert

Reimplemented from BALL::AtomContainer.

void BALL::Chain::insertAfter ( Residue residue,
Composite after 
)

Insert a Residue after a given Composite object.

Parameters:
residuethe Residue to insert
afterthe Composite object to insert after
void BALL::Chain::insertAfter ( Atom atom,
Composite after 
) [private]

Insert an atom after a given Composite object.

Parameters:
atomthe atom to insert
afterthe Composite object to insert after

Reimplemented from BALL::AtomContainer.

void BALL::Chain::insertAfter ( AtomContainer atom_container,
Composite after 
) [private]

Insert an AtomContainer after a given Composite object.

Parameters:
atom_containerthe AtomContainer to insert
afterthe Composite object to insert after

Reimplemented from BALL::AtomContainer.

void BALL::Chain::insertAfter ( SecondaryStructure secondary_structure,
Composite after 
)

Insert a SecondaryStructure after a given Composite object.

Parameters:
secondary_structurethe SecondaryStructure to insert
afterthe Composite object to insert after
void BALL::Chain::insertBefore ( Residue residue,
Composite before 
)

Insert a Residue before a given Composite object.

Parameters:
residuethe Residue to insert
beforethe Composite object to insert before
void BALL::Chain::insertBefore ( Atom atom,
Composite before 
) [private]

Insert an atom before a given Composite object.

Parameters:
atomthe atom to insert
beforethe Composite object to insert before

Reimplemented from BALL::AtomContainer.

void BALL::Chain::insertBefore ( AtomContainer atom_container,
Composite before 
) [private]

Insert an AtomContainer before a given Composite object.

Parameters:
atom_containerthe AtomContainer to insert
beforethe Composite object to insert before

Reimplemented from BALL::AtomContainer.

void BALL::Chain::insertBefore ( SecondaryStructure secondary_structure,
Composite before 
)

Insert a SecondaryStructure before a given Composite object.

Parameters:
secondary_structurethe SecondaryStructure to insert
beforethe Composite object to insert before
bool BALL::Chain::operator!= ( const Chain chain) const

Inequality operator

See also:
operator ==
Chain& BALL::Chain::operator= ( const Chain chain)

Assignment operator. The assignment is deep.

Parameters:
chainthe chain to be copied (cloned)
Returns:
chain& - this instance.
See also:
chain::set
bool BALL::Chain::operator== ( const Chain chain) const

Equality operator. Two chains are equal if they have the same handle.

See also:
Object::operator ==
void BALL::Chain::persistentRead ( PersistenceManager pm) throw (Exception::GeneralException) [virtual]

Reads a Chain object from a persistent stream.

Parameters:
pmthe persistence manager

Reimplemented from BALL::AtomContainer.

void BALL::Chain::persistentWrite ( PersistenceManager pm,
const char *  name = 0 
) const throw (Exception::GeneralException) [virtual]

Writes a Chain object to a persistent stream.

Parameters:
pmthe persistence manager

Reimplemented from BALL::AtomContainer.

void BALL::Chain::prepend ( Residue residue)

Prepend a Residue at position 0.

Parameters:
residuethe Residue to prepend
void BALL::Chain::prepend ( SecondaryStructure secondary_structure)

Prepend a SecondaryStructure at position 0.

Parameters:
secondary_structurethe SecondaryStructure to prepend
void BALL::Chain::prepend ( Atom atom) [private]

Prepend an atom at position 0.

Parameters:
atomthe atom to prepend

Reimplemented from BALL::AtomContainer.

void BALL::Chain::prepend ( AtomContainer atom_container) [private]

Prepend an AtomContainer at position 0.

Parameters:
atom_containerthe AtomContainer to prepend

Reimplemented from BALL::AtomContainer.

bool BALL::Chain::remove ( AtomContainer atom_container) [private]

Remove an AtomContainer

Parameters:
atom_containerthe AtomContainer to remove
Returns:
false if {atom_container} could not be removed

Reimplemented from BALL::AtomContainer.

bool BALL::Chain::remove ( Atom atom) [private]

Remove an atom

Parameters:
atomthe atom to remove

Reimplemented from BALL::AtomContainer.

bool BALL::Chain::remove ( Residue residue)

Remove a Residue.

Parameters:
residuethe Residue to remove
bool BALL::Chain::remove ( SecondaryStructure secondary_structure)

Remove a SecondaryStructure

Parameters:
secondary_structurethe SecondaryStructure to remove
void BALL::Chain::set ( const Chain chain,
bool  deep = true 
)

Assignment with cloning facility. The assignment is either deep or shallow (default).

Parameters:
chainthe chain to be copied (cloned)
deepmake a deep (=true) or shallow (=false) copy
void BALL::Chain::splice ( AtomContainer atom_container) [private]

Move the children of {atom_container} into this instance. The children of atom_container are inserted at its position if it is is a child of this. Otherwise the children are inserted using spliceBefore .

Reimplemented from BALL::AtomContainer.

void BALL::Chain::splice ( Chain chain)

Move the children of chain into this chain. The children of chain are inserted using spliceBefore .

void BALL::Chain::spliceAfter ( AtomContainer atom_container) [private]

Cut all children of atom_container and append them after the children of this instance.

Parameters:
atom_containerthe AtomContainer to access

Reimplemented from BALL::AtomContainer.

void BALL::Chain::spliceAfter ( Chain chain)

Cut all children of chain and append them after the children of this chain.

Parameters:
chainthe chain to access
void BALL::Chain::spliceBefore ( AtomContainer atom_container) [private]

Cut all children of atom_container and prepend them before the children of this instance.

Parameters:
atom_containerthe AtomContainer to access

Reimplemented from BALL::AtomContainer.

void BALL::Chain::spliceBefore ( Chain chain)

Cut all children of chain and prepend them before the children of this chain.

Parameters:
chainthe chain to access
void BALL::Chain::swap ( Chain chain)

Swapping of chains.

Parameters:
chainthe chain this instance is being swapped with