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
rna
RNA_DeNovoProtocol.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 RNA_DeNovo_Protocol.hh
11
/// @brief
12
/// @detailed
13
///
14
/// @author Rhiju Das
15
16
17
#ifndef INCLUDED_protocols_rna_RNA_DeNovoProtocol_HH
18
#define INCLUDED_protocols_rna_RNA_DeNovoProtocol_HH
19
20
#include <
core/types.hh
>
21
#include <
protocols/moves/Mover.hh
>
22
#include <
core/pose/Pose.fwd.hh
>
23
#include <
protocols/rna/RNA_DataReader.fwd.hh
>
24
#include <
protocols/rna/RNA_Fragments.fwd.hh
>
25
#include <
protocols/rna/RNA_StructureParameters.hh
>
26
#include <
protocols/rna/RNA_LoopCloser.fwd.hh
>
27
#include <
protocols/rigid/RigidBodyMover.fwd.hh
>
28
#include <
core/scoring/rna/RNA_LowResolutionPotential.hh
>
29
#include <
core/scoring/constraints/ConstraintSet.fwd.hh
>
30
#include <
protocols/rna/RNA_FragmentMover.fwd.hh
>
31
#include <
protocols/rna/RNA_Minimizer.fwd.hh
>
32
#include <
protocols/rna/RNA_Relaxer.fwd.hh
>
33
#include <
protocols/rna/RNA_ChunkLibrary.fwd.hh
>
34
// AUTO-REMOVED #include <protocols/moves/MonteCarlo.hh>
35
// AUTO-REMOVED #include <core/scoring/ScoreFunction.hh>
36
37
//Oooh.
38
#include <ObjexxFCL/FArray1D.hh>
39
40
//// C++ headers
41
#include <cstdlib>
42
#include <string>
43
#include <list>
44
45
#include <
core/io/silent/silent.fwd.hh
>
46
#include <
core/scoring/ScoreFunction.fwd.hh
>
47
#include <
protocols/moves/MonteCarlo.fwd.hh
>
48
#include <utility/vector1.hh>
49
50
51
namespace
protocols {
52
namespace
rna {
53
54
/// @brief The RNA de novo structure modeling protocol
55
class
RNA_DeNovoProtocol
:
public
protocols::moves::Mover
{
56
public
:
57
58
/// @brief Construct the protocol object given
59
/// the RNA fragment library to use.
60
RNA_DeNovoProtocol
(
61
Size
const
nstruct,
62
std::string
const
silent_file,
63
bool
const
heat_structure =
true
,
64
bool
const
minimize_structure =
false
,
65
bool
const
relax_structure =
false
,
66
bool
const
allow_bulge =
false
);
67
68
~RNA_DeNovoProtocol
();
69
70
/// @brief Clone this object
71
virtual
protocols::moves::MoverOP
clone
()
const
;
72
73
/// @brief Apply the RNA denovo modeling protocol to the input pose
74
void
apply
(
core::pose::Pose
& pose );
75
76
virtual
std::string
get_name
()
const
;
77
78
void
79
set_dump_pdb
(
bool
const
setting ){
dump_pdb_
= setting; };
80
81
void
82
set_temperature
(
core::Real
const
setting ){
m_Temperature_
= setting; };
83
84
void
85
set_jump_library_file
(
std::string
const
jump_library_file ) {
86
jump_library_file_
= jump_library_file;
87
}
88
89
void
90
set_all_rna_fragments_file
(
std::string
const
file ) {
91
all_rna_fragments_file_
= file;
92
}
93
94
void
95
set_vall_torsions_file
(
std::string
const
file ) {
96
all_rna_fragments_file_
= file;
97
}
98
99
void
100
set_rna_params_file
(
std::string
const
file ) {
101
rna_params_file_
= file;
102
}
103
104
void
105
set_rna_data_file
(
std::string
const
file ) {
106
rna_data_file_
= file;
107
}
108
109
void
110
set_chunk_pdb_files
(
utility::vector1< std::string >
const
& chunk_pdb_files ) {
111
chunk_pdb_files_
= chunk_pdb_files;
112
}
113
114
void
115
set_chunk_silent_files
(
utility::vector1< std::string >
const
& chunk_silent_files ) {
116
chunk_silent_files_
= chunk_silent_files;
117
}
118
119
void
120
set_input_res
(
utility::vector1< Size >
const
& input_res ) {
121
input_res_
= input_res;
122
}
123
124
void
125
ignore_secstruct
(
bool
const
setting ) {
ignore_secstruct_
= setting; }
126
127
// No longer works -- need to specify allow_insert from a "params file"
128
// void
129
// set_allow_insert( FArray1D <bool> const & allow_insert ){ allow_insert_ = allow_insert; }
130
131
void
132
jump_change_frequency
(
core::Real
const
value ){
jump_change_frequency_
= value; }
133
134
void
135
set_close_loops
(
bool
const
setting ){
136
close_loops_at_end_
= setting;
137
if
(
close_loops_at_end_
)
binary_rna_output_
=
true
;
138
}
139
140
void
141
set_close_loops_after_each_move
(
bool
const
setting ){
close_loops_after_each_move_
= setting; }
142
143
void
144
simple_rmsd_cutoff_relax
(
bool
const
setting ){
simple_rmsd_cutoff_relax_
= setting; }
145
146
void
147
output_lores_silent_file
(
bool
const
setting ){
output_lores_silent_file_
= setting; }
148
149
void
150
set_filter_lores_base_pairs
(
bool
const
setting ){
filter_lores_base_pairs_
= setting; }
151
152
void
153
set_filter_lores_base_pairs_early
(
bool
const
setting ){
154
filter_lores_base_pairs_early_
= setting;
155
if
(
filter_lores_base_pairs_early_
)
filter_lores_base_pairs_
=
true
;
156
}
157
158
void
159
set_filter_chain_closure
(
bool
const
setting ){
filter_chain_closure_
= setting; }
160
161
void
162
set_filter_chain_closure_distance
(
core::Real
const
setting ){
filter_chain_closure_distance_
= setting; }
163
164
void
165
set_filter_chain_closure_halfway
(
bool
const
setting ){
filter_chain_closure_halfway_
= setting; }
166
167
void
168
set_binary_rna_output
(
bool
const
setting ){
binary_rna_output_
= setting; }
169
170
void
171
set_suppress_bp_constraint
(
core::Real
const
setting ){
suppress_bp_constraint_
= setting; }
172
173
void
174
set_lores_scorefxn
(
std::string
const
& lores_scorefxn ){
lores_scorefxn_
= lores_scorefxn; }
175
176
void
177
set_vary_bond_geometry
(
bool
const
setting ){
178
vary_bond_geometry_
= setting;
179
if
(
vary_bond_geometry_
)
binary_rna_output_
=
true
;
180
}
181
182
void
183
output_to_silent_file
(
core::pose::Pose
& pose,
std::string
const
& silent_file,
std::string
const
& out_file_tag,
bool
const
score_only =
false
)
const
;
184
185
void
186
align_and_output_to_silent_file
(
core::pose::Pose
& pose,
std::string
const
& silent_file,
std::string
const
& out_file_tag )
const
;
187
188
void
189
set_staged_constraints
(
bool
const
setting ){
staged_constraints_
= setting; }
190
191
void
192
set_allow_consecutive_bulges
(
bool
const
setting ){
allow_consecutive_bulges_
= setting; };
193
194
void
195
set_chainbreak_weight
(
core::Real
setting ){
chainbreak_weight_
= setting; }
196
197
void
198
set_linear_chainbreak_weight
(
core::Real
setting ){
linear_chainbreak_weight_
= setting; }
199
200
void
201
set_allowed_bulge_res
(
utility::vector1< core::Size >
const
& setting ){
allowed_bulge_res_
= setting; };
202
203
void
204
set_move_first_rigid_body
(
bool
const
setting ){
move_first_rigid_body_
= setting; }
205
206
void
207
set_root_at_first_rigid_body
(
bool
const
setting ){
root_at_first_rigid_body_
= setting; }
208
209
void
210
set_output_filters
(
bool
const
setting ){
output_filters_
= setting; }
211
212
void
213
set_autofilter
(
bool
const
setting ){
autofilter_
= setting; }
214
215
void
216
set_monte_carlo_cycles
(
Size
const
setting ){
monte_carlo_cycles_
= setting;
user_defined_cycles_
=
true
; }
217
218
void
219
set_extra_minimize_res
(
utility::vector1< core::Size >
setting );
220
221
private
:
222
223
void
224
initialize_movers
(
core::pose::Pose
& pose );
225
226
void
227
setup_monte_carlo_cycles
(
core::pose::Pose
const
& pose );
228
229
utility::vector1< Size >
230
get_moving_res
(
core::pose::Pose
const
& pose )
const
;
231
232
void
233
initialize_lores_silent_file
();
234
235
void
236
initialize_constraints
(
core::pose::Pose
& pose );
237
238
void
239
initialize_scorefxn
(
core::pose::Pose
& pose );
240
241
void
242
initialize_tag_is_done
();
243
244
void
245
setup_rigid_body_mover
(
core::pose::Pose
const
& pose,
core::Size
const
r,
core::Size
const
rounds );
246
247
248
void
249
output_silent_struct
(
core::io::silent::SilentStruct
& s,
250
core::io::silent::SilentFileData
& silent_file_data,
251
std::string
const
& silent_file,
252
core::pose::Pose
& pose,
253
std::string
const
out_file_tag,
254
bool
const
score_only =
false
)
const
;
255
256
void
257
do_random_moves
(
core::pose::Pose
& pose );
258
259
void
260
randomize_rigid_body_orientations
(
core::pose::Pose
& pose );
261
262
void
263
update_denovo_scorefxn_weights
(
Size
const
& r,
Size
const
& rounds );
264
265
Size
266
figure_out_constraint_separation_cutoff
(
Size
const
& r,
Size
const
& rounds,
Size
const
& max_dist );
267
268
void
269
update_pose_constraints
(
Size
const
& r,
Size
const
& rounds,
core::pose::Pose
& pose );
270
271
void
272
update_frag_size
(
Size
const
& r,
Size
const
& rounds );
273
274
void
275
random_fragment_trial
(
core::pose::Pose
& pose );
276
277
bool
278
random_chunk_trial
(
core::pose::Pose
& pose );
279
280
void
281
random_jump_trial
(
core::pose::Pose
& pose );
282
283
void
284
RNA_move_trial
(
core::pose::Pose
& pose );
285
286
void
287
add_number_base_pairs
(
core::pose::Pose
const
& pose_input,
core::io::silent::SilentStruct
& s )
const
;
288
289
void
290
add_number_native_base_pairs
(
core::pose::Pose
& pose,
core::io::silent::SilentStruct
& s )
const
;
291
292
void
293
calc_rmsds
(
core::io::silent::SilentStruct
& s,
core::pose::Pose
& pose,
std::string
const
& out_file_tag )
const
;
294
295
bool
296
check_score_filter
(
core::Real
const
lores_score_, std::list< core::Real > & all_lores_score_ );
297
298
void
299
apply_chem_shift_data
(
core::pose::Pose
& pose,
std::string
const
out_file_tag);
300
301
void
302
add_chem_shift_info
(
core::io::silent::SilentStruct
& silent_struct,
core::pose::Pose
const
& const_pose)
const
;
303
304
private
:
305
306
// protocol-specific data ... need to be specified as input.
307
Size
const
nstruct_
;
308
Size
monte_carlo_cycles_
;
309
Size
const
monte_carlo_cycles_max_default_
;
310
bool
user_defined_cycles_
;
311
std::string
all_rna_fragments_file_
;
312
std::string
const
silent_file_
;
313
std::string
lores_silent_file_
;
314
bool
const
heat_structure_
;
315
bool
dump_pdb_
;
316
bool
const
minimize_structure_
;
317
bool
const
relax_structure_
;
318
bool
ignore_secstruct_
;
319
320
bool
do_close_loops_
;
321
bool
close_loops_at_end_
;
322
bool
close_loops_in_last_round_
;
323
bool
close_loops_after_each_move_
;
324
325
bool
simple_rmsd_cutoff_relax_
;
326
bool
allow_bulge_
,
allow_consecutive_bulges_
;
327
328
bool
const
use_chem_shift_data_
;
329
330
// parameters
331
core::Real
m_Temperature_
;
// default temperature for monte carlo
332
Size
frag_size_
;
333
334
protocols::moves::MonteCarloOP
monte_carlo_
;
335
336
protocols::rna::RNA_FragmentsOP
all_rna_fragments_
;
337
protocols::rna::RNA_FragmentMoverOP
rna_fragment_mover_
;
338
protocols::rna::RNA_LoopCloserOP
rna_loop_closer_
;
339
protocols::rna::RNA_ChunkLibraryOP
rna_chunk_library_
;
340
protocols::rna::RNA_MinimizerOP
rna_minimizer_
;
341
protocols::rna::RNA_RelaxerOP
rna_relaxer_
;
342
protocols::rigid::RigidBodyPerturbMoverOP
rigid_body_mover_
;
343
344
std::string
rna_params_file_
;
345
std::string
rna_data_file_
;
346
std::string
jump_library_file_
;
347
// This object will actually hold the jump library...
348
RNA_StructureParametersOP
rna_structure_parameters_
;
349
RNA_DataReaderOP
rna_data_reader_
;
350
351
bool
output_lores_silent_file_
;
352
353
bool
filter_lores_base_pairs_
;
354
bool
filter_lores_base_pairs_early_
;
355
356
bool
filter_chain_closure_
;
357
core::Real
filter_chain_closure_distance_
;
358
bool
filter_chain_closure_halfway_
;
359
360
bool
vary_bond_geometry_
;
361
bool
binary_rna_output_
;
362
363
core::scoring::constraints::ConstraintSetOP
constraint_set_
;
364
365
core::Real
jump_change_frequency_
;
366
367
std::map< std::string, bool >
tag_is_done_
;
368
369
std::string
lores_scorefxn_
;
370
core::scoring::ScoreFunctionOP
denovo_scorefxn_
,
hires_scorefxn_
;
371
core::scoring::ScoreFunctionOP
chem_shift_scorefxn_
;
372
core::scoring::ScoreFunctionOP
initial_denovo_scorefxn_
;
373
core::scoring::rna::RNA_LowResolutionPotential
local_rna_low_resolution_potential_
;
374
375
utility::vector1< std::string >
chunk_pdb_files_
;
376
utility::vector1< std::string >
chunk_silent_files_
;
377
utility::vector1< core::Size >
input_res_
;
378
utility::vector1< core::Size >
allowed_bulge_res_
;
379
utility::vector1< core::Size >
extra_minimize_res_
;
380
core::Real
chunk_coverage_
;
381
382
bool
staged_constraints_
;
383
384
core::Real
chainbreak_weight_
;
385
core::Real
linear_chainbreak_weight_
;
386
387
bool
titrate_stack_bonus_
;
388
bool
move_first_rigid_body_
;
389
bool
root_at_first_rigid_body_
;
390
core::Real
suppress_bp_constraint_
;
391
392
bool
output_filters_
;
393
core::Real
lores_score_early_
;
394
core::Real
lores_score_final_
;
395
bool
autofilter_
;
396
core::Real
autofilter_score_quantile_
;
397
std::list< core::Real >
all_lores_score_final_
;
398
399
};
// class RNA_DeNovoProtocol
400
401
402
403
}
404
}
// protocols
405
406
#endif
Generated on Sat Jun 1 2013 12:09:48 for Rosetta 3.5 by
1.8.4