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;
114 ResidueRotamerSet(const ResidueRotamerSet& rotamer_set);
118 ResidueRotamerSet(const
Residue& residue,
Size number_of_torsions);
122 virtual ~ResidueRotamerSet();
134 return rotamers_.
begin();
141 return rotamers_.end();
148 return rotamers_.begin();
155 return rotamers_.end();
173 bool isValid()
const;
176 Size getNumberOfRotamers()
const;
181 Size getNumberOfTorsions()
const;
192 bool hasTorsionPhi()
const;
195 Angle getTorsionPhi()
const;
198 void setTorsionPhi(
const Angle& phi);
201 bool hasTorsionPsi()
const;
204 Angle getTorsionPsi()
const;
207 void setTorsionPsi(
const Angle& psi);
213 bool setTemplateResidue(
const Residue& residue,
Size number_of_torsions);
234 void setName(
const String& name);
237 void addRotamer(
const Rotamer& rotamer);
240 void deleteRotamer(Iterator loc);
243 void deleteRotamers(Iterator begin, Iterator end);
255 : std::binary_function<Rotamer, Rotamer, bool>
268 void addMovable_(std::vector<String>& movable,
const Atom& a,
const HashSet<String>& assigned_atoms);
271 void setTorsionAngle_(
Residue& residue,
const std::vector<String>& movable,
float torsion);
309 #endif // BALL_STRUCTURE_RESIDUEROTAMERSET_H
float chi2
Angle in degrees.
#define BALL_CREATE(name)
std::vector< String > movable_atoms_chi2_
std::vector< String > movable_atoms_chi1_
Names of the movable atoms (names) for each of the torsions.
Size number_of_torsions_
Number of valid torsions in the side chain.
std::vector< String > movable_atoms_chi4_
ConstIterator begin() const
float chi4
Angle in degrees.
std::vector< Rotamer > rotamers_
Array containing all rotamers.
std::vector< Rotamer >::iterator Iterator
StringHashMap< Vector3 > original_coordinates_
Original coordinates of the template residue.
std::vector< Rotamer >::const_iterator const_iterator
Angle phi_
The torsion phi.
bool valid_
Indicates whether the instance is valid.
String name_
Name of the residue (variant name)
std::vector< Rotamer >::iterator iterator
ConstIterator end() const
std::vector< String > movable_atoms_chi3_
std::vector< Rotamer >::const_iterator ConstIterator
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
float chi1
Angle in degrees.
Angle psi_
The torsion psi.
float chi3
Angle in degrees.