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
rigid
RigidBodyMotionMover.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 protocols/rigid/RigidBodyMotionMover.hh
11
/// @author Christopher Miles (cmiles@uw.edu)
12
13
#ifndef INCLUDED_PROTOCOLS_RIGID_RIGIDBODYMOTIONMOVER_HH
14
#define INCLUDED_PROTOCOLS_RIGID_RIGIDBODYMOTIONMOVER_HH
15
16
// Unit header
17
#include <
protocols/rigid/RigidBodyMotionMover.fwd.hh
>
18
19
// C/C++ headers
20
#include <string>
21
22
// Project headers
23
#include <
core/kinematics/FoldTree.hh
>
24
#include <
core/pose/Pose.fwd.hh
>
25
#include <
protocols/loops/Loops.hh
>
26
27
// Package headers
28
#include <
protocols/moves/Mover.hh
>
29
30
//Auto Headers
31
#include <utility/vector1.hh>
32
namespace
protocols {
33
namespace
rigid {
34
35
class
RigidBodyMotionMover
:
public
moves::Mover
{
36
public
:
37
explicit
RigidBodyMotionMover
(
const
core::kinematics::FoldTree
& tree);
38
39
/// @brief Randomly selects a chunk and perturbs its rigid body transformation
40
void
apply
(
core::pose::Pose
& pose);
41
42
/// @brief Returns the magnitude of translation
43
double
magnitude_translation
()
const
;
44
45
/// @brief Returns the magnitude of rotation
46
double
magnitude_rotation
()
const
;
47
48
/// @brief Returns the strength of the chainbreak bias
49
double
chainbreak_bias
()
const
;
50
51
/// @brief Returns the input fold tree
52
const
core::kinematics::FoldTree
&
fold_tree
()
const
;
53
54
/// @brief Updates the magnitude of translation
55
void
set_magnitude_translation
(
double
mag_trans);
56
57
/// @brief Updates the magnitude of rotation
58
void
set_magnitude_rotation
(
double
mag_rot);
59
60
/// @brief Updates the strength of the chainbreak bias
61
void
set_chainbreak_bias
(
double
cb_bias);
62
63
/// @brief Updates the input fold tree and regenerates chunks
64
void
set_fold_tree
(
const
core::kinematics::FoldTree
& tree);
65
66
/// @brief Returns the name of this mover
67
std::string
get_name
()
const
;
68
69
private
:
70
/// @brief Derives chunk definitions from input fold tree
71
void
update_chunks
();
72
73
/// @brief Having selected chunk i, compute the chainbreak-biased translation vector
74
void
compute_bias
(
unsigned
i,
const
core::pose::Pose
& pose,
numeric::xyzVector<double>
* cb_deltas)
const
;
75
76
/// @brief Input fold tree
77
core::kinematics::FoldTree
tree_
;
78
79
/// @brief Chunks derived from input fold tree. Stored in increasing order of start position.
80
protocols::loops::Loops
chunks_
;
81
82
/// @brief Magnitude of rotation. Unless otherwise specified, equal to -rigid:rotation.
83
double
mag_rot_
;
84
85
/// @brief Magnitude of translation. Unless otherwise specified, equal to -rigid:translation.
86
double
mag_trans_
;
87
88
/// @brief Value on [0..1] that controls the strength of the chainbreak bias in translation moves
89
double
cb_bias_
;
90
};
91
92
}
// namespace rigid
93
}
// namespace protocols
94
95
#endif // PROTOCOLS_RIGID_RIGID_BODY_MOTION_MOVER_HH_
Generated on Sat Jun 1 2013 12:09:09 for Rosetta 3.5 by
1.8.4