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
enzdes
EnzdesFlexBBProtocol.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/enzdes/EnzdesFlexBBProtocol.hh
11
///
12
/// @brief
13
/// @author Florian Richter
14
15
16
17
18
#ifndef INCLUDED_protocols_enzdes_EnzdesFlexBBProtocol_hh
19
#define INCLUDED_protocols_enzdes_EnzdesFlexBBProtocol_hh
20
21
22
#include <
protocols/enzdes/EnzdesBaseProtocol.hh
>
23
// AUTO-REMOVED #include <protocols/toolbox/match_enzdes_util/EnzConstraintIO.hh>
24
#include <
protocols/toolbox/match_enzdes_util/EnzdesLoopsFile.hh
>
25
26
#include <
protocols/backrub/BackrubMover.fwd.hh
>
27
#include <
protocols/loops/loop_closure/kinematic_closure/KinematicMover.fwd.hh
>
28
#include <
protocols/simple_moves/MinMover.fwd.hh
>
29
30
#include <
core/pose/Pose.hh
>
/// Replace pack_region_ala_pose_ with a PoseOP to remove this header
31
32
#include <
core/fragment/Frame.hh
>
33
#include <
core/fragment/FragData.fwd.hh
>
34
35
#include <utility/vector1.hh>
36
37
38
namespace
protocols{
39
namespace
enzdes{
40
41
class
EnzdesFlexBBProtocol
;
42
typedef
utility::pointer::owning_ptr< EnzdesFlexBBProtocol >
EnzdesFlexBBProtocolOP
;
43
typedef
utility::pointer::access_ptr< EnzdesFlexBBProtocol const >
EnzdesFlexBBProtocolCAP
;
44
typedef
utility::pointer::access_ptr< EnzdesFlexBBProtocol >
EnzdesFlexBBProtocolAP
;
45
46
class
EnzdesFlexibleRegion
;
47
typedef
utility::pointer::owning_ptr< EnzdesFlexibleRegion >
EnzdesFlexibleRegionOP
;
48
typedef
utility::pointer::owning_ptr< EnzdesFlexibleRegion const >
EnzdesFlexibleRegionCOP
;
49
50
class
EnzdesFlexBBProtocol
:
public
protocols::enzdes::EnzdesBaseProtocol
51
{
52
53
public
:
54
55
EnzdesFlexBBProtocol
();
56
~EnzdesFlexBBProtocol
();
57
58
void
apply
(
core::pose::Pose
& pose);
59
virtual
std::string
get_name
()
const
;
60
61
static
void
register_options
();
62
63
bool
64
is_flexible
(
core::Size
seqpos )
const
;
65
66
bool
67
is_remodelable
(
core::Size
seqpos )
const
;
68
69
void
70
get_tenA_neighbor_residues
(
71
core::pose::Pose
const
& pose,
72
utility::vector1<bool>
& residue_positions
73
);
74
75
core::pack::task::PackerTaskOP
76
modified_task
(
77
core::pose::Pose
const
& pose,
78
core::pack::task::PackerTask
const
& orig_task
79
);
80
81
void
82
test_flexbb_rotamer_sets
(
83
core::pose::Pose
const
& pose,
84
core::pack::task::PackerTaskCOP
task
85
);
86
87
void
88
remap_resid
(
89
core::pose::Pose
const
& pose,
90
core::id::SequenceMapping
const
& smap
91
);
92
93
EnzdesFlexibleRegionCOP
94
enz_flexible_region
(
95
core::Size
region )
const
{
96
return
flex_regions_
[ region ]; }
97
98
toolbox::match_enzdes_util::EnzdesLoopsFileCOP
99
enz_loops_file
()
const
{
100
return
enz_loops_file_
; }
101
102
void
103
generate_ensemble_for_region
(
104
core::pose::Pose
& pose,
105
core::Size
region
106
);
107
108
bool
109
minimize_flexible_region
(
110
core::pose::Pose
& pose,
111
core::Size
region,
112
core::scoring::ScoreFunctionCOP
scorefxn,
113
std::set< core::Size >
const
& chi_to_move,
114
bool
const
including_CA_angles,
115
core::Real
min_tolerance
116
);
117
118
void
119
generate_alc_ensemble_for_region
(
120
core::pose::Pose
& pose,
121
core::Size
region
122
);
123
124
void
125
generate_backrub_ensemble_for_region
(
126
core::pose::Pose
& pose,
127
core::Size
region
128
);
129
130
void
131
determine_flexible_regions
(
132
core::pose::Pose
const
& pose,
133
core::pack::task::PackerTaskCOP
task
134
);
135
136
protected
:
137
138
139
bool
140
assemble_next_best_loop_combination
(
141
core::pose::Pose
& pose );
142
143
bool
144
hack_assemble_next_loop_combination
(
145
core::pose::Pose
& pose
146
);
147
148
bool
149
recover_loops_from_file
(
150
core::pose::Pose
const
& pose );
151
152
void
153
setup_catalytic_residue_minimization_for_region
(
154
core::pose::Pose
const
& pose,
155
core::Size
region );
156
157
utility::vector1< EnzdesFlexibleRegionOP >
flex_regions_
;
158
159
private
:
160
161
toolbox::match_enzdes_util::EnzdesLoopsFileCOP
enz_loops_file_
;
162
163
utility::vector1< core::Size >
fragment_counters_
;
164
165
core::pose::Pose
pack_region_ala_pose_
;
166
utility::vector1< core::Real >
native_fragment_bb_energies_
;
167
168
protocols::backrub::BackrubMoverOP
brub_mover_
;
169
protocols::loops::loop_closure::kinematic_closure::KinematicMoverOP
kinematic_mover_
;
170
171
core::Real
mc_kt_low_
,
mc_kt_high_
;
172
core::Size
brub_min_atoms_
;
173
core::Size
brub_max_atoms_
;
174
core::Size
loop_ensemble_size_
;
175
core::Size
loopgen_trials_
;
176
utility::vector1< std::string >
brub_pivot_atoms_
;
177
178
//std::map< core::Size, core::conformation::ResidueCOP > initial_ligand_positions_;
179
180
//stuff for minimizing catalytic residue chis only during loop generation
181
bool
minimize_cats_
;
182
core::kinematics::MoveMapOP
catmin_movemap_
;
183
protocols::simple_moves::MinMoverOP
catmin_mover_
;
184
core::scoring::ScoreFunctionOP
catmin_sfxn_
;
185
186
};
//class EnzdesFlexBBProtocol
187
188
189
class
EnzdesFlexibleRegion
:
public
core::fragment::Frame
{
190
191
typedef
std::pair< core::Size, core::Real >
SizeRealPair
;
192
typedef
core::fragment::Frame
Super
;
193
194
public
:
195
196
EnzdesFlexibleRegion
(
197
core::Size
index_in,
198
core::Size
start
,
199
core::Size
end
,
200
core::Size
nr_res,
201
core::pose::Pose
const
& pose,
202
EnzdesFlexBBProtocolCAP
enz_prot
203
);
204
205
~EnzdesFlexibleRegion
();
206
207
core::Size
208
no_ranked_frags
()
const
{
209
return
frag_designabilities_
.size(); }
210
211
bool
212
contains_catalytic_res
()
const
;
213
214
bool
remodelable
()
const
{
215
return
remodelable_
; }
216
217
core::Size
218
remodel_min_length
()
const
{
219
return
remodel_min_length_
; }
220
221
core::Size
remodel_max_length
()
const
{
222
return
remodel_max_length_
; }
223
224
toolbox::match_enzdes_util::EnzdesLoopInfoCOP
225
enz_loop_info
()
const
;
226
227
core::Size
228
index
()
const
{
229
return
index_
; }
230
231
void
232
declare_remodelable
(
233
core::Size
min_length,
234
core::Size
max_length
235
);
236
237
core::Real
238
deltaE_best
(
core::Size
const
frag_rank )
const
;
239
240
241
core::fragment::FragDataOP
242
assemble_enzdes_fragdata
(
243
core::pose::Pose
const
& pose
244
);
245
246
static
bool
247
compare_SizeRealPairs
(
SizeRealPair
const
& first,
SizeRealPair
const
& second ){
248
if
( first.second < second.second )
return
true
;
249
else
return
false
;
250
}
251
252
utility::vector1< core::Size >
const
&
253
positions
(){
254
return
positions_
;
255
}
256
257
core::Real
258
extract_lig_designability_score
(
259
core::pose::Pose
const
& pose,
260
core::pack::task::PackerTaskCOP
task,
261
core::Real
& backgroundE
262
);
263
264
core::Real
265
get_region_mm_bend_score
(
core::pose::Pose
const
& pose )
const
;
266
267
void
268
apply_ranked_fragment
(
269
core::pose::Pose
& pose,
270
core::Size
frag_rank
271
);
272
273
void
274
hack_fillup_frag_designabilities
();
275
276
void
277
sort_ensemble_by_designability
(
278
core::pose::Pose
const
& ref_pose,
279
core::scoring::ScoreFunctionOP
scorefxn,
280
core::pack::task::PackerTaskCOP
task
281
);
282
283
core::Real
284
calculate_rotamer_set_design_targets_partition_sum
(
285
core::pose::Pose
const
& pose,
286
core::scoring::ScoreFunctionCOP
scorefxn,
287
core::pack::task::PackerTaskCOP
task
288
)
const
;
289
290
291
bool
292
examine_new_loopconf
(
293
core::pose::Pose
const
& pose,
294
core::pose::Pose
& template_pose,
295
utility::vector1< core::pose::PoseOP >
& compare_poses,
296
utility::vector1< core::Real >
& rmsd_to_native
297
);
298
299
bool
300
minimize_region
(
301
core::pose::Pose
& pose,
302
core::scoring::ScoreFunctionCOP
scorefxn,
303
std::set< core::Size >
const
& chi_to_move,
304
bool
const
including_CA_angles,
305
core::Real
min_tolerance
306
);
307
308
core::Real
309
get_region_total_score
(
core::pose::Pose
const
& pose )
const
;
310
311
bool
remap_resid
(
312
core::pose::Pose
const
& pose,
313
core::id::SequenceMapping
const
& smap
314
);
315
316
void
317
scale_target_proximity_to_starting_conformation
(
core::Real
factor ) {
318
target_proximity_to_native_conformation_
*= factor;
319
}
320
321
void
322
set_target_proximity_to_starting_conformation
(
core::Real
proximity ) {
323
target_proximity_to_native_conformation_
= proximity;
324
}
325
326
327
void
328
scale_target_proximity_to_other_conformations
(
core::Real
factor ) {
329
target_proximity_to_other_conformations_
*= factor;
330
}
331
332
333
protected
:
334
335
void
336
get_12A_neighbors
(
337
core::pose::Pose
const
& pose
338
);
339
340
private
:
341
342
//index of this region in the overall scheme of things
343
core::Size
index_
;
344
345
utility::vector1< core::Size >
positions_
;
346
347
//conformation of the native
348
core::fragment::FragDataOP
native_conf_
;
349
350
//the protocol that this class belongs to
351
EnzdesFlexBBProtocolCAP
enzdes_protocol_
;
352
353
std::set< core::Size >
const
&
design_targets_
;
354
355
//a list that holds a designability score for each fragment
356
//(fragments accessed by their index in the base class FragData list)
357
utility::vector1< SizeRealPair >
frag_designabilities_
;
358
359
std::set< core::Size >
twelve_A_neighbors_
;
360
core::Real
target_proximity_to_native_conformation_
;
361
core::Real
target_proximity_to_other_conformations_
;
362
363
364
bool
remodelable_
;
365
core::Size
remodel_min_length_
,
remodel_max_length_
;
366
utility::vector1< std::string >
desired_remodel_ss_strings_
;
367
368
};
//class EnzdesFlexibleRegion
369
370
371
}
//namespace enzdes
372
}
//namespace protocols
373
374
375
376
377
#endif // INCLUDED_protocols_enzdes_EnzdesFixBBProtocol_HH
Generated on Sat Jun 1 2013 11:48:00 for Rosetta 3.5 by
1.8.4