Rosetta
Public Member Functions | Private Member Functions | Private Attributes | List of all members
core::pack::rotamers::SingleLigandRotamerLibrary Class Reference

A fixed library of conformations for some residue type (doesn't have to be a ligand). More...

#include <SingleLigandRotamerLibrary.hh>

Inheritance diagram for core::pack::rotamers::SingleLigandRotamerLibrary:
Inheritance graph
[legend]

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::PartialAtomIDatoms_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...
 
- Public Member Functions inherited from core::pack::rotamers::SingleResidueRotamerLibrary
 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::ChiSetOPexpand_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< NamePosMapatom_positions_
 
Real ref_energy_
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ SingleLigandRotamerLibrary()

core::pack::rotamers::SingleLigandRotamerLibrary::SingleLigandRotamerLibrary ( )

◆ ~SingleLigandRotamerLibrary()

core::pack::rotamers::SingleLigandRotamerLibrary::~SingleLigandRotamerLibrary ( )
overridedefault

Member Function Documentation

◆ assign_random_rotamer_with_bias()

void core::pack::rotamers::SingleLigandRotamerLibrary::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
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.

◆ atoms_w_dof_derivatives()

std::set< id::PartialAtomID > core::pack::rotamers::SingleLigandRotamerLibrary::atoms_w_dof_derivatives ( conformation::Residue const &  rsd,
pose::Pose const &  pose 
) const
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.

◆ best_rotamer_energy()

Real core::pack::rotamers::SingleLigandRotamerLibrary::best_rotamer_energy ( conformation::Residue const &  rsd,
pose::Pose const &  pose,
bool  curr_rotamer_only 
) const
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_.

◆ build_base_rotamers()

void core::pack::rotamers::SingleLigandRotamerLibrary::build_base_rotamers ( chemical::ResidueType const &  restype,
RotamerVector base_rotamers 
) const

◆ fill_missing_atoms()

void core::pack::rotamers::SingleLigandRotamerLibrary::fill_missing_atoms ( utility::vector1< bool >  missing,
conformation::ResidueOP  rsd,
utility::vector1< bool > &  missed 
) const
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().

◆ fill_rotamer_vector()

void core::pack::rotamers::SingleLigandRotamerLibrary::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
overridevirtual

◆ get_atom_positions()

utility::vector1< NamePosMap > const& core::pack::rotamers::SingleLigandRotamerLibrary::get_atom_positions ( ) const
inline

@ brief getter for our contained data. Not meant for use by Rosetta proper; this enables a simpler unit test.

References atom_positions_.

◆ get_reference_energy()

Real core::pack::rotamers::SingleLigandRotamerLibrary::get_reference_energy ( ) const
inline

References ref_energy_.

◆ init_from_file()

void core::pack::rotamers::SingleLigandRotamerLibrary::init_from_file ( std::string const &  filename,
chemical::ResidueType const &  restype 
)
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().

◆ init_from_vector()

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_.

◆ rotamer_energy()

Real core::pack::rotamers::SingleLigandRotamerLibrary::rotamer_energy ( conformation::Residue const &  rsd,
pose::Pose const &  pose,
TorsionEnergy tenergy 
) const
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.

◆ rotamer_energy_deriv()

void core::pack::rotamers::SingleLigandRotamerLibrary::rotamer_energy_deriv ( conformation::Residue const &  rsd,
pose::Pose const &  pose,
core::id::TorsionID const &  tor_id,
TorsionEnergy tderiv 
) const
overridevirtual

Adheres to the contract from SingleLigandRotamerLibrary.

Not currently implemented – returns 0.

Implements core::pack::rotamers::SingleResidueRotamerLibrary.

◆ set_reference_energy()

void core::pack::rotamers::SingleLigandRotamerLibrary::set_reference_energy ( Real  ref_E_in)
inline

References ref_energy_.

◆ write_to_file()

void core::pack::rotamers::SingleLigandRotamerLibrary::write_to_file ( utility::io::ozstream &  out) const
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.

Member Data Documentation

◆ atom_positions_

utility::vector1< NamePosMap > core::pack::rotamers::SingleLigandRotamerLibrary::atom_positions_
private

◆ ref_energy_

Real core::pack::rotamers::SingleLigandRotamerLibrary::ref_energy_
private

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