Public Member Functions | Private Attributes | List of all members
protocols::docking::EllipsoidalRandomizationMover Class Reference

#include <EllipsoidalRandomizationMover.hh>

Inheritance diagram for protocols::docking::EllipsoidalRandomizationMover:
Inheritance graph

Public Member Functions

 EllipsoidalRandomizationMover ()
 Default constructor. More...
 EllipsoidalRandomizationMover (core::Size rb_jump, bool ellipsoid_is_first_partner, bool autofoldtree)
 Constructor with arguments. More...
void set_default ()
 Sets up the default values for the object including the movemap and minimization type. More...
void init_from_options ()
 Initializes data members from options. More...
void apply (core::pose::Pose &) override
 Applies EllipsoidalRandomizationMover mover. More...
std::string get_name () const override
 Returns mover name. More...
void show (std::ostream &output=std::cout) const override
 Generates string representation of EllipsoidalRandomizationMover. More...
protocols::moves::MoverOP clone () const override
 Return a clone of the Mover object. More...
protocols::moves::MoverOP fresh_instance () const override
 Generates a new Mover object freshly created with the default ctor. More...
std::pair< numeric::xyzMatrix< core::Real >, core::Vectorcalculate_geometry (core::pose::Pose &)
 Defines geometry required for docking move. More...
numeric::xyzMatrix< core::Realcalculate_axes (core::pose::Pose &)
 Calculates ellipsoid axes from atomic coordinates. More...
core::Real single_beta_sample (core::Real, core::Real)
 Returns a sample from a beta distribution. More...
core::Vector point_on_ellipsoid (numeric::xyzMatrix< core::Real >)
 Selects a random point on ellipsoid surface. More...
core::Real recalculate_z_coordinate (core::Vector)
 Calculates 3rd coordinate of a point on ellipsoid surface given first 2 coordinates. More...
core::Vector normal_to_ellipsoid (core::Vector)
 Calculates normal vector to a point on ellipsoid. More...
numeric::xyzMatrix< core::Realget_rotation_matrix (core::Vector, core::Vector)
 Calculates a rotation matrix to superimpose source vector to target vector. More...
utility::vector1< core::Sizeget_partner_residue_start_stop (core::pose::Pose &, bool)
 Identifies first and last residues of a docking partner. More...
void set_foldtree (core::pose::Pose &)
 Sets pose fold tree based on -partners flag. More...
utility::vector1< bool > get_interface_residues (core::pose::Pose &pose_in, core::Real interface_distence_cutoff, bool autofoldtree)
 Identifies residues at interface of docking partners. More...
utility::vector1< core::Vectorcalculate_plane_axes (core::pose::Pose &)
 Calculates two vectors defining a plane at the docking interface. More...
core::Vector inward_normal_to_plane (utility::vector1< core::Vector >)
 Calculates normal vector from a plane at the docking interface. More...
void set_partners (std::string const &)
 Set the partners_ string. More...
core::Vector get_slide_axis () const
 Get the axis for sliding partners into contact. More...
core::Vector get_spin_center () const
 Get the point about which to spin the docking partner. More...
core::Vector get_nbr_atom_centroid () const
core::Vector get_nbr_atom_non_ellipsoid_centroid () const
core::Real get_a_axis () const
core::Real get_b_axis () const
core::Real get_c_axis () const
core::Vector get_random_point_on_ellipsoid () const
core::Vector get_normal_to_plane () const
- Public Member Functions inherited from protocols::moves::Mover
 Mover ()
virtual MoverOP create ()
MoverCOP get_self_ptr () const
MoverOP get_self_ptr ()
MoverCAP get_self_weak_ptr () const
MoverAP get_self_weak_ptr ()
 Mover (std::string const &type_name)
 sets the type for a mover; name_ has been removed (2010/05/14) More...
virtual void test_move (Pose &pose)
 : Unit test support function. Apply one move to a given pose. Allows extra test specific functions to be called before applying More...
