Rosetta
|
#include <MPSpanAngleEnergy.hh>
Public Types | |
typedef core::scoring::methods::WholeStructureEnergy | parent |
![]() | |
typedef EnergyMethod | parent |
![]() | |
typedef utility::VirtualBase | parent |
Public Member Functions | |
MPSpanAngleEnergy () | |
core::scoring::methods::EnergyMethodOP | clone () const override |
void | finalize_total_energy (pose::Pose &pose, core::scoring::ScoreFunction const &, core::scoring::EnergyMap &totals) const override |
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... | |
void | setup_for_derivatives (pose::Pose &, core::scoring::ScoreFunction const &) const override |
Called immediately before atom- and DOF-derivatives are calculated allowing the derived class a chance to prepare for future calls. More... | |
void | setup_for_scoring (pose::Pose &pose, core::scoring::ScoreFunction const &) const override |
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... | |
void | eval_atom_derivative (id::AtomID const &, pose::Pose const &, kinematics::DomainMap const &, core::scoring::ScoreFunction const &, core::scoring::EnergyMap const &, Vector &, Vector &) const override |
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... | |
utility::vector1< core::Real > | compute (pose::Pose const &pose, std::ostream &out, bool report) const |
utility::vector1< numeric::xyzVector< core::Real > > | find_helix_vector (core::pose::Pose const &pose, core::Size start, core::Size end) const |
core::Real | calc_ang_score (core::Real ang) const |
core::Size | version () const override |
Return the version of the energy method. More... | |
void | indicate_required_context_graphs (utility::vector1< bool > &) const override |
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... | |
![]() | |
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... | |
![]() | |
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 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_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 | finalize_after_minimizing (pose::Pose &pose) const |
Called after minimization, allowing a derived class to do some teardown steps. 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... | |
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... | |
virtual void | provide_citation_info (basic::citation_manager::CitationCollectionList &) const |
Provide citations to the passed CitationCollectionList Subclasses should add the info for themselves and any other classes they use. More... | |
Private Attributes | |
core::energy_methods::MPSpanInsertionEnergy | mp_span_ins_ |
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... | |
typedef core::scoring::methods::WholeStructureEnergy core::energy_methods::MPSpanAngleEnergy::parent |
core::energy_methods::MPSpanAngleEnergy::MPSpanAngleEnergy | ( | ) |
core::Real core::energy_methods::MPSpanAngleEnergy::calc_ang_score | ( | core::Real | ang | ) | const |
Referenced by compute().
|
overridevirtual |
Implements core::scoring::methods::EnergyMethod.
utility::vector1< core::Real > core::energy_methods::MPSpanAngleEnergy::compute | ( | pose::Pose const & | pose, |
std::ostream & | out, | ||
bool | report | ||
) | const |
References calc_ang_score(), core::energy_methods::MPSpanInsertionEnergy::create_updated_span(), core::sequence::end, find_helix_vector(), mp_span_ins_, core::conformation::membrane::out, and protocols::loops::start.
Referenced by protocols::simple_filters::MPSpanAngleFilter::compute(), and finalize_total_energy().
|
overridevirtual |
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.
The derivative scheme is based on that of Abe, Braun, Noguti and Go (1984) "Rapid Calculation of First and Second Derivatives of Conformational Energy with Respect to Dihedral Angles for Proteins. General Recurrent Equations" Computers & Chemistry 8(4) pp. 239-247. F1 and F2 correspond roughly to Fa and Ga, respectively, of equations 7a & 7b in that paper.
default implementation does not alter either the F1 or F2 vectors.
Reimplemented from core::scoring::methods::EnergyMethod.
References core::conformation::Residue::is_protein(), core::pose::Pose::residue(), and core::id::AtomID::rsd().
|
overridevirtual |
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.
called at the end of energy evaluation
Reimplemented from core::scoring::methods::EnergyMethod.
References compute(), core::scoring::mp_span_ang, protocols::analysis::total, and core::energy_methods::TR().
utility::vector1< numeric::xyzVector< core::Real > > core::energy_methods::MPSpanAngleEnergy::find_helix_vector | ( | core::pose::Pose const & | pose, |
core::Size | start, | ||
core::Size | end | ||
) | const |
References core::conformation::Residue::atom_is_backbone(), core::pose::center_of_mass(), core::scoring::constraints::closest_point_on_line(), protocols::membrane::com(), core::sequence::end, core::conformation::Residue::nheavyatoms(), core::pose::Pose::residue(), protocols::loops::start, and core::conformation::Residue::xyz().
Referenced by compute().
|
inlineoverridevirtual |
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.
Implements core::scoring::methods::EnergyMethod.
|
overridevirtual |
Called immediately before atom- and DOF-derivatives are calculated allowing the derived class a chance to prepare for future calls.
default implementation noop
Reimplemented from core::scoring::methods::EnergyMethod.
|
overridevirtual |
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.
Reimplemented from core::scoring::methods::EnergyMethod.
|
overridevirtual |
Return the version of the energy method.
Implements core::scoring::methods::EnergyMethod.
|
private |
Referenced by compute().