Rosetta
|
#include <ConstrainToIdealMover.hh>
Public Member Functions | |
ConstrainToIdealMover () | |
ConstrainToIdealMover & | operator= (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... | |
![]() | |
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 Strings & | info () |
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 | |
![]() | |
typedef utility::tag::TagCOP | TagCOP |
typedef core::pose::Pose | Pose |
typedef core::pose::PoseCOP | PoseCOP |
typedef std::list< std::string > | Strings |
![]() | |
static std::string | name () |
static void | register_options () |
Overload this static method if you access options within the mover. More... | |
![]() | |
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... | |
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!
protocols::simple_moves::ConstrainToIdealMover::ConstrainToIdealMover | ( | ) |
|
overridedefault |
|
private |
References core::conformation::Residue::atom_name(), core::chemical::ResidueType::atom_type(), core::id::AtomID::atomno(), bond_angle_sd_, bond_angle_sd_polar_hydrogen_, check_in_bond_angle_list(), core::conformation::Residue::has(), core::chemical::AtomType::is_polar_hydrogen(), core::conformation::Residue::is_virtual(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), core::id::AtomID::rsd(), score_type_, protocols::simple_moves::TR(), verbose_, and core::conformation::Residue::xyz().
Referenced by vary_bond_geometry().
|
private |
References core::conformation::Residue::atom_name(), core::chemical::ResidueType::atom_type(), core::id::AtomID::atomno(), bond_torsion_sd_, bond_torsion_sd_polar_hydrogen_, core::conformation::Residue::has(), core::chemical::AtomType::is_polar_hydrogen(), core::conformation::Residue::is_virtual(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), core::id::AtomID::rsd(), score_type_, protocols::simple_moves::TR(), verbose_, and core::conformation::Residue::xyz().
Referenced by vary_bond_geometry().
|
private |
References core::conformation::Residue::atom_name(), core::chemical::ResidueType::atom_type(), core::id::AtomID::atomno(), bond_length_sd_, bond_length_sd_polar_hydrogen_, check_in_bonded_list(), core::conformation::Residue::has(), core::chemical::AtomType::is_polar_hydrogen(), core::conformation::Residue::is_virtual(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), core::id::AtomID::rsd(), score_type_, protocols::simple_moves::TR(), verbose_, core::pose::Pose::xyz(), and core::conformation::Residue::xyz().
Referenced by vary_bond_geometry().
|
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().
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().
virtual void protocols::moves::Mover::apply |
Main Method.
Referenced by apply().
|
private |
References core::kinematics::AtomTree::atom(), core::pose::Pose::atom_tree(), core::kinematics::tree::Atom::get_self_ptr(), and core::id::AtomID::rsd().
Referenced by vary_bond_geometry().
|
private |
Referenced by add_bond_angle_constraint().
|
private |
Referenced by add_bond_length_constraint().
|
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.
|
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().
|
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.
core::pose::toolbox::AtomLevelDomainMapCOP protocols::simple_moves::ConstrainToIdealMover::get_atom_level_domain_map | ( | ) | const |
|
overridevirtual |
Each derived class must specify its name. The class name.
Implements protocols::moves::Mover.
|
privatevirtual |
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.
References atom_level_domain_map_, protocols::simple_moves::check_if_proton_chi_atom(), disallow_vary_geometry_proton_chi_, core::chemical::rna::first_base_atom_index(), core::conformation::Residue::first_sidechain_atom(), core::conformation::Residue::Hpos_polar(), core::conformation::Residue::is_RNA(), core::conformation::Residue::is_virtual(), just_polar_hydrogens_, just_rna_backbone_, core::conformation::Residue::seqpos(), and core::conformation::Residue::type().
|
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().
ConstrainToIdealMover & protocols::simple_moves::ConstrainToIdealMover::operator= | ( | ConstrainToIdealMover const & | rhs | ) |
References atom_level_domain_map_, get_atom_level_domain_map(), just_polar_hydrogens_, and just_rna_backbone_.
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().
|
inline |
References fix_angles_.
|
inline |
References fix_lengths_.
|
inline |
References fix_torsions_.
|
inline |
References just_polar_hydrogens_.
Referenced by protocols::simple_moves::setup_vary_polar_hydrogen_geometry().
|
inline |
References just_rna_backbone_.
Referenced by protocols::simple_moves::setup_vary_rna_bond_geometry().
void protocols::simple_moves::ConstrainToIdealMover::set_score_type | ( | core::scoring::ScoreType const | setting | ) |
References score_type_.
Referenced by protocols::simple_moves::setup_vary_polar_hydrogen_geometry(), and protocols::simple_moves::setup_vary_rna_bond_geometry().
|
private |
@most of the work happens here. This modifies the movemap and adds constraints to the Pose that will gently idealize angles and bond lengths
References add_bond_angle_constraint(), add_bond_dihedral_constraint(), add_bond_length_constraint(), core::kinematics::AtomTree::atom(), atom_level_domain_map_, core::pose::Pose::atom_tree(), core::id::AtomID::atomno(), core::conformation::Conformation::bonded_neighbor_all_res(), protocols::simple_moves::check_if_proton_chi_atom(), check_if_really_connected(), core::pose::Pose::conformation(), core::pose::Pose::constraint_set(), core::id::D, fix_angles_, fix_lengths_, fix_torsions_, protocols::moves::Mover::get_self_ptr(), i_want_this_atom_to_move(), just_polar_hydrogens_, legacy_dof_allow_move_, core::conformation::Residue::natoms(), core::chemical::rings::PHI, core::chemical::rings::q, core::pose::Pose::residue(), core::id::AtomID::rsd(), core::kinematics::MoveMap::set(), core::pose::Pose::size(), and core::chemical::rings::THETA.
Referenced by apply().
|
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().
|
private |
Referenced by add_bond_angle_constraint().
|
private |
Referenced by add_bond_angle_constraint().
|
private |
Referenced by add_bond_length_constraint().
|
private |
Referenced by add_bond_length_constraint().
|
private |
Referenced by add_bond_dihedral_constraint().
|
private |
Referenced by add_bond_dihedral_constraint().
|
private |
Referenced by i_want_this_atom_to_move().
|
private |
Referenced by set_fix_angles(), and vary_bond_geometry().
|
private |
Referenced by set_fix_lengths(), and vary_bond_geometry().
|
private |
Referenced by set_fix_torsions(), and vary_bond_geometry().
|
private |
Referenced by i_want_this_atom_to_move(), operator=(), set_just_polar_hydrogens(), and vary_bond_geometry().
|
private |
Referenced by i_want_this_atom_to_move(), operator=(), and set_just_rna_backbone().
|
private |
Referenced by vary_bond_geometry().
|
private |
|
private |
Referenced by add_bond_angle_constraint(), add_bond_dihedral_constraint(), and add_bond_length_constraint().