![]() |
Rosetta Protocols
2014.35
|
#include <FlexbbInteractionGraph.hh>
Public Types | |
typedef core::pack::interaction_graph::NodeBase | parent |
typedef core::PackerEnergy | PackerEnergy |
typedef core::Size | Size |
Protected Member Functions | |
FlexbbEdge const * | get_incident_flexbb_edge (int index) const |
FlexbbEdge * | get_incident_flexbb_edge (int index) |
FlexbbNode const * | get_adjacent_flexbb_node (int index) const |
FlexbbNode * | get_adjacent_flexbb_node (int index) |
FlexbbInteractionGraph const * | get_flexbbig_owner () const |
FlexbbInteractionGraph * | get_flexbbig_owner () |
void | update_internal_vectors () |
void | inform_edges_considered_fixedbb_substition_uncommitted () |
void | set_considering_alternate_state () |
Limited write acces to private data. More... | |
void | set_current_state (int setting) |
void | set_curr_state_one_body_energy (PackerEnergy setting) |
void | set_curr_state_total_energy (PackerEnergy setting) |
void | inc_curr_state_total_energy (PackerEnergy setting) |
void | set_curr_state_two_body_energies (Size index, PackerEnergy setting) |
void | set_alternate_state (int setting) |
void | set_alternate_state_one_body_energy (PackerEnergy setting) |
void | set_alternate_state_total_energy (PackerEnergy setting) |
void | inc_alternate_state_total_energy (PackerEnergy setting) |
void | set_alternate_state_two_body_energies (Size index, PackerEnergy setting) |
void | reset_all_rotamer_substitution_bookkeeping_data () |
void | partial_state_assignment (int new_state) |
void | inform_incident_edges_about_partial_state_assignment () |
void | copy_alternate_to_current () |
bookkeeping for DFS traversal. Derived classes should consult this at the beginning of node "get_energies" traversals. Calling this function for a node effectively declares that the code which follows will project the delta energy: after the first time this functio is called, it will return true. Must be proceeded by a call to prepare_for_bb_jump(). Depricated. bool energies_already_projected() const; More... | |
void | have_edges_copy_alternate_to_current () |
Have all incident edges copy their data from "alternate_*" to "current_*". More... | |
void | have_edges_copy_alternate_to_current_following_flexbb_accept () |
Have a subset of the incident edges copy their data from "alternate_*" to "current_*" where this subset includes all edges to non-flexsegmates as well as all all upper edges to flexsegmates. Threadsafe if it can be fruitfully parallelized. More... | |
Private Member Functions | |
FlexbbNode () | |
FlexbbNode (FlexbbNode const &) | |
Private Attributes | |
int | num_aa_types_ |
int | num_bb_ |
utility::vector1< int > | num_states_for_bb_ |
utility::vector1< int > | state_offsets_for_bb_ |
ObjexxFCL::FArray2D_int | num_states_for_aa_for_bb_ |
ObjexxFCL::FArray2D_int | state_offsets_for_aa_for_bb_ |
ObjexxFCL::FArray2D_int | closest_state_on_alt_bb_ |
utility::vector0 < FlexbbSparseMatrixIndex > | state_info_ |
vector0 so that assigning state 0 does not index out-of-bounds. More... | |
utility::vector1< PackerEnergy > | one_body_energies_ |
int | current_state_ |
FlexbbSparseMatrixIndex | current_state_info_ |
PackerEnergy | curr_state_one_body_energy_ |
PackerEnergy | curr_state_total_energy_ |
utility::vector1< PackerEnergy > | curr_state_two_body_energies_ |
int | alternate_state_ |
FlexbbSparseMatrixIndex | alternate_state_info_ |
PackerEnergy | alternate_state_one_body_energy_ |
PackerEnergy | alternate_state_total_energy_ |
utility::vector1< PackerEnergy > | alternate_state_two_body_energies_ |
utility::vector1< bool > | edge_connects_flexsegmate_ |
bool | alternate_state_is_being_considered_ |
typedef core::pack::interaction_graph::NodeBase protocols::flexpack::interaction_graph::FlexbbNode::parent |
protocols::flexpack::interaction_graph::FlexbbNode::FlexbbNode | ( | FlexbbInteractionGraph * | owner, |
int | node_id, | ||
int | num_states | ||
) |
References state_info_.
|
virtual |
|
private |
|
private |
|
virtual |
References one_body_energies_.
|
virtual |
References one_body_energies_.
|
inline |
|
inline |
|
inline |
References alternate_state_info_.
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbNode::partially_assign_state(), protocols::flexpack::interaction_graph::MinimalistFlexbbNode::prepare_for_altbb_move_to_state(), and protocols::flexpack::interaction_graph::MinimalistFlexbbNode::project_deltaE_for_substitution().
|
inline |
|
inline |
References alternate_state_one_body_energy_.
Referenced by protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::debug_note_projected_deltaE_of_considered_substitution(), protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_frag_energy_for_alt_bb_state(), protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_frag_energy_for_curr_bb_state_and_finalize_alt_energy_total(), and protocols::flexpack::interaction_graph::MinimalistFlexbbNode::project_deltaE_for_substitution().
|
inline |
|
inline |
References alternate_state_two_body_energies_.
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbNode::complete_partial_state_assignment(), protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_frag_energy_for_alt_bb_state(), protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_frag_energy_for_curr_bb_state_and_finalize_alt_energy_total(), and protocols::flexpack::interaction_graph::MinimalistFlexbbNode::project_deltaE_for_substitution().
|
inline |
References alternate_state_two_body_energies_.
|
inline |
|
protected |
bookkeeping for DFS traversal. Derived classes should consult this at the beginning of node "get_energies" traversals. Calling this function for a node effectively declares that the code which follows will project the delta energy: after the first time this functio is called, it will return true. Must be proceeded by a call to prepare_for_bb_jump(). Depricated. bool energies_already_projected() const;
Copy over the energy data local to this node from "alternate_*" to "current_*"
References alternate_state_, alternate_state_info_, alternate_state_is_being_considered_, alternate_state_one_body_energy_, alternate_state_total_energy_, alternate_state_two_body_energies_, curr_state_one_body_energy_, curr_state_total_energy_, curr_state_two_body_energies_, current_state_, and current_state_info_.
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbNode::commit_alt_bb_substitution(), protocols::flexpack::interaction_graph::MinimalistFlexbbNode::commit_considered_substitution(), and protocols::flexpack::interaction_graph::MinimalistFlexbbNode::complete_partial_state_assignment().
|
virtual |
Reimplemented in protocols::flexpack::interaction_graph::MinimalistFlexbbNode, and protocols::flexpack::interaction_graph::OTFFlexbbNode.
References closest_state_on_alt_bb_, num_states_for_aa_for_bb_, num_states_for_bb_, state_offsets_for_bb_, and protocols::analysis::total.
Referenced by protocols::flexpack::interaction_graph::OTFFlexbbNode::count_dynamic_memory().
|
inline |
Convention for acumulating energies between flexsegmates during a backbone move: The smaller-indexed node counts the interaction, the larger-indexed node does not.
|
inline |
|
inline |
References curr_state_one_body_energy_.
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::get_energy_sum_for_vertex_group(), protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_frag_energy_for_curr_bb_state_and_finalize_alt_energy_total(), and protocols::flexpack::interaction_graph::FlexbbInteractionGraph::update_internal_energy_totals().
|
inline |
|
inline |
|
inline |
References current_state_.
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbNode::commit_considered_substitution(), protocols::flexpack::interaction_graph::MinimalistFlexbbNode::prepare_for_altbb_move_to_closest_state(), protocols::flexpack::interaction_graph::MinimalistFlexbbNode::project_deltaE_for_substitution(), and protocols::flexpack::interaction_graph::MinimalistFlexbbNode::resolve_uncommitted_substitution().
|
inline |
References current_state_info_.
|
inline |
References edge_connects_flexsegmate_.
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_frag_energy_for_alt_bb_state(), protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_frag_energy_for_curr_bb_state_and_finalize_alt_energy_total(), and have_edges_copy_alternate_to_current_following_flexbb_accept().
|
inlineprotected |
|
inlineprotected |
void protocols::flexpack::interaction_graph::FlexbbNode::get_all_states | ( | utility::vector1< Size > & | rotlist, |
int | offset | ||
) | const |
int protocols::flexpack::interaction_graph::FlexbbNode::get_backbone_for_current_state | ( | ) | const |
References current_state_, and state_info_.
Referenced by protocols::flexpack::interaction_graph::FlexbbInteractionGraph::get_backbone_currently_assigned().
int protocols::flexpack::interaction_graph::FlexbbNode::get_current_state | ( | ) | const |
|
inlineprotected |
Referenced by inform_edges_of_alt_state_before_bbjump().
|
inlineprotected |
|
inlineprotected |
Downcast pointers to incident edges, adjacent nodes, and the owning graph ^— Oxford comma. See Vampire Weekend's objection.
Referenced by have_edges_copy_alternate_to_current(), have_edges_copy_alternate_to_current_following_flexbb_accept(), inform_edges_considered_fixedbb_substition_uncommitted(), inform_edges_of_alt_state_before_bbjump(), inform_incident_edges_about_partial_state_assignment(), protocols::flexpack::interaction_graph::MinimalistFlexbbNode::project_deltaE_for_substitution(), and update_internal_vectors().
|
inlineprotected |
|
inline |
int protocols::flexpack::interaction_graph::FlexbbNode::get_num_states_for_aa_type_for_bb | ( | int | aa_type, |
int | bb | ||
) | const |
In a bbmove, did the backbone actually move? Should be called only by the node who was initially contacted
References num_states_for_aa_for_bb_.
FlexbbNode::PackerEnergy protocols::flexpack::interaction_graph::FlexbbNode::get_one_body_energy | ( | int | state | ) | const |
References state_offsets_for_bb_.
void protocols::flexpack::interaction_graph::FlexbbNode::get_states_on_curr_bb | ( | utility::vector1< Size > & | state_list, |
int | offset | ||
) | const |
References current_state_, num_states_for_bb_, state_info_, and state_offsets_for_bb_.
Referenced by protocols::flexpack::interaction_graph::FlexbbInteractionGraph::get_accessible_states().
FArray1A_int protocols::flexpack::interaction_graph::FlexbbNode::getNumStatesPerAAPerBB | ( | int | aa | ) |
References num_states_for_aa_for_bb_.
|
protected |
Have all incident edges copy their data from "alternate_*" to "current_*".
References get_incident_flexbb_edge(), and protocols::flexpack::interaction_graph::FlexbbEdge::note_state_substitution_accepted().
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbNode::commit_considered_substitution(), and protocols::flexpack::interaction_graph::MinimalistFlexbbNode::complete_partial_state_assignment().
|
protected |
Have a subset of the incident edges copy their data from "alternate_*" to "current_*" where this subset includes all edges to non-flexsegmates as well as all all upper edges to flexsegmates. Threadsafe if it can be fruitfully parallelized.
References edge_connects_flexsegmate(), get_incident_flexbb_edge(), and protocols::flexpack::interaction_graph::FlexbbEdge::note_state_substitution_accepted().
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbNode::commit_alt_bb_substitution().
|
inlineprotected |
References alternate_state_total_energy_.
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbNode::complete_partial_state_assignment(), protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_frag_energy_for_curr_bb_state_and_finalize_alt_energy_total(), and protocols::flexpack::interaction_graph::MinimalistFlexbbNode::project_deltaE_for_substitution().
|
inlineprotected |
|
protected |
bool protocols::flexpack::interaction_graph::FlexbbNode::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.
Preliminary bookkeeping for DFS-backbone-motion inducing state substitution initiated by a separate node. Returns false if the current state is unassigned.
Edges must be informed of the alternate state for both of their nodes; this should happen before any edge is asked for an alternate-state energy.
References alternate_state_, alternate_state_info_, alternate_state_is_being_considered_, current_state_, get_flexbbig_owner(), get_incident_flexbb_edge(), protocols::flexpack::interaction_graph::FlexbbInteractionGraph::increment_count_nodes_in_flexseg(), and protocols::flexpack::interaction_graph::FlexbbEdge::set_alt_state().
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbNode::prepare_for_altbb_move_to_state().
|
protected |
|
inline |
Read access to private data to both derived classes and the world.
References num_aa_types_.
Referenced by protocols::flexpack::interaction_graph::OTFFlexbbNode::declare_all_rotamers_initialized().
|
inline |
References num_bb_.
|
inline |
|
inline |
References num_states_for_bb_.
Referenced by set_num_states_per_backbone().
|
inline |
|
protected |
References alternate_state_, alternate_state_info_, alternate_state_is_being_considered_, alternate_state_one_body_energy_, alternate_state_total_energy_, current_state_, current_state_info_, one_body_energies_, and state_info_.
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbNode::partially_assign_state().
|
virtual |
Reimplemented in protocols::flexpack::interaction_graph::MinimalistFlexbbNode.
References update_internal_vectors().
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbNode::prepare_for_simulated_annealing().
|
virtual |
Reimplemented in protocols::flexpack::interaction_graph::OTFFlexbbNode, and protocols::flexpack::interaction_graph::MinimalistFlexbbNode.
References curr_state_one_body_energy_, curr_state_two_body_energies_, current_state_, num_bb_, and state_info_.
Referenced by protocols::flexpack::interaction_graph::OTFFlexbbNode::print().
void protocols::flexpack::interaction_graph::FlexbbNode::print_internal_energies | ( | ) |
|
protected |
|
inlineprotected |
References alternate_state_, alternate_state_info_, and state_info_.
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbNode::prepare_for_altbb_move_to_state(), protocols::flexpack::interaction_graph::MinimalistFlexbbNode::project_deltaE_for_substitution(), and protocols::flexpack::interaction_graph::MinimalistFlexbbNode::resolve_uncommitted_substitution().
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
References alternate_state_two_body_energies_.
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbNode::complete_partial_state_assignment(), protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_frag_energy_for_alt_bb_state(), protocols::flexpack::interaction_graph::MinimalistFlexbbNode::get_frag_energy_for_curr_bb_state_and_finalize_alt_energy_total(), and protocols::flexpack::interaction_graph::MinimalistFlexbbNode::project_deltaE_for_substitution().
void protocols::flexpack::interaction_graph::FlexbbNode::set_amino_acid_types | ( | utility::vector1< int > const & | aatypes | ) |
Precondition: num bb have already been set.
References num_states_for_aa_for_bb_, state_info_, and state_offsets_for_aa_for_bb_.
Referenced by protocols::flexpack::interaction_graph::FlexbbInteractionGraph::set_aatypes_for_node().
void protocols::flexpack::interaction_graph::FlexbbNode::set_closest_states_on_other_bbs | ( | ObjexxFCL::FArray2D_int const & | closest_state_on_alt_bb | ) |
References closest_state_on_alt_bb(), closest_state_on_alt_bb_, num_bb_, state_info_, protocols::flexpack::interaction_graph::TR, and utility_exit.
Referenced by protocols::flexpack::interaction_graph::FlexbbInteractionGraph::initialize(), and protocols::flexpack::interaction_graph::FlexbbInteractionGraph::set_closest_states_on_other_bbs().
|
inlineprotected |
Limited write acces to private data.
References alternate_state_is_being_considered_.
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbNode::prepare_for_altbb_move_to_state(), and protocols::flexpack::interaction_graph::MinimalistFlexbbNode::project_deltaE_for_substitution().
|
inlineprotected |
References curr_state_one_body_energy_.
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbNode::assign_zero_state().
|
inlineprotected |
References curr_state_total_energy_.
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbNode::assign_zero_state().
|
inlineprotected |
|
inlineprotected |
References current_state_, current_state_info_, and state_info_.
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbNode::assign_zero_state().
void protocols::flexpack::interaction_graph::FlexbbNode::set_num_distinct_backbones | ( | int | nbbconfs | ) |
Requires that num_aa_types_ is set first; num_aa_types_ is currently set in the node's ctor.
References closest_state_on_alt_bb_, num_aa_types_, num_bb_, num_states_for_aa_for_bb_, num_states_for_bb_, state_offsets_for_aa_for_bb_, and state_offsets_for_bb_.
Referenced by protocols::flexpack::interaction_graph::FlexbbInteractionGraph::initialize(), and protocols::flexpack::interaction_graph::FlexbbInteractionGraph::set_num_bb_for_node().
void protocols::flexpack::interaction_graph::FlexbbNode::set_num_states_per_backbone | ( | utility::vector1< int > const & | num_states_for_bb | ) |
precondition: num_bb_ must have been previously set and must be equal to the number of backbones implicitly identified in num_states_for_bb by its size.
References num_bb_, num_states_for_bb(), num_states_for_bb_, state_info_, and state_offsets_for_bb_.
Referenced by protocols::flexpack::interaction_graph::FlexbbInteractionGraph::initialize(), and protocols::flexpack::interaction_graph::FlexbbInteractionGraph::set_num_states_per_backbone_for_node().
|
inline |
Did the alterenate state assigned during a flexbb move actually preserve the currently assigned bb?
References current_state_info_, protocols::flexpack::interaction_graph::FlexbbSparseMatrixIndex::get_bb(), and state_info_.
|
inline |
|
inline |
|
inline |
References state_offsets_for_bb_.
Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbNode::partially_assign_state(), protocols::flexpack::interaction_graph::MinimalistFlexbbNode::prepare_for_altbb_move_to_state(), and protocols::flexpack::interaction_graph::MinimalistFlexbbNode::project_deltaE_for_substitution().
|
virtual |
References current_state_.
void protocols::flexpack::interaction_graph::FlexbbNode::update_internal_energy_sums | ( | ) |
Numerical noise creeps in to the total_energy as energies are added and subtracted due to neighbors accepting rotamer substitutions.
References curr_state_one_body_energy_, curr_state_total_energy_, and curr_state_two_body_energies_.
Referenced by protocols::flexpack::interaction_graph::FlexbbInteractionGraph::update_internal_energy_totals().
|
protected |
|
virtual |
Setter. This function is not called anywhere and should be removed...
References one_body_energies_.
void protocols::flexpack::interaction_graph::FlexbbNode::write_current_state_to_state_array | ( | ObjexxFCL::FArray1_int & | nodes_states | ) |
References current_state_.
|
virtual |
References one_body_energies_.
|
private |
|
private |
|
private |
Referenced by alternate_state_is_being_considered(), copy_alternate_to_current(), inform_edges_considered_fixedbb_substition_uncommitted(), inform_edges_of_alt_state_before_bbjump(), partial_state_assignment(), reset_all_rotamer_substitution_bookkeeping_data(), and set_considering_alternate_state().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by copy_alternate_to_current(), current_state(), get_backbone_for_current_state(), get_current_state(), get_states_on_curr_bb(), inform_edges_of_alt_state_before_bbjump(), inform_incident_edges_about_partial_state_assignment(), partial_state_assignment(), print(), set_current_state(), state_unassigned(), and write_current_state_to_state_array().
|
private |
|
private |
Referenced by edge_connects_flexsegmate(), and update_internal_vectors().
|
private |
Referenced by num_aa_types(), and set_num_distinct_backbones().
|
private |
|
private |
|
private |
|
private |
|
private |
vector0 so that assigning state 0 does not index out-of-bounds.
Referenced by FlexbbNode(), get_backbone_for_current_state(), get_bb_for_state(), get_states_on_curr_bb(), partial_state_assignment(), print(), set_alternate_state(), set_amino_acid_types(), set_closest_states_on_other_bbs(), set_current_state(), set_num_states_per_backbone(), state_has_same_backbone_as_current(), and state_info().
|
private |
Referenced by set_amino_acid_types(), set_num_distinct_backbones(), and state_offsets_for_aa_for_bb().
|
private |