Rosetta
Public Member Functions | Public Attributes | Protected Member Functions | Private Attributes | List of all members
core::scoring::etable::BaseEtableEnergy< Derived > Class Template Reference

#include <BaseEtableEnergy.hh>

Inheritance diagram for core::scoring::etable::BaseEtableEnergy< Derived >:
Inheritance graph
[legend]

Public Member Functions

 BaseEtableEnergy (methods::EnergyMethodCreatorOP creator, Etable const &etable_in, methods::EnergyMethodOptions const &options, bool const do_classic_intrares_=false)
 construction with an etable More...
 
 BaseEtableEnergy (BaseEtableEnergy< Derived > const &)
 explicit copy constructor, since the BaseEtableEnergy now contains OP data More...
 
bool minimize_in_whole_structure_context (pose::Pose const &) const override
 The neighborlist-autoupdate algorithm requires that the EtableEnergy be able to control the definition and update for its atom-neighbors. This will bypass the standard neighborlist evaluation inside the ScoreFunction, avoiding the use the MinimizationGraph. More...
 
void setup_for_minimizing (pose::Pose &pose, ScoreFunction const &sfxn, kinematics::MinimizerMapBase const &min_map) const override
 stashes nblist if pose.energies().use_nblist_auto_update() is true This is only invoked, now, if the neighborlist-autoupdate flag is on. More...
 
void setup_for_scoring (pose::Pose &pose, ScoreFunction const &scfxn) const override
 check compatibility with atomtypeset More...
 
void setup_for_derivatives (pose::Pose &pose, ScoreFunction const &scfxn) const override
 
void setup_for_packing (pose::Pose &, utility::vector1< bool > const &, utility::vector1< bool > const &) const override
 if an energy method needs to cache data in the Energies object, before packing begins, then it does so during this function. The packer must ensure this function is called. The default behavior is to do nothing. More...
 
void prepare_rotamers_for_packing (pose::Pose const &pose, conformation::RotamerSetBase &set) const override
 If an energy method needs to cache data in a packing::RotamerSet object before rotamer energies are calculated, it does so during this function. The packer must ensure this function is called. The default behavior is to do nothing. More...
 
void update_residue_for_packing (pose::Pose &pose, Size resid) const override
 If the pose changes in the middle of a packing (as happens in rotamer trials) and if an energy method needs to cache data in the pose that corresponds to its current state, then the method must update that data when this function is called. The packer must ensure this function gets called. The default behavior is to do nothing. More...
 
count_pair::CountPairFunctionCOP get_count_pair_function (Size res1, Size res2, pose::Pose const &pose, ScoreFunction const &sfxn) const
 
count_pair::CountPairFunctionCOP get_count_pair_function (conformation::Residue const &res1, conformation::Residue const &res2, pose::Pose const &pose, ScoreFunction const &sfxn) const
 and gets duplicated in a handful of other places within this class... this NEEDS to be reworked. More...
 
count_pair::CountPairFunctionOP get_intrares_countpair (conformation::Residue const &res, pose::Pose const &pose, ScoreFunction const &sfxn) const
 
void residue_pair_energy (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const override
 Evaluate the interaction between a given residue pair accumulating the unweighted energies in an EnergyMap. More...
 
bool use_extended_residue_pair_energy_interface () const override
 APL – note, new. More...
 
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 override
 APL – note, new. More...
 
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 &min_data) const override
 APL – note, new. More...
 
bool requires_a_setup_for_scoring_for_residue_opportunity_during_minimization (pose::Pose const &pose) const override
 Does this EnergyMethod require the opportunity to examine the residue before scoring begins? Not all energy methods would. The ScoreFunction will not ask energy methods to examine residues that are uninterested in doing so. More...
 
void setup_for_scoring_for_residue (conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &, ResSingleMinimizationData &min_data) const override
 Do any setup work should the coordinates of this residue (who is still guaranteed to be of the same residue type as when setup_for_minimizing_for_residue was called) have changed so dramatically as to possibly require some amount of setup work before scoring should proceed. This function is used for both intra-residue setup and pre-inter-residue setup. More...
 
bool requires_a_setup_for_derivatives_for_residue_opportunity (pose::Pose const &pose) const override
 Does this EnergyMethod require the opportunity to examine each residue before derivative evaluation begins? Not all energy methods would. The ScoreFunction will not ask energy methods to examine residue pairs that are uninterested in doing so. More...
 
void setup_for_derivatives_for_residue (conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &, ResSingleMinimizationData &min_data, basic::datacache::BasicDataCache &) const override
 Do any setup work necessary before evaluating the derivatives for this residue. More...
 
bool requires_a_setup_for_scoring_for_residue_pair_opportunity (pose::Pose const &pose) const override
 Does this EnergyMethod require the opportunity to examine each residue pair before scoring begins? Not all energy methods would. The ScoreFunction will not ask energy methods to examine residue pairs that are uninterested in doing so. More...
 
void setup_for_scoring_for_residue_pair (conformation::Residue const &rsd1, conformation::Residue const &rsd2, ResSingleMinimizationData const &minsingle_data1, ResSingleMinimizationData const &minsingle_data2, pose::Pose const &pose, ScoreFunction const &, ResPairMinimizationData &data_cache) const override
 Do any setup work should the coordinates of a pair of residues, who are still guaranteed to be of the same residue type as when setup_for_minimizing_for_residue was called, have changed so dramatically as to possibly require some amount of setup work before scoring should proceed. More...
 
