BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Protected Member Functions | Protected Attributes | List of all members
BALL::ResidueRotamerSet Class Reference

#include <BALL/STRUCTURE/residueRotamerSet.h>

Classes

struct  RotamerProbabilityGreaterThan_
 

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 ()
 
 ResidueRotamerSet (const ResidueRotamerSet &rotamer_set)
 
 ResidueRotamerSet (const Residue &residue, Size number_of_torsions)
 
virtual ~ResidueRotamerSet ()
 
External Iteration
Iterator begin ()
 
Iterator end ()
 
ConstIterator begin () const
 
ConstIterator end () const
 
Assignment
const ResidueRotamerSetoperator= (const ResidueRotamerSet &residue_rotamer_set)
 The assignment operator. More...
 
Accessors
const StringgetName () const
 Get the name of the ResidueRotamerSet. More...
 
bool isValid () const
 Find out if the class instance is valid. More...
 
Size getNumberOfRotamers () const
 Return the number of rotamers from this residue rotamer set. More...
 
Size getNumberOfTorsions () const
 
void setNumberOfTorsions (Size number_of_torsions) throw (Exception::IndexOverflow)
 
const Rotameroperator[] (Position index) const throw (Exception::IndexOverflow)
 Random access operator for single rotamers. More...
 
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 ... More...
 
bool setRotamer (Residue &residue, const Rotamer &rotamer)
 
Rotamer getRotamer (const Residue &residue) const
 
const RotamergetRotamer (Position index) const
 
void setName (const String &name)
 Assign a new name. More...
 
void addRotamer (const Rotamer &rotamer)
 Add a rotamer to the current set. More...
 
void deleteRotamer (Iterator loc)
 Delete the Rotamer at the given iterator location. More...
 
void deleteRotamers (Iterator begin, Iterator end)
 Delete the range of rotamers. More...
 
void sort ()
 Sort the rotamers descendingly according to their probability. More...
 

Protected Member Functions

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

Protected Attributes

bool valid_
 Indicates whether the instance is valid. More...
 
String name_
 Name of the residue (variant name) More...
 
std::vector< Rotamerrotamers_
 Array containing all rotamers. More...
 
std::vector< Stringmovable_atoms_chi1_
 Names of the movable atoms (names) for each of the torsions. More...
 
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. More...
 
StringHashMap< Vector3original_coordinates_
 Original coordinates of the template residue. More...
 
bool has_torsion_phi_
 true if this residue rotamer set is backbone dependent More...
 
bool has_torsion_psi_
 true if this residue rotamer set is backbone dependent More...
 
Angle phi_
 The torsion phi. More...
 
Angle psi_
 The torsion psi. More...
 

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.

Definition at line 87 of file residueRotamerSet.h.

Member Typedef Documentation

Definition at line 96 of file residueRotamerSet.h.

Definition at line 95 of file residueRotamerSet.h.

Definition at line 98 of file residueRotamerSet.h.

Definition at line 99 of file residueRotamerSet.h.

Constructor & Destructor Documentation

BALL::ResidueRotamerSet::ResidueRotamerSet ( )

Default constructor.

BALL::ResidueRotamerSet::ResidueRotamerSet ( const ResidueRotamerSet rotamer_set)

Copy constructor

BALL::ResidueRotamerSet::ResidueRotamerSet ( const Residue residue,
Size  number_of_torsions 
)

Detailed constructor

virtual BALL::ResidueRotamerSet::~ResidueRotamerSet ( )
virtual

Destructor

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.

void BALL::ResidueRotamerSet::addRotamer ( const Rotamer rotamer)

Add a rotamer to the current set.

Iterator BALL::ResidueRotamerSet::begin ( )
inline

Definition at line 132 of file residueRotamerSet.h.

ConstIterator BALL::ResidueRotamerSet::begin ( ) const
inline

Definition at line 146 of file residueRotamerSet.h.

void BALL::ResidueRotamerSet::deleteRotamer ( Iterator  loc)

Delete the Rotamer at the given iterator location.

void BALL::ResidueRotamerSet::deleteRotamers ( Iterator  begin,
Iterator  end 
)

Delete the range of rotamers.

Iterator BALL::ResidueRotamerSet::end ( )
inline

