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
DNATorsionPotential.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/dna/DNATorsionPotential.hh
11
/// @brief DNATorsionPotential potential class delcaration
12
/// @author Andrew Leaver-Fay (leaverfa@email.unc.edu)
13
14
#ifndef INCLUDED_core_scoring_dna_DNATorsionPotential_HH
15
#define INCLUDED_core_scoring_dna_DNATorsionPotential_HH
16
17
// Unit Headers
18
#include <
core/scoring/dna/DNATorsionPotential.fwd.hh
>
19
20
// Project Headers
21
#include <
core/types.hh
>
22
#include <
core/pose/Pose.fwd.hh
>
23
#include <
core/conformation/Residue.hh
>
24
#include <
core/scoring/ScoreFunction.fwd.hh
>
25
#include <
core/scoring/constraints/ConstraintSet.hh
>
26
#include <
core/scoring/constraints/ConstraintSet.fwd.hh
>
27
#include <
core/scoring/constraints/AmberPeriodicFunc.hh
>
28
#include <
core/scoring/constraints/HarmonicFunc.fwd.hh
>
29
#include <
core/scoring/constraints/HarmonicFunc.hh
>
30
31
// Utility Headers
32
#include <utility/pointer/ReferenceCount.hh>
33
34
// ObjexxFCL Headers
35
#include <ObjexxFCL/FArray1D.hh>
36
#include <ObjexxFCL/FArray2D.hh>
37
#include <ObjexxFCL/FArray4D.hh>
38
39
namespace
core {
40
namespace
scoring {
41
namespace
dna {
42
43
//enum{ WHATEVER, ALPHA, BETA, GAMMA, DELTA, EPSILON, ZETA, CHI, NU0, NU1, NU2, NU3, NU4 };
44
45
class
DNATorsionPotential
:
public
utility::pointer::ReferenceCount
46
{
47
48
public
:
49
DNATorsionPotential
();
50
~DNATorsionPotential
() {}
51
52
53
/* Undefinded, comented out to make python bindings complile
54
void
55
eval_dna_torsion_score_residue(
56
conformation::Residue const & rsd,
57
Size const dna_torsion_number,
58
Real & score,
59
Real & deriv ) const;
60
61
62
void
63
eval_ribose_closure_score( conformation::Residue const & rsd, Real & score ) const;
64
65
66
void
67
eval_ribose_closure_derivative(
68
id::AtomID const & id,
69
pose::Pose const & pose,
70
Vector & f1,
71
Vector & f2 ) const;
72
*/
73
74
// void update_constraints( pose::Pose & pose ) const;
75
76
void
77
setup_constraints
(
pose::Pose
& pose,
constraints::ConstraintSetOP
& dna_torsion_constraints,
78
constraints::ConstraintSetOP
& dna_sugar_close_constraints,
constraints::ConstraintSetOP
& dna_base_distance_constraints )
const
;
79
80
Real
delta_cutoff
()
const
{
return
DELTA_CUTOFF_
; }
81
82
utility::vector1< constraints::AmberPeriodicFuncOP >
&
alpha_components
() {
return
alpha_components_
; }
83
utility::vector1< constraints::AmberPeriodicFuncOP >
&
beta_components
() {
return
beta_components_
; }
84
utility::vector1< constraints::AmberPeriodicFuncOP >
&
gamma_components
() {
return
gamma_components_
; }
85
utility::vector1< constraints::AmberPeriodicFuncOP >
&
delta_components
() {
return
delta_components_
; }
86
utility::vector1< constraints::AmberPeriodicFuncOP >
&
epsilon_components
() {
return
epsilon_components_
; }
87
utility::vector1< constraints::AmberPeriodicFuncOP >
&
zeta_components
() {
return
zeta_components_
; }
88
89
utility::vector1< constraints::AmberPeriodicFuncOP >
&
nu0_components
() {
return
nu0_components_
; }
90
utility::vector1< constraints::AmberPeriodicFuncOP >
&
nu1_components
() {
return
nu1_components_
; }
91
utility::vector1< constraints::AmberPeriodicFuncOP >
&
nu2_components
() {
return
nu2_components_
; }
92
utility::vector1< constraints::AmberPeriodicFuncOP >
&
nu3_components
() {
return
nu3_components_
; }
93
utility::vector1< constraints::AmberPeriodicFuncOP >
&
nu4_components
() {
return
nu4_components_
; }
94
95
void
96
add_sugar_ring_closure_constraints
(
conformation::Residue
const
& rsd,
constraints::ConstraintSet
& cst_set )
const
;
97
98
private
:
99
100
void
101
add_sugar_ring_closure_constraints
(
pose::Pose
& pose,
constraints::ConstraintSet
& cst_set )
const
;
102
103
void
104
add_dna_base_distance_constraints
(
pose::Pose
& pose,
constraints::ConstraintSet
& cst_set )
const
;
105
106
void
107
add_dna_torsion_tethers
(
108
pose::Pose
& pose,
109
constraints::ConstraintSet
& cst_set )
const
;
110
111
void
112
add_DNA_torsion_constraint
(
113
pose::Pose
& pose,
114
Size
const
i,
115
constraints::ConstraintSet
& cst_set,
116
Size
const
dna_torsion_number,
117
utility::vector1< constraints::AmberPeriodicFuncOP >
const
& gaussian_parameter_set )
const
;
118
119
120
bool
121
get_atom_ids_by_torsion
(
122
Size
const
dna_torsion_number,
123
pose::Pose
& pose,
124
Size
const
resid,
125
id::AtomID
& id1,
126
id::AtomID
& id2,
127
id::AtomID
& id3,
128
id::AtomID
& id4 )
const
;
129
130
void
131
init_dna_torsion_parameters
();
132
133
utility::vector1< constraints::AmberPeriodicFuncOP >
alpha_components_
;
134
utility::vector1< constraints::AmberPeriodicFuncOP >
beta_components_
;
135
utility::vector1< constraints::AmberPeriodicFuncOP >
gamma_components_
;
136
utility::vector1< constraints::AmberPeriodicFuncOP >
delta_components_
;
137
utility::vector1< constraints::AmberPeriodicFuncOP >
epsilon_components_
;
138
utility::vector1< constraints::AmberPeriodicFuncOP >
zeta_components_
;
139
140
utility::vector1< constraints::AmberPeriodicFuncOP >
nu0_components_
;
141
utility::vector1< constraints::AmberPeriodicFuncOP >
nu1_components_
;
142
utility::vector1< constraints::AmberPeriodicFuncOP >
nu2_components_
;
143
utility::vector1< constraints::AmberPeriodicFuncOP >
nu3_components_
;
144
utility::vector1< constraints::AmberPeriodicFuncOP >
nu4_components_
;
145
146
utility::vector1< std::string >
alpha_atom_names_
;
147
utility::vector1< std::string >
beta_atom_names_
;
148
utility::vector1< std::string >
gamma_atom_names_
;
149
utility::vector1< std::string >
delta_atom_names_
;
150
utility::vector1< std::string >
epsilon_atom_names_
;
151
utility::vector1< std::string >
zeta_atom_names_
;
152
153
utility::vector1< std::string >
nu0_atom_names_
;
154
utility::vector1< std::string >
nu1_atom_names_
;
155
utility::vector1< std::string >
nu2_atom_names_
;
156
utility::vector1< std::string >
nu3_atom_names_
;
157
utility::vector1< std::string >
nu4_atom_names_
;
158
159
// alpha, beta, gamma, delta, epsilon, zeta
160
Real
const
DELTA_CUTOFF_
;
161
Real
const
scale_dna_torsion_tether_
;
162
Real
const
scale_dna_torsion_sd_
;
163
164
// Ribose closure
165
Distance
const
c2star_c3star_bond_length_
;
166
Distance
const
c2star_c3star_sd_
;
167
constraints::HarmonicFuncOP
c2star_c3star_dist_harm_func_
;
168
169
Real
const
c4star_c3star_c2star_bond_angle_
;
170
constraints::HarmonicFuncOP
c4star_c3star_c2star_angle_harm_func_
;
171
Real
const
o3star_c3star_c2star_bond_angle_
;
172
constraints::HarmonicFuncOP
o3star_c3star_c2star_angle_harm_func_
;
173
Real
const
c3star_c2star_c1star_bond_angle_
;
174
constraints::HarmonicFuncOP
c3star_c2star_c1star_angle_harm_func_
;
175
176
bool
const
verbose_
;
177
178
};
179
180
}
181
}
182
}
183
184
#endif
Generated on Sat Jun 1 2013 11:36:12 for Rosetta 3.5 by
1.8.4