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