Rosetta 3.5
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
protocols
toolbox
pose_metric_calculators
SemiExplicitWaterUnsatisfiedPolarsCalculator.hh
Go to the documentation of this file.
1
// (c) Copyright Rosetta Commons Member Institutions.
2
// (c) This file is part of the Rosetta software suite and is made available under license.
3
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
4
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
5
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
6
7
/// @file /src/protocols/toolbox/PoseMetricCalculators/SemiExplicitWaterUnsatisfiedPolarsCalculator.hh
8
/// @brief
9
/// @author Chris King, templated from BuriedUnsatisfiedPolarsCalulator by Florian Richter
10
11
12
#ifndef INCLUDED_protocols_toolbox_pose_metric_calculators_SemiExplicitWaterUnsatisfiedPolarsCalculator_hh
13
#define INCLUDED_protocols_toolbox_pose_metric_calculators_SemiExplicitWaterUnsatisfiedPolarsCalculator_hh
14
15
#include <
core/pose/metrics/PoseMetricCalculatorBase.hh
>
16
#include <
core/pose/Pose.fwd.hh
>
17
#include <
core/types.hh
>
18
#include <basic/MetricValue.fwd.hh>
19
#include <
core/id/AtomID_Map.hh
>
20
#include <
core/scoring/ScoreFunction.hh
>
21
#include <
core/scoring/hbonds/HBondDatabase.fwd.hh
>
22
#include <
core/conformation/Residue.fwd.hh
>
23
24
25
#include <basic/options/option.hh>
26
27
#include <utility/vector1.hh>
28
29
#include <set>
30
31
32
// option key includes
33
34
#include <basic/options/keys/pose_metrics.OptionKeys.gen.hh>
35
36
37
namespace
protocols{
38
namespace
toolbox {
39
namespace
pose_metric_calculators {
40
41
class
SemiExplicitWaterUnsatisfiedPolarsCalculator
:
public
core::pose::metrics::EnergyDependentCalculator
{
42
43
public
:
44
45
SemiExplicitWaterUnsatisfiedPolarsCalculator
(
46
std::string
hbond_calc,
47
core::scoring::ScoreFunctionOP
scorefxn,
48
core::Real
semiexpl_water_cutoff = basic::options::option[basic::options::OptionKeys::pose_metrics::semiex_water_burial_cutoff]
49
);
50
51
52
SemiExplicitWaterUnsatisfiedPolarsCalculator
(
53
std::string
hbond_calc,
54
core::scoring::ScoreFunctionOP
scorefxn,
55
std::set< core::Size >
const
& special_region,
56
core::Real
semiexpl_water_cutoff = basic::options::option[basic::options::OptionKeys::pose_metrics::semiex_water_burial_cutoff]
57
);
58
59
60
core::Real
61
semiexpl_water_hbgeom_score
(
62
core::pose::Pose
pose,
63
core::scoring::ScoreFunctionOP
scorefxn,
64
core::Size
seqpos,
65
core::Size
atomno,
66
core::conformation::Residue
new_rsd,
67
core::Size
new_atomno
68
);
69
70
core::pose::metrics::PoseMetricCalculatorOP
clone
()
const
{
71
return
new
SemiExplicitWaterUnsatisfiedPolarsCalculator
(
name_of_hbond_calc_
,
scorefxn_
,
semiexpl_water_cutoff_
); };
72
73
std::string
const
&
name_of_hbond_calc
()
const
{
return
name_of_hbond_calc_
; }
74
75
protected
:
76
77
virtual
void
lookup
(
std::string
const
& key, basic::MetricValueBase * valptr )
const
;
78
virtual
std::string
print
(
std::string
const
& key )
const
;
79
virtual
void
recompute
(
core::pose::Pose
const
& this_pose );
80
81
82
private
:
83
84
void
assert_calculators
();
85
86
static
87
core::Size
satisfaction_cutoff
(
std::string
atom_type );
88
89
90
core::scoring::hbonds::HBondDatabaseCOP
hb_database_
;
91
core::Size
all_unsat_polars_
;
92
core::Size
special_region_unsat_polars_
;
93
core::id::AtomID_Map< bool >
atom_unsat_
;
94
utility::vector1< core::Size >
residue_unsat_polars_
;
95
utility::vector1< core::Real >
residue_semiexpl_score_
;
96
core::id::AtomID_Map< core::Real >
atom_semiexpl_score_
;
97
core::Real
semiexpl_water_cutoff_
;
98
99
//holds the atom hbonds calculators necessary for this calculator
100
std::string
name_of_hbond_calc_
;
101
core::scoring::ScoreFunctionOP
scorefxn_
;
102
103
std::set< core::Size >
special_region_
;
104
105
};
106
107
108
}
// namespace pose_metric_calculators
109
}
// namespace toolbox
110
}
// namespace protocols
111
112
#endif
Generated on Sat Jun 1 2013 12:22:46 for Rosetta 3.5 by
1.8.4