IMP  2.3.1
The Integrative Modeling Platform
atom_io.h
Go to the documentation of this file.
1 /**
2  * \file IMP/rmf/atom_io.h
3  * \brief Handle read/write of kernel::Model data from/to files.
4  *
5  * Copyright 2007-2014 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPRMF_ATOM_IO_H
10 #define IMPRMF_ATOM_IO_H
11 
12 #include <IMP/rmf/rmf_config.h>
13 #include "link_macros.h"
14 #include <IMP/atom/Hierarchy.h>
15 
16 IMPRMF_BEGIN_NAMESPACE
17 
18 /** \name Hierarchy I/O
19  Hierarchy I/O writes IMP::atom::Hierarchy information along with
20  the information contained in the following decorators
21  - IMP::atom::Atom
22  - IMP::atom::Residue
23  - IMP::core::XYZR
24  - IMP::atom::Mass
25  - IMP::atom::Diffusion
26  - IMP::core::Typed
27  - IMP::display::Colored
28  - IMP::atom::Domain
29  - IMP::atom::Molecule
30  - IMP::atom::Copy
31  - IMP::atom::State
32  - IMP::atom::Representation
33  - IMP::core::RigidMember (rigid body information will be written and rigid
34  bodies created even when the IMP::core::RigidBody is not itself written
35  to the file)
36  - IMP::core::RigidBody
37 
38  @note IMP::core::XYZ and IMP::core::RigidBody data are stored at each frame.
39  Data for all the other decorators are assumed to be static attributes, and
40  are stored once for the entire RMF file. There is currently no way to
41  customize this. Complain to the IMP team if this is problematic.
42 
43  \anchor topology_matching
44  \note To avoid unexpected behavior, be aware that when linking
45  atom::Hierarchies against an RMF file, the linked hierarchies are
46  assumed to be identical in all of their static attributes to the
47  hierarchies in the RMF file (within
48  RMF::REPRESENTATION nodes). In particular, these hierarchies must
49  have the same tree topology (number of children for each node).
50 
51  @{
52  */
53 
54 IMP_DECLARE_LINKERS(Hierarchy, hierarchy, hierarchies,
55  atom::Hierarchy, atom::Hierarchies,
56  (RMF::FileConstHandle fh, kernel::Model *m),
57  See \ref topology_matching "Linking hierarchies" for more
58  information and intricacies);
59 /** @} */
60 
61 IMPRMF_END_NAMESPACE
62 
63 #endif /* IMPRMF_ATOM_IO_H */
Decorator for helping deal with a hierarchy of molecules.
IMP::kernel::Model Model