Rosetta
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | List of all members
core::pack::rotamer_set::symmetry::SymmetricRotamerSets Class Reference

#include <SymmetricRotamerSets.hh>

Inheritance diagram for core::pack::rotamer_set::symmetry::SymmetricRotamerSets:
Inheritance graph
[legend]

Public Types

typedef task::PackerTaskCOP PackerTaskCOP
 
typedef conformation::symmetry::SymmetricConformation SymmetricConformation
 
typedef conformation::symmetry::SymmetryInfoCOP SymmetryInfoCOP
 
- Public Types inherited from core::pack::rotamer_set::RotamerSets
typedef task::PackerTaskCOP PackerTaskCOP
 
- Public Types inherited from core::pack::rotamer_set::FixbbRotamerSets
typedef pack_basic::RotamerSetsBase parent
 
typedef utility::vector1< RotamerSetOPRotamerSetVector
 

Public Member Functions

 SymmetricRotamerSets ()
 
 ~SymmetricRotamerSets () override
 
void compute_energies (pose::Pose const &pose, scoring::ScoreFunction const &scfxn, utility::graph::GraphCOP packer_neighbor_graph, interaction_graph::InteractionGraphBaseOP ig, core::Size const threads_to_request) override
 Precompute all rotamer pair and rotamer one-body energies, populating the given interaction graph. More...
 
void append_two_body_energy_computations_to_work_vector (core::pose::Pose const &pose, core::scoring::ScoreFunction const &scfxn, utility::graph::GraphCOP packer_neighbor_graph, interaction_graph::PrecomputedPairEnergiesInteractionGraphOP pig, utility::vector1< basic::thread_manager::RosettaThreadFunction > &work_vector, basic::thread_manager::RosettaThreadAssignmentInfo const &thread_assignment_info) const override
 Append to a vector of calculations that already contains one-body energy calculations additonal work units for two-body energy calculations, for subsequent multi-threaded evaluation. More...
 
void initialize_pose_for_rotsets_creation (pose::Pose &pose) const override
 Give the pose a chance to stash any data needed by the rotset need nonconst access to pose. More...
 
- Public Member Functions inherited from core::pack::rotamer_set::RotamerSets
 RotamerSets ()
 
 ~RotamerSets () override
 
void set_task (task::PackerTaskCOP task)
 
void build_rotamers (pose::Pose const &pose, scoring::ScoreFunction const &scfxn, utility::graph::GraphCOP packer_neighbor_graph)
 
void set_explicit_rotamers (core::Size moltenresid, RotamerSetOP rotamers)
 
void dump_pdb (pose::Pose const &pose, std::string const &filename) const
 
uint nrotamers () const override
 
uint nrotamers_for_moltenres (uint) const override
 
uint nmoltenres () const override
 
uint total_residue () const override
 
uint moltenres_2_resid (uint) const override
 
uint resid_2_moltenres (uint) const override
 
uint moltenres_for_rotamer (uint) const override
 
uint res_for_rotamer (uint) const override
 
core::conformation::ResidueCOP rotamer (uint) const override
 
core::conformation::ResidueCOP rotamer_for_moltenres (uint moltenres_id, uint rotamerid) const override
 
uint nrotamer_offset_for_moltenres (uint) const override
 
void drop_rotamers (utility::vector1< bool > const &rotamers_to_delete)
 rotamers_to_delete must be of size nrotmaers – each position in the array that's "true" is removed from the set of rotamers More...
 
bool has_rotamer_set_for_residue (uint const resid) const
 Does this RotamerSets object store a rotamer set for a residue at position resid in the pose? More...
 
RotamerSetCOP rotamer_set_for_residue (uint resid) const override
 
RotamerSetOP rotamer_set_for_residue (uint resid) override
 
RotamerSetCOP rotamer_set_for_moltenresidue (uint moltenresid) const override
 
RotamerSetOP rotamer_set_for_moltenresidue (uint moltenresid) override
 
RotamerSetVector::const_iterator begin () override
 
RotamerSetVector::const_iterator end () override
 
uint rotid_on_moltenresidue (uint rotid) const override
 convert rotid in full rotamer enumeration into rotamer id on its source residue More...
 
uint moltenres_rotid_2_rotid (uint moltenres, uint moltenresrotid) const override
 convert moltenres rotid to id in full rotamer enumeration More...
 
PackerTaskCOP task () const
 access to packer_task_ More...
 
