Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
core::pack::interaction_graph::SimpleInteractionGraph Class Reference

A simple graph class for calculating pairwise decomposable energies as sidechains are moving on a fixed backbone. This class is responsible for calculating energy changes, but is passive about how the sidechains are changing. There are two main ways to drive the graph: one where the graph ACTIVELY takes charge of updating pointers to the sidechains, where, each external change of one pointer triggers an update to the energies; and a second, where the graph is PASSIVE wrt the pointers, and they must be maintained by an external driver. More...

#include <SimpleInteractionGraph.hh>

Inheritance diagram for core::pack::interaction_graph::SimpleInteractionGraph:
Inheritance graph
[legend]

Public Member Functions

 SimpleInteractionGraph ()
 
 ~SimpleInteractionGraph () override
 
virtual void set_scorefunction (scoring::ScoreFunction const &sfxn)
 
scoring::ScoreFunction const & scorefunction () const
 
std::list
< scoring::methods::EnergyMethodCOP >
const & 
setup_for_scoring_for_residue_energy_methods ()
 
pose::Pose const & pose () const
 
pose::PoseCOP pose_cop () const
 
virtual void initialize (pose::Pose const &pose)
 Initialization where the graph adds its own edges; use set_pose_no_initialize if the edges should be added externally. Assumes that the pose does not change its sequence. More...
 
virtual void initialize (pose::Pose const &pose, task::PackerTaskCOP task)
 Initialization where the graph creates a packer-neighbor graph from the input packer task so that edges between residues that might become larger than they are in the input Pose (e.g., GLY –> ARG mutation) can be added to the graph. More...
 
virtual void set_pose_no_initialize (pose::Pose const &pose)
 Initialize the graph so that all nodes take their current state from the input Pose – this does not add any edges to the graph. More...
 
virtual void setup_after_edge_addition ()
 If set_pose_no_initialize was called, then after edges have been added. This function will also do any bookkeeping necessary before the start of simulated annealing. More...
 
virtual void commit_change (Size node_id)
 
virtual void reject_change (Size node_id, conformation::ResidueCOP res, basic::datacache::BasicDataCache &residue_data_cache)
 
virtual Real consider_substitution (Size node_id, conformation::ResidueCOP new_state, basic::datacache::BasicDataCache &residue_data_cache)
 
virtual Real total_energy ()
 
Size count_static_memory () const override
 
Size count_dynamic_memory () const override
 
void delete_edge (utility::graph::Edge *) override
 
SimpleNodeget_simple_node (Size ind)
 
SimpleNode const * get_simple_node (Size ind) const
 
conformation::ResidueCOP get_current_for_node (Size id) const
 
conformation::ResidueCOP get_alternate_for_node (Size id) const
 

Protected Member Functions

utility::graph::Node * create_new_node (Size node_index) override
 
utility::graph::Edge * create_new_edge (Size index1, platform::Size index2) override
 

Private Attributes

scoring::ScoreFunctionOP sfxn_
 
std::list
< scoring::methods::EnergyMethodCOP
sfs_energy_methods_
 
pose::PoseCOP pose_
 

Detailed Description

A simple graph class for calculating pairwise decomposable energies as sidechains are moving on a fixed backbone. This class is responsible for calculating energy changes, but is passive about how the sidechains are changing. There are two main ways to drive the graph: one where the graph ACTIVELY takes charge of updating pointers to the sidechains, where, each external change of one pointer triggers an update to the energies; and a second, where the graph is PASSIVE wrt the pointers, and they must be maintained by an external driver.

Constructor & Destructor Documentation

core::pack::interaction_graph::SimpleInteractionGraph::SimpleInteractionGraph ( )
core::pack::interaction_graph::SimpleInteractionGraph::~SimpleInteractionGraph ( )
overridedefault

Member Function Documentation

void core::pack::interaction_graph::SimpleInteractionGraph::commit_change ( Size  node_id)
virtual
Real core::pack::interaction_graph::SimpleInteractionGraph::consider_substitution ( Size  node_id,
conformation::ResidueCOP  new_state,
basic::datacache::BasicDataCache &  residue_data_cache 
)
virtual

Note, this function returns (currE - altE) which represents the negative of the change in energy for the substition

Reimplemented in core::pack::interaction_graph::NPDHBSimpleInteractionGraph.

Referenced by core::pack::interaction_graph::NPDHBSimpleInteractionGraph::consider_substitution(), and core::pack::off_rotamer_pack_optimize().

