Rosetta Protocols  2014.35
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
protocols::flexpack::interaction_graph::FlexbbInteractionGraph Class Referenceabstract

#include <FlexbbInteractionGraph.hh>

Public Types

enum  Subsitution { SC_ONLY, BOTH_SC_AND_BB }
 
typedef
core::pack::interaction_graph::InteractionGraphBase 
parent
 
typedef core::PackerEnergy PackerEnergy
 
typedef
core::pack::interaction_graph::EdgeBase 
EdgeBase
 

Public Member Functions

virtual ~FlexbbInteractionGraph ()
 GRAPH. More...
 
 FlexbbInteractionGraph (int num_nodes)
 
virtual void initialize (core::pack::rotamer_set::RotamerSetsBase const &rot_sets)
 
int get_num_aa_types () const
 
utility::vector1< Size > const & flexseg_members (int flexseg) const
 
int get_flexseg_for_bb (int bb) const
 
int get_flexseg_bb_offset (int flexseg_id) const
 
bool nodes_from_same_flexseg (int node1, int node2) const
 
int get_num_states_per_backbone_for_node (int node, int bb) const
 
int get_bb_for_state (int node, int state) const
 
virtual void consider_backbone_move (int bb_id, core::PackerEnergy &delta_energy, core::PackerEnergy &prev_flexseg_energy, bool &valid_motion, int &num_nodes_changing_state)=0
 
virtual void consider_bbmove_w_state_substitution (int node_ind, int new_state, core::PackerEnergy &delta_energy, core::PackerEnergy &prev_energy_for_flexseg, bool &valid_motion, int &num_nodes_changing_state)=0
 
virtual PackerEnergy commit_considered_backbone_move (ObjexxFCL::FArray1_int &rotamer_on_node)=0
 
void get_accessible_states (Subsitution move_mode, utility::vector1< Size > &rotlist) const
 
void get_backbone_list (utility::vector1< Size > &bblist) const
 
bool get_backbone_currently_assigned (int bbid) const
 Is the backbone conformation (in the global enumertion of backbone conformations) already assigned to the network? False if any residue on the flexible segment that this bbid corresponds to is assigned state 0. More...
 
bool get_enforce_bb_contiguity () const
 FlexbbNodes will ask: am I allowed to have a state that breaks the backbone? There are brief periods when the backbone is "broken" as the graph assigns new states to nodes on the same flexible segment. More...
 
void increment_count_nodes_in_flexseg ()
 Owner keeps a count of the number of nodes undergoing a simultaneous rotamer substitution as the backbone moves. More...
 
virtual unsigned int count_dynamic_memory () const
 

Protected Member Functions

FlexbbNode const * get_flexbb_node (int index) const
 Downcasts. More...
 
FlexbbNodeget_flexbb_node (int index)
 
FlexbbEdge const * find_flexbb_edge (int node1, int node2) const
 
FlexbbEdgefind_flexbb_edge (int node1, int node2)
 
FlexbbEdge const * cast_flexbb_edge (EdgeBase const *edge) const
 
FlexbbEdgecast_flexbb_edge (EdgeBase *edge)
 
void set_enforce_bb_contiguity (bool)
 
void note_bbjump_substitution ()
 
void note_fixedbb_substitution ()
 
bool last_considered_substitution_kept_backbone_fixed () const
 
bool last_considered_substitution_moved_the_backbone () const
 
bool last_considered_backbone_sub_unresolved () const
 
bool last_considered_substitution_unresolved () const
 
void note_last_considered_substitution_resolved ()
 
void reset_node_in_moving_flexseg_count ()
 
int get_num_nodes_changing_state () const
 
PackerEnergy total_energy_current_state_assignment () const
 
PackerEnergy total_energy_alternate_state_assignment () const
 
int node_considering_alt_state () const
 Only allowed to ask for the node considering an alternate state during a fixed-backbone substitution. More...
 
int flexseg_considering_alt_bb () const
 Only allowed to ask for the flexible segment considering an alternate backbone conformation during a backbone-moving substitution. More...
 
