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
toolbox
match_enzdes_util
InvrotTarget.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/toolbox/match_enzdes_util/InvrotTarget.hh
12
/// @brief .hh file for inverse rotamer target
13
/// @author Florian Richter, flosopher@gmail.com, mar 2012
14
15
#ifndef INCLUDED_protocols_toolbox_match_enzdes_util_InvrotTarget_hh
16
#define INCLUDED_protocols_toolbox_match_enzdes_util_InvrotTarget_hh
17
18
19
//unit headers
20
#include <
protocols/toolbox/match_enzdes_util/InvrotTarget.fwd.hh
>
21
22
//package headers
23
#include <
protocols/toolbox/match_enzdes_util/EnzConstraintIO.fwd.hh
>
24
#include <
protocols/toolbox/match_enzdes_util/InvrotTreeNodeBase.hh
>
25
26
#ifdef PYROSETTA
27
#include <
core/conformation/Residue.hh
>
28
#endif
29
30
#ifdef WIN32
31
#include <
protocols/toolbox/match_enzdes_util/InvrotTreeNode.hh
>
32
#else
33
#include <
protocols/toolbox/match_enzdes_util/InvrotTreeNode.fwd.hh
>
34
#endif
35
36
// Utility headers
37
//#include <util
38
39
namespace
protocols {
40
namespace
toolbox {
41
namespace
match_enzdes_util {
42
43
44
/// @brief the 'root' target against which the inverse rotamers are built
45
/// abstract base class to allow for invrots being built against
46
/// any sort of entity
47
class
InvrotTarget
:
public
InvrotTreeNodeBase
{
48
49
public
:
50
51
InvrotTarget
();
52
53
~InvrotTarget
();
54
55
core::conformation::ResidueCOP
56
target_res_for_geom_cst
(
core::Size
geom_cst )
const
;
57
58
std::list< core::conformation::ResidueCOP >
59
all_target_res
()
const
;
60
61
/// @brief generate constraints against a certain pose
62
core::scoring::constraints::ConstraintCOP
63
generate_constraints
(
64
core::pose::Pose
const
& pose,
65
AllowedSeqposForGeomCstCOP
geomcst_seqpos
66
)
const
;
67
68
/// @brief
69
/// can initialize tree nodes according to
70
/// an enzcst io
71
/// note that this function presumes that
72
/// representative_target_res_for_geom_cst_ and
73
/// all_target_res_ have been set through calling the
74
/// generate_representative_target_res_for_geom_cst()
75
/// function as implemented by the child class
76
bool
77
initialize_tree_nodes_from_enzcst_io
(
78
EnzConstraintIOCOP
enzcst_io );
79
80
utility::vector1< std::list< core::conformation::ResidueCOP >
>
81
all_target_residues
(
InvrotTreeNodeBaseCAP
child_node )
const
;
82
83
virtual
84
void
85
collect_all_inverse_rotamers
(
86
utility::vector1< InvrotCollectorOP >
& invrot_collector
87
)
const
;
88
89
protected
:
90
91
/// @brief this function figures out the coordinates
92
/// (in Residue format) of the target residue for
93
/// each geomcst.
94
/// for a ligand, it's simply that ligand
95
virtual
96
void
97
generate_representative_target_res_for_geom_cst
(
Size
const
num_geom_cst ) = 0;
98
99
void
100
set_all_target_res
( std::list< core::conformation::ResidueCOP >
const
& all_target_res );
101
102
void
103
set_representative_target_res_for_geom_cst
(
104
utility::vector1< core::conformation::ResidueCOP >
const
& representative_res );
105
106
private
:
107
108
utility::vector1< core::conformation::ResidueCOP >
representative_target_res_for_geom_cst_
;
109
std::list< core::conformation::ResidueCOP >
all_target_res_
;
110
111
utility::vector1< InvrotTreeNodeOP >
next_nodes_
;
112
113
};
114
115
116
class
SingleResidueInvrotTarget
:
public
InvrotTarget
{
117
118
public
:
119
120
SingleResidueInvrotTarget
(
121
utility::vector1< core::conformation::ResidueCOP >
const
& single_res
122
);
123
124
~SingleResidueInvrotTarget
();
125
126
private
:
127
128
void
129
generate_representative_target_res_for_geom_cst
(
Size
const
num_geom_cst );
130
131
132
};
133
134
135
}
136
}
137
}
138
139
#endif
Generated on Sat Jun 1 2013 12:21:17 for Rosetta 3.5 by
1.8.4