bool requires_a_setup_for_derivatives_for_residue_pair_opportunity (pose::Pose const &pose) const override
 Does this EnergyMethod require the opportunity to examine each residue pair before derivative evaluation begins? Not all energy methods would. The ScoreFunction will not ask energy methods to examine residue pairs that are uninterested in doing so. More...
 
void setup_for_derivatives_for_residue_pair (conformation::Residue const &rsd1, conformation::Residue const &rsd2, ResSingleMinimizationData const &minsingle_data1, ResSingleMinimizationData const &minsingle_data2, pose::Pose const &pose, ScoreFunction const &, ResPairMinimizationData &data_cache) const override
 Do any setup work necessary before evaluating the derivatives for this residue pair. More...
 
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_at_derivs, utility::vector1< DerivVectorPair > &r2_at_derivs) const override
 APL – note, new. More...
 
void backbone_backbone_energy (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const override
 Evaluates the interaction between the backbone of rsd1 and the backbone of rsd2 and accumulates the unweighted energy. More...
 
void backbone_sidechain_energy (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const override
 Evaluates the interaction between the backbone of rsd1 and the sidechain of rsd2 and accumulates the unweighted energy. More...
 
void sidechain_sidechain_energy (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const override
 Evaluates the interaction between the sidechain of rsd1 and the sidechain of rsd2 and accumulates the unweighted energy. More...
 
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 override
 Batch computation of rotamer pair energies. Need not be overriden in derived class – by default, iterates over all pairs of rotamers, and calls the derived class's residue_pair_energy method. More...
 
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 override
 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 rotamr. More...
 
bool use_extended_intrares_energy_interface () const override
 APL – note, new. More...
 
void eval_intrares_energy_ext (conformation::Residue const &rsd, ResSingleMinimizationData const &min_data, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const override
 APL – note, new. More...
 
void setup_for_minimizing_for_residue (conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &sfxn, kinematics::MinimizerMapBase const &minmap, basic::datacache::BasicDataCache &, ResSingleMinimizationData &min_data) const override
 APL – note, new. More...
 
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 override
 Evaluate the derivative for the intra-residue component of this energy method for all the atoms in a residue in the context of a particular pose, and increment the F1 and F2 vectors held in the atom_derivs vector1. 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 ResSingleMinimizationData object for the given residue in a call to prepare_for_minimization before this function is invoked. The calling function must also guarantee that there are at least as many entries in the atom_derivs vector1 as there are atoms in the input rsd. More...
 
void bump_energy_full (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const override
 
void bump_energy_backbone (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const override
 
void finalize_total_energy (pose::Pose &pose, ScoreFunction const &, EnergyMap &totals) const override
 called at the end of energy evaluation More...
 
void eval_atom_derivative (id::AtomID const &id, pose::Pose const &pose, kinematics::DomainMap const &, ScoreFunction const &sfxn, EnergyMap const &weights, Vector &F1, Vector &F2) const override
 called during gradient-based minimization inside dfunc More...
 
bool has_atomistic_pairwise_energies () const override
 
void atomistic_pair_energy (core::Size, conformation::Residue const &, core::Size, conformation::Residue const &, pose::Pose const &, ScoreFunction const &sfxn, EnergyMap &) const override
 
void prepare_for_residue_pair (Size const res1, Size const res2, pose::Pose const &pose) const
 Should/Could these inlined" in a separate .inline.hh? More...
 
void atom_pair_energy (conformation::Atom const &atom1, conformation::Atom const &atom2, Real const weight, EnergyMap &emap, Real &dsq) const
 
void atom_pair_energy (conformation::Atom const &atom1, conformation::Atom const &atom2, Real const weight, Energy &atr, Energy &rep, Energy &solv, Energy &bb, Real &dsq) const
 for the trie-vs-trie algorithm; could test if the other atom pair energy function could inline this function to avoid the table reading code duplication. More...
 
void atom_pair_energy (conformation::Atom const &atom1, conformation::Atom const &atom2, Real const weight, AtomPairEnergy &ape) const
 APL – consider reinstating this function! More...
 
void pair_energy_H (conformation::Atom const &atom1, conformation::Atom const &atom2, Real weight, EnergyMap &emap) const
 APL – Consider reinstating this function! More...
 
Real hydrogen_interaction_cutoff2 () const
 
Distance atomic_interaction_cutoff () const override
 Etable atomic distance cutoff is 5.5 A. More...
 
bool divides_backbone_and_sidechain_energetics () const override
 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. More...
 
void indicate_required_context_graphs (utility::vector1< bool > &) const override
 Indicate in the context-graphs-required list which context-graphs this energy method requires that the Pose maintain when doing neighbor evaluation. Context graphs are allowed. More...
 
EnergiesCacheableDataType::Enum nblist_type () const
 
min_single_data min_single_data_type () const
 
min_pair_data min_pair_data_type () const
 
bool calculate_interres (core::conformation::Residue const &rsd1, core::conformation::Residue const &rsd2) const
 
bool calculate_intrares (core::conformation::Residue const &rsd) const
 
- Public Member Functions inherited from core::scoring::methods::ContextIndependentTwoBodyEnergy
 ContextIndependentTwoBodyEnergy (EnergyMethodCreatorOP)
 Constructor with an EnergyMethodCreator to inform the ancestor EnergyMethod class which ScoreTypes this EnergyMethod is responsible for computing. More...
 
 ~ContextIndependentTwoBodyEnergy () override
 
EnergyMethodType method_type () const override
 Return one of the 7 kinds of energy methods that exist: e.g. context-dependent-one-body vs whole-structure. More...
 
- Public Member Functions inherited from core::scoring::methods::ShortRangeTwoBodyEnergy
 ShortRangeTwoBodyEnergy (EnergyMethodCreatorOP)
 Constructor with EnergyMethodCreator to provide to the EnergyMethod grandparent the list of the ScoreTypes this EnergyMethod is responsible for computing. More...
 
 ~ShortRangeTwoBodyEnergy () override
 
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 override
 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. More...
 
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 override
 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. More...
 
void evaluate_rotamer_background_energy_maps (conformation::RotamerSetBase const &set, conformation::Residue const &residue, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap const &weights, utility::vector1< EnergyMap > &emaps) const override
 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. More...
 
- Public Member Functions inherited from core::scoring::methods::TwoBodyEnergy
 TwoBodyEnergy (EnergyMethodCreatorOP)
 Constructor, requiring an EnergyMethodCreator. No default constructor provided to force EnergyMethod writers to provide an energy-method-creator at construction time. More...
 
 ~TwoBodyEnergy () override
 
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. More...
 
virtual bool defines_intrares_energy (EnergyMap const &weights) const =0
 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. More...
 
virtual void eval_intrares_energy (conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const =0
 Evaluate the intra-residue energy for a given residue. More...
 
virtual bool defines_intrares_energy_for_residue (conformation::Residue const &res) const
 If a score function defines no intra-residue scores for a particular residue, then it may opt-out of being asked during minimization to evaluate the score for this residue. More...
 
virtual bool defines_intrares_dof_derivatives (pose::Pose const &p) const
 Use the dof_derivative interface for this energy method when calculating derivatives? It is possible to define both dof_derivatives and atom-derivatives; they are not mutually exclusive. More...
 
virtual utility::vector1< id::PartialAtomIDatoms_with_dof_derivatives (conformation::Residue const &res, pose::Pose const &p) const
 For a particular residue, list which atoms go into defining the DOF derivatives, including any atoms on adjacent residues. The Pose is provided for context, but there is no requirement that res be a member of that Pose. More...
 
virtual Real eval_intraresidue_dof_derivative (conformation::Residue const &rsd, ResSingleMinimizationData const &min_data, id::DOF_ID const &dof_id, id::TorsionID const &torsion_id, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap const &weights) const
 Evaluate the DOF derivative for a particular residue. The Pose merely serves as context, and the input residue is not required to be a member of the Pose. More...
 
virtual void evaluate_rotamer_intrares_energies (conformation::RotamerSetBase const &set, pose::Pose const &pose, ScoreFunction const &sfxn, utility::vector1< core::PackerEnergy > &energies) const
 Batch computation of rotamer intrares energies. Need not be overriden in derived class – by default, iterates over all rotamers, and calls derived class's intrares _energy method. More...
 
virtual void evaluate_rotamer_intrares_energy_maps (conformation::RotamerSetBase const &set, pose::Pose const &pose, ScoreFunction const &sfxn, utility::vector1< EnergyMap > &emaps) const
 Batch computation of rotamer intrares energy map. Need not be overriden in derived class – by default, iterates over all rotamers, and calls derived class's intrares _energy method. More...
 
virtual void setup_for_scoring_for_residue (conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &sfxn, basic::datacache::BasicDataCache &residue_data_cache) const
 Do any setup work before scoring, caching any slow-to-compute data that will be used during energy evaluation inside of the input Residue object's data cache. (The Residue on the whole is given as a constant reference, but non-constant access to its data cache is granted.) More...
 
- Public Member Functions inherited from core::scoring::methods::EnergyMethod
 EnergyMethod (EnergyMethodCreatorOP creator)
 Constructor with EnergyMethodCreator, which lists the score types that this energy method is responsible for. More...
 
virtual EnergyMethodOP clone () const =0
 
virtual void setup_for_packing_with_rotsets (pose::Pose &pose, pack_basic::RotamerSetsBaseOP const &rotsets, ScoreFunction const &sfxn) const
 if an energy method needs to cache data in the Energies object, before packing begins and requires access to the RotamerSets object, then it does so during this function. The default behavior is to do nothing. More...
 
virtual bool requires_a_setup_for_scoring_for_residue_opportunity_during_regular_scoring (pose::Pose const &pose) const
 Does this EnergyMethod require the opportunity to examine the residue before (regular) scoring begins? Not all energy methods would. The ScoreFunction will not ask energy methods to examine residues that are uninterested in doing so. The default implmentation of this function returns false. More...
 
virtual void setup_for_scoring_for_residue (conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &sfxn, basic::datacache::BasicDataCache &residue_data_cache) const
 Do any setup work before scoring, caching any slow-to-compute data that will be used during energy evaluation inside of the input Residue object's data cache. (The Residue on the whole is given as a constant reference, but non-constant access to its data cache is granted.) More...
 
virtual void finalize_after_minimizing (pose::Pose &pose) const
 Called after minimization, allowing a derived class to do some teardown steps. More...
 
virtual void finalize_after_derivatives (pose::Pose &, ScoreFunction const &) const
 called at the end of derivatives evaluation More...
 
virtual bool defines_high_order_terms (pose::Pose const &) const
 Should this EnergyMethod have score and derivative evaluation evaluated both in the context of the whole Pose and in the context of residue or residue-pairs? This covers scoring terms like env-smooth wherein the CBeta's get derivatives for increasing the neighbor counts for surrounding residues, and terms like constraints, which are definable on arbitrary number of residues (e.g. more than 2); both of these terms could be used in RTMin, and both should use the residue and residue-pair evaluation scheme with the MinimizationGraph for the majority of the work they do. (Now, high-order constraints (3-body or above) will not be properly evaluated within RTMin.). The default implementation returns "false". More...
 
virtual bool has_atomistic_energies () const
 Does this EnergyMethod have a non-trivial implementation of the (one body) atomistic energy method? Note that this may return false even if the score term theoretically could support atomistic energies. And even if this function returns true, it's not necessarily the case that all atoms will get assigned an energy, or that the sum over all atoms (or atom pairs) will result in the same energy as the residue-level approach. The atomistic functions are intended for supplemental informational purposes only. The residue-level energies are the main interface for EnergyMethods. More...
 
virtual void atomistic_energy (core::Size atmno, conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &scorefxn, EnergyMap &emap) const
 Evaluate the (one body) energy associated with a particular atom This may be a "self" energy, or it may be the single atom contribution from a whole structure term. NOTE: all the cautions of EnergyMethod::has_atomistic_energies() apply here. For most terms this is likely a no-op. Terms which implement this non-trivially should return true from has_atomistic_energies() More...
 
ScoreTypes const & score_types () const
 Returns the score types that this energy method computes. More...
 
virtual core::Size version () const =0
 Return the version of the energy method. More...
 
virtual void show_additional_info (std::ostream &, pose::Pose &, bool) const
 show additional information of the energy method More...
 
virtual void provide_citation_info (basic::citation_manager::CitationCollectionList &) const
 Provide citations to the passed CitationCollectionList Subclasses should add the info for themselves and any other classes they use. More...
 

Public Attributes

 __pad0__:ContextIndependentTwoBodyEnergy parent
 
 __pad1__:EnergyMethodOP EnergyMethodOP
 

Protected Member Functions

trie::TrieCountPairBaseOP get_count_pair_function_trie (conformation::RotamerSetBase const &set1, conformation::RotamerSetBase const &set2, pose::Pose const &pose, ScoreFunction const &sfxn) const
 figure out the trie count pair function to use Need to refactor this so that the decision "what kind of count pair behavior should I use" can be decoupled from class instantiation, and therefore shared between the creation of the trie count pair classes and the regular count pair classes More...
 
trie::TrieCountPairBaseOP get_count_pair_function_trie (conformation::Residue const &res1, conformation::Residue const &res2, trie::RotamerTrieBaseCOP trie1, trie::RotamerTrieBaseCOP trie2, pose::Pose const &pose, ScoreFunction const &sfxn) const
 
count_pair::CPCrossoverBehavior determine_crossover_behavior (conformation::Residue const &res1, conformation::Residue const &res2, pose::Pose const &, ScoreFunction const &sfxn) const
 
etrie::EtableRotamerTrieOP create_rotamer_trie (conformation::RotamerSetBase const &rotset, pose::Pose const &pose) const
 create a rotamer trie for a particular set, deciding upon the kind of count pair data that needs to be contained by the trie. More...
 
etrie::EtableRotamerTrieOP create_rotamer_trie (conformation::Residue const &residue, pose::Pose const &) const
 
etrie::EtableRotamerTrieOP create_rotamer_trie_2 (conformation::RotamerSetBase const &rotset) const
 
etrie::EtableRotamerTrieOP create_rotamer_trie_1 (conformation::RotamerSetBase const &rotset, Size connection_type) const
 
Real eval_dE_dR_over_r_ (conformation::Atom const &atom1, conformation::Atom const &atom2, EnergyMap const &weights, Vector &f1, Vector &f2) const
 
void derived_prepare_for_residue_pair (Size const, Size const, pose::Pose const &) const
 
bool calculate_intra_xover4 (core::conformation::Residue const &rsd) const
 
bool interpolate_bins (conformation::Atom const &atom1, conformation::Atom const &atom2, Real &d2, int &disbin, Real &frac) const
 
ScoreType rep_scoretype () const
 
Etable const & etable () const
 
bool do_classic_intrares () const
 
bool count_pair_hybrid () const
 
bool count_pair_full () const
 
bool put_intra_into_total () const
 
- Protected Member Functions inherited from core::scoring::methods::EnergyMethod
void set_score_types (EnergyMethodCreatorOP creator)
 Override the entirety of the score types list if they were initialized incorrectly in a parent's constructor. More...
 

Private Attributes

Etable const & etable_
 
Real safe_max_dis2
 
Real hydrogen_interaction_cutoff2_
 
bool exclude_DNA_DNA_
 
bool do_classic_intrares_
 
bool count_pair_hybrid_
 
bool count_pair_full_
 
bool put_intra_into_total_
 
bool exclude_intra_res_protein_
 

Additional Inherited Members

- Public Types inherited from core::scoring::methods::ContextIndependentTwoBodyEnergy
typedef ShortRangeTwoBodyEnergy parent
 
- Public Types inherited from core::scoring::methods::ShortRangeTwoBodyEnergy
typedef TwoBodyEnergy parent
 
- Public Types inherited from core::scoring::methods::TwoBodyEnergy
typedef EnergyMethod parent
 
- Public Types inherited from core::scoring::methods::EnergyMethod
typedef utility::VirtualBase parent
 

Constructor & Destructor Documentation

◆ BaseEtableEnergy() [1/2]

template<class Derived >
core::scoring::etable::BaseEtableEnergy< Derived >::BaseEtableEnergy ( methods::EnergyMethodCreatorOP  creator,
Etable const &  etable_in,
methods::EnergyMethodOptions const &  options,
bool const  do_classic_intrares_ = false 
)

construction with an etable

◆ BaseEtableEnergy() [2/2]

template<class Derived >
core::scoring::etable::BaseEtableEnergy< Derived >::BaseEtableEnergy ( BaseEtableEnergy< Derived > const &  src)

explicit copy constructor, since the BaseEtableEnergy now contains OP data

an explicit copy constructor is required so that the etable_evaluator_ instance, which is held in an owning pointer, is not shared between multiple instances of this (or rather the derived) class.

Member Function Documentation

◆ atom_pair_energy() [1/3]

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::atom_pair_energy ( conformation::Atom const &  atom1,
conformation::Atom const &  atom2,
Real const  weight,
AtomPairEnergy ape 
) const
inline

◆ atom_pair_energy() [2/3]

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::atom_pair_energy ( conformation::Atom const &  atom1,
conformation::Atom const &  atom2,
Real const  weight,
Energy atr,
Energy rep,
Energy solv,
Energy bb,
Real dsq 
) const
inline

for the trie-vs-trie algorithm; could test if the other atom pair energy function could inline this function to avoid the table reading code duplication.

◆ atom_pair_energy() [3/3]

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::atom_pair_energy ( conformation::Atom const &  atom1,
conformation::Atom const &  atom2,
Real const  weight,
EnergyMap emap,
Real dsq 
) const
inline

◆ atomic_interaction_cutoff()

template<class Derived >
Distance core::scoring::etable::BaseEtableEnergy< Derived >::atomic_interaction_cutoff
overridevirtual

Etable atomic distance cutoff is 5.5 A.

return the Etables atomic distance cutoff

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

References core::chemical::MAX_CHEMICAL_BOND_TO_HYDROGEN_LENGTH.

◆ atomistic_pair_energy()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::atomistic_pair_energy ( core::Size  atm1,
conformation::Residue const &  rsd1,
core::Size  atm2,
conformation::Residue const &  rsd2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const
overridevirtual

◆ backbone_backbone_energy()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::backbone_backbone_energy ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const
overridevirtual

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

do not use this during minimization

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

References core::scoring::etable::count_pair::CountPairFactory::create_count_pair_function_and_invoke(), protocols::ligand_docking::ga_ligand_dock::crossover(), core::pose::Pose::energies(), and core::scoring::Energies::use_nblist().

◆ backbone_sidechain_energy()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::backbone_sidechain_energy ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const
overridevirtual

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

do not use this during minimization

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

References core::scoring::etable::count_pair::CountPairFactory::create_count_pair_function_and_invoke(), protocols::ligand_docking::ga_ligand_dock::crossover(), core::pose::Pose::energies(), and core::scoring::Energies::use_nblist().

◆ bump_energy_backbone()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::bump_energy_backbone ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const
overridevirtual

◆ bump_energy_full()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::bump_energy_full ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const
overridevirtual

◆ calculate_interres()

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::calculate_interres ( core::conformation::Residue const &  rsd1,
core::conformation::Residue const &  rsd2 
) const
inline

◆ calculate_intra_xover4()

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::calculate_intra_xover4 ( core::conformation::Residue const &  rsd) const
inlineprotected

◆ calculate_intrares()

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::calculate_intrares ( core::conformation::Residue const &  rsd) const
inline

◆ count_pair_full()

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::count_pair_full ( ) const
inlineprotected

◆ count_pair_hybrid()

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::count_pair_hybrid ( ) const
inlineprotected

◆ create_rotamer_trie() [1/2]

template<class Derived >
etrie::EtableRotamerTrieOP core::scoring::etable::BaseEtableEnergy< Derived >::create_rotamer_trie ( conformation::Residue const &  residue,
pose::Pose const &   
) const
protected

◆ create_rotamer_trie() [2/2]

template<class Derived >
etrie::EtableRotamerTrieOP core::scoring::etable::BaseEtableEnergy< Derived >::create_rotamer_trie ( conformation::RotamerSetBase const &  rotset,
pose::Pose const &  pose 
) const
protected

create a rotamer trie for a particular set, deciding upon the kind of count pair data that needs to be contained by the trie.

References core::scoring::trie::create_cpdata_correspondence_for_rotamerset(), and core::scoring::trie::create_trie().

◆ create_rotamer_trie_1()

template<class Derived >
etrie::EtableRotamerTrieOP core::scoring::etable::BaseEtableEnergy< Derived >::create_rotamer_trie_1 ( conformation::RotamerSetBase const &  rotset,
Size  connection_type 
) const
protected

◆ create_rotamer_trie_2()

template<class Derived >
etrie::EtableRotamerTrieOP core::scoring::etable::BaseEtableEnergy< Derived >::create_rotamer_trie_2 ( conformation::RotamerSetBase const &  rotset) const
protected

◆ derived_prepare_for_residue_pair()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::derived_prepare_for_residue_pair ( Size const  ,
Size const  ,
pose::Pose const &   
) const
inlineprotected

◆ determine_crossover_behavior()

template<class Derived >
count_pair::CPCrossoverBehavior core::scoring::etable::BaseEtableEnergy< Derived >::determine_crossover_behavior ( conformation::Residue const &  res1,
conformation::Residue const &  res2,
pose::Pose const &  ,
ScoreFunction const &  sfxn 
) const
protected

◆ divides_backbone_and_sidechain_energetics()

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::divides_backbone_and_sidechain_energetics ( ) const
inlineoverridevirtual

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.

◆ do_classic_intrares()

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::do_classic_intrares ( ) const
inlineprotected

◆ etable()

template<class Derived >
Etable const& core::scoring::etable::BaseEtableEnergy< Derived >::etable ( ) const
inlineprotected

◆ eval_atom_derivative()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::eval_atom_derivative ( id::AtomID const &  id,
pose::Pose const &  pose,
kinematics::DomainMap const &  ,
ScoreFunction const &  sfxn,
EnergyMap const &  weights,
Vector F1,
Vector F2 
) const
overridevirtual

◆ eval_dE_dR_over_r_()

template<class Derived >
Real core::scoring::etable::BaseEtableEnergy< Derived >::eval_dE_dR_over_r_ ( conformation::Atom const &  atom1,
conformation::Atom const &  atom2,
EnergyMap const &  weights,
Vector f1,
Vector f2 
) const
inlineprotected

◆ eval_intrares_derivatives()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::eval_intrares_derivatives ( conformation::Residue const &  rsd,
ResSingleMinimizationData const &  min_data,
pose::Pose const &  pose,
EnergyMap const &  weights,
utility::vector1< DerivVectorPair > &  atom_derivs 
) const
overridevirtual

Evaluate the derivative for the intra-residue component of this energy method for all the atoms in a residue in the context of a particular pose, and increment the F1 and F2 vectors held in the atom_derivs vector1. 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 ResSingleMinimizationData object for the given residue in a call to prepare_for_minimization before this function is invoked. The calling function must also guarantee that there are at least as many entries in the atom_derivs vector1 as there are atoms in the input rsd.

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

References core::conformation::Residue::atom(), core::scoring::ResidueNblistData::atom_neighbors(), core::pose::Pose::energies(), core::scoring::ResSingleMinimizationData::get_data(), core::scoring::ResSingleMinimizationData::get_data_ref(), core::conformation::Residue::is_peptoid(), core::conformation::Residue::is_protein(), and core::scoring::Energies::use_nblist_auto_update().

◆ eval_intrares_energy_ext()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::eval_intrares_energy_ext ( conformation::Residue const &  rsd,
ResSingleMinimizationData const &  min_data,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const
overridevirtual

◆ eval_residue_pair_derivatives()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::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_at_derivs,
utility::vector1< DerivVectorPair > &  r2_at_derivs 
) const
overridevirtual

◆ evaluate_rotamer_background_energies()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::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
overridevirtual

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 rotamr.

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

References core::scoring::Energies::data(), core::pose::Pose::energies(), core::scoring::methods::etable_method, core::scoring::EnergiesCacheableDataType::ETABLE_TRIE_COLLECTION, core::conformation::Residue::name(), core::pose::Pose::residue(), and core::conformation::Residue::seqpos().

◆ evaluate_rotamer_pair_energies()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::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
overridevirtual

Batch computation of rotamer pair energies. Need not be overriden in derived class – by default, iterates over all pairs of rotamers, and calls the derived class's residue_pair_energy method.

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

References core::scoring::methods::etable_method, core::conformation::RotamerSetBase::get_trie(), and core::conformation::RotamerSetBase::resid().

◆ finalize_total_energy()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::finalize_total_energy ( pose::Pose pose,
ScoreFunction const &  ,
EnergyMap totals 
) const
overridevirtual

called at the end of energy evaluation

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

◆ get_count_pair_function() [1/2]

template<class Derived >
count_pair::CountPairFunctionCOP core::scoring::etable::BaseEtableEnergy< Derived >::get_count_pair_function ( conformation::Residue const &  res1,
conformation::Residue const &  res2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn 
) const

and gets duplicated in a handful of other places within this class... this NEEDS to be reworked.

References protocols::ligand_docking::ga_ligand_dock::crossover().

◆ get_count_pair_function() [2/2]

template<class Derived >
count_pair::CountPairFunctionCOP core::scoring::etable::BaseEtableEnergy< Derived >::get_count_pair_function ( Size  res1,
Size  res2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn 
) const

◆ get_count_pair_function_trie() [1/2]

template<class Derived >
trie::TrieCountPairBaseOP core::scoring::etable::BaseEtableEnergy< Derived >::get_count_pair_function_trie ( conformation::Residue const &  res1,
conformation::Residue const &  res2,
trie::RotamerTrieBaseCOP  trie1,
trie::RotamerTrieBaseCOP  trie2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn 
) const
protected

◆ get_count_pair_function_trie() [2/2]

template<class Derived >
trie::TrieCountPairBaseOP core::scoring::etable::BaseEtableEnergy< Derived >::get_count_pair_function_trie ( conformation::RotamerSetBase const &  set1,
conformation::RotamerSetBase const &  set2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn 
) const
protected

figure out the trie count pair function to use Need to refactor this so that the decision "what kind of count pair behavior should I use" can be decoupled from class instantiation, and therefore shared between the creation of the trie count pair classes and the regular count pair classes

References core::scoring::methods::etable_method, core::conformation::RotamerSetBase::get_trie(), core::conformation::RotamerSetBase::resid(), and core::pose::Pose::residue().

◆ get_intrares_countpair()

template<class Derived >
count_pair::CountPairFunctionOP core::scoring::etable::BaseEtableEnergy< Derived >::get_intrares_countpair ( conformation::Residue const &  res,
pose::Pose const &  pose,
ScoreFunction const &  sfxn 
) const

◆ has_atomistic_pairwise_energies()

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::has_atomistic_pairwise_energies ( ) const
inlineoverridevirtual

Has pairwise energies, but not single-atom ones.

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

◆ hydrogen_interaction_cutoff2()

template<class Derived >
Real core::scoring::etable::BaseEtableEnergy< Derived >::hydrogen_interaction_cutoff2 ( ) const
inline

◆ indicate_required_context_graphs()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::indicate_required_context_graphs ( utility::vector1< bool > &  context_graphs_required) const
overridevirtual

Indicate in the context-graphs-required list which context-graphs this energy method requires that the Pose maintain when doing neighbor evaluation. Context graphs are allowed.

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

◆ interpolate_bins()

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::interpolate_bins ( conformation::Atom const &  atom1,
conformation::Atom const &  atom2,
Real d2,
int &  disbin,
Real frac 
) const
protected

◆ min_pair_data_type()

template<class Derived >
min_pair_data core::scoring::etable::BaseEtableEnergy< Derived >::min_pair_data_type ( ) const
inline

◆ min_single_data_type()

template<class Derived >
min_single_data core::scoring::etable::BaseEtableEnergy< Derived >::min_single_data_type ( ) const
inline

◆ minimize_in_whole_structure_context()

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::minimize_in_whole_structure_context ( pose::Pose const &  pose) const
overridevirtual

The neighborlist-autoupdate algorithm requires that the EtableEnergy be able to control the definition and update for its atom-neighbors. This will bypass the standard neighborlist evaluation inside the ScoreFunction, avoiding the use the MinimizationGraph.

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

◆ nblist_type()

template<class Derived >
EnergiesCacheableDataType::Enum core::scoring::etable::BaseEtableEnergy< Derived >::nblist_type ( ) const
inline

◆ pair_energy_H()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::pair_energy_H ( conformation::Atom const &  atom1,
conformation::Atom const &  atom2,
Real  weight,
EnergyMap emap 
) const
inline

APL – Consider reinstating this function!

◆ prepare_for_residue_pair()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::prepare_for_residue_pair ( Size const  res1,
Size const  res2,
pose::Pose const &  pose 
) const
inline

Should/Could these inlined" in a separate .inline.hh?

References core::scoring::etable::BaseEtableEnergy< Derived >::derived_prepare_for_residue_pair().

◆ prepare_rotamers_for_packing()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::prepare_rotamers_for_packing ( pose::Pose const &  ,
conformation::RotamerSetBase  
) const
overridevirtual

If an energy method needs to cache data in a packing::RotamerSet object before rotamer energies are calculated, it does so during this function. The packer must ensure this function is called. The default behavior is to do nothing.

default implementation noop

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

References core::scoring::methods::etable_method.

◆ put_intra_into_total()

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::put_intra_into_total ( ) const
inlineprotected

◆ rep_scoretype()

template<class Derived >
ScoreType core::scoring::etable::BaseEtableEnergy< Derived >::rep_scoretype ( ) const
protected

◆ requires_a_setup_for_derivatives_for_residue_opportunity()

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::requires_a_setup_for_derivatives_for_residue_opportunity ( pose::Pose const &  pose) const
overridevirtual

Does this EnergyMethod require the opportunity to examine each residue before derivative evaluation begins? Not all energy methods would. The ScoreFunction will not ask energy methods to examine residue pairs that are uninterested in doing so.

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

◆ requires_a_setup_for_derivatives_for_residue_pair_opportunity()

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::requires_a_setup_for_derivatives_for_residue_pair_opportunity ( pose::Pose const &  pose) const
overridevirtual

Does this EnergyMethod require the opportunity to examine each residue pair before derivative evaluation begins? Not all energy methods would. The ScoreFunction will not ask energy methods to examine residue pairs that are uninterested in doing so.

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

◆ requires_a_setup_for_scoring_for_residue_opportunity_during_minimization()

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::requires_a_setup_for_scoring_for_residue_opportunity_during_minimization ( pose::Pose const &  pose) const
overridevirtual

Does this EnergyMethod require the opportunity to examine the residue before scoring begins? Not all energy methods would. The ScoreFunction will not ask energy methods to examine residues that are uninterested in doing so.

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

◆ requires_a_setup_for_scoring_for_residue_pair_opportunity()

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::requires_a_setup_for_scoring_for_residue_pair_opportunity ( pose::Pose const &  pose) const
overridevirtual

Does this EnergyMethod require the opportunity to examine each residue pair before scoring begins? Not all energy methods would. The ScoreFunction will not ask energy methods to examine residue pairs that are uninterested in doing so.

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

◆ residue_pair_energy()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::residue_pair_energy ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const
overridevirtual

◆ residue_pair_energy_ext()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::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
overridevirtual

◆ setup_for_derivatives()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::setup_for_derivatives ( pose::Pose pose,
ScoreFunction const &  scfxn 
) const
overridevirtual

Make sure that the neighborlist is up-to-date bfore evaluating derivatives

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

◆ setup_for_derivatives_for_residue()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::setup_for_derivatives_for_residue ( conformation::Residue const &  rsd,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
ResSingleMinimizationData min_data,
basic::datacache::BasicDataCache &   
) const
overridevirtual

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

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

◆ setup_for_derivatives_for_residue_pair()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::setup_for_derivatives_for_residue_pair ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
ResSingleMinimizationData const &  minsingle_data1,
ResSingleMinimizationData const &  minsingle_data2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
ResPairMinimizationData data_cache 
) const
overridevirtual

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

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

◆ setup_for_minimizing()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::setup_for_minimizing ( pose::Pose pose,
ScoreFunction const &  sfxn,
kinematics::MinimizerMapBase const &  min_map 
) const
overridevirtual

stashes nblist if pose.energies().use_nblist_auto_update() is true This is only invoked, now, if the neighborlist-autoupdate flag is on.

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

◆ setup_for_minimizing_for_residue()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::setup_for_minimizing_for_residue ( conformation::Residue const &  rsd,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
kinematics::MinimizerMapBase const &  minmap,
basic::datacache::BasicDataCache &  ,
ResSingleMinimizationData min_data 
) const
overridevirtual

◆ setup_for_minimizing_for_residue_pair()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::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 min_data 
) const
overridevirtual

◆ setup_for_packing()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::setup_for_packing ( pose::Pose ,
utility::vector1< bool > const &  ,
utility::vector1< bool > const &   
) const
overridevirtual

if an energy method needs to cache data in the Energies object, before packing begins, then it does so during this function. The packer must ensure this function is called. The default behavior is to do nothing.

default implementation noop

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

References core::conformation::Residue::aa(), core::chemical::aa_vrt, core::scoring::Energies::data(), core::pose::Pose::energies(), core::scoring::EnergiesCacheableDataType::ETABLE_TRIE_COLLECTION, core::pose::Pose::residue(), and core::pose::Pose::size().

◆ setup_for_scoring()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::setup_for_scoring ( pose::Pose pose,
ScoreFunction const &  scfxn 
) const
overridevirtual

check compatibility with atomtypeset

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

◆ setup_for_scoring_for_residue()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::setup_for_scoring_for_residue ( conformation::Residue const &  rsd,
pose::Pose const &  pose,
ScoreFunction const &  ,
ResSingleMinimizationData min_data 
) const
overridevirtual

Do any setup work should the coordinates of this residue (who is still guaranteed to be of the same residue type as when setup_for_minimizing_for_residue was called) have changed so dramatically as to possibly require some amount of setup work before scoring should proceed. This function is used for both intra-residue setup and pre-inter-residue setup.

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

◆ setup_for_scoring_for_residue_pair()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::setup_for_scoring_for_residue_pair ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
ResSingleMinimizationData const &  minsingle_data1,
ResSingleMinimizationData const &  minsingle_data2,
pose::Pose const &  pose,
ScoreFunction const &  ,
ResPairMinimizationData data_cache 
) const
overridevirtual

Do any setup work should the coordinates of a pair of residues, who are still guaranteed to be of the same residue type as when setup_for_minimizing_for_residue was called, have changed so dramatically as to possibly require some amount of setup work before scoring should proceed.

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

◆ sidechain_sidechain_energy()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::sidechain_sidechain_energy ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const
overridevirtual

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

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

References core::scoring::etable::count_pair::CountPairFactory::create_count_pair_function_and_invoke(), protocols::ligand_docking::ga_ligand_dock::crossover(), core::pose::Pose::energies(), and core::scoring::Energies::use_nblist().

◆ update_residue_for_packing()

template<class Derived >
void core::scoring::etable::BaseEtableEnergy< Derived >::update_residue_for_packing ( pose::Pose ,
Size  resid 
) const
overridevirtual

If the pose changes in the middle of a packing (as happens in rotamer trials) and if an energy method needs to cache data in the pose that corresponds to its current state, then the method must update that data when this function is called. The packer must ensure this function gets called. The default behavior is to do nothing.

default implementation noop

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

References core::scoring::Energies::data(), core::pose::Pose::energies(), core::scoring::EnergiesCacheableDataType::ETABLE_TRIE_COLLECTION, and core::pose::Pose::residue().

◆ use_extended_intrares_energy_interface()

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::use_extended_intrares_energy_interface
overridevirtual

APL – note, new.

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

◆ use_extended_residue_pair_energy_interface()

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::use_extended_residue_pair_energy_interface
overridevirtual

APL – note, new.

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

Member Data Documentation

◆ __pad0__

template<class Derived >
core::scoring::etable::BaseEtableEnergy< Derived >::__pad0__

◆ __pad1__

template<class Derived >
core::scoring::etable::BaseEtableEnergy< Derived >::__pad1__

◆ count_pair_full_

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::count_pair_full_
private

◆ count_pair_hybrid_

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::count_pair_hybrid_
private

◆ do_classic_intrares_

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::do_classic_intrares_
private

◆ etable_

template<class Derived >
Etable const& core::scoring::etable::BaseEtableEnergy< Derived >::etable_
private

◆ exclude_DNA_DNA_

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::exclude_DNA_DNA_
private

◆ exclude_intra_res_protein_

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::exclude_intra_res_protein_
private

◆ hydrogen_interaction_cutoff2_

template<class Derived >
Real core::scoring::etable::BaseEtableEnergy< Derived >::hydrogen_interaction_cutoff2_
private

◆ put_intra_into_total_

template<class Derived >
bool core::scoring::etable::BaseEtableEnergy< Derived >::put_intra_into_total_
private

◆ safe_max_dis2

template<class Derived >
Real core::scoring::etable::BaseEtableEnergy< Derived >::safe_max_dis2
private

The documentation for this class was generated from the following files: