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
docking
TemperedDocking.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 TemperedDocking.hh
11
///
12
/// @brief allows low-resolution docking using simulated or parallel tempering
13
/// @author Oliver Lange
14
15
#ifndef INCLUDED_protocols_docking_TemperedDocking_hh
16
#define INCLUDED_protocols_docking_TemperedDocking_hh
17
18
// Unit Headers
19
#include <
protocols/docking/TemperedDocking.fwd.hh
>
20
21
// Package Headers
22
#include <
protocols/docking/types.hh
>
23
24
// Project Headers
25
#include <
core/types.hh
>
26
#include <
core/pose/Pose.fwd.hh
>
27
#include <
core/scoring/ScoreFunction.hh
>
28
#include <
core/kinematics/FoldTree.hh
>
29
30
#include <
protocols/moves/Mover.hh
>
31
#include <
protocols/rigid/RigidBodyMover.fwd.hh
>
32
#include <
protocols/canonical_sampling/MetropolisHastingsMover.fwd.hh
>
33
#include <
protocols/canonical_sampling/TemperingBase.fwd.hh
>
34
35
#include <utility/tag/Tag.fwd.hh>
36
37
38
// Utility Headers
39
#include <utility/vector1.hh>
40
41
// Numeric Headers
42
43
// ObjexxFCL Headers
44
45
// C++ headers
46
47
namespace
protocols {
48
namespace
docking
{
49
50
/// @brief allows docking using simulated or parallel tempering
51
/// @detailed
52
class
TemperedDocking
:
public
moves::Mover
53
{
54
public
:
55
/// @brief Associates relevant options with the TemperedDocking class
56
static
void
register_options
();
57
58
/// @brief default constructor fills values with the expected defaults
59
TemperedDocking
();
60
61
/// @brief clone
62
virtual
protocols::moves::MoverOP
clone
()
const
;
63
64
///@brief copy ctor
65
TemperedDocking
(
TemperedDocking
const
& rhs );
66
67
///@brief assignment operator
68
TemperedDocking
&
operator=
(
TemperedDocking
const
& rhs );
69
70
/// @brief Assigns default values to primitive members
71
void
set_defaults
();
72
73
/// @brief Instantiates non-primitive members based on the value of the primitive members
74
void
sync_objects_with_flags
();
75
76
/// @brief Sets the score function that will be used in the low-resolution phase
77
void
set_lowres_scorefxn
(
core::scoring::ScoreFunctionOP
docking_scorefxn_low );
78
79
/// @brief Sets the score function that will be used in the high-resolution phase.
80
/// The same score function will be used for evaluating moves, packing and discriminating
81
void
set_highres_scorefxn
(
core::scoring::ScoreFunctionOP
docking_scorefxn_high );
82
83
/// @brief Sets the score function that will be used in the high-resolution phase.
84
/// The first scorefunction will be used for evaluating moves and discriminating, the second will be used for packing
85
void
set_highres_scorefxn
(
86
core::scoring::ScoreFunctionCOP
docking_scorefxn_high,
87
core::scoring::ScoreFunctionCOP
docking_scorefxn_pack );
88
89
/// @brief Sets the score function that will be used in the high-resolution phase.
90
/// The first scorefunction will be used for evaluating moves, the second will be used for packing and the third for discriminating
91
void
set_highres_scorefxn
(
92
core::scoring::ScoreFunctionCOP
docking_scorefxn_high,
93
core::scoring::ScoreFunctionCOP
docking_scorefxn_pack,
94
core::scoring::ScoreFunctionCOP
docking_scorefxn_output);
95
96
void
set_sc_min
(
bool
sc_min );
97
98
virtual
void
apply
(
core::pose::Pose
& pose );
99
100
101
//getters for const access to movers and data of docking protocol
102
protocols::moves::MoverCOP
to_centroid
()
const
;
103
104
std::string
partners
()
const
{
return
partners_
;}
/// @brief returns the docking partners chain identifiers
105
106
virtual
std::string
get_name
()
const
{
return
"TemperedDocking"
; }
107
108
DockJumps
&
movable_jumps
(){
return
movable_jumps_
;}
///@brief returns ref to the jumps vector for docking
109
110
DockJumps
const
&
movable_jumps
()
const
{
return
movable_jumps_
; }
///@ return const ref to the jumps vector for docking
111
112
113
//setters
114
void
set_autofoldtree
(
bool
setting ){
autofoldtree_
= setting; }
115
116
void
set_partners
(
std::string
const
& setting ){
partners_
=setting; }
117
118
void
set_movable_jumps
(
DockJumps
const
& setting ){
movable_jumps_
= setting; }
119
120
void
set_use_constraints
(
bool
setting );
121
122
123
void
add_jump
(
core::SSize
const
jump_number ){
movable_jumps_
.push_back(
int
( jump_number ) ); }
124
void
show
( std::ostream & out=std::cout );
125
friend
std::ostream &
operator<<
(std::ostream& out,
const
TemperedDocking
& dp );
126
127
// function for the parser with lots of accessors
128
void
parse_my_tag
(
utility::tag::TagPtr
const
tag,
protocols::moves::DataMap
&,
protocols::filters::Filters_map
const
&,
protocols::moves::Movers_map
const
&,
core::pose::Pose
const
& );
129
130
protected
:
131
/// @brief Assigns user specified values to primitive members using command line options
132
void
init_from_options
();
133
134
/// @brief Performs the portion of setup of non-primitive members that requires a pose - called on apply
135
void
finalize_setup
(
core::pose::Pose
& pose );
136
137
/// @brief Sets up the instance of TemperedDocking and initializes all members based on values passed in at construction
138
/// or via the command line.
139
void
init
(
140
DockJumps
const
movable_jumps
,
141
core::scoring::ScoreFunctionCOP
docking_score_low,
142
core::scoring::ScoreFunctionCOP
docking_score_high
143
);
144
145
void
copy
(
TemperedDocking
& lhs,
TemperedDocking
const
& rhs);
146
147
void
setup_objects
();
148
149
private
:
150
/// information about the mode
151
bool
autofoldtree_
;
152
153
bool
flags_and_objects_are_in_sync_
;
154
bool
first_apply_with_current_setup_
;
155
156
bool
sc_min_
;
157
158
/// how many cycles of monte-carlo per trajectory in the sampler ?
159
core::Size
n_cycles_
;
160
161
core::kinematics::FoldTree
fold_tree_
;
162
std::string
partners_
;
163
164
std::string
previous_sequence_
;
165
166
/// jumps that rigid_body transformations can occur over
167
DockJumps
movable_jumps_
;
168
169
// score functions
170
core::scoring::ScoreFunctionCOP
docking_scorefxn_low_
;
171
core::scoring::ScoreFunctionCOP
docking_scorefxn_high_
;
172
core::scoring::ScoreFunctionCOP
docking_scorefxn_pack_
;
173
core::scoring::ScoreFunctionCOP
docking_scorefxn_output_
;
174
175
// constraint set mover
176
protocols::moves::MoverOP
docking_constraint_
;
177
178
protocols::rigid::RigidBodyPerturbNoCenterMoverOP
rb_mover_
;
179
protocols::canonical_sampling::TemperingBaseOP
tempering_
;
180
protocols::canonical_sampling::MetropolisHastingsMoverOP
sampler_
;
181
//if side-chains are to be taken from specified pdb file... it is set here...
182
std::string
recover_sidechains_filename_
;
183
184
protocols::moves::MoverOP
to_centroid_
;
185
186
bool
use_csts_
;
187
188
core::Real
rigid_rot_mag_
;
189
core::Real
rigid_trans_mag_
;
190
191
static
bool
options_registered_
;
192
193
};
194
}
// docking
195
}
// protocols
196
197
#endif
198
Generated on Sat Jun 1 2013 11:47:35 for Rosetta 3.5 by
1.8.4