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