9 #ifndef IMPROTAMER_ROTAMER_LIBRARY_H
10 #define IMPROTAMER_ROTAMER_LIBRARY_H
14 #include <boost/range/iterator_range.hpp>
17 #include <IMP/rotamer/rotamer_config.h>
19 IMPROTAMER_BEGIN_NAMESPACE
43 , probability_(probability)
48 float get_chi1()
const
54 float get_chi2()
const
60 float get_chi3()
const
66 float get_chi4()
const
72 float get_probability()
const
78 out <<
"RotamerAngleTuple: " << chi1_ <<
' '
80 << chi3_ <<
' ' << chi4_ <<
' '
105 typedef RotamerAngleTuples::const_iterator RotamerIterator;
106 typedef boost::iterator_range<RotamerIterator> RotamerRange;
126 RotamerRange get_rotamers_fast(
128 float probability_thr)
const;
142 float probability_thr)
const;
146 void read_library_file(
const std::string &lib_file_name);
151 unsigned backbone_angle_to_index(
float phi,
float psi)
const;
153 typedef std::vector<RotamerAngleTuples> RotamerAngleTuplesByBackbone;
154 typedef std::vector<RotamerAngleTuplesByBackbone> RotamersByResidue;
155 RotamersByResidue library_;
157 unsigned angle_step_;
158 unsigned rotamers_by_backbone_size_;
162 IMPROTAMER_END_NAMESPACE