home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
develop.7cb8855c60,2024/10/04
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
pmi1
version 20241004.develop.7cb8855c60
/MembraneRestraint.h
Go to the documentation of this file.
1
/**
2
* \file IMP/pmi1/MembraneRestraint.h
3
* \brief Favor configurations where target is in the membrane.
4
*
5
* Copyright 2007-2018 IMP Inventors. All rights reserved.
6
*
7
*/
8
9
#ifndef IMPPMI1_MEMBRANE_RESTRAINT_H
10
#define IMPPMI1_MEMBRANE_RESTRAINT_H
11
#include <IMP/pmi1/pmi1_config.h>
12
#include <
IMP/isd/ISDRestraint.h
>
13
#include <
IMP/Particle.h
>
14
15
IMPPMI1_BEGIN_NAMESPACE
16
//! Membrane Restraint
17
/** Favors configurations where target is in the membrane
18
*/
19
class
IMPPMI1EXPORT
MembraneRestraint
:
public
isd::ISDRestraint
{
20
ParticleIndex
z_nuisance;
21
double
thickness;
22
double
softness;
23
double
plateau;
24
double
linear;
25
double
max_float;
26
double
log_max_float;
27
28
ParticleIndexes
particles_below;
29
ParticleIndexes
particles_above;
30
ParticleIndexes
particles_inside;
31
32
public
:
33
MembraneRestraint
(
Model
*m,
ParticleIndex
z_nuisance,
double
thickness,
34
double
softness,
double
plateau,
double
linear);
35
void
add_particles_below(
ParticleIndexes
const
&particles);
36
void
add_particles_above(
ParticleIndexes
const
&particles);
37
void
add_particles_inside(
ParticleIndexes
const
&particles);
38
double
get_score
(
double
prob)
const
;
39
double
get_probability_above(
double
z,
double
z_slope_center_upper)
const
;
40
double
get_score_above(
double
z,
double
z_slope_center_upper)
const
;
41
double
get_probability_below(
double
z,
double
z_slope_center_lower)
const
;
42
double
get_score_below(
double
z,
double
z_slope_center_lower)
const
;
43
double
get_score_inside(
double
z,
double
z_slope_center_lower,
44
double
z_slope_center_upper)
const
;
45
virtual
double
unprotected_evaluate
(
DerivativeAccumulator
*)
const override
;
46
virtual
IMP::ModelObjectsTemp
do_get_inputs
()
const override
;
47
IMP_OBJECT_METHODS
(
MembraneRestraint
);
48
};
49
50
IMPPMI1_END_NAMESPACE
51
52
#endif
/* IMPPMI1_MEMBRANE_RESTRAINT_H */
IMP::isd::ISDRestraint
A base class for ISD Restraints.
Definition:
isd/ISDRestraint.h:19
ISDRestraint.h
IMP_OBJECT_METHODS
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Definition:
object_macros.h:25
IMP::Index< ParticleIndexTag >
IMP::Vector< ParticleIndex, std::allocator< ParticleIndex > >
IMP::Model
Class for storing model, its restraints, constraints, and particles.
Definition:
Model.h:86
IMP::isd::ISDRestraint::do_get_inputs
virtual ModelObjectsTemp do_get_inputs() const override
IMP::isd::ISDRestraint::unprotected_evaluate
virtual double unprotected_evaluate(DerivativeAccumulator *accum) const override
Return the unweighted score for the restraint.
Particle.h
Classes to handle individual model particles. (Note that implementation of inline functions is in int...
IMP::Restraint::get_score
double get_score() const
IMP::pmi1::MembraneRestraint
Membrane Restraint.
Definition:
/MembraneRestraint.h:19
IMP::DerivativeAccumulator
Class for adding derivatives from restraints to the model.
Definition:
DerivativeAccumulator.h:24