Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Member Functions | List of all members
protocols::flexpack::interaction_graph::MinimalistFlexbbNode Class Reference

#include <MinimalistFlexbbInteractionGraph.hh>

Inheritance diagram for protocols::flexpack::interaction_graph::MinimalistFlexbbNode:
Inheritance graph
[legend]

Public Types

typedef OTFFlexbbNode parent
 
typedef FlexbbNode grandparent
 
- Public Types inherited from protocols::flexpack::interaction_graph::OTFFlexbbNode
typedef FlexbbNode parent
 
typedef core::conformation::Residue Residue
 
typedef
core::conformation::ResidueCOP 
ResidueCOP
 
typedef core::Size Size
 
typedef core::PackerEnergy PackerEnergy
 
typedef core::Real Real
 
typedef core::Vector Vector
 
typedef core::DistanceSquared DistanceSquared
 
- Public Types inherited from protocols::flexpack::interaction_graph::FlexbbNode
typedef
core::pack::interaction_graph::NodeBase 
parent
 
typedef core::PackerEnergy PackerEnergy
 
typedef core::Size Size
 

Public Member Functions

 MinimalistFlexbbNode (MinimalistFlexbbInteractionGraph *owner, int node_id, int num_states)
 
 ~MinimalistFlexbbNode () override
 
void assign_zero_state () override
 Virtual functions from NodeBase not covered by FlexbbNode. More...
 
void prepare_for_simulated_annealing () override
 
void print () const override
 
PackerEnergy project_deltaE_for_substitution (int alternate_state, PackerEnergy &prev_energy_for_node)
 Virtual functions from OTFFlexbbNode. More...
 
bool prepare_for_altbb_move_to_state (int alt_state)
 Traverse incident edges and inform them of the alternate state being considered at this node. Return true if the alternate state is valid. More...
 
bool prepare_for_altbb_move_to_closest_state (int alt_bb)
 Set the alternate state to be the one on the alternate backbone most similar to the currently assigned state. Traverse incident edges and inform them of the alternate state being considered at this node. Return true if the alternate state is valid. More...
 
PackerEnergy get_frag_energy_for_alt_bb_state ()
 
PackerEnergy get_frag_energy_for_curr_bb_state_and_finalize_alt_energy_total ()
 
void commit_considered_substitution ()
 
void commit_considered_substitution (ObjexxFCL::FArray1_int &state_on_node)
 
void commit_alt_bb_substitution (ObjexxFCL::FArray1_int &state_on_node)
 
void acknowledge_neighbors_substitution (int which_edge, PackerEnergy alternate_energy)
 
void resolve_uncommitted_substitution ()
 
PackerEnergy assign_state (int new_state)
 assign a new state to this node and return the change in energy induced More...
 
void partially_assign_state (int new_state)
 For assinging network states to the interaction graph: when substituting two adjacent nodes i and j from states r and s to states r' and s', this function, along with its partner function, complete_partial_state_assignment, guarantees that neither the energies r' with s nor s' with r are computed which would be wasteful. This function is meant to be called by the owning interaction graph and not meant to be called by the outside world. More...
 
void complete_partial_state_assignment ()
 See description of partially_assign_state. More...
 
unsigned int count_static_memory () const override
 
unsigned int count_dynamic_memory () const override
 memory accounting scheme More...
 
- Public Member Functions inherited from protocols::flexpack::interaction_graph::OTFFlexbbNode
 OTFFlexbbNode (OTFFlexbbInteractionGraph *, int node_id, int num_states)
 
 ~OTFFlexbbNode () override
 
void print () const override
 
unsigned int count_dynamic_memory () const override
 memory accounting scheme More...
 
Residue const & rotamer (int index) const
 
void set_rotamer (int state, ResidueCOP rotamer)
 
void declare_all_rotamers_initialized ()
 
Real bounding_radius_for_rotamers (int aatype, int bb) const
 
bool rotamer_is_proline (int state) const
 
bool rotamer_is_glycine (int state) const
 
- Public Member Functions inherited from protocols::flexpack::interaction_graph::FlexbbNode
 FlexbbNode (FlexbbInteractionGraph *owner, int node_id, int num_states)
 
 ~FlexbbNode () override
 
void set_num_distinct_backbones (int nbbconfs)
 
int get_num_distinct_backbones () const
 
void set_num_states_per_backbone (utility::vector1< int > const &)
 
int get_bb_for_state (int state) const
 
int get_num_states_for_bb (int bbconf) const
 
int get_state_offset_for_bb (int bbconf) const
 
void get_states_on_curr_bb (utility::vector1< core::Size > &state_list, int offset) const
 
