home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
develop.63b38c487d,2024/12/21
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
isd
version 20241221.develop.63b38c487d
NOERestraint.h
Go to the documentation of this file.
1
/**
2
* \file IMP/isd/NOERestraint.h
3
* \brief A lognormal restraint that uses the ISPA model to model NOE-derived
4
* distance fit.
5
*
6
* Copyright 2007-2022 IMP Inventors. All rights reserved.
7
*
8
*/
9
10
#ifndef IMPISD_NOE_RESTRAINT_H
11
#define IMPISD_NOE_RESTRAINT_H
12
13
#include <IMP/isd/isd_config.h>
14
#include <
IMP/SingletonScore.h
>
15
#include <
IMP/core/XYZ.h
>
16
#include <
IMP/Restraint.h
>
17
#include <
IMP/PairContainer.h
>
18
#include <
IMP/PairScore.h
>
19
20
IMPISD_BEGIN_NAMESPACE
21
22
//! Apply an NOE distance restraint between two particles.
23
class
IMPISDEXPORT
NOERestraint
:
public
Restraint
{
24
Pointer<Particle>
p0_;
25
Pointer<Particle>
p1_;
26
Pointer<Particle>
sigma_;
27
Pointer<Particle>
gamma_;
28
double
Vexp_;
29
double
chi_;
30
void
set_chi(
double
chi) { chi_ = chi; }
31
32
public
:
33
//! Create the restraint.
34
/** Restraints should store the particles they are to act on,
35
preferably in a Singleton or PairContainer as appropriate.
36
*/
37
NOERestraint
(
Model
*m,
Particle
*p0,
Particle
*p1,
Particle
*sigma,
38
Particle
*gamma,
double
Iexp);
39
40
/* call for probability */
41
double
get_probability()
const
{
return
exp(-
unprotected_evaluate
(
nullptr
)); }
42
43
double
get_chi()
const
{
return
chi_; }
44
45
virtual
double
unprotected_evaluate
(
IMP::DerivativeAccumulator
*accum)
46
const override
;
47
virtual
IMP::ModelObjectsTemp
do_get_inputs
()
const override
;
48
IMP_OBJECT_METHODS
(
NOERestraint
);
49
};
50
51
IMPISD_END_NAMESPACE
52
53
#endif
/* IMPISD_NOE_RESTRAINT_H */
IMP_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
object_macros.h:25
IMP::Restraint::unprotected_evaluate
virtual double unprotected_evaluate(DerivativeAccumulator *da) const
Return the unweighted score for the restraint.
IMP::Vector
A more IMP-like version of the std::vector.
Definition:
Vector.h:50
XYZ.h
Simple XYZ decorator.
IMP::Pointer
A smart pointer to a reference counted object.
Definition:
Pointer.h:87
IMP::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
Model.h:86
PairContainer.h
A container for Pairs.
IMP::isd::NOERestraint
Apply an NOE distance restraint between two particles.
Definition:
NOERestraint.h:23
PairScore.h
Define PairScore.
SingletonScore.h
Define SingletonScore.
IMP::Particle
Class to handle individual particles of a Model object.
Definition:
Particle.h:43
Restraint.h
Abstract base class for all restraints.
IMP::ModelObject::do_get_inputs
virtual ModelObjectsTemp do_get_inputs() const =0
IMP::DerivativeAccumulator
Class for adding derivatives from restraints to the model.
Definition:
DerivativeAccumulator.h:24
IMP::Restraint
A restraint is a term in an IMP ScoringFunction.
Definition:
Restraint.h:56