Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members

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 ResidueRotamerSetoperator= (const ResidueRotamerSet &residue_rotamer_set)
 The assignment operator.
Accessors
const StringgetName () 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 Rotameroperator[] (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 RotamergetRotamer (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< Rotamerrotamers_
 Array containing all rotamers.
std::vector< Stringmovable_atoms_chi1_
 Names of the movable atoms (names) for each of the torsions.
std::vector< Stringmovable_atoms_chi2_
std::vector< Stringmovable_atoms_chi3_
std::vector< Stringmovable_atoms_chi4_
Size number_of_torsions_
 Number of valid torsions in the side chain.
StringHashMap< Vector3original_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.


Constructor & Destructor Documentation

ResidueRotamerSet::ResidueRotamerSet  ) 
 

Default constructor.


Member Function Documentation

void 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 ResidueRotamerSet::getNumberOfTorsions  )  const
 

Return the number of valid torsions in the side chain.

The number returned is between zero and four.

const Rotamer& 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 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 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 ResidueRotamerSet::setRotamer Residue residue,
const Rotamer rotamer
 

Assign a specific rotamer.

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