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
methods
GenBornEnergy.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/GenBornEnergy.hh
11
/// @brief Statistically derived rotamer pair potential class declaration
12
/// @author Phil Bradley
13
14
15
#ifndef INCLUDED_core_scoring_methods_GenBornEnergy_hh
16
#define INCLUDED_core_scoring_methods_GenBornEnergy_hh
17
18
// Unit Headers
19
#include <
core/scoring/methods/GenBornEnergy.fwd.hh
>
20
21
// Package headers
22
#include <
core/scoring/methods/EnergyMethodOptions.fwd.hh
>
23
#include <
core/scoring/methods/ContextDependentLRTwoBodyEnergy.hh
>
24
#include <
core/scoring/GenBornPotential.fwd.hh
>
25
#include <
core/scoring/EnergyMap.fwd.hh
>
26
#include <
core/kinematics/DomainMap.fwd.hh
>
27
28
// Project headers
29
#include <
core/pose/Pose.fwd.hh
>
30
#include <
core/id/AtomID.fwd.hh
>
31
32
#include <utility/vector1.hh>
33
34
35
// Utility headers
36
//////////////////////////////////////////////////////////////////////////////////
37
//////////////////////////////////////////////////////////////////////////////////
38
//////////////////////////////////////////////////////////////////////////////////
39
/**
40
41
This is a reimplementation of Jim Havranek's original rosetta++ Gen Born code.
42
source files: rosetta++/gb_elec*
43
44
**/
45
//////////////////////////////////////////////////////////////////////////////////
46
//////////////////////////////////////////////////////////////////////////////////
47
//////////////////////////////////////////////////////////////////////////////////
48
49
50
namespace
core {
51
namespace
scoring {
52
namespace
methods {
53
54
///
55
class
GenBornEnergy
:
public
ContextDependentLRTwoBodyEnergy
{
56
public
:
57
typedef
ContextDependentLRTwoBodyEnergy
parent
;
58
public
:
59
60
/// for use by ScoringManager
61
GenBornEnergy
(
EnergyMethodOptions
const
& options );
62
63
///
64
GenBornEnergy
(
GenBornEnergy
const
& src );
65
66
67
LongRangeEnergyType
long_range_type
()
const
68
{
69
return
gen_born_lr
;
70
}
71
72
virtual
73
bool
74
defines_residue_pair_energy
(
75
pose::Pose
const
& pose,
76
Size
res1,
77
Size
res2
78
)
const
;
79
80
/// clone
81
virtual
82
EnergyMethodOP
83
clone
()
const
;
84
85
///
86
virtual
87
void
88
setup_for_packing
(
89
pose::Pose
& pose,
90
utility::vector1< bool >
const
& residues_repacking,
91
utility::vector1< bool >
const
&
92
)
const
;
93
94
///
95
virtual
96
void
97
setup_for_scoring
(
pose::Pose
& pose,
ScoreFunction
const
& )
const
;
98
99
///
100
virtual
101
void
102
setup_for_derivatives
(
pose::Pose
& pose,
ScoreFunction
const
& )
const
;
103
104
virtual
105
void
106
prepare_rotamers_for_packing
(
107
pose::Pose
const
& pose,
108
conformation::RotamerSetBase
& set
109
)
const
;
110
111
virtual
112
void
113
update_residue_for_packing
(
114
pose::Pose
&,
115
Size
resid )
const
;
116
117
/////////////////////////////////////////////////////////////////////////////
118
// scoring
119
/////////////////////////////////////////////////////////////////////////////
120
121
virtual
122
void
123
residue_pair_energy
(
124
conformation::Residue
const
& rsd1,
125
conformation::Residue
const
& rsd2,
126
pose::Pose
const
& pose,
127
ScoreFunction
const
&,
128
EnergyMap
& emap
129
)
const
;
130
131
virtual
132
void
133
evaluate_rotamer_intrares_energies
(
134
conformation::RotamerSetBase
const
& set,
135
pose::Pose
const
& pose,
136
ScoreFunction
const
& sfxn,
137
utility::vector1< core::PackerEnergy >
& energies
138
)
const
;
139
140
virtual
141
void
142
evaluate_rotamer_intrares_energy_maps
(
143
conformation::RotamerSetBase
const
& set,
144
pose::Pose
const
& pose,
145
ScoreFunction
const
& sfxn,
146
utility::vector1< EnergyMap >
& emaps
147
)
const
;
148
149
/// @brief Batch computation of rotamer pair energies. Need not be overriden in
150
/// derived class -- by default, iterates over all pairs of rotamers,
151
/// and calls derived class's residue_pair_energy method. Since short range rotamer pairs
152
/// may not need calculation, the default method looks at blocks of residue type pairs
153
/// and only calls the residue_pair_energy method if the rotamer pairs are within range
154
virtual
155
void
156
evaluate_rotamer_pair_energies
(
157
conformation::RotamerSetBase
const
& set1,
158
conformation::RotamerSetBase
const
& set2,
159
pose::Pose
const
& pose,
160
ScoreFunction
const
& sfxn,
161
EnergyMap
const
& weights,
162
ObjexxFCL::FArray2D< core::PackerEnergy > & energy_table
163
)
const
;
164
165
166
/// @brief Batch computation of rotamer/background energies. Need not be overriden
167
/// in derived class -- by default, iterates over all rotamers in the set, and calls
168
/// derived class's residue_pair_energy method for each one against the background rotamer
169
/// Since short range rotamer pairs may not need calculation, the default method
170
/// looks at blocks of residue type pairs and only calls the residue_pair_energy method
171
/// if the rotamer pairs are within range
172
virtual
173
void
174
evaluate_rotamer_background_energies
(
175
conformation::RotamerSetBase
const
& set,
176
conformation::Residue
const
& residue,
177
pose::Pose
const
& pose,
178
ScoreFunction
const
& sfxn,
179
EnergyMap
const
& weights,
180
utility::vector1< core::PackerEnergy >
& energy_vector
181
)
const
;
182
183
/// @brief Batch computation of rotamer/background energies. Need not be overriden
184
/// in derived class -- by default, iterates over all rotamers in the set, and calls
185
/// derived class's residue_pair_energy method for each one against the background rotamer
186
/// Since short range rotamer pairs may not need calculation, the default method
187
/// looks at blocks of residue type pairs and only calls the residue_pair_energy method
188
/// if the rotamer pairs are within range
189
virtual
190
void
191
evaluate_rotamer_background_energy_maps
(
192
conformation::RotamerSetBase
const
& set,
193
conformation::Residue
const
& residue,
194
pose::Pose
const
& pose,
195
ScoreFunction
const
& sfxn,
196
EnergyMap
const
& weights,
197
utility::vector1< EnergyMap >
& emaps
198
)
const
;
199
200
201
virtual
202
void
203
eval_atom_derivative
(
204
id::AtomID
const
& atom_id,
205
pose::Pose
const
& pose,
206
kinematics::DomainMap
const
& domain_map,
207
ScoreFunction
const
&,
208
EnergyMap
const
& weights,
209
Vector
& F1,
210
Vector
& F2
211
)
const
;
212
213
// virtual
214
// Distance
215
// atomic_interaction_cutoff() const;
216
217
virtual
218
void
indicate_required_context_graphs
(
utility::vector1< bool >
& context_graphs_required )
const
;
219
220
virtual
221
bool
222
defines_intrares_energy
(
EnergyMap
const
&
/*weights*/
)
const
;
223
224
virtual
225
void
226
eval_intrares_energy
(
227
conformation::Residue
const
& rsd,
228
pose::Pose
const
& pose,
229
ScoreFunction
const
& sfxn,
230
EnergyMap
& emap
231
)
const
;
232
233
/// this is our own special function
234
Real
235
packing_interaction_cutoff
()
const
236
{
237
return
5.5;
// MAGIC NUMBER!!
238
}
239
240
/////////////////////////////////////////////////////////////////////////////
241
// data
242
/////////////////////////////////////////////////////////////////////////////
243
244
private
:
245
246
// const-ref to scoring database
247
GenBornPotential
const
&
potential_
;
248
249
///
250
bool
const
exclude_DNA_DNA_
;
251
virtual
252
core::Size
version
()
const
;
253
254
};
255
256
257
}
258
}
259
}
260
261
#endif // INCLUDED_core_scoring_ScoreFunction_HH
Generated on Sat Jun 1 2013 11:38:03 for Rosetta 3.5 by
1.8.4