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

#include <MMLJEnergyInter.hh>

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

List of all members.

Public Types

typedef
ContextIndependentTwoBodyEnergy 
parent

Public Member Functions

 MMLJEnergyInter ()
 ctor
virtual EnergyMethodOP clone () const
 clone
void setup_for_minimizing (pose::Pose &pose, ScoreFunction const &sfxn, kinematics::MinimizerMapBase const &min_map) 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.
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
 ensure this function gets called. The default behavior is to do nothing.
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.
virtual void eval_atom_derivative (id::AtomID const &id, pose::Pose const &pose, kinematics::DomainMap const &, 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 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.
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 Distance atomic_interaction_cutoff () const
 MMLJEnergyInter does not have an atomic interation threshold.
virtual void indicate_required_context_graphs (utility::vector1< bool > &) const
 MMLJEnergyInter is context independent; indicates that no context graphs are required.
etable::count_pair::CountPairFunctionCOP get_count_pair_function (Size res1, Size res2, pose::Pose const &pose, ScoreFunction const &sfxn) const
 required for neighbor list and to be more lke the ETable
etable::count_pair::CountPairFunctionCOP get_count_pair_function (conformation::Residue const &res1, conformation::Residue const &res2, pose::Pose const &pose, ScoreFunction const &sfxn) const
 required for neighbor list and to be more lke the ETable
etable::count_pair::CountPairFunctionOP get_intrares_countpair (conformation::Residue const &res, pose::Pose const &pose, ScoreFunction const &sfxn) const
 required for neighbor list and to be more lke the ETable
trie::RotamerTrieBaseOP create_rotamer_trie (conformation::RotamerSetBase const &rotset, pose::Pose const &pose) const
 create a rotamer trie for a particular set, deciding upon the kind of count pair data that needs to be contained by the trie.
trie::RotamerTrieBaseOP create_rotamer_trie (conformation::Residue const &res, pose::Pose const &pose) const
Real hydrogen_interaction_cutoff2 () const
Real hydrogen_interaction_cutoff () const
trie::TrieCountPairBaseOP get_count_pair_function_trie (conformation::Residue const &res1, conformation::Residue const &res2, trie::RotamerTrieBaseCOP trie1, trie::RotamerTrieBaseCOP trie2, pose::Pose const &pose, ScoreFunction const &sfxn) const
trie::TrieCountPairBaseOP get_count_pair_function_trie (conformation::RotamerSetBase const &set1, conformation::RotamerSetBase const &set2, pose::Pose const &pose, ScoreFunction const &sfxn) const
 figure out the trie count pair function to use Need to refactor this so that the decision "what kind of count pair behavior should I use" can be decoupled from class instantiation, and therefore shared between the creation of the trie count pair classes and the regular count pair classes
Energy heavyatom_heavyatom_energy (core::scoring::mm::mmtrie::MMEnergyTableAtom const &at1, core::scoring::mm::mmtrie::MMEnergyTableAtom const &at2, DistanceSquared &d2, Size &path_dist) const
Energy heavyatom_hydrogenatom_energy (core::scoring::mm::mmtrie::MMEnergyTableAtom const &at1, core::scoring::mm::mmtrie::MMEnergyTableAtom const &at2, Size &path_dist) const
Energy hydrogenatom_heavyatom_energy (core::scoring::mm::mmtrie::MMEnergyTableAtom const &at1, core::scoring::mm::mmtrie::MMEnergyTableAtom const &at2, Size &path_dist) const
Energy hydrogenatom_hydrogenatom_energy (core::scoring::mm::mmtrie::MMEnergyTableAtom const &at1, core::scoring::mm::mmtrie::MMEnergyTableAtom const &at2, Size &path_dist) const
virtual void bump_energy_full (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const
virtual void bump_energy_backbone (conformation::Residue const &rsd1, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap &emap) const

Member Typedef Documentation


Constructor & Destructor Documentation

core::scoring::methods::MMLJEnergyInter::MMLJEnergyInter ( )

ctor

Referenced by clone().


Member Function Documentation

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

MMLJEnergyInter does not have an atomic interation threshold.

MMLJEnergy does not have an atomic interation threshold.

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

void core::scoring::methods::MMLJEnergyInter::bump_energy_backbone ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const [virtual]
void core::scoring::methods::MMLJEnergyInter::bump_energy_full ( conformation::Residue const &  rsd1,
conformation::Residue const &  rsd2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const [virtual]
EnergyMethodOP core::scoring::methods::MMLJEnergyInter::clone ( ) const [virtual]
trie::RotamerTrieBaseOP core::scoring::methods::MMLJEnergyInter::create_rotamer_trie ( conformation::RotamerSetBase const &  rotset,
pose::Pose const &  pose 
) const

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

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

Referenced by prepare_rotamers_for_packing(), setup_for_packing(), and update_residue_for_packing().

trie::RotamerTrieBaseOP core::scoring::methods::MMLJEnergyInter::create_rotamer_trie ( conformation::Residue const &  res,
pose::Pose const &  pose 
) const
bool core::scoring::methods::MMLJEnergyInter::defines_intrares_energy ( EnergyMap const &  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::methods::MMLJEnergyInter::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::scoring::AtomNeighbor::atomno(), core::pose::Pose::energies(), core::scoring::EnergiesCacheableDataType::MM_LJ_INTRA_NBLIST, core::conformation::Atom::mm_type(), core::scoring::AtomNeighbor::path_dist(), core::pose::Pose::residue(), core::scoring::AtomNeighbor::rsd(), core::scoring::Energies::use_nblist(), and core::conformation::Atom::xyz().

void core::scoring::methods::MMLJEnergyInter::eval_intrares_energy ( conformation::Residue const &  rsd,
pose::Pose const &  pose,
ScoreFunction const &  sfxn,
EnergyMap emap 
) const [virtual]

Evaluate the intra-residue energy for a given residue.

Implements core::scoring::methods::TwoBodyEnergy.

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

References core::scoring::Energies::data(), core::pose::Pose::energies(), get_count_pair_function_trie(), core::scoring::methods::mm_lj_energy_inter_method, core::scoring::EnergiesCacheableDataType::MM_LJ_TRIE_COLLECTION, core::pose::Pose::residue(), and core::conformation::Residue::seqpos().

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

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

etable::count_pair::CountPairFunctionCOP core::scoring::methods::MMLJEnergyInter::get_count_pair_function ( Size  res1,
Size  res2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn 
) const

required for neighbor list and to be more lke the ETable

References core::pose::Pose::residue().

etable::count_pair::CountPairFunctionCOP core::scoring::methods::MMLJEnergyInter::get_count_pair_function ( conformation::Residue const &  res1,
conformation::Residue const &  res2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn 
) const

required for neighbor list and to be more lke the ETable

References core::scoring::etable::count_pair::CP_CROSSOVER_3.

trie::TrieCountPairBaseOP core::scoring::methods::MMLJEnergyInter::get_count_pair_function_trie ( conformation::Residue const &  res1,
conformation::Residue const &  res2,
trie::RotamerTrieBaseCOP  trie1,
trie::RotamerTrieBaseCOP  trie2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn 
) const
trie::TrieCountPairBaseOP core::scoring::methods::MMLJEnergyInter::get_count_pair_function_trie ( conformation::RotamerSetBase const &  set1,
conformation::RotamerSetBase const &  set2,
pose::Pose const &  pose,
ScoreFunction const &  sfxn 
) const

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

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

etable::count_pair::CountPairFunctionOP core::scoring::methods::MMLJEnergyInter::get_intrares_countpair ( conformation::Residue const &  res,
pose::Pose const &  pose,
ScoreFunction const &  sfxn 
) const

required for neighbor list and to be more lke the ETable

References core::scoring::etable::count_pair::CP_CROSSOVER_3.

Energy core::scoring::methods::MMLJEnergyInter::heavyatom_heavyatom_energy ( core::scoring::mm::mmtrie::MMEnergyTableAtom const &  at1,
core::scoring::mm::mmtrie::MMEnergyTableAtom const &  at2,
DistanceSquared d2,
Size path_dist 
) const [inline]
Energy core::scoring::methods::MMLJEnergyInter::heavyatom_hydrogenatom_energy ( core::scoring::mm::mmtrie::MMEnergyTableAtom const &  at1,
core::scoring::mm::mmtrie::MMEnergyTableAtom const &  at2,
Size path_dist 
) const [inline]
Real core::scoring::methods::MMLJEnergyInter::hydrogen_interaction_cutoff ( ) const [inline]
Real core::scoring::methods::MMLJEnergyInter::hydrogen_interaction_cutoff2 ( ) const [inline]

How close do two heavy atoms have to be such that their hydrogen atoms might interact? max heavy-to-hydrogen distance ( MAGIC NUMBER!!!! FIX IT ) + atom-pair interaction distance.

References hydrogen_interaction_cutoff().

Energy core::scoring::methods::MMLJEnergyInter::hydrogenatom_heavyatom_energy ( core::scoring::mm::mmtrie::MMEnergyTableAtom const &  at1,
core::scoring::mm::mmtrie::MMEnergyTableAtom const &  at2,
Size path_dist 
) const [inline]
Energy core::scoring::methods::MMLJEnergyInter::hydrogenatom_hydrogenatom_energy ( core::scoring::mm::mmtrie::MMEnergyTableAtom const &  at1,
core::scoring::mm::mmtrie::MMEnergyTableAtom const &  at2,
Size path_dist 
) const [inline]
void core::scoring::methods::MMLJEnergyInter::indicate_required_context_graphs ( utility::vector1< bool > &  ) const [virtual]

MMLJEnergyInter is context independent; indicates that no context graphs are required.

MMLJEnergy is context independent; indicates that no context graphs are required.

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

void core::scoring::methods::MMLJEnergyInter::prepare_rotamers_for_packing ( pose::Pose const &  ,
conformation::RotamerSetBase  
) const [virtual]
void core::scoring::methods::MMLJEnergyInter::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.

Implements core::scoring::methods::TwoBodyEnergy.

References core::conformation::Residue::atom(), core::scoring::mm_lj_inter_atr, core::scoring::mm_lj_inter_rep, core::chemical::ResidueType::natoms(), and core::conformation::Residue::type().

Referenced by bump_energy_backbone(), and bump_energy_full().

void core::scoring::methods::MMLJEnergyInter::setup_for_minimizing ( pose::Pose ,
ScoreFunction const &  ,
kinematics::MinimizerMapBase const &   
) const [virtual]

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.

default implementation noop

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

References core::kinematics::MinimizerMapBase::domain_map(), core::pose::Pose::energies(), core::scoring::EnergiesCacheableDataType::MM_LJ_INTER_NBLIST, core::scoring::mm::MMLJEnergyTable::mm_lj_score(), core::scoring::Energies::use_nblist(), and core::scoring::Energies::use_nblist_auto_update().

void core::scoring::methods::MMLJEnergyInter::setup_for_packing ( pose::Pose ,
utility::vector1< bool > const &  ,
utility::vector1< bool > const &   
) const [virtual]
void core::scoring::methods::MMLJEnergyInter::update_residue_for_packing ( pose::Pose ,
Size  resid 
) const [virtual]

ensure this function gets called. The default behavior is to do nothing.

default implementation noop

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

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


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