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
core
scoring
geometric_solvation
GeometricSolEnergy.hh
Go to the documentation of this file.
1
// -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2
// vi: set ts=2 noet:
3
//
4
// (c) Copyright Rosetta Commons Member Institutions.
5
// (c) This file is part of the Rosetta software suite and is made available under license.
6
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9
10
/// @file core/scoring/methods/GeometricSolEnergy.hh
11
/// @brief Hydrogen bond energy method class declaration
12
/// @author Phil Bradley
13
/// @author Andrew Leaver-Fay
14
15
16
#ifndef INCLUDED_core_scoring_geometric_solvation_GeometricSolEnergy_hh
17
#define INCLUDED_core_scoring_geometric_solvation_GeometricSolEnergy_hh
18
19
// Unit Headers
20
#include <
core/scoring/geometric_solvation/GeometricSolEnergy.fwd.hh
>
21
22
#include <
core/types.hh
>
23
24
// Package headers
25
// AUTO-REMOVED #include <core/scoring/hbonds/constants.hh>
26
#include <
core/scoring/hbonds/types.hh
>
27
#include <
core/scoring/hbonds/HBEvalTuple.fwd.hh
>
28
#include <
core/scoring/hbonds/HBondDatabase.fwd.hh
>
29
#include <
core/scoring/methods/ContextDependentTwoBodyEnergy.hh
>
30
// AUTO-REMOVED #include <core/scoring/methods/EnergyMethodOptions.hh>
31
32
// Project headers
33
#include <
core/pose/Pose.fwd.hh
>
34
// AUTO-REMOVED #include <core/scoring/EnergyMap.hh>
35
36
#include <
core/scoring/methods/EnergyMethodOptions.fwd.hh
>
37
#include <utility/vector1.hh>
38
39
40
namespace
core {
41
namespace
scoring {
42
namespace
geometric_solvation {
43
44
///
45
class
GeometricSolEnergy
:
public
methods::ContextDependentTwoBodyEnergy
{
46
public
:
47
typedef
methods::ContextDependentTwoBodyEnergy
parent
;
48
public
:
49
50
///
51
GeometricSolEnergy
(
methods::EnergyMethodOptions
const
& options );
52
53
///@brief copy c-tor
54
GeometricSolEnergy
(
GeometricSolEnergy
const
& src );
55
56
/// clone
57
virtual
58
methods::EnergyMethodOP
59
clone
()
const
;
60
61
///
62
virtual
63
void
64
setup_for_scoring
(
pose::Pose
& pose,
ScoreFunction
const
& )
const
;
65
66
///
67
virtual
68
void
69
setup_for_derivatives
(
pose::Pose
& pose,
ScoreFunction
const
& )
const
;
70
71
/////////////////////////////////////////////////////////////////////////////
72
// scoring
73
/////////////////////////////////////////////////////////////////////////////
74
75
/// This evaluates everything for now,
76
/// but eventually may want to split this
77
/// based on backbone/backbone vs. others,
78
/// as is carried out in HBondEnergy.cc
79
virtual
80
void
81
residue_pair_energy
(
82
conformation::Residue
const
& rsd1,
83
conformation::Residue
const
& rsd2,
84
pose::Pose
const
& pose,
85
ScoreFunction
const
&,
86
EnergyMap
& emap
87
)
const
;
88
89
void
90
eval_atom_derivative_intra_RNA
(
91
id::AtomID
const
& atom_id,
92
pose::Pose
const
& pose,
93
EnergyMap
const
& weights,
94
Vector
& F1,
95
Vector
& F2
96
)
const
;
97
98
/// f1 and f2 are zeroed
99
virtual
100
void
101
eval_atom_derivative
(
102
id::AtomID
const
& atom_id,
103
pose::Pose
const
& pose,
104
kinematics::DomainMap
const
&,
105
ScoreFunction
const
&,
106
EnergyMap
const
& weights,
107
Vector
& F1,
108
Vector
& F2
109
)
const
;
110
111
Real
112
eval_atom_energy
(
113
id::AtomID
const
& atom_id,
114
pose::Pose
const
& pose
115
)
const
;
116
117
///
118
// virtual
119
// void
120
// finalize_total_energy(
121
// pose::Pose & pose,
122
// ScoreFunction const &,
123
// EnergyMap & totals
124
// ) const;
125
126
virtual
127
bool
128
defines_intrares_energy
(
EnergyMap
const
& weights )
const
;
129
130
virtual
131
void
132
eval_intrares_energy
(
133
conformation::Residue
const
& rsd,
134
pose::Pose
const
& pose,
135
ScoreFunction
const
& ,
136
EnergyMap
& emap
137
)
const
;
138
139
virtual
140
Distance
141
atomic_interaction_cutoff
()
const
;
142
143
//Real
144
//hydrogen_interaction_cutoff2() const;
145
146
///@brief GeometricSolEnergy is context sensitive
147
virtual
148
void
indicate_required_context_graphs
(
149
utility::vector1< bool >
& context_graphs_required )
const
;
150
151
private
:
152
153
inline
154
Real
155
res_res_geometric_sol_one_way
(
156
conformation::Residue
const
& polar_rsd,
157
conformation::Residue
const
& occ_rsd,
158
pose::Pose
const
& pose )
const
;
159
160
inline
161
Real
162
donorRes_occludingRes_geometric_sol_one_way
(
163
conformation::Residue
const
& don_rsd,
164
conformation::Residue
const
& occ_rsd,
165
pose::Pose
const
& pose )
const
;
166
167
inline
168
Real
169
acceptorRes_occludingRes_geometric_sol_one_way
(
170
conformation::Residue
const
& acc_rsd,
171
conformation::Residue
const
& occ_rsd,
172
pose::Pose
const
& pose )
const
;
173
174
inline
175
Real
176
occluded_water_hbond_penalty
(
177
bool
const
& is_donor,
178
hbonds::HBEvalTuple
const
& hbond_eval_type,
179
Vector
const
& polar_atm_xyz,
180
Vector
const
& base_atm_xyz,
181
Vector
const
& occluding_atm_xyz,
182
Size
const
& polar_nb,
183
Size
const
& occ_nb,
184
bool
const
update_deriv =
false
,
185
hbonds::HBondDerivs
& deriv =
hbonds::DUMMY_DERIVS
186
)
const
;
187
188
inline
189
void
190
set_water_base_atm
(
191
Vector
const
& base_v,
192
Vector
const
& atom_v,
193
Vector
const
& water_v,
194
Vector
& water_base_v,
195
Real
const
& xH
/*cos(theta)*/
,
196
Distance
const
& bond_length )
const
;
197
198
inline
199
Real
200
get_water_cos
(
201
Vector
const
& base_atm_xyz,
202
Vector
const
& polar_atm_xyz,
203
Vector
const
& occluding_atm_xyz )
const
;
204
205
bool
206
atom_is_donor
(
conformation::Residue
const
& rsd,
Size
const
atm )
const
;
207
208
bool
209
atom_is_donor_h
(
conformation::Residue
const
& rsd,
Size
const
atm )
const
;
210
211
bool
212
atom_is_acceptor
(
conformation::Residue
const
& rsd,
Size
const
atm )
const
;
213
214
bool
215
atom_is_heavy
(
conformation::Residue
const
& rsd,
Size
const
atm )
const
;
216
217
218
void
219
get_atom_atom_geometric_solvation_for_donor
(
220
Size
const
& don_h_atm,
221
conformation::Residue
const
& don_rsd,
222
Size
const
& occ_atm,
223
conformation::Residue
const
& occ_rsd,
224
pose::Pose
const
& pose,
225
Real
& energy,
226
bool
const
update_deriv =
false
,
227
hbonds::HBondDerivs
& deriv =
hbonds::DUMMY_DERIVS
228
)
const
;
229
230
void
231
get_atom_atom_geometric_solvation_for_acceptor
(
232
Size
const
& acc_atm,
233
conformation::Residue
const
& acc_rsd,
234
Size
const
& occ_atm,
235
conformation::Residue
const
& occ_rsd,
236
pose::Pose
const
& pose,
237
Real
& energy,
238
bool
const
update_deriv =
false
,
239
hbonds::HBondDerivs
& deriv =
hbonds::DUMMY_DERIVS
240
)
const
;
241
242
Real
243
donorRes_occludingRes_geometric_sol_RNA_intra
(
244
conformation::Residue
const
& rsd,
245
pose::Pose
const
& pose )
const
;
246
247
Real
248
acceptorRes_occludingRes_geometric_sol_RNA_intra
(
249
conformation::Residue
const
& rsd,
250
pose::Pose
const
& pose )
const
;
251
252
Vector
253
get_acceptor_base_atm_xyz
(
conformation::Residue
const
& acc_rsd,
Size
const
& acc_atm )
const
;
254
255
256
private
:
257
258
/////////////////////////////////////////////////////////////////////////////
259
// data
260
/////////////////////////////////////////////////////////////////////////////
261
methods::EnergyMethodOptionsOP
options_
;
262
263
// no Hbonds longer than sqrt of this (the square)
264
hbonds::HBondDatabaseCOP
hb_database_
;
265
Real
const
dist_cut2_
;
266
Real
const
geometric_sol_scale_
;
267
bool
const
correct_geom_sol_acceptor_base_
;
268
bool
const
verbose_
;
269
virtual
270
core::Size
version
()
const
;
271
};
272
273
}
// hbonds
274
}
// scoring
275
}
// core
276
277
#endif
278
Generated on Sat Jun 1 2013 11:37:05 for Rosetta 3.5 by
1.8.4