Rosetta 3.4
|
#include <MMLJEnergyInter.hh>
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 |
Reimplemented from core::scoring::methods::ContextIndependentTwoBodyEnergy.
core::scoring::methods::MMLJEnergyInter::MMLJEnergyInter | ( | ) |
ctor
Referenced by clone().
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] |
Reimplemented from core::scoring::methods::TwoBodyEnergy.
References core::scoring::mm_lj_inter_atr, core::scoring::mm_lj_inter_rep, and residue_pair_energy().
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] |
Reimplemented from core::scoring::methods::TwoBodyEnergy.
References core::scoring::mm_lj_inter_atr, core::scoring::mm_lj_inter_rep, and residue_pair_energy().
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] |
References core::scoring::mm::MMLJEnergyTable::max_dist().
Referenced by create_rotamer_trie(), and hydrogen_interaction_cutoff2().
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] |
default implementation noop
Reimplemented from core::scoring::methods::EnergyMethod.
References create_rotamer_trie(), and core::scoring::methods::mm_lj_energy_inter_method.
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] |
default implementation noop
Reimplemented from core::scoring::methods::EnergyMethod.
References core::conformation::Residue::aa(), core::chemical::aa_vrt, create_rotamer_trie(), core::scoring::Energies::data(), core::pose::Pose::energies(), core::scoring::EnergiesCacheableDataType::MM_LJ_TRIE_COLLECTION, core::pose::Pose::residue(), and core::pose::Pose::total_residue().
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().