Rosetta 3.4
|
#include <OrbitalsScore.hh>
Public Member Functions | |
OrbitalsScore (methods::EnergyMethodOptions const &) | |
virtual methods::EnergyMethodOP | clone () const |
virtual void | setup_for_scoring (pose::Pose &pose, ScoreFunction const &) const |
virtual void | setup_for_derivatives (pose::Pose &pose, ScoreFunction const &) const |
Called immediately before atom- and DOF-derivatives are calculated allowing the derived class a chance to prepare for future calls. | |
virtual void | eval_residue_pair_derivatives (conformation::Residue const &rsd1, conformation::Residue const &rsd2, ResSingleMinimizationData const &, ResSingleMinimizationData const &, ResPairMinimizationData const &, pose::Pose const &, EnergyMap const &, utility::vector1< DerivVectorPair > &r1_atom_derivs, utility::vector1< DerivVectorPair > &r2_atom_derivs) const |
Evaluate the derivative for an atom in rsd1 with respect to rsd2 in the context of a particular pose, and increment the F1 and F2 vectors. This base class provides a default noop implementation of this function. The calling function must guarantee that this EnergyMethod has had the opportunity to update the input ResPairMinimizationData object for the given residue in a call to prepare_for_minimization before this function is invoked. DEPRECATED. Too slow. Too much overhead for each atom; slowed fast-relax runs by ~40%. | |
virtual void | finalize_after_derivatives (pose::Pose &pose, ScoreFunction const &) const |
called at the end of derivatives evaluation | |
virtual void | eval_intrares_energy (core::conformation::Residue const &, core::pose::Pose const &, core::scoring::ScoreFunction const &, core::scoring::EnergyMap &) const |
Evaluate the intra-residue energy for a given residue. | |
virtual bool | defines_intrares_energy (const core::scoring::EnergyMap &) const |
Two body energies are able to define intra-residue energies, and to do so only in the presence of certain non-zero weights. The ScoreFunction will hand over its weight set as it asks whether the energy method defines an intraresidue energy or not. | |
virtual void | residue_pair_energy (core::conformation::Residue const &res1, core::conformation::Residue const &res2, core::pose::Pose const &, core::scoring::ScoreFunction const &, EnergyMap &emap) const |
Evaluate the interaction between a given residue pair accumulating the unweighted energies in an EnergyMap. | |
virtual core::Real | atomic_interaction_cutoff () const |
This is very wrong. | |
virtual void | indicate_required_context_graphs (utility::vector1< bool > &) const |
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. | |
virtual bool | minimize_in_whole_structure_context (pose::Pose const &) const |
Should this EnergyMethod have score and derivative evaluation evaluated only in the context of the whole Pose, or can it be included in a decomposed manner for a residue or a set of residue-pairs that are not part of the Pose that's serving as their context? The default method implemented in the base class returns true in order to grandfather in EnergyMethods that have not had their derivatives changed to take advantage of the new derivative-evaluation machinery. Methods that return "true" will not have their residue-energy(-ext) / residue-pair-energy(-ext) methods invoked by the ScoreFunction during its traversal of the MinimizationGraph, and instead will be asked to perform all their work during finalize_total_energies(). Similarly, they will be expected to perform all their work during eval_atom_deriv() instead of during the ScoreFunction's traversal of the MinimizationGraph for derivative evaluation. IMPORTANT: Methods that return "true" cannot be included in RTMin. | |
virtual void | prepare_rotamers_for_packing (pose::Pose const &pose, conformation::RotamerSetBase &set) const |
virtual void | update_residue_for_packing (pose::Pose &, Size resid) const |
void | get_E_haro_one_way (core::conformation::Residue const &res1, core::conformation::Residue const &res2, core::Real &HARO_sc_H_sc_orb_E) const |
void | get_E_hpol_one_way (core::conformation::Residue const &res1, core::conformation::Residue const &res2, core::Real &HPOL_sc_H_sc_orb_E, core::Real &HPOL_bb_H_sc_orb_energy) const |
void | get_orb_H_distance_and_energy (core::conformation::Residue const &res1, core::Size const &Aindex, numeric::xyzVector< core::Real > const &Axyz, numeric::xyzVector< core::Real > const &Hxyz, numeric::xyzVector< core::Real > const &Dxyz, core::Real &sc_energy, core::Real &bb_h_energy, OrbitalsLookup::h_type htype, bool bb_h_flag) const |
void | assign_haro_derivs_one_way (core::conformation::Residue const &res1, core::conformation::Residue const &res2, EnergyMap const &weights, utility::vector1< DerivVectorPair > &r1_atom_derivs, utility::vector1< DerivVectorPair > &r2_atom_derivs) const |
void | assign_hpol_derivs_one_way (core::conformation::Residue const &res1, core::conformation::Residue const &res2, EnergyMap const &weights, utility::vector1< DerivVectorPair > &r1_atom_derivs, utility::vector1< DerivVectorPair > &r2_atom_derivs) const |
bool | cation_pi_rules (core::conformation::Residue const &res1, core::conformation::Residue const &res2, core::Size const &Aindex, core::Size const &Dindex) const |
void | assign_orb_H_derivs (core::conformation::Residue const &res1, core::conformation::Residue const &res2, core::Size &atom_index, numeric::xyzVector< core::Real > const &atom_xyz, core::Size const &H_index, numeric::xyzVector< core::Real > const &H_xyz, OrbitalsLookup::h_type htype, EnergyMap const &weights, utility::vector1< DerivVectorPair > &r1_atom_derivs, utility::vector1< DerivVectorPair > &r2_atom_derivs) const |
Public Attributes | |
__pad0__:ContextDependentTwoBodyEnergy parent |
core::scoring::orbitals::OrbitalsScore::OrbitalsScore | ( | methods::EnergyMethodOptions const & | ) |
Referenced by clone().
void core::scoring::orbitals::OrbitalsScore::assign_haro_derivs_one_way | ( | core::conformation::Residue const & | res1, |
core::conformation::Residue const & | res2, | ||
EnergyMap const & | weights, | ||
utility::vector1< DerivVectorPair > & | r1_atom_derivs, | ||
utility::vector1< DerivVectorPair > & | r2_atom_derivs | ||
) | const |
References assign_orb_H_derivs(), core::conformation::Residue::atom(), core::conformation::Residue::atom_is_backbone(), core::conformation::Residue::atoms_with_orb_index(), core::conformation::Residue::Haro_index(), core::scoring::orbitals::OrbitalsLookup::Haro_scOrbH, and core::conformation::Atom::xyz().
Referenced by eval_residue_pair_derivatives().
void core::scoring::orbitals::OrbitalsScore::assign_hpol_derivs_one_way | ( | core::conformation::Residue const & | res1, |
core::conformation::Residue const & | res2, | ||
EnergyMap const & | weights, | ||
utility::vector1< DerivVectorPair > & | r1_atom_derivs, | ||
utility::vector1< DerivVectorPair > & | r2_atom_derivs | ||
) | const |
References assign_orb_H_derivs(), core::conformation::Residue::atom(), core::conformation::Residue::atom_is_backbone(), core::conformation::Residue::atoms_with_orb_index(), core::conformation::Residue::bonded_neighbor(), cation_pi_rules(), core::scoring::orbitals::OrbitalsLookup::Hpol_bbOrbH, core::conformation::Residue::Hpol_index(), core::scoring::orbitals::OrbitalsLookup::Hpol_scOrbH, and core::conformation::Atom::xyz().
Referenced by eval_residue_pair_derivatives().
void core::scoring::orbitals::OrbitalsScore::assign_orb_H_derivs | ( | core::conformation::Residue const & | res1, |
core::conformation::Residue const & | res2, | ||
core::Size & | atom_index, | ||
numeric::xyzVector< core::Real > const & | atom_xyz, | ||
core::Size const & | H_index, | ||
numeric::xyzVector< core::Real > const & | H_xyz, | ||
OrbitalsLookup::h_type | htype, | ||
EnergyMap const & | weights, | ||
utility::vector1< DerivVectorPair > & | r1_atom_derivs, | ||
utility::vector1< DerivVectorPair > & | r2_atom_derivs | ||
) | const |
References core::conformation::Residue::bonded_neighbor(), core::conformation::Residue::bonded_orbitals(), core::scoring::orbitals::OrbitalsLookup::Haro_scOrbH, core::scoring::orbitals::OrbitalsLookup::Hpol_bbOrbH, core::scoring::orbitals::OrbitalsLookup::Hpol_scOrbH, core::chemical::orbitals::O_p_sp2, core::chemical::orbitals::O_p_sp2_bb, core::chemical::orbitals::O_pi_sp2, core::chemical::orbitals::O_pi_sp2_bb, core::scoring::orbitals::OrbitalsLookup::OrbHdist_cosAOH_energy(), core::scoring::orbitals::OrbitalsLookup::OrbHdist_cosDHO_energy(), core::chemical::orbitals::OrbitalType::orbital_enum(), core::conformation::Residue::orbital_type(), core::conformation::Residue::orbital_xyz(), core::scoring::orbitals_haro, core::scoring::orbitals_hpol, core::scoring::orbitals_hpol_bb, and core::conformation::Residue::xyz().
Referenced by assign_haro_derivs_one_way(), and assign_hpol_derivs_one_way().
core::Distance core::scoring::orbitals::OrbitalsScore::atomic_interaction_cutoff | ( | ) | const [virtual] |
This is very wrong.
Implements core::scoring::methods::ShortRangeTwoBodyEnergy.
bool core::scoring::orbitals::OrbitalsScore::cation_pi_rules | ( | core::conformation::Residue const & | res1, |
core::conformation::Residue const & | res2, | ||
core::Size const & | Aindex, | ||
core::Size const & | Dindex | ||
) | const |
References core::conformation::Residue::atom_type(), and core::chemical::AtomType::atom_type_name().
Referenced by assign_hpol_derivs_one_way(), and get_E_hpol_one_way().
methods::EnergyMethodOP core::scoring::orbitals::OrbitalsScore::clone | ( | ) | const [virtual] |
Implements core::scoring::methods::EnergyMethod.
References OrbitalsScore().
bool core::scoring::orbitals::OrbitalsScore::defines_intrares_energy | ( | const core::scoring::EnergyMap & | weights | ) | const [virtual] |
Two body energies are able to define intra-residue energies, and to do so only in the presence of certain non-zero weights. The ScoreFunction will hand over its weight set as it asks whether the energy method defines an intraresidue energy or not.
For example, the Etable method defines intra-residue energies only when one or more of the fa_intra_{atr,rep,sol} weights are non-zero.
Implements core::scoring::methods::TwoBodyEnergy.
void core::scoring::orbitals::OrbitalsScore::eval_intrares_energy | ( | core::conformation::Residue const & | rsd, |
core::pose::Pose const & | pose, | ||
core::scoring::ScoreFunction const & | sfxn, | ||
core::scoring::EnergyMap & | emap | ||
) | const [virtual] |
Evaluate the intra-residue energy for a given residue.
Implements core::scoring::methods::TwoBodyEnergy.
void core::scoring::orbitals::OrbitalsScore::eval_residue_pair_derivatives | ( | conformation::Residue const & | rsd1, |
conformation::Residue const & | rsd2, | ||
ResSingleMinimizationData const & | , | ||
ResSingleMinimizationData const & | , | ||
ResPairMinimizationData const & | min_data, | ||
pose::Pose const & | pose, | ||
EnergyMap const & | weights, | ||
utility::vector1< DerivVectorPair > & | r1_atom_derivs, | ||
utility::vector1< DerivVectorPair > & | r2_atom_derivs | ||
) | const [virtual] |
Evaluate the derivative for an atom in rsd1 with respect to rsd2 in the context of a particular pose, and increment the F1 and F2 vectors. This base class provides a default noop implementation of this function. The calling function must guarantee that this EnergyMethod has had the opportunity to update the input ResPairMinimizationData object for the given residue in a call to prepare_for_minimization before this function is invoked. DEPRECATED. Too slow. Too much overhead for each atom; slowed fast-relax runs by ~40%.
Evaluate the derivatives for all atoms on rsd1 and rsd2 with respect to each other and increment the derivatives in atom-derivatives vector1s. The calling function must guarantee that the r1_atom_derivs vector1 holds at least as many entries as there are atoms in rsd1, and that the r2_atom_derivs vector1 holds at least as many entries as there are atoms in rsd2.
Reimplemented from core::scoring::methods::TwoBodyEnergy.
References assign_haro_derivs_one_way(), assign_hpol_derivs_one_way(), and core::conformation::Residue::is_aromatic().
void core::scoring::orbitals::OrbitalsScore::finalize_after_derivatives | ( | pose::Pose & | , |
ScoreFunction const & | |||
) | const [virtual] |
called at the end of derivatives evaluation
default implementation noop
Reimplemented from core::scoring::methods::EnergyMethod.
void core::scoring::orbitals::OrbitalsScore::get_E_haro_one_way | ( | core::conformation::Residue const & | res1, |
core::conformation::Residue const & | res2, | ||
core::Real & | HARO_sc_H_sc_orb_E | ||
) | const |
References core::conformation::Residue::atom(), core::conformation::Residue::atom_is_backbone(), core::conformation::Residue::atoms_with_orb_index(), core::conformation::Residue::bonded_neighbor(), get_orb_H_distance_and_energy(), core::conformation::Residue::Haro_index(), core::scoring::orbitals::OrbitalsLookup::Haro_scOrbH, core::conformation::Residue::xyz(), and core::conformation::Atom::xyz().
Referenced by residue_pair_energy().
void core::scoring::orbitals::OrbitalsScore::get_E_hpol_one_way | ( | core::conformation::Residue const & | res1, |
core::conformation::Residue const & | res2, | ||
core::Real & | HPOL_sc_H_sc_orb_E, | ||
core::Real & | HPOL_bb_H_sc_orb_energy | ||
) | const |
References core::conformation::Residue::atom(), core::conformation::Residue::atom_is_backbone(), core::conformation::Residue::atoms_with_orb_index(), core::conformation::Residue::bonded_neighbor(), cation_pi_rules(), get_orb_H_distance_and_energy(), core::scoring::orbitals::OrbitalsLookup::Hpol_bbOrbH, core::conformation::Residue::Hpol_index(), core::scoring::orbitals::OrbitalsLookup::Hpol_scOrbH, core::conformation::Residue::xyz(), and core::conformation::Atom::xyz().
Referenced by residue_pair_energy().
void core::scoring::orbitals::OrbitalsScore::get_orb_H_distance_and_energy | ( | core::conformation::Residue const & | res1, |
core::Size const & | Aindex, | ||
numeric::xyzVector< core::Real > const & | Axyz, | ||
numeric::xyzVector< core::Real > const & | Hxyz, | ||
numeric::xyzVector< core::Real > const & | Dxyz, | ||
core::Real & | sc_energy, | ||
core::Real & | bb_h_energy, | ||
OrbitalsLookup::h_type | htype, | ||
bool | bb_h_flag | ||
) | const |
References core::conformation::Residue::bonded_orbitals(), core::chemical::orbitals::O_p_sp2, core::chemical::orbitals::O_p_sp2_bb, core::chemical::orbitals::O_pi_sp2, core::chemical::orbitals::O_pi_sp2_bb, core::scoring::orbitals::OrbitalsLookup::OrbHdist_cosAOH_energy(), core::scoring::orbitals::OrbitalsLookup::OrbHdist_cosDHO_energy(), core::chemical::orbitals::OrbitalType::orbital_enum(), core::conformation::Residue::orbital_type(), and core::conformation::Residue::orbital_xyz().
Referenced by get_E_haro_one_way(), and get_E_hpol_one_way().
void core::scoring::orbitals::OrbitalsScore::indicate_required_context_graphs | ( | utility::vector1< bool > & | context_graphs_required | ) | const [virtual] |
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.
virtual bool core::scoring::orbitals::OrbitalsScore::minimize_in_whole_structure_context | ( | pose::Pose const & | ) | const [inline, virtual] |
Should this EnergyMethod have score and derivative evaluation evaluated only in the context of the whole Pose, or can it be included in a decomposed manner for a residue or a set of residue-pairs that are not part of the Pose that's serving as their context? The default method implemented in the base class returns true in order to grandfather in EnergyMethods that have not had their derivatives changed to take advantage of the new derivative-evaluation machinery. Methods that return "true" will not have their residue-energy(-ext) / residue-pair-energy(-ext) methods invoked by the ScoreFunction during its traversal of the MinimizationGraph, and instead will be asked to perform all their work during finalize_total_energies(). Similarly, they will be expected to perform all their work during eval_atom_deriv() instead of during the ScoreFunction's traversal of the MinimizationGraph for derivative evaluation. IMPORTANT: Methods that return "true" cannot be included in RTMin.
Reimplemented from core::scoring::methods::EnergyMethod.
void core::scoring::orbitals::OrbitalsScore::prepare_rotamers_for_packing | ( | pose::Pose const & | , |
conformation::RotamerSetBase & | |||
) | const [virtual] |
default implementation noop
Reimplemented from core::scoring::methods::EnergyMethod.
void core::scoring::orbitals::OrbitalsScore::residue_pair_energy | ( | core::conformation::Residue const & | rsd1, |
core::conformation::Residue const & | rsd2, | ||
core::pose::Pose const & | pose, | ||
core::scoring::ScoreFunction const & | sfxn, | ||
EnergyMap & | emap | ||
) | const [virtual] |
Evaluate the interaction between a given residue pair accumulating the unweighted energies in an EnergyMap.
Implements core::scoring::methods::TwoBodyEnergy.
References get_E_haro_one_way(), get_E_hpol_one_way(), core::conformation::Residue::is_aromatic(), core::scoring::orbitals_haro, core::scoring::orbitals_hpol, and core::scoring::orbitals_hpol_bb.
void core::scoring::orbitals::OrbitalsScore::setup_for_derivatives | ( | pose::Pose & | pose, |
ScoreFunction const & | sfxn | ||
) | const [virtual] |
Called immediately before atom- and DOF-derivatives are calculated allowing the derived class a chance to prepare for future calls.
default implementation noop
Reimplemented from core::scoring::methods::EnergyMethod.
References core::pose::Pose::n_residue(), and core::pose::Pose::update_orbital_coords().
void core::scoring::orbitals::OrbitalsScore::setup_for_scoring | ( | pose::Pose & | pose, |
ScoreFunction const & | |||
) | const [virtual] |
Reimplemented from core::scoring::methods::EnergyMethod.
References core::pose::Pose::update_residue_neighbors().
void core::scoring::orbitals::OrbitalsScore::update_residue_for_packing | ( | pose::Pose & | pose, |
Size | resid | ||
) | const [virtual] |
References core::pose::Pose::update_orbital_coords().