#include <residueRotamerSet.h>
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. |
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.
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.
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.
Exception::IndexOverflow | if the number of torsions is above four. |