Rosetta 3.4
Public Member Functions | Public Attributes | Protected Member Functions
core::scoring::hackelec::HackElecEnergy Class Reference

#include <HackElecEnergy.hh>

Inheritance diagram for core::scoring::hackelec::HackElecEnergy:
Inheritance graph
[legend]
Collaboration diagram for core::scoring::hackelec::HackElecEnergy:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 HackElecEnergy (methods::EnergyMethodOptions const &options)
 HackElecEnergy (HackElecEnergy const &src)
void initialize ()
 Initilize constants.
virtual methods::EnergyMethodOP clone () const
 clone
virtual void setup_for_minimizing (pose::Pose &pose, ScoreFunction const &sfxn, kinematics::MinimizerMapBase const &min_map) const
 stashes nblist if use_nblist is true
virtual void setup_for_derivatives (pose::Pose &pose, ScoreFunction const &) const
 Called immediately before atom- and DOF-derivatives are calculated allowing the derived class a chance to prepare for future calls.
virtual void setup_for_scoring (pose::Pose &pose, ScoreFunction const &) const
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 residue_pair_energy (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &, EnergyMap &emap) const
 Evaluate the interaction between a given residue pair accumulating the unweighted energies in an EnergyMap.
virtual bool minimize_in_whole_structure_context (pose::Pose const &pose) const
 Returns true if we're using neighborlist-autoupdate.
virtual bool defines_score_for_residue_pair (conformation::Residue const &res1, conformation::Residue const &res2, bool res_moving_wrt_eachother) const
 During minimization, energy methods are allowed to decide that they say nothing about a particular residue pair (e.g. no non-zero energy) and as a result they will not be queried for a derivative or an energy. The default implementation returns "true" for all residue pairs. Context-dependent two-body energies have the option of behaving as if they are context-independent by returning "false" for residue pairs that do no move wrt each other.
virtual bool use_extended_residue_pair_energy_interface () const
 Rely on the extended version of the residue_pair_energy function during score-function evaluation in minimization? The extended version (below) takes a ResPairMinimizationData in which the derived base class has (or should have) cached a piece of data that will make residue-pair energy evaluation faster than its absense (e.g. a neighbor list). Derived energy methods should return 'true' from this function to use the extended interface. The default method implemented in this class returns 'false'.
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 two-body energies for a particular residue, in the context of a given Pose, and with the help of a piece of cached data for minimization, increment those two body energies into the input EnergyMap. The calling function must guarantee that this EnergyMethod has had the opportunity to update the input ResPairMinimizationData object for the given residues in a call to setup_for_minimizing_for_residue_pair before this function is invoked. This function should not be called unless the use_extended_residue_pair_energy_interface() method returns "true". Default implementation provided by this base class calls utility::exit().
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
 Called at the beginning of minimization, allowing this energy method to cache data pertinent for a single residue in the the ResPairMinimizationData that is used for a particular residue in the context of a particular Pose. This base class provides a noop implementation for this function if there is nothing that the derived class needs to perform in this setup phase.
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
 Evaluate the derivative for an atom in rsd1 with respect to rsd2 in the context of a particular pose, and increment the F1 and F2 vectors. This base class provides a default noop implementation of this function. The calling function must guarantee that this EnergyMethod has had the opportunity to update the input ResPairMinimizationData object for the given residue in a call to prepare_for_minimization before this function is invoked. DEPRECATED. Too slow. Too much overhead for each atom; slowed fast-relax runs by ~40%.
