Rosetta 3.4
Public Types | Public Member Functions
core::scoring::methods::ShortRangeTwoBodyEnergy Class Reference

#include <ShortRangeTwoBodyEnergy.hh>

Inheritance diagram for core::scoring::methods::ShortRangeTwoBodyEnergy:
Inheritance graph
[legend]
Collaboration diagram for core::scoring::methods::ShortRangeTwoBodyEnergy:
Collaboration graph
[legend]

List of all members.

Public Types

typedef TwoBodyEnergy parent

Public Member Functions

 ShortRangeTwoBodyEnergy (EnergyMethodCreatorOP)
 Constructor with EnergyMethodCreator to provide to the EnergyMethod grandparent the list of the ScoreTypes this EnergyMethod is responsible for computing.
virtual ~ShortRangeTwoBodyEnergy ()
virtual Distance atomic_interaction_cutoff () const =0
 how far apart must two heavy atoms be to have a zero interaction energy?
virtual bool divides_backbone_and_sidechain_energetics () const
 A derived class should return true for this function if it implements its own versions of the backbone_backbone_energy, backbone_sidechain_energy and sidechain_sidechain_energy functions. The default sidechain_sidechain_energy implemented by the TwoBodyEnergy base class calls residue_pair_energy. If the derived class implements its own versions of these functions, then calling code may avoid calling it on pairs of residues that are "provably distant" based on a pair of bounding spheres for a sidechains and backbones and this method's atomic_interaction_cutoff energy method.
virtual void 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 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.

Member Typedef Documentation


Constructor & Destructor Documentation

core::scoring::methods::ShortRangeTwoBodyEnergy::ShortRangeTwoBodyEnergy ( EnergyMethodCreatorOP  creator)

Constructor with EnergyMethodCreator to provide to the EnergyMethod grandparent the list of the ScoreTypes this EnergyMethod is responsible for computing.

core::scoring::methods::ShortRangeTwoBodyEnergy::~ShortRangeTwoBodyEnergy ( ) [virtual]

Member Function Documentation

virtual Distance core::scoring::methods::ShortRangeTwoBodyEnergy::atomic_interaction_cutoff ( ) const [pure virtual]

how far apart must two heavy atoms be to have a zero interaction energy?

If hydrogen atoms interact at the same range as heavy atoms, then this distance should build-in a 2 * max-bound-h-distance-cutoff buffer. There is an improper mixing here between run-time aquired chemical knowledge (max-bound-h-distance-cutoff) and compile time aquired scoring knowledge (max atom cutoff); this could be resolved by adding a boolean uses_hydrogen_interaction_distance() to the SRTBEnergy class along with a method of the ChemicalManager max_bound_h_distance_cutoff().

