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

#include <SymmLinMemInteractionGraph.hh>

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

Public Member Functions

 SymmLinearMemNode (InteractionGraphBase *owner, int node_id, int num_states)
 main constructor, no default ctor, uncopyable More...
 
 ~SymmLinearMemNode () override
 virtual dstor More...
 
void prepare_for_simulated_annealing () override
 symmlinmem ig does not have to do anything before sim annealing begins More...
 
void print () const override
 write internal energy and bookkeeping data to standard out More...
 
bool state_unassigned () const override
 state 0 represents the unasigned state More...
 
virtual core::PackerEnergy get_totalE () const
 return the total energy for this node; includes full energies to neighboring residues More...
 
void assign_zero_state () override
 set to state 0 More...
 
void assign_state (int new_state)
 set to a particular state – updates the energies internally More...
 
void partial_assign_state (int new_state)
 first half of an entire-graph state assignment that avoids unnecessary energy updates as produced in assign_state. Adjust all node's states first, then update all energies. More...
 
void complete_state_assignment ()
 second half of the entire-graph state assignment. More...
 
int get_current_state () const
 return the index of the currently assigned state More...
 
int get_curr_state_recent_state_id () const
 return the "recent state id" for the currently assigned state More...
 
core::PackerEnergy get_one_body_energy_current_state () const
 return the one-body energy for the currently assigned state More...
 
core::PackerEnergy project_deltaE_for_substitution (int alternate_state, core::PackerEnergy &prev_node_energy)
 compute the change in energy induced by substituting the currently assigned state with some alternative state More...
 
void commit_considered_substitution ()
 proceed to change the currently assigned state to the alternative state considered in the last call to project_deltaE_for_substitution More...
 
void acknowledge_last_substititon_not_committed ()
 update bookkeeping info to acknolwedge that the last alternative state considered was not in fact chosen for the currently assigned state. More...
 
core::PackerEnergy compute_pair_energy_for_current_state (int edge_making_energy_request)
 comupute the interaction energy between the currently assigned state on this residue and the currently assigned state on a neighboring residue, identified by the index of the edge connecting the two More...
 
core::PackerEnergy compute_pair_energy_for_alternate_state (int edge_making_energy_request)
 comupute the interaction energy between the alternate state being considered on this residue and the currently assigned state on a neighboring residue, identified by the index of the edge connecting the two More...
 
void acknowledge_neighbors_state_substitution (int edge_to_altered_neighbor, core::PackerEnergy new_edge_energy, int other_node_new_state, int other_node_recent_history_index)
 
void acknowledge_neighbors_partial_state_substitution (int edge_to_altered_neighbor, int other_node_new_state, int other_state_recent_history_index)
 
void set_recent_history_size (int num_states_to_maintain_in_recent_history)
 
int get_recent_history_size () const
 
void print_internal_energies () const
 
void update_internal_energy_sums ()
 
unsigned int count_static_memory () const override
 
unsigned int count_dynamic_memory () const override
 memory accounting scheme More...
 
SymmLinearMemEdge const * get_incident_symmlinmem_edge (int index) const
 
SymmLinearMemEdgeget_incident_symmlinmem_edge (int index)
 
SymmLinearMemNode const * get_adjacent_symmlinmem_node (int index) const
 
SymmLinearMemNodeget_adjacent_symmlinmem_node (int index)
 
SymmLinearMemoryInteractionGraph
const * 
get_symmlinmem_ig_owner () const
 
SymmLinearMemoryInteractionGraphget_symmlinmem_ig_owner ()
 
- Public Member Functions inherited from core::pack::interaction_graph::SymmOnTheFlyNode
 SymmOnTheFlyNode (InteractionGraphBase *owner, int node_id, int num_states)
 main constructor, no default or copy constructors More...
 
 ~SymmOnTheFlyNode () override
 
void set_rotamers (rotamer_set::RotamerSetCOP rotamers)
 
void zero_one_body_energies () override
 
void add_to_one_body_energies (ObjexxFCL::FArray1< core::PackerEnergy > &energy1b) override
 
void update_one_body_energy (int state, core::PackerEnergy energy) override
 
virtual void set_one_body_energy (int state, core::PackerEnergy energy)
 
void add_to_one_body_energy (int state, core::PackerEnergy energy) override
 
virtual void zero_one_body_energy (int state)
 
int get_num_res_types () const
 the number of distinct ResidueType objects pointed to by all of the rotamrs for this node. More...
 
int get_num_restype_groups () const
 the number of ResidueType groups, as defined by the RotamerSet's logic for grouping different ResidueType objects which have the same "name3" and the same neighbor radius. More...
 
utility::vector1< int > & get_num_states_for_restype_group ()
 
