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
ligand_docking
LigandBaseProtocol.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/ligand_docking/LigandBaseProtocol.hh
11
///
12
/// @brief
13
/// @author Ian W. Davis
14
15
16
#ifndef INCLUDED_protocols_ligand_docking_LigandBaseProtocol_hh
17
#define INCLUDED_protocols_ligand_docking_LigandBaseProtocol_hh
18
19
#include <
core/types.hh
>
20
#include <
core/import_pose/atom_tree_diffs/atom_tree_diff.hh
>
21
#include <
core/kinematics/MoveMap.fwd.hh
>
22
#include <
core/pack/rotamer_set/UnboundRotamersOperation.fwd.hh
>
23
#include <
core/pack/task/PackerTask.fwd.hh
>
24
#include <
core/scoring/constraints/Constraint.fwd.hh
>
25
#include <
core/scoring/constraints/Func.fwd.hh
>
26
#include <
core/scoring/ScoreFunction.fwd.hh
>
27
// AUTO-REMOVED #include <core/conformation/Residue.hh>
28
29
#include <
protocols/moves/Mover.hh
>
30
31
// AUTO-REMOVED #include <ObjexxFCL/FArray1D.hh>
32
33
#include <set>
34
35
#include <
core/conformation/Residue.fwd.hh
>
36
#include <utility/vector1.hh>
37
#include <ObjexxFCL/FArray1D.fwd.hh>
38
39
40
namespace
protocols {
41
namespace
ligand_docking {
42
43
44
/// @brief Convenience wrapper: selects the best ligand docking results
45
/// from a silent file and appends their tags to the supplied set.
46
void
select_best_poses
(
47
core::import_pose::atom_tree_diffs::AtomTreeDiff
const
& atdiff,
48
std::set< std::string > & tags_out
49
);
50
51
/// @brief Selects the best ligand docking results from a silent file
52
/// and appends their scores to the supplied list.
53
void
select_best_poses
(
54
core::import_pose::atom_tree_diffs::AtomTreeDiff
const
& atdiff,
55
core::import_pose::atom_tree_diffs::ScoresPairList
& scores_out,
56
core::Real
to_keep = 0.05
57
);
58
59
/// @brief Trims scores_in based on ligand_is_touching (if present) and
60
/// then by total_score.
61
void
select_best_poses
(
62
core::import_pose::atom_tree_diffs::ScoresPairList
const
& scores_in,
63
core::import_pose::atom_tree_diffs::ScoresPairList
& scores_out,
64
core::Real
to_keep = 0.05
65
);
66
67
/// @brief Without superimposing, automorphically computes the fraction of atoms
68
/// in these residues that are within the given cutoff(s) of each other.
69
void
frac_atoms_within
(
70
core::conformation::Residue
const
& rsd1,
71
core::conformation::Residue
const
& rsd2,
72
utility::vector1< core::Real >
const
& cutoffs,
73
utility::vector1< core::Real >
& fractions_out
74
);
75
76
77
class
LigandBaseProtocol
;
// fwd declaration
78
typedef
utility::pointer::owning_ptr< LigandBaseProtocol >
LigandBaseProtocolOP
;
79
typedef
utility::pointer::owning_ptr< LigandBaseProtocol const >
LigandBaseProtocolCOP
;
80
81
///@brief Shared functionality for protocols that dock ligands.
82
///
83
///@details Includes score function setup, interface definitions, and ligand flexibility.
84
///
85
class
LigandBaseProtocol
:
virtual
public
protocols::moves::Mover
86
{
87
public
:
88
89
LigandBaseProtocol
();
90
91
virtual
~LigandBaseProtocol
();
92
93
core::scoring::ScoreFunctionOP
get_scorefxn
();
94
core::scoring::ScoreFunctionCOP
get_scorefxn
()
const
;
95
96
virtual
void
apply
(
core::pose::Pose
& pose );
97
virtual
std::string
get_name
()
const
;
98
99
core::Size
100
get_ligand_jump_id
(
101
core::pose::Pose
const
& pose
102
)
const
;
103
104
core::Size
105
get_ligand_id
(
106
core::pose::Pose
const
& pose
107
)
const
;
108
109
core::Size
110
get_ligand_id
(
111
core::pose::Pose
const
& pose,
112
core::Size
jump_id
113
)
const
;
114
115
void
116
restrain_protein_Calphas
(
117
core::pose::Pose
& pose,
118
utility::vector1< bool >
const
& is_restrained,
119
//core::Real stddev_Angstroms,
120
core::scoring::constraints::FuncOP
restr_func
121
)
const
;
122
123
void
124
reorder_foldtree_around_mobile_regions
(
125
core::pose::Pose
& pose,
126
core::Size
const
& jump_id,
127
utility::vector1< bool >
const
& mobile_bb,
128
core::Size
const
& lig_id
129
)
const
;
130
131
void
132
get_non_bb_clashing_rotamers
(
133
core::pose::Pose
const
& pose,
134
core::Size
seqpos,
135
core::scoring::ScoreFunctionCOP
scofx,
136
utility::vector1< core::conformation::ResidueCOP >
& accepted_rotamers
137
)
const
;
138
139
protected
:
140
141
core::scoring::ScoreFunctionOP
142
make_tweaked_scorefxn
(
143
std::string
const
& weights_tag,
144
bool
estat_exclude_protein,
145
bool
estat_upweight,
146
bool
hbonds_downweight
147
);
148
149
core::Vector
choose_desired_centroid
(
150
core::pose::Pose
const
& pose,
151
core::Size
jump_id,
152
utility::vector1< core::Vector >
153
);
154
155
void
move_ligand_to_desired_centroid
(
156
core::pose::Pose
& pose,
157
core::Size
jump_id,
158
utility::vector1< core::Vector >
start_from_pts
159
);
160
161
void
move_ligand_to_desired_centroid
(
162
core::pose::Pose
& pose,
163
core::Size
jump_id,
164
core::Vector
desired_centroid
165
);
166
167
core::kinematics::MoveMapOP
168
make_movemap
(
169
core::pose::Pose
const
& pose,
170
core::Size
jump_id,
171
core::Real
sc_padding,
172
bool
include_all_rsds,
173
bool
include_backbone,
174
bool
include_ligands,
175
bool
include_water
176
)
const
;
177
178
/// @brief Shared machinery for the next two
179
core::pack::task::PackerTaskOP
180
make_packer_task
(
181
core::pose::Pose
const
& pose,
182
ObjexxFCL::FArray1D_bool
const
& allow_repack,
183
bool
ligand_protonation
184
)
const
;
185
186
/// @brief Receptor (interface?) plus ligand
187
core::pack::task::PackerTaskOP
188
make_packer_task
(
189
core::pose::Pose
const
& pose,
190
int
jump_id,
191
core::Real
sc_padding,
192
bool
include_all_rsds,
193
bool
ligand_protonation
194
)
const
;
195
196
/// @brief Just ligand, not the receptor
197
core::pack::task::PackerTaskOP
198
make_packer_task_ligand_only
(
199
core::pose::Pose
const
& pose,
200
int
jump_id,
201
bool
ligand_protonation
202
)
const
;
203
204
void
205
find_interface_rsds
(
206
core::pose::Pose
const
& pose,
207
int
jump_id,
208
core::Real
padding,
209
ObjexxFCL::FArray1D_bool & is_interface
//< output
210
)
const
;
211
212
void
213
find_interface_backbone
(
214
core::pose::Pose
const
& pose,
215
int
jump_id,
216
core::Real
cutoff_dist,
217
utility::vector1< bool >
& is_interface,
//< output
218
utility::vector1< bool >
& is_around_interface
//< output
219
)
const
;
220
221
core::scoring::constraints::ConstraintOP
222
restrain_ligand_nbr_atom
(
223
core::pose::Pose
& pose,
224
core::Size
lig_id,
225
core::Real
stddev_Angstroms
226
)
const
;
227
228
229
void
230
setup_bbmin_foldtree
(
231
core::pose::Pose
& pose,
232
core::Size
const
& jump_id,
233
core::Real
cutoff_dist,
234
core::Real
stddev_Angstroms
235
);
236
237
238
protected
:
239
240
bool
use_soft_rep_
;
241
core::scoring::ScoreFunctionOP
scorefxn_
,
hard_scorefxn_
,
soft_scorefxn_
;
242
core::Real
sc_interface_padding_
;
//< if using subset of residues, extra distance to use
243
core::Real
bb_interface_cutoff_
;
//< if using subset of residues, absolute distance to use
244
core::pack::rotamer_set::UnboundRotamersOperationOP
unboundrot_
;
245
246
};
// class LigandBaseProtocol
247
248
249
}
// namespace ligand_docking
250
}
// namespace protocols
251
252
#endif // INCLUDED_protocols_ligand_docking_LigandBaseProtocol_HH
Generated on Sat Jun 1 2013 11:56:02 for Rosetta 3.5 by
1.8.4