IMP logo
IMP Reference Guide  develop.63b38c487d,2024/12/21
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 #include <IMP.h>
12 #include <IMP/atom.h>
13 #include <IMP/core.h>
14 #include <IMP/em2d.h>
15 #include <IMP/isd.h>
16 #include <IMP/spb/spb_config.h>
17 
18 IMPSPB_BEGIN_NAMESPACE
19 
20 IMPSPBEXPORT IMP::Pointer<core::DistancePairScore> get_pair_score(
21  FloatRange dist, double kappa);
22 
24 get_sphere_pair_score(FloatRange dist, double kappa);
25 
27 get_sphere_pair_score(double dist, double kappa);
28 
29 IMPSPBEXPORT void add_SPBexcluded_volume(Model *m, RestraintSet *allrs,
30  atom::Hierarchies &hs,
31  bool GFP_exc_volume,
32  double kappa);
33 
34 IMPSPBEXPORT void add_internal_restraint(Model *m, RestraintSet *allrs,
35  std::string name,
36  atom::Molecule protein_a,
37  atom::Molecule protein_b,
38  double kappa, double dist);
39 
40 IMPSPBEXPORT void add_my_connectivity(Model *m, RestraintSet *allrs,
41  std::string name,
42  atom::Molecule protein,
43  double kappa);
44 
45 IMPSPBEXPORT void add_restrain_protein_length(
46  RestraintSet *allrs, const atom::Hierarchy &hs,
47  std::string protein_a, Particle *dist, double sigma0_dist);
48 
49 IMPSPBEXPORT void add_restrain_coiledcoil_to_cterm(
50  Model *m, RestraintSet *allrs, const atom::Hierarchy &hs,
51  std::string protein_a, Particle *dist, double sigma0_dist);
52 
54 do_bipartite_mindist(Model *m, Particles p1, Particles p2,
56  bool filter = true);
57 
59 do_bipartite_mindist(Model *m, Particles p1, Particles p2,
61  bool filter = true);
62 
63 IMPSPBEXPORT void add_layer_restraint(
64  RestraintSet *allrs, container::ListSingletonContainer *lsc,
65  FloatRange range, double kappa);
66 
67 IMPSPBEXPORT void add_bayesian_layer_restraint(
68  RestraintSet *allrs, container::ListSingletonContainer *lsc,
69  Particle *a, Particle *b);
70 
71 IMPSPBEXPORT IMP::Pointer<isd::FretRestraint> fret_restraint(
72  atom::Hierarchies &hs, std::string protein_a,
73  std::string residues_a, std::string protein_b, std::string residues_b,
74  double fexp, FretParameters Fret, std::string cell_type, bool use_GFP,
75  Particle *Kda, Particle *Ida, Particle *R0, Particle *Sigma0,
76  Particle *pBl);
77 
78 IMPSPBEXPORT IMP::Pointer<isd::FretRestraint> fret_restraint(
79  atom::Hierarchies &hs, std::string protein_a,
80  std::string residues_a, std::string protein_b, int residues_b, double fexp,
81  FretParameters Fret, std::string cell_type, bool use_GFP, Particle *Kda,
82  Particle *Ida, Particle *R0, Particle *Sigma0, Particle *pBl);
83 
84 IMPSPBEXPORT IMP::Pointer<isd::FretRestraint> fret_restraint(
85  atom::Hierarchies &hs, std::string protein_a, int residues_a,
86  std::string protein_b, std::string residues_b, double fexp,
87  FretParameters Fret, std::string cell_type, bool use_GFP, Particle *Kda,
88  Particle *Ida, Particle *R0, Particle *Sigma0, Particle *pBl);
89 
90 IMPSPBEXPORT IMP::Pointer<container::MinimumPairRestraint> y2h_restraint(
91  Model *m, const atom::Hierarchy &ha, std::string protein_a,
92  IntRange residues_a, atom::Hierarchies &hb, std::string protein_b,
93  IntRange residues_b, double kappa);
94 
95 IMPSPBEXPORT IMP::Pointer<container::MinimumPairRestraint> y2h_restraint(
96  Model *m, const atom::Hierarchy &ha, std::string protein_a,
97  std::string residues_a, atom::Hierarchies &hb, std::string protein_b,
98  std::string residues_b, double kappa);
99 
100 IMPSPBEXPORT IMP::Pointer<container::MinimumPairRestraint> y2h_restraint(
101  Model *m, const atom::Hierarchy &ha, std::string protein_a,
102  IntRange residues_a, atom::Hierarchies &hb, std::string protein_b,
103  std::string residues_b, double kappa);
104 
105 IMPSPBEXPORT IMP::Pointer<container::MinimumPairRestraint> y2h_restraint(
106  Model *m, const atom::Hierarchy &ha, std::string protein_a,
107  std::string residues_a, atom::Hierarchies &hb, std::string protein_b,
108  IntRange residues_b, double kappa);
109 
110 IMPSPBEXPORT void add_symmetry_restraint(
111  Model *m, atom::Hierarchies &hs, algebra::Transformation3Ds transformations,
112  Particle *SideXY, Particle *SideZ);
113 
114 IMPSPBEXPORT void add_link(Model *m, RestraintSet *allrs,
115  const atom::Hierarchy &h, std::string protein_a,
116  std::string residues_a, atom::Hierarchies &hs,
117  std::string protein_b, IntRange residues_b,
118  double kappa);
119 
120 IMPSPBEXPORT void add_link(Model *m, RestraintSet *allrs,
121  const atom::Hierarchy &h, std::string protein_a,
122  std::string residues_a, atom::Hierarchies &hs,
123  std::string protein_b, std::string residues_b,
124  double kappa);
125 
126 IMPSPBEXPORT std::vector<core::RigidBody> get_rigid_bodies(Particles ps);
127 
128 IMPSPBEXPORT void add_tilt_restraint(Model *m, RestraintSet *allrs,
129  Particle *p, FloatRange trange,
130  double kappa);
131 
132 IMPSPBEXPORT void add_tilt(Model *m, RestraintSet *allrs,
133  const atom::Hierarchy &h, std::string name,
134  IntRange range, double tilt, double kappa);
135 
136 IMPSPBEXPORT void add_GFP_restraint(Model *m, RestraintSet *allrs,
137  const atom::Hierarchy &h,
138  double kappa);
139 
140 IMPSPBEXPORT void add_stay_close_restraint(Model *m, RestraintSet *allrs,
141  const atom::Hierarchy &h,
142  std::string protein,
143  double kappa);
144 
145 IMPSPBEXPORT void add_stay_close_restraint(Model *m, RestraintSet *allrs,
146  const atom::Hierarchy &h,
147  std::string protein,
148  int residue, double kappa);
149 
150 IMPSPBEXPORT void add_stay_on_plane_restraint(Model *m,
151  RestraintSet *allrs,
152  const atom::Hierarchy &h,
153  std::string protein,
154  int residue, double kappa);
155 
156 IMPSPBEXPORT void add_diameter_rgyr_restraint(
157  RestraintSet *allrs, const atom::Hierarchy &h,
158  std::string protein, double diameter, double rgyr, double kappa);
159 
160 IMPSPBEXPORT IMP::Pointer<spb::EM2DRestraint> em2d_restraint(
161  atom::Hierarchies &hs, std::string protein, EM2DParameters EM2D,
162  Particle *Sigma);
163 
164 IMPSPBEXPORT IMP::Pointer<spb::EM2DRestraint> em2d_restraint(
165  atom::Hierarchies &hs, std::string protein, EM2DParameters EM2D,
166  Floats sigma_grid, Floats fmod_grid);
167 
168 IMPSPB_END_NAMESPACE
169 
170 #endif /* IMPSPB_SPB_RESTRAINT_H */
IMP::Vector< Float > Floats
Standard way to pass a bunch of Float values.
Definition: types.h:46
Include all non-deprecated headers in IMP.
Include all non-deprecated headers in IMP.core.
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
Include all non-deprecated headers in IMP.isd.
Include all non-deprecated headers in IMP.em2d.
IMP::Vector< Transformation3D > Transformation3Ds
Include all non-deprecated headers in IMP.atom.