void prepare_sets_for_packing (pose::Pose const &pose, scoring::ScoreFunction const &)
 
void update_offset_data ()
 
bool offset_data_up_to_date ()
 Used as a debug assert to ensure that RotamerSetsOperations call update_offset_data() More...
 
virtual utility::vector1< basic::thread_manager::RosettaThreadFunction > construct_one_body_energy_work_vector (core::pose::Pose const &pose, core::scoring::ScoreFunction const &scfxn, utility::graph::GraphCOP packer_neighbor_graph, interaction_graph::InteractionGraphBaseOP ig, basic::thread_manager::RosettaThreadAssignmentInfo const &thread_assignment_info) const
 Construct a vector of calculations for the one-body energies in the interaction graph, for subsequent multi-threaded evaluation. More...
 
utility::vector1< uint > const & resid_2_moltenres_vector () const override
 
utility::vector1< uint > const & moltenres_2_resid_vector () const override
 
void show (std::ostream &out) const override
 
- Public Member Functions inherited from core::pack::rotamer_set::FixbbRotamerSets
 FixbbRotamerSets ()
 
 ~FixbbRotamerSets () override
 
- Public Member Functions inherited from core::pack_basic::RotamerSetsBase
 RotamerSetsBase ()
 
 ~RotamerSetsBase () override
 

Static Public Member Functions

static RotamerSetOP orient_rotamer_set_to_symmetric_partner (pose::Pose const &pose, RotamerSetCOP rotset_for_seqpos, uint const &symmpos, bool const set_up_mirror_types_if_has_mirror_symmetry=false)
 Generate a new rotamer set oriented onto a reference rotamer set by cloning the reference set and reorienting using symmetry information. Return an owning pointer to the new, reoriented rotamer set. More...
 
- Static Public Member Functions inherited from core::pack::rotamer_set::RotamerSets
static core::PackerEnergy get_bb_bbE (pose::Pose const &pose, scoring::ScoreFunction const &scfxn, conformation::Residue const &res1, conformation::Residue const &res2)
 
static core::PackerEnergy get_sc_bbE (pose::Pose const &pose, scoring::ScoreFunction const &scfxn, conformation::Residue const &res1, conformation::Residue const &res2)
 

Private Member Functions

void prepare_symm_otf_interaction_graph (pose::Pose const &pose, scoring::ScoreFunction const &scfxn, utility::graph::GraphCOP packer_neighbor_graph, interaction_graph::SymmOnTheFlyInteractionGraphOP ig)
 
void compute_proline_correction_energies_for_otf_graph (pose::Pose const &pose, conformation::symmetry::SymmetryInfoCOP symm_info, scoring::ScoreFunction const &scfxn, utility::graph::GraphCOP packer_neighbor_graph, interaction_graph::SymmOnTheFlyInteractionGraphOP otfig)
 
bool final_visit_to_edge (pose::Pose const &pose, utility::graph::GraphCOP packer_neighbor_graph, uint ii_resid, uint jj_resid)
 

Member Typedef Documentation

◆ PackerTaskCOP

◆ SymmetricConformation

◆ SymmetryInfoCOP

Constructor & Destructor Documentation

◆ SymmetricRotamerSets()

core::pack::rotamer_set::symmetry::SymmetricRotamerSets::SymmetricRotamerSets ( )
default

◆ ~SymmetricRotamerSets()

core::pack::rotamer_set::symmetry::SymmetricRotamerSets::~SymmetricRotamerSets ( )
overridedefault

Member Function Documentation

◆ append_two_body_energy_computations_to_work_vector()

void core::pack::rotamer_set::symmetry::SymmetricRotamerSets::append_two_body_energy_computations_to_work_vector ( core::pose::Pose const &  pose,
core::scoring::ScoreFunction const &  scfxn,
utility::graph::GraphCOP  packer_neighbor_graph,
interaction_graph::PrecomputedPairEnergiesInteractionGraphOP  pig,
utility::vector1< basic::thread_manager::RosettaThreadFunction > &  work_vector,
basic::thread_manager::RosettaThreadAssignmentInfo const &  thread_assignment_info 
) const
overridevirtual

Append to a vector of calculations that already contains one-body energy calculations additonal work units for two-body energy calculations, for subsequent multi-threaded evaluation.

Each individual calculation is for the interaction of all possible rotamer pairs at two positions. Again, not as granular as conceivably possible, but easier to set up.

