Rosetta
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
core::kinematics::Stub Class Reference

Stub class – an object of orthogonal coordinate frame. More...

#include <Stub.hh>

Public Types

typedef numeric::xyzMatrix< RealMatrix
 
typedef numeric::xyzVector< RealVector
 

Public Member Functions

 Stub ()
 constructor – sets to "default" stub More...
 
 Stub (Matrix const &M_in, Vector const &v_in)
 copy constructor More...
 
 Stub (RT const &rt)
 constructor from RT object More...
 
 Stub (Vector const &center, Vector const &a, Vector const &b, Vector const &c)
 constructor by four points More...
 
 Stub (Vector const &a, Vector const &b, Vector const &c)
 constructor by three points More...
 
void from_four_points (Vector const &center, Vector const &a, Vector const &b, Vector const &c)
 build a stub from a center and other three points a, b, c More...
 
bool is_orthogonal (core::Real const &tolerance) const
 check if the stub is orthogonal under the tolerance cutoff More...
 
Vector global2local (Vector const &xyz) const
 convert a global reference (lab) frame vector to our local (stub) frame More...
 
Vector local2global (Vector const &xyz) const
 convert a local reference (stub) frame vector to the global (lab) frame More...
 
Vector spherical (Real const phi, Real const theta, Real const d) const
 Build a vector in the global lab frame from the spherical coords used in the atomtree. More...
 
Vector build_fake_xyz (Size const index) const
 Build stubatom coords that would yield this stub. More...
 
Vector build_fake_xyz (Size const index, Real const length1, Real const length2, Real const angle_degrees) const
 Build stubatom coords that would yield this stub. More...
 
bool operator== (Stub const &rhs) const
 
Matrix rotation () const
 Coordinate frame rotation matrix. More...
 
Vector center () const
 Coordinate frame center. More...
 

Static Public Member Functions

static Stub create_orthogonal (Vector const &a, Vector const &b, Vector const &c)
 constructor by three points Like the three-point constructor, but adjust things to make sure the stub is orthoganal More...
 

Public Attributes

Matrix M
 coord frame by 3x3 matrix, each column is a unit vector More...
 
Vector v
 center point by a vector More...
 

Detailed Description

Stub class – an object of orthogonal coordinate frame.

an orthogonal coord frame M (matrix) centered at point V (vector), defined by four points, one is for the center and the other three for calculating the orthogonal frame. For example, a stub can be derived from a backbone triplet N-CA-C centered at CA.

See AtomTree overview and concepts for details.

Member Typedef Documentation

◆ Matrix

typedef numeric::xyzMatrix< Real > core::kinematics::Stub::Matrix

◆ Vector

typedef numeric::xyzVector< Real > core::kinematics::Stub::Vector

Constructor & Destructor Documentation

◆ Stub() [1/5]

core::kinematics::Stub::Stub ( )
inline

constructor – sets to "default" stub

◆ Stub() [2/5]

core::kinematics::Stub::Stub ( Matrix const &  M_in,
Vector const &  v_in 
)
inline

copy constructor

◆ Stub() [3/5]

core::kinematics::Stub::Stub ( RT const &  rt)

constructor from RT object

◆ Stub() [4/5]

core::kinematics::Stub::Stub ( Vector const &  center,
Vector const &  a,
Vector const &  b,
Vector const &  c 
)
inline

constructor by four points

first point is the center (V) and the rest three are used to construct the coord frame (M). see member function from_four_points(...) construct a stub centered at v_in, as would come from building c then b then a

References core::pose::motif::a(), protocols::match::upstream::b, and from_four_points().

◆ Stub() [5/5]

core::kinematics::Stub::Stub ( Vector const &  a,
Vector const &  b,
Vector const &  c 
)
inline

constructor by three points

first point is the center (V) and all the three are used to construct the coord frame (M). see member function from_four_points(...) construct a stub as would come from building c then b then a

References core::pose::motif::a(), protocols::match::upstream::b, and from_four_points().

Member Function Documentation

◆ build_fake_xyz() [1/2]

Vector core::kinematics::Stub::build_fake_xyz ( Size const  index) const

Build stubatom coords that would yield this stub.

Referenced by protocols::simple_filters::JumpEvaluator::apply(), and core::scoring::constraints::RTConstraint::fill_f1_f2().

◆ build_fake_xyz() [2/2]

Vector core::kinematics::Stub::build_fake_xyz ( Size const  index,
Real const  length1,
Real const  length2,
Real const  angle_degrees 
) const

