9 #ifndef IMPROTAMER_ROTAMER_CALCULATOR_H
10 #define IMPROTAMER_ROTAMER_CALCULATOR_H
20 IMPROTAMER_BEGIN_NAMESPACE
26 : size_(0), residue_type_(rt) {}
54 double get_probability(
unsigned index)
const;
62 xmin = ymin = zmin = std::numeric_limits<double>::max();
63 xmax = ymax = zmax = -std::numeric_limits<double>::max();
70 static bool intersect(
const Box3D &b1,
const Box3D &b2);
72 typedef std::vector<Box3D> Boxes3D;
74 void create_bounding_boxes(Box3D &bb_box, Box3D &sc_box, Boxes3D &rot_boxes);
78 void push_coordinates();
82 friend class RotamerCalculator;
84 typedef std::vector<IMP::algebra::Vector3D> AtomCoordinates;
85 typedef std::vector<AtomCoordinates> ResidueCoordinates;
86 ResidueCoordinates residue_coordinates_;
87 std::vector<double> probabilities_;
126 ResidueData() : n_angles(0) {}
128 bool empty()
const {
return n_angles == 0; }
131 std::vector<IMP::atom::AtomType> at_axes;
132 std::vector<char> rot_atoms;
136 std::vector<ResidueData> residues_;
139 IMPROTAMER_END_NAMESPACE
Abstract class for scoring object(s) of type ParticleIndexPair.
Object representing rotamer library.
#define IMP_SHOWABLE_INLINE(Name, how_to_show)
Declare the methods needed by an object that can be printed.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
A class storing a whole rotamer library read from a file.
A class storing the rotated coordinates of the atoms in the residue.
#define IMP_VALUES(Name, PluralName)
Define the type for storing sets of values.
void transform(Hierarchy h, const algebra::Transformation3D &tr)
Transform a hierarchy. This is aware of rigid bodies.
The standard decorator for manipulating molecular structures.
Common base class for heavy weight IMP objects.
A class performing the rotations of atoms in the residues.
A decorator for Residues.
const ResidueType UNK
Unknown residue.
A smart pointer to a ref-counted Object that is a class member.
A decorator for a residue.
unsigned get_size() const
get number of rotamers