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
simple_filters
ShapeComplementarityFilter.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/simple_filters/ShapeComplementarityFilter.hh
11
/// @brief header file for ShapeComplementarityFilter class
12
/// @author Luki Goldschmidt (luki@mbi.ucla.edu)
13
14
15
#ifndef INCLUDED_protocols_simple_filters_ShapeComplementarityFilter_hh
16
#define INCLUDED_protocols_simple_filters_ShapeComplementarityFilter_hh
17
18
// Unit Headers
19
#include <
protocols/simple_filters/ShapeComplementarityFilter.fwd.hh
>
20
21
// Package Headers
22
#include <
protocols/filters/Filter.hh
>
23
24
// Project Headers
25
#include <
core/pose/Pose.fwd.hh
>
26
#include <
core/scoring/sc/ShapeComplementarityCalculator.hh
>
27
28
// Utility headers
29
#include <utility/vector1.fwd.hh>
30
31
// Parser headers
32
#include <
protocols/moves/DataMap.fwd.hh
>
33
#include <
protocols/moves/Mover.fwd.hh
>
34
#include <
protocols/filters/Filter.fwd.hh
>
35
#include <utility/tag/Tag.fwd.hh>
36
37
#include <utility/vector1.hh>
38
39
40
//// C++ headers
41
42
namespace
protocols {
43
namespace
simple_filters {
44
45
class
ShapeComplementarityFilter
:
public
protocols::filters::Filter
{
46
public
:
47
48
typedef
protocols::filters::Filter
Super
;
49
typedef
protocols::filters::Filter
Filter
;
50
typedef
protocols::filters::FilterOP
FilterOP
;
51
typedef
core::Real
Real
;
52
typedef
core::pose::Pose
Pose
;
53
54
typedef
utility::tag::TagPtr
TagPtr
;
55
typedef
protocols::filters::Filters_map
Filters_map
;
56
typedef
protocols::moves::DataMap
DataMap
;
57
typedef
protocols::moves::Movers_map
Movers_map
;
58
59
60
public
:
// constructor/destructor
61
62
63
// @brief default constructor
64
ShapeComplementarityFilter
();
65
66
// @brief constructor with arguments
67
ShapeComplementarityFilter
(
Real
const
&
filtered_sc
,
Real
const
&
filtered_area
,
68
Size
const
&
jump_id
,
Size
const
&
quick
,
Size
const
&
verbose
);
69
70
// @brief copy constructor
71
ShapeComplementarityFilter
(
ShapeComplementarityFilter
const
& rval );
72
73
virtual
~ShapeComplementarityFilter
(){}
74
75
76
public
:
// virtual constructor
77
78
79
// @brief make clone
80
virtual
filters::FilterOP
clone
()
const
{
return
new
ShapeComplementarityFilter
( *
this
); }
81
82
// @brief make fresh instance
83
virtual
filters::FilterOP
fresh_instance
()
const
{
return
new
ShapeComplementarityFilter
(); }
84
85
86
public
:
// accessor
87
88
89
// @brief get name of this filter
90
virtual
std::string
name
()
const
{
return
"ShapeComplementarity"
; }
91
92
93
public
:
// mutator
94
95
void
filtered_sc
(
Real
const
&
filtered_sc
);
96
void
filtered_area
(
Real
const
&
filtered_area
);
97
void
jump_id
(
Size
const
&
jump_id
);
98
void
quick
(
Size
const
&
quick
);
99
void
verbose
(
Size
const
&
verbose
);
100
void
multicomp
(
bool
multicomp
);
101
void
sym_dof_name
(
std::string
const
&
sym_dof_name
);
102
103
std::string
sym_dof_name
()
const
;
104
bool
multicomp
( )
const
;
105
106
public
:
// parser
107
108
virtual
void
parse_my_tag
(
TagPtr
const
tag,
109
DataMap
&,
110
filters::Filters_map
const
&,
111
Movers_map
const
&,
112
Pose
const
& );
113
void
parse_def
( utility::lua::LuaObject
const
& def,
114
utility::lua::LuaObject
const
& score_fxns,
115
utility::lua::LuaObject
const
& tasks );
116
117
118
public
:
// virtual main operation
119
120
121
// @brief returns true if the given pose passes the filter, false otherwise.
122
// In this case, the test is whether the give pose is the topology we want.
123
virtual
bool
apply
(
Pose
const
& pose )
const
;
124
125
/// @brief
126
virtual
Real
report_sm
(
Pose
const
& pose )
const
;
127
128
/// @brief calc shape complementarity
129
virtual
Size
compute
(
Pose
const
& pose )
const
;
130
131
132
private
:
133
134
core::scoring::sc::ShapeComplementarityCalculator
mutable
scc_
;
135
136
Real
filtered_sc_
;
137
Real
filtered_area_
;
138
Size
jump_id_
;
139
Size
quick_
;
140
Size
verbose_
;
141
utility::vector1<core::Size>
residues1_
;
142
utility::vector1<core::Size>
residues2_
;
143
bool
write_int_area_
;
144
145
// symmetry-specific
146
bool
multicomp_
;
147
std::string
sym_dof_name_
;
148
149
};
150
151
}
// filters
152
}
// protocols
153
154
#endif
Generated on Sat Jun 1 2013 12:14:41 for Rosetta 3.5 by
1.8.4