Rosetta
|
Each BuriedUnsatPenaltyNode represents a rotamer from the RotamerSets object, or a residue (if we're doing a simple scoring pass). More...
#include <BuriedUnsatPenaltyGraph.hh>
Public Member Functions | |
BuriedUnsatPenaltyNode ()=delete | |
Default constructor – explicitly deleted. More... | |
BuriedUnsatPenaltyNode (utility::graph::Graph *owner, platform::Size const node_id) | |
Node constructor. More... | |
BuriedUnsatPenaltyNode (BuriedUnsatPenaltyNode const &src)=delete | |
Copy constructor – explicitly deleted. More... | |
~BuriedUnsatPenaltyNode () override | |
Destructor. More... | |
void | initialize_node (core::Size const residue_position, core::Size const rotamer_index, core::conformation::ResidueCOP residue, core::pose::Pose const &pose, BuriedUnsatPenaltyGraphOptionsCOP options, core::scoring::hbonds::HBondOptionsCOP hbond_options, core::scoring::hbonds::HBondDatabase const &hbond_database, bool const is_symmetric) |
Initialize this node, setting its residue_position, rotamer_index,. More... | |
void | copy_from (utility::graph::Node const *other_node) override |
Given another node, set this node to copy that one. More... | |
core::Size | get_donor_acceptor_group_from_heavyatom_index (core::Size const heavyatom_index) const |
Given the index of a donor or acceptor heavyatom, get the donor/acceptor group index. More... | |
BuriedUnsatPenaltyGraphHbondDonorAcceptorGroup const & | donor_acceptor_group (core::Size const donor_acceptor_group_index) const |
Get a donor or acceptor group, by donor or acceptor group index. More... | |
void | clear_hbond_counts () |
For every donor/acceptor group, reset the counts of hydrogen bonds to/from that group. More... | |
void | increment_accepted_hbond_count_for_group (core::Size const group_index) |
Add one to the number of accepted hydrogen bonds for the Nth donor/acceptor group in this node. More... | |
void | increment_donated_hbond_count_for_group (core::Size const group_index) |
Add one to the number of donated hydrogen bonds for the Nth donor/acceptor group in this node. More... | |
void | increment_counts (core::Size &unsat_acceptor_count, core::Size &unsat_donor_count, core::Size &unsat_acceptor_and_donor_count, core::Size &oversat_acceptor_count, core::Size &oversat_donor_count, core::Size &oversat_acceptor_and_donor_count) const |
After hydrogen bonds from edges have been counted, report the number of donor/acceptor groups in each of several categories. More... | |
void | decrement_counts (core::Size &unsat_acceptor_count, core::Size &unsat_donor_count, core::Size &unsat_acceptor_and_donor_count, core::Size &oversat_acceptor_count, core::Size &oversat_donor_count, core::Size &oversat_acceptor_and_donor_count, graph::BuriedUnsatPenaltyNodeDataCOP data) const |
After hydrogen bonds from edges have been counted, report the number of donor/acceptor groups in each of several categories. More... | |
void | prune_donor_acceptor_groups_lacking_hbonds_to_packable (core::pack::rotamer_set::RotamerSets const &rotsets) |
Iterate through each donor and acceptor group in this node, and set to "do not count" if the group forms no hydrogen bonds to any packable residue's groups. More... | |
core::Size | residue_position () const |
Get the residue index (position in the pose) for this node. More... | |
core::Size | rotamer_index () const |
Get the rotamer index for this node. More... | |
core::Size | num_donor_acceptor_groups () const |
Get the number of donor/acceptor groups. More... | |
BuriedUnsatPenaltyNodeDataCOP | stored_data () const |
Const access to the stored data. More... | |
Private Member Functions | |
bool | is_buried (core::Size const atom_index, core::conformation::Residue const &residue, core::pose::Pose const &pose) const |
Determine whether an atom is buried by the method of sidechain neighbors. More... | |
void | detect_intra_residue_hydrogen_bonds (core::conformation::Residue const &residue, core::scoring::hbonds::HBondDatabase const &hbond_database, BuriedUnsatPenaltyNodeDataOP new_stored_data) |
Given a residue, detect intramolecular hydrogen bonds. More... | |
void | detect_intra_residue_hydrogen_bonds_symmetric (core::Size const res_index, core::conformation::ResidueCOP rotamer, core::pose::Pose const &pose, core::conformation::symmetry::SymmetryInfoCOP const symminfo, core::scoring::hbonds::HBondDatabase const &hbond_database, core::scoring::hbonds::HBondOptions const &hbond_options, BuriedUnsatPenaltyNodeDataOP new_stored_data) |
Given a residue, detect intramolecular hydrogen bonds. More... | |
Private Attributes | |
BuriedUnsatPenaltyNodeDataOP | stored_data_ |
Owning pointer to the data object. More... | |
utility::vector1< core::Size > | donated_hbond_count_ |
The number of hbonds that each group is donating. More... | |
utility::vector1< core::Size > | accepted_hbond_count_ |
The number of hbonds that each group is accepting. More... | |
Friends | |
class | ::BuriedUnsatPenaltyGraphTests |
class | ::BuriedUnsatPenaltyGraphSymmetricTests |
class | ::BuriedUnsatPenaltyTests |
class | ::BuriedUnsatPenaltySymmetricTests |
Each BuriedUnsatPenaltyNode represents a rotamer from the RotamerSets object, or a residue (if we're doing a simple scoring pass).
Internally, this stores a list of hydrogen bond donor and acceptor atoms that must be satisfied.
|
delete |
Default constructor – explicitly deleted.
core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::BuriedUnsatPenaltyNode | ( | utility::graph::Graph * | owner, |
platform::Size const | node_id | ||
) |
Node constructor.
|
delete |
Copy constructor – explicitly deleted.
|
overridedefault |
Destructor.
void core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::clear_hbond_counts | ( | ) |
For every donor/acceptor group, reset the counts of hydrogen bonds to/from that group.
The donated_hbond_count_ and accepted_hbond_count_ vars are initialized to the intra-residue donated and intra-residue accepted counts, respectively (i.e. inter-residue donated and inter-residue accepted counts have not yet been added in).
References accepted_hbond_count_, donated_hbond_count_, and stored_data_.
Referenced by core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraph::compute_unsats_for_node().
|
override |
Given another node, set this node to copy that one.
Note: this does NOT copy the rotamer index, but instead sets it to 1. The donated_hbond_count_ and accepted_hbond_count_ vars are initialized to the intra-residue donated and intra-residue accepted counts, respectively (i.e. inter-residue donated and inter-residue accepted counts have not yet been added in).
References stored_data_.
Referenced by core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraph::copy_node_and_connected_edges().
void core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::decrement_counts | ( | core::Size & | unsat_acceptor_count, |
core::Size & | unsat_donor_count, | ||
core::Size & | unsat_acceptor_and_donor_count, | ||
core::Size & | oversat_acceptor_count, | ||
core::Size & | oversat_donor_count, | ||
core::Size & | oversat_acceptor_and_donor_count, | ||
graph::BuriedUnsatPenaltyNodeDataCOP | data | ||
) | const |
After hydrogen bonds from edges have been counted, report the number of donor/acceptor groups in each of several categories.
The integer instances passed in are DECREMENTED appropriately by this function. (So if there is an incoming count of 5 unsaturated acceptors, and the current node accounts for 3 unsaturated acceptors, the unsat_acceptor_count will drop to 2).
[out] | unsat_acceptor_count | The number of acceptor (and not donor) groups that are unsatisfied. |
[out] | unsat_donor_count | The number of donor (and not acceptor) groups that are unsatisfied. |
[out] | unsat_acceptor_and_donor_count | The number of groups that are both donors and acceptors (e.g. hydroxyls) that are unsatisfied (i.e. lack either a donated hbond or an accepted hbond). |
[out] | oversat_acceptor_count | The number of acceptor (and not donor) groups that are oversatisfied. |
[out] | oversat_donor_count | The number of donor (and not acceptor) groups that are oversatisfied. (This generally doesn't happen). |
[out] | oversat_acceptor_and_donor_count | The number of groups that are both donors and acceptors (e.g. hydroxyls) that are unsatisfied (i.e. have either too many donated hbonds or too many accepted hbonds). |
[in] | data | The BuriedUnsatPenaltyNodeData to use. Since this has often been replaced by the time this function is called, we need to pass it in separately. |
References accepted_hbond_count_, donated_hbond_count_, core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraphHbondDonorAcceptorGroup::is_acceptor(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraphHbondDonorAcceptorGroup::is_counted(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraphHbondDonorAcceptorGroup::is_donor(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraphHbondDonorAcceptorGroup::max_accepted_hbond_count(), and core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraphHbondDonorAcceptorGroup::max_donated_hbond_count().
Referenced by core::pack::guidance_scoreterms::buried_unsat_penalty::BuriedUnsatPenalty::decrement_counts().
|
private |
Given a residue, detect intramolecular hydrogen bonds.
Populates the donor_acceptor_groups_intrares_hbonds_donated_ and donor_acceptor_groups_intrares_hbonds_accepted_ lists.
References core::scoring::hbonds::HBond::acc_atm(), core::chemical::ICoorAtomID::atomno(), core::scoring::hbonds::HBond::don_hatm(), core::scoring::hbonds::HBond::energy(), core::scoring::hbonds::HBondSet::hbond(), core::conformation::Residue::icoor(), core::scoring::hbonds::identify_intra_res_hbonds(), core::scoring::hbonds::HBondSet::nhbonds(), and core::chemical::AtomICoor::stub_atom1().
Referenced by initialize_node().
|
private |
Given a residue, detect intramolecular hydrogen bonds.
Populates the donor_acceptor_groups_intrares_hbonds_donated_ and donor_acceptor_groups_intrares_hbonds_accepted_ lists.
References core::scoring::hbonds::HBond::acc_atm(), core::scoring::hbonds::HBond::acc_res(), core::pose::Pose::conformation(), core::pose::Pose::conformation_ptr(), core::scoring::hbonds::HBond::don_hatm(), core::scoring::hbonds::HBond::don_res(), core::scoring::hbonds::HBondSet::hbond(), core::scoring::hbonds::HBondSet::nhbonds(), and core::conformation::Conformation::residue_cop().
Referenced by initialize_node().
|
inline |
Get a donor or acceptor group, by donor or acceptor group index.
This version provides const access.
References stored_data_.
Referenced by core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraph::compute_unsats_for_node(), and core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraph::provide_pymol_commands_to_show_groups().
|
inline |
Given the index of a donor or acceptor heavyatom, get the donor/acceptor group index.
References stored_data_.
Referenced by core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraph::initialize_graph_for_packing().
void core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::increment_accepted_hbond_count_for_group | ( | core::Size const | group_index | ) |
Add one to the number of accepted hydrogen bonds for the Nth donor/acceptor group in this node.
References accepted_hbond_count_.
Referenced by core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraph::compute_unsats_for_node().
void core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::increment_counts | ( | core::Size & | unsat_acceptor_count, |
core::Size & | unsat_donor_count, | ||
core::Size & | unsat_acceptor_and_donor_count, | ||
core::Size & | oversat_acceptor_count, | ||
core::Size & | oversat_donor_count, | ||
core::Size & | oversat_acceptor_and_donor_count | ||
) | const |
After hydrogen bonds from edges have been counted, report the number of donor/acceptor groups in each of several categories.
The integer instances passed in are incremented appropriately by this function. (So if there is an incoming count of 5 unsaturated acceptors, and the current node has 3 more, the unsat_acceptor_count will end up being 8).
[out] | unsat_acceptor_count | The number of acceptor (and not donor) groups that are unsatisfied. |
[out] | unsat_donor_count | The number of donor (and not acceptor) groups that are unsatisfied. |
[out] | unsat_acceptor_and_donor_count | The number of groups that are both donors and acceptors (e.g. hydroxyls) that are unsatisfied (i.e. lack either a donated hbond or an accepted hbond). |
[out] | oversat_acceptor_count | The number of acceptor (and not donor) groups that are oversatisfied. |
[out] | oversat_donor_count | The number of donor (and not acceptor) groups that are oversatisfied. (This generally doesn't happen). |
[out] | oversat_acceptor_and_donor_count | The number of groups that are both donors and acceptors (e.g. hydroxyls) that are unsatisfied (i.e. have either too many donated hbonds or too many accepted hbonds). |
References accepted_hbond_count_, donated_hbond_count_, core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraphHbondDonorAcceptorGroup::is_acceptor(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraphHbondDonorAcceptorGroup::is_counted(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraphHbondDonorAcceptorGroup::is_donor(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraphHbondDonorAcceptorGroup::max_accepted_hbond_count(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraphHbondDonorAcceptorGroup::max_donated_hbond_count(), and stored_data_.
Referenced by core::pack::guidance_scoreterms::buried_unsat_penalty::BuriedUnsatPenalty::calculate_penalty_once_from_scratch(), and core::pack::guidance_scoreterms::buried_unsat_penalty::BuriedUnsatPenalty::increment_counts().
void core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::increment_donated_hbond_count_for_group | ( | core::Size const | group_index | ) |
Add one to the number of donated hydrogen bonds for the Nth donor/acceptor group in this node.
References donated_hbond_count_.
Referenced by core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraph::compute_unsats_for_node().
void core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::initialize_node | ( | core::Size const | residue_position, |
core::Size const | rotamer_index, | ||
core::conformation::ResidueCOP | residue, | ||
core::pose::Pose const & | pose, | ||
BuriedUnsatPenaltyGraphOptionsCOP | options, | ||
core::scoring::hbonds::HBondOptionsCOP | hbond_options, | ||
core::scoring::hbonds::HBondDatabase const & | hbond_database, | ||
bool const | is_symmetric | ||
) |
Initialize this node, setting its residue_position, rotamer_index,.
The options owning pointer is stored directly; the options are not cloned.
References accepted_hbond_count_, core::pose::Pose::conformation_ptr(), detect_intra_residue_hydrogen_bonds(), detect_intra_residue_hydrogen_bonds_symmetric(), donated_hbond_count_, core::chemical::AtomType::is_acceptor(), is_buried(), core::chemical::AtomType::is_hydrogen(), core::chemical::AtomType::is_polar_hydrogen(), core::conformation::symmetry::is_symmetric(), residue_position(), rotamer_index(), stored_data_, core::pose::Pose::total_residue(), and core::pack::guidance_scoreterms::buried_unsat_penalty::TR().
Referenced by core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraph::initialize_node().
|
private |
Determine whether an atom is buried by the method of sidechain neighbors.
References core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraphOptions::angle_exponent(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraphOptions::angle_shift_factor(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraphOptions::burial_threshold(), core::select::util::determine_whether_point_is_buried(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraphOptions::dist_exponent(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraphOptions::dist_midpoint(), stored_data_, and core::conformation::Residue::xyz().
Referenced by initialize_node().
|
inline |
Get the number of donor/acceptor groups.
References stored_data_.
Referenced by core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraph::provide_pymol_commands_to_show_groups(), and prune_donor_acceptor_groups_lacking_hbonds_to_packable().
void core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::prune_donor_acceptor_groups_lacking_hbonds_to_packable | ( | core::pack::rotamer_set::RotamerSets const & | rotsets | ) |
Iterate through each donor and acceptor group in this node, and set to "do not count" if the group forms no hydrogen bonds to any packable residue's groups.
This should only be called for nodes corresponding to non-packable positions.
References core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraphHbond::acceptor_group(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraphHbond::donor_group(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraphHbond::first_node_is_the_acceptor(), core::pack::rotamer_set::RotamerSets::has_rotamer_set_for_residue(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyEdge::hbond(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyEdge::n_hbonds(), num_donor_acceptor_groups(), residue_position(), and stored_data_.
Referenced by core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraph::initialize_graph_for_packing().
|
inline |
Get the residue index (position in the pose) for this node.
References stored_data_.
Referenced by core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraph::copy_node_and_connected_edges(), core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraph::initialize_graph_for_packing(), initialize_node(), and prune_donor_acceptor_groups_lacking_hbonds_to_packable().
|
inline |
Get the rotamer index for this node.
References stored_data_.
Referenced by core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyGraph::copy_node_and_connected_edges(), and initialize_node().
|
inline |
Const access to the stored data.
References stored_data_.
Referenced by core::pack::guidance_scoreterms::buried_unsat_penalty::BuriedUnsatPenalty::decrement_counts().
|
friend |
|
friend |
|
friend |
|
friend |
|
private |
The number of hbonds that each group is accepting.
Referenced by clear_hbond_counts(), decrement_counts(), increment_accepted_hbond_count_for_group(), increment_counts(), and initialize_node().
|
private |
The number of hbonds that each group is donating.
Referenced by clear_hbond_counts(), decrement_counts(), increment_counts(), increment_donated_hbond_count_for_group(), and initialize_node().
|
private |
Owning pointer to the data object.
Referenced by clear_hbond_counts(), copy_from(), donor_acceptor_group(), get_donor_acceptor_group_from_heavyatom_index(), increment_counts(), initialize_node(), is_buried(), num_donor_acceptor_groups(), prune_donor_acceptor_groups_lacking_hbonds_to_packable(), residue_position(), rotamer_index(), and stored_data().