bool last_considered_backbone_sub_valid () const
 
int flexseg_for_moltenres (int moltenres) const
 
void set_total_energy_current_state_assignment (PackerEnergy setting)
 
void set_total_energy_alternate_state_assignment (PackerEnergy setting)
 
void set_node_considering_alt_state (int setting)
 Track the last node at which a fixed-backbone substitution took place. More...
 
void set_flexseg_considering_alt_bb (int setting)
 Track the last flexible segment at which a moving-backbone substitution took place. More...
 
void set_last_considered_backbone_sub_valid (bool setting)
 
virtual void update_internal_energy_totals ()
 

Private Member Functions

void set_num_flexsegs (int num_flexsegs)
 Private functions called during initialize() More...
 
void set_total_num_backbones (int num_backbones)
 
void set_num_bb_for_node (int node, int numbb)
 
void set_num_states_per_backbone_for_node (int node, utility::vector1< int > const &states_per_bb)
 
void set_aatypes_for_node (int node_ind, utility::vector1< int > const &aatypes)
 
void set_closest_states_on_other_bbs (int node_index, ObjexxFCL::FArray2D_int const &)
 
 FlexbbInteractionGraph ()
 
 FlexbbInteractionGraph (FlexbbInteractionGraph const &)
 

Private Attributes

int num_aa_types_
 
PackerEnergy total_energy_current_state_assignment_
 
PackerEnergy total_energy_alternate_state_assignment_
 
int node_considering_alt_state_
 
int flexseg_considering_alt_bb_
 
int num_flexible_segments_
 
int num_total_bb_
 
utility::vector1
< utility::vector1< Size > > 
flexseg_members_
 
utility::vector1< intnum_bb_alternatives_for_flexseg_
 
utility::vector1< intflexseg_for_bb_
 
utility::vector1< intflexseg_bb_offset_
 
utility::vector1< intflexseg_for_moltenres_
 
bool enforce_bb_contiguity_
 
bool last_sub_attempted_backbone_move_
 
bool last_considered_backbone_sub_valid_
 
bool last_considered_backbone_sub_unresolved_
 
bool last_considered_fixedbb_sub_unresolved_
 
int num_nodes_changing_state_
 
int num_commits_since_last_update_
 

Static Private Attributes

static const int COMMIT_LIMIT_BETWEEN_UPDATES = 20
 

Member Typedef Documentation

Member Enumeration Documentation

Enumerator
SC_ONLY 
BOTH_SC_AND_BB 

Constructor & Destructor Documentation

protocols::flexpack::interaction_graph::FlexbbInteractionGraph::~FlexbbInteractionGraph ( )
virtual

GRAPH.

protocols::flexpack::interaction_graph::FlexbbInteractionGraph::FlexbbInteractionGraph ( int  num_nodes)
protocols::flexpack::interaction_graph::FlexbbInteractionGraph::FlexbbInteractionGraph ( )
private
protocols::flexpack::interaction_graph::FlexbbInteractionGraph::FlexbbInteractionGraph ( FlexbbInteractionGraph const &  )
private

Member Function Documentation

