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
loop_closure
ccd
SlidingWindowLoopClosure.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 src/protocols/abinitio/SlidingWindowLoopClosure.hh
11
/// @brief header file for SlidingWindowLoopClosure protocol
12
/// @detailed
13
/// Contains currently: Classic Abinitio
14
///
15
///
16
/// @author Oliver Lange
17
/// @author James Thompson
18
19
20
#ifndef INCLUDED_protocols_loops_loop_closure_ccd_SlidingWindowLoopClosure_hh
21
#define INCLUDED_protocols_loops_loop_closure_ccd_SlidingWindowLoopClosure_hh
22
23
// Unit Headers
24
#include <
protocols/loops/loop_closure/ccd/SlidingWindowLoopClosure.fwd.hh
>
25
26
// Package Headers
27
// AUTO-REMOVED #include <protocols/loops/Loops.hh>
28
#include <
protocols/moves/Mover.hh
>
29
30
// Project Headers
31
#include <
core/pose/Pose.fwd.hh
>
32
33
#include <
core/kinematics/MoveMap.fwd.hh
>
34
35
#include <
core/types.hh
>
36
37
#include <
core/scoring/ScoreFunction.hh
>
38
39
#include <
core/fragment/FragID.hh
>
40
#include <
core/fragment/FragSet.fwd.hh
>
41
#include <
core/fragment/OrderedFragSet.hh
>
42
43
//#include <protocols/simple_moves/FragmentMover.hh>
44
#include <
core/fragment/SecondaryStructure.hh
>
45
#include <
protocols/evaluation/PoseEvaluator.hh
>
46
// AUTO-REMOVED #include <protocols/evaluation/ConstraintEvaluator.hh>
47
48
// ObjexxFCL Headers
49
50
// Utility headers
51
#include <utility/pointer/ReferenceCount.hh>
52
53
//// C++ headers
54
// AUTO-REMOVED #include <cstdlib>
55
#include <string>
56
// AUTO-REMOVED #include <vector>
57
58
#include <
protocols/constraints_additional/ConstraintEvaluator.fwd.hh
>
59
#include <
protocols/loops/Loop.hh
>
60
#include <utility/vector1.hh>
61
62
63
namespace
protocols {
64
namespace
loops {
65
namespace
loop_closure {
66
namespace
ccd {
67
68
extern
std::string
const
VDW_FRAG_STORE
;
69
extern
std::string
const
SCORE_FRAG_STORE
;
70
extern
std::string
const
RMSD_FRAG_STORE
;
71
72
class
SlidingWindowLoopClosure
:
public
moves::Mover
{
73
public
:
74
///@brief constructor: supply fragsets for fragment moves
75
SlidingWindowLoopClosure
(
76
core::fragment::FragSetCOP
fragset,
77
core::scoring::ScoreFunctionOP
scorefxn
,
78
core::kinematics::MoveMapCOP
movemap
79
);
80
81
//@brief just set defaults -- expects fragset, scorefxn and movemap to be set later
82
SlidingWindowLoopClosure
();
83
84
~SlidingWindowLoopClosure
();
85
86
using
moves::Mover::apply
;
87
88
//@brief run find fragments that close loop (if ideal loop closing: such that the less_cut pose is close RMSD <0.1 to pose more_cut)
89
// returns less_cut and more_cut with best fragment already applied..
90
virtual
void
apply
(
core::pose::Pose
& more_cut,
core::pose::Pose
& less_cut );
91
virtual
std::string
get_name
()
const
;
92
93
//@brief run find fragments that close loop (if ideal loop closing: such that the less_cut pose is close RMSD <0.1 to pose more_cut)
94
// returns less_cut and more_cut with best fragment already applied..
95
virtual
void
sample_loops
(
core::pose::Pose
& more_cut,
core::pose::Pose
& less_cut );
96
97
//@brief run find fragments that close loop (if ideal loop closing: such that the less_cut pose is close RMSD <0.1 to pose more_cut)
98
// returns less_cut and more_cut with best fragment already applied..
99
virtual
void
select_final_loop
(
core::pose::Pose
& more_cut,
core::pose::Pose
& less_cut );
100
101
// returns less_cut and more_cut with best fragment already applied..
102
virtual
void
apply
(
core::pose::Pose
& more_cut );
103
104
static
void
setPoseExtraScores
(
core::pose::Pose
&pose );
105
106
//@brief return the list of collected fragments -- here it actually will be more than one Frame
107
core::fragment::FragSetCOP
108
closure_fragments
()
const
{
109
return
closure_fragments_
;
110
}
111
112
void
keep_fragments
(
bool
setting =
true
) {
113
bKeepFragments_
= setting;
114
}
115
116
void
output_debug_structure
(
core::pose::Pose
& pose,
std::string
prefix );
117
118
119
//@brief returns current movemap
120
core::kinematics::MoveMap
const
&
movemap
()
const
{
121
return
*
movemap_
;
122
}
123
124
//@brief sets the movemap
125
void
movemap
(
core::kinematics::MoveMapCOP
movemap );
126
127
core::scoring::ScoreFunction
const
&
scorefxn
()
const
{
128
return
*
scorefxn_
;
129
}
130
131
void
scorefxn
(
core::scoring::ScoreFunctionOP
sfxn ) {
132
scorefxn_
= sfxn;
133
}
134
135
//@brief set fragments for loop-sampling
136
void
137
fragments
(
core::fragment::FragSetCOP
frags ) {
138
ss_info_
=
new
core::fragment::SecondaryStructure
( *frags );
139
fragset_
= frags;
140
}
141
142
143
void
scored_frag_cycle_ratio
(
core::Real
setting ) {
144
scored_frag_cycle_ratio_
= setting;
145
}
146
147
void
short_frag_cycle_ratio
(
core::Real
setting ) {
148
short_frag_cycle_ratio_
= setting;
149
}
150
// //@brief override cycle setting
151
// void set_cycles( core::Real cycle_ratio = 1.0 );
152
void
set_bIdealLoopClosing
(
bool
setting ) {
153
bIdealLoopClosing_
= setting;
154
}
155
156
bool
bIdealLoopClosing
()
const
{
157
return
bIdealLoopClosing_
;
158
}
159
160
void
set_chainbreak_max
(
core::Real
setting ) {
161
chainbreak_max_
= setting;
162
}
163
164
void
165
set_evaluation
(
evaluation::MetaPoseEvaluatorOP
ev ) {
evaluator_
= ev; };
166
167
void
168
set_loop
(
Loop
const
& loop_in ) {
169
loop_
= loop_in;
170
}
171
172
Loop
determine_loop
(
core::pose::Pose
const
& more_cut,
core::pose::Pose
& less_cut );
173
174
protected
:
175
typedef
std::list< std::pair< core::Real, Loop > >
WindowList
;
176
void
generate_window_list
(
Size
loop_size,
WindowList
& window_list )
const
;
177
178
179
180
void
set_defaults
();
181
182
void
setup_frag_scorefxn
(
core::scoring::ScoreFunction
& scorefxn );
183
184
//@brief process fragments for loop-closing prowess, keep track of best_fragment
185
// return nr_of new good_loops ( vdw criterion )
186
Size
187
process_fragments
(
188
core::fragment::FrameList
& frame_in,
189
core::pose::Pose
const
& more_cut,
190
core::pose::Pose
const
& loop_pose
191
);
192
193
// ///@brief replace scorefxn
194
// void set_scorefxn( core::scoring::ScoreFunctionOP scorefxn ) {
195
// scorefxn_ = scorefxn;
196
// }
197
198
// void set_loop( Loop const& loop_in ) {
199
// loop_ = loop_in;
200
// }
201
202
// Loop const& loop() const {
203
// return loop_;
204
// }
205
206
// void init_mc();
207
208
// void set_movemap( core::kinematics::MoveMapCOP mm ) {
209
// movemap_ = mm;
210
// }
211
212
// void set_fragset( core::fragment::FragSetCOP frags ) {
213
// fragset_ = frags;
214
// }
215
216
bool
bQuickTest
()
const
{
217
return
bQuickTest_
;
218
}
219
220
/// return the score used for filtering ( scorefxn_ + filter_cst_weight_ * filter_cst_ )
221
core::Real
filter_score
(
core::pose::Pose
& pose );
222
223
224
protected
:
225
// min_begin and max_end as well as cutpoint are stored here after call to init
226
Loop
loop_
;
227
228
core::scoring::ScoreFunctionOP
scorefxn_
;
//score3
229
230
//@brief movemap --> which dofs can be moved during loops
231
core::kinematics::MoveMapCOP
movemap_
;
232
233
//@brief a MonteCarlo object -- set_default_mc() , access: mc()
234
//moves::MonteCarloOP mc_; not used
235
236
core::fragment::FragSetCOP
fragset_
;
237
238
core::fragment::SecondaryStructureOP
ss_info_
;
239
240
core::Size
min_loop_size_
;
// = 6;
241
core::Size
max_loop_size_
;
// = 12;
242
core::Size
min_good_loops_
;
// = 3;
243
core::Size
min_breakout_good_loops_
;
//=5;
244
core::Real
vdw_delta_
;
// = 0.5;
245
core::Real
chainbreak_max_
;
//=2.0
246
core::Real
score_delta_
;
//
247
core::Real
scored_frag_cycle_ratio_
;
248
core::Real
short_frag_cycle_ratio_
;
249
core::scoring::ScoreType
vdw_score_type_
;
// = scoring::vdw
250
251
bool
bKeepFragments_
;
252
core::fragment::OrderedFragSetOP
closure_fragments_
;
253
254
core::Real
best_score_
;
255
core::fragment::FragID
best_fragment_
;
256
257
bool
bQuickTest_
;
258
259
//@brief if this flag is set the changes are made to the pose without a chainbreak ( new fold-tree )
260
// thus the loop-fragments are applied to either an idealized chain (if true) or to a loop with chainbreak
261
// loop-fragments are ranked by score of the resulting pose
262
bool
bIdealLoopClosing_
;
//default=true,
263
264
evaluation::MetaPoseEvaluatorOP
evaluator_
;
265
266
constraints_additional::ConstraintEvaluatorOP
filter_cst_
;
267
core::Real
filter_cst_weight_
;
268
269
};
270
271
}
// namespace ccd
272
}
// namespace loop_closure
273
}
// namespace loops
274
}
// namespace protocols
275
276
#endif //INCLUDED_protocols_loops_loop_closure_ccd_SlidingWindowLoopClosure_hh
Generated on Sat Jun 1 2013 11:57:53 for Rosetta 3.5 by
1.8.4