Rosetta
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Attributes | List of all members
protocols::toolbox::rotamer_set_operations::RigidBodyMoveBaseRSO Class Referenceabstract

#include <RigidBodyMoveRotSetOps.hh>

Inheritance diagram for protocols::toolbox::rotamer_set_operations::RigidBodyMoveBaseRSO:
Inheritance graph
[legend]

Public Member Functions

void alter_rotamer_set (core::pose::Pose const &pose, core::scoring::ScoreFunction const &sfxn, core::pack::task::PackerTask const &ptask, utility::graph::GraphCOP packer_neighbor_graph, core::pack::rotamer_set::RotamerSet &rotamer_set) override
 Adds additional rotamers at each rb conf. More...
 
virtual core::Real increase_packer_residue_radius (core::pose::Pose const &pose, core::pack::task::PackerTaskCOP, core::Size residue_index)
 
virtual utility::vector1< core::conformation::ResidueCOPget_rigid_body_confs (core::pose::Pose const &pose, core::pack::task::PackerTask const &ptask, core::Size residue_index)=0
 returns candidate alternate RB conformations More...
 
- Public Member Functions inherited from core::pack::rotamer_set::RotamerSetOperation
 RotamerSetOperation ()
 
 ~RotamerSetOperation () override
 
virtual RotamerSetOperationOP clone () const =0
 
virtual Real increase_packer_residue_radius (pose::Pose const &pose, task::PackerTaskCOP the_task, core::Size residue_in) const
 

Static Public Member Functions

static core::Real determine_largest_nbr_atom_distance (core::conformation::Residue const &target_res, utility::vector1< core::conformation::ResidueCOP > alternate_confs)
 returns the largest observed distance between the nbr atom in the target res and the nbr atom in any of the candidate rb confs More...
 

Protected Member Functions

 RigidBodyMoveBaseRSO ()
 
 RigidBodyMoveBaseRSO (const RigidBodyMoveBaseRSO &other)
 

Private Types

typedef core::pack::rotamer_set::RotamerSetOperation parent
 

Private Attributes

core::pack::rotamer_set::BumpSelector bump_selector_
 

Detailed Description

base class that handles single residue (usually ligand) rigid body movements in the packer. subclass generates a list of alternative rigid body placements. when the alter_rotamer_set function is called, this class superimposes all rotamers in the initial RotamerSet onto every alternative rigid body conformation in the member data list. these superimposed conformations then get added to the rotamer set. this class also handles the increased packer radius necessitated by the rigid body movements. when the increase_packer_residue_radius function is called, the biggest distance between the residue in the initial pose and any of the alternate conformations is returned.

Generating the alternative rigid body positions:

Subclasses must implement get_rigid_body_confs.

Subclasses may implement increase_packer_residue_radius to optimize this calculation. Default implementation calls get_rigid_body_confs and calculates the maximum nbr_atom delta.

Member Typedef Documentation

◆ parent

Constructor & Destructor Documentation

◆ RigidBodyMoveBaseRSO() [1/2]

protocols::toolbox::rotamer_set_operations::RigidBodyMoveBaseRSO::RigidBodyMoveBaseRSO ( )
inlineprotected

◆ RigidBodyMoveBaseRSO() [2/2]

protocols::toolbox::rotamer_set_operations::RigidBodyMoveBaseRSO::RigidBodyMoveBaseRSO ( const RigidBodyMoveBaseRSO other)
inlineprotected

Member Function Documentation

◆ alter_rotamer_set()

void protocols::toolbox::rotamer_set_operations::RigidBodyMoveBaseRSO::alter_rotamer_set ( core::pose::Pose const &  pose,
core::scoring::ScoreFunction const &  sfxn,
core::pack::task::PackerTask const &  ptask,
utility::graph::GraphCOP  packer_neighbor_graph,
core::pack::rotamer_set::RotamerSet rotamer_set 
)
overridevirtual

Adds additional rotamers at each rb conf.

fairly simple: iterate over the rotamers in the rotamer_set, superimpose each of them onto all the internally stored rigid body confs, and then add the newly generated rotamers to the rotamer_set

Recalculates chi-angle expansion via call to RotamerSet::extra_chi_samples and then generate candidate rotamers from each rb conf via SingleResidueRotamerLibrary::fill_rotamer_vector if rotamer library is available for the residue type, else just adds the alternate confs.

Does not have full safety checks to make sure all the rotamers in the set are of the same residue type as the internally stored ones, i.e. that no user sets this position to designing in the task

Implements core::pack::rotamer_set::RotamerSetOperation.

References core::pack::rotamer_set::RotamerSet::add_rotamer_into_existing_group(), core::pack::rotamer_set::RotamerSet::begin(), core::pack::task::PackerTask::being_designed(), core::pack::task::PackerTask::bump_check(), bump_selector_, core::conformation::Residue::copy_residue_connections_from(), core::pack::rotamer_set::DELETE_PREVIOUS_ROTAMER, core::pack::rotamer_set::DELETE_ROTAMER, core::pose::Pose::energies(), core::pack::task::ResidueLevelTask::extrachi_cutoff(), core::pack::rotamer_set::RotamerSet::get_n_residue_types(), get_rigid_body_confs(), core::pack::rotamer_set::BumpSelector::iterate_bump_selector(), core::pack::rotamer_set::KEEP_ROTAMER, core::conformation::Residue::name3(), core::pack::rotamer_set::RotamerSet::num_rotamers(), core::pack::rotamer_set::BumpSelector::reset(), core::pack::rotamer_set::RotamerSet::resid(), core::pose::Pose::residue(), core::pack::task::PackerTask::residue_task(), core::pose::Pose::residue_type_ptr(), core::scoring::Energies::tenA_neighbor_graph(), and protocols::toolbox::rotamer_set_operations::tr().

◆ determine_largest_nbr_atom_distance()

core::Real protocols::toolbox::rotamer_set_operations::RigidBodyMoveBaseRSO::determine_largest_nbr_atom_distance ( core::conformation::Residue const &  target_res,
utility::vector1< core::conformation::ResidueCOP alternate_confs 
)
static

returns the largest observed distance between the nbr atom in the target res and the nbr atom in any of the candidate rb confs

References core::conformation::Residue::name3(), core::conformation::Residue::nbr_atom(), protocols::kinmatch::xyz(), and core::conformation::Residue::xyz().

Referenced by increase_packer_residue_radius().

◆ get_rigid_body_confs()

virtual utility::vector1< core::conformation::ResidueCOP > protocols::toolbox::rotamer_set_operations::RigidBodyMoveBaseRSO::get_rigid_body_confs ( core::pose::Pose const &  pose,
core::pack::task::PackerTask const &  ptask,
core::Size  residue_index 
)
pure virtual

◆ increase_packer_residue_radius()

core::Real protocols::toolbox::rotamer_set_operations::RigidBodyMoveBaseRSO::increase_packer_residue_radius ( core::pose::Pose const &  pose,
core::pack::task::PackerTaskCOP  task,
core::Size  residue_index 
)
virtual

Member Data Documentation

◆ bump_selector_

core::pack::rotamer_set::BumpSelector protocols::toolbox::rotamer_set_operations::RigidBodyMoveBaseRSO::bump_selector_
private

Referenced by alter_rotamer_set().


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