BALL::ResidueRotamerSet Class Reference
[Rotamers]

Residue Rotamer Set. More...

#include <residueRotamerSet.h>

List of all members.


Public Types

Type definitions
typedef std::vector< Rotamer >
::const_iterator
ConstIterator
typedef std::vector< Rotamer >
::const_iterator
const_iterator
typedef std::vector< Rotamer >
::iterator
Iterator
typedef std::vector< Rotamer >
::iterator
iterator

Public Member Functions

Constructors and Destructors
ResidueRotamerSet ()
Default constructor.
ResidueRotamerSet (const ResidueRotamerSet &rotamer_set)
Copy constructor.
ResidueRotamerSet (const Residue &residue, Size number_of_torsions)
Detailed constructor.
virtual ~ResidueRotamerSet ()
Destructor.
External Iteration
Iterator begin ()
Iterator end ()
ConstIterator begin () const
ConstIterator end () const
Assignment
const ResidueRotamerSet & operator= (const ResidueRotamerSet &residue_rotamer_set)
The assignment operator.
Accessors
const String & getName () const
Get the name of the ResidueRotamerSet.
bool isValid () const
Find out if the class instance is valid.
Size getNumberOfRotamers () const
Return the number of rotamers from this residue rotamer set.
Size getNumberOfTorsions () const
Return the number of valid torsions in the side chain.
void setNumberOfTorsions (Size number_of_torsions) throw (Exception::IndexOverflow)
Set the number of valid torsions for this side chain.
const Rotamer & operator[] (Position index) const throw (Exception::IndexOverflow)
Random access operator for single rotamers.
bool hasTorsionPhi () const
Angle getTorsionPhi () const
void setTorsionPhi (const Angle &phi)
bool hasTorsionPsi () const
Angle getTorsionPsi () const
void setTorsionPsi (const Angle &psi)
Rotamer Assignment
bool setTemplateResidue (const Residue &residue, Size number_of_torsions)
Set the template residue, name, base coordinates ...
bool setRotamer (Residue &residue, const Rotamer &rotamer)
Assign a specific rotamer.
Rotamer getRotamer (const Residue &residue) const
Calculate the torsion angle of a residue.
const Rotamer & getRotamer (Position index) const
Return a reference to a given rotamer by number.
void setName (const String &name)
Assign a new name.
void addRotamer (const Rotamer &rotamer)
Add a rotamer to the current set.
void deleteRotamer (Iterator loc)
Delete the Rotamer at the given iterator location.
void deleteRotamers (Iterator begin, Iterator end)
Delete the range of rotamers.
void sort ()
Sort the rotamers descendingly according to their probability.

Protected Member Functions

void addMovable_ (std::vector< String > &movable, const Atom &a, const HashSet< String > &assigned_atoms)
Determine all movable atoms.
void setTorsionAngle_ (Residue &residue, const std::vector< String > &movable, float torsion)
Set the torsion angles.

Protected Attributes

bool valid_
Indicates whether the instance is valid.
String name_
Name of the residue (variant name).
std::vector< Rotamer > rotamers_
Array containing all rotamers.
std::vector< String > movable_atoms_chi1_
Names of the movable atoms (names) for each of the torsions.
std::vector< String > movable_atoms_chi2_
std::vector< String > movable_atoms_chi3_
std::vector< String > movable_atoms_chi4_
Size number_of_torsions_
Number of valid torsions in the side chain.
StringHashMap< Vector3 > original_coordinates_
Original coordinates of the template residue.
bool has_torsion_phi_
true if this residue rotamer set is backbone dependent
bool has_torsion_psi_
true if this residue rotamer set is backbone dependent
Angle phi_
The torsion phi.
Angle psi_
The torsion psi.

Detailed Description

Residue Rotamer Set.

This class stores all potential rotamers for a given side chain type. By linking a residue rotamer set to a specific side chain, one can iteratively try all contained rotamers for this side chain. The rotamers for a side chain are typically stored in a rotamer library .

The basic functionality is to store the rotamers and to modify residues according to this rotamers.


Member Function Documentation

void BALL::ResidueRotamerSet::addMovable_ ( std::vector< String > & movable,
const Atom & a,
const HashSet< String > & assigned_atoms
) [protected]

Determine all movable atoms.

This method walks along the bonds starting at a and adds them to the movable vector. Atoms whose names are contained in assigned_atoms are ignored.

Size BALL::ResidueRotamerSet::getNumberOfTorsions ( ) const

Return the number of valid torsions in the side chain.

The number returned is between zero and four.

const Rotamer& BALL::ResidueRotamerSet::getRotamer ( Position index ) const

Return a reference to a given rotamer by number.

The index should be in the range [0, getNumberOfRotamers ()[, however the index is computed modulo the maximum number, so it really doesn't matter.

Rotamer BALL::ResidueRotamerSet::getRotamer ( const Residue & residue ) const

Calculate the torsion angle of a residue.

Retrieve the side-chain torsion angles from the residue's current conformation.

void BALL::ResidueRotamerSet::setNumberOfTorsions ( Size number_of_torsions ) throw (Exception::IndexOverflow)

Set the number of valid torsions for this side chain.

Exceptions:
Exception::IndexOverflow if the number of torsions is above four.

bool BALL::ResidueRotamerSet::setRotamer ( Residue & residue,
const Rotamer & rotamer
)

Assign a specific rotamer.

Set the side-chain torsions of residue to the values specified by rotamer.


Generated on Thu Aug 6 18:30:47 2009 for BALL by doxygen 1.5.8