Rosetta
Public Member Functions | Private Member Functions | Private Attributes | List of all members
protocols::simple_moves::ConstrainToIdealMover Class Reference

#include <ConstrainToIdealMover.hh>

Inheritance diagram for protocols::simple_moves::ConstrainToIdealMover:
Inheritance graph
[legend]

Public Member Functions

 ConstrainToIdealMover ()
 
ConstrainToIdealMoveroperator= (ConstrainToIdealMover const &rhs)
 
 ~ConstrainToIdealMover () override
 
void apply (core::pose::Pose &pose) override
 
void apply (core::pose::Pose &pose, core::kinematics::MoveMap &mm)
 
std::string get_name () const override
 Each derived class must specify its name. The class name. More...
 
moves::MoverOP fresh_instance () const override
 Generates a new Mover object freshly created with the default ctor. More...
 
moves::MoverOP clone () const override
 Return a clone of the Mover object. More...
 
void set_atom_level_domain_map (core::pose::toolbox::AtomLevelDomainMapCOP atom_level_domain_map)
 setter for AtomLevelDomainMap; makes a shallow copy More...
 
core::pose::toolbox::AtomLevelDomainMapCOP get_atom_level_domain_map () const
 getter for AtomLevelDomainMap More...
 
void set_score_type (core::scoring::ScoreType const setting)
 
void set_just_rna_backbone (bool const setting)
 
void set_just_polar_hydrogens (bool const setting)
 
void set_fix_lengths (bool const &setting)
 
void set_fix_angles (bool const &setting)
 
void set_fix_torsions (bool const &setting)
 
virtual void apply (Pose &)=0
 Main Method. More...
 
- 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 void show (std::ostream &output=std::cout) const
 Outputs details about the Mover, including current settings. 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 Member Functions

void vary_bond_geometry (core::pose::Pose &pose, core::kinematics::MoveMap &mm, core::pose::Pose const &pose_reference) const
 @most of the work happens here. This modifies the movemap and adds constraints to the Pose that will gently idealize angles and bond lengths More...
 
virtual void create_pose_reference (core::pose::Pose const &pose, core::pose::Pose &pose_reference)
 this function generates a "reference pose" for the input pose that has the same chemistry (as best as possible), but has ideal angles and bond lengths. These are then used to generate the constraints later. Virtual in case you want to make the reference in a different fashion. More...
 
virtual bool i_want_this_atom_to_move (core::pose::Pose const &pose, core::id::AtomID const &atom_id) const
 maps to other version of function; should this type of atom be moved during idealization? More...
 
virtual bool i_want_this_atom_to_move (core::conformation::Residue const &residue2, core::Size const &k) const
 returns whether or not this atom should move during idealiation categorically; mostly boils down to "don't move the sidechains". Virtual in case you want to deny using a different metric. More...
 
bool check_if_really_connected (core::pose::Pose const &pose, core::id::AtomID const &atom_id1, core::id::AtomID const &atom_id2) const
 
bool check_in_bonded_list (core::id::AtomID const &atom_id1, core::id::AtomID const &atom_id2, utility::vector1< std::pair< core::id::AtomID, core::id::AtomID > > &bonded_atom_list) const
 
bool check_in_bond_angle_list (core::id::AtomID const &atom_id1, core::id::AtomID const &atom_id2, core::id::AtomID const &atom_id3, utility::vector1< std::pair< core::id::AtomID, std::pair< core::id::AtomID, core::id::AtomID > > > &bond_angle_list) const
 
void add_bond_angle_constraint (core::id::AtomID const &atom_id1, core::id::AtomID const &atom_id2, core::id::AtomID const &atom_id3, utility::vector1< std::pair< core::id::AtomID, std::pair< core::id::AtomID, core::id::AtomID > > > &bond_angle_list, core::pose::Pose const &pose, core::pose::Pose const &pose_reference, core::scoring::constraints::ConstraintSetOP &cst_set) const
 
void add_bond_dihedral_constraint (core::id::AtomID const &atom_id1, core::id::AtomID const &atom_id2, core::id::AtomID const &atom_id3, core::id::AtomID const &atom_id4, core::pose::Pose const &pose, core::pose::Pose const &pose_reference, core::scoring::constraints::ConstraintSetOP &cst_set) const
 
