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