Rosetta 3.4
Public Types | Public Member Functions
core::scoring::methods::ProClosureEnergy Class Reference

#include <ProClosureEnergy.hh>

Inheritance diagram for core::scoring::methods::ProClosureEnergy:
Inheritance graph
[legend]
Collaboration diagram for core::scoring::methods::ProClosureEnergy:
Collaboration graph
[legend]

List of all members.

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?

Member Typedef Documentation


Constructor & Destructor Documentation

core::scoring::methods::ProClosureEnergy::ProClosureEnergy ( )

ctor

Referenced by clone().

core::scoring::methods::ProClosureEnergy::~ProClosureEnergy ( )

Member Function Documentation

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]
void core::scoring::methods::ProClosureEnergy::eval_intrares_energy ( conformation::Residue const &  rsd,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const [virtual]
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]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines