![]() |
Rosetta
2021.16
|
Fullatom Membrane Environment Energy. More...
#include <FaMPEnvEnergy.hh>

Public Types | |
| typedef core::scoring::methods::ContextDependentOneBodyEnergy | parent |
Public Types inherited from core::scoring::methods::ContextDependentOneBodyEnergy | |
| typedef OneBodyEnergy | parent |
Public Types inherited from core::scoring::methods::OneBodyEnergy | |
| typedef EnergyMethod | parent |
Public Types inherited from core::scoring::methods::EnergyMethod | |
| typedef utility::VirtualBase | parent |
Public Member Functions | |
| FaMPEnvEnergy (core::scoring::etable::MembEtableCAP memb_etable_in) | |
| Construct Energy Method from Etable. More... | |
| core::scoring::methods::EnergyMethodOP | clone () const override |
| Clone Energy Method. More... | |
| void | residue_energy (conformation::Residue const &rsd, pose::Pose const &pose, core::scoring::EnergyMap &emap) const override |
| Compute Per-Residue Energies. More... | |
| void | finalize_total_energy (pose::Pose &pose, core::scoring::ScoreFunction const &, core::scoring::EnergyMap &emap) const override |
| Fianlzie Total Per-Residue Energies. More... | |
| void | setup_for_derivatives (pose::Pose &pose, core::scoring::ScoreFunction const &scfxn) const override |
| Setup for Computing Derivatives. More... | |
| void | eval_atom_derivative (id::AtomID const &id, pose::Pose const &pose, kinematics::DomainMap const &domain_map, core::scoring::ScoreFunction const &sfxn, core::scoring::EnergyMap const &emap, Vector &F1, Vector &F2) const override |
| Evaluate Per-Atom Derivatives. More... | |
| void | indicate_required_context_graphs (utility::vector1< bool > &) const override |
| Fa_MbenvEnergy is context independent. More... | |
| void | setup_for_scoring (pose::Pose &pose, core::scoring::ScoreFunction const &) const override |
| Setup Method for initial scoring. More... | |
Public Member Functions inherited from core::scoring::methods::ContextDependentOneBodyEnergy | |
| ContextDependentOneBodyEnergy (EnergyMethodCreatorOP) | |
| Constructor with an EnergyMethodCreator to inform the EnergyMethod parent which ScoreTypes this EnergyMethod is responsible for computing. More... | |
| EnergyMethodType | method_type () const override |
| Returns the cd_1b element of the EnergyMethodType enumeration; this method should NOT be overridden by derived classes. More... | |
Public Member Functions inherited from core::scoring::methods::OneBodyEnergy | |
| OneBodyEnergy (EnergyMethodCreatorOP) | |
| Constructor with an EnergyMethodCreator to inform the EnergyMethod parent which ScoreTypes this EnergyMethod is responsible for computing. More... | |
| ~OneBodyEnergy () override | |
| virtual bool | defines_score_for_residue (conformation::Residue const &) const |
| During minimization, energy methods are allowed to decide that they say nothing about a particular residue (e.g. no non-zero energy) and as a result they will not be queried for a derivative or an energy. The default behavior is to return "true" for all residues. More... | |
| virtual bool | use_extended_residue_energy_interface () const |
| Rely on the extended version of the residue_energy function during score-function evaluation in minimization? The extended version (below) takes a ResSingleMinimizationData. Return 'true' for the extended version. The default method implemented in this class returns 'false'. More... | |
| virtual void | residue_energy_ext (conformation::Residue const &rsd, ResSingleMinimizationData const &min_data, pose::Pose const &pose, EnergyMap &emap) const |
| Evaluate the one-body energies for a particular residue, in the context of a given Pose, and with the help of a piece of cached data for minimization, increment those one body energies into the input EnergyMap. The calling function must guarantee that this EnergyMethod has had the opportunity to update the input ResSingleMinimizationData object for the given residue in a call to setup_for_minimizing_for_residue before this function is invoked. This function should not be called unless the use_extended_residue_energy_interface() method returns "true". Default implementation provided by this base class calls utility::exit(). The Pose merely serves as context, and the input residue is not required to be a member of the Pose. More... | |
| virtual void | setup_for_minimizing_for_residue (conformation::Residue const &rsd, pose::Pose const &, ScoreFunction const &, kinematics::MinimizerMapBase const &, basic::datacache::BasicDataCache &, ResSingleMinimizationData &) const |
| Called at the beginning of minimization, allowing this energy method to cache data pertinent for a single residue in the the ResSingleMinimizationData that is used for a particular residue in the context of a particular Pose. This base class provides a noop implementation for this function if there is nothing that the derived class needs to perform in this setup phase. The Pose merely serves as context, and the input residue is not required to be a member of the Pose. More... | |
| virtual bool | requires_a_setup_for_scoring_for_residue_opportunity_during_minimization (pose::Pose const &pose) const |
| Does this EnergyMethod require the opportunity to examine the residue before scoring begins? Not all energy methods would. The ScoreFunction will not ask energy methods to examine residues that are uninterested in doing so. More... | |
| virtual void | setup_for_scoring_for_residue (conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &sfxn, ResSingleMinimizationData &min_data) const |
| Do any setup work should the coordinates of this residue, who is still guaranteed to be of the same residue type as when setup_for_minimizing_for_residue was called, have changed so dramatically as to possibly require some amount of setup work before scoring should proceed. More... | |
| virtual bool | requires_a_setup_for_derivatives_for_residue_opportunity (pose::Pose const &pose) const |
| Does this EnergyMethod require the opportunity to examine the residue before derivative evaluation begins? Not all energy methods would. The ScoreFunction will not ask energy methods to examine residues that are uninterested in doing so. More... | |
| virtual void | setup_for_derivatives_for_residue (conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &sfxn, ResSingleMinimizationData &min_data, basic::datacache::BasicDataCache &res_data_cache) const |
| Do any setup work necessary before evaluating the derivatives for this residue. More... | |
| virtual void | eval_residue_derivatives (conformation::Residue const &rsd, ResSingleMinimizationData const &min_data, pose::Pose const &pose, EnergyMap const &weights, utility::vector1< DerivVectorPair > &atom_derivs) const |
| Evaluate the derivative for an atom in a residue 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 ResSingleMinimizationData object for the given residue in a call to prepare_for_minimization before this function is invoked. The Pose merely serves as context, and the input residue is not required to be a member of the Pose. DEPRECATED – too slow. More... | |
| virtual bool | defines_dof_derivatives (pose::Pose const &p) const |
| Use the dof_derivative interface for this energy method when calculating derivatives? It is possible to define both dof_derivatives and atom-derivatives; they are not mutually exclusive. More... | |
| virtual utility::vector1 < id::PartialAtomID > | atoms_with_dof_derivatives (conformation::Residue const &res, pose::Pose const &pose) const |
| For a particular residue, list which atoms go into defining the DOF derivatives, including any atoms on adjacent residues. The Pose is provided for context, but there is no requirement that res be a member of that Pose. More... | |
| virtual Real | eval_residue_dof_derivative (conformation::Residue const &rsd, ResSingleMinimizationData const &min_data, id::DOF_ID const &dof_id, id::TorsionID const &torsion_id, pose::Pose const &pose, ScoreFunction const &sfxn, EnergyMap const &weights) const |
| Evaluate the DOF derivative for a particular residue. The Pose merely serves as context, and the input residue is not required to be a member of the Pose. More... | |
Public Member Functions inherited from core::scoring::methods::EnergyMethod | |
| EnergyMethod (EnergyMethodCreatorOP creator) | |
| Constructor with EnergyMethodCreator, which lists the score types that this energy method is responsible for. More... | |
| virtual void | setup_for_packing (pose::Pose &, utility::vector1< bool > const &, utility::vector1< bool > const &) const |
| if an energy method needs to cache data in the Energies object, before packing begins, then it does so during this function. The packer must ensure this function is called. The default behavior is to do nothing. More... | |
| virtual void | setup_for_packing_with_rotsets (pose::Pose &pose, pack_basic::RotamerSetsBaseOP const &rotsets, ScoreFunction const &sfxn) const |
| if an energy method needs to cache data in the Energies object, before packing begins and requires access to the RotamerSets object, then it does so during this function. The default behavior is to do nothing. More... | |
| virtual void | prepare_rotamers_for_packing (pose::Pose const &, conformation::RotamerSetBase &) const |
| If an energy method needs to cache data in a packing::RotamerSet object before rotamer energies are calculated, it does so during this function. The packer must ensure this function is called. The default behavior is to do nothing. More... | |
| virtual void | update_residue_for_packing (pose::Pose &, Size resid) const |
| If the pose changes in the middle of a packing (as happens in rotamer trials) and if an energy method needs to cache data in the pose that corresponds to its current state, then the method must update that data when this function is called. The packer must ensure this function gets called. The default behavior is to do nothing. More... | |
| virtual bool | requires_a_setup_for_scoring_for_residue_opportunity_during_regular_scoring (pose::Pose const &pose) const |
| Does this EnergyMethod require the opportunity to examine the residue before (regular) scoring begins? Not all energy methods would. The ScoreFunction will not ask energy methods to examine residues that are uninterested in doing so. The default implmentation of this function returns false. More... | |
| virtual void | setup_for_scoring_for_residue (conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &sfxn, basic::datacache::BasicDataCache &residue_data_cache) const |
| Do any setup work before scoring, caching any slow-to-compute data that will be used during energy evaluation inside of the input Residue object's data cache. (The Residue on the whole is given as a constant reference, but non-constant access to its data cache is granted.) More... | |
| virtual void | setup_for_minimizing (pose::Pose &, ScoreFunction const &, kinematics::MinimizerMapBase const &) 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. More... | |
| virtual void | finalize_after_minimizing (pose::Pose &pose) const |
| Called after minimization, allowing a derived class to do some teardown steps. More... | |
| virtual void | finalize_after_derivatives (pose::Pose &, ScoreFunction const &) const |
| called at the end of derivatives evaluation More... | |
| 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. More... | |
| virtual bool | defines_high_order_terms (pose::Pose const &) const |
| Should this EnergyMethod have score and derivative evaluation evaluated both in the context of the whole Pose and in the context of residue or residue-pairs? This covers scoring terms like env-smooth wherein the CBeta's get derivatives for increasing the neighbor counts for surrounding residues, and terms like constraints, which are definable on arbitrary number of residues (e.g. more than 2); both of these terms could be used in RTMin, and both should use the residue and residue-pair evaluation scheme with the MinimizationGraph for the majority of the work they do. (Now, high-order constraints (3-body or above) will not be properly evaluated within RTMin.). The default implementation returns "false". More... | |
| ScoreTypes const & | score_types () const |
| Returns the score types that this energy method computes. More... | |
| virtual void | show_additional_info (std::ostream &, pose::Pose &, bool) const |
| show additional information of the energy method More... | |
| virtual void | provide_citation_info (basic::citation_manager::CitationCollectionList &) const |
| Provide citations to the passed CitationCollectionList Subclasses should add the info for themselves and any other classes they use. More... | |
Private Member Functions | |
| Real | eval_fa_mbenv (conformation::Atom const &atom1, Real const &f1) const |
| Evaluate Per-Atom Env term. More... | |
| core::Size | version () const override |
| Versioning. More... | |
| void | init (pose::Pose &pose) const |
| Initialize Energy Method data for derivatives. More... | |
| core::Real | compute_fa_proj (core::Real z_position, core::Real thickness, core::Real steepness) const |
| Helper Method - Compute Fa Proj. More... | |
| core::Real | compute_fa_deriv (core::Real z_position, core::Real thickness, core::Real steepness) const |
| Helper Method - Compute Fa Derivatives. More... | |
| core::Vector | compute_fa_proj_coord (core::Real z_position, core::Vector xyz, core::Vector center, core::Vector normal) const |
| Helper Method - Compute Fa Proj coordinate. More... | |
| void | setup_for_fullatom (pose::Pose &pose) const |
| Allocate memory for derivatives. More... | |
Private Attributes | |
| core::scoring::etable::MembEtableCAP | memb_etable_ |
| ObjexxFCL::FArray1< Real > const & | lk_dgrefce_ |
| ObjexxFCL::FArray1< Real > const & | memb_lk_dgrefce_ |
| Real | fa_mbenv_weight_ |
| utility::vector1 < utility::vector1< Real > > | fa_proj_ |
| utility::vector1 < utility::vector1< Real > > | fa_z_position_ |
| utility::vector1 < utility::vector1< Vector > > | fa_proj_coord_ |
| utility::vector1 < utility::vector1< Real > > | fa_proj_deriv_ |
Additional Inherited Members | |
Protected Member Functions inherited from core::scoring::methods::EnergyMethod | |
| void | set_score_types (EnergyMethodCreatorOP creator) |
| Override the entirety of the score types list if they were initialized incorrectly in a parent's constructor. More... | |
Fullatom Membrane Environment Energy.
| typedef core::scoring::methods::ContextDependentOneBodyEnergy core::energy_methods::FaMPEnvEnergy::parent |
| core::energy_methods::FaMPEnvEnergy::FaMPEnvEnergy | ( | core::scoring::etable::MembEtableCAP | memb_etable_in | ) |
Construct Energy Method from Etable.
|
overridevirtual |
Clone Energy Method.
Implements core::scoring::methods::EnergyMethod.
|
private |
Helper Method - Compute Fa Derivatives.
References core::conformation::membrane::thickness.
Referenced by init().
|
private |
Helper Method - Compute Fa Proj.
References core::conformation::membrane::thickness.
Referenced by init().
|
private |
Helper Method - Compute Fa Proj coordinate.
References core::conformation::membrane::normal, and protocols::kinmatch::xyz().
Referenced by init().
|
overridevirtual |
Evaluate Per-Atom Derivatives.
Reimplemented from core::scoring::methods::EnergyMethod.
References core::id::AtomID::atomno(), fa_mbenv_weight_, fa_proj_coord_, fa_proj_deriv_, lk_dgrefce_, memb_lk_dgrefce_, core::pose::Pose::residue(), and core::id::AtomID::rsd().
|
private |
Evaluate Per-Atom Env term.
References lk_dgrefce_, memb_lk_dgrefce_, protocols::hybridization::score, and core::conformation::Atom::type().
Referenced by residue_energy().
|
overridevirtual |
Fianlzie Total Per-Residue Energies.
Reimplemented from core::scoring::methods::EnergyMethod.
References core::scoring::FaMPEnv.
|
overridevirtual |
Fa_MbenvEnergy is context independent.
Implements core::scoring::methods::EnergyMethod.
|
private |
Initialize Energy Method data for derivatives.
References core::conformation::membrane::center, compute_fa_deriv(), compute_fa_proj(), compute_fa_proj_coord(), core::pose::Pose::conformation(), fa_proj_, fa_proj_coord_, fa_proj_deriv_, fa_z_position_, core::conformation::Residue::nheavyatoms(), core::conformation::membrane::normal, core::pose::Pose::residue(), setup_for_fullatom(), core::pose::Pose::size(), core::conformation::membrane::thickness, protocols::kinmatch::xyz(), and core::conformation::Residue::xyz().
Referenced by setup_for_derivatives(), and setup_for_scoring().
|
overridevirtual |
Compute Per-Residue Energies.
Implements core::scoring::methods::ContextDependentOneBodyEnergy.
References core::conformation::Residue::atom(), eval_fa_mbenv(), fa_proj_, core::scoring::FaMPEnv, core::conformation::Residue::nheavyatoms(), and core::conformation::Residue::seqpos().
|
overridevirtual |
Setup for Computing Derivatives.
Reimplemented from core::scoring::methods::EnergyMethod.
References fa_mbenv_weight_, core::scoring::FaMPEnv, init(), and core::scoring::ScoreFunction::weights().
|
private |
Allocate memory for derivatives.
Setup Data Members for Fullatom Info.
References fa_proj_, fa_proj_coord_, fa_proj_deriv_, fa_z_position_, protocols::mean_field::max(), core::conformation::Residue::nheavyatoms(), core::pose::Pose::residue(), and core::pose::Pose::size().
Referenced by init().
|
overridevirtual |
Setup Method for initial scoring.
Reimplemented from core::scoring::methods::EnergyMethod.
References init().
|
overrideprivatevirtual |
Versioning.
Implements core::scoring::methods::EnergyMethod.
|
mutableprivate |
Referenced by eval_atom_derivative(), and setup_for_derivatives().
|
mutableprivate |
Referenced by init(), residue_energy(), and setup_for_fullatom().
|
mutableprivate |
Referenced by eval_atom_derivative(), init(), and setup_for_fullatom().
|
mutableprivate |
Referenced by eval_atom_derivative(), init(), and setup_for_fullatom().
|
mutableprivate |
Referenced by init(), and setup_for_fullatom().
|
private |
Referenced by eval_atom_derivative(), and eval_fa_mbenv().
|
private |
|
private |
Referenced by eval_atom_derivative(), and eval_fa_mbenv().
1.8.7