Rosetta Core  2014.35
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
core::pack::interaction_graph::SymmMinimalistInteractionGraph Class Reference

#include <SymmMinimalistInteractionGraph.hh>

Public Member Functions

 SymmMinimalistInteractionGraph (int numNodes)
virtual ~SymmMinimalistInteractionGraph ()
virtual void blanket_assign_state_0 ()
virtual core::PackerEnergy set_state_for_node (int node_ind, int new_state)
virtual core::PackerEnergy set_network_state (ObjexxFCL::FArray1_int &node_states)
virtual void consider_substitution (int node_ind, int new_state, core::PackerEnergy &delta_energy, core::PackerEnergy &prev_energy_for_node)
virtual core::PackerEnergy commit_considered_substitution ()
virtual core::PackerEnergy get_energy_current_state_assignment ()
virtual int get_edge_memory_usage () const
virtual void print_current_state_assignment () const
virtual void set_errorfull_deltaE_threshold (core::PackerEnergy deltaE)
virtual core::PackerEnergy get_energy_sum_for_vertex_group (int group_id)
virtual void prepare_for_simulated_annealing ()
 iterate across edges and nodes and allow them to prepare for simulated annealing More...
virtual unsigned int count_static_memory () const
virtual unsigned int count_dynamic_memory () const
- Public Member Functions inherited from core::pack::interaction_graph::SymmOnTheFlyInteractionGraph
 SymmOnTheFlyInteractionGraph (int num_nodes)
 ~SymmOnTheFlyInteractionGraph ()
virtual void initialize (rotamer_set::RotamerSetsBase const &rot_sets)
virtual int get_num_aatypes () const
int get_num_restype_groups () const
bool distinguish_backbone_and_sidechain_for_node (int node) const
void distinguish_backbone_and_sidechain_for_node (int node, bool setting)
void set_score_function (ScoreFunction const &)
void set_pose (Pose const &)
Pose const & pose () const
conformation::symmetry::SymmetryInfoCOP symm_info () const
Posenon_const_pose ()
 debugging only – modify the pose during simulated annealing, if you're so inclined More...
ScoreFunction const & score_function () const
void zero_one_body_energy_for_node_state (int node_ind, int state)
void add_to_one_body_energy_for_node_state (int node_ind, int state, core::PackerEnergy one_body_energy)
void set_one_body_energy_for_node_state (int node_ind, int state, core::PackerEnergy one_body_energy)
virtual core::PackerEnergy get_one_body_energy_for_node_state (int node, int state)
void set_residues_adjacent_for_subunit_pair_for_edge (int node1, int node2, int asu_node_index, int other_node_subunit)
void reset_rpe_calculations_count ()
Size get_num_rpe_calculations_count () const
void note_rpe_calculated () const
 to be called by owned OTF node only More...
void add_ProCorrection_values_for_edge (int node1, int node2, int node_not_neccessarily_proline, int state, core::PackerEnergy bb_nonprobb_E, core::PackerEnergy bb_probb_E, core::PackerEnergy sc_nonprobb_E, core::PackerEnergy sc_probb_E)
void note_short_range_interactions_exist_for_edge (int node1, int node2)
void note_long_range_interactions_exist_for_edge (int node1, int node2)
HTReal const & symmetric_transform (Size dst_subunit) const
 Return the homogeneous transform to translate and rotate coordinates originally in the asymmetric unit into a given destination subunit. More...
SymmOnTheFlyNodeget_on_the_fly_node (int node_index)
SymmOnTheFlyNode const * get_on_the_fly_node (int node_index) const
- Public Member Functions inherited from core::pack::interaction_graph::FixedBBInteractionGraph
virtual ~FixedBBInteractionGraph ()
 FixedBBInteractionGraph (int num_nodes)
virtual bool aa_submatrix_energies_retrievable () const
virtual int aatype_for_node_state (int node_ind, int node_state) const
virtual ObjexxFCL::FArray2D
< core::PackerEnergy
get_aa_submatrix_energies_for_edge (int node1, int node2, int node1aa, int node2aa) const
void set_sparse_aa_info_for_edge (int node1, int node2, ObjexxFCL::FArray2_bool const &sparse_conn_info)
 interface to PDEdge::set_sparse_aa_info More...