Implemented in core::scoring::carbon_hbonds::CarbonHBondEnergy, core::scoring::custom_pair_distance::FullatomCustomPairDistanceEnergy, core::scoring::etable::BaseEtableEnergy< Derived >, core::scoring::etable::BaseEtableEnergy< Derived >, core::scoring::geometric_solvation::ContextIndependentGeometricSolEnergy, core::scoring::geometric_solvation::GeometricSolEnergy, core::scoring::geometric_solvation::OccludedHbondSolEnergy, core::scoring::hackaro::HackAroEnergy, core::scoring::hackelec::HackElecEnergy, core::scoring::hbonds::HBondEnergy, core::scoring::interface::DDPscore, core::scoring::etable::BaseEtableEnergy< Derived >, core::scoring::methods::CenHBEnergy, core::scoring::methods::CenPairEnergy, core::scoring::methods::CSD_TorsionEnergy, core::scoring::methods::CustomAtomPairEnergy, core::scoring::methods::DNA_BaseEnergy, core::scoring::methods::Fa_MbsolvEnergy, core::scoring::methods::GaussianOverlapEnergy, core::scoring::methods::HybridVDW_Energy, core::scoring::methods::LK_BallEnergy, core::scoring::methods::LK_CosThetaEnergy, core::scoring::methods::LK_hack, core::scoring::methods::MembraneCenPairEnergy, core::scoring::methods::MMBondAngleEnergy, core::scoring::methods::MMBondLengthEnergy, core::scoring::methods::MMLJEnergyInter, core::scoring::methods::MMLJEnergyIntra, core::scoring::methods::MMTorsionEnergy, core::scoring::methods::PairEnergy, core::scoring::methods::PeptideBondEnergy, core::scoring::methods::ProClosureEnergy, core::scoring::methods::RamachandranEnergy2B, core::scoring::methods::SmoothCenPairEnergy, core::scoring::methods::SuckerEnergy, core::scoring::methods::VDW_Energy, core::scoring::methods::WaterAdductHBondEnergy, core::scoring::orbitals::OrbitalsScore, core::scoring::rna::RNA_DataBackboneEnergy, core::scoring::rna::RNA_FA_Stack, core::scoring::rna::RNA_FullAtomStackingEnergy, core::scoring::rna::RNA_LJ_BaseEnergy, core::scoring::rna::RNA_PairwiseLowResolutionEnergy, core::scoring::rna::RNA_TorsionEnergy, core::scoring::rna::RNA_VDW_Energy, protocols::scoring::methods::InterchainPairEnergy, core::scoring::etable::BaseEtableEnergy< CoarseEtableEnergy >, core::scoring::etable::BaseEtableEnergy< CoarseEtableEnergy >, core::scoring::etable::BaseEtableEnergy< CoarseEtableEnergy >, core::scoring::etable::BaseEtableEnergy< EtableEnergy >, core::scoring::etable::BaseEtableEnergy< EtableEnergy >, and core::scoring::etable::BaseEtableEnergy< EtableEnergy >.

Referenced by evaluate_rotamer_pair_energies().

bool core::scoring::methods::ShortRangeTwoBodyEnergy::divides_backbone_and_sidechain_energetics ( ) const [virtual]

A derived class should return true for this function if it implements its own versions of the backbone_backbone_energy, backbone_sidechain_energy and sidechain_sidechain_energy functions. The default sidechain_sidechain_energy implemented by the TwoBodyEnergy base class calls residue_pair_energy. If the derived class implements its own versions of these functions, then calling code may avoid calling it on pairs of residues that are "provably distant" based on a pair of bounding spheres for a sidechains and backbones and this method's atomic_interaction_cutoff energy method.

Reimplemented in core::scoring::carbon_hbonds::CarbonHBondEnergy, core::scoring::etable::BaseEtableEnergy< Derived >, core::scoring::etable::BaseEtableEnergy< Derived >, core::scoring::hackelec::HackElecEnergy, core::scoring::hbonds::HBondEnergy, core::scoring::etable::BaseEtableEnergy< CoarseEtableEnergy >, core::scoring::etable::BaseEtableEnergy< CoarseEtableEnergy >, core::scoring::etable::BaseEtableEnergy< EtableEnergy >, and core::scoring::etable::BaseEtableEnergy< EtableEnergy >.

void core::scoring::methods::ShortRangeTwoBodyEnergy::evaluate_rotamer_background_energies ( conformation::RotamerSetBase const &  set,
conformation::Residue const &  residue,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap const &  weights,
utility::vector1< core::PackerEnergy > &  energy_vector 
) const [virtual]

Batch computation of rotamer/background energies. Need not be overriden in derived class -- by default, iterates over all rotamers in the set, and calls derived class's residue_pair_energy method for each one against the background rotamer Since short range rotamer pairs may not need calculation, the default method looks at blocks of residue type pairs and only calls the residue_pair_energy method if the rotamer pairs are within range.

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

