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
enzdes
EnzFilters.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 protocols/enzdes/EnzFilters.hh
11
/// @brief definition of filter classes for enzdes in rosetta_scripts framework
12
/// @author Sagar Khare (khares@uw.edu)
13
/// @author Roland A Pache
14
15
#ifndef INCLUDED_protocols_enzdes_EnzFilters_hh
16
#define INCLUDED_protocols_enzdes_EnzFilters_hh
17
18
// unit headers
19
#include <
protocols/enzdes/EnzFilters.fwd.hh
>
20
21
// package headers
22
#include <
protocols/enzdes/DesignVsNativeComparison.hh
>
23
#include <
protocols/toolbox/match_enzdes_util/EnzConstraintIO.fwd.hh
>
24
25
// Project Headers
26
#include <
core/io/silent/SilentEnergy.hh
>
27
#include <
core/pose/Pose.fwd.hh
>
28
#include <
core/scoring/ScoreType.hh
>
29
#include <
core/scoring/ScoreFunction.hh
>
30
31
#include <
protocols/filters/Filter.hh
>
32
#include <
protocols/moves/DataMap.fwd.hh
>
33
#include <
protocols/moves/Mover.fwd.hh
>
34
#include <utility/tag/Tag.fwd.hh>
35
36
#include <utility/vector1.hh>
37
38
39
namespace
protocols {
40
namespace
enzdes {
41
42
43
class
LigDSasaFilter
:
public
protocols::filters::Filter
{
44
45
public
:
46
47
typedef
protocols::filters::Filter
Filter
;
48
typedef
protocols::filters::FilterOP
FilterOP
;
49
typedef
protocols::filters::Filters_map
Filters_map
;
50
51
public
:
52
LigDSasaFilter
() :
Filter
(
"LigDSasa"
) {}
53
LigDSasaFilter
(
core::Real
const
lower_threshold,
core::Real
const
upper_threshold );
54
bool
apply
(
core::pose::Pose
const
& pose )
const
;
55
void
report
( std::ostream & out,
core::pose::Pose
const
& pose )
const
;
56
core::Real
report_sm
(
core::pose::Pose
const
& pose )
const
;
57
core::Real
compute
(
core::pose::Pose
const
& pose )
const
;
58
FilterOP
clone
()
const
{
59
return
new
LigDSasaFilter
( *
this
);
60
}
61
FilterOP
fresh_instance
()
const
{
62
return
new
LigDSasaFilter
();
63
}
64
65
virtual
~LigDSasaFilter
();
66
void
parse_my_tag
(
utility::tag::TagPtr
const
tag,
protocols::moves::DataMap
&,
Filters_map
const
&,
protocols::moves::Movers_map
const
&,
core::pose::Pose
const
& );
67
private
:
68
core::Real
lower_threshold_
,
upper_threshold_
;
69
};
70
71
class
LigBurialFilter
:
public
protocols::filters::Filter
72
{
73
public
:
74
75
typedef
protocols::filters::Filter
Filter
;
76
typedef
protocols::filters::FilterOP
FilterOP
;
77
typedef
protocols::filters::Filters_map
Filters_map
;
78
79
public
:
80
LigBurialFilter
() :
Filter
(
"LigBurial"
) {}
81
LigBurialFilter
(
core::Size
lig_id,
core::Size
const
numneighbors,
core::Real
const
distance_threshold ) :
82
Filter
(
"LigBurial"
),
lig_id_
( lig_id),
neighbors_
( numneighbors ),
distance_threshold_
( distance_threshold ) {}
83
bool
apply
(
core::pose::Pose
const
& pose )
const
;
84
void
report
( std::ostream & out,
core::pose::Pose
const
& pose )
const
;
85
core::Real
report_sm
(
core::pose::Pose
const
& pose )
const
;
86
core::Size
compute
(
core::pose::Pose
const
& pose )
const
;
87
FilterOP
clone
()
const
{
88
return
new
LigBurialFilter
( *
this
);
89
}
90
FilterOP
fresh_instance
()
const
{
91
return
new
LigBurialFilter
();
92
}
93
94
virtual
~LigBurialFilter
();
95
void
parse_my_tag
(
utility::tag::TagPtr
const
tag,
protocols::moves::DataMap
&,
Filters_map
const
&,
protocols::moves::Movers_map
const
&,
core::pose::Pose
const
& );
96
private
:
97
core::Size
lig_id_
;
98
core::Size
neighbors_
;
99
core::Real
distance_threshold_
;
100
};
101
102
103
class
LigInterfaceEnergyFilter
:
public
protocols::filters::Filter
104
{
105
public
:
106
107
typedef
protocols::filters::Filter
Filter
;
108
typedef
protocols::filters::FilterOP
FilterOP
;
109
typedef
protocols::filters::Filters_map
Filters_map
;
110
111
public
:
112
LigInterfaceEnergyFilter
() :
Filter
(
"LigInterfaceEnergy"
) {}
113
114
LigInterfaceEnergyFilter
(
core::scoring::ScoreFunctionOP
scorefxn,
115
core::Real
const
threshold,
bool
const
include_cstE =
false
,
core::Size
const
rb_jump = 1,
116
core::Real
const
interface_distance_cutoff = 8.0 );
117
118
LigInterfaceEnergyFilter
(
LigInterfaceEnergyFilter
const
&
init
);
119
bool
apply
(
core::pose::Pose
const
& pose )
const
;
120
FilterOP
clone
()
const
{
121
return
new
LigInterfaceEnergyFilter
( *
this
);
122
}
123
FilterOP
fresh_instance
()
const
{
124
return
new
LigInterfaceEnergyFilter
();
125
}
126
127
void
report
( std::ostream & out,
core::pose::Pose
const
& pose )
const
;
128
core::Real
report_sm
(
core::pose::Pose
const
& pose )
const
;
129
core::Real
compute
(
core::pose::Pose
const
& pose )
const
;
130
core::Real
constraint_energy
(
core::pose::Pose
const
& pose,
int
which_res )
const
;
131
virtual
~LigInterfaceEnergyFilter
();
132
void
parse_my_tag
(
utility::tag::TagPtr
const
tag,
protocols::moves::DataMap
&,
Filters_map
const
&,
protocols::moves::Movers_map
const
&,
core::pose::Pose
const
&pose );
133
virtual
void
parse_def
( utility::lua::LuaObject
const
& def,
134
utility::lua::LuaObject
const
& score_fxns,
135
utility::lua::LuaObject
const
& tasks );
136
private
:
137
core::scoring::ScoreFunctionOP
scorefxn_
;
138
core::Real
threshold_
;
139
bool
include_cstE_
;
140
core::Size
rb_jump_
;
141
core::Real
interface_distance_cutoff_
;
142
143
};
144
145
class
EnzScoreFilter
:
public
protocols::filters::Filter
146
{
147
public
:
148
149
typedef
protocols::filters::Filter
Filter
;
150
typedef
protocols::filters::FilterOP
FilterOP
;
151
typedef
protocols::filters::Filters_map
Filters_map
;
152
153
public
:
154
EnzScoreFilter
() :
Filter
(
"EnzScore"
) {}
155
156
EnzScoreFilter
(
core::Size
const
resnum,
std::string
const
cstid,
core::scoring::ScoreFunctionOP
scorefxn,
157
core::scoring::ScoreType
const
score_type,
core::Real
const
threshold,
bool
const
whole_pose,
bool
const
is_cstE
158
);
159
160
EnzScoreFilter
(
EnzScoreFilter
const
&
init
);
161
bool
apply
(
core::pose::Pose
const
& pose )
const
;
162
FilterOP
clone
()
const
{
163
return
new
EnzScoreFilter
( *
this
);
164
}
165
FilterOP
fresh_instance
()
const
{
166
return
new
EnzScoreFilter
();
167
}
168
169
void
report
( std::ostream & out,
core::pose::Pose
const
& pose )
const
;
170
core::Real
report_sm
(
core::pose::Pose
const
& pose )
const
;
171
core::Real
compute
(
core::pose::Pose
const
& pose )
const
;
172
//core::Size get_resid_from_cstid( core::pose::Pose const & pose, core::Size const & cstid) const;
173
virtual
~EnzScoreFilter
();
174
void
parse_my_tag
(
utility::tag::TagPtr
const
tag,
protocols::moves::DataMap
&,
Filters_map
const
&,
protocols::moves::Movers_map
const
&,
core::pose::Pose
const
&pose );
175
private
:
176
core::Size
resnum_
;
177
std::string
cstid_
;
178
core::scoring::ScoreFunctionOP
scorefxn_
;
179
core::scoring::ScoreType
score_type_
;
180
core::Real
threshold_
;
181
bool
whole_pose_
;
182
bool
is_cstE_
;
183
};
184
185
class
DiffAtomSasaFilter
:
public
protocols::filters::Filter
186
{
187
public
:
188
189
typedef
protocols::filters::Filter
Filter
;
190
typedef
protocols::filters::FilterOP
FilterOP
;
191
typedef
protocols::filters::Filters_map
Filters_map
;
192
193
public
:
194
DiffAtomSasaFilter
() :
Filter
(
"DiffAtomBurial"
) {}
195
196
DiffAtomSasaFilter
(
core::Size
resid1,
core::Size
resid2,
std::string
atomname1,
std::string
atomane2,
std::string
sample_type );
197
//DiffAtomSasaFilter( DiffAtomSasaFilter const &init );
198
bool
apply
(
core::pose::Pose
const
& pose )
const
;
199
FilterOP
clone
()
const
{
200
return
new
DiffAtomSasaFilter
( *
this
);
201
}
202
FilterOP
fresh_instance
()
const
{
203
return
new
DiffAtomSasaFilter
();
204
}
205
206
void
report
( std::ostream & out,
core::pose::Pose
const
& pose )
const
;
207
core::Real
report_sm
(
core::pose::Pose
const
& pose )
const
;
208
bool
compute
(
core::pose::Pose
const
& pose )
const
;
209
virtual
~DiffAtomSasaFilter
();
210
void
parse_my_tag
(
utility::tag::TagPtr
const
tag,
protocols::moves::DataMap
&,
Filters_map
const
&,
protocols::moves::Movers_map
const
&,
core::pose::Pose
const
&pose );
211
private
:
212
core::Size
resid1_
,
resid2_
;
213
std::string
aname1_
,
aname2_
,
sample_type_
;
214
};
215
216
class
RepackWithoutLigandFilter
:
public
protocols::filters::Filter
217
{
218
public
:
219
220
typedef
protocols::filters::Filter
Filter
;
221
typedef
protocols::filters::FilterOP
FilterOP
;
222
typedef
protocols::filters::Filters_map
Filters_map
;
223
224
public
:
225
RepackWithoutLigandFilter
() :
Filter
(
"RepackWithoutLigand"
) {}
226
227
RepackWithoutLigandFilter
(
core::scoring::ScoreFunctionOP
scorefxn,
core::Real
rms_thresh,
core::Real
energy_thresh,
utility::vector1< core::Size >
rms_target_res );
228
bool
apply
(
core::pose::Pose
const
& pose )
const
;
229
FilterOP
clone
()
const
{
230
return
new
RepackWithoutLigandFilter
( *
this
);
231
}
232
FilterOP
fresh_instance
()
const
{
233
return
new
RepackWithoutLigandFilter
();
234
}
235
236
void
report
( std::ostream & out,
core::pose::Pose
const
& pose )
const
;
237
core::Real
report_sm
(
core::pose::Pose
const
& pose )
const
;
238
core::Real
compute
(
core::pose::Pose
const
& pose )
const
;
239
virtual
~RepackWithoutLigandFilter
();
240
void
parse_my_tag
(
utility::tag::TagPtr
const
tag,
protocols::moves::DataMap
&,
Filters_map
const
&,
protocols::moves::Movers_map
const
&,
core::pose::Pose
const
&pose );
241
void
set_scorefxn
(
core::scoring::ScoreFunctionOP
scorefxn){
scorefxn_
= scorefxn; }
242
void
set_cstid_list
(
std::string
setting){
cstid_list_
= setting; }
243
private
:
244
core::scoring::ScoreFunctionOP
scorefxn_
;
245
core::Real
rms_threshold_
,
energy_threshold_
;
246
bool
calc_dE_
,
calc_rms_
,
use_cstids_
,
rms_all_rpked_
;
247
std::string
cstid_list_
;
248
utility::vector1< core::Size >
target_res_
;
249
};
250
251
/// @brief tiny helper struct for EnzdesScoreFileFilter
252
struct
ValueEvaluator
253
{
254
enum
CompareMode
{
255
SMALLER
= 0,
256
LARGER
,
257
EQUALS
258
};
259
260
ValueEvaluator
(
CompareMode
const
mode,
core::Real
const
cutoff );
261
~ValueEvaluator
();
262
263
bool
264
value_passes
(
core::Real
const
value )
const
;
265
266
CompareMode
mode_
;
267
core::Real
cutoff_
;
268
};
269
270
271
/// brief Class that calculates silent energies for an enzdes type scorefile
272
/// these silent energies can then be written into a scorefile.
273
/// class is derived from Filter because eventually it should be possible
274
/// to have this class read in a requirement file and return false if
275
/// any of the silent energies don't have the required value
276
class
EnzdesScorefileFilter
:
public
protocols::filters::Filter
277
{
278
279
//constructor / destructor
280
public
:
281
282
typedef
protocols::filters::Filter
Filter
;
283
typedef
protocols::filters::FilterOP
FilterOP
;
284
typedef
protocols::filters::Filters_map
Filters_map
;
285
286
EnzdesScorefileFilter
();
287
EnzdesScorefileFilter
(
EnzdesScorefileFilter
const
& other);
288
~EnzdesScorefileFilter
();
289
290
//filter interface
291
public
:
292
bool
apply
(
core::pose::Pose
const
& pose )
const
;
293
294
FilterOP
clone
()
const
{
295
return
new
EnzdesScorefileFilter
( *
this
);
296
}
297
298
FilterOP
fresh_instance
()
const
{
299
return
new
EnzdesScorefileFilter
();
300
}
301
302
void
parse_my_tag
(
utility::tag::TagPtr
const
tag,
protocols::moves::DataMap
&,
Filters_map
const
&,
protocols::moves::Movers_map
const
&,
core::pose::Pose
const
&pose );
303
304
// specific stuff
305
public
:
306
307
void
308
set_cstio
(
309
toolbox::match_enzdes_util::EnzConstraintIOCOP
enzcst_io );
310
311
void
312
examine_pose
(
313
core::pose::Pose
const
& pose
314
)
const
;
315
316
utility::vector1< core::io::silent::SilentEnergy >
const
&
silent_Es
()
const
{
317
return
silent_Es_
;
318
}
319
320
core::pose::PoseOP
rnl_pose
();
321
322
/// @brief clear rnl pose to save some memory
323
void
324
clear_rnl_pose
();
325
326
327
328
private
:
329
330
void
331
initialize_value_evaluators_from_file
(
std::string
const
filename
);
332
333
void
334
compute_metrics_for_residue_subset
(
335
std::string
sub_name,
336
bool
separate_out_constraints,
337
core::pose::Pose
const
& calc_pose,
338
utility::vector1< core::Size >
const
& res_subset )
const
;
339
340
void
341
setup_pose_metric_calculators
(
core::pose::Pose
const
& pose,
bool
separate_out_constraints )
const
;
342
343
bool
no_packstat_calc_
,
native_comparison_
;
344
bool
repack_no_lig_
,
keep_rnl_pose_
;
345
mutable
core::pose::PoseOP
rnl_pose_
;
346
core::scoring::ScoreFunctionOP
sfxn_
;
347
toolbox::match_enzdes_util::EnzConstraintIOCOP
enzcst_io_
;
348
349
mutable
std::map< Size, utility::vector1< std::pair< std::string, std::string > > >
residue_calculators_
;
350
mutable
utility::vector1< std::pair< std::string, std::string >
>
native_compare_calculators_
;
351
352
DesignVsNativeComparisonOP
native_comp_
;
353
mutable
utility::vector1< core::io::silent::SilentEnergy >
silent_Es_
;
354
utility::vector1< std::string >
relevant_scoreterms_
;
355
mutable
utility::vector1< std::pair< core::Size, core::Size >
>
spec_segments_
;
356
357
//filter necessary stuff
358
std::string
reqfile_name_
;
359
static
std::map< std::string, std::map< std::string, ValueEvaluator > >
evaluator_map_
;
360
361
362
};
363
}
// enzdes
364
}
// protocols
365
366
367
#endif
/*INCLUDED_protocols_enzdes_EnzFilters_HH*/
368
Generated on Sat Jun 1 2013 11:48:37 for Rosetta 3.5 by
1.8.4