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
hackelec
RNAHackElecEnergy.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/RNAHackElecEnergy.hh
11
/// @brief Electrostatics for RNA
12
/// @author Rhiju Das
13
14
15
#ifndef INCLUDED_core_scoring_hackelec_RNAHackElecEnergy_hh
16
#define INCLUDED_core_scoring_hackelec_RNAHackElecEnergy_hh
17
18
/// Unit Headers
19
#include <
core/scoring/hackelec/RNAHackElecEnergy.fwd.hh
>
20
21
/// Package Headers
22
#include <
core/scoring/hackelec/HackElecEnergy.hh
>
23
24
#include <
core/scoring/ScoreFunction.fwd.hh
>
25
26
#include <
core/scoring/methods/EnergyMethod.fwd.hh
>
27
#include <
core/scoring/methods/EnergyMethodOptions.fwd.hh
>
28
29
#include <ObjexxFCL/FArray2D.fwd.hh>
30
31
#include <utility/vector1.hh>
32
33
34
35
namespace
core {
36
namespace
scoring {
37
namespace
hackelec {
38
39
///
40
class
RNAHackElecEnergy
:
public
HackElecEnergy
{
41
public
:
42
typedef
HackElecEnergy
parent
;
43
typedef
ContextIndependentTwoBodyEnergy
grandparent
;
44
45
public
:
46
47
///
48
RNAHackElecEnergy
(
methods::EnergyMethodOptions
const
& options );
49
50
///
51
RNAHackElecEnergy
(
RNAHackElecEnergy
const
& src );
52
53
54
/// clone
55
virtual
56
methods::EnergyMethodOP
57
clone
()
const
;
58
59
virtual
60
void
61
setup_for_derivatives
(
pose::Pose
& pose,
ScoreFunction
const
& )
const
;
62
63
virtual
64
void
65
setup_for_scoring
(
pose::Pose
& pose,
ScoreFunction
const
& )
const
;
66
67
///
68
virtual
69
void
70
setup_for_packing
(
pose::Pose
& pose,
utility::vector1< bool >
const
&,
utility::vector1< bool >
const
& )
const
;
71
72
73
/// @brief overrides parent class implementation which would have
74
/// created several tries
75
virtual
76
void
77
prepare_rotamers_for_packing
(
78
pose::Pose
const
& pose,
79
conformation::RotamerSetBase
& set )
const
;
80
81
/// @brief overrides parent class implementation which would have
82
/// updated a trie
83
virtual
84
void
85
update_residue_for_packing
(
pose::Pose
& pose,
Size
resid )
const
;
86
87
/////////////////////////////////////////////////////////////////////////////
88
// scoring
89
/////////////////////////////////////////////////////////////////////////////
90
91
virtual
92
void
93
residue_pair_energy
(
94
conformation::Residue
const
& rsd1,
95
conformation::Residue
const
& rsd2,
96
pose::Pose
const
& pose,
97
ScoreFunction
const
&,
98
EnergyMap
& emap
99
)
const
;
100
101
/// @brief Returns "true" because this energy method has not been updated to
102
/// use the new derivative evaluation machinery. Note that this class requires
103
/// the definition of this method because it's parent class, HackElecEnergy,
104
/// HAS been updated to use the new derivative evaluation machinery, and,
105
/// if this class did not return "true", it would be asked to evaluate derivatives
106
/// in ways it cannot yet evaluate them in.
107
bool
108
minimize_in_whole_structure_context
(
pose::Pose
const
& )
const
{
return
true
; }
109
110
111
/// @brief Jan 10, 2012. Parin Sripakdeevon (sripakpa@stanford.edu)
112
/// Returns "false" to overwrite the behavior in the parent class (HackElecEnergy)!
113
virtual
114
bool
115
use_extended_residue_pair_energy_interface
()
const
{
return
false
; }
116
117
virtual
118
void
119
eval_intrares_energy
(
120
conformation::Residue
const
&,
121
pose::Pose
const
&,
122
ScoreFunction
const
&,
123
EnergyMap
&
124
)
const
{}
125
126
//@brief overrides default rotamer/rotamer energy calculation
127
// and overrides the parent class trie implementatoin
128
virtual
129
void
130
evaluate_rotamer_pair_energies
(
131
conformation::RotamerSetBase
const
& set1,
132
conformation::RotamerSetBase
const
& set2,
133
pose::Pose
const
& pose,
134
ScoreFunction
const
& sfxn,
135
EnergyMap
const
& weights,
136
ObjexxFCL::FArray2D< core::PackerEnergy > & energy_table
137
)
const
;
138
139
140
//@brief overrides default rotamer/background energy calculation
141
// and overrides the parent class trie implementatoin
142
virtual
143
void
144
evaluate_rotamer_background_energies
(
145
conformation::RotamerSetBase
const
& set,
146
conformation::Residue
const
& residue,
147
pose::Pose
const
& pose,
148
ScoreFunction
const
& sfxn,
149
EnergyMap
const
& weights,
150
utility::vector1< core::PackerEnergy >
& energy_vector
151
)
const
;
152
153
154
virtual
155
void
156
eval_atom_derivative
(
157
id::AtomID
const
& atom_id,
158
pose::Pose
const
& pose,
159
kinematics::DomainMap
const
& domain_map,
160
ScoreFunction
const
&,
161
EnergyMap
const
& weights,
162
Vector
& F1,
163
Vector
& F2
164
)
const
;
165
166
virtual
167
bool
168
defines_intrares_energy
(
EnergyMap
const
&
/*weights*/
)
const
{
return
false
; }
169
170
virtual
171
void
indicate_required_context_graphs
(
utility::vector1< bool >
& context_graphs_required )
const
;
172
173
public
:
174
175
176
Real
177
residue_pair_energy_RNA
(
178
conformation::Residue
const
& rsd1,
179
conformation::Residue
const
& rsd2,
180
EnergyMap
& emap
181
)
const
;
182
183
void
184
eval_atom_derivative_RNA
(
185
conformation::Residue
const
& rsd1,
186
Size
const
& i,
187
conformation::Residue
const
& rsd2,
188
EnergyMap
const
& weights,
189
Vector
& F1,
190
Vector
& F2
191
)
const
;
192
virtual
193
core::Size
version
()
const
;
194
195
};
196
197
198
}
199
}
200
}
201
202
#endif
Generated on Sat Jun 1 2013 11:37:17 for Rosetta 3.5 by
1.8.4