Rosetta 3.4
Public Member Functions | Public Attributes
core::scoring::hbonds::HBondEnergy Class Reference

#include <HBondEnergy.hh>

Inheritance diagram for core::scoring::hbonds::HBondEnergy:
Inheritance graph
[legend]
Collaboration diagram for core::scoring::hbonds::HBondEnergy:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 HBondEnergy (HBondOptions const &opts)
 ctor
 HBondEnergy (HBondEnergy const &src)
 copy ctor
virtual ~HBondEnergy ()
virtual methods::EnergyMethodOP clone () const
 clone
virtual void setup_for_packing (pose::Pose &pose, utility::vector1< bool > const &, utility::vector1< bool > const &) const
virtual void prepare_rotamers_for_packing (pose::Pose const &pose, conformation::RotamerSetBase &set) const
virtual void update_residue_for_packing (pose::Pose &pose, Size resid) const
virtual void setup_for_scoring (pose::Pose &pose, ScoreFunction const &) const
virtual void residue_pair_energy (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &, EnergyMap &emap) const
 note that this only evaluates sc-sc and sc-bb energies
virtual bool defines_score_for_residue_pair (conformation::Residue const &res1, conformation::Residue const &res2, bool res_moving_wrt_eachother) const
 Returns false if two residues are not moving wrt each other; the two parts of the HBondEnergy function which are non-pairwise-decomposable are held fixed during minimization -- the neighbor counts, and the bb/bb hbond availability status. This means that the hbond-energy function can be efficiently evaluated during minimization.
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.
virtual bool use_extended_residue_pair_energy_interface () const
 Use the extended residue pair energy interface to distinguish between score function evaluation during minimization from score function evaluation during regular scoring.
