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
kinmatch
FunGroupTK.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 src/protocols/kinmatch/FunGroupTK.hh
11
/// @brief ToolKit for rapid IK based functional group placement
12
/// @author Will Sheffler will@sheffler.me
13
14
15
#ifndef INCLUDED_protocols_kinmatch_FunGroupTK_hh
16
#define INCLUDED_protocols_kinmatch_FunGroupTK_hh
17
18
#include <
core/chemical/ResidueTypeSet.fwd.hh
>
19
// AUTO-REMOVED #include <core/conformation/Residue.hh>
20
// AUTO-REMOVED #include <core/kinematics/Stub.hh>
21
// AUTO-REMOVED #include <core/pose/Pose.hh>
22
#include <
protocols/scoring/ImplicitFastClashCheck.fwd.hh
>
23
#include <utility/pointer/ReferenceCount.hh>
24
#include <numeric/xyzVector.hh>
25
26
#include <
core/types.hh
>
27
#include <
core/conformation/Residue.fwd.hh
>
28
#include <
core/kinematics/Stub.fwd.hh
>
29
#include <
core/pose/Pose.fwd.hh
>
30
#include <utility/vector1.hh>
31
#include <map>
32
33
34
namespace
protocols {
35
namespace
kinmatch {
36
37
enum
KRSQueryType
{
38
CEN
,
39
CEN_ANG
,
40
CEN_AXS
,
41
CEN_AXS_ORI
42
};
43
44
struct
KRSQuery
{
45
KRSQueryType
type
;
46
numeric::xyzVector<core::Real>
cen
;
47
numeric::xyzVector<core::Real>
axs
;
48
numeric::xyzVector<core::Real>
ori
;
49
core::Real
disth
;
50
core::Real
angth
;
51
core::Real
clash
;
52
KRSQuery
(
53
KRSQueryType
typ
54
);
55
KRSQuery
(
56
KRSQueryType
typ,
57
numeric::xyzVector<core::Real>
c
,
58
numeric::xyzVector<core::Real>
a,
59
numeric::xyzVector<core::Real>
o,
60
core::Real
dt=0.5,
61
core::Real
at
=0.175,
62
core::Real
clsh = 2.8*2.8
63
);
64
KRSQuery
(
65
KRSQueryType
typ,
66
numeric::xyzVector<core::Real>
c
,
67
numeric::xyzVector<core::Real>
a,
68
core::Real
dt=0.5,
69
core::Real
at
=0.175,
70
core::Real
clsh = 2.8*2.8
71
);
72
};
73
74
class
FunGroupTK
:
public
utility::pointer::ReferenceCount
{
75
protected
:
76
core::pose::PoseCOP
pose_
;
77
utility::vector1<Size>
const
pos_
;
78
protocols::scoring::ImplicitFastClashCheckCOP
ifc_
;
79
std::map<std::string,utility::vector1<core::kinematics::Stub> >
stb_
;
80
std::map<std::string,utility::vector1<core::conformation::ResidueOP> >
rsd_
;
81
core::chemical::ResidueTypeSetCAP
frs_
;
82
public
:
83
///@brief Automatically generated virtual destructor for class deriving directly from ReferenceCount
84
virtual
~FunGroupTK
();
85
FunGroupTK
(
86
core::pose::Pose
& p_in,
87
utility::vector1<Size>
& pos
88
);
89
90
protocols::scoring::ImplicitFastClashCheck
const
&
91
ifc
()
const
;
92
93
virtual
94
void
95
place_c
(
96
KRSQuery
const
& q,
97
core::conformation::Residue
const
& qrsd,
98
utility::vector1<core::conformation::ResidueOP>
& hits
99
)
const
= 0;
100
101
virtual
102
void
103
place_h
(
104
KRSQuery
const
& q,
105
core::conformation::Residue
const
& qrsd,
106
utility::vector1<core::conformation::ResidueOP>
& hits
107
)
const
= 0;
108
virtual
109
void
110
place_d
(
111
KRSQuery
const
& q,
112
core::conformation::Residue
const
& qrsd,
113
utility::vector1<core::conformation::ResidueOP>
& hits
114
)
const
= 0;
115
};
116
117
class
BruteFunGroupTK
:
public
FunGroupTK
{
118
public
:
119
BruteFunGroupTK
(
120
core::pose::Pose
& p_in,
121
utility::vector1<Size>
pos=
utility::vector1<Size>
()
122
);
123
124
virtual
125
void
126
place_c
(
127
KRSQuery
const
& q,
128
core::conformation::Residue
const
& qrsd,
129
utility::vector1<core::conformation::ResidueOP>
& hits
130
)
const
;
131
132
virtual
133
void
134
place_h
(
135
KRSQuery
const
& q,
136
core::conformation::Residue
const
& qrsd,
137
utility::vector1<core::conformation::ResidueOP>
& hits
138
)
const
;
139
140
virtual
141
void
142
place_d
(
143
KRSQuery
const
& q,
144
core::conformation::Residue
const
& qrsd,
145
utility::vector1<core::conformation::ResidueOP>
& hits
146
)
const
;
147
148
};
149
150
class
KinFunGroupTK
:
public
FunGroupTK
{
151
public
:
152
KinFunGroupTK
(
153
core::pose::Pose
& p_in,
154
utility::vector1<Size>
pos=
utility::vector1<Size>
()
155
);
156
157
158
virtual
159
void
160
place_c
(
161
KRSQuery
const
& q,
162
core::conformation::Residue
const
& qrsd,
163
utility::vector1<core::conformation::ResidueOP>
& hits_out
164
)
const
;
165
166
virtual
167
void
168
place_h
(
169
KRSQuery
const
& q,
170
core::conformation::Residue
const
& qrsd,
171
utility::vector1<core::conformation::ResidueOP>
& hits
172
)
const
;
173
174
virtual
175
void
176
place_d
(
177
KRSQuery
const
& q,
178
core::conformation::Residue
const
& qrsd,
179
utility::vector1<core::conformation::ResidueOP>
& hits
180
)
const
;
181
182
};
183
184
}
// namespace kinmatch
185
}
// namespace protocols
186
187
#endif
Generated on Sat Jun 1 2013 11:55:45 for Rosetta 3.5 by
1.8.4