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
output
SameSequenceGrouper.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/output/SameSequenceGrouper.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_output_SameSequenceGrouper_hh
17
#define INCLUDED_protocols_match_output_SameSequenceGrouper_hh
18
19
// Unit headers
20
#include <
protocols/match/output/SameSequenceGrouper.fwd.hh
>
21
22
// Package headers
23
#include <
protocols/match/downstream/DownstreamBuilder.fwd.hh
>
24
#include <
protocols/match/output/MatchGrouper.hh
>
25
#include <
protocols/match/output/UpstreamHitCacher.fwd.hh
>
26
#include <
protocols/match/Hit.fwd.hh
>
27
28
//Project headers
29
#include <
core/id/AtomID.fwd.hh
>
30
31
// Utility headers
32
// AUTO-REMOVED #include <utility/OrderedTuple.hh>
33
#include <utility/vector1.hh>
34
35
// C++ headers
36
#include <map>
37
38
#include <utility/OrderedTuple.fwd.hh>
39
40
41
namespace
protocols {
42
namespace
match
{
43
namespace
output {
44
45
/// @brief Class to group matches that represent the same amino acids at
46
/// the same launch points. E.g. Two matches that both put a cys at launch
47
/// point #33, a ser a launch point #42 and another ser at launch point
48
/// #80 would be grouped together -- even if they are different rotamers.
49
class
SameSequenceGrouper
:
public
MatchGrouper
{
50
public
:
51
typedef
core::Real
Real
;
52
typedef
core::Size
Size
;
53
typedef
std::map< utility::OrderedTuple< utility::vector1< Size > >,
Size
>
SequenceMap
;
54
55
public
:
56
SameSequenceGrouper
();
57
SameSequenceGrouper
(
Size
ncst );
58
59
virtual
60
~SameSequenceGrouper
();
61
62
virtual
63
Size
64
assign_group_for_match
(
65
match
const
& m
66
);
67
68
virtual
69
Size
70
assign_group_for_match
(
71
match_dspos1
const
& m
72
);
73
74
virtual
75
void
76
reset
();
77
78
virtual
79
void
80
set_n_geometric_constraints
(
Size
n_csts );
81
82
void
83
set_hit_cacher
(
UpstreamHitCacherOP
cacher );
84
85
private
:
86
87
Size
n_geometric_constraints_
;
88
UpstreamHitCacherOP
hit_cacher_
;
89
SequenceMap
sequence_indexer_
;
90
91
};
92
93
94
/// @brief class that groups based on same sequence and proximity of the downstream object (based on rms )
95
/// NOTE: right now only the downstream position according to the first geomcst id upstream residue is
96
/// taken into account
97
class
SameSequenceAndDSPositionGrouper
:
public
SameSequenceGrouper
{
98
99
public
:
100
typedef
std::map< std::pair< Size, Size >,
Size
>
SequenceLigPosMap
;
101
typedef
core::Vector
Vector
;
102
typedef
SameSequenceGrouper
parent
;
103
104
SameSequenceAndDSPositionGrouper
();
105
SameSequenceAndDSPositionGrouper
(
Size
ncst );
106
107
virtual
108
~SameSequenceAndDSPositionGrouper
();
109
110
//virtual
111
//Size
112
//assign_group_for_match(
113
// match const & m
114
//);
115
116
virtual
117
Size
118
assign_group_for_match
(
119
match_dspos1
const
& m
120
);
121
122
virtual
123
void
124
reset
();
125
126
virtual
127
void
128
set_n_geometric_constraints
(
Size
n_csts );
129
130
void
131
set_rms_group_cutoff
(
Real
cutoff );
132
133
void
134
set_downstream_builder
(
135
Size
geomcst_id,
136
downstream::DownstreamBuilderCOP
dsbuilder
137
);
138
139
void
140
set_relevant_atom_ids
(
141
utility::vector1< core::id::AtomID >
const
& relevant_atom_ids
142
);
143
144
private
:
145
146
Size
147
assign_downstream_position_group_for_match
(
148
match_dspos1
const
& m
149
);
150
151
SequenceLigPosMap
sequence_pos_map_
;
152
153
Real
rms_group_cutoff_
;
154
utility::vector1< utility::vector1< Vector>
>
representative_dspos_
;
155
utility::vector1< core::id::AtomID >
relevant_atom_ids_
;
156
//needed to build the downstream target for rms comparison
157
utility::vector1< downstream::DownstreamBuilderCOP >
dsbuilders_
;
158
};
159
160
}
161
}
162
}
163
164
#endif
Generated on Sat Jun 1 2013 11:59:46 for Rosetta 3.5 by
1.8.4