void add_bond_length_constraint (core::id::AtomID const &atom_id1, core::id::AtomID const &atom_id2, utility::vector1< std::pair< core::id::AtomID, core::id::AtomID > > &bonded_atom_list, core::pose::Pose const &pose, core::pose::Pose const &pose_reference, core::scoring::constraints::ConstraintSetOP &cst_set) const
 

Private Attributes

core::pose::toolbox::AtomLevelDomainMapCOP atom_level_domain_map_
 atom_level_domain_map has info on which atoms should move; complementary to move_map (which instead focuses on DOFs). More...
 
core::Real const bond_length_sd_
 
core::Real const bond_length_sd_polar_hydrogen_
 
core::Real const bond_angle_sd_
 
core::Real const bond_angle_sd_polar_hydrogen_
 
core::Real const bond_torsion_sd_
 
core::Real const bond_torsion_sd_polar_hydrogen_
 
core::scoring::ScoreType score_type_
 
bool just_rna_backbone_
 
bool just_polar_hydrogens_
 
bool const legacy_dof_allow_move_
 
bool const verbose_
 
bool fix_lengths_
 
bool fix_angles_
 
bool fix_torsions_
 
bool disallow_vary_geometry_proton_chi_
 

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

Idealization is generally performed by adding constraints to the Pose that keep bond lengths and angles within the appropriate ranges; then freeing those DOFs and performing minimization or sampling. This protocols::moves::Mover creates bond and angle constraints compatible with idealization; it does not modify the input Pose other than by adding constraints. If your pose is already ideal, this is likely to unidealize it. Also, it will add a LOT of degrees of freedom to your minimization, which may lead to significant slowdowns!

Constructor & Destructor Documentation

◆ ConstrainToIdealMover()

protocols::simple_moves::ConstrainToIdealMover::ConstrainToIdealMover ( )

◆ ~ConstrainToIdealMover()

protocols::simple_moves::ConstrainToIdealMover::~ConstrainToIdealMover ( )
overridedefault

Member Function Documentation

◆ add_bond_angle_constraint()

void protocols::simple_moves::ConstrainToIdealMover::add_bond_angle_constraint ( core::id::AtomID const &  atom_id1,
core::id::AtomID const &  atom_id2,
core::id::AtomID const &  atom_id3,
utility::vector1< std::pair< core::id::AtomID, std::pair< core::id::AtomID, core::id::AtomID > > > &  bond_angle_list,
core::pose::Pose const &  pose,
core::pose::Pose const &  pose_reference,
core::scoring::constraints::ConstraintSetOP cst_set 
) const
private

◆ add_bond_dihedral_constraint()

void protocols::simple_moves::ConstrainToIdealMover::add_bond_dihedral_constraint ( core::id::AtomID const &  atom_id1,
core::id::AtomID const &  atom_id2,
core::id::AtomID const &  atom_id3,
core::id::AtomID const &  atom_id4,
core::pose::Pose const &  pose,
core::pose::Pose const &  pose_reference,
core::scoring::constraints::ConstraintSetOP cst_set 
) const
private

◆ add_bond_length_constraint()

void protocols::simple_moves::ConstrainToIdealMover::add_bond_length_constraint ( core::id::AtomID const &  atom_id1,
core::id::AtomID const &  atom_id2,
utility::vector1< std::pair< core::id::AtomID, core::id::AtomID > > &  bonded_atom_list,
core::pose::Pose const &  pose,
core::pose::Pose const &  pose_reference,
core::scoring::constraints::ConstraintSetOP cst_set 
) const
private

◆ apply() [1/3]

void protocols::simple_moves::ConstrainToIdealMover::apply ( core::pose::Pose pose)
overridevirtual

This code will modify your input pose by adding constraints which will trend bond lengths and angles towards ideal.

Implements protocols::moves::Mover.

References apply(), and atom_level_domain_map_.

Referenced by protocols::simple_moves::setup_vary_polar_hydrogen_geometry(), and protocols::simple_moves::setup_vary_rna_bond_geometry().

