BALL::Chain Class Reference
[Molecular Datastructures]

#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)
Chain & operator= (const Chain &chain)
void get (Chain &chain, bool deep=true) const
void swap (Chain &chain)
Accessors

Protein * getProtein ()
const Protein * getProtein () const
SecondaryStructure * getSecondaryStructure (Position position)
const SecondaryStructure * getSecondaryStructure (Position position) const
Residue * getResidue (Position position)
const Residue * getResidue (Position position) const
Residue * getNTerminal ()
const Residue * getNTerminal () const
Residue * getCTerminal ()
const Residue * getCTerminal () const
PDBAtom * getPDBAtom (Position position)
const PDBAtom * getPDBAtom (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

AtomContainer * getAtomContainer (Position position)
const AtomContainer * getAtomContainer (Position position) const
Atom * getAtom (Position position)
const Atom * getAtom (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 ( AtomContainer &  atom_container  )  [private]

Append an AtomContainer at the last position.

Parameters:
atom_container the AtomContainer to prepend

Reimplemented from BALL::AtomContainer.

void BALL::Chain::append ( Atom &  atom  )  [private]

Append an atom to the last position.

Parameters:
atom the atom to append

Reimplemented from BALL::AtomContainer.

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

Append a Residue after the last position.

Parameters:
residue the Residue to append
void BALL::Chain::append ( SecondaryStructure &  secondary_structure  ) 

Append a SecondaryStructure after the last position.

Parameters:
secondary_structure the SecondaryStructure to append
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:
chain the chain to be assigned to
See also:
chain::set
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:
position the position of the child atom
Returns:
Atom* - constant pointer to the child

Reimplemented from BALL::AtomContainer.

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:
position the position of the child atom
Returns:
Atom* - mutable 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:
position of 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:
position of 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
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:
position the position of the child PDBAtom
Returns:
PDBAtom* - constant pointer to the child PDBAtom at position
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:
position the position of the child PDBAtom
Returns:
PDBAtom* - mutable pointer to the child PDBAtom at position
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
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 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:
position the position of the child Residue
Returns:
Residue* - constant pointer to the child Residue at position
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:
position the position of the child Residue
Returns:
Residue* - mutable pointer to the child Residue 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:
position the position of the child SecondaryStructure
Returns:
SecondaryStructure* - constant pointer to the child SecondaryStructure 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:
position the position of the child SecondaryStructure
Returns:
SecondaryStructure* - mutable pointer to the child SecondaryStructure at position
void BALL::Chain::insert ( AtomContainer &  atom_container  )  [private]

Insert an AtomContainer at the last position.

Parameters:
atom_container the AtomContainer to insert

Reimplemented from BALL::AtomContainer.

void BALL::Chain::insert ( Atom &  atom  )  [private]

Insert an atom to the last position.

Parameters:
atom the atom to insert

Reimplemented from BALL::AtomContainer.

void BALL::Chain::insert ( Residue &  residue  ) 

Insert a Residue after the last position.

Parameters:
residue the Residue to insert
void BALL::Chain::insert ( SecondaryStructure &  secondary_structure  ) 

Insert a SecondaryStructure after the last position.

Parameters:
secondary_structure the SecondaryStructure to insert
void BALL::Chain::insertAfter ( AtomContainer &  atom_container,
Composite &  after 
) [private]

Insert an AtomContainer after a given Composite object.

Parameters:
atom_container the AtomContainer to insert
after the Composite object to insert after

Reimplemented from BALL::AtomContainer.

void BALL::Chain::insertAfter ( Atom &  atom,
Composite &  after 
) [private]

Insert an atom after a given Composite object.

Parameters:
atom the atom to insert
after the Composite object to insert after

Reimplemented from BALL::AtomContainer.

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

Insert a Residue after a given Composite object.

Parameters:
residue the Residue to insert
after the Composite object to insert after
void BALL::Chain::insertAfter ( SecondaryStructure &  secondary_structure,
Composite &  after 
)

Insert a SecondaryStructure after a given Composite object.

Parameters:
secondary_structure the SecondaryStructure to insert
after the Composite object to insert after
void BALL::Chain::insertBefore ( AtomContainer &  atom_container,
Composite &  before 
) [private]

Insert an AtomContainer before a given Composite object.

Parameters:
atom_container the AtomContainer to insert
before the Composite object to insert before

Reimplemented from BALL::AtomContainer.

void BALL::Chain::insertBefore ( Atom &  atom,
Composite &  before 
) [private]

Insert an atom before a given Composite object.

Parameters:
atom the atom to insert
before the Composite object to insert before

Reimplemented from BALL::AtomContainer.

void BALL::Chain::insertBefore ( Residue &  residue,
Composite &  before 
)

Insert a Residue before a given Composite object.

Parameters:
residue the Residue to insert
before the Composite object to insert before
void BALL::Chain::insertBefore ( SecondaryStructure &  secondary_structure,
Composite &  before 
)

Insert a SecondaryStructure before a given Composite object.

Parameters:
secondary_structure the SecondaryStructure to insert
before the 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:
chain the 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:
pm the 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:
pm the persistence manager

Reimplemented from BALL::AtomContainer.

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

Prepend an AtomContainer at position 0.

Parameters:
atom_container the AtomContainer to prepend

Reimplemented from BALL::AtomContainer.

void BALL::Chain::prepend ( Atom &  atom  )  [private]

Prepend an atom at position 0.

Parameters:
atom the atom to prepend

Reimplemented from BALL::AtomContainer.

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

Prepend a Residue at position 0.

Parameters:
residue the Residue to prepend
void BALL::Chain::prepend ( SecondaryStructure &  secondary_structure  ) 

Prepend a SecondaryStructure at position 0.

Parameters:
secondary_structure the SecondaryStructure to prepend
bool BALL::Chain::remove ( AtomContainer &  atom_container  )  [private]

Remove an AtomContainer

Parameters:
atom_container the 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:
atom the atom to remove

Reimplemented from BALL::AtomContainer.

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

Remove a Residue.

Parameters:
residue the Residue to remove
bool BALL::Chain::remove ( SecondaryStructure &  secondary_structure  ) 

Remove a SecondaryStructure

Parameters:
secondary_structure the 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:
chain the chain to be copied (cloned)
deep make 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_container the 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:
chain the 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_container the 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:
chain the chain to access
void BALL::Chain::swap ( Chain &  chain  ) 

Swapping of chains.

Parameters:
chain the chain this instance is being swapped with