virtual void backbone_backbone_energy (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const
 Evaluate the interaction between the backbone of rsd1 and the backbone of rsd2 and accumulate the unweighted energies. The sum bb_bb(r1,r2) + bb_sc(r1,r2) + bb_sc(r2,r1) + sc_sc( r1,r2) must equal the weighted result of a call to residue_pair_energy. By default, bb_bb & bb_sc return 0 and sc_sc returns residue pair energy.
virtual void backbone_sidechain_energy (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const
 Evaluate the interaction between the backbone of rsd1 and the sidechain of rsd2 and accumulate the unweighted energies. The sum bb_bb(r1,r2) + bb_sc(r1,r2) + bb_sc(r2,r1) + sc_sc( r1,r2) must equal the unweighted result of a call to residue_pair_energy. By default, bb_bb & bb_sc return 0 and sc_sc returns residue pair energy.
virtual void sidechain_sidechain_energy (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const
 Evaluate the interaction between the sidechain of rsd1 and the sidechain of rsd2 and accumulate the unweighted energies. The sum bb_bb(r1,r2) + bb_sc(r1,r2) + bb_sc(r2,r1) + sc_sc( r1,r2) must equal the unweighted result of a call to residue_pair_energy. By default, bb_bb & bb_sc return 0 and sc_sc returns residue pair energy.
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.
Real eval_atom_atom_hack_elecE (Vector const &i_xyz, Real const i_charge, Vector const &j_xyz, Real const j_charge) const
virtual void eval_intrares_energy (conformation::Residue const &, pose::Pose const &, ScoreFunction const &, EnergyMap &) const
 Evaluate the intra-residue energy for a given residue.
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 bool defines_intrares_energy (EnergyMap const &) 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.
etable::count_pair::CountPairFunctionCOP get_intrares_countpair (conformation::Residue const &, pose::Pose const &, ScoreFunction const &) const
 Interface function for class NeighborList.
etable::count_pair::CountPairFunctionCOP get_count_pair_function (Size const, Size const, pose::Pose const &, ScoreFunction const &) const
 Interface function for class NeighborList.
etable::count_pair::CountPairFunctionCOP get_count_pair_function (conformation::Residue const &rsd1, conformation::Residue const &rsd2) const
virtual Distance atomic_interaction_cutoff () const
 HackElecEnergy distance cutoff.
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.
virtual void indicate_required_context_graphs (utility::vector1< bool > &context_graphs_required) const
 HackElecEnergy.
Real hydrogen_interaction_cutoff2 () const
 How close two heavy atoms have to be such that their hydrogen atoms might interact, squared.
Real hydrogen_interaction_cutoff () const
 How close two heavy atoms have to be such that their hydrogen atoms might interact.
Energy heavyatom_heavyatom_energy (ElecAtom const &at1, ElecAtom const &at2, DistanceSquared &d2, Size &) const
Energy heavyatom_hydrogenatom_energy (ElecAtom const &at1, ElecAtom const &at2, Size &) const
Energy hydrogenatom_heavyatom_energy (ElecAtom const &at1, ElecAtom const &at2, Size &) const
Energy hydrogenatom_hydrogenatom_energy (ElecAtom const &at1, ElecAtom const &at2, Size &) const
Real hackelec_weight (bool at1isbb, bool at2isbb) const
 This has to go.
Real hackelec_weight (bool at1isbb, bool at2isbb, weight_triple const &wts) const

Public Attributes

 __pad0__:ContextIndependentTwoBodyEnergy parent

Protected Member Functions

Real eval_dhack_elecE_dr_over_r (Real const dis2, Real const q1, Real const q2) const
 Get the key numeric value for derivative calculations i.e. the derivative of energy with respect to distance divided by the distance.

Constructor & Destructor Documentation

core::scoring::hackelec::HackElecEnergy::HackElecEnergy ( methods::EnergyMethodOptions const &  options)

References initialize().

Referenced by clone().

core::scoring::hackelec::HackElecEnergy::HackElecEnergy ( HackElecEnergy const &  src)

References initialize().


Member Function Documentation

Distance core::scoring::hackelec::HackElecEnergy::atomic_interaction_cutoff ( ) const [virtual]

HackElecEnergy distance cutoff.

Reports the maximum heavy atom/heavy atom distance at which two residues have a non-zero hack_elec interaction energy.

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

References hydrogen_interaction_cutoff().

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

Evaluate the interaction between the backbone of rsd1 and the backbone of rsd2 and accumulate the unweighted energies. The sum bb_bb(r1,r2) + bb_sc(r1,r2) + bb_sc(r2,r1) + sc_sc( r1,r2) must equal the weighted result of a call to residue_pair_energy. By default, bb_bb & bb_sc return 0 and sc_sc returns residue pair energy.

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

References core::chemical::ResidueType::all_bb_atoms(), core::conformation::Residue::atomic_charge(), core::scoring::etable::count_pair::CP_CROSSOVER_4, eval_atom_atom_hack_elecE(), core::scoring::hack_elec, core::scoring::hack_elec_bb_bb, core::conformation::Residue::is_bonded(), core::conformation::Residue::is_DNA(), core::conformation::Residue::is_protein(), core::conformation::Residue::is_pseudo_bonded(), core::conformation::Residue::seqpos(), core::conformation::Residue::type(), and core::conformation::Residue::xyz().

void core::scoring::hackelec::HackElecEnergy::backbone_sidechain_energy ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const [virtual]

Evaluate the interaction between the backbone of rsd1 and the sidechain of rsd2 and accumulate the unweighted energies. The sum bb_bb(r1,r2) + bb_sc(r1,r2) + bb_sc(r2,r1) + sc_sc( r1,r2) must equal the unweighted result of a call to residue_pair_energy. By default, bb_bb & bb_sc return 0 and sc_sc returns residue pair energy.

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

References core::chemical::ResidueType::all_bb_atoms(), core::chemical::ResidueType::all_sc_atoms(), core::conformation::Residue::atomic_charge(), core::scoring::etable::count_pair::CP_CROSSOVER_4, eval_atom_atom_hack_elecE(), core::scoring::hack_elec, core::scoring::hack_elec_bb_sc, core::conformation::Residue::is_bonded(), core::conformation::Residue::is_DNA(), core::conformation::Residue::is_protein(), core::conformation::Residue::is_pseudo_bonded(), core::conformation::Residue::seqpos(), core::conformation::Residue::type(), and core::conformation::Residue::xyz().

methods::EnergyMethodOP core::scoring::hackelec::HackElecEnergy::clone ( ) const [virtual]
virtual bool core::scoring::hackelec::HackElecEnergy::defines_intrares_energy ( EnergyMap const &  weights) const [inline, 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.

Reimplemented in core::scoring::hackelec::HackElecEnergyAroAll, core::scoring::hackelec::HackElecEnergyAroAro, and core::scoring::hackelec::RNAHackElecEnergy.

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

During minimization, energy methods are allowed to decide that they say nothing about a particular residue pair (e.g. no non-zero energy) and as a result they will not be queried for a derivative or an energy. The default implementation returns "true" for all residue pairs. Context-dependent two-body energies have the option of behaving as if they are context-independent by returning "false" for residue pairs that do no move wrt each other.

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

virtual bool core::scoring::hackelec::HackElecEnergy::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.

Real core::scoring::hackelec::HackElecEnergy::eval_atom_atom_hack_elecE ( Vector const &  i_xyz,
Real const  i_charge,
Vector const &  j_xyz,
Real const  j_charge 
) const [inline]
Real core::scoring::hackelec::HackElecEnergy::eval_dhack_elecE_dr_over_r ( Real const  dis2,
Real const  q1,
Real const  q2 
) const [inline, protected]
virtual void core::scoring::hackelec::HackElecEnergy::eval_intrares_energy ( conformation::Residue const &  rsd,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const [inline, virtual]
void core::scoring::hackelec::HackElecEnergy::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]

Evaluate the derivative for an atom in rsd1 with respect to rsd2 in the context of a particular pose, and increment the F1 and F2 vectors. This base class provides a default noop implementation of this function. The calling function must guarantee that this EnergyMethod has had the opportunity to update the input ResPairMinimizationData object for the given residue in a call to prepare_for_minimization before this function is invoked. DEPRECATED. Too slow. Too much overhead for each atom; slowed fast-relax runs by ~40%.

Evaluate the derivatives for all atoms on rsd1 and rsd2 with respect to each other and increment the derivatives in atom-derivatives vector1s. The calling function must guarantee that the r1_atom_derivs vector1 holds at least as many entries as there are atoms in rsd1, and that the r2_atom_derivs vector1 holds at least as many entries as there are atoms in rsd2.

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

References core::conformation::Residue::atom_is_backbone(), core::conformation::Residue::atomic_charge(), eval_dhack_elecE_dr_over_r(), core::scoring::ResPairMinimizationData::get_data(), core::scoring::ResPairMinimizationData::get_data_ref(), core::scoring::hackelec_pair_nblist, hackelec_weight(), core::conformation::Residue::seqpos(), and core::conformation::Residue::xyz().

void core::scoring::hackelec::HackElecEnergy::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.

Reimplemented in core::scoring::hackelec::HackElecEnergyAroAll, core::scoring::hackelec::HackElecEnergyAroAro, and core::scoring::hackelec::RNAHackElecEnergy.

References core::scoring::Energies::data(), core::pose::Pose::energies(), core::scoring::hack_elec, core::scoring::hack_elec_bb_bb, core::scoring::hack_elec_bb_sc, core::scoring::hack_elec_sc_sc, core::scoring::methods::hackelec_method, core::scoring::EnergiesCacheableDataType::HACKELEC_TRIE_COLLECTION, core::conformation::Residue::is_protein(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), core::conformation::Residue::seqpos(), and core::scoring::ScoreFunction::weights().

void core::scoring::hackelec::HackElecEnergy::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.

Reimplemented in core::scoring::hackelec::HackElecEnergyAroAll, core::scoring::hackelec::HackElecEnergyAroAro, and core::scoring::hackelec::RNAHackElecEnergy.

References core::conformation::RotamerSetBase::get_trie(), core::scoring::hack_elec, core::scoring::hack_elec_bb_bb, core::scoring::hack_elec_bb_sc, core::scoring::hack_elec_sc_sc, core::scoring::methods::hackelec_method, core::conformation::RotamerSetBase::resid(), core::pose::Pose::residue_type(), and core::scoring::ScoreFunction::weights().

void core::scoring::hackelec::HackElecEnergy::finalize_total_energy ( pose::Pose pose,
ScoreFunction const &  sfxn,
EnergyMap total_energy 
) const [virtual]
etable::count_pair::CountPairFunctionCOP core::scoring::hackelec::HackElecEnergy::get_count_pair_function ( Size const  res1,
Size const  res2,
pose::Pose const &  pose,
ScoreFunction const &   
) const

Interface function for class NeighborList.

References core::pose::Pose::residue().

Referenced by setup_for_minimizing_for_residue_pair().

etable::count_pair::CountPairFunctionCOP core::scoring::hackelec::HackElecEnergy::get_count_pair_function ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2 
) const
etable::count_pair::CountPairFunctionCOP core::scoring::hackelec::HackElecEnergy::get_intrares_countpair ( conformation::Residue const &  ,
pose::Pose const &  ,
ScoreFunction const &   
) const

Interface function for class NeighborList.

Real core::scoring::hackelec::HackElecEnergy::hackelec_weight ( bool  at1isbb,
bool  at2isbb 
) const [inline]
Real core::scoring::hackelec::HackElecEnergy::hackelec_weight ( bool  at1isbb,
bool  at2isbb,
weight_triple const &  wts 
) const [inline]
Energy core::scoring::hackelec::HackElecEnergy::heavyatom_heavyatom_energy ( ElecAtom const &  at1,
ElecAtom const &  at2,
DistanceSquared d2,
Size  
) const [inline]
Energy core::scoring::hackelec::HackElecEnergy::heavyatom_hydrogenatom_energy ( ElecAtom const &  at1,
ElecAtom const &  at2,
Size  
) const [inline]
Real core::scoring::hackelec::HackElecEnergy::hydrogen_interaction_cutoff ( ) const [inline]

How close two heavy atoms have to be such that their hydrogen atoms might interact.

References core::chemical::MAX_CHEMICAL_BOND_TO_HYDROGEN_LENGTH.

Referenced by atomic_interaction_cutoff(), and hydrogen_interaction_cutoff2().

Real core::scoring::hackelec::HackElecEnergy::hydrogen_interaction_cutoff2 ( ) const [inline]

How close two heavy atoms have to be such that their hydrogen atoms might interact, squared.

References hydrogen_interaction_cutoff().

Referenced by residue_pair_energy().

Energy core::scoring::hackelec::HackElecEnergy::hydrogenatom_heavyatom_energy ( ElecAtom const &  at1,
ElecAtom const &  at2,
Size  
) const [inline]
Energy core::scoring::hackelec::HackElecEnergy::hydrogenatom_hydrogenatom_energy ( ElecAtom const &  at1,
ElecAtom const &  at2,
Size  
) const [inline]
void core::scoring::hackelec::HackElecEnergy::indicate_required_context_graphs ( utility::vector1< bool > &  context_graphs_required) const [virtual]
void core::scoring::hackelec::HackElecEnergy::initialize ( )

Initilize constants.

Referenced by HackElecEnergy().

bool core::scoring::hackelec::HackElecEnergy::minimize_in_whole_structure_context ( pose::Pose const &  pose) const [virtual]
void core::scoring::hackelec::HackElecEnergy::prepare_rotamers_for_packing ( pose::Pose const &  ,
conformation::RotamerSetBase  
) const [virtual]
void core::scoring::hackelec::HackElecEnergy::residue_pair_energy ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const [virtual]
void core::scoring::hackelec::HackElecEnergy::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 [virtual]

Evaluate the two-body energies for a particular residue, in the context of a given Pose, and with the help of a piece of cached data for minimization, increment those two body energies into the input EnergyMap. The calling function must guarantee that this EnergyMethod has had the opportunity to update the input ResPairMinimizationData object for the given residues in a call to setup_for_minimizing_for_residue_pair before this function is invoked. This function should not be called unless the use_extended_residue_pair_energy_interface() method returns "true". Default implementation provided by this base class calls utility::exit().

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

References core::scoring::ResPairMinimizationData::get_data(), core::scoring::ResPairMinimizationData::get_data_ref(), core::scoring::hack_elec, core::scoring::hackelec_pair_nblist, and core::conformation::Residue::seqpos().

void core::scoring::hackelec::HackElecEnergy::setup_for_derivatives ( pose::Pose pose,
ScoreFunction const &  sfxn 
) const [virtual]
void core::scoring::hackelec::HackElecEnergy::setup_for_minimizing ( pose::Pose pose,
ScoreFunction const &  sfxn,
kinematics::MinimizerMapBase const &  min_map 
) const [virtual]
void core::scoring::hackelec::HackElecEnergy::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]

Called at the beginning of minimization, allowing this energy method to cache data pertinent for a single residue in the the ResPairMinimizationData that is used for a particular residue in the context of a particular Pose. This base class provides a noop implementation for this function if there is nothing that the derived class needs to perform in this setup phase.

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

References get_count_pair_function(), core::scoring::ResPairMinimizationData::get_data(), core::scoring::hackelec_pair_nblist, core::conformation::Residue::seqpos(), and core::scoring::ResPairMinimizationData::set_data().

void core::scoring::hackelec::HackElecEnergy::setup_for_packing ( pose::Pose ,
utility::vector1< bool > const &  ,
utility::vector1< bool > const &   
) const [virtual]
void core::scoring::hackelec::HackElecEnergy::setup_for_scoring ( pose::Pose pose,
ScoreFunction const &  scfxn 
) const [virtual]
void core::scoring::hackelec::HackElecEnergy::sidechain_sidechain_energy ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const [virtual]

Evaluate the interaction between the sidechain of rsd1 and the sidechain of rsd2 and accumulate the unweighted energies. The sum bb_bb(r1,r2) + bb_sc(r1,r2) + bb_sc(r2,r1) + sc_sc( r1,r2) must equal the unweighted result of a call to residue_pair_energy. By default, bb_bb & bb_sc return 0 and sc_sc returns residue pair energy.

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

References core::chemical::ResidueType::all_sc_atoms(), core::conformation::Residue::atomic_charge(), core::scoring::etable::count_pair::CP_CROSSOVER_4, eval_atom_atom_hack_elecE(), core::scoring::hack_elec, core::scoring::hack_elec_sc_sc, core::conformation::Residue::is_bonded(), core::conformation::Residue::is_DNA(), core::conformation::Residue::is_protein(), core::conformation::Residue::is_pseudo_bonded(), core::conformation::Residue::seqpos(), core::conformation::Residue::type(), and core::conformation::Residue::xyz().

void core::scoring::hackelec::HackElecEnergy::update_residue_for_packing ( pose::Pose pose,
Size  resid 
) const [virtual]
bool core::scoring::hackelec::HackElecEnergy::use_extended_residue_pair_energy_interface ( ) const [virtual]

Rely on the extended version of the residue_pair_energy function during score-function evaluation in minimization? The extended version (below) takes a ResPairMinimizationData in which the derived base class has (or should have) cached a piece of data that will make residue-pair energy evaluation faster than its absense (e.g. a neighbor list). Derived energy methods should return 'true' from this function to use the extended interface. The default method implemented in this class returns 'false'.

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

Reimplemented in core::scoring::hackelec::RNAHackElecEnergy.


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