Build stubatom coords that would yield this stub.

References M, and v.

◆ center()

Vector core::kinematics::Stub::center ( ) const
inline

Coordinate frame center.

References v.

Referenced by from_four_points(), and core::energy_methods::RNA_StubCoordinateEnergy::residue_pair_energy().

◆ create_orthogonal()

Stub core::kinematics::Stub::create_orthogonal ( Vector const &  a,
Vector const &  b,
Vector const &  c 
)
static

constructor by three points Like the three-point constructor, but adjust things to make sure the stub is orthoganal

References core::pose::motif::a(), protocols::match::upstream::b, and is_orthogonal().

Referenced by core::chemical::MutableICoorRecord::build(), core::chemical::AtomICoor::build(), and core::chemical::fill_ideal_xyz_from_icoor().

◆ from_four_points()

void core::kinematics::Stub::from_four_points ( Vector const &  center,
Vector const &  a,
Vector const &  b,
Vector const &  c 
)

build a stub from a center and other three points a, b, c

build a stub from a center points and other three points a, b, c

orthogonal coord frame M contains three unit vectors by column, the first one is the unit vector from b pointing to a, the second one is the unit vector which is in the plane defined by vector b->a and b->c and perpendicular to b->a, the third one is the cross product of the first two.

References core::pose::motif::a(), protocols::match::upstream::b, center(), M, core::id::to_string(), and v.

Referenced by protocols::motifs::Motif::place_atom_(), protocols::motifs::Motif::place_residue_helper(), protocols::features::SaltBridgeFeatures::report_features(), protocols::hotspot_hashing::StubGenerator::residueStubCentroidFrame(), protocols::loops::loop_closure::jacobi::JacobiLoopClosureMover::store_target(), Stub(), and protocols::hotspot_hashing::stub_from_points().

◆ global2local()

Vector core::kinematics::Stub::global2local ( Vector const &  xyz) const
inline

convert a global reference (lab) frame vector to our local (stub) frame

References M, v, and protocols::kinmatch::xyz().

Referenced by protocols::rna::movers::RNA_Decoarsify::apply(), protocols::scoring::ImplicitFastClashCheck::clash_check_trimer(), core::pack::rotamer_set::create_oriented_water_rotamer(), protocols::rna::denovo::create_rna_vall_torsions(), core::scoring::constraints::LocalCoordinateConstraint::dist(), protocols::stepwise::sampler::protein::do_set_xyz(), protocols::scoring::ImplicitFastClashCheck::dump_debug_pdb(), core::io::silent::RNA_SilentStruct::fill_struct(), protocols::stepwise::modeler::polar_hydrogens::PolarHydrogenPacker::get_best_hxyz(), core::kinematics::AtomTree::get_frag_descendant_local_xyz(), core::kinematics::AtomTree::get_frag_parent_local_xyz(), protocols::stepwise::modeler::polar_hydrogens::PolarHydrogenPacker::get_ideal_hxyz_positions(), protocols::loops::loop_closure::ccd::get_overlap_pos(), protocols::sewing::hashing::LigandBindingResPlacer::identify_possible_binders(), protocols::hotspot_hashing::SearchPatternRotSetOp::increase_packer_residue_radius(), core::kinematics::AtomTree::insert_fragment(), protocols::hotspot_hashing::StubGenerator::moveFromStubFrame(), protocols::motifs::Motif::place_atom_(), protocols::motifs::Motif::place_atoms_(), protocols::motifs::Motif::place_residue_(), protocols::fibril::reorient_extended_fibril(), protocols::features::SaltBridgeFeatures::report_features(), core::energy_methods::RNA_StubCoordinateEnergy::residue_pair_energy(), protocols::toolbox::sample_around::rotate_into_nucleobase_frame(), protocols::toolbox::sample_around::rotate_into_phosphate_frame(), core::scoring::constraints::LocalCoordinateConstraint::score(), core::scoring::constraints::LocalCoordinateConstraint::set_xyz_target(), core::scoring::constraints::LocalCoordinateConstraint::steal_def(), protocols::sic_dock::xform_pose_rev(), and protocols::kinmatch::xform_rsd_gl2().

◆ is_orthogonal()

bool core::kinematics::Stub::is_orthogonal ( core::Real const &  tolerance) const
inline

◆ local2global()

Vector core::kinematics::Stub::local2global ( Vector const &  xyz) const
inline

◆ operator==()

bool core::kinematics::Stub::operator== ( Stub const &  rhs) const

