Rosetta 3.4
|
#include <HackElecEnergy.hh>
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. |
core::scoring::hackelec::HackElecEnergy::HackElecEnergy | ( | methods::EnergyMethodOptions const & | options | ) |
References initialize().
Referenced by clone().
core::scoring::hackelec::HackElecEnergy::HackElecEnergy | ( | HackElecEnergy const & | src | ) |
References initialize().
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] |
clone
Implements core::scoring::methods::EnergyMethod.
Reimplemented in core::scoring::hackelec::HackElecEnergyAroAll, core::scoring::hackelec::HackElecEnergyAroAro, and core::scoring::hackelec::RNAHackElecEnergy.
References HackElecEnergy().
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] |
Referenced by backbone_backbone_energy(), backbone_sidechain_energy(), finalize_total_energy(), heavyatom_heavyatom_energy(), heavyatom_hydrogenatom_energy(), hydrogenatom_heavyatom_energy(), hydrogenatom_hydrogenatom_energy(), core::scoring::hackelec::HackElecEnergyAroAro::residue_pair_energy_aro_aro(), core::scoring::hackelec::HackElecEnergyAroAll::residue_pair_energy_aro_aro(), core::scoring::hackelec::RNAHackElecEnergy::residue_pair_energy_RNA(), and sidechain_sidechain_energy().
Real core::scoring::hackelec::HackElecEnergy::eval_dhack_elecE_dr_over_r | ( | Real const | dis2, |
Real const | q1, | ||
Real const | q2 | ||
) | const [inline, protected] |
Get the key numeric value for derivative calculations i.e. the derivative of energy with respect to distance divided by the distance.
Referenced by core::scoring::hackelec::HackElecEnergyAroAro::eval_atom_derivative_aro_aro(), core::scoring::hackelec::HackElecEnergyAroAll::eval_atom_derivative_aro_aro(), core::scoring::hackelec::RNAHackElecEnergy::eval_atom_derivative_RNA(), and eval_residue_pair_derivatives().
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] |
Evaluate the intra-residue energy for a given residue.
Implements core::scoring::methods::TwoBodyEnergy.
Reimplemented in core::scoring::hackelec::HackElecEnergyAroAll, core::scoring::hackelec::HackElecEnergyAroAro, and core::scoring::hackelec::RNAHackElecEnergy.
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] |
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::conformation::Residue::atom_is_backbone(), core::conformation::Residue::atomic_charge(), core::scoring::AtomNeighbor::atomno(), core::scoring::NeighborList::check_domain_map(), core::scoring::Energies::domain_map(), core::pose::Pose::energies(), eval_atom_atom_hack_elecE(), core::scoring::hack_elec, core::scoring::hack_elec_bb_bb, core::scoring::hack_elec_bb_sc, core::scoring::hack_elec_sc_sc, core::scoring::EnergiesCacheableDataType::HACKELEC_NBLIST, core::conformation::Residue::natoms(), core::scoring::Energies::nblist(), core::pose::Pose::residue(), core::scoring::AtomNeighbor::rsd(), core::scoring::AtomNeighbor::temp1(), core::scoring::AtomNeighbor::temp2(), core::scoring::AtomNeighbor::temp3(), core::scoring::AtomNeighbor::temp4(), core::pose::Pose::total_residue(), core::scoring::total_score, core::scoring::Energies::use_nblist(), core::scoring::Energies::use_nblist_auto_update(), core::scoring::AtomNeighbor::weight(), and core::conformation::Residue::xyz().
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 |
References core::scoring::etable::count_pair::CP_CROSSOVER_4, core::conformation::Residue::is_bonded(), core::conformation::Residue::is_DNA(), core::conformation::Residue::is_protein(), core::conformation::Residue::is_pseudo_bonded(), core::conformation::Residue::is_RNA(), and core::conformation::Residue::seqpos().
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] |
This has to go.
Referenced by eval_residue_pair_derivatives(), heavyatom_heavyatom_energy(), heavyatom_hydrogenatom_energy(), hydrogenatom_heavyatom_energy(), and hydrogenatom_hydrogenatom_energy().
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] |
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().
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] |
Returns true if we're using neighborlist-autoupdate.
Reimplemented from core::scoring::methods::EnergyMethod.
Reimplemented in core::scoring::hackelec::HackElecEnergyAroAll, core::scoring::hackelec::HackElecEnergyAroAro, and core::scoring::hackelec::RNAHackElecEnergy.
References core::pose::Pose::energies(), and core::scoring::Energies::use_nblist_auto_update().
void core::scoring::hackelec::HackElecEnergy::prepare_rotamers_for_packing | ( | pose::Pose const & | , |
conformation::RotamerSetBase & | |||
) | const [virtual] |
default implementation noop
Reimplemented from core::scoring::methods::EnergyMethod.
Reimplemented in core::scoring::hackelec::HackElecEnergyAroAll, core::scoring::hackelec::HackElecEnergyAroAro, and core::scoring::hackelec::RNAHackElecEnergy.
References core::scoring::methods::hackelec_method.
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] |
Evaluate the interaction between a given residue pair accumulating the unweighted energies in an EnergyMap.
Implements core::scoring::methods::TwoBodyEnergy.
Reimplemented in core::scoring::hackelec::HackElecEnergyAroAll, core::scoring::hackelec::HackElecEnergyAroAro, and core::scoring::hackelec::RNAHackElecEnergy.
References core::conformation::Residue::attached_H_begin(), core::conformation::Residue::attached_H_end(), core::scoring::etable::count_pair::CP_CROSSOVER_4, core::pose::Pose::energies(), core::scoring::hack_elec, hydrogen_interaction_cutoff2(), core::conformation::Residue::is_bonded(), core::conformation::Residue::is_DNA(), core::conformation::Residue::is_protein(), core::conformation::Residue::is_pseudo_bonded(), core::conformation::Residue::nheavyatoms(), core::conformation::Residue::seqpos(), core::scoring::Energies::use_nblist(), and core::conformation::Residue::xyz().
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] |
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.
Reimplemented in core::scoring::hackelec::HackElecEnergyAroAll, core::scoring::hackelec::HackElecEnergyAroAro, and core::scoring::hackelec::RNAHackElecEnergy.
References core::scoring::hack_elec, core::scoring::hack_elec_bb_bb, core::scoring::hack_elec_bb_sc, core::scoring::hack_elec_sc_sc, core::pose::Pose::update_residue_neighbors(), and core::scoring::ScoreFunction::weights().
void core::scoring::hackelec::HackElecEnergy::setup_for_minimizing | ( | pose::Pose & | pose, |
ScoreFunction const & | sfxn, | ||
kinematics::MinimizerMapBase const & | min_map | ||
) | const [virtual] |
stashes nblist if use_nblist is true
Reimplemented from core::scoring::methods::EnergyMethod.
References core::kinematics::MinimizerMapBase::domain_map(), core::pose::Pose::energies(), core::scoring::EnergiesCacheableDataType::HACKELEC_NBLIST, core::scoring::NeighborList::set_auto_update(), core::scoring::Energies::use_nblist(), core::scoring::Energies::use_nblist_auto_update(), and XX.
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] |
default implementation noop
Reimplemented from core::scoring::methods::EnergyMethod.
Reimplemented in core::scoring::hackelec::HackElecEnergyAroAll, core::scoring::hackelec::HackElecEnergyAroAro, and core::scoring::hackelec::RNAHackElecEnergy.
References core::conformation::Residue::aa(), core::chemical::aa_vrt, core::scoring::Energies::data(), core::pose::Pose::energies(), core::scoring::EnergiesCacheableDataType::HACKELEC_TRIE_COLLECTION, core::pose::Pose::residue(), and core::pose::Pose::total_residue().
void core::scoring::hackelec::HackElecEnergy::setup_for_scoring | ( | pose::Pose & | pose, |
ScoreFunction const & | scfxn | ||
) | const [virtual] |
Reimplemented from core::scoring::methods::EnergyMethod.
Reimplemented in core::scoring::hackelec::HackElecEnergyAroAll, core::scoring::hackelec::HackElecEnergyAroAro, and core::scoring::hackelec::RNAHackElecEnergy.
References core::pose::Pose::energies(), core::scoring::EnergiesCacheableDataType::HACKELEC_NBLIST, core::scoring::Energies::nblist(), core::scoring::NeighborList::prepare_for_scoring(), core::pose::Pose::update_residue_neighbors(), and core::scoring::Energies::use_nblist().
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] |
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::EnergiesCacheableDataType::HACKELEC_TRIE_COLLECTION, and core::pose::Pose::residue().
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.