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
core
pack
scmin
SCMinMultifunc.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 core/pack/scmin/SCMinMultifunc.hh
11
/// @brief Class for interfacing with the minimizer during sidechain minimization.
12
/// @author Andrew Leaver-Fay (aleaverfay@gmail.com)
13
14
#ifndef INCLUDED_core_pack_scmin_SCMinMultifunc_hh
15
#define INCLUDED_core_pack_scmin_SCMinMultifunc_hh
16
17
// Unit headers
18
#include <
core/pack/scmin/SCMinMultifunc.fwd.hh
>
19
20
// Package Headers
21
#include <
core/pack/scmin/SCMinMinimizerMap.fwd.hh
>
22
23
// Project Headers
24
#include <
core/types.hh
>
25
#include <
core/conformation/Residue.fwd.hh
>
26
// AUTO-REMOVED #include <core/id/AtomID.fwd.hh>
27
#include <
core/optimization/Multifunc.hh
>
28
#include <
core/pose/Pose.fwd.hh
>
29
// AUTO-REMOVED #include <core/scoring/EnergyMap.hh>
30
#include <
core/scoring/MinimizationGraph.fwd.hh
>
31
#include <
core/scoring/ScoreFunction.fwd.hh
>
32
33
// Utility headers
34
#include <utility/vector1.hh>
35
#include <utility/pointer/ReferenceCount.hh>
36
37
#include <
core/scoring/ScoreType.hh
>
38
39
40
namespace
core {
41
namespace
pack {
42
namespace
scmin {
43
44
/// @brief
45
class
SCMinMultifunc
:
public
optimization::Multifunc
46
{
47
public
:
48
typedef
optimization::Multivec
Multivec
;
49
public
:
50
/// @brief Constructor. The pose is only modified during setup-for-scoring calls. Its
51
/// residue objects are untouched (though they are accessed). The SCMinMultifunc modifies
52
/// the residues that are contained in the SCMinMinimizerMap's AtomTreeCollection. The
53
/// minmap also describes which degrees of freedom are free.
54
/// The minimization graph should have already been setup so that its edges connect all
55
/// neighboring residues which will be involved in the minimization:
56
/// any residue that's being minimized must have all of its neighbors represented by
57
/// edges in the graph. Active edges and nodes must already have had
58
/// "setup_for_minimizing_for_{residue/residue_pair}" invoked: basically,
59
/// the SCMinMultifunc is absolved of all responsibility for setting up.
60
SCMinMultifunc
(
61
pose::Pose
& p,
62
utility::vector1< conformation::ResidueCOP >
const
& bg_residues,
63
scoring::ScoreFunction
const
& sfxn,
64
scoring::MinimizationGraph
& mingraph,
65
SCMinMinimizerMap
& scminmap
66
);
67
68
virtual
~SCMinMultifunc
();
69
70
virtual
71
Real
72
operator ()
(
Multivec
const
& chi )
const
;
73
74
75
virtual
76
void
77
dfunc
(
Multivec
const
& chi,
Multivec
& dE_dchi )
const
;
78
79
virtual
80
bool
81
abort_min
(
Multivec
const
& )
const
;
82
83
using
optimization::Multifunc::dump
;
84
85
/// @brief Error state reached; dump out something corresponding to the
86
/// var assignment. Default base class implementation: no_op();
87
virtual
88
void
89
dump
(
Multivec
const
&
/*vars*/
,
Multivec
const
&
/*vars2*/
)
const
;
90
91
private
:
92
93
/*void
94
eval_atom_deriv(
95
id::AtomID const & atom,
96
Vector & F1,
97
Vector & F2
98
) const;*/
99
100
101
private
:
102
pose::Pose
&
pose_
;
103
utility::vector1< conformation::ResidueCOP >
const
&
bg_residues_
;
104
scoring::ScoreFunction
const
&
sfxn_
;
105
scoring::MinimizationGraph
&
g_
;
106
SCMinMinimizerMap
&
scminmap_
;
107
108
//mutable scoring::EnergyMap emap_;
109
scoring::ScoreTypes
scoretypes_
;
110
};
111
112
113
114
}
// namespace scmin
115
}
// namespace pack
116
}
// namespace core
117
118
#endif
Generated on Sat Jun 1 2013 11:33:49 for Rosetta 3.5 by
1.8.4