Rosetta 3.5
|
#include <MinimalistFlexbbInteractionGraph.hh>
Public Types | |
typedef OTFFlexbbNode | parent |
typedef FlexbbNode | grandparent |
![]() | |
typedef FlexbbNode | parent |
typedef core::conformation::Residue | Residue |
typedef core::conformation::ResidueCOP | ResidueCOP |
typedef core::Size | Size |
typedef core::PackerEnergy | PackerEnergy |
typedef core::Real | Real |
typedef core::Vector | Vector |
typedef core::DistanceSquared | DistanceSquared |
![]() | |
typedef core::pack::interaction_graph::NodeBase | parent |
typedef core::PackerEnergy | PackerEnergy |
typedef core::Size | Size |
Public Member Functions | |
MinimalistFlexbbNode (MinimalistFlexbbInteractionGraph *owner, int node_id, int num_states) | |
~MinimalistFlexbbNode () | |
virtual void | assign_zero_state () |
Virtual functions from NodeBase not covered by FlexbbNode. More... | |
virtual void | prepare_for_simulated_annealing () |
virtual void | print () const |
PackerEnergy | project_deltaE_for_substitution (int alternate_state, PackerEnergy &prev_energy_for_node) |
Virtual functions from OTFFlexbbNode. More... | |
bool | prepare_for_altbb_move_to_state (int alt_state) |
Traverse incident edges and inform them of the alternate state being considered at this node. Return true if the alternate state is valid. More... | |
bool | prepare_for_altbb_move_to_closest_state (int alt_bb) |
Set the alternate state to be the one on the alternate backbone most similar to the currently assigned state. Traverse incident edges and inform them of the alternate state being considered at this node. Return true if the alternate state is valid. More... | |
PackerEnergy | get_frag_energy_for_alt_bb_state () |
PackerEnergy | get_frag_energy_for_curr_bb_state_and_finalize_alt_energy_total () |
void | commit_considered_substitution () |
void | commit_considered_substitution (ObjexxFCL::FArray1_int &state_on_node) |
void | commit_alt_bb_substitution (ObjexxFCL::FArray1_int &state_on_node) |
void | acknowledge_neighbors_substitution (int which_edge, PackerEnergy alternate_energy) |
void | resolve_uncommitted_substitution () |
PackerEnergy | assign_state (int new_state) |
assign a new state to this node and return the change in energy induced More... | |
void | partially_assign_state (int new_state) |
For assinging network states to the interaction graph: when substituting two adjacent nodes i and j from states r and s to states r' and s', this function, along with its partner function, complete_partial_state_assignment, guarantees that neither the energies r' with s nor s' with r are computed which would be wasteful. This function is meant to be called by the owning interaction graph and not meant to be called by the outside world. More... | |
void | complete_partial_state_assignment () |
See description of partially_assign_state. More... | |
virtual unsigned int | count_static_memory () const |
virtual unsigned int | count_dynamic_memory () const |
memory accounting scheme More... | |
![]() | |
OTFFlexbbNode (OTFFlexbbInteractionGraph *, int node_id, int num_states) | |
virtual | ~OTFFlexbbNode () |
Residue const & | rotamer (int index) const |
void | set_rotamer (int state, ResidueCOP rotamer) |
void | declare_all_rotamers_initialized () |
Real | bounding_radius_for_rotamers (int aatype, int bb) const |
bool | rotamer_is_proline (int state) const |
bool | rotamer_is_glycine (int state) const |
![]() | |
FlexbbNode (FlexbbInteractionGraph *owner, int node_id, int num_states) | |
virtual | ~FlexbbNode () |
void | set_num_distinct_backbones (int nbbconfs) |
int | get_num_distinct_backbones () const |
void | set_num_states_per_backbone (utility::vector1< int > const &) |
int | get_bb_for_state (int state) const |
int | get_num_states_for_bb (int bbconf) const |
int | get_state_offset_for_bb (int bbconf) const |
void | get_states_on_curr_bb (utility::vector1< Size > &state_list, int offset) const |
void | get_all_states (utility::vector1< Size > &rotlist, int offset) const |
void | set_closest_states_on_other_bbs (ObjexxFCL::FArray2D_int const &) |
void | set_amino_acid_types (utility::vector1< int > const &) |
ObjexxFCL::FArray1A_int | getNumStatesPerAAPerBB (int aa) |
virtual void | add_to_one_body_energies (ObjexxFCL::FArray1< PackerEnergy > &energies) |
virtual void | add_to_one_body_energy (int state, PackerEnergy energy) |
virtual void | update_one_body_energy (int state, PackerEnergy energy) |
virtual void | zero_one_body_energies () |
virtual bool | state_unassigned () const |
PackerEnergy | get_one_body_energy (int state) const |
int | get_current_state () const |
int | get_backbone_for_current_state () const |
void | write_current_state_to_state_array (ObjexxFCL::FArray1_int &nodes_states) |
bool | inform_edges_of_alt_state_before_bbjump () |
Preliminatry bookkeeping for the node the Graph contacted about a backbone move. This node is the "root" of the DFS traversal. More... | |
bool | state_has_same_backbone_as_current (int state) const |
Did the alterenate state assigned during a flexbb move actually preserve the currently assigned bb? More... | |
int | get_num_states_for_aa_type_for_bb (int aa_type, int bb) const |
void | print_internal_energies () |
void | update_internal_energy_sums () |
int | num_aa_types () const |
Read access to private data to both derived classes and the world. More... | |
int | num_bbconfs () const |
utility::vector1< int > const & | num_states_for_bb () |
utility::vector1< int > const & | state_offsets_for_bb () |
ObjexxFCL::FArray2D_int const & | num_states_for_aa_for_bb () |
ObjexxFCL::FArray2D_int const & | state_offsets_for_aa_for_bb () |
ObjexxFCL::FArray2D_int const & | closest_state_on_alt_bb () const |
FlexbbSparseMatrixIndex const & | state_info (int state) const |
utility::vector1< PackerEnergy > const & | one_body_energies () const |
int | current_state () const |
FlexbbSparseMatrixIndex const & | current_state_info () const |
int | curr_bb () const |
PackerEnergy | curr_state_one_body_energy () const |
PackerEnergy | curr_state_total_energy () const |
utility::vector1< PackerEnergy > const & | curr_state_two_body_energies () |
int | alternate_state () const |
FlexbbSparseMatrixIndex const & | alternate_state_info () const |
int | alt_bb () const |
PackerEnergy | alternate_state_one_body_energy () const |
PackerEnergy | alternate_state_total_energy () const |
utility::vector1< PackerEnergy > const & | alternate_state_two_body_energies () const |
PackerEnergy | alternate_state_two_body_energies (int ind) const |
utility::vector1< bool > const & | edge_connects_flexsegmate () const |
bool | count_energy_to_node_in_my_fragtotalE (int edge_index) const |
Convention for acumulating energies between flexsegmates during a backbone move: The smaller-indexed node counts the interaction, the larger-indexed node does not. More... | |
bool | alternate_state_is_being_considered () const |
![]() | |
virtual | ~NodeBase () |
virtual destructor More... | |
NodeBase (InteractionGraphBase *, int node_id, int num_states) | |
Main constructor, no default constructor nor copy constructor. More... | |
int | get_num_states () const |
returns the number of states for this node More... | |
std::list< EdgeBase * >::iterator | add_edge (EdgeBase *edge_ptr) |
adds edge pointer to edge list; returns an iterator to the new list element More... | |
void | drop_edge (std::list< EdgeBase * >::iterator edge_iterator) |
removes an edge iterator from the node's edge list More... | |
void | drop_all_edges () |
deletes all edges incident upon this node More... | |
EdgeBase * | find_edge (int other_node_index) const |
a slow (linear) search for an edge. The edge is identified by the index of the node to which the edge connects this node. Returns NULL when there is no such connecting edge. More... | |
virtual void | add_to_one_body_energies (ObjexxFCL::FArray1< core::PackerEnergy > &energy1b)=0 |
void | depth_first_connected_component_counting () |
performs a depth first traversal of the graph. Each node informs the graph that the traversal resulted in arriving at the node. More... | |
std::list< EdgeBase * > ::const_iterator | edge_list_begin () |
std::list< EdgeBase * > ::const_iterator | edge_list_end () |
int | get_node_index () const |
int | get_num_incident_edges () const |
int | get_num_edges_to_smaller_indexed_nodes () const |
int | get_num_edges_to_larger_indexed_nodes () const |
EdgeBase const * | get_incident_edge (int index) const |
These functions are public for the sake of writing good unit tests. More... | |
EdgeBase * | get_incident_edge (int index) |
int | get_index_of_adjacent_node (int index) const |
NodeBase const * | get_adjacent_node (int index) const |
NodeBase * | get_adjacent_node (int index) |
protocols::flexpack::interaction_graph::MinimalistFlexbbNode::MinimalistFlexbbNode | ( | MinimalistFlexbbInteractionGraph * | owner, |
int | node_id, | ||
int | num_states | ||
) |
Referenced by count_static_memory().
protocols::flexpack::interaction_graph::MinimalistFlexbbNode::~MinimalistFlexbbNode | ( | ) |
void protocols::flexpack::interaction_graph::MinimalistFlexbbNode::acknowledge_neighbors_substitution | ( | int | which_edge, |
PackerEnergy | alternate_energy | ||
) |
References protocols::flexpack::interaction_graph::FlexbbNode::curr_state_two_body_energies(), protocols::flexpack::interaction_graph::FlexbbNode::inc_curr_state_total_energy(), and protocols::flexpack::interaction_graph::FlexbbNode::set_curr_state_two_body_energies().
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbEdge::acknowledge_substitution().
MinimalistFlexbbNode::PackerEnergy protocols::flexpack::interaction_graph::MinimalistFlexbbNode::assign_state | ( | int | new_state) |
assign a new state to this node and return the change in energy induced
References complete_partial_state_assignment(), protocols::flexpack::interaction_graph::FlexbbNode::curr_state_total_energy(), and partially_assign_state().
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::set_state_for_node().
|
virtual |
Virtual functions from NodeBase not covered by FlexbbNode.
Virtual functions from NodeBase.
Implements core::pack::interaction_graph::NodeBase.
References protocols::flexpack::interaction_graph::MinimalistFlexbbEdge::acknowledge_state_zeroed(), get_incident_minimalistflexbb_edge(), core::pack::interaction_graph::NodeBase::get_node_index(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), protocols::flexpack::interaction_graph::FlexbbNode::reset_all_rotamer_substitution_bookkeeping_data(), protocols::flexpack::interaction_graph::FlexbbNode::set_curr_state_one_body_energy(), protocols::flexpack::interaction_graph::FlexbbNode::set_curr_state_total_energy(), protocols::flexpack::interaction_graph::FlexbbNode::set_curr_state_two_body_energies(), and protocols::flexpack::interaction_graph::FlexbbNode::set_current_state().
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::blanket_assign_state_0().
void protocols::flexpack::interaction_graph::MinimalistFlexbbNode::commit_alt_bb_substitution | ( | ObjexxFCL::FArray1_int & | state_on_node) |
References protocols::flexpack::interaction_graph::MinimalistFlexbbEdge::acknowledge_substitution(), protocols::flexpack::interaction_graph::FlexbbNode::alternate_state(), protocols::flexpack::interaction_graph::FlexbbNode::copy_alternate_to_current(), get_incident_minimalistflexbb_edge(), core::pack::interaction_graph::NodeBase::get_node_index(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), and protocols::flexpack::interaction_graph::FlexbbNode::have_edges_copy_alternate_to_current_following_flexbb_accept().
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::commit_considered_backbone_move().
void protocols::flexpack::interaction_graph::MinimalistFlexbbNode::commit_considered_substitution | ( | ) |
References protocols::flexpack::interaction_graph::MinimalistFlexbbEdge::acknowledge_substitution(), protocols::flexpack::interaction_graph::FlexbbNode::alternate_state_is_being_considered(), protocols::flexpack::interaction_graph::FlexbbNode::copy_alternate_to_current(), get_incident_minimalistflexbb_edge(), core::pack::interaction_graph::NodeBase::get_node_index(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), and protocols::flexpack::interaction_graph::FlexbbNode::have_edges_copy_alternate_to_current().
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::commit_considered_backbone_move(), commit_considered_substitution(), and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::commit_considered_substitution().
void protocols::flexpack::interaction_graph::MinimalistFlexbbNode::commit_considered_substitution | ( | ObjexxFCL::FArray1_int & | state_on_node) |
void protocols::flexpack::interaction_graph::MinimalistFlexbbNode::complete_partial_state_assignment | ( | ) |
See description of partially_assign_state.
References protocols::flexpack::interaction_graph::MinimalistFlexbbEdge::acknowledge_substitution(), protocols::flexpack::interaction_graph::FlexbbNode::alternate_state_two_body_energies(), protocols::flexpack::interaction_graph::FlexbbNode::copy_alternate_to_current(), get_incident_minimalistflexbb_edge(), core::pack::interaction_graph::NodeBase::get_node_index(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), protocols::flexpack::interaction_graph::FlexbbNode::have_edges_copy_alternate_to_current(), protocols::flexpack::interaction_graph::FlexbbNode::inc_alternate_state_total_energy(), and protocols::flexpack::interaction_graph::FlexbbNode::set_alternate_state_two_body_energies().
Referenced by assign_state(), and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::set_network_state().
|
virtual |
memory accounting scheme
Reimplemented from protocols::flexpack::interaction_graph::OTFFlexbbNode.
References protocols::flexpack::interaction_graph::OTFFlexbbNode::count_dynamic_memory().
|
virtual |
Implements core::pack::interaction_graph::NodeBase.
References MinimalistFlexbbNode().
|
inlineprotected |
|
inlineprotected |
|
protected |
MinimalistFlexbbNode::PackerEnergy protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_frag_energy_for_alt_bb_state | ( | ) |
This function call will be parallelized with openMP. The calculations performed by different nodes may be performed in any order and in parallel without any data collision. After this function completes, a second pass across the nodes in the graph must be performed to compute the node alternate_state_total_energy – but this second traversal is fast.
References protocols::flexpack::interaction_graph::FlexbbNode::alternate_state_one_body_energy(), protocols::flexpack::interaction_graph::FlexbbNode::alternate_state_two_body_energies(), protocols::flexpack::interaction_graph::FlexbbNode::edge_connects_flexsegmate(), get_incident_minimalistflexbb_edge(), core::pack::interaction_graph::NodeBase::get_index_of_adjacent_node(), core::pack::interaction_graph::NodeBase::get_node_index(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), and protocols::flexpack::interaction_graph::FlexbbNode::set_alternate_state_two_body_energies().
MinimalistFlexbbNode::PackerEnergy protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_frag_energy_for_curr_bb_state_and_finalize_alt_energy_total | ( | ) |
This method could be parallelized with openMP, but probably would not be worth parallelizing. It is the second step of computing the deltaE for a backbone move. The alternate_state_total_energy is computed here, as well as the curr_frag_total_energy which is returned.
References protocols::flexpack::interaction_graph::FlexbbNode::alternate_state_one_body_energy(), protocols::flexpack::interaction_graph::FlexbbNode::alternate_state_two_body_energies(), protocols::flexpack::interaction_graph::FlexbbNode::curr_state_one_body_energy(), protocols::flexpack::interaction_graph::FlexbbNode::curr_state_two_body_energies(), protocols::flexpack::interaction_graph::FlexbbNode::edge_connects_flexsegmate(), get_incident_minimalistflexbb_edge(), core::pack::interaction_graph::NodeBase::get_index_of_adjacent_node(), core::pack::interaction_graph::NodeBase::get_node_index(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), protocols::flexpack::interaction_graph::FlexbbNode::inc_alternate_state_total_energy(), protocols::flexpack::interaction_graph::FlexbbNode::set_alternate_state_total_energy(), and protocols::flexpack::interaction_graph::FlexbbNode::set_alternate_state_two_body_energies().
|
inlineprotected |
Downcast pointers to incident edges, adjacent nodes, and the owning graph.
Node Downcast.
References core::pack::interaction_graph::NodeBase::get_incident_edge().
Referenced by assign_zero_state(), commit_alt_bb_substitution(), commit_considered_substitution(), complete_partial_state_assignment(), get_frag_energy_for_alt_bb_state(), get_frag_energy_for_curr_bb_state_and_finalize_alt_energy_total(), and resolve_uncommitted_substitution().
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
void protocols::flexpack::interaction_graph::MinimalistFlexbbNode::partially_assign_state | ( | int | new_state) |
For assinging network states to the interaction graph: when substituting two adjacent nodes i and j from states r and s to states r' and s', this function, along with its partner function, complete_partial_state_assignment, guarantees that neither the energies r' with s nor s' with r are computed which would be wasteful. This function is meant to be called by the owning interaction graph and not meant to be called by the outside world.
References protocols::flexpack::interaction_graph::FlexbbNode::alternate_state(), protocols::flexpack::interaction_graph::FlexbbNode::alternate_state_info(), protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::debug_note_considered_substitution(), protocols::flexpack::interaction_graph::OTFFlexbbNode::get_otfflexbbig_owner(), protocols::flexpack::interaction_graph::FlexbbNode::inform_incident_edges_about_partial_state_assignment(), protocols::flexpack::interaction_graph::FlexbbNode::partial_state_assignment(), protocols::flexpack::interaction_graph::OTFFlexbbNode::rotamer(), and protocols::flexpack::interaction_graph::FlexbbNode::state_offsets_for_bb().
Referenced by assign_state(), and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::set_network_state().
bool protocols::flexpack::interaction_graph::MinimalistFlexbbNode::prepare_for_altbb_move_to_closest_state | ( | int | alt_bb) |
Set the alternate state to be the one on the alternate backbone most similar to the currently assigned state. Traverse incident edges and inform them of the alternate state being considered at this node. Return true if the alternate state is valid.
References protocols::flexpack::interaction_graph::FlexbbNode::alt_bb(), protocols::flexpack::interaction_graph::FlexbbNode::closest_state_on_alt_bb(), protocols::flexpack::interaction_graph::FlexbbNode::curr_bb(), protocols::flexpack::interaction_graph::FlexbbNode::current_state(), protocols::flexpack::interaction_graph::FlexbbNode::get_num_distinct_backbones(), core::pack::interaction_graph::NodeBase::get_num_states(), and prepare_for_altbb_move_to_state().
bool protocols::flexpack::interaction_graph::MinimalistFlexbbNode::prepare_for_altbb_move_to_state | ( | int | alt_state) |
Traverse incident edges and inform them of the alternate state being considered at this node. Return true if the alternate state is valid.
References protocols::flexpack::interaction_graph::FlexbbNode::alternate_state_info(), protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::debug_note_considered_substitution(), core::pack::interaction_graph::NodeBase::get_num_states(), protocols::flexpack::interaction_graph::OTFFlexbbNode::get_otfflexbbig_owner(), protocols::flexpack::interaction_graph::FlexbbNode::inform_edges_of_alt_state_before_bbjump(), protocols::flexpack::interaction_graph::FlexbbNode::one_body_energies(), protocols::flexpack::interaction_graph::OTFFlexbbNode::rotamer(), protocols::flexpack::interaction_graph::FlexbbNode::set_alternate_state(), protocols::flexpack::interaction_graph::FlexbbNode::set_alternate_state_one_body_energy(), protocols::flexpack::interaction_graph::FlexbbNode::set_considering_alternate_state(), and protocols::flexpack::interaction_graph::FlexbbNode::state_offsets_for_bb().
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::consider_bbmove_w_state_substitution(), and prepare_for_altbb_move_to_closest_state().
|
virtual |
|
virtual |
Reimplemented from protocols::flexpack::interaction_graph::OTFFlexbbNode.
References protocols::flexpack::interaction_graph::OTFFlexbbNode::print().
MinimalistFlexbbNode::PackerEnergy protocols::flexpack::interaction_graph::MinimalistFlexbbNode::project_deltaE_for_substitution | ( | int | alternate_state, |
PackerEnergy & | prev_energy_for_node | ||
) |
Virtual functions from OTFFlexbbNode.
Other functions
References protocols::flexpack::interaction_graph::FlexbbNode::alternate_state_info(), protocols::flexpack::interaction_graph::FlexbbNode::alternate_state_one_body_energy(), protocols::flexpack::interaction_graph::FlexbbNode::alternate_state_total_energy(), protocols::flexpack::interaction_graph::FlexbbNode::alternate_state_two_body_energies(), protocols::flexpack::interaction_graph::FlexbbNode::curr_state_total_energy(), protocols::flexpack::interaction_graph::FlexbbNode::current_state(), protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::debug_note_considered_substitution(), protocols::flexpack::interaction_graph::FlexbbNode::get_bb_for_state(), protocols::flexpack::interaction_graph::FlexbbNode::get_incident_flexbb_edge(), protocols::flexpack::interaction_graph::OTFFlexbbNode::get_incident_otfflexbb_edge(), core::pack::interaction_graph::NodeBase::get_node_index(), core::pack::interaction_graph::NodeBase::get_num_edges_to_smaller_indexed_nodes(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), protocols::flexpack::interaction_graph::OTFFlexbbNode::get_otfflexbbig_owner(), protocols::flexpack::interaction_graph::FlexbbNode::inc_alternate_state_total_energy(), protocols::flexpack::interaction_graph::FlexbbNode::one_body_energies(), protocols::flexpack::interaction_graph::OTFFlexbbNode::rotamer(), protocols::flexpack::interaction_graph::FlexbbEdge::set_alt_state(), protocols::flexpack::interaction_graph::FlexbbNode::set_alternate_state(), protocols::flexpack::interaction_graph::FlexbbNode::set_alternate_state_one_body_energy(), protocols::flexpack::interaction_graph::FlexbbNode::set_alternate_state_total_energy(), protocols::flexpack::interaction_graph::FlexbbNode::set_alternate_state_two_body_energies(), protocols::flexpack::interaction_graph::FlexbbNode::set_considering_alternate_state(), and protocols::flexpack::interaction_graph::FlexbbNode::state_offsets_for_bb().
void protocols::flexpack::interaction_graph::MinimalistFlexbbNode::resolve_uncommitted_substitution | ( | ) |
References protocols::flexpack::interaction_graph::FlexbbNode::current_state(), get_incident_minimalistflexbb_edge(), core::pack::interaction_graph::NodeBase::get_num_incident_edges(), protocols::flexpack::interaction_graph::FlexbbEdge::reset_alternate_states_for_uncommited_substitution(), and protocols::flexpack::interaction_graph::FlexbbNode::set_alternate_state().
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::resolve_uncommitted_substitution().