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
orbitals
OrbitalsScore.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
#ifndef INCLUDED_core_scoring_orbitals_OrbitalsScore_hh
11
#define INCLUDED_core_scoring_orbitals_OrbitalsScore_hh
12
13
#include <
core/scoring/methods/ContextDependentTwoBodyEnergy.hh
>
14
#include <
core/pose/Pose.fwd.hh
>
15
// AUTO-REMOVED #include <numeric/xyzVector.hh>
16
#include <
core/scoring/orbitals/OrbitalsLookup.hh
>
17
#include <
core/scoring/orbitals/OrbitalsScore.fwd.hh
>
18
// AUTO-REMOVED #include <core/scoring/etable/EtableEnergy.hh>
19
// AUTO-REMOVED #include <core/scoring/methods/EnergyMethodOptions.hh>
20
#include <
core/chemical/orbitals/OrbitalTypeMapper.fwd.hh
>
21
22
23
#include <
core/scoring/ScoreFunction.fwd.hh
>
24
#include <map>
25
// AUTO-REMOVED #include <list>
26
27
#include <
core/scoring/methods/EnergyMethodOptions.fwd.hh
>
28
#include <utility/vector1.hh>
29
30
31
namespace
core{
32
namespace
scoring{
33
namespace
orbitals{
34
35
36
class
OrbitalsScore
:
public
methods::ContextDependentTwoBodyEnergy
{
37
public
:
38
typedef
methods::ContextDependentTwoBodyEnergy
parent
;
39
40
41
//virtual functions from score functions
42
public
:
43
OrbitalsScore
(
methods::EnergyMethodOptions
const
&);
44
45
//clone
46
virtual
methods::EnergyMethodOP
clone
()
const
;
47
48
virtual
49
void
setup_for_scoring
(
pose::Pose
& pose,
ScoreFunction
const
& weights)
const
;
50
51
virtual
52
void
setup_for_derivatives
(
pose::Pose
&pose,
ScoreFunction
const
& )
const
;
53
54
virtual
55
void
56
eval_residue_pair_derivatives
(
57
conformation::Residue
const
& rsd1,
58
conformation::Residue
const
& rsd2,
59
ResSingleMinimizationData
const
&,
60
ResSingleMinimizationData
const
&,
61
ResPairMinimizationData
const
&,
62
pose::Pose
const
&,
// provides context
63
EnergyMap
const
&,
64
utility::vector1< DerivVectorPair >
& r1_atom_derivs,
65
utility::vector1< DerivVectorPair >
& r2_atom_derivs
66
)
const
;
67
68
virtual
69
void
70
setup_for_minimizing
(
71
pose::Pose
& pose,
72
ScoreFunction
const
& ,
73
kinematics::MinimizerMapBase
const
&
74
)
const
;
75
76
77
virtual
78
void
79
finalize_total_energy
(
80
pose::Pose
& pose,
81
ScoreFunction
const
&,
82
EnergyMap
&
83
)
const
;
84
virtual
85
void
86
finalize_after_derivatives
(
pose::Pose
& pose,
ScoreFunction
const
& )
const
;
87
88
89
virtual
90
void
eval_intrares_energy
(
91
core::conformation::Residue
const
&,
92
core::pose::Pose
const
&,
93
core::scoring::ScoreFunction
const
&,
94
core::scoring::EnergyMap
&
95
)
const
;
96
97
virtual
98
bool
defines_intrares_energy
(
const
core::scoring::EnergyMap
&)
const
;
//false
99
100
virtual
101
void
residue_pair_energy
(
102
core::conformation::Residue
const
& res1,
103
core::conformation::Residue
const
& res2,
104
core::pose::Pose
const
&,
105
core::scoring::ScoreFunction
const
&,
106
EnergyMap
& emap
107
)
const
;
108
109
virtual
110
core::Real
atomic_interaction_cutoff
()
const
;
//set to default
111
112
virtual
113
void
indicate_required_context_graphs
(
utility::vector1< bool >
& )
const
;
114
115
virtual
116
bool
117
minimize_in_whole_structure_context
(
pose::Pose
const
& )
const
{
118
return
false
;
119
}
120
121
virtual
122
void
123
prepare_rotamers_for_packing
(
124
pose::Pose
const
& pose,
125
conformation::RotamerSetBase
& set
126
)
const
;
127
128
virtual
129
void
130
update_residue_for_packing
(
131
pose::Pose
&,
132
Size
resid
133
)
const
;
134
135
public
:
136
137
void
get_E_haro_one_way
(
138
core::conformation::Residue
const
& res1,
139
core::conformation::Residue
const
& res2,
140
core::Real
& HARO_sc_H_sc_orb_E
141
)
const
;
142
143
void
get_E_hpol_one_way
(
144
core::conformation::Residue
const
& res1,
145
core::conformation::Residue
const
& res2,
146
core::Real
& HPOL_sc_H_sc_orb_E,
147
core::Real
& HPOL_bb_H_sc_orb_energy
148
)
const
;
149
150
void
get_orb_orb_E
(
151
core::conformation::Residue
const
& res1,
152
core::conformation::Residue
const
& res2,
153
core::Real
& orb_orb_E
154
)
const
;
155
void
get_orb_H_distance_and_energy
(
156
core::conformation::Residue
const
& res1,
157
core::Size
const
& Aindex,
158
numeric::xyzVector<core::Real>
const
& Axyz,
//acceptor xyz
159
numeric::xyzVector<core::Real>
const
& Hxyz,
//hydrogen xyz
160
numeric::xyzVector<core::Real>
const
& Dxyz,
//donor xyz
161
core::Real
& sc_energy,
162
core::Real
& bb_h_energy,
163
OrbitalsLookup::h_type
htype,
164
bool
bb_h_flag
165
)
const
;
166
167
void
assign_haro_derivs_one_way
(
168
core::conformation::Residue
const
& res1,
169
core::conformation::Residue
const
& res2,
170
EnergyMap
const
& weights,
171
utility::vector1< DerivVectorPair >
& r1_atom_derivs,
172
utility::vector1< DerivVectorPair >
& r2_atom_derivs
173
)
const
;
174
175
void
assign_hpol_derivs_one_way
(
176
core::conformation::Residue
const
& res1,
177
core::conformation::Residue
const
& res2,
178
EnergyMap
const
& weights,
179
utility::vector1< DerivVectorPair >
& r1_atom_derivs,
180
utility::vector1< DerivVectorPair >
& r2_atom_derivs
181
182
)
const
;
183
184
bool
orb_orb_rules
(
185
const
core::Size
orb_type_name1,
186
const
core::Size
orb_type_name2
187
)
const
;
188
189
190
void
assign_orb_H_derivs
(
191
core::conformation::Residue
const
& res1,
192
core::conformation::Residue
const
& res2,
193
core::Size
& atom_index,
194
numeric::xyzVector<core::Real>
const
& atom_xyz,
195
core::Size
const
& H_index,
196
numeric::xyzVector<core::Real>
const
& H_xyz,
197
OrbitalsLookup::h_type
htype,
198
EnergyMap
const
& weights,
199
utility::vector1< DerivVectorPair >
& r1_atom_derivs,
200
utility::vector1< DerivVectorPair >
& r2_atom_derivs
201
)
const
;
202
void
203
assign_orb_orb_derivs
(
204
core::conformation::Residue
const
& res1,
205
core::conformation::Residue
const
& res2,
206
EnergyMap
const
& weights,
207
utility::vector1< DerivVectorPair >
& r1_atom_derivs,
208
utility::vector1< DerivVectorPair >
& r2_atom_derivs
209
)
const
;
210
211
//virtual private functions
212
private
:
213
virtual
core::Size
version
()
const
;
214
215
private
:
216
OrbitalsLookup
const
&
lookup_table_
;
217
core::Real
const
max_orbital_dist_squared_
;
//defaault 4A or 16A squared. based on statistics
218
core::Real
nbr_distance_squared_
;
//default 10A or 100A squared
219
std::map<core::chemical::orbitals::orbital_type_enum, core::Real>
min_orb_dist_enum_map_
;
220
core::Real
max_dist_squared_
;
//the maximum distance squared which orbitals are scored. based on atom distance
221
222
223
224
//core::scoring::etable::EtableEnergy lookup_Etable_;
225
//core::scoring::etable::EtableCAP etable_;
226
//mutable utility::vector1< utility::vector1< Vector> > orbital_coords_;
227
228
229
230
231
232
233
//
234
235
236
};
237
238
239
240
241
242
}
//namespace orbitals
243
}
//namespace scoring
244
}
//namespace core
245
246
247
248
#endif
/* ORBITALSSCORE_HH_ */
Generated on Sat Jun 1 2013 11:39:25 for Rosetta 3.5 by
1.8.4