IMP  2.4.0
The Integrative Modeling Platform
simple.py
1 ## \example core/simple.py
2 # Illustration of simple usage of the IMP library from Python.
3 #
4 
5 import IMP
6 import IMP.algebra
7 import IMP.core
8 
10 
11 # Create two "untyped" Particles
12 p1 = IMP.kernel.Particle(m)
13 p2 = IMP.kernel.Particle(m)
14 
15 # "Decorate" the Particles with x,y,z attributes (point-like particles)
18 
19 # Use some XYZ-specific functionality (set coordinates)
20 d1.set_coordinates(IMP.algebra.Vector3D(10.0, 10.0, 10.0))
21 d2.set_coordinates(IMP.algebra.Vector3D(-10.0, -10.0, -10.0))
22 print(d1, d2)
23 
24 # Harmonically restrain p1 to be zero distance from the origin
25 f = IMP.core.Harmonic(0.0, 1.0)
28 m.add_restraint(r1)
29 
30 # Harmonically restrain p1 and p2 to be distance 5.0 apart
31 f = IMP.core.Harmonic(5.0, 1.0)
33 r2 = IMP.core.PairRestraint(s, (p1, p2))
34 m.add_restraint(r2)
35 
36 # Optimize the x,y,z coordinates of both particles with conjugate gradients
37 d1.set_coordinates_are_optimized(True)
38 d2.set_coordinates_are_optimized(True)
40 o.optimize(50)
41 print(d1, d2)
Simple conjugate gradients optimizer.
static XYZ setup_particle(kernel::Model *m, ParticleIndex pi)
Definition: XYZ.h:51
Apply a function to the distance to a fixed point.
Class to handle individual model particles.
Basic functionality that is expected to be used by a wide variety of IMP users.
General purpose algebraic and geometric methods that are expected to be used by a wide variety of IMP...
VectorD< 3 > Vector3D
Definition: VectorD.h:395
Applies a PairScore to a Pair.
Definition: PairRestraint.h:29
Applies a SingletonScore to a Singleton.
Class for storing model, its restraints, constraints, and particles.
Definition: kernel/Model.h:73
Harmonic function (symmetric about the mean)
Definition: core/Harmonic.h:24