bool get_sparse_aa_info_for_edge (int node1, int node2, int node1aa, int node2aa)
 returns true if node1aa and node2aa are amino acid neighbors More...
void force_aa_neighbors_for_edge (int node1, int node2, int node1aa, int node2aa)
 interface to FixedBBEdge::force_aa_neighbors More...
void force_all_aa_neighbors_for_edge (int node1, int node2)
 interface to PDEdge::force_aa_neighbors More...
virtual core::PackerEnergy get_two_body_energy_for_edge (int node1, int node2, int state_node1, int state_node2) const
 interface to FixedBBEdge::get_two_body_energy More...
- Public Member Functions inherited from core::pack::interaction_graph::InteractionGraphBase
virtual ~InteractionGraphBase ()
 destructor More...
 InteractionGraphBase (int num_nodes)
 main constructor More...
virtual int get_num_nodes_v () const
int get_num_nodes () const
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
 returns the number of states for a particular node More...
int get_num_total_states () const
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)
 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_edge_weight (int node1, int node2, Real edge_weight)
Real get_edge_weight (int node1, int node2) const
bool any_vertex_state_unassigned () const
 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 ()
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...
EdgeBase const * find_edge (int node1, int node2) const
 returns the edge connecting node1 and node2 More...
EdgeBasefind_edge (int node1, int node2)
NodeBaseget_node (int index) const
int get_num_edges () const
std::list< EdgeBase * >::iterator get_edge_list_begin ()
std::list< EdgeBase * >
get_edge_list_begin () const
std::list< EdgeBase * >
get_edge_list_end () const

Protected Member Functions

virtual NodeBasecreate_new_node (int node_index, int num_states)
virtual EdgeBasecreate_new_edge (int index1, int index2)
core::PackerEnergy get_energy_PD_current_state_assignment ()
 O(1) total energy report. Protected read access for derived classes. More...
void update_internal_energy_totals ()
SymmMinimalistNode const * get_symmin_node (int index) const
SymmMinimalistNodeget_symmin_node (int index)
- Protected Member Functions inherited from core::pack::interaction_graph::FixedBBInteractionGraph
FixedBBNode const * get_fixedbb_node (int node_index) const
 Downcasts. More...
FixedBBNodeget_fixedbb_node (int node_index)
FixedBBEdge const * get_fixedbb_edge (int node1, int node2) const
FixedBBEdgeget_fixedbb_edge (int node1, int node2)
- Protected Member Functions inherited from core::pack::interaction_graph::InteractionGraphBase
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

 SymmMinimalistInteractionGraph ()
 SymmMinimalistInteractionGraph (SymmMinimalistInteractionGraph const &)
SymmMinimalistInteractionGraphoperator= (SymmMinimalistInteractionGraph const &)

Private Attributes

bool first_time_prepping_for_simA_
int num_commits_since_last_update_
core::PackerEnergy total_energy_current_state_assignment_
core::PackerEnergy total_energy_alternate_state_assignment_
int node_considering_alt_state_
bool have_not_committed_last_substitution_

Static Private Attributes

static const int COMMIT_LIMIT_BETWEEN_UPDATES = 1024

Additional Inherited Members

- Public Types inherited from core::pack::interaction_graph::SymmOnTheFlyInteractionGraph
typedef pose::Pose Pose
typedef pose::PoseOP PoseOP
typedef scoring::ScoreFunction ScoreFunction
typedef scoring::ScoreFunctionOP ScoreFunctionOP
< Real

Constructor & Destructor Documentation

core::pack::interaction_graph::SymmMinimalistInteractionGraph::SymmMinimalistInteractionGraph ( int  numNodes)
core::pack::interaction_graph::SymmMinimalistInteractionGraph::~SymmMinimalistInteractionGraph ( )
core::pack::interaction_graph::SymmMinimalistInteractionGraph::SymmMinimalistInteractionGraph ( )

Referenced by count_static_memory().

