|
Rosetta 3.5
|
#include <HBondEnergy.hh>


Public Member Functions | |
| HBondEnergy (HBondOptions const &opts) | |
| ctor More... | |
| HBondEnergy (HBondEnergy const &src) | |
| copy ctor More... | |
| virtual | ~HBondEnergy () |
| virtual methods::EnergyMethodOP | clone () const |
| clone More... | |
| virtual void | setup_for_packing (pose::Pose &pose, utility::vector1< bool > const &, utility::vector1< bool > const &) const |
| virtual void | prepare_rotamers_for_packing (pose::Pose const &pose, conformation::RotamerSetBase &set) const |
| virtual void | update_residue_for_packing (pose::Pose &pose, Size resid) const |
| virtual void | setup_for_scoring (pose::Pose &pose, ScoreFunction const &) const |
| virtual void | residue_pair_energy (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &, EnergyMap &emap) const |
| note that this only evaluates sc-sc and sc-bb energies More... | |
| virtual bool | defines_score_for_residue_pair (conformation::Residue const &res1, conformation::Residue const &res2, bool res_moving_wrt_eachother) const |
| Returns false if two residues are not moving wrt each other; the two parts of the HBondEnergy function which are non-pairwise-decomposable are held fixed during minimization – the neighbor counts, and the bb/bb hbond availability status. This means that the hbond-energy function can be efficiently evaluated during minimization. More... | |
| virtual bool | minimize_in_whole_structure_context (pose::Pose const &) const |
| Should this EnergyMethod have score and derivative evaluation evaluated only in the context of the whole Pose, or can it be included in a decomposed manner for a residue or a set of residue-pairs that are not part of the Pose that's serving as their context? The default method implemented in the base class returns true in order to grandfather in EnergyMethods that have not had their derivatives changed to take advantage of the new derivative-evaluation machinery. Methods that return "true" will not have their residue-energy(-ext) / residue-pair-energy(-ext) methods invoked by the ScoreFunction during its traversal of the MinimizationGraph, and instead will be asked to perform all their work during finalize_total_energies(). Similarly, they will be expected to perform all their work during eval_atom_deriv() instead of during the ScoreFunction's traversal of the MinimizationGraph for derivative evaluation. IMPORTANT: Methods that return "true" cannot be included in RTMin. More... | |
| virtual bool | use_extended_residue_pair_energy_interface () const |
| Use the extended residue pair energy interface to distinguish between score function evaluation during minimization from score function evaluation during regular scoring. More... | |
| virtual void | residue_pair_energy_ext (conformation::Residue const &rsd1, conformation::Residue const &rsd2, ResPairMinimizationData const &min_data, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const |
| Evaluate the energy between a pair of residues during minimization; during minimization, the bb/bb hbond status is held fixed, so it is possible to evaluate the bb/bb, bb/sc and sc/sc hydrogen bonds in this function call. More... | |
| virtual void | setup_for_minimizing_for_residue (conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &sfxn, kinematics::MinimizerMapBase const &minmap, ResSingleMinimizationData &res_data_cache) const |
| Setup the bb/bb hbond presence data for a particular residue – this data is taken out of the HbondSet in the Pose. More... | |
| virtual void | setup_for_minimizing_for_residue_pair (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, kinematics::MinimizerMapBase const &minmap, ResSingleMinimizationData const &res1_data_cache, ResSingleMinimizationData const &res2_data_cache, ResPairMinimizationData &data_cache) const |
| Link the bb/bb hbond information in the ResidueSingleMinimizationData to the ResiduePairMinimizationData. More... | |
| virtual bool | requires_a_setup_for_derivatives_for_residue_pair_opportunity (pose::Pose const &pose) const |
| Construct the set of all hydrogen bonds between two residues before. More... | |
| virtual void | eval_residue_pair_derivatives (conformation::Residue const &rsd1, conformation::Residue const &rsd2, ResSingleMinimizationData const &, ResSingleMinimizationData const &, ResPairMinimizationData const &min_data, pose::Pose const &pose, EnergyMap const &weights, utility::vector1< DerivVectorPair > &r1_atom_derivs, utility::vector1< DerivVectorPair > &r2_atom_derivs) const |
| Do any setup work necessary before evaluating the derivatives for this residue. More... | |
| virtual void | eval_intrares_derivatives (conformation::Residue const &rsd, ResSingleMinimizationData const &min_data, pose::Pose const &pose, EnergyMap const &weights, utility::vector1< DerivVectorPair > &atom_derivs) const |
| WORKING| MODELED AFTER THE VERSION IN OccludedHbondSolEnergy...Need to make sure that this is correct!: Parin Sripakdeevong/////. More... | |
| void | hbond_derivs_1way (EnergyMap const &weights, HBondSet const &hbond_set, HBondDatabaseCOP database, conformation::Residue const &don_rsd, conformation::Residue const &acc_rsd, Size const don_nb, Size const acc_nb, bool const exclude_bsc, bool const exclude_scb, utility::vector1< DerivVectorPair > &don_atom_derivs, utility::vector1< DerivVectorPair > &acc_atom_derivs) const |
| virtual void | backbone_backbone_energy (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const |
| Evaluates the interaction between the backbone of rsd1 and the backbone of rsd2 and accumulates the unweighted energy. More... | |
| virtual void | backbone_sidechain_energy (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const |
| Evaluates the interaction between the backbone of rsd1 and the sidechain of rsd2 and accumulates the unweighted energy. More... | |
| virtual void | sidechain_sidechain_energy (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const |
| Evaluates the interaction between the sidechain of rsd1 and the sidechain of rsd2 and accumulates the unweighted energy. More... | |
| 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. More... | |
| 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. More... | |
| virtual void | finalize_total_energy (pose::Pose &pose, ScoreFunction const &, EnergyMap &totals) const |
| called by the ScoreFunction at the end of energy evaluation. The derived class has the opportunity to accumulate a score into the pose's total_energy EnergyMap. WholeStructure energies operate within this method; any method using a NeighborList during minimization would also operate within this function call. More... | |
| virtual Distance | atomic_interaction_cutoff () const |
| f1 and f2 are zeroed More... | |
| 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. More... | |
| Real | hydrogen_interaction_cutoff2 () const |
| the atomic interaction cutoff and the hydrogen interaction cutoff are the same. More... | |
| virtual void | indicate_required_context_graphs (utility::vector1< bool > &context_graphs_required) const |
| HBondEnergy is context sensitive. More... | |
| virtual bool | defines_intrares_energy (EnergyMap const &weights) const |
| Two body energies are able to define intra-residue energies, and to do so only in the presence of certain non-zero weights. The ScoreFunction will hand over its weight set as it asks whether the energy method defines an intraresidue energy or not. More... | |
| virtual void | eval_intrares_energy (conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const |
| Evaluate the intra-residue energy for a given residue. More... | |
| Energy | heavyatom_heavyatom_energy (hbtrie::HBAtom const &at1, hbtrie::HBAtom const &at2, DistanceSquared &d2, Size &) const |
| Energy | heavyatom_hydrogenatom_energy (hbtrie::HBAtom const &at1, hbtrie::HBAtom const &at2, bool flipped=false) const |
| Energy | drawn_out_heavyatom_hydrogenatom_energy (hbtrie::HBAtom const &at1, hbtrie::HBAtom const &at2, bool flipped) const |
| code to evaluate a hydrogen bond energy for the trie that didn't belong in the header itself – it certainly does enough work such that inlining it would not likely produce a speedup. More... | |
| Energy | hydrogenatom_heavyatom_energy (hbtrie::HBAtom const &at1, hbtrie::HBAtom const &at2, Size &) const |
| Energy | hydrogenatom_hydrogenatom_energy (hbtrie::HBAtom const &, hbtrie::HBAtom const &, Size &) const |
Public Member Functions inherited from core::scoring::methods::ContextDependentTwoBodyEnergy | |
| ContextDependentTwoBodyEnergy (EnergyMethodCreatorOP creator) | |
| virtual | ~ContextDependentTwoBodyEnergy () |
| EnergyMethodType | method_type () const |
| 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... | |
| virtual | ~ShortRangeTwoBodyEnergy () |
| virtual 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 |
| 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... | |
| virtual | ~TwoBodyEnergy () |
| virtual bool | requires_a_setup_for_scoring_for_residue_opportunity (pose::Pose const &pose) const |
| 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... | |
| virtual void | setup_for_scoring_for_residue (conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &sfxn, ResSingleMinimizationData &min_data) const |
| 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... | |
| virtual bool | requires_a_setup_for_derivatives_for_residue_opportunity (pose::Pose const &pose) const |
| 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... | |
| virtual void | setup_for_derivatives_for_residue (conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &sfxn, ResSingleMinimizationData &min_data) const |
| Do any setup work necessary before evaluating the derivatives for this residue. More... | |
| virtual bool | requires_a_setup_for_scoring_for_residue_pair_opportunity (pose::Pose const &pose) const |
| 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... | |
| virtual 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 &sfxn, ResPairMinimizationData &data_cache) const |
| 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... | |
| virtual 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 &sfxn, ResPairMinimizationData &data_cache) const |
| Do any setup work necessary before evaluating the derivatives for this residue pair. 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 | use_extended_intrares_energy_interface () const |
| Derived classes wishing to invoke the alternate, extended interface for eval_intrares_energy during minimization routines should return "true" when this function is invoked on them. This class provides a default "return false" implementation so that classes not desiring to take advantage of this alternate interface need to do nothing. More... | |
| virtual void | eval_intrares_energy_ext (conformation::Residue const &rsd, ResSingleMinimizationData const &data_cache, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const |
| Evaluate the intra-residue energy for a given residue using the data held within the ResSingleMinimizationData object. This function should be invoked only on derived instances of this class if they return "true" in a call to their use_extended_intrares_energy_interface method. This base class provides a noop implementation for classes that do not implement this interface, or that do not define intrares energies. 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 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 | bump_energy_full (conformation::Residue const &, conformation::Residue const &, pose::Pose const &, ScoreFunction const &, EnergyMap &) const |
| virtual void | bump_energy_backbone (conformation::Residue const &, conformation::Residue const &, pose::Pose const &, ScoreFunction const &, EnergyMap &) const |
| 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... | |
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... | |
| EnergyMethod (EnergyMethod const &src) | |
| Copy constructor copies over the score types of the source. More... | |
| virtual | ~EnergyMethod () |
| virtual void | update_residue_for_packing (pose::Pose &, Size resid) const |
| ensure this function gets called. The default behavior is to do nothing. More... | |
| virtual void | setup_for_minimizing (pose::Pose &, ScoreFunction const &, kinematics::MinimizerMapBase const &) const |
| Called at the beginning of atom tree minimization, this method allows the derived class the opportunity to initialize pertinent data that will be used during minimization. During minimzation, the chemical structure of the pose is constant, so assumptions on the number of atoms per residue and their identities are safe so long as the pose's Energies object's "use_nblist()" method returns true. More... | |
| virtual void | setup_for_derivatives (pose::Pose &pose, ScoreFunction const &sfxn) const |
| Called immediately before atom- and DOF-derivatives are calculated allowing the derived class a chance to prepare for future calls. 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 void | eval_atom_derivative (id::AtomID const &id, pose::Pose const &pose, kinematics::DomainMap const &domain_map, ScoreFunction const &sfxn, EnergyMap const &emap, Vector &F1, Vector &F2) const |
| Evaluate the XYZ derivative for an atom in the pose. Called during the atomtree derivative calculation, atom_tree_minimize.cc, through the ScoreFunction::eval_atom_derivative intermediary. F1 and F2 should not zeroed, rather, this class should accumulate its contribution from this atom's XYZ derivative. More... | |
| ScoreTypes const & | score_types () const |
| Returns the score types that this energy method computes. More... | |
Public Attributes | |
| __pad0__:ContextDependentTwoBodyEnergy parent | |
Private Member Functions | |
| hbtrie::HBondRotamerTrieOP | create_rotamer_trie (conformation::RotamerSetBase const &rotset, pose::Pose const &pose) const |
| hbtrie::HBondRotamerTrieOP | create_rotamer_trie (conformation::Residue const &res, pose::Pose const &pose) const |
| virtual core::Size | version () const |
Additional Inherited Members | |
Public Types inherited from core::scoring::methods::ContextDependentTwoBodyEnergy | |
| typedef ShortRangeTwoBodyEnergy | parent |
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... | |
Definition at line 58 of file HBondEnergy.hh.
| core::scoring::hbonds::HBondEnergy::HBondEnergy | ( | HBondOptions const & | opts) |
| core::scoring::hbonds::HBondEnergy::HBondEnergy | ( | HBondEnergy const & | src) |
copy ctor
Definition at line 243 of file HBondEnergy.cc.
|
virtual |
Definition at line 250 of file HBondEnergy.cc.
|
virtual |
f1 and f2 are zeroed
HACK! MAX_R defines the maximum donorH to acceptor distance.
Implements core::scoring::methods::ShortRangeTwoBodyEnergy.
Definition at line 1429 of file HBondEnergy.cc.
References core::scoring::hbonds::MAX_R.
Referenced by create_rotamer_trie(), eval_residue_pair_derivatives(), and residue_pair_energy_ext().
|
virtual |
Evaluates the interaction between the backbone of rsd1 and the backbone of rsd2 and accumulates the unweighted energy.
The hydrogen bonds must have already been found and added to the minpair_data container in a call to setup_for_derivatives_for_residue_pair() where the input residues are guaranteed to not have changed since that call.
Reimplemented from core::scoring::methods::TwoBodyEnergy.
Definition at line 988 of file HBondEnergy.cc.
References core::scoring::Energies::data(), database_, core::pose::Pose::energies(), core::scoring::EnergiesCacheableDataType::HBOND_SET, core::scoring::hbonds::identify_hbonds_1way(), core::scoring::hbonds::identify_hbonds_1way_membrane(), core::conformation::Residue::is_DNA(), core::scoring::hbonds::HBondSet::nbrs(), options_, and core::conformation::Residue::seqpos().
|
virtual |
Evaluates the interaction between the backbone of rsd1 and the sidechain of rsd2 and accumulates the unweighted energy.
Note: this function enforces the bb/sc hbond exclusion rule
Reimplemented from core::scoring::methods::TwoBodyEnergy.
Definition at line 1053 of file HBondEnergy.cc.
References core::scoring::hbonds::HBondSet::acc_bbg_in_bb_bb_hbond(), core::scoring::Energies::data(), database_, core::scoring::hbonds::HBondSet::don_bbg_in_bb_bb_hbond(), core::pose::Pose::energies(), core::scoring::EnergiesCacheableDataType::HBOND_SET, core::scoring::hbonds::identify_hbonds_1way(), core::scoring::hbonds::identify_hbonds_1way_membrane(), core::conformation::Residue::is_DNA(), core::conformation::Residue::is_protein(), core::scoring::hbonds::HBondSet::nbrs(), options_, and core::conformation::Residue::seqpos().
|
virtual |
clone
Implements core::scoring::methods::EnergyMethod.
Definition at line 254 of file HBondEnergy.cc.
References HBondEnergy().
|
private |
Definition at line 1595 of file HBondEnergy.cc.
References atomic_interaction_cutoff(), core::scoring::hbonds::create_rotamer_descriptor(), core::scoring::Energies::data(), core::pose::Pose::energies(), core::scoring::EnergiesCacheableDataType::HBOND_SET, core::conformation::RotamerSetBase::num_rotamers(), options_, and core::conformation::RotamerSetBase::rotamer().
Referenced by prepare_rotamers_for_packing(), setup_for_packing(), and update_residue_for_packing().
|
private |
Definition at line 1625 of file HBondEnergy.cc.
References atomic_interaction_cutoff(), core::scoring::hbonds::create_rotamer_descriptor(), core::scoring::Energies::data(), core::pose::Pose::energies(), core::scoring::EnergiesCacheableDataType::HBOND_SET, and options_.
|
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.
Definition at line 1452 of file HBondEnergy.cc.
References core::scoring::hbond_intra, and options_.
|
virtual |
Returns false if two residues are not moving wrt each other; the two parts of the HBondEnergy function which are non-pairwise-decomposable are held fixed during minimization – the neighbor counts, and the bb/bb hbond availability status. This means that the hbond-energy function can be efficiently evaluated during minimization.
Reimplemented from core::scoring::methods::TwoBodyEnergy.
Definition at line 478 of file HBondEnergy.cc.
|
inlinevirtual |
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.
Definition at line 368 of file HBondEnergy.hh.
| Energy core::scoring::hbonds::HBondEnergy::drawn_out_heavyatom_hydrogenatom_energy | ( | hbtrie::HBAtom const & | at1, |
| hbtrie::HBAtom const & | at2, | ||
| bool | flipped | ||
| ) | const |
code to evaluate a hydrogen bond energy for the trie that didn't belong in the header itself – it certainly does enough work such that inlining it would not likely produce a speedup.
Definition at line 1651 of file HBondEnergy.cc.
References core::scoring::hbonds::hbtrie::HBAtom::base2_xyz(), core::scoring::hbonds::hbtrie::HBAtom::base_xyz(), center_, database_, core::scoring::hbonds::DUMMY_DERIVS, core::scoring::hbonds::HBEvalTuple::eval_type(), core::scoring::hbonds::get_environment_dependent_weight(), core::scoring::hbonds::get_membrane_depth_dependent_weight(), core::scoring::hbonds::hb_energy_deriv(), core::scoring::hbonds::hb_eval_type_weight(), core::scoring::hbonds::hbond_evaluation_type(), core::scoring::hbonds::MAX_HB_ENERGY, normal_, options_, res1_, res1_nb_, res2_, res2_nb_, rotamer_seq_sep_, steepness_, thickness_, weights_, and core::scoring::hbonds::hbtrie::HBAtom::xyz().
Referenced by heavyatom_hydrogenatom_energy().
|
virtual |
WORKING| MODELED AFTER THE VERSION IN OccludedHbondSolEnergy...Need to make sure that this is correct!: Parin Sripakdeevong/////.
Store all the hbonds formed between these two residues in the data_cache object so that they are available for derivative evaluation.
Reimplemented from core::scoring::methods::TwoBodyEnergy.
Definition at line 867 of file HBondEnergy.cc.
References core::scoring::Energies::data(), database_, core::pose::Pose::energies(), hbond_derivs_1way(), core::scoring::EnergiesCacheableDataType::HBOND_SET, core::conformation::Residue::is_RNA(), and options_.
|
virtual |
Evaluate the intra-residue energy for a given residue.
Implements core::scoring::methods::TwoBodyEnergy.
Definition at line 1465 of file HBondEnergy.cc.
References database_, core::scoring::hbonds::identify_intra_res_hbonds(), core::conformation::Residue::is_RNA(), and options_.
|
virtual |
Do any setup work necessary before evaluating the derivatives for this residue.
WORKING| MODELED AFTER THE VERSION IN OccludedHbondSolEnergy...Need to make sure that this is correct!: Parin Sripakdeevong/////.
Retrieves the cached hbond data from the minpair_data object and calculates the derivative for an atom on rsd1 wrt rsd2. This method requires that setup_for_derivatives_for_residue_pair have been called on this residue pair beforehand, and that the two residues have not changed since that call.
Reimplemented from core::scoring::methods::TwoBodyEnergy.
Definition at line 892 of file HBondEnergy.cc.
References atomic_interaction_cutoff(), core::scoring::Energies::data(), database_, core::kinematics::tree::distance_squared(), core::pose::Pose::energies(), core::scoring::ResPairMinimizationData::get_data(), core::scoring::ResPairMinimizationData::get_data_ref(), hbond_derivs_1way(), core::scoring::hbond_respair_data, core::scoring::EnergiesCacheableDataType::HBOND_SET, core::conformation::Residue::nbr_atom(), core::conformation::Residue::nbr_radius(), and core::conformation::Residue::xyz().
|
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.
Definition at line 1263 of file HBondEnergy.cc.
References core::scoring::Energies::data(), core::pose::Pose::energies(), core::graph::Graph::get_node(), core::conformation::RotamerSetBase::get_trie(), core::scoring::methods::hbond_method, core::scoring::EnergiesCacheableDataType::HBOND_SET, core::scoring::EnergiesCacheableDataType::HBOND_TRIE_COLLECTION, core::conformation::Residue::is_DNA(), core::scoring::hbonds::HBondSet::nbrs(), core::conformation::RotamerSetBase::num_rotamers(), options_, res1_, res1_nb_, res2_, res2_nb_, core::conformation::RotamerSetBase::resid(), core::pose::Pose::residue(), rotamer_seq_sep_, core::conformation::Residue::seqpos(), core::scoring::Energies::tenA_neighbor_graph(), and weights_.
|
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.
Definition at line 1172 of file HBondEnergy.cc.
References core::scoring::Energies::data(), core::pose::Pose::energies(), core::graph::Graph::get_node(), core::conformation::RotamerSetBase::get_trie(), core::scoring::methods::hbond_method, core::scoring::EnergiesCacheableDataType::HBOND_SET, core::scoring::hbonds::HBondSet::nbrs(), options_, res1_, res1_nb_, res2_, res2_nb_, core::conformation::RotamerSetBase::resid(), core::pose::Pose::residue(), rotamer_seq_sep_, core::scoring::Energies::tenA_neighbor_graph(), and weights_.
|
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.
Definition at line 1342 of file HBondEnergy.cc.
References core::scoring::Energies::data(), core::pose::Pose::energies(), core::scoring::hbonds::get_hbond_energies(), core::scoring::hbond_bb_sc, core::scoring::hbond_intra, core::scoring::hbond_lr_bb_sc, core::scoring::hbond_sc, core::scoring::EnergiesCacheableDataType::HBOND_SET, core::scoring::hbond_sr_bb_sc, options_, and core::scoring::Energies::use_nblist().
| void core::scoring::hbonds::HBondEnergy::hbond_derivs_1way | ( | EnergyMap const & | weights, |
| HBondSet const & | hbond_set, | ||
| HBondDatabaseCOP | database, | ||
| conformation::Residue const & | don_rsd, | ||
| conformation::Residue const & | acc_rsd, | ||
| Size const | don_nb, | ||
| Size const | acc_nb, | ||
| bool const | exclude_bsc, | ||
| bool const | exclude_scb, | ||
| utility::vector1< DerivVectorPair > & | don_atom_derivs, | ||
| utility::vector1< DerivVectorPair > & | acc_atom_derivs | ||
| ) | const |
Triplication of the loops that iterate across hbond donors and acceptors Find all hbonds for a pair of residues and add those found hbonds to the hb_pair_dat object; these hbonds will be used for derivative evaluation, so evaluate the F1/F2 derivative vectors now. This function respects the exclude bsc and scb variables to avoid hbonds. Called by setup_for_derivatives_for_residue_pair pba modified
Definition at line 673 of file HBondEnergy.cc.
References core::conformation::Residue::abase2(), core::scoring::hbonds::HBondDerivs::abase2_deriv, core::scoring::hbonds::HBondDerivs::abase_deriv, core::scoring::hbonds::HBondDerivs::acc_deriv, core::conformation::Residue::accpt_pos(), core::scoring::hbonds::assign_abase_derivs(), core::conformation::Residue::atom(), core::conformation::Residue::atom_base(), core::conformation::Residue::atom_is_backbone(), core::chemical::rna::RNA_ResidueType::atom_is_phosphate(), center_, core::scoring::hbonds::HBondDerivs::don_deriv, core::scoring::hbonds::HBEvalTuple::eval_type(), core::scoring::DerivVectorPair::f1(), core::scoring::DerivVectorPair::f2(), core::scoring::hbonds::get_environment_dependent_weight(), core::scoring::hbonds::get_membrane_depth_dependent_weight(), core::scoring::hbonds::HBondDerivs::h_deriv, core::scoring::hbonds::hb_energy_deriv(), core::scoring::hbonds::hb_eval_type_weight(), core::scoring::hbonds::HBondSet::hbond_options(), core::conformation::Residue::Hpos_polar(), core::scoring::hbonds::HBondOptions::include_intra_res_RNA(), core::conformation::Residue::is_RNA(), core::chemical::rna::RNA_ResidueType::is_RNA_base_atom(), core::conformation::Residue::is_virtual(), core::scoring::hbonds::MAX_HB_ENERGY, core::scoring::hbonds::MAX_R2, normal_, options_, core::conformation::Residue::path_distance(), core::conformation::Residue::RNA_type(), core::conformation::Residue::seqpos(), steepness_, thickness_, core::scoring::hbonds::HBondOptions::use_hb_env_dep(), core::conformation::Atom::xyz(), and core::conformation::Residue::xyz().
Referenced by eval_intrares_derivatives(), and eval_residue_pair_derivatives().
|
inline |
Definition at line 395 of file HBondEnergy.hh.
References core::scoring::hbonds::hbtrie::HBAtom::xyz().
|
inline |
Definition at line 407 of file HBondEnergy.hh.
References drawn_out_heavyatom_hydrogenatom_energy(), core::scoring::hbonds::MAX_R2, core::scoring::hbonds::MIN_R2, core::scoring::hbonds::hbtrie::HBAtom::non_hbonding_atom(), and core::scoring::hbonds::hbtrie::HBAtom::xyz().
Referenced by hydrogenatom_heavyatom_energy().
| Real core::scoring::hbonds::HBondEnergy::hydrogen_interaction_cutoff2 | ( | ) | const |
the atomic interaction cutoff and the hydrogen interaction cutoff are the same.
Definition at line 1436 of file HBondEnergy.cc.
References core::scoring::hbonds::MAX_R.
|
inline |
Definition at line 427 of file HBondEnergy.hh.
References heavyatom_hydrogenatom_energy().
|
inline |
Definition at line 437 of file HBondEnergy.hh.
|
virtual |
HBondEnergy is context sensitive.
Implements core::scoring::methods::EnergyMethod.
Definition at line 1444 of file HBondEnergy.cc.
References core::scoring::ten_A_neighbor_graph.
|
virtual |
Should this EnergyMethod have score and derivative evaluation evaluated only in the context of the whole Pose, or can it be included in a decomposed manner for a residue or a set of residue-pairs that are not part of the Pose that's serving as their context? The default method implemented in the base class returns true in order to grandfather in EnergyMethods that have not had their derivatives changed to take advantage of the new derivative-evaluation machinery. Methods that return "true" will not have their residue-energy(-ext) / residue-pair-energy(-ext) methods invoked by the ScoreFunction during its traversal of the MinimizationGraph, and instead will be asked to perform all their work during finalize_total_energies(). Similarly, they will be expected to perform all their work during eval_atom_deriv() instead of during the ScoreFunction's traversal of the MinimizationGraph for derivative evaluation. IMPORTANT: Methods that return "true" cannot be included in RTMin.
Reimplemented from core::scoring::methods::EnergyMethod.
Definition at line 488 of file HBondEnergy.cc.
|
virtual |
default implementation noop
Reimplemented from core::scoring::methods::EnergyMethod.
Definition at line 301 of file HBondEnergy.cc.
References create_rotamer_trie(), core::scoring::methods::hbond_method, and core::conformation::RotamerSetBase::store_trie().
|
virtual |
Construct the set of all hydrogen bonds between two residues before.
Reimplemented from core::scoring::methods::TwoBodyEnergy.
Definition at line 660 of file HBondEnergy.cc.
|
virtual |
note that this only evaluates sc-sc and sc-bb energies
Note that this only evaluates sc-sc and sc-bb energies unless options_->decompose_bb_hb_into_pair_energies is set to true, in which case, this function also evaluates bb-bb energies. Note also that this function enforces the bb/sc hbond exclusion rule.
Implements core::scoring::methods::TwoBodyEnergy.
Definition at line 386 of file HBondEnergy.cc.
References core::scoring::hbonds::HBondSet::acc_bbg_in_bb_bb_hbond(), core::scoring::Energies::data(), database_, core::scoring::hbonds::HBondSet::don_bbg_in_bb_bb_hbond(), core::pose::Pose::energies(), core::scoring::EnergiesCacheableDataType::HBOND_SET, core::scoring::hbonds::identify_hbonds_1way(), core::scoring::hbonds::identify_hbonds_1way_membrane(), core::conformation::Residue::is_DNA(), core::conformation::Residue::is_protein(), core::scoring::hbonds::HBondSet::nbrs(), options_, and core::conformation::Residue::seqpos().
|
virtual |
Evaluate the energy between a pair of residues during minimization; during minimization, the bb/bb hbond status is held fixed, so it is possible to evaluate the bb/bb, bb/sc and sc/sc hydrogen bonds in this function call.
computes the residue pair energy during minimization; this includes bb/bb energies as opposed to the standard residue_pair_energy interface, which does not include bb/bb energies. On the other hand, this interface presumes that no new bb/bb hydrogen bonds are formed during the course of minimization, and no existing bb/bb hydrogen bonds are lost. Note: this function does not directly enforce the bb/sc exclusion rule logic, but rather, takes the boolean "bb_don_avail" and "bb_acc_avail" data stored in the pairdata object
Reimplemented from core::scoring::methods::TwoBodyEnergy.
Definition at line 503 of file HBondEnergy.cc.
References atomic_interaction_cutoff(), database_, core::kinematics::tree::distance_squared(), core::scoring::ResPairMinimizationData::get_data(), core::scoring::ResPairMinimizationData::get_data_ref(), core::scoring::hbond_respair_data, core::scoring::hbonds::identify_hbonds_1way(), core::scoring::hbonds::identify_hbonds_1way_membrane(), core::conformation::Residue::nbr_atom(), core::conformation::Residue::nbr_radius(), options_, and core::conformation::Residue::xyz().
|
virtual |
Setup the bb/bb hbond presence data for a particular residue – this data is taken out of the HbondSet in the Pose.
Note that this function helps enforce the bb/sc exclusion rule by setting the donor and acceptor availability for backbone donors and acceptors. If the backbone-sidechain-exclusion rule is not being enforced, then this function marks all donors and acceptors as being available. If it is being enforced, then is uses the hbondset functions don_bbg_in_bb_bb_hbond and acc_bbg_in_bb_bb_hbond. The decisions made in this function impact the evaluation of energies in the above residue_pair_energy_ext method.
Reimplemented from core::scoring::methods::TwoBodyEnergy.
Definition at line 600 of file HBondEnergy.cc.
References core::scoring::hbonds::HBondSet::acc_bbg_in_bb_bb_hbond(), core::scoring::Energies::data(), core::scoring::hbonds::HBondSet::don_bbg_in_bb_bb_hbond(), core::pose::Pose::energies(), core::scoring::ResSingleMinimizationData::get_data(), core::scoring::hbond_res_data, core::scoring::EnergiesCacheableDataType::HBOND_SET, core::conformation::Residue::is_protein(), core::conformation::Residue::natoms(), core::scoring::hbonds::HBondSet::nbrs(), options_, core::conformation::Residue::seqpos(), and core::scoring::ResSingleMinimizationData::set_data().
|
virtual |
Link the bb/bb hbond information in the ResidueSingleMinimizationData to the ResiduePairMinimizationData.
Reimplemented from core::scoring::methods::TwoBodyEnergy.
Definition at line 629 of file HBondEnergy.cc.
References core::scoring::ResSingleMinimizationData::get_data(), core::scoring::ResPairMinimizationData::get_data(), core::scoring::hbond_res_data, core::scoring::hbond_respair_data, core::scoring::ResPairMinimizationData::set_data(), and core::scoring::hbonds::HBondResPairMinData::set_res1_data().
|
virtual |
default implementation noop
Reimplemented from core::scoring::methods::EnergyMethod.
Definition at line 261 of file HBondEnergy.cc.
References core::conformation::Residue::aa(), core::chemical::aa_vrt, core::scoring::MembraneEmbed::center(), center_, core::scoring::Membrane_FAPotential::compute_fa_projection(), create_rotamer_trie(), core::scoring::Energies::data(), core::pose::Pose::energies(), core::scoring::EnergiesCacheableDataType::HBOND_SET, core::scoring::EnergiesCacheableDataType::HBOND_TRIE_COLLECTION, memb_potential_, core::scoring::Membrane_FAEmbed_from_pose(), core::scoring::MembraneEmbed_from_pose(), core::scoring::MembraneEmbed::normal(), normal_, options_, core::pose::Pose::residue(), core::scoring::Membrane_FAEmbed::steepness(), steepness_, core::scoring::Membrane_FAEmbed::thickness(), thickness_, core::pose::Pose::total_residue(), and core::pose::Pose::update_residue_neighbors().
|
virtual |
Reimplemented from core::scoring::methods::EnergyMethod.
Definition at line 334 of file HBondEnergy.cc.
References core::scoring::MembraneEmbed::center(), center_, core::scoring::Membrane_FAPotential::compute_fa_projection(), core::scoring::Energies::data(), core::pose::Pose::energies(), core::scoring::EnergiesCacheableDataType::HBOND_SET, memb_potential_, core::scoring::Membrane_FAEmbed_from_pose(), core::scoring::MembraneEmbed_from_pose(), core::scoring::MembraneEmbed::normal(), normal_, options_, core::scoring::Membrane_FAEmbed::steepness(), steepness_, core::scoring::Membrane_FAEmbed::thickness(), thickness_, core::pose::Pose::total_residue(), core::pose::Pose::update_residue_neighbors(), and core::scoring::Energies::use_nblist().
|
virtual |
Evaluates the interaction between the sidechain of rsd1 and the sidechain of rsd2 and accumulates the unweighted energy.
Reimplemented from core::scoring::methods::TwoBodyEnergy.
Definition at line 1127 of file HBondEnergy.cc.
References database_, core::pose::Pose::energies(), core::graph::Graph::get_node(), core::scoring::hbonds::identify_hbonds_1way(), core::scoring::hbonds::identify_hbonds_1way_membrane(), options_, core::conformation::Residue::seqpos(), and core::scoring::Energies::tenA_neighbor_graph().
|
virtual |
Definition at line 317 of file HBondEnergy.cc.
References create_rotamer_trie(), core::scoring::Energies::data(), core::pose::Pose::energies(), core::scoring::EnergiesCacheableDataType::HBOND_TRIE_COLLECTION, and core::pose::Pose::residue().
|
virtual |
Use the extended residue pair energy interface to distinguish between score function evaluation during minimization from score function evaluation during regular scoring.
Reimplemented from core::scoring::methods::TwoBodyEnergy.
Definition at line 491 of file HBondEnergy.cc.
|
privatevirtual |
Version 2: 2011-06-27 Fixing chi2 SER/THR and chi3 TYR derivatives when they act as acceptors.
Implements core::scoring::methods::EnergyMethod.
Definition at line 1711 of file HBondEnergy.cc.
| core::scoring::hbonds::HBondEnergy::__pad0__ |
Definition at line 60 of file HBondEnergy.hh.
|
mutableprivate |
Definition at line 472 of file HBondEnergy.hh.
Referenced by drawn_out_heavyatom_hydrogenatom_energy(), hbond_derivs_1way(), setup_for_packing(), and setup_for_scoring().
|
private |
Definition at line 467 of file HBondEnergy.hh.
Referenced by backbone_backbone_energy(), backbone_sidechain_energy(), drawn_out_heavyatom_hydrogenatom_energy(), eval_intrares_derivatives(), eval_intrares_energy(), eval_residue_pair_derivatives(), residue_pair_energy(), residue_pair_energy_ext(), and sidechain_sidechain_energy().
|
private |
Definition at line 470 of file HBondEnergy.hh.
Referenced by setup_for_packing(), and setup_for_scoring().
|
mutableprivate |
Definition at line 471 of file HBondEnergy.hh.
Referenced by drawn_out_heavyatom_hydrogenatom_energy(), hbond_derivs_1way(), setup_for_packing(), and setup_for_scoring().
|
private |
Definition at line 466 of file HBondEnergy.hh.
Referenced by backbone_backbone_energy(), backbone_sidechain_energy(), create_rotamer_trie(), defines_intrares_energy(), drawn_out_heavyatom_hydrogenatom_energy(), eval_intrares_derivatives(), eval_intrares_energy(), evaluate_rotamer_background_energies(), evaluate_rotamer_pair_energies(), finalize_total_energy(), hbond_derivs_1way(), residue_pair_energy(), residue_pair_energy_ext(), setup_for_minimizing_for_residue(), setup_for_packing(), setup_for_scoring(), and sidechain_sidechain_energy().
|
mutableprivate |
Definition at line 481 of file HBondEnergy.hh.
Referenced by drawn_out_heavyatom_hydrogenatom_energy(), evaluate_rotamer_background_energies(), and evaluate_rotamer_pair_energies().
|
mutableprivate |
Definition at line 483 of file HBondEnergy.hh.
Referenced by drawn_out_heavyatom_hydrogenatom_energy(), evaluate_rotamer_background_energies(), and evaluate_rotamer_pair_energies().
|
mutableprivate |
Definition at line 482 of file HBondEnergy.hh.
Referenced by drawn_out_heavyatom_hydrogenatom_energy(), evaluate_rotamer_background_energies(), and evaluate_rotamer_pair_energies().
|
mutableprivate |
Definition at line 484 of file HBondEnergy.hh.
Referenced by drawn_out_heavyatom_hydrogenatom_energy(), evaluate_rotamer_background_energies(), and evaluate_rotamer_pair_energies().
|
mutableprivate |
Definition at line 480 of file HBondEnergy.hh.
Referenced by drawn_out_heavyatom_hydrogenatom_energy(), evaluate_rotamer_background_energies(), and evaluate_rotamer_pair_energies().
|
mutableprivate |
Definition at line 474 of file HBondEnergy.hh.
Referenced by drawn_out_heavyatom_hydrogenatom_energy(), hbond_derivs_1way(), setup_for_packing(), and setup_for_scoring().
|
mutableprivate |
Definition at line 473 of file HBondEnergy.hh.
Referenced by drawn_out_heavyatom_hydrogenatom_energy(), hbond_derivs_1way(), setup_for_packing(), and setup_for_scoring().
|
mutableprivate |
Definition at line 479 of file HBondEnergy.hh.
Referenced by drawn_out_heavyatom_hydrogenatom_energy(), evaluate_rotamer_background_energies(), and evaluate_rotamer_pair_energies().
1.8.4