IMP logo
IMP Reference Guide  2.23.0
The Integrative Modeling Platform
spb_restraint.h
Go to the documentation of this file.
1 /**
2  * \file IMP/spb/spb_restraint.h
3  * \brief SPB Restraints
4  *
5  * Copyright 2007-2022 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPSPB_SPB_RESTRAINT_H
10 #define IMPSPB_SPB_RESTRAINT_H
11 
15 #include <IMP/isd/FretRestraint.h>
16 #include <IMP/spb/EM2DRestraint.h>
17 #include <IMP/spb/spb_config.h>
18 #include <IMP/spb/spb_main.h>
19 
20 IMPSPB_BEGIN_NAMESPACE
21 
22 IMPSPBEXPORT IMP::Pointer<core::DistancePairScore> get_pair_score(
23  FloatRange dist, double kappa);
24 
26 get_sphere_pair_score(FloatRange dist, double kappa);
27 
29 get_sphere_pair_score(double dist, double kappa);
30 
31 IMPSPBEXPORT void add_SPBexcluded_volume(Model *m, RestraintSet *allrs,
32  atom::Hierarchies &hs,
33  bool GFP_exc_volume,
34  double kappa);
35 
36 IMPSPBEXPORT void add_internal_restraint(Model *m, RestraintSet *allrs,
37  std::string name,
38  atom::Molecule protein_a,
39  atom::Molecule protein_b,
40  double kappa, double dist);
41 
42 IMPSPBEXPORT void add_my_connectivity(Model *m, RestraintSet *allrs,
43  std::string name,
44  atom::Molecule protein,
45  double kappa);
46 
47 IMPSPBEXPORT void add_restrain_protein_length(
48  RestraintSet *allrs, const atom::Hierarchy &hs,
49  std::string protein_a, Particle *dist, double sigma0_dist);
50 
51 IMPSPBEXPORT void add_restrain_coiledcoil_to_cterm(
52  Model *m, RestraintSet *allrs, const atom::Hierarchy &hs,
53  std::string protein_a, Particle *dist, double sigma0_dist);
54 
56 do_bipartite_mindist(Model *m, Particles p1, Particles p2,
58  bool filter = true);
59 
61 do_bipartite_mindist(Model *m, Particles p1, Particles p2,
63  bool filter = true);
64 
65 IMPSPBEXPORT void add_layer_restraint(
66  RestraintSet *allrs, container::ListSingletonContainer *lsc,
67  FloatRange range, double kappa);
68 
69 IMPSPBEXPORT void add_bayesian_layer_restraint(
70  RestraintSet *allrs, container::ListSingletonContainer *lsc,
71  Particle *a, Particle *b);
72 
73 IMPSPBEXPORT IMP::Pointer<isd::FretRestraint> fret_restraint(
74  atom::Hierarchies &hs, std::string protein_a,
75  std::string residues_a, std::string protein_b, std::string residues_b,
76  double fexp, FretParameters Fret, std::string cell_type, bool use_GFP,
77  Particle *Kda, Particle *Ida, Particle *R0, Particle *Sigma0,
78  Particle *pBl);
79 
80 IMPSPBEXPORT IMP::Pointer<isd::FretRestraint> fret_restraint(
81  atom::Hierarchies &hs, std::string protein_a,
82  std::string residues_a, std::string protein_b, int residues_b, double fexp,
83  FretParameters Fret, std::string cell_type, bool use_GFP, Particle *Kda,
84  Particle *Ida, Particle *R0, Particle *Sigma0, Particle *pBl);
85 
86 IMPSPBEXPORT IMP::Pointer<isd::FretRestraint> fret_restraint(
87  atom::Hierarchies &hs, std::string protein_a, int residues_a,
88  std::string protein_b, std::string residues_b, double fexp,
89  FretParameters Fret, std::string cell_type, bool use_GFP, Particle *Kda,
90  Particle *Ida, Particle *R0, Particle *Sigma0, Particle *pBl);
91 
92 IMPSPBEXPORT IMP::Pointer<container::MinimumPairRestraint> y2h_restraint(
93  Model *m, const atom::Hierarchy &ha, std::string protein_a,
94  IntRange residues_a, atom::Hierarchies &hb, std::string protein_b,
95  IntRange residues_b, double kappa);
96 
97 IMPSPBEXPORT IMP::Pointer<container::MinimumPairRestraint> y2h_restraint(
98  Model *m, const atom::Hierarchy &ha, std::string protein_a,
99  std::string residues_a, atom::Hierarchies &hb, std::string protein_b,
100  std::string residues_b, double kappa);
101 
102 IMPSPBEXPORT IMP::Pointer<container::MinimumPairRestraint> y2h_restraint(
103  Model *m, const atom::Hierarchy &ha, std::string protein_a,
104  IntRange residues_a, atom::Hierarchies &hb, std::string protein_b,
105  std::string residues_b, double kappa);
106 
107 IMPSPBEXPORT IMP::Pointer<container::MinimumPairRestraint> y2h_restraint(
108  Model *m, const atom::Hierarchy &ha, std::string protein_a,
109  std::string residues_a, atom::Hierarchies &hb, std::string protein_b,
110  IntRange residues_b, double kappa);
111 
112 IMPSPBEXPORT void add_symmetry_restraint(
113  Model *m, atom::Hierarchies &hs, algebra::Transformation3Ds transformations,
114  Particle *SideXY, Particle *SideZ);
115 
116 IMPSPBEXPORT void add_link(Model *m, RestraintSet *allrs,
117  const atom::Hierarchy &h, std::string protein_a,
118  std::string residues_a, atom::Hierarchies &hs,
119  std::string protein_b, IntRange residues_b,
120  double kappa);
121 
122 IMPSPBEXPORT void add_link(Model *m, RestraintSet *allrs,
123  const atom::Hierarchy &h, std::string protein_a,
124  std::string residues_a, atom::Hierarchies &hs,
125  std::string protein_b, std::string residues_b,
126  double kappa);
127 
128 IMPSPBEXPORT std::vector<core::RigidBody> get_rigid_bodies(Particles ps);
129 
130 IMPSPBEXPORT void add_tilt_restraint(Model *m, RestraintSet *allrs,
131  Particle *p, FloatRange trange,
132  double kappa);
133 
134 IMPSPBEXPORT void add_tilt(Model *m, RestraintSet *allrs,
135  const atom::Hierarchy &h, std::string name,
136  IntRange range, double tilt, double kappa);
137 
138 IMPSPBEXPORT void add_GFP_restraint(Model *m, RestraintSet *allrs,
139  const atom::Hierarchy &h,
140  double kappa);
141 
142 IMPSPBEXPORT void add_stay_close_restraint(Model *m, RestraintSet *allrs,
143  const atom::Hierarchy &h,
144  std::string protein,
145  double kappa);
146 
147 IMPSPBEXPORT void add_stay_close_restraint(Model *m, RestraintSet *allrs,
148  const atom::Hierarchy &h,
149  std::string protein,
150  int residue, double kappa);
151 
152 IMPSPBEXPORT void add_stay_on_plane_restraint(Model *m,
153  RestraintSet *allrs,
154  const atom::Hierarchy &h,
155  std::string protein,
156  int residue, double kappa);
157 
158 IMPSPBEXPORT void add_diameter_rgyr_restraint(
159  RestraintSet *allrs, const atom::Hierarchy &h,
160  std::string protein, double diameter, double rgyr, double kappa);
161 
162 IMPSPBEXPORT IMP::Pointer<spb::EM2DRestraint> em2d_restraint(
163  atom::Hierarchies &hs, std::string protein, EM2DParameters EM2D,
164  Particle *Sigma);
165 
166 IMPSPBEXPORT IMP::Pointer<spb::EM2DRestraint> em2d_restraint(
167  atom::Hierarchies &hs, std::string protein, EM2DParameters EM2D,
168  Floats sigma_grid, Floats fmod_grid);
169 
170 IMPSPB_END_NAMESPACE
171 
172 #endif /* IMPSPB_SPB_RESTRAINT_H */
Score based on the minimum score over a set of Pairs.
IMP::Vector< Float > Floats
Standard way to pass a bunch of Float values.
Definition: types.h:46
std::pair< Float, Float > FloatRange
A pair representing the allowed range for a Float attribute.
Definition: types.h:30
A smart pointer to a reference counted object.
Definition: Pointer.h:87
A restraint for using EM2D cross-corr in a Bayesian way.
A Score on the distance between a pair of particles.
A score on the distance between the surfaces of two spheres.
FRET_R restraint to use in vivo FRET data.
IMP::Vector< Transformation3D > Transformation3Ds
SPB MonteCarlo.