![]() |
Rosetta Protocols
2014.35
|
#include <MinimalistFlexbbInteractionGraph.hh>
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 |
![]() | |
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 |
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.
References protocols::flexpack::interaction_graph::MinimalistFlexbbEdge::acknowledge_state_zeroed(), get_incident_minimalistflexbb_edge(), 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(), 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(), 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(), 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 |
Reimplemented from protocols::flexpack::interaction_graph::OTFFlexbbNode.
References protocols::flexpack::interaction_graph::OTFFlexbbNode::count_dynamic_memory().
|
virtual |
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(), 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(), 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.
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(), prepare_for_altbb_move_to_state(), and utility_exit.
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(), 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(), protocols::flexpack::interaction_graph::FlexbbNode::state_offsets_for_bb(), and utility_exit.
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(), 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(), 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().