void get_all_states (utility::vector1< core::Size > &rotlist, int offset) const
 
void set_closest_states_on_other_bbs (ObjexxFCL::FArray2D_int const &)
 
void set_amino_acid_types (utility::vector1< int > const &)
 
ObjexxFCL::FArray1A_int getNumStatesPerAAPerBB (int aa)
 
void add_to_one_body_energies (ObjexxFCL::FArray1< PackerEnergy > &energies) override
 
void add_to_one_body_energy (int state, PackerEnergy energy) override
 
void update_one_body_energy (int state, PackerEnergy energy) override
 
void zero_one_body_energies () override
 
bool state_unassigned () const override
 
PackerEnergy get_one_body_energy (int state) const
 
int get_current_state () const
 
int get_backbone_for_current_state () const
 
void write_current_state_to_state_array (ObjexxFCL::FArray1_int &nodes_states)
 
bool inform_edges_of_alt_state_before_bbjump ()
 Preliminatry bookkeeping for the node the Graph contacted about a backbone move. This node is the "root" of the DFS traversal. More...
 
bool state_has_same_backbone_as_current (int state) const
 Did the alterenate state assigned during a flexbb move actually preserve the currently assigned bb? More...
 
int get_num_states_for_aa_type_for_bb (int aa_type, int bb) const
 
void print_internal_energies ()
 
void update_internal_energy_sums ()
 
int num_aa_types () const
 Read access to private data to both derived classes and the world. More...
 
int num_bbconfs () const
 
utility::vector1< int > const & num_states_for_bb ()
 
utility::vector1< int > const & state_offsets_for_bb ()
 
ObjexxFCL::FArray2D_int const & num_states_for_aa_for_bb ()
 
ObjexxFCL::FArray2D_int const & state_offsets_for_aa_for_bb ()
 
ObjexxFCL::FArray2D_int const & closest_state_on_alt_bb () const
 
FlexbbSparseMatrixIndex const & state_info (int state) const
 
utility::vector1< PackerEnergy >
const & 
one_body_energies () const
 
int current_state () const
 
FlexbbSparseMatrixIndex const & current_state_info () const
 
int curr_bb () const
 
PackerEnergy curr_state_one_body_energy () const
 
PackerEnergy curr_state_total_energy () const
 
utility::vector1< PackerEnergy >
const & 
curr_state_two_body_energies ()
 
int alternate_state () const
 
FlexbbSparseMatrixIndex const & alternate_state_info () const
 
int alt_bb () const
 
PackerEnergy alternate_state_one_body_energy () const
 
PackerEnergy alternate_state_total_energy () const
 
utility::vector1< PackerEnergy >
const & 
alternate_state_two_body_energies () const
 
PackerEnergy alternate_state_two_body_energies (int ind) const
 
utility::vector1< bool > const & edge_connects_flexsegmate () const
 
bool count_energy_to_node_in_my_fragtotalE (int edge_index) const
 Convention for acumulating energies between flexsegmates during a backbone move: The smaller-indexed node counts the interaction, the larger-indexed node does not. More...
 
bool alternate_state_is_being_considered () const
 
- 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...
 
virtual void add_to_one_body_energies (ObjexxFCL::FArray1< core::PackerEnergy > &energy1b)=0
 
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)
 

Protected Member Functions

MinimalistFlexbbEdge const * get_incident_minimalistflexbb_edge (int index) const
 Downcast pointers to incident edges, adjacent nodes, and the owning graph. More...
 
MinimalistFlexbbEdgeget_incident_minimalistflexbb_edge (int index)
 
MinimalistFlexbbNode const * get_adjacent_minimalistflexbb_node (int index) const
 
MinimalistFlexbbNodeget_adjacent_minimalistflexbb_node (int index)
 
MinimalistFlexbbInteractionGraph
const * 
get_minimalistflexbbig_owner () const
 
MinimalistFlexbbInteractionGraphget_minimalistflexbbig_owner ()
 
PackerEnergy get_altE_for_bb_move (PackerEnergy &curr_frag_etotal)
 
- Protected Member Functions inherited from protocols::flexpack::interaction_graph::OTFFlexbbNode
OTFFlexbbEdge const * get_incident_otfflexbb_edge (int index) const
 Downcast pointers to incident edges, adjacent nodes, and the owning graph. More...
 
OTFFlexbbEdgeget_incident_otfflexbb_edge (int index)
 
OTFFlexbbNode const * get_adjacent_otfflexbb_node (int index) const
 
OTFFlexbbNodeget_adjacent_otfflexbb_node (int index)
 
