|
Rosetta 3.5
|
an object which makes rigid-body transformation with translational and rotational perturbation More...
#include <Jump.hh>

Public Types | |
| typedef numeric::xyzVector< Real > | Vector |
| typedef numeric::xyzMatrix< Real > | Matrix |
Public Member Functions | |
| Jump () | |
| construction More... | |
| Jump (const RT &src_rt) | |
| constructor with only RT More... | |
| Jump (Stub const &stub1, Stub const &stub2) | |
| get RT from two stubs and ZERO rb_delta More... | |
| Jump (const Jump &src) | |
| copy constructor More... | |
| Jump & | operator= (Jump const &src) |
| copy operator More... | |
| void | from_stubs (Stub const &stub1, Stub const &stub2) |
| get a jump from two stubs More... | |
| void | from_bond_cst (utility::vector1< Vector > &atoms, utility::vector1< Real > const &csts) |
| get a jump from a bond cst definition More... | |
| void | make_jump (Stub const &stub1, Stub &stub2) const |
| make a jump from stub1 to stub2 More... | |
| bool | ortho_check () const |
| check RT's orthogonality More... | |
| bool | nonzero_deltas () const |
| check whether there is rb_delta not being transformed. More... | |
| void | reset () |
| reset RT, rb_delta and rb_center More... | |
| void | random_trans (const float dist_in) |
| translate along a randomly chosen vector by dist_in More... | |
| utility::vector1< Real > | gaussian_move (int const dir, float const trans_mag, float const rot_mag) |
| Given the desired magnitude of the translation and rotation components, applies Gaussian perturbation to this jump. Return the move that was applied. More... | |
| void | gaussian_move_single_rb (int const dir, float const mag, int rb) |
| void | rotation_by_matrix (Stub const &stub, Vector const ¢er, Matrix const &matrix) |
| make a rotation "matrix" about the center "center" More... | |
| void | rotation_by_axis (Stub const &stub, Vector const &axis, Vector const ¢er, float const alpha) |
| make a rotation of alpha degrees around axix and center More... | |
| void | translation_along_axis (Stub const &stub, Vector const &axis, float const dist) |
| make a translation along axis by dist More... | |
| void | identity_transform () |
| reset to identity matrix, 0 translation More... | |
| void | reverse () |
| change the direction of a jump, e.g, upstream stub becomes downstream stub now. More... | |
| Jump | reversed () const |
| Return a new jump that is the inverse transformation. More... | |
| Matrix const & | get_rotation () const |
| get rotation matrix More... | |
| Vector const & | get_translation () const |
| get translation vector More... | |
| void | set_rotation (Matrix const &R_in) |
| set rotation matrix More... | |
| void | set_translation (Vector const &t) |
| set translation vector More... | |
| void | fold_in_rb_deltas () |
| transform small changes in translation and rotation into jump More... | |
| RT | rt () const |
| return the RT modeled by this jump –> makes new Jump, calls fold_in_rb_delte and returns RT More... | |
| utility::vector1< Real > const & | get_rb_delta (int const dir) const |
| get rb_delta by direction More... | |
| Real | get_rb_delta (int const rb_no, int const dir) const |
| get rb_delta by direction and rb_number More... | |
| void | set_rb_delta (int const rb_no, int const dir, Real const value) |
| set rb_delta by direction and rb_number More... | |
| void | set_rb_deltas (int const dir, utility::vector1< Real > const &) |
| set rb_deltas by direction More... | |
| Vector const & | get_rb_center (int const dir) const |
| get rb_center by direction More... | |
| void | set_rb_center (const int dir, Stub const &stub, Vector const ¢er) |
| set rb_center by direction More... | |
Static Public Attributes | |
| static const int | TRANS_X = 1 |
| static const int | TRANS_Y = 2 |
| static const int | TRANS_Z = 3 |
| static const int | ROT_X = 4 |
| static const int | ROT_Y = 5 |
| static const int | ROT_Z = 6 |
Private Member Functions | |
| int | rb_index (int const dir) const |
| get the lookup index into rb_delta and rb_center from the direction dir. More... | |
Private Attributes | |
| RT | rt_ |
| translation and rotation More... | |
| utility::vector1 < utility::vector1< Real > > | rb_delta |
| changes to translation and rotation More... | |
| utility::vector1< Vector > | rb_center |
| the center around which the rotation is performed More... | |
Friends | |
| std::ostream & | operator<< (std::ostream &os, const Jump &jump) |
| stream output operator More... | |
| std::istream & | operator>> (std::istream &is, Jump &jump) |
| stream input operator More... | |
| Real | distance (Jump const &a_in, Jump const &b_in) |
| RT root squared deviation. More... | |
an object which makes rigid-body transformation with translational and rotational perturbation
See AtomTree overview and concepts for details.
| typedef numeric::xyzMatrix< Real > core::kinematics::Jump::Matrix |
| typedef numeric::xyzVector< Real > core::kinematics::Jump::Vector |
|
inline |
|
inline |
| void core::kinematics::Jump::fold_in_rb_deltas | ( | ) |
transform small changes in translation and rotation into jump
Definition at line 76 of file Jump.cc.
References core::kinematics::RT::fold_in_rb_deltas(), rb_center, rb_delta, core::kinematics::RT::reverse(), rt_, and core::kinematics::ZERO.
Referenced by protocols::rigid::RigidBodyPerturbMover::apply(), core::kinematics::distance(), gaussian_move(), gaussian_move_single_rb(), core::kinematics::jump_distance(), random_trans(), core::optimization::symmetry::SymMinimizerMap::reset_jump_rb_deltas(), core::optimization::MinimizerMap::reset_jump_rb_deltas(), reverse(), reversed(), rotation_by_axis(), rotation_by_matrix(), rt(), set_rb_center(), set_rotation(), set_translation(), and translation_along_axis().
| void core::kinematics::Jump::from_bond_cst | ( | utility::vector1< Vector > & | atoms, |
| utility::vector1< Real > const & | csts | ||
| ) |
get a jump from a bond cst definition
this function translate a virtual bond type constraints into jump transformation. in atoms vector, A1, A2, A3, B1, B2, B3, and A1-B1 forms the virtual bond, like A3-A2-A1—B1-B2-B3 in csts vector, disAB, angleA and B, didedral A, AB and B. B1, B2 and B3 are moved given cst definition.
Definition at line 378 of file Jump.cc.
References distance, core::kinematics::RT::from_stubs(), core::kinematics::Stub::is_orthogonal(), rb_delta, rt_, core::kinematics::Stub::spherical(), and core::kinematics::ZERO.
Referenced by protocols::jumping::ResiduePairJump::build_cst_conformer_jumps().
get a jump from two stubs
Definition at line 361 of file Jump.cc.
References core::kinematics::RT::from_stubs(), rb_delta, rt_, and core::kinematics::ZERO.
Referenced by core::kinematics::tree::JumpAtom::update_internal_coords().
| utility::vector1< Real > core::kinematics::Jump::gaussian_move | ( | int const | dir, |
| float const | trans_mag, | ||
| float const | rot_mag | ||
| ) |
Given the desired magnitude of the translation and rotation components, applies Gaussian perturbation to this jump. Return the move that was applied.
clear existing rb_delta first if any and then apply the gaussian move Return the move that was applied.
Definition at line 169 of file Jump.cc.
References fold_in_rb_deltas(), get_rb_delta(), core::kinematics::jump_RG(), and set_rb_delta().
Referenced by protocols::enzdes::PredesignPerturbMover::apply(), protocols::rigid::RigidBodyPerturbMover::apply(), and protocols::rigid::RigidBodyPerturbNoCenterMover::apply().
do a gaussian move along a certain rb direction
Definition at line 182 of file Jump.cc.
References fold_in_rb_deltas(), core::kinematics::jump_RG(), and set_rb_delta().
Referenced by protocols::rigid::RigidBodyDofPerturbMover::apply().
|
inline |
get rb_center by direction
Definition at line 324 of file Jump.hh.
References rb_center, and rb_index().
Referenced by core::kinematics::tree::JumpAtom::get_dof_axis_and_end_pos().
|
inline |
get rb_delta by direction
Definition at line 305 of file Jump.hh.
References rb_delta, and rb_index().
Referenced by core::kinematics::tree::JumpAtom::dof(), gaussian_move(), and core::kinematics::tree::JumpAtom::get_dof_axis_and_end_pos().
get rb_delta by direction and rb_number
Definition at line 314 of file Jump.hh.
References rb_delta, and rb_index().
|
inline |
get rotation matrix
inline definitions for Jump class
Definition at line 285 of file Jump.hh.
References core::kinematics::RT::get_rotation(), and rt_.
Referenced by protocols::electron_density::dockPoseIntoMap(), core::import_pose::atom_tree_diffs::dump_atom_tree_diff(), core::kinematics::jump_distance(), protocols::forge::remodel::RemodelLoopMover::repeat_generation(), and protocols::forge::remodel::RemodelLoopMover::repeat_generation_with_additional_residue().
|
inline |
get translation vector
Definition at line 293 of file Jump.hh.
References core::kinematics::RT::get_translation(), and rt_.
Referenced by protocols::rigid::RigidBodyDofTransMover::apply(), core::import_pose::atom_tree_diffs::dump_atom_tree_diff(), core::kinematics::jump_distance(), protocols::rna::RNA_DeNovoProtocol::randomize_rigid_body_orientations(), protocols::forge::remodel::RemodelLoopMover::repeat_generation(), and protocols::forge::remodel::RemodelLoopMover::repeat_generation_with_additional_residue().
| void core::kinematics::Jump::identity_transform | ( | ) |
reset to identity matrix, 0 translation
Definition at line 324 of file Jump.cc.
References core::kinematics::RT::identity_transform(), rb_center, rb_delta, rt_, and core::kinematics::ZERO.
make a jump from stub1 to stub2
fold all the rb_delta first and then make the jump. make jump with stubs instead of FArrays
Definition at line 336 of file Jump.cc.
References core::kinematics::RT::fold_in_rb_deltas(), core::kinematics::RT::make_jump(), rb_center, rb_delta, core::kinematics::RT::reverse(), and rt_.
Referenced by protocols::motifs::Motif::place_atom_(), protocols::motifs::Motif::place_atoms_(), protocols::motifs::Motif::place_residue_(), and core::kinematics::tree::JumpAtom::update_xyz_coords().
| bool core::kinematics::Jump::nonzero_deltas | ( | ) | const |
check whether there is rb_delta not being transformed.
Definition at line 129 of file Jump.cc.
References rb_delta.
Referenced by core::kinematics::operator<<(), and rt().
| bool core::kinematics::Jump::ortho_check | ( | ) | const |
check RT's orthogonality
Definition at line 68 of file Jump.cc.
References core::kinematics::RT::ortho_check(), and rt_.
Referenced by core::conformation::Conformation::set_jump(), and core::conformation::Conformation::set_jump_now().
| void core::kinematics::Jump::random_trans | ( | const float | dist_in) |
translate along a randomly chosen vector by dist_in
choose a random unit vector as the direction of translation, by selecting its spherical coordinates phi(0-180) and theta(0-360) then move dist_in along that direction
Definition at line 147 of file Jump.cc.
References fold_in_rb_deltas(), core::kinematics::jump_RG(), protocols::swa::phi(), rt_, and core::kinematics::RT::set_translation().
get the lookup index into rb_delta and rb_center from the direction dir.
dir should be 1 or -1
Definition at line 248 of file Jump.hh.
Referenced by get_rb_center(), get_rb_delta(), set_rb_delta(), and set_rb_deltas().
| void core::kinematics::Jump::reset | ( | ) |
reset RT, rb_delta and rb_center
Definition at line 58 of file Jump.cc.
References rb_center, rb_delta, core::kinematics::RT::reset(), rt_, and core::kinematics::ZERO.
| void core::kinematics::Jump::reverse | ( | ) |
change the direction of a jump, e.g, upstream stub becomes downstream stub now.
Definition at line 305 of file Jump.cc.
References fold_in_rb_deltas(), core::kinematics::RT::reverse(), and rt_.
Referenced by protocols::rigid::RigidBodyDofTransMover::apply(), protocols::rigid::RigidBodyDofPerturbMover::apply(), protocols::rna::RNA_JumpLibrary::read_jumps_from_file(), and reversed().
| Jump core::kinematics::Jump::reversed | ( | ) | const |
Return a new jump that is the inverse transformation.
Definition at line 314 of file Jump.cc.
References fold_in_rb_deltas(), and reverse().
Referenced by protocols::motifs::Motif::Motif().
| void core::kinematics::Jump::rotation_by_axis | ( | Stub const & | stub, |
| Vector const & | axis, | ||
| Vector const & | center, | ||
| float const | alpha | ||
| ) |
make a rotation of alpha degrees around axix and center
stub should be the Stub of the upstream jump. this does a rotation by alpha degrees around the specified the axis and center, both of which are written in xyz frame
| alpha | degrees |
Definition at line 269 of file Jump.cc.
References fold_in_rb_deltas(), and rotation_by_matrix().
Referenced by protocols::protein_interface_design::movers::SpinMover::apply(), protocols::nonlocal::HelixRotate::apply(), protocols::rigid::WholeBodyRotationMover::apply(), protocols::rigid::RigidBodySpinMover::apply(), and protocols::rigid::RigidBodyDeterministicSpinMover::apply().
| void core::kinematics::Jump::rotation_by_matrix | ( | Stub const & | stub, |
| Vector const & | center, | ||
| Matrix const & | matrix | ||
| ) |
make a rotation "matrix" about the center "center"
stub should be the Stub of the upstream jump. This routine has the effect (I think) of rotating the downstream stub by the rotation "matrix" about the center "center", both of which are written in xyz lab frame.
Definition at line 240 of file Jump.cc.
References fold_in_rb_deltas(), core::kinematics::RT::get_rotation(), core::kinematics::RT::get_translation(), core::kinematics::Stub::M, rt_, core::kinematics::RT::set_rotation(), core::kinematics::RT::set_translation(), and core::kinematics::Stub::v.
Referenced by protocols::rigid::RigidBodyRandomizeMover::apply(), protocols::ligand_docking::LigandDockProtocol::optimize_orientation3(), protocols::hotspot_hashing::StubGenerator::placeResidueOnPose(), and rotation_by_axis().
| RT core::kinematics::Jump::rt | ( | ) | const |
return the RT modeled by this jump –> makes new Jump, calls fold_in_rb_delte and returns RT
Definition at line 501 of file Jump.cc.
References fold_in_rb_deltas(), nonzero_deltas(), and rt_.
Referenced by core::io::silent::BinaryRNASilentStruct::add_jump(), core::io::silent::BinaryProteinSilentStruct::add_jump(), and core::io::silent::ProteinSilentStruct_Template< T >::add_jump().
| void core::kinematics::Jump::set_rb_center | ( | const int | dir, |
| Stub const & | stub, | ||
| Vector const & | center | ||
| ) |
set rb_center by direction
stub defines the local reference frame for the corresponding direction of the jump (forward == folding direction, backward = reverse) by which to transform center
center is an xyz position in the absolute (protein) reference frame
the column vectors of stub are unit vectors defined in the absolute reference frame( the frame in which center is defined)
so left-multiplying by stub.M.transposed() puts an absolute ref frame vector (like center) into the local jump reference frame
dir is the direction through the jump, 1 == forward == folding order, -1 == backward == reverse folding order
if dir == 1, the stub should be the stub for the downstream jump atom, (eg returned by "folder.downstream_jump_stub( jump_number )" or "downstream_jump_atom.get_stub()" ) and the center is the center of rotation for the downstream segment (ie the segment which is built later during folding). The center determines how the forward rb_deltas are interpreted, and is the center for rigid-body rotation during minimization.
if dir == -1, the stub should be the stub for the upstream jump atom, (eg returned by folder.upstream_jump_stub( jump_number ) ) and the center is the center of rotation for the upstream segment. The center determines how the reverse rb_deltas are interpreted, eg in perturbation moves when we modify the reverse rb-deltas directly, eg in the call "Jump::gaussian_move(-1,tmag,rmag)"
Definition at line 117 of file Jump.cc.
References fold_in_rb_deltas(), core::kinematics::Stub::M, rb_center, and core::kinematics::Stub::v.
Referenced by protocols::enzdes::PredesignPerturbMover::apply(), protocols::rigid::RigidBodyPerturbMover::apply(), protocols::rigid::RigidBodyRandomizeMover::apply(), protocols::rigid::RigidBodySpinMover::apply(), protocols::rigid::RigidBodyDeterministicSpinMover::apply(), and protocols::ligand_docking::LigandDockProtocol::optimize_orientation3().
set rb_delta by direction and rb_number
Definition at line 196 of file Jump.cc.
References rb_delta, and rb_index().
Referenced by protocols::rigid::RigidBodyMotionMover::apply(), gaussian_move(), gaussian_move_single_rb(), and core::kinematics::tree::JumpAtom::set_dof().
| void core::kinematics::Jump::set_rb_deltas | ( | int const | dir, |
| utility::vector1< Real > const & | rb_deltas | ||
| ) |
set rb_deltas by direction
Definition at line 207 of file Jump.cc.
References rb_delta, and rb_index().
Referenced by protocols::rigid::RigidBodyPerturbMover::apply().
| void core::kinematics::Jump::set_rotation | ( | Matrix const & | R_in) |
set rotation matrix
Definition at line 214 of file Jump.cc.
References fold_in_rb_deltas(), rt_, and core::kinematics::RT::set_rotation().
Referenced by protocols::electron_density::dockPoseIntoMap(), protocols::forge::remodel::RemodelLoopMover::repeat_generation(), and protocols::forge::remodel::RemodelLoopMover::repeat_generation_with_additional_residue().
| void core::kinematics::Jump::set_translation | ( | Vector const & | t) |
set translation vector
Definition at line 225 of file Jump.cc.
References fold_in_rb_deltas(), rt_, and core::kinematics::RT::set_translation().
Referenced by protocols::rigid::RigidBodyDofTransMover::apply(), protocols::swa::rna::StepWiseRNA_AnalyticalLoopCloseSampler::get_base_atr_rep_score(), protocols::swa::rna::StepWiseRNA_ResidueSampler::get_base_atr_rep_score(), protocols::swa::StepWiseScreener::prepare_ghost_pose(), protocols::swa::protein::StepWiseProteinScreener::prepare_ghost_pose(), protocols::rna::RNA_DeNovoProtocol::randomize_rigid_body_orientations(), protocols::forge::remodel::RemodelLoopMover::repeat_generation(), and protocols::forge::remodel::RemodelLoopMover::repeat_generation_with_additional_residue().
| void core::kinematics::Jump::translation_along_axis | ( | Stub const & | stub, |
| Vector const & | axis, | ||
| float const | dist | ||
| ) |
make a translation along axis by dist
stub should be the Stub of the upstream jump. this does a translation along the axis by dist. the axis is written in xyz frame
Definition at line 290 of file Jump.cc.
References fold_in_rb_deltas(), core::kinematics::RT::get_translation(), core::kinematics::Stub::M, rt_, and core::kinematics::RT::set_translation().
Referenced by protocols::nonlocal::SheetTranslate::apply(), protocols::rigid::WholeBodyTranslationMover::apply(), protocols::rigid::RigidBodyTransMover::apply(), core::scoring::DockingScoreFunction::operator()(), and protocols::hotspot_hashing::StubGenerator::placeResidueOnPose().
|
friend |
|
friend |
|
private |
the center around which the rotation is performed
3x2 table, for each of the two folding directions, the rotation center is written in the local frame of the downstream stub.
Definition at line 275 of file Jump.hh.
Referenced by fold_in_rb_deltas(), get_rb_center(), identity_transform(), make_jump(), core::kinematics::operator<<(), operator=(), core::kinematics::operator>>(), reset(), and set_rb_center().
|
private |
changes to translation and rotation
6x2 table, for each of the two folding directions, the first three are for translations along xyz, and the next three are for rotatation around xyz axes.
Definition at line 268 of file Jump.hh.
Referenced by fold_in_rb_deltas(), from_bond_cst(), from_stubs(), get_rb_delta(), identity_transform(), make_jump(), nonzero_deltas(), core::kinematics::operator<<(), operator=(), core::kinematics::operator>>(), reset(), set_rb_delta(), and set_rb_deltas().
|
private |
translation and rotation
Definition at line 262 of file Jump.hh.
Referenced by core::kinematics::distance(), fold_in_rb_deltas(), from_bond_cst(), from_stubs(), get_rotation(), get_translation(), identity_transform(), make_jump(), core::kinematics::operator<<(), operator=(), core::kinematics::operator>>(), ortho_check(), random_trans(), reset(), reverse(), rotation_by_matrix(), rt(), set_rotation(), set_translation(), and translation_along_axis().
1.8.4