Rosetta
|
#include <MHCEpitopeEnergy.hh>
Public Types | |
typedef core::scoring::methods::WholeStructureEnergy | parent1 |
typedef core::scoring::annealing::ResidueArrayAnnealableEnergy | parent2 |
![]() | |
typedef EnergyMethod | parent |
![]() | |
typedef utility::VirtualBase | parent |
Public Member Functions | |
MHCEpitopeEnergy (core::scoring::methods::EnergyMethodOptions const &options) | |
Options constructor. More... | |
MHCEpitopeEnergy (MHCEpitopeEnergy const &src) | |
Copy constructor. More... | |
~MHCEpitopeEnergy () override | |
Default destructor. More... | |
core::scoring::methods::EnergyMethodOP | clone () const override |
Clone: create a copy of this object, and return an owning pointer to the copy. More... | |
void | indicate_required_context_graphs (utility::vector1< bool > &context_graphs_required) const override |
MHCEpitopeEnergy is context-independent and thus indicates that no context graphs need to be maintained by class Energies. More... | |
core::Size | version () const override |
MHCEpitopeEnergy is version 1.0 right now. More... | |
void | finalize_total_energy (core::pose::Pose &pose, core::scoring::ScoreFunction const &, core::scoring::EnergyMap &totals) const override |
Actually calculate the total energy. More... | |
core::Real | calculate_energy (utility::vector1< core::conformation::ResidueCOP > const &resvect, utility::vector1< core::Size > const &rotamer_ids, core::Size const substitution_position=0) const override |
Calculate the total energy given a vector of const owning pointers to residues. More... | |
void | commit_considered_substitution () override |
What to do when a substitution that was considered is accepted. More... | |
void | report () const |
Get a summary of all loaded data. More... | |
void | set_up_residuearrayannealableenergy_for_packing (core::pose::Pose &pose, core::pack::rotamer_set::RotamerSets const &rotamersets, core::scoring::ScoreFunction const &sfxn) override |
Cache data from the pose in this EnergyMethod in anticipation of scoring. More... | |
void | setup_for_minimizing (pose::Pose &pose, core::scoring::ScoreFunction const &sfxn, kinematics::MinimizerMapBase const &minmap) const override |
Disable this energy during minimization. More... | |
void | finalize_after_minimizing (pose::Pose &pose) const override |
Re-enable this energy after minimization. More... | |
void | provide_citation_info (basic::citation_manager::CitationCollectionList &) const override |
Provide the citation for this energy method. More... | |
![]() | |
WholeStructureEnergy (EnergyMethodCreatorOP) | |
Constructor with EnergyMethodCreator to list the ScoreTypes computed by this WholeStructureEnergy. More... | |
~WholeStructureEnergy () override | |
EnergyMethodType | method_type () const override |
Return one of the 7 kinds of energy methods that exist: e.g. context-dependent-one-body vs whole-structure. More... | |
virtual Distance | atomic_interaction_cutoff () const |
how far apart must two heavy atoms be to have a zero interaction energy? More... | |
![]() | |
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 void | setup_for_scoring (pose::Pose &, ScoreFunction const &) const |
if an energy method needs to cache something in the pose (e.g. in pose.energies()), before scoring begins, it must do so in this method. All long range energy functions must initialize their LREnergyContainers before scoring begins. The default 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_derivatives (pose::Pose &pose, ScoreFunction const &sfxn) const |
Called immediately before atom- and DOF-derivatives are calculated allowing the derived class a chance to prepare for future calls. 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... | |
virtual bool | has_atomistic_energies () const |
Does this EnergyMethod have a non-trivial implementation of the (one body) atomistic energy method? Note that this may return false even if the score term theoretically could support atomistic energies. And even if this function returns true, it's not necessarily the case that all atoms will get assigned an energy, or that the sum over all atoms (or atom pairs) will result in the same energy as the residue-level approach. The atomistic functions are intended for supplemental informational purposes only. The residue-level energies are the main interface for EnergyMethods. More... | |
virtual bool | has_atomistic_pairwise_energies () const |
Does this EnergyMethod have a non-trivial implementation of the pairwise atomistic energy method? NOTE: all the cautions of EnergyMethod::has_atomistic_energies() apply here. More... | |
virtual void | atomistic_energy (core::Size atmno, conformation::Residue const &rsd, pose::Pose const &pose, ScoreFunction const &scorefxn, EnergyMap &emap) const |
Evaluate the (one body) energy associated with a particular atom This may be a "self" energy, or it may be the single atom contribution from a whole structure term. NOTE: all the cautions of EnergyMethod::has_atomistic_energies() apply here. For most terms this is likely a no-op. Terms which implement this non-trivially should return true from has_atomistic_energies() More... | |
virtual void | atomistic_pair_energy (core::Size atmno1, conformation::Residue const &rsd1, core::Size atomno2, conformation::Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &scorefxn, EnergyMap &emap) const |
Evaluate the energy for a particular pair of atoms This function may be fed the same residue with different atom numbers NOTE: all the cautions of EnergyMethod::has_atomistic_energies() apply here. For most terms this is likely a no-op. Terms which implement this non-trivially should return true from has_atomistic_pairwise_energies() More... | |
virtual void | 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 |
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. 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... | |
![]() | |
ResidueArrayAnnealableEnergy () | |
Constructor. More... | |
ResidueArrayAnnealableEnergy (ResidueArrayAnnealableEnergy const &src) | |
Copy constructor. More... | |
virtual | ~ResidueArrayAnnealableEnergy () |
Destructor. More... | |
virtual void | clean_up_residuearrayannealableenergy_after_packing (core::pose::Pose &pose) |
Allows the ResidueArrayAnnealableEnergy to clean up cached data, either within the EnergyMethod or in the pose, after a packer run. More... | |
Private Member Functions | |
core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetupCOP | setup_helper_cop (core::Size const index) const |
Get a const-access pointer to a setup helper object. More... | |
core::Size | setup_helper_count () const |
Get the number of setup helper objects: More... | |
void | get_helpers_from_pose (core::pose::Pose const &pose, utility::vector1< core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetupCOP > &setup_helpers, utility::vector1< core::select::residue_selector::ResidueSubset > &masks, utility::vector1< core::Real > &cst_weights) const |
Given a pose, pull out the core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetup objects stored in SequenceConstraints in the pose and append them to the setup_helpers_ vector, returning a new vector. This also generates a vector of masks simultaneously. More... | |
void | setup_symmetry (core::pose::Pose const &pose) const |
Check for symmetry and set up the symm_multipliers_ vector so that scoring is done just on the asymmetric part and scaled up accordingly. More... | |
core::Real | difference_btw_cached_and_full_rescore (utility::vector1< core::conformation::ResidueCOP > const &resvect, utility::vector1< core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetupCOP > const &setup_helpers, utility::vector1< core::select::residue_selector::ResidueSubset > const &masks, utility::vector1< core::Real > const &cst_weights) const |
Debugging function that will check total_ against a full_rescore total score, and returns the difference. More... | |
core::Real | full_rescore (utility::vector1< core::conformation::ResidueCOP > const &resvect, utility::vector1< core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetupCOP > const &setup_helpers, utility::vector1< core::select::residue_selector::ResidueSubset > const &masks, utility::vector1< core::Real > const &cst_weights, bool cache, bool native) const |
Compute and return the total score for the whole sequence (resvect), according to the given energy setups (helpers) and their focused positions (masks). More... | |
core::Real | update_score (utility::vector1< core::conformation::ResidueCOP > const &resvect, core::Size const substitution_position, utility::vector1< core::Real > const &cst_weights) const |
Update and return the total considered score for the sequence (resvect) by computing deltas for those position potentially affected by a considered mutation (at substitution_position). More... | |
Private Attributes | |
bool | disabled_ |
Is this energy disabled (e.g. for minimization)? More... | |
utility::vector1< core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetupOP > | setup_helpers_ |
The vector of helper objects that store all of the data for setting up this scoring function. More... | |
utility::vector1< core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetupCOP > | setup_helpers_for_packing_ |
A cache of the core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetup objects to be used for packing. More... | |
utility::vector1< core::select::residue_selector::ResidueSubset > | setup_helper_masks_for_packing_ |
A vector of masks corresponding to the core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetup objects in setup_helpers_for_packing_. @detalis These are generated from ResidueSelectors. More... | |
utility::vector1< core::Real > | setup_helper_weights_for_packing_ |
A vector of cst weights corresponding to the core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetup objects in setup_helpers_for_packing_. More... | |
utility::vector1< ScoreCacheOP > | score_caches_ |
@brif A cache for each of the core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetup objects in setup_helpers_for_packing_. More... | |
core::Real | total_ |
The current commited total energy. More... | |
core::Real | considered_total_ |
The current considered total energy (when considering a substitution, before commiting it) More... | |
bool | symm_ |
Is the protein symmetric? More... | |
utility::vector1< core::Size > | symm_multipliers_ |
If it is symmetric, only maintain scores (considered and accepted) for the asymmetric portions, and multiply them by these factors (a constant for each position). More... | |
const char | pad = '-' |
The character to use for padding sequences that extend past the end of a chain. More... | |
Additional Inherited Members | |
![]() | |
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... | |
typedef core::scoring::methods::WholeStructureEnergy core::energy_methods::MHCEpitopeEnergy::parent1 |
typedef core::scoring::annealing::ResidueArrayAnnealableEnergy core::energy_methods::MHCEpitopeEnergy::parent2 |
core::energy_methods::MHCEpitopeEnergy::MHCEpitopeEnergy | ( | core::scoring::methods::EnergyMethodOptions const & | options | ) |
Options constructor.
References report(), setup_helpers_, and core::energy_methods::TR().
core::energy_methods::MHCEpitopeEnergy::MHCEpitopeEnergy | ( | MHCEpitopeEnergy const & | src | ) |
Copy constructor.
References score_caches_, setup_helpers_, and setup_helpers_for_packing_.
|
overridedefault |
Default destructor.
|
overridevirtual |
Calculate the total energy given a vector of const owning pointers to residues.
Called directly by the ResidueArrayAnnealingEvaluator during packer runs.
Called directly by the ResidueArrayAnnealingEvaluator during packer runs. Requires that set_up_residuearrayannealablenergy_for_packing() be called first.
Implements core::scoring::annealing::ResidueArrayAnnealableEnergy.
References disabled_, full_rescore(), setup_helper_masks_for_packing_, setup_helper_weights_for_packing_, setup_helpers_for_packing_, and update_score().
|
overridevirtual |
Clone: create a copy of this object, and return an owning pointer to the copy.
Implements core::scoring::methods::EnergyMethod.
|
overridevirtual |
What to do when a substitution that was considered is accepted.
Reimplemented from core::scoring::annealing::ResidueArrayAnnealableEnergy.
References considered_total_, score_caches_, and total_.
|
private |
Debugging function that will check total_ against a full_rescore total score, and returns the difference.
This function essentially checks the integrity of the cache. It will add significant time to the run if used during packing, as every substitution will re-calculate the score for the entire pose. Should be used for debugging only.
References considered_total_, full_rescore(), core::scoring::packstat::old::masks, total_, and core::energy_methods::TR().
Referenced by update_score().
|
overridevirtual |
Re-enable this energy after minimization.
Reimplemented from core::scoring::methods::EnergyMethod.
References disabled_, and core::energy_methods::TR().
|
overridevirtual |
Actually calculate the total energy.
Called by the scoring machinery.
Reimplemented from core::scoring::methods::EnergyMethod.
References protocols::cluster::calibur::aa, disabled_, full_rescore(), get_helpers_from_pose(), core::conformation::Residue::get_self_ptr(), core::scoring::packstat::old::masks, core::scoring::mhc_epitope, core::chemical::num_canonical_aas, core::pose::Pose::residue(), setup_symmetry(), core::pose::Pose::size(), symm_multipliers_, and core::energy_methods::TR().
|
private |
Compute and return the total score for the whole sequence (resvect), according to the given energy setups (helpers) and their focused positions (masks).
Cache indicates whether to store the score in the score cache, while native indicates whether this is the native / reference pose for relative scoring Note that method can be called either by finalize_score (setup_helpers_ and masks_ from pose) or by calculate_energy within packing simulated annealing (set_helpers_/masks_for_packing_ initialized at start of packing)
References core::energy_methods::get_seq(), core::scoring::packstat::old::masks, core::chemical::num_canonical_aas, pad, protocols::hybridization::score, score_caches_, protocols::loops::start, protocols::loops::stop, symm_multipliers_, total_, and core::energy_methods::TR().
Referenced by calculate_energy(), difference_btw_cached_and_full_rescore(), finalize_total_energy(), and set_up_residuearrayannealableenergy_for_packing().
|
private |
Given a pose, pull out the core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetup objects stored in SequenceConstraints in the pose and append them to the setup_helpers_ vector, returning a new vector. This also generates a vector of masks simultaneously.
[in] | pose | The pose from which the core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetupCOPs will be extracted. |
[out] | setup_helpers | The output vector of core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetupCOPs that is the concatenation of those stored in setup_helpers_ and those from the pose. |
[out] | masks | The output vector of ResidueSubsets, which will be equal in size to the helpers vector. |
The output vectors are first cleared by this operation.
References core::pose::Pose::constraint_set(), core::scoring::packstat::old::masks, setup_helpers_, core::pose::Pose::size(), and core::energy_methods::TR().
Referenced by finalize_total_energy(), and set_up_residuearrayannealableenergy_for_packing().
|
overridevirtual |
MHCEpitopeEnergy is context-independent and thus indicates that no context graphs need to be maintained by class Energies.
Implements core::scoring::methods::EnergyMethod.
|
overridevirtual |
Provide the citation for this energy method.
Provides the citation for this energy method.
Reimplemented from core::scoring::methods::EnergyMethod.
void core::energy_methods::MHCEpitopeEnergy::report | ( | ) | const |
Get a summary of all loaded data.
References setup_helper_cop(), setup_helper_count(), and core::energy_methods::TR().
Referenced by MHCEpitopeEnergy().
|
overridevirtual |
Cache data from the pose in this EnergyMethod in anticipation of scoring.
Reimplemented from core::scoring::annealing::ResidueArrayAnnealableEnergy.
References disabled_, full_rescore(), get_helpers_from_pose(), core::conformation::Residue::get_self_ptr(), core::pose::Pose::residue(), score_caches_, setup_helper_masks_for_packing_, setup_helper_weights_for_packing_, setup_helpers_for_packing_, setup_symmetry(), core::pose::Pose::size(), and core::energy_methods::TR().
|
overridevirtual |
Disable this energy during minimization.
Reimplemented from core::scoring::methods::EnergyMethod.
References disabled_, and core::energy_methods::TR().
|
inlineprivate |
Get a const-access pointer to a setup helper object.
References setup_helpers_.
Referenced by report().
|
inlineprivate |
|
private |
Check for symmetry and set up the symm_multipliers_ vector so that scoring is done just on the asymmetric part and scaled up accordingly.
References core::pose::Pose::conformation_ptr(), core::pose::symmetry::is_symmetric(), core::pose::Pose::size(), symm_, symm_multipliers_, and core::energy_methods::TR().
Referenced by finalize_total_energy(), and set_up_residuearrayannealableenergy_for_packing().
|
private |
Update and return the total considered score for the sequence (resvect) by computing deltas for those position potentially affected by a considered mutation (at substitution_position).
Updates the cached per-position considered scores
References considered_total_, difference_btw_cached_and_full_rescore(), core::energy_methods::get_seq(), core::chemical::num_canonical_aas, pad, score_caches_, setup_helper_masks_for_packing_, setup_helper_weights_for_packing_, setup_helpers_for_packing_, protocols::loops::start, symm_multipliers_, total_, and core::energy_methods::TR().
Referenced by calculate_energy().
|
overridevirtual |
MHCEpitopeEnergy is version 1.0 right now.
Implements core::scoring::methods::EnergyMethod.
|
mutableprivate |
The current considered total energy (when considering a substitution, before commiting it)
Referenced by commit_considered_substitution(), difference_btw_cached_and_full_rescore(), and update_score().
|
mutableprivate |
Is this energy disabled (e.g. for minimization)?
Referenced by calculate_energy(), finalize_after_minimizing(), finalize_total_energy(), set_up_residuearrayannealableenergy_for_packing(), and setup_for_minimizing().
|
private |
The character to use for padding sequences that extend past the end of a chain.
For example, nmer SVMs require the have non-core termini that need to be padded with dummy residues to avoid skipping the first and last few peptides in scoring. Pad with something that guarantees not to be scored. I think NetMHC actually scores an 'X', so using '-' here, but can change as needed.
Referenced by full_rescore(), and update_score().
|
private |
@brif A cache for each of the core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetup objects in setup_helpers_for_packing_.
Referenced by commit_considered_substitution(), full_rescore(), MHCEpitopeEnergy(), set_up_residuearrayannealableenergy_for_packing(), and update_score().
|
private |
A vector of masks corresponding to the core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetup objects in setup_helpers_for_packing_. @detalis These are generated from ResidueSelectors.
Referenced by calculate_energy(), set_up_residuearrayannealableenergy_for_packing(), and update_score().
|
private |
A vector of cst weights corresponding to the core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetup objects in setup_helpers_for_packing_.
Referenced by calculate_energy(), set_up_residuearrayannealableenergy_for_packing(), and update_score().
|
private |
The vector of helper objects that store all of the data for setting up this scoring function.
Initialized on scoreterm initialization.
Referenced by get_helpers_from_pose(), MHCEpitopeEnergy(), setup_helper_cop(), and setup_helper_count().
|
private |
A cache of the core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetup objects to be used for packing.
This is the list in setup_helpers_ plus all of the core::scoring::mhc_epitope_energy::MHCEpitopeEnergySetup objects stored in MHCEpitopeConstraint objects in the pose. Initialized by the ResidueArrayAnnealingEvaluator in its initialize() function.
Referenced by calculate_energy(), MHCEpitopeEnergy(), set_up_residuearrayannealableenergy_for_packing(), and update_score().
|
mutableprivate |
Is the protein symmetric?
Referenced by setup_symmetry().
|
mutableprivate |
If it is symmetric, only maintain scores (considered and accepted) for the asymmetric portions, and multiply them by these factors (a constant for each position).
The value 0 indicates that the position is in a symmetric clone.
Referenced by finalize_total_energy(), full_rescore(), setup_symmetry(), and update_score().
|
mutableprivate |
The current commited total energy.
Referenced by commit_considered_substitution(), difference_btw_cached_and_full_rescore(), full_rescore(), and update_score().