home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
develop.549d75e6f4,2024/11/20
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
version 20241120.develop.549d75e6f4
rmf/pdb.py
Write a PDB to an RMF file.
1
## \example rmf/pdb.py
2
# Write a PDB to an RMF file.
3
#
4
5
import
IMP.atom
6
import
IMP.rmf
7
import
RMF
8
import
sys
9
10
IMP.setup_from_argv
(sys.argv,
"pdb"
)
11
12
m =
IMP.Model
()
13
14
# Create a new IMP.atom.Hierarchy from the contents of the pdb file
15
h =
IMP.atom.read_pdb
(
IMP.rmf.get_example_path
(
"simple.pdb"
), m)
16
17
tfn =
"pdb.rmf"
18
19
print(
"File name is"
, tfn)
20
21
# open the file, clearing any existing contents
22
rh = RMF.create_rmf_file(tfn)
23
24
# add the hierarchy to the file
25
IMP.rmf.add_hierarchies
(rh, [h])
26
27
# add the current configuration to the file as frame 0
28
IMP.rmf.save_frame
(rh)
29
30
# change a coordinate
31
IMP.core.XYZ
(
IMP.atom.get_leaves
(h)[0]).set_x(0)
32
33
# add the new configuration to the file as frame 1
34
IMP.rmf.save_frame
(rh)
35
36
# close the file
37
del rh
38
39
# reopen it, don't clear the file when opening it
40
rh = RMF.open_rmf_file_read_only(tfn)
41
42
# hps is a list with one element which is a copy of h
43
hps =
IMP.rmf.create_hierarchies
(rh, m)
44
45
IMP.atom.show_molecular_hierarchy
(hps[0])
46
47
# load the second configuration into hps
48
IMP.rmf.load_frame
(rh, RMF.FrameID(0))
49
50
print(
"Try running rmf_display or rmf_show on"
, tfn)