Rosetta
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy Class Reference

HBNetEnergy, an EnergyMethod that gives a bonus for hydrogen bond networks, which ramps nonlinearly with the size of the networks. This class is derived from base class WholeStructureEnergy, which is meaningful only on entire structures. These EnergyMethods do all of their work in the "finalize_total_energy" section of scorefunction evaluation. More...

#include <HBNetEnergy.hh>

Inheritance diagram for core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy:
Inheritance graph
[legend]

Public Types

typedef core::scoring::methods::WholeStructureEnergy parent1
 
typedef core::scoring::annealing::ResidueArrayAnnealableEnergy parent2
 
- Public Types inherited from core::scoring::methods::WholeStructureEnergy
typedef EnergyMethod parent
 
- Public Types inherited from core::scoring::methods::EnergyMethod
typedef utility::VirtualBase parent
 

Public Member Functions

 HBNetEnergy (core::scoring::methods::EnergyMethodOptions const &options)
 Options constructor. More...
 
 ~HBNetEnergy () override
 Default destructor. More...
 
core::scoring::methods::EnergyMethodOP clone () const override
 Clone: create a copy of this object, and return an owning pointer to the copy. More...
 
void indicate_required_context_graphs (utility::vector1< bool > &context_graphs_required) const override
 HBNetEnergy is context-independent and thus indicates that no context graphs need to be maintained by class Energies. More...
 
core::Size version () const override
 HBNetEnergy is version 1.0 right now. More...
 
void finalize_total_energy (core::pose::Pose &pose, core::scoring::ScoreFunction const &, core::scoring::EnergyMap &totals) const override
 Actually calculate the total energy. More...
 
core::Real calculate_energy (utility::vector1< core::conformation::ResidueCOP > const &resvect, utility::vector1< core::Size > const &rotamer_ids, core::Size const substitution_position=0) const override
 Calculate the total energy given a vector of const owning pointers to residues. More...
 
void commit_considered_substitution () override
 What to do when a substitution that was considered is accepted. More...
 
void report () const
 Get a summary of all loaded data. More...
 
void set_up_residuearrayannealableenergy_for_packing (core::pose::Pose &pose, core::pack::rotamer_set::RotamerSets const &rotamersets, core::scoring::ScoreFunction const &sfxn) override
 Cache data from the pose in this EnergyMethod in anticipation of scoring. More...
 
void setup_for_minimizing (core::pose::Pose &pose, core::scoring::ScoreFunction const &sfxn, core::kinematics::MinimizerMapBase const &minmap) const override
 Disable this scoreterm during minimization trajectory. More...
 
void finalize_after_minimizing (core::pose::Pose &pose) const override
 Re-enable this scoreterm after a minimization trajectory. More...
 
void set_hbnet_energy_ramping (std::string const &ramping_string)
 Set the way that HBNetEnergy scales with network size, by string. More...
 
void set_hbnet_energy_ramping (HBNetEnergyRamping const ramping_enum)
 Set the way that HBNetEnergy scales with network size, by enum. More...
 
HBNetEnergyRamping hbnet_energy_ramping_enum_from_string (std::string const &ramping_string) const
 Given a string for an HBNetEnergyRamping type, return the corresponding enum. More...
 
std::string hbnet_energy_ramping_string_from_enum (HBNetEnergyRamping const ramping_enum) const
 Given an enum for an HBNetEnergyRamping type, return the corresponding string. More...
 
core::Size max_network_size () const
 Get the maximum network size, beyond which there is no bonus for making a network bigger. More...
 
void max_network_size (core::Size const setting)
 Set the maximum network size, beyond which there is no bonus for making a network bigger. More...
 
void provide_citation_info (basic::citation_manager::CitationCollectionList &) const override
 Provide the citation. More...
 
- Public Member Functions inherited from core::scoring::methods::WholeStructureEnergy
 WholeStructureEnergy (EnergyMethodCreatorOP)
 Constructor with EnergyMethodCreator to list the ScoreTypes computed by this WholeStructureEnergy. More...
 
 ~WholeStructureEnergy () override
 
EnergyMethodType method_type () const override
 Return one of the 7 kinds of energy methods that exist: e.g. context-dependent-one-body vs whole-structure. More...
 
virtual Distance atomic_interaction_cutoff () const
 how far apart must two heavy atoms be to have a zero interaction energy? More...
 
- Public Member Functions inherited from core::scoring::methods::EnergyMethod
 EnergyMethod (EnergyMethodCreatorOP creator)
 Constructor with EnergyMethodCreator, which lists the score types that this energy method is responsible for. More...
 
virtual void setup_for_packing (pose::Pose &, utility::vector1< bool > const &, utility::vector1< bool > const &) const
 if an energy method needs to cache data in the Energies object, before packing begins, then it does so during this function. The packer must ensure this function is called. The default behavior is to do nothing. More...
 
virtual void setup_for_packing_with_rotsets (pose::Pose &pose, pack_basic::RotamerSetsBaseOP const &rotsets, ScoreFunction const &sfxn) const
 if an energy method needs to cache data in the Energies object, before packing begins and requires access to the RotamerSets object, then it does so during this function. The default behavior is to do nothing. More...
 
virtual void prepare_rotamers_for_packing (pose::Pose const &, conformation::RotamerSetBase &) const
 If an energy method needs to cache data in a packing::RotamerSet object before rotamer energies are calculated, it does so during this function. The packer must ensure this function is called. The default behavior is to do nothing. More...
 
virtual void update_residue_for_packing (pose::Pose &, Size resid) const
 If the pose changes in the middle of a packing (as happens in rotamer trials) and if an energy method needs to cache data in the pose that corresponds to its current state, then the method must update that data when this function is called. The packer must ensure this function gets called. The default behavior is to do nothing. More...
 
virtual void setup_for_scoring (pose::Pose &, ScoreFunction const &) const
 if an energy method needs to cache something in the pose (e.g. in pose.energies()), before scoring begins, it must do so in this method. All long range energy functions must initialize their LREnergyContainers before scoring begins. The default is to do nothing. More...
 
virtual bool requires_a_setup_for_scoring_for_residue_opportunity_during_regular_scoring (pose::Pose const &pose) const
 Does this EnergyMethod require the opportunity to examine the residue before (regular) scoring begins? Not all energy methods would. The ScoreFunction will not ask energy methods to examine residues that are uninterested in doing so. The default implmentation of this function returns false. More...
 
virtual void setup_for_scoring_for_residue (conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &sfxn, basic::datacache::BasicDataCache &residue_data_cache) const
 Do any setup work before scoring, caching any slow-to-compute data that will be used during energy evaluation inside of the input Residue object's data cache. (The Residue on the whole is given as a constant reference, but non-constant access to its data cache is granted.) More...
 
virtual void setup_for_derivatives (pose::Pose &pose, ScoreFunction const &sfxn) const
 Called immediately before atom- and DOF-derivatives are calculated allowing the derived class a chance to prepare for future calls. More...
 
virtual void finalize_after_derivatives (pose::Pose &, ScoreFunction const &) const
 called at the end of derivatives evaluation More...
 
virtual bool minimize_in_whole_structure_context (pose::Pose const &) const
 Should this EnergyMethod have score and derivative evaluation evaluated only in the context of the whole Pose, or can it be included in a decomposed manner for a residue or a set of residue-pairs that are not part of the Pose that's serving as their context? The default method implemented in the base class returns true in order to grandfather in EnergyMethods that have not had their derivatives changed to take advantage of the new derivative-evaluation machinery. Methods that return "true" will not have their residue-energy(-ext) / residue-pair-energy(-ext) methods invoked by the ScoreFunction during its traversal of the MinimizationGraph, and instead will be asked to perform all their work during finalize_total_energies(). Similarly, they will be expected to perform all their work during eval_atom_deriv() instead of during the ScoreFunction's traversal of the MinimizationGraph for derivative evaluation. IMPORTANT: Methods that return "true" cannot be included in RTMin. More...
 
virtual bool defines_high_order_terms (pose::Pose const &) const
 Should this EnergyMethod have score and derivative evaluation evaluated both in the context of the whole Pose and in the context of residue or residue-pairs? This covers scoring terms like env-smooth wherein the CBeta's get derivatives for increasing the neighbor counts for surrounding residues, and terms like constraints, which are definable on arbitrary number of residues (e.g. more than 2); both of these terms could be used in RTMin, and both should use the residue and residue-pair evaluation scheme with the MinimizationGraph for the majority of the work they do. (Now, high-order constraints (3-body or above) will not be properly evaluated within RTMin.). The default implementation returns "false". More...
 
