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
simple_moves
ddG.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/protein_interface_design/movers/ddG.hh
11
/// @brief calculate interface ddg
12
/// @author Sarel Fleishman
13
14
15
#ifndef INCLUDED_protocols_simple_moves_ddG_hh
16
#define INCLUDED_protocols_simple_moves_ddG_hh
17
18
// Package headers
19
#include <
core/pose/Pose.fwd.hh
>
20
#include <
core/scoring/ScoreType.hh
>
21
#include <basic/datacache/CacheableData.hh>
22
#include <
core/scoring/methods/PoissonBoltzmannEnergy.hh
>
23
24
#include <
protocols/moves/Mover.fwd.hh
>
25
#include <
core/types.hh
>
26
#include <
protocols/simple_moves/ddG.fwd.hh
>
27
#include <string>
28
29
#include <utility/vector1.hh>
30
#include <
core/pack/task/TaskFactory.hh
>
31
32
//Auto Headers
33
#include <
protocols/simple_moves/DesignRepackMover.hh
>
34
35
#include <vector>
36
37
namespace
protocols {
38
namespace
simple_moves {
39
40
class
ddG
:
public
simple_moves::DesignRepackMover
41
{
42
public
:
43
44
typedef
core::Real
Real
;
45
typedef
core::scoring::ScoreType
ScoreType
;
46
typedef
core::pose::Pose
Pose
;
47
48
/// Distance in A to separate the molecules away from bound-state.
49
/// NOTES by Sachko Honda: This value used to be hard coded to 1000 for unbound poses,
50
/// whereas the default 100 was used for bounded.
51
/// The choice of value 1000 was arbitrary by the original author.
52
/// The value is now reduced to 100 in order to help the PDE solver (APBS)
53
/// from blowing up, by default, but can be a user-defined value via RosettaScript option
54
/// or command-line option.
55
static
const
Real
DEFAULT_TRANSLATION_DISTANCE
;
56
57
public
:
58
ddG
();
59
ddG
(
core::scoring::ScoreFunctionCOP
scorefxn_in,
core::Size
const
jump=1,
bool
const
symmetry=
false
);
60
ddG
(
core::scoring::ScoreFunctionCOP
scorefxn_in,
core::Size
const
jump
/*=1*/
,
utility::vector1<core::Size>
const
& chain_ids,
bool
const
symmetry
/*=false*/
);
61
virtual
void
apply
(
Pose
& pose);
62
void
calculate
(
Pose
const
& pose_in );
63
void
symm_ddG
(
core::pose::Pose
& pose_in );
64
void
no_repack_ddG
(
core::pose::Pose
& pose_in);
65
void
report_ddG
( std::ostream & out )
const
;
66
Real
sum_ddG
()
const
;
67
core::Size
rb_jump
()
const
{
return
rb_jump_
; }
68
void
rb_jump
(
core::Size
j ) {
rb_jump_
= j; }
69
core::Size
repeats
()
const
{
return
repeats_
; }
70
void
repeats
(
core::Size
repeats
) {
repeats_
=
repeats
; }
71
virtual
~ddG
();
72
protocols::moves::MoverOP
fresh_instance
()
const
{
return
(
protocols::moves::MoverOP
)
new
ddG
; }
73
protocols::moves::MoverOP
clone
()
const
;
74
void
parse_my_tag
(
utility::tag::TagPtr
const
,
protocols::moves::DataMap
&,
protocols::filters::Filters_map
const
&,
protocols::moves::Movers_map
const
&,
core::pose::Pose
const
& );
75
76
virtual
std::string
get_name
()
const
;
77
protocols::moves::MoverOP
relax_mover
()
const
{
return
relax_mover_
; }
78
void
relax_mover
(
protocols::moves::MoverOP
m ){
relax_mover_
= m; }
79
80
void
task_factory
(
core::pack::task::TaskFactoryOP
task_factory
) {
task_factory_
=
task_factory
; }
81
core::pack::task::TaskFactoryOP
task_factory
()
const
{
return
task_factory_
; }
82
void
use_custom_task
(
bool
uct ) {
use_custom_task_
= uct; }
83
bool
use_custom_task
()
const
{
return
use_custom_task_
; }
84
void
repack_bound
(
bool
rpb ) {
repack_bound_
= rpb; }
85
bool
repack_bound
()
const
{
return
repack_bound_
; }
86
void
relax_bound
(
bool
rlb ) {
relax_bound_
= rlb; }
87
bool
relax_bound
()
const
{
return
relax_bound_
; }
88
89
private
:
90
std::map< ScoreType, Real >
bound_energies_
;
91
std::map< ScoreType, Real >
unbound_energies_
;
92
93
std::map< Size, Real >
bound_per_residue_energies_
;
94
std::map< Size, Real >
unbound_per_residue_energies_
;
95
96
Real
bound_total_energy_
;
97
Real
unbound_total_energy_
;
98
Size
repeats_
;
99
core::scoring::ScoreFunctionOP
scorefxn_
;
100
void
fill_energy_vector
(
Pose
const
& pose, std::map<ScoreType, Real > & energy_map );
101
void
fill_per_residue_energy_vector
(
Pose
const
& pose, std::map<Size,Real> & energy_map);
102
core::Size
rb_jump_
;
103
utility::vector1<core::Size>
chain_ids_
;
104
bool
symmetry_
;
105
bool
per_residue_ddg_
;
106
bool
repack_
;
107
protocols::moves::MoverOP
relax_mover_
;
//dflt NULL; in the unbound state, relax before taking the energy
108
109
core::pack::task::TaskFactoryOP
task_factory_
;
110
bool
use_custom_task_
;
111
bool
repack_bound_
;
112
bool
relax_bound_
;
113
114
/// info carrier for poisson-boltzmann potential energy computation
115
core::scoring::methods::PBLifetimeCacheOP
pb_cached_data_
;
116
117
/// true when PB potential is part of scorefxn
118
bool
pb_enabled_
;
119
120
/// distance in A to separate moledules
121
Real
translate_by_
;
122
};
123
124
}
// movers
125
}
// protocols
126
#endif
/*INCLUDED_protocols_protein_interface_design_movers_ddG_HH*/
127
Generated on Sat Jun 1 2013 12:15:30 for Rosetta 3.5 by
1.8.4