IMP logo
IMP Reference Guide  develop.031dafb4d2,2024/05/16
The Integrative Modeling Platform
atom/multiresolution.py
1 ## \example atom/multiresolution.py
2 # This example shows how to use the multiresolution support available in
3 # IMP.atom via the IMP.atom.Resolution decorator and IMP.atom.Selection
4 
5 from __future__ import print_function
6 import IMP.atom
7 import sys
8 
9 IMP.setup_from_argv(sys.argv, "multiresolution")
10 
11 # Create an IMP model and add a heavy atom-only protein from a PDB file
12 m = IMP.Model()
13 
14 root = IMP.atom.Hierarchy.setup_particle(m, m.add_particle("root"))
16  m, m.add_particle("rigid body"),
18 
19 prot = IMP.atom.read_pdb(IMP.atom.get_example_path("example_protein.pdb"), m,
21 root.add_child(prot)
22 print("adding rigid body for atoms")
23 rigid_body.add_member(IMP.atom.create_rigid_body(prot))
24 
26 
27 print("creating residue level rep")
29 print("adding rigid body for residues")
30 rigid_body.add_member(IMP.atom.create_rigid_body(residues))
31 resolutions.add_representation(residues)
32 
33 print("creating triplet residue level rep")
35 resolutions.add_representation(triplets)
36 print("adding rigid body for triplets")
37 rigid_body.add_member(IMP.atom.create_rigid_body(triplets))
38 
40 resolutions.add_representation(whole)
41 
42 print("resolutions are", resolutions)
43 
44 # note these resolutions need to be fixed
45 print("atoms")
46 print(IMP.atom.Selection(
47  root, residue_index=15, resolution=1).get_selected_particles())
48 print("residues")
49 print(IMP.atom.Selection(
50  root, residue_index=15, resolution=.3).get_selected_particles())
51 print("several residues")
52 print(IMP.atom.Selection(
53  root, residue_index=15, resolution=.2).get_selected_particles())
54 print("very coarse")
55 print(IMP.atom.Selection(
56  root, residue_index=15, resolution=.01).get_selected_particles())
57 print("all")
58 print(IMP.atom.Selection(
59  root, residue_index=15,
60  resolution=IMP.atom.ALL_RESOLUTIONS).get_selected_particles())
Select non water and non hydrogen atoms.
Definition: pdb.h:314
Strings setup_from_argv(const Strings &argv, std::string description, std::string positional_description, int num_positional)
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.
static Representation setup_particle(Model *m, ParticleIndex pi)
void read_pdb(TextInput input, int model, Hierarchy h)
A reference frame in 3D.
Class for storing model, its restraints, constraints, and particles.
Definition: Model.h:86
static Hierarchy setup_particle(Model *m, ParticleIndex pi, ParticleIndexesAdaptor children=ParticleIndexesAdaptor())
Create a Hierarchy of level t by adding the needed attributes.
Hierarchy create_simplified_along_backbone(Chain input, const IntRanges &residue_segments, bool keep_detailed=false)
IMP::core::RigidBody create_rigid_body(Hierarchy h)
Functionality for loading, creating, manipulating and scoring atomic structures.
Select hierarchy particles identified by the biological name.
Definition: Selection.h:70
static RigidBody setup_particle(Model *m, ParticleIndex pi, ParticleIndexesAdaptor ps)
Definition: rigid_bodies.h:180