core::pack::interaction_graph::SymmMinimalistInteractionGraph::SymmMinimalistInteractionGraph ( SymmMinimalistInteractionGraph const &  )

Member Function Documentation

void core::pack::interaction_graph::SymmMinimalistInteractionGraph::blanket_assign_state_0 ( )
core::PackerEnergy core::pack::interaction_graph::SymmMinimalistInteractionGraph::commit_considered_substitution ( )
void core::pack::interaction_graph::SymmMinimalistInteractionGraph::consider_substitution ( int  node_ind,
int  new_state,
core::PackerEnergy delta_energy,
core::PackerEnergy prev_energy_for_node 
unsigned int core::pack::interaction_graph::SymmMinimalistInteractionGraph::count_dynamic_memory ( ) const
unsigned int core::pack::interaction_graph::SymmMinimalistInteractionGraph::count_static_memory ( ) const
EdgeBase * core::pack::interaction_graph::SymmMinimalistInteractionGraph::create_new_edge ( int  index1,
int  index2 
NodeBase * core::pack::interaction_graph::SymmMinimalistInteractionGraph::create_new_node ( int  node_index,
int  num_states 
int core::pack::interaction_graph::SymmMinimalistInteractionGraph::get_edge_memory_usage ( ) const
core::PackerEnergy core::pack::interaction_graph::SymmMinimalistInteractionGraph::get_energy_current_state_assignment ( )
core::PackerEnergy core::pack::interaction_graph::SymmMinimalistInteractionGraph::get_energy_PD_current_state_assignment ( )

O(1) total energy report. Protected read access for derived classes.

References total_energy_current_state_assignment_.

core::PackerEnergy core::pack::interaction_graph::SymmMinimalistInteractionGraph::get_energy_sum_for_vertex_group ( int  group_id)
SymmMinimalistNode const* core::pack::interaction_graph::SymmMinimalistInteractionGraph::get_symmin_node ( int  index) const
SymmMinimalistNode* core::pack::interaction_graph::SymmMinimalistInteractionGraph::get_symmin_node ( int  index)
SymmMinimalistInteractionGraph& core::pack::interaction_graph::SymmMinimalistInteractionGraph::operator= ( SymmMinimalistInteractionGraph const &  )
void core::pack::interaction_graph::SymmMinimalistInteractionGraph::prepare_for_simulated_annealing ( )

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 from core::pack::interaction_graph::InteractionGraphBase.

References first_time_prepping_for_simA_, and core::pack::interaction_graph::InteractionGraphBase::prepare_for_simulated_annealing().

void core::pack::interaction_graph::SymmMinimalistInteractionGraph::print_current_state_assignment ( ) const
void core::pack::interaction_graph::SymmMinimalistInteractionGraph::set_errorfull_deltaE_threshold ( core::PackerEnergy  deltaE)
core::PackerEnergy core::pack::interaction_graph::SymmMinimalistInteractionGraph::set_network_state ( ObjexxFCL::FArray1_int &  node_states)
core::PackerEnergy core::pack::interaction_graph::SymmMinimalistInteractionGraph::set_state_for_node ( int  node_ind,
int  new_state 
void core::pack::interaction_graph::SymmMinimalistInteractionGraph::update_internal_energy_totals ( )

Member Data Documentation

const int core::pack::interaction_graph::SymmMinimalistInteractionGraph::COMMIT_LIMIT_BETWEEN_UPDATES = 1024
bool core::pack::interaction_graph::SymmMinimalistInteractionGraph::first_time_prepping_for_simA_
bool core::pack::interaction_graph::SymmMinimalistInteractionGraph::have_not_committed_last_substitution_
int core::pack::interaction_graph::SymmMinimalistInteractionGraph::node_considering_alt_state_
int core::pack::interaction_graph::SymmMinimalistInteractionGraph::num_commits_since_last_update_
core::PackerEnergy core::pack::interaction_graph::SymmMinimalistInteractionGraph::total_energy_alternate_state_assignment_
core::PackerEnergy core::pack::interaction_graph::SymmMinimalistInteractionGraph::total_energy_current_state_assignment_

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