OTFFlexbbInteractionGraph const * get_otfflexbbig_owner () const
 
OTFFlexbbInteractionGraphget_otfflexbbig_owner ()
 
- Protected Member Functions inherited from protocols::flexpack::interaction_graph::FlexbbNode
FlexbbEdge const * get_incident_flexbb_edge (int index) const
 
FlexbbEdgeget_incident_flexbb_edge (int index)
 
FlexbbNode const * get_adjacent_flexbb_node (int index) const
 
FlexbbNodeget_adjacent_flexbb_node (int index)
 
FlexbbInteractionGraph const * get_flexbbig_owner () const
 
FlexbbInteractionGraphget_flexbbig_owner ()
 
void update_internal_vectors ()
 
void inform_edges_considered_fixedbb_substition_uncommitted ()
 
void set_considering_alternate_state ()
 Limited write acces to private data. More...
 
void set_current_state (int setting)
 
void set_curr_state_one_body_energy (PackerEnergy setting)
 
void set_curr_state_total_energy (PackerEnergy setting)
 
void inc_curr_state_total_energy (PackerEnergy setting)
 
void set_curr_state_two_body_energies (core::Size index, PackerEnergy setting)
 
void set_alternate_state (int setting)
 
void set_alternate_state_one_body_energy (PackerEnergy setting)
 
void set_alternate_state_total_energy (PackerEnergy setting)
 
void inc_alternate_state_total_energy (PackerEnergy setting)
 
void set_alternate_state_two_body_energies (core::Size index, PackerEnergy setting)
 
void reset_all_rotamer_substitution_bookkeeping_data ()
 
void partial_state_assignment (int new_state)
 
void inform_incident_edges_about_partial_state_assignment ()
 
void copy_alternate_to_current ()
 bookkeeping for DFS traversal. Derived classes should consult this at the beginning of node "get_energies" traversals. Calling this function for a node effectively declares that the code which follows will project the delta energy: after the first time this functio is called, it will return true. Must be proceeded by a call to prepare_for_bb_jump(). Depricated. bool energies_already_projected() const; More...
 
void have_edges_copy_alternate_to_current ()
 Have all incident edges copy their data from "alternate_*" to "current_*". More...
 
void have_edges_copy_alternate_to_current_following_flexbb_accept ()
 Have a subset of the incident edges copy their data from "alternate_*" to "current_*" where this subset includes all edges to non-flexsegmates as well as all all upper edges to flexsegmates. Threadsafe if it can be fruitfully parallelized. More...
 
- 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 ()
 

Member Typedef Documentation

Constructor & Destructor Documentation

protocols::flexpack::interaction_graph::MinimalistFlexbbNode::MinimalistFlexbbNode ( MinimalistFlexbbInteractionGraph owner,
int  node_id,
int  num_states 
)

Referenced by count_static_memory().

protocols::flexpack::interaction_graph::MinimalistFlexbbNode::~MinimalistFlexbbNode ( )
overridedefault

Member Function Documentation

void protocols::flexpack::interaction_graph::MinimalistFlexbbNode::acknowledge_neighbors_substitution ( int  which_edge,
PackerEnergy  alternate_energy 
)
MinimalistFlexbbNode::PackerEnergy protocols::flexpack::interaction_graph::MinimalistFlexbbNode::assign_state ( int  new_state)
void protocols::flexpack::interaction_graph::MinimalistFlexbbNode::assign_zero_state ( )
overridevirtual
void protocols::flexpack::interaction_graph::MinimalistFlexbbNode::commit_alt_bb_substitution ( ObjexxFCL::FArray1_int &  state_on_node)
void protocols::flexpack::interaction_graph::MinimalistFlexbbNode::commit_considered_substitution ( )
void protocols::flexpack::interaction_graph::MinimalistFlexbbNode::commit_considered_substitution ( ObjexxFCL::FArray1_int &  state_on_node)
void protocols::flexpack::interaction_graph::MinimalistFlexbbNode::complete_partial_state_assignment ( )
unsigned int protocols::flexpack::interaction_graph::MinimalistFlexbbNode::count_dynamic_memory ( ) const
overridevirtual
unsigned int protocols::flexpack::interaction_graph::MinimalistFlexbbNode::count_static_memory ( ) const
overridevirtual
MinimalistFlexbbNode const * protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_adjacent_minimalistflexbb_node ( int  index) const
inlineprotected
MinimalistFlexbbNode * protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_adjacent_minimalistflexbb_node ( int  index)
inlineprotected
PackerEnergy protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_altE_for_bb_move ( PackerEnergy curr_frag_etotal)
protected
MinimalistFlexbbNode::PackerEnergy protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_frag_energy_for_alt_bb_state ( )