Note
The work_vector vector is extended by this operation. This version is for the symmetric case.
Author
Vikram K. Mulligan (vmull.nosp@m.igan.nosp@m.@flat.nosp@m.iron.nosp@m.insti.nosp@m.tue..nosp@m.org).

Reimplemented from core::pack::rotamer_set::RotamerSets.

References core::pose::Pose::conformation(), core::pose::Pose::energies(), core::scoring::Energies::long_range_container(), core::scoring::ScoreFunction::long_range_energies_begin(), core::scoring::ScoreFunction::long_range_energies_end(), core::id::swap(), and SYMM_INFO_SCORE_MULTIPLY_CUTOFF.

◆ compute_energies()

void core::pack::rotamer_set::symmetry::SymmetricRotamerSets::compute_energies ( pose::Pose const &  pose,
scoring::ScoreFunction const &  scfxn,
utility::graph::GraphCOP  packer_neighbor_graph,
interaction_graph::InteractionGraphBaseOP  ig,
core::Size const  threads_to_request 
)
overridevirtual

Precompute all rotamer pair and rotamer one-body energies, populating the given interaction graph.

Note
In the multithreaded case, this function requests that work be done in threads. It takes as input the number of threads to request.

Reimplemented from core::pack::rotamer_set::RotamerSets.

References core::id::to_string(), and TR().

◆ compute_proline_correction_energies_for_otf_graph()

void core::pack::rotamer_set::symmetry::SymmetricRotamerSets::compute_proline_correction_energies_for_otf_graph ( pose::Pose const &  pose,
conformation::symmetry::SymmetryInfoCOP  symm_info,
scoring::ScoreFunction const &  scfxn,
utility::graph::GraphCOP  packer_neighbor_graph,
interaction_graph::SymmOnTheFlyInteractionGraphOP  otfig 
)
private

◆ final_visit_to_edge()

bool core::pack::rotamer_set::symmetry::SymmetricRotamerSets::final_visit_to_edge ( pose::Pose const &  pose,
utility::graph::GraphCOP  packer_neighbor_graph,
uint  ii_resid,
uint  jj_resid 
)
private

◆ initialize_pose_for_rotsets_creation()

void core::pack::rotamer_set::symmetry::SymmetricRotamerSets::initialize_pose_for_rotsets_creation ( pose::Pose ) const
overridevirtual

Give the pose a chance to stash any data needed by the rotset need nonconst access to pose.

Reimplemented from core::pack::rotamer_set::RotamerSets.

References core::pose::Pose::conformation().

◆ orient_rotamer_set_to_symmetric_partner()

RotamerSetOP core::pack::rotamer_set::symmetry::SymmetricRotamerSets::orient_rotamer_set_to_symmetric_partner ( pose::Pose const &  pose,
RotamerSetCOP  rotset_for_seqpos,
uint const &  sympos,
bool const  set_up_mirror_types_if_has_mirror_symmetry = false 
)
static

Generate a new rotamer set oriented onto a reference rotamer set by cloning the reference set and reorienting using symmetry information. Return an owning pointer to the new, reoriented rotamer set.

Orients all rotamers in a rotamer_set to a different (symmetrical) position

Note
If set_up_mirror_symmetry_if_has_mirror_symmetry_ is true, then residues in mirrored subunits have their ResidueTypes switched to the types of the opposite chirality. If false (the default), then they keep the same types, and only have their geometry mirrored. The default is false, which is computationally less expensive at the expense of having the incorrect types in mirrored subunits.

References core::pose::Pose::conformation(), core::pose::Pose::conformation_ptr(), core::pose::Pose::residue_type_set_for_pose(), and rot().

Referenced by core::pack::interaction_graph::PrecomputedPairEnergiesInteractionGraph::add_longrange_twobody_energies_multithreaded(), and core::pack::interaction_graph::PrecomputedPairEnergiesInteractionGraph::set_twobody_energies_multithreaded().

◆ prepare_symm_otf_interaction_graph()

void core::pack::rotamer_set::symmetry::SymmetricRotamerSets::prepare_symm_otf_interaction_graph ( pose::Pose const &  pose,
scoring::ScoreFunction const &  sfxn,
utility::graph::GraphCOP  packer_neighbor_graph,
interaction_graph::SymmOnTheFlyInteractionGraphOP  ig 
)
private

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