Rosetta 3.4
|
#include <RNAHackElecEnergy.hh>
Public Types | |
typedef HackElecEnergy | parent |
typedef ContextIndependentTwoBodyEnergy | grandparent |
Public Member Functions | |
RNAHackElecEnergy (methods::EnergyMethodOptions const &options) | |
RNAHackElecEnergy (RNAHackElecEnergy const &src) | |
virtual methods::EnergyMethodOP | clone () const |
clone | |
virtual void | setup_for_derivatives (pose::Pose &pose, ScoreFunction const &) const |
Called immediately before atom- and DOF-derivatives are calculated allowing the derived class a chance to prepare for future calls. | |
virtual void | setup_for_scoring (pose::Pose &pose, ScoreFunction const &) const |
virtual void | setup_for_packing (pose::Pose &pose, utility::vector1< bool > const &, utility::vector1< bool > const &) const |
virtual void | prepare_rotamers_for_packing (pose::Pose const &pose, conformation::RotamerSetBase &set) const |
overrides parent class implementation which would have created several tries | |
virtual void | update_residue_for_packing (pose::Pose &pose, Size resid) const |
overrides parent class implementation which would have updated a trie | |
virtual void | residue_pair_energy (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &, EnergyMap &emap) const |
Evaluate the interaction between a given residue pair accumulating the unweighted energies in an EnergyMap. | |
bool | minimize_in_whole_structure_context (pose::Pose const &) const |
Returns "true" because this energy method has not been updated to use the new derivative evaluation machinery. Note that this class requires the definition of this method because it's parent class, HackElecEnergy, HAS been updated to use the new derivative evaluation machinery, and, if this class did not return "true", it would be asked to evaluate derivatives in ways it cannot yet evaluate them in. | |
virtual bool | use_extended_residue_pair_energy_interface () const |
Jan 10, 2012. Parin Sripakdeevon (sripakpa@stanford.edu) Returns "false" to overwrite the behavior in the parent class (HackElecEnergy)! | |
virtual void | eval_intrares_energy (conformation::Residue const &, pose::Pose const &, ScoreFunction const &, EnergyMap &) const |
Evaluate the intra-residue energy for a given residue. | |
virtual void | evaluate_rotamer_pair_energies (conformation::RotamerSetBase const &set1, conformation::RotamerSetBase const &set2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap const &weights, ObjexxFCL::FArray2D< core::PackerEnergy > &energy_table) const |
Batch computation of rotamer pair energies. Need not be overriden in derived class -- by default, iterates over all pairs of rotamers, and calls derived class's residue_pair_energy method. Since short range rotamer pairs may not need calculation, the default method looks at blocks of residue type pairs and only calls the residue_pair_energy method if the rotamer pairs are within range. | |
virtual void | evaluate_rotamer_background_energies (conformation::RotamerSetBase const &set, conformation::Residue const &residue, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap const &weights, utility::vector1< core::PackerEnergy > &energy_vector) const |
Batch computation of rotamer/background energies. Need not be overriden in derived class -- by default, iterates over all rotamers in the set, and calls derived class's residue_pair_energy method for each one against the background rotamer Since short range rotamer pairs may not need calculation, the default method looks at blocks of residue type pairs and only calls the residue_pair_energy method if the rotamer pairs are within range. | |
virtual void | eval_atom_derivative (id::AtomID const &atom_id, pose::Pose const &pose, kinematics::DomainMap const &domain_map, ScoreFunction const &, EnergyMap const &weights, 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. | |
virtual bool | defines_intrares_energy (EnergyMap const &) const |
Two body energies are able to define intra-residue energies, and to do so only in the presence of certain non-zero weights. The ScoreFunction will hand over its weight set as it asks whether the energy method defines an intraresidue energy or not. | |
virtual void | indicate_required_context_graphs (utility::vector1< bool > &context_graphs_required) const |
RNAHackElecEnergy is context independent; no context graphs required. | |
Real | residue_pair_energy_RNA (conformation::Residue const &rsd1, conformation::Residue const &rsd2, EnergyMap &emap) const |
void | eval_atom_derivative_RNA (conformation::Residue const &rsd1, Size const &i, conformation::Residue const &rsd2, EnergyMap const &weights, Vector &F1, Vector &F2) const |
virtual core::Size | version () const |
Return the version of the energy method. |
Reimplemented from core::scoring::methods::ContextIndependentTwoBodyEnergy.
core::scoring::hackelec::RNAHackElecEnergy::RNAHackElecEnergy | ( | methods::EnergyMethodOptions const & | options | ) |
References core::scoring::methods::EnergyMethod::set_score_types().
Referenced by clone().
core::scoring::hackelec::RNAHackElecEnergy::RNAHackElecEnergy | ( | RNAHackElecEnergy const & | src | ) |
methods::EnergyMethodOP core::scoring::hackelec::RNAHackElecEnergy::clone | ( | ) | const [virtual] |
virtual bool core::scoring::hackelec::RNAHackElecEnergy::defines_intrares_energy | ( | EnergyMap const & | weights | ) | const [inline, virtual] |
Two body energies are able to define intra-residue energies, and to do so only in the presence of certain non-zero weights. The ScoreFunction will hand over its weight set as it asks whether the energy method defines an intraresidue energy or not.
For example, the Etable method defines intra-residue energies only when one or more of the fa_intra_{atr,rep,sol} weights are non-zero.
Reimplemented from core::scoring::hackelec::HackElecEnergy.
void core::scoring::hackelec::RNAHackElecEnergy::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 [virtual] |
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.
The derivative scheme is based on that of Abe, Braun, Noguti and Go (1984) "Rapid Calculation of First and Second Derivatives of Conformational Energy with Respect to Dihedral Angles for Proteins. General Recurrent Equations" Computers & Chemistry 8(4) pp. 239-247. F1 and F2 correspond roughly to Fa and Ga, respectively, of equations 7a & 7b in that paper.
default implementation does not alter either the F1 or F2 vectors.
Reimplemented from core::scoring::methods::EnergyMethod.
References core::id::AtomID::atomno(), core::pose::Pose::energies(), eval_atom_derivative_RNA(), core::pose::Pose::residue(), and core::id::AtomID::rsd().
void core::scoring::hackelec::RNAHackElecEnergy::eval_atom_derivative_RNA | ( | conformation::Residue const & | rsd1, |
Size const & | i, | ||
conformation::Residue const & | rsd2, | ||
EnergyMap const & | weights, | ||
Vector & | F1, | ||
Vector & | F2 | ||
) | const |
References core::conformation::Residue::atomic_charge(), core::scoring::etable::count_pair::CP_CROSSOVER_4, core::scoring::hackelec::HackElecEnergy::eval_dhack_elecE_dr_over_r(), core::scoring::hack_elec_rna_base_base, core::scoring::hack_elec_rna_phos_base, core::scoring::hack_elec_rna_phos_phos, core::scoring::hack_elec_rna_phos_sugr, core::scoring::hack_elec_rna_sugr_base, core::scoring::hack_elec_rna_sugr_sugr, core::scoring::hackelec::is_base(), core::scoring::hackelec::is_phosphate(), core::scoring::hackelec::is_sugar(), core::conformation::Residue::natoms(), and core::conformation::Residue::xyz().
Referenced by eval_atom_derivative().
virtual void core::scoring::hackelec::RNAHackElecEnergy::eval_intrares_energy | ( | conformation::Residue const & | rsd, |
pose::Pose const & | pose, | ||
ScoreFunction const & | sfxn, | ||
EnergyMap & | emap | ||
) | const [inline, virtual] |
Evaluate the intra-residue energy for a given residue.
Reimplemented from core::scoring::hackelec::HackElecEnergy.
void core::scoring::hackelec::RNAHackElecEnergy::evaluate_rotamer_background_energies | ( | conformation::RotamerSetBase const & | set, |
conformation::Residue const & | residue, | ||
pose::Pose const & | pose, | ||
ScoreFunction const & | sfxn, | ||
EnergyMap const & | weights, | ||
utility::vector1< core::PackerEnergy > & | energy_vector | ||
) | const [virtual] |
Batch computation of rotamer/background energies. Need not be overriden in derived class -- by default, iterates over all rotamers in the set, and calls derived class's residue_pair_energy method for each one against the background rotamer Since short range rotamer pairs may not need calculation, the default method looks at blocks of residue type pairs and only calls the residue_pair_energy method if the rotamer pairs are within range.
Reimplemented from core::scoring::hackelec::HackElecEnergy.
References core::scoring::methods::ShortRangeTwoBodyEnergy::evaluate_rotamer_background_energies(), and core::conformation::Residue::is_RNA().
void core::scoring::hackelec::RNAHackElecEnergy::evaluate_rotamer_pair_energies | ( | conformation::RotamerSetBase const & | set1, |
conformation::RotamerSetBase const & | set2, | ||
pose::Pose const & | pose, | ||
ScoreFunction const & | sfxn, | ||
EnergyMap const & | weights, | ||
ObjexxFCL::FArray2D< core::PackerEnergy > & | energy_table | ||
) | const [virtual] |
Batch computation of rotamer pair energies. Need not be overriden in derived class -- by default, iterates over all pairs of rotamers, and calls derived class's residue_pair_energy method. Since short range rotamer pairs may not need calculation, the default method looks at blocks of residue type pairs and only calls the residue_pair_energy method if the rotamer pairs are within range.
Reimplemented from core::scoring::hackelec::HackElecEnergy.
References core::scoring::methods::ShortRangeTwoBodyEnergy::evaluate_rotamer_pair_energies(), core::conformation::RotamerSetBase::num_rotamers(), and core::conformation::RotamerSetBase::rotamer().
void core::scoring::hackelec::RNAHackElecEnergy::indicate_required_context_graphs | ( | utility::vector1< bool > & | context_graphs_required | ) | const [virtual] |
RNAHackElecEnergy is context independent; no context graphs required.
Reimplemented from core::scoring::hackelec::HackElecEnergy.
bool core::scoring::hackelec::RNAHackElecEnergy::minimize_in_whole_structure_context | ( | pose::Pose const & | ) | const [inline, virtual] |
Returns "true" because this energy method has not been updated to use the new derivative evaluation machinery. Note that this class requires the definition of this method because it's parent class, HackElecEnergy, HAS been updated to use the new derivative evaluation machinery, and, if this class did not return "true", it would be asked to evaluate derivatives in ways it cannot yet evaluate them in.
Reimplemented from core::scoring::hackelec::HackElecEnergy.
void core::scoring::hackelec::RNAHackElecEnergy::prepare_rotamers_for_packing | ( | pose::Pose const & | pose, |
conformation::RotamerSetBase & | set | ||
) | const [virtual] |
overrides parent class implementation which would have created several tries
Reimplemented from core::scoring::hackelec::HackElecEnergy.
void core::scoring::hackelec::RNAHackElecEnergy::residue_pair_energy | ( | conformation::Residue const & | rsd1, |
conformation::Residue const & | rsd2, | ||
pose::Pose const & | pose, | ||
ScoreFunction const & | sfxn, | ||
EnergyMap & | emap | ||
) | const [virtual] |
Evaluate the interaction between a given residue pair accumulating the unweighted energies in an EnergyMap.
Reimplemented from core::scoring::hackelec::HackElecEnergy.
References core::conformation::Residue::is_RNA(), and residue_pair_energy_RNA().
Real core::scoring::hackelec::RNAHackElecEnergy::residue_pair_energy_RNA | ( | conformation::Residue const & | rsd1, |
conformation::Residue const & | rsd2, | ||
EnergyMap & | emap | ||
) | const |
References core::conformation::Residue::atom_name(), core::conformation::Residue::atomic_charge(), core::scoring::etable::count_pair::CP_CROSSOVER_4, core::scoring::hackelec::HackElecEnergy::eval_atom_atom_hack_elecE(), core::scoring::hack_elec_rna_base_base, core::scoring::hack_elec_rna_phos_base, core::scoring::hack_elec_rna_phos_phos, core::scoring::hack_elec_rna_phos_sugr, core::scoring::hack_elec_rna_sugr_base, core::scoring::hack_elec_rna_sugr_sugr, core::scoring::hackelec::is_base(), core::scoring::hackelec::is_phosphate(), core::conformation::Residue::is_RNA(), core::scoring::hackelec::is_sugar(), core::conformation::Residue::natoms(), core::scoring::total_score, and core::conformation::Residue::xyz().
Referenced by residue_pair_energy().
void core::scoring::hackelec::RNAHackElecEnergy::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::hackelec::HackElecEnergy.
References core::pose::Pose::update_residue_neighbors().
void core::scoring::hackelec::RNAHackElecEnergy::setup_for_packing | ( | pose::Pose & | , |
utility::vector1< bool > const & | , | ||
utility::vector1< bool > const & | |||
) | const [virtual] |
default implementation noop
Reimplemented from core::scoring::hackelec::HackElecEnergy.
void core::scoring::hackelec::RNAHackElecEnergy::setup_for_scoring | ( | pose::Pose & | pose, |
ScoreFunction const & | |||
) | const [virtual] |
Reimplemented from core::scoring::hackelec::HackElecEnergy.
References core::pose::Pose::update_residue_neighbors().
void core::scoring::hackelec::RNAHackElecEnergy::update_residue_for_packing | ( | pose::Pose & | pose, |
Size | resid | ||
) | const [virtual] |
overrides parent class implementation which would have updated a trie
Reimplemented from core::scoring::hackelec::HackElecEnergy.
virtual bool core::scoring::hackelec::RNAHackElecEnergy::use_extended_residue_pair_energy_interface | ( | ) | const [inline, virtual] |
Jan 10, 2012. Parin Sripakdeevon (sripakpa@stanford.edu) Returns "false" to overwrite the behavior in the parent class (HackElecEnergy)!
Reimplemented from core::scoring::hackelec::HackElecEnergy.
core::Size core::scoring::hackelec::RNAHackElecEnergy::version | ( | ) | const [virtual] |
Return the version of the energy method.
Reimplemented from core::scoring::hackelec::HackElecEnergy.