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
loops
looprelax_protocols.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 loopLoopRebuild_protocols.hh
11
/// @brief
12
/// @detailed
13
///
14
/// @author James Thompson
15
/// @author Srivatsan Raman
16
17
18
#ifndef INCLUDED_protocols_loops_looprelax_protocols_hh
19
#define INCLUDED_protocols_loops_looprelax_protocols_hh
20
21
#include <
core/types.hh
>
22
#include <
protocols/moves/Mover.hh
>
23
// AUTO-REMOVED #include <protocols/moves/TrialMover.hh>
24
//#include <core/chemical/ResidueTypeSet.hh>
25
// AUTO-REMOVED #include <core/scoring/EnergyMap.fwd.hh>
26
#include <
core/scoring/ScoreFunction.fwd.hh
>
27
// AUTO-REMOVED #include <core/scoring/ScoreType.hh>
28
// AUTO-REMOVED #include <core/pack/task/PackerTask.fwd.hh>
29
#include <
core/pose/Pose.fwd.hh
>
30
#include <
protocols/loops/Loops.hh
>
31
#include <
core/fragment/FragSet.fwd.hh
>
32
33
#ifdef WIN32
34
#include <
core/fragment/FragSet.hh
>
// WIN32 INCLUDE
35
#endif
36
37
//// C++ headers
38
// AUTO-REMOVED #include <cstdlib>
39
#include <string>
40
// AUTO-REMOVED #include <vector>
41
42
#include <
protocols/moves/MonteCarlo.fwd.hh
>
43
#include <utility/vector1.hh>
44
45
46
namespace
protocols {
47
48
49
50
51
/// @brief The loop-rebuild protocol
52
class
LoopRebuild
:
public
protocols::moves::Mover
{
53
public
:
54
/// @brief Construct te protocol object given a score function, list of loop segments to rebuild, and
55
/// the fragment library to use. The skip rate of each loop is _ignored_ (the
56
/// decision of which loops to rebuild should be made outside the protocol).
57
LoopRebuild
(
58
core::scoring::ScoreFunctionOP
scorefxn,
59
protocols::loops::Loops
Loops_in
60
);
61
62
~LoopRebuild
();
63
64
/// @brief Clone this object
65
virtual
protocols::moves::MoverOP
clone
()
const
;
66
67
///@brief sets all the standard settings for LoopBuild
68
void
set_default_settings
();
69
70
/// @brief Get the protocol's Monte Carlo object
71
protocols::moves::MonteCarloOP
get_mc
(
core::pose::Pose
& pose );
72
73
///@brief setting the mc object
74
void
set_default_mc
(
core::pose::Pose
& pose );
75
76
/// @brief Apply the loop-rebuild protocol to the input pose
77
void
apply
(
core::pose::Pose
& pose );
78
virtual
std::string
get_name
()
const
;
79
80
/// @brief Are we extending the loops before running loop-rebuild?
81
bool
extended_loop
();
82
/// @brief Specify whether the protocol should extend the loops before running loop-rebuild
83
void
set_extended_loop
(
bool
val );
84
85
86
// ---------------- Acessors -------------------------------------------------
87
88
/// @brief Were loops successfully built?
89
bool
get_success
() {
return
success
; }
90
91
/// @brief
92
bool
get_random_loop_flag
(){
return
random_loop_flag_
; }
93
94
/// @brief
95
void
set_random_loop_flag
(
bool
setting =
true
){
random_loop_flag_
= setting; }
96
97
98
99
/// @brief
100
int
get_allowed_failure_before_extend
(){
return
allowed_failure_before_extend_
; }
101
102
/// @brief
103
void
set_allowed_failure_before_extend
(
int
setting ){
allowed_failure_before_extend_
= setting; }
104
105
106
107
/// @brief
108
int
get_allowed_failure_before_stop
(){
return
allowed_failure_before_stop_
; }
109
110
/// @brief
111
void
set_allowed_failure_before_stop
(
int
setting ){
allowed_failure_before_stop_
= setting; }
112
113
114
115
116
/// @brief
117
bool
get_abort_on_failed_loop
(){
return
abort_on_failed_loop_
; }
118
119
/// @brief
120
void
set_abort_on_failed_loop
(
bool
setting =
true
){
abort_on_failed_loop_
= setting; }
121
122
123
124
125
int
allowed_failure_before_stop
;
126
/// @brief
127
bool
loop_model
();
128
129
/// @brief
130
bool
get_ccd_closure_exist
();
131
132
/// @brief
133
bool
get_desired_loops_exist
();
134
135
/// @brief
136
core::Size
desired_loops
();
137
138
/// @brief
139
core::Real
get_loop_combine_rate
();
140
141
/// @brief
142
bool
get_combine_if_fail_exist
();
143
144
/// @brief Gets the RMSd tolerence, the most a loop may move during reconstruction
145
core::Real
get_rmsd_tolerance
();
146
147
/// @brief Gets the chainbreak tolerence, the largest the chainbreak score may be to accept a loop conformation
148
core::Real
get_chain_break_tolerance
();
149
150
private
:
151
152
153
/// @brief Rebuild all loops in the pose, chosen in a random order
154
bool
build_random_loops
(
core::pose::Pose
& pose );
155
156
/// @brief
157
void
set_looprlx_allow_move_map
(
int
const
& loop_begin,
int
const
& loop_end,
core::kinematics::MoveMap
& mm );
158
159
/// @brief Get the cutoff for score filtering loop conformations. CURRENTLY UNUSED IN THE PROTOCOL
160
core::Real
get_score_filter_cutoff
();
161
162
/// @brief Select a loop at random from the input list
163
bool
select_one_loop
(
164
int
nres,
165
int
& selected_loop,
166
std::vector< int > & folded_loops,
167
std::vector< int > & inter_res,
168
int
& loop_begin,
169
int
& loop_end,
170
int
& cutpoint,
171
bool
& extend_this_loop,
172
bool
& are_loops_combined,
173
int
& combine_interval,
174
int
& loop_counter
175
);
176
177
178
/// @brief Extend the loop stems
179
void
barcode_extend_stems
(
180
core::pose::Pose
& pose,
181
int
& barcst_extend_begin,
182
int
& barcst_extend_end,
183
int
& loop_begin,
184
int
& loop_end,
185
int
const
& old_loop_begin,
186
int
const
& old_loop_end,
187
int
const
& nres,
188
int
const
& selected_loop,
189
int
const
& total_combine,
190
int
const
& backward_combine
191
);
192
193
/// @brief If chainbreak score is greater than the tolerance, extend the loop
194
void
extend_barcode_regions_if_chain_break
(
195
core::pose::Pose
& pose,
196
int
const
& loop_begin,
197
int
const
& loop_end,
198
int
& n_chain_break_fail,
199
bool
& is_chain_break,
200
int
& barcst_extend_begin,
// output
201
int
& barcst_extend_end
202
);
203
204
/// @brief
205
bool
shorten_long_terminal_loop
();
206
207
208
/// @brief Is the RMS change between these two poses below the acceptible threshold?
209
bool
acceptable_rmsd_change
(
core::pose::Pose
& pose1,
core::pose::Pose
& pose2 );
210
211
/// @brief
212
core::Real
get_looprlx_cycle_ratio
();
213
214
/// @brief frag insertion + ccd close + minimize
215
void
build_loop_with_ccd_closure
(
216
core::pose::Pose
& pose,
217
int
const
& loop_begin,
218
int
const
& loop_end,
219
int
& cutpoint,
220
bool
const
& extend_this_loop
221
);
222
223
/// @brief Apply ccd moves to close the specified loop
224
void
fast_ccd_close_loops
(
225
core::pose::Pose
& pose,
226
int
const
& loop_begin,
227
int
const
& loop_end,
228
int
const
& cutpoint,
229
core::kinematics::MoveMap
& mm
230
);
231
232
// protocol-specific data
233
core::pose::PoseOP
pose_
;
234
core::scoring::ScoreFunctionOP
scorefxn_
;
235
core::kinematics::MoveMapOP
movemap_
;
236
protocols::moves::MonteCarloOP
mc_
;
237
protocols::loops::Loops
Loops_in_
;
238
std::vector< core::fragment::FragSetOP >
frag_libs_
;
239
240
// parameters
241
bool
extend_loops
;
242
243
bool
use_default_extend_loops
;
244
245
bool
random_loop_flag_
;
246
247
bool
only_remove_missing_density_flag_
;
248
249
int
allowed_failure_before_extend_
;
250
251
int
allowed_failure_before_stop_
;
252
253
bool
abort_on_failed_loop_
;
254
255
core::Real
m_Temperature_
;
// default temperature for monte carlo
256
bool
mc_created
;
257
258
bool
success
;
259
};
// class LoopRebuild
260
261
///////////////////////////////////////////////////////////////////
262
///@brief class LoopRefine for fullatom loop refinement
263
///////////////////////////////////////////////////////////////////
264
class
LoopRefine
:
public
protocols::moves::Mover
{
265
public
:
266
LoopRefine
(
267
protocols::loops::Loops
Loops_in
268
):
Mover
(),
269
Loops_in_
( Loops_in )
270
{
271
Mover::type(
"LoopRefine"
);
272
}
273
274
/// @brief Apply the loop-refine protocol to the input pose
275
void
apply
(
core::pose::Pose
& pose );
276
virtual
std::string
get_name
()
const
;
277
278
private
:
279
protocols::loops::Loops
Loops_in_
;
280
};
281
282
}
// protocols
283
284
#endif
Generated on Sat Jun 1 2013 11:59:03 for Rosetta 3.5 by
1.8.4