![]() |
Rosetta
2020.50
|
A metric to measure hydrogen bonds between a set of residues that are water-mediated. More...
#include <WaterMediatedHbondMetric.hh>
Public Member Functions | |
WaterMediatedHbondMetric () | |
Constructors ///. More... | |
WaterMediatedHbondMetric (WaterMediatedHbondMetric const &src) | |
Copy constructor (not needed unless you need deep copies) More... | |
~WaterMediatedHbondMetric () override | |
Destructor (important for properly forward-declaring smart-pointer members) More... | |
std::map< core::Size, core::Real > | calculate (core::pose::Pose const &pose) const override |
Metric Methods ///. More... | |
void | set_include_virt_waters (bool include_virt_waters) |
After packing, some waters become HOH_v if they don't match certain ref energy. The option -include_vrt false will have them all be HOH during packing. Set this option to true to incude them in our calculation if they are still virts. More... | |
void | set_residue_selector2 (core::select::residue_selector::ResidueSelectorCOP selector) |
Optionally set a second residue selector to get bridged hbonds between both selections. More... | |
void | set_depth (core::Size const depth) |
Set the depth we will go to find hbonds. Default is 1. IE resi - water -resj. More... | |
void | set_include_only_set_depth (bool include_only_depth) |
Set to include only the depth that is set instead of Up to the max depth. IE - if depth is set to 2, we only include hbond paths mediated by two waters. Default false. More... | |
void | set_include_self (bool include_self) |
Set to include hbonds as so: resi - water - resi Default false. More... | |
std::string | name () const override |
Name of the class. More... | |
std::string | metric () const override |
Name of the metric. More... | |
void | find_hb_paths (core::scoring::hbonds::HBondSet const &local_hb_set, utility::vector1< core::Size > const &local_waters, std::map< std::string, core::Size > &paths, core::Size const current_res, core::Size const max_depth=1, std::string const ¤t_path="", core::Size const current_depth=0, core::scoring::hbonds::HBondCOP prev_hb=nullptr) const |
Recursive function to find all unique HBond paths involving water and ending with a residue that is not in our water list. More... | |
void | parse_my_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &data) override |
called by parse_my_tag – should not be used directly More... | |
core::simple_metrics::SimpleMetricOP | clone () const override |
![]() | |
PerResidueRealMetric () | |
~PerResidueRealMetric () override | |
PerResidueRealMetric (PerResidueRealMetric const &other) | |
PerResidueRealMetric & | operator= (PerResidueRealMetric const &) |
void | apply (std::string const &out_label, pose::Pose &pose, bool override_existing_data=false) const override |
Calculate the metric and add it to the pose as a score. labeled as out_label. More... | |
void | set_residue_selector (select::residue_selector::ResidueSelectorCOP selector) |
Set a ResidueSelector for which we will calculate values over. More... | |
void | set_output_as_pdb_nums (bool output_as_pdb_nums) |
Set to output in PDB numbering instead of Rosetta during the Apply function, which adds the data to pose as extra scores. More... | |
std::map< core::Size, core::Real > | cached_calculate (pose::Pose const &pose, bool use_cache, std::string prefix="", std::string suffix="", bool fail_on_missing_cache=true, bool use_ref_pose_for_cache=true) const |
Grab the data from the pose if it exists or calculate the metric. More... | |
utility::vector1< std::string > | get_metric_names () const override |
Get the submetric names that this Metric will calculate. More... | |
select::residue_selector::ResidueSelectorCOP | get_selector () const |
Get the set residue selector of this class. More... | |
virtual void | parse_per_residue_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &data) |
Parse the base class tag. Keep required interface for parse_my_tag. More... | |
![]() | |
SimpleMetric (std::string const &simple_metric_type) | |
~SimpleMetric () override | |
SimpleMetric (SimpleMetric const &other) | |
SimpleMetric & | operator= (SimpleMetric const &) |
void | apply (pose::Pose &pose, std::string const &prefix="", std::string const &suffix="", bool override_existing_data=false) const |
Calculate the metric and add it to the Score, which is output into a scorefile - labeled as prefix+metric+suffix. More... | |
void | set_custom_type (std::string const &custom_type) |
std::string | get_custom_type () const |
Additional setting to prefix/suffix. More... | |
virtual void | parse_base_tag (utility::tag::TagCOP tag) |
Parse the base class tag. Keep required interface for parse_my_tag. More... | |
std::string | simple_metric_type () const |
std::string | get_final_sm_type () const |
Get the final name of this metric including its simple_metric_type_ name and any set custom type. More... | |
virtual void | provide_citation_info (basic::citation_manager::CitationCollectionList &) const |
Provide citations to the passed CitationCollectionList Subclasses should add the info for themselves and any other classes they use. More... | |
Static Public Member Functions | |
static std::string | name_static () |
Name of the class for creator. More... | |
static void | provide_xml_schema (utility::tag::XMLSchemaDefinition &xsd) |
![]() | |
static void | add_schema (utility::tag::XMLSchemaComplexTypeGeneratorOP complex_schema) |
Add options to the schema from this base class. More... | |
![]() | |
static utility::tag::XMLSchemaComplexTypeGeneratorOP | complex_type_generator_for_simple_metric (utility::tag::XMLSchemaDefinition &) |
Private Attributes | |
bool | include_virt_waters_ = false |
bool | include_self_ = false |
bool | include_only_set_depth_ = false |
core::Size | depth_ = 1 |
core::select::residue_selector::ResidueSelectorCOP | selector_two_ = nullptr |
A metric to measure hydrogen bonds between a set of residues that are water-mediated.
DEPTH: We only traverse a depth of 1 by default. Make sure to set the -ignore_waters flag to false in order to have Rosetta include the HOH residues.
SELECTION: If one residue selector is given, will calculate bridged waters between residues of the selection and all [OTHER] residues, otherwise it will calculate bridges between one selection and another.
If NO SELECTION is give, will report ALL bridged hbonds in a pose [by default without self-water-self hbonds].
HBOND: Since these are bridged hbonds, and h-bond networks can be rather complex, the numbers reported here are the unique h-bond paths from sele1 to sele2. If you give only a single residue selector, these are bridged hbonds from sele1 to OTHER residues in sele1. By default we do not include mediated hbonds back on itself, but this is an option.
TIPS: It is generally recommended to repack the waters using the OptH TaskOperation before input into this metric, especially if only Oxygens were present. Using the option -include_vrt false will keep all waters present in the resulting structure. Use the option -corrections::water::wat_rot_sampling 10 to decrease the angle of sampling from a default of 30 to 10. This will result in many more rotamers, but will improve networks.
Hydration shells can be calculated by passing selection1 as all waters in the pose, selection2 as the protein or chain, and then reporting only a single depth (with max_depth at 0 and 1 for the first and second shell waters."
It is also recommended to use the Beta scorefunction as this can improve hydrogen bond detection.
core::simple_metrics::per_residue_metrics::WaterMediatedHbondMetric::WaterMediatedHbondMetric | ( | ) |
Constructors ///.
Default constructor
|
default |
Copy constructor (not needed unless you need deep copies)
Copy constructor.
|
override |
Destructor (important for properly forward-declaring smart-pointer members)
|
overridevirtual |
Metric Methods ///.
Defined in RealMetric:
Calculate the metric and add it to the pose as a score. labeled as prefix+metric+suffix.
Score is added through setExtraScorePose and is output into the score tables/file at pose output. Defined in PerResidueRealMetric Calculate the metric. This map is Rosetta Resnum->value and includes only those residues selected.
Return by value as this function can not STORE the result, it only calculates. Store the result in the pose by using the apply method, which calls this method and stores the result in the pose as ExtraScoreValues.
Implements core::simple_metrics::PerResidueRealMetric.
References depth_, find_hb_paths(), core::select::get_residues_from_subset(), core::simple_metrics::PerResidueRealMetric::get_selector(), include_only_set_depth_, include_self_, include_virt_waters_, core::chemical::ResidueType::is_water(), core::conformation::Residue::name(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), selector_two_, core::pose::Pose::size(), and TR().
|
overridevirtual |
Implements core::simple_metrics::PerResidueRealMetric.
void core::simple_metrics::per_residue_metrics::WaterMediatedHbondMetric::find_hb_paths | ( | core::scoring::hbonds::HBondSet const & | local_hb_set, |
utility::vector1< core::Size > const & | local_waters, | ||
std::map< std::string, core::Size > & | paths, | ||
core::Size const | current_res, | ||
core::Size const | max_depth = 1 , |
||
std::string const & | current_path = "" , |
||
core::Size const | current_depth = 0 , |
||
core::scoring::hbonds::HBondCOP | prev_hb = nullptr |
||
) | const |
Recursive function to find all unique HBond paths involving water and ending with a residue that is not in our water list.
Populates paths as the reference. Path is a splittalbe string of the connections. ex: 191-221-333 where residue 221 is a water in our list.
References core::scoring::hbonds::find_hb_paths().
Referenced by calculate().
|
overridevirtual |
Name of the metric.
Implements core::simple_metrics::PerResidueRealMetric.
|
overridevirtual |
|
static |
Name of the class for creator.
Referenced by core::simple_metrics::per_residue_metrics::WaterMediatedHbondMetricCreator::keyname(), name(), and provide_xml_schema().
|
overridevirtual |
called by parse_my_tag – should not be used directly
Implements core::simple_metrics::PerResidueRealMetric.
References depth_, include_only_set_depth_, include_self_, include_virt_waters_, core::simple_metrics::SimpleMetric::parse_base_tag(), core::simple_metrics::PerResidueRealMetric::parse_per_residue_tag(), core::select::residue_selector::parse_residue_selector(), set_depth(), set_include_only_set_depth(), set_include_self(), set_include_virt_waters(), and set_residue_selector2().
|
static |
void core::simple_metrics::per_residue_metrics::WaterMediatedHbondMetric::set_depth | ( | core::Size const | depth | ) |
Set the depth we will go to find hbonds. Default is 1. IE resi - water -resj.
References depth_.
Referenced by parse_my_tag().
void core::simple_metrics::per_residue_metrics::WaterMediatedHbondMetric::set_include_only_set_depth | ( | bool | include_only_depth | ) |
Set to include only the depth that is set instead of Up to the max depth. IE - if depth is set to 2, we only include hbond paths mediated by two waters. Default false.
References include_only_set_depth_.
Referenced by parse_my_tag().
void core::simple_metrics::per_residue_metrics::WaterMediatedHbondMetric::set_include_self | ( | bool | include_self | ) |
Set to include hbonds as so: resi - water - resi Default false.
Will only find these if selector1 and selector2 contain the same residue.
References include_self_.
Referenced by parse_my_tag().
void core::simple_metrics::per_residue_metrics::WaterMediatedHbondMetric::set_include_virt_waters | ( | bool | include_virt_waters | ) |
After packing, some waters become HOH_v if they don't match certain ref energy. The option -include_vrt false will have them all be HOH during packing. Set this option to true to incude them in our calculation if they are still virts.
References include_virt_waters_.
Referenced by parse_my_tag().
void core::simple_metrics::per_residue_metrics::WaterMediatedHbondMetric::set_residue_selector2 | ( | core::select::residue_selector::ResidueSelectorCOP | selector | ) |
Optionally set a second residue selector to get bridged hbonds between both selections.
References selector_two_.
Referenced by parse_my_tag().
|
private |
Referenced by calculate(), parse_my_tag(), and set_depth().
|
private |
Referenced by calculate(), parse_my_tag(), and set_include_only_set_depth().
|
private |
Referenced by calculate(), parse_my_tag(), and set_include_self().
|
private |
Referenced by calculate(), parse_my_tag(), and set_include_virt_waters().
|
private |
Referenced by calculate(), and set_residue_selector2().