FlexbbEdge const* protocols::flexpack::interaction_graph::FlexbbInteractionGraph::cast_flexbb_edge ( EdgeBase const *  edge) const
inlineprotected
FlexbbEdge* protocols::flexpack::interaction_graph::FlexbbInteractionGraph::cast_flexbb_edge ( EdgeBase edge)
inlineprotected
virtual PackerEnergy protocols::flexpack::interaction_graph::FlexbbInteractionGraph::commit_considered_backbone_move ( ObjexxFCL::FArray1_int &  rotamer_on_node)
pure virtual
virtual void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::consider_backbone_move ( int  bb_id,
core::PackerEnergy delta_energy,
core::PackerEnergy prev_flexseg_energy,
bool valid_motion,
int num_nodes_changing_state 
)
pure virtual
virtual void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::consider_bbmove_w_state_substitution ( int  node_ind,
int  new_state,
core::PackerEnergy delta_energy,
core::PackerEnergy prev_energy_for_flexseg,
bool valid_motion,
int num_nodes_changing_state 
)
pure virtual
unsigned int protocols::flexpack::interaction_graph::FlexbbInteractionGraph::count_dynamic_memory ( ) const
virtual
FlexbbEdge const* protocols::flexpack::interaction_graph::FlexbbInteractionGraph::find_flexbb_edge ( int  node1,
int  node2 
) const
inlineprotected
FlexbbEdge* protocols::flexpack::interaction_graph::FlexbbInteractionGraph::find_flexbb_edge ( int  node1,
int  node2 
)
inlineprotected
int protocols::flexpack::interaction_graph::FlexbbInteractionGraph::flexseg_considering_alt_bb ( ) const
inlineprotected
int protocols::flexpack::interaction_graph::FlexbbInteractionGraph::flexseg_for_moltenres ( int  moltenres) const
inlineprotected
utility::vector1< Size > const& protocols::flexpack::interaction_graph::FlexbbInteractionGraph::flexseg_members ( int  flexseg) const
inline
void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::get_accessible_states ( Subsitution  move_mode,
utility::vector1< Size > &  rotlist 
) const
bool protocols::flexpack::interaction_graph::FlexbbInteractionGraph::get_backbone_currently_assigned ( int  bbid) const

Is the backbone conformation (in the global enumertion of backbone conformations) already assigned to the network? False if any residue on the flexible segment that this bbid corresponds to is assigned state 0.

References flexseg_for_bb_, flexseg_members_, protocols::flexpack::interaction_graph::FlexbbNode::get_backbone_for_current_state(), and get_flexbb_node().

void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::get_backbone_list ( utility::vector1< Size > &  bblist) const

References num_total_bb_.

int protocols::flexpack::interaction_graph::FlexbbInteractionGraph::get_bb_for_state ( int  node,
int  state 
) const
bool protocols::flexpack::interaction_graph::FlexbbInteractionGraph::get_enforce_bb_contiguity ( ) const

FlexbbNodes will ask: am I allowed to have a state that breaks the backbone? There are brief periods when the backbone is "broken" as the graph assigns new states to nodes on the same flexible segment.

References enforce_bb_contiguity_.

FlexbbNode const* protocols::flexpack::interaction_graph::FlexbbInteractionGraph::get_flexbb_node ( int  index) const
inlineprotected
FlexbbNode* protocols::flexpack::interaction_graph::FlexbbInteractionGraph::get_flexbb_node ( int  index)
inlineprotected
int protocols::flexpack::interaction_graph::FlexbbInteractionGraph::get_flexseg_bb_offset ( int  flexseg_id) const
inline
int protocols::flexpack::interaction_graph::FlexbbInteractionGraph::get_flexseg_for_bb ( int  bb) const
inline
int protocols::flexpack::interaction_graph::FlexbbInteractionGraph::get_num_aa_types ( ) const
inline

References num_aa_types_.

int protocols::flexpack::interaction_graph::FlexbbInteractionGraph::get_num_nodes_changing_state ( ) const
protected
int protocols::flexpack::interaction_graph::FlexbbInteractionGraph::get_num_states_per_backbone_for_node ( int  node,
int  bb 
) const
void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::increment_count_nodes_in_flexseg ( )

Owner keeps a count of the number of nodes undergoing a simultaneous rotamer substitution as the backbone moves.

I don't remember what this is for... prev: increment_count_nodes_in_moving_fragment.

References num_nodes_changing_state_.

Referenced by protocols::flexpack::interaction_graph::FlexbbNode::inform_edges_of_alt_state_before_bbjump().

void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::initialize ( core::pack::rotamer_set::RotamerSetsBase const &  rot_sets)
virtual

Reimplemented in protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph, and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph.

References numeric::xyzVector< class >::distance_squared(), flexseg_bb_offset_, flexseg_for_bb_, flexseg_for_moltenres_, flexseg_members_, protocols::flexpack::rotamer_set::FlexbbRotamerSets::flexsegid_for_moltenres(), protocols::flexpack::rotamer_set::FlexbbRotamerSets::flexsegment_start_moltenresid(), protocols::flexpack::rotamer_set::FlexbbRotamerSets::flexsegment_stop_moltenresid(), get_flexbb_node(), protocols::flexpack::interaction_graph::FlexbbNode::get_num_states_for_bb(), protocols::flexpack::rotamer_set::FlexbbRotamerSets::local_rotid_start_for_moltenres_in_bbconf(), core::conformation::Residue::name(), core::conformation::Residue::natoms(), protocols::flexpack::rotamer_set::FlexbbRotamerSets::nbackbone_conformations(), protocols::flexpack::rotamer_set::FlexbbRotamerSets::nbbconfs_for_moltenres(), protocols::flexpack::rotamer_set::FlexbbRotamerSets::nflexible_segments(), protocols::flexpack::rotamer_set::FlexbbRotamerSets::nmoltenres(), nn, protocols::flexpack::rotamer_set::FlexbbRotamerSets::nrotamers_for_moltenres(), num_aa_types_, num_bb_alternatives_for_flexseg_, num_flexible_segments_, protocols::flexpack::rotamer_set::FlexbbRotamerSets::num_states_per_backbone_for_moltenres(), num_total_bb_, protocols::flexpack::rotamer_set::FlexbbRotamerSets::rotset_for_moltenres(), set_aatypes_for_node(), protocols::flexpack::interaction_graph::FlexbbNode::set_closest_states_on_other_bbs(), protocols::flexpack::interaction_graph::FlexbbNode::set_num_distinct_backbones(), set_num_flexsegs(), protocols::flexpack::interaction_graph::FlexbbNode::set_num_states_per_backbone(), set_total_num_backbones(), and core::conformation::Residue::xyz().

Referenced by protocols::flexpack::interaction_graph::OTFFlexbbInteractionGraph::initialize().

bool protocols::flexpack::interaction_graph::FlexbbInteractionGraph::last_considered_backbone_sub_unresolved ( ) const
inlineprotected
bool protocols::flexpack::interaction_graph::FlexbbInteractionGraph::last_considered_backbone_sub_valid ( ) const
inlineprotected
bool protocols::flexpack::interaction_graph::FlexbbInteractionGraph::last_considered_substitution_kept_backbone_fixed ( ) const
inlineprotected
bool protocols::flexpack::interaction_graph::FlexbbInteractionGraph::last_considered_substitution_moved_the_backbone ( ) const
inlineprotected
bool protocols::flexpack::interaction_graph::FlexbbInteractionGraph::last_considered_substitution_unresolved ( ) const
inlineprotected
int protocols::flexpack::interaction_graph::FlexbbInteractionGraph::node_considering_alt_state ( ) const
inlineprotected
bool protocols::flexpack::interaction_graph::FlexbbInteractionGraph::nodes_from_same_flexseg ( int  node1,
int  node2 
) const
void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::note_bbjump_substitution ( )
inlineprotected
void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::note_fixedbb_substitution ( )
inlineprotected
void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::note_last_considered_substitution_resolved ( )
protected
void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::reset_node_in_moving_flexseg_count ( )
protected

at the beginning of backbone-changing substitutions, derived classes must invoke this function to get a proper count of the number of nodes undergoing a simultaneous rotamer substitution

References num_nodes_changing_state_.

Referenced by protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::consider_backbone_move(), and protocols::flexpack::interaction_graph::MinimalistFlexbbInteractionGraph::consider_bbmove_w_state_substitution().

void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::set_aatypes_for_node ( int  node_ind,
utility::vector1< int > const &  aatypes 
)
private
void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::set_closest_states_on_other_bbs ( int  node_index,
ObjexxFCL::FArray2D_int const &   
)
private
void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::set_enforce_bb_contiguity ( bool  setting)
protected
void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::set_flexseg_considering_alt_bb ( int  setting)
inlineprotected
void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::set_last_considered_backbone_sub_valid ( bool  setting)
inlineprotected
void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::set_node_considering_alt_state ( int  setting)
inlineprotected
void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::set_num_bb_for_node ( int  node,
int  numbb 
)
private

