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
abinitio
KinematicAbinitio.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
11
/// @brief Abinitio - Type sampling controlled by KinematicControl object
12
/// @detailed
13
/// @author Oliver Lange
14
///
15
16
17
#ifndef INCLUDED_protocols_abinitio_KinematicAbinitio_hh
18
#define INCLUDED_protocols_abinitio_KinematicAbinitio_hh
19
20
21
// Unit Headers
22
#include <
protocols/abinitio/KinematicAbinitio.fwd.hh
>
23
24
#ifdef PYROSETTA
25
//#include <core/fragment/Frame.hh>
26
#include <
core/fragment/FragData.hh
>
27
#endif
28
29
30
// Package Headers
31
#include <
protocols/abinitio/FoldConstraints.hh
>
32
#include <
protocols/abinitio/KinematicControl.hh
>
33
#include <
protocols/jumping/JumpSetup.hh
>
34
35
#include <
protocols/simple_moves/FragmentMover.fwd.hh
>
36
37
// Project Headers
38
#include <
core/pose/Pose.fwd.hh
>
39
#include <
core/kinematics/MoveMap.fwd.hh
>
40
#include <
core/kinematics/ShortestPathInFoldTree.fwd.hh
>
41
#include <
core/kinematics/FoldTree.fwd.hh
>
42
43
44
45
#include <
core/fragment/FragSet.fwd.hh
>
46
47
#include <
protocols/loops/loop_closure/ccd/SlidingWindowLoopClosure.hh
>
48
49
#include <
core/types.hh
>
50
51
#include <
core/scoring/constraints/ConstraintSet.hh
>
52
53
#include <utility/vector1.hh>
54
55
56
// ObjexxFCL Headers
57
58
// Utility headers
59
60
//// C++ headers
61
62
63
64
namespace
protocols {
65
namespace
abinitio {
66
67
class
KinematicAbinitio
:
public
FoldConstraints
{
68
typedef
FoldConstraints
Parent
;
69
public
:
70
KinematicAbinitio
(
71
simple_moves::FragmentMoverOP
brute_move_small
,
72
simple_moves::FragmentMoverOP
brute_move_large
,
73
simple_moves::FragmentMoverOP
smooth_move_small
,
74
int
dummy
/* otherwise the two constructors are ambigous */
75
);
76
77
KinematicAbinitio
(
78
core::fragment::FragSetCOP
fragset3mer,
79
core::fragment::FragSetCOP
fragset9mer,
80
core::kinematics::MoveMapCOP
movemap
81
);
82
83
~KinematicAbinitio
();
84
85
virtual
moves::MoverOP
clone
()
const
{
86
return
new
KinematicAbinitio
(*
this
);
87
}
88
89
static
void
register_options
();
90
91
virtual
void
apply
(
core::pose::Pose
& pose );
92
virtual
std::string
get_name
()
const
;
93
virtual
void
set_max_seq_sep
(
core::pose::Pose
& pose,
Size
setting );
94
95
// @brief overload to do start extra-round of jump_cycles()
96
virtual
bool
prepare_stage1
(
core::pose::Pose
&pose );
97
virtual
bool
prepare_stage2
(
core::pose::Pose
&pose );
98
virtual
bool
prepare_stage3
(
core::pose::Pose
&pose );
99
100
//@brief called in each iteration of inner loop in stage3 before stage3_cycles_ of trials commence
101
virtual
bool
prepare_loop_in_stage3
(
102
core::pose::Pose
&,
103
Size
,
/* loop_iteration*/
104
Size
/* total_iterations */
105
);
106
107
//@brief called in each iteration of the loop in stage4 before the stage4_cycles_ of trials commence
108
virtual
bool
prepare_loop_in_stage4
(
109
core::pose::Pose
&,
110
Size
,
/* loop_iteration*/
111
Size
/* total_iterations */
112
);
113
114
//@brief returns the Mover that is applied inside the stage3 double loop
115
//overload from ClassicAbinitio to perform also some wobble-type random moves
116
virtual
moves::TrialMoverOP
117
stage1_mover
(
core::pose::Pose
&pose,
moves::TrialMoverOP
trials_in );
118
119
120
//@brief returns the Mover that is applied inside the stage3 double loop
121
//overload from ClassicAbinitio to perform also some wobble-type random moves
122
virtual
moves::TrialMoverOP
123
stage2_mover
(
core::pose::Pose
&pose,
moves::TrialMoverOP
trials_in );
124
125
//@brief returns the Mover that is applied inside the stage3 double loop
126
//overload from ClassicAbinitio to perform also some wobble-type random moves
127
virtual
moves::TrialMoverOP
128
stage3_mover
(
core::pose::Pose
&pose,
int
lct1,
int
lct2,
moves::TrialMoverOP
trials_in );
129
130
//@brief returns the Mover that is applied inside the stage3 double loop
131
//overload from ClassicAbinitio to perform also some wobble-type random moves
132
virtual
moves::TrialMoverOP
133
stage4_mover
(
core::pose::Pose
&pose,
int
kk,
moves::TrialMoverOP
trials_in );
134
135
///@brief set the closure_protocol... if not set no closure...
136
void
137
closure_protocol
(
loops::loop_closure::ccd::SlidingWindowLoopClosureOP
closure_protocol
) {
138
closure_protocol_
=
closure_protocol
;
139
}
140
141
protected
:
142
//@brief assigns default score-functions to the 4 stages--> score0 / score1 / (score2/score5) / score3
143
virtual
void
set_default_scores
();
144
145
//@brief read out cmd-line options
146
virtual
void
set_default_options
();
147
148
//@brief overload to set the kinematic control score-terms
149
virtual
void
replace_scorefxn
(
core::pose::Pose
& pose,
StageID
,
core::Real
intra_stage_progress );
150
151
private
:
152
//@brief helper method to create_bb_moves for the stage3_- and stage4_mover methods.
153
moves::MoverOP
154
create_bb_moves
(
155
core::pose::Pose
&pose,
156
moves::MoverOP
std_moves,
157
bool
bLargeWobble,
158
core::Real
crank_up_angle
159
);
160
161
//@brief dump the "jump.log" files
162
void
dump_jump_log
(
core::pose::Pose
& pose,
std::string
const
& file_name );
163
164
//@brief combines the jump_mover() with stdmove and returns the new Combimover
165
moves::MoverOP
166
create_jump_moves
(
moves::MoverOP
stdmove );
167
168
//@brief chainbreak weight is ramped up during stage3 and stage4
169
bool
bRampChainbreaks_
;
170
171
//@brief overlap chainbreak will be ramped in in stage4
172
bool
bOverlapChainbreaks_
;
173
174
//@brief if set we attempt loop-closing
175
loops::loop_closure::ccd::SlidingWindowLoopClosureOP
closure_protocol_
;
176
177
core::scoring::constraints::ConstraintSetOP
full_constraint_set_
;
178
179
};
180
181
182
183
class
JumpingFoldConstraintsWrapper
:
public
KinematicAbinitio
{
184
typedef
KinematicAbinitio
Parent
;
185
public
:
186
JumpingFoldConstraintsWrapper
(
187
simple_moves::FragmentMoverOP
brute_move_small
,
188
simple_moves::FragmentMoverOP
brute_move_large
,
189
simple_moves::FragmentMoverOP
smooth_move_small
,
190
jumping::BaseJumpSetupOP
jump_def,
191
int
dummy
/* otherwise the two constructors are ambigous */
192
);
193
194
JumpingFoldConstraintsWrapper
(
195
core::fragment::FragSetCOP
fragset3mer,
196
core::fragment::FragSetCOP
fragset9mer,
197
core::kinematics::MoveMapCOP
movemap
,
198
jumping::BaseJumpSetupOP
jump_def
199
);
200
201
virtual
moves::MoverOP
clone
()
const
{
202
return
new
JumpingFoldConstraintsWrapper
(*
this
);
203
}
204
205
//static void register_options();
206
207
virtual
void
apply
(
core::pose::Pose
& pose );
208
virtual
std::string
get_name
()
const
;
209
210
protected
:
211
212
private
:
213
//@brief The generally possible jumps, --> used to generate JumpSamples for each run
214
jumping::BaseJumpSetupOP
jump_def_
;
215
//loops::SlidingWindowLoopClosureOP closure_protocol_;
216
};
217
218
219
220
}
//abinitio
221
}
// protocols
222
223
#endif
224
Generated on Sat Jun 1 2013 11:41:32 for Rosetta 3.5 by
1.8.4