This function call will be parallelized with openMP. The calculations performed by different nodes may be performed in any order and in parallel without any data collision. After this function completes, a second pass across the nodes in the graph must be performed to compute the node alternate_state_total_energy – but this second traversal is fast.

References protocols::flexpack::interaction_graph::FlexbbNode::alternate_state_one_body_energy(), protocols::flexpack::interaction_graph::FlexbbNode::alternate_state_two_body_energies(), protocols::flexpack::interaction_graph::FlexbbNode::edge_connects_flexsegmate(), get_incident_minimalistflexbb_edge(), core::pack::interaction_graph::NodeBase::get_index_of_adjacent_node(), core::pack::interaction_graph::NodeBase::get_node_index(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), and protocols::flexpack::interaction_graph::FlexbbNode::set_alternate_state_two_body_energies().

MinimalistFlexbbNode::PackerEnergy protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_frag_energy_for_curr_bb_state_and_finalize_alt_energy_total ( )
MinimalistFlexbbEdge const * protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_incident_minimalistflexbb_edge ( int  index) const
inlineprotected
MinimalistFlexbbEdge * protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_incident_minimalistflexbb_edge ( int  index)
inlineprotected
MinimalistFlexbbInteractionGraph const * protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_minimalistflexbbig_owner ( ) const
inlineprotected
MinimalistFlexbbInteractionGraph * protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_minimalistflexbbig_owner ( )
inlineprotected
void protocols::flexpack::interaction_graph::MinimalistFlexbbNode::partially_assign_state ( int  new_state)
bool protocols::flexpack::interaction_graph::MinimalistFlexbbNode::prepare_for_altbb_move_to_closest_state ( int  alt_bb)
bool protocols::flexpack::interaction_graph::MinimalistFlexbbNode::prepare_for_altbb_move_to_state ( int  alt_state)
void protocols::flexpack::interaction_graph::MinimalistFlexbbNode::prepare_for_simulated_annealing ( )
overridevirtual
void protocols::flexpack::interaction_graph::MinimalistFlexbbNode::print ( ) const
overridevirtual
MinimalistFlexbbNode::PackerEnergy protocols::flexpack::interaction_graph::MinimalistFlexbbNode::project_deltaE_for_substitution ( int  alternate_state,
PackerEnergy prev_energy_for_node 
)

Virtual functions from OTFFlexbbNode.

Other functions

References protocols::flexpack::interaction_graph::FlexbbNode::alternate_state_info(), protocols::flexpack::interaction_graph::FlexbbNode::alternate_state_one_body_energy(), protocols::flexpack::interaction_graph::FlexbbNode::alternate_state_total_energy(), protocols::flexpack::interaction_graph::FlexbbNode::alternate_state_two_body_energies(), protocols::flexpack::interaction_graph::FlexbbNode::curr_state_total_energy(), protocols::flexpack::interaction_graph::FlexbbNode::current_state(), protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::debug_note_considered_substitution(), protocols::flexpack::interaction_graph::FlexbbNode::get_bb_for_state(), protocols::flexpack::interaction_graph::FlexbbNode::get_incident_flexbb_edge(), protocols::flexpack::interaction_graph::OTFFlexbbNode::get_incident_otfflexbb_edge(), core::pack::interaction_graph::NodeBase::get_node_index(), core::pack::interaction_graph::NodeBase::get_num_edges_to_smaller_indexed_nodes(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), protocols::flexpack::interaction_graph::OTFFlexbbNode::get_otfflexbbig_owner(), protocols::flexpack::interaction_graph::FlexbbNode::inc_alternate_state_total_energy(), protocols::flexpack::interaction_graph::FlexbbNode::one_body_energies(), protocols::flexpack::interaction_graph::OTFFlexbbNode::rotamer(), protocols::flexpack::interaction_graph::FlexbbEdge::set_alt_state(), protocols::flexpack::interaction_graph::FlexbbNode::set_alternate_state(), protocols::flexpack::interaction_graph::FlexbbNode::set_alternate_state_one_body_energy(), protocols::flexpack::interaction_graph::FlexbbNode::set_alternate_state_total_energy(), protocols::flexpack::interaction_graph::FlexbbNode::set_alternate_state_two_body_energies(), protocols::flexpack::interaction_graph::FlexbbNode::set_considering_alternate_state(), and protocols::flexpack::interaction_graph::FlexbbNode::state_offsets_for_bb().

void protocols::flexpack::interaction_graph::MinimalistFlexbbNode::resolve_uncommitted_substitution ( )

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