Rosetta 3.4
|
#include <ProClosureEnergy.hh>
Public Types | |
typedef ContextIndependentTwoBodyEnergy | parent |
Public Member Functions | |
ProClosureEnergy () | |
ctor | |
~ProClosureEnergy () | |
virtual EnergyMethodOP | clone () const |
clone | |
virtual bool | defines_score_for_residue_pair (conformation::Residue const &res1, conformation::Residue const &res2, bool res_moving_wrt_eachother) const |
Pro-closure terms only apply between bonded residues where i+1 is proline -- skip residue pairs that don't apply during minimization. | |
virtual void | residue_pair_energy (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const |
Evaluate the interaction between a given residue pair. | |
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. | |
virtual void | eval_residue_pair_derivatives (conformation::Residue const &rsd1, conformation::Residue const &rsd2, ResSingleMinimizationData const &, ResSingleMinimizationData const &, ResPairMinimizationData const &, pose::Pose const &, EnergyMap const &weights, utility::vector1< DerivVectorPair > &r1_atom_derivs, utility::vector1< DerivVectorPair > &r2_atom_derivs) const |
Evaluate the derivative for the input residue pair. This will only be called if rsd1 and rsd2 are bonded and one of them is a proline because ProClosureEnergy defines the "defines_score_for_residue_pair" method. | |
virtual void | bump_energy_full (conformation::Residue const &pro_residue, conformation::Residue const &other_residue, pose::Pose const &, ScoreFunction const &, EnergyMap &) const |
Non-virtual interface; takes only the needed parameters. | |
virtual void | bump_energy_backbone (conformation::Residue const &pro_residue, conformation::Residue const &other_residue, pose::Pose const &, ScoreFunction const &, EnergyMap &) const |
Penalize the pucker-up residue type if its chi1 is positive; penalize the pucker-down residue type if its chi1 is negative. Only applies this penalty when the other_residue is the next polymeric residue after pro_residue (i+1), unless pro_residue is an upper_term, in which case it applies the penalty for pro_residue's previous polymeric residue. | |
virtual bool | defines_intrares_energy (EnergyMap const &weights) const |
Two body energies are able to define intra-residue energies, and to do so only in the presence of certain non-zero weights. The ScoreFunction will hand over its weight set as it asks whether the energy method defines an intraresidue energy or not. | |
virtual void | eval_intrares_energy (conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const |
Evaluate the intra-residue energy for a given residue. | |
bool | defines_intrares_energy_for_residue (conformation::Residue const &res) const |
Returns false if res is not a proline. | |
virtual void | eval_intrares_derivatives (conformation::Residue const &rsd, ResSingleMinimizationData const &min_data, pose::Pose const &pose, EnergyMap const &weights, utility::vector1< DerivVectorPair > &atom_derivs) const |
This should only be handed a proline. | |
virtual void | indicate_required_context_graphs (utility::vector1< bool > &) const |
ProClosure Energy is context independent and thus indicates that no context graphs need to be maintained by class Energies. | |
virtual Distance | atomic_interaction_cutoff () const |
how far apart must two heavy atoms be to have a zero interaction energy? |
Reimplemented from core::scoring::methods::ContextIndependentTwoBodyEnergy.
core::scoring::methods::ProClosureEnergy::ProClosureEnergy | ( | ) |
ctor
Referenced by clone().
core::scoring::methods::ProClosureEnergy::~ProClosureEnergy | ( | ) |
virtual Distance core::scoring::methods::ProClosureEnergy::atomic_interaction_cutoff | ( | ) | const [inline, virtual] |
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().
Implements core::scoring::methods::ShortRangeTwoBodyEnergy.
void core::scoring::methods::ProClosureEnergy::bump_energy_backbone | ( | conformation::Residue const & | pro_residue, |
conformation::Residue const & | other_residue, | ||
pose::Pose const & | , | ||
ScoreFunction const & | , | ||
EnergyMap & | |||
) | const [virtual] |
Penalize the pucker-up residue type if its chi1 is positive; penalize the pucker-down residue type if its chi1 is negative. Only applies this penalty when the other_residue is the next polymeric residue after pro_residue (i+1), unless pro_residue is an upper_term, in which case it applies the penalty for pro_residue's previous polymeric residue.
Reimplemented from core::scoring::methods::TwoBodyEnergy.
void core::scoring::methods::ProClosureEnergy::bump_energy_full | ( | conformation::Residue const & | pro_residue, |
conformation::Residue const & | other_residue, | ||
pose::Pose const & | , | ||
ScoreFunction const & | , | ||
EnergyMap & | |||
) | const [virtual] |
Non-virtual interface; takes only the needed parameters.
Penalize the pucker-up residue type if its chi1 is positive; penalize the pucker-down residue type if its chi1 is negative. Only applies this penalty when the other_residue is the next polymeric residue after pro_residue (i+1), unless pro_residue is an upper_term, in which case it applies the penalty for pro_residue's previous polymeric residue.
Reimplemented from core::scoring::methods::TwoBodyEnergy.
EnergyMethodOP core::scoring::methods::ProClosureEnergy::clone | ( | ) | const [virtual] |
bool core::scoring::methods::ProClosureEnergy::defines_intrares_energy | ( | EnergyMap const & | weights | ) | const [virtual] |
Two body energies are able to define intra-residue energies, and to do so only in the presence of certain non-zero weights. The ScoreFunction will hand over its weight set as it asks whether the energy method defines an intraresidue energy or not.
For example, the Etable method defines intra-residue energies only when one or more of the fa_intra_{atr,rep,sol} weights are non-zero.
Implements core::scoring::methods::TwoBodyEnergy.
bool core::scoring::methods::ProClosureEnergy::defines_intrares_energy_for_residue | ( | conformation::Residue const & | res | ) | const [virtual] |
Returns false if res is not a proline.
Reimplemented from core::scoring::methods::TwoBodyEnergy.
References core::conformation::Residue::aa(), and core::chemical::aa_pro.
bool core::scoring::methods::ProClosureEnergy::defines_score_for_residue_pair | ( | conformation::Residue const & | res1, |
conformation::Residue const & | res2, | ||
bool | res_moving_wrt_eachother | ||
) | const [virtual] |
Pro-closure terms only apply between bonded residues where i+1 is proline -- skip residue pairs that don't apply during minimization.
Reimplemented from core::scoring::methods::TwoBodyEnergy.
References core::chemical::aa_pro, and core::conformation::Residue::seqpos().
void core::scoring::methods::ProClosureEnergy::eval_intrares_derivatives | ( | conformation::Residue const & | rsd, |
ResSingleMinimizationData const & | min_data, | ||
pose::Pose const & | pose, | ||
EnergyMap const & | weights, | ||
utility::vector1< DerivVectorPair > & | atom_derivs | ||
) | const [virtual] |
This should only be handed a proline.
Reimplemented from core::scoring::methods::TwoBodyEnergy.
References core::conformation::Residue::aa(), core::chemical::aa_pro, core::conformation::Residue::atom_index(), core::conformation::Residue::has(), core::conformation::Residue::is_virtual_residue(), core::scoring::pro_close, and core::conformation::Residue::xyz().
void core::scoring::methods::ProClosureEnergy::eval_intrares_energy | ( | conformation::Residue const & | rsd, |
pose::Pose const & | pose, | ||
ScoreFunction const & | sfxn, | ||
EnergyMap & | emap | ||
) | const [virtual] |
Evaluate the intra-residue energy for a given residue.
Implements core::scoring::methods::TwoBodyEnergy.
References core::conformation::Residue::aa(), core::chemical::aa_pro, core::conformation::Residue::is_virtual_residue(), core::scoring::pro_close, and core::conformation::Residue::xyz().
void core::scoring::methods::ProClosureEnergy::eval_residue_pair_derivatives | ( | conformation::Residue const & | rsd1, |
conformation::Residue const & | rsd2, | ||
ResSingleMinimizationData const & | , | ||
ResSingleMinimizationData const & | , | ||
ResPairMinimizationData const & | , | ||
pose::Pose const & | , | ||
EnergyMap const & | weights, | ||
utility::vector1< DerivVectorPair > & | r1_atom_derivs, | ||
utility::vector1< DerivVectorPair > & | r2_atom_derivs | ||
) | const [virtual] |
Evaluate the derivative for the input residue pair. This will only be called if rsd1 and rsd2 are bonded and one of them is a proline because ProClosureEnergy defines the "defines_score_for_residue_pair" method.
Reimplemented from core::scoring::methods::TwoBodyEnergy.
References core::chemical::aa_pro, core::conformation::Residue::atom_index(), core::scoring::pro_close, core::conformation::Residue::seqpos(), and core::conformation::Residue::xyz().
void core::scoring::methods::ProClosureEnergy::indicate_required_context_graphs | ( | utility::vector1< bool > & | ) | const [virtual] |
ProClosure Energy is context independent and thus indicates that no context graphs need to be maintained by class Energies.
ProClosureEnergy Energy is context independent and thus indicates that no context graphs need to be maintained by class Energies.
Implements core::scoring::methods::EnergyMethod.
bool core::scoring::methods::ProClosureEnergy::minimize_in_whole_structure_context | ( | pose::Pose const & | ) | const [inline, virtual] |
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.
Reimplemented from core::scoring::methods::EnergyMethod.
void core::scoring::methods::ProClosureEnergy::residue_pair_energy | ( | conformation::Residue const & | rsd1, |
conformation::Residue const & | rsd2, | ||
pose::Pose const & | pose, | ||
ScoreFunction const & | sfxn, | ||
EnergyMap & | emap | ||
) | const [virtual] |
Evaluate the interaction between a given residue pair.
Implements core::scoring::methods::TwoBodyEnergy.
References core::conformation::Residue::aa(), core::chemical::aa_pro, core::conformation::Residue::is_bonded(), core::conformation::Residue::is_virtual_residue(), core::scoring::pro_close, and core::conformation::Residue::seqpos().