Rosetta Core  2014.35
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
core::scoring::methods::LinearChainbreakEnergy Class Reference

LinearChainbreakEnergy class iterates across all residues in finalize() and determines the penalty between residues i and i+1 by how much their psueduo atoms do not align. More...

#include <LinearChainbreakEnergy.hh>

Public Types

typedef WholeStructureEnergy parent
 
- Public Types inherited from core::scoring::methods::WholeStructureEnergy
typedef EnergyMethod parent
 
- Public Types inherited from core::scoring::methods::EnergyMethod
typedef
utility::pointer::ReferenceCount 
parent
 

Public Member Functions

 LinearChainbreakEnergy ()
 
 LinearChainbreakEnergy (Size allowable_sequence_sep)
 
 LinearChainbreakEnergy (const LinearChainbreakEnergy &)
 The auto-generated copy constructor does not properly handle smart pointer types, so we must explicitly define our own. More...
 
LinearChainbreakEnergyoperator= (const LinearChainbreakEnergy &)
 The auto-generated operator=() method does not properly handle pointer types. More...
 
 ~LinearChainbreakEnergy ()
 
virtual EnergyMethodOP clone () const
 clone More...
 
virtual void finalize_total_energy (pose::Pose &pose, ScoreFunction const &, EnergyMap &totals) const
 called at the end of energy evaluation More...
 
virtual void eval_atom_derivative (id::AtomID const &id, pose::Pose const &pose, kinematics::DomainMap const &domain_map, ScoreFunction const &sfxn, EnergyMap const &weights, Vector &F1, Vector &F2) const
 called during gradient-based minimization inside dfunc More...
 
virtual void indicate_required_context_graphs (utility::vector1< bool > &) const
 LinearChainbreak Energy is context independent and thus indicates that no context graphs need to be maintained by class Energies. More...
 
- Public Member Functions inherited from core::scoring::methods::WholeStructureEnergy
 WholeStructureEnergy (EnergyMethodCreatorOP)
 Constructor with EnergyMethodCreator to list the ScoreTypes computed by this WholeStructureEnergy. More...
 
virtual ~WholeStructureEnergy ()
 
EnergyMethodType method_type () const
 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...
 
- 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...
 
 EnergyMethod (EnergyMethod const &src)
 Copy constructor copies over the score types of the source. More...
 
virtual ~EnergyMethod ()
 
virtual void setup_for_packing (pose::Pose &, utility::vector1< bool > const &, utility::vector1< bool > const &) const
 
virtual void prepare_rotamers_for_packing (pose::Pose const &, conformation::RotamerSetBase &) const
 
virtual void update_residue_for_packing (pose::Pose &, Size resid) const
 ensure this function gets called. The default behavior is to do nothing. More...
 
virtual void setup_for_scoring (pose::Pose &, ScoreFunction const &) const
 
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 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...
 
ScoreTypes const & score_types () const
 Returns the score types that this energy method computes. More...
 

Private Member Functions

core::Real do_score_dev (const core::conformation::Residue &lower_rsd, const core::conformation::Residue &upper_rsd, const core::Size nbb) const
 
core::Real do_score_ovp (const core::conformation::Residue &lower_rsd, const core::conformation::Residue &upper_rsd, const core::Size nbb, const core::Size cutpoint, const core::pose::Pose &pose) const
 
void initialize (Size allowable_sequence_sep)
 
virtual core::Size version () const
 Return the version of the energy method. More...
 

Private Attributes

Size allowable_sequence_sep_
 
scoped_ptr
< ShortestPathInFoldTree
shortest_paths_
 
std::size_t previous_hash_value_
 

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...
 

Detailed Description

LinearChainbreakEnergy class iterates across all residues in finalize() and determines the penalty between residues i and i+1 by how much their psueduo atoms do not align.

