Rosetta 3.4
|
#include <InteractionGraphBase.hh>
Public Member Functions | |
virtual | ~InteractionGraphBase () |
destructor | |
InteractionGraphBase (int num_nodes) | |
main constructor | |
virtual int | get_num_nodes_v () const |
int | get_num_nodes () const |
virtual void | initialize (rotamer_set::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. | |
int | get_num_states_for_node (int node) const |
returns the number of states for a particular node | |
int | get_num_total_states () const |
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 | |
bool | get_edge_exists (int node1, int node2) |
returns true if an edge between node1 and node2 exists | |
void | drop_all_edges_for_node (int node) |
deletes all edges adjacent to the node specified | |
void | print_vertices () const |
calls print() on each of the nodes in the graph | |
virtual void | print () const |
void | output_connectivity (std::ostream &os) const |
writes out a list of all the edges in the graph | |
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) | |
virtual void | prepare_for_simulated_annealing () |
iterate across edges and nodes and allow them to prepare for simulated annealing | |
virtual void | blanket_assign_state_0 ()=0 |
virtual core::PackerEnergy | set_state_for_node (int node_ind, int new_state)=0 |
virtual core::PackerEnergy | set_network_state (ObjexxFCL::FArray1_int &node_states)=0 |
virtual void | consider_substitution (int node_ind, int new_state, core::PackerEnergy &delta_energy, core::PackerEnergy &prev_energy_for_node)=0 |
virtual core::PackerEnergy | commit_considered_substitution ()=0 |
virtual core::PackerEnergy | get_energy_current_state_assignment ()=0 |
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 |
virtual void | set_errorfull_deltaE_threshold (core::PackerEnergy deltaE)=0 |
bool | any_vertex_state_unassigned () const |
Returns true if any node in the graph is in state 0, the unassigned state. | |
void | add_to_one_body_energies (ObjexxFCL::FArray1< core::PackerEnergy > &one_body_energies) |
void | update_one_body_energies (ObjexxFCL::FArray1< core::PackerEnergy > &old_energy1b, ObjexxFCL::FArray1< core::PackerEnergy > &new_energy1b) |
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 | |
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.) | |
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.) | |
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. | |
void | note_vertex_reached (int node_index) |
marks a vertex as belonging to the connected component currently being traversed in the depth first traversal. | |
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. | |
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 | |
void | increment_edge_list_iterator () const |
increment the (single) edge list iterator to the next element | |
bool | edge_list_iterator_at_end () const |
test: have we arrived at the edge list end? | |
EdgeBase const & | get_edge () const |
return a const reference to an edge pointed at by the list iterator | |
Protected Member Functions | |
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 | |
EdgeBase const * | find_edge (int node1, int node2) const |
returns the edge connecting node1 and node2 | |
EdgeBase * | find_edge (int node1, int node2) |
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 * > ::const_iterator | get_edge_list_begin () const |
std::list< EdgeBase * > ::const_iterator | get_edge_list_end () const |
int | get_node_state_offset (int index) const |
bool | mine (EdgeBase const *edge) const |
Friends | |
class | NodeBase |
class | EdgeBase |
core::pack::interaction_graph::InteractionGraphBase::~InteractionGraphBase | ( | ) | [virtual] |
destructor
InteractionGraphBase::~InteractionGraphBase
core::pack::interaction_graph::InteractionGraphBase::InteractionGraphBase | ( | int | num_ig_nodes | ) |
main constructor
InteractionGraphBase::InteractionGraphBase
num_ig_nodes | - [in] - number of nodes that this graph will contain |
creates a new edge between nodes index1 and index2. Nodes do not have to be listed in order
InteractionGraphBase::add_edge
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 |
Reimplemented in core::pack::interaction_graph::PDInteractionGraph.
References create_new_edge(), and core::pack::interaction_graph::EdgeBase::set_pos_in_owners_list().
Referenced by protocols::flexpack::rotamer_set::FlexbbRotamerSets::compute_one_body_energies_for_otf_ig().
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_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. |
void core::pack::interaction_graph::InteractionGraphBase::add_to_one_body_energies | ( | ObjexxFCL::FArray1< core::PackerEnergy > & | one_body_energies | ) |
bool core::pack::interaction_graph::InteractionGraphBase::any_vertex_state_unassigned | ( | ) | const |
Returns true if any node in the graph is in state 0, the unassigned state.
InteractionGraphBase::output_dimacs
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().
virtual void core::pack::interaction_graph::InteractionGraphBase::blanket_assign_state_0 | ( | ) | [pure virtual] |
Implemented in core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
virtual core::PackerEnergy core::pack::interaction_graph::InteractionGraphBase::commit_considered_substitution | ( | ) | [pure virtual] |
Implemented in core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
virtual void core::pack::interaction_graph::InteractionGraphBase::consider_substitution | ( | int | node_ind, |
int | new_state, | ||
core::PackerEnergy & | delta_energy, | ||
core::PackerEnergy & | prev_energy_for_node | ||
) | [pure virtual] |
Implemented in core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
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.
InteractionGraphBase:: count_connected_components_and_initialize_vertex_groups
References vertex_already_reached().
unsigned int core::pack::interaction_graph::InteractionGraphBase::count_dynamic_memory | ( | ) | const [protected, virtual] |
Reimplemented in core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::OnTheFlyInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, protocols::flexpack::interaction_graph::FlexbbInteractionGraph, protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph, and protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph.
Referenced by getTotalMemoryUsage().
virtual unsigned int core::pack::interaction_graph::InteractionGraphBase::count_static_memory | ( | ) | const [protected, pure virtual] |
Implemented in core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
Referenced by getTotalMemoryUsage().
virtual EdgeBase* core::pack::interaction_graph::InteractionGraphBase::create_new_edge | ( | int | index1, |
int | index2 | ||
) | [protected, pure virtual] |
Implemented in core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
Referenced by add_edge().
virtual NodeBase* core::pack::interaction_graph::InteractionGraphBase::create_new_node | ( | int | node_index, |
int | num_states | ||
) | [protected, pure virtual] |
Implemented in core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
void core::pack::interaction_graph::InteractionGraphBase::drop_all_edges_for_node | ( | int | node | ) |
deletes all edges adjacent to the node specified
InteractionGraphBase::drop_all_edges_for_node
node | - [in] - index of the node |
References core::pack::interaction_graph::NodeBase::drop_all_edges(), and get_node().
void core::pack::interaction_graph::InteractionGraphBase::drop_edge | ( | std::list< EdgeBase * >::iterator | iter | ) | [protected] |
removes edge from edge list at iterator iter
InteractionGraphBase::drop_edge
iter | - [in] - the iterator pointing at the edge that's deleting itself |
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?
EdgeBase const * core::pack::interaction_graph::InteractionGraphBase::find_edge | ( | int | node1, |
int | node2 | ||
) | const [protected] |
returns the edge connecting node1 and node2
InteractionGraphBase::find_edge
node1 | - [in] - index of the first node |
node2 | - [in] - index of the second node |
References core::pack::interaction_graph::EdgeBase::same_edge().
Referenced by 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::OnTheFlyInteractionGraph::note_short_range_interactions_exist_for_edge(), set_edge_weight(), and core::pack::interaction_graph::OnTheFlyInteractionGraph::set_ProCorrection_values_for_edge().
EdgeBase const & core::pack::interaction_graph::InteractionGraphBase::get_edge | ( | ) | const |
return a const reference to an edge pointed at by the list iterator
returns true if an edge between node1 and node2 exists
InteractionGraphBase::get_edge_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().
std::list< EdgeBase* >::iterator core::pack::interaction_graph::InteractionGraphBase::get_edge_list_begin | ( | ) | [inline, protected] |
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::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::LazyInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::FASTERInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::DoubleLazyInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::DensePDInteractionGraph::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::PDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::LinearMemoryInteractionGraph::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::DoubleLazyInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::FASTERInteractionGraph::prepare_for_FASTER(), prepare_for_simulated_annealing(), core::pack::interaction_graph::DoubleLazyInteractionGraph::prepare_for_simulated_annealing(), core::pack::interaction_graph::LinearMemoryInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::LazyInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DoubleLazyInteractionGraph::print_current_state_assignment(), protocols::flexpack::interaction_graph::FlexbbInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::PDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::LinearMemoryInteractionGraph::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::DoubleLazyInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::DensePDInteractionGraph::update_internal_energy_totals(), and core::pack::interaction_graph::DoubleLazyInteractionGraph::~DoubleLazyInteractionGraph().
std::list< EdgeBase* >::const_iterator core::pack::interaction_graph::InteractionGraphBase::get_edge_list_begin | ( | ) | const [inline, protected] |
std::list< EdgeBase* >::const_iterator core::pack::interaction_graph::InteractionGraphBase::get_edge_list_end | ( | ) | const [inline, protected] |
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::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::LazyInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::FASTERInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::DoubleLazyInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::get_edge_memory_usage(), core::pack::interaction_graph::DensePDInteractionGraph::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::PDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::LinearMemoryInteractionGraph::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::DoubleLazyInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::FASTERInteractionGraph::prepare_for_FASTER(), prepare_for_simulated_annealing(), core::pack::interaction_graph::DoubleLazyInteractionGraph::prepare_for_simulated_annealing(), core::pack::interaction_graph::LinearMemoryInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::LazyInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DoubleLazyInteractionGraph::print_current_state_assignment(), protocols::flexpack::interaction_graph::FlexbbInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::PDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::LinearMemoryInteractionGraph::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::DoubleLazyInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::DensePDInteractionGraph::update_internal_energy_totals(), and core::pack::interaction_graph::DoubleLazyInteractionGraph::~DoubleLazyInteractionGraph().
virtual int core::pack::interaction_graph::InteractionGraphBase::get_edge_memory_usage | ( | ) | const [pure virtual] |
Implemented in core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, 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().
virtual core::PackerEnergy core::pack::interaction_graph::InteractionGraphBase::get_energy_current_state_assignment | ( | ) | [pure virtual] |
Implemented in core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
virtual core::PackerEnergy core::pack::interaction_graph::InteractionGraphBase::get_energy_sum_for_vertex_group | ( | int | group_id | ) | [pure virtual] |
Implemented in core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
NodeBase* core::pack::interaction_graph::InteractionGraphBase::get_node | ( | int | index | ) | const [inline, protected] |
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(), protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::get_otfflexbb_node(), core::pack::interaction_graph::PDInteractionGraph::get_pd_node(), and prepare_for_simulated_annealing().
int core::pack::interaction_graph::InteractionGraphBase::get_num_edges | ( | ) | const [inline, protected] |
int core::pack::interaction_graph::InteractionGraphBase::get_num_nodes | ( | ) | const [inline] |
Referenced by any_vertex_state_unassigned(), core::pack::interaction_graph::FASTERInteractionGraph::assign_BMEC(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::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::LazyInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::FASTERInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::DoubleLazyInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::blanket_assign_state_0(), core::pack::interaction_graph::DensePDInteractionGraph::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::PDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::LinearMemoryInteractionGraph::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::DoubleLazyInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DensePDInteractionGraph::get_energy_sum_for_vertex_group(), get_num_nodes_v(), 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_for_simulated_annealing(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::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::LazyInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::FASTERInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DoubleLazyInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::print_current_state_assignment(), core::pack::interaction_graph::DensePDInteractionGraph::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::LinearMemoryInteractionGraph::set_network_state(), core::pack::interaction_graph::LazyInteractionGraph::set_network_state(), core::pack::interaction_graph::DoubleLazyInteractionGraph::set_network_state(), protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::set_network_state(), protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::set_pose(), protocols::flexpack::interaction_graph::FlexbbInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::PDInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::LinearMemoryInteractionGraph::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::DoubleLazyInteractionGraph::update_internal_energy_totals(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::update_internal_energy_totals(), and core::pack::interaction_graph::DensePDInteractionGraph::update_internal_energy_totals().
virtual int core::pack::interaction_graph::InteractionGraphBase::get_num_nodes_v | ( | ) | const [inline, virtual] |
References get_num_nodes().
int core::pack::interaction_graph::InteractionGraphBase::get_num_states_for_node | ( | int | node_index | ) | const |
returns the number of states for a particular node
InteractionGraphBase::get_num_states_for_node
node_index | - [in] - the index of the node in question |
int core::pack::interaction_graph::InteractionGraphBase::get_num_total_states | ( | ) | const [inline] |
virtual core::PackerEnergy core::pack::interaction_graph::InteractionGraphBase::get_one_body_energy_for_node_state | ( | int | node, |
int | state | ||
) | [pure virtual] |
Implemented in core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::OnTheFlyInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
bool core::pack::interaction_graph::InteractionGraphBase::get_vertex_member_of_energy_sum_group | ( | int | node_index, |
int | group_id | ||
) | [inline] |
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::PDInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::LinearMemoryInteractionGraph::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::DoubleLazyInteractionGraph::get_energy_sum_for_vertex_group(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::get_energy_sum_for_vertex_group(), and core::pack::interaction_graph::DensePDInteractionGraph::get_energy_sum_for_vertex_group().
unsigned int core::pack::interaction_graph::InteractionGraphBase::getTotalMemoryUsage | ( | ) | const [virtual] |
References count_dynamic_memory(), and count_static_memory().
void core::pack::interaction_graph::InteractionGraphBase::increment_edge_list_iterator | ( | ) | const |
increment the (single) edge list iterator to the next element
virtual void core::pack::interaction_graph::InteractionGraphBase::initialize | ( | rotamer_set::RotamerSetsBase const & | rot_sets | ) | [pure virtual] |
Implemented in core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::OnTheFlyInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, protocols::flexpack::interaction_graph::FlexbbInteractionGraph, protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph, and protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph.
bool core::pack::interaction_graph::InteractionGraphBase::mine | ( | EdgeBase const * | edge | ) | const [inline, protected] |
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.
InteractionGraphBase::note_vertex_reached
node_index | - [in] - the index of the node invoking this method. |
Referenced by core::pack::interaction_graph::NodeBase::depth_first_connected_component_counting().
void core::pack::interaction_graph::InteractionGraphBase::output_connectivity | ( | std::ostream & | os | ) | const |
writes out a list of all the edges in the graph
InteractionGraphBase::output_connectivity
os | - [in] - the output stream to write to |
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)
InteractionGraphBase::output_dimacs
os | - [in] - the output stream to write to |
void core::pack::interaction_graph::InteractionGraphBase::prepare_for_simulated_annealing | ( | ) | [virtual] |
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.
Reimplemented in core::pack::interaction_graph::DoubleLazyInteractionGraph, and core::pack::interaction_graph::LinearMemoryInteractionGraph.
References get_edge_list_begin(), get_edge_list_end(), get_node(), get_num_nodes(), and core::pack::interaction_graph::NodeBase::prepare_for_simulated_annealing().
virtual void core::pack::interaction_graph::InteractionGraphBase::print | ( | ) | const [inline, virtual] |
Referenced by print_vertices().
virtual void core::pack::interaction_graph::InteractionGraphBase::print_current_state_assignment | ( | ) | const [pure virtual] |
Implemented in core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
void core::pack::interaction_graph::InteractionGraphBase::print_vertex_groups | ( | ) |
References get_num_nodes().
void core::pack::interaction_graph::InteractionGraphBase::print_vertices | ( | ) | const |
calls print() on each of the nodes in the graph
InteractionGraphBase::print_vertices
References print().
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.
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().
virtual void core::pack::interaction_graph::InteractionGraphBase::set_errorfull_deltaE_threshold | ( | core::PackerEnergy | deltaE | ) | [pure virtual] |
Implemented in core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
virtual core::PackerEnergy core::pack::interaction_graph::InteractionGraphBase::set_network_state | ( | ObjexxFCL::FArray1_int & | node_states | ) | [pure virtual] |
Implemented in core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
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.
InteractionGraphBase::set_num_states_for_node
node_index | - [in] - the index of the node |
num_states | - [in] - the number of states for that node |
Referenced by protocols::flexpack::interaction_graph::FlexbbInteractionGraph::initialize(), core::pack::interaction_graph::PDInteractionGraph::initialize(), core::pack::interaction_graph::OnTheFlyInteractionGraph::initialize(), core::pack::interaction_graph::FASTERInteractionGraph::initialize(), core::pack::interaction_graph::DoubleDensePDInteractionGraph::initialize(), and core::pack::interaction_graph::DensePDInteractionGraph::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.)
InteractionGraphBase::set_number_of_energy_sum_vertex_groups
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. |
virtual core::PackerEnergy core::pack::interaction_graph::InteractionGraphBase::set_state_for_node | ( | int | node_ind, |
int | new_state | ||
) | [pure virtual] |
Implemented in core::pack::interaction_graph::DensePDInteractionGraph, core::pack::interaction_graph::DoubleDensePDInteractionGraph, core::pack::interaction_graph::DoubleLazyInteractionGraph, core::pack::interaction_graph::FASTERInteractionGraph, core::pack::interaction_graph::LazyInteractionGraph, core::pack::interaction_graph::LinearMemoryInteractionGraph, core::pack::interaction_graph::PDInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.
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.)
InteractionGraphBase::set_vertex_member_of_group
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. |
void core::pack::interaction_graph::InteractionGraphBase::update_one_body_energies | ( | ObjexxFCL::FArray1< core::PackerEnergy > & | old_energy1b, |
ObjexxFCL::FArray1< core::PackerEnergy > & | new_energy1b | ||
) |
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.
InteractionGraphBase:: vertex_already_reached
node_index | - [in] - the index of the node calling the method. |
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 | ) |
friend class EdgeBase [friend] |
Reimplemented in protocols::flexpack::interaction_graph::FlexbbInteractionGraph.
friend class NodeBase [friend] |