◆ apply() [2/3]

void protocols::simple_moves::ConstrainToIdealMover::apply ( core::pose::Pose pose,
core::kinematics::MoveMap mm 
)

This code will modify your input pose by adding constraints which will trend bond lengths and angles towards ideal. If you input a movemap via set_movemap, that movemap will be modified to free the same set of bond lengths and angles (needs some testing).

References create_pose_reference(), and vary_bond_geometry().

◆ apply() [3/3]

virtual void protocols::moves::Mover::apply

Main Method.

Referenced by apply().

◆ check_if_really_connected()

bool protocols::simple_moves::ConstrainToIdealMover::check_if_really_connected ( core::pose::Pose const &  pose,
core::id::AtomID const &  atom_id1,
core::id::AtomID const &  atom_id2 
) const
private

◆ check_in_bond_angle_list()

bool protocols::simple_moves::ConstrainToIdealMover::check_in_bond_angle_list ( core::id::AtomID const &  atom_id1,
core::id::AtomID const &  atom_id2,
core::id::AtomID const &  atom_id3,
utility::vector1< std::pair< core::id::AtomID, std::pair< core::id::AtomID, core::id::AtomID > > > &  bond_angle_list 
) const
private

◆ check_in_bonded_list()

bool protocols::simple_moves::ConstrainToIdealMover::check_in_bonded_list ( core::id::AtomID const &  atom_id1,
core::id::AtomID const &  atom_id2,
utility::vector1< std::pair< core::id::AtomID, core::id::AtomID > > &  bonded_atom_list 
) const
private

◆ clone()

protocols::moves::MoverOP protocols::simple_moves::ConstrainToIdealMover::clone ( ) const
overridevirtual

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.

◆ create_pose_reference()

void protocols::simple_moves::ConstrainToIdealMover::create_pose_reference ( core::pose::Pose const &  pose,
core::pose::Pose pose_reference 
)
privatevirtual

this function generates a "reference pose" for the input pose that has the same chemistry (as best as possible), but has ideal angles and bond lengths. These are then used to generate the constraints later. Virtual in case you want to make the reference in a different fashion.

References core::pose::Pose::annotated_sequence(), protocols::simple_moves::apply_ideal_coordinates_for_alternative_pucker(), core::chemical::FA_STANDARD, and core::pose::make_pose_from_sequence().

Referenced by apply().

◆ fresh_instance()

protocols::moves::MoverOP protocols::simple_moves::ConstrainToIdealMover::fresh_instance ( ) const
overridevirtual

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_atom_level_domain_map()

core::pose::toolbox::AtomLevelDomainMapCOP protocols::simple_moves::ConstrainToIdealMover::get_atom_level_domain_map ( ) const

getter for AtomLevelDomainMap

References atom_level_domain_map_.

Referenced by operator=().

◆ get_name()

std::string protocols::simple_moves::ConstrainToIdealMover::get_name ( ) const
overridevirtual

Each derived class must specify its name. The class name.

Implements protocols::moves::Mover.

◆ i_want_this_atom_to_move() [1/2]

bool protocols::simple_moves::ConstrainToIdealMover::i_want_this_atom_to_move ( core::conformation::Residue const &  residue2,
core::Size const &  k 
) const
privatevirtual

◆ i_want_this_atom_to_move() [2/2]

bool protocols::simple_moves::ConstrainToIdealMover::i_want_this_atom_to_move ( core::pose::Pose const &  pose,
core::id::AtomID const &  atom_id 
) const
privatevirtual

maps to other version of function; should this type of atom be moved during idealization?

References core::id::AtomID::atomno(), core::pose::Pose::residue(), and core::id::AtomID::rsd().

Referenced by vary_bond_geometry().

◆ operator=()

ConstrainToIdealMover & protocols::simple_moves::ConstrainToIdealMover::operator= ( ConstrainToIdealMover const &  rhs)

◆ set_atom_level_domain_map()

void protocols::simple_moves::ConstrainToIdealMover::set_atom_level_domain_map ( core::pose::toolbox::AtomLevelDomainMapCOP  atom_level_domain_map)