Only call once. – depricated!

Must include initial backbone as well all the alternative backbones.

References get_flexbb_node(), and protocols::flexpack::interaction_graph::FlexbbNode::set_num_distinct_backbones().

void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::set_num_flexsegs ( int  num_flexsegs)
private
void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::set_num_states_per_backbone_for_node ( int  node,
utility::vector1< int > const &  states_per_bb 
)
private
void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::set_total_energy_alternate_state_assignment ( PackerEnergy  setting)
inlineprotected
void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::set_total_energy_current_state_assignment ( PackerEnergy  setting)
protected
void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::set_total_num_backbones ( int  num_backbones)
private
PackerEnergy protocols::flexpack::interaction_graph::FlexbbInteractionGraph::total_energy_alternate_state_assignment ( ) const
inlineprotected
PackerEnergy protocols::flexpack::interaction_graph::FlexbbInteractionGraph::total_energy_current_state_assignment ( ) const
inlineprotected
void protocols::flexpack::interaction_graph::FlexbbInteractionGraph::update_internal_energy_totals ( )
protectedvirtual

Member Data Documentation

const int protocols::flexpack::interaction_graph::FlexbbInteractionGraph::COMMIT_LIMIT_BETWEEN_UPDATES = 20
staticprivate
bool protocols::flexpack::interaction_graph::FlexbbInteractionGraph::enforce_bb_contiguity_
private
utility::vector1< int > protocols::flexpack::interaction_graph::FlexbbInteractionGraph::flexseg_bb_offset_
private
int protocols::flexpack::interaction_graph::FlexbbInteractionGraph::flexseg_considering_alt_bb_
private
utility::vector1< int > protocols::flexpack::interaction_graph::FlexbbInteractionGraph::flexseg_for_bb_
private
utility::vector1< int > protocols::flexpack::interaction_graph::FlexbbInteractionGraph::flexseg_for_moltenres_
private
utility::vector1< utility::vector1< Size > > protocols::flexpack::interaction_graph::FlexbbInteractionGraph::flexseg_members_
private
bool protocols::flexpack::interaction_graph::FlexbbInteractionGraph::last_considered_backbone_sub_unresolved_
private
bool protocols::flexpack::interaction_graph::FlexbbInteractionGraph::last_considered_backbone_sub_valid_
private
bool protocols::flexpack::interaction_graph::FlexbbInteractionGraph::last_considered_fixedbb_sub_unresolved_
private
bool protocols::flexpack::interaction_graph::FlexbbInteractionGraph::last_sub_attempted_backbone_move_
private
int protocols::flexpack::interaction_graph::FlexbbInteractionGraph::node_considering_alt_state_
private
int protocols::flexpack::interaction_graph::FlexbbInteractionGraph::num_aa_types_
private

Referenced by get_num_aa_types(), and initialize().

utility::vector1< int > protocols::flexpack::interaction_graph::FlexbbInteractionGraph::num_bb_alternatives_for_flexseg_
private
int protocols::flexpack::interaction_graph::FlexbbInteractionGraph::num_commits_since_last_update_
private
int protocols::flexpack::interaction_graph::FlexbbInteractionGraph::num_flexible_segments_
private

Referenced by initialize(), and set_num_flexsegs().

int protocols::flexpack::interaction_graph::FlexbbInteractionGraph::num_nodes_changing_state_
private
int protocols::flexpack::interaction_graph::FlexbbInteractionGraph::num_total_bb_
private
PackerEnergy protocols::flexpack::interaction_graph::FlexbbInteractionGraph::total_energy_alternate_state_assignment_
private
PackerEnergy protocols::flexpack::interaction_graph::FlexbbInteractionGraph::total_energy_current_state_assignment_
private

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