IMP  2.4.0
The Integrative Modeling Platform
domino/merge_tree.py

The example shows how to generate and inspect a merge tree for use in Domino.

1 ## \example domino/merge_tree.py
2 # The example shows how to generate and inspect a merge tree for use in Domino.
3 
4 import IMP
5 import IMP.domino
6 import IMP.core
7 import IMP.container
8 import IMP.algebra
9 
10 IMP.base.set_log_level(IMP.base.TERSE)
11 m = IMP.kernel.Model()
12 # don't print messages about evaluation
13 m.set_log_level(IMP.base.SILENT)
14 
15 bb = IMP.algebra.BoundingBox3D((0, 0, 0), (10, 10, 10))
16 allc = []
17 for i in range(0, 7):
18  p = IMP.kernel.Particle(m)
21  allc.append(d.get_coordinates())
23 ss = IMP.domino.XYZStates(allc)
24 for p in m.get_particles():
25  pst.set_particle_states(p, ss)
26 # generate a set of restraints based on the close pairs in this randomly
27 # chosen configuration
29 cp.set_distance(1)
30 cps = cp.get_close_pairs(m.get_particles())
31 
32 if len(cps) > 0:
33  # one cannot create a container from an empty list
35 else:
39 
40 # compute the interaction graph based on all the restraints
42  pst)
43 # generate a junction tree from the interaction graph
45 print(dir(jt))
46 print(type(jt))
47 # create a merge tree from the junction tree, this can be passed to
48 # IMP.domin.DominoSampler
50 s = pst.get_subset()
51 print(s, type(s))