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
EnergyMethodOptions.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/ScoreFunction.hh
11
/// @brief Score function class
12
/// @author Phil Bradley
13
14
/// NOTE-- this file includes both string and map, use .fwd.hh if
15
/// you can!
16
17
18
#ifndef INCLUDED_core_scoring_methods_EnergyMethodOptions_hh
19
#define INCLUDED_core_scoring_methods_EnergyMethodOptions_hh
20
21
// Unit headers
22
#include <
core/scoring/methods/EnergyMethodOptions.fwd.hh
>
23
24
#include <
core/types.hh
>
25
#include <
core/scoring/ScoreType.hh
>
26
// AUTO-REMOVED #include <core/scoring/ScoringManager.fwd.hh> // FA_STANDARD_DEFAULT
27
#include <
core/scoring/SecondaryStructureWeights.hh
>
/// REPLACE THIS WITH .fwd.hh
28
#include <
core/scoring/hbonds/HBondOptions.fwd.hh
>
29
30
// AUTO-REMOVED #include <core/chemical/ChemicalManager.fwd.hh> // CENTROID
31
32
#include <
core/scoring/mm/MMBondAngleResidueTypeParamSet.fwd.hh
>
33
34
/// Utility headers
35
// AUTO-REMOVED #include <utility/exit.hh>
36
#include <utility/pointer/ReferenceCount.hh>
37
#include <utility/sql_database/DatabaseSessionManager.hh>
38
39
// C++ Headers
40
// AUTO-REMOVED #include <string>
41
#include <map>
42
43
#include <utility/vector1.hh>
44
45
46
namespace
core {
47
namespace
scoring {
48
namespace
methods {
49
50
/// add more options here
51
/// NOTE: If you add an option, make sure you also update the constructor,
52
/// the assignment operator, the == comparison operator, and the show method in the .cc file!
53
/// right now this class should be pretty light-weight since a copy is held inside ScoreFunctionInfo
54
///
55
56
57
class
EnergyMethodOptions
:
public
utility::pointer::ReferenceCount
{
58
public
:
59
///
60
EnergyMethodOptions
();
61
62
/// @brief Initialize a new EnergyMethodOptions with defaults from the command line.
63
void
64
initialize_from_options
();
65
66
/// copy constructor
67
EnergyMethodOptions
(
EnergyMethodOptions
const
& src );
68
69
virtual
70
~EnergyMethodOptions
();
71
72
/// copy operator
73
EnergyMethodOptions
const
&
74
operator=
(
EnergyMethodOptions
const
& src );
75
76
///
77
std::string
const
&
78
etable_type
()
const
;
79
80
///
81
void
82
etable_type
(
std::string
const
& type );
83
84
bool
analytic_etable_evaluation
()
const
{
return
analytic_etable_evaluation_
; }
85
void
analytic_etable_evaluation
(
bool
setting ) {
analytic_etable_evaluation_
= setting; }
86
87
///
88
std::string
const
&
89
unfolded_energies_type
()
const
;
90
91
///
92
void
93
unfolded_energies_type
(
std::string
const
& type );
94
95
///
96
bool
97
exclude_protein_protein_hack_elec
()
const
;
98
99
///
100
void
101
exclude_protein_protein_hack_elec
(
bool
const
setting );
102
103
///
104
bool
105
exclude_monomer_hack_elec
()
const
;
106
107
///
108
void
109
exclude_monomer_hack_elec
(
bool
const
setting );
110
111
/// @brief The maximum (all atom) distance at which hack_elec is non-zero
112
core::Real
113
hackelec_max_dis
()
const
;
114
115
void
116
hackelec_max_dis
(
core::Real
setting );
117
118
/// @brief The minimium (all atom) distance for which hack_elec changes with distances
119
core::Real
120
hackelec_min_dis
()
const
;
121
122
void
123
hackelec_min_dis
(
core::Real
setting );
124
125
/// @brief The dielectric used for the hack_elec term
126
core::Real
127
hackelec_die
()
const
;
128
129
void
130
hackelec_die
(
core::Real
setting );
131
132
/// @brief Should hack_elec use a constant (non-distance dependant) dielectric?
133
bool
134
hackelec_no_dis_dep_die
()
const
;
135
136
void
137
hackelec_no_dis_dep_die
(
bool
setting );
138
139
bool
140
smooth_hack_elec
()
const
;
141
142
void
143
smooth_hack_elec
(
bool
setting );
144
145
///
146
bool
147
exclude_DNA_DNA
()
const
;
148
149
///
150
void
151
exclude_DNA_DNA
(
bool
const
setting );
152
153
/// @brief Read access to the hbond options object
154
hbonds::HBondOptions
const
&
155
hbond_options
()
const
;
156
157
/// @brief non-const access to the hbond options object
158
hbonds::HBondOptions
&
159
hbond_options
();
160
161
/// @breif Set the hbond options object -- makes a deep copy
162
void
163
hbond_options
(
hbonds::HBondOptions
const
& opts );
164
165
std::string
const
&
pb_bound_tag
()
const
;
166
std::string
&
pb_bound_tag
();
167
void
pb_bound_tag
(
std::string
const
& tag );
168
169
std::string
const
&
pb_unbound_tag
()
const
;
170
std::string
&
pb_unbound_tag
();
171
void
pb_unbound_tag
(
std::string
const
& tag );
172
173
/// @brief This is used in the construction of the VDW_Energy's AtomVDW object
174
std::string
const
&
175
atom_vdw_atom_type_set_name
()
const
;
176
177
///
178
void
179
atom_vdw_atom_type_set_name
(
std::string
const
& setting );
180
181
///
182
core::Size
183
cst_max_seq_sep
()
const
;
184
185
///
186
void
187
cst_max_seq_sep
(
Size
const
setting );
188
189
/// deprecated
190
utility::vector1<std::string>
const
&
191
bond_angle_central_atoms_to_score
()
const
;
192
193
/// depricated
194
void
195
bond_angle_central_atoms_to_score
(
196
utility::vector1<std::string>
const
& atom_names);
197
198
scoring::mm::MMBondAngleResidueTypeParamSetOP
199
bond_angle_residue_type_param_set
();
200
201
scoring::mm::MMBondAngleResidueTypeParamSetCOP
202
bond_angle_residue_type_param_set
()
const
;
203
204
void
205
bond_angle_residue_type_param_set
(
206
scoring::mm::MMBondAngleResidueTypeParamSetOP
param_set);
207
208
void
set_strand_strand_weights
(
209
int
ss_lowstrand,
210
int
ss_cutoff);
211
212
///
213
SecondaryStructureWeights
const
&
214
secondary_structure_weights
()
const
;
215
216
///
217
SecondaryStructureWeights
&
218
secondary_structure_weights
();
219
220
///
221
bool
222
has_method_weights
(
ScoreType
const
& type )
const
;
223
224
///
225
utility::vector1< Real >
const
&
226
method_weights
(
ScoreType
const
& type )
const
;
227
228
///
229
void
230
set_method_weights
(
231
ScoreType
const
& type,
232
utility::vector1< Real >
const
& wts);
233
234
///@brief get the harmonic bond angle and bond-length spring constants
235
void
236
get_cartesian_bonded_parameters
(
Real
&len,
Real
&ang,
Real
&tors,
Real
&proton ,
Real
&imp )
const
{
237
len=
cartbonded_len_
;
238
ang=
cartbonded_ang_
;
239
tors=
cartbonded_tors_
;
240
proton=
cartbonded_proton_
;
241
imp=
cartbonded_improper_
;
242
}
243
244
///@brief set the harmonic bond angle and bond-length spring constants
245
void
246
set_cartesian_bonded_parameters
(
Real
len,
Real
ang,
Real
tors,
Real
proton,
Real
imp ) {
247
cartbonded_len_
=len;
248
cartbonded_ang_
=ang;
249
cartbonded_tors_
=tors;
250
cartbonded_proton_
=proton;
251
cartbonded_improper_
=imp;
252
}
253
254
///@brief get the harmonic bond angle and bond-length spring constants
255
bool
get_cartesian_bonded_linear
()
const
{
256
return
cartbonded_linear_
;
257
}
258
259
///@brief set the harmonic bond angle and bond-length spring constants
260
void
set_cartesian_bonded_linear
(
bool
lin_in ) {
261
cartbonded_linear_
= lin_in;
262
}
263
264
/// used inside ScoreFunctionInfo::operator==
265
friend
266
bool
267
operator==
(
EnergyMethodOptions
const
& a,
EnergyMethodOptions
const
&
b
);
268
269
/// used inside ScoreFunctionInfo::operator==
270
friend
271
bool
272
operator!=
(
EnergyMethodOptions
const
& a,
EnergyMethodOptions
const
&
b
);
273
274
///
275
void
276
show
( std::ostream & out )
const
;
277
278
static
279
void
280
write_score_function_method_options_table_schema
(
281
utility::sql_database::sessionOP db_session
282
);
283
284
void
285
insert_score_function_method_options_rows
(
286
Size
batch_id,
287
std::string
const
& score_function_name,
288
utility::sql_database::sessionOP db_session)
const
;
289
290
private
:
291
/// expand this to a class and include ss weights inside
292
typedef
std::map< ScoreType, utility::vector1< Real > >
MethodWeights
;
293
294
private
:
295
296
/////////////////////////////////////////////////
297
// IMPORTANT NOTE! If you add an option, make sure you also update the constructor,
298
// the assignment operator, the == comparison operator, and the show method in the .cc file!
299
/////////////////////////////////////////////////
300
std::string
etable_type_
;
301
bool
analytic_etable_evaluation_
;
302
std::string
atom_vdw_atom_type_set_name_
;
303
std::string
unfolded_energies_type_
;
304
MethodWeights
method_weights_
;
305
SecondaryStructureWeights
ss_weights_
;
306
bool
exclude_protein_protein_hack_elec_
;
307
bool
exclude_monomer_hack_elec_
;
308
core::Real
hackelec_max_dis_
;
309
core::Real
hackelec_min_dis_
;
310
core::Real
hackelec_die_
;
311
bool
hackelec_no_dis_dep_die_
;
312
bool
smooth_hack_elec_
;
313
bool
exclude_DNA_DNA_
;
314
hbonds::HBondOptionsOP
hbond_options_
;
315
core::Size
cst_max_seq_sep_
;
316
core::Real
cartbonded_len_
,
cartbonded_ang_
,
cartbonded_tors_
,
cartbonded_proton_
,
cartbonded_improper_
;
317
bool
cartbonded_linear_
;
318
std::string
pb_bound_tag_
;
319
std::string
pb_unbound_tag_
;
320
321
/// deprecated
322
utility::vector1<std::string>
bond_angle_central_atoms_to_score_
;
323
core::scoring::mm::MMBondAngleResidueTypeParamSetOP
bond_angle_residue_type_param_set_
;
324
};
325
326
327
std::ostream &
328
operator<<
( std::ostream & out,
EnergyMethodOptions
const
& options );
329
330
}
331
}
332
}
333
334
#endif // INCLUDED_core_scoring_ScoreFunction_HH
Generated on Sat Jun 1 2013 11:37:55 for Rosetta 3.5 by
1.8.4