Rosetta
|
SingleResidueRotamerLibrary pure virtual base class. More...
#include <SingleResidueRotamerLibrary.hh>
Public Member Functions | |
SingleResidueRotamerLibrary () | |
~SingleResidueRotamerLibrary () override | |
virtual void | rotamer_energy_deriv (conformation::Residue const &rsd, pose::Pose const &pose, core::id::TorsionID const &tor_id, TorsionEnergy &tderiv) const =0 |
virtual Real | rotamer_energy (conformation::Residue const &rsd, pose::Pose const &pose, TorsionEnergy &energy) const =0 |
virtual std::set< id::PartialAtomID > | atoms_w_dof_derivatives (conformation::Residue const &rsd, pose::Pose const &pose) const =0 |
Return the set of atoms ids (or, if they come from another residue, PartialAtomIDs) for the set of atoms that are used in defining the DOF derivatives for a particular residue. More... | |
virtual Real | best_rotamer_energy (conformation::Residue const &rsd, pose::Pose const &pose, bool curr_rotamer_only) const =0 |
Returns the energy of the lowest-energy rotamer accessible to the given residue (based on e.g. its current phi and psi values). If curr_rotamer_only is true, then consider only the idealized version of the residue's current rotamer (local optimum); otherwise, consider all rotamers (global optimum). More... | |
virtual void | assign_random_rotamer_with_bias (conformation::Residue const &rsd, pose::Pose const &pose, numeric::random::RandomGenerator &RG, dunbrack::ChiVector &new_chi_angles, bool perturb_from_rotamer_center) const =0 |
Pick a rotamer for the input residue according to the rotamer probability distribution and assign chi angles to the input rsd. If perturb_from_rotamer_center is true, then push the rotamer off from the center; for chi angles with a normal distribution, the perturbation is taken from a Gaussian random number with a standard deviation matching the chi angle's standard deviation. For chi angles that are not normally distributed, the behavior is open to the derived classe's interpretation. More... | |
virtual void | fill_rotamer_vector (pose::Pose const &pose, scoring::ScoreFunction const &scorefxn, pack::task::PackerTask const &task, utility::graph::GraphCOP packer_neighbor_graph, chemical::ResidueTypeCOP concrete_residue, conformation::Residue const &existing_residue, utility::vector1< utility::vector1< Real > > const &extra_chi_steps, bool buried, RotamerVector &rotamers) const =0 |
virtual utility::vector1< utility::vector1< core::Real > > | compute_proton_chi_samplings (chemical::ResidueType const &concrete_residue, pack::task::ResidueLevelTask const &rlt, bool buried) const |
Return a vector (indexed by proton_chi number) of vectors of dihedral values to use in proton chi sampling. More... | |
virtual utility::vector1< dunbrack::ChiSetOP > | expand_proton_chis (utility::vector1< utility::vector1< core::Real > > const &sampling, chemical::ResidueType const &concrete_residue, core::Size max_rotamers=5000) const |
Given a vector of vectors of dihedrals to sample on proton chis, Will create the ChiSet vector combinitorially on those chi values (Note: The ChiSets are only valid/defined over the proton chis.) More... | |
virtual void | bump_filter (RotamerVector &rotamers, core::Size resid, scoring::ScoreFunction const &sf, pose::Pose const &pose, task::PackerTask const &task, utility::graph::GraphCOP packer_neighbor_graph) const |
Filter a RotamerVector by "bump energy" of a rotamer: All rotamers with bump energies over a certain threshold will be discarded Exception: if all rotamers are over the threshold, one rotamer (with the lowest bump energy) will be reserved. The vector "rotamers" will be modified "in-place". More... | |
virtual core::PackerEnergy | bump_check (core::conformation::ResidueCOP rotamer, core::Size resid, scoring::ScoreFunction const &sf, pose::Pose const &pose, task::PackerTask const &task, utility::graph::GraphCOP packer_neighbor_graph) const |
Computes the "bump energy" of a rotamer: the bump energy is the sum of rotamer's interactions with 1) the backbone-and-side chains of neighboring residues that are held fixed during this repacking optimization and 2) the backbones of neighboring residues that are changable during this repacking optimization. More... | |
virtual core::Size | current_rotamer (RotamerVector &rotamers, core::Size resid, task::PackerTask const &task, chemical::ResidueTypeCOP concrete_residue, conformation::Residue const &existing_residue) const |
Adds the current rotamer to rotamer vector, if the Rotlib supports it. More... | |
virtual void | emergency_rotamer (RotamerVector &rotamers, core::Size resid, pose::Pose const &pose, task::PackerTask const &task, chemical::ResidueTypeCOP concrete_residue, conformation::Residue const &existing_residue) const |
Generate an "emergency rotamer" if we don't have any. More... | |
RotamerVector | virtual_sidechain (RotamerVector const &rotamers, core::Size resid, pose::Pose const &pose, task::PackerTask const &task, chemical::ResidueTypeCOP concrete_residue, conformation::Residue const &existing_residue) const |
Add a virtualized sidechain to the rotamer vector if settings call for it. More... | |
virtual void | write_to_file (utility::io::ozstream &out) const =0 |
virtual bool | operator== (SingleResidueRotamerLibrary const &) const |
Equality test for equivalence. Two SingleResidueRotamerLibraries test equal if and only if they represent the exact same behavior. More... | |
Private Member Functions | |
SingleResidueRotamerLibrary & | operator= (SingleResidueRotamerLibrary const &other)=delete |
SingleResidueRotamerLibrary (SingleResidueRotamerLibrary const &)=delete | |
SingleResidueRotamerLibrary pure virtual base class.
|
privatedelete |
|
inline |
|
overridedefault |
|
pure virtual |
Pick a rotamer for the input residue according to the rotamer probability distribution and assign chi angles to the input rsd. If perturb_from_rotamer_center is true, then push the rotamer off from the center; for chi angles with a normal distribution, the perturbation is taken from a Gaussian random number with a standard deviation matching the chi angle's standard deviation. For chi angles that are not normally distributed, the behavior is open to the derived classe's interpretation.
Implemented in core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >, core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >, core::pack::dunbrack::cenrot::SingleResidueCenrotLibrary, core::pack::rotamers::SingleLigandRotamerLibrary, and core::pack::rotamers::SingleBasicRotamerLibrary.
|
pure virtual |
Return the set of atoms ids (or, if they come from another residue, PartialAtomIDs) for the set of atoms that are used in defining the DOF derivatives for a particular residue.
Implemented in core::pack::rotamers::SingleLigandRotamerLibrary, core::pack::rotamers::SingleBasicRotamerLibrary, core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >, and core::pack::dunbrack::cenrot::SingleResidueCenrotLibrary.
|
pure virtual |
Returns the energy of the lowest-energy rotamer accessible to the given residue (based on e.g. its current phi and psi values). If curr_rotamer_only is true, then consider only the idealized version of the residue's current rotamer (local optimum); otherwise, consider all rotamers (global optimum).
Implemented in core::pack::rotamers::SingleLigandRotamerLibrary, core::pack::rotamers::SingleBasicRotamerLibrary, core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >, core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >, and core::pack::dunbrack::cenrot::SingleResidueCenrotLibrary.
|
virtual |
Computes the "bump energy" of a rotamer: the bump energy is the sum of rotamer's interactions with 1) the backbone-and-side chains of neighboring residues that are held fixed during this repacking optimization and 2) the backbones of neighboring residues that are changable during this repacking optimization.
Bump check does not include long range energies, though, maybe this should change.
References core::scoring::ScoreFunction::bump_check_backbone(), core::scoring::ScoreFunction::bump_check_full(), core::scoring::EMapVector::dot(), core::pack::task::PackerTask::pack_residue(), core::pose::Pose::residue(), and core::scoring::ScoreFunction::weights().
Referenced by bump_filter().
|
virtual |
Filter a RotamerVector by "bump energy" of a rotamer: All rotamers with bump energies over a certain threshold will be discarded Exception: if all rotamers are over the threshold, one rotamer (with the lowest bump energy) will be reserved. The vector "rotamers" will be modified "in-place".
References core::pack::task::PackerTask::bump_check(), bump_check(), core::pack::rotamer_set::DELETE_PREVIOUS_ROTAMER, core::pack::rotamer_set::DELETE_ROTAMER, core::pack::rotamer_set::BumpSelector::iterate_bump_selector(), core::pack::rotamer_set::KEEP_ROTAMER, core::pack::task::PackerTask::max_rotbump_energy(), rot(), and core::pack::rotamers::TR().
|
virtual |
Return a vector (indexed by proton_chi number) of vectors of dihedral values to use in proton chi sampling.
References core::pack::task::ResidueLevelTask::extrachi_sample_level(), core::chemical::ResidueType::n_proton_chi(), core::pack::task::NO_EXTRA_CHI_SAMPLES, core::chemical::ResidueType::proton_chi_2_chi(), core::chemical::ResidueType::proton_chi_extra_samples(), and core::chemical::ResidueType::proton_chi_samples().
Referenced by core::pack::rotamers::SingleLigandRotamerLibrary::fill_rotamer_vector().
|
virtual |
Adds the current rotamer to rotamer vector, if the Rotlib supports it.
This is in this class mainly because of historical behavior of certain rotamer libraries not supporting current rotamers
References core::conformation::Residue::create_rotamer(), core::pack::task::PackerTask::include_current(), core::conformation::Residue::name(), rot(), core::conformation::Residue::seqpos(), and core::pack::rotamers::TR().
|
virtual |
Generate an "emergency rotamer" if we don't have any.
This is in this class mainly because of historical behavior of certain rotamer libraries not supporting current rotamers
References core::pose::Pose::conformation(), core::conformation::ResidueFactory::create_residue(), rot(), and core::pack::rotamers::TR().
|
virtual |
Given a vector of vectors of dihedrals to sample on proton chis, Will create the ChiSet vector combinitorially on those chi values (Note: The ChiSets are only valid/defined over the proton chis.)
References core::chemical::ResidueType::n_proton_chi(), core::chemical::ResidueTypeBase::name(), core::chemical::ResidueType::nchi(), core::chemical::ResidueType::proton_chi_2_chi(), and core::pack::rotamers::TR().
Referenced by core::pack::rotamers::SingleLigandRotamerLibrary::fill_rotamer_vector().
|
pure virtual |
Implemented in core::pack::rotamers::SingleLigandRotamerLibrary, core::pack::rotamers::SingleBasicRotamerLibrary, core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >, core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >, and core::pack::dunbrack::cenrot::SingleResidueCenrotLibrary.
|
privatedelete |
|
virtual |
Equality test for equivalence. Two SingleResidueRotamerLibraries test equal if and only if they represent the exact same behavior.
Reimplemented in core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >, core::pack::dunbrack::SingleResidueDunbrackLibrary, and core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >.
References core::pack::rotamers::TR().
|
pure virtual |
Implemented in core::pack::rotamers::SingleLigandRotamerLibrary, core::pack::rotamers::SingleBasicRotamerLibrary, core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >, core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >, and core::pack::dunbrack::cenrot::SingleResidueCenrotLibrary.
Referenced by virtual_sidechain().
|
pure virtual |
Implemented in core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >, core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >, core::pack::dunbrack::cenrot::SingleResidueCenrotLibrary, core::pack::rotamers::SingleLigandRotamerLibrary, and core::pack::rotamers::SingleBasicRotamerLibrary.
RotamerVector core::pack::rotamers::SingleResidueRotamerLibrary::virtual_sidechain | ( | RotamerVector const & | rotamers, |
core::Size | resid, | ||
pose::Pose const & | pose, | ||
task::PackerTask const & | task, | ||
chemical::ResidueTypeCOP | concrete_residue, | ||
conformation::Residue const & | existing_residue | ||
) | const |
Add a virtualized sidechain to the rotamer vector if settings call for it.
References core::conformation::Residue::aa(), core::chemical::aa_pro, core::pose::add_variant_type_to_residue(), core::scoring::fa_dun, core::pack::task::ResidueLevelTask::include_virtual_side_chain(), core::conformation::Residue::n_non_polymeric_residue_connections(), core::conformation::Residue::nchi(), core::pack::task::PackerTask::residue_task(), rot(), rotamer_energy(), and core::chemical::VIRTUAL_SIDE_CHAIN.
|
pure virtual |
Implemented in core::pack::rotamers::SingleLigandRotamerLibrary, core::pack::rotamers::SingleBasicRotamerLibrary, core::pack::dunbrack::SemiRotamericSingleResidueDunbrackLibrary< T, N >, core::pack::dunbrack::RotamericSingleResidueDunbrackLibrary< T, N >, and core::pack::dunbrack::cenrot::SingleResidueCenrotLibrary.