IMP logo
IMP Reference Guide  develop.d97d4ead1f,2024/11/21
The Integrative Modeling Platform
link.py
1 ## \example rmf/link.py
2 # This example is like module/rmf/pdb.py except that instead of creating a
3 # new hierarchy from the rmf file, it simply links the existing hierarchy
4 # to the file. This mechanism can be used for loading multiple
5 # conformations for scoring or other analysis without having to set up
6 # restraints and things each time.
7 
8 import IMP.atom
9 import IMP.rmf
10 import RMF
11 import sys
12 
13 IMP.setup_from_argv(sys.argv, "link")
14 
15 m = IMP.Model()
16 
17 # Create a new IMP.atom.Hierarchy from the contents of the pdb file
18 h = IMP.atom.read_pdb(IMP.rmf.get_example_path("simple.pdb"), m)
19 
20 tfn = "link.rmf"
21 
22 print("File name is", tfn)
23 
24 # open the file, clearing any existing contents
25 rh = RMF.create_rmf_file(tfn)
26 
27 # add the hierarchy to the file
29 
30 # add the current configuration to the file as frame 0
32 
33 # close the file
34 del rh
35 
36 # reopen it, don't clear the file when opening it
37 rh = RMF.open_rmf_file_read_only(tfn)
38 
39 # link to the existing pdb hierarchy
41 
42 # load the same coordinates in, ok, that is not very exciting
43 IMP.rmf.load_frame(rh, RMF.FrameID(0))
44 
45 print("Try running rmf_display or rmf_show on", tfn)
RMF::FrameID save_frame(RMF::FileHandle file, std::string name="")
Save the current state of the linked objects as a new RMF frame.
Strings setup_from_argv(const Strings &argv, std::string description, std::string positional_description, int num_positional)
void read_pdb(TextInput input, int model, Hierarchy h)
Class for storing model, its restraints, constraints, and particles.
Definition: Model.h:86
void load_frame(RMF::FileConstHandle file, RMF::FrameID frame)
Load the given RMF frame into the state of the linked objects.
void add_hierarchies(RMF::NodeHandle fh, const atom::Hierarchies &hs)
void link_hierarchies(RMF::FileConstHandle fh, const atom::Hierarchies &hs)
Functionality for loading, creating, manipulating and scoring atomic structures.
Support for the RMF file format for storing hierarchical molecular data and markup.
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.