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
dna
DNA_BasePotential.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
11
/// @brief
12
/// @author
13
14
#ifndef INCLUDED_core_scoring_dna_DNA_BasePotential_hh
15
#define INCLUDED_core_scoring_dna_DNA_BasePotential_hh
16
17
#include <
core/types.hh
>
18
#include <
core/conformation/Residue.fwd.hh
>
19
// AUTO-REMOVED #include <core/kinematics/Stub.fwd.hh>
20
// AUTO-REMOVED #include <core/pose/Pose.fwd.hh>
21
22
#include <utility/vector1.fwd.hh>
23
#include <utility/pointer/ReferenceCount.hh>
24
// AUTO-REMOVED #include <numeric/xyzVector.hh>
25
#include <numeric/xyzMatrix.fwd.hh>
26
27
#include <ObjexxFCL/FArray3D.hh>
28
#include <ObjexxFCL/FArray4D.hh>
29
30
namespace
core {
31
namespace
scoring {
32
namespace
dna {
33
34
35
class
DNA_BasePotential
:
public
utility::pointer::ReferenceCount
{
36
public
:
37
///@brief Automatically generated virtual destructor for class deriving directly from ReferenceCount
38
virtual
~DNA_BasePotential
();
39
typedef
numeric::xyzMatrix< Real >
Matrix
;
40
typedef
utility::vector1< Real >
Params
;
41
typedef
conformation::Residue
Residue
;
42
typedef
ObjexxFCL::FArray3D< Real >
FArray3D_Real
;
43
typedef
ObjexxFCL::FArray4D< Real >
FArray4D_Real
;
44
45
public
:
46
/// ctor
47
DNA_BasePotential
();
48
49
///
50
Real
51
base_step_score
(
52
Residue
const
& rsd1,
53
Residue
const
& rsd2
54
)
const
;
55
56
///
57
Real
58
base_pair_score
(
59
Residue
const
& rsd1,
60
Residue
const
& rsd2
61
)
const
;
62
63
///
64
void
65
eval_base_step_derivative
(
66
Residue
const
& rsd1,
67
Residue
const
& rsd2,
68
Vector
& F1,
69
Vector
& F2,
70
Real
const
external_sign_factor
// should probably be +1 or -1
71
)
const
;
72
73
///
74
void
75
eval_base_pair_derivative
(
76
Residue
const
& rsd1,
77
Residue
const
& rsd2,
78
Vector
& F1,
79
Vector
& F2,
80
Real
const
sign_factor
// need to think about this, see logic in pose_dna
81
)
const
;
82
83
void
84
eval_base_pair_Z_scores
(
85
Residue
const
& rsd1,
86
Residue
const
& rsd2,
87
utility::vector1< Real >
& z_scores
88
)
const
;
89
90
void
91
eval_base_step_Z_scores
(
92
Residue
const
& rsd1,
93
Residue
const
& rsd2,
94
utility::vector1< Real >
& z_scores
95
)
const
;
96
97
98
private
:
99
100
enum
InteractionType
{
101
BP_type
= 1,
102
BS_type
103
};
104
105
106
inline
107
Real
108
mean
(
InteractionType
const
&
t
,
std::string
const
& bases,
int
const
p )
const
109
{
110
int
i1(0),i2(0);
111
get_array_indices
( t, bases, i1, i2 );
112
return
mean_
( p, i1, i2 );
113
}
114
115
inline
116
Real
117
stddev
(
InteractionType
const
&
t
,
std::string
const
& bases,
int
const
p )
const
118
{
119
int
i1(0),i2(0);
120
get_array_indices
( t, bases, i1, i2 );
121
return
stddev_
( p, i1, i2 );
122
}
123
124
inline
125
Real
126
stiffness
(
InteractionType
const
&
t
,
std::string
const
& bases,
int
const
p1,
int
const
p2 )
const
127
{
128
int
i1(0),i2(0);
129
get_array_indices
( t, bases, i1, i2 );
130
return
stiffness_
( p1, p2, i1, i2 );
131
}
132
133
/// "A","C","T","G"
134
inline
135
std::string
136
base_string
(
Residue
const
& rsd )
const
;
137
138
private
:
139
140
/// i1 = 1,2
141
/// i2 = 1,16
142
void
143
get_array_indices
(
InteractionType
const
&
t
,
std::string
const
& bases,
int
& i1,
int
& i2 )
const
;
144
145
///
146
void
147
load_score_tables
();
148
149
///
150
void
151
set_mean_and_stddev
(
152
InteractionType
const
& type,
153
std::string
const
& bases,
154
int
const
index,
155
Real
mean
,
156
Real
stddev
157
);
158
159
///
160
void
161
set_stiffness
(
162
InteractionType
const
& type,
163
std::string
const
& bases,
164
int
const
index1,
165
int
const
index2,
166
Real
const
val
167
);
168
169
///
170
Real
171
base_score
(
172
InteractionType
const
& type,
173
std::string
const
& bases,
174
utility::vector1< Real >
const
& params
175
)
const
;
176
177
private
:
178
179
FArray3D_Real
mean_
;
//( 6, 2, 16 );
180
FArray3D_Real
stddev_
;
//( 6, 2, 16 );
181
FArray4D_Real
stiffness_
;
//( 6, 6, 2, 16 );
182
183
};
184
185
186
187
}
// namespace dna
188
}
// scoring
189
}
// core
190
191
#endif
Generated on Sat Jun 1 2013 11:36:11 for Rosetta 3.5 by
1.8.4