Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G > Class Template Reference

Defines an edge between a FirstClass (HPatchNode) and a background node (HPatchBackgroundNode) More...

#include <HPatchInteractionGraph.hh>

Inheritance diagram for core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >:
Inheritance graph
[legend]

Public Types

typedef
BackgroundToFirstClassEdge< V,
E, G
parent
 
- Public Types inherited from core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >
typedef std::list
< BackgroundToFirstClassEdge
< V, E, G > * >::iterator 
BackgroundEdgeListIter
 

Public Member Functions

 HPatchBackgroundEdge (AdditionalBackgroundNodesInteractionGraph< V, E, G > *owner, int first_class_node_index, int background_node_index)
 main constructor More...
 
 ~HPatchBackgroundEdge () override
 
void prepare_for_simulated_annealing () override
 Invoked by AdditionalBackgroundNodesInteractionGraph::prepare_for_simulated_annealing. More...
 
void initialize_overlap_cache (RotamerDots const &bg_residue)
 compute the sphere overlaps of the background node with every state on the first class node. The HPatchBackgroundEdge hands its stl vector of RotamerDotsCache objects (node_states_coverage_of_bg_res) to the HPatchNode More...
 
void acknowledge_state_change (int new_state)
 bookkeeping in response to a HPatchNode switching states (without having gone through the usual consider-substitution/commit-substitution pattern). More...
 
Real update_state_at_neighbor (int alt_state)
 returns the change in hpatch energy produced by a background node in response to a considered state substitution of the first class node More...
 
void acknowledge_substitution ()
 bookkeeping in response to the HPatchNode committing the considered substitution More...
 
utility::vector1
< utility::vector1< bool >
> const & 
get_atom_atom_overlaps_for_state (Size state) const
 Returns a const reference to the atom-x-atom-pair vector-of-vectors of bools that specifies which atoms are overlapping, assuming the alternate state assignment. More...
 
unsigned int count_static_memory () const override
 
unsigned int count_dynamic_memory () const override
 Returns an int representing the amount of memory in bytes used by this node. More...
 
- Public Member Functions inherited from core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >
virtual ~BackgroundToFirstClassEdge ()
 virtual destructor. The edge removes itself from the graph by informing the two vertices its incident upon to drop it from their edge lists. Constant time edge removal. More...
 
 BackgroundToFirstClassEdge (AdditionalBackgroundNodesInteractionGraph< V, E, G > *owner, int fc_node_index, int bg_node_index)
 BackgroundToFirstClassEdge constructor - no default or copy constructors; no operator =. More...
 
int get_first_class_node_index () const
 
int get_background_node_index () const
 
int get_other_ind (FirstClassNode< V, E, G > *) const
 returns the index of the second class node More...
 
int get_other_ind (BackgroundNode< V, E, G > *) const
 returns the index of the first class node More...
 
FirstClassNode< V, E, G > * get_other_node (BackgroundNode< V, E, G > *) const
 returns a pointer to the first class node More...
 
BackgroundNode< V, E, G > * get_other_node (FirstClassNode< V, E, G > *) const
 returns a pointer to the second class node More...
 
void set_pos_in_owners_list (BackgroundEdgeListIter)
 stores the iterator to this edge in the owning graph's list of background-to-first-class edges. More...
 
void set_pos_in_node_edgevector (FirstClassNode< V, E, G > *caller, int pos)
 stores the index of this edge in its first class node's edge vector More...
 
void set_pos_in_node_edgevector (BackgroundNode< V, E, G > *caller, int pos)
 stores the index of this edge in its second class node's edge vector More...
 
bool same_edge (int fc_node_index, int bg_node_index) const
 returns true if this node is incident upon the two input vertex indices More...
 
bool bgtfce_marked_for_deletion ()
 

Protected Member Functions

HPatchNode< V, E, G > * get_hpatch_node () const
 
HPatchBackgroundNode< V, E, G > * get_hpatch_bg_node () const
 
- Protected Member Functions inherited from core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >
FirstClassNode< V, E, G > * get_first_class_node () const
 
BackgroundNode< V, E, G > * get_background_node () const
 
AdditionalBackgroundNodesInteractionGraph
< V, E, G > * 
get_owner () const
 
void bgtfce_mark_edge_for_deletion ()
 

Private Member Functions

 HPatchBackgroundEdge ()
 
 HPatchBackgroundEdge (HPatchBackgroundEdge< V, E, G > const &)
 
HPatchBackgroundEdge< V, E, G > & operator= (HPatchBackgroundEdge< V, E, G > const &)
 

Private Attributes

bool prepared_for_simA_
 
Size bg_res_num_atoms_
 
std::vector< RotamerDotsCachenode_states_coverage_of_bg_res_
 
int nodes_curr_state_
 
int nodes_alt_state_
 
RotamerDotsCache curr_dots_cache_
 
RotamerDotsCache alt_dots_cache_
 
std::vector< utility::vector1
< utility::vector1< bool > > > 
node_states_overlap_with_bg_res_
 
utility::vector1< std::pair
< Size, Size > > 
curr_state_exolap_hphobes_
 pairs of hphobes that have exposed overlap More...
 
utility::vector1< std::pair
< Size, Size > > 
alt_state_exolap_hphobes_
 

Detailed Description

template<typename V, typename E, typename G>
class core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >

Defines an edge between a FirstClass (HPatchNode) and a background node (HPatchBackgroundNode)

In addition to implementing the virtual base class methods, this class additionally defines methods relating to keeping track of data relating to SASA/hpatch.

Member Typedef Documentation

template<typename V, typename E, typename G>
typedef BackgroundToFirstClassEdge< V, E, G > core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::parent

Constructor & Destructor Documentation

template<typename V , typename E , typename G >
core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::HPatchBackgroundEdge ( AdditionalBackgroundNodesInteractionGraph< V, E, G > *  owner,
int  first_class_node_index,
int  background_node_index 
)

main constructor

template<typename V , typename E , typename G >
core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::~HPatchBackgroundEdge ( )
override
template<typename V, typename E, typename G>
core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::HPatchBackgroundEdge ( )
private
template<typename V, typename E, typename G>
core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::HPatchBackgroundEdge ( HPatchBackgroundEdge< V, E, G > const &  )
private

Member Function Documentation

template<typename V , typename E , typename G >
void core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::acknowledge_state_change ( int  new_state)

bookkeeping in response to a HPatchNode switching states (without having gone through the usual consider-substitution/commit-substitution pattern).

State "0" is handled by the HPatchBackgroundEdge just like any other state. The dot overlap cache is simply empty: the unassigned state induces no overlap on the background node. The HPatchBackgroundEdge keeps a stl vector of RotamerDotCaches. Position 0 in that vector holds a Cache object of nothing but 0's.

template<typename V , typename E , typename G >
void core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::acknowledge_substitution ( )

bookkeeping in response to the HPatchNode committing the considered substitution

template<typename V , typename E , typename G >
unsigned int core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::count_dynamic_memory ( ) const
overridevirtual

Returns an int representing the amount of memory in bytes used by this node.

Remarks
return 0 because no memory is dynamically allocated for these edges.

Reimplemented from core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >.

template<typename V , typename E , typename G >
unsigned int core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::count_static_memory ( ) const
overridevirtual
template<typename V , typename E , typename G >
utility::vector1< utility::vector1< bool > > const & core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::get_atom_atom_overlaps_for_state ( Size  state) const

Returns a const reference to the atom-x-atom-pair vector-of-vectors of bools that specifies which atoms are overlapping, assuming the alternate state assignment.

template<typename V, typename E, typename G>
HPatchBackgroundNode< V, E, G >* core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::get_hpatch_bg_node ( ) const
inlineprotected
template<typename V, typename E, typename G>
HPatchNode< V, E, G >* core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::get_hpatch_node ( ) const
inlineprotected
template<typename V , typename E , typename G >
void core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::initialize_overlap_cache ( RotamerDots const &  bg_residue_dots)

compute the sphere overlaps of the background node with every state on the first class node. The HPatchBackgroundEdge hands its stl vector of RotamerDotsCache objects (node_states_coverage_of_bg_res) to the HPatchNode

Called during the prep for simA method in HPatchBGNodes. This method in turn calls a HPatchNode method, init_overlap_with_background to set the vector of RDC object pointers.

References core::pack::interaction_graph::RotamerDots::get_num_atoms().

template<typename V, typename E, typename G>
HPatchBackgroundEdge< V, E, G >& core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::operator= ( HPatchBackgroundEdge< V, E, G > const &  )
private
template<typename V , typename E , typename G >
void core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::prepare_for_simulated_annealing ( )
overridevirtual

Invoked by AdditionalBackgroundNodesInteractionGraph::prepare_for_simulated_annealing.

Remarks
The HPatchBackgroundEdge has no responsibilities in this function. However, when the AdditionalBackgroundNodesInteractionGraph invokes prepare_for_simulated_annealing on the HPatchBackgroundNode that this edge is incident upon, that node will invoke initialize_overlap_cache on this edge.

Implements core::pack::interaction_graph::BackgroundToFirstClassEdge< V, E, G >.

template<typename V , typename E , typename G >
Real core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::update_state_at_neighbor ( int  alt_state)

returns the change in hpatch energy produced by a background node in response to a considered state substitution of the first class node

Member Data Documentation

template<typename V, typename E, typename G>
RotamerDotsCache core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::alt_dots_cache_
private
template<typename V, typename E, typename G>
utility::vector1< std::pair< Size, Size > > core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::alt_state_exolap_hphobes_
private
template<typename V, typename E, typename G>
Size core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::bg_res_num_atoms_
private
template<typename V, typename E, typename G>
RotamerDotsCache core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::curr_dots_cache_
private
template<typename V, typename E, typename G>
utility::vector1< std::pair< Size, Size > > core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::curr_state_exolap_hphobes_
private

pairs of hphobes that have exposed overlap

template<typename V, typename E, typename G>
std::vector< RotamerDotsCache > core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::node_states_coverage_of_bg_res_
private
template<typename V, typename E, typename G>
std::vector< utility::vector1< utility::vector1< bool > > > core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::node_states_overlap_with_bg_res_
private
template<typename V, typename E, typename G>
int core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::nodes_alt_state_
private
template<typename V, typename E, typename G>
int core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::nodes_curr_state_
private
template<typename V, typename E, typename G>
bool core::pack::interaction_graph::HPatchBackgroundEdge< V, E, G >::prepared_for_simA_
private

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