![]() |
Rosetta
2021.16
|
#include <InteractionGraphBase.hh>

Public Member Functions | |
| ~InteractionGraphBase () override | |
| destructor More... | |
| InteractionGraphBase (int num_nodes) | |
| main constructor More... | |
| int | get_num_nodes () const override |
| Get the number of nodes in the graph. More... | |
| virtual void | initialize (pack_basic::RotamerSetsBase const &rot_sets)=0 |
| void | set_num_states_for_node (int node, int num_states) |
| sets the number of states for a node of a particular index NEW REQUIREMENT: Nodes must have their num-states set in ascending order by node index; that is, node 1 must go first, node 2 next, and so on. More... | |
| int | get_num_states_for_node (int node) const override |
| returns the number of states for a particular node More... | |
| int | get_num_total_states () const override |
| Get the total number of states. More... | |
| virtual core::PackerEnergy | get_one_body_energy_for_node_state (int node, int state)=0 |
| void | add_edge (int node1, int node2) |
| creates a new edge between nodes index1 and index2. Nodes do not have to be listed in order More... | |
| bool | get_edge_exists (int node1, int node2) const |
| returns true if an edge between node1 and node2 exists More... | |
| void | drop_all_edges_for_node (int node) |
| deletes all edges adjacent to the node specified More... | |
| void | print_vertices () const |
| calls print() on each of the nodes in the graph More... | |
| virtual void | print () const |
| void | output_connectivity (std::ostream &os) const |
| writes out a list of all the edges in the graph More... | |
| void | output_dimacs (std::ostream &os) const |
| writes out a connectivity description of the graph in the famous dimacs format. (where the first column "DIMACS:" should be sed'ed out) More... | |
| void | set_onebody_energies_multithreaded (core::Size const node_index, core::pack::rotamer_set::RotamerSetCOP rotset, core::pose::Pose const &pose, core::scoring::ScoreFunction const &sfxn, task::PackerTask const &task, utility::graph::GraphCOP packer_neighbor_graph, basic::thread_manager::RosettaThreadAssignmentInfo const &thread_assignments) |
| Compute and store the onebody energy for all rotamers at a position. Safe for a multithreaded context. More... | |
| void | prepare_graph_for_simulated_annealing () override |
| iterate across edges and nodes and allow them to prepare for simulated annealing More... | |
| void | blanket_assign_state_0 () override=0 |
| State initialization. More... | |
| core::PackerEnergy | set_state_for_node (int node_ind, int new_state) override=0 |
| Explicit state modification for a node. More... | |
| core::PackerEnergy | set_network_state (ObjexxFCL::FArray1_int &node_states) override=0 |
| Explicit state modification for the network. More... | |
| void | consider_substitution (int node_ind, int new_state, core::PackerEnergy &delta_energy, core::PackerEnergy &prev_energy_for_node) override=0 |
| Consider switching node "node_ind" to state "new_state". More... | |
| core::PackerEnergy | commit_considered_substitution () override=0 |
| Accept a considered substitution (i.e. make the substitution permanent; commit it). More... | |
| core::PackerEnergy | get_energy_current_state_assignment () override=0 |
| Get the energy resulting from the current set of state assignments. More... | |
| void | set_edge_weight (int node1, int node2, Real edge_weight) |
| Real | get_edge_weight (int node1, int node2) const |
| virtual int | get_edge_memory_usage () const =0 |
| virtual void | print_current_state_assignment () const =0 |
| void | set_errorfull_deltaE_threshold (core::PackerEnergy deltaE) override=0 |
| Set an error threshold. More... | |
| bool | any_vertex_state_unassigned () const override |
| Returns true if any node in the graph is in state 0, the unassigned state. More... | |
| void | add_to_one_body_energies (ObjexxFCL::FArray1< core::PackerEnergy > &one_body_energies) |
| takes one FArray of energies – one energy for each state for each node More... | |
| void | update_one_body_energies (ObjexxFCL::FArray1< core::PackerEnergy > &old_energy1b, ObjexxFCL::FArray1< core::PackerEnergy > &new_energy1b) |
| decrements the one body energies by the values held in old_energy1b, increments the one body energies by the values held in new_energy1b, and copies new_energy1b into old_energy1b. More... | |
| void | zero_one_body_energies_for_node (int node) |
| void | add_to_nodes_one_body_energy (int node_ind, utility::vector1< core::PackerEnergy > const &one_body_energies) |
| void | add_to_nodes_one_body_energy (int node_ind, ObjexxFCL::FArray1< core::PackerEnergy > const &one_body_energies) |
| void | add_to_nodes_one_body_energy (int node_ind, int state_id, core::PackerEnergy const one_body_energy) |
| interface to PrecomputedPairEnergiesNode::add_to_nodes_one_body_energy More... | |
| void | set_number_of_energy_sum_vertex_groups (int num_groups) |
| a user may define subsets of the vertex set for which they would like to know the internal energy sum. For instance in a graph with 6 vertices, {a,b,c,d,e,f} a user may be interested in the sum of the one- and two-body energies for vertices {a,b,c}. The graph will return sum of the one body energies for vertices a b and c and also any two-body energies for the edges in the subgraph induced by a,b, and c. (In this case, edges {a,b}, {a,c} and {b,c} if these edges are part of the graph. The edge {a,d} will not be counted if it is part of the graph.) More... | |
| void | set_vertex_member_of_group (int vertex, int group) |
| a user may define subsets of the vertex set for which they would like to know the internal energy sum. For instance in a graph with 6 vertices, {a,b,c,d,e,f} a user may be interested in the sum of the one- and two-body energies for vertices {a,b,c}. The graph will return sum of the one body energies for vertices a b and c and also any two-body energies for the edges in the subgraph induced by a,b, and c. (In this case, edges {a,b}, {a,c} and {b,c} if these edges are part of the graph. The edge {a,d} will not be counted if it is part of the graph.) More... | |
| void | print_vertex_groups () |
| virtual core::PackerEnergy | get_energy_sum_for_vertex_group (int group_id)=0 |
| int | count_connected_components_and_initialize_vertex_groups () |
| makes a depth first traversal of the graph, counting the number of connected components, and initializes the vertex group memberships to reflect the connected components. Returns the number of connected components in the graph. More... | |
| void | note_vertex_reached (int node_index) |
| marks a vertex as belonging to the connected component currently being traversed in the depth first traversal. More... | |
| bool | vertex_already_reached (int node_index) |
| used by class NodeBase during the depth-first traversal to determine the number of connected components in the graph. returns true if the dft has already reached the node. More... | |
| bool | get_vertex_member_of_energy_sum_group (int node_index, int group_id) |
| virtual unsigned int | getTotalMemoryUsage () const |
| void | reset_edge_list_iterator_for_node (int node_index) const |
| set the Graph's (single) edge list iterator to the beginning of the edge list for a particular node More... | |
| void | increment_edge_list_iterator () const |
| increment the (single) edge list iterator to the next element More... | |
| bool | edge_list_iterator_at_end () const |
| test: have we arrived at the edge list end? More... | |
| EdgeBase const & | get_edge () const |
| return a const reference to an edge pointed at by the list iterator More... | |
| virtual void | declare_all_edge_energies_final () |
| Iterates over all edges and calls declare_energies_final() on all of them. Takes O(N) time, where N is the number of edges. More... | |
| EdgeBase const * | find_edge (int node1, int node2, bool const use_threadsafe_lookup=false) const |
| Find an edge and return a const pointer to it. More... | |
| EdgeBase * | find_edge (int node1, int node2, bool const use_threadsafe_lookup=false) |
| Find an edge and return a nonconst pointer to it. More... | |
| virtual NodeBase * | create_new_node (int node_index, int num_states)=0 |
| virtual EdgeBase * | create_new_edge (int index1, int index2)=0 |
| NodeBase * | get_node (int index) const |
| int | get_num_edges () const |
| std::list< EdgeBase * >::iterator | get_edge_list_begin () |
| std::list< EdgeBase * >::iterator | get_edge_list_end () |
| std::list< EdgeBase * > ::const_iterator | get_edge_list_begin () const |
| std::list< EdgeBase * > ::const_iterator | get_edge_list_end () const |
Public Member Functions inherited from core::pack::interaction_graph::AnnealableGraphBase | |
| AnnealableGraphBase () | |
| Constructor. More... | |
| AnnealableGraphBase (AnnealableGraphBase const &src) | |
| Copy constructor. More... | |
| ~AnnealableGraphBase () override | |
| Destructor. More... | |
| virtual void | clean_up_after_packing (core::pose::Pose &pose) |
| Provide the opportunity for an AnnealableGraph to clean up cached data in the pose or inside itself after packing. More... | |
Protected Member Functions | |
| void | clean_up_edges_marked_for_deletion () |
| Remove those edges that have marked themselves for deletion. More... | |
| virtual unsigned int | count_static_memory () const =0 |
| virtual unsigned int | count_dynamic_memory () const |
| void | drop_edge (std::list< EdgeBase * >::iterator edge) |
| removes edge from edge list at iterator iter More... | |
| int | get_node_state_offset (int index) const |
| bool | mine (EdgeBase const *edge) const |
Private Member Functions | |
| InteractionGraphBase () | |
| InteractionGraphBase (InteractionGraphBase const &) | |
| InteractionGraphBase & | operator= (InteractionGraphBase const &) |
Private Attributes | |
| int | num_ig_nodes_ |
| std::vector< NodeBase * > | ig_nodes_ |
| std::list< EdgeBase * > | ig_edge_list_ |
| std::vector< int > | node_state_offsets_ |
| int | num_total_states_ |
| EdgeBase * | focused_edge_ |
| std::list< EdgeBase * > ::const_iterator | focused_edge_iterator_ |
| std::list< EdgeBase * > ::const_iterator | focused_edge_iterator_end_ |
| int | num_energy_sum_groups_ |
| ObjexxFCL::FArray2D_bool | energy_sum_group_membership_ |
| ObjexxFCL::FArray1D_int | component_membership_ |
Friends | |
| class | NodeBase |
| class | EdgeBase |
|
override |
destructor
deletes each edge in the graph and deletes each node
| par Global Read: |
References ig_edge_list_, ig_nodes_, and num_ig_nodes_.
| core::pack::interaction_graph::InteractionGraphBase::InteractionGraphBase | ( | int | num_ig_nodes | ) |
main constructor
no default or copy constructors provided.
| num_ig_nodes | - [in] - number of nodes that this graph will contain |
|
private |
|
private |
| void core::pack::interaction_graph::InteractionGraphBase::add_edge | ( | int | index1, |
| int | index2 | ||
| ) |
creates a new edge between nodes index1 and index2. Nodes do not have to be listed in order
uses factory method create_new_edge and adds the created edge to the graph's edge list.
| index1 | - [in] - index of one of the two nodes the edge is to connect |
| index2 | - [in] - index of the second of the two nodes the edge is to connect |
References create_new_edge(), focused_edge_, ig_edge_list_, and core::pack::interaction_graph::EdgeBase::set_pos_in_owners_list().
Referenced by core::pack::interaction_graph::PDInteractionGraph::add_edge(), protocols::flexpack::rotamer_set::FlexbbRotamerSets::compute_one_body_energies_for_otf_ig(), and protocols::flexpack::rotamer_set::FlexbbRotamerSets::compute_sr_one_body_energies_for_flexsets().
| void core::pack::interaction_graph::InteractionGraphBase::add_to_nodes_one_body_energy | ( | int | node_ind, |
| utility::vector1< core::PackerEnergy > const & | one_body_energies | ||
| ) |
| node_ind | - [in] - the node in question |
| one_body_energies | - [in] - the energies to be added to the one-body energies on that node. One entry per state. |
Referenced by protocols::flexpack::rotamer_set::FlexbbRotamerSets::compute_onebody_interactions_with_background(), and set_onebody_energies_multithreaded().
| void core::pack::interaction_graph::InteractionGraphBase::add_to_nodes_one_body_energy | ( | int | node_ind, |
| ObjexxFCL::FArray1< core::PackerEnergy > const & | one_body_energies | ||
| ) |
| void core::pack::interaction_graph::InteractionGraphBase::add_to_nodes_one_body_energy | ( | int | node_ind, |
| int | state_id, | ||
| core::PackerEnergy const | one_body_energy | ||
| ) |
interface to PrecomputedPairEnergiesNode::add_to_nodes_one_body_energy
| node_ind | - [in] - the index of the node in question |
| state_id | - [in] - the state in question |
| one_body_energy | - [in] - the energy to be added |
| void core::pack::interaction_graph::InteractionGraphBase::add_to_one_body_energies | ( | ObjexxFCL::FArray1< core::PackerEnergy > & | one_body_energies | ) |
takes one FArray of energies – one energy for each state for each node
The input array should have {v} |S_v| entries, where S_v is the state-space for vertex v. If the graph has two vertices, with 15 and 20 states respectively, then entries 1 to 15 correspond to vertex 1, and entries 16 to 36 correspond to vertex 2. This compact enumeration scheme is the same as the enumeration scheme used by rotindex, rotcoord, etc
| one_body_energies | - [in] - the array of one body energies |
|
overridevirtual |
Returns true if any node in the graph is in state 0, the unassigned state.
Useful for debugging. If simulated annealing completes, and any vertex remains in state 0, then the state assignment is not meaningful nor is the energy for that assignment. The cases in which state-0 problems turn up are from passing an annealer a list of states to restrict itself to wherein some vertex has no states listed. Such cases are bugs; this subroutine helps identify them.
| par Global Read: |
Implements core::pack::interaction_graph::AnnealableGraphBase.
References get_node(), get_num_nodes(), and core::pack::interaction_graph::NodeBase::state_unassigned().
Referenced by protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::debug_note_projected_deltaE_of_considered_substitution().
|
overridepure virtual |
State initialization.
Must be implemented by derived classes.
Implements core::pack::interaction_graph::AnnealableGraphBase.
Implemented in core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::SymmLinearMemoryInteractionGraph, core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::SymmMinimalistInteractionGraph, protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph, and core::pack::interaction_graph::DoubleDensePDInteractionGraph.
|
protected |
Remove those edges that have marked themselves for deletion.
References ig_edge_list_.
Referenced by declare_all_edge_energies_final(), and prepare_graph_for_simulated_annealing().
|
overridepure virtual |
Accept a considered substitution (i.e. make the substitution permanent; commit it).
Must be implemented by derived classes.
Implements core::pack::interaction_graph::AnnealableGraphBase.
Implemented in core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::SymmLinearMemoryInteractionGraph, core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::SymmMinimalistInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
|
overridepure virtual |
Consider switching node "node_ind" to state "new_state".
Must be implemented by derived classes.
| [in] | node_ind | The node index. |
| [in] | new_state | The state index that we are considering switching TO. |
| [out] | delta_energy | The change in energy that results from the switch under consideration, computed by this function. |
| [out] | prev_energy_for_node | The energy of this node prior to the substitutio, returned by this function. |
Implements core::pack::interaction_graph::AnnealableGraphBase.
Implemented in core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::SymmLinearMemoryInteractionGraph, core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::SymmMinimalistInteractionGraph, protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph, and core::pack::interaction_graph::DoubleDensePDInteractionGraph.
| int core::pack::interaction_graph::InteractionGraphBase::count_connected_components_and_initialize_vertex_groups | ( | ) |
makes a depth first traversal of the graph, counting the number of connected components, and initializes the vertex group memberships to reflect the connected components. Returns the number of connected components in the graph.
count_connected_components_and_initialize_vertex_groups
| par Global Read: |
References component_membership_, energy_sum_group_membership_, ig_nodes_, num_energy_sum_groups_, num_ig_nodes_, and vertex_already_reached().
|
protectedvirtual |
Reimplemented in core::pack::interaction_graph::SymmOnTheFlyInteractionGraph, protocols::flexpack::interaction_graph::FlexbbInteractionGraph, core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::OnTheFlyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::SymmLinearMemoryInteractionGraph, core::pack::interaction_graph::DensePDInteractionGraph, protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph, core::pack::interaction_graph::SymmMinimalistInteractionGraph, protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph, and core::pack::interaction_graph::DoubleDensePDInteractionGraph.
References ig_edge_list_, and num_ig_nodes_.
Referenced by core::pack::interaction_graph::DoubleDensePDInteractionGraph::count_dynamic_memory(), core::pack::interaction_graph::DensePDInteractionGraph::count_dynamic_memory(), core::pack::interaction_graph::FASTERInteractionGraph::count_dynamic_memory(), core::pack::interaction_graph::PDInteractionGraph::count_dynamic_memory(), core::pack::interaction_graph::OnTheFlyInteractionGraph::count_dynamic_memory(), protocols::flexpack::interaction_graph::FlexbbInteractionGraph::count_dynamic_memory(), core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::count_dynamic_memory(), and getTotalMemoryUsage().
|
protectedpure virtual |
Implemented in core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::SymmLinearMemoryInteractionGraph, core::pack::interaction_graph::DensePDInteractionGraph, protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph, core::pack::interaction_graph::SymmMinimalistInteractionGraph, and core::pack::interaction_graph::DoubleDensePDInteractionGraph.
Referenced by getTotalMemoryUsage().
|
pure virtual |
Implemented in core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::SymmLinearMemoryInteractionGraph, protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph, core::pack::interaction_graph::SymmMinimalistInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, and core::pack::hbonds::HBondGraphInitializerIG.
Referenced by add_edge().
|
pure virtual |
Implemented in core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::SymmLinearMemoryInteractionGraph, protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph, core::pack::interaction_graph::SymmMinimalistInteractionGraph, and core::pack::interaction_graph::DoubleDensePDInteractionGraph.
|
virtual |
Iterates over all edges and calls declare_energies_final() on all of them. Takes O(N) time, where N is the number of edges.
References clean_up_edges_marked_for_deletion(), and ig_edge_list_.
| void core::pack::interaction_graph::InteractionGraphBase::drop_all_edges_for_node | ( | int | node | ) |
deletes all edges adjacent to the node specified
| node | - [in] - index of the node |
References core::pack::interaction_graph::NodeBase::drop_all_edges(), and get_node().
|
protected |
removes edge from edge list at iterator iter
each edge keeps track of its position in its owner's graph's edge list so it can efficiently delete itself should it need to.
| iter | - [in] - the iterator pointing at the edge that's deleting itself |
References focused_edge_, and ig_edge_list_.
Referenced by core::pack::interaction_graph::EdgeBase::~EdgeBase().
| bool core::pack::interaction_graph::InteractionGraphBase::edge_list_iterator_at_end | ( | ) | const |
test: have we arrived at the edge list end?
References focused_edge_iterator_, and focused_edge_iterator_end_.
Referenced by core::pack::interaction_graph::InteractionGraphFactory::setup_IG_res_res_weights().
| EdgeBase const * core::pack::interaction_graph::InteractionGraphBase::find_edge | ( | int | node1, |
| int | node2, | ||
| bool const | use_threadsafe_lookup = false |
||
| ) | const |
Find an edge and return a const pointer to it.
returns the edge connecting node1 and node2
The following functions provide access to the nodes and edges in the graph though, their use is strongly discouraged except for in writing unit tests to ensure that the graphs are properly implemented.
By default, the last edge accessed is cached, for faster lookups. If use_threadsafe_lookup is true, we avoid the caching.
graph keeps a pointer to the last edge that was accessed to that search is fairly efficient.
| node1 | - [in] - index of the first node |
| node2 | - [in] - index of the second node |
| use_threadsafe_lookup | - [in] - If true, do not cache the last edge for faster future lookup. False by default. |
References focused_edge_, ig_nodes_, and core::pack::interaction_graph::EdgeBase::same_edge().
Referenced by core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::add_GlyCorrection_values_for_edge(), core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::add_ProCorrection_values_for_edge(), protocols::flexpack::interaction_graph::FlexbbInteractionGraph::find_flexbb_edge(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::find_minimalist_flexbb_edge(), protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::find_otfflexbb_edge(), core::pack::interaction_graph::DoubleLazyInteractionGraph::get_dlazy_edge(), core::pack::interaction_graph::DensePDInteractionGraph::get_dpd_edge(), get_edge_exists(), get_edge_weight(), core::pack::interaction_graph::FASTERInteractionGraph::get_faster_edge(), core::pack::interaction_graph::FixedBBInteractionGraph::get_fixedbb_edge(), core::pack::interaction_graph::LazyInteractionGraph::get_lazy_edge(), core::pack::interaction_graph::PDInteractionGraph::get_pd_edge(), core::pack::interaction_graph::OnTheFlyInteractionGraph::note_long_range_interactions_exist_for_edge(), core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::note_long_range_interactions_exist_for_edge(), core::pack::interaction_graph::OnTheFlyInteractionGraph::note_short_range_interactions_exist_for_edge(), core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::note_short_range_interactions_exist_for_edge(), set_edge_weight(), core::pack::interaction_graph::OnTheFlyInteractionGraph::set_GlyCorrection_values_for_edge(), core::pack::interaction_graph::OnTheFlyInteractionGraph::set_ProCorrection_values_for_edge(), core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::set_residues_adjacent_for_subunit_pair_for_edge(), and core::pack::interaction_graph::OnTheFlyInteractionGraph::set_sparse_aa_info_for_edge().
| EdgeBase * core::pack::interaction_graph::InteractionGraphBase::find_edge | ( | int | node1, |
| int | node2, | ||
| bool const | use_threadsafe_lookup = false |
||
| ) |
Find an edge and return a nonconst pointer to it.
By default, the last edge accessed is cached, for faster lookups. If use_threadsafe_lookup is true, we avoid the caching.
References focused_edge_, ig_nodes_, and core::pack::interaction_graph::EdgeBase::same_edge().
| EdgeBase const & core::pack::interaction_graph::InteractionGraphBase::get_edge | ( | ) | const |
return a const reference to an edge pointed at by the list iterator
References focused_edge_iterator_.
Referenced by core::pack::interaction_graph::InteractionGraphFactory::setup_IG_res_res_weights().
| bool core::pack::interaction_graph::InteractionGraphBase::get_edge_exists | ( | int | node1, |
| int | node2 | ||
| ) | const |
returns true if an edge between node1 and node2 exists
| node1 | - [in] - index of the one of the nodes node2 - [in] - index of the other node |
References find_edge().
Referenced by protocols::flexpack::rotamer_set::FlexbbRotamerSets::compute_one_body_energies_for_otf_ig().
|
inline |
References ig_edge_list_.
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::DensePDInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::FASTERInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::LazyInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::PDInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::LinearMemoryInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::DoubleLazyInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::FASTERInteractionGraph::get_energy_following_relaxation(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::LazyInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::FASTERInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::LinearMemoryInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::PDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DoubleLazyInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::FASTERInteractionGraph::prepare_for_FASTER(), prepare_graph_for_simulated_annealing(), core::pack::interaction_graph::DoubleLazyInteractionGraph::prepare_graph_for_simulated_annealing(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::LazyInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::LinearMemoryInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DoubleLazyInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::DensePDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::LazyInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::FASTERInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::LinearMemoryInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::PDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::DoubleLazyInteractionGraph::update_internal_energy_totals(), protocols::flexpack::interaction_graph::FlexbbInteractionGraph::update_internal_energy_totals(), and core::pack::interaction_graph::DoubleLazyInteractionGraph::~DoubleLazyInteractionGraph().
|
inline |
References ig_edge_list_.
|
inline |
References ig_edge_list_.
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::DensePDInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::FASTERInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::LazyInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::PDInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::LinearMemoryInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::DoubleLazyInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::FASTERInteractionGraph::get_energy_following_relaxation(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::LazyInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::FASTERInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::LinearMemoryInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::PDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DoubleLazyInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::FASTERInteractionGraph::prepare_for_FASTER(), prepare_graph_for_simulated_annealing(), core::pack::interaction_graph::DoubleLazyInteractionGraph::prepare_graph_for_simulated_annealing(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::LazyInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::LinearMemoryInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DoubleLazyInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::DensePDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::LazyInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::FASTERInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::LinearMemoryInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::PDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::DoubleLazyInteractionGraph::update_internal_energy_totals(), protocols::flexpack::interaction_graph::FlexbbInteractionGraph::update_internal_energy_totals(), and core::pack::interaction_graph::DoubleLazyInteractionGraph::~DoubleLazyInteractionGraph().
|
inline |
References ig_edge_list_.
|
pure virtual |
Implemented in core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::SymmLinearMemoryInteractionGraph, core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::SymmMinimalistInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
| Real core::pack::interaction_graph::InteractionGraphBase::get_edge_weight | ( | int | node1, |
| int | node2 | ||
| ) | const |
returns 0 if edge is not part of the graph
References core::pack::interaction_graph::EdgeBase::edge_weight(), and find_edge().
|
overridepure virtual |
Get the energy resulting from the current set of state assignments.
Must be implemented by derived classes.
Implements core::pack::interaction_graph::AnnealableGraphBase.
Implemented in core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::SymmLinearMemoryInteractionGraph, core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::SymmMinimalistInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
|
pure virtual |
Implemented in core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::SymmLinearMemoryInteractionGraph, core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::SymmMinimalistInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
|
inline |
References ig_nodes_, and num_ig_nodes_.
Referenced by any_vertex_state_unassigned(), drop_all_edges_for_node(), core::pack::interaction_graph::DoubleLazyInteractionGraph::get_dlazy_node(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::get_dpd_node(), core::pack::interaction_graph::DensePDInteractionGraph::get_dpd_node(), core::pack::interaction_graph::FASTERInteractionGraph::get_faster_node(), core::pack::interaction_graph::FixedBBInteractionGraph::get_fixedbb_node(), protocols::flexpack::interaction_graph::FlexbbInteractionGraph::get_flexbb_node(), core::pack::interaction_graph::LazyInteractionGraph::get_lazy_node(), core::pack::interaction_graph::LinearMemoryInteractionGraph::get_linmem_node(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::get_minimalistflexbb_node(), core::pack::interaction_graph::OnTheFlyInteractionGraph::get_on_the_fly_node(), core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::get_on_the_fly_node(), protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::get_otfflexbb_node(), core::pack::interaction_graph::PDInteractionGraph::get_pd_node(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::get_symmin_node(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::get_symmlinmem_node(), and prepare_graph_for_simulated_annealing().
|
inlineprotected |
References node_state_offsets_, and num_ig_nodes_.
Referenced by protocols::flexpack::interaction_graph::FlexbbInteractionGraph::get_accessible_states().
|
inline |
References ig_edge_list_.
Referenced by core::pack::interaction_graph::DoubleLazyInteractionGraph::prepare_graph_for_simulated_annealing(), protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::set_pose(), and protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::set_scorefxn().
|
inlineoverridevirtual |
Get the number of nodes in the graph.
Must be implemented by derived classes.
Implements core::pack::interaction_graph::AnnealableGraphBase.
References num_ig_nodes_.
Referenced by any_vertex_state_unassigned(), core::pack::interaction_graph::FASTERInteractionGraph::assign_BMEC(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::blanket_assign_state_0(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::DensePDInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::FASTERInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::LazyInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::PDInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::LinearMemoryInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::DoubleLazyInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::FASTERInteractionGraph::commit_relaxation(), protocols::flexpack::interaction_graph::FlexbbInteractionGraph::get_accessible_states(), core::pack::interaction_graph::FASTERInteractionGraph::get_current_network_state(), core::pack::interaction_graph::FASTERInteractionGraph::get_energy_following_relaxation(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::LazyInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::FASTERInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::LinearMemoryInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::PDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DoubleLazyInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::PDInteractionGraph::get_weighted_energy(), protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::initialize(), protocols::flexpack::interaction_graph::FlexbbInteractionGraph::initialize(), core::pack::interaction_graph::FASTERInteractionGraph::prepare_for_FASTER(), prepare_graph_for_simulated_annealing(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DensePDInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::LazyInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::FASTERInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::PDInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::LinearMemoryInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DoubleLazyInteractionGraph::print_current_state_assignment(), print_vertex_groups(), core::pack::interaction_graph::FASTERInteractionGraph::probabilistically_commit_relaxation(), core::pack::interaction_graph::FASTERInteractionGraph::relax_in_current_context(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::set_network_state(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::set_network_state(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::set_network_state(), core::pack::interaction_graph::DensePDInteractionGraph::set_network_state(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::set_network_state(), core::pack::interaction_graph::FASTERInteractionGraph::set_network_state(), core::pack::interaction_graph::LazyInteractionGraph::set_network_state(), core::pack::interaction_graph::PDInteractionGraph::set_network_state(), core::pack::interaction_graph::LinearMemoryInteractionGraph::set_network_state(), core::pack::interaction_graph::DoubleLazyInteractionGraph::set_network_state(), protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::set_pose(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::set_recent_history_sizes(), core::pack::interaction_graph::LinearMemoryInteractionGraph::set_recent_history_sizes(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::DensePDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::LazyInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::FASTERInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::LinearMemoryInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::PDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::DoubleLazyInteractionGraph::update_internal_energy_totals(), and protocols::flexpack::interaction_graph::FlexbbInteractionGraph::update_internal_energy_totals().
|
overridevirtual |
returns the number of states for a particular node
| node_index | - [in] - the index of the node in question |
Implements core::pack::interaction_graph::AnnealableGraphBase.
References ig_nodes_.
|
inlineoverridevirtual |
Get the total number of states.
Must be implemented by derived classes.
Implements core::pack::interaction_graph::AnnealableGraphBase.
References num_total_states_.
|
pure virtual |
Implemented in core::pack::interaction_graph::SymmOnTheFlyInteractionGraph, core::pack::interaction_graph::OnTheFlyInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::DensePDInteractionGraph, protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph, and core::pack::interaction_graph::DoubleDensePDInteractionGraph.
|
inline |
References energy_sum_group_membership_, num_energy_sum_groups_, and num_ig_nodes_.
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::SymmMinimalistInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::LazyInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::FASTERInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::LinearMemoryInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::PDInteractionGraph::get_energy_sum_for_vertex_group(), and core::pack::interaction_graph::DoubleLazyInteractionGraph::get_energy_sum_for_vertex_group().
|
virtual |
References count_dynamic_memory(), count_static_memory(), ig_edge_list_, ig_nodes_, and num_ig_nodes_.
| void core::pack::interaction_graph::InteractionGraphBase::increment_edge_list_iterator | ( | ) | const |
increment the (single) edge list iterator to the next element
References focused_edge_iterator_, and focused_edge_iterator_end_.
Referenced by core::pack::interaction_graph::InteractionGraphFactory::setup_IG_res_res_weights().
|
pure virtual |
Implemented in protocols::flexpack::interaction_graph::FlexbbInteractionGraph, core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::SymmOnTheFlyInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::OnTheFlyInteractionGraph, core::pack::interaction_graph::DensePDInteractionGraph, protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph, protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph, and core::pack::interaction_graph::DoubleDensePDInteractionGraph.
|
inlineprotected |
References core::pack::interaction_graph::EdgeBase::get_owner().
Referenced by protocols::flexpack::interaction_graph::FlexbbInteractionGraph::cast_flexbb_edge(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::cast_minimalist_flexbb_edge(), and protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::cast_otfflexbb_edge().
| void core::pack::interaction_graph::InteractionGraphBase::note_vertex_reached | ( | int | node_index | ) |
marks a vertex as belonging to the connected component currently being traversed in the depth first traversal.
| node_index | - [in] - the index of the node invoking this method. |
References component_membership_, and num_energy_sum_groups_.
Referenced by core::pack::interaction_graph::NodeBase::depth_first_connected_component_counting().
|
private |
| void core::pack::interaction_graph::InteractionGraphBase::output_connectivity | ( | std::ostream & | os | ) | const |
writes out a list of all the edges in the graph
| os | - [in] - the output stream to write to |
References ig_edge_list_.
| void core::pack::interaction_graph::InteractionGraphBase::output_dimacs | ( | std::ostream & | os | ) | const |
writes out a connectivity description of the graph in the famous dimacs format. (where the first column "DIMACS:" should be sed'ed out)
| os | - [in] - the output stream to write to |
References ig_edge_list_, and num_ig_nodes_.
|
overridevirtual |
iterate across edges and nodes and allow them to prepare for simulated annealing
Edges may decide to delete themselves during this subroutine; therefore edges are prepared first. Afterwards, the nodes must update their edge vector representation.
Implements core::pack::interaction_graph::AnnealableGraphBase.
Reimplemented in core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::SymmLinearMemoryInteractionGraph, and core::pack::interaction_graph::SymmMinimalistInteractionGraph.
References clean_up_edges_marked_for_deletion(), get_edge_list_begin(), get_edge_list_end(), get_node(), get_num_nodes(), and core::pack::interaction_graph::NodeBase::prepare_for_simulated_annealing().
Referenced by core::pack::interaction_graph::SymmMinimalistInteractionGraph::prepare_graph_for_simulated_annealing(), core::pack::interaction_graph::SymmLinearMemoryInteractionGraph::prepare_graph_for_simulated_annealing(), core::pack::interaction_graph::LinearMemoryInteractionGraph::prepare_graph_for_simulated_annealing(), and core::pack::interaction_graph::DoubleLazyInteractionGraph::prepare_graph_for_simulated_annealing().
|
inlinevirtual |
|
pure virtual |
Implemented in core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::SymmLinearMemoryInteractionGraph, core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::SymmMinimalistInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
| void core::pack::interaction_graph::InteractionGraphBase::print_vertex_groups | ( | ) |
References energy_sum_group_membership_, get_num_nodes(), and num_energy_sum_groups_.
| void core::pack::interaction_graph::InteractionGraphBase::print_vertices | ( | ) | const |
calls print() on each of the nodes in the graph
| par Global Read: |
References ig_nodes_, and num_ig_nodes_.
| void core::pack::interaction_graph::InteractionGraphBase::reset_edge_list_iterator_for_node | ( | int | node_index | ) | const |
set the Graph's (single) edge list iterator to the beginning of the edge list for a particular node
Methods for iterating across edges of the interaction graph. Protected access since the raw edge lists contain non-const pointers.
References focused_edge_iterator_, focused_edge_iterator_end_, and ig_nodes_.
Referenced by core::pack::interaction_graph::InteractionGraphFactory::setup_IG_res_res_weights().
| void core::pack::interaction_graph::InteractionGraphBase::set_edge_weight | ( | int | node1, |
| int | node2, | ||
| Real | edge_weight | ||
| ) |
invokes polymorphic method of EdgeBase class; no-op if edge is not part of the graph.
References find_edge(), and core::pack::interaction_graph::EdgeBase::set_edge_weight().
Referenced by core::pack::interaction_graph::InteractionGraphFactory::setup_IG_res_res_weights().
|
overridepure virtual |
Set an error threshold.
Must be implemented by derived classes.
Implements core::pack::interaction_graph::AnnealableGraphBase.
Implemented in core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::SymmLinearMemoryInteractionGraph, core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::SymmMinimalistInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
|
overridepure virtual |
Explicit state modification for the network.
Must be implemented by derived classes.
Implements core::pack::interaction_graph::AnnealableGraphBase.
Implemented in core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::SymmLinearMemoryInteractionGraph, core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::SymmMinimalistInteractionGraph, protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph, and core::pack::interaction_graph::DoubleDensePDInteractionGraph.
| void core::pack::interaction_graph::InteractionGraphBase::set_num_states_for_node | ( | int | node_index, |
| int | num_states | ||
| ) |
sets the number of states for a node of a particular index NEW REQUIREMENT: Nodes must have their num-states set in ascending order by node index; that is, node 1 must go first, node 2 next, and so on.
once the graph knows how many states a node has, it instantiates a new node using the NodeBase(int) constructor through the graph's factory method create_new_node()
| node_index | - [in] - the index of the node |
| num_states | - [in] - the number of states for that node |
Referenced by core::pack::interaction_graph::DoubleDensePDInteractionGraph::initialize(), core::pack::interaction_graph::DensePDInteractionGraph::initialize(), core::pack::interaction_graph::OnTheFlyInteractionGraph::initialize(), core::pack::interaction_graph::FASTERInteractionGraph::initialize(), core::pack::interaction_graph::PDInteractionGraph::initialize(), core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::initialize(), and protocols::flexpack::interaction_graph::FlexbbInteractionGraph::initialize().
| void core::pack::interaction_graph::InteractionGraphBase::set_number_of_energy_sum_vertex_groups | ( | int | num_groups | ) |
a user may define subsets of the vertex set for which they would like to know the internal energy sum. For instance in a graph with 6 vertices, {a,b,c,d,e,f} a user may be interested in the sum of the one- and two-body energies for vertices {a,b,c}. The graph will return sum of the one body energies for vertices a b and c and also any two-body energies for the edges in the subgraph induced by a,b, and c. (In this case, edges {a,b}, {a,c} and {b,c} if these edges are part of the graph. The edge {a,d} will not be counted if it is part of the graph.)
First you must declare how many groups you are interested in. Do that with this method. Second you must declare which node is a member of each group. Only tell the graph which node is a member, do not tell the graph if a node is not a member. Third, when you want to know the energy sum for the group in the graph's current state assignment, call get_energy_sum_for_vertex_group( group_id)
| num_groups | - [in] - the number of groups; set this at most once. |
References energy_sum_group_membership_, num_energy_sum_groups_, and num_ig_nodes_.
| void core::pack::interaction_graph::InteractionGraphBase::set_onebody_energies_multithreaded | ( | core::Size const | node_index, |
| core::pack::rotamer_set::RotamerSetCOP | rotset, | ||
| core::pose::Pose const & | pose, | ||
| core::scoring::ScoreFunction const & | sfxn, | ||
| task::PackerTask const & | task, | ||
| utility::graph::GraphCOP | packer_neighbor_graph, | ||
| basic::thread_manager::RosettaThreadAssignmentInfo const & | thread_assignments | ||
| ) |
Compute and store the onebody energy for all rotamers at a position. Safe for a multithreaded context.
Requires that the number of states was already set.
References add_to_nodes_one_body_energy(), num_ig_nodes_, and core::pack::interaction_graph::TR().
|
overridepure virtual |
Explicit state modification for a node.
Must be implemented by derived classes.
Implements core::pack::interaction_graph::AnnealableGraphBase.
Implemented in core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::SymmLinearMemoryInteractionGraph, core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::SymmMinimalistInteractionGraph, protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph, and core::pack::interaction_graph::DoubleDensePDInteractionGraph.
| void core::pack::interaction_graph::InteractionGraphBase::set_vertex_member_of_group | ( | int | vertex, |
| int | group | ||
| ) |
a user may define subsets of the vertex set for which they would like to know the internal energy sum. For instance in a graph with 6 vertices, {a,b,c,d,e,f} a user may be interested in the sum of the one- and two-body energies for vertices {a,b,c}. The graph will return sum of the one body energies for vertices a b and c and also any two-body energies for the edges in the subgraph induced by a,b, and c. (In this case, edges {a,b}, {a,c} and {b,c} if these edges are part of the graph. The edge {a,d} will not be counted if it is part of the graph.)
tell the graph which vertices you want to be part of which groups
| vertex | - [in] - the index of the vertex you wish to include in the group group - [in] - the group index you wish to add the vertex to. |
References energy_sum_group_membership_.
| void core::pack::interaction_graph::InteractionGraphBase::update_one_body_energies | ( | ObjexxFCL::FArray1< core::PackerEnergy > & | old_energy1b, |
| ObjexxFCL::FArray1< core::PackerEnergy > & | new_energy1b | ||
| ) |
decrements the one body energies by the values held in old_energy1b, increments the one body energies by the values held in new_energy1b, and copies new_energy1b into old_energy1b.
| old_energy1b | - [in/out] - the one body energies representing interactions with portions of the background that are no longer valid new_energy1b - [in] - the one body energies representing interactions with the background after the background has changed |
| bool core::pack::interaction_graph::InteractionGraphBase::vertex_already_reached | ( | int | node_index | ) |
used by class NodeBase during the depth-first traversal to determine the number of connected components in the graph. returns true if the dft has already reached the node.
vertex_already_reached
| node_index | - [in] - the index of the node calling the method. |
References component_membership_.
Referenced by count_connected_components_and_initialize_vertex_groups(), and core::pack::interaction_graph::NodeBase::depth_first_connected_component_counting().
| void core::pack::interaction_graph::InteractionGraphBase::zero_one_body_energies_for_node | ( | int | node | ) |
References ig_nodes_.
|
friend |
|
friend |
|
private |
|
private |
|
mutableprivate |
Referenced by add_edge(), drop_edge(), and find_edge().
|
mutableprivate |
|
mutableprivate |
Referenced by edge_list_iterator_at_end(), increment_edge_list_iterator(), and reset_edge_list_iterator_for_node().
|
private |
|
private |
Referenced by count_connected_components_and_initialize_vertex_groups(), core::pack::interaction_graph::EdgeBase::EdgeBase(), find_edge(), get_node(), get_num_states_for_node(), getTotalMemoryUsage(), print_vertices(), reset_edge_list_iterator_for_node(), zero_one_body_energies_for_node(), and ~InteractionGraphBase().
|
private |
Referenced by get_node_state_offset().
|
private |
|
private |
Referenced by count_connected_components_and_initialize_vertex_groups(), count_dynamic_memory(), get_node(), get_node_state_offset(), get_num_nodes(), get_vertex_member_of_energy_sum_group(), getTotalMemoryUsage(), output_dimacs(), print_vertices(), set_number_of_energy_sum_vertex_groups(), set_onebody_energies_multithreaded(), and ~InteractionGraphBase().
|
private |
Referenced by get_num_total_states().
1.8.7