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
flexpep_docking
FlexPepDockingAbInitio.hh
Go to the documentation of this file.
1
// (c) Copyright Rosetta Commons Member Institutions.
2
// (c) This file is part of the Rosetta software suite and is made available under license.
3
// (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
4
// (c) For more information, see http://www.rosettacommons.org. Questions about this can be
5
// (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
6
7
// -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
8
// vi: set ts=2 noet;
9
//
10
// (C) 199x-2008 Hebrew University, Jerusalem
11
//
12
/// @file FlexPepDockingAbInitio.hh
13
///
14
/// @brief low-resolution agressive ab-initio folding and docking of peptide
15
/// @date August 5, 2008
16
/// @author Barak Raveh
17
18
#ifndef INCLUDED_protocols_flexpep_docking_FlexPepDockingAbInitio_hh
19
#define INCLUDED_protocols_flexpep_docking_FlexPepDockingAbInitio_hh
20
21
22
#include <
protocols/flexpep_docking/FlexPepDockingFlags.hh
>
23
#include <
protocols/flexpep_docking/FlexPepDockingAbInitio.fwd.hh
>
24
#include <
core/fragment/ConstantLengthFragSet.fwd.hh
>
25
// AUTO-REMOVED #include <core/fragment/FragSet.fwd.hh>
26
#include <
core/scoring/ScoreFunction.fwd.hh
>
27
#include <
core/kinematics/MoveMap.fwd.hh
>
28
#include <
core/pose/Pose.fwd.hh
>
29
#include <
protocols/comparative_modeling/LoopRelaxMover.fwd.hh
>
30
#include <
protocols/moves/Mover.hh
>
31
#include <
protocols/simple_moves/MinMover.fwd.hh
>
32
#include <
protocols/moves/MonteCarlo.fwd.hh
>
33
// AUTO-REMOVED #include <utility/options/keys/BooleanOptionKey.hh>
34
#include <string>
35
#include <set>
36
37
#include <utility/vector1.hh>
38
39
40
namespace
protocols {
41
namespace
flexpep_docking {
42
43
class
FlexPepDockingAbInitio
:
public
moves::Mover
44
{
45
public
:
46
47
/// @brief
48
/// constructor for low resolution flexpible peptide docking
49
//
50
// @param[in] scorefxn_in
51
// The scoring function used for optimization
52
// @param[in] rb_jump
53
// The FoldTree rigid body jump over
54
// which rigid-body pertrubations are made
55
FlexPepDockingAbInitio
(
56
FlexPepDockingFlags
flags_in,
57
core::scoring::ScoreFunctionOP
scorefxn_in,
58
core::kinematics::MoveMapOP
movemap_in,
59
Size
const
rb_jump_in = 1
60
);
61
62
// empty destructor - for good inclusion of OP clasesses
63
~FlexPepDockingAbInitio
();
64
65
virtual
void
apply
(
core::pose::Pose
& pose );
66
67
virtual
std::string
get_name
()
const
;
68
69
private
:
70
71
/// @brief initial setup for apply
72
void
setup_for_apply
(
core::pose::Pose
& pose);
73
74
// switch pose to centroid mode, if in full-atom
75
void
to_centroid
(
core::pose::Pose
& pose )
const
;
76
77
// switch pose to full-atom mode, if referncePose is full-atom
78
// (using side-chains of referencePose)
79
void
to_allatom
(
core::pose::Pose
& pose,
core::pose::Pose
& referencePose )
const
;
80
81
// pose - the pose to perturb
82
// cycles - # of MC cycles
83
// acceptance_rate [Output] - the acceptance rate in the MC cycles
84
void
torsions_monte_carlo
(
85
core::pose::Pose
& pose,
86
const
int
cycles,
87
double
& acceptance_rate
88
);
89
90
// pose - the pose to loop close, containing the peptide
91
void
loopclosure_monte_carlo
(
92
core::pose::Pose
& pose
93
);
94
95
// pose - the pose to perturb
96
// cycles - # of MC cycles
97
// trans_magnitude = random translation magnitude
98
// rot_magnitude = random rotation magnitude
99
// acceptance_rate [Output] - the acceptance rate in the MC cycles
100
void
rigidbody_monte_carlo
(
101
core::pose::Pose
& pose,
102
const
int
cycles,
103
const
float
trans_magnitude,
104
const
float
rot_magnitude,
105
double
& acceptance_rate
106
);
107
108
/////////////////////////////////////////////////////////////////////////////
109
// @brief convert all pSer residues to Asp, and save list of pSers to pSer_positions
110
//
111
// @param pose pose for conversion
112
// @param pSer_positions[out] - positions that were converted from pSer to Asp
113
/////////////////////////////////////////////////////////////////////////////
114
void
convertPSERtoASP
(
core::pose::Pose
& pose, std::set<int>& pSer_positions);
115
116
/////////////////////////////////////////////////////////////////////////////
117
// @brief convert all pSer residues to Glu, and save list of pSers to pSer_positions
118
//
119
// @param pose pose for conversion
120
// @param pSer_positions[out] - positions that were converted from pSer to Asp
121
/////////////////////////////////////////////////////////////////////////////
122
void
convertPSERtoGLU
(
core::pose::Pose
& pose, std::set<int>& pSer_positions);
123
124
125
/////////////////////////////////////////////////////////////////////////////
126
// @brief restore pSer residues if they were changed to Asp/Glu (based on pSer_positions)
127
//
128
// @param pose pose for conversion
129
// @param pSer_positions - positions for pSer'ilation
130
/////////////////////////////////////////////////////////////////////////////
131
void
restorePSER
(
core::pose::Pose
& pose, std::set<int>
const
& pSer_positions);
132
133
134
135
private
:
136
FlexPepDockingFlags
flags_
;
// all flags loaded from cmd-line options
137
138
// energy scoring function for centroid optimization
139
core::scoring::ScoreFunctionOP
scorefxn_
;
140
141
// the flexpepdock protocol movemap // may change throughout the run
142
core::kinematics::MoveMapOP
movemap_
;
143
144
/// the jump number across which to do rigid_body transformations
145
Size
rb_jump_
;
146
147
/// whether or not to initialize the viewer (for opengl)
148
bool
view_
;
149
150
moves::MonteCarloOP
mc_
;
151
152
protocols::simple_moves::MinMoverOP
minimizer_
;
153
154
// loop mover for modeling loop closure // TODO: this is a wrapper, use the loop modeller directly
155
protocols::comparative_modeling::LoopRelaxMoverOP
loop_relax_mover_
;
156
157
// set of fragments from a fragment library
158
core::fragment::ConstantLengthFragSetOP
fragset3mer_
;
159
core::fragment::ConstantLengthFragSetOP
fragset9mer_
;
160
core::fragment::ConstantLengthFragSetOP
fragset5mer_
;
161
162
};
163
164
}
// flexPepDocking
165
}
// protocols
166
167
#endif
168
Generated on Sat Jun 1 2013 11:50:26 for Rosetta 3.5 by
1.8.4