IMP  2.3.0
The Integrative Modeling Platform
range_restriction.py
1 ## \example example/range_restriction.py
2 # This example shows how to use the example singleton modifier to constrain the
3 # coordinates of a set of particles to remain within a box.
4 
5 import IMP.example
6 import IMP.core
7 import IMP.container
8 import sys
9 
10 # you can use this argument to shorten the test, if necessary
11 IMP.base.add_bool_flag("test", "Run a minimal test on the script")
12 
13 # parse standard IMP flags
14 IMP.base.setup_from_argv(sys.argv, "A trivial example of an example.")
15 
16 
18  IMP.algebra.Vector3D(10, 10, 10))
19 
20 m = IMP.kernel.Model()
21 ps = IMP.core.create_xyzr_particles(m, 20, 1)
23 
24 # apply the range restriction modifier to each each particle in sc
27 m.add_score_state(ss)
28 
29 # now optimize and things
30 # ...
Apply a SingletonFunction to a SingletonContainer to maintain an invariant.
Various classes to hold sets of particles.
void add_bool_flag(std::string name, std::string description)
Store a kernel::ParticleIndexes.
XYZRs create_xyzr_particles(kernel::Model *m, unsigned int num, Float radius, Float box_side=10)
Create a set of particles with random coordinates.
Basic functionality that is expected to be used by a wide variety of IMP users.
Example module.
VectorD< 3 > Vector3D
Definition: VectorD.h:395
Strings setup_from_argv(const Strings &argv, std::string description, std::string positional_description, int num_positional)
Class for storing model, its restraints, constraints, and particles.
Definition: kernel/Model.h:73