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
loophash
MPI_LoopHashRefine.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/loophash/MPI_LoopHashRefine.hh
11
/// @brief
12
/// @author Mike Tyka
13
14
15
16
#ifndef INCLUDED_protocols_loophash_MPI_LoopHashRefine_hh
17
#define INCLUDED_protocols_loophash_MPI_LoopHashRefine_hh
18
19
#include <
protocols/wum/SilentStructStore.hh
>
20
#include <
protocols/wum/MPI_WorkUnitManager.hh
>
21
// AUTO-REMOVED #include <protocols/loophash/LoopHashSampler.fwd.hh>
22
// AUTO-REMOVED #include <protocols/loophash/LocalInserter.fwd.hh>
23
24
#include <
core/types.hh
>
25
// AUTO-REMOVED #include <core/pose/Pose.hh>
26
#include <utility/vector1.hh>
27
#include <
core/io/silent/SilentStruct.fwd.hh
>
28
// AUTO-REMOVED #include <core/io/silent/ProteinSilentStruct.hh>
29
#include <string>
30
#include <vector>
31
32
// AUTO-REMOVED #include <core/chemical/AtomType.hh>
33
#include <
core/kinematics/Jump.hh
>
34
35
36
namespace
protocols {
37
namespace
loophash {
38
39
40
class
MPI_LoopHashRefine
:
public
protocols::wum::MPI_WorkUnitManager
{
41
public
:
42
MPI_LoopHashRefine
(
char
machine_letter );
43
44
void
set_defaults
();
45
46
virtual
~MPI_LoopHashRefine
(){}
47
48
protected
:
// overloaded functions
49
50
// --none-- this is a pure virtual class
51
52
protected
:
// added functions
53
54
void
load_structures_from_cmdline_into_library
(
core::Size
structure_read_offset );
55
56
void
save_state
(
std::string
prefix =
"default"
);
57
58
void
save_state_auto
();
59
60
void
load_state
(
std::string
prefix =
"default"
);
61
62
void
print_stats
();
63
64
void
print_library
();
65
66
// adding arriving structures to library
67
virtual
bool
add_structures_to_library
(
protocols::wum::SilentStructStore
&new_structs,
std::string
add_algorithm =
""
);
68
69
virtual
bool
add_structure_to_library
(
core::io::silent::SilentStruct
&pss,
std::string
add_algorithm =
""
);
70
71
bool
add_structure_to_library_direct
(
core::io::silent::SilentStruct
&pss );
72
73
bool
add_structure_to_library_add_n_replace
(
core::io::silent::SilentStruct
&pss );
74
75
bool
add_structure_to_library_single_replace
(
core::io::silent::SilentStruct
&pss );
76
77
void
send_random_library_struct
(
core::Size
dest_rank,
core::Size
ssid )
const
;
78
79
void
limit_library
();
80
81
void
dump_structures
(
const
protocols::wum::SilentStructStore
&new_structs,
bool
score_only =
true
)
const
;
82
83
void
set_ident_string
(
std::string
new_ident ){
ident_string_
= new_ident; }
84
85
protected
:
// accesors
86
const
std::string
&
mpi_resume
(){
return
mpi_resume_
; }
87
88
core::Size
&
totaltime_loophash
(){
return
totaltime_loophash_
; }
89
90
protocols::wum::SilentStructStore
&
library_central
(){
return
library_central_
;}
91
92
93
const
std::string
&
mpi_feedback
( ){
return
mpi_feedback_
; }
94
95
void
set_mpi_feedback
(
const
std::string
&
mpi_feedback
){
mpi_feedback_
=
mpi_feedback
; }
96
97
98
core::Size
max_lib_size
(){
return
max_lib_size_
; }
99
100
void
set_max_lib_size
(
core::Size
max_lib_size
){
max_lib_size_
=
max_lib_size
; }
101
102
core::Real
objective_function
(
const
core::io::silent::SilentStructOP
&ss )
const
;
103
104
core::Real
score
(
const
core::io::silent::SilentStructOP
&ss )
const
;
105
106
std::string
format_silent_struct
(
const
core::io::silent::SilentStructOP
&ss )
const
;
107
108
109
core::Real
objective_function
(
const
core::io::silent::SilentStruct
&ss )
const
;
110
111
core::Real
score
(
const
core::io::silent::SilentStruct
&ss )
const
;
112
113
std::string
format_silent_struct
(
const
core::io::silent::SilentStruct
&ss )
const
;
114
115
private
:
116
// parameters
117
core::Size
max_lib_size_
;
118
core::Size
save_state_interval_
;
119
std::string
mpi_feedback_
;
120
core::Real
mpi_metropolis_temp_
;
121
core::Real
rms_limit_
;
122
std::string
objective_function_
;
123
124
125
std::string
mpi_resume_
;
126
std::string
jobname_
;
127
128
// Live data
129
protocols::wum::SilentStructStore
library_central_
;
130
core::Size
last_save_state_
;
131
132
protected
:
// statistics can be protected such that derived classes can modify their values.
133
// Statistics
134
core::Size
totaltime_loophash_
;
135
core::Size
n_loophash_
;
136
core::Size
totaltime_batchrelax_
;
137
core::Size
n_batchrelax_
;
138
core::Size
total_structures_
;
139
core::Size
total_structures_relax_
;
140
core::Size
total_metropolis_
;
141
core::Size
total_metropolis_accepts_
;
142
143
private
:
144
std::string
ident_string_
;
// Unique identified for this job.
145
};
146
147
148
149
150
}
// namespace loops
151
}
// namespace protocols
152
153
154
155
#endif
156
157
158
159
Generated on Sat Jun 1 2013 11:57:21 for Rosetta 3.5 by
1.8.4