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
backrub
BackrubSidechainMover.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/backrub/BackrubSidechainMover.hh
11
/// @brief
12
/// @author
13
14
#ifndef INCLUDED_protocols_backrub_BackrubSidechainMover_hh
15
#define INCLUDED_protocols_backrub_BackrubSidechainMover_hh
16
17
// Unit Headers
18
#include <
protocols/backrub/BackrubSidechainMover.fwd.hh
>
19
20
// Project Headers
21
#include <
protocols/canonical_sampling/ThermodynamicMover.hh
>
22
// AUTO-REMOVED #include <protocols/backrub/BackrubMover.hh>
23
// AUTO-REMOVED #include <protocols/simple_moves/sidechain_moves/SidechainMover.hh>
24
#include <
core/pose/Pose.fwd.hh
>
25
26
// Numeric Headers
27
// AUTO-REMOVED #include <numeric/MultiDimensionalHistogram.hh>
28
29
// Utility Headers
30
#include <
core/types.hh
>
31
#include <utility/vector1.hh>
32
33
#include <
core/pack/task/TaskFactory.fwd.hh
>
34
#include <
protocols/backrub/BackrubMover.fwd.hh
>
35
#include <
protocols/simple_moves/sidechain_moves/SidechainMover.fwd.hh
>
36
#include <utility/vector0.hh>
37
#include <numeric/MultiDimensionalHistogram.fwd.hh>
38
39
40
namespace
protocols {
41
namespace
backrub {
42
43
///@details
44
class
BackrubSidechainMover
:
public
protocols::canonical_sampling::ThermodynamicMover
{
45
46
public
:
47
48
///@brief
49
BackrubSidechainMover
();
50
51
///@brief
52
BackrubSidechainMover
(
53
BackrubSidechainMover
const
& mover
54
);
55
56
virtual
57
~BackrubSidechainMover
();
58
59
virtual
60
protocols::moves::MoverOP
61
clone
()
const
;
62
63
virtual
64
protocols::moves::MoverOP
65
fresh_instance
()
const
;
66
67
virtual
68
std::string
69
get_name
()
const
;
70
71
virtual
72
void
73
parse_my_tag
(
74
utility::tag::TagPtr
const
tag,
75
protocols::moves::DataMap
& data,
76
protocols::filters::Filters_map
const
& filters,
77
protocols::moves::Movers_map
const
& movers,
78
core::pose::Pose
const
& pose
79
);
80
81
void
82
update_segments
(
83
core::pose::Pose
const
& pose
84
);
85
86
virtual
87
void
88
initialize_simulation
(
89
core::pose::Pose
& pose,
90
protocols::canonical_sampling::MetropolisHastingsMover
const
&
metropolis_hastings_mover
,
91
core::Size
cycle
//non-zero if trajectory is restarted
92
);
93
94
virtual
95
void
96
apply
(
97
core::pose::Pose
& pose
98
);
99
100
/// @brief callback after the Metropolis criterion is evaluated
101
virtual
102
void
103
observe_after_metropolis
(
104
protocols::canonical_sampling::MetropolisHastingsMover
const
& metropolis_hastings_mover
105
);
106
107
virtual
108
void
109
finalize_simulation
(
110
core::pose::Pose
& pose,
111
protocols::canonical_sampling::MetropolisHastingsMover
const
& metropolis_hastings_mover
112
);
113
114
utility::vector1<core::Size>
const
&
115
pivot_residues
()
const
;
116
117
void
118
set_pivot_residues
(
119
utility::vector1<core::Size>
const
& pivot_residues
120
);
121
122
core::pack::task::TaskFactoryCOP
123
task_factory
()
const
;
124
125
void
126
set_task_factory
(
127
core::pack::task::TaskFactoryOP
task_factory
128
);
129
130
/// @brief get the probability of uniformly sampling chi angles
131
core::Real
132
prob_uniform
()
const
;
133
134
/// @brief set the probability of uniformly sampling chi angles
135
void
136
set_prob_uniform
(
137
core::Real
prob_uniform
138
);
139
140
/// @brief get the probability of sampling within the same rotamer
141
core::Real
142
prob_withinrot
()
const
;
143
144
/// @brief set the probability of sampling within the same rotamer
145
void
146
set_prob_withinrot
(
147
core::Real
prob_withinrot
148
);
149
150
core::Real
151
prob_random_pert_current
()
const
;
152
153
void
154
set_prob_random_pert_current
(
155
core::Real
prob_pert
156
);
157
158
/// @brief get whether detailed balance is preserved
159
virtual
160
bool
161
preserve_detailed_balance
()
const
;
162
163
/// @brief set whether detailed balance is preserved
164
virtual
165
void
166
set_preserve_detailed_balance
(
167
bool
preserve_detailed_balance
168
);
169
170
/// @brief get whether to exit during initialize_simulation if the mm_bend term isn't turned on
171
bool
172
require_mm_bend
()
const
;
173
174
/// @brief set whether to exit during initialize_simulation if the mm_bend term isn't turned on
175
void
176
set_require_mm_bend
(
177
bool
require_mm_bend
178
);
179
180
/// @brief get the TorsionIDs perturbed by the mover during moves, along with their ranges
181
virtual
182
utility::vector1<core::id::TorsionID_Range>
183
torsion_id_ranges
(
184
core::pose::Pose
& pose
185
);
186
187
/// @brief get whether to record mover statistics or not
188
bool
189
record_statistics
()
const
;
190
191
/// @brief set whether to record mover statistics or not
192
void
193
set_record_statistics
(
194
bool
record_statistics
195
);
196
197
/// @brief get filename for statistics output
198
std::string
const
&
199
statistics_filename
()
const
;
200
201
/// @brief set filename for statistics output
202
void
203
set_statistics_filename
(
204
std::string
const
& statistics_filename
205
);
206
207
void
208
reset_statistics
();
209
210
void
211
output_statistics
(
212
std::ostream & out
213
);
214
215
private
:
216
217
void
218
setup_histograms
();
219
220
void
221
record_histograms
(
222
bool
accept
223
);
224
225
void
226
update_type
();
227
228
protocols::backrub::BackrubMoverOP
backrub_mover_
;
229
protocols::simple_moves::sidechain_moves::SidechainMoverOP
sidechain_mover_
;
230
utility::vector1<core::Size>
valid_segments_
;
231
core::Size
last_valid_segment_index_
;
232
core::Real
last_chi1_pre_
;
233
core::Real
last_chi1_post_
;
234
bool
record_statistics_
;
235
std::string
statistics_filename_
;
236
utility::vector1<numeric::MultiDimensionalHistogram>
proposal_hists_
;
237
utility::vector1<numeric::MultiDimensionalHistogram>
accept_hists_
;
238
239
};
//end BackrubSidechainMover
240
241
}
//namespace backrub
242
}
//namespace protocols
243
244
#endif // INCLUDED_protocols_backrub_BackrubSidechainMover_HH
Generated on Sat Jun 1 2013 11:43:28 for Rosetta 3.5 by
1.8.4