utility::vector1< int > const & get_num_states_for_restype_group () const
 
int get_num_states_for_restype_group (int restype_group)
 
int get_state_offset_for_restype_group (int restype_group) const
 
core::PackerEnergy get_one_body_energy (int state) const
 
bool distinguish_backbone_and_sidechain () const
 
void distinguish_backbone_and_sidechain (bool setting)
 
unsigned int count_dynamic_memory () const override
 
core::PackerEnergy compute_rotamer_pair_energy (int edge_making_energy_request, int state_this, int state_other) const
 
conformation::Residue const & get_rotamer (int state, int subunit) const
 Returns a reference to the rotamer object in the requested subunit. This reference is valid only until the next call to get_rotamer, and which point, the coordinates inside the requested rotamer may change. More...
 
conformation::Residue const & get_asu_rotamer (int state) const
 Returns a reference to the rotamer object in the asymmetric unit. More...
 
BoundingSphere sc_bounding_sphere (int state, int subunit) const
 Returns a bounding sphere for the sidechain of a given state on a particular subunit. More...
 
BoundingSphere bb_bounding_sphere (int subunit) const
 Returns a bounding sphere for the backbone on a particular subunit. More...
 
SymmOnTheFlyEdgeget_incident_otf_edge (int edge)
 
SymmOnTheFlyEdge const * get_incident_otf_edge (int edge) const
 
SymmOnTheFlyNodeget_adjacent_otf_node (int index)
 
SymmOnTheFlyNode const * get_adjacent_otf_node (int index) const
 
SymmOnTheFlyInteractionGraphget_on_the_fly_owner ()
 
SymmOnTheFlyInteractionGraph
const * 
get_on_the_fly_owner () const
 
- Public Member Functions inherited from core::pack::interaction_graph::FixedBBNode
 ~FixedBBNode () override
 
 FixedBBNode (InteractionGraphBase *owner, int node_id, int num_states)
 
- Public Member Functions inherited from core::pack::interaction_graph::NodeBase
virtual ~NodeBase ()
 virtual destructor More...
 
 NodeBase (InteractionGraphBase *, int node_id, int num_states)
 Main constructor, no default constructor nor copy constructor. More...
 
int get_num_states () const
 returns the number of states for this node More...
 
std::list< EdgeBase * >::iterator add_edge (EdgeBase *edge_ptr)
 adds edge pointer to edge list; returns an iterator to the new list element More...
 
void drop_edge (std::list< EdgeBase * >::iterator edge_iterator)
 removes an edge iterator from the node's edge list More...
 
void drop_all_edges ()
 deletes all edges incident upon this node More...
 
EdgeBasefind_edge (int other_node_index) const
 a slow (linear) search for an edge. The edge is identified by the index of the node to which the edge connects this node. Returns NULL when there is no such connecting edge. More...
 
void depth_first_connected_component_counting ()
 performs a depth first traversal of the graph. Each node informs the graph that the traversal resulted in arriving at the node. More...
 
std::list< EdgeBase * >
::const_iterator 
edge_list_begin ()
 
std::list< EdgeBase * >
::const_iterator 
edge_list_end ()
 
int get_node_index () const
 
int get_num_incident_edges () const
 
int get_num_edges_to_smaller_indexed_nodes () const
 
int get_num_edges_to_larger_indexed_nodes () const
 
EdgeBase const * get_incident_edge (int index) const
 These functions are public for the sake of writing good unit tests. More...
 
EdgeBaseget_incident_edge (int index)
 
int get_index_of_adjacent_node (int index) const
 
NodeBase const * get_adjacent_node (int index) const
 
NodeBaseget_adjacent_node (int index)
 

Private Member Functions

void update_internal_vectors ()
 
int update_recent_history (int state)
 

Private Attributes

utility::recent_history_queue rhq_
 Data. More...
 
utility::vector1< int > neighbors_curr_state_
 
utility::vector1< int > neighbors_state_recent_history_index_
 
int current_state_
 
core::PackerEnergy curr_state_one_body_energy_
 
core::PackerEnergy curr_state_total_energy_
 
utility::vector1
< core::PackerEnergy
curr_state_two_body_energies_
 
int alternate_state_
 
core::PackerEnergy alternate_state_one_body_energy_
 
core::PackerEnergy alternate_state_total_energy_
 
utility::vector1
< core::PackerEnergy
alternate_state_two_body_energies_
 
bool alternate_state_is_being_considered_
 
bool already_prepped_for_simA_
 
ObjexxFCL::FArray1D_int accepted_rejected_substitution_history_
 
int accepted_history_head_
 
int num_recently_accepted_
 
bool filled_substitution_history_
 

Static Private Attributes

static const int ACCEPTED = 1
 
static const int REJECTED = 0
 
static const int ACCEPTANCE_REJECTION_HISTORY_LENGTH = 100
 
static const int THRESHOLD_ACCEPTANCE_RATE_FOR_RPE_STORAGE = 10
 

Additional Inherited Members

- Public Types inherited from core::pack::interaction_graph::SymmOnTheFlyNode
typedef std::pair< Vector, RealBoundingSphere
 
typedef
numeric::HomogeneousTransform
< Real
HTReal
 
- Protected Member Functions inherited from core::pack::interaction_graph::NodeBase
void update_edge_vector ()
 converts edge-list to edge-vector representation More...
 
bool get_edge_vector_up_to_date () const
 
InteractionGraphBase const * get_owner () const
 
InteractionGraphBaseget_owner ()
 

Constructor & Destructor Documentation

core::pack::interaction_graph::SymmLinearMemNode::SymmLinearMemNode ( InteractionGraphBase owner,
int  node_id,
int  num_states 
)

main constructor, no default ctor, uncopyable

main constructor, no default or copy constructors

References rhq_.

Referenced by count_static_memory().

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

virtual dstor

Member Function Documentation

void core::pack::interaction_graph::SymmLinearMemNode::acknowledge_last_substititon_not_committed ( )

update bookkeeping info to acknolwedge that the last alternative state considered was not in fact chosen for the currently assigned state.

References ACCEPTANCE_REJECTION_HISTORY_LENGTH, ACCEPTED, accepted_history_head_, accepted_rejected_substitution_history_, alternate_state_is_being_considered_, filled_substitution_history_, num_recently_accepted_, and REJECTED.

void core::pack::interaction_graph::SymmLinearMemNode::acknowledge_neighbors_partial_state_substitution ( int  edge_to_altered_neighbor,
int  other_node_new_state,
int  other_state_recent_history_index 
)
void core::pack::interaction_graph::SymmLinearMemNode::acknowledge_neighbors_state_substitution ( int  edge_to_altered_neighbor,
core::PackerEnergy  new_edge_energy,
int  other_node_new_state,
int  other_node_recent_history_index 
)
inline
void core::pack::interaction_graph::SymmLinearMemNode::assign_state ( int  new_state)
void core::pack::interaction_graph::SymmLinearMemNode::assign_zero_state ( )
overridevirtual
void core::pack::interaction_graph::SymmLinearMemNode::commit_considered_substitution ( )
void core::pack::interaction_graph::SymmLinearMemNode::complete_state_assignment ( )
core::PackerEnergy core::pack::interaction_graph::SymmLinearMemNode::compute_pair_energy_for_alternate_state ( int  edge_making_energy_request)

comupute the interaction energy between the alternate state being considered on this residue and the currently assigned state on a neighboring residue, identified by the index of the edge connecting the two

References alternate_state_, core::pack::interaction_graph::SymmOnTheFlyNode::compute_rotamer_pair_energy(), and neighbors_curr_state_.

core::PackerEnergy core::pack::interaction_graph::SymmLinearMemNode::compute_pair_energy_for_current_state ( int  edge_making_energy_request)

comupute the interaction energy between the currently assigned state on this residue and the currently assigned state on a neighboring residue, identified by the index of the edge connecting the two

References core::pack::interaction_graph::SymmOnTheFlyNode::compute_rotamer_pair_energy(), current_state_, and neighbors_curr_state_.

unsigned int core::pack::interaction_graph::SymmLinearMemNode::count_dynamic_memory ( ) const
overridevirtual
unsigned int core::pack::interaction_graph::SymmLinearMemNode::count_static_memory ( ) const
overridevirtual
SymmLinearMemNode const * core::pack::interaction_graph::SymmLinearMemNode::get_adjacent_symmlinmem_node ( int  index) const
inline
SymmLinearMemNode * core::pack::interaction_graph::SymmLinearMemNode::get_adjacent_symmlinmem_node ( int  index)
inline
int core::pack::interaction_graph::SymmLinearMemNode::get_curr_state_recent_state_id ( ) const
inline

return the "recent state id" for the currently assigned state

References rhq_.

Referenced by core::pack::interaction_graph::SymmLinearMemEdge::store_curr_state_energy().

int core::pack::interaction_graph::SymmLinearMemNode::get_current_state ( ) const
inline
SymmLinearMemEdge const * core::pack::interaction_graph::SymmLinearMemNode::get_incident_symmlinmem_edge ( int  index) const
inline
SymmLinearMemEdge * core::pack::interaction_graph::SymmLinearMemNode::get_incident_symmlinmem_edge ( int  index)
inline
core::PackerEnergy core::pack::interaction_graph::SymmLinearMemNode::get_one_body_energy_current_state ( ) const
inline

return the one-body energy for the currently assigned state

References curr_state_one_body_energy_.

Referenced by core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::get_energy_sum_for_vertex_group().

int core::pack::interaction_graph::SymmLinearMemNode::get_recent_history_size ( ) const

References rhq_.

SymmLinearMemoryInteractionGraph const * core::pack::interaction_graph::SymmLinearMemNode::get_symmlinmem_ig_owner ( ) const
inline
SymmLinearMemoryInteractionGraph * core::pack::interaction_graph::SymmLinearMemNode::get_symmlinmem_ig_owner ( )
inline
virtual core::PackerEnergy core::pack::interaction_graph::SymmLinearMemNode::get_totalE ( ) const
inlinevirtual

return the total energy for this node; includes full energies to neighboring residues

References curr_state_total_energy_.

void core::pack::interaction_graph::SymmLinearMemNode::partial_assign_state ( int  new_state)
void core::pack::interaction_graph::SymmLinearMemNode::prepare_for_simulated_annealing ( )
overridevirtual
void core::pack::interaction_graph::SymmLinearMemNode::print ( ) const
overridevirtual
void core::pack::interaction_graph::SymmLinearMemNode::print_internal_energies ( ) const
core::PackerEnergy core::pack::interaction_graph::SymmLinearMemNode::project_deltaE_for_substitution ( int  alternate_state,
core::PackerEnergy prev_node_energy 
)

compute the change in energy induced by substituting the currently assigned state with some alternative state

References core::pack::interaction_graph::debug.

void core::pack::interaction_graph::SymmLinearMemNode::set_recent_history_size ( int  num_states_to_maintain_in_recent_history)
bool core::pack::interaction_graph::SymmLinearMemNode::state_unassigned ( ) const
inlineoverridevirtual

state 0 represents the unasigned state

Implements core::pack::interaction_graph::NodeBase.

References current_state_.

void core::pack::interaction_graph::SymmLinearMemNode::update_internal_energy_sums ( )
void core::pack::interaction_graph::SymmLinearMemNode::update_internal_vectors ( )
private
int core::pack::interaction_graph::SymmLinearMemNode::update_recent_history ( int  state)
private

Member Data Documentation

const int core::pack::interaction_graph::SymmLinearMemNode::ACCEPTANCE_REJECTION_HISTORY_LENGTH = 100
staticprivate
const int core::pack::interaction_graph::SymmLinearMemNode::ACCEPTED = 1
staticprivate
int core::pack::interaction_graph::SymmLinearMemNode::accepted_history_head_
private
ObjexxFCL::FArray1D_int core::pack::interaction_graph::SymmLinearMemNode::accepted_rejected_substitution_history_
private
bool core::pack::interaction_graph::SymmLinearMemNode::already_prepped_for_simA_
private
int core::pack::interaction_graph::SymmLinearMemNode::alternate_state_
private
bool core::pack::interaction_graph::SymmLinearMemNode::alternate_state_is_being_considered_
private
core::PackerEnergy core::pack::interaction_graph::SymmLinearMemNode::alternate_state_one_body_energy_
private
core::PackerEnergy core::pack::interaction_graph::SymmLinearMemNode::alternate_state_total_energy_
private
utility::vector1< core::PackerEnergy > core::pack::interaction_graph::SymmLinearMemNode::alternate_state_two_body_energies_
private
core::PackerEnergy core::pack::interaction_graph::SymmLinearMemNode::curr_state_one_body_energy_
private
core::PackerEnergy core::pack::interaction_graph::SymmLinearMemNode::curr_state_total_energy_
private
utility::vector1< core::PackerEnergy > core::pack::interaction_graph::SymmLinearMemNode::curr_state_two_body_energies_
private
int core::pack::interaction_graph::SymmLinearMemNode::current_state_
private
bool core::pack::interaction_graph::SymmLinearMemNode::filled_substitution_history_
private
utility::vector1< int > core::pack::interaction_graph::SymmLinearMemNode::neighbors_curr_state_
private
utility::vector1< int > core::pack::interaction_graph::SymmLinearMemNode::neighbors_state_recent_history_index_
private
int core::pack::interaction_graph::SymmLinearMemNode::num_recently_accepted_
private
const int core::pack::interaction_graph::SymmLinearMemNode::REJECTED = 0
staticprivate
utility::recent_history_queue core::pack::interaction_graph::SymmLinearMemNode::rhq_
private
const int core::pack::interaction_graph::SymmLinearMemNode::THRESHOLD_ACCEPTANCE_RATE_FOR_RPE_STORAGE = 10
staticprivate

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