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
JumpingFoldConstraints.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 FoldConstraints.hh
11
/// @brief Abinitio-Folding under (distance-)constraints
12
/// @detailed
13
/// extension of classic Foldconstraints Protocol to enable jumping
14
///
15
///
16
/// @author Oliver Lange
17
18
19
#ifndef INCLUDED_protocols_abinitio_JumpingFoldConstraints_hh
20
#define INCLUDED_protocols_abinitio_JumpingFoldConstraints_hh
21
22
23
// Unit Headers
24
// #include <core/fragment/JumpingFoldConstraints.fwd.hh>
25
26
// Package Headers
27
#include <
protocols/abinitio/FoldConstraints.hh
>
28
// AUTO-REMOVED #include <protocols/abinitio/KinematicAbinitio.hh>
29
#include <
protocols/jumping/JumpSetup.hh
>
30
31
#include <
protocols/simple_moves/FragmentMover.fwd.hh
>
32
33
// Project Headers
34
#include <
core/pose/Pose.hh
>
35
#include <
core/kinematics/MoveMap.fwd.hh
>
36
#include <
core/kinematics/ShortestPathInFoldTree.fwd.hh
>
37
#include <
core/kinematics/FoldTree.fwd.hh
>
38
39
#include <
core/fragment/FragSet.fwd.hh
>
40
41
#include <
core/types.hh
>
42
43
//Auto Headers
44
#include <
core/fragment/FragSet.hh
>
45
46
47
// ObjexxFCL Headers
48
49
// Utility headers
50
51
//// C++ headers
52
53
54
55
namespace
protocols {
56
namespace
abinitio {
57
58
59
class
JumpingFoldConstraints
:
public
FoldConstraints
{
60
typedef
FoldConstraints
Parent
;
61
public
:
62
JumpingFoldConstraints
(
63
simple_moves::FragmentMoverOP
brute_move_small
,
64
simple_moves::FragmentMoverOP
brute_move_large
,
65
simple_moves::FragmentMoverOP
smooth_move_small
,
66
jumping::BaseJumpSetupOP
jump_def,
67
int
dummy
/* otherwise the two constructors are ambigous */
68
);
69
70
JumpingFoldConstraints
(
71
core::fragment::FragSetCOP
fragset3mer,
72
core::fragment::FragSetCOP
fragset9mer,
73
core::kinematics::MoveMapCOP
movemap
,
74
jumping::BaseJumpSetupOP
jump_def
75
);
76
~JumpingFoldConstraints
() {};
77
virtual
moves::MoverOP
clone
()
const
{
78
return
new
JumpingFoldConstraints
(*
this
);
79
}
80
81
static
void
register_options
();
82
83
virtual
void
apply
(
core::pose::Pose
& pose );
84
virtual
void
set_max_seq_sep
(
core::pose::Pose
& pose,
Size
setting );
85
void
set_native_pose
(
core::pose::Pose
const
& native_pose);
//keeps a copy
86
void
set_defeat_purpose
(
bool
setting ) {
87
bChainbreaksAlwaysActive_
= setting;
88
}
89
90
// @brief overload to do start extra-round of jump_cycles()
91
virtual
bool
prepare_stage1
(
core::pose::Pose
&pose );
92
virtual
bool
prepare_stage2
(
core::pose::Pose
&pose );
93
virtual
bool
prepare_stage3
(
core::pose::Pose
&pose );
94
95
//@brief called in each iteration of inner loop in stage3 before stage3_cycles_ of trials commence
96
virtual
bool
prepare_loop_in_stage3
(
97
core::pose::Pose
&,
98
Size
,
/* loop_iteration*/
99
Size
/* total_iterations */
100
);
101
102
//@brief called in each iteration of the loop in stage4 before the stage4_cycles_ of trials commence
103
virtual
bool
prepare_loop_in_stage4
(
104
core::pose::Pose
&,
105
Size
,
/* loop_iteration*/
106
Size
/* total_iterations */
107
);
108
109
110
//@brief cycles-trial moves of jump_frags_
111
void
jump_cycles
(
core::pose::Pose
& pose,
Size
cycles );
112
113
//@brief returns the Mover that is applied inside the stage3 double loop
114
//overload from ClassicAbinitio to perform also some wobble-type random moves
115
moves::TrialMoverOP
116
stage2_mover
(
core::pose::Pose
&pose,
moves::TrialMoverOP
trials_in );
117
118
//@brief returns the Mover that is applied inside the stage3 double loop
119
//overload from ClassicAbinitio to perform also some wobble-type random moves
120
moves::TrialMoverOP
121
stage3_mover
(
core::pose::Pose
&pose,
int
lct1,
int
lct2,
moves::TrialMoverOP
trials_in );
122
123
//@brief returns the Mover that is applied inside the stage3 double loop
124
//overload from ClassicAbinitio to perform also some wobble-type random moves
125
moves::TrialMoverOP
126
stage4_mover
(
core::pose::Pose
&pose,
int
kk,
moves::TrialMoverOP
trials_in );
127
128
protected
:
129
virtual
void
setup_default_min_move
();
130
131
//@brief assigns default score-functions to the 4 stages--> score0 / score1 / (score2/score5) / score3
132
virtual
void
set_default_scores
();
133
134
//@brief read out cmd-line options
135
virtual
void
set_default_options
();
136
137
private
:
138
//@brief helper method to create_bb_moves for the stage3_- and stage4_mover methods.
139
moves::MoverOP
140
create_bb_moves
(
141
core::pose::Pose
&pose,
142
moves::MoverOP
std_moves,
143
bool
bLargeWobble,
144
core::Real
crank_up_angle
145
);
146
147
//@brief helper method to create_bb_moves for the stage3_- and stage4_mover methods.
148
moves::MoverOP
149
create_jump_moves
(
moves::MoverOP
stdmove );
150
151
void
setup_foldtree
(
core::pose::Pose
& );
152
153
//@brief The generally possible jumps, --> used to generate JumpSamples for each run
154
jumping::BaseJumpSetupOP
jump_def_
;
155
156
//@brief if true chainbreaks are active from step 1
157
bool
bChainbreaksAlwaysActive_
;
158
159
//@brief chainbreak weight is ramped up during stage3 and stage4
160
bool
bRampChainbreaks_
;
161
162
//@brief overlap chainbreak will be ramped in in stage4
163
bool
bOverlapChainbreaks_
;
164
165
//@brief use jumps from ss-pair library
166
bool
bSampleJumps_
;
167
168
//@brief steal jump-geometry from native structure
169
//( i.e., add them temporarily to ss-pair library )
170
bool
bStealJumps_
;
171
172
//@brief sample jumps from ss-library also during fragment insertion
173
bool
bJumpFragMoves_
;
174
175
//@brief the current set of jumps and chainbreaks
176
jumping::JumpSample
current_jumps_
;
177
178
core::pose::PoseOP
native_pose_
;
// this is to be able to copy jumps from native structure
179
core::pose::Pose
starting_pose_
;
// this is to be able to rewind folding after jumps have been sampled
180
181
core::fragment::FragSetOP
pure_large_frags_
;
//keep these so that we can create
182
core::fragment::FragSetOP
jump_frags_
;
//keep these so that we can create
183
184
Size
nr_jump_cycles_
;
// controls number of pure-jump moves at beginning of each stage
185
186
};
187
188
189
190
}
//abinitio
191
}
// protocols
192
193
#endif
194
195
Generated on Sat Jun 1 2013 11:41:28 for Rosetta 3.5 by
1.8.4