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
relax
RelaxProtocolBase.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 relax_initialization_protocols
11
/// @brief initialization protocols for relax
12
/// @detailed
13
/// Contains currently: Relax Baseclass
14
///
15
///
16
/// @author Mike Tyka
17
18
19
#ifndef INCLUDED_protocols_relax_RelaxProtocolBase_hh
20
#define INCLUDED_protocols_relax_RelaxProtocolBase_hh
21
22
// Unit headers
23
#include <
protocols/relax/RelaxProtocolBase.fwd.hh
>
24
25
// Package headers
26
#include <
protocols/moves/Mover.hh
>
27
28
// Project headers
29
#include <
core/pose/Pose.fwd.hh
>
30
#include <
core/scoring/ScoreFunction.fwd.hh
>
31
// AUTO-REMOVED #include <core/pack/task/TaskFactory.hh>
32
33
//// C++ headers
34
#include <string>
35
36
#include <
core/kinematics/MoveMap.fwd.hh
>
37
#include <
core/pack/task/TaskFactory.fwd.hh
>
38
#include <utility/vector1.hh>
39
40
namespace
protocols {
41
namespace
relax {
42
43
class
RelaxProtocolBase
:
public
moves::Mover
{
44
public
:
45
typedef
moves::Mover
parent
;
46
47
public
:
48
49
RelaxProtocolBase
(
core::scoring::ScoreFunctionOP
);
50
RelaxProtocolBase
(
std::string
const
& movername =
"RelaxProtocol"
);
51
RelaxProtocolBase
(
std::string
const
& movername,
core::scoring::ScoreFunctionOP
);
52
~RelaxProtocolBase
();
53
54
virtual
protocols::moves::MoverOP
fresh_instance
()
const
{
return
clone
(); };
55
56
static
void
register_options
();
57
58
// Default options -------------------------------------
59
void
set_defaults
();
60
void
set_default_minimization_settings
();
61
void
set_default_coordinate_settings
();
62
void
set_default_movemap
();
63
64
protected
:
65
66
void
initialize_movemap
(
core::pose::Pose
const
& pose,
core::kinematics::MoveMap
& movemap );
67
68
public
:
69
// Accesors -------------------------------------
70
71
void
minimize_bond_lengths
(
bool
setting );
72
void
minimize_bond_angles
(
bool
setting );
73
void
minimize_bondlength_subset
(
int
setting );
74
void
minimize_bondangle_subset
(
int
setting );
75
76
bool
minimize_bond_lengths
()
const
;
77
bool
minimize_bond_angles
()
const
;
78
int
minimize_bondlength_subset
()
const
;
79
int
minimize_bondangle_subset
()
const
;
80
81
bool
constrain_relax_to_native_coords
()
const
{
return
constrain_relax_to_native_coords_
;}
82
bool
constrain_relax_to_start_coords
()
const
{
return
constrain_relax_to_start_coords_
;}
83
bool
constrain_coords
()
const
{
return
constrain_coords_
;}
84
bool
explicit_ramp_constraints
()
const
{
return
explicit_ramp_constraints_
;}
85
bool
ramp_down_constraints
()
const
{
return
ramp_down_constraints_
;}
86
bool
constrain_relax_segments
()
const
{
return
constrain_relax_segments_
;}
87
88
bool
limit_aroma_chi2
()
const
{
return
limit_aroma_chi2_
; }
89
90
void
constrain_relax_to_native_coords
(
bool
constrain_relax_to_native_coords
) {
91
constrain_relax_to_native_coords_
=
constrain_relax_to_native_coords
;
92
}
93
void
constrain_relax_to_start_coords
(
bool
constrain_relax_to_start_coords
) {
94
constrain_relax_to_start_coords_
=
constrain_relax_to_start_coords
;
95
}
96
void
constrain_coords
(
bool
constrain_coords
) {
97
constrain_coords_
=
constrain_coords
;
98
}
99
void
ramp_down_constraints
(
bool
ramp_down_constraints
) {
100
explicit_ramp_constraints_
=
true
;
101
ramp_down_constraints_
=
ramp_down_constraints
;
102
}
103
void
constrain_relax_segments
(
bool
constrain_relax_segments
) {
104
constrain_relax_segments_
=
constrain_relax_segments
;
105
}
106
107
// get/set cartesian minimization option
108
void
cartesian
(
bool
newval ) {
cartesian_
= newval; }
109
bool
cartesian
( )
const
{
return
cartesian_
; }
110
111
core::kinematics::MoveMapOP
get_movemap
();
112
void
set_movemap
(
core::kinematics::MoveMapOP
movemap );
113
114
void
set_min_type
(
std::string
min_type );
115
116
public
:
117
void
set_scorefxn
(
core::scoring::ScoreFunctionOP
score );
118
const
core::scoring::ScoreFunctionCOP
get_scorefxn
()
const
;
119
120
void
set_task_factory
(
core::pack::task::TaskFactoryOP
taskf );
121
core::pack::task::TaskFactoryOP
const
&
get_task_factory
()
const
;
122
123
void
set_dry_run
(
bool
setting ) {
124
dry_run_
= setting;
125
}
126
127
bool
dry_run
()
const
{
128
return
dry_run_
;
129
}
130
131
protected
:
132
core::scoring::ScoreFunctionOP
get_scorefxn
();
133
134
135
136
public
:
137
void
apply_disulfides
(
core::pose::Pose
& pose );
138
139
protected
:
140
void
set_up_constraints
(
core::pose::Pose
&pose,
core::kinematics::MoveMap
& local_movemap );
141
142
void
output_debug_structure
(
core::pose::Pose
& pose,
std::string
prefix );
143
144
145
146
147
148
private
:
// Essentially MoveMap settings
149
150
bool
minimize_bond_lengths_
;
151
bool
minimize_bond_angles_
;
152
int
minimize_bondangle_subset_
;
153
int
minimize_bondlength_subset_
;
154
155
protected
:
// Constraint settings
156
157
bool
constrain_relax_to_native_coords_
;
158
bool
constrain_relax_to_start_coords_
;
159
bool
constrain_coords_
;
160
bool
coord_constrain_sidechains_
;
161
bool
explicit_ramp_constraints_
;
162
bool
ramp_down_constraints_
;
163
bool
constrain_relax_segments_
;
164
165
// The minimizer algorithm
166
std::string
min_type_
;
167
168
/// Do cartesian-space minimization?
169
bool
cartesian_
;
170
171
172
protected
:
173
174
bool
limit_aroma_chi2_
;
175
176
private
:
// other private variables
177
178
// The movemap
179
core::kinematics::MoveMapOP
movemap_
;
180
181
// Fullatom scoring function used
182
core::scoring::ScoreFunctionOP
scorefxn_
;
183
184
/// task factory for packer ( used only FastRelax as of 11/05/2010 )
185
core::pack::task::TaskFactoryOP
task_factory_
;
186
187
/// @brief Is this a dry run (i.e. do no cycles)
188
bool
dry_run_
;
189
};
190
191
}
192
}
// protocols
193
194
#endif
Generated on Sat Jun 1 2013 12:08:59 for Rosetta 3.5 by
1.8.4