virtual void residue_pair_energy_ext (conformation::Residue const &rsd1, conformation::Residue const &rsd2, ResPairMinimizationData const &min_data, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const
 Evaluate the energy between a pair of residues during minimization; during minimization, the bb/bb hbond status is held fixed, so it is possible to evaluate the bb/bb, bb/sc and sc/sc hydrogen bonds in this function call.
virtual void setup_for_minimizing_for_residue (conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &sfxn, kinematics::MinimizerMapBase const &minmap, ResSingleMinimizationData &res_data_cache) const
 Setup the bb/bb hbond presence data for a particular residue -- this data is taken out of the HbondSet in the Pose.
virtual void setup_for_minimizing_for_residue_pair (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, kinematics::MinimizerMapBase const &minmap, ResSingleMinimizationData const &res1_data_cache, ResSingleMinimizationData const &res2_data_cache, ResPairMinimizationData &data_cache) const
 Link the bb/bb hbond information in the ResidueSingleMinimizationData to the ResiduePairMinimizationData.
virtual bool requires_a_setup_for_derivatives_for_residue_pair_opportunity (pose::Pose const &pose) const
 Construct the set of all hydrogen bonds between two residues before.
virtual void eval_residue_pair_derivatives (conformation::Residue const &rsd1, conformation::Residue const &rsd2, ResSingleMinimizationData const &, ResSingleMinimizationData const &, ResPairMinimizationData const &min_data, pose::Pose const &pose, EnergyMap const &weights, utility::vector1< DerivVectorPair > &r1_atom_derivs, utility::vector1< DerivVectorPair > &r2_atom_derivs) const
 Do any setup work necessary before evaluating the derivatives for this residue.
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
 WORKING| MODELED AFTER THE VERSION IN OccludedHbondSolEnergy...Need to make sure that this is correct!: Parin Sripakdeevong/////.
void hbond_derivs_1way (EnergyMap const &weights, HBondSet const &hbond_set, HBondDatabaseCOP database, conformation::Residue const &don_rsd, conformation::Residue const &acc_rsd, Size const don_nb, Size const acc_nb, bool const exclude_bsc, bool const exclude_scb, utility::vector1< DerivVectorPair > &don_atom_derivs, utility::vector1< DerivVectorPair > &acc_atom_derivs) const
virtual void backbone_backbone_energy (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const
 Evaluates the interaction between the backbone of rsd1 and the backbone of rsd2 and accumulates the unweighted energy.
virtual void backbone_sidechain_energy (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const
 Evaluates the interaction between the backbone of rsd1 and the sidechain of rsd2 and accumulates the unweighted energy.
virtual void sidechain_sidechain_energy (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const
 Evaluates the interaction between the sidechain of rsd1 and the sidechain of rsd2 and accumulates the unweighted energy.
virtual void evaluate_rotamer_pair_energies (conformation::RotamerSetBase const &set1, conformation::RotamerSetBase const &set2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap const &weights, ObjexxFCL::FArray2D< core::PackerEnergy > &energy_table) const
 Batch computation of rotamer pair energies. Need not be overriden in derived class -- by default, iterates over all pairs of rotamers, and calls derived class's residue_pair_energy method. Since short range rotamer pairs may not need calculation, the default method looks at blocks of residue type pairs and only calls the residue_pair_energy method if the rotamer pairs are within range.
virtual void evaluate_rotamer_background_energies (conformation::RotamerSetBase const &set, conformation::Residue const &residue, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap const &weights, utility::vector1< core::PackerEnergy > &energy_vector) const
 Batch computation of rotamer/background energies. Need not be overriden in derived class -- by default, iterates over all rotamers in the set, and calls derived class's residue_pair_energy method for each one against the background rotamer Since short range rotamer pairs may not need calculation, the default method looks at blocks of residue type pairs and only calls the residue_pair_energy method if the rotamer pairs are within range.
virtual void finalize_total_energy (pose::Pose &pose, ScoreFunction const &, EnergyMap &totals) 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.
virtual Distance atomic_interaction_cutoff () const
 f1 and f2 are zeroed
virtual bool divides_backbone_and_sidechain_energetics () const
 A derived class should return true for this function if it implements its own versions of the backbone_backbone_energy, backbone_sidechain_energy and sidechain_sidechain_energy functions. The default sidechain_sidechain_energy implemented by the TwoBodyEnergy base class calls residue_pair_energy. If the derived class implements its own versions of these functions, then calling code may avoid calling it on pairs of residues that are "provably distant" based on a pair of bounding spheres for a sidechains and backbones and this method's atomic_interaction_cutoff energy method.
Real hydrogen_interaction_cutoff2 () const
 the atomic interaction cutoff and the hydrogen interaction cutoff are the same.
virtual void indicate_required_context_graphs (utility::vector1< bool > &context_graphs_required) const
 HBondEnergy is context sensitive.
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.
Energy heavyatom_heavyatom_energy (hbtrie::HBAtom const &at1, hbtrie::HBAtom const &at2, DistanceSquared &d2, Size &) const
Energy heavyatom_hydrogenatom_energy (hbtrie::HBAtom const &at1, hbtrie::HBAtom const &at2, bool flipped=false) const
Energy drawn_out_heavyatom_hydrogenatom_energy (hbtrie::HBAtom const &at1, hbtrie::HBAtom const &at2, bool flipped) const
 code to evaluate a hydrogen bond energy for the trie that didn't belong in the header itself -- it certainly does enough work such that inlining it would not likely produce a speedup.
Energy hydrogenatom_heavyatom_energy (hbtrie::HBAtom const &at1, hbtrie::HBAtom const &at2, Size &) const
Energy hydrogenatom_hydrogenatom_energy (hbtrie::HBAtom const &, hbtrie::HBAtom const &, Size &) const

Public Attributes

 __pad0__:ContextDependentTwoBodyEnergy parent

Constructor & Destructor Documentation

core::scoring::hbonds::HBondEnergy::HBondEnergy ( HBondOptions const &  opts)

ctor

Referenced by clone().

core::scoring::hbonds::HBondEnergy::HBondEnergy ( HBondEnergy const &  src)

copy ctor

core::scoring::hbonds::HBondEnergy::~HBondEnergy ( ) [virtual]

Member Function Documentation

Distance core::scoring::hbonds::HBondEnergy::atomic_interaction_cutoff ( ) const [virtual]

f1 and f2 are zeroed

HACK! MAX_R defines the maximum donorH to acceptor distance.

Implements core::scoring::methods::ShortRangeTwoBodyEnergy.

References core::scoring::hbonds::MAX_R.

Referenced by eval_residue_pair_derivatives(), and residue_pair_energy_ext().

void core::scoring::hbonds::HBondEnergy::backbone_backbone_energy ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const [virtual]

Evaluates the interaction between the backbone of rsd1 and the backbone of rsd2 and accumulates the unweighted energy.

The hydrogen bonds must have already been found and added to the minpair_data container in a call to setup_for_derivatives_for_residue_pair() where the input residues are guaranteed to not have changed since that call.

Reimplemented from core::scoring::methods::TwoBodyEnergy.

References core::scoring::Energies::data(), core::pose::Pose::energies(), core::scoring::EnergiesCacheableDataType::HBOND_SET, core::scoring::hbonds::identify_hbonds_1way(), core::scoring::hbonds::identify_hbonds_1way_membrane(), core::conformation::Residue::is_DNA(), core::scoring::hbonds::HBondSet::nbrs(), and core::conformation::Residue::seqpos().

void core::scoring::hbonds::HBondEnergy::backbone_sidechain_energy ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const [virtual]
methods::EnergyMethodOP core::scoring::hbonds::HBondEnergy::clone ( ) const [virtual]

clone

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

References HBondEnergy().

bool core::scoring::hbonds::HBondEnergy::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.

References core::scoring::hbond_intra.

bool core::scoring::hbonds::HBondEnergy::defines_score_for_residue_pair ( conformation::Residue const &  res1,
conformation::Residue const &  res2,
bool  res_moving_wrt_eachother 
) const [virtual]

Returns false if two residues are not moving wrt each other; the two parts of the HBondEnergy function which are non-pairwise-decomposable are held fixed during minimization -- the neighbor counts, and the bb/bb hbond availability status. This means that the hbond-energy function can be efficiently evaluated during minimization.

Reimplemented from core::scoring::methods::TwoBodyEnergy.

virtual bool core::scoring::hbonds::HBondEnergy::divides_backbone_and_sidechain_energetics ( ) const [inline, virtual]

A derived class should return true for this function if it implements its own versions of the backbone_backbone_energy, backbone_sidechain_energy and sidechain_sidechain_energy functions. The default sidechain_sidechain_energy implemented by the TwoBodyEnergy base class calls residue_pair_energy. If the derived class implements its own versions of these functions, then calling code may avoid calling it on pairs of residues that are "provably distant" based on a pair of bounding spheres for a sidechains and backbones and this method's atomic_interaction_cutoff energy method.

Reimplemented from core::scoring::methods::ShortRangeTwoBodyEnergy.

Energy core::scoring::hbonds::HBondEnergy::drawn_out_heavyatom_hydrogenatom_energy ( hbtrie::HBAtom const &  at1,
hbtrie::HBAtom const &  at2,
bool  flipped 
) const
void core::scoring::hbonds::HBondEnergy::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]

WORKING| MODELED AFTER THE VERSION IN OccludedHbondSolEnergy...Need to make sure that this is correct!: Parin Sripakdeevong/////.

Store all the hbonds formed between these two residues in the data_cache object so that they are available for derivative evaluation.

Reimplemented from core::scoring::methods::TwoBodyEnergy.

References core::scoring::Energies::data(), core::pose::Pose::energies(), hbond_derivs_1way(), core::scoring::EnergiesCacheableDataType::HBOND_SET, and core::conformation::Residue::is_RNA().

void core::scoring::hbonds::HBondEnergy::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::scoring::hbonds::identify_intra_res_hbonds(), and core::conformation::Residue::is_RNA().

void core::scoring::hbonds::HBondEnergy::eval_residue_pair_derivatives ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
ResSingleMinimizationData const &  ,
ResSingleMinimizationData const &  ,
ResPairMinimizationData const &  min_data,
pose::Pose const &  pose,
EnergyMap const &  weights,
utility::vector1< DerivVectorPair > &  r1_atom_derivs,
utility::vector1< DerivVectorPair > &  r2_atom_derivs 
) const [virtual]

Do any setup work necessary before evaluating the derivatives for this residue.

WORKING| MODELED AFTER THE VERSION IN OccludedHbondSolEnergy...Need to make sure that this is correct!: Parin Sripakdeevong/////.

Retrieves the cached hbond data from the minpair_data object and calculates the derivative for an atom on rsd1 wrt rsd2. This method requires that setup_for_derivatives_for_residue_pair have been called on this residue pair beforehand, and that the two residues have not changed since that call.

Reimplemented from core::scoring::methods::TwoBodyEnergy.

References atomic_interaction_cutoff(), core::scoring::Energies::data(), core::kinematics::tree::distance_squared(), core::pose::Pose::energies(), core::scoring::ResPairMinimizationData::get_data(), core::scoring::ResPairMinimizationData::get_data_ref(), hbond_derivs_1way(), core::scoring::hbond_respair_data, core::scoring::EnergiesCacheableDataType::HBOND_SET, core::conformation::Residue::nbr_atom(), core::conformation::Residue::nbr_radius(), and core::conformation::Residue::xyz().

void core::scoring::hbonds::HBondEnergy::evaluate_rotamer_background_energies ( conformation::RotamerSetBase const &  set,
conformation::Residue const &  residue,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap const &  weights,
utility::vector1< core::PackerEnergy > &  energy_vector 
) const [virtual]

Batch computation of rotamer/background energies. Need not be overriden in derived class -- by default, iterates over all rotamers in the set, and calls derived class's residue_pair_energy method for each one against the background rotamer Since short range rotamer pairs may not need calculation, the default method looks at blocks of residue type pairs and only calls the residue_pair_energy method if the rotamer pairs are within range.

Reimplemented from core::scoring::methods::ShortRangeTwoBodyEnergy.

References core::scoring::Energies::data(), core::pose::Pose::energies(), core::graph::Graph::get_node(), core::scoring::methods::hbond_method, core::scoring::EnergiesCacheableDataType::HBOND_SET, core::scoring::EnergiesCacheableDataType::HBOND_TRIE_COLLECTION, core::conformation::Residue::is_DNA(), core::scoring::hbonds::HBondSet::nbrs(), core::graph::Node::num_neighbors_counting_self(), core::pose::Pose::residue(), core::conformation::Residue::seqpos(), and core::scoring::Energies::tenA_neighbor_graph().

void core::scoring::hbonds::HBondEnergy::evaluate_rotamer_pair_energies ( conformation::RotamerSetBase const &  set1,
conformation::RotamerSetBase const &  set2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap const &  weights,
ObjexxFCL::FArray2D< core::PackerEnergy > &  energy_table 
) const [virtual]

Batch computation of rotamer pair energies. Need not be overriden in derived class -- by default, iterates over all pairs of rotamers, and calls derived class's residue_pair_energy method. Since short range rotamer pairs may not need calculation, the default method looks at blocks of residue type pairs and only calls the residue_pair_energy method if the rotamer pairs are within range.

Reimplemented from core::scoring::methods::ShortRangeTwoBodyEnergy.

References core::scoring::Energies::data(), core::pose::Pose::energies(), core::graph::Graph::get_node(), core::conformation::RotamerSetBase::get_trie(), core::scoring::methods::hbond_method, core::scoring::EnergiesCacheableDataType::HBOND_SET, core::scoring::hbonds::HBondSet::nbrs(), core::conformation::RotamerSetBase::resid(), core::pose::Pose::residue(), and core::scoring::Energies::tenA_neighbor_graph().

void core::scoring::hbonds::HBondEnergy::finalize_total_energy ( pose::Pose pose,
ScoreFunction const &  sfxn,
EnergyMap total_energy 
) const [virtual]

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 core::scoring::Energies::data(), core::pose::Pose::energies(), core::scoring::hbonds::get_hbond_energies(), core::scoring::hbond_bb_sc, core::scoring::hbond_intra, core::scoring::hbond_lr_bb_sc, core::scoring::hbond_sc, core::scoring::EnergiesCacheableDataType::HBOND_SET, core::scoring::hbond_sr_bb_sc, and core::scoring::Energies::use_nblist().

void core::scoring::hbonds::HBondEnergy::hbond_derivs_1way ( EnergyMap const &  weights,
HBondSet const &  hbond_set,
HBondDatabaseCOP  database,
conformation::Residue const &  don_rsd,
conformation::Residue const &  acc_rsd,
Size const  don_nb,
Size const  acc_nb,
bool const  exclude_bsc,
bool const  exclude_scb,
utility::vector1< DerivVectorPair > &  don_atom_derivs,
utility::vector1< DerivVectorPair > &  acc_atom_derivs 
) const

Triplication of the loops that iterate across hbond donors and acceptors Find all hbonds for a pair of residues and add those found hbonds to the hb_pair_dat object; these hbonds will be used for derivative evaluation, so evaluate the F1/F2 derivative vectors now. This function respects the exclude bsc and scb variables to avoid hbonds. Called by setup_for_derivatives_for_residue_pair pba modified

References core::conformation::Residue::abase2(), core::scoring::hbonds::HBondDerivs::abase2_deriv, core::scoring::hbonds::HBondDerivs::abase_deriv, core::scoring::hbonds::HBondDerivs::acc_deriv, core::conformation::Residue::accpt_pos(), core::scoring::hbonds::assign_abase_derivs(), core::conformation::Residue::atom(), core::conformation::Residue::atom_base(), core::conformation::Residue::atom_is_backbone(), core::chemical::rna::RNA_ResidueType::atom_is_phosphate(), core::scoring::hbonds::HBondDerivs::don_deriv, core::scoring::hbonds::HBEvalTuple::eval_type(), core::scoring::DerivVectorPair::f1(), core::scoring::DerivVectorPair::f2(), core::scoring::hbonds::get_environment_dependent_weight(), core::scoring::hbonds::get_membrane_depth_dependent_weight(), core::scoring::hbonds::HBondDerivs::h_deriv, core::scoring::hbonds::hb_energy_deriv(), core::scoring::hbonds::hb_eval_type_weight(), core::scoring::hbonds::HBondSet::hbond_options(), core::conformation::Residue::Hpos_polar(), core::scoring::hbonds::HBondOptions::include_intra_res_RNA(), core::conformation::Residue::is_RNA(), core::chemical::rna::RNA_ResidueType::is_RNA_base_atom(), core::conformation::Residue::is_virtual(), core::scoring::hbonds::MAX_HB_ENERGY, core::scoring::hbonds::MAX_R2, core::conformation::Residue::path_distance(), core::conformation::Residue::RNA_type(), core::conformation::Residue::seqpos(), core::scoring::hbonds::HBondOptions::use_hb_env_dep(), core::conformation::Residue::xyz(), and core::conformation::Atom::xyz().

Referenced by eval_intrares_derivatives(), and eval_residue_pair_derivatives().

Energy core::scoring::hbonds::HBondEnergy::heavyatom_heavyatom_energy ( hbtrie::HBAtom const &  at1,
hbtrie::HBAtom const &  at2,
DistanceSquared d2,
Size  
) const [inline]
Energy core::scoring::hbonds::HBondEnergy::heavyatom_hydrogenatom_energy ( hbtrie::HBAtom const &  at1,
hbtrie::HBAtom const &  at2,
bool  flipped = false 
) const [inline]
Real core::scoring::hbonds::HBondEnergy::hydrogen_interaction_cutoff2 ( ) const

the atomic interaction cutoff and the hydrogen interaction cutoff are the same.

References core::scoring::hbonds::MAX_R.

Energy core::scoring::hbonds::HBondEnergy::hydrogenatom_heavyatom_energy ( hbtrie::HBAtom const &  at1,
hbtrie::HBAtom const &  at2,
Size  
) const [inline]
Energy core::scoring::hbonds::HBondEnergy::hydrogenatom_hydrogenatom_energy ( hbtrie::HBAtom const &  ,
hbtrie::HBAtom const &  ,
Size  
) const [inline]
void core::scoring::hbonds::HBondEnergy::indicate_required_context_graphs ( utility::vector1< bool > &  context_graphs_required) const [virtual]
bool core::scoring::hbonds::HBondEnergy::minimize_in_whole_structure_context ( pose::Pose const &  ) const [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::hbonds::HBondEnergy::prepare_rotamers_for_packing ( pose::Pose const &  ,
conformation::RotamerSetBase  
) const [virtual]

default implementation noop

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

References core::scoring::methods::hbond_method.

bool core::scoring::hbonds::HBondEnergy::requires_a_setup_for_derivatives_for_residue_pair_opportunity ( pose::Pose const &  pose) const [virtual]

Construct the set of all hydrogen bonds between two residues before.

Reimplemented from core::scoring::methods::TwoBodyEnergy.

void core::scoring::hbonds::HBondEnergy::residue_pair_energy ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
pose::Pose const &  pose,
ScoreFunction const &  ,
EnergyMap emap 
) const [virtual]

note that this only evaluates sc-sc and sc-bb energies

Note that this only evaluates sc-sc and sc-bb energies unless options_->decompose_bb_hb_into_pair_energies is set to true, in which case, this function also evaluates bb-bb energies. Note also that this function enforces the bb/sc hbond exclusion rule.

Implements core::scoring::methods::TwoBodyEnergy.

References core::scoring::hbonds::HBondSet::acc_bbg_in_bb_bb_hbond(), core::scoring::Energies::data(), core::scoring::hbonds::HBondSet::don_bbg_in_bb_bb_hbond(), core::pose::Pose::energies(), core::scoring::EnergiesCacheableDataType::HBOND_SET, core::scoring::hbonds::identify_hbonds_1way(), core::scoring::hbonds::identify_hbonds_1way_membrane(), core::conformation::Residue::is_DNA(), core::conformation::Residue::is_protein(), core::scoring::hbonds::HBondSet::nbrs(), and core::conformation::Residue::seqpos().

void core::scoring::hbonds::HBondEnergy::residue_pair_energy_ext ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
ResPairMinimizationData const &  pairdata,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const [virtual]

Evaluate the energy between a pair of residues during minimization; during minimization, the bb/bb hbond status is held fixed, so it is possible to evaluate the bb/bb, bb/sc and sc/sc hydrogen bonds in this function call.

computes the residue pair energy during minimization; this includes bb/bb energies as opposed to the standard residue_pair_energy interface, which does not include bb/bb energies. On the other hand, this interface presumes that no new bb/bb hydrogen bonds are formed during the course of minimization, and no existing bb/bb hydrogen bonds are lost. Note: this function does not directly enforce the bb/sc exclusion rule logic, but rather, takes the boolean "bb_don_avail" and "bb_acc_avail" data stored in the pairdata object

Reimplemented from core::scoring::methods::TwoBodyEnergy.

References atomic_interaction_cutoff(), core::kinematics::tree::distance_squared(), core::scoring::ResPairMinimizationData::get_data(), core::scoring::ResPairMinimizationData::get_data_ref(), core::scoring::hbond_respair_data, core::scoring::hbonds::identify_hbonds_1way(), core::scoring::hbonds::identify_hbonds_1way_membrane(), core::conformation::Residue::nbr_atom(), core::conformation::Residue::nbr_radius(), and core::conformation::Residue::xyz().

void core::scoring::hbonds::HBondEnergy::setup_for_minimizing_for_residue ( conformation::Residue const &  rsd,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
kinematics::MinimizerMapBase const &  minmap,
ResSingleMinimizationData res_data_cache 
) const [virtual]

Setup the bb/bb hbond presence data for a particular residue -- this data is taken out of the HbondSet in the Pose.

Note that this function helps enforce the bb/sc exclusion rule by setting the donor and acceptor availability for backbone donors and acceptors. If the backbone-sidechain-exclusion rule is not being enforced, then this function marks all donors and acceptors as being available. If it is being enforced, then is uses the hbondset functions don_bbg_in_bb_bb_hbond and acc_bbg_in_bb_bb_hbond. The decisions made in this function impact the evaluation of energies in the above residue_pair_energy_ext method.

Reimplemented from core::scoring::methods::TwoBodyEnergy.

References core::scoring::hbonds::HBondSet::acc_bbg_in_bb_bb_hbond(), core::scoring::Energies::data(), core::scoring::hbonds::HBondSet::don_bbg_in_bb_bb_hbond(), core::pose::Pose::energies(), core::scoring::ResSingleMinimizationData::get_data(), core::scoring::hbond_res_data, core::scoring::EnergiesCacheableDataType::HBOND_SET, core::conformation::Residue::is_protein(), core::conformation::Residue::natoms(), core::scoring::hbonds::HBondSet::nbrs(), core::conformation::Residue::seqpos(), and core::scoring::ResSingleMinimizationData::set_data().

void core::scoring::hbonds::HBondEnergy::setup_for_minimizing_for_residue_pair ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
kinematics::MinimizerMapBase const &  minmap,
ResSingleMinimizationData const &  res1_data_cache,
ResSingleMinimizationData const &  res2_data_cache,
ResPairMinimizationData data_cache 
) const [virtual]
void core::scoring::hbonds::HBondEnergy::setup_for_packing ( pose::Pose ,
utility::vector1< bool > const &  ,
utility::vector1< bool > const &   
) const [virtual]
void core::scoring::hbonds::HBondEnergy::setup_for_scoring ( pose::Pose pose,
ScoreFunction const &   
) const [virtual]
void core::scoring::hbonds::HBondEnergy::sidechain_sidechain_energy ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const [virtual]
void core::scoring::hbonds::HBondEnergy::update_residue_for_packing ( pose::Pose pose,
Size  resid 
) const [virtual]
bool core::scoring::hbonds::HBondEnergy::use_extended_residue_pair_energy_interface ( ) const [virtual]

Use the extended residue pair energy interface to distinguish between score function evaluation during minimization from score function evaluation during regular scoring.

Reimplemented from core::scoring::methods::TwoBodyEnergy.


Member Data Documentation


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