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
upstream
UpstreamBuilder.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/upstream/UpstreamBuilder.hh
12
/// @brief
13
/// @author Alex Zanghellini (zanghell@u.washington.edu)
14
/// @author Andrew Leaver-Fay (aleaverfay@gmail.com), porting to mini
15
16
#ifndef INCLUDED_protocols_match_upstream_UpstreamBuilder_hh
17
#define INCLUDED_protocols_match_upstream_UpstreamBuilder_hh
18
19
// Unit headers
20
#include <
protocols/match/upstream/UpstreamBuilder.fwd.hh
>
21
22
// Package headers
23
#include <
protocols/match/BumpGrid.fwd.hh
>
24
// AUTO-REMOVED #include <protocols/match/Hit.hh>
25
#include <
protocols/match/upstream/ScaffoldBuildPoint.fwd.hh
>
26
#include <
protocols/match/upstream/ProteinUpstreamBuilder.fwd.hh
>
27
28
// Project headers
29
#include <
core/chemical/ResidueType.fwd.hh
>
30
#include <
core/conformation/Residue.fwd.hh
>
31
// AUTO-REMOVED #include <core/pose/Pose.fwd.hh>
32
33
// Utility headers
34
#include <utility/pointer/ReferenceCount.hh>
35
36
// C++ headers
37
#include <list>
38
39
#include <
protocols/match/Hit.fwd.hh
>
40
41
42
namespace
protocols {
43
namespace
match
{
44
namespace
upstream {
45
46
class
UpstreamBuilder
:
public
utility::pointer::ReferenceCount
{
47
public
:
48
typedef
core::Size
Size
;
49
typedef
core::Vector
Vector
;
50
51
public
:
52
virtual
~UpstreamBuilder
();
53
54
virtual
55
UpstreamBuilderOP
56
clone
()
const
= 0;
57
58
/// @brief Iterate across possible conformations for the upstream
59
/// half of the hit, and for each (non-colliding) conformation,
60
/// invoke build on the downstream algorithm.
61
/// Return a list of hits.
62
virtual
63
std::list< Hit >
64
build
(
65
ScaffoldBuildPoint
const
& build_point
66
)
const
= 0;
67
68
/// @brief Reconstruct the upstream conformation for a hit and pass that conformation to
69
/// an upstream residue processor.
70
virtual
71
void
72
recover_hit
(
73
Hit
const
& hit,
74
ScaffoldBuildPoint
const
& build_point,
75
UpstreamResidueProcessor
& processor
76
)
const
= 0;
77
78
/// @brief Reconstruct the upstream conformation for a set of hits and pass their conformations to
79
/// an upstream residue processor.
80
virtual
81
void
82
recover_hits
(
83
std::list< Hit >::const_iterator hits_begin,
84
std::list< Hit >::const_iterator hits_end,
85
ScaffoldBuildPoint
const
& build_point,
86
UpstreamResidueProcessor
& processor
87
)
const
= 0;
88
89
virtual
90
Size
91
n_restypes_to_build
()
const
= 0;
92
93
virtual
94
core::chemical::ResidueTypeCOP
95
restype
(
Size
which_restype )
const
= 0;
96
97
virtual
bool
compatible
(
98
Hit
const
& my_hit,
99
ScaffoldBuildPoint
const
& build_point_mine,
100
UpstreamBuilder
const
& other,
101
Hit
const
& other_hit,
102
ScaffoldBuildPoint
const
& build_point_other,
103
bool
first_dispatch =
true
104
)
const
;
105
106
107
virtual
bool
compatible
(
108
Hit
const
& my_hit,
109
ScaffoldBuildPoint
const
& build_point_mine,
110
ProteinUpstreamBuilder
const
& other,
111
Hit
const
& other_hit,
112
ScaffoldBuildPoint
const
& build_point_other,
113
bool
first_dispatch =
true
114
)
const
;
115
116
117
void
118
set_bb_grid
(
BumpGridCOP
bbgrid
);
119
120
protected
:
121
122
BumpGrid
const
&
123
bbgrid
()
const
{
124
return
*
bbgrid_
;
125
}
126
127
private
:
128
BumpGridCOP
bbgrid_
;
129
130
};
131
132
class
UpstreamResidueProcessor
:
public
utility::pointer::ReferenceCount
133
{
134
public
:
135
virtual
~UpstreamResidueProcessor
();
136
137
virtual
138
void
139
process_hit
(
140
Hit
const
& hit,
141
core::conformation::Residue
const
& upstream_conformation
142
) = 0;
143
144
};
145
146
}
147
}
148
}
149
150
#endif
Generated on Sat Jun 1 2013 11:59:53 for Rosetta 3.5 by
1.8.4