#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. |
1.5.8