IMP logo
IMP Reference Guide  develop.031dafb4d2,2024/05/16
The Integrative Modeling Platform
doc/examples/domino/merge_tree.py
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 import sys
10 
11 IMP.setup_from_argv(sys.argv, "merge tree")
12 
13 IMP.set_log_level(IMP.TERSE)
14 m = IMP.Model()
15 # don't print messages about evaluation
16 m.set_log_level(IMP.SILENT)
17 
18 bb = IMP.algebra.BoundingBox3D((0, 0, 0), (10, 10, 10))
19 allc = []
20 for i in range(0, 7):
21  p = IMP.Particle(m)
24  allc.append(d.get_coordinates())
26 ss = IMP.domino.XYZStates(allc)
27 for p in m.get_particle_indexes():
28  pst.set_particle_states(m.get_particle(p), ss)
29 # generate a set of restraints based on the close pairs in this randomly
30 # chosen configuration
32 cp.set_distance(1)
33 cps = cp.get_close_pairs(m, m.get_particle_indexes())
34 
35 if len(cps) > 0:
36  # one cannot create a container from an empty list
38 else:
42 
43 # compute the interaction graph based on all the restraints
45  pst)
46 # generate a junction tree from the interaction graph
48 print(dir(jt))
49 print(type(jt))
50 # create a merge tree from the junction tree, this can be passed to
51 # IMP.domin.DominoSampler
53 s = pst.get_subset()
54 print(s, type(s))
InteractionGraph get_interaction_graph(ScoringFunctionAdaptor rs, const ParticlesTemp &pst)
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
SubsetGraph get_junction_tree(const InteractionGraph &ig)
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 ParticleIndexPairs.
Find all nearby pairs by testing all pairs.
void set_log_level(LogLevel l)
Set the current global log level.
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...
MergeTree get_merge_tree(const SubsetGraph &junction_tree)
Class to handle individual particles of a Model object.
Definition: Particle.h:43
Applies a PairScore to each Pair in a list.
Divide-and-conquer inferential optimization in discrete space.