Rosetta
|
#include <RotamerSets.hh>
Public Types | |
typedef task::PackerTaskCOP | PackerTaskCOP |
![]() | |
typedef pack_basic::RotamerSetsBase | parent |
typedef utility::vector1< RotamerSetOP > | RotamerSetVector |
Public Member Functions | |
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 | initialize_pose_for_rotsets_creation (pose::Pose &) const override |
Give the pose a chance to stash any data needed by the rotset need nonconst access to pose. More... | |
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... | |
virtual 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 |
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... | |
virtual 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) |
Precompute all rotamer pair and rotamer one-body energies, populating the given interaction graph. 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 |
![]() | |
FixbbRotamerSets () | |
~FixbbRotamerSets () override | |
![]() | |
RotamerSetsBase () | |
~RotamerSetsBase () override | |
Static Public Member Functions | |
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 | copy_residue_conenctions_and_variants (pose::Pose const &pose, conformation::ResidueOP cloneRes, Size seqpos, Size asym_length) |
void | prepare_otf_graph (pose::Pose const &pose, scoring::ScoreFunction const &scfxn, utility::graph::GraphCOP packer_neighbor_graph, interaction_graph::OnTheFlyInteractionGraphOP otfig) |
Marks all protein vertices in the on-the-fly interaction graph as ones that should distinguish between the backbones and sidechains. Then, adds edges to the on-the-fly interaction graph between neighboring RotamerSets, and figures out, for those edges, which pairs of rotamer groups (e.g. ala1/arg2, ser1/phe2) are close enough to interact for their energies to need calculation. More... | |
void | compute_proline_correction_energies_for_otf_graph (pose::Pose const &pose, scoring::ScoreFunction const &scfxn, utility::graph::GraphCOP packer_neighbor_graph, interaction_graph::OnTheFlyInteractionGraphOP otfig) |
computes one body energies for the on-the-fly graph, calculating proline-correction terms for protien-residues that allow prolines and storing them on the otf edges More... | |
Private Attributes | |
uint | nmoltenres_ = 0 |
uint | total_residue_ = 0 |
uint | nrotamers_ = 0 |
RotamerSetVector | set_of_rotamer_sets_ |
utility::vector1< uint > | resid_2_moltenres_ |
utility::vector1< uint > | moltenres_2_resid_ |
utility::vector1< uint > | nrotamer_offsets_ |
utility::vector1< uint > | moltenres_for_rotamer_ |
utility::vector1< uint > | nrotamers_for_moltenres_ |
PackerTaskCOP | task_ |
|
default |
|
overridedefault |
|
virtual |
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.
Reimplemented in core::pack::rotamer_set::symmetry::SymmetricRotamerSets.
References core::pose::Pose::energies(), core::scoring::Energies::long_range_container(), core::scoring::ScoreFunction::long_range_energies_begin(), core::scoring::ScoreFunction::long_range_energies_end(), and TR().
|
inlineoverridevirtual |
Implements core::pack::rotamer_set::FixbbRotamerSets.
References set_of_rotamer_sets_.
void core::pack::rotamer_set::RotamerSets::build_rotamers | ( | pose::Pose const & | pose, |
scoring::ScoreFunction const & | scfxn, | ||
utility::graph::GraphCOP | packer_neighbor_graph | ||
) |
References core::pose::add_variant_type_to_residue(), core::pose::Pose::conformation(), core::chemical::CUTPOINT_LOWER, core::chemical::CUTPOINT_UPPER, core::conformation::Residue::has_variant_type(), core::pose::symmetry::is_symmetric(), core::chemical::LOWER_TERMINUS_VARIANT, core::pose::remove_variant_type_from_residue(), core::pose::Pose::residue(), core::pose::Pose::size(), core::pose::symmetry::symmetry_info(), TR(), and core::chemical::UPPER_TERMINUS_VARIANT.
|
virtual |
Precompute all rotamer pair and rotamer one-body energies, populating the given interaction graph.
Reimplemented in core::pack::rotamer_set::symmetry::SymmetricRotamerSets.
References core::id::to_string(), and TR().
Referenced by core::pack::interaction_graph::InteractionGraphFactory::create_and_initialize_two_body_interaction_graph().
|
private |
computes one body energies for the on-the-fly graph, calculating proline-correction terms for protien-residues that allow prolines and storing them on the otf edges
0. Find example proline and glycine residues where possible.
References core::chemical::aa_gly, and core::chemical::aa_pro.
|
virtual |
Construct a vector of calculations for the one-body energies in the interaction graph, for subsequent multi-threaded evaluation.
Each individual calculation is for all one-body energies at a packable position. This isn't as granular as possible, but more finely-grained parallelism would be harder to implement (and anyways the one-body energies are much less expensive than the two-body energies).
References TR().
|
private |
References core::pose::add_variant_type_to_residue(), core::pose::Pose::conformation(), core::chemical::CUTPOINT_UPPER, core::conformation::Residue::has_variant_type(), core::chemical::LOWER_TERMINUS_VARIANT, core::pose::remove_variant_type_from_residue(), core::pose::Pose::residue(), and core::chemical::UPPER_TERMINUS_VARIANT.
void core::pack::rotamer_set::RotamerSets::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
Referenced by core::pack::rotamer_set::PyRotamerEliminator::alter_rotamer_sets().
void core::pack::rotamer_set::RotamerSets::dump_pdb | ( | pose::Pose const & | pose, |
std::string const & | filename | ||
) | const |
|
inlineoverridevirtual |
Implements core::pack::rotamer_set::FixbbRotamerSets.
References set_of_rotamer_sets_.
|
static |
References core::scoring::EMapVector::dot(), core::scoring::ScoreFunction::eval_cd_2b_bb_bb(), core::scoring::ScoreFunction::eval_ci_2b_bb_bb(), and core::scoring::ScoreFunction::weights().
Referenced by protocols::flexpack::rotamer_set::FlexbbRotamerSets::compute_sr_one_body_energies_for_flexsets(), and protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::debug_note_projected_deltaE_of_considered_substitution().
|
static |
References core::scoring::EMapVector::dot(), core::scoring::ScoreFunction::eval_cd_2b_bb_sc(), core::scoring::ScoreFunction::eval_ci_2b_bb_sc(), and core::scoring::ScoreFunction::weights().
Referenced by protocols::flexpack::rotamer_set::FlexbbRotamerSets::compute_sr_one_body_energies_for_flexsets(), and protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::debug_note_projected_deltaE_of_considered_substitution().
bool core::pack::rotamer_set::RotamerSets::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?
Rotamer sets for non-packable residues aren't generated, but could conceivably be queried by protocols or energy functions.
Referenced by core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::compute_volumes_of_buried_rotamers(), core::pack::guidance_scoreterms::sap::SapConstraintHelper::fill_atom_neighbor_stuff(), core::pack::hbonds::hbond_graph_from_partial_rotsets(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraph::initialize_graph_for_packing(), core::pack::guidance_scoreterms::lk_dome::LK_DomeHelper::prepare_lkd_infos_and_assign_waters(), core::pack::guidance_scoreterms::lk_dome::LK_DomeHelper::prepare_score_data(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::prune_donor_acceptor_groups_lacking_hbonds_to_packable(), core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::prune_voxels_for_fixed_residues(), core::pack::guidance_scoreterms::sap::SapConstraintHelper::setup_for_symmetry(), and core::pack::guidance_scoreterms::sap::SapConstraintHelper::setup_lightning().
|
inlineoverridevirtual |
Give the pose a chance to stash any data needed by the rotset need nonconst access to pose.
Implements core::pack_basic::RotamerSetsBase.
Reimplemented in core::pack::rotamer_set::symmetry::SymmetricRotamerSets.
Implements core::pack_basic::RotamerSetsBase.
Referenced by core::pack::scmin::AtomTreeCollection::AtomTreeCollection(), core::pack::hbonds::determine_atom_level_node_info(), core::pack::hbonds::find_satisfying_interactions_with_background(), core::pack::interaction_graph::get_annealable_graph_summary(), core::pack::get_total_energy_for_state(), and core::pack::interaction_graph::InteractionGraphFactory::setup_IG_res_res_weights().
|
inlineoverridevirtual |
Implements core::pack::rotamer_set::FixbbRotamerSets.
References moltenres_2_resid_.
|
overridevirtual |
Implements core::pack_basic::RotamerSetsBase.
Referenced by core::pack::hbonds::determine_atom_level_node_info(), and core::pack::hbonds::init_node_info().
|
overridevirtual |
convert moltenres rotid to id in full rotamer enumeration
Implements core::pack_basic::RotamerSetsBase.
|
overridevirtual |
Implements core::pack_basic::RotamerSetsBase.
Referenced by core::pack::scmin::AtomTreeCollection::AtomTreeCollection(), core::pack::interaction_graph::InteractionGraphFactory::create_interaction_graph(), core::pack::interaction_graph::get_annealable_graph_summary(), core::pack::get_total_energy_for_state(), core::pack::interaction_graph::ResidueArrayAnnealingEvaluator::initialize(), core::pack::interaction_graph::HPatchInteractionGraph< V, E, G >::initialize(), core::pack::interaction_graph::NPDHBondInteractionGraph< V, E, G >::initialize(), core::pack::interaction_graph::SurfaceInteractionGraph< V, E, G >::initialize(), and core::pack::interaction_graph::InteractionGraphFactory::setup_IG_res_res_weights().
|
overridevirtual |
Implements core::pack_basic::RotamerSetsBase.
|
overridevirtual |
Implements core::pack_basic::RotamerSetsBase.
Referenced by protocols::task_operations::PruneBuriedUnsats_RotamerSetsOperation::alter_rotamer_sets(), core::pack::rotamer_set::PyRotamerEliminator::alter_rotamer_sets(), core::pack::guidance_scoreterms::sap::SapConstraintHelper::convert_block_sasa_to_sasa_score(), core::pack::hbonds::create_and_init_hbond_graph(), core::pack::interaction_graph::estimate_n_2body_calcs_for_linmem_ig(), core::pack::guidance_scoreterms::sap::SapConstraintHelper::fill_atom_neighbor_stuff(), core::pack::guidance_scoreterms::sap::SapConstraintHelper::fill_block_params(), core::pack::hbonds::init_node_info(), protocols::multistate_design::limit_rotamer_set(), and protocols::multistate_design::restrict_to_canonical_aas().
|
overridevirtual |
Implements core::pack_basic::RotamerSetsBase.
Referenced by core::pack::interaction_graph::estimate_n_2body_calcs_for_precomputation().
bool core::pack::rotamer_set::RotamerSets::offset_data_up_to_date | ( | ) |
Used as a debug assert to ensure that RotamerSetsOperations call update_offset_data()
Without this check, rotamer sets operations could potentially introduce very-hard-to-debug glitches if they don't call update_offset_data().
|
private |
Marks all protein vertices in the on-the-fly interaction graph as ones that should distinguish between the backbones and sidechains. Then, adds edges to the on-the-fly interaction graph between neighboring RotamerSets, and figures out, for those edges, which pairs of rotamer groups (e.g. ala1/arg2, ser1/phe2) are close enough to interact for their energies to need calculation.
References core::scoring::ScoreFunction::any_lr_residue_pair_energy(), 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::scoring::ScoreFunction::max_atomic_interaction_cutoff(), core::conformation::Residue::nbr_atom(), core::conformation::Residue::nbr_radius(), core::chemical::num_canonical_aas, and core::conformation::Residue::xyz().
void core::pack::rotamer_set::RotamerSets::prepare_sets_for_packing | ( | pose::Pose const & | pose, |
scoring::ScoreFunction const & | sfxn | ||
) |
|
inlineoverridevirtual |
Implements core::pack::rotamer_set::FixbbRotamerSets.
References resid_2_moltenres_.
|
overridevirtual |
Implements core::pack_basic::RotamerSetsBase.
Referenced by core::pack::guidance_scoreterms::sap::SapConstraintHelper::convert_block_sasa_to_sasa_score(), core::pack::hbonds::determine_atom_level_edge_info(), core::pack::hbonds::determine_atom_level_node_info(), core::pack::guidance_scoreterms::sap::SapConstraintHelper::fill_atom_neighbor_stuff(), core::pack::guidance_scoreterms::sap::SapConstraintHelper::fill_block_params(), core::pack::hbonds::find_satisfying_interactions_with_background(), protocols::multistate_design::limit_rotamer_set(), and protocols::multistate_design::restrict_to_canonical_aas().
|
overridevirtual |
Implements core::pack_basic::RotamerSetsBase.
Referenced by core::pack::minimize_alt_rotamer().
|
overridevirtual |
Implements core::pack::rotamer_set::FixbbRotamerSets.
Referenced by core::pack::scmin::AtomTreeCollection::AtomTreeCollection(), core::pack::interaction_graph::InteractionGraphFactory::create_interaction_graph(), core::pack::interaction_graph::get_annealable_graph_summary(), and core::pack::interaction_graph::ResidueArrayAnnealingEvaluator::initialize().
|
overridevirtual |
Implements core::pack::rotamer_set::FixbbRotamerSets.
|
overridevirtual |
Implements core::pack::rotamer_set::FixbbRotamerSets.
Referenced by protocols::task_operations::PruneBuriedUnsats_RotamerSetsOperation::alter_rotamer_sets(), core::pack::rotamer_set::build_moving_O_water_rotamers_dependent(), core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::compute_volumes_of_buried_rotamers(), core::pack::hbonds::determine_atom_level_edge_info(), core::pack::guidance_scoreterms::sap::SapConstraintHelper::fill_atom_neighbor_stuff(), core::pack::get_residue_current_energy(), core::pack::get_total_energy_for_state(), core::pack::hbonds::hbond_graph_from_partial_rotsets(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraph::initialize_graph_for_packing(), core::pack::minimize_alt_rotamer(), core::pack::guidance_scoreterms::lk_dome::LK_DomeHelper::prepare_lkd_infos_and_assign_waters(), core::pack::guidance_scoreterms::lk_dome::LK_DomeHelper::prepare_score_data(), core::pack::guidance_scoreterms::sap::SapConstraintHelper::setup_for_symmetry(), and core::pack::guidance_scoreterms::sap::SapConstraintHelper::setup_lightning().
|
overridevirtual |
Implements core::pack::rotamer_set::FixbbRotamerSets.
|
overridevirtual |
convert rotid in full rotamer enumeration into rotamer id on its source residue
Implements core::pack_basic::RotamerSetsBase.
Referenced by core::pack::hbonds::init_node_info().
void core::pack::rotamer_set::RotamerSets::set_explicit_rotamers | ( | core::Size | moltenresid, |
RotamerSetOP | rotamers | ||
) |
void core::pack::rotamer_set::RotamerSets::set_task | ( | task::PackerTaskCOP | task | ) |
|
overridevirtual |
Implements core::pack::rotamer_set::FixbbRotamerSets.
References core::conformation::membrane::out.
task::PackerTaskCOP core::pack::rotamer_set::RotamerSets::task | ( | ) | const |
access to packer_task_
Referenced by core::pack::guidance_scoreterms::sap::SapConstraintHelper::fill_atom_neighbor_stuff(), core::pack::guidance_scoreterms::lk_dome::LK_DomeHelper::prepare_score_data(), core::pack::guidance_scoreterms::sap::SapConstraintHelper::setup_for_symmetry(), and core::pack::guidance_scoreterms::sap::SapConstraintHelper::setup_lightning().
|
overridevirtual |
Implements core::pack_basic::RotamerSetsBase.
Referenced by core::pack::guidance_scoreterms::voids_penalty_energy::VoidsPenaltyVoxelGrid::compute_volumes_of_buried_rotamers(), core::pack::interaction_graph::get_annealable_graph_summary(), and core::pack::interaction_graph::ResidueArrayAnnealingEvaluator::initialize().
void core::pack::rotamer_set::RotamerSets::update_offset_data | ( | ) |
fd: make this public the reason? we now can update rotamersets interactively from code, so this should be exposed
Referenced by protocols::task_operations::PruneBuriedUnsats_RotamerSetsOperation::alter_rotamer_sets(), core::pack::guidance_scoreterms::sap::SapConstraintHelper::setup_for_symmetry(), and core::pack::guidance_scoreterms::sap::SapConstraintHelper::setup_lightning().
|
private |
Referenced by moltenres_2_resid_vector().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by resid_2_moltenres_vector().
|
private |
|
private |
|
private |