virtual bool has_atomistic_energies () const
 Does this EnergyMethod have a non-trivial implementation of the (one body) atomistic energy method? Note that this may return false even if the score term theoretically could support atomistic energies. And even if this function returns true, it's not necessarily the case that all atoms will get assigned an energy, or that the sum over all atoms (or atom pairs) will result in the same energy as the residue-level approach. The atomistic functions are intended for supplemental informational purposes only. The residue-level energies are the main interface for EnergyMethods. More...
 
virtual bool has_atomistic_pairwise_energies () const
 Does this EnergyMethod have a non-trivial implementation of the pairwise atomistic energy method? NOTE: all the cautions of EnergyMethod::has_atomistic_energies() apply here. More...
 
virtual void atomistic_energy (core::Size atmno, conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &scorefxn, EnergyMap &emap) const
 Evaluate the (one body) energy associated with a particular atom This may be a "self" energy, or it may be the single atom contribution from a whole structure term. NOTE: all the cautions of EnergyMethod::has_atomistic_energies() apply here. For most terms this is likely a no-op. Terms which implement this non-trivially should return true from has_atomistic_energies() More...
 
virtual void atomistic_pair_energy (core::Size atmno1, conformation::Residue const &rsd1, core::Size atomno2, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &scorefxn, EnergyMap &emap) const
 Evaluate the energy for a particular pair of atoms This function may be fed the same residue with different atom numbers NOTE: all the cautions of EnergyMethod::has_atomistic_energies() apply here. For most terms this is likely a no-op. Terms which implement this non-trivially should return true from has_atomistic_pairwise_energies() More...
 
virtual void eval_atom_derivative (id::AtomID const &id, pose::Pose const &pose, kinematics::DomainMap const &domain_map, ScoreFunction const &sfxn, EnergyMap const &emap, Vector &F1, Vector &F2) const
 Evaluate the XYZ derivative for an atom in the pose. Called during the atomtree derivative calculation, atom_tree_minimize.cc, through the ScoreFunction::eval_atom_derivative intermediary. F1 and F2 should not zeroed, rather, this class should accumulate its contribution from this atom's XYZ derivative. More...
 
ScoreTypes const & score_types () const
 Returns the score types that this energy method computes. More...
 
virtual void show_additional_info (std::ostream &, pose::Pose &, bool) const
 show additional information of the energy method More...
 
- Public Member Functions inherited from core::scoring::annealing::ResidueArrayAnnealableEnergy
 ResidueArrayAnnealableEnergy ()
 Constructor. More...
 
 ResidueArrayAnnealableEnergy (ResidueArrayAnnealableEnergy const &src)
 Copy constructor. More...
 
virtual ~ResidueArrayAnnealableEnergy ()
 Destructor. More...
 
virtual void clean_up_residuearrayannealableenergy_after_packing (core::pose::Pose &pose)
 Allows the ResidueArrayAnnealableEnergy to clean up cached data, either within the EnergyMethod or in the pose, after a packer run. More...
 

Private Member Functions

void initialize_graphs (core::pose::Pose const &pose) const
 Initializes the neighbor_graph_ and hbonds_graph_ objects, given a pose. More...
 
void initialize_bb_hbonds_graph (core::pose::Pose const &pose) const
 Set up the bb_hbonds_graph_ object. More...
 
bool has_hbond (core::conformation::Residue const &res1, core::conformation::Residue const &res2, core::Size const res1_index, core::Size const res2_index) const
 Determines whether a hydrogen bond exists between res1 and res2. More...
 
bool has_bb_hbond_connection (core::pose::Pose const &pose, core::conformation::Residue const &res1, core::conformation::Residue const &res2) const
 Determines whether a pair of residues has a close backbone hydrogen bond connection. More...
 
bool has_bb_hbond (core::conformation::Residue const &res1, core::conformation::Residue const &res2) const
 Determines whether a pair of residues has a direct backbone hydrogen bond connection. More...
 
