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
ResidualDipolarCoupling_Rohl.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 part of the Rosetta software suite and is made available under license.
5
// The Rosetta software is developed by the contributing members of the Rosetta Commons consortium.
6
// (C) 199x-2009 Rosetta Commons participating institutions and developers.
7
// For more information, see http://www.rosettacommons.org/.
8
9
/// @file core/scoring/ResidualDipolarCoupling.hh
10
/// @brief Uses NMR RDC for scoring
11
/// @author Srivatsan Raman
12
13
#ifndef INCLUDED_core_scoring_ResidualDipolarCoupling_Rohl_hh
14
#define INCLUDED_core_scoring_ResidualDipolarCoupling_Rohl_hh
15
16
#include <
core/scoring/ResidualDipolarCoupling_Rohl.fwd.hh
>
17
18
#include <
core/types.hh
>
19
#include <basic/datacache/CacheableData.hh>
20
#include <numeric/numeric.functions.hh>
21
// AUTO-REMOVED #include <utility/vector1.hh>
22
#include <
core/pose/Pose.fwd.hh
>
23
24
#include <utility/vector1.hh>
25
26
27
namespace
core {
28
namespace
scoring {
29
30
void
store_RDC_ROHL_in_pose
(
ResidualDipolarCoupling_RohlOP
,
core::pose::Pose
& );
31
ResidualDipolarCoupling_RohlOP
retrieve_RDC_ROHL_from_pose
(
core::pose::Pose
& );
32
ResidualDipolarCoupling_RohlCOP
retrieve_RDC_ROHL_from_pose
(
core::pose::Pose
const
& );
33
34
class
ResidualDipolarCoupling_Rohl
:
public
basic::datacache::CacheableData {
35
36
public
:
// typedefs
37
typedef
core::Real
Real
;
38
typedef
core::Size
Size
;
39
typedef
utility::vector1< core::scoring::RDC_Rohl >
RDC_lines
;
40
41
public
:
42
43
ResidualDipolarCoupling_Rohl
(){
44
read_RDC_file
();
45
}
46
47
ResidualDipolarCoupling_Rohl
(
RDC_lines
data_in ) :
All_RDC_lines
( data_in ) {};
48
49
// ResidualDipolarCoupling_Rohl( ResidualDipolarCoupling_Rohl const & src ){}
50
51
basic::datacache::CacheableDataOP
52
clone
()
const
53
{
54
return
new
ResidualDipolarCoupling_Rohl
( *
this
);
55
}
56
57
58
59
void
read_RDC_file
();
60
61
Size
get_RDC_data_type
(
62
std::string
const
& atom1,
63
std::string
const
& atom2
64
);
65
66
inline
RDC_lines
get_RDC_data
()
const
67
{
68
return
All_RDC_lines
;
69
}
70
71
private
:
72
RDC_lines
All_RDC_lines
;
73
74
};
75
76
/////////////////////////////////////////////////
77
//@brief short class that stores the RDC data lines
78
/////////////////////////////////////////////////
79
class
RDC_Rohl
{
80
81
public
:
82
RDC_Rohl
(){}
83
84
RDC_Rohl
(
85
Size
type
,
86
Size
res
,
87
Real
Jdipolar
,
88
Real
weight
= 1.0
//for alignment calculation
89
// core::Real Reduced_Jdipolar
90
) :
91
type_
( type ),
92
res_
( res ),
93
Jdipolar_
( Jdipolar ),
94
weight_
(
weight
)
95
// Reduced_Jdipolar_( Reduced_Jdipolar )
96
{}
97
98
inline
Size
type
()
const
99
{
100
return
type_
;
101
}
102
103
inline
Size
res
()
const
104
{
105
return
res_
;
106
}
107
108
inline
Real
Jdipolar
()
const
109
{
110
return
Jdipolar_
;
111
}
112
113
/* inline core::Real Reduced_Jdipolar() const
114
{
115
return Reduced_Jdipolar_;
116
}
117
*/
118
119
inline
Real
fixed_dist
()
const
120
{
121
Real
fixed_dist
(0.0);
122
if
(
type_
== 1 )
123
fixed_dist = 1.01;
124
else
if
(
type_
== 2 )
125
fixed_dist = 1.08;
126
else
if
(
type_
== 3 )
127
fixed_dist = 1.52325877;
128
//************* ADD MORE TYPES LATER !! ***************
129
return
fixed_dist
;
130
131
}
132
133
inline
Real
Reduced_Jdipolar
()
const
134
{
135
using namespace
numeric;
136
137
// Real invDcnst(0.0);
138
// if ( type_ == 1 )
139
// invDcnst = 0.0000821215;
140
// else if ( type_ == 2 )
141
// invDcnst = -0.0000331025;
142
// else if ( type_ == 3 )
143
// invDcnst = 0.000326533;
144
return
Jdipolar_
*
invDcnst
()*numeric::cube(
fixed_dist
() );
145
146
}
147
148
Real
weight
()
const
{
149
return
weight_
;
150
}
151
152
void
weight
(
Real
w_in ) {
153
weight_
= w_in;
154
}
155
156
inline
Real
invDcnst
()
const
157
{
158
159
core::Real
invDcnst
(0.0);
160
if
(
type_
== 1 )
161
invDcnst = 0.0000821215;
162
else
if
(
type_
== 2 )
163
invDcnst = -0.0000331025;
164
else
if
(
type_
== 3 )
165
invDcnst = 0.000326533;
166
return
invDcnst
;
167
}
168
169
private
:
170
Size
type_
,
res_
;
171
Real
Jdipolar_
,
Reduced_Jdipolar_
;
172
Real
weight_
;
173
};
174
175
176
}
//scoring
177
}
//core
178
179
#endif
Generated on Sat Jun 1 2013 11:39:47 for Rosetta 3.5 by
1.8.4