Floating point comparison is notoriously fickle. Perform the same series of rotations and translations with ever so slightly different code, and you will produce two different stubs. The comparison operator is looking for exact matches. The only reason to expect that stub A and stub B are the same is because A was copied from B; if neither have changed since the copy, then you will have the same stub.

References M, and v.

◆ rotation()

Matrix core::kinematics::Stub::rotation ( ) const
inline

Coordinate frame rotation matrix.

References M.

Referenced by core::scoring::loop_graph::evaluator::SixDTransRotPotentialEvaluator::get_f1_f2().

◆ spherical()

Vector core::kinematics::Stub::spherical ( Real const  phi,
Real const  theta,
Real const  d 
) const
inline

Build a vector in the global lab frame from the spherical coords used in the atomtree.

theta is the angle between the postive x and the vector (0<=theta<=pi), phi is the angle between the y-z plane projection of the vector and the positive y (0<=theta<=2*pi), d is the length of the vector

Note
These are non-standard in the choice of axis for historical reasons –PB

References local2global().

Referenced by core::chemical::MutableICoorRecord::build(), core::chemical::orbitals::ICoorOrbitalData::build(), core::chemical::AtomICoor::build(), protocols::simple_moves::ExplicitWaterMover::build_backbone_rotamer_clouds(), core::scoring::lkball::build_optimal_water_Os_on_acceptor(), core::pack::rotamer_set::build_optimal_water_Os_on_acceptor(), core::conformation::Conformation::fill_missing_atoms(), protocols::pockets::PocketGrid::findExemplars(), core::kinematics::Jump::from_bond_cst(), protocols::pockets::GenPharmacophore::get_ideal_hydrogenBond_atoms(), and protocols::loops::loop_closure::ccd::get_overlap_pos().

Member Data Documentation

◆ M

Matrix core::kinematics::Stub::M

coord frame by 3x3 matrix, each column is a unit vector

Referenced by protocols::rigid::RotateJumpAxisMover::apply(), protocols::simple_moves::UniformRotationMover::apply(), core::pose::rna::bases_are_coplanar(), build_fake_xyz(), protocols::stepwise::modeler::rna::checker::RNA_BaseCentroidChecker::check_base_pair(), core::scoring::rna::RNA_LowResolutionPotential::check_clear_for_stacking(), core::scoring::rna::RNA_LowResolutionPotential::check_forming_base_pair(), core::pose::rna::classify_base_pairs(), core::energy_methods::StackElecEnergy::eval_atom_derivative(), core::energy_methods::RNA_FullAtomStackingEnergy::eval_atom_derivative(), core::energy_methods::HackAroEnergy::eval_atom_derivative_aro_aro(), core::scoring::rna::RNA_LowResolutionPotential::eval_atom_derivative_base_base(), core::scoring::rna::RNA_LowResolutionPotential::eval_atom_derivative_rna_base_backbone(), core::scoring::dna::DNA_BasePotential::eval_base_pair_derivative(), core::scoring::dna::DNA_BasePotential::eval_base_step_derivative(), core::energy_methods::StackElecEnergy::eval_residue_pair_derivatives(), core::scoring::rna::RNA_LowResolutionPotential::eval_rna_base_pair_energy_one_way(), core::scoring::loop_graph::evaluator::SixDTransRotPotentialEvaluator::evaluate(), core::pose::rna::figure_out_base_pair_orientation(), core::pack::dunbrack::cenrot::SingleResidueCenrotLibrary::fill_rotamer_vector(), core::energy_methods::StackElecEnergy::finalize_total_energy(), core::kinematics::find_stub_transform(), from_four_points(), core::kinematics::RT::from_stubs(), core::scoring::rna::RNA_LowResolutionPotential::get_base_backbone(), protocols::toolbox::rigid_body::get_base_centroid_and_rotation_matrix(), core::scoring::dna::get_base_step_params(), core::kinematics::tree::BondedAtom::get_dof_axis_and_end_pos(), core::kinematics::tree::JumpAtom::get_dof_axis_and_end_pos(), protocols::toolbox::rigid_body::get_specific_atom_coordinate(), protocols::stepwise::sampler::rigid_body::RigidBodyStepWiseSampler::get_stub(), core::pose::rna::get_stub_stub(), core::scoring::dna::get_stub_stub_params(), core::scoring::rna::data::RNA_DMS_LowResolutionPotential::get_wc_near_o2prime(), protocols::simple_moves::BBConRotMover::get_xyz(), protocols::sic_dock::getxform(), core::fragment::getxform(), global2local(), core::kinematics::AtomTree::insert_single_fragment(), is_orthogonal(), local2global(), core::import_pose::make_coarse_pose(), core::kinematics::Jump::make_jump(), core::kinematics::RT::make_jump(), operator==(), protocols::anchored_design::AnchoredDesignMover::perturb_anchor(), core::energy_methods::HackAroEnergy::residue_pair_energy_aro_aro(), core::energy_methods::StackElecEnergy::residue_pair_energy_ext(), core::energy_methods::RNA_FullAtomStackingEnergy::residue_pair_energy_one_way(), core::energy_methods::StackElecEnergy::residue_pair_energy_one_way(), protocols::rna::movers::RNA_LoopCloser::rna_ccd_close(), rotation(), core::kinematics::Jump::rotation_by_matrix(), core::kinematics::Jump::set_rb_center(), core::scoring::rna::RNA_LowResolutionPotential::setup_precise_zeta_cutoffs(), protocols::stepwise::modeler::rna::sugar::VirtualSugarSampler::setup_VDW_bin_checker(), protocols::rna::denovo::coarse::MultipleDomainMover::slide_back_to_origin(), protocols::sic_dock::slide_into_contact_and_score_DEPRICATED(), protocols::sic_dock::SICFast::slide_into_contact_DEPRICATED(), core::kinematics::Jump::translation_along_axis(), protocols::rna::denovo::coarse::MultipleDomainMover::try_to_slide_into_contact(), core::kinematics::tree::BondedAtom::update_internal_coords(), core::kinematics::tree::JumpAtom::update_internal_coords(), core::scoring::rna::RNA_LowResolutionPotential::update_rna_base_base_interactions(), core::kinematics::tree::JumpAtom::update_stub(), core::kinematics::tree::BondedAtom::update_stub(), core::kinematics::tree::BondedAtom::update_xyz_coords(), core::kinematics::tree::JumpAtom::update_xyz_coords(), and protocols::backbone_moves::local_backbone_mover::xyz_from_internal_coords().

