IMP logo
IMP Reference Guide  2.20.2
The Integrative Modeling Platform
excluded_volume.py
1 ## \example core/excluded_volume.py
2 # Setup an excluded volume restraint between a bunch of particles with radius.
3 #
4 
5 import IMP.container
6 import sys
7 
8 IMP.setup_from_argv(sys.argv, "excluded volume")
9 
10 # Make 100 particles randomly distributed in a cubic box
11 m = IMP.Model()
14  IMP.algebra.Vector3D(10,10,10))
15 for i in range(100):
16  p = m.add_particle("p")
17  lsc.add(p)
20 
21 # this container lists all pairs that are close at the time of evaluation
22 nbl = IMP.container.ClosePairContainer(lsc, 0, 2)
25 # use the lower bound on the inter-sphere distance to push the spheres apart
26 nbr = IMP.container.PairsRestraint(sd, nbl)
27 
28 # alternatively, one could just do
30 
31 # get the current score
33 print(sf.evaluate(False))
Lower bound harmonic function (non-zero when feature < mean)
Strings setup_from_argv(const Strings &argv, std::string description, std::string positional_description, int num_positional)
Various classes to hold sets of particles.
static XYZR setup_particle(Model *m, ParticleIndex pi)
Definition: XYZR.h:48
Create a scoring function on a list of restraints.
A score on the distance between the surfaces of two spheres.
Return all close unordered pairs of particles taken from the SingletonContainer.
Vector3D get_random_vector_in(const Cylinder3D &c)
Generate a random vector in a cylinder with uniform density.
Class for storing model, its restraints, constraints, and particles.
Definition: Model.h:86
Store a list of ParticleIndexes.
VectorD< 3 > Vector3D
Definition: VectorD.h:425
Prevent a set of particles and rigid bodies from inter-penetrating.
Applies a PairScore to each Pair in a list.