core::Real bonus_function (core::Size count_in) const
 Given the size of a connected component in a graph, return a value to pass to the bonus function accumulator. More...
 
void drop_all_edges_for_symmetric_nodes (core::Size const asymm_node) const
 Given the index of an asymmetric node in the hbonds_graph_ object, drop all of the edges for all corresponding symmetric nodes. More...
 
void symmetrize_hbonds_graph (core::Size const node1, core::Size const node2, utility::vector1< core::conformation::ResidueCOP > const &resvect) const
 Given residue indices node1 and node2 in the asymmetric unit, add an edge between the corresponding nodes in all symmetric units. More...
 

Private Attributes

bool disabled_
 Is this term disabled? More...
 
core::scoring::TenANeighborGraph neighbour_graph_
 The neighbor graph for the pose being scored, extracted from the pose by the setup_residuearrayannealableenergy_for_packing function and/or by the finalize_total_energy function. More...
 
core::scoring::TenANeighborGraph hbonds_graph_
 A graph object in which nodes are residues and edges indicate that the residues are hydrogen-bonded. More...
 
core::scoring::TenANeighborGraph hbonds_graph_last_accepted_
 A graph object in which nodes are residues and edges indicate that the residues are hydrogen-bonded. More...
 
core::scoring::TenANeighborGraph bb_hbonds_graph_
 A graph object in which nodes are residues and edges indicate close backbone-backbone hydrogen bonding. More...
 
core::conformation::symmetry::SymmetryInfoCOP symm_info_
 Information about the symmetric state of the pose. Will be nullptr if the pose is not symmetric. More...
 
HBNetEnergyRamping ramping_type_
 How does the energy scale with size of network? More...
 
core::Size max_network_size_
 What is the maximum network size, beyond which we no longer get a bonus? More...
 

Additional Inherited Members

- Protected Member Functions inherited from core::scoring::methods::EnergyMethod
void set_score_types (EnergyMethodCreatorOP creator)
 Override the entirety of the score types list if they were initialized incorrectly in a parent's constructor. More...
 

Detailed Description

HBNetEnergy, an EnergyMethod that gives a bonus for hydrogen bond networks, which ramps nonlinearly with the size of the networks. This class is derived from base class WholeStructureEnergy, which is meaningful only on entire structures. These EnergyMethods do all of their work in the "finalize_total_energy" section of scorefunction evaluation.

Member Typedef Documentation

◆ parent1

◆ parent2

Constructor & Destructor Documentation

◆ HBNetEnergy()

core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::HBNetEnergy ( core::scoring::methods::EnergyMethodOptions const &  options)

◆ ~HBNetEnergy()

core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::~HBNetEnergy ( )
overridedefault

Default destructor.

Member Function Documentation

◆ bonus_function()

core::Real core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::bonus_function ( core::Size  count_in) const
private

Given the size of a connected component in a graph, return a value to pass to the bonus function accumulator.

The value returned by this function is more POSITIVE for bigger bonuses; it should be SUBTRACTED from the accumulator to yield a score that gets more negative with greater favourability.

References core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergyRampLinear, core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergyRampLogarithmic, core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergyRampQuadratic, core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergyRampSquareRoot, max_network_size_, and ramping_type_.

Referenced by calculate_energy().

◆ calculate_energy()

core::Real core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::calculate_energy ( utility::vector1< core::conformation::ResidueCOP > const &  resvect,
utility::vector1< core::Size > const &  rotamer_ids,
core::Size const  substitution_position = 0 
) const
overridevirtual

Calculate the total energy given a vector of const owning pointers to residues.

Called directly by the ResidueArrayAnnealingEvaluator during packer runs.

Called directly by the ResidueArrayAnnealingEvaluator during packer runs. Requires that set_up_residuearrayannealablenergy_for_packing() be called first.

Implements core::scoring::annealing::ResidueArrayAnnealableEnergy.

References bonus_function(), disabled_, drop_all_edges_for_symmetric_nodes(), has_hbond(), hbonds_graph_, hbonds_graph_last_accepted_, neighbour_graph_, symm_info_, and symmetrize_hbonds_graph().

Referenced by finalize_total_energy().

◆ clone()

