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
scoring
constraints
util.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 src/core/scoring/constraints/util.hh
11
/// @brief utility functions for defining constraints. Maybe better placed in src/numeric?
12
/// @author James Thompson
13
14
#ifndef INCLUDED_core_scoring_constraints_util_hh
15
#define INCLUDED_core_scoring_constraints_util_hh
16
17
#include <
core/types.hh
>
18
19
#include <
core/scoring/constraints/Constraint.fwd.hh
>
20
#include <
core/pose/Pose.fwd.hh
>
21
#include <
core/scoring/ScoreFunction.fwd.hh
>
22
#include <
core/kinematics/ShortestPathInFoldTree.fwd.hh
>
23
24
#include <utility/vector1.hh>
25
26
27
#ifdef WIN32
28
#include <string>
29
#endif
30
31
32
namespace
core {
33
namespace
scoring {
34
namespace
constraints {
35
36
/// @brief Returns the log of the weighted value of a Gaussian distribution
37
/// evaluated with the given mean, sd, and x values. Returns zero if the
38
/// weight is less than 1e-10.
39
Real
logdgaussian_deriv
(
Real
x,
Real
mean,
Real
sd,
Real
weight );
40
41
/// @brief Returns the log of the weighted value of a Gaussian distribution
42
/// evaluated with the given mean, sd, and x values. Returns zero if the
43
/// weight is less than 1e-10.
44
Real
logdgaussian
(
Real
x,
Real
mean,
Real
sd,
Real
weight );
45
46
// @brief Returns the weighted value of a Gaussian distribution evaluated
47
// with the given mean, sd, and x values. Returns zero if the weight is less
48
// than 1e-10.
49
Real
dgaussian
(
Real
x,
Real
mean,
Real
sd,
Real
weight );
50
51
/// @brief Returns the weighted derivative of a Gaussian distribution
52
/// evaluated with the given mean, sd, and x values. Returns zero if the
53
/// weight is less than 1e-10.
54
Real
gaussian_deriv
(
Real
x,
Real
mean,
Real
sd,
Real
weight );
55
56
/// @brief Returns the weighted value of an Exponential distribution evaluated
57
/// with the given anchor, rate, and x values. Returns zero if the weight is
58
/// less than 1e-10.
59
Real
dexponential
(
Real
x,
Real
anchor,
Real
rate,
Real
weight );
60
61
/// @brief Returns the weighted derivative of an Exponential distribution
62
/// evaluated with the given anchor, rate, and x values. Returns zero if the
63
/// weight is less than 1e-10.
64
Real
exponential_deriv
(
Real
x,
Real
anchor,
Real
rate,
Real
weight );
65
66
/// @brief Estimates the y-value of the given x-value by interpolating between
67
/// the given points (x1,y1) and (x2,y2) by using linear interpolation between
68
/// the two points.
69
Real
linear_interpolate
(
70
Real
const
x_val,
71
Real
const
x1,
72
Real
const
x2,
73
Real
const
y1,
74
Real
const
y2
75
);
76
77
//return only those constraints that evaluate with less than threshold on
78
//the filter_pose
79
void
80
cull_violators
(
81
ConstraintCOPs
const
& target_list,
82
ConstraintCOPs
& culled_list,
83
core::pose::Pose
const
& filter_pose,
84
core::Real
threshold = 1.0
85
);
86
87
////////// Centroid constraints
88
89
std::string
get_cst_file_option
();
90
//// @brief add constraints if specified by user.
91
void
add_constraints_from_cmdline_to_pose
(
core::pose::Pose
& pose );
92
//// @brief add constraints if specified by user.
93
void
add_constraints_from_cmdline_to_scorefxn
(
94
core::scoring::ScoreFunction
& scorefxn_
95
);
96
//// @brief add constraints if specified by user.
97
void
add_constraints_from_cmdline
(
98
core::pose::Pose
& pose,
core::scoring::ScoreFunction
& scorefxn_
99
);
100
101
////////// FA constraints
102
103
std::string
get_cst_fa_file_option
();
104
105
/// @brief add constraints if specified by user.
106
void
add_fa_constraints_from_cmdline_to_pose
(
core::pose::Pose
& pose );
107
108
/// @brief add constraints if specified by user.
109
void
add_fa_constraints_from_cmdline_to_scorefxn
(
110
core::scoring::ScoreFunction
& scorefxn_
111
);
112
113
/// @brief add constraints if specified by user.
114
void
add_fa_constraints_from_cmdline
(
115
core::pose::Pose
& pose,
116
core::scoring::ScoreFunction
& scorefxn_
117
);
118
119
/// @brief handy function for tethering pose to starting coordinates.
120
void
121
add_coordinate_constraints
(
core::pose::Pose
& pose,
core::Real
const
coord_sdev = 10.0 );
122
123
/// @brief call this on your constraints if you have MultiConstraints before running Abinitio -- already done by broker-type application
124
void
choose_effective_sequence_separation
(
core::kinematics::ShortestPathInFoldTree
const
& sp,
ConstraintCOPs
& in );
125
126
///@brief combine constraints randomly into Ambiguous constraints...
127
void
combine_constraints
(
128
ConstraintCOPs
& in,
129
core::Size
combine_ratio,
130
utility::vector1< bool >
exclude_res,
131
core::kinematics::ShortestPathInFoldTree
const
& sp
132
);
133
134
///@brief have at most one constraint per residue pair...
135
void
skip_redundant_constraints
(
ConstraintCOPs
& in,
core::Size
total_residue,
core::Size
influence_width = 1 );
136
void
drop_constraints
(
ConstraintCOPs
& in,
core::Real
drop_rate );
137
138
}
// namespace constraints
139
}
// namespace scoring
140
}
// namespace core
141
142
#endif
Generated on Sat Jun 1 2013 11:32:17 for Rosetta 3.5 by
1.8.4