virtual bool reinitialize_for_each_job () const
 Inform the Job Distributor (August '08 vintage) whether this object needs to be freshly regenerated on each use. More...
virtual bool reinitialize_for_new_input () const
 Inform the Job Distributor (August '08 vintage) whether this object needs to be regenerated when the input pose is about to change, (for example, if the Mover has special code on the first apply() that is only valid for that one input pose). More...
MoverStatus get_last_move_status () const
 end parser interface, start Job Distributor interface///////////// More...
void reset_status ()
 resets status to SUCCESS, meant to be used before an apply(). The job distributor (august 08 vintage) uses this to ensure non-accumulation of status across apply()s. More...
virtual core::pose::PoseOP get_additional_output ()
 Mechanism by which a mover may return multiple output poses from a single input pose. More...
void set_type (std::string const &setting)
 Set the 'type' string. More...
std::string get_type () const
void type (const std::string &type_in)
 Set the 'type' string. More...
std::string const & type () const
 Get the set 'type' string. More...
virtual void set_input_pose (PoseCOP pose)
 setter for poses contained for rms More...
virtual void set_native_pose (PoseCOP pose)
 setter for native poses contained for rms -— we should get rid of this method? it is widely used, but a bit unsafe More...
PoseCOP get_input_pose () const
PoseCOP get_native_pose () const
virtual void parse_my_tag (TagCOP tag, basic::datacache::DataMap &data)
 Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing. More...
void set_current_job (protocols::jobdist::BasicJobCOP job)
jobdist::BasicJobCOP get_current_job () const
virtual void set_current_tag (std::string const &new_tag)
std::string get_current_tag () const
 A tag is a unique identifier used to identify structures produced by this Mover. get_current_tag() returns the tag, and set_current_tag( std::string tag ) sets the tag. This functionality is not intended for use with the 2008 job distributor. More...
virtual core::Real last_proposal_density_ratio ()
virtual void clear_info ()
 Strings container can be used to return miscellaneous info (as std::string) from a mover, such as notes about the results of apply(). The job distributor (Apr 09 vintage) will check this function to see if your protocol wants to add string info to the Job that ran this mover. One way this can be useful is that later, a JobOutputter may include/append this info to an output file. More...
virtual Stringsinfo ()
 non-const accessor More...
virtual Strings const & info () const
 const accessor More...
virtual void provide_citation_info (basic::citation_manager::CitationCollectionList &) const
 Provide citations to the passed CitationCollectionList Subclasses should add the info for themselves and any other classes they use. More...

Private Attributes

core::Vector nbr_atom_centroid_
core::Vector nbr_atom_plane_centroid_
core::Vector nbr_atom_non_ellipsoid_centroid_
core::Vector slide_axis_
core::Real a_axis_
core::Real b_axis_
core::Real c_axis_
core::Vector random_point_on_ellipsoid_
core::Vector normal_to_plane_
core::Size rb_jump_
bool ellipsoid_is_first_partner_
bool autofoldtree_
std::string partners_

Additional Inherited Members

- Public Types inherited from protocols::moves::Mover
typedef utility::tag::TagCOP TagCOP
typedef core::pose::Pose Pose
typedef core::pose::PoseCOP PoseCOP
typedef std::list< std::string > Strings
- Static Public Member Functions inherited from protocols::moves::Mover
static std::string name ()
static void register_options ()
 Overload this static method if you access options within the mover. More...
- Protected Member Functions inherited from protocols::moves::Mover
void set_last_move_status (MoverStatus status)
 nonvirtual setter for MoverStatus last_status_. Protected means that only the mover itself will be able to change its own status. The job distributor (august 08 vintage) is aware of status set with this function and will do what the MoverStatus says. More...

Detailed Description

This mover approximates one docking partner as an ellipsoid and docks the other partner along a random normal to said ellipsoid; sliding the partners into contact is necessary to complete this docking move.

Constructor & Destructor Documentation

◆ EllipsoidalRandomizationMover() [1/2]

protocols::docking::EllipsoidalRandomizationMover::EllipsoidalRandomizationMover ( )

Default constructor.

References init_from_options(), and set_default().

◆ EllipsoidalRandomizationMover() [2/2]

protocols::docking::EllipsoidalRandomizationMover::EllipsoidalRandomizationMover ( core::Size  rb_jump,
bool  ellipsoid_is_first_partner,
bool  autofoldtree 

Constructor with arguments.

References autofoldtree_, ellipsoid_is_first_partner_, init_from_options(), rb_jump_, and set_default().

Member Function Documentation

◆ apply()

void protocols::docking::EllipsoidalRandomizationMover::apply ( core::pose::Pose pose)

◆ calculate_axes()

numeric::xyzMatrix< Real > protocols::docking::EllipsoidalRandomizationMover::calculate_axes ( core::pose::Pose pose_in)

◆ calculate_geometry()

std::pair< numeric::xyzMatrix< core::Real >, Vector > protocols::docking::EllipsoidalRandomizationMover::calculate_geometry ( core::pose::Pose pose)

◆ calculate_plane_axes()

utility::vector1< Vector > protocols::docking::EllipsoidalRandomizationMover::calculate_plane_axes ( core::pose::Pose pose_in)

◆ clone()

protocols::moves::MoverOP protocols::docking::EllipsoidalRandomizationMover::clone ( ) const

Return a clone of the Mover object.

clone is meant to return an OP'ed deep copy of this object. This really should be a pure virtual in the base class, but adding pure virtuals to Mover would massively disrupt the code. This default implementation crashes at runtime instead of compiletime if you try to call it. If this code is causing you problems, your Mover needs to override this function.

Reimplemented from protocols::moves::Mover.

◆ fresh_instance()

protocols::moves::MoverOP protocols::docking::EllipsoidalRandomizationMover::fresh_instance ( ) const

Generates a new Mover object freshly created with the default ctor.

fresh_instance is meant to return a new object of this class, created with the default constructor. This really should be a pure virtual in the base class, but adding pure virtuals to Mover would massively disrupt the code. This default implementation crashes at runtime instead of compiletime if you try to call it. If this code is causing you problems, your Mover needs to override this function. This is used by the August 08 job distributor.

Reimplemented from protocols::moves::Mover.

◆ get_a_axis()

core::Real protocols::docking::EllipsoidalRandomizationMover::get_a_axis ( ) const

References a_axis_.

◆ get_b_axis()

core::Real protocols::docking::EllipsoidalRandomizationMover::get_b_axis ( ) const

References b_axis_.

◆ get_c_axis()

core::Real protocols::docking::EllipsoidalRandomizationMover::get_c_axis ( ) const

References c_axis_.

◆ get_interface_residues()

utility::vector1< bool > protocols::docking::EllipsoidalRandomizationMover::get_interface_residues ( core::pose::Pose pose_in,
core::Real  interface_distence_cutoff,
bool  autofoldtree 

◆ get_name()

std::string protocols::docking::EllipsoidalRandomizationMover::get_name ( ) const

Returns mover name.

Implements protocols::moves::Mover.

◆ get_nbr_atom_centroid()

Vector protocols::docking::EllipsoidalRandomizationMover::get_nbr_atom_centroid ( ) const

References nbr_atom_centroid_.

◆ get_nbr_atom_non_ellipsoid_centroid()

Vector protocols::docking::EllipsoidalRandomizationMover::get_nbr_atom_non_ellipsoid_centroid ( ) const

◆ get_normal_to_plane()

Vector protocols::docking::EllipsoidalRandomizationMover::get_normal_to_plane ( ) const

References normal_to_plane_.

◆ get_partner_residue_start_stop()

utility::vector1< core::Size > protocols::docking::EllipsoidalRandomizationMover::get_partner_residue_start_stop ( core::pose::Pose pose_in,
bool  first_partner 

Identifies first and last residues of a docking partner.

References partners_, core::pose::Pose::pdb_info(), and core::pose::Pose::size().

Referenced by calculate_axes(), and calculate_plane_axes().

◆ get_random_point_on_ellipsoid()

Vector protocols::docking::EllipsoidalRandomizationMover::get_random_point_on_ellipsoid ( ) const

◆ get_rotation_matrix()

numeric::xyzMatrix< core::Real > protocols::docking::EllipsoidalRandomizationMover::get_rotation_matrix ( core::Vector  ,

Calculates a rotation matrix to superimpose source vector to target vector.

Referenced by calculate_geometry().

◆ get_slide_axis()

Vector protocols::docking::EllipsoidalRandomizationMover::get_slide_axis ( ) const

Get the axis for sliding partners into contact.

References slide_axis_.

Referenced by protocols::docking::DockingInitialPerturbation::apply_body().

◆ get_spin_center()

Vector protocols::docking::EllipsoidalRandomizationMover::get_spin_center ( ) const

Get the point about which to spin the docking partner.

References nbr_atom_plane_centroid_.

Referenced by protocols::docking::DockingInitialPerturbation::apply_body().

◆ init_from_options()

void protocols::docking::EllipsoidalRandomizationMover::init_from_options ( )

Initializes data members from options.

References ellipsoid_is_first_partner_, and set_partners().

Referenced by EllipsoidalRandomizationMover().

◆ inward_normal_to_plane()

Vector protocols::docking::EllipsoidalRandomizationMover::inward_normal_to_plane ( utility::vector1< core::Vector )

Calculates normal vector from a plane at the docking interface.

References nbr_atom_non_ellipsoid_centroid_, and nbr_atom_plane_centroid_.

Referenced by calculate_geometry().

◆ normal_to_ellipsoid()

Vector protocols::docking::EllipsoidalRandomizationMover::normal_to_ellipsoid ( core::Vector  )

Calculates normal vector to a point on ellipsoid.

References recalculate_z_coordinate().

Referenced by calculate_geometry().

◆ point_on_ellipsoid()

Vector protocols::docking::EllipsoidalRandomizationMover::point_on_ellipsoid ( numeric::xyzMatrix< core::Real axes)

Selects a random point on ellipsoid surface.

References a_axis_, b_axis_, c_axis_, and single_beta_sample().

Referenced by calculate_geometry().

◆ recalculate_z_coordinate()

Real protocols::docking::EllipsoidalRandomizationMover::recalculate_z_coordinate ( core::Vector  )

Calculates 3rd coordinate of a point on ellipsoid surface given first 2 coordinates.

References a_axis_, b_axis_, and c_axis_.

Referenced by normal_to_ellipsoid().

◆ set_default()

void protocols::docking::EllipsoidalRandomizationMover::set_default ( )

◆ set_foldtree()

void protocols::docking::EllipsoidalRandomizationMover::set_foldtree ( core::pose::Pose pose_in)

Sets pose fold tree based on -partners flag.

References partners_, and protocols::docking::setup_foldtree().

Referenced by get_interface_residues().

◆ set_partners()

void protocols::docking::EllipsoidalRandomizationMover::set_partners ( std::string const &  partners)

Set the partners_ string.

References partners_.

Referenced by init_from_options().

◆ show()

void protocols::docking::EllipsoidalRandomizationMover::show ( std::ostream &  output = std::cout) const

Generates string representation of EllipsoidalRandomizationMover.

Reimplemented from protocols::moves::Mover.

References rb_jump_, and slide_axis_.

Referenced by protocols::docking::operator<<().

◆ single_beta_sample()

Real protocols::docking::EllipsoidalRandomizationMover::single_beta_sample ( core::Real  alpha_param,
core::Real  beta_param 

Returns a sample from a beta distribution.

Referenced by point_on_ellipsoid().

Member Data Documentation

◆ a_axis_

core::Real protocols::docking::EllipsoidalRandomizationMover::a_axis_

◆ autofoldtree_

bool protocols::docking::EllipsoidalRandomizationMover::autofoldtree_

◆ b_axis_

core::Real protocols::docking::EllipsoidalRandomizationMover::b_axis_

◆ c_axis_

core::Real protocols::docking::EllipsoidalRandomizationMover::c_axis_

◆ ellipsoid_is_first_partner_

bool protocols::docking::EllipsoidalRandomizationMover::ellipsoid_is_first_partner_

◆ nbr_atom_centroid_

core::Vector protocols::docking::EllipsoidalRandomizationMover::nbr_atom_centroid_

◆ nbr_atom_non_ellipsoid_centroid_

core::Vector protocols::docking::EllipsoidalRandomizationMover::nbr_atom_non_ellipsoid_centroid_

◆ nbr_atom_plane_centroid_

core::Vector protocols::docking::EllipsoidalRandomizationMover::nbr_atom_plane_centroid_

◆ normal_to_plane_

core::Vector protocols::docking::EllipsoidalRandomizationMover::normal_to_plane_

◆ partners_

std::string protocols::docking::EllipsoidalRandomizationMover::partners_

◆ random_point_on_ellipsoid_

core::Vector protocols::docking::EllipsoidalRandomizationMover::random_point_on_ellipsoid_

◆ rb_jump_

core::Size protocols::docking::EllipsoidalRandomizationMover::rb_jump_

◆ slide_axis_

core::Vector protocols::docking::EllipsoidalRandomizationMover::slide_axis_

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