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
features
ReportToDB.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/features/ReportToDB.hh
11
/// @brief report feature data to sqlite database
12
/// @author Matthew O'Meara
13
14
#ifndef INCLUDED_protocols_features_ReportToDB_hh
15
#define INCLUDED_protocols_features_ReportToDB_hh
16
17
// Unit Headers
18
#include <
protocols/moves/Mover.hh
>
19
#include <
protocols/features/ReportToDB.fwd.hh
>
20
21
// Project Headers
22
#include <
core/types.hh
>
23
#include <
core/pose/Pose.fwd.hh
>
24
#include <
core/pack/task/TaskFactory.fwd.hh
>
25
#include <
protocols/features/FeaturesReporter.fwd.hh
>
26
#include <
protocols/features/FeaturesReporterFactory.fwd.hh
>
27
#include <
protocols/features/ProtocolFeatures.fwd.hh
>
28
#include <
protocols/features/BatchFeatures.fwd.hh
>
29
#include <
protocols/features/StructureFeatures.fwd.hh
>
30
31
32
// Utility Headers
33
#include <utility/sql_database/DatabaseSessionManager.fwd.hh>
34
#include <utility/tag/Tag.fwd.hh>
35
#include <utility/vector1.hh>
36
37
// Boost Headers
38
#include <boost/uuid/uuid.hpp>
39
40
// C++ Headers
41
#include <string>
42
43
44
namespace
protocols{
45
namespace
features{
46
47
class
ReportToDB
:
public
protocols::moves::Mover
{
48
49
public
:
50
ReportToDB
();
51
52
ReportToDB
(
std::string
const
&
name
);
53
54
ReportToDB
(
55
std::string
const
& name,
56
utility::sql_database::sessionOP db_session,
57
std::string
const
& sample_source,
58
bool
use_transactions=
true
,
59
core::Size
cache_size=2000);
60
61
ReportToDB
(
ReportToDB
const
& src);
62
63
virtual
~ReportToDB
();
64
65
virtual
66
void
67
register_options
()
const
;
68
69
virtual
moves::MoverOP
fresh_instance
()
const
;
70
71
virtual
moves::MoverOP
clone
()
const
;
72
73
virtual
std::string
get_name
()
const
{
return
"ReportToDB"
; }
74
75
void
76
parse_sample_source_tag_item
(
77
utility::tag::TagPtr
const
tag);
78
79
void
80
parse_protocol_id_tag_item
(
81
utility::tag::TagPtr
const
tag);
82
83
/* Undefined, commenting out to fix PyRosetta build void
84
parse_struct_id_type_tag_item(
85
utility::tag::TagPtr const tag);
86
*/
87
88
/* Undefined, commenting out to fix PyRosetta build void
89
parse_first_struct_id_tag_item(
90
utility::tag::TagPtr const tag);
91
*/
92
93
void
94
parse_use_transactions_tag_item
(
95
utility::tag::TagPtr
const
tag);
96
97
void
98
parse_cache_size_tag_item
(
99
utility::tag::TagPtr
const
tag);
100
101
void
102
parse_remove_xray_virt_tag_item
(
103
utility::tag::TagPtr
const
tag);
104
105
void
106
parse_name_tag_item
(
107
utility::tag::TagPtr
const
tag);
108
109
void
110
parse_my_tag
(
111
utility::tag::TagPtr
const
tag,
112
protocols::moves::DataMap
& data,
113
Filters_map
const
&
/*filters*/
,
114
protocols::moves::Movers_map
const
&
/*movers*/
,
115
core::pose::Pose
const
& pose );
116
117
void
118
check_features_reporter_dependencies
(
119
FeaturesReporterOP
test_feature_reporter
120
)
const
;
121
122
void
123
initialize_reporters
();
124
125
void
126
initialize_database
();
127
128
///@brief initialize the pose and return the relevant residues
129
utility::vector1< bool >
130
initialize_pose
(
131
Pose
& pose
132
)
const
;
133
134
///@brief Add the defined features reporters to the
135
///'features_reporters' table in the database
136
void
137
write_features_reporters_table
()
const
;
138
139
///@brief Link the defined features reporters to the batch of
140
///structures extracted with this invocation of the ReportToDB mover
141
void
142
write_batch_reports_table
()
const
;
143
144
///@brief write tables linking the batches table with the features
145
///datababase
146
void
147
write_linking_tables
()
const
;
148
149
void
150
apply
(
151
Pose
& pose);
152
153
boost::uuids::uuid
154
report_structure_features
(
155
utility::vector1<bool>
const
& relevant_residues)
const
;
156
157
void
158
report_features
(
159
core::pose::Pose
const
& pose,
160
boost::uuids::uuid struct_id,
161
utility::vector1<bool>
const
& relevant_residues)
const
;
162
163
private
:
164
utility::sql_database::sessionOP
db_session_
;
165
std::string
sample_source_
;
166
std::string
name_
;
167
168
bool
use_transactions_
;
169
170
core::Size
cache_size_
;
171
172
bool
remove_xray_virt_
;
173
174
core::Size
protocol_id_
;
175
core::Size
batch_id_
;
176
177
// initialized in parse_my_tag
178
core::pack::task::TaskFactoryOP
task_factory_
;
179
180
protocols::features::FeaturesReporterFactory
*
features_reporter_factory_
;
181
protocols::features::ProtocolFeaturesOP
protocol_features_
;
182
protocols::features::BatchFeaturesOP
batch_features_
;
183
protocols::features::StructureFeaturesOP
structure_features_
;
184
utility::vector1< protocols::features::FeaturesReporterOP >
features_reporters_
;
185
bool
initialized
;
186
};
187
188
}
// namespace
189
}
// namespace
190
191
#endif //include guard
Generated on Sat Jun 1 2013 11:49:16 for Rosetta 3.5 by
1.8.4