Size core::pack::interaction_graph::SimpleInteractionGraph::count_dynamic_memory ( ) const
inlineoverride
Size core::pack::interaction_graph::SimpleInteractionGraph::count_static_memory ( ) const
inlineoverride
Edge * core::pack::interaction_graph::SimpleInteractionGraph::create_new_edge ( platform::Size  index1,
platform::Size  index2 
)
overrideprotected
Node * core::pack::interaction_graph::SimpleInteractionGraph::create_new_node ( platform::Size  node_index)
overrideprotected
void core::pack::interaction_graph::SimpleInteractionGraph::delete_edge ( utility::graph::Edge *  edge)
override
conformation::ResidueCOP core::pack::interaction_graph::SimpleInteractionGraph::get_alternate_for_node ( Size  id) const
inline
conformation::ResidueCOP core::pack::interaction_graph::SimpleInteractionGraph::get_current_for_node ( Size  id) const
inline
SimpleNode* core::pack::interaction_graph::SimpleInteractionGraph::get_simple_node ( Size  ind)
inline
SimpleNode const* core::pack::interaction_graph::SimpleInteractionGraph::get_simple_node ( Size  ind) const
inline
void core::pack::interaction_graph::SimpleInteractionGraph::initialize ( pose::Pose const &  pose)
virtual

Initialization where the graph adds its own edges; use set_pose_no_initialize if the edges should be added externally. Assumes that the pose does not change its sequence.

Reimplemented in core::pack::interaction_graph::NPDHBSimpleInteractionGraph.

References core::pack::task::TaskFactory::create_packer_task(), and core::pose::Pose::total_residue().

Referenced by core::pack::interaction_graph::NPDHBSimpleInteractionGraph::initialize().

void core::pack::interaction_graph::SimpleInteractionGraph::initialize ( pose::Pose const &  pose,
task::PackerTaskCOP  task 
)
virtual

Initialization where the graph creates a packer-neighbor graph from the input packer task so that edges between residues that might become larger than they are in the input Pose (e.g., GLY –> ARG mutation) can be added to the graph.

References core::pack::interaction_graph::SimpleEdge::calc_long_range(), core::pack::interaction_graph::SimpleEdge::calc_short_range(), core::pack::interaction_graph::SimpleEdge::compute_energy(), core::pack::create_packer_graph(), core::pose::Pose::energies(), core::scoring::Energies::long_range_container(), pose_, set_pose_no_initialize(), sfxn_, and core::pack::interaction_graph::TR().

pose::Pose const& core::pack::interaction_graph::SimpleInteractionGraph::pose ( ) const
inline
pose::PoseCOP core::pack::interaction_graph::SimpleInteractionGraph::pose_cop ( ) const

References pose_.

void core::pack::interaction_graph::SimpleInteractionGraph::reject_change ( Size  node_id,
conformation::ResidueCOP  res,
basic::datacache::BasicDataCache &  residue_data_cache 
)
virtual
scoring::ScoreFunction const& core::pack::interaction_graph::SimpleInteractionGraph::scorefunction ( ) const
inline
void core::pack::interaction_graph::SimpleInteractionGraph::set_pose_no_initialize ( pose::Pose const &  pose)
virtual

Initialize the graph so that all nodes take their current state from the input Pose – this does not add any edges to the graph.

Reimplemented in core::pack::interaction_graph::NPDHBSimpleInteractionGraph.

References pose(), pose_, sfs_energy_methods_, sfxn_, and core::pose::Pose::size().

Referenced by initialize(), and core::pack::interaction_graph::NPDHBSimpleInteractionGraph::set_pose_no_initialize().

void core::pack::interaction_graph::SimpleInteractionGraph::set_scorefunction ( scoring::ScoreFunction const &  sfxn)
virtual
void core::pack::interaction_graph::SimpleInteractionGraph::setup_after_edge_addition ( )
virtual

If set_pose_no_initialize was called, then after edges have been added. This function will also do any bookkeeping necessary before the start of simulated annealing.

Reimplemented in core::pack::interaction_graph::NPDHBSimpleInteractionGraph.

References pose_.

std::list< scoring::methods::EnergyMethodCOP > const& core::pack::interaction_graph::SimpleInteractionGraph::setup_for_scoring_for_residue_energy_methods ( )
inline

References sfs_energy_methods_.

Real core::pack::interaction_graph::SimpleInteractionGraph::total_energy ( )
virtual

Member Data Documentation

pose::PoseCOP core::pack::interaction_graph::SimpleInteractionGraph::pose_
private
std::list< scoring::methods::EnergyMethodCOP > core::pack::interaction_graph::SimpleInteractionGraph::sfs_energy_methods_
private
scoring::ScoreFunctionOP core::pack::interaction_graph::SimpleInteractionGraph::sfxn_
private

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