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
match
downstream
DownstreamBuilder.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
// :noTabs=false:tabSize=4:indentSize=4:
4
//
5
// (c) Copyright Rosetta Commons Member Institutions.
6
// (c) This file is part of the Rosetta software suite and is made available under license.
7
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
8
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
9
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
10
11
/// @file protocols/match/downstream/DownstreamBuilder.hh
12
/// @brief
13
/// @author Alex Zanghellini (zanghell@u.washington.edu)
14
/// @author Andrew Leaver-Fay (aleaverfay@gmail.com), porting to mini
15
/// @author Florian Richter (floric@u.washington.edu)
16
17
#ifndef INCLUDED_protocols_match_downstream_DownstreamBuilder_hh
18
#define INCLUDED_protocols_match_downstream_DownstreamBuilder_hh
19
20
// Unit headers
21
#include <
protocols/match/downstream/DownstreamBuilder.fwd.hh
>
22
23
// Package headers
24
#include <
protocols/match/BumpGrid.fwd.hh
>
25
// AUTO-REMOVED #include <protocols/match/Hit.hh>
26
#include <
protocols/match/OccupiedSpaceHash.fwd.hh
>
27
#include <
protocols/match/downstream/ActiveSiteGrid.fwd.hh
>
28
#include <
protocols/match/downstream/RigidLigandBuilder.fwd.hh
>
29
#include <
protocols/match/downstream/LigandConformerBuilder.fwd.hh
>
30
#include <
protocols/toolbox/match_enzdes_util/LigandConformer.fwd.hh
>
31
32
// Project headers
33
#include <
core/types.hh
>
34
// AUTO-REMOVED #include <core/id/AtomID.hh>
35
#include <
core/conformation/Residue.fwd.hh
>
36
#include <
core/chemical/ResidueType.fwd.hh
>
37
#include <
core/pose/Pose.fwd.hh
>
38
39
// Numeric headers
40
#include <numeric/HomogeneousTransform.fwd.hh>
41
42
// Utility headers
43
#include <utility/pointer/ReferenceCount.hh>
44
45
// C++ headers
46
#include <list>
47
48
#include <
core/id/AtomID.fwd.hh
>
49
#include <
protocols/match/Hit.fwd.hh
>
50
#include <utility/vector1.hh>
51
52
53
namespace
protocols {
54
namespace
match
{
55
namespace
downstream {
56
57
class
DownstreamBuilder
:
public
utility::pointer::ReferenceCount
{
58
public
:
59
typedef
utility::pointer::ReferenceCount
parent
;
60
typedef
core::id::AtomID
AtomID
;
61
typedef
core::Vector
Vector
;
62
typedef
core::Real
Real
;
63
typedef
numeric::HomogeneousTransform< Real >
HTReal
;
64
65
public
:
66
DownstreamBuilder
();
67
68
DownstreamBuilder
(
DownstreamBuilder
const
& );
69
70
virtual
~DownstreamBuilder
();
71
72
virtual
73
DownstreamBuilderOP
74
clone
()
const
= 0;
75
76
virtual
77
std::list< Hit >
78
build
(
79
HTReal
const
& atom6_frame,
80
Size
const
scaffold_build_point_id,
81
Size
const
upstream_conf_id,
82
Size
const
external_geometry_id,
83
core::conformation::Residue
const
& upstream_residue
84
)
const
= 0;
85
86
virtual
87
void
88
set_bb_grid
(
89
BumpGridCOP
bbgrid
90
);
91
92
void
93
set_occupied_space_hash
(
94
OccupiedSpaceHashCOP
occ_space
95
);
96
97
void
98
set_active_site_grid
(
99
ActiveSiteGridCOP
active_site_grid
100
);
101
102
/// @brief In case downstream builders can return hits that
103
/// are incompatible with each other (e.g. different ligand
104
/// conformations ) the matcher needs to know about this to
105
/// allow for speedy match enumeration
106
virtual
bool
107
hits_potentially_incompatible
()
const
= 0;
108
109
virtual
bool
compatible
(
110
Hit
const
& my_hit,
111
DownstreamBuilder
const
& other,
112
Hit
const
& other_hit,
113
bool
first_dispatch =
true
114
)
const
;
115
116
virtual
bool
compatible
(
117
Hit
const
& my_hit,
118
RigidLigandBuilder
const
& other,
119
Hit
const
& other_hit,
120
bool
first_dispatch =
true
121
)
const
;
122
123
virtual
bool
compatible
(
124
Hit
const
& my_hit,
125
LigandConformerBuilder
const
& other,
126
Hit
const
& other_hit,
127
bool
first_dispatch =
true
128
)
const
;
129
130
virtual
131
void
132
require_atom_to_reside_in_active_site
(
133
core::id::AtomID
const
&
id
134
) = 0;
135
136
virtual
137
ProbeRadius
138
atom1_radius
()
const
= 0;
139
140
virtual
141
ProbeRadius
142
atom2_radius
()
const
= 0;
143
144
virtual
145
ProbeRadius
146
atom3_radius
()
const
= 0;
147
148
virtual
149
bool
150
atom1_belongs_in_active_site
()
const
= 0;
151
152
virtual
153
bool
154
atom2_belongs_in_active_site
()
const
= 0;
155
156
virtual
157
bool
158
atom3_belongs_in_active_site
()
const
= 0;
159
160
161
virtual
162
Real
163
atom1_atom2_distance
()
const
= 0;
164
165
virtual
166
Real
167
atom2_atom3_distance
()
const
= 0;
168
169
/// @brief Returns an angle in degrees between the three downstream atoms.
170
virtual
171
Real
172
atom1_atom2_atom3_angle
()
const
= 0;
173
174
virtual
175
void
176
coordinates_from_hit
(
177
Hit
const
& hit,
178
utility::vector1< AtomID >
const
& atom_indices,
// these are the indices of the atoms whose coordinates are requested
179
utility::vector1< Vector >
& atom_coords
// ouput coordinates are placed in this array.
180
)
const
= 0;
181
182
virtual
183
toolbox::match_enzdes_util::LigandConformerOP
184
get_lig_conformers
(
core::Size
conf_id)
const
= 0;
185
186
// virtual
187
// utility::vector1< utility::vector1< std::pair< core::Size, core::Real > > >
188
// get_min_sep_d2_from_upstream_atoms() const = 0;
189
190
virtual
191
core::chemical::ResidueTypeCOP
192
get_upstream_restype
()
const
= 0;
193
194
virtual
195
core::pose::PoseCOP
196
downstream_pose_from_hit
(
197
Hit
const
& hit
198
)
const
= 0;
199
200
virtual
201
Size
202
n_possible_hits_per_at3frame
()
const
= 0;
203
204
205
protected
:
206
bool
207
bbgrid_set
()
const
{
208
return
bb_grid_
.get() != 0;
209
}
210
211
BumpGrid
const
&
212
bbgrid
()
const
{
213
return
*
bb_grid_
;
214
}
215
216
bool
217
occ_space_set
()
const
{
218
return
space_
!= 0;
219
}
220
221
OccupiedSpaceHash
const
&
222
occ_space
()
const
{
223
return
*
space_
;
224
}
225
226
bool
227
active_site_grid_set
()
const
{
228
return
active_site_grid_
!= 0;
229
}
230
231
ActiveSiteGrid
const
&
232
active_site_grid
()
const
{
233
return
*
active_site_grid_
;
234
}
235
236
private
:
237
BumpGridCOP
bb_grid_
;
238
OccupiedSpaceHashCOP
space_
;
239
ActiveSiteGridCOP
active_site_grid_
;
240
241
};
242
243
}
244
}
245
}
246
247
#endif
Generated on Sat Jun 1 2013 11:59:24 for Rosetta 3.5 by
1.8.4