◆ v

Vector core::kinematics::Stub::v

center point by a vector

Referenced by protocols::rigid::RotateJumpAxisMover::apply(), protocols::simple_moves::UniformTranslationMover::apply(), build_fake_xyz(), center(), protocols::stepwise::modeler::rna::checker::RNA_BaseCentroidChecker::check_base_pair(), protocols::stepwise::screener::StubDistanceScreener::check_screen(), core::scoring::dna::DNA_BasePotential::eval_base_pair_derivative(), core::scoring::dna::DNA_BasePotential::eval_base_step_derivative(), core::pack::dunbrack::cenrot::SingleResidueCenrotLibrary::fill_rotamer_vector(), core::kinematics::find_stub_transform(), from_four_points(), core::kinematics::RT::from_stubs(), core::scoring::dna::get_base_step_params(), core::kinematics::tree::BondedAtom::get_dof_axis_and_end_pos(), core::kinematics::tree::JumpAtom::get_dof_axis_and_end_pos(), protocols::toolbox::rigid_body::get_specific_atom_coordinate(), protocols::stepwise::sampler::rigid_body::RigidBodyStepWiseSampler::get_stub(), core::scoring::dna::get_stub_stub_params(), protocols::simple_moves::BBConRotMover::get_xyz(), protocols::sic_dock::getxform(), core::fragment::getxform(), global2local(), core::kinematics::AtomTree::insert_single_fragment(), local2global(), core::kinematics::RT::make_jump(), operator==(), protocols::anchored_design::AnchoredDesignMover::perturb_anchor(), protocols::hotspot_hashing::StubGenerator::placeResidueOnPose(), core::kinematics::Jump::rotation_by_matrix(), protocols::hotspot_hashing::SICPatternAtTransform::Searchpoints(), core::kinematics::Jump::set_rb_center(), protocols::stepwise::modeler::rna::sugar::VirtualSugarSampler::setup_VDW_bin_checker(), protocols::sic_dock::slide_into_contact_and_score_DEPRICATED(), protocols::sic_dock::SICFast::slide_into_contact_DEPRICATED(), core::kinematics::tree::BondedAtom::update_internal_coords(), protocols::environment::CoMTrackerCM::update_tracking_residue(), core::kinematics::tree::BondedAtom::update_xyz_coords(), core::kinematics::tree::JumpAtom::update_xyz_coords(), and protocols::backbone_moves::local_backbone_mover::xyz_from_internal_coords().


The documentation for this class was generated from the following files: