Rosetta
|
#include <RigidBodyMoveRotSetOps.hh>
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_ |
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.
|
private |
|
inlineprotected |
|
inlineprotected |
|
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().
|
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().
|
pure virtual |
returns candidate alternate RB conformations
Implemented in protocols::toolbox::rotamer_set_operations::RigidBodyMoveRSO, and protocols::hotspot_hashing::SearchPatternRotSetOp.
Referenced by alter_rotamer_set(), and increase_packer_residue_radius().
|
virtual |
Reimplemented in protocols::hotspot_hashing::SearchPatternRotSetOp.
References determine_largest_nbr_atom_distance(), get_rigid_body_confs(), and core::pose::Pose::residue().
|
private |
Referenced by alter_rotamer_set().