![]() |
Rosetta Core
2014.35
|
Base class for EnergyMethods which are meaningful only on entire structures, for example, the Radius of Gyration. These EnergyMethods do all of their work in the "finalize_total_energy" section of score function evaluation. More...
#include <WholeStructureEnergy.hh>
Public Types | |
typedef EnergyMethod | parent |
![]() | |
typedef utility::pointer::ReferenceCount | parent |
Public Member Functions | |
WholeStructureEnergy (EnergyMethodCreatorOP) | |
Constructor with EnergyMethodCreator to list the ScoreTypes computed by this WholeStructureEnergy. More... | |
virtual | ~WholeStructureEnergy () |
EnergyMethodType | method_type () const |
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... | |
![]() | |
EnergyMethod (EnergyMethodCreatorOP creator) | |
Constructor with EnergyMethodCreator, which lists the score types that this energy method is responsible for. More... | |
EnergyMethod (EnergyMethod const &src) | |
Copy constructor copies over the score types of the source. More... | |
virtual | ~EnergyMethod () |
virtual EnergyMethodOP | clone () const =0 |
virtual void | setup_for_packing (pose::Pose &, utility::vector1< bool > const &, utility::vector1< bool > const &) const |
virtual void | prepare_rotamers_for_packing (pose::Pose const &, conformation::RotamerSetBase &) const |
virtual void | update_residue_for_packing (pose::Pose &, Size resid) const |
ensure this function gets called. The default behavior is to do nothing. More... | |
virtual void | setup_for_scoring (pose::Pose &, ScoreFunction const &) const |
virtual void | setup_for_minimizing (pose::Pose &, ScoreFunction const &, kinematics::MinimizerMapBase const &) const |
Called at the beginning of atom tree minimization, this method allows the derived class the opportunity to initialize pertinent data that will be used during minimization. During minimzation, the chemical structure of the pose is constant, so assumptions on the number of atoms per residue and their identities are safe so long as the pose's Energies object's "use_nblist()" method returns true. 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 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... | |
virtual void | finalize_total_energy (pose::Pose &pose, ScoreFunction const &sfxn, EnergyMap &total_energy) const |
called by the ScoreFunction at the end of energy evaluation. The derived class has the opportunity to accumulate a score into the pose's total_energy EnergyMap. WholeStructure energies operate within this method; any method using a NeighborList during minimization would also operate within this function call. More... | |
ScoreTypes const & | score_types () const |
Returns the score types that this energy method computes. More... | |
virtual void | indicate_required_context_graphs (utility::vector1< bool > &context_graphs_required) const =0 |
Indicate in the context-graphs-required list which context-graphs this energy method requires that the Pose maintain when doing neighbor evaluation. Context graphs are allowed. More... | |
virtual core::Size | version () const =0 |
Return the version of the energy method. More... | |
Additional Inherited Members | |
![]() | |
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... | |
Base class for EnergyMethods which are meaningful only on entire structures, for example, the Radius of Gyration. These EnergyMethods do all of their work in the "finalize_total_energy" section of score function evaluation.
core::scoring::methods::WholeStructureEnergy::WholeStructureEnergy | ( | EnergyMethodCreatorOP | creator | ) |
Constructor with EnergyMethodCreator to list the ScoreTypes computed by this WholeStructureEnergy.
|
inlinevirtual |
|
inlinevirtual |
how far apart must two heavy atoms be to have a zero interaction energy?
If hydrogen atoms interact at the same range as heavy atoms, then this distance should build-in a 2 * max-bound-h-distance-cutoff buffer. There is an improper mixing here between run-time aquired chemical knowledge (max-bound-h-distance-cutoff) and compile time aquired scoring knowledge (max atom cutoff); this could be resolved by adding a boolean uses_hydrogen_interaction_distance() to the SRTBEnergy class along with a method of the ChemicalManager max_bound_h_distance_cutoff().
This method allows the WholeStructureEnergy class to define which edges should be included in the EnergyGraph so that during the finalize() method the Energy class can iterate across the EnergyGraph. This iteration occurrs in the SecondaryStructureEnergy class, where the edges must span 12 angstroms between the centroids. Arguably, the SecondaryStructureEnergy class could use the TwelveANeighborGraph (a context graph) and not require that the EnergyGraph span such long distances.
Reimplemented in core::scoring::rna::RNA_BaseBaseEnergy, core::scoring::methods::SecondaryStructureEnergy, core::scoring::methods::ProQ_Energy, and core::scoring::rna::data::RNA_ChemicalMappingEnergy.
|
virtual |
Return one of the 7 kinds of energy methods that exist: e.g. context-dependent-one-body vs whole-structure.
Implements core::scoring::methods::EnergyMethod.
References core::scoring::methods::ws.