Calculates both linear_chainbreak and overlap_chainbreak terms. linear_chainbreak measures 3 distances (cutpoint variants must be added to pose): 1) virt CA res1 -> CA res2 2) virt C res1 -> C res2 3) N res1 -> virt N res2 score = 1 + 2+ 3 /3

For ideal poses, this score should be very close to 0. Real PDBs, however have bond length and angle deviations that will cause this score to be fairly high.

See Also: protocols/forge/chainbreak_eval.hh

Member Typedef Documentation

Constructor & Destructor Documentation

core::scoring::methods::LinearChainbreakEnergy::LinearChainbreakEnergy ( )

References initialize().

Referenced by clone().

core::scoring::methods::LinearChainbreakEnergy::LinearChainbreakEnergy ( Size  allowable_sequence_sep)
explicit

References initialize().

core::scoring::methods::LinearChainbreakEnergy::LinearChainbreakEnergy ( const LinearChainbreakEnergy o)

The auto-generated copy constructor does not properly handle smart pointer types, so we must explicitly define our own.

References allowable_sequence_sep_, previous_hash_value_, and shortest_paths_.

core::scoring::methods::LinearChainbreakEnergy::~LinearChainbreakEnergy ( )

Member Function Documentation

virtual EnergyMethodOP core::scoring::methods::LinearChainbreakEnergy::clone ( ) const
inlinevirtual
core::Real core::scoring::methods::LinearChainbreakEnergy::do_score_dev ( const core::conformation::Residue lower_rsd,
const core::conformation::Residue upper_rsd,
const core::Size  nbb 
) const
private
core::Real core::scoring::methods::LinearChainbreakEnergy::do_score_ovp ( const core::conformation::Residue lower_rsd,
const core::conformation::Residue upper_rsd,
const core::Size  nbb,
const core::Size  cutpoint,
const core::pose::Pose pose 
) const
private
void core::scoring::methods::LinearChainbreakEnergy::eval_atom_derivative ( id::AtomID const &  id,
pose::Pose const &  pose,
kinematics::DomainMap const &  domain_map,
ScoreFunction const &  sfxn,
EnergyMap const &  weights,
Vector F1,
Vector F2 
) const
virtual

called during gradient-based minimization inside dfunc

F1 and F2 are not zeroed – contributions from this atom are just summed in

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

References cross(), core::scoring::methods::is_lower_cutpoint(), core::scoring::methods::is_upper_cutpoint(), numeric::xyzVector< class >::length(), core::scoring::linear_chainbreak, match, residue, core::pose::Pose::residue(), xyz, and core::pose::Pose::xyz().

void core::scoring::methods::LinearChainbreakEnergy::finalize_total_energy ( pose::Pose pose,
ScoreFunction const &  ,
EnergyMap totals 
) const
virtual
void core::scoring::methods::LinearChainbreakEnergy::indicate_required_context_graphs ( utility::vector1< bool > &  ) const
virtual

LinearChainbreak Energy is context independent and thus indicates that no context graphs need to be maintained by class Energies.

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

void core::scoring::methods::LinearChainbreakEnergy::initialize ( Size  allowable_sequence_sep)
private
LinearChainbreakEnergy & core::scoring::methods::LinearChainbreakEnergy::operator= ( const LinearChainbreakEnergy o)

The auto-generated operator=() method does not properly handle pointer types.

References allowable_sequence_sep_, previous_hash_value_, and shortest_paths_.

core::Size core::scoring::methods::LinearChainbreakEnergy::version ( ) const
privatevirtual

Return the version of the energy method.

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

Member Data Documentation

Size core::scoring::methods::LinearChainbreakEnergy::allowable_sequence_sep_
private
std::size_t core::scoring::methods::LinearChainbreakEnergy::previous_hash_value_
mutableprivate
scoped_ptr<ShortestPathInFoldTree> core::scoring::methods::LinearChainbreakEnergy::shortest_paths_
mutableprivate

The documentation for this class was generated from the following files: