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
protocols
simple_moves
BBConRotMover.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
11
/// @notes Monte Carlo backbone sampling for polypeptides with variable bond angles
12
/// and dihedral angles using concerted rotations and a Gaussian bias
13
/// Jakob P. Ulmschneider, JCP, VOl 118, 9
14
15
#ifndef INCLUDED_protocols_simple_moves_BBConRotMover_hh
16
#define INCLUDED_protocols_simple_moves_BBConRotMover_hh
17
18
#include <
protocols/simple_moves/BBConRotMover.fwd.hh
>
19
//core
20
#include <
core/types.hh
>
21
#include <
core/pose/Pose.fwd.hh
>
22
#include <
core/conformation/Residue.fwd.hh
>
23
// AUTO-REMOVED #include <core/chemical/ResidueType.fwd.hh>
24
25
//protocols
26
#include <
protocols/moves/Mover.hh
>
27
#include <
protocols/simple_moves/BBGaussianMover.hh
>
28
//movemap
29
#include <
core/kinematics/MoveMap.fwd.hh
>
30
//
31
#include <utility/vector1.hh>
32
33
//std
34
#include <string>
35
36
using namespace
std;
37
38
namespace
protocols {
39
namespace
simple_moves {
40
41
class
BBConRotMover
:
public
BBGaussianMover
42
{
43
public
:
44
//typedef core::Vector Vector;
45
//typedef core::Real Real;
46
//typedef core::Size Size;
47
//typedef core::pose::Pose Pose;
48
//typedef core::pose::PoseOP PoseOP;
49
//typedef core::pose::PoseCOP PoseCOP;
50
//typedef core::conformation::Residue Residue;
51
//typedef utility::vector1< Vector > VdRdPhi;
52
//typedef utility::vector1< VdRdPhi > VMatrix;
53
//typedef utility::vector1< utility::vector1<Real> > Matrix;
54
//typedef numeric::xyzMatrix<Real> xyzMatrix;
55
typedef
numeric::xyzMatrix< core::Real >
xyzMatrix
;
56
57
public
:
58
BBConRotMover
();
59
~
BBConRotMover
();
60
61
void
apply(
Pose
&);
62
virtual
std::string
get_name()
const
;
63
void
factorA(
core::Real
const
fA );
64
void
factorB(
core::Real
const
fB );
65
void
factorC(
core::Real
const
fC );
66
67
protected
:
68
bool
make_move(
Pose
&);
69
void
get_VdRdPhi(
Pose
const
&);
70
void
get_G();
71
void
get_A
();
72
Real
get_L_move(
Pose
&);
73
Real
get_L_prime();
74
75
private
:
76
/// @brief get xyz of d, given reference atoms a,b,c (a-b-c-d)
77
/// and
78
/// distance of c-d
79
/// bond angle theta of d-c-b
80
/// dihedral angle phi of d-c-b-a
81
void
get_xyz(
Vector
const
&a,
Vector
const
&
b
,
Vector
const
&
c
,
Vector
&d,
82
Real
distance
,
Real
theta,
Real
phi
);
83
84
//key function, from Jakob
85
Real
calc_jacobian_cartesians(
Vector
const
&,
Vector
const
&,
86
Vector
const
&,
Vector
const
&,
Vector
const
&);
87
88
bool
get_determinant(
double
a[5][5],
int
n,
double
&det);
89
90
bool
closure(
91
//before closure
92
Vector
&r0,
93
Vector
&r1,
94
Vector
&r2,
95
Vector
&r3,
96
Vector
&r4,
97
Vector
&r5,
98
Vector
&r6,
99
//after closure
100
Vector
&p1,
101
Vector
&p2,
102
Vector
&p3,
103
//old angle/dih
104
Real
const
theta1_old,
105
Real
const
theta2_old,
106
Real
const
theta3_old,
107
Real
const
theta4_old,
108
Real
const
alpha1_old,
109
Real
const
alpha2_old,
110
Real
const
alpha3_old,
111
//new angle/dih
112
Real
&theta1,
113
Real
&theta2,
114
Real
&theta3,
115
Real
&theta4,
116
Real
&alpha1,
117
Real
&alpha2,
118
Real
&alpha3
119
);
120
121
private
:
122
utility::vector1< Real >
dphi
;
123
utility::vector1< Real >
oldphi
;
124
Real
factorA_
;
125
Real
factorB_
;
126
Real
factorC_
;
127
128
//no sidechain and branch atom
129
//core::chemical::ResidueType const &cen_gly_restyp;
130
};
131
132
}
//moves
133
}
//protocols
134
135
#endif
136
137
138
139
Generated on Sat Jun 1 2013 12:15:10 for Rosetta 3.5 by
1.8.4