![]() |
Rosetta Core
2014.35
|
#include <MinimizationGraph.hh>
Public Types | |
typedef graph::Edge | parent |
typedef utility::vector1 < TwoBodyEnergyCOP > | TwoBodyEnergies |
typedef TwoBodyEnergies::const_iterator | TwoBodyEnergiesIterator |
typedef conformation::Residue | Residue |
typedef pose::Pose | Pose |
![]() | |
typedef EdgeListIterator | EdgeListIter |
Public Member Functions | |
MinimizationEdge (MinimizationGraph *owner, Size n1, Size n2) | |
Minimization edge ctor. More... | |
MinimizationEdge (MinimizationGraph *owner, MinimizationEdge const &example_edge) | |
virtual | ~MinimizationEdge () |
virtual dstor; The MinimizationEdge must free the array pool element it holds before it disappears. More... | |
virtual void | copy_from (parent const *source) |
Copy the data held on the example edge, source. The source edge must be castable to class MinimizationEdge. More... | |
ResPairMinimizationData const & | res_pair_min_data () const |
ResPairMinimizationData & | res_pair_min_data () |
virtual Size | count_static_memory () const |
virtual call to determine the static size of an Edge object dynamic memory use is counted through the recursive count_dynamic_memory() calling path More... | |
virtual Size | count_dynamic_memory () const |
virtual call to determine the amount of dynamic memory allocated by an edge; this function must recurse to the parent class to determine how much memory the parent class is responsible for. Do not account for the size of the ArrayPool array here; instead, that is accounted for in the MinimizationGraph::count_dynamic_memory method. More... | |
bool | add_twobody_enmeth (TwoBodyEnergyCOP enmeth, Residue const &rsd1, Residue const &rsd2, Pose const &pose, bool residues_mwrt_eachother) |
Include a particular energy method as part of this edge. It may not show up in the active energy methods should this energy method not define an energy for the residues. More... | |
bool | any_active_enmeths () const |
It may be possible to determine that an edge does not need to belong to the minimization graph if there are no active two-body energy methods; this is a convenience function that answers quickly if active_2benmths_.begin() == active_2benmeths_.end(). More... | |
void | setup_for_minimizing (Residue const &rsd1, Residue const &rsd2, pose::Pose const &pose, ScoreFunction const &sfxn, kinematics::MinimizerMapBase const &min_map) |
void | setup_for_scoring (Residue const &rsd1, Residue const &rsd2, Pose const &pose, ScoreFunction const &sfxn) |
Initialize the active energy methods for score function evaluation. More... | |
void | setup_for_derivatives (Residue const &rsd1, Residue const &rsd2, Pose const &pose, ScoreFunction const &sfxn) |
Initialize the active energy methods for derivative evaluation. More... | |
void | reinitialize_active_energy_methods (Residue const &rsd1, Residue const &rsd2, Pose const &pose, bool res_moving_wrt_eachother) |
Setup the active and inactive energy methods. More... | |
TwoBodyEnergiesIterator | active_2benmeths_begin () const |
TwoBodyEnergiesIterator | active_2benmeths_end () const |
TwoBodyEnergiesIterator | active_2benmeths_std_begin () const |
TwoBodyEnergiesIterator | active_2benmeths_std_end () const |
TwoBodyEnergiesIterator | active_2benmeths_ext_begin () const |
TwoBodyEnergiesIterator | active_2benmeths_ext_end () const |
TwoBodyEnergiesIterator | sfs_req_2benmeths_begin () const |
TwoBodyEnergiesIterator | sfs_req_2benmeths_end () const |
TwoBodyEnergiesIterator | sfd_req_2benmeths_begin () const |
TwoBodyEnergiesIterator | sfd_req_2benmeths_end () const |
Real | weight () const |
The minimization graph will allow the storage of edge weights, should that prove useful for any application (e.g. symmetric minimization) More... | |
void | weight (Real setting) |
Set the weight for an edge. More... | |
Real | dweight () const |
void | dweight (Real setting) |
![]() | |
virtual | ~Edge () |
destructor More... | |
Edge (Graph *owner, platform::Size first_node_ind, platform::Size second_node_ind) | |
Main edge constructor. This should only be invoked by create_new_edge, which itself is only called by add_edge. The ONLY way an edge should be added to a graph is through add_edge. NOTE: edges should be only be deleted by a call to the Graph's delete_edge method, and this method absolutely must be implemented by derived Graph classes. More... | |
platform::Size | get_other_ind (platform::Size node_index) const |
returns the index of the one node given the index of the other. node_index must be one of the two nodes that this edge is incident upon. More... | |
Node const * | get_other_node (platform::Size node_index) const |
returns a const pointer to one node given the index of the other. node_index must be one of the two nodes that this edge is incident upon. More... | |
Node * | get_other_node (platform::Size node_index) |
returns a non-const pointer to one node given the index of the other. node_index must be one of the two nodes that this edge is incident upon. More... | |
platform::Size | get_first_node_ind () const |
returns the index of the lower node More... | |
platform::Size | get_second_node_ind () const |
returns the index of the upper node More... | |
void | set_pos_in_owners_list (EdgeListIter edge_iterator) |
called only by class Graph, this function gives the Edge the data it needs to later delete itself from its owner's edge list in constant time. More... | |
bool | same_edge (platform::Size node1, platform::Size node2) const |
Is this the same edge as another edge (node1,node2)? Note: this graph does not work for multi-graphs. Edges must be unique. More... | |
bool | is_loop () const |
Is this edge a loop? In Pseudographs, loop edges are incident twice on a single vertex. More... | |
Public Attributes | |
__pad0__:TwoBodyEnergyCOP TwoBodyEnergyCOP | |
Protected Member Functions | |
MinimizationGraph const * | get_minimization_owner () const |
Downcasts. More... | |
MinimizationGraph * | get_minimization_owner () |
MinimizationNode * | get_minimization_node (Size index) |
MinimizationNode const * | get_minimization_node (Size index) const |
![]() | |
platform::Size | get_node_index (platform::Size index) const |
get the node index for one of the two nodes this edge is incident upon uses c-style index-from-0. More... | |
Node const * | get_node (platform::Size index) const |
get a const * to one node that this edge is incident upon uses c-style index-from-0 for these two nodes More... | |
Node * | get_node (platform::Size index) |
get a non-const * to one node that this edge is incident upon uses c-style index-from-0 for these two nodes More... | |
Graph const * | get_owner () const |
get a const * to the owning graph More... | |
Graph * | get_owner () |
get a non-const * to the owning graph More... | |
Private Member Functions | |
void | add_active_enmeth_std (TwoBodyEnergyCOP enmeth) |
void | add_active_enmeth_ext (TwoBodyEnergyCOP enmeth) |
void | add_sfs_enmeth (TwoBodyEnergyCOP enmeth) |
void | add_sfd_enmeth (TwoBodyEnergyCOP enmeth) |
bool | classify_twobody_enmeth (TwoBodyEnergyCOP enmeth, Residue const &rsd1, Residue const &rsd2, Pose const &pose, bool res_moving_wrt_eachother) |
Class MinimizationEdge holds ResPairMinimizationData for a certain pair of interacting residues; this data might be a neighborlist for this residue pair, for example. The data held in this edge will be used in both scoring the residue-pair energies and evaluating atom derivatives during minimization.
typedef utility::vector1< TwoBodyEnergyCOP > core::scoring::MinimizationEdge::TwoBodyEnergies |
core::scoring::MinimizationEdge::MinimizationEdge | ( | MinimizationGraph * | owner, |
Size | n1, | ||
Size | n2 | ||
) |
Minimization edge ctor.
Referenced by count_static_memory().
core::scoring::MinimizationEdge::MinimizationEdge | ( | MinimizationGraph * | owner, |
MinimizationEdge const & | example_edge | ||
) |
References copy_from().
|
virtual |
virtual dstor; The MinimizationEdge must free the array pool element it holds before it disappears.
MinimizationEdge::TwoBodyEnergiesIterator core::scoring::MinimizationEdge::active_2benmeths_begin | ( | ) | const |
References active_2benmeths_.
Referenced by core::scoring::eval_atom_derivatives_for_minedge(), and core::scoring::eval_weighted_atom_derivatives_for_minedge().
MinimizationEdge::TwoBodyEnergiesIterator core::scoring::MinimizationEdge::active_2benmeths_end | ( | ) | const |
References active_2benmeths_.
Referenced by core::scoring::eval_atom_derivatives_for_minedge(), and core::scoring::eval_weighted_atom_derivatives_for_minedge().
MinimizationEdge::TwoBodyEnergiesIterator core::scoring::MinimizationEdge::active_2benmeths_ext_begin | ( | ) | const |
References active_2benmeths_ext_.
Referenced by core::scoring::eval_res_pair_energy_for_minedge(), and core::scoring::eval_weighted_res_pair_energy_for_minedge().
MinimizationEdge::TwoBodyEnergiesIterator core::scoring::MinimizationEdge::active_2benmeths_ext_end | ( | ) | const |
References active_2benmeths_ext_.
Referenced by core::scoring::eval_res_pair_energy_for_minedge(), and core::scoring::eval_weighted_res_pair_energy_for_minedge().
MinimizationEdge::TwoBodyEnergiesIterator core::scoring::MinimizationEdge::active_2benmeths_std_begin | ( | ) | const |
References active_2benmeths_std_.
Referenced by core::scoring::eval_res_pair_energy_for_minedge(), and core::scoring::eval_weighted_res_pair_energy_for_minedge().
MinimizationEdge::TwoBodyEnergiesIterator core::scoring::MinimizationEdge::active_2benmeths_std_end | ( | ) | const |
References active_2benmeths_std_.
Referenced by core::scoring::eval_res_pair_energy_for_minedge(), and core::scoring::eval_weighted_res_pair_energy_for_minedge().
|
private |
References active_2benmeths_, and active_2benmeths_ext_.
Referenced by classify_twobody_enmeth().
|
private |
References active_2benmeths_, and active_2benmeths_std_.
Referenced by classify_twobody_enmeth().
|
private |
References sfd_req_2benmeths_.
Referenced by classify_twobody_enmeth().
|
private |
References sfs_req_2benmeths_.
Referenced by classify_twobody_enmeth().
bool core::scoring::MinimizationEdge::add_twobody_enmeth | ( | TwoBodyEnergyCOP | enmeth, |
Residue const & | rsd1, | ||
Residue const & | rsd2, | ||
pose::Pose const & | pose, | ||
bool | residues_mwrt_eachother | ||
) |
Include a particular energy method as part of this edge. It may not show up in the active energy methods should this energy method not define an energy for the residues.
References classify_twobody_enmeth(), and twobody_enmeths_.
Referenced by core::scoring::ScoreFunction::setup_for_lr2benmeth_minimization_for_respair(), and core::scoring::ScoreFunction::setup_for_minimizing_sr2b_enmeths_for_minedge().
|
inline |
It may be possible to determine that an edge does not need to belong to the minimization graph if there are no active two-body energy methods; this is a convenience function that answers quickly if active_2benmths_.begin() == active_2benmeths_.end().
References active_2benmeths_.
Referenced by core::scoring::symmetry::SymmetricScoreFunction::setup_for_minimizing(), and core::scoring::ScoreFunction::setup_for_minimizing().
|
private |
References add_active_enmeth_ext(), add_active_enmeth_std(), add_sfd_enmeth(), and add_sfs_enmeth().
Referenced by add_twobody_enmeth(), and reinitialize_active_energy_methods().
|
virtual |
Copy the data held on the example edge, source. The source edge must be castable to class MinimizationEdge.
copies data from MinimizationEdge const * source;
called from the copy ctor and operator= methods defined in the Graph base class
Reimplemented from core::graph::Edge.
References active_2benmeths_, active_2benmeths_ext_, active_2benmeths_std_, dweight_, res_pair_min_data_, sfd_req_2benmeths_, sfs_req_2benmeths_, twobody_enmeths_, and weight_.
Referenced by MinimizationEdge().
|
virtual |
virtual call to determine the amount of dynamic memory allocated by an edge; this function must recurse to the parent class to determine how much memory the parent class is responsible for. Do not account for the size of the ArrayPool array here; instead, that is accounted for in the MinimizationGraph::count_dynamic_memory method.
Reimplemented from core::graph::Edge.
References core::graph::Edge::count_dynamic_memory().
|
virtual |
virtual call to determine the static size of an Edge object dynamic memory use is counted through the recursive count_dynamic_memory() calling path
Reimplemented from core::graph::Edge.
References MinimizationEdge().
|
inline |
|
inlineprotected |
References core::graph::Edge::get_node().
Referenced by setup_for_derivatives(), setup_for_minimizing(), and setup_for_scoring().
|
inlineprotected |
References core::graph::Edge::get_node().
|
inlineprotected |
Downcasts.
References core::graph::Edge::get_owner().
|
inlineprotected |
References core::graph::Edge::get_owner().
void core::scoring::MinimizationEdge::reinitialize_active_energy_methods | ( | Residue const & | rsd1, |
Residue const & | rsd2, | ||
Pose const & | pose, | ||
bool | res_moving_wrt_eachother | ||
) |
Setup the active and inactive energy methods.
References active_2benmeths_, active_2benmeths_ext_, active_2benmeths_std_, classify_twobody_enmeth(), sfd_req_2benmeths_, sfs_req_2benmeths_, and twobody_enmeths_.
Referenced by core::pack::reinitialize_mingraph_neighborhood_for_residue().
|
inline |
|
inline |
References res_pair_min_data_.
void core::scoring::MinimizationEdge::setup_for_derivatives | ( | Residue const & | rsd1, |
Residue const & | rsd2, | ||
Pose const & | pose, | ||
ScoreFunction const & | sfxn | ||
) |
Initialize the active energy methods for derivative evaluation.
References get_minimization_node(), res_pair_min_data_, sfd_req_2benmeths_begin(), and sfd_req_2benmeths_end().
Referenced by core::scoring::symmetry::SymmetricScoreFunction::setup_for_derivatives(), and core::scoring::ScoreFunction::setup_for_derivatives().
void core::scoring::MinimizationEdge::setup_for_minimizing | ( | Residue const & | rsd1, |
Residue const & | rsd2, | ||
pose::Pose const & | pose, | ||
ScoreFunction const & | sfxn, | ||
kinematics::MinimizerMapBase const & | min_map | ||
) |
void core::scoring::MinimizationEdge::setup_for_scoring | ( | Residue const & | rsd1, |
Residue const & | rsd2, | ||
Pose const & | pose, | ||
ScoreFunction const & | sfxn | ||
) |
Initialize the active energy methods for score function evaluation.
References get_minimization_node(), res_pair_min_data_, sfs_req_2benmeths_begin(), and sfs_req_2benmeths_end().
Referenced by core::scoring::ScoreFunction::setup_for_scoring().
MinimizationEdge::TwoBodyEnergiesIterator core::scoring::MinimizationEdge::sfd_req_2benmeths_begin | ( | ) | const |
References sfd_req_2benmeths_.
Referenced by setup_for_derivatives().
MinimizationEdge::TwoBodyEnergiesIterator core::scoring::MinimizationEdge::sfd_req_2benmeths_end | ( | ) | const |
References sfd_req_2benmeths_.
Referenced by setup_for_derivatives().
MinimizationEdge::TwoBodyEnergiesIterator core::scoring::MinimizationEdge::sfs_req_2benmeths_begin | ( | ) | const |
References sfs_req_2benmeths_.
Referenced by setup_for_scoring().
MinimizationEdge::TwoBodyEnergiesIterator core::scoring::MinimizationEdge::sfs_req_2benmeths_end | ( | ) | const |
References sfs_req_2benmeths_.
Referenced by setup_for_scoring().
|
inline |
The minimization graph will allow the storage of edge weights, should that prove useful for any application (e.g. symmetric minimization)
References weight_.
Referenced by core::scoring::eval_weighted_res_pair_energy_for_minedge(), core::scoring::ScoreFunction::setup_for_lr2benmeth_minimization_for_respair(), and core::scoring::symmetry::SymmetricScoreFunction::setup_for_minimizing().
|
inline |
Set the weight for an edge.
References weight_.
core::scoring::MinimizationEdge::__pad0__ |
|
private |
|
private |
|
private |
|
private |
Referenced by copy_from(), and dweight().
|
private |
Referenced by copy_from(), res_pair_min_data(), setup_for_derivatives(), setup_for_minimizing(), and setup_for_scoring().
|
private |
|
private |
|
private |
Referenced by add_twobody_enmeth(), copy_from(), and reinitialize_active_energy_methods().
|
private |
Referenced by copy_from(), and weight().