![]() |
Rosetta Core
2014.35
|
#include <SymmOnTheFlyInteractionGraph.hh>
Public Types | |
typedef std::pair< Vector, Real > | BoundingSphere |
Public Member Functions | |
SymmOnTheFlyNode (InteractionGraphBase *owner, int node_id, int num_states) | |
main constructor, no default or copy constructors More... | |
virtual | ~SymmOnTheFlyNode () |
void | set_rotamers (rotamer_set::RotamerSetCOP rotamers) |
virtual void | zero_one_body_energies () |
virtual void | add_to_one_body_energies (ObjexxFCL::FArray1< core::PackerEnergy > &energy1b) |
virtual void | update_one_body_energy (int state, core::PackerEnergy energy) |
virtual void | set_one_body_energy (int state, core::PackerEnergy energy) |
virtual void | add_to_one_body_energy (int state, core::PackerEnergy energy) |
virtual void | zero_one_body_energy (int state) |
int | get_num_res_types () const |
the number of distinct ResidueType objects pointed to by all of the rotamrs for this node. More... | |
int | get_num_restype_groups () const |
the number of ResidueType groups, as defined by the RotamerSet's logic for grouping different ResidueType objects which have the same "name3" and the same neighbor radius. More... | |
utility::vector1< int > & | get_num_states_for_restype_group () |
utility::vector1< int > const & | get_num_states_for_restype_group () const |
int | get_num_states_for_restype_group (int restype_group) |
int | get_state_offset_for_restype_group (int restype_group) const |
core::PackerEnergy | get_one_body_energy (int state) const |
bool | distinguish_backbone_and_sidechain () const |
void | distinguish_backbone_and_sidechain (bool setting) |
virtual unsigned int | count_static_memory () const =0 |
virtual unsigned int | count_dynamic_memory () const |
core::PackerEnergy | compute_rotamer_pair_energy (int edge_making_energy_request, int state_this, int state_other) const |
conformation::Residue const & | get_rotamer (int state, int subunit) const |
Returns a reference to the rotamer object in the requested subunit. This reference is valid only until the next call to get_rotamer, and which point, the coordinates inside the requested rotamer may change. More... | |
BoundingSphere | sc_bounding_sphere (int state, int subunit) const |
Returns a bounding sphere for the sidechain of a given state on a particular subunit. More... | |
BoundingSphere | bb_bounding_sphere (int subunit) const |
Returns a bounding sphere for the backbone on a particular subunit. More... | |
SymmOnTheFlyEdge * | get_incident_otf_edge (int edge) |
SymmOnTheFlyEdge const * | get_incident_otf_edge (int edge) const |
SymmOnTheFlyNode * | get_adjacent_otf_node (int index) |
SymmOnTheFlyNode const * | get_adjacent_otf_node (int index) const |
SymmOnTheFlyInteractionGraph * | get_on_the_fly_owner () |
SymmOnTheFlyInteractionGraph const * | get_on_the_fly_owner () const |
![]() | |
virtual | ~FixedBBNode () |
FixedBBNode (InteractionGraphBase *owner, int node_id, int num_states) | |
![]() | |
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 | assign_zero_state ()=0 |
virtual void | prepare_for_simulated_annealing ()=0 |
virtual void | print () const =0 |
virtual bool | state_unassigned () const =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) |
Private Attributes | |
rotamer_set::RotamerSetCOP | rotamer_set_ |
utility::vector1 < conformation::ResidueCOP > | rotamers_ |
Pointers to the rotamers held in the rotamer set. More... | |
utility::vector1 < utility::vector1 < conformation::ResidueOP > > | rotamer_representatives_ |
utility::vector1< BoundingSphere > | sc_bounding_spheres_ |
Bounding spheres for each of the rotamers in the asymmetric unit. More... | |
BoundingSphere | bb_bounding_sphere_ |
int | num_res_types_ |
int | num_restype_groups_ |
utility::vector1< int > | num_states_for_restype_group_ |
utility::vector1< int > | state_offset_for_restype_group_ |
utility::vector1 < core::PackerEnergy > | one_body_energies_ |
bool | distinguish_backbone_and_sidechain_ |
Additional Inherited Members | |
![]() | |
void | update_edge_vector () |
converts edge-list to edge-vector representation More... | |
bool | get_edge_vector_up_to_date () const |
InteractionGraphBase const * | get_owner () const |
InteractionGraphBase * | get_owner () |
core::pack::interaction_graph::SymmOnTheFlyNode::SymmOnTheFlyNode | ( | InteractionGraphBase * | owner, |
int | node_id, | ||
int | num_states | ||
) |
main constructor, no default or copy constructors
|
virtual |
|
virtual |
Implements core::pack::interaction_graph::NodeBase.
References one_body_energies_.
|
virtual |
increments one body energies for a given state
Implements core::pack::interaction_graph::NodeBase.
References one_body_energies_.
Referenced by core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::add_to_one_body_energy_for_node_state().
SymmOnTheFlyNode::BoundingSphere core::pack::interaction_graph::SymmOnTheFlyNode::bb_bounding_sphere | ( | int | subunit | ) | const |
Returns a bounding sphere for the backbone on a particular subunit.
References bb_bounding_sphere_, get_on_the_fly_owner(), and core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::symmetric_transform().
Referenced by compute_rotamer_pair_energy().
core::PackerEnergy core::pack::interaction_graph::SymmOnTheFlyNode::compute_rotamer_pair_energy | ( | int | edge_making_energy_request, |
int | state_this, | ||
int | state_other | ||
) | const |
Compute all the energies that are appropriately two body energies for this edge. In the outter loop, pick one of the two nodes on this edge and consider its rotamer as having originated from the asymmetric unit. In the inner loop, iterate across all subunits, considering each subunit as the origination of the rotamer for the other node (that is, if ii == 1, then "this" node is treated as if its rotamer is originating from the asymmetric unit, and the "other" node takes its rotamer from subunit jj – which may very well be the asymmetric unit. If however, ii == 2, then the "other" node is treated as if its rotamer is originating from the asymmetric unit and the "this" node's rotamer is taken from jj). Now, inside this inner loop, with ii and jj known, first, ask the edge whether given ii, jj, and the amino acid types of the two rotamers, the two rotamers implied by ii and jj should have their interaction energies calculated. If not, continue. If so, then ask each edge for a representative rotamer, telling each node which subunit that rotamer should come from. This may likely require rotating and translating the rotamers from the asymmetric unit into the appropriate symmetric clone
References core::conformation::Residue::aa(), core::chemical::aa_pro, bb_bounding_sphere(), core::scoring::EMapVector::dot(), core::pack::interaction_graph::EdgeBase::edge_weight(), core::scoring::ScoreFunction::eval_cd_2b(), core::scoring::ScoreFunction::eval_cd_2b_bb_sc(), core::scoring::ScoreFunction::eval_cd_2b_sc_sc(), core::scoring::ScoreFunction::eval_ci_2b(), core::scoring::ScoreFunction::eval_ci_2b_bb_sc(), core::scoring::ScoreFunction::eval_ci_2b_sc_sc(), core::scoring::eval_scsc_sr2b_energies(), core::pack::interaction_graph::SymmOnTheFlyEdge::eval_type(), get_adjacent_otf_node(), core::pack::interaction_graph::NodeBase::get_incident_edge(), get_incident_otf_edge(), core::pack::interaction_graph::NodeBase::get_index_of_adjacent_node(), core::pack::interaction_graph::NodeBase::get_node_index(), get_on_the_fly_owner(), get_rotamer(), core::pack::interaction_graph::SymmOnTheFlyEdge::long_range_interactions_exist(), core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::note_rpe_calculated(), core::pack::interaction_graph::SymmOnTheFlyEdge::residues_adjacent_for_subunit_pair(), rotamer_set_, sc_bounding_sphere(), core::pack::interaction_graph::sc_sc, core::pack::interaction_graph::sc_whole, score_function, core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::score_function(), scoring, core::conformation::Residue::seqpos(), core::pack::interaction_graph::SymmOnTheFlyEdge::short_range_interactions_exist(), core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::symm_info(), core::scoring::ScoreFunction::weights(), core::pack::interaction_graph::whole_sc, core::pack::interaction_graph::whole_whole, numeric::xyzVector< class >::x(), core::conformation::Residue::xyz(), numeric::xyzVector< class >::y(), and numeric::xyzVector< class >::z().
Referenced by core::pack::interaction_graph::SymmMinimalistNode::compute_pair_energy_for_alternate_state(), core::pack::interaction_graph::SymmLinearMemNode::compute_pair_energy_for_alternate_state(), core::pack::interaction_graph::SymmMinimalistNode::compute_pair_energy_for_current_state(), and core::pack::interaction_graph::SymmLinearMemNode::compute_pair_energy_for_current_state().
|
virtual |
reports the amount of dynamic memory this node allocates recursing to its base class
Reimplemented from core::pack::interaction_graph::NodeBase.
Reimplemented in core::pack::interaction_graph::SymmLinearMemNode, and core::pack::interaction_graph::SymmMinimalistNode.
References core::pack::interaction_graph::NodeBase::count_dynamic_memory(), one_body_energies_, and rotamers_.
Referenced by core::pack::interaction_graph::SymmMinimalistNode::count_dynamic_memory(), and core::pack::interaction_graph::SymmLinearMemNode::count_dynamic_memory().
|
pure virtual |
Implements core::pack::interaction_graph::NodeBase.
Implemented in core::pack::interaction_graph::SymmLinearMemNode, and core::pack::interaction_graph::SymmMinimalistNode.
|
inline |
void core::pack::interaction_graph::SymmOnTheFlyNode::distinguish_backbone_and_sidechain | ( | bool | setting | ) |
|
inline |
References core::pack::interaction_graph::NodeBase::get_adjacent_node().
Referenced by compute_rotamer_pair_energy().
|
inline |
|
inline |
References core::pack::interaction_graph::NodeBase::get_incident_edge().
Referenced by compute_rotamer_pair_energy().
|
inline |
|
inline |
the number of distinct ResidueType objects pointed to by all of the rotamrs for this node.
References num_res_types_.
|
inline |
the number of ResidueType groups, as defined by the RotamerSet's logic for grouping different ResidueType objects which have the same "name3" and the same neighbor radius.
References num_restype_groups_.
Referenced by core::pack::interaction_graph::SymmOnTheFlyEdge::set_residues_adjacent_for_subunit_pair().
|
inline |
References num_states_for_restype_group_.
|
inline |
References num_states_for_restype_group_.
|
inline |
References num_states_for_restype_group_.
|
inline |
References core::pack::interaction_graph::NodeBase::get_owner().
Referenced by bb_bounding_sphere(), compute_rotamer_pair_energy(), get_rotamer(), sc_bounding_sphere(), and set_rotamers().
|
inline |
|
inline |
References one_body_energies_.
Referenced by core::pack::interaction_graph::SymmMinimalistNode::assign_state(), core::pack::interaction_graph::SymmLinearMemNode::assign_state(), core::pack::interaction_graph::SymmMinimalistNode::complete_state_assignment(), core::pack::interaction_graph::SymmLinearMemNode::complete_state_assignment(), and core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::get_one_body_energy_for_node_state().
conformation::Residue const & core::pack::interaction_graph::SymmOnTheFlyNode::get_rotamer | ( | int | state, |
int | subunit | ||
) | const |
Returns a reference to the rotamer object in the requested subunit. This reference is valid only until the next call to get_rotamer, and which point, the coordinates inside the requested rotamer may change.
References core::conformation::Residue::actcoord(), core::conformation::Residue::chi(), get_on_the_fly_owner(), core::conformation::Residue::mainchain_torsions(), core::conformation::Residue::natoms(), rotamer_representatives_, rotamer_set_, rotamers_, core::conformation::Residue::set_xyz(), core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::symmetric_transform(), core::conformation::Residue::type(), and core::conformation::Residue::xyz().
Referenced by compute_rotamer_pair_energy(), and core::pack::interaction_graph::SymmOnTheFlyEdge::set_residues_adjacent_for_subunit_pair().
SymmOnTheFlyNode::BoundingSphere core::pack::interaction_graph::SymmOnTheFlyNode::sc_bounding_sphere | ( | int | state, |
int | subunit | ||
) | const |
Returns a bounding sphere for the sidechain of a given state on a particular subunit.
References get_on_the_fly_owner(), sc_bounding_spheres_, and core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::symmetric_transform().
Referenced by compute_rotamer_pair_energy().
|
virtual |
sets one body energies for a given state
References one_body_energies_.
Referenced by core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::set_one_body_energy_for_node_state().
void core::pack::interaction_graph::SymmOnTheFlyNode::set_rotamers | ( | rotamer_set::RotamerSetCOP | rotamers | ) |
avoid polymorphic lookup later by nabbing rotamers now.
References bb_bounding_sphere_, core::scoring::compute_bb_centroid(), core::scoring::compute_bb_radius(), core::scoring::compute_sc_centroid(), core::scoring::compute_sc_radius(), core::pack::interaction_graph::NodeBase::get_num_states(), get_on_the_fly_owner(), num_res_types_, num_restype_groups_, num_states_for_restype_group_, core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::pose(), core::pose::Pose::residue(), rotamer_representatives_, rotamer_set_, rotamers_, sc_bounding_spheres_, state_offset_for_restype_group_, and core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::symm_info().
Referenced by core::pack::interaction_graph::SymmOnTheFlyInteractionGraph::initialize().
|
virtual |
Implements core::pack::interaction_graph::NodeBase.
References one_body_energies_.
|
virtual |
Implements core::pack::interaction_graph::NodeBase.
References one_body_energies_.
|
virtual |
|
private |
Referenced by bb_bounding_sphere(), and set_rotamers().
|
private |
Referenced by distinguish_backbone_and_sidechain().
|
private |
Referenced by get_num_res_types(), and set_rotamers().
|
private |
Referenced by get_num_restype_groups(), and set_rotamers().
|
private |
Referenced by get_num_states_for_restype_group(), and set_rotamers().
|
private |
|
private |
An array of arrays of rotamer_set_->get_n_residue_types() rotamer representatives who will be filled, just in time, with the transformed coordinates that map between the rotamers built for the asymmetric unit, and those on all of the symmetric clones.
Referenced by get_rotamer(), and set_rotamers().
|
private |
Referenced by compute_rotamer_pair_energy(), get_rotamer(), and set_rotamers().
|
private |
Pointers to the rotamers held in the rotamer set.
Referenced by count_dynamic_memory(), get_rotamer(), and set_rotamers().
|
private |
Bounding spheres for each of the rotamers in the asymmetric unit.
Referenced by sc_bounding_sphere(), and set_rotamers().
|
private |
Referenced by get_state_offset_for_restype_group(), and set_rotamers().