5 #ifndef BALL_STRUCTURE_RESIDUEROTAMERSET_H
6 #define BALL_STRUCTURE_RESIDUEROTAMERSET_H
8 #ifndef BALL_MATHS_ANGLE_H
12 #ifndef BALL_DATATYPE_STRING_H
16 #ifndef BALL_MATHS_VECTOR3_H
24 template <
typename Key>
class HashSet;
25 template <
typename Key>
class StringHashMap;
51 Rotamer(
float new_P,
float new_chi1,
float new_chi2 = 0.0,
52 float new_chi3 = 0.0,
float new_chi4 = 0.0);
98 typedef std::vector<Rotamer>::iterator
Iterator;
99 typedef std::vector<Rotamer>::iterator
iterator;
134 return rotamers_.
begin();
141 return rotamers_.end();
148 return rotamers_.begin();
155 return rotamers_.end();
258 : std::binary_function<Rotamer, Rotamer, bool>
#define BALL_CREATE(name)
Rotamer()
Default constructor.
float chi3
Angle in degrees.
Rotamer(float new_P, float new_chi1, float new_chi2=0.0, float new_chi3=0.0, float new_chi4=0.0)
float chi1
Angle in degrees.
Rotamer(const Rotamer &rotamer)
Copy constructor.
float chi4
Angle in degrees.
float chi2
Angle in degrees.
bool setRotamer(Residue &residue, const Rotamer &rotamer)
std::vector< String > movable_atoms_chi3_
void deleteRotamer(Iterator loc)
Delete the Rotamer at the given iterator location.
std::vector< Rotamer >::iterator iterator
void addMovable_(std::vector< String > &movable, const Atom &a, const HashSet< String > &assigned_atoms)
ConstIterator end() const
ConstIterator begin() const
std::vector< Rotamer > rotamers_
Array containing all rotamers.
void setName(const String &name)
Assign a new name.
void setTorsionPsi(const Angle &psi)
const String & getName() const
Get the name of the ResidueRotamerSet.
bool hasTorsionPhi() const
std::vector< String > movable_atoms_chi4_
bool hasTorsionPsi() const
Angle getTorsionPhi() const
bool has_torsion_phi_
true if this residue rotamer set is backbone dependent
void deleteRotamers(Iterator begin, Iterator end)
Delete the range of rotamers.
void setNumberOfTorsions(Size number_of_torsions)
String name_
Name of the residue (variant name)
bool has_torsion_psi_
true if this residue rotamer set is backbone dependent
void addRotamer(const Rotamer &rotamer)
Add a rotamer to the current set.
std::vector< String > movable_atoms_chi1_
Names of the movable atoms (names) for each of the torsions.
void setTorsionPhi(const Angle &phi)
Angle phi_
The torsion phi.
Angle psi_
The torsion psi.
Size getNumberOfRotamers() const
Return the number of rotamers from this residue rotamer set.
Rotamer getRotamer(const Residue &residue) const
StringHashMap< Vector3 > original_coordinates_
Original coordinates of the template residue.
Angle getTorsionPsi() const
std::vector< Rotamer >::iterator Iterator
std::vector< Rotamer >::const_iterator const_iterator
bool valid_
Indicates whether the instance is valid
Size getNumberOfTorsions() const
Size number_of_torsions_
Number of valid torsions in the side chain.
std::vector< String > movable_atoms_chi2_
void sort()
Sort the rotamers descendingly according to their probability.
void setTorsionAngle_(Residue &residue, const std::vector< String > &movable, float torsion)
Set the torsion angles.
const Rotamer & getRotamer(Position index) const
bool setTemplateResidue(const Residue &residue, Size number_of_torsions)
Set the template residue, name, base coordinates ...
bool isValid() const
Find out if the class instance is valid.
std::vector< Rotamer >::const_iterator ConstIterator