IMP logo
IMP Reference Guide  2.20.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 Input/output of IMP::atom::Hierarchy information.
4  *
5  * Copyright 2007-2022 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::atom::Chain
24  - IMP::core::XYZR
25  - IMP::atom::Mass
26  - IMP::atom::Diffusion
27  - IMP::core::Typed
28  - IMP::display::Colored
29  - IMP::atom::Domain
30  - IMP::atom::Molecule
31  - IMP::atom::Copy
32  - IMP::atom::State
33  - IMP::atom::Representation
34  - IMP::core::RigidMember (rigid body information will be written and rigid
35  bodies created even when the IMP::core::RigidBody is not itself written
36  to the file)
37  - IMP::core::RigidBody
38 
39  @note IMP::core::XYZ and IMP::core::RigidBody data are stored at each frame.
40  Data for all the other decorators are assumed to be static attributes, and
41  are stored once for the entire RMF file. There is currently no way to
42  customize this. Complain to the IMP team if this is problematic.
43 
44  \anchor topology_matching
45  \note To avoid unexpected behavior, be aware that when linking
46  atom::Hierarchies against an RMF file, the linked hierarchies are
47  assumed to be identical in all of their static attributes to the
48  hierarchies in the RMF file (within
49  RMF::REPRESENTATION nodes). In particular, these hierarchies must
50  have the same tree topology (number of children for each node).
51 
52  @{
53  */
54 
55 IMP_DECLARE_LINKERS(Hierarchy, hierarchy, hierarchies,
56  atom::Hierarchy, atom::Hierarchies,
57  (RMF::FileConstHandle fh, Model *m),
58  See \ref topology_matching "Linking hierarchies" for more
59  information and intricacies);
60 /** @} */
61 
62 IMPRMF_END_NAMESPACE
63 
64 #endif /* IMPRMF_ATOM_IO_H */
Decorator for helping deal with a hierarchy of molecules.