Rosetta
|
A fixed library of conformations for some residue type (doesn't have to be a ligand). More...
#include <SingleLigandRotamerLibrary.hh>
Public Member Functions | |
SingleLigandRotamerLibrary () | |
~SingleLigandRotamerLibrary () override | |
virtual void | init_from_file (std::string const &filename, chemical::ResidueType const &restype) |
Reads conformers from PDB-format file (must be separated by TER records!) More... | |
void | init_from_vector (utility::vector1< NamePosMap > const &coordinates) |
Reads conformers from a vector of name:coordinate maps. More... | |
void | rotamer_energy_deriv (conformation::Residue const &rsd, pose::Pose const &pose, core::id::TorsionID const &tor_id, TorsionEnergy &tderiv) const override |
Adheres to the contract from SingleLigandRotamerLibrary. More... | |
Real | rotamer_energy (conformation::Residue const &rsd, pose::Pose const &pose, TorsionEnergy &tenergy) const override |
Adheres to the contract from SingleLigandRotamerLibrary. More... | |
std::set< id::PartialAtomID > | atoms_w_dof_derivatives (conformation::Residue const &rsd, pose::Pose const &pose) const override |
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... | |
Real | best_rotamer_energy (conformation::Residue const &rsd, pose::Pose const &pose, bool curr_rotamer_only) const override |
void | assign_random_rotamer_with_bias (conformation::Residue const &, pose::Pose const &, numeric::random::RandomGenerator &, dunbrack::ChiVector &, bool) const override |
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... | |
void | fill_rotamer_vector (pose::Pose const &pose, scoring::ScoreFunction const &scorefxn, pack::task::PackerTask const &task, utility::graph::GraphCOP, chemical::ResidueTypeCOP concrete_residue, conformation::Residue const &existing_residue, utility::vector1< utility::vector1< Real > > const &extra_chi_steps, bool buried, RotamerVector &rotamers) const override |
Adheres to the contract from SingleLigandRotamerLibrary. More... | |
void | write_to_file (utility::io::ozstream &out) const override |
Adheres to the contract from SingleLigandRotamerLibrary. More... | |
Real | get_reference_energy () const |
void | set_reference_energy (Real ref_E_in) |
void | build_base_rotamers (chemical::ResidueType const &restype, RotamerVector &base_rotamers) const |
Build a set of rotamers for the given ResidueType. More... | |
utility::vector1< NamePosMap > const & | get_atom_positions () const |
@ brief getter for our contained data. Not meant for use by Rosetta proper; this enables a simpler unit test. More... | |
![]() | |
SingleResidueRotamerLibrary () | |
~SingleResidueRotamerLibrary () override | |
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 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 | |
void | fill_missing_atoms (utility::vector1< bool > missing, conformation::ResidueOP rsd, utility::vector1< bool > &missed) const |
Fills in missing hydrogens/virtual atoms from library load. More... | |
Private Attributes | |
utility::vector1< NamePosMap > | atom_positions_ |
Real | ref_energy_ |
A fixed library of conformations for some residue type (doesn't have to be a ligand).
Reads residue conformations in PDB format separated by mandatory TER records. "Included" from a residue .params file with the PDB_ROTAMERS keyword.
core::pack::rotamers::SingleLigandRotamerLibrary::SingleLigandRotamerLibrary | ( | ) |
|
overridedefault |
|
inlineoverridevirtual |
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.
Implements core::pack::rotamers::SingleResidueRotamerLibrary.
|
overridevirtual |
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.
Implements core::pack::rotamers::SingleResidueRotamerLibrary.
|
overridevirtual |
Not currently implemented – returns 0. For most things, it's actually quite hard to correctly rank the conformers by energy. Thus, I've chosen not to introduce noise by attempting to rank them and doing it badly.
Implements core::pack::rotamers::SingleResidueRotamerLibrary.
References ref_energy_.
void core::pack::rotamers::SingleLigandRotamerLibrary::build_base_rotamers | ( | chemical::ResidueType const & | restype, |
RotamerVector & | base_rotamers | ||
) | const |
Build a set of rotamers for the given ResidueType.
References atom_positions_, core::conformation::ResidueFactory::create_residue(), fill_missing_atoms(), core::chemical::ResidueTypeBase::name(), core::chemical::ResidueType::natoms(), core::conformation::set_chi_according_to_coordinates(), and core::pack::rotamers::TR().
Referenced by fill_rotamer_vector().
|
private |
Fills in missing hydrogens/virtual atoms from library load.
"missing" is the vector for atoms missing for the current "rsd"
References core::chemical::ICoorAtomID::atomno(), core::chemical::AtomICoor::build(), core::chemical::AtomICoor::stub_atom(), core::id::to_string(), and core::pack::rotamers::TR().
Referenced by build_base_rotamers().
|
overridevirtual |
Adheres to the contract from SingleLigandRotamerLibrary.
Implements core::pack::rotamers::SingleResidueRotamerLibrary.
References build_base_rotamers(), core::pack::rotamers::SingleResidueRotamerLibrary::compute_proton_chi_samplings(), core::pose::Pose::conformation(), core::pack::rotamers::dup_residue(), core::pack::rotamers::SingleResidueRotamerLibrary::expand_proton_chis(), core::pack::task::PackerTask::residue_task(), core::conformation::Residue::seqpos(), and core::pack::rotamers::TR().
|
inline |
@ brief getter for our contained data. Not meant for use by Rosetta proper; this enables a simpler unit test.
References atom_positions_.
|
inline |
References ref_energy_.
|
virtual |
Reads conformers from PDB-format file (must be separated by TER records!)
Reads conformers from PDB-format file. Chain ID, residue name and number, etc are all ignored – must have TER records.
References atom_positions_, protocols::abinitio::filename(), ref_energy_, core::pack::rotamers::rotamer_information_from_PDB_stream(), and core::pack::rotamers::TR().
void core::pack::rotamers::SingleLigandRotamerLibrary::init_from_vector | ( | utility::vector1< NamePosMap > const & | coordinates | ) |
Reads conformers from a vector of name:coordinate maps.
References atom_positions_.
|
overridevirtual |
Adheres to the contract from SingleLigandRotamerLibrary.
Not currently implemented – returns 0. For most things, it's actually quite hard to correctly rank the conformers by energy. Thus, I've chosen not to introduce noise by attempting to rank them and doing it badly.
Implements core::pack::rotamers::SingleResidueRotamerLibrary.
References ref_energy_, and core::pack::rotamers::TorsionEnergy::tot.
|
overridevirtual |
Adheres to the contract from SingleLigandRotamerLibrary.
Not currently implemented – returns 0.
Implements core::pack::rotamers::SingleResidueRotamerLibrary.
|
inline |
References ref_energy_.
|
overridevirtual |
Adheres to the contract from SingleLigandRotamerLibrary.
Not implemented – will cause program termination. Is this only used by coarse representations?
Implements core::pack::rotamers::SingleResidueRotamerLibrary.
|
private |
Referenced by build_base_rotamers(), get_atom_positions(), init_from_file(), and init_from_vector().
|
private |
Referenced by best_rotamer_energy(), get_reference_energy(), init_from_file(), rotamer_energy(), and set_reference_energy().