Definition at line 139 of file residueRotamerSet.h.

ConstIterator BALL::ResidueRotamerSet::end ( ) const
inline

Definition at line 153 of file residueRotamerSet.h.

const String& BALL::ResidueRotamerSet::getName ( ) const

Get the name of the ResidueRotamerSet.

Size BALL::ResidueRotamerSet::getNumberOfRotamers ( ) const

Return the number of rotamers from this residue rotamer set.

Size BALL::ResidueRotamerSet::getNumberOfTorsions ( ) const

Return the number of valid torsions in the side chain. The number returned is between zero and four.

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.

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.

Angle BALL::ResidueRotamerSet::getTorsionPhi ( ) const
Angle BALL::ResidueRotamerSet::getTorsionPsi ( ) const
bool BALL::ResidueRotamerSet::hasTorsionPhi ( ) const
bool BALL::ResidueRotamerSet::hasTorsionPsi ( ) const
bool BALL::ResidueRotamerSet::isValid ( ) const

Find out if the class instance is valid.

const ResidueRotamerSet& BALL::ResidueRotamerSet::operator= ( const ResidueRotamerSet residue_rotamer_set)

The assignment operator.

const Rotamer& BALL::ResidueRotamerSet::operator[] ( Position  index) const
throw (Exception::IndexOverflow
)

Random access operator for single rotamers.

void BALL::ResidueRotamerSet::setName ( const String name)

Assign a new name.

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

Set the number of valid torsions for this side chain.

Exceptions
Exception::IndexOverflowif 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.

bool BALL::ResidueRotamerSet::setTemplateResidue ( const Residue residue,
Size  number_of_torsions 
)

Set the template residue, name, base coordinates ...

void BALL::ResidueRotamerSet::setTorsionAngle_ ( Residue residue,
const std::vector< String > &  movable,
float  torsion 
)
protected

Set the torsion angles.

void BALL::ResidueRotamerSet::setTorsionPhi ( const Angle phi)
void BALL::ResidueRotamerSet::setTorsionPsi ( const Angle psi)
void BALL::ResidueRotamerSet::sort ( )

Sort the rotamers descendingly according to their probability.

Member Data Documentation

bool BALL::ResidueRotamerSet::has_torsion_phi_
protected

true if this residue rotamer set is backbone dependent

Definition at line 295 of file residueRotamerSet.h.

bool BALL::ResidueRotamerSet::has_torsion_psi_
protected

true if this residue rotamer set is backbone dependent

Definition at line 298 of file residueRotamerSet.h.

std::vector<String> BALL::ResidueRotamerSet::movable_atoms_chi1_
protected

Names of the movable atoms (names) for each of the torsions.

Definition at line 283 of file residueRotamerSet.h.

std::vector<String> BALL::ResidueRotamerSet::movable_atoms_chi2_
protected

Definition at line 284 of file residueRotamerSet.h.

std::vector<String> BALL::ResidueRotamerSet::movable_atoms_chi3_
protected

Definition at line 285 of file residueRotamerSet.h.

std::vector<String> BALL::ResidueRotamerSet::movable_atoms_chi4_
protected

Definition at line 286 of file residueRotamerSet.h.

String BALL::ResidueRotamerSet::name_
protected

Name of the residue (variant name)

Definition at line 277 of file residueRotamerSet.h.

Size BALL::ResidueRotamerSet::number_of_torsions_
protected

Number of valid torsions in the side chain.

Definition at line 289 of file residueRotamerSet.h.

StringHashMap<Vector3> BALL::ResidueRotamerSet::original_coordinates_
protected

Original coordinates of the template residue.

Definition at line 292 of file residueRotamerSet.h.

Angle BALL::ResidueRotamerSet::phi_
protected

The torsion phi.

Definition at line 301 of file residueRotamerSet.h.

Angle BALL::ResidueRotamerSet::psi_
protected

The torsion psi.

Definition at line 304 of file residueRotamerSet.h.

std::vector<Rotamer> BALL::ResidueRotamerSet::rotamers_
protected

Array containing all rotamers.

Definition at line 280 of file residueRotamerSet.h.

bool BALL::ResidueRotamerSet::valid_
protected

Indicates whether the instance is valid.

Definition at line 274 of file residueRotamerSet.h.