IMP  2.0.1
The Integrative Modeling Platform
restraint_io.h
Go to the documentation of this file.
1 /**
2  * \file IMP/rmf/restraint_io.h
3  * \brief Handle read/write of Model data from/to files.
4  *
5  * Copyright 2007-2013 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPRMF_RESTRAINT_IO_H
10 #define IMPRMF_RESTRAINT_IO_H
11 
12 #include <IMP/rmf/rmf_config.h>
13 #include "link_macros.h"
14 #include <IMP/base/object_macros.h>
15 #include <IMP/Restraint.h>
16 #include <IMP/restraint_macros.h>
17 
18 IMPRMF_BEGIN_NAMESPACE
19 
20 
21 
22 /** \name Restraint I/O
23  Restraints are written as am RMF::FEATURE node with subnodes for
24  the decomposed restraints (Restraint::create_current_decompositon()).
25  The Restraints::get_last_score() value is what is saved to the file,
26  so make sure that the restraints have been evaluated before saving
27  a frame.
28 
29  Any particles returnd by Restraint::get_input_particles() that are
30  also linked in the RMF file will be included in the RMF file as
31  inputs for the Restraint. This allows external software like e.g.,
32  Chimera to associate these restrains with a certain set of particles.
33  @{
34 */
35 IMP_DECLARE_LINKERS(Restraint, restraint, restraints,
36  Restraint*, Restraints, // InType
37  Restraint*, RestraintsTemp, // OutType
38  (RMF::FileConstHandle fh, Model *m),
39  );
40 
41 /** Certain restraint are made from a really large number of terms (eg
42  IMP::core::DopePairScore based ones). Tracking and displaying all those
43  terms can be very time consuming. If the number of terms is larger
44  than the maximum, the terms are not displayed. By default this is
45  100.*/
46 IMPRMFEXPORT void set_maximum_number_of_terms(RMF::FileHandle fh,
47  unsigned int num);
48 /** @} */
49 
50 
51 IMPRMF_END_NAMESPACE
52 
53 #endif /* IMPRMF_RESTRAINT_IO_H */