setter for AtomLevelDomainMap; makes a shallow copy

setter for AtomLevelDomainMap; shallow copy

References atom_level_domain_map_.

Referenced by protocols::simple_moves::setup_vary_polar_hydrogen_geometry(), and protocols::simple_moves::setup_vary_rna_bond_geometry().

◆ set_fix_angles()

void protocols::simple_moves::ConstrainToIdealMover::set_fix_angles ( bool const &  setting)
inline

References fix_angles_.

◆ set_fix_lengths()

void protocols::simple_moves::ConstrainToIdealMover::set_fix_lengths ( bool const &  setting)
inline

References fix_lengths_.

◆ set_fix_torsions()

void protocols::simple_moves::ConstrainToIdealMover::set_fix_torsions ( bool const &  setting)
inline

References fix_torsions_.

◆ set_just_polar_hydrogens()

void protocols::simple_moves::ConstrainToIdealMover::set_just_polar_hydrogens ( bool const  setting)
inline

◆ set_just_rna_backbone()

void protocols::simple_moves::ConstrainToIdealMover::set_just_rna_backbone ( bool const  setting)
inline

◆ set_score_type()

void protocols::simple_moves::ConstrainToIdealMover::set_score_type ( core::scoring::ScoreType const  setting)

◆ vary_bond_geometry()

void protocols::simple_moves::ConstrainToIdealMover::vary_bond_geometry ( core::pose::Pose pose,
core::kinematics::MoveMap mm,
core::pose::Pose const &  pose_reference 
) const
private

Member Data Documentation

◆ atom_level_domain_map_

core::pose::toolbox::AtomLevelDomainMapCOP protocols::simple_moves::ConstrainToIdealMover::atom_level_domain_map_
private

atom_level_domain_map has info on which atoms should move; complementary to move_map (which instead focuses on DOFs).

Referenced by apply(), get_atom_level_domain_map(), i_want_this_atom_to_move(), operator=(), set_atom_level_domain_map(), and vary_bond_geometry().

◆ bond_angle_sd_

core::Real const protocols::simple_moves::ConstrainToIdealMover::bond_angle_sd_
private

◆ bond_angle_sd_polar_hydrogen_

core::Real const protocols::simple_moves::ConstrainToIdealMover::bond_angle_sd_polar_hydrogen_
private

◆ bond_length_sd_

core::Real const protocols::simple_moves::ConstrainToIdealMover::bond_length_sd_
private

◆ bond_length_sd_polar_hydrogen_

core::Real const protocols::simple_moves::ConstrainToIdealMover::bond_length_sd_polar_hydrogen_
private

◆ bond_torsion_sd_

core::Real const protocols::simple_moves::ConstrainToIdealMover::bond_torsion_sd_
private

◆ bond_torsion_sd_polar_hydrogen_

core::Real const protocols::simple_moves::ConstrainToIdealMover::bond_torsion_sd_polar_hydrogen_
private

◆ disallow_vary_geometry_proton_chi_

bool protocols::simple_moves::ConstrainToIdealMover::disallow_vary_geometry_proton_chi_
private

◆ fix_angles_

bool protocols::simple_moves::ConstrainToIdealMover::fix_angles_
private

◆ fix_lengths_

bool protocols::simple_moves::ConstrainToIdealMover::fix_lengths_
private

◆ fix_torsions_

bool protocols::simple_moves::ConstrainToIdealMover::fix_torsions_
private

◆ just_polar_hydrogens_

bool protocols::simple_moves::ConstrainToIdealMover::just_polar_hydrogens_
private

◆ just_rna_backbone_

bool protocols::simple_moves::ConstrainToIdealMover::just_rna_backbone_
private

◆ legacy_dof_allow_move_

bool const protocols::simple_moves::ConstrainToIdealMover::legacy_dof_allow_move_
private

Referenced by vary_bond_geometry().

◆ score_type_

core::scoring::ScoreType protocols::simple_moves::ConstrainToIdealMover::score_type_
private

◆ verbose_

bool const protocols::simple_moves::ConstrainToIdealMover::verbose_
private

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