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
Membrane_FAPotential.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
// This file is made available under the Rosetta Commons license.
5
// See http://www.rosettacommons.org/license
6
// (C) 199x-2007 University of Washington
7
// (C) 199x-2007 University of California Santa Cruz
8
// (C) 199x-2007 University of California San Francisco
9
// (C) 199x-2007 Johns Hopkins University
10
// (C) 199x-2007 University of North Carolina, Chapel Hill
11
// (C) 199x-2007 Vanderbilt University
12
13
/// @file core/scoring/methods/Membrane_FAPotential.hh
14
/// @brief Membrane FA Potential
15
/// @author Patrick Barth
16
17
18
#ifndef INCLUDED_core_scoring_Membrane_FAPotential_hh
19
#define INCLUDED_core_scoring_Membrane_FAPotential_hh
20
21
#include <
core/types.hh
>
22
23
// Unit headers
24
#include <
core/scoring/Membrane_FAPotential.fwd.hh
>
//pba
25
26
// Package headers
27
#include <
core/scoring/MembranePotential.fwd.hh
>
28
#include <
core/scoring/ScoringManager.hh
>
29
#include <
core/scoring/EnvPairPotential.hh
>
30
#include <
core/conformation/Residue.fwd.hh
>
31
32
// Project headers
33
#include <
core/pose/Pose.fwd.hh
>
34
35
#include <basic/datacache/CacheableData.hh>
36
37
// Utility headers
38
#include <utility/vector1.hh>
39
#include <utility/pointer/ReferenceCount.hh>
40
41
// Numeric headers
42
#include <numeric/xyzVector.hh>
43
44
// ObjexxFCL headers
45
#include <ObjexxFCL/FArray1D.hh>
46
#include <ObjexxFCL/FArray2D.hh>
47
#include <ObjexxFCL/FArray3D.hh>
48
49
namespace
core {
50
namespace
scoring {
51
52
53
class
Membrane_FAEmbed
:
public
basic::datacache::CacheableData {
54
55
56
public
:
57
Membrane_FAEmbed
():
calculated_
(false) {};
58
Membrane_FAEmbed
(
Membrane_FAEmbed
const
& src );
59
60
61
basic::datacache::CacheableDataOP
62
clone
()
const
63
{
64
return
new
Membrane_FAEmbed
( *
this
);
65
}
66
67
Real
&
68
fa_proj
(
Size
const
seqpos,
Size
const
atom)
69
{
70
return
fa_proj_
[seqpos][atom];
71
}
72
73
Real
74
fa_proj
(
Size
const
seqpos,
Size
const
atom)
const
75
{
76
return
fa_proj_
[seqpos][atom];
77
}
78
79
Real
&
80
fa_depth
(
Size
const
seqpos,
Size
const
atom)
81
{
82
return
fa_depth_
[seqpos][atom];
83
}
84
85
Real
86
fa_depth
(
Size
const
seqpos,
Size
const
atom)
const
87
{
88
return
fa_depth_
[seqpos][atom];
89
}
90
91
Real
&
92
fa_proj_deriv
(
Size
const
seqpos,
Size
const
atom)
93
{
94
return
fa_proj_deriv_
[seqpos][atom];
95
}
96
97
Real
98
fa_proj_deriv
(
Size
const
seqpos,
Size
const
atom)
const
99
{
100
return
fa_proj_deriv_
[seqpos][atom];
101
}
102
103
Vector
&
104
fa_proj_coord
(
Size
const
seqpos,
Size
const
atom)
105
{
106
return
fa_proj_coord_
[seqpos][atom];
107
}
108
109
Vector
110
fa_proj_coord
(
Size
const
seqpos,
Size
const
atom)
const
111
{
112
return
fa_proj_coord_
[seqpos][atom];
113
}
114
115
Real
116
fa_center
() const
//pba
117
{
118
return
fa_center_
;
119
}
120
121
Real
&
122
fa_center
()
//pba
123
{
124
return
fa_center_
;
125
}
126
127
Real
128
fa_penalty
() const
//pba
129
{
130
return
fa_penalty_
;
131
}
132
133
Real
&
134
fa_penalty
()
//pba
135
{
136
return
fa_penalty_
;
137
}
138
139
Real
140
thickness
() const
//pba
141
{
142
return
thickness_
;
143
}
144
145
Real
&
146
thickness
()
//pba
147
{
148
return
thickness_
;
149
}
150
151
Real
152
steepness
() const
//pba
153
{
154
return
steepness_
;
155
}
156
157
Real
&
158
steepness
()
//pba
159
{
160
return
steepness_
;
161
}
162
163
bool
164
calculated
()
const
165
{
166
return
calculated_
;
167
}
168
169
bool
&
170
calculated
()
171
{
172
return
calculated_
;
173
}
174
175
bool
176
Fa_Membed_update
()
const
177
{
178
return
Fa_Membed_update_
;
179
}
180
181
bool
&
182
Fa_Membed_update
()
183
{
184
return
Fa_Membed_update_
;
185
}
186
187
void
188
initialize
(
pose::Pose
const
& pose );
189
190
private
:
191
192
void
193
allocate_appropriate_memory
(
pose::Pose
const
& pose )
const
;
194
195
/////////////////////////////////////////////////////////////////////////////
196
// data
197
/////////////////////////////////////////////////////////////////////////////
198
199
private
:
200
mutable
utility::vector1 < utility::vector1 < Real >
>
fa_proj_
;
//pba
201
mutable
utility::vector1 < utility::vector1 < Real >
>
fa_depth_
;
//pba
202
mutable
utility::vector1 < utility::vector1 < Vector >
>
fa_proj_coord_
;
//pba
203
mutable
utility::vector1 < utility::vector1 < Real >
>
fa_proj_deriv_
;
//pba
204
bool
calculated_
;
205
mutable
Real
fa_center_
;
//pba
206
mutable
Real
fa_penalty_
;
207
Real
thickness_
;
//pba
208
Real
steepness_
;
//pba
209
bool
Fa_Membed_update_
;
210
};
211
212
//class Membrane_FAPotential : public MembranePotential {
213
class
Membrane_FAPotential
:
public
EnvPairPotential
{
214
215
public
:
216
Membrane_FAPotential
():
217
membrane_potential_
(
ScoringManager
::get_instance()->get_MembranePotential() ) {};
218
219
void
220
compute_fa_projection
(
pose::Pose
& pose)
const
;
221
// compute_fa_projection(pose::Pose const & pose) const;
222
223
void
224
finalize
(
pose::Pose
& pose )
const
;
225
226
protected
:
227
/*
228
Membrane_FAEmbed const & Membrane_FAEmbed_from_pose( pose::Pose const & ) const;
229
Membrane_FAEmbed & nonconst_Membrane_FAEmbed_from_pose( pose::Pose & ) const;
230
MembraneEmbed const & MembraneEmbed_from_pose( pose::Pose const & ) const;
231
MembraneEmbed & nonconst_MembraneEmbed_from_pose( pose::Pose & ) const;
232
//MembraneTopology const & MembraneTopology_from_pose( pose::Pose const & ) const;
233
//MembraneTopology & nonconst_MembraneTopology_from_pose( pose::Pose & ) const;
234
MembranePotential & nonconst_MembranePotential_from_pose( pose::Pose & ) const;
235
*/
236
private
:
// function
237
238
void
239
fa_projection
(
240
pose::Pose
& pose,
241
Vector
const
& normal,
242
Vector
const
& center,
243
Real
const
& thickness,
244
Real
const
& steepness,
245
Real
const
& penalty
246
)
const
;
247
248
private
:
// data
249
250
// ObjexxFCL::FArray3D< Real > mem_env_log6_;
251
// ObjexxFCL::FArray1D< Real > cenpack_log_;
252
bool
calculated_
;
//pba needed ??
253
MembranePotential
const
&
membrane_potential_
;
254
255
};
256
257
Membrane_FAEmbed
const
&
Membrane_FAEmbed_from_pose
(
pose::Pose
const
& );
258
Membrane_FAEmbed
&
nonconst_Membrane_FAEmbed_from_pose
(
pose::Pose
& );
259
260
261
}
// ns scoring
262
}
// ns core
263
264
#endif
Generated on Sat Jun 1 2013 11:37:22 for Rosetta 3.5 by
1.8.4