Reimplemented in core::scoring::etable::BaseEtableEnergy< Derived >, core::scoring::etable::BaseEtableEnergy< Derived >, core::scoring::hackelec::HackElecEnergy, core::scoring::hackelec::HackElecEnergyAroAll, core::scoring::hackelec::HackElecEnergyAroAro, core::scoring::hackelec::RNAHackElecEnergy, core::scoring::hbonds::HBondEnergy, core::scoring::etable::BaseEtableEnergy< Derived >, core::scoring::methods::LK_BallEnergy, core::scoring::methods::MMLJEnergyInter, core::scoring::methods::PairEnergy, core::scoring::etable::BaseEtableEnergy< CoarseEtableEnergy >, core::scoring::etable::BaseEtableEnergy< CoarseEtableEnergy >, core::scoring::etable::BaseEtableEnergy< CoarseEtableEnergy >, core::scoring::etable::BaseEtableEnergy< EtableEnergy >, core::scoring::etable::BaseEtableEnergy< EtableEnergy >, and core::scoring::etable::BaseEtableEnergy< EtableEnergy >.

References core::scoring::EMapVector::dot(), core::scoring::methods::TwoBodyEnergy::residue_pair_energy(), and core::scoring::EMapVector::zero().

Referenced by core::scoring::hackelec::RNAHackElecEnergy::evaluate_rotamer_background_energies(), core::scoring::hackelec::HackElecEnergyAroAro::evaluate_rotamer_background_energies(), and core::scoring::hackelec::HackElecEnergyAroAll::evaluate_rotamer_background_energies().

void core::scoring::methods::ShortRangeTwoBodyEnergy::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 [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::TwoBodyEnergy.

Reimplemented in core::scoring::methods::PairEnergy.

References core::scoring::methods::TwoBodyEnergy::residue_pair_energy(), and core::scoring::EMapVector::zero().

void core::scoring::methods::ShortRangeTwoBodyEnergy::evaluate_rotamer_pair_energies ( conformation::RotamerSetBase const &  set1,
conformation::RotamerSetBase const &  set2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap const &  weights,
ObjexxFCL::FArray2D< core::PackerEnergy > &  energy_table 
) const [virtual]

Batch computation of rotamer pair energies. Need not be overriden in derived class -- by default, iterates over all pairs of rotamers, and calls derived class's residue_pair_energy method. Since short range rotamer pairs may not need calculation, the default method looks at blocks of residue type pairs and only calls the residue_pair_energy method if the rotamer pairs are within range.

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

Reimplemented in core::scoring::etable::BaseEtableEnergy< Derived >, core::scoring::etable::BaseEtableEnergy< Derived >, core::scoring::hackelec::HackElecEnergy, core::scoring::hackelec::HackElecEnergyAroAll, core::scoring::hackelec::HackElecEnergyAroAro, core::scoring::hackelec::RNAHackElecEnergy, core::scoring::hbonds::HBondEnergy, core::scoring::etable::BaseEtableEnergy< Derived >, core::scoring::methods::LK_BallEnergy, core::scoring::methods::MMLJEnergyInter, core::scoring::methods::PairEnergy, core::scoring::etable::BaseEtableEnergy< CoarseEtableEnergy >, core::scoring::etable::BaseEtableEnergy< CoarseEtableEnergy >, core::scoring::etable::BaseEtableEnergy< CoarseEtableEnergy >, core::scoring::etable::BaseEtableEnergy< EtableEnergy >, core::scoring::etable::BaseEtableEnergy< EtableEnergy >, and core::scoring::etable::BaseEtableEnergy< EtableEnergy >.

References atomic_interaction_cutoff(), core::scoring::EMapVector::dot(), core::conformation::RotamerSetBase::get_n_residue_types(), core::conformation::RotamerSetBase::get_n_rotamers_for_residue_type(), core::conformation::RotamerSetBase::get_residue_type_begin(), core::scoring::methods::TwoBodyEnergy::residue_pair_energy(), core::conformation::RotamerSetBase::rotamer(), and protocols::kinmatch::xyz().

Referenced by core::scoring::hackelec::RNAHackElecEnergy::evaluate_rotamer_pair_energies(), core::scoring::hackelec::HackElecEnergyAroAro::evaluate_rotamer_pair_energies(), and core::scoring::hackelec::HackElecEnergyAroAll::evaluate_rotamer_pair_energies().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines