Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode Class Reference

Each BuriedUnsatPenaltyNode represents a rotamer from the RotamerSets object, or a residue (if we're doing a simple scoring pass). More...

#include <BuriedUnsatPenaltyGraph.hh>

Inheritance diagram for core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode:
Inheritance graph
[legend]

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::Sizedonated_hbond_count_
 The number of hbonds that each group is donating. More...
 
utility::vector1< core::Sizeaccepted_hbond_count_
 The number of hbonds that each group is accepting. More...
 

Friends

class ::BuriedUnsatPenaltyGraphTests
 
class ::BuriedUnsatPenaltyGraphSymmetricTests
 
class ::BuriedUnsatPenaltyTests
 
class ::BuriedUnsatPenaltySymmetricTests
 

Detailed Description

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.

Constructor & Destructor Documentation

core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::BuriedUnsatPenaltyNode ( )
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.

core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::BuriedUnsatPenaltyNode ( BuriedUnsatPenaltyNode const &  src)
delete

Copy constructor – explicitly deleted.

core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::~BuriedUnsatPenaltyNode ( )
overridedefault

Destructor.

Member Function Documentation

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().

void core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::copy_from ( utility::graph::Node const *  other_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).

Parameters
[out]unsat_acceptor_countThe number of acceptor (and not donor) groups that are unsatisfied.
[out]unsat_donor_countThe number of donor (and not acceptor) groups that are unsatisfied.
[out]unsat_acceptor_and_donor_countThe 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_countThe number of acceptor (and not donor) groups that are oversatisfied.
[out]oversat_donor_countThe number of donor (and not acceptor) groups that are oversatisfied. (This generally doesn't happen).
[out]oversat_acceptor_and_donor_countThe 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]dataThe 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().

void core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::detect_intra_residue_hydrogen_bonds ( core::conformation::Residue const &  residue,
core::scoring::hbonds::HBondDatabase const &  hbond_database,
BuriedUnsatPenaltyNodeDataOP  new_stored_data 
)
private

Given a residue, detect intramolecular hydrogen bonds.

Populates the donor_acceptor_groups_intrares_hbonds_donated_ and donor_acceptor_groups_intrares_hbonds_accepted_ lists.

Note
This version is for the ASYMMETRIC and SYMMETRIC cases. It only detects the intraresidue hbonds. In the symmetric case, the detect_intra_residue_hydrogen_bonds_symmetric() function should be called immediately after this to detect the interresidue hbonds between this residue and its symmetry mates.

References core::scoring::hbonds::HBondSet::hbond(), core::conformation::Residue::icoor(), core::scoring::hbonds::identify_intra_res_hbonds(), and core::scoring::hbonds::HBondSet::nhbonds().

Referenced by initialize_node().

void core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::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 
)
private

Given a residue, detect intramolecular hydrogen bonds.

Populates the donor_acceptor_groups_intrares_hbonds_donated_ and donor_acceptor_groups_intrares_hbonds_accepted_ lists.

Note
This version is for the SYMMETRIC case. It detects interresidue hbonds between this residue and its symmetry mates. This should be called after detect_intra_residue_hydrogen_bonds().

References core::pose::Pose::conformation(), core::pose::Pose::conformation_ptr(), core::scoring::hbonds::HBondSet::hbond(), core::scoring::hbonds::HBondSet::nhbonds(), and core::conformation::Conformation::residue_cop().

Referenced by initialize_node().

BuriedUnsatPenaltyGraphHbondDonorAcceptorGroup const& core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::donor_acceptor_group ( core::Size const  donor_acceptor_group_index) const
inline
core::Size core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::get_donor_acceptor_group_from_heavyatom_index ( core::Size const  heavyatom_index) const
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).

Parameters
[out]unsat_acceptor_countThe number of acceptor (and not donor) groups that are unsatisfied.
[out]unsat_donor_countThe number of donor (and not acceptor) groups that are unsatisfied.
[out]unsat_acceptor_and_donor_countThe 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_countThe number of acceptor (and not donor) groups that are oversatisfied.
[out]oversat_donor_countThe number of donor (and not acceptor) groups that are oversatisfied. (This generally doesn't happen).
[out]oversat_acceptor_and_donor_countThe 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 
)
bool core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::is_buried ( core::Size const  atom_index,
core::conformation::Residue const &  residue,
core::pose::Pose const &  pose 
) const
private
core::Size core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::num_donor_acceptor_groups ( ) const
inline
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)
core::Size core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::residue_position ( ) const
inline
core::Size core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::rotamer_index ( ) const
inline
BuriedUnsatPenaltyNodeDataCOP core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::stored_data ( ) const
inline

Const access to the stored data.

References stored_data_.

Friends And Related Function Documentation

friend class ::BuriedUnsatPenaltyGraphSymmetricTests
friend
friend class ::BuriedUnsatPenaltyGraphTests
friend
friend class ::BuriedUnsatPenaltySymmetricTests
friend
friend class ::BuriedUnsatPenaltyTests
friend

Member Data Documentation

utility::vector1< core::Size > core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::accepted_hbond_count_
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().

utility::vector1< core::Size > core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::donated_hbond_count_
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().

BuriedUnsatPenaltyNodeDataOP core::pack::guidance_scoreterms::buried_unsat_penalty::graph::BuriedUnsatPenaltyNode::stored_data_
private

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