IMP
2.2.1
The Integrative Modeling Platform
IMP Mainpage
All IMP Modules
Related Pages
Modules
Namespaces
Classes
Files
Examples
Indexes
File List
File Members
IMP
All IMP Modules
All IMP Modules and Applications
Argument Index
Class Examples
Design example
Developer Guide
Factory Index
Function Examples
Installation
Introduction
ChangeLog
Tools
Dependencies
EMageFit protocol
EMageFit scripts and tools
Integrative docking utility programs
Deprecated List
Modules
Namespaces
Classes
Files
File List
File Members
Examples
Indexes
Class Usage
Class Examples
Class Factories
Function Examples
multifit/RadiusOfGyrationRestraint.h
Go to the documentation of this file.
1
/**
2
* \file IMP/multifit/RadiusOfGyrationRestraint.h
3
* \brief radius of gyration restraint.
4
*
5
* Restrict max distance between every pair of particle
6
*
7
* Copyright 2007-2014 IMP Inventors. All rights reserved.
8
*
9
*/
10
11
#ifndef IMPMULTIFIT_RADIUS_OF_GYRATION_RESTRAINT_H
12
#define IMPMULTIFIT_RADIUS_OF_GYRATION_RESTRAINT_H
13
14
#include <IMP/multifit/multifit_config.h>
15
#include <
IMP/kernel/Restraint.h
>
16
#include <
IMP/core/HarmonicUpperBound.h
>
17
#include <
IMP/kernel/Particle.h
>
18
#include <
IMP/kernel/container_macros.h
>
19
20
IMPMULTIFIT_BEGIN_NAMESPACE
21
22
//! Ensure the radius of gyration of particles fits the predicted one
23
/**
24
/note a harmonic upper bound is applied between
25
the predicted radius and the actual radius
26
*/
27
class
IMPMULTIFITEXPORT
RadiusOfGyrationRestraint
:
public
kernel::Restraint
{
28
public
:
29
//! Constructor
30
/**
31
\param[in] ps the particles to work on
32
\param[in] num_residues the number of residues the particles represent
33
\param[in] scale allow the radius of gyration of the particles
34
to be at most scale times the predicted one
35
*/
36
RadiusOfGyrationRestraint
(
kernel::Particles
ps,
int
num_residues,
37
Float
scale = 1.);
38
virtual
double
unprotected_evaluate(
IMP::kernel::DerivativeAccumulator
*accum)
39
const
IMP_OVERRIDE;
40
virtual
IMP::kernel::ModelObjectsTemp
do_get_inputs
()
const
IMP_OVERRIDE;
41
IMP_OBJECT_METHODS
(
RadiusOfGyrationRestraint
);
42
//! Set the predicted radius of gyration used in the restraint
43
void
set_radius_of_gyration
(
Float
r) {
44
predicted_rog_ = r;
45
hub_ =
new
core::HarmonicUpperBound
(predicted_rog_ * scale_, 1);
46
}
47
//! Get the predicted radius of gyration used in the restraint
48
inline
Float
get_radius_of_gyration
() {
return
predicted_rog_; }
49
50
#ifndef SWIG
51
IMP_LIST
(
private
,
Particle
, particle,
kernel::Particle
*,
kernel::Particles
);
52
#endif
53
protected
:
54
kernel::Model
*mdl_;
55
Float
predicted_rog_;
56
Float
scale_;
57
base::Pointer<core::HarmonicUpperBound>
hub_;
58
};
59
60
IMPMULTIFITEXPORT
61
float
get_approximated_radius_of_gyration(
int
len);
62
IMPMULTIFITEXPORT
63
float
get_actual_radius_of_gyration(
kernel::ParticlesTemp
ps);
64
IMPMULTIFITEXPORT
65
float
get_approximated_radius(
int
len);
66
IMPMULTIFIT_END_NAMESPACE
67
68
#endif
/* IMPMULTIFIT_RADIUS_OF_GYRATION_RESTRAINT_H */
IMP::multifit::RadiusOfGyrationRestraint::set_radius_of_gyration
void set_radius_of_gyration(Float r)
Set the predicted radius of gyration used in the restraint.
Definition:
multifit/RadiusOfGyrationRestraint.h:43
IMP::kernel::DerivativeAccumulator
Class for adding derivatives from restraints to the model.
Definition:
kernel/DerivativeAccumulator.h:25
IMP::core::HarmonicUpperBound
Upper bound harmonic function (non-zero when feature > mean)
Definition:
core/HarmonicUpperBound.h:20
IMP::multifit::RadiusOfGyrationRestraint::get_radius_of_gyration
Float get_radius_of_gyration()
Get the predicted radius of gyration used in the restraint.
Definition:
multifit/RadiusOfGyrationRestraint.h:48
IMP::base::Pointer< core::HarmonicUpperBound >
IMP::base::Vector< base::Pointer< Particle > >
Restraint.h
Abstract base class for all restraints.
IMP::kernel::Restraint
A restraint is a term in an IMP ScoringFunction.
Definition:
kernel/Restraint.h:52
IMP_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
base/object_macros.h:25
IMP::kernel::Particle
Class to handle individual model particles.
Definition:
kernel/Particle.h:34
Particle.h
Classes to handle individual model particles.
IMP::multifit::RadiusOfGyrationRestraint
Ensure the radius of gyration of particles fits the predicted one.
Definition:
multifit/RadiusOfGyrationRestraint.h:27
IMP::kernel::ModelObject::do_get_inputs
virtual ModelObjectsTemp do_get_inputs() const =0
IMP::Float
double Float
Basic floating-point value (could be float, double...)
Definition:
base/types.h:20
IMP_LIST
#define IMP_LIST(protection, Ucname, lcname, Data, PluralData)
A macro to provide a uniform interface for storing lists of objects.
Definition:
kernel/container_macros.h:90
container_macros.h
Macros to define containers of objects.
HarmonicUpperBound.h
Harmonic upper bound function.
IMP::kernel::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
kernel/Model.h:72