IMP logo
IMP Reference Guide  develop.674b25dded,2025/06/21
The Integrative Modeling Platform
spb_main.h
Go to the documentation of this file.
1 /**
2  * \file IMP/spb/spb_main.h
3  * \brief SPB MonteCarlo
4  *
5  * Copyright 2007-2022 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPSPB_SPB_MAIN_H
10 #define IMPSPB_SPB_MAIN_H
11 #include <map>
12 #include <string>
13 #include <IMP/algebra/constants.h>
14 #include <IMP/algebra/Vector3D.h>
16 #include <IMP/spb/spb_config.h>
17 
18 IMPSPB_BEGIN_NAMESPACE
19 
20 // convert degrees to radians
21 double radians(double d);
22 inline double radians(double d) { return d * IMP::algebra::PI / 180.0; }
23 
24 struct MCParameters {
25  double tmin;
26  double tmax;
27  double dx;
28  double dang;
29  double dSigma0;
30  double dKda;
31  double dIda;
32  double dA;
33  double dSide;
34  double dR0;
35  double dpBl;
36  double wte_w0;
37  double wte_sigma;
38  double wte_gamma;
39  double wte_emin;
40  double wte_emax;
41  int nexc;
42  int nsteps;
43  int nwrite;
44  int nhot;
45  bool do_wte;
46  bool wte_restart;
47 };
48 
49 struct EM2DParameters {
50  double resolution;
51  double pixel_size;
52  std::string filename;
53  double SigmaMin;
54  double SigmaMax;
55 };
56 
57 struct FretParameters {
58  double R0Min;
59  double R0Max;
60  double KdaMin;
61  double KdaMax;
62  double Ida;
63  double IdaErr;
64  double Sigma0Min;
65  double Sigma0Max;
66  double pBlMin;
67  double pBlMax;
68  double KdaMin_new;
69  double KdaMax_new;
70  double Ida_new;
71  double IdaErr_new;
72  std::string filename;
73  std::string filename_new;
74 };
75 
76 struct ClusterParameters {
77  std::string trajfile;
78  std::string isdtrajfile;
79  std::string biasfile;
80  std::string weightfile;
81  std::string label;
82  int niter;
83  double cutoff;
84  bool weight;
85  bool identical;
86  bool symmetry;
87 };
88 
89 struct MapParameters {
90  std::string frames_list;
91  std::string label;
92  std::string ref_file;
93  std::string ref_isdfile;
94  double xmin;
95  double xmax;
96  double ymin;
97  double ymax;
98  double zmin;
99  double zmax;
100  double resolution;
101  int nbinx;
102  int nbiny;
103  int nbinz;
104 };
105 
106 struct SPBParameters {
107  MCParameters MC;
108  FretParameters Fret;
109  EM2DParameters EM2D;
110  ClusterParameters Cluster;
111  MapParameters Map;
112  double sideMin;
113  double sideMax;
114  double CP_thicknessMin;
115  double CP_thicknessMax;
116  double CP_IL2_gapMin;
117  double CP_IL2_gapMax;
118  double IL2_thickness;
119  double Spc29_diameter;
120  double Spc29_rgyr;
121  double kappa;
122  double kappa_vol;
123  double tilt;
124  double tilt_Spc42;
125  double resolution;
126 
127  double dist_Spc29_termMin;
128  double dist_Spc29_termMax;
129  double sigma0_dist;
130 
131  double dist_Spc42C_min;
132  double dist_Spc42C_max;
133  double sigma0_dist_spc42c;
134 
135  std::string cell_type;
136  int num_cells;
137  int num_copies;
138  algebra::Vector3Ds CP_centers;
139  algebra::Vector3Ds IL2_centers;
141  bool use_connectivity;
142  std::map<std::string, bool> protein_list;
143  bool add_fret;
144  bool add_new_fret;
145  bool add_y2h;
146  bool add_tilt;
147  bool add_GFP;
148  bool use_GFP_structure;
149  bool keep_GFP_layer;
150  bool GFP_exc_volume;
151  bool fix_GFP;
152  bool restraint_GFP;
153  std::map<std::string, std::string> file_list;
154  bool isd_restart;
155  std::string isd_restart_file;
156  bool add_IL2_layer;
157  bool restrain_distance_Spc29_termini;
158  bool restrain_distance_Spc42_Cterm;
159 };
160 
161 IMPSPB_END_NAMESPACE
162 
163 #endif /* IMPSPB_SPB_MAIN_H */
static const double PI
the constant pi
Vector< VectorD< 3 > > Vector3Ds
Definition: VectorD.h:410
Various useful constants.
Simple 3D transformation class.
IMP::Vector< Transformation3D > Transformation3Ds
Simple 3D vector class.