|
Rosetta 3.5
|
The external geom sampler is a class that manages the data necessary to construct the coordinates of the three atoms in the downstream partner. More...
#include <ExternalGeomSampler.hh>


Public Types | |
| typedef utility::pointer::ReferenceCount | parent |
| typedef core::Size | Size |
| typedef core::Real | Real |
| typedef numeric::HomogeneousTransform < Real > | HTReal |
The external geom sampler is a class that manages the data necessary to construct the coordinates of the three atoms in the downstream partner.
The external geom sampler holds the data for the six degrees of freedom that describe the downstream atoms relative to the upstream atoms. The naming of the 6 atoms involved and the 6 degrees of freedom involved is as follows:
Atoms U1, U2, and U3 are on the upstream partner. Atoms D1, D2, and D3 are on the downstream partner. The numbers indicate the distance the atoms have from the "break" between the upstream and downstream partners.
DOF 1: "tor_U3D1" is the torsion between atoms U3, U2, U1 and D1. DOF 2: "ang_U2D1" is angle between atoms U2, U1 and D1. DOF 3: "dis_U1D1" is the distance between atoms U1 and D1. DOF 4: "tor_U2D2" is the torsion between atoms U2, U1, D1 and D2. DOF 5: "ang_U1D2" is the angle between atoms U1, D1 and D3 DOF 6: "tor_U1D3" is the torsion between atoms U1, D1, D2 and D3
This naming convention describes a parameter by three letters followed by two atom names. The letter is "d" for distance, "a" for angle, and "t" for torsion. The two numbers describe the end points of that parameter assuming a continuous span of numbers between. E.g. t25 describes the geometry of 4 atoms starting at 2 and going to 5, hitting atoms 3 and 4 along the way.
ASCII art: Fig 1. The 6 atoms that define the geometry between the upstream partner and the downstream partner. dis_U1D1 is the distance between atoms U1 and D1 U3 U2 — U1
\ dis_U1D1
D1 --- D2
\.
D3
Fig 2. The two angles U3 U2 — U1 ang_U2D1 ang_U1D2 D1 — D2 D3 Fig 3. The three torsions U3 \ tor_U3D1 tor_U3D1: torsion about U2-U1 axis starting at atom U3 and ending at D1 U2 — U1
\ tor_U2D2 tor_U2D2: torsion about U1-D1 axis starting at atom U2 and ending at D2
D1 --- D2
tor_U1D3 \ tor_U1D3: torsion about D1-D2 axis starting at atom U1 and ending at D3
D3
There are three other parameters needed to construct the location of atoms 4, 5 and 6 from atoms 1, 2 and 3, but these are not considered DOFs as they are not allowed to vary. They are: Extra 1: the distance between atom D1 and atom D2 Extra 2: the distance between atom D2 and atom D3 Extra 3: the angle between atoms D1, D2 and D3.
These three parameters must be communicated to the ExternGeomSampler through its functions set_dis_D1D2, set_dis_D2D3 and set_ang_D1D2D3.
The ExternalGeomSampler holds the set of samples for each of the 6 DOFs. For each sample, it precomputes a HomogeneousTransform so that during the enumeration of all sample combinations the coordinate computation requires matrix multiplication only: the more expensive transcendental function evaluations evaluated before coordinate construction begins, their results stored, and are thereby avoided in the enumeration loops.
To build the coordinates of atoms D1, D2 and D3, given the sample id's for the 6 DOFs as the 6-tuple [ i, j, k, l, m, n ]: start with a coordinate frame at atom U1 s.t. the z axis lies on the vector from atom U2 to atom U1, the y axis lies in the plane defined atoms U1, U2 and U3, and the x axis is the cross-product of y and z. Call the start frame "frame1." frame2 is the product: frame1 * transform( HT_tor_U3D1, i ); frame3 is the product: frame2 * transform( HT_ang_U2D1, j ); frame4 is computed from frame3 by walking along frame3's z-axis by dis_U1D1_samples( k ); frame4.point() is the coordinate for atom 4. frame5 is the product: frame4 * transform( HT_tor_U2D2, l ); frame6 is the product: frame5 * transform( HT_ang_U1D2, m ); frame6.point() is the coordinate for atom 5. NOTE: transform( HT_ang_U1D2, m ) is the product of the z-axis rotation by ang_U1D2_sample_[ m ] and the transformation HT along the z-axis by the distance between atoms D1 and D2. The ExternalGeomSampler pre-multiplies these matricies. frame7 is the product: frame6 * transform( HT_tor_U1D3, n ); frame7.point() is the coordinate for atom 6. NOTE: transform( HT_tor_U1D3, n ) is the product of three HTs: the HT representing the z-axis rotation by tor_U1D3_sample_[ n ], the HT representing the x-axis rotation by ( -1 * ( 180 - ang_D1D2D3 ) ) and the HT representing the z-axis translation by the distance between atoms D2 and D3. The ExternalGeomSampler pre-multiplies these matrices.
Definition at line 148 of file ExternalGeomSampler.hh.
| typedef numeric::HomogeneousTransform< Real > protocols::toolbox::match_enzdes_util::ExternalGeomSampler::HTReal |
Definition at line 153 of file ExternalGeomSampler.hh.
| typedef utility::pointer::ReferenceCount protocols::toolbox::match_enzdes_util::ExternalGeomSampler::parent |
Definition at line 150 of file ExternalGeomSampler.hh.
Definition at line 152 of file ExternalGeomSampler.hh.
Definition at line 151 of file ExternalGeomSampler.hh.
|
virtual |
Definition at line 25 of file ExternalGeomSampler.cc.
| protocols::toolbox::match_enzdes_util::ExternalGeomSampler::ExternalGeomSampler | ( | ) |
Definition at line 27 of file ExternalGeomSampler.cc.
| protocols::toolbox::match_enzdes_util::ExternalGeomSampler::ExternalGeomSampler | ( | ExternalGeomSampler const & | other) |
Definition at line 36 of file ExternalGeomSampler.cc.
|
inline |
Definition at line 215 of file ExternalGeomSampler.hh.
References ang_U1D2_samples_.
Referenced by protocols::match::Matcher::add_external_geometry_samples_for_constraint(), and set_ang_U1D2_samples().
|
inline |
Definition at line 214 of file ExternalGeomSampler.hh.
References ang_U2D1_samples_.
Referenced by protocols::match::Matcher::add_external_geometry_samples_for_constraint(), and set_ang_U2D1_samples().
|
inline |
Definition at line 213 of file ExternalGeomSampler.hh.
References dis_U1D1_samples_.
Referenced by protocols::match::Matcher::add_external_geometry_samples_for_constraint(), protocols::toolbox::match_enzdes_util::MatchConstraintFileInfo::inverse_rotamers_against_residue(), and set_dis_U1D1_samples().
| void protocols::toolbox::match_enzdes_util::ExternalGeomSampler::flip_upstream_downstream_samples | ( | ) |
convenience function if one wants to change the meaning of upstream and downstream
Definition at line 217 of file ExternalGeomSampler.cc.
References ang_U1D2_samples_, ang_U2D1_samples_, tor_U1D3_samples_, tor_U3D1_samples_, and transforms_uptodate_.
Referenced by protocols::toolbox::match_enzdes_util::MatchConstraintFileInfo::inverse_rotamers_against_residue().
|
inline |
Definition at line 208 of file ExternalGeomSampler.hh.
References ang_U1D2_samples_.
Referenced by protocols::match::Matcher::add_external_geometry_samples_for_constraint(), protocols::toolbox::match_enzdes_util::MatchConstraintFileInfo::inverse_rotamers_against_residue(), and protocols::match::downstream::ClassicMatchAlgorithm::n_possible_hits_per_upstream_conformation().
|
inline |
Definition at line 207 of file ExternalGeomSampler.hh.
References ang_U2D1_samples_.
Referenced by protocols::match::Matcher::add_external_geometry_samples_for_constraint(), protocols::toolbox::match_enzdes_util::MatchConstraintFileInfo::inverse_rotamers_against_residue(), and protocols::match::downstream::ClassicMatchAlgorithm::n_possible_hits_per_upstream_conformation().
|
inline |
Definition at line 206 of file ExternalGeomSampler.hh.
References dis_U1D1_samples_.
Referenced by protocols::match::Matcher::add_external_geometry_samples_for_constraint(), protocols::toolbox::match_enzdes_util::MatchConstraintFileInfo::inverse_rotamers_against_residue(), and protocols::match::downstream::ClassicMatchAlgorithm::n_possible_hits_per_upstream_conformation().
|
inline |
Definition at line 210 of file ExternalGeomSampler.hh.
References tor_U1D3_samples_.
Referenced by protocols::match::Matcher::add_external_geometry_samples_for_constraint(), protocols::toolbox::match_enzdes_util::MatchConstraintFileInfo::inverse_rotamers_against_residue(), and protocols::match::downstream::ClassicMatchAlgorithm::n_possible_hits_per_upstream_conformation().
|
inline |
Definition at line 209 of file ExternalGeomSampler.hh.
References tor_U2D2_samples_.
Referenced by protocols::match::Matcher::add_external_geometry_samples_for_constraint(), protocols::toolbox::match_enzdes_util::MatchConstraintFileInfo::inverse_rotamers_against_residue(), and protocols::match::downstream::ClassicMatchAlgorithm::n_possible_hits_per_upstream_conformation().
|
inline |
Accessors.
Definition at line 205 of file ExternalGeomSampler.hh.
References tor_U3D1_samples_.
Referenced by protocols::match::Matcher::add_external_geometry_samples_for_constraint(), protocols::toolbox::match_enzdes_util::MatchConstraintFileInfo::inverse_rotamers_against_residue(), and protocols::match::downstream::ClassicMatchAlgorithm::n_possible_hits_per_upstream_conformation().
| ExternalGeomSampler const & protocols::toolbox::match_enzdes_util::ExternalGeomSampler::operator= | ( | ExternalGeomSampler const & | rhs) |
Definition at line 53 of file ExternalGeomSampler.cc.
References ang_D1D2D3_, ang_U1D2_samples_, ang_U2D1_samples_, dis_D1D2_, dis_D2D3_, dis_U1D1_samples_, tor_U1D3_samples_, tor_U2D2_samples_, tor_U3D1_samples_, transforms_, and transforms_uptodate_.
| void protocols::toolbox::match_enzdes_util::ExternalGeomSampler::precompute_transforms | ( | ) |
Must be called after the samples are set, and the internal geometry of the three downstream coordinates (point 4, 5, and 6) are described. Does nothing if the transforms are up to date.
Definition at line 172 of file ExternalGeomSampler.cc.
References ang_D1D2D3_, ang_U1D2_samples_, ang_U2D1_samples_, dis_D1D2_, dis_D2D3_, protocols::toolbox::match_enzdes_util::HT_ang_U1D2, protocols::toolbox::match_enzdes_util::HT_ang_U2D1, protocols::toolbox::match_enzdes_util::HT_tor_U1D3, protocols::toolbox::match_enzdes_util::HT_tor_U2D2, protocols::toolbox::match_enzdes_util::HT_tor_U3D1, protocols::toolbox::match_enzdes_util::n_external_transforms, tor_U1D3_samples_, tor_U2D2_samples_, tor_U3D1_samples_, transforms_, and transforms_uptodate_.
Referenced by protocols::toolbox::match_enzdes_util::MatchConstraintFileInfo::inverse_rotamers_against_residue().
| void protocols::toolbox::match_enzdes_util::ExternalGeomSampler::set_ang_D1D2D3 | ( | Real | ang_in_degrees) |
Definition at line 162 of file ExternalGeomSampler.cc.
References ang_D1D2D3_, and transforms_uptodate_.
Referenced by protocols::toolbox::match_enzdes_util::MatchConstraintFileInfo::inverse_rotamers_against_residue().
| void protocols::toolbox::match_enzdes_util::ExternalGeomSampler::set_ang_U1D2_samples | ( | utility::vector1< Real > const & | ang_U1D2_samples) |
Definition at line 92 of file ExternalGeomSampler.cc.
References ang_U1D2_samples(), ang_U1D2_samples_, and transforms_uptodate_.
| void protocols::toolbox::match_enzdes_util::ExternalGeomSampler::set_ang_U1D2_samples | ( | std::list< Real > const & | ang_U1D2_samples) |
Definition at line 131 of file ExternalGeomSampler.cc.
References ang_U1D2_samples_, and transforms_uptodate_.
| void protocols::toolbox::match_enzdes_util::ExternalGeomSampler::set_ang_U2D1_samples | ( | utility::vector1< Real > const & | ang_U2D1_samples) |
Definition at line 86 of file ExternalGeomSampler.cc.
References ang_U2D1_samples(), ang_U2D1_samples_, and transforms_uptodate_.
| void protocols::toolbox::match_enzdes_util::ExternalGeomSampler::set_ang_U2D1_samples | ( | std::list< Real > const & | ang_U2D1_samples) |
Definition at line 124 of file ExternalGeomSampler.cc.
References ang_U2D1_samples_, and transforms_uptodate_.
| void protocols::toolbox::match_enzdes_util::ExternalGeomSampler::set_dis_D1D2 | ( | Real | distance) |
Definition at line 152 of file ExternalGeomSampler.cc.
References dis_D1D2_, core::kinematics::distance(), and transforms_uptodate_.
Referenced by protocols::match::downstream::ClassicMatchAlgorithm::add_external_geom_sampler(), and protocols::toolbox::match_enzdes_util::MatchConstraintFileInfo::inverse_rotamers_against_residue().
| void protocols::toolbox::match_enzdes_util::ExternalGeomSampler::set_dis_D2D3 | ( | Real | distance) |
Definition at line 157 of file ExternalGeomSampler.cc.
References dis_D2D3_, core::kinematics::distance(), and transforms_uptodate_.
Referenced by protocols::toolbox::match_enzdes_util::MatchConstraintFileInfo::inverse_rotamers_against_residue().
| void protocols::toolbox::match_enzdes_util::ExternalGeomSampler::set_dis_U1D1_samples | ( | utility::vector1< Real > const & | dis_U1D1_samples) |
Definition at line 80 of file ExternalGeomSampler.cc.
References dis_U1D1_samples(), dis_U1D1_samples_, and transforms_uptodate_.
| void protocols::toolbox::match_enzdes_util::ExternalGeomSampler::set_dis_U1D1_samples | ( | std::list< Real > const & | dis_U1D1_samples) |
Definition at line 117 of file ExternalGeomSampler.cc.
References dis_U1D1_samples_, and transforms_uptodate_.
| void protocols::toolbox::match_enzdes_util::ExternalGeomSampler::set_tor_U1D3_samples | ( | utility::vector1< Real > const & | tor_U1D3_samples) |
Definition at line 104 of file ExternalGeomSampler.cc.
References tor_U1D3_samples(), tor_U1D3_samples_, and transforms_uptodate_.
| void protocols::toolbox::match_enzdes_util::ExternalGeomSampler::set_tor_U1D3_samples | ( | std::list< Real > const & | tor_U1D3_samples) |
Definition at line 145 of file ExternalGeomSampler.cc.
References tor_U1D3_samples_, and transforms_uptodate_.
| void protocols::toolbox::match_enzdes_util::ExternalGeomSampler::set_tor_U2D2_samples | ( | utility::vector1< Real > const & | tor_U2D2_samples) |
Definition at line 98 of file ExternalGeomSampler.cc.
References tor_U2D2_samples(), tor_U2D2_samples_, and transforms_uptodate_.
| void protocols::toolbox::match_enzdes_util::ExternalGeomSampler::set_tor_U2D2_samples | ( | std::list< Real > const & | tor_U2D2_samples) |
Definition at line 138 of file ExternalGeomSampler.cc.
References tor_U2D2_samples_, and transforms_uptodate_.
| void protocols::toolbox::match_enzdes_util::ExternalGeomSampler::set_tor_U3D1_samples | ( | utility::vector1< Real > const & | tor_U3D1_samples) |
Intialization routines all initialization routines must be invoked before building may begin. Once each has been called, the function precompute_transforms() must be called.
Definition at line 74 of file ExternalGeomSampler.cc.
References tor_U3D1_samples(), tor_U3D1_samples_, and transforms_uptodate_.
| void protocols::toolbox::match_enzdes_util::ExternalGeomSampler::set_tor_U3D1_samples | ( | std::list< Real > const & | tor_U3D1_samples) |
Definition at line 110 of file ExternalGeomSampler.cc.
References tor_U3D1_samples_, and transforms_uptodate_.
|
inline |
Definition at line 217 of file ExternalGeomSampler.hh.
References tor_U1D3_samples_.
Referenced by protocols::match::Matcher::add_external_geometry_samples_for_constraint(), and set_tor_U1D3_samples().
|
inline |
Definition at line 216 of file ExternalGeomSampler.hh.
References tor_U2D2_samples_.
Referenced by protocols::match::Matcher::add_external_geometry_samples_for_constraint(), and set_tor_U2D2_samples().
|
inline |
Definition at line 212 of file ExternalGeomSampler.hh.
References tor_U3D1_samples_.
Referenced by protocols::match::Matcher::add_external_geometry_samples_for_constraint(), and set_tor_U3D1_samples().
|
inline |
Definition at line 224 of file ExternalGeomSampler.hh.
References transforms_, and transforms_uptodate_.
Referenced by protocols::toolbox::match_enzdes_util::MatchConstraintFileInfo::inverse_rotamers_against_residue().
|
inline |
Definition at line 220 of file ExternalGeomSampler.hh.
References transforms_uptodate_.
|
private |
Definition at line 239 of file ExternalGeomSampler.hh.
Referenced by operator=(), precompute_transforms(), and set_ang_D1D2D3().
|
private |
Definition at line 233 of file ExternalGeomSampler.hh.
Referenced by ang_U1D2_samples(), flip_upstream_downstream_samples(), n_ang_U1D2_samples(), operator=(), precompute_transforms(), and set_ang_U1D2_samples().
|
private |
Definition at line 231 of file ExternalGeomSampler.hh.
Referenced by ang_U2D1_samples(), flip_upstream_downstream_samples(), n_ang_U2D1_samples(), operator=(), precompute_transforms(), and set_ang_U2D1_samples().
|
private |
Definition at line 237 of file ExternalGeomSampler.hh.
Referenced by operator=(), precompute_transforms(), and set_dis_D1D2().
|
private |
Definition at line 238 of file ExternalGeomSampler.hh.
Referenced by operator=(), precompute_transforms(), and set_dis_D2D3().
|
private |
Definition at line 230 of file ExternalGeomSampler.hh.
Referenced by dis_U1D1_samples(), n_dis_U1D1_samples(), operator=(), and set_dis_U1D1_samples().
|
private |
Definition at line 235 of file ExternalGeomSampler.hh.
Referenced by flip_upstream_downstream_samples(), n_tor_U1D3_samples(), operator=(), precompute_transforms(), set_tor_U1D3_samples(), and tor_U1D3_samples().
|
private |
Definition at line 234 of file ExternalGeomSampler.hh.
Referenced by n_tor_U2D2_samples(), operator=(), precompute_transforms(), set_tor_U2D2_samples(), and tor_U2D2_samples().
|
private |
Definition at line 232 of file ExternalGeomSampler.hh.
Referenced by flip_upstream_downstream_samples(), n_tor_U3D1_samples(), operator=(), precompute_transforms(), set_tor_U3D1_samples(), and tor_U3D1_samples().
|
private |
Definition at line 243 of file ExternalGeomSampler.hh.
Referenced by operator=(), precompute_transforms(), and transform().
|
private |
Definition at line 241 of file ExternalGeomSampler.hh.
Referenced by flip_upstream_downstream_samples(), operator=(), precompute_transforms(), set_ang_D1D2D3(), set_ang_U1D2_samples(), set_ang_U2D1_samples(), set_dis_D1D2(), set_dis_D2D3(), set_dis_U1D1_samples(), set_tor_U1D3_samples(), set_tor_U2D2_samples(), set_tor_U3D1_samples(), transform(), and transforms_uptodate().
1.8.4