core::scoring::methods::EnergyMethodOP core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::clone ( ) const
overridevirtual

Clone: create a copy of this object, and return an owning pointer to the copy.

Implements core::scoring::methods::EnergyMethod.

◆ commit_considered_substitution()

void core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::commit_considered_substitution ( )
overridevirtual

What to do when a substitution that was considered is accepted.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu).

Reimplemented from core::scoring::annealing::ResidueArrayAnnealableEnergy.

References hbonds_graph_, and hbonds_graph_last_accepted_.

◆ drop_all_edges_for_symmetric_nodes()

void core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::drop_all_edges_for_symmetric_nodes ( core::Size const  asymm_node) const
private

Given the index of an asymmetric node in the hbonds_graph_ object, drop all of the edges for all corresponding symmetric nodes.

Assumes symm_info_ points to something. Check symm_info != nullptr before calling this function.

References hbonds_graph_, and symm_info_.

Referenced by calculate_energy().

◆ finalize_after_minimizing()

void core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::finalize_after_minimizing ( core::pose::Pose pose) const
overridevirtual

Re-enable this scoreterm after a minimization trajectory.

Reimplemented from core::scoring::methods::EnergyMethod.

References disabled_, and core::pack::guidance_scoreterms::hbnet_energy::TR().

◆ finalize_total_energy()

void core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::finalize_total_energy ( core::pose::Pose pose,
core::scoring::ScoreFunction const &  ,
core::scoring::EnergyMap totals 
) const
overridevirtual

Actually calculate the total energy.

Called by the scoring machinery. The update_residue_neighbors() function of the pose must be called first.

Reimplemented from core::scoring::methods::EnergyMethod.

References calculate_energy(), core::pose::Pose::conformation(), disabled_, core::scoring::hbnet, initialize_graphs(), core::conformation::Conformation::residue_cop(), and core::pose::Pose::total_residue().

◆ has_bb_hbond()

bool core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::has_bb_hbond ( core::conformation::Residue const &  res1,
core::conformation::Residue const &  res2 
) const
private

Determines whether a pair of residues has a direct backbone hydrogen bond connection.

Returns true if the residues have a bb-bb hbond.

Note
This only considers res1 as donor and res2 as acceptor. Call twice to check two-way hydrogen bonds.

References core::conformation::Residue::atom_base(), core::conformation::Residue::atom_type(), core::conformation::Residue::first_sidechain_atom(), HBNETENERGY_HBOND_DIST_CUTOFF_SQ, core::chemical::AtomType::is_acceptor(), core::chemical::AtomType::is_donor(), core::chemical::AtomType::is_polar_hydrogen(), core::conformation::Residue::natoms(), and core::conformation::Residue::xyz().

Referenced by has_bb_hbond_connection().

◆ has_bb_hbond_connection()

bool core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::has_bb_hbond_connection ( core::pose::Pose const &  pose,
core::conformation::Residue const &  res1,
core::conformation::Residue const &  res2 
) const
private

Determines whether a pair of residues has a close backbone hydrogen bond connection.

Returns true if (a) the residues have a bb-bb hbond, (b) res1 has a bb-bb hbond to a residue that is covalently bonded to res2, (c) res2 has a bb-bb hbond to a residue that is covalently bonded to res1, or (d) if res1 and res2 are directly covalently bonded.

Note
This only considers res1 (and its neighbors) as donor and res2 (and its neighbors) as acceptor. Call twice to check two-way hydrogen bonds.

References core::conformation::Residue::connected_residue_at_lower(), core::conformation::Residue::connected_residue_at_upper(), has_bb_hbond(), core::conformation::Residue::has_lower_connect(), core::conformation::Residue::has_upper_connect(), core::pose::Pose::residue(), and core::conformation::Residue::seqpos().

Referenced by initialize_bb_hbonds_graph().

◆ has_hbond()

bool core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::has_hbond ( core::conformation::Residue const &  res1,
core::conformation::Residue const &  res2,
core::Size const  res1_index,
core::Size const  res2_index 
) const
private

Determines whether a hydrogen bond exists between res1 and res2.

Ignores backbone-backbone hydrogen bonds. Also, this is directional: it considers donors in res1 to acceptors in res2. Call twice for bidirectional hbonding.

Note
For now, this is just a distance check between donors and acceptors, but it could be updated to properly call the hbond scoring machinery.

Ignores backbone-backbone hydrogen bonds. Also, this is directional: it considers donors in res1 to acceptors in res2. Call twice for bidirectional hbonding.

References core::conformation::Residue::atom_base(), core::conformation::Residue::atom_type(), bb_hbonds_graph_, core::conformation::Residue::first_sidechain_atom(), HBNETENERGY_HBOND_DIST_CUTOFF_SQ, core::chemical::AtomType::is_acceptor(), core::chemical::AtomType::is_donor(), core::chemical::AtomType::is_polar_hydrogen(), core::conformation::Residue::natoms(), and core::conformation::Residue::xyz().

Referenced by calculate_energy().

◆ hbnet_energy_ramping_enum_from_string()

HBNetEnergyRamping core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::hbnet_energy_ramping_enum_from_string ( std::string const &  ramping_string) const

Given a string for an HBNetEnergyRamping type, return the corresponding enum.

Returns HBNetEnergyRampINVALID if the string isn't recognized.

References hbnet_energy_ramping_string_from_enum(), core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergyRamp_end_of_list, and core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergyRampINVALID.

Referenced by set_hbnet_energy_ramping().

◆ hbnet_energy_ramping_string_from_enum()

std::string core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::hbnet_energy_ramping_string_from_enum ( HBNetEnergyRamping const  ramping_enum) const

◆ indicate_required_context_graphs()

void core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::indicate_required_context_graphs ( utility::vector1< bool > &  context_graphs_required) const
overridevirtual

HBNetEnergy is context-independent and thus indicates that no context graphs need to be maintained by class Energies.

Implements core::scoring::methods::EnergyMethod.

◆ initialize_bb_hbonds_graph()

void core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::initialize_bb_hbonds_graph ( core::pose::Pose const &  pose) const
private

Set up the bb_hbonds_graph_ object.

If X and Y share an edge, then X is bb-bb hydrogen bonded to Y, or to a residue that is covalently bonded to Y, or a residue covalently bonded to X is bb-bb hydrogen bonded to Y.

References bb_hbonds_graph_, has_bb_hbond_connection(), neighbour_graph_, core::pose::Pose::residue(), and core::pose::Pose::total_residue().

Referenced by initialize_graphs().

◆ initialize_graphs()

void core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::initialize_graphs ( core::pose::Pose const &  pose) const
private

◆ max_network_size() [1/2]

core::Size core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::max_network_size ( ) const
inline

Get the maximum network size, beyond which there is no bonus for making a network bigger.

A value of "0" (the default) means no max.

References max_network_size_.

◆ max_network_size() [2/2]

void core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::max_network_size ( core::Size const  setting)

Set the maximum network size, beyond which there is no bonus for making a network bigger.

A value of "0" (the default) means no max.

References max_network_size_.

◆ provide_citation_info()

void core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::provide_citation_info ( basic::citation_manager::CitationCollectionList &  citations) const
overridevirtual

Provide the citation.

Reimplemented from core::scoring::methods::EnergyMethod.

◆ report()

void core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::report ( ) const

Get a summary of all loaded data.

References core::pack::guidance_scoreterms::hbnet_energy::TR().

◆ set_hbnet_energy_ramping() [1/2]

void core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::set_hbnet_energy_ramping ( HBNetEnergyRamping const  ramping_enum)

Set the way that HBNetEnergy scales with network size, by enum.

References core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergyRampINVALID, and ramping_type_.

◆ set_hbnet_energy_ramping() [2/2]

void core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::set_hbnet_energy_ramping ( std::string const &  ramping_string)

Set the way that HBNetEnergy scales with network size, by string.

References hbnet_energy_ramping_enum_from_string(), and core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergyRampINVALID.

Referenced by HBNetEnergy().

◆ set_up_residuearrayannealableenergy_for_packing()

void core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::set_up_residuearrayannealableenergy_for_packing ( core::pose::Pose pose,
core::pack::rotamer_set::RotamerSets const &  rotamersets,
core::scoring::ScoreFunction const &  sfxn 
)
overridevirtual

Cache data from the pose in this EnergyMethod in anticipation of scoring.

Reimplemented from core::scoring::annealing::ResidueArrayAnnealableEnergy.

References initialize_graphs().

◆ setup_for_minimizing()

void core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::setup_for_minimizing ( core::pose::Pose pose,
core::scoring::ScoreFunction const &  sfxn,
core::kinematics::MinimizerMapBase const &  minmap 
) const
overridevirtual

Disable this scoreterm during minimization trajectory.

Reimplemented from core::scoring::methods::EnergyMethod.

References disabled_, and core::pack::guidance_scoreterms::hbnet_energy::TR().

◆ symmetrize_hbonds_graph()

void core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::symmetrize_hbonds_graph ( core::Size const  node1,
core::Size const  node2,
utility::vector1< core::conformation::ResidueCOP > const &  resvect 
) const
private

Given residue indices node1 and node2 in the asymmetric unit, add an edge between the corresponding nodes in all symmetric units.

Assumes symm_info_ points to something. Check symm_info != nullptr before calling this function.

References hbonds_graph_, symm_info_, and protocols::kinmatch::xyz().

Referenced by calculate_energy().

◆ version()

core::Size core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::version ( ) const
overridevirtual

HBNetEnergy is version 1.0 right now.

Implements core::scoring::methods::EnergyMethod.

Member Data Documentation

◆ bb_hbonds_graph_

core::scoring::TenANeighborGraph core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::bb_hbonds_graph_
mutableprivate

A graph object in which nodes are residues and edges indicate close backbone-backbone hydrogen bonding.

If X and Y share an edge, then X is bb-bb hydrogen bonded to Y, or to a residue that is covalently bonded to Y, or a residue covalently bonded to X is bb-bb hydrogen bonded to Y. (Or X and Y are covalently bonded, in which case they are also given an edge.)

Referenced by has_hbond(), and initialize_bb_hbonds_graph().

◆ disabled_

bool core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::disabled_
mutableprivate

Is this term disabled?

This term disables itself during minimization trajectories.

Referenced by calculate_energy(), finalize_after_minimizing(), finalize_total_energy(), and setup_for_minimizing().

◆ hbonds_graph_

core::scoring::TenANeighborGraph core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::hbonds_graph_
mutableprivate

A graph object in which nodes are residues and edges indicate that the residues are hydrogen-bonded.

Updated on-the-fly during packing.

Referenced by calculate_energy(), commit_considered_substitution(), drop_all_edges_for_symmetric_nodes(), initialize_graphs(), and symmetrize_hbonds_graph().

◆ hbonds_graph_last_accepted_

core::scoring::TenANeighborGraph core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::hbonds_graph_last_accepted_
mutableprivate

A graph object in which nodes are residues and edges indicate that the residues are hydrogen-bonded.

This one represents the last accepted move in the simulated annealing search.

Referenced by calculate_energy(), and commit_considered_substitution().

◆ max_network_size_

core::Size core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::max_network_size_
private

What is the maximum network size, beyond which we no longer get a bonus?

Defaults to 0 (no limit). Values greater than 0 impose a limit.

Referenced by bonus_function(), and max_network_size().

◆ neighbour_graph_

core::scoring::TenANeighborGraph core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::neighbour_graph_
mutableprivate

The neighbor graph for the pose being scored, extracted from the pose by the setup_residuearrayannealableenergy_for_packing function and/or by the finalize_total_energy function.

The update_residue_neighbors() method of the pose must be called first.

Referenced by calculate_energy(), initialize_bb_hbonds_graph(), and initialize_graphs().

◆ ramping_type_

HBNetEnergyRamping core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::ramping_type_
private

How does the energy scale with size of network?

Defaults to quadratic. Can be logarithmic, square root, etc.

Referenced by bonus_function(), and set_hbnet_energy_ramping().

◆ symm_info_

core::conformation::symmetry::SymmetryInfoCOP core::pack::guidance_scoreterms::hbnet_energy::HBNetEnergy::symm_info_
mutableprivate

Information about the symmetric state of the pose. Will be nullptr if the pose is not symmetric.

Referenced by calculate_energy(), drop_all_edges_for_symmetric_nodes(), initialize_graphs(), and symmetrize_hbonds_graph().


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