IMP logo
IMP Reference Guide  develop.345e71cb9a,2026/08/10
The Integrative Modeling Platform
isd/__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.5.0
3 #
4 # Do not make changes to this file unless you know what you are doing - modify
5 # the SWIG interface file instead.
6 
7 
8 # This wrapper is part of IMP,
9 # Copyright 2007-2026 IMP Inventors. All rights reserved.
10 
11 
12 
13 
14 import typing
15 import _IMP_isd
16 
17 import builtins as __builtin__
18 
19 def _swig_repr(self):
20  try:
21  strthis = "proxy of " + self.this.__repr__()
22  except __builtin__.Exception:
23  strthis = ""
24  return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
25 
26 
27 def _swig_setattr_nondynamic_instance_variable(set):
28  def set_instance_attr(self, name, value):
29  if name == "this":
30  set(self, name, value)
31  elif name == "thisown":
32  self.this.own(value)
33  elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
34  set(self, name, value)
35  else:
36  raise AttributeError("You cannot add instance attributes to %s" % self)
37  return set_instance_attr
38 
39 
40 def _swig_setattr_nondynamic_class_variable(set):
41  def set_class_attr(cls, name, value):
42  if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
43  set(cls, name, value)
44  else:
45  raise AttributeError("You cannot add class attributes to %s" % cls)
46  return set_class_attr
47 
48 
49 class _SwigNonDynamicMeta(type):
50  """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
51  __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
52 
53 
54 import weakref
55 
56 class IMP_ISD_SwigPyIterator(object):
57  r"""Proxy of C++ swig::IMP_ISD_SwigPyIterator class."""
58 
59  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
60 
61  def __init__(self, *args, **kwargs):
62  raise AttributeError("No constructor defined - class is abstract")
63  __repr__ = _swig_repr
64  __swig_destroy__ = _IMP_isd.delete_IMP_ISD_SwigPyIterator
65 
66  def value(self):
67  r"""value(IMP_ISD_SwigPyIterator self) -> PyObject *"""
68  return _IMP_isd.IMP_ISD_SwigPyIterator_value(self)
69 
70  def incr(self, n=1):
71  r"""incr(IMP_ISD_SwigPyIterator self, size_t n=1) -> IMP_ISD_SwigPyIterator"""
72  return _IMP_isd.IMP_ISD_SwigPyIterator_incr(self, n)
73 
74  def decr(self, n=1):
75  r"""decr(IMP_ISD_SwigPyIterator self, size_t n=1) -> IMP_ISD_SwigPyIterator"""
76  return _IMP_isd.IMP_ISD_SwigPyIterator_decr(self, n)
77 
78  def distance(self, x):
79  r"""distance(IMP_ISD_SwigPyIterator self, IMP_ISD_SwigPyIterator x) -> ptrdiff_t"""
80  return _IMP_isd.IMP_ISD_SwigPyIterator_distance(self, x)
81 
82  def equal(self, x):
83  r"""equal(IMP_ISD_SwigPyIterator self, IMP_ISD_SwigPyIterator x) -> bool"""
84  return _IMP_isd.IMP_ISD_SwigPyIterator_equal(self, x)
85 
86  def copy(self):
87  r"""copy(IMP_ISD_SwigPyIterator self) -> IMP_ISD_SwigPyIterator"""
88  return _IMP_isd.IMP_ISD_SwigPyIterator_copy(self)
89 
90  def __next__(self):
91  r"""__next__(IMP_ISD_SwigPyIterator self) -> PyObject *"""
92  return _IMP_isd.IMP_ISD_SwigPyIterator___next__(self)
93 
94  def previous(self):
95  r"""previous(IMP_ISD_SwigPyIterator self) -> PyObject *"""
96  return _IMP_isd.IMP_ISD_SwigPyIterator_previous(self)
97 
98  def advance(self, n):
99  r"""advance(IMP_ISD_SwigPyIterator self, ptrdiff_t n) -> IMP_ISD_SwigPyIterator"""
100  return _IMP_isd.IMP_ISD_SwigPyIterator_advance(self, n)
101 
102  def __eq__(self, x):
103  r"""__eq__(IMP_ISD_SwigPyIterator self, IMP_ISD_SwigPyIterator x) -> bool"""
104  return _IMP_isd.IMP_ISD_SwigPyIterator___eq__(self, x)
105 
106  def __ne__(self, x):
107  r"""__ne__(IMP_ISD_SwigPyIterator self, IMP_ISD_SwigPyIterator x) -> bool"""
108  return _IMP_isd.IMP_ISD_SwigPyIterator___ne__(self, x)
109 
110  def __iadd__(self, n):
111  r"""__iadd__(IMP_ISD_SwigPyIterator self, ptrdiff_t n) -> IMP_ISD_SwigPyIterator"""
112  return _IMP_isd.IMP_ISD_SwigPyIterator___iadd__(self, n)
113 
114  def __isub__(self, n):
115  r"""__isub__(IMP_ISD_SwigPyIterator self, ptrdiff_t n) -> IMP_ISD_SwigPyIterator"""
116  return _IMP_isd.IMP_ISD_SwigPyIterator___isub__(self, n)
117 
118  def __add__(self, n):
119  r"""__add__(IMP_ISD_SwigPyIterator self, ptrdiff_t n) -> IMP_ISD_SwigPyIterator"""
120  return _IMP_isd.IMP_ISD_SwigPyIterator___add__(self, n)
121 
122  def __sub__(self, *args):
123  r"""
124  __sub__(IMP_ISD_SwigPyIterator self, ptrdiff_t n) -> IMP_ISD_SwigPyIterator
125  __sub__(IMP_ISD_SwigPyIterator self, IMP_ISD_SwigPyIterator x) -> ptrdiff_t
126  """
127  return _IMP_isd.IMP_ISD_SwigPyIterator___sub__(self, *args)
128  def __iter__(self):
129  return self
130 
131 # Register IMP_ISD_SwigPyIterator in _IMP_isd:
132 _IMP_isd.IMP_ISD_SwigPyIterator_swigregister(IMP_ISD_SwigPyIterator)
133 
134 _value_types=[]
135 _object_types=[]
136 _raii_types=[]
137 _plural_types=[]
138 
139 IMP_DEBUG = _IMP_isd.IMP_DEBUG
140 
141 IMP_RELEASE = _IMP_isd.IMP_RELEASE
142 
143 IMP_SILENT = _IMP_isd.IMP_SILENT
144 
145 IMP_PROGRESS = _IMP_isd.IMP_PROGRESS
146 
147 IMP_TERSE = _IMP_isd.IMP_TERSE
148 
149 IMP_VERBOSE = _IMP_isd.IMP_VERBOSE
150 
151 IMP_MEMORY = _IMP_isd.IMP_MEMORY
152 
153 IMP_NONE = _IMP_isd.IMP_NONE
154 
155 IMP_USAGE = _IMP_isd.IMP_USAGE
156 
157 IMP_INTERNAL = _IMP_isd.IMP_INTERNAL
158 
159 IMP_KERNEL_HAS_LOG4CXX = _IMP_isd.IMP_KERNEL_HAS_LOG4CXX
160 
161 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_isd.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
162 
163 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_isd.IMP_COMPILER_HAS_DEBUG_VECTOR
164 
165 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_isd.IMP_COMPILER_HAS_RANDOM_SHUFFLE
166 
167 IMP_COMPILER_HAS_THREE_WAY = _IMP_isd.IMP_COMPILER_HAS_THREE_WAY
168 
169 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_isd.IMP_KERNEL_HAS_BOOST_RANDOM
170 
171 IMP_KERNEL_HAS_NUMPY = _IMP_isd.IMP_KERNEL_HAS_NUMPY
172 
173 IMP_KERNEL_HAS_BOOST_SYSTEM = _IMP_isd.IMP_KERNEL_HAS_BOOST_SYSTEM
174 
175 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_isd.IMP_KERNEL_HAS_GPERFTOOLS
176 
177 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_isd.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
178 
179 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_isd.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
180 
181 IMPKERNEL_SHOW_WARNINGS = _IMP_isd.IMPKERNEL_SHOW_WARNINGS
182 
183 
184 import sys
185 class _DirectorObjects:
186  """@internal Simple class to keep references to director objects
187  to prevent premature deletion."""
188  def __init__(self):
189  self._objects = []
190  def register(self, obj):
191  """Take a reference to a director object; will only work for
192  refcounted C++ classes"""
193  if hasattr(obj, 'get_ref_count'):
194  self._objects.append(obj)
195  def cleanup(self):
196  """Only drop our reference and allow cleanup by Python if no other
197  Python references exist (we hold 3 references: one in self._objects,
198  one in x, and one in the argument list for getrefcount) *and* no
199  other C++ references exist (the Python object always holds one)"""
200  objs = [x for x in self._objects if sys.getrefcount(x) > 3 \
201  or x.get_ref_count() > 1]
202 # Do in two steps so the references are kept until the end of the
203 # function (deleting references may trigger a fresh call to this method)
204  self._objects = objs
205  def get_object_count(self):
206  """Get number of director objects (useful for testing only)"""
207  return len(self._objects)
208 _director_objects = _DirectorObjects()
209 
210 class _ostream(object):
211  r"""Proxy of C++ std::ostream class."""
212 
213  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
214 
215  def __init__(self, *args, **kwargs):
216  raise AttributeError("No constructor defined")
217  __repr__ = _swig_repr
218 
219  def write(self, osa_buf):
220  r"""write(_ostream self, char const * osa_buf)"""
221  return _IMP_isd._ostream_write(self, osa_buf)
222 
223 # Register _ostream in _IMP_isd:
224 _IMP_isd._ostream_swigregister(_ostream)
225 IMP_C_OPEN_BINARY = _IMP_isd.IMP_C_OPEN_BINARY
226 
227 import IMP
228 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_isd.IMP_CGAL_HAS_BOOST_FILESYSTEM
229 
230 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_isd.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
231 
232 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_isd.IMP_CGAL_HAS_BOOST_RANDOM
233 
234 IMP_CGAL_HAS_NUMPY = _IMP_isd.IMP_CGAL_HAS_NUMPY
235 
236 IMPCGAL_SHOW_WARNINGS = _IMP_isd.IMPCGAL_SHOW_WARNINGS
237 
238 import IMP.cgal
239 IMP_ALGEBRA_HAS_IMP_CGAL = _IMP_isd.IMP_ALGEBRA_HAS_IMP_CGAL
240 
241 IMP_ALGEBRA_HAS_BOOST_FILESYSTEM = _IMP_isd.IMP_ALGEBRA_HAS_BOOST_FILESYSTEM
242 
243 IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS = _IMP_isd.IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS
244 
245 IMP_ALGEBRA_HAS_BOOST_RANDOM = _IMP_isd.IMP_ALGEBRA_HAS_BOOST_RANDOM
246 
247 IMP_ALGEBRA_HAS_CGAL = _IMP_isd.IMP_ALGEBRA_HAS_CGAL
248 
249 IMP_ALGEBRA_HAS_NUMPY = _IMP_isd.IMP_ALGEBRA_HAS_NUMPY
250 
251 IMP_ALGEBRA_HAS_ANN = _IMP_isd.IMP_ALGEBRA_HAS_ANN
252 
253 IMPALGEBRA_SHOW_WARNINGS = _IMP_isd.IMPALGEBRA_SHOW_WARNINGS
254 
255 import IMP.algebra
256 IMP_DISPLAY_HAS_IMP_CGAL = _IMP_isd.IMP_DISPLAY_HAS_IMP_CGAL
257 
258 IMP_DISPLAY_HAS_BOOST_FILESYSTEM = _IMP_isd.IMP_DISPLAY_HAS_BOOST_FILESYSTEM
259 
260 IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS = _IMP_isd.IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS
261 
262 IMP_DISPLAY_HAS_BOOST_RANDOM = _IMP_isd.IMP_DISPLAY_HAS_BOOST_RANDOM
263 
264 IMP_DISPLAY_HAS_CGAL = _IMP_isd.IMP_DISPLAY_HAS_CGAL
265 
266 IMP_DISPLAY_HAS_NUMPY = _IMP_isd.IMP_DISPLAY_HAS_NUMPY
267 
268 IMPDISPLAY_SHOW_WARNINGS = _IMP_isd.IMPDISPLAY_SHOW_WARNINGS
269 
270 import IMP.display
271 IMP_SCORE_FUNCTOR_HAS_IMP_CGAL = _IMP_isd.IMP_SCORE_FUNCTOR_HAS_IMP_CGAL
272 
273 IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM = _IMP_isd.IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM
274 
275 IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS = _IMP_isd.IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS
276 
277 IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM = _IMP_isd.IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM
278 
279 IMP_SCORE_FUNCTOR_HAS_CGAL = _IMP_isd.IMP_SCORE_FUNCTOR_HAS_CGAL
280 
281 IMP_SCORE_FUNCTOR_HAS_HDF5 = _IMP_isd.IMP_SCORE_FUNCTOR_HAS_HDF5
282 
283 IMP_SCORE_FUNCTOR_HAS_NUMPY = _IMP_isd.IMP_SCORE_FUNCTOR_HAS_NUMPY
284 
285 IMPSCOREFUNCTOR_SHOW_WARNINGS = _IMP_isd.IMPSCOREFUNCTOR_SHOW_WARNINGS
286 
287 import IMP.score_functor
288 IMP_STATISTICS_HAS_IMP_CGAL = _IMP_isd.IMP_STATISTICS_HAS_IMP_CGAL
289 
290 IMP_STATISTICS_HAS_BOOST_FILESYSTEM = _IMP_isd.IMP_STATISTICS_HAS_BOOST_FILESYSTEM
291 
292 IMP_STATISTICS_HAS_BOOST_PROGRAMOPTIONS = _IMP_isd.IMP_STATISTICS_HAS_BOOST_PROGRAMOPTIONS
293 
294 IMP_STATISTICS_HAS_BOOST_RANDOM = _IMP_isd.IMP_STATISTICS_HAS_BOOST_RANDOM
295 
296 IMP_STATISTICS_HAS_CGAL = _IMP_isd.IMP_STATISTICS_HAS_CGAL
297 
298 IMP_STATISTICS_HAS_NUMPY = _IMP_isd.IMP_STATISTICS_HAS_NUMPY
299 
300 IMPSTATISTICS_SHOW_WARNINGS = _IMP_isd.IMPSTATISTICS_SHOW_WARNINGS
301 
302 import IMP.statistics
303 IMP_CORE_HAS_IMP_CGAL = _IMP_isd.IMP_CORE_HAS_IMP_CGAL
304 
305 IMP_CORE_HAS_IMP_KERNEL = _IMP_isd.IMP_CORE_HAS_IMP_KERNEL
306 
307 IMP_CORE_HAS_BOOST_FILESYSTEM = _IMP_isd.IMP_CORE_HAS_BOOST_FILESYSTEM
308 
309 IMP_CORE_HAS_BOOST_PROGRAMOPTIONS = _IMP_isd.IMP_CORE_HAS_BOOST_PROGRAMOPTIONS
310 
311 IMP_CORE_HAS_BOOST_RANDOM = _IMP_isd.IMP_CORE_HAS_BOOST_RANDOM
312 
313 IMP_CORE_HAS_CGAL = _IMP_isd.IMP_CORE_HAS_CGAL
314 
315 IMP_CORE_HAS_HDF5 = _IMP_isd.IMP_CORE_HAS_HDF5
316 
317 IMP_CORE_HAS_NUMPY = _IMP_isd.IMP_CORE_HAS_NUMPY
318 
319 IMPCORE_SHOW_WARNINGS = _IMP_isd.IMPCORE_SHOW_WARNINGS
320 
321 import IMP.core
322 IMP_CONTAINER_HAS_IMP_ALGEBRA = _IMP_isd.IMP_CONTAINER_HAS_IMP_ALGEBRA
323 
324 IMP_CONTAINER_HAS_IMP_CGAL = _IMP_isd.IMP_CONTAINER_HAS_IMP_CGAL
325 
326 IMP_CONTAINER_HAS_IMP_DISPLAY = _IMP_isd.IMP_CONTAINER_HAS_IMP_DISPLAY
327 
328 IMP_CONTAINER_HAS_IMP_KERNEL = _IMP_isd.IMP_CONTAINER_HAS_IMP_KERNEL
329 
330 IMP_CONTAINER_HAS_IMP_SCORE_FUNCTOR = _IMP_isd.IMP_CONTAINER_HAS_IMP_SCORE_FUNCTOR
331 
332 IMP_CONTAINER_HAS_BOOST_FILESYSTEM = _IMP_isd.IMP_CONTAINER_HAS_BOOST_FILESYSTEM
333 
334 IMP_CONTAINER_HAS_BOOST_PROGRAMOPTIONS = _IMP_isd.IMP_CONTAINER_HAS_BOOST_PROGRAMOPTIONS
335 
336 IMP_CONTAINER_HAS_BOOST_RANDOM = _IMP_isd.IMP_CONTAINER_HAS_BOOST_RANDOM
337 
338 IMP_CONTAINER_HAS_CGAL = _IMP_isd.IMP_CONTAINER_HAS_CGAL
339 
340 IMP_CONTAINER_HAS_HDF5 = _IMP_isd.IMP_CONTAINER_HAS_HDF5
341 
342 IMP_CONTAINER_HAS_NUMPY = _IMP_isd.IMP_CONTAINER_HAS_NUMPY
343 
344 IMP_CONTAINER_HAS_PYTHON_IHM = _IMP_isd.IMP_CONTAINER_HAS_PYTHON_IHM
345 
346 IMP_CONTAINER_HAS_GOOGLE_DENSE_HASH_MAP = _IMP_isd.IMP_CONTAINER_HAS_GOOGLE_DENSE_HASH_MAP
347 
348 IMP_CONTAINER_HAS_ROBIN_MAP = _IMP_isd.IMP_CONTAINER_HAS_ROBIN_MAP
349 
350 IMPCONTAINER_SHOW_WARNINGS = _IMP_isd.IMPCONTAINER_SHOW_WARNINGS
351 
352 import IMP.container
353 IMP_ATOM_HAS_IMP_CGAL = _IMP_isd.IMP_ATOM_HAS_IMP_CGAL
354 
355 IMP_ATOM_HAS_IMP_KERNEL = _IMP_isd.IMP_ATOM_HAS_IMP_KERNEL
356 
357 IMP_ATOM_HAS_IMP_SCORE_FUNCTOR = _IMP_isd.IMP_ATOM_HAS_IMP_SCORE_FUNCTOR
358 
359 IMP_ATOM_HAS_BOOST_PROGRAMOPTIONS = _IMP_isd.IMP_ATOM_HAS_BOOST_PROGRAMOPTIONS
360 
361 IMP_ATOM_HAS_BOOST_RANDOM = _IMP_isd.IMP_ATOM_HAS_BOOST_RANDOM
362 
363 IMP_ATOM_HAS_BOOST_REGEX = _IMP_isd.IMP_ATOM_HAS_BOOST_REGEX
364 
365 IMP_ATOM_HAS_CGAL = _IMP_isd.IMP_ATOM_HAS_CGAL
366 
367 IMP_ATOM_HAS_HDF5 = _IMP_isd.IMP_ATOM_HAS_HDF5
368 
369 IMP_ATOM_HAS_NUMPY = _IMP_isd.IMP_ATOM_HAS_NUMPY
370 
371 IMP_ATOM_HAS_PYTHON_IHM = _IMP_isd.IMP_ATOM_HAS_PYTHON_IHM
372 
373 IMPATOM_SHOW_WARNINGS = _IMP_isd.IMPATOM_SHOW_WARNINGS
374 
375 IMP_ATOM_TYPE_INDEX = _IMP_isd.IMP_ATOM_TYPE_INDEX
376 
377 IMP_RESIDUE_TYPE_INDEX = _IMP_isd.IMP_RESIDUE_TYPE_INDEX
378 
379 IMP_HIERARCHY_TYPE_INDEX = _IMP_isd.IMP_HIERARCHY_TYPE_INDEX
380 
381 IMP_CHAIN_TYPE_INDEX = _IMP_isd.IMP_CHAIN_TYPE_INDEX
382 
383 import IMP.atom
384 IMP_EM_HAS_IMP_CGAL = _IMP_isd.IMP_EM_HAS_IMP_CGAL
385 
386 IMP_EM_HAS_IMP_CONTAINER = _IMP_isd.IMP_EM_HAS_IMP_CONTAINER
387 
388 IMP_EM_HAS_IMP_DISPLAY = _IMP_isd.IMP_EM_HAS_IMP_DISPLAY
389 
390 IMP_EM_HAS_IMP_SCORE_FUNCTOR = _IMP_isd.IMP_EM_HAS_IMP_SCORE_FUNCTOR
391 
392 IMP_EM_HAS_BOOST_FILESYSTEM = _IMP_isd.IMP_EM_HAS_BOOST_FILESYSTEM
393 
394 IMP_EM_HAS_BOOST_PROGRAMOPTIONS = _IMP_isd.IMP_EM_HAS_BOOST_PROGRAMOPTIONS
395 
396 IMP_EM_HAS_BOOST_RANDOM = _IMP_isd.IMP_EM_HAS_BOOST_RANDOM
397 
398 IMP_EM_HAS_BOOST_REGEX = _IMP_isd.IMP_EM_HAS_BOOST_REGEX
399 
400 IMP_EM_HAS_CGAL = _IMP_isd.IMP_EM_HAS_CGAL
401 
402 IMP_EM_HAS_HDF5 = _IMP_isd.IMP_EM_HAS_HDF5
403 
404 IMP_EM_HAS_NUMPY = _IMP_isd.IMP_EM_HAS_NUMPY
405 
406 IMP_EM_HAS_PYTHON_IHM = _IMP_isd.IMP_EM_HAS_PYTHON_IHM
407 
408 IMPEM_SHOW_WARNINGS = _IMP_isd.IMPEM_SHOW_WARNINGS
409 
410 import IMP.em
411 IMP_SAXS_HAS_IMP_CGAL = _IMP_isd.IMP_SAXS_HAS_IMP_CGAL
412 
413 IMP_SAXS_HAS_IMP_CONTAINER = _IMP_isd.IMP_SAXS_HAS_IMP_CONTAINER
414 
415 IMP_SAXS_HAS_IMP_DISPLAY = _IMP_isd.IMP_SAXS_HAS_IMP_DISPLAY
416 
417 IMP_SAXS_HAS_IMP_KERNEL = _IMP_isd.IMP_SAXS_HAS_IMP_KERNEL
418 
419 IMP_SAXS_HAS_IMP_SCORE_FUNCTOR = _IMP_isd.IMP_SAXS_HAS_IMP_SCORE_FUNCTOR
420 
421 IMP_SAXS_HAS_BOOST_FILESYSTEM = _IMP_isd.IMP_SAXS_HAS_BOOST_FILESYSTEM
422 
423 IMP_SAXS_HAS_BOOST_PROGRAMOPTIONS = _IMP_isd.IMP_SAXS_HAS_BOOST_PROGRAMOPTIONS
424 
425 IMP_SAXS_HAS_BOOST_RANDOM = _IMP_isd.IMP_SAXS_HAS_BOOST_RANDOM
426 
427 IMP_SAXS_HAS_BOOST_REGEX = _IMP_isd.IMP_SAXS_HAS_BOOST_REGEX
428 
429 IMP_SAXS_HAS_CGAL = _IMP_isd.IMP_SAXS_HAS_CGAL
430 
431 IMP_SAXS_HAS_HDF5 = _IMP_isd.IMP_SAXS_HAS_HDF5
432 
433 IMP_SAXS_HAS_NUMPY = _IMP_isd.IMP_SAXS_HAS_NUMPY
434 
435 IMP_SAXS_HAS_PYTHON_IHM = _IMP_isd.IMP_SAXS_HAS_PYTHON_IHM
436 
437 IMPSAXS_SHOW_WARNINGS = _IMP_isd.IMPSAXS_SHOW_WARNINGS
438 
439 import IMP.saxs
440 IMP_ISD_HAS_IMP_CGAL = _IMP_isd.IMP_ISD_HAS_IMP_CGAL
441 
442 IMP_ISD_HAS_IMP_DISPLAY = _IMP_isd.IMP_ISD_HAS_IMP_DISPLAY
443 
444 IMP_ISD_HAS_IMP_SCORE_FUNCTOR = _IMP_isd.IMP_ISD_HAS_IMP_SCORE_FUNCTOR
445 
446 IMP_ISD_HAS_BOOST_FILESYSTEM = _IMP_isd.IMP_ISD_HAS_BOOST_FILESYSTEM
447 
448 IMP_ISD_HAS_BOOST_PROGRAMOPTIONS = _IMP_isd.IMP_ISD_HAS_BOOST_PROGRAMOPTIONS
449 
450 IMP_ISD_HAS_BOOST_RANDOM = _IMP_isd.IMP_ISD_HAS_BOOST_RANDOM
451 
452 IMP_ISD_HAS_BOOST_REGEX = _IMP_isd.IMP_ISD_HAS_BOOST_REGEX
453 
454 IMP_ISD_HAS_CGAL = _IMP_isd.IMP_ISD_HAS_CGAL
455 
456 IMP_ISD_HAS_HDF5 = _IMP_isd.IMP_ISD_HAS_HDF5
457 
458 IMP_ISD_HAS_NUMPY = _IMP_isd.IMP_ISD_HAS_NUMPY
459 
460 IMP_ISD_HAS_PYTHON_IHM = _IMP_isd.IMP_ISD_HAS_PYTHON_IHM
461 
462 IMPISD_SHOW_WARNINGS = _IMP_isd.IMPISD_SHOW_WARNINGS
463 
464 
465 _object_types.append("ISDRestraint")
466 
467 
468 def _object_cast_to_ISDRestraint(o):
469  r"""_object_cast_to_ISDRestraint(Object o) -> ISDRestraint"""
470  return _IMP_isd._object_cast_to_ISDRestraint(o)
471 
472 _object_types.append("CrossLinkMSRestraint")
473 
474 
475 def _object_cast_to_CrossLinkMSRestraint(o):
476  r"""_object_cast_to_CrossLinkMSRestraint(Object o) -> CrossLinkMSRestraint"""
477  return _IMP_isd._object_cast_to_CrossLinkMSRestraint(o)
478 
479 _object_types.append("LogWrapper")
480 
481 
482 def _object_cast_to_LogWrapper(o):
483  r"""_object_cast_to_LogWrapper(Object o) -> LogWrapper"""
484  return _IMP_isd._object_cast_to_LogWrapper(o)
485 
486 _object_types.append("UniformPrior")
487 
488 
489 def _object_cast_to_UniformPrior(o):
490  r"""_object_cast_to_UniformPrior(Object o) -> UniformPrior"""
491  return _IMP_isd._object_cast_to_UniformPrior(o)
492 
493 _object_types.append("JeffreysRestraint")
494 
495 
496 def _object_cast_to_JeffreysRestraint(o):
497  r"""_object_cast_to_JeffreysRestraint(Object o) -> JeffreysRestraint"""
498  return _IMP_isd._object_cast_to_JeffreysRestraint(o)
499 
500 _object_types.append("NormalSigmaPCRestraint")
501 
502 
503 def _object_cast_to_NormalSigmaPCRestraint(o):
504  r"""_object_cast_to_NormalSigmaPCRestraint(Object o) -> NormalSigmaPCRestraint"""
505  return _IMP_isd._object_cast_to_NormalSigmaPCRestraint(o)
506 
507 _object_types.append("vonMisesKappaJeffreysRestraint")
508 
509 
510 def _object_cast_to_vonMisesKappaJeffreysRestraint(o):
511  r"""_object_cast_to_vonMisesKappaJeffreysRestraint(Object o) -> vonMisesKappaJeffreysRestraint"""
512  return _IMP_isd._object_cast_to_vonMisesKappaJeffreysRestraint(o)
513 
514 _object_types.append("vonMisesKappaConjugateRestraint")
515 
516 
517 def _object_cast_to_vonMisesKappaConjugateRestraint(o):
518  r"""_object_cast_to_vonMisesKappaConjugateRestraint(Object o) -> vonMisesKappaConjugateRestraint"""
519  return _IMP_isd._object_cast_to_vonMisesKappaConjugateRestraint(o)
520 
521 _object_types.append("Distribution")
522 
523 
524 def _object_cast_to_Distribution(o):
525  r"""_object_cast_to_Distribution(Object o) -> Distribution"""
526  return _IMP_isd._object_cast_to_Distribution(o)
527 
528 _object_types.append("OneDimensionalDistribution")
529 
530 
531 def _object_cast_to_OneDimensionalDistribution(o):
532  r"""_object_cast_to_OneDimensionalDistribution(Object o) -> OneDimensionalDistribution"""
533  return _IMP_isd._object_cast_to_OneDimensionalDistribution(o)
534 
535 _object_types.append("OneDimensionalSufficientDistribution")
536 
537 
538 def _object_cast_to_OneDimensionalSufficientDistribution(o):
539  r"""_object_cast_to_OneDimensionalSufficientDistribution(Object o) -> OneDimensionalSufficientDistribution"""
540  return _IMP_isd._object_cast_to_OneDimensionalSufficientDistribution(o)
541 
542 _object_types.append("FNormal")
543 
544 
545 def _object_cast_to_FNormal(o):
546  r"""_object_cast_to_FNormal(Object o) -> FNormal"""
547  return _IMP_isd._object_cast_to_FNormal(o)
548 
549 _object_types.append("FStudentT")
550 
551 
552 def _object_cast_to_FStudentT(o):
553  r"""_object_cast_to_FStudentT(Object o) -> FStudentT"""
554  return _IMP_isd._object_cast_to_FStudentT(o)
555 
556 _object_types.append("vonMises")
557 
558 
559 def _object_cast_to_vonMises(o):
560  r"""_object_cast_to_vonMises(Object o) -> vonMises"""
561  return _IMP_isd._object_cast_to_vonMises(o)
562 
563 _object_types.append("vonMisesSufficient")
564 
565 
566 def _object_cast_to_vonMisesSufficient(o):
567  r"""_object_cast_to_vonMisesSufficient(Object o) -> vonMisesSufficient"""
568  return _IMP_isd._object_cast_to_vonMisesSufficient(o)
569 
570 _object_types.append("PenalizedComplexityPrior")
571 
572 
573 def _object_cast_to_PenalizedComplexityPrior(o):
574  r"""_object_cast_to_PenalizedComplexityPrior(Object o) -> PenalizedComplexityPrior"""
575  return _IMP_isd._object_cast_to_PenalizedComplexityPrior(o)
576 
577 def Nuisances(l=[]):
578  return [Nuisance(x) for x in l]
579 _plural_types.append("Nuisances")
580 
581 
582 _value_types.append("Nuisance")
583 
584 
585 def Scales(l=[]):
586  return [Scale(x) for x in l]
587 _plural_types.append("Scales")
588 
589 
590 _value_types.append("Scale")
591 
592 
593 def Switchings(l=[]):
594  return [Switching(x) for x in l]
595 _plural_types.append("Switchings")
596 
597 
598 _value_types.append("Switching")
599 
600 
601 _object_types.append("NOERestraint")
602 
603 
604 def _object_cast_to_NOERestraint(o):
605  r"""_object_cast_to_NOERestraint(Object o) -> NOERestraint"""
606  return _IMP_isd._object_cast_to_NOERestraint(o)
607 
608 def Weights(l=[]):
609  return [Weight(x) for x in l]
610 _plural_types.append("Weights")
611 
612 
613 _value_types.append("Weight")
614 
615 
616 _object_types.append("GaussianRestraint")
617 
618 
619 def _object_cast_to_GaussianRestraint(o):
620  r"""_object_cast_to_GaussianRestraint(Object o) -> GaussianRestraint"""
621  return _IMP_isd._object_cast_to_GaussianRestraint(o)
622 
623 _object_types.append("StudentTRestraint")
624 
625 
626 def _object_cast_to_StudentTRestraint(o):
627  r"""_object_cast_to_StudentTRestraint(Object o) -> StudentTRestraint"""
628  return _IMP_isd._object_cast_to_StudentTRestraint(o)
629 
630 _object_types.append("LognormalRestraint")
631 
632 
633 def _object_cast_to_LognormalRestraint(o):
634  r"""_object_cast_to_LognormalRestraint(Object o) -> LognormalRestraint"""
635  return _IMP_isd._object_cast_to_LognormalRestraint(o)
636 
637 _object_types.append("LognormalAmbiguousRestraint")
638 
639 
640 def _object_cast_to_LognormalAmbiguousRestraint(o):
641  r"""_object_cast_to_LognormalAmbiguousRestraint(Object o) -> LognormalAmbiguousRestraint"""
642  return _IMP_isd._object_cast_to_LognormalAmbiguousRestraint(o)
643 
644 _object_types.append("AmbiguousNOERestraint")
645 
646 
647 def _object_cast_to_AmbiguousNOERestraint(o):
648  r"""_object_cast_to_AmbiguousNOERestraint(Object o) -> AmbiguousNOERestraint"""
649  return _IMP_isd._object_cast_to_AmbiguousNOERestraint(o)
650 
651 _object_types.append("MarginalNOERestraint")
652 
653 
654 def _object_cast_to_MarginalNOERestraint(o):
655  r"""_object_cast_to_MarginalNOERestraint(Object o) -> MarginalNOERestraint"""
656  return _IMP_isd._object_cast_to_MarginalNOERestraint(o)
657 
658 _object_types.append("MarginalHBondRestraint")
659 
660 
661 def _object_cast_to_MarginalHBondRestraint(o):
662  r"""_object_cast_to_MarginalHBondRestraint(Object o) -> MarginalHBondRestraint"""
663  return _IMP_isd._object_cast_to_MarginalHBondRestraint(o)
664 
665 _object_types.append("TALOSRestraint")
666 
667 
668 def _object_cast_to_TALOSRestraint(o):
669  r"""_object_cast_to_TALOSRestraint(Object o) -> TALOSRestraint"""
670  return _IMP_isd._object_cast_to_TALOSRestraint(o)
671 
672 _object_types.append("RepulsiveDistancePairScore")
673 
674 
675 def _object_cast_to_RepulsiveDistancePairScore(o):
676  r"""_object_cast_to_RepulsiveDistancePairScore(Object o) -> RepulsiveDistancePairScore"""
677  return _IMP_isd._object_cast_to_RepulsiveDistancePairScore(o)
678 
679 _object_types.append("AmbiguousRestraint")
680 
681 
682 def _object_cast_to_AmbiguousRestraint(o):
683  r"""_object_cast_to_AmbiguousRestraint(Object o) -> AmbiguousRestraint"""
684  return _IMP_isd._object_cast_to_AmbiguousRestraint(o)
685 
686 _object_types.append("UnivariateFunction")
687 
688 
689 def _object_cast_to_UnivariateFunction(o):
690  r"""_object_cast_to_UnivariateFunction(Object o) -> UnivariateFunction"""
691  return _IMP_isd._object_cast_to_UnivariateFunction(o)
692 
693 _object_types.append("Linear1DFunction")
694 
695 
696 def _object_cast_to_Linear1DFunction(o):
697  r"""_object_cast_to_Linear1DFunction(Object o) -> Linear1DFunction"""
698  return _IMP_isd._object_cast_to_Linear1DFunction(o)
699 
700 _object_types.append("GeneralizedGuinierPorodFunction")
701 
702 
703 def _object_cast_to_GeneralizedGuinierPorodFunction(o):
704  r"""_object_cast_to_GeneralizedGuinierPorodFunction(Object o) -> GeneralizedGuinierPorodFunction"""
705  return _IMP_isd._object_cast_to_GeneralizedGuinierPorodFunction(o)
706 
707 _object_types.append("BivariateFunction")
708 
709 
710 def _object_cast_to_BivariateFunction(o):
711  r"""_object_cast_to_BivariateFunction(Object o) -> BivariateFunction"""
712  return _IMP_isd._object_cast_to_BivariateFunction(o)
713 
714 _object_types.append("Covariance1DFunction")
715 
716 
717 def _object_cast_to_Covariance1DFunction(o):
718  r"""_object_cast_to_Covariance1DFunction(Object o) -> Covariance1DFunction"""
719  return _IMP_isd._object_cast_to_Covariance1DFunction(o)
720 
721 _object_types.append("GaussianProcessInterpolation")
722 
723 
724 def _object_cast_to_GaussianProcessInterpolation(o):
725  r"""_object_cast_to_GaussianProcessInterpolation(Object o) -> GaussianProcessInterpolation"""
726  return _IMP_isd._object_cast_to_GaussianProcessInterpolation(o)
727 
728 _object_types.append("GaussianProcessInterpolationRestraint")
729 
730 
731 def _object_cast_to_GaussianProcessInterpolationRestraint(o):
732  r"""_object_cast_to_GaussianProcessInterpolationRestraint(Object o) -> GaussianProcessInterpolationRestraint"""
733  return _IMP_isd._object_cast_to_GaussianProcessInterpolationRestraint(o)
734 
735 _object_types.append("MolecularDynamics")
736 
737 
738 _object_types.append("MolecularDynamicsMover")
739 
740 
741 def _object_cast_to_MolecularDynamicsMover(o):
742  r"""_object_cast_to_MolecularDynamicsMover(Object o) -> MolecularDynamicsMover"""
743  return _IMP_isd._object_cast_to_MolecularDynamicsMover(o)
744 
745 _object_types.append("HybridMonteCarlo")
746 
747 
748 def _object_cast_to_HybridMonteCarlo(o):
749  r"""_object_cast_to_HybridMonteCarlo(Object o) -> HybridMonteCarlo"""
750  return _IMP_isd._object_cast_to_HybridMonteCarlo(o)
751 
752 _object_types.append("FretData")
753 
754 
755 def _object_cast_to_FretData(o):
756  r"""_object_cast_to_FretData(Object o) -> FretData"""
757  return _IMP_isd._object_cast_to_FretData(o)
758 
759 _object_types.append("FretRestraint")
760 
761 
762 def _object_cast_to_FretRestraint(o):
763  r"""_object_cast_to_FretRestraint(Object o) -> FretRestraint"""
764  return _IMP_isd._object_cast_to_FretRestraint(o)
765 
766 _object_types.append("CrossLinkData")
767 
768 
769 def _object_cast_to_CrossLinkData(o):
770  r"""_object_cast_to_CrossLinkData(Object o) -> CrossLinkData"""
771  return _IMP_isd._object_cast_to_CrossLinkData(o)
772 
773 _object_types.append("CysteineCrossLinkData")
774 
775 
776 def _object_cast_to_CysteineCrossLinkData(o):
777  r"""_object_cast_to_CysteineCrossLinkData(Object o) -> CysteineCrossLinkData"""
778  return _IMP_isd._object_cast_to_CysteineCrossLinkData(o)
779 
780 _object_types.append("CysteineCrossLinkRestraint")
781 
782 
783 def _object_cast_to_CysteineCrossLinkRestraint(o):
784  r"""_object_cast_to_CysteineCrossLinkRestraint(Object o) -> CysteineCrossLinkRestraint"""
785  return _IMP_isd._object_cast_to_CysteineCrossLinkRestraint(o)
786 
787 _object_types.append("WeightMover")
788 
789 
790 def _object_cast_to_WeightMover(o):
791  r"""_object_cast_to_WeightMover(Object o) -> WeightMover"""
792  return _IMP_isd._object_cast_to_WeightMover(o)
793 
794 _object_types.append("WeightRestraint")
795 
796 
797 def _object_cast_to_WeightRestraint(o):
798  r"""_object_cast_to_WeightRestraint(Object o) -> WeightRestraint"""
799  return _IMP_isd._object_cast_to_WeightRestraint(o)
800 
801 _object_types.append("AtomicCrossLinkMSRestraint")
802 
803 
804 def _object_cast_to_AtomicCrossLinkMSRestraint(o):
805  r"""_object_cast_to_AtomicCrossLinkMSRestraint(Object o) -> AtomicCrossLinkMSRestraint"""
806  return _IMP_isd._object_cast_to_AtomicCrossLinkMSRestraint(o)
807 
808 _object_types.append("GaussianEMRestraint")
809 
810 
811 def _object_cast_to_GaussianEMRestraint(o):
812  r"""_object_cast_to_GaussianEMRestraint(Object o) -> GaussianEMRestraint"""
813  return _IMP_isd._object_cast_to_GaussianEMRestraint(o)
814 
815 _object_types.append("GaussianAnchorEMRestraint")
816 
817 
818 def _object_cast_to_GaussianAnchorEMRestraint(o):
819  r"""_object_cast_to_GaussianAnchorEMRestraint(Object o) -> GaussianAnchorEMRestraint"""
820  return _IMP_isd._object_cast_to_GaussianAnchorEMRestraint(o)
821 
822 _object_types.append("GammaPrior")
823 
824 
825 def _object_cast_to_GammaPrior(o):
826  r"""_object_cast_to_GammaPrior(Object o) -> GammaPrior"""
827  return _IMP_isd._object_cast_to_GammaPrior(o)
828 
829 _object_types.append("ResidueProteinProximityRestraint")
830 
831 
832 def _object_cast_to_ResidueProteinProximityRestraint(o):
833  r"""_object_cast_to_ResidueProteinProximityRestraint(Object o) -> ResidueProteinProximityRestraint"""
834  return _IMP_isd._object_cast_to_ResidueProteinProximityRestraint(o)
835 
836 def create_model_and_particles():
837  m= IMP.Model()
839  b= IMP.algebra.BoundingBox3D(IMP.algebra.Vector3D(0,0,0),
840  IMP.algebra.Vector3D(10,10,10))
841  for i in range(0,100):
842  p= IMP.Particle(m)
843  sc.add_particle(p)
845  d.set_coordinates_are_optimized(True)
846  return (m, sc)
847 
848 class ISDRestraint(IMP.Restraint):
849  r"""Proxy of C++ IMP::isd::ISDRestraint class."""
850 
851  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
852 
853  def __init__(self, m, name):
854  r"""__init__(ISDRestraint self, Model m, std::string name) -> ISDRestraint"""
855  if self.__class__ == ISDRestraint:
856  _self = None
857  else:
858  _self = self
859  _IMP_isd.ISDRestraint_swiginit(self, _IMP_isd.new_ISDRestraint(_self, m, name))
860 
861  if self.__class__ != ISDRestraint:
862  _director_objects.register(self)
863 
864 
865 
866 
867  def get_probability(self):
868  r"""get_probability(ISDRestraint self) -> double"""
869  return _IMP_isd.ISDRestraint_get_probability(self)
870 
871  def unprotected_evaluate(self, accum):
872  r"""unprotected_evaluate(ISDRestraint self, DerivativeAccumulator accum) -> double"""
873  return _IMP_isd.ISDRestraint_unprotected_evaluate(self, accum)
874 
875  def do_get_inputs(self):
876  r"""do_get_inputs(ISDRestraint self) -> IMP::ModelObjectsTemp"""
877  return _IMP_isd.ISDRestraint_do_get_inputs(self)
878 
879  def get_type_name(self):
880  r"""get_type_name(ISDRestraint self) -> std::string"""
881  return _IMP_isd.ISDRestraint_get_type_name(self)
882 
883  def get_version_info(self):
884  r"""get_version_info(ISDRestraint self) -> VersionInfo"""
885  return _IMP_isd.ISDRestraint_get_version_info(self)
886  __swig_destroy__ = _IMP_isd.delete_ISDRestraint
887 
888  def __str__(self):
889  r"""__str__(ISDRestraint self) -> std::string"""
890  return _IMP_isd.ISDRestraint___str__(self)
891 
892  def __repr__(self):
893  r"""__repr__(ISDRestraint self) -> std::string"""
894  return _IMP_isd.ISDRestraint___repr__(self)
895 
896  @staticmethod
897  def get_from(o):
898  return _object_cast_to_ISDRestraint(o)
899 
900 
901  def do_show(self, out):
902  pass
903 
904  @staticmethod
905  def get_from(o):
906  return _object_cast_to_ISDRestraint(o)
907 
908  def __disown__(self):
909  self.this.disown()
910  _IMP_isd.disown_ISDRestraint(self)
911  return weakref.proxy(self)
912 
913  def do_destroy(self):
914  r"""do_destroy(ISDRestraint self)"""
915  return _IMP_isd.ISDRestraint_do_destroy(self)
916 
917  def handle_set_has_required_score_states(self, arg0):
918  r"""handle_set_has_required_score_states(ISDRestraint self, bool arg0)"""
919  return _IMP_isd.ISDRestraint_handle_set_has_required_score_states(self, arg0)
920 
921  def do_get_outputs(self):
922  r"""do_get_outputs(ISDRestraint self) -> IMP::ModelObjectsTemp"""
923  return _IMP_isd.ISDRestraint_do_get_outputs(self)
924 
925  def do_get_interactions(self):
926  r"""do_get_interactions(ISDRestraint self) -> IMP::ModelObjectsTemps"""
927  return _IMP_isd.ISDRestraint_do_get_interactions(self)
928 
929  def do_create_decomposition(self):
930  r"""do_create_decomposition(ISDRestraint self) -> IMP::Restraints"""
931  return _IMP_isd.ISDRestraint_do_create_decomposition(self)
932 
933  def do_create_current_decomposition(self):
934  r"""do_create_current_decomposition(ISDRestraint self) -> IMP::Restraints"""
935  return _IMP_isd.ISDRestraint_do_create_current_decomposition(self)
936 
937  def do_add_score_and_derivatives(self, sa):
938  r"""do_add_score_and_derivatives(ISDRestraint self, ScoreAccumulator sa)"""
939  return _IMP_isd.ISDRestraint_do_add_score_and_derivatives(self, sa)
940 
941  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis):
942  r"""do_add_score_and_derivatives_moved(ISDRestraint self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
943  return _IMP_isd.ISDRestraint_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis)
944 
945 # Register ISDRestraint in _IMP_isd:
946 _IMP_isd.ISDRestraint_swigregister(ISDRestraint)
947 class CrossLinkMSRestraint(IMP.Restraint):
948  r"""Proxy of C++ IMP::isd::CrossLinkMSRestraint class."""
949 
950  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
951 
952  def __init__(self, *args):
953  r"""
954  __init__(CrossLinkMSRestraint self, Model m, double length, bool get_log_prob=False, std::string name="CrossLinkMSRestraint%1%") -> CrossLinkMSRestraint
955  __init__(CrossLinkMSRestraint self, Model m, _ParticleIndexAdaptor lengthi, bool get_log_prob=False, std::string name="CrossLinkMSRestraint%1%") -> CrossLinkMSRestraint
956  __init__(CrossLinkMSRestraint self, Model m, double length, double slope, bool get_log_prob=False, std::string name="CrossLinkMSRestraint%1%") -> CrossLinkMSRestraint
957  __init__(CrossLinkMSRestraint self) -> CrossLinkMSRestraint
958  """
959  _IMP_isd.CrossLinkMSRestraint_swiginit(self, _IMP_isd.new_CrossLinkMSRestraint(*args))
960 
961  def set_source_protein1(self, protein1):
962  r"""set_source_protein1(CrossLinkMSRestraint self, std::string protein1)"""
963  return _IMP_isd.CrossLinkMSRestraint_set_source_protein1(self, protein1)
964 
965  def get_source_protein1(self):
966  r"""get_source_protein1(CrossLinkMSRestraint self) -> std::string"""
967  return _IMP_isd.CrossLinkMSRestraint_get_source_protein1(self)
968 
969  def set_source_protein2(self, protein2):
970  r"""set_source_protein2(CrossLinkMSRestraint self, std::string protein2)"""
971  return _IMP_isd.CrossLinkMSRestraint_set_source_protein2(self, protein2)
972 
973  def get_source_protein2(self):
974  r"""get_source_protein2(CrossLinkMSRestraint self) -> std::string"""
975  return _IMP_isd.CrossLinkMSRestraint_get_source_protein2(self)
976 
977  def set_source_residue1(self, residue1):
978  r"""set_source_residue1(CrossLinkMSRestraint self, int residue1)"""
979  return _IMP_isd.CrossLinkMSRestraint_set_source_residue1(self, residue1)
980 
981  def get_source_residue1(self):
982  r"""get_source_residue1(CrossLinkMSRestraint self) -> int"""
983  return _IMP_isd.CrossLinkMSRestraint_get_source_residue1(self)
984 
985  def set_source_residue2(self, residue2):
986  r"""set_source_residue2(CrossLinkMSRestraint self, int residue2)"""
987  return _IMP_isd.CrossLinkMSRestraint_set_source_residue2(self, residue2)
988 
989  def get_source_residue2(self):
990  r"""get_source_residue2(CrossLinkMSRestraint self) -> int"""
991  return _IMP_isd.CrossLinkMSRestraint_get_source_residue2(self)
992 
993  def add_contribution(self, pps, sigmas, psi):
994  r"""add_contribution(CrossLinkMSRestraint self, IMP::ParticleIndexPair const & pps, IMP::ParticleIndexPair const & sigmas, ParticleIndex psi)"""
995  return _IMP_isd.CrossLinkMSRestraint_add_contribution(self, pps, sigmas, psi)
996 
997  def get_probability(self):
998  r"""get_probability(CrossLinkMSRestraint self) -> double"""
999  return _IMP_isd.CrossLinkMSRestraint_get_probability(self)
1000 
1001  def get_length(self):
1002  r"""get_length(CrossLinkMSRestraint self) -> double"""
1003  return _IMP_isd.CrossLinkMSRestraint_get_length(self)
1004 
1005  def get_is_length_variable(self):
1006  r"""get_is_length_variable(CrossLinkMSRestraint self) -> bool"""
1007  return _IMP_isd.CrossLinkMSRestraint_get_is_length_variable(self)
1008 
1009  def get_has_slope(self):
1010  r"""get_has_slope(CrossLinkMSRestraint self) -> bool"""
1011  return _IMP_isd.CrossLinkMSRestraint_get_has_slope(self)
1012 
1013  def get_slope(self):
1014  r"""get_slope(CrossLinkMSRestraint self) -> double"""
1015  return _IMP_isd.CrossLinkMSRestraint_get_slope(self)
1016 
1017  def get_log_prob(self):
1018  r"""get_log_prob(CrossLinkMSRestraint self) -> bool"""
1019  return _IMP_isd.CrossLinkMSRestraint_get_log_prob(self)
1020 
1021  def get_contribution_sigma_indexes(self, i):
1022  r"""get_contribution_sigma_indexes(CrossLinkMSRestraint self, int i) -> IMP::ParticleIndexPair"""
1023  return _IMP_isd.CrossLinkMSRestraint_get_contribution_sigma_indexes(self, i)
1024 
1025  def get_contribution_psi_index(self, i):
1026  r"""get_contribution_psi_index(CrossLinkMSRestraint self, int i) -> ParticleIndex"""
1027  return _IMP_isd.CrossLinkMSRestraint_get_contribution_psi_index(self, i)
1028 
1029  def get_contribution_particle_indexes(self, i):
1030  r"""get_contribution_particle_indexes(CrossLinkMSRestraint self, int i) -> IMP::ParticleIndexPair"""
1031  return _IMP_isd.CrossLinkMSRestraint_get_contribution_particle_indexes(self, i)
1032 
1033  def get_number_of_contributions(self):
1034  r"""get_number_of_contributions(CrossLinkMSRestraint self) -> unsigned int"""
1035  return _IMP_isd.CrossLinkMSRestraint_get_number_of_contributions(self)
1036 
1037  def do_get_inputs(self):
1038  r"""do_get_inputs(CrossLinkMSRestraint self) -> IMP::ModelObjectsTemp"""
1039  return _IMP_isd.CrossLinkMSRestraint_do_get_inputs(self)
1040 
1041  def get_version_info(self):
1042  r"""get_version_info(CrossLinkMSRestraint self) -> VersionInfo"""
1043  return _IMP_isd.CrossLinkMSRestraint_get_version_info(self)
1044  __swig_destroy__ = _IMP_isd.delete_CrossLinkMSRestraint
1045 
1046  def __str__(self):
1047  r"""__str__(CrossLinkMSRestraint self) -> std::string"""
1048  return _IMP_isd.CrossLinkMSRestraint___str__(self)
1049 
1050  def __repr__(self):
1051  r"""__repr__(CrossLinkMSRestraint self) -> std::string"""
1052  return _IMP_isd.CrossLinkMSRestraint___repr__(self)
1053 
1054  @staticmethod
1055  def get_from(o):
1056  return _object_cast_to_CrossLinkMSRestraint(o)
1057 
1058 
1059  def _get_as_binary(self):
1060  r"""_get_as_binary(CrossLinkMSRestraint self) -> PyObject *"""
1061  return _IMP_isd.CrossLinkMSRestraint__get_as_binary(self)
1062 
1063  def _set_from_binary(self, p):
1064  r"""_set_from_binary(CrossLinkMSRestraint self, PyObject * p)"""
1065  return _IMP_isd.CrossLinkMSRestraint__set_from_binary(self, p)
1066 
1067  def __getstate__(self):
1068  p = self._get_as_binary()
1069  if len(self.__dict__) > 1:
1070  d = self.__dict__.copy()
1071  del d['this']
1072  p = (d, p)
1073  return p
1074 
1075  def __setstate__(self, p):
1076  if not hasattr(self, 'this'):
1077  self.__init__()
1078  if isinstance(p, tuple):
1079  d, p = p
1080  self.__dict__.update(d)
1081  return self._set_from_binary(p)
1082 
1083 
1084  def _get_contributions_sigma_numpy(self):
1085  import numpy
1086  n = self.get_number_of_contributions()
1087  ret = numpy.empty((n, 2), int)
1088  for i in range(n):
1089  ret[i] = self.get_contribution_sigma_indexes(i)
1090  return ret
1091 
1092  def _get_contributions_psi_numpy(self):
1093  import numpy
1094  n = self.get_number_of_contributions()
1095  ret = numpy.empty(n, int)
1096  for i in range(n):
1097  ret[i] = self.get_contribution_psi_index(i)
1098  return ret
1099 
1100  def _get_contributions_particles_numpy(self):
1101  import numpy
1102  n = self.get_number_of_contributions()
1103  ret = numpy.empty((n, 2), int)
1104  for i in range(n):
1105  ret[i] = self.get_contribution_particle_indexes(i)
1106  return ret
1107 
1108  def _get_jax(self):
1109  import jax.lax
1110  import jax.numpy as jnp
1111  import math
1112 
1113  def sphere_cap(r1, r2, d):
1114  def short_range(r1, r2, d):
1115  return jax.lax.min(4.0 / 3.0 * math.pi * r1 * r1 * r1,
1116  4.0 / 3.0 * math.pi * r2 * r2 * r2)
1117  def mid_range(r1, r2, d):
1118  return ((math.pi / 12 / d * (r1 + r2 - d) * (r1 + r2 - d)) *
1119  (d * d + 2 * d * r1 - 3 * r1 * r1 + 2 * d * r2
1120  + 6 * r1 * r2 - 3 * r2 * r2))
1121  def long_range(r1, r2, d):
1122  return jax.lax.cond(d >= r1 + r2, lambda a,b,c: 0.,
1123  mid_range, r1, r2, d)
1124  return jax.lax.cond(
1125  d <= jnp.absolute(r1 - r2), short_range,
1126  long_range, r1, r2, d)
1127 
1128  def get_probability(xyz, r, scale, ps, ncontrib, sigma, psi, length,
1129  slope):
1130  def short_range(length, dist, sigmai, sigmaj, voli, volj):
1131  xlvol = (4.0 / 3.0 * math.pi * (length / 2.)
1132  * (length / 2.) * (length / 2.))
1133  return jax.lax.min(voli, xlvol), jax.lax.min(volj, xlvol)
1134 
1135  def long_range(length, dist, sigmai, sigmaj, voli, volj):
1136  di = dist - sigmaj - length / 2.
1137  dj = dist - sigmai - length / 2.
1138  return (sphere_cap(sigmai, length / 2., abs(di)),
1139  sphere_cap(sigmaj, length / 2., abs(dj)))
1140 
1141  def dist_diff(xyz, r, ps, k):
1142  return jnp.linalg.norm(xyz[ps[k, 0]] - xyz[ps[k, 1]])
1143 
1144  def dist_same(xyz, r, ps, k):
1145  # If the residues are assigned to the same particle-domain
1146  # get the distance as if the residue positions were randomly
1147  # taken from within the sphere representing the domain
1148  # Lund O, Protein Eng. 1997 Nov;10(11):1241-8.
1149  return 36.0 / 35.0 * r[ps[k, 0]];
1150 
1151  onemprob = 1.0
1152  for k in range(ncontrib):
1153  dist = jax.lax.cond(ps[k, 0] == ps[k, 1], dist_same,
1154  dist_diff, xyz, r, ps, k)
1155  dist = jax.lax.max(dist, 0.0001)
1156  psik = scale[psi[k]]
1157  sigmai = scale[sigma[k, 0]]
1158  sigmaj = scale[sigma[k, 1]]
1159 
1160  voli = 4.0 / 3.0 * math.pi * sigmai * sigmai * sigmai
1161  volj = 4.0 / 3.0 * math.pi * sigmaj * sigmaj * sigmaj
1162 
1163  fi, fj = jax.lax.cond(dist < sigmai + sigmaj,
1164  short_range, long_range, length,
1165  dist, sigmai, sigmaj, voli, volj)
1166 
1167  pofr = fi * fj / voli / volj
1168  if slope is not None:
1169  prior = jnp.exp(-slope * dist)
1170  onemprob = onemprob * (1.0 - (psik * (1.0 - pofr)
1171  + pofr * (1 - psik)) * prior)
1172  else:
1173  onemprob = onemprob * (1.0 - (psik * (1.0 - pofr)
1174  + pofr * (1 - psik)))
1175  return 1.0 - onemprob
1176 
1177  if self.get_is_length_variable():
1178  raise NotImplementedError("Only implemented for fixed-length")
1179  sigma = self._get_contributions_sigma_numpy()
1180  psi = self._get_contributions_psi_numpy()
1181  pis = self._get_contributions_particles_numpy()
1182  get_log_prob = self.get_log_prob()
1183  length = self.get_length()
1184  ncontrib = len(sigma)
1185  slope = self.get_slope() if self.get_has_slope() else None
1186 
1187  def jax_restraint(X):
1188  prob = get_probability(X['xyz'], X['r'], X['nuisance'], pis,
1189  ncontrib, sigma, psi, length, slope)
1190  if get_log_prob:
1191  return -jnp.log(prob)
1192  else:
1193  return prob
1194 
1195  return self._wrap_jax(jax_restraint,
1196  keys=[IMP.isd.Scale.get_scale_key()])
1197 
1198  def _get_python_evaluate(self):
1199  from numba import njit
1200  import numpy.linalg
1201  import math
1202 
1203  @njit
1204  def sphere_cap(r1, r2, d):
1205  sc = 0.
1206  if d <= max(r1, r2) - min(r1, r2):
1207  sc = min(4.0 / 3.0 * math.pi * r1 * r1 * r1,
1208  4.0 / 3.0 * math.pi * r2 * r2 * r2)
1209  elif d >= r1 + r2:
1210  sc = 0.
1211  else:
1212  sc = ((math.pi / 12 / d * (r1 + r2 - d) * (r1 + r2 - d)) *
1213  (d * d + 2 * d * r1 - 3 * r1 * r1 + 2 * d * r2
1214  + 6 * r1 * r2 - 3 * r2 * r2))
1215  return sc
1216 
1217  @njit
1218  def get_probability(xyz, scale, ps, ncontrib, sigma, psi, length,
1219  slope):
1220  onemprob = 1.0
1221  for k in range(ncontrib):
1222  dist = numpy.linalg.norm(xyz[ps[k, 0]] - xyz[ps[k, 1]])
1223  if dist < 0.0001:
1224  dist = 0.0001
1225  psik = scale[psi[k]]
1226  sigmai = scale[sigma[k, 0]]
1227  sigmaj = scale[sigma[k, 1]]
1228 
1229  voli = 4.0 / 3.0 * math.pi * sigmai * sigmai * sigmai
1230  volj = 4.0 / 3.0 * math.pi * sigmaj * sigmaj * sigmaj
1231 
1232  if dist < sigmai + sigmaj:
1233  xlvol = (4.0 / 3.0 * math.pi * (length / 2.)
1234  * (length / 2.) * (length / 2))
1235  fi = min(voli, xlvol)
1236  fj = min(volj, xlvol)
1237  else:
1238  di = dist - sigmaj - length / 2.
1239  dj = dist - sigmai - length / 2.
1240  fi = sphere_cap(sigmai, length / 2., abs(di))
1241  fj = sphere_cap(sigmaj, length / 2., abs(dj))
1242 
1243  pofr = fi * fj / voli / volj
1244  if slope is not None:
1245  prior = math.exp(slope * dist)
1246  onemprob = onemprob * (1.0 - (psik * (1.0 - pofr)
1247  + pofr * (1 - psik)) * prior)
1248  else:
1249  onemprob = onemprob * (1.0 - (psik * (1.0 - pofr)
1250  + pofr * (1 - psik)))
1251  return 1.0 - onemprob
1252 
1253  if self.get_is_length_variable():
1254  raise NotImplementedError("Only implemented for fixed-length")
1255  m = self.get_model()
1256  xyz, radius = m.get_spheres_numpy()
1257  scale = m.get_floats_numpy(IMP.isd.Scale.get_scale_key())
1258  sigma = self._get_contributions_sigma_numpy()
1259  psi = self._get_contributions_psi_numpy()
1260  pis = self._get_contributions_particles_numpy()
1261  get_log_prob = self.get_log_prob()
1262  length = self.get_length()
1263  ncontrib = len(sigma)
1264  slope = self.get_slope() if self.get_has_slope() else None
1265 
1266  @njit
1267  def scorefunc():
1268  prob = get_probability(xyz, scale, pis, ncontrib, sigma, psi,
1269  length, slope)
1270  if get_log_prob:
1271  return -math.log(prob)
1272  else:
1273  return prob
1274 
1275  return scorefunc
1276 
1277 
1278 # Register CrossLinkMSRestraint in _IMP_isd:
1279 _IMP_isd.CrossLinkMSRestraint_swigregister(CrossLinkMSRestraint)
1280 class LogWrapper(IMP.RestraintSet):
1281  r"""Proxy of C++ IMP::isd::LogWrapper class."""
1282 
1283  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1284 
1285  def __init__(self, *args):
1286  r"""
1287  __init__(LogWrapper self, Model m, double weight, std::string const & name="LogWrapper %1%") -> LogWrapper
1288  __init__(LogWrapper self, Model m, std::string const & name="LogWrapper %1%") -> LogWrapper
1289  __init__(LogWrapper self, IMP::RestraintsTemp const & rs, double weight, std::string const & name="LogWrapper %1%") -> LogWrapper
1290  __init__(LogWrapper self) -> LogWrapper
1291  """
1292  _IMP_isd.LogWrapper_swiginit(self, _IMP_isd.new_LogWrapper(*args))
1293 
1294  def do_add_score_and_derivatives(self, sa):
1295  r"""do_add_score_and_derivatives(LogWrapper self, ScoreAccumulator sa)"""
1296  return _IMP_isd.LogWrapper_do_add_score_and_derivatives(self, sa)
1297 
1298  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis):
1299  r"""do_add_score_and_derivatives_moved(LogWrapper self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
1300  return _IMP_isd.LogWrapper_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis)
1301  __swig_destroy__ = _IMP_isd.delete_LogWrapper
1302 
1303  def __str__(self):
1304  r"""__str__(LogWrapper self) -> std::string"""
1305  return _IMP_isd.LogWrapper___str__(self)
1306 
1307  def __repr__(self):
1308  r"""__repr__(LogWrapper self) -> std::string"""
1309  return _IMP_isd.LogWrapper___repr__(self)
1310 
1311  @staticmethod
1312  def get_from(o):
1313  return _object_cast_to_LogWrapper(o)
1314 
1315 
1316  def _get_as_binary(self):
1317  r"""_get_as_binary(LogWrapper self) -> PyObject *"""
1318  return _IMP_isd.LogWrapper__get_as_binary(self)
1319 
1320  def _set_from_binary(self, p):
1321  r"""_set_from_binary(LogWrapper self, PyObject * p)"""
1322  return _IMP_isd.LogWrapper__set_from_binary(self, p)
1323 
1324  def __getstate__(self):
1325  p = self._get_as_binary()
1326  if len(self.__dict__) > 1:
1327  d = self.__dict__.copy()
1328  del d['this']
1329  p = (d, p)
1330  return p
1331 
1332  def __setstate__(self, p):
1333  if not hasattr(self, 'this'):
1334  self.__init__()
1335  if isinstance(p, tuple):
1336  d, p = p
1337  self.__dict__.update(d)
1338  return self._set_from_binary(p)
1339 
1340 
1341 # Register LogWrapper in _IMP_isd:
1342 _IMP_isd.LogWrapper_swigregister(LogWrapper)
1343 class UniformPrior(IMP.Restraint):
1344  r"""Proxy of C++ IMP::isd::UniformPrior class."""
1345 
1346  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1347 
1348  def __init__(self, *args):
1349  r"""
1350  __init__(UniformPrior self, Model m, Particle p, double k, double upperb, double lowerb, std::string name="UniformPrior%1%") -> UniformPrior
1351  __init__(UniformPrior self) -> UniformPrior
1352  """
1353  _IMP_isd.UniformPrior_swiginit(self, _IMP_isd.new_UniformPrior(*args))
1354 
1355  def do_get_inputs(self):
1356  r"""do_get_inputs(UniformPrior self) -> IMP::ModelObjectsTemp"""
1357  return _IMP_isd.UniformPrior_do_get_inputs(self)
1358 
1359  def get_version_info(self):
1360  r"""get_version_info(UniformPrior self) -> VersionInfo"""
1361  return _IMP_isd.UniformPrior_get_version_info(self)
1362  __swig_destroy__ = _IMP_isd.delete_UniformPrior
1363 
1364  def get_probability(self):
1365  r"""get_probability(UniformPrior self) -> double"""
1366  return _IMP_isd.UniformPrior_get_probability(self)
1367 
1368  def __str__(self):
1369  r"""__str__(UniformPrior self) -> std::string"""
1370  return _IMP_isd.UniformPrior___str__(self)
1371 
1372  def __repr__(self):
1373  r"""__repr__(UniformPrior self) -> std::string"""
1374  return _IMP_isd.UniformPrior___repr__(self)
1375 
1376  @staticmethod
1377  def get_from(o):
1378  return _object_cast_to_UniformPrior(o)
1379 
1380 
1381  def _get_as_binary(self):
1382  r"""_get_as_binary(UniformPrior self) -> PyObject *"""
1383  return _IMP_isd.UniformPrior__get_as_binary(self)
1384 
1385  def _set_from_binary(self, p):
1386  r"""_set_from_binary(UniformPrior self, PyObject * p)"""
1387  return _IMP_isd.UniformPrior__set_from_binary(self, p)
1388 
1389  def __getstate__(self):
1390  p = self._get_as_binary()
1391  if len(self.__dict__) > 1:
1392  d = self.__dict__.copy()
1393  del d['this']
1394  p = (d, p)
1395  return p
1396 
1397  def __setstate__(self, p):
1398  if not hasattr(self, 'this'):
1399  self.__init__()
1400  if isinstance(p, tuple):
1401  d, p = p
1402  self.__dict__.update(d)
1403  return self._set_from_binary(p)
1404 
1405 
1406 # Register UniformPrior in _IMP_isd:
1407 _IMP_isd.UniformPrior_swigregister(UniformPrior)
1408 class Nuisance(IMP.Decorator):
1409  r"""Proxy of C++ IMP::isd::Nuisance class."""
1410 
1411  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1412 
1413  def __init__(self, *args):
1414  r"""
1415  __init__(Nuisance self) -> Nuisance
1416  __init__(Nuisance self, Model m, ParticleIndex id) -> Nuisance
1417  __init__(Nuisance self, _ParticleAdaptor d) -> Nuisance
1418  """
1419  _IMP_isd.Nuisance_swiginit(self, _IMP_isd.new_Nuisance(*args))
1420 
1421  def show(self, *args):
1422  r"""show(Nuisance self, _ostream out=std::cout)"""
1423  return _IMP_isd.Nuisance_show(self, *args)
1424 
1425  @staticmethod
1426  def setup_particle(*args):
1427  r"""
1428  setup_particle(Model m, ParticleIndex pi) -> Nuisance
1429  setup_particle(_ParticleAdaptor pa) -> Nuisance
1430  setup_particle(Model m, ParticleIndex pi, double nuisance) -> Nuisance
1431  setup_particle(_ParticleAdaptor pa, double nuisance) -> Nuisance
1432  """
1433  return _IMP_isd.Nuisance_setup_particle(*args)
1434 
1435  @staticmethod
1436  def get_is_setup(*args):
1437  r"""
1438  get_is_setup(_ParticleAdaptor p) -> bool
1439  get_is_setup(Model m, ParticleIndex pi) -> bool
1440  """
1441  return _IMP_isd.Nuisance_get_is_setup(*args)
1442 
1443  @staticmethod
1444  def get_nuisance_key():
1445  r"""get_nuisance_key() -> FloatKey"""
1446  return _IMP_isd.Nuisance_get_nuisance_key()
1447 
1448  def get_nuisance(self):
1449  r"""get_nuisance(Nuisance self) -> IMP::Float"""
1450  return _IMP_isd.Nuisance_get_nuisance(self)
1451 
1452  def set_nuisance(self, d):
1453  r"""set_nuisance(Nuisance self, IMP::Float d)"""
1454  return _IMP_isd.Nuisance_set_nuisance(self, d)
1455 
1456  def get_has_lower(self):
1457  r"""get_has_lower(Nuisance self) -> bool"""
1458  return _IMP_isd.Nuisance_get_has_lower(self)
1459 
1460  def get_lower(self):
1461  r"""get_lower(Nuisance self) -> IMP::Float"""
1462  return _IMP_isd.Nuisance_get_lower(self)
1463 
1464  @staticmethod
1465  def get_lower_key():
1466  r"""get_lower_key() -> FloatKey"""
1467  return _IMP_isd.Nuisance_get_lower_key()
1468 
1469  @staticmethod
1470  def get_lower_particle_key():
1471  r"""get_lower_particle_key() -> ParticleIndexKey"""
1472  return _IMP_isd.Nuisance_get_lower_particle_key()
1473 
1474  def set_lower(self, *args):
1475  r"""
1476  set_lower(Nuisance self, IMP::Float d)
1477  set_lower(Nuisance self, Particle d)
1478  """
1479  return _IMP_isd.Nuisance_set_lower(self, *args)
1480 
1481  def remove_lower(self):
1482  r"""remove_lower(Nuisance self)"""
1483  return _IMP_isd.Nuisance_remove_lower(self)
1484 
1485  def get_has_upper(self):
1486  r"""get_has_upper(Nuisance self) -> bool"""
1487  return _IMP_isd.Nuisance_get_has_upper(self)
1488 
1489  def get_upper(self):
1490  r"""get_upper(Nuisance self) -> IMP::Float"""
1491  return _IMP_isd.Nuisance_get_upper(self)
1492 
1493  @staticmethod
1494  def get_upper_key():
1495  r"""get_upper_key() -> FloatKey"""
1496  return _IMP_isd.Nuisance_get_upper_key()
1497 
1498  @staticmethod
1499  def get_upper_particle_key():
1500  r"""get_upper_particle_key() -> ParticleIndexKey"""
1501  return _IMP_isd.Nuisance_get_upper_particle_key()
1502 
1503  def set_upper(self, *args):
1504  r"""
1505  set_upper(Nuisance self, IMP::Float d)
1506  set_upper(Nuisance self, Particle d)
1507  """
1508  return _IMP_isd.Nuisance_set_upper(self, *args)
1509 
1510  def remove_upper(self):
1511  r"""remove_upper(Nuisance self)"""
1512  return _IMP_isd.Nuisance_remove_upper(self)
1513 
1514  def get_nuisance_derivative(self):
1515  r"""get_nuisance_derivative(Nuisance self) -> IMP::Float"""
1516  return _IMP_isd.Nuisance_get_nuisance_derivative(self)
1517 
1518  def add_to_nuisance_derivative(self, d, accum):
1519  r"""add_to_nuisance_derivative(Nuisance self, IMP::Float d, DerivativeAccumulator accum)"""
1520  return _IMP_isd.Nuisance_add_to_nuisance_derivative(self, d, accum)
1521 
1522  def get_nuisance_is_optimized(self):
1523  r"""get_nuisance_is_optimized(Nuisance self) -> bool"""
1524  return _IMP_isd.Nuisance_get_nuisance_is_optimized(self)
1525 
1526  def set_nuisance_is_optimized(self, val):
1527  r"""set_nuisance_is_optimized(Nuisance self, bool val)"""
1528  return _IMP_isd.Nuisance_set_nuisance_is_optimized(self, val)
1529 
1530  def add_attribute(self, *args):
1531  r"""
1532  add_attribute(Nuisance self, FloatKey k, IMP::Float v, bool opt)
1533  add_attribute(Nuisance self, FloatKey a0, IMP::Float a1)
1534  add_attribute(Nuisance self, IntKey a0, IMP::Int a1)
1535  add_attribute(Nuisance self, FloatsKey a0, IMP::Floats a1)
1536  add_attribute(Nuisance self, IntsKey a0, IMP::Ints a1)
1537  add_attribute(Nuisance self, StringKey a0, IMP::String a1)
1538  add_attribute(Nuisance self, ParticleIndexKey a0, Particle a1)
1539  add_attribute(Nuisance self, ObjectKey a0, Object a1)
1540  add_attribute(Nuisance self, SparseFloatKey a0, IMP::Float a1)
1541  add_attribute(Nuisance self, SparseIntKey a0, IMP::Int a1)
1542  add_attribute(Nuisance self, SparseStringKey a0, IMP::String a1)
1543  add_attribute(Nuisance self, SparseParticleIndexKey a0, ParticleIndex a1)
1544  """
1545  return _IMP_isd.Nuisance_add_attribute(self, *args)
1546 
1547  def get_value(self, *args):
1548  r"""
1549  get_value(Nuisance self, FloatKey a0) -> IMP::Float
1550  get_value(Nuisance self, IntKey a0) -> IMP::Int
1551  get_value(Nuisance self, FloatsKey a0) -> IMP::Floats
1552  get_value(Nuisance self, IntsKey a0) -> IMP::Ints
1553  get_value(Nuisance self, StringKey a0) -> IMP::String
1554  get_value(Nuisance self, ParticleIndexKey a0) -> Particle
1555  get_value(Nuisance self, ObjectKey a0) -> Object
1556  get_value(Nuisance self, SparseFloatKey a0) -> IMP::Float
1557  get_value(Nuisance self, SparseIntKey a0) -> IMP::Int
1558  get_value(Nuisance self, SparseStringKey a0) -> IMP::String
1559  get_value(Nuisance self, SparseParticleIndexKey a0) -> ParticleIndex
1560  """
1561  return _IMP_isd.Nuisance_get_value(self, *args)
1562 
1563  def set_value(self, *args):
1564  r"""
1565  set_value(Nuisance self, FloatKey a0, IMP::Float a1)
1566  set_value(Nuisance self, IntKey a0, IMP::Int a1)
1567  set_value(Nuisance self, FloatsKey a0, IMP::Floats a1)
1568  set_value(Nuisance self, IntsKey a0, IMP::Ints a1)
1569  set_value(Nuisance self, StringKey a0, IMP::String a1)
1570  set_value(Nuisance self, ParticleIndexKey a0, Particle a1)
1571  set_value(Nuisance self, ObjectKey a0, Object a1)
1572  set_value(Nuisance self, SparseFloatKey a0, IMP::Float a1)
1573  set_value(Nuisance self, SparseIntKey a0, IMP::Int a1)
1574  set_value(Nuisance self, SparseStringKey a0, IMP::String a1)
1575  set_value(Nuisance self, SparseParticleIndexKey a0, ParticleIndex a1)
1576  """
1577  return _IMP_isd.Nuisance_set_value(self, *args)
1578 
1579  def remove_attribute(self, *args):
1580  r"""
1581  remove_attribute(Nuisance self, FloatKey a0)
1582  remove_attribute(Nuisance self, IntKey a0)
1583  remove_attribute(Nuisance self, FloatsKey a0)
1584  remove_attribute(Nuisance self, IntsKey a0)
1585  remove_attribute(Nuisance self, StringKey a0)
1586  remove_attribute(Nuisance self, ParticleIndexKey a0)
1587  remove_attribute(Nuisance self, ObjectKey a0)
1588  remove_attribute(Nuisance self, SparseFloatKey a0)
1589  remove_attribute(Nuisance self, SparseIntKey a0)
1590  remove_attribute(Nuisance self, SparseStringKey a0)
1591  remove_attribute(Nuisance self, SparseParticleIndexKey a0)
1592  """
1593  return _IMP_isd.Nuisance_remove_attribute(self, *args)
1594 
1595  def has_attribute(self, *args):
1596  r"""
1597  has_attribute(Nuisance self, FloatKey a0) -> bool
1598  has_attribute(Nuisance self, IntKey a0) -> bool
1599  has_attribute(Nuisance self, FloatsKey a0) -> bool
1600  has_attribute(Nuisance self, IntsKey a0) -> bool
1601  has_attribute(Nuisance self, StringKey a0) -> bool
1602  has_attribute(Nuisance self, ParticleIndexKey a0) -> bool
1603  has_attribute(Nuisance self, ObjectKey a0) -> bool
1604  has_attribute(Nuisance self, SparseFloatKey a0) -> bool
1605  has_attribute(Nuisance self, SparseIntKey a0) -> bool
1606  has_attribute(Nuisance self, SparseStringKey a0) -> bool
1607  has_attribute(Nuisance self, SparseParticleIndexKey a0) -> bool
1608  """
1609  return _IMP_isd.Nuisance_has_attribute(self, *args)
1610 
1611  def get_derivative(self, a0):
1612  r"""get_derivative(Nuisance self, FloatKey a0) -> double"""
1613  return _IMP_isd.Nuisance_get_derivative(self, a0)
1614 
1615  def get_name(self):
1616  r"""get_name(Nuisance self) -> std::string"""
1617  return _IMP_isd.Nuisance_get_name(self)
1618 
1619  def clear_caches(self):
1620  r"""clear_caches(Nuisance self)"""
1621  return _IMP_isd.Nuisance_clear_caches(self)
1622 
1623  def set_name(self, a0):
1624  r"""set_name(Nuisance self, std::string a0)"""
1625  return _IMP_isd.Nuisance_set_name(self, a0)
1626 
1627  def set_check_level(self, a0):
1628  r"""set_check_level(Nuisance self, IMP::CheckLevel a0)"""
1629  return _IMP_isd.Nuisance_set_check_level(self, a0)
1630 
1631  def add_to_derivative(self, a0, a1, a2):
1632  r"""add_to_derivative(Nuisance self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
1633  return _IMP_isd.Nuisance_add_to_derivative(self, a0, a1, a2)
1634 
1635  def set_is_optimized(self, a0, a1):
1636  r"""set_is_optimized(Nuisance self, FloatKey a0, bool a1)"""
1637  return _IMP_isd.Nuisance_set_is_optimized(self, a0, a1)
1638 
1639  def get_is_optimized(self, a0):
1640  r"""get_is_optimized(Nuisance self, FloatKey a0) -> bool"""
1641  return _IMP_isd.Nuisance_get_is_optimized(self, a0)
1642 
1643  def get_check_level(self):
1644  r"""get_check_level(Nuisance self) -> IMP::CheckLevel"""
1645  return _IMP_isd.Nuisance_get_check_level(self)
1646 
1647  def __eq__(self, *args):
1648  r"""
1649  __eq__(Nuisance self, Nuisance o) -> bool
1650  __eq__(Nuisance self, Particle d) -> bool
1651  """
1652  return _IMP_isd.Nuisance___eq__(self, *args)
1653 
1654  def __ne__(self, *args):
1655  r"""
1656  __ne__(Nuisance self, Nuisance o) -> bool
1657  __ne__(Nuisance self, Particle d) -> bool
1658  """
1659  return _IMP_isd.Nuisance___ne__(self, *args)
1660 
1661  def __le__(self, *args):
1662  r"""
1663  __le__(Nuisance self, Nuisance o) -> bool
1664  __le__(Nuisance self, Particle d) -> bool
1665  """
1666  return _IMP_isd.Nuisance___le__(self, *args)
1667 
1668  def __lt__(self, *args):
1669  r"""
1670  __lt__(Nuisance self, Nuisance o) -> bool
1671  __lt__(Nuisance self, Particle d) -> bool
1672  """
1673  return _IMP_isd.Nuisance___lt__(self, *args)
1674 
1675  def __ge__(self, *args):
1676  r"""
1677  __ge__(Nuisance self, Nuisance o) -> bool
1678  __ge__(Nuisance self, Particle d) -> bool
1679  """
1680  return _IMP_isd.Nuisance___ge__(self, *args)
1681 
1682  def __gt__(self, *args):
1683  r"""
1684  __gt__(Nuisance self, Nuisance o) -> bool
1685  __gt__(Nuisance self, Particle d) -> bool
1686  """
1687  return _IMP_isd.Nuisance___gt__(self, *args)
1688 
1689  def __hash__(self):
1690  r"""__hash__(Nuisance self) -> std::size_t"""
1691  return _IMP_isd.Nuisance___hash__(self)
1692 
1693  def __str__(self):
1694  r"""__str__(Nuisance self) -> std::string"""
1695  return _IMP_isd.Nuisance___str__(self)
1696 
1697  def __repr__(self):
1698  r"""__repr__(Nuisance self) -> std::string"""
1699  return _IMP_isd.Nuisance___repr__(self)
1700 
1701  def _get_as_binary(self):
1702  r"""_get_as_binary(Nuisance self) -> PyObject *"""
1703  return _IMP_isd.Nuisance__get_as_binary(self)
1704 
1705  def _set_from_binary(self, p):
1706  r"""_set_from_binary(Nuisance self, PyObject * p)"""
1707  return _IMP_isd.Nuisance__set_from_binary(self, p)
1708 
1709  def __getstate__(self):
1710  p = self._get_as_binary()
1711  if len(self.__dict__) > 1:
1712  d = self.__dict__.copy()
1713  del d['this']
1714  p = (d, p)
1715  return p
1716 
1717  def __setstate__(self, p):
1718  if not hasattr(self, 'this'):
1719  self.__init__()
1720  if isinstance(p, tuple):
1721  d, p = p
1722  self.__dict__.update(d)
1723  return self._set_from_binary(p)
1724 
1725  __swig_destroy__ = _IMP_isd.delete_Nuisance
1726 
1727 # Register Nuisance in _IMP_isd:
1728 _IMP_isd.Nuisance_swigregister(Nuisance)
1729 class Scale(Nuisance):
1730  r"""Proxy of C++ IMP::isd::Scale class."""
1731 
1732  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1733 
1734  def __init__(self, *args):
1735  r"""
1736  __init__(Scale self) -> Scale
1737  __init__(Scale self, Model m, ParticleIndex id) -> Scale
1738  __init__(Scale self, _ParticleAdaptor d) -> Scale
1739  """
1740  _IMP_isd.Scale_swiginit(self, _IMP_isd.new_Scale(*args))
1741 
1742  def show(self, *args):
1743  r"""show(Scale self, _ostream out=std::cout)"""
1744  return _IMP_isd.Scale_show(self, *args)
1745 
1746  @staticmethod
1747  def setup_particle(*args):
1748  r"""
1749  setup_particle(Model m, ParticleIndex pi) -> Scale
1750  setup_particle(_ParticleAdaptor pa) -> Scale
1751  setup_particle(Model m, ParticleIndex pi, double scale) -> Scale
1752  setup_particle(_ParticleAdaptor pa, double scale) -> Scale
1753  """
1754  return _IMP_isd.Scale_setup_particle(*args)
1755 
1756  @staticmethod
1757  def get_is_setup(*args):
1758  r"""
1759  get_is_setup(_ParticleAdaptor p) -> bool
1760  get_is_setup(Model m, ParticleIndex pi) -> bool
1761  """
1762  return _IMP_isd.Scale_get_is_setup(*args)
1763 
1764  def get_scale(self):
1765  r"""get_scale(Scale self) -> IMP::Float"""
1766  return _IMP_isd.Scale_get_scale(self)
1767 
1768  def set_scale(self, d):
1769  r"""set_scale(Scale self, IMP::Float d)"""
1770  return _IMP_isd.Scale_set_scale(self, d)
1771 
1772  def add_to_scale_derivative(self, d, accum):
1773  r"""add_to_scale_derivative(Scale self, IMP::Float d, DerivativeAccumulator accum)"""
1774  return _IMP_isd.Scale_add_to_scale_derivative(self, d, accum)
1775 
1776  def get_scale_derivative(self):
1777  r"""get_scale_derivative(Scale self) -> IMP::Float"""
1778  return _IMP_isd.Scale_get_scale_derivative(self)
1779 
1780  @staticmethod
1781  def get_scale_key():
1782  r"""get_scale_key() -> FloatKey"""
1783  return _IMP_isd.Scale_get_scale_key()
1784 
1785  def get_scale_is_optimized(self):
1786  r"""get_scale_is_optimized(Scale self) -> bool"""
1787  return _IMP_isd.Scale_get_scale_is_optimized(self)
1788 
1789  def set_scale_is_optimized(self, val):
1790  r"""set_scale_is_optimized(Scale self, bool val)"""
1791  return _IMP_isd.Scale_set_scale_is_optimized(self, val)
1792 
1793  def add_attribute(self, *args):
1794  r"""
1795  add_attribute(Scale self, FloatKey k, IMP::Float v, bool opt)
1796  add_attribute(Scale self, FloatKey a0, IMP::Float a1)
1797  add_attribute(Scale self, IntKey a0, IMP::Int a1)
1798  add_attribute(Scale self, FloatsKey a0, IMP::Floats a1)
1799  add_attribute(Scale self, IntsKey a0, IMP::Ints a1)
1800  add_attribute(Scale self, StringKey a0, IMP::String a1)
1801  add_attribute(Scale self, ParticleIndexKey a0, Particle a1)
1802  add_attribute(Scale self, ObjectKey a0, Object a1)
1803  add_attribute(Scale self, SparseFloatKey a0, IMP::Float a1)
1804  add_attribute(Scale self, SparseIntKey a0, IMP::Int a1)
1805  add_attribute(Scale self, SparseStringKey a0, IMP::String a1)
1806  add_attribute(Scale self, SparseParticleIndexKey a0, ParticleIndex a1)
1807  """
1808  return _IMP_isd.Scale_add_attribute(self, *args)
1809 
1810  def get_value(self, *args):
1811  r"""
1812  get_value(Scale self, FloatKey a0) -> IMP::Float
1813  get_value(Scale self, IntKey a0) -> IMP::Int
1814  get_value(Scale self, FloatsKey a0) -> IMP::Floats
1815  get_value(Scale self, IntsKey a0) -> IMP::Ints
1816  get_value(Scale self, StringKey a0) -> IMP::String
1817  get_value(Scale self, ParticleIndexKey a0) -> Particle
1818  get_value(Scale self, ObjectKey a0) -> Object
1819  get_value(Scale self, SparseFloatKey a0) -> IMP::Float
1820  get_value(Scale self, SparseIntKey a0) -> IMP::Int
1821  get_value(Scale self, SparseStringKey a0) -> IMP::String
1822  get_value(Scale self, SparseParticleIndexKey a0) -> ParticleIndex
1823  """
1824  return _IMP_isd.Scale_get_value(self, *args)
1825 
1826  def set_value(self, *args):
1827  r"""
1828  set_value(Scale self, FloatKey a0, IMP::Float a1)
1829  set_value(Scale self, IntKey a0, IMP::Int a1)
1830  set_value(Scale self, FloatsKey a0, IMP::Floats a1)
1831  set_value(Scale self, IntsKey a0, IMP::Ints a1)
1832  set_value(Scale self, StringKey a0, IMP::String a1)
1833  set_value(Scale self, ParticleIndexKey a0, Particle a1)
1834  set_value(Scale self, ObjectKey a0, Object a1)
1835  set_value(Scale self, SparseFloatKey a0, IMP::Float a1)
1836  set_value(Scale self, SparseIntKey a0, IMP::Int a1)
1837  set_value(Scale self, SparseStringKey a0, IMP::String a1)
1838  set_value(Scale self, SparseParticleIndexKey a0, ParticleIndex a1)
1839  """
1840  return _IMP_isd.Scale_set_value(self, *args)
1841 
1842  def remove_attribute(self, *args):
1843  r"""
1844  remove_attribute(Scale self, FloatKey a0)
1845  remove_attribute(Scale self, IntKey a0)
1846  remove_attribute(Scale self, FloatsKey a0)
1847  remove_attribute(Scale self, IntsKey a0)
1848  remove_attribute(Scale self, StringKey a0)
1849  remove_attribute(Scale self, ParticleIndexKey a0)
1850  remove_attribute(Scale self, ObjectKey a0)
1851  remove_attribute(Scale self, SparseFloatKey a0)
1852  remove_attribute(Scale self, SparseIntKey a0)
1853  remove_attribute(Scale self, SparseStringKey a0)
1854  remove_attribute(Scale self, SparseParticleIndexKey a0)
1855  """
1856  return _IMP_isd.Scale_remove_attribute(self, *args)
1857 
1858  def has_attribute(self, *args):
1859  r"""
1860  has_attribute(Scale self, FloatKey a0) -> bool
1861  has_attribute(Scale self, IntKey a0) -> bool
1862  has_attribute(Scale self, FloatsKey a0) -> bool
1863  has_attribute(Scale self, IntsKey a0) -> bool
1864  has_attribute(Scale self, StringKey a0) -> bool
1865  has_attribute(Scale self, ParticleIndexKey a0) -> bool
1866  has_attribute(Scale self, ObjectKey a0) -> bool
1867  has_attribute(Scale self, SparseFloatKey a0) -> bool
1868  has_attribute(Scale self, SparseIntKey a0) -> bool
1869  has_attribute(Scale self, SparseStringKey a0) -> bool
1870  has_attribute(Scale self, SparseParticleIndexKey a0) -> bool
1871  """
1872  return _IMP_isd.Scale_has_attribute(self, *args)
1873 
1874  def get_derivative(self, a0):
1875  r"""get_derivative(Scale self, FloatKey a0) -> double"""
1876  return _IMP_isd.Scale_get_derivative(self, a0)
1877 
1878  def get_name(self):
1879  r"""get_name(Scale self) -> std::string"""
1880  return _IMP_isd.Scale_get_name(self)
1881 
1882  def clear_caches(self):
1883  r"""clear_caches(Scale self)"""
1884  return _IMP_isd.Scale_clear_caches(self)
1885 
1886  def set_name(self, a0):
1887  r"""set_name(Scale self, std::string a0)"""
1888  return _IMP_isd.Scale_set_name(self, a0)
1889 
1890  def set_check_level(self, a0):
1891  r"""set_check_level(Scale self, IMP::CheckLevel a0)"""
1892  return _IMP_isd.Scale_set_check_level(self, a0)
1893 
1894  def add_to_derivative(self, a0, a1, a2):
1895  r"""add_to_derivative(Scale self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
1896  return _IMP_isd.Scale_add_to_derivative(self, a0, a1, a2)
1897 
1898  def set_is_optimized(self, a0, a1):
1899  r"""set_is_optimized(Scale self, FloatKey a0, bool a1)"""
1900  return _IMP_isd.Scale_set_is_optimized(self, a0, a1)
1901 
1902  def get_is_optimized(self, a0):
1903  r"""get_is_optimized(Scale self, FloatKey a0) -> bool"""
1904  return _IMP_isd.Scale_get_is_optimized(self, a0)
1905 
1906  def get_check_level(self):
1907  r"""get_check_level(Scale self) -> IMP::CheckLevel"""
1908  return _IMP_isd.Scale_get_check_level(self)
1909 
1910  def __eq__(self, *args):
1911  r"""
1912  __eq__(Scale self, Scale o) -> bool
1913  __eq__(Scale self, Particle d) -> bool
1914  """
1915  return _IMP_isd.Scale___eq__(self, *args)
1916 
1917  def __ne__(self, *args):
1918  r"""
1919  __ne__(Scale self, Scale o) -> bool
1920  __ne__(Scale self, Particle d) -> bool
1921  """
1922  return _IMP_isd.Scale___ne__(self, *args)
1923 
1924  def __le__(self, *args):
1925  r"""
1926  __le__(Scale self, Scale o) -> bool
1927  __le__(Scale self, Particle d) -> bool
1928  """
1929  return _IMP_isd.Scale___le__(self, *args)
1930 
1931  def __lt__(self, *args):
1932  r"""
1933  __lt__(Scale self, Scale o) -> bool
1934  __lt__(Scale self, Particle d) -> bool
1935  """
1936  return _IMP_isd.Scale___lt__(self, *args)
1937 
1938  def __ge__(self, *args):
1939  r"""
1940  __ge__(Scale self, Scale o) -> bool
1941  __ge__(Scale self, Particle d) -> bool
1942  """
1943  return _IMP_isd.Scale___ge__(self, *args)
1944 
1945  def __gt__(self, *args):
1946  r"""
1947  __gt__(Scale self, Scale o) -> bool
1948  __gt__(Scale self, Particle d) -> bool
1949  """
1950  return _IMP_isd.Scale___gt__(self, *args)
1951 
1952  def __hash__(self):
1953  r"""__hash__(Scale self) -> std::size_t"""
1954  return _IMP_isd.Scale___hash__(self)
1955 
1956  def __str__(self):
1957  r"""__str__(Scale self) -> std::string"""
1958  return _IMP_isd.Scale___str__(self)
1959 
1960  def __repr__(self):
1961  r"""__repr__(Scale self) -> std::string"""
1962  return _IMP_isd.Scale___repr__(self)
1963 
1964  def _get_as_binary(self):
1965  r"""_get_as_binary(Scale self) -> PyObject *"""
1966  return _IMP_isd.Scale__get_as_binary(self)
1967 
1968  def _set_from_binary(self, p):
1969  r"""_set_from_binary(Scale self, PyObject * p)"""
1970  return _IMP_isd.Scale__set_from_binary(self, p)
1971 
1972  def __getstate__(self):
1973  p = self._get_as_binary()
1974  if len(self.__dict__) > 1:
1975  d = self.__dict__.copy()
1976  del d['this']
1977  p = (d, p)
1978  return p
1979 
1980  def __setstate__(self, p):
1981  if not hasattr(self, 'this'):
1982  self.__init__()
1983  if isinstance(p, tuple):
1984  d, p = p
1985  self.__dict__.update(d)
1986  return self._set_from_binary(p)
1987 
1988  __swig_destroy__ = _IMP_isd.delete_Scale
1989 
1990 # Register Scale in _IMP_isd:
1991 _IMP_isd.Scale_swigregister(Scale)
1992 class Switching(Nuisance):
1993  r"""Proxy of C++ IMP::isd::Switching class."""
1994 
1995  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1996 
1997  def __init__(self, *args):
1998  r"""
1999  __init__(Switching self) -> Switching
2000  __init__(Switching self, Model m, ParticleIndex id) -> Switching
2001  __init__(Switching self, _ParticleAdaptor d) -> Switching
2002  """
2003  _IMP_isd.Switching_swiginit(self, _IMP_isd.new_Switching(*args))
2004 
2005  def show(self, *args):
2006  r"""show(Switching self, _ostream out=std::cout)"""
2007  return _IMP_isd.Switching_show(self, *args)
2008 
2009  @staticmethod
2010  def setup_particle(*args):
2011  r"""
2012  setup_particle(Model m, ParticleIndex pi) -> Switching
2013  setup_particle(_ParticleAdaptor pa) -> Switching
2014  setup_particle(Model m, ParticleIndex pi, double switching) -> Switching
2015  setup_particle(_ParticleAdaptor pa, double switching) -> Switching
2016  """
2017  return _IMP_isd.Switching_setup_particle(*args)
2018 
2019  @staticmethod
2020  def get_is_setup(*args):
2021  r"""
2022  get_is_setup(_ParticleAdaptor p) -> bool
2023  get_is_setup(Model m, ParticleIndex pi) -> bool
2024  """
2025  return _IMP_isd.Switching_get_is_setup(*args)
2026 
2027  def get_switching(self):
2028  r"""get_switching(Switching self) -> IMP::Float"""
2029  return _IMP_isd.Switching_get_switching(self)
2030 
2031  def set_switching(self, d):
2032  r"""set_switching(Switching self, IMP::Float d)"""
2033  return _IMP_isd.Switching_set_switching(self, d)
2034 
2035  def add_to_switching_derivative(self, d, accum):
2036  r"""add_to_switching_derivative(Switching self, IMP::Float d, DerivativeAccumulator accum)"""
2037  return _IMP_isd.Switching_add_to_switching_derivative(self, d, accum)
2038 
2039  def get_switching_derivative(self):
2040  r"""get_switching_derivative(Switching self) -> IMP::Float"""
2041  return _IMP_isd.Switching_get_switching_derivative(self)
2042 
2043  @staticmethod
2044  def get_switching_key():
2045  r"""get_switching_key() -> FloatKey"""
2046  return _IMP_isd.Switching_get_switching_key()
2047 
2048  def get_switching_is_optimized(self):
2049  r"""get_switching_is_optimized(Switching self) -> bool"""
2050  return _IMP_isd.Switching_get_switching_is_optimized(self)
2051 
2052  def set_switching_is_optimized(self, val):
2053  r"""set_switching_is_optimized(Switching self, bool val)"""
2054  return _IMP_isd.Switching_set_switching_is_optimized(self, val)
2055 
2056  def add_attribute(self, *args):
2057  r"""
2058  add_attribute(Switching self, FloatKey k, IMP::Float v, bool opt)
2059  add_attribute(Switching self, FloatKey a0, IMP::Float a1)
2060  add_attribute(Switching self, IntKey a0, IMP::Int a1)
2061  add_attribute(Switching self, FloatsKey a0, IMP::Floats a1)
2062  add_attribute(Switching self, IntsKey a0, IMP::Ints a1)
2063  add_attribute(Switching self, StringKey a0, IMP::String a1)
2064  add_attribute(Switching self, ParticleIndexKey a0, Particle a1)
2065  add_attribute(Switching self, ObjectKey a0, Object a1)
2066  add_attribute(Switching self, SparseFloatKey a0, IMP::Float a1)
2067  add_attribute(Switching self, SparseIntKey a0, IMP::Int a1)
2068  add_attribute(Switching self, SparseStringKey a0, IMP::String a1)
2069  add_attribute(Switching self, SparseParticleIndexKey a0, ParticleIndex a1)
2070  """
2071  return _IMP_isd.Switching_add_attribute(self, *args)
2072 
2073  def get_value(self, *args):
2074  r"""
2075  get_value(Switching self, FloatKey a0) -> IMP::Float
2076  get_value(Switching self, IntKey a0) -> IMP::Int
2077  get_value(Switching self, FloatsKey a0) -> IMP::Floats
2078  get_value(Switching self, IntsKey a0) -> IMP::Ints
2079  get_value(Switching self, StringKey a0) -> IMP::String
2080  get_value(Switching self, ParticleIndexKey a0) -> Particle
2081  get_value(Switching self, ObjectKey a0) -> Object
2082  get_value(Switching self, SparseFloatKey a0) -> IMP::Float
2083  get_value(Switching self, SparseIntKey a0) -> IMP::Int
2084  get_value(Switching self, SparseStringKey a0) -> IMP::String
2085  get_value(Switching self, SparseParticleIndexKey a0) -> ParticleIndex
2086  """
2087  return _IMP_isd.Switching_get_value(self, *args)
2088 
2089  def set_value(self, *args):
2090  r"""
2091  set_value(Switching self, FloatKey a0, IMP::Float a1)
2092  set_value(Switching self, IntKey a0, IMP::Int a1)
2093  set_value(Switching self, FloatsKey a0, IMP::Floats a1)
2094  set_value(Switching self, IntsKey a0, IMP::Ints a1)
2095  set_value(Switching self, StringKey a0, IMP::String a1)
2096  set_value(Switching self, ParticleIndexKey a0, Particle a1)
2097  set_value(Switching self, ObjectKey a0, Object a1)
2098  set_value(Switching self, SparseFloatKey a0, IMP::Float a1)
2099  set_value(Switching self, SparseIntKey a0, IMP::Int a1)
2100  set_value(Switching self, SparseStringKey a0, IMP::String a1)
2101  set_value(Switching self, SparseParticleIndexKey a0, ParticleIndex a1)
2102  """
2103  return _IMP_isd.Switching_set_value(self, *args)
2104 
2105  def remove_attribute(self, *args):
2106  r"""
2107  remove_attribute(Switching self, FloatKey a0)
2108  remove_attribute(Switching self, IntKey a0)
2109  remove_attribute(Switching self, FloatsKey a0)
2110  remove_attribute(Switching self, IntsKey a0)
2111  remove_attribute(Switching self, StringKey a0)
2112  remove_attribute(Switching self, ParticleIndexKey a0)
2113  remove_attribute(Switching self, ObjectKey a0)
2114  remove_attribute(Switching self, SparseFloatKey a0)
2115  remove_attribute(Switching self, SparseIntKey a0)
2116  remove_attribute(Switching self, SparseStringKey a0)
2117  remove_attribute(Switching self, SparseParticleIndexKey a0)
2118  """
2119  return _IMP_isd.Switching_remove_attribute(self, *args)
2120 
2121  def has_attribute(self, *args):
2122  r"""
2123  has_attribute(Switching self, FloatKey a0) -> bool
2124  has_attribute(Switching self, IntKey a0) -> bool
2125  has_attribute(Switching self, FloatsKey a0) -> bool
2126  has_attribute(Switching self, IntsKey a0) -> bool
2127  has_attribute(Switching self, StringKey a0) -> bool
2128  has_attribute(Switching self, ParticleIndexKey a0) -> bool
2129  has_attribute(Switching self, ObjectKey a0) -> bool
2130  has_attribute(Switching self, SparseFloatKey a0) -> bool
2131  has_attribute(Switching self, SparseIntKey a0) -> bool
2132  has_attribute(Switching self, SparseStringKey a0) -> bool
2133  has_attribute(Switching self, SparseParticleIndexKey a0) -> bool
2134  """
2135  return _IMP_isd.Switching_has_attribute(self, *args)
2136 
2137  def get_derivative(self, a0):
2138  r"""get_derivative(Switching self, FloatKey a0) -> double"""
2139  return _IMP_isd.Switching_get_derivative(self, a0)
2140 
2141  def get_name(self):
2142  r"""get_name(Switching self) -> std::string"""
2143  return _IMP_isd.Switching_get_name(self)
2144 
2145  def clear_caches(self):
2146  r"""clear_caches(Switching self)"""
2147  return _IMP_isd.Switching_clear_caches(self)
2148 
2149  def set_name(self, a0):
2150  r"""set_name(Switching self, std::string a0)"""
2151  return _IMP_isd.Switching_set_name(self, a0)
2152 
2153  def set_check_level(self, a0):
2154  r"""set_check_level(Switching self, IMP::CheckLevel a0)"""
2155  return _IMP_isd.Switching_set_check_level(self, a0)
2156 
2157  def add_to_derivative(self, a0, a1, a2):
2158  r"""add_to_derivative(Switching self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2159  return _IMP_isd.Switching_add_to_derivative(self, a0, a1, a2)
2160 
2161  def set_is_optimized(self, a0, a1):
2162  r"""set_is_optimized(Switching self, FloatKey a0, bool a1)"""
2163  return _IMP_isd.Switching_set_is_optimized(self, a0, a1)
2164 
2165  def get_is_optimized(self, a0):
2166  r"""get_is_optimized(Switching self, FloatKey a0) -> bool"""
2167  return _IMP_isd.Switching_get_is_optimized(self, a0)
2168 
2169  def get_check_level(self):
2170  r"""get_check_level(Switching self) -> IMP::CheckLevel"""
2171  return _IMP_isd.Switching_get_check_level(self)
2172 
2173  def __eq__(self, *args):
2174  r"""
2175  __eq__(Switching self, Switching o) -> bool
2176  __eq__(Switching self, Particle d) -> bool
2177  """
2178  return _IMP_isd.Switching___eq__(self, *args)
2179 
2180  def __ne__(self, *args):
2181  r"""
2182  __ne__(Switching self, Switching o) -> bool
2183  __ne__(Switching self, Particle d) -> bool
2184  """
2185  return _IMP_isd.Switching___ne__(self, *args)
2186 
2187  def __le__(self, *args):
2188  r"""
2189  __le__(Switching self, Switching o) -> bool
2190  __le__(Switching self, Particle d) -> bool
2191  """
2192  return _IMP_isd.Switching___le__(self, *args)
2193 
2194  def __lt__(self, *args):
2195  r"""
2196  __lt__(Switching self, Switching o) -> bool
2197  __lt__(Switching self, Particle d) -> bool
2198  """
2199  return _IMP_isd.Switching___lt__(self, *args)
2200 
2201  def __ge__(self, *args):
2202  r"""
2203  __ge__(Switching self, Switching o) -> bool
2204  __ge__(Switching self, Particle d) -> bool
2205  """
2206  return _IMP_isd.Switching___ge__(self, *args)
2207 
2208  def __gt__(self, *args):
2209  r"""
2210  __gt__(Switching self, Switching o) -> bool
2211  __gt__(Switching self, Particle d) -> bool
2212  """
2213  return _IMP_isd.Switching___gt__(self, *args)
2214 
2215  def __hash__(self):
2216  r"""__hash__(Switching self) -> std::size_t"""
2217  return _IMP_isd.Switching___hash__(self)
2218 
2219  def __str__(self):
2220  r"""__str__(Switching self) -> std::string"""
2221  return _IMP_isd.Switching___str__(self)
2222 
2223  def __repr__(self):
2224  r"""__repr__(Switching self) -> std::string"""
2225  return _IMP_isd.Switching___repr__(self)
2226 
2227  def _get_as_binary(self):
2228  r"""_get_as_binary(Switching self) -> PyObject *"""
2229  return _IMP_isd.Switching__get_as_binary(self)
2230 
2231  def _set_from_binary(self, p):
2232  r"""_set_from_binary(Switching self, PyObject * p)"""
2233  return _IMP_isd.Switching__set_from_binary(self, p)
2234 
2235  def __getstate__(self):
2236  p = self._get_as_binary()
2237  if len(self.__dict__) > 1:
2238  d = self.__dict__.copy()
2239  del d['this']
2240  p = (d, p)
2241  return p
2242 
2243  def __setstate__(self, p):
2244  if not hasattr(self, 'this'):
2245  self.__init__()
2246  if isinstance(p, tuple):
2247  d, p = p
2248  self.__dict__.update(d)
2249  return self._set_from_binary(p)
2250 
2251  __swig_destroy__ = _IMP_isd.delete_Switching
2252 
2253 # Register Switching in _IMP_isd:
2254 _IMP_isd.Switching_swigregister(Switching)
2255 class Weight(IMP.Decorator):
2256  r"""Proxy of C++ IMP::isd::Weight class."""
2257 
2258  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2259 
2260  def __init__(self, *args):
2261  r"""
2262  __init__(Weight self) -> Weight
2263  __init__(Weight self, Model m, ParticleIndex id) -> Weight
2264  __init__(Weight self, _ParticleAdaptor d) -> Weight
2265  """
2266  _IMP_isd.Weight_swiginit(self, _IMP_isd.new_Weight(*args))
2267 
2268  def show(self, *args):
2269  r"""show(Weight self, _ostream out=std::cout)"""
2270  return _IMP_isd.Weight_show(self, *args)
2271 
2272  @staticmethod
2273  def setup_particle(*args):
2274  r"""
2275  setup_particle(Model m, ParticleIndex pi) -> Weight
2276  setup_particle(_ParticleAdaptor pa) -> Weight
2277  setup_particle(Model m, ParticleIndex pi, IMP::Int nweights) -> Weight
2278  setup_particle(_ParticleAdaptor pa, IMP::Int nweights) -> Weight
2279  setup_particle(Model m, ParticleIndex pi, VectorKD w) -> Weight
2280  setup_particle(_ParticleAdaptor pa, VectorKD w) -> Weight
2281  """
2282  return _IMP_isd.Weight_setup_particle(*args)
2283 
2284  @staticmethod
2285  def get_number_of_weights_key():
2286  r"""get_number_of_weights_key() -> IntKey"""
2287  return _IMP_isd.Weight_get_number_of_weights_key()
2288 
2289  @staticmethod
2290  def get_weight_key(i):
2291  r"""get_weight_key(int i) -> FloatKey"""
2292  return _IMP_isd.Weight_get_weight_key(i)
2293 
2294  def get_weight_keys(self):
2295  r"""get_weight_keys(Weight self) -> IMP::FloatKeys"""
2296  return _IMP_isd.Weight_get_weight_keys(self)
2297 
2298  def get_weight(self, i):
2299  r"""get_weight(Weight self, int i) -> IMP::Float"""
2300  return _IMP_isd.Weight_get_weight(self, i)
2301 
2302  def get_weights(self):
2303  r"""get_weights(Weight self) -> VectorKD"""
2304  return _IMP_isd.Weight_get_weights(self)
2305 
2306  def set_weight_lazy(self, i, wi):
2307  r"""set_weight_lazy(Weight self, int i, IMP::Float wi)"""
2308  return _IMP_isd.Weight_set_weight_lazy(self, i, wi)
2309 
2310  def set_weights_lazy(self, w):
2311  r"""set_weights_lazy(Weight self, VectorKD w)"""
2312  return _IMP_isd.Weight_set_weights_lazy(self, w)
2313 
2314  def set_weights(self, w):
2315  r"""set_weights(Weight self, VectorKD w)"""
2316  return _IMP_isd.Weight_set_weights(self, w)
2317 
2318  def get_weights_are_optimized(self):
2319  r"""get_weights_are_optimized(Weight self) -> bool"""
2320  return _IMP_isd.Weight_get_weights_are_optimized(self)
2321 
2322  def set_weights_are_optimized(self, tf):
2323  r"""set_weights_are_optimized(Weight self, bool tf)"""
2324  return _IMP_isd.Weight_set_weights_are_optimized(self, tf)
2325 
2326  def get_weight_derivative(self, i):
2327  r"""get_weight_derivative(Weight self, int i) -> IMP::Float"""
2328  return _IMP_isd.Weight_get_weight_derivative(self, i)
2329 
2330  def get_weights_derivatives(self):
2331  r"""get_weights_derivatives(Weight self) -> VectorKD"""
2332  return _IMP_isd.Weight_get_weights_derivatives(self)
2333 
2334  def add_to_weight_derivative(self, i, dwi, da):
2335  r"""add_to_weight_derivative(Weight self, int i, IMP::Float dwi, DerivativeAccumulator da)"""
2336  return _IMP_isd.Weight_add_to_weight_derivative(self, i, dwi, da)
2337 
2338  def add_to_weights_derivatives(self, dw, da):
2339  r"""add_to_weights_derivatives(Weight self, VectorKD dw, DerivativeAccumulator da)"""
2340  return _IMP_isd.Weight_add_to_weights_derivatives(self, dw, da)
2341 
2342  def add_weight_lazy(self, wi=0):
2343  r"""add_weight_lazy(Weight self, IMP::Float wi=0)"""
2344  return _IMP_isd.Weight_add_weight_lazy(self, wi)
2345 
2346  def add_weight(self, wi=0):
2347  r"""add_weight(Weight self, IMP::Float wi=0)"""
2348  return _IMP_isd.Weight_add_weight(self, wi)
2349 
2350  def get_number_of_weights(self):
2351  r"""get_number_of_weights(Weight self) -> IMP::Int"""
2352  return _IMP_isd.Weight_get_number_of_weights(self)
2353 
2354  def get_unit_simplex(self):
2355  r"""get_unit_simplex(Weight self) -> UnitSimplexKD"""
2356  return _IMP_isd.Weight_get_unit_simplex(self)
2357 
2358  def set_number_of_weights_lazy(self, nweights):
2359  r"""set_number_of_weights_lazy(Weight self, IMP::Int nweights)"""
2360  return _IMP_isd.Weight_set_number_of_weights_lazy(self, nweights)
2361 
2362  def set_number_of_weights(self, nweights):
2363  r"""set_number_of_weights(Weight self, IMP::Int nweights)"""
2364  return _IMP_isd.Weight_set_number_of_weights(self, nweights)
2365 
2366  @staticmethod
2367  def get_is_setup(*args):
2368  r"""
2369  get_is_setup(_ParticleAdaptor p) -> bool
2370  get_is_setup(Model m, ParticleIndex pi) -> bool
2371  """
2372  return _IMP_isd.Weight_get_is_setup(*args)
2373 
2374  def add_attribute(self, *args):
2375  r"""
2376  add_attribute(Weight self, FloatKey k, IMP::Float v, bool opt)
2377  add_attribute(Weight self, FloatKey a0, IMP::Float a1)
2378  add_attribute(Weight self, IntKey a0, IMP::Int a1)
2379  add_attribute(Weight self, FloatsKey a0, IMP::Floats a1)
2380  add_attribute(Weight self, IntsKey a0, IMP::Ints a1)
2381  add_attribute(Weight self, StringKey a0, IMP::String a1)
2382  add_attribute(Weight self, ParticleIndexKey a0, Particle a1)
2383  add_attribute(Weight self, ObjectKey a0, Object a1)
2384  add_attribute(Weight self, SparseFloatKey a0, IMP::Float a1)
2385  add_attribute(Weight self, SparseIntKey a0, IMP::Int a1)
2386  add_attribute(Weight self, SparseStringKey a0, IMP::String a1)
2387  add_attribute(Weight self, SparseParticleIndexKey a0, ParticleIndex a1)
2388  """
2389  return _IMP_isd.Weight_add_attribute(self, *args)
2390 
2391  def get_value(self, *args):
2392  r"""
2393  get_value(Weight self, FloatKey a0) -> IMP::Float
2394  get_value(Weight self, IntKey a0) -> IMP::Int
2395  get_value(Weight self, FloatsKey a0) -> IMP::Floats
2396  get_value(Weight self, IntsKey a0) -> IMP::Ints
2397  get_value(Weight self, StringKey a0) -> IMP::String
2398  get_value(Weight self, ParticleIndexKey a0) -> Particle
2399  get_value(Weight self, ObjectKey a0) -> Object
2400  get_value(Weight self, SparseFloatKey a0) -> IMP::Float
2401  get_value(Weight self, SparseIntKey a0) -> IMP::Int
2402  get_value(Weight self, SparseStringKey a0) -> IMP::String
2403  get_value(Weight self, SparseParticleIndexKey a0) -> ParticleIndex
2404  """
2405  return _IMP_isd.Weight_get_value(self, *args)
2406 
2407  def set_value(self, *args):
2408  r"""
2409  set_value(Weight self, FloatKey a0, IMP::Float a1)
2410  set_value(Weight self, IntKey a0, IMP::Int a1)
2411  set_value(Weight self, FloatsKey a0, IMP::Floats a1)
2412  set_value(Weight self, IntsKey a0, IMP::Ints a1)
2413  set_value(Weight self, StringKey a0, IMP::String a1)
2414  set_value(Weight self, ParticleIndexKey a0, Particle a1)
2415  set_value(Weight self, ObjectKey a0, Object a1)
2416  set_value(Weight self, SparseFloatKey a0, IMP::Float a1)
2417  set_value(Weight self, SparseIntKey a0, IMP::Int a1)
2418  set_value(Weight self, SparseStringKey a0, IMP::String a1)
2419  set_value(Weight self, SparseParticleIndexKey a0, ParticleIndex a1)
2420  """
2421  return _IMP_isd.Weight_set_value(self, *args)
2422 
2423  def remove_attribute(self, *args):
2424  r"""
2425  remove_attribute(Weight self, FloatKey a0)
2426  remove_attribute(Weight self, IntKey a0)
2427  remove_attribute(Weight self, FloatsKey a0)
2428  remove_attribute(Weight self, IntsKey a0)
2429  remove_attribute(Weight self, StringKey a0)
2430  remove_attribute(Weight self, ParticleIndexKey a0)
2431  remove_attribute(Weight self, ObjectKey a0)
2432  remove_attribute(Weight self, SparseFloatKey a0)
2433  remove_attribute(Weight self, SparseIntKey a0)
2434  remove_attribute(Weight self, SparseStringKey a0)
2435  remove_attribute(Weight self, SparseParticleIndexKey a0)
2436  """
2437  return _IMP_isd.Weight_remove_attribute(self, *args)
2438 
2439  def has_attribute(self, *args):
2440  r"""
2441  has_attribute(Weight self, FloatKey a0) -> bool
2442  has_attribute(Weight self, IntKey a0) -> bool
2443  has_attribute(Weight self, FloatsKey a0) -> bool
2444  has_attribute(Weight self, IntsKey a0) -> bool
2445  has_attribute(Weight self, StringKey a0) -> bool
2446  has_attribute(Weight self, ParticleIndexKey a0) -> bool
2447  has_attribute(Weight self, ObjectKey a0) -> bool
2448  has_attribute(Weight self, SparseFloatKey a0) -> bool
2449  has_attribute(Weight self, SparseIntKey a0) -> bool
2450  has_attribute(Weight self, SparseStringKey a0) -> bool
2451  has_attribute(Weight self, SparseParticleIndexKey a0) -> bool
2452  """
2453  return _IMP_isd.Weight_has_attribute(self, *args)
2454 
2455  def get_derivative(self, a0):
2456  r"""get_derivative(Weight self, FloatKey a0) -> double"""
2457  return _IMP_isd.Weight_get_derivative(self, a0)
2458 
2459  def get_name(self):
2460  r"""get_name(Weight self) -> std::string"""
2461  return _IMP_isd.Weight_get_name(self)
2462 
2463  def clear_caches(self):
2464  r"""clear_caches(Weight self)"""
2465  return _IMP_isd.Weight_clear_caches(self)
2466 
2467  def set_name(self, a0):
2468  r"""set_name(Weight self, std::string a0)"""
2469  return _IMP_isd.Weight_set_name(self, a0)
2470 
2471  def set_check_level(self, a0):
2472  r"""set_check_level(Weight self, IMP::CheckLevel a0)"""
2473  return _IMP_isd.Weight_set_check_level(self, a0)
2474 
2475  def add_to_derivative(self, a0, a1, a2):
2476  r"""add_to_derivative(Weight self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2477  return _IMP_isd.Weight_add_to_derivative(self, a0, a1, a2)
2478 
2479  def set_is_optimized(self, a0, a1):
2480  r"""set_is_optimized(Weight self, FloatKey a0, bool a1)"""
2481  return _IMP_isd.Weight_set_is_optimized(self, a0, a1)
2482 
2483  def get_is_optimized(self, a0):
2484  r"""get_is_optimized(Weight self, FloatKey a0) -> bool"""
2485  return _IMP_isd.Weight_get_is_optimized(self, a0)
2486 
2487  def get_check_level(self):
2488  r"""get_check_level(Weight self) -> IMP::CheckLevel"""
2489  return _IMP_isd.Weight_get_check_level(self)
2490 
2491  def __eq__(self, *args):
2492  r"""
2493  __eq__(Weight self, Weight o) -> bool
2494  __eq__(Weight self, Particle d) -> bool
2495  """
2496  return _IMP_isd.Weight___eq__(self, *args)
2497 
2498  def __ne__(self, *args):
2499  r"""
2500  __ne__(Weight self, Weight o) -> bool
2501  __ne__(Weight self, Particle d) -> bool
2502  """
2503  return _IMP_isd.Weight___ne__(self, *args)
2504 
2505  def __le__(self, *args):
2506  r"""
2507  __le__(Weight self, Weight o) -> bool
2508  __le__(Weight self, Particle d) -> bool
2509  """
2510  return _IMP_isd.Weight___le__(self, *args)
2511 
2512  def __lt__(self, *args):
2513  r"""
2514  __lt__(Weight self, Weight o) -> bool
2515  __lt__(Weight self, Particle d) -> bool
2516  """
2517  return _IMP_isd.Weight___lt__(self, *args)
2518 
2519  def __ge__(self, *args):
2520  r"""
2521  __ge__(Weight self, Weight o) -> bool
2522  __ge__(Weight self, Particle d) -> bool
2523  """
2524  return _IMP_isd.Weight___ge__(self, *args)
2525 
2526  def __gt__(self, *args):
2527  r"""
2528  __gt__(Weight self, Weight o) -> bool
2529  __gt__(Weight self, Particle d) -> bool
2530  """
2531  return _IMP_isd.Weight___gt__(self, *args)
2532 
2533  def __hash__(self):
2534  r"""__hash__(Weight self) -> std::size_t"""
2535  return _IMP_isd.Weight___hash__(self)
2536 
2537  def __str__(self):
2538  r"""__str__(Weight self) -> std::string"""
2539  return _IMP_isd.Weight___str__(self)
2540 
2541  def __repr__(self):
2542  r"""__repr__(Weight self) -> std::string"""
2543  return _IMP_isd.Weight___repr__(self)
2544 
2545  def _get_as_binary(self):
2546  r"""_get_as_binary(Weight self) -> PyObject *"""
2547  return _IMP_isd.Weight__get_as_binary(self)
2548 
2549  def _set_from_binary(self, p):
2550  r"""_set_from_binary(Weight self, PyObject * p)"""
2551  return _IMP_isd.Weight__set_from_binary(self, p)
2552 
2553  def __getstate__(self):
2554  p = self._get_as_binary()
2555  if len(self.__dict__) > 1:
2556  d = self.__dict__.copy()
2557  del d['this']
2558  p = (d, p)
2559  return p
2560 
2561  def __setstate__(self, p):
2562  if not hasattr(self, 'this'):
2563  self.__init__()
2564  if isinstance(p, tuple):
2565  d, p = p
2566  self.__dict__.update(d)
2567  return self._set_from_binary(p)
2568 
2569  __swig_destroy__ = _IMP_isd.delete_Weight
2570 
2571 # Register Weight in _IMP_isd:
2572 _IMP_isd.Weight_swigregister(Weight)
2573 cvar = _IMP_isd.cvar
2574 IMPISD_MAX_WEIGHTS = cvar.IMPISD_MAX_WEIGHTS
2575 
2576 
2577 def __lshift__(*args):
2578  r"""
2579  __lshift__(_ostream out, Nuisance n) -> _ostream
2580  __lshift__(_ostream out, Scale n) -> _ostream
2581  __lshift__(_ostream out, Switching n) -> _ostream
2582  __lshift__(_ostream out, Weight n) -> _ostream
2583  """
2584  return _IMP_isd.__lshift__(*args)
2585 class JeffreysRestraint(IMP.Restraint):
2586  r"""Proxy of C++ IMP::isd::JeffreysRestraint class."""
2587 
2588  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2589 
2590  def __init__(self, *args):
2591  r"""
2592  __init__(JeffreysRestraint self, Model m, Particle p) -> JeffreysRestraint
2593  __init__(JeffreysRestraint self) -> JeffreysRestraint
2594  """
2595  _IMP_isd.JeffreysRestraint_swiginit(self, _IMP_isd.new_JeffreysRestraint(*args))
2596 
2597  def do_get_inputs(self):
2598  r"""do_get_inputs(JeffreysRestraint self) -> IMP::ModelObjectsTemp"""
2599  return _IMP_isd.JeffreysRestraint_do_get_inputs(self)
2600 
2601  def get_version_info(self):
2602  r"""get_version_info(JeffreysRestraint self) -> VersionInfo"""
2603  return _IMP_isd.JeffreysRestraint_get_version_info(self)
2604  __swig_destroy__ = _IMP_isd.delete_JeffreysRestraint
2605 
2606  def get_probability(self):
2607  r"""get_probability(JeffreysRestraint self) -> double"""
2608  return _IMP_isd.JeffreysRestraint_get_probability(self)
2609 
2610  def __str__(self):
2611  r"""__str__(JeffreysRestraint self) -> std::string"""
2612  return _IMP_isd.JeffreysRestraint___str__(self)
2613 
2614  def __repr__(self):
2615  r"""__repr__(JeffreysRestraint self) -> std::string"""
2616  return _IMP_isd.JeffreysRestraint___repr__(self)
2617 
2618  @staticmethod
2619  def get_from(o):
2620  return _object_cast_to_JeffreysRestraint(o)
2621 
2622 
2623  def _get_as_binary(self):
2624  r"""_get_as_binary(JeffreysRestraint self) -> PyObject *"""
2625  return _IMP_isd.JeffreysRestraint__get_as_binary(self)
2626 
2627  def _set_from_binary(self, p):
2628  r"""_set_from_binary(JeffreysRestraint self, PyObject * p)"""
2629  return _IMP_isd.JeffreysRestraint__set_from_binary(self, p)
2630 
2631  def __getstate__(self):
2632  p = self._get_as_binary()
2633  if len(self.__dict__) > 1:
2634  d = self.__dict__.copy()
2635  del d['this']
2636  p = (d, p)
2637  return p
2638 
2639  def __setstate__(self, p):
2640  if not hasattr(self, 'this'):
2641  self.__init__()
2642  if isinstance(p, tuple):
2643  d, p = p
2644  self.__dict__.update(d)
2645  return self._set_from_binary(p)
2646 
2647 
2648 # Register JeffreysRestraint in _IMP_isd:
2649 _IMP_isd.JeffreysRestraint_swigregister(JeffreysRestraint)
2650 class NormalSigmaPCRestraint(IMP.Restraint):
2651  r"""Proxy of C++ IMP::isd::NormalSigmaPCRestraint class."""
2652 
2653  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2654 
2655  def __init__(self, *args):
2656  r"""
2657  __init__(NormalSigmaPCRestraint self, Model m, ParticleIndex spi, double su, double alpha, std::string name="NormalSigmaPCRestraint%1%") -> NormalSigmaPCRestraint
2658  __init__(NormalSigmaPCRestraint self, Scale s, double su, double alpha, std::string name="NormalSigmaPCRestraint%1%") -> NormalSigmaPCRestraint
2659  """
2660  _IMP_isd.NormalSigmaPCRestraint_swiginit(self, _IMP_isd.new_NormalSigmaPCRestraint(*args))
2661 
2662  def get_sigma(self):
2663  r"""get_sigma(NormalSigmaPCRestraint self) -> Scale"""
2664  return _IMP_isd.NormalSigmaPCRestraint_get_sigma(self)
2665 
2666  def get_alpha(self):
2667  r"""get_alpha(NormalSigmaPCRestraint self) -> double"""
2668  return _IMP_isd.NormalSigmaPCRestraint_get_alpha(self)
2669 
2670  def get_sigma_upper(self):
2671  r"""get_sigma_upper(NormalSigmaPCRestraint self) -> double"""
2672  return _IMP_isd.NormalSigmaPCRestraint_get_sigma_upper(self)
2673 
2674  def get_probability(self):
2675  r"""get_probability(NormalSigmaPCRestraint self) -> double"""
2676  return _IMP_isd.NormalSigmaPCRestraint_get_probability(self)
2677 
2678  def do_get_inputs(self):
2679  r"""do_get_inputs(NormalSigmaPCRestraint self) -> IMP::ModelObjectsTemp"""
2680  return _IMP_isd.NormalSigmaPCRestraint_do_get_inputs(self)
2681 
2682  def get_version_info(self):
2683  r"""get_version_info(NormalSigmaPCRestraint self) -> VersionInfo"""
2684  return _IMP_isd.NormalSigmaPCRestraint_get_version_info(self)
2685  __swig_destroy__ = _IMP_isd.delete_NormalSigmaPCRestraint
2686 
2687  def __str__(self):
2688  r"""__str__(NormalSigmaPCRestraint self) -> std::string"""
2689  return _IMP_isd.NormalSigmaPCRestraint___str__(self)
2690 
2691  def __repr__(self):
2692  r"""__repr__(NormalSigmaPCRestraint self) -> std::string"""
2693  return _IMP_isd.NormalSigmaPCRestraint___repr__(self)
2694 
2695  @staticmethod
2696  def get_from(o):
2697  return _object_cast_to_NormalSigmaPCRestraint(o)
2698 
2699 
2700 # Register NormalSigmaPCRestraint in _IMP_isd:
2701 _IMP_isd.NormalSigmaPCRestraint_swigregister(NormalSigmaPCRestraint)
2702 class Distribution(IMP.Object):
2703  r"""Proxy of C++ IMP::isd::Distribution class."""
2704 
2705  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2706 
2707  def __init__(self, *args):
2708  r"""__init__(Distribution self, std::string name="Distribution %1%") -> Distribution"""
2709  if self.__class__ == Distribution:
2710  _self = None
2711  else:
2712  _self = self
2713  _IMP_isd.Distribution_swiginit(self, _IMP_isd.new_Distribution(_self, *args))
2714 
2715  if self.__class__ != Distribution:
2716  _director_objects.register(self)
2717 
2718 
2719 
2720 
2721  def get_type_name(self):
2722  r"""get_type_name(Distribution self) -> std::string"""
2723  return _IMP_isd.Distribution_get_type_name(self)
2724 
2725  def get_version_info(self):
2726  r"""get_version_info(Distribution self) -> VersionInfo"""
2727  return _IMP_isd.Distribution_get_version_info(self)
2728  __swig_destroy__ = _IMP_isd.delete_Distribution
2729 
2730  def __str__(self):
2731  r"""__str__(Distribution self) -> std::string"""
2732  return _IMP_isd.Distribution___str__(self)
2733 
2734  def __repr__(self):
2735  r"""__repr__(Distribution self) -> std::string"""
2736  return _IMP_isd.Distribution___repr__(self)
2737 
2738  @staticmethod
2739  def get_from(o):
2740  return _object_cast_to_Distribution(o)
2741 
2742 
2743  def do_show(self, out):
2744  pass
2745 
2746  @staticmethod
2747  def get_from(o):
2748  return _object_cast_to_Distribution(o)
2749 
2750  def __disown__(self):
2751  self.this.disown()
2752  _IMP_isd.disown_Distribution(self)
2753  return weakref.proxy(self)
2754 
2755  def do_destroy(self):
2756  r"""do_destroy(Distribution self)"""
2757  return _IMP_isd.Distribution_do_destroy(self)
2758 
2759 # Register Distribution in _IMP_isd:
2760 _IMP_isd.Distribution_swigregister(Distribution)
2761 class OneDimensionalDistribution(Distribution):
2762  r"""Proxy of C++ IMP::isd::OneDimensionalDistribution class."""
2763 
2764  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2765 
2766  def do_evaluate(self, *args):
2767  r"""
2768  do_evaluate(OneDimensionalDistribution self, double v) -> double
2769  do_evaluate(OneDimensionalDistribution self, IMP::Floats const & vs) -> IMP::Floats
2770  """
2771  return _IMP_isd.OneDimensionalDistribution_do_evaluate(self, *args)
2772 
2773  def do_get_density(self, *args):
2774  r"""
2775  do_get_density(OneDimensionalDistribution self, double v) -> double
2776  do_get_density(OneDimensionalDistribution self, IMP::Floats const & vs) -> IMP::Floats
2777  """
2778  return _IMP_isd.OneDimensionalDistribution_do_get_density(self, *args)
2779 
2780  def __init__(self, *args):
2781  r"""__init__(OneDimensionalDistribution self, std::string name="OneDimensionalDistribution %1%") -> OneDimensionalDistribution"""
2782  if self.__class__ == OneDimensionalDistribution:
2783  _self = None
2784  else:
2785  _self = self
2786  _IMP_isd.OneDimensionalDistribution_swiginit(self, _IMP_isd.new_OneDimensionalDistribution(_self, *args))
2787 
2788  if self.__class__ != OneDimensionalDistribution:
2789  _director_objects.register(self)
2790 
2791 
2792 
2793 
2794  def evaluate(self, *args):
2795  r"""
2796  evaluate(OneDimensionalDistribution self, double v) -> double
2797  evaluate(OneDimensionalDistribution self, IMP::Floats const & vs) -> IMP::Floats
2798  """
2799  return _IMP_isd.OneDimensionalDistribution_evaluate(self, *args)
2800 
2801  def get_density(self, *args):
2802  r"""
2803  get_density(OneDimensionalDistribution self, double v) -> double
2804  get_density(OneDimensionalDistribution self, IMP::Floats const & vs) -> IMP::Floats
2805  """
2806  return _IMP_isd.OneDimensionalDistribution_get_density(self, *args)
2807 
2808  def get_type_name(self):
2809  r"""get_type_name(OneDimensionalDistribution self) -> std::string"""
2810  return _IMP_isd.OneDimensionalDistribution_get_type_name(self)
2811 
2812  def get_version_info(self):
2813  r"""get_version_info(OneDimensionalDistribution self) -> VersionInfo"""
2814  return _IMP_isd.OneDimensionalDistribution_get_version_info(self)
2815  __swig_destroy__ = _IMP_isd.delete_OneDimensionalDistribution
2816 
2817  def __str__(self):
2818  r"""__str__(OneDimensionalDistribution self) -> std::string"""
2819  return _IMP_isd.OneDimensionalDistribution___str__(self)
2820 
2821  def __repr__(self):
2822  r"""__repr__(OneDimensionalDistribution self) -> std::string"""
2823  return _IMP_isd.OneDimensionalDistribution___repr__(self)
2824 
2825  @staticmethod
2826  def get_from(o):
2827  return _object_cast_to_OneDimensionalDistribution(o)
2828 
2829 
2830  def do_show(self, out):
2831  pass
2832 
2833  @staticmethod
2834  def get_from(o):
2835  return _object_cast_to_OneDimensionalDistribution(o)
2836 
2837  def __disown__(self):
2838  self.this.disown()
2839  _IMP_isd.disown_OneDimensionalDistribution(self)
2840  return weakref.proxy(self)
2841 
2842  def do_destroy(self):
2843  r"""do_destroy(OneDimensionalDistribution self)"""
2844  return _IMP_isd.OneDimensionalDistribution_do_destroy(self)
2845 
2846 # Register OneDimensionalDistribution in _IMP_isd:
2847 _IMP_isd.OneDimensionalDistribution_swigregister(OneDimensionalDistribution)
2848 class OneDimensionalSufficientDistribution(Distribution):
2849  r"""Proxy of C++ IMP::isd::OneDimensionalSufficientDistribution class."""
2850 
2851  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2852 
2853  def do_update_sufficient_statistics(self, vs):
2854  r"""do_update_sufficient_statistics(OneDimensionalSufficientDistribution self, IMP::Floats vs)"""
2855  return _IMP_isd.OneDimensionalSufficientDistribution_do_update_sufficient_statistics(self, vs)
2856 
2857  def do_get_sufficient_statistics(self):
2858  r"""do_get_sufficient_statistics(OneDimensionalSufficientDistribution self) -> IMP::Floats"""
2859  return _IMP_isd.OneDimensionalSufficientDistribution_do_get_sufficient_statistics(self)
2860 
2861  def do_evaluate(self):
2862  r"""do_evaluate(OneDimensionalSufficientDistribution self) -> double"""
2863  return _IMP_isd.OneDimensionalSufficientDistribution_do_evaluate(self)
2864 
2865  def do_get_density(self):
2866  r"""do_get_density(OneDimensionalSufficientDistribution self) -> double"""
2867  return _IMP_isd.OneDimensionalSufficientDistribution_do_get_density(self)
2868 
2869  def __init__(self, *args):
2870  r"""__init__(OneDimensionalSufficientDistribution self, std::string name="OneDimensionalSufficientDistribution %1%") -> OneDimensionalSufficientDistribution"""
2871  if self.__class__ == OneDimensionalSufficientDistribution:
2872  _self = None
2873  else:
2874  _self = self
2875  _IMP_isd.OneDimensionalSufficientDistribution_swiginit(self, _IMP_isd.new_OneDimensionalSufficientDistribution(_self, *args))
2876 
2877  if self.__class__ != OneDimensionalSufficientDistribution:
2878  _director_objects.register(self)
2879 
2880 
2881 
2882 
2883  def update_sufficient_statistics(self, vs):
2884  r"""update_sufficient_statistics(OneDimensionalSufficientDistribution self, IMP::Floats vs)"""
2885  return _IMP_isd.OneDimensionalSufficientDistribution_update_sufficient_statistics(self, vs)
2886 
2887  def get_sufficient_statistics(self):
2888  r"""get_sufficient_statistics(OneDimensionalSufficientDistribution self) -> IMP::Floats"""
2889  return _IMP_isd.OneDimensionalSufficientDistribution_get_sufficient_statistics(self)
2890 
2891  def evaluate(self):
2892  r"""evaluate(OneDimensionalSufficientDistribution self) -> double"""
2893  return _IMP_isd.OneDimensionalSufficientDistribution_evaluate(self)
2894 
2895  def get_density(self):
2896  r"""get_density(OneDimensionalSufficientDistribution self) -> double"""
2897  return _IMP_isd.OneDimensionalSufficientDistribution_get_density(self)
2898 
2899  def get_type_name(self):
2900  r"""get_type_name(OneDimensionalSufficientDistribution self) -> std::string"""
2901  return _IMP_isd.OneDimensionalSufficientDistribution_get_type_name(self)
2902 
2903  def get_version_info(self):
2904  r"""get_version_info(OneDimensionalSufficientDistribution self) -> VersionInfo"""
2905  return _IMP_isd.OneDimensionalSufficientDistribution_get_version_info(self)
2906  __swig_destroy__ = _IMP_isd.delete_OneDimensionalSufficientDistribution
2907 
2908  def __str__(self):
2909  r"""__str__(OneDimensionalSufficientDistribution self) -> std::string"""
2910  return _IMP_isd.OneDimensionalSufficientDistribution___str__(self)
2911 
2912  def __repr__(self):
2913  r"""__repr__(OneDimensionalSufficientDistribution self) -> std::string"""
2914  return _IMP_isd.OneDimensionalSufficientDistribution___repr__(self)
2915 
2916  @staticmethod
2917  def get_from(o):
2918  return _object_cast_to_OneDimensionalSufficientDistribution(o)
2919 
2920 
2921  def do_show(self, out):
2922  pass
2923 
2924  @staticmethod
2925  def get_from(o):
2926  return _object_cast_to_OneDimensionalSufficientDistribution(o)
2927 
2928  def __disown__(self):
2929  self.this.disown()
2930  _IMP_isd.disown_OneDimensionalSufficientDistribution(self)
2931  return weakref.proxy(self)
2932 
2933  def do_destroy(self):
2934  r"""do_destroy(OneDimensionalSufficientDistribution self)"""
2935  return _IMP_isd.OneDimensionalSufficientDistribution_do_destroy(self)
2936 
2937 # Register OneDimensionalSufficientDistribution in _IMP_isd:
2938 _IMP_isd.OneDimensionalSufficientDistribution_swigregister(OneDimensionalSufficientDistribution)
2939 class FNormal(OneDimensionalSufficientDistribution):
2940  r"""Proxy of C++ IMP::isd::FNormal class."""
2941 
2942  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2943 
2944  def __init__(self, FA, JA, FM, sigma):
2945  r"""__init__(FNormal self, double FA, double JA, double FM, double sigma) -> FNormal"""
2946  _IMP_isd.FNormal_swiginit(self, _IMP_isd.new_FNormal(FA, JA, FM, sigma))
2947 
2948  def update_sufficient_statistics(self, FA):
2949  r"""update_sufficient_statistics(FNormal self, double FA)"""
2950  return _IMP_isd.FNormal_update_sufficient_statistics(self, FA)
2951 
2952  def do_update_sufficient_statistics(self, data):
2953  r"""do_update_sufficient_statistics(FNormal self, IMP::Floats data)"""
2954  return _IMP_isd.FNormal_do_update_sufficient_statistics(self, data)
2955 
2956  def do_get_sufficient_statistics(self):
2957  r"""do_get_sufficient_statistics(FNormal self) -> IMP::Floats"""
2958  return _IMP_isd.FNormal_do_get_sufficient_statistics(self)
2959 
2960  def do_evaluate(self):
2961  r"""do_evaluate(FNormal self) -> double"""
2962  return _IMP_isd.FNormal_do_evaluate(self)
2963 
2964  def evaluate_derivative_FA(self):
2965  r"""evaluate_derivative_FA(FNormal self) -> double"""
2966  return _IMP_isd.FNormal_evaluate_derivative_FA(self)
2967 
2968  def evaluate_derivative_JA(self):
2969  r"""evaluate_derivative_JA(FNormal self) -> double"""
2970  return _IMP_isd.FNormal_evaluate_derivative_JA(self)
2971 
2972  def evaluate_derivative_FM(self):
2973  r"""evaluate_derivative_FM(FNormal self) -> double"""
2974  return _IMP_isd.FNormal_evaluate_derivative_FM(self)
2975 
2976  def evaluate_derivative_sigma(self):
2977  r"""evaluate_derivative_sigma(FNormal self) -> double"""
2978  return _IMP_isd.FNormal_evaluate_derivative_sigma(self)
2979 
2980  def do_get_density(self):
2981  r"""do_get_density(FNormal self) -> double"""
2982  return _IMP_isd.FNormal_do_get_density(self)
2983 
2984  def set_FA(self, f):
2985  r"""set_FA(FNormal self, double f)"""
2986  return _IMP_isd.FNormal_set_FA(self, f)
2987 
2988  def set_JA(self, f):
2989  r"""set_JA(FNormal self, double f)"""
2990  return _IMP_isd.FNormal_set_JA(self, f)
2991 
2992  def set_FM(self, f):
2993  r"""set_FM(FNormal self, double f)"""
2994  return _IMP_isd.FNormal_set_FM(self, f)
2995 
2996  def set_sigma(self, f):
2997  r"""set_sigma(FNormal self, double f)"""
2998  return _IMP_isd.FNormal_set_sigma(self, f)
2999  __swig_destroy__ = _IMP_isd.delete_FNormal
3000 
3001  def __str__(self):
3002  r"""__str__(FNormal self) -> std::string"""
3003  return _IMP_isd.FNormal___str__(self)
3004 
3005  def __repr__(self):
3006  r"""__repr__(FNormal self) -> std::string"""
3007  return _IMP_isd.FNormal___repr__(self)
3008 
3009  @staticmethod
3010  def get_from(o):
3011  return _object_cast_to_FNormal(o)
3012 
3013 
3014 # Register FNormal in _IMP_isd:
3015 _IMP_isd.FNormal_swigregister(FNormal)
3016 class FStudentT(OneDimensionalSufficientDistribution):
3017  r"""Proxy of C++ IMP::isd::FStudentT class."""
3018 
3019  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3020 
3021  def __init__(self, *args):
3022  r"""
3023  __init__(FStudentT self, IMP::Floats FXs, IMP::Floats JXs, double FM, double sigma, double nu, std::string name="FStudentT %1%") -> FStudentT
3024  __init__(FStudentT self, double sumFX, double sumFX2, unsigned int N, double LogJX, double FM, double sigma, double nu, std::string name="FStudentT %1%") -> FStudentT
3025  """
3026  _IMP_isd.FStudentT_swiginit(self, _IMP_isd.new_FStudentT(*args))
3027 
3028  def update_sufficient_statistics(self, FXs, JXs):
3029  r"""update_sufficient_statistics(FStudentT self, IMP::Floats FXs, IMP::Floats JXs)"""
3030  return _IMP_isd.FStudentT_update_sufficient_statistics(self, FXs, JXs)
3031 
3032  def evaluate_derivative_Fx(self, Fx):
3033  r"""evaluate_derivative_Fx(FStudentT self, double Fx) -> double"""
3034  return _IMP_isd.FStudentT_evaluate_derivative_Fx(self, Fx)
3035 
3036  def evaluate_derivative_FX(self, FXs):
3037  r"""evaluate_derivative_FX(FStudentT self, IMP::Floats const FXs) -> IMP::Floats"""
3038  return _IMP_isd.FStudentT_evaluate_derivative_FX(self, FXs)
3039 
3040  def evaluate_derivative_LogJX(self):
3041  r"""evaluate_derivative_LogJX(FStudentT self) -> double"""
3042  return _IMP_isd.FStudentT_evaluate_derivative_LogJX(self)
3043 
3044  def evaluate_derivative_FM(self):
3045  r"""evaluate_derivative_FM(FStudentT self) -> double"""
3046  return _IMP_isd.FStudentT_evaluate_derivative_FM(self)
3047 
3048  def evaluate_derivative_sigma(self):
3049  r"""evaluate_derivative_sigma(FStudentT self) -> double"""
3050  return _IMP_isd.FStudentT_evaluate_derivative_sigma(self)
3051 
3052  def evaluate_derivative_nu(self):
3053  r"""evaluate_derivative_nu(FStudentT self) -> double"""
3054  return _IMP_isd.FStudentT_evaluate_derivative_nu(self)
3055 
3056  def update_cached_values(self):
3057  r"""update_cached_values(FStudentT self)"""
3058  return _IMP_isd.FStudentT_update_cached_values(self)
3059 
3060  def set_sumFX(self, v):
3061  r"""set_sumFX(FStudentT self, double v)"""
3062  return _IMP_isd.FStudentT_set_sumFX(self, v)
3063 
3064  def set_sumFX2(self, v):
3065  r"""set_sumFX2(FStudentT self, double v)"""
3066  return _IMP_isd.FStudentT_set_sumFX2(self, v)
3067 
3068  def set_N(self, v):
3069  r"""set_N(FStudentT self, unsigned int v)"""
3070  return _IMP_isd.FStudentT_set_N(self, v)
3071 
3072  def set_LogJX(self, v):
3073  r"""set_LogJX(FStudentT self, double v)"""
3074  return _IMP_isd.FStudentT_set_LogJX(self, v)
3075 
3076  def set_FM(self, v):
3077  r"""set_FM(FStudentT self, double v)"""
3078  return _IMP_isd.FStudentT_set_FM(self, v)
3079 
3080  def set_sigma(self, v):
3081  r"""set_sigma(FStudentT self, double v)"""
3082  return _IMP_isd.FStudentT_set_sigma(self, v)
3083 
3084  def set_nu(self, v):
3085  r"""set_nu(FStudentT self, double v)"""
3086  return _IMP_isd.FStudentT_set_nu(self, v)
3087 
3088  def get_sumFX(self):
3089  r"""get_sumFX(FStudentT self) -> double"""
3090  return _IMP_isd.FStudentT_get_sumFX(self)
3091 
3092  def get_sumFX2(self):
3093  r"""get_sumFX2(FStudentT self) -> double"""
3094  return _IMP_isd.FStudentT_get_sumFX2(self)
3095 
3096  def get_N(self):
3097  r"""get_N(FStudentT self) -> unsigned int"""
3098  return _IMP_isd.FStudentT_get_N(self)
3099 
3100  def get_LogJX(self):
3101  r"""get_LogJX(FStudentT self) -> double"""
3102  return _IMP_isd.FStudentT_get_LogJX(self)
3103 
3104  def get_FM(self):
3105  r"""get_FM(FStudentT self) -> double"""
3106  return _IMP_isd.FStudentT_get_FM(self)
3107 
3108  def get_sigma(self):
3109  r"""get_sigma(FStudentT self) -> double"""
3110  return _IMP_isd.FStudentT_get_sigma(self)
3111 
3112  def get_nu(self):
3113  r"""get_nu(FStudentT self) -> double"""
3114  return _IMP_isd.FStudentT_get_nu(self)
3115  __swig_destroy__ = _IMP_isd.delete_FStudentT
3116 
3117  def __str__(self):
3118  r"""__str__(FStudentT self) -> std::string"""
3119  return _IMP_isd.FStudentT___str__(self)
3120 
3121  def __repr__(self):
3122  r"""__repr__(FStudentT self) -> std::string"""
3123  return _IMP_isd.FStudentT___repr__(self)
3124 
3125  @staticmethod
3126  def get_from(o):
3127  return _object_cast_to_FStudentT(o)
3128 
3129 
3130 # Register FStudentT in _IMP_isd:
3131 _IMP_isd.FStudentT_swigregister(FStudentT)
3132 class vonMises(IMP.Object):
3133  r"""Proxy of C++ IMP::isd::vonMises class."""
3134 
3135  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3136 
3137  def __init__(self, x, mu, kappa):
3138  r"""__init__(vonMises self, double x, double mu, double kappa) -> vonMises"""
3139  _IMP_isd.vonMises_swiginit(self, _IMP_isd.new_vonMises(x, mu, kappa))
3140 
3141  def evaluate(self):
3142  r"""evaluate(vonMises self) -> double"""
3143  return _IMP_isd.vonMises_evaluate(self)
3144 
3145  def evaluate_derivative_x(self):
3146  r"""evaluate_derivative_x(vonMises self) -> double"""
3147  return _IMP_isd.vonMises_evaluate_derivative_x(self)
3148 
3149  def evaluate_derivative_mu(self):
3150  r"""evaluate_derivative_mu(vonMises self) -> double"""
3151  return _IMP_isd.vonMises_evaluate_derivative_mu(self)
3152 
3153  def evaluate_derivative_kappa(self):
3154  r"""evaluate_derivative_kappa(vonMises self) -> double"""
3155  return _IMP_isd.vonMises_evaluate_derivative_kappa(self)
3156 
3157  def density(self):
3158  r"""density(vonMises self) -> double"""
3159  return _IMP_isd.vonMises_density(self)
3160 
3161  def set_x(self, x):
3162  r"""set_x(vonMises self, double x)"""
3163  return _IMP_isd.vonMises_set_x(self, x)
3164 
3165  def set_mu(self, mu):
3166  r"""set_mu(vonMises self, double mu)"""
3167  return _IMP_isd.vonMises_set_mu(self, mu)
3168 
3169  def set_kappa(self, kappa):
3170  r"""set_kappa(vonMises self, double kappa)"""
3171  return _IMP_isd.vonMises_set_kappa(self, kappa)
3172 
3173  def get_version_info(self):
3174  r"""get_version_info(vonMises self) -> VersionInfo"""
3175  return _IMP_isd.vonMises_get_version_info(self)
3176  __swig_destroy__ = _IMP_isd.delete_vonMises
3177 
3178  def __str__(self):
3179  r"""__str__(vonMises self) -> std::string"""
3180  return _IMP_isd.vonMises___str__(self)
3181 
3182  def __repr__(self):
3183  r"""__repr__(vonMises self) -> std::string"""
3184  return _IMP_isd.vonMises___repr__(self)
3185 
3186  @staticmethod
3187  def get_from(o):
3188  return _object_cast_to_vonMises(o)
3189 
3190 
3191 # Register vonMises in _IMP_isd:
3192 _IMP_isd.vonMises_swigregister(vonMises)
3193 class vonMisesSufficient(IMP.Object):
3194  r"""Proxy of C++ IMP::isd::vonMisesSufficient class."""
3195 
3196  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3197 
3198  def __init__(self, *args):
3199  r"""
3200  __init__(vonMisesSufficient self, double chi, unsigned int N, double R0, double chiexp, double kappa) -> vonMisesSufficient
3201  __init__(vonMisesSufficient self, double chi, IMP::Floats obs, double kappa) -> vonMisesSufficient
3202  """
3203  _IMP_isd.vonMisesSufficient_swiginit(self, _IMP_isd.new_vonMisesSufficient(*args))
3204 
3205  def evaluate(self):
3206  r"""evaluate(vonMisesSufficient self) -> double"""
3207  return _IMP_isd.vonMisesSufficient_evaluate(self)
3208 
3209  def evaluate_derivative_x(self):
3210  r"""evaluate_derivative_x(vonMisesSufficient self) -> double"""
3211  return _IMP_isd.vonMisesSufficient_evaluate_derivative_x(self)
3212 
3213  def evaluate_derivative_kappa(self):
3214  r"""evaluate_derivative_kappa(vonMisesSufficient self) -> double"""
3215  return _IMP_isd.vonMisesSufficient_evaluate_derivative_kappa(self)
3216 
3217  def density(self):
3218  r"""density(vonMisesSufficient self) -> double"""
3219  return _IMP_isd.vonMisesSufficient_density(self)
3220 
3221  def get_x(self):
3222  r"""get_x(vonMisesSufficient self) -> double"""
3223  return _IMP_isd.vonMisesSufficient_get_x(self)
3224 
3225  def get_R0(self):
3226  r"""get_R0(vonMisesSufficient self) -> double"""
3227  return _IMP_isd.vonMisesSufficient_get_R0(self)
3228 
3229  def get_chiexp(self):
3230  r"""get_chiexp(vonMisesSufficient self) -> double"""
3231  return _IMP_isd.vonMisesSufficient_get_chiexp(self)
3232 
3233  def get_N(self):
3234  r"""get_N(vonMisesSufficient self) -> double"""
3235  return _IMP_isd.vonMisesSufficient_get_N(self)
3236 
3237  def get_kappa(self):
3238  r"""get_kappa(vonMisesSufficient self) -> double"""
3239  return _IMP_isd.vonMisesSufficient_get_kappa(self)
3240 
3241  def set_x(self, x):
3242  r"""set_x(vonMisesSufficient self, double x)"""
3243  return _IMP_isd.vonMisesSufficient_set_x(self, x)
3244 
3245  def set_R0(self, R0):
3246  r"""set_R0(vonMisesSufficient self, double R0)"""
3247  return _IMP_isd.vonMisesSufficient_set_R0(self, R0)
3248 
3249  def set_chiexp(self, chiexp):
3250  r"""set_chiexp(vonMisesSufficient self, double chiexp)"""
3251  return _IMP_isd.vonMisesSufficient_set_chiexp(self, chiexp)
3252 
3253  def set_N(self, N):
3254  r"""set_N(vonMisesSufficient self, unsigned int N)"""
3255  return _IMP_isd.vonMisesSufficient_set_N(self, N)
3256 
3257  def set_kappa(self, kappa):
3258  r"""set_kappa(vonMisesSufficient self, double kappa)"""
3259  return _IMP_isd.vonMisesSufficient_set_kappa(self, kappa)
3260 
3261  @staticmethod
3262  def get_sufficient_statistics(data):
3263  r"""get_sufficient_statistics(IMP::Floats data) -> IMP::Floats"""
3264  return _IMP_isd.vonMisesSufficient_get_sufficient_statistics(data)
3265 
3266  def get_version_info(self):
3267  r"""get_version_info(vonMisesSufficient self) -> VersionInfo"""
3268  return _IMP_isd.vonMisesSufficient_get_version_info(self)
3269  __swig_destroy__ = _IMP_isd.delete_vonMisesSufficient
3270 
3271  def __str__(self):
3272  r"""__str__(vonMisesSufficient self) -> std::string"""
3273  return _IMP_isd.vonMisesSufficient___str__(self)
3274 
3275  def __repr__(self):
3276  r"""__repr__(vonMisesSufficient self) -> std::string"""
3277  return _IMP_isd.vonMisesSufficient___repr__(self)
3278 
3279  @staticmethod
3280  def get_from(o):
3281  return _object_cast_to_vonMisesSufficient(o)
3282 
3283 
3284 # Register vonMisesSufficient in _IMP_isd:
3285 _IMP_isd.vonMisesSufficient_swigregister(vonMisesSufficient)
3286 class PenalizedComplexityPrior(OneDimensionalSufficientDistribution):
3287  r"""Proxy of C++ IMP::isd::PenalizedComplexityPrior class."""
3288 
3289  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3290 
3291  def __init__(self, *args):
3292  r"""__init__(PenalizedComplexityPrior self, double Dxi, double Jxi, double alpha, std::string name="PenalizedComplexityPrior %1%") -> PenalizedComplexityPrior"""
3293  _IMP_isd.PenalizedComplexityPrior_swiginit(self, _IMP_isd.new_PenalizedComplexityPrior(*args))
3294 
3295  def update_sufficient_statistics(self, Dxis, Jxis):
3296  r"""update_sufficient_statistics(PenalizedComplexityPrior self, IMP::Floats Dxis, IMP::Floats Jxis)"""
3297  return _IMP_isd.PenalizedComplexityPrior_update_sufficient_statistics(self, Dxis, Jxis)
3298 
3299  def evaluate_derivative_Dxi(self):
3300  r"""evaluate_derivative_Dxi(PenalizedComplexityPrior self) -> double"""
3301  return _IMP_isd.PenalizedComplexityPrior_evaluate_derivative_Dxi(self)
3302 
3303  def evaluate_derivative_Jxi(self):
3304  r"""evaluate_derivative_Jxi(PenalizedComplexityPrior self) -> double"""
3305  return _IMP_isd.PenalizedComplexityPrior_evaluate_derivative_Jxi(self)
3306 
3307  def evaluate_derivative_alpha(self):
3308  r"""evaluate_derivative_alpha(PenalizedComplexityPrior self) -> double"""
3309  return _IMP_isd.PenalizedComplexityPrior_evaluate_derivative_alpha(self)
3310 
3311  def evaluate_derivative_xi(self, JJxi):
3312  r"""evaluate_derivative_xi(PenalizedComplexityPrior self, double JJxi) -> double"""
3313  return _IMP_isd.PenalizedComplexityPrior_evaluate_derivative_xi(self, JJxi)
3314 
3315  def set_Dxi(self, v):
3316  r"""set_Dxi(PenalizedComplexityPrior self, double v)"""
3317  return _IMP_isd.PenalizedComplexityPrior_set_Dxi(self, v)
3318 
3319  def set_Jxi(self, v):
3320  r"""set_Jxi(PenalizedComplexityPrior self, double v)"""
3321  return _IMP_isd.PenalizedComplexityPrior_set_Jxi(self, v)
3322 
3323  def set_alpha(self, v):
3324  r"""set_alpha(PenalizedComplexityPrior self, double v)"""
3325  return _IMP_isd.PenalizedComplexityPrior_set_alpha(self, v)
3326 
3327  def get_Dxi(self):
3328  r"""get_Dxi(PenalizedComplexityPrior self) -> double"""
3329  return _IMP_isd.PenalizedComplexityPrior_get_Dxi(self)
3330 
3331  def get_Jxi(self):
3332  r"""get_Jxi(PenalizedComplexityPrior self) -> double"""
3333  return _IMP_isd.PenalizedComplexityPrior_get_Jxi(self)
3334 
3335  def get_alpha(self):
3336  r"""get_alpha(PenalizedComplexityPrior self) -> double"""
3337  return _IMP_isd.PenalizedComplexityPrior_get_alpha(self)
3338  __swig_destroy__ = _IMP_isd.delete_PenalizedComplexityPrior
3339 
3340  def __str__(self):
3341  r"""__str__(PenalizedComplexityPrior self) -> std::string"""
3342  return _IMP_isd.PenalizedComplexityPrior___str__(self)
3343 
3344  def __repr__(self):
3345  r"""__repr__(PenalizedComplexityPrior self) -> std::string"""
3346  return _IMP_isd.PenalizedComplexityPrior___repr__(self)
3347 
3348  @staticmethod
3349  def get_from(o):
3350  return _object_cast_to_PenalizedComplexityPrior(o)
3351 
3352 
3353 # Register PenalizedComplexityPrior in _IMP_isd:
3354 _IMP_isd.PenalizedComplexityPrior_swigregister(PenalizedComplexityPrior)
3355 class vonMisesKappaJeffreysRestraint(IMP.Restraint):
3356  r"""Proxy of C++ IMP::isd::vonMisesKappaJeffreysRestraint class."""
3357 
3358  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3359 
3360  def __init__(self, m, kappa):
3361  r"""__init__(vonMisesKappaJeffreysRestraint self, Model m, Particle kappa) -> vonMisesKappaJeffreysRestraint"""
3362  _IMP_isd.vonMisesKappaJeffreysRestraint_swiginit(self, _IMP_isd.new_vonMisesKappaJeffreysRestraint(m, kappa))
3363 
3364  def do_get_inputs(self):
3365  r"""do_get_inputs(vonMisesKappaJeffreysRestraint self) -> IMP::ModelObjectsTemp"""
3366  return _IMP_isd.vonMisesKappaJeffreysRestraint_do_get_inputs(self)
3367 
3368  def get_version_info(self):
3369  r"""get_version_info(vonMisesKappaJeffreysRestraint self) -> VersionInfo"""
3370  return _IMP_isd.vonMisesKappaJeffreysRestraint_get_version_info(self)
3371  __swig_destroy__ = _IMP_isd.delete_vonMisesKappaJeffreysRestraint
3372 
3373  def get_probability(self):
3374  r"""get_probability(vonMisesKappaJeffreysRestraint self) -> double"""
3375  return _IMP_isd.vonMisesKappaJeffreysRestraint_get_probability(self)
3376 
3377  def __str__(self):
3378  r"""__str__(vonMisesKappaJeffreysRestraint self) -> std::string"""
3379  return _IMP_isd.vonMisesKappaJeffreysRestraint___str__(self)
3380 
3381  def __repr__(self):
3382  r"""__repr__(vonMisesKappaJeffreysRestraint self) -> std::string"""
3383  return _IMP_isd.vonMisesKappaJeffreysRestraint___repr__(self)
3384 
3385  @staticmethod
3386  def get_from(o):
3387  return _object_cast_to_vonMisesKappaJeffreysRestraint(o)
3388 
3389 
3390 # Register vonMisesKappaJeffreysRestraint in _IMP_isd:
3391 _IMP_isd.vonMisesKappaJeffreysRestraint_swigregister(vonMisesKappaJeffreysRestraint)
3392 class vonMisesKappaConjugateRestraint(IMP.Restraint):
3393  r"""Proxy of C++ IMP::isd::vonMisesKappaConjugateRestraint class."""
3394 
3395  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3396 
3397  def __init__(self, m, kappa, c=10.0, R0=0.0):
3398  r"""__init__(vonMisesKappaConjugateRestraint self, Model m, Particle kappa, double c=10.0, double R0=0.0) -> vonMisesKappaConjugateRestraint"""
3399  _IMP_isd.vonMisesKappaConjugateRestraint_swiginit(self, _IMP_isd.new_vonMisesKappaConjugateRestraint(m, kappa, c, R0))
3400 
3401  def do_get_inputs(self):
3402  r"""do_get_inputs(vonMisesKappaConjugateRestraint self) -> IMP::ModelObjectsTemp"""
3403  return _IMP_isd.vonMisesKappaConjugateRestraint_do_get_inputs(self)
3404 
3405  def get_version_info(self):
3406  r"""get_version_info(vonMisesKappaConjugateRestraint self) -> VersionInfo"""
3407  return _IMP_isd.vonMisesKappaConjugateRestraint_get_version_info(self)
3408  __swig_destroy__ = _IMP_isd.delete_vonMisesKappaConjugateRestraint
3409 
3410  def get_probability(self):
3411  r"""get_probability(vonMisesKappaConjugateRestraint self) -> double"""
3412  return _IMP_isd.vonMisesKappaConjugateRestraint_get_probability(self)
3413 
3414  def __str__(self):
3415  r"""__str__(vonMisesKappaConjugateRestraint self) -> std::string"""
3416  return _IMP_isd.vonMisesKappaConjugateRestraint___str__(self)
3417 
3418  def __repr__(self):
3419  r"""__repr__(vonMisesKappaConjugateRestraint self) -> std::string"""
3420  return _IMP_isd.vonMisesKappaConjugateRestraint___repr__(self)
3421 
3422  @staticmethod
3423  def get_from(o):
3424  return _object_cast_to_vonMisesKappaConjugateRestraint(o)
3425 
3426 
3427 # Register vonMisesKappaConjugateRestraint in _IMP_isd:
3428 _IMP_isd.vonMisesKappaConjugateRestraint_swigregister(vonMisesKappaConjugateRestraint)
3429 class NOERestraint(IMP.Restraint):
3430  r"""Proxy of C++ IMP::isd::NOERestraint class."""
3431 
3432  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3433 
3434  def __init__(self, m, p0, p1, sigma, gamma, Iexp):
3435  r"""__init__(NOERestraint self, Model m, Particle p0, Particle p1, Particle sigma, Particle gamma, double Iexp) -> NOERestraint"""
3436  _IMP_isd.NOERestraint_swiginit(self, _IMP_isd.new_NOERestraint(m, p0, p1, sigma, gamma, Iexp))
3437 
3438  def get_probability(self):
3439  r"""get_probability(NOERestraint self) -> double"""
3440  return _IMP_isd.NOERestraint_get_probability(self)
3441 
3442  def get_chi(self):
3443  r"""get_chi(NOERestraint self) -> double"""
3444  return _IMP_isd.NOERestraint_get_chi(self)
3445 
3446  def do_get_inputs(self):
3447  r"""do_get_inputs(NOERestraint self) -> IMP::ModelObjectsTemp"""
3448  return _IMP_isd.NOERestraint_do_get_inputs(self)
3449 
3450  def get_version_info(self):
3451  r"""get_version_info(NOERestraint self) -> VersionInfo"""
3452  return _IMP_isd.NOERestraint_get_version_info(self)
3453  __swig_destroy__ = _IMP_isd.delete_NOERestraint
3454 
3455  def __str__(self):
3456  r"""__str__(NOERestraint self) -> std::string"""
3457  return _IMP_isd.NOERestraint___str__(self)
3458 
3459  def __repr__(self):
3460  r"""__repr__(NOERestraint self) -> std::string"""
3461  return _IMP_isd.NOERestraint___repr__(self)
3462 
3463  @staticmethod
3464  def get_from(o):
3465  return _object_cast_to_NOERestraint(o)
3466 
3467 
3468 # Register NOERestraint in _IMP_isd:
3469 _IMP_isd.NOERestraint_swigregister(NOERestraint)
3470 class GaussianRestraint(IMP.Restraint):
3471  r"""Proxy of C++ IMP::isd::GaussianRestraint class."""
3472 
3473  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3474 
3475  def __init__(self, *args):
3476  r"""
3477  __init__(GaussianRestraint self, Particle x, Particle mu, Particle sigma) -> GaussianRestraint
3478  __init__(GaussianRestraint self, double x, Particle mu, Particle sigma) -> GaussianRestraint
3479  __init__(GaussianRestraint self, Particle x, double mu, Particle sigma) -> GaussianRestraint
3480  __init__(GaussianRestraint self, Particle x, Particle mu, double sigma) -> GaussianRestraint
3481  __init__(GaussianRestraint self, double x, double mu, Particle sigma) -> GaussianRestraint
3482  __init__(GaussianRestraint self, Particle x, double mu, double sigma) -> GaussianRestraint
3483  __init__(GaussianRestraint self, double x, Particle mu, double sigma) -> GaussianRestraint
3484  """
3485  _IMP_isd.GaussianRestraint_swiginit(self, _IMP_isd.new_GaussianRestraint(*args))
3486 
3487  def get_probability(self):
3488  r"""get_probability(GaussianRestraint self) -> double"""
3489  return _IMP_isd.GaussianRestraint_get_probability(self)
3490 
3491  def get_chi(self):
3492  r"""get_chi(GaussianRestraint self) -> double"""
3493  return _IMP_isd.GaussianRestraint_get_chi(self)
3494 
3495  def do_get_inputs(self):
3496  r"""do_get_inputs(GaussianRestraint self) -> IMP::ModelObjectsTemp"""
3497  return _IMP_isd.GaussianRestraint_do_get_inputs(self)
3498 
3499  def get_version_info(self):
3500  r"""get_version_info(GaussianRestraint self) -> VersionInfo"""
3501  return _IMP_isd.GaussianRestraint_get_version_info(self)
3502  __swig_destroy__ = _IMP_isd.delete_GaussianRestraint
3503 
3504  def __str__(self):
3505  r"""__str__(GaussianRestraint self) -> std::string"""
3506  return _IMP_isd.GaussianRestraint___str__(self)
3507 
3508  def __repr__(self):
3509  r"""__repr__(GaussianRestraint self) -> std::string"""
3510  return _IMP_isd.GaussianRestraint___repr__(self)
3511 
3512  @staticmethod
3513  def get_from(o):
3514  return _object_cast_to_GaussianRestraint(o)
3515 
3516 
3517 # Register GaussianRestraint in _IMP_isd:
3518 _IMP_isd.GaussianRestraint_swigregister(GaussianRestraint)
3519 class StudentTRestraint(IMP.Restraint):
3520  r"""Proxy of C++ IMP::isd::StudentTRestraint class."""
3521 
3522  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3523 
3524  def __init__(self, *args):
3525  r"""
3526  __init__(StudentTRestraint self, Model m, _ParticleIndexAdaptor x, _ParticleIndexAdaptor mu, _ParticleIndexAdaptor sigma, _ParticleIndexAdaptor nu) -> StudentTRestraint
3527  __init__(StudentTRestraint self, Model m, _ParticleIndexAdaptor x, double mu, _ParticleIndexAdaptor sigma, _ParticleIndexAdaptor nu) -> StudentTRestraint
3528  __init__(StudentTRestraint self, Model m, _ParticleIndexAdaptor x, _ParticleIndexAdaptor mu, double sigma, _ParticleIndexAdaptor nu) -> StudentTRestraint
3529  __init__(StudentTRestraint self, Model m, _ParticleIndexAdaptor x, _ParticleIndexAdaptor mu, _ParticleIndexAdaptor sigma, double nu) -> StudentTRestraint
3530  __init__(StudentTRestraint self, Model m, _ParticleIndexAdaptor x, double mu, double sigma, _ParticleIndexAdaptor nu) -> StudentTRestraint
3531  __init__(StudentTRestraint self, Model m, _ParticleIndexAdaptor x, double mu, _ParticleIndexAdaptor sigma, double nu) -> StudentTRestraint
3532  __init__(StudentTRestraint self, Model m, _ParticleIndexAdaptor x, _ParticleIndexAdaptor mu, double sigma, double nu) -> StudentTRestraint
3533  __init__(StudentTRestraint self, Model m, _ParticleIndexAdaptor x, double mu, double sigma, double nu) -> StudentTRestraint
3534  __init__(StudentTRestraint self, Model m, double x, _ParticleIndexAdaptor mu, _ParticleIndexAdaptor sigma, _ParticleIndexAdaptor nu) -> StudentTRestraint
3535  __init__(StudentTRestraint self, Model m, double x, double mu, _ParticleIndexAdaptor sigma, _ParticleIndexAdaptor nu) -> StudentTRestraint
3536  __init__(StudentTRestraint self, Model m, double x, _ParticleIndexAdaptor mu, double sigma, _ParticleIndexAdaptor nu) -> StudentTRestraint
3537  __init__(StudentTRestraint self, Model m, double x, _ParticleIndexAdaptor mu, _ParticleIndexAdaptor sigma, double nu) -> StudentTRestraint
3538  __init__(StudentTRestraint self, Model m, double x, double mu, double sigma, _ParticleIndexAdaptor nu) -> StudentTRestraint
3539  __init__(StudentTRestraint self, Model m, double x, double mu, _ParticleIndexAdaptor sigma, double nu) -> StudentTRestraint
3540  __init__(StudentTRestraint self, Model m, double x, _ParticleIndexAdaptor mu, double sigma, double nu) -> StudentTRestraint
3541  """
3542  _IMP_isd.StudentTRestraint_swiginit(self, _IMP_isd.new_StudentTRestraint(*args))
3543 
3544  def get_probability(self):
3545  r"""get_probability(StudentTRestraint self) -> double"""
3546  return _IMP_isd.StudentTRestraint_get_probability(self)
3547 
3548  def do_get_inputs(self):
3549  r"""do_get_inputs(StudentTRestraint self) -> IMP::ModelObjectsTemp"""
3550  return _IMP_isd.StudentTRestraint_do_get_inputs(self)
3551 
3552  def get_version_info(self):
3553  r"""get_version_info(StudentTRestraint self) -> VersionInfo"""
3554  return _IMP_isd.StudentTRestraint_get_version_info(self)
3555  __swig_destroy__ = _IMP_isd.delete_StudentTRestraint
3556 
3557  def __str__(self):
3558  r"""__str__(StudentTRestraint self) -> std::string"""
3559  return _IMP_isd.StudentTRestraint___str__(self)
3560 
3561  def __repr__(self):
3562  r"""__repr__(StudentTRestraint self) -> std::string"""
3563  return _IMP_isd.StudentTRestraint___repr__(self)
3564 
3565  @staticmethod
3566  def get_from(o):
3567  return _object_cast_to_StudentTRestraint(o)
3568 
3569 
3570 # Register StudentTRestraint in _IMP_isd:
3571 _IMP_isd.StudentTRestraint_swigregister(StudentTRestraint)
3572 class LognormalRestraint(IMP.Restraint):
3573  r"""Proxy of C++ IMP::isd::LognormalRestraint class."""
3574 
3575  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3576 
3577  def __init__(self, *args):
3578  r"""
3579  __init__(LognormalRestraint self, Particle x, Particle mu, Particle sigma) -> LognormalRestraint
3580  __init__(LognormalRestraint self, double x, Particle mu, Particle sigma) -> LognormalRestraint
3581  __init__(LognormalRestraint self, Particle x, double mu, Particle sigma) -> LognormalRestraint
3582  __init__(LognormalRestraint self, Particle x, Particle mu, double sigma) -> LognormalRestraint
3583  __init__(LognormalRestraint self, double x, double mu, Particle sigma) -> LognormalRestraint
3584  __init__(LognormalRestraint self, Particle x, double mu, double sigma) -> LognormalRestraint
3585  __init__(LognormalRestraint self, double x, Particle mu, double sigma) -> LognormalRestraint
3586  """
3587  _IMP_isd.LognormalRestraint_swiginit(self, _IMP_isd.new_LognormalRestraint(*args))
3588 
3589  def get_probability(self):
3590  r"""get_probability(LognormalRestraint self) -> double"""
3591  return _IMP_isd.LognormalRestraint_get_probability(self)
3592 
3593  def get_chi(self):
3594  r"""get_chi(LognormalRestraint self) -> double"""
3595  return _IMP_isd.LognormalRestraint_get_chi(self)
3596 
3597  def do_get_inputs(self):
3598  r"""do_get_inputs(LognormalRestraint self) -> IMP::ModelObjectsTemp"""
3599  return _IMP_isd.LognormalRestraint_do_get_inputs(self)
3600 
3601  def get_version_info(self):
3602  r"""get_version_info(LognormalRestraint self) -> VersionInfo"""
3603  return _IMP_isd.LognormalRestraint_get_version_info(self)
3604  __swig_destroy__ = _IMP_isd.delete_LognormalRestraint
3605 
3606  def __str__(self):
3607  r"""__str__(LognormalRestraint self) -> std::string"""
3608  return _IMP_isd.LognormalRestraint___str__(self)
3609 
3610  def __repr__(self):
3611  r"""__repr__(LognormalRestraint self) -> std::string"""
3612  return _IMP_isd.LognormalRestraint___repr__(self)
3613 
3614  @staticmethod
3615  def get_from(o):
3616  return _object_cast_to_LognormalRestraint(o)
3617 
3618 
3619 # Register LognormalRestraint in _IMP_isd:
3620 _IMP_isd.LognormalRestraint_swigregister(LognormalRestraint)
3621 class LognormalAmbiguousRestraint(IMP.Restraint):
3622  r"""Proxy of C++ IMP::isd::LognormalAmbiguousRestraint class."""
3623 
3624  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3625 
3626  def __init__(self, p1, p2, ki, sigmaG):
3627  r"""__init__(LognormalAmbiguousRestraint self, Particle p1, Particle p2, Particle ki, Particle sigmaG) -> LognormalAmbiguousRestraint"""
3628  _IMP_isd.LognormalAmbiguousRestraint_swiginit(self, _IMP_isd.new_LognormalAmbiguousRestraint(p1, p2, ki, sigmaG))
3629 
3630  def add_contribution(self, lexp, omega):
3631  r"""add_contribution(LognormalAmbiguousRestraint self, double lexp, Particle omega)"""
3632  return _IMP_isd.LognormalAmbiguousRestraint_add_contribution(self, lexp, omega)
3633 
3634  def get_number_of_contributions(self):
3635  r"""get_number_of_contributions(LognormalAmbiguousRestraint self) -> unsigned int"""
3636  return _IMP_isd.LognormalAmbiguousRestraint_get_number_of_contributions(self)
3637 
3638  def draw_k_from_posterior(self, kt):
3639  r"""draw_k_from_posterior(LognormalAmbiguousRestraint self, double kt)"""
3640  return _IMP_isd.LognormalAmbiguousRestraint_draw_k_from_posterior(self, kt)
3641 
3642  def get_probability(self):
3643  r"""get_probability(LognormalAmbiguousRestraint self) -> double"""
3644  return _IMP_isd.LognormalAmbiguousRestraint_get_probability(self)
3645 
3646  def do_get_inputs(self):
3647  r"""do_get_inputs(LognormalAmbiguousRestraint self) -> IMP::ModelObjectsTemp"""
3648  return _IMP_isd.LognormalAmbiguousRestraint_do_get_inputs(self)
3649 
3650  def get_version_info(self):
3651  r"""get_version_info(LognormalAmbiguousRestraint self) -> VersionInfo"""
3652  return _IMP_isd.LognormalAmbiguousRestraint_get_version_info(self)
3653  __swig_destroy__ = _IMP_isd.delete_LognormalAmbiguousRestraint
3654 
3655  def __str__(self):
3656  r"""__str__(LognormalAmbiguousRestraint self) -> std::string"""
3657  return _IMP_isd.LognormalAmbiguousRestraint___str__(self)
3658 
3659  def __repr__(self):
3660  r"""__repr__(LognormalAmbiguousRestraint self) -> std::string"""
3661  return _IMP_isd.LognormalAmbiguousRestraint___repr__(self)
3662 
3663  @staticmethod
3664  def get_from(o):
3665  return _object_cast_to_LognormalAmbiguousRestraint(o)
3666 
3667 
3668 # Register LognormalAmbiguousRestraint in _IMP_isd:
3669 _IMP_isd.LognormalAmbiguousRestraint_swigregister(LognormalAmbiguousRestraint)
3670 class AmbiguousNOERestraint(IMP.Restraint):
3671  r"""Proxy of C++ IMP::isd::AmbiguousNOERestraint class."""
3672 
3673  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3674 
3675  def __init__(self, *args):
3676  r"""
3677  __init__(AmbiguousNOERestraint self, Model m, PairContainer pc, _ParticleIndexAdaptor sigma, _ParticleIndexAdaptor gamma, double Iexp) -> AmbiguousNOERestraint
3678  __init__(AmbiguousNOERestraint self) -> AmbiguousNOERestraint
3679  """
3680  _IMP_isd.AmbiguousNOERestraint_swiginit(self, _IMP_isd.new_AmbiguousNOERestraint(*args))
3681 
3682  def get_probability(self):
3683  r"""get_probability(AmbiguousNOERestraint self) -> double"""
3684  return _IMP_isd.AmbiguousNOERestraint_get_probability(self)
3685 
3686  def get_chi(self):
3687  r"""get_chi(AmbiguousNOERestraint self) -> double"""
3688  return _IMP_isd.AmbiguousNOERestraint_get_chi(self)
3689 
3690  def do_get_inputs(self):
3691  r"""do_get_inputs(AmbiguousNOERestraint self) -> IMP::ModelObjectsTemp"""
3692  return _IMP_isd.AmbiguousNOERestraint_do_get_inputs(self)
3693 
3694  def get_version_info(self):
3695  r"""get_version_info(AmbiguousNOERestraint self) -> VersionInfo"""
3696  return _IMP_isd.AmbiguousNOERestraint_get_version_info(self)
3697  __swig_destroy__ = _IMP_isd.delete_AmbiguousNOERestraint
3698 
3699  def __str__(self):
3700  r"""__str__(AmbiguousNOERestraint self) -> std::string"""
3701  return _IMP_isd.AmbiguousNOERestraint___str__(self)
3702 
3703  def __repr__(self):
3704  r"""__repr__(AmbiguousNOERestraint self) -> std::string"""
3705  return _IMP_isd.AmbiguousNOERestraint___repr__(self)
3706 
3707  @staticmethod
3708  def get_from(o):
3709  return _object_cast_to_AmbiguousNOERestraint(o)
3710 
3711 
3712  def _get_as_binary(self):
3713  r"""_get_as_binary(AmbiguousNOERestraint self) -> PyObject *"""
3714  return _IMP_isd.AmbiguousNOERestraint__get_as_binary(self)
3715 
3716  def _set_from_binary(self, p):
3717  r"""_set_from_binary(AmbiguousNOERestraint self, PyObject * p)"""
3718  return _IMP_isd.AmbiguousNOERestraint__set_from_binary(self, p)
3719 
3720  def __getstate__(self):
3721  p = self._get_as_binary()
3722  if len(self.__dict__) > 1:
3723  d = self.__dict__.copy()
3724  del d['this']
3725  p = (d, p)
3726  return p
3727 
3728  def __setstate__(self, p):
3729  if not hasattr(self, 'this'):
3730  self.__init__()
3731  if isinstance(p, tuple):
3732  d, p = p
3733  self.__dict__.update(d)
3734  return self._set_from_binary(p)
3735 
3736 
3737 # Register AmbiguousNOERestraint in _IMP_isd:
3738 _IMP_isd.AmbiguousNOERestraint_swigregister(AmbiguousNOERestraint)
3739 class MarginalNOERestraint(IMP.Restraint):
3740  r"""Proxy of C++ IMP::isd::MarginalNOERestraint class."""
3741 
3742  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3743 
3744  def __init__(self, m):
3745  r"""__init__(MarginalNOERestraint self, Model m) -> MarginalNOERestraint"""
3746  _IMP_isd.MarginalNOERestraint_swiginit(self, _IMP_isd.new_MarginalNOERestraint(m))
3747 
3748  def add_contribution(self, *args):
3749  r"""
3750  add_contribution(MarginalNOERestraint self, Particle p1, Particle p2, double Iexp)
3751  add_contribution(MarginalNOERestraint self, PairContainer pc, double Iexp)
3752  """
3753  return _IMP_isd.MarginalNOERestraint_add_contribution(self, *args)
3754 
3755  def get_log_gammahat(self):
3756  r"""get_log_gammahat(MarginalNOERestraint self) -> double"""
3757  return _IMP_isd.MarginalNOERestraint_get_log_gammahat(self)
3758 
3759  def get_SS(self):
3760  r"""get_SS(MarginalNOERestraint self) -> double"""
3761  return _IMP_isd.MarginalNOERestraint_get_SS(self)
3762 
3763  def get_number_of_contributions(self):
3764  r"""get_number_of_contributions(MarginalNOERestraint self) -> unsigned int"""
3765  return _IMP_isd.MarginalNOERestraint_get_number_of_contributions(self)
3766 
3767  def get_probability(self):
3768  r"""get_probability(MarginalNOERestraint self) -> double"""
3769  return _IMP_isd.MarginalNOERestraint_get_probability(self)
3770 
3771  def do_get_inputs(self):
3772  r"""do_get_inputs(MarginalNOERestraint self) -> IMP::ModelObjectsTemp"""
3773  return _IMP_isd.MarginalNOERestraint_do_get_inputs(self)
3774 
3775  def get_version_info(self):
3776  r"""get_version_info(MarginalNOERestraint self) -> VersionInfo"""
3777  return _IMP_isd.MarginalNOERestraint_get_version_info(self)
3778  __swig_destroy__ = _IMP_isd.delete_MarginalNOERestraint
3779 
3780  def __str__(self):
3781  r"""__str__(MarginalNOERestraint self) -> std::string"""
3782  return _IMP_isd.MarginalNOERestraint___str__(self)
3783 
3784  def __repr__(self):
3785  r"""__repr__(MarginalNOERestraint self) -> std::string"""
3786  return _IMP_isd.MarginalNOERestraint___repr__(self)
3787 
3788  @staticmethod
3789  def get_from(o):
3790  return _object_cast_to_MarginalNOERestraint(o)
3791 
3792 
3793 # Register MarginalNOERestraint in _IMP_isd:
3794 _IMP_isd.MarginalNOERestraint_swigregister(MarginalNOERestraint)
3795 class MarginalHBondRestraint(IMP.Restraint):
3796  r"""Proxy of C++ IMP::isd::MarginalHBondRestraint class."""
3797 
3798  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3799 
3800  def __init__(self, m):
3801  r"""__init__(MarginalHBondRestraint self, Model m) -> MarginalHBondRestraint"""
3802  _IMP_isd.MarginalHBondRestraint_swiginit(self, _IMP_isd.new_MarginalHBondRestraint(m))
3803 
3804  def add_contribution(self, *args):
3805  r"""
3806  add_contribution(MarginalHBondRestraint self, Particle p1, Particle p2, double Iexp)
3807  add_contribution(MarginalHBondRestraint self, PairContainer pc, double Iexp)
3808  """
3809  return _IMP_isd.MarginalHBondRestraint_add_contribution(self, *args)
3810 
3811  def get_logsquares(self):
3812  r"""get_logsquares(MarginalHBondRestraint self) -> double"""
3813  return _IMP_isd.MarginalHBondRestraint_get_logsquares(self)
3814 
3815  def get_number_of_contributions(self):
3816  r"""get_number_of_contributions(MarginalHBondRestraint self) -> unsigned int"""
3817  return _IMP_isd.MarginalHBondRestraint_get_number_of_contributions(self)
3818 
3819  def get_probability(self):
3820  r"""get_probability(MarginalHBondRestraint self) -> double"""
3821  return _IMP_isd.MarginalHBondRestraint_get_probability(self)
3822 
3823  def do_get_inputs(self):
3824  r"""do_get_inputs(MarginalHBondRestraint self) -> IMP::ModelObjectsTemp"""
3825  return _IMP_isd.MarginalHBondRestraint_do_get_inputs(self)
3826 
3827  def get_version_info(self):
3828  r"""get_version_info(MarginalHBondRestraint self) -> VersionInfo"""
3829  return _IMP_isd.MarginalHBondRestraint_get_version_info(self)
3830  __swig_destroy__ = _IMP_isd.delete_MarginalHBondRestraint
3831 
3832  def __str__(self):
3833  r"""__str__(MarginalHBondRestraint self) -> std::string"""
3834  return _IMP_isd.MarginalHBondRestraint___str__(self)
3835 
3836  def __repr__(self):
3837  r"""__repr__(MarginalHBondRestraint self) -> std::string"""
3838  return _IMP_isd.MarginalHBondRestraint___repr__(self)
3839 
3840  @staticmethod
3841  def get_from(o):
3842  return _object_cast_to_MarginalHBondRestraint(o)
3843 
3844 
3845 # Register MarginalHBondRestraint in _IMP_isd:
3846 _IMP_isd.MarginalHBondRestraint_swigregister(MarginalHBondRestraint)
3847 class TALOSRestraint(IMP.Restraint):
3848  r"""Proxy of C++ IMP::isd::TALOSRestraint class."""
3849 
3850  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3851 
3852  def __init__(self, *args):
3853  r"""
3854  __init__(TALOSRestraint self, Model m, IMP::Particles p, IMP::Floats data, Particle kappa) -> TALOSRestraint
3855  __init__(TALOSRestraint self, Model m, Particle p1, Particle p2, Particle p3, Particle p4, IMP::Floats data, Particle kappa) -> TALOSRestraint
3856  __init__(TALOSRestraint self, Model m, IMP::Particles p, unsigned int N, double R0, double chiexp, Particle kappa) -> TALOSRestraint
3857  __init__(TALOSRestraint self, Model m, Particle p1, Particle p2, Particle p3, Particle p4, unsigned int N, double R0, double chiexp, Particle kappa) -> TALOSRestraint
3858  """
3859  _IMP_isd.TALOSRestraint_swiginit(self, _IMP_isd.new_TALOSRestraint(*args))
3860 
3861  def get_probability(self):
3862  r"""get_probability(TALOSRestraint self) -> double"""
3863  return _IMP_isd.TALOSRestraint_get_probability(self)
3864 
3865  def get_R0(self):
3866  r"""get_R0(TALOSRestraint self) -> double"""
3867  return _IMP_isd.TALOSRestraint_get_R0(self)
3868 
3869  def get_chiexp(self):
3870  r"""get_chiexp(TALOSRestraint self) -> double"""
3871  return _IMP_isd.TALOSRestraint_get_chiexp(self)
3872 
3873  def do_get_inputs(self):
3874  r"""do_get_inputs(TALOSRestraint self) -> IMP::ModelObjectsTemp"""
3875  return _IMP_isd.TALOSRestraint_do_get_inputs(self)
3876 
3877  def get_version_info(self):
3878  r"""get_version_info(TALOSRestraint self) -> VersionInfo"""
3879  return _IMP_isd.TALOSRestraint_get_version_info(self)
3880  __swig_destroy__ = _IMP_isd.delete_TALOSRestraint
3881 
3882  def __str__(self):
3883  r"""__str__(TALOSRestraint self) -> std::string"""
3884  return _IMP_isd.TALOSRestraint___str__(self)
3885 
3886  def __repr__(self):
3887  r"""__repr__(TALOSRestraint self) -> std::string"""
3888  return _IMP_isd.TALOSRestraint___repr__(self)
3889 
3890  @staticmethod
3891  def get_from(o):
3892  return _object_cast_to_TALOSRestraint(o)
3893 
3894 
3895 # Register TALOSRestraint in _IMP_isd:
3896 _IMP_isd.TALOSRestraint_swigregister(TALOSRestraint)
3897 class RepulsiveDistancePairScore(IMP.PairScore):
3898  r"""Proxy of C++ IMP::isd::RepulsiveDistancePairScore class."""
3899 
3900  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3901 
3902  def __init__(self, d0, k):
3903  r"""__init__(RepulsiveDistancePairScore self, double d0, double k) -> RepulsiveDistancePairScore"""
3904  _IMP_isd.RepulsiveDistancePairScore_swiginit(self, _IMP_isd.new_RepulsiveDistancePairScore(d0, k))
3905 
3906  def get_rest_length(self):
3907  r"""get_rest_length(RepulsiveDistancePairScore self) -> double"""
3908  return _IMP_isd.RepulsiveDistancePairScore_get_rest_length(self)
3909 
3910  def get_stiffness(self):
3911  r"""get_stiffness(RepulsiveDistancePairScore self) -> double"""
3912  return _IMP_isd.RepulsiveDistancePairScore_get_stiffness(self)
3913 
3914  def do_get_inputs(self, m, pis):
3915  r"""do_get_inputs(RepulsiveDistancePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3916  return _IMP_isd.RepulsiveDistancePairScore_do_get_inputs(self, m, pis)
3917 
3918  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
3919  r"""evaluate_indexes(RepulsiveDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
3920  return _IMP_isd.RepulsiveDistancePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
3921 
3922  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
3923  r"""evaluate_indexes_scores(RepulsiveDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, DistBase score, bool all_indexes_checked=False) -> double"""
3924  return _IMP_isd.RepulsiveDistancePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
3925 
3926  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
3927  r"""evaluate_indexes_delta(RepulsiveDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, DistBase score, bool all_indexes_checked=False) -> double"""
3928  return _IMP_isd.RepulsiveDistancePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
3929 
3930  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
3931  r"""evaluate_if_good_indexes(RepulsiveDistancePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
3932  return _IMP_isd.RepulsiveDistancePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
3933 
3934  def get_version_info(self):
3935  r"""get_version_info(RepulsiveDistancePairScore self) -> VersionInfo"""
3936  return _IMP_isd.RepulsiveDistancePairScore_get_version_info(self)
3937  __swig_destroy__ = _IMP_isd.delete_RepulsiveDistancePairScore
3938 
3939  def __str__(self):
3940  r"""__str__(RepulsiveDistancePairScore self) -> std::string"""
3941  return _IMP_isd.RepulsiveDistancePairScore___str__(self)
3942 
3943  def __repr__(self):
3944  r"""__repr__(RepulsiveDistancePairScore self) -> std::string"""
3945  return _IMP_isd.RepulsiveDistancePairScore___repr__(self)
3946 
3947  @staticmethod
3948  def get_from(o):
3949  return _object_cast_to_RepulsiveDistancePairScore(o)
3950 
3951 
3952 # Register RepulsiveDistancePairScore in _IMP_isd:
3953 _IMP_isd.RepulsiveDistancePairScore_swigregister(RepulsiveDistancePairScore)
3954 class AmbiguousRestraint(IMP.Restraint):
3955  r"""Proxy of C++ IMP::isd::AmbiguousRestraint class."""
3956 
3957  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3958 
3959  def __init__(self, *args):
3960  r"""
3961  __init__(AmbiguousRestraint self, Model m, int d, Restraint r0, Restraint r1) -> AmbiguousRestraint
3962  __init__(AmbiguousRestraint self, Model m, int d, IMP::Restraints rs) -> AmbiguousRestraint
3963  __init__(AmbiguousRestraint self) -> AmbiguousRestraint
3964  """
3965  _IMP_isd.AmbiguousRestraint_swiginit(self, _IMP_isd.new_AmbiguousRestraint(*args))
3966 
3967  def get_probability(self):
3968  r"""get_probability(AmbiguousRestraint self) -> double"""
3969  return _IMP_isd.AmbiguousRestraint_get_probability(self)
3970 
3971  def do_get_inputs(self):
3972  r"""do_get_inputs(AmbiguousRestraint self) -> IMP::ModelObjectsTemp"""
3973  return _IMP_isd.AmbiguousRestraint_do_get_inputs(self)
3974 
3975  def get_version_info(self):
3976  r"""get_version_info(AmbiguousRestraint self) -> VersionInfo"""
3977  return _IMP_isd.AmbiguousRestraint_get_version_info(self)
3978  __swig_destroy__ = _IMP_isd.delete_AmbiguousRestraint
3979 
3980  def __str__(self):
3981  r"""__str__(AmbiguousRestraint self) -> std::string"""
3982  return _IMP_isd.AmbiguousRestraint___str__(self)
3983 
3984  def __repr__(self):
3985  r"""__repr__(AmbiguousRestraint self) -> std::string"""
3986  return _IMP_isd.AmbiguousRestraint___repr__(self)
3987 
3988  @staticmethod
3989  def get_from(o):
3990  return _object_cast_to_AmbiguousRestraint(o)
3991 
3992 
3993  def _get_as_binary(self):
3994  r"""_get_as_binary(AmbiguousRestraint self) -> PyObject *"""
3995  return _IMP_isd.AmbiguousRestraint__get_as_binary(self)
3996 
3997  def _set_from_binary(self, p):
3998  r"""_set_from_binary(AmbiguousRestraint self, PyObject * p)"""
3999  return _IMP_isd.AmbiguousRestraint__set_from_binary(self, p)
4000 
4001  def __getstate__(self):
4002  p = self._get_as_binary()
4003  if len(self.__dict__) > 1:
4004  d = self.__dict__.copy()
4005  del d['this']
4006  p = (d, p)
4007  return p
4008 
4009  def __setstate__(self, p):
4010  if not hasattr(self, 'this'):
4011  self.__init__()
4012  if isinstance(p, tuple):
4013  d, p = p
4014  self.__dict__.update(d)
4015  return self._set_from_binary(p)
4016 
4017 
4018 # Register AmbiguousRestraint in _IMP_isd:
4019 _IMP_isd.AmbiguousRestraint_swigregister(AmbiguousRestraint)
4020 IMP_ISD_UNIVARIATE_FUNCTIONS_MINIMUM = _IMP_isd.IMP_ISD_UNIVARIATE_FUNCTIONS_MINIMUM
4021 
4022 class UnivariateFunction(IMP.Object):
4023  r"""Proxy of C++ IMP::isd::UnivariateFunction class."""
4024 
4025  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4026 
4027  def __init__(self, *args, **kwargs):
4028  raise AttributeError("No constructor defined - class is abstract")
4029 
4030  def __call__(self, *args):
4031  r"""
4032  __call__(UnivariateFunction self, IMP::Floats const & x) -> IMP::Floats
4033  __call__(UnivariateFunction self, IMP::FloatsList const & xlist) -> Eigen::VectorXd
4034  __call__(UnivariateFunction self, IMP::FloatsList const & xlist, bool stupid) -> IMP::FloatsList
4035  """
4036  return _IMP_isd.UnivariateFunction___call__(self, *args)
4037 
4038  def has_changed(self):
4039  r"""has_changed(UnivariateFunction self) -> bool"""
4040  return _IMP_isd.UnivariateFunction_has_changed(self)
4041 
4042  def update(self):
4043  r"""update(UnivariateFunction self)"""
4044  return _IMP_isd.UnivariateFunction_update(self)
4045 
4046  def add_to_derivatives(self, x, accum):
4047  r"""add_to_derivatives(UnivariateFunction self, IMP::Floats const & x, DerivativeAccumulator accum)"""
4048  return _IMP_isd.UnivariateFunction_add_to_derivatives(self, x, accum)
4049 
4050  def add_to_particle_derivative(self, particle_no, value, accum):
4051  r"""add_to_particle_derivative(UnivariateFunction self, unsigned int particle_no, double value, DerivativeAccumulator accum)"""
4052  return _IMP_isd.UnivariateFunction_add_to_particle_derivative(self, particle_no, value, accum)
4053 
4054  def get_derivative_vector(self, particle_no, xlist):
4055  r"""get_derivative_vector(UnivariateFunction self, unsigned int particle_no, IMP::FloatsList const & xlist) -> Eigen::VectorXd"""
4056  return _IMP_isd.UnivariateFunction_get_derivative_vector(self, particle_no, xlist)
4057 
4058  def get_derivative_matrix(self, xlist, stupid):
4059  r"""get_derivative_matrix(UnivariateFunction self, IMP::FloatsList const & xlist, bool stupid) -> IMP::FloatsList"""
4060  return _IMP_isd.UnivariateFunction_get_derivative_matrix(self, xlist, stupid)
4061 
4062  def get_second_derivative_vector(self, *args):
4063  r"""
4064  get_second_derivative_vector(UnivariateFunction self, unsigned int particle_a, unsigned int particle_b, IMP::FloatsList const & xlist) -> Eigen::VectorXd
4065  get_second_derivative_vector(UnivariateFunction self, unsigned int particle_a, unsigned int particle_b, IMP::FloatsList const & xlist, bool stupid) -> IMP::FloatsList
4066  """
4067  return _IMP_isd.UnivariateFunction_get_second_derivative_vector(self, *args)
4068 
4069  def get_ndims_x(self):
4070  r"""get_ndims_x(UnivariateFunction self) -> unsigned int"""
4071  return _IMP_isd.UnivariateFunction_get_ndims_x(self)
4072 
4073  def get_ndims_y(self):
4074  r"""get_ndims_y(UnivariateFunction self) -> unsigned int"""
4075  return _IMP_isd.UnivariateFunction_get_ndims_y(self)
4076 
4077  def get_number_of_particles(self):
4078  r"""get_number_of_particles(UnivariateFunction self) -> unsigned int"""
4079  return _IMP_isd.UnivariateFunction_get_number_of_particles(self)
4080 
4081  def get_particle_is_optimized(self, particle_no):
4082  r"""get_particle_is_optimized(UnivariateFunction self, unsigned int particle_no) -> bool"""
4083  return _IMP_isd.UnivariateFunction_get_particle_is_optimized(self, particle_no)
4084 
4085  def get_number_of_optimized_particles(self):
4086  r"""get_number_of_optimized_particles(UnivariateFunction self) -> unsigned int"""
4087  return _IMP_isd.UnivariateFunction_get_number_of_optimized_particles(self)
4088 
4089  def get_inputs(self):
4090  r"""get_inputs(UnivariateFunction self) -> IMP::ModelObjectsTemp"""
4091  return _IMP_isd.UnivariateFunction_get_inputs(self)
4092  __swig_destroy__ = _IMP_isd.delete_UnivariateFunction
4093 
4094  def __str__(self):
4095  r"""__str__(UnivariateFunction self) -> std::string"""
4096  return _IMP_isd.UnivariateFunction___str__(self)
4097 
4098  def __repr__(self):
4099  r"""__repr__(UnivariateFunction self) -> std::string"""
4100  return _IMP_isd.UnivariateFunction___repr__(self)
4101 
4102  @staticmethod
4103  def get_from(o):
4104  return _object_cast_to_UnivariateFunction(o)
4105 
4106 
4107 # Register UnivariateFunction in _IMP_isd:
4108 _IMP_isd.UnivariateFunction_swigregister(UnivariateFunction)
4109 class Linear1DFunction(UnivariateFunction):
4110  r"""Proxy of C++ IMP::isd::Linear1DFunction class."""
4111 
4112  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4113 
4114  def __init__(self, a, b):
4115  r"""__init__(Linear1DFunction self, Particle a, Particle b) -> Linear1DFunction"""
4116  _IMP_isd.Linear1DFunction_swiginit(self, _IMP_isd.new_Linear1DFunction(a, b))
4117 
4118  def __call__(self, *args):
4119  r"""
4120  __call__(Linear1DFunction self, IMP::Floats const & x) -> IMP::Floats
4121  __call__(Linear1DFunction self, IMP::FloatsList const & xlist) -> Eigen::VectorXd
4122  __call__(Linear1DFunction self, IMP::FloatsList const & xlist, bool arg3) -> IMP::FloatsList
4123  """
4124  return _IMP_isd.Linear1DFunction___call__(self, *args)
4125 
4126  def get_second_derivative_vector(self, *args):
4127  r"""
4128  get_second_derivative_vector(Linear1DFunction self, unsigned int arg2, unsigned int arg3, IMP::FloatsList const & xlist) -> Eigen::VectorXd
4129  get_second_derivative_vector(Linear1DFunction self, unsigned int particle_a, unsigned int particle_b, IMP::FloatsList const & xlist, bool arg5) -> IMP::FloatsList
4130  """
4131  return _IMP_isd.Linear1DFunction_get_second_derivative_vector(self, *args)
4132 
4133  def get_version_info(self):
4134  r"""get_version_info(Linear1DFunction self) -> VersionInfo"""
4135  return _IMP_isd.Linear1DFunction_get_version_info(self)
4136  __swig_destroy__ = _IMP_isd.delete_Linear1DFunction
4137 
4138  def __str__(self):
4139  r"""__str__(Linear1DFunction self) -> std::string"""
4140  return _IMP_isd.Linear1DFunction___str__(self)
4141 
4142  def __repr__(self):
4143  r"""__repr__(Linear1DFunction self) -> std::string"""
4144  return _IMP_isd.Linear1DFunction___repr__(self)
4145 
4146  @staticmethod
4147  def get_from(o):
4148  return _object_cast_to_Linear1DFunction(o)
4149 
4150 
4151 # Register Linear1DFunction in _IMP_isd:
4152 _IMP_isd.Linear1DFunction_swigregister(Linear1DFunction)
4153 class GeneralizedGuinierPorodFunction(UnivariateFunction):
4154  r"""Proxy of C++ IMP::isd::GeneralizedGuinierPorodFunction class."""
4155 
4156  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4157 
4158  def __init__(self, G, Rg, d, s, A):
4159  r"""__init__(GeneralizedGuinierPorodFunction self, Particle G, Particle Rg, Particle d, Particle s, Particle A) -> GeneralizedGuinierPorodFunction"""
4160  _IMP_isd.GeneralizedGuinierPorodFunction_swiginit(self, _IMP_isd.new_GeneralizedGuinierPorodFunction(G, Rg, d, s, A))
4161 
4162  def __call__(self, *args):
4163  r"""
4164  __call__(GeneralizedGuinierPorodFunction self, IMP::Floats const & x) -> IMP::Floats
4165  __call__(GeneralizedGuinierPorodFunction self, IMP::FloatsList const & xlist) -> Eigen::VectorXd
4166  __call__(GeneralizedGuinierPorodFunction self, IMP::FloatsList const & xlist, bool arg3) -> IMP::FloatsList
4167  """
4168  return _IMP_isd.GeneralizedGuinierPorodFunction___call__(self, *args)
4169 
4170  def get_second_derivative_vector(self, *args):
4171  r"""
4172  get_second_derivative_vector(GeneralizedGuinierPorodFunction self, unsigned int particle_a, unsigned int particle_b, IMP::FloatsList const & xlist) -> Eigen::VectorXd
4173  get_second_derivative_vector(GeneralizedGuinierPorodFunction self, unsigned int particle_a, unsigned int particle_b, IMP::FloatsList const & xlist, bool arg5) -> IMP::FloatsList
4174  """
4175  return _IMP_isd.GeneralizedGuinierPorodFunction_get_second_derivative_vector(self, *args)
4176 
4177  def get_version_info(self):
4178  r"""get_version_info(GeneralizedGuinierPorodFunction self) -> VersionInfo"""
4179  return _IMP_isd.GeneralizedGuinierPorodFunction_get_version_info(self)
4180  __swig_destroy__ = _IMP_isd.delete_GeneralizedGuinierPorodFunction
4181 
4182  def __str__(self):
4183  r"""__str__(GeneralizedGuinierPorodFunction self) -> std::string"""
4184  return _IMP_isd.GeneralizedGuinierPorodFunction___str__(self)
4185 
4186  def __repr__(self):
4187  r"""__repr__(GeneralizedGuinierPorodFunction self) -> std::string"""
4188  return _IMP_isd.GeneralizedGuinierPorodFunction___repr__(self)
4189 
4190  @staticmethod
4191  def get_from(o):
4192  return _object_cast_to_GeneralizedGuinierPorodFunction(o)
4193 
4194 
4195 # Register GeneralizedGuinierPorodFunction in _IMP_isd:
4196 _IMP_isd.GeneralizedGuinierPorodFunction_swigregister(GeneralizedGuinierPorodFunction)
4197 IMP_ISD_BIVARIATE_FUNCTIONS_MINIMUM = _IMP_isd.IMP_ISD_BIVARIATE_FUNCTIONS_MINIMUM
4198 
4199 class BivariateFunction(IMP.Object):
4200  r"""Proxy of C++ IMP::isd::BivariateFunction class."""
4201 
4202  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4203 
4204  def __init__(self, *args, **kwargs):
4205  raise AttributeError("No constructor defined - class is abstract")
4206 
4207  def __call__(self, *args):
4208  r"""
4209  __call__(BivariateFunction self, IMP::Floats const & x1, IMP::Floats const & x2) -> IMP::Floats
4210  __call__(BivariateFunction self, IMP::FloatsList const & xlist) -> Eigen::MatrixXd
4211  __call__(BivariateFunction self, IMP::FloatsList const & xlist, bool stupid) -> IMP::FloatsList
4212  """
4213  return _IMP_isd.BivariateFunction___call__(self, *args)
4214 
4215  def has_changed(self):
4216  r"""has_changed(BivariateFunction self) -> bool"""
4217  return _IMP_isd.BivariateFunction_has_changed(self)
4218 
4219  def update(self):
4220  r"""update(BivariateFunction self)"""
4221  return _IMP_isd.BivariateFunction_update(self)
4222 
4223  def add_to_derivatives(self, x1, x2, accum):
4224  r"""add_to_derivatives(BivariateFunction self, IMP::Floats const & x1, IMP::Floats const & x2, DerivativeAccumulator accum)"""
4225  return _IMP_isd.BivariateFunction_add_to_derivatives(self, x1, x2, accum)
4226 
4227  def add_to_particle_derivative(self, particle_no, value, accum):
4228  r"""add_to_particle_derivative(BivariateFunction self, unsigned int particle_no, double value, DerivativeAccumulator accum)"""
4229  return _IMP_isd.BivariateFunction_add_to_particle_derivative(self, particle_no, value, accum)
4230 
4231  def get_derivative_matrix(self, *args):
4232  r"""
4233  get_derivative_matrix(BivariateFunction self, unsigned int particle_no, IMP::FloatsList const & xlist) -> Eigen::MatrixXd
4234  get_derivative_matrix(BivariateFunction self, unsigned int particle_no, IMP::FloatsList const & xlist, bool stupid) -> IMP::FloatsList
4235  """
4236  return _IMP_isd.BivariateFunction_get_derivative_matrix(self, *args)
4237 
4238  def get_second_derivative_matrix(self, *args):
4239  r"""
4240  get_second_derivative_matrix(BivariateFunction self, unsigned int particle_a, unsigned int particle_b, IMP::FloatsList const & xlist) -> Eigen::MatrixXd
4241  get_second_derivative_matrix(BivariateFunction self, unsigned int particle_a, unsigned int particle_b, IMP::FloatsList const & xlist, bool stupid) -> IMP::FloatsList
4242  """
4243  return _IMP_isd.BivariateFunction_get_second_derivative_matrix(self, *args)
4244 
4245  def get_ndims_x1(self):
4246  r"""get_ndims_x1(BivariateFunction self) -> unsigned int"""
4247  return _IMP_isd.BivariateFunction_get_ndims_x1(self)
4248 
4249  def get_ndims_x2(self):
4250  r"""get_ndims_x2(BivariateFunction self) -> unsigned int"""
4251  return _IMP_isd.BivariateFunction_get_ndims_x2(self)
4252 
4253  def get_ndims_y(self):
4254  r"""get_ndims_y(BivariateFunction self) -> unsigned int"""
4255  return _IMP_isd.BivariateFunction_get_ndims_y(self)
4256 
4257  def get_number_of_particles(self):
4258  r"""get_number_of_particles(BivariateFunction self) -> unsigned int"""
4259  return _IMP_isd.BivariateFunction_get_number_of_particles(self)
4260 
4261  def get_particle_is_optimized(self, particle_no):
4262  r"""get_particle_is_optimized(BivariateFunction self, unsigned int particle_no) -> bool"""
4263  return _IMP_isd.BivariateFunction_get_particle_is_optimized(self, particle_no)
4264 
4265  def get_number_of_optimized_particles(self):
4266  r"""get_number_of_optimized_particles(BivariateFunction self) -> unsigned int"""
4267  return _IMP_isd.BivariateFunction_get_number_of_optimized_particles(self)
4268 
4269  def get_inputs(self):
4270  r"""get_inputs(BivariateFunction self) -> IMP::ModelObjectsTemp"""
4271  return _IMP_isd.BivariateFunction_get_inputs(self)
4272  __swig_destroy__ = _IMP_isd.delete_BivariateFunction
4273 
4274  def __str__(self):
4275  r"""__str__(BivariateFunction self) -> std::string"""
4276  return _IMP_isd.BivariateFunction___str__(self)
4277 
4278  def __repr__(self):
4279  r"""__repr__(BivariateFunction self) -> std::string"""
4280  return _IMP_isd.BivariateFunction___repr__(self)
4281 
4282  @staticmethod
4283  def get_from(o):
4284  return _object_cast_to_BivariateFunction(o)
4285 
4286 
4287 # Register BivariateFunction in _IMP_isd:
4288 _IMP_isd.BivariateFunction_swigregister(BivariateFunction)
4289 class Covariance1DFunction(BivariateFunction):
4290  r"""Proxy of C++ IMP::isd::Covariance1DFunction class."""
4291 
4292  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4293 
4294  def __init__(self, tau, ilambda, alpha=2.0, jitter=0.0, cutoff=1e-7):
4295  r"""__init__(Covariance1DFunction self, Particle tau, Particle ilambda, double alpha=2.0, double jitter=0.0, double cutoff=1e-7) -> Covariance1DFunction"""
4296  _IMP_isd.Covariance1DFunction_swiginit(self, _IMP_isd.new_Covariance1DFunction(tau, ilambda, alpha, jitter, cutoff))
4297 
4298  def __call__(self, *args):
4299  r"""
4300  __call__(Covariance1DFunction self, IMP::Floats const & x1, IMP::Floats const & x2) -> IMP::Floats
4301  __call__(Covariance1DFunction self, IMP::FloatsList const & xlist) -> Eigen::MatrixXd
4302  __call__(Covariance1DFunction self, IMP::FloatsList const & xlist, bool arg3) -> IMP::FloatsList
4303  """
4304  return _IMP_isd.Covariance1DFunction___call__(self, *args)
4305 
4306  def get_derivative_matrix(self, *args):
4307  r"""
4308  get_derivative_matrix(Covariance1DFunction self, unsigned int particle_no, IMP::FloatsList const & xlist) -> Eigen::MatrixXd
4309  get_derivative_matrix(Covariance1DFunction self, unsigned int particle_no, IMP::FloatsList const & xlist, bool arg4) -> IMP::FloatsList
4310  """
4311  return _IMP_isd.Covariance1DFunction_get_derivative_matrix(self, *args)
4312 
4313  def get_second_derivative_matrix(self, *args):
4314  r"""
4315  get_second_derivative_matrix(Covariance1DFunction self, unsigned int particle_a, unsigned int particle_b, IMP::FloatsList const & xlist) -> Eigen::MatrixXd
4316  get_second_derivative_matrix(Covariance1DFunction self, unsigned int particle_a, unsigned int particle_b, IMP::FloatsList const & xlist, bool arg5) -> IMP::FloatsList
4317  """
4318  return _IMP_isd.Covariance1DFunction_get_second_derivative_matrix(self, *args)
4319 
4320  def get_version_info(self):
4321  r"""get_version_info(Covariance1DFunction self) -> VersionInfo"""
4322  return _IMP_isd.Covariance1DFunction_get_version_info(self)
4323  __swig_destroy__ = _IMP_isd.delete_Covariance1DFunction
4324 
4325  def __str__(self):
4326  r"""__str__(Covariance1DFunction self) -> std::string"""
4327  return _IMP_isd.Covariance1DFunction___str__(self)
4328 
4329  def __repr__(self):
4330  r"""__repr__(Covariance1DFunction self) -> std::string"""
4331  return _IMP_isd.Covariance1DFunction___repr__(self)
4332 
4333  @staticmethod
4334  def get_from(o):
4335  return _object_cast_to_Covariance1DFunction(o)
4336 
4337 
4338 # Register Covariance1DFunction in _IMP_isd:
4339 _IMP_isd.Covariance1DFunction_swigregister(Covariance1DFunction)
4340 class GaussianProcessInterpolation(IMP.Object):
4341  r"""Proxy of C++ IMP::isd::GaussianProcessInterpolation class."""
4342 
4343  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4344 
4345  def __init__(self, x, sample_mean, sample_std, n_obs, mean_function, covariance_function, sigma, sparse_cutoff=1e-7):
4346  r"""__init__(GaussianProcessInterpolation self, IMP::FloatsList x, IMP::Floats sample_mean, IMP::Floats sample_std, unsigned int n_obs, UnivariateFunction mean_function, BivariateFunction covariance_function, Particle sigma, double sparse_cutoff=1e-7) -> GaussianProcessInterpolation"""
4347  _IMP_isd.GaussianProcessInterpolation_swiginit(self, _IMP_isd.new_GaussianProcessInterpolation(x, sample_mean, sample_std, n_obs, mean_function, covariance_function, sigma, sparse_cutoff))
4348 
4349  def get_posterior_mean(self, x):
4350  r"""get_posterior_mean(GaussianProcessInterpolation self, IMP::Floats x) -> double"""
4351  return _IMP_isd.GaussianProcessInterpolation_get_posterior_mean(self, x)
4352 
4353  def get_posterior_covariance(self, x1, x2):
4354  r"""get_posterior_covariance(GaussianProcessInterpolation self, IMP::Floats x1, IMP::Floats x2) -> double"""
4355  return _IMP_isd.GaussianProcessInterpolation_get_posterior_covariance(self, x1, x2)
4356 
4357  def get_posterior_covariance_matrix(self, x, arg3):
4358  r"""get_posterior_covariance_matrix(GaussianProcessInterpolation self, IMP::FloatsList x, bool arg3) -> IMP::FloatsList"""
4359  return _IMP_isd.GaussianProcessInterpolation_get_posterior_covariance_matrix(self, x, arg3)
4360 
4361  def get_posterior_covariance_derivative(self, x, arg3):
4362  r"""get_posterior_covariance_derivative(GaussianProcessInterpolation self, IMP::Floats x, bool arg3) -> IMP::Floats"""
4363  return _IMP_isd.GaussianProcessInterpolation_get_posterior_covariance_derivative(self, x, arg3)
4364 
4365  def get_posterior_covariance_hessian(self, x, arg3):
4366  r"""get_posterior_covariance_hessian(GaussianProcessInterpolation self, IMP::Floats x, bool arg3) -> IMP::FloatsList"""
4367  return _IMP_isd.GaussianProcessInterpolation_get_posterior_covariance_hessian(self, x, arg3)
4368 
4369  def get_inputs(self):
4370  r"""get_inputs(GaussianProcessInterpolation self) -> IMP::ModelObjectsTemp"""
4371  return _IMP_isd.GaussianProcessInterpolation_get_inputs(self)
4372 
4373  def force_mean_update(self):
4374  r"""force_mean_update(GaussianProcessInterpolation self)"""
4375  return _IMP_isd.GaussianProcessInterpolation_force_mean_update(self)
4376 
4377  def force_covariance_update(self):
4378  r"""force_covariance_update(GaussianProcessInterpolation self)"""
4379  return _IMP_isd.GaussianProcessInterpolation_force_covariance_update(self)
4380 
4381  def get_number_of_m_particles(self):
4382  r"""get_number_of_m_particles(GaussianProcessInterpolation self) -> unsigned int"""
4383  return _IMP_isd.GaussianProcessInterpolation_get_number_of_m_particles(self)
4384 
4385  def get_m_particle_is_optimized(self, i):
4386  r"""get_m_particle_is_optimized(GaussianProcessInterpolation self, unsigned int i) -> bool"""
4387  return _IMP_isd.GaussianProcessInterpolation_get_m_particle_is_optimized(self, i)
4388 
4389  def get_number_of_Omega_particles(self):
4390  r"""get_number_of_Omega_particles(GaussianProcessInterpolation self) -> unsigned int"""
4391  return _IMP_isd.GaussianProcessInterpolation_get_number_of_Omega_particles(self)
4392 
4393  def get_Omega_particle_is_optimized(self, i):
4394  r"""get_Omega_particle_is_optimized(GaussianProcessInterpolation self, unsigned int i) -> bool"""
4395  return _IMP_isd.GaussianProcessInterpolation_get_Omega_particle_is_optimized(self, i)
4396 
4397  def get_data_abscissa(self):
4398  r"""get_data_abscissa(GaussianProcessInterpolation self) -> IMP::FloatsList"""
4399  return _IMP_isd.GaussianProcessInterpolation_get_data_abscissa(self)
4400 
4401  def get_data_mean(self):
4402  r"""get_data_mean(GaussianProcessInterpolation self) -> IMP::Floats"""
4403  return _IMP_isd.GaussianProcessInterpolation_get_data_mean(self)
4404 
4405  def get_data_variance(self):
4406  r"""get_data_variance(GaussianProcessInterpolation self) -> IMP::FloatsList"""
4407  return _IMP_isd.GaussianProcessInterpolation_get_data_variance(self)
4408 
4409  def get_version_info(self):
4410  r"""get_version_info(GaussianProcessInterpolation self) -> VersionInfo"""
4411  return _IMP_isd.GaussianProcessInterpolation_get_version_info(self)
4412  __swig_destroy__ = _IMP_isd.delete_GaussianProcessInterpolation
4413 
4414  def __str__(self):
4415  r"""__str__(GaussianProcessInterpolation self) -> std::string"""
4416  return _IMP_isd.GaussianProcessInterpolation___str__(self)
4417 
4418  def __repr__(self):
4419  r"""__repr__(GaussianProcessInterpolation self) -> std::string"""
4420  return _IMP_isd.GaussianProcessInterpolation___repr__(self)
4421 
4422  @staticmethod
4423  def get_from(o):
4424  return _object_cast_to_GaussianProcessInterpolation(o)
4425 
4426 
4427 # Register GaussianProcessInterpolation in _IMP_isd:
4428 _IMP_isd.GaussianProcessInterpolation_swigregister(GaussianProcessInterpolation)
4429 class GaussianProcessInterpolationRestraint(IMP.Restraint):
4430  r"""Proxy of C++ IMP::isd::GaussianProcessInterpolationRestraint class."""
4431 
4432  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4433 
4434  def __init__(self, m, gpi):
4435  r"""__init__(GaussianProcessInterpolationRestraint self, Model m, GaussianProcessInterpolation gpi) -> GaussianProcessInterpolationRestraint"""
4436  _IMP_isd.GaussianProcessInterpolationRestraint_swiginit(self, _IMP_isd.new_GaussianProcessInterpolationRestraint(m, gpi))
4437 
4438  def get_probability(self):
4439  r"""get_probability(GaussianProcessInterpolationRestraint self) -> double"""
4440  return _IMP_isd.GaussianProcessInterpolationRestraint_get_probability(self)
4441 
4442  def set_use_cg(self, use, tol):
4443  r"""set_use_cg(GaussianProcessInterpolationRestraint self, bool use, double tol)"""
4444  return _IMP_isd.GaussianProcessInterpolationRestraint_set_use_cg(self, use, tol)
4445 
4446  def get_minus_log_normalization(self):
4447  r"""get_minus_log_normalization(GaussianProcessInterpolationRestraint self) -> double"""
4448  return _IMP_isd.GaussianProcessInterpolationRestraint_get_minus_log_normalization(self)
4449 
4450  def get_minus_exponent(self):
4451  r"""get_minus_exponent(GaussianProcessInterpolationRestraint self) -> double"""
4452  return _IMP_isd.GaussianProcessInterpolationRestraint_get_minus_exponent(self)
4453 
4454  def get_logdet_hessian(self):
4455  r"""get_logdet_hessian(GaussianProcessInterpolationRestraint self) -> double"""
4456  return _IMP_isd.GaussianProcessInterpolationRestraint_get_logdet_hessian(self)
4457 
4458  def get_hessian(self, *args):
4459  r"""
4460  get_hessian(GaussianProcessInterpolationRestraint self) -> Eigen::MatrixXd
4461  get_hessian(GaussianProcessInterpolationRestraint self, bool unused) -> IMP::FloatsList
4462  """
4463  return _IMP_isd.GaussianProcessInterpolationRestraint_get_hessian(self, *args)
4464 
4465  def do_get_inputs(self):
4466  r"""do_get_inputs(GaussianProcessInterpolationRestraint self) -> IMP::ModelObjectsTemp"""
4467  return _IMP_isd.GaussianProcessInterpolationRestraint_do_get_inputs(self)
4468 
4469  def get_version_info(self):
4470  r"""get_version_info(GaussianProcessInterpolationRestraint self) -> VersionInfo"""
4471  return _IMP_isd.GaussianProcessInterpolationRestraint_get_version_info(self)
4472  __swig_destroy__ = _IMP_isd.delete_GaussianProcessInterpolationRestraint
4473 
4474  def __str__(self):
4475  r"""__str__(GaussianProcessInterpolationRestraint self) -> std::string"""
4476  return _IMP_isd.GaussianProcessInterpolationRestraint___str__(self)
4477 
4478  def __repr__(self):
4479  r"""__repr__(GaussianProcessInterpolationRestraint self) -> std::string"""
4480  return _IMP_isd.GaussianProcessInterpolationRestraint___repr__(self)
4481 
4482  @staticmethod
4483  def get_from(o):
4484  return _object_cast_to_GaussianProcessInterpolationRestraint(o)
4485 
4486 
4487 # Register GaussianProcessInterpolationRestraint in _IMP_isd:
4488 _IMP_isd.GaussianProcessInterpolationRestraint_swigregister(GaussianProcessInterpolationRestraint)
4489 class MolecularDynamics(IMP.atom.MolecularDynamics):
4490  r"""Proxy of C++ IMP::isd::MolecularDynamics class."""
4491 
4492  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4493 
4494  def __init__(self, m=None):
4495  r"""__init__(MolecularDynamics self, Model m=None) -> MolecularDynamics"""
4496  _IMP_isd.MolecularDynamics_swiginit(self, _IMP_isd.new_MolecularDynamics(m))
4497 
4498  def __str__(self):
4499  r"""__str__(MolecularDynamics self) -> std::string"""
4500  return _IMP_isd.MolecularDynamics___str__(self)
4501 
4502  def __repr__(self):
4503  r"""__repr__(MolecularDynamics self) -> std::string"""
4504  return _IMP_isd.MolecularDynamics___repr__(self)
4505 
4506  @staticmethod
4507  def get_from(o):
4508  return _object_cast_to_MolecularDynamics(o)
4509 
4510  __swig_destroy__ = _IMP_isd.delete_MolecularDynamics
4511 
4512 # Register MolecularDynamics in _IMP_isd:
4513 _IMP_isd.MolecularDynamics_swigregister(MolecularDynamics)
4514 class MolecularDynamicsMover(IMP.core.MonteCarloMover):
4515  r"""Proxy of C++ IMP::isd::MolecularDynamicsMover class."""
4516 
4517  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4518 
4519  def __init__(self, m, nsteps=100, timestep=1.):
4520  r"""__init__(MolecularDynamicsMover self, Model m, unsigned int nsteps=100, IMP::Float timestep=1.) -> MolecularDynamicsMover"""
4521  _IMP_isd.MolecularDynamicsMover_swiginit(self, _IMP_isd.new_MolecularDynamicsMover(m, nsteps, timestep))
4522 
4523  def get_md(self):
4524  r"""get_md(MolecularDynamicsMover self) -> MolecularDynamics"""
4525  return _IMP_isd.MolecularDynamicsMover_get_md(self)
4526 
4527  def get_number_of_md_steps(self):
4528  r"""get_number_of_md_steps(MolecularDynamicsMover self) -> unsigned int"""
4529  return _IMP_isd.MolecularDynamicsMover_get_number_of_md_steps(self)
4530 
4531  def set_number_of_md_steps(self, nsteps):
4532  r"""set_number_of_md_steps(MolecularDynamicsMover self, unsigned int nsteps)"""
4533  return _IMP_isd.MolecularDynamicsMover_set_number_of_md_steps(self, nsteps)
4534 
4535  def get_version_info(self):
4536  r"""get_version_info(MolecularDynamicsMover self) -> VersionInfo"""
4537  return _IMP_isd.MolecularDynamicsMover_get_version_info(self)
4538  __swig_destroy__ = _IMP_isd.delete_MolecularDynamicsMover
4539 
4540  def __str__(self):
4541  r"""__str__(MolecularDynamicsMover self) -> std::string"""
4542  return _IMP_isd.MolecularDynamicsMover___str__(self)
4543 
4544  def __repr__(self):
4545  r"""__repr__(MolecularDynamicsMover self) -> std::string"""
4546  return _IMP_isd.MolecularDynamicsMover___repr__(self)
4547 
4548  @staticmethod
4549  def get_from(o):
4550  return _object_cast_to_MolecularDynamicsMover(o)
4551 
4552 
4553 # Register MolecularDynamicsMover in _IMP_isd:
4554 _IMP_isd.MolecularDynamicsMover_swigregister(MolecularDynamicsMover)
4555 class HybridMonteCarlo(IMP.core.MonteCarlo):
4556  r"""Proxy of C++ IMP::isd::HybridMonteCarlo class."""
4557 
4558  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4559 
4560  def __init__(self, m, kT=1.0, steps=100, timestep=1.0, persistence=1):
4561  r"""__init__(HybridMonteCarlo self, Model m, IMP::Float kT=1.0, unsigned int steps=100, IMP::Float timestep=1.0, unsigned int persistence=1) -> HybridMonteCarlo"""
4562  _IMP_isd.HybridMonteCarlo_swiginit(self, _IMP_isd.new_HybridMonteCarlo(m, kT, steps, timestep, persistence))
4563 
4564  def get_kinetic_energy(self):
4565  r"""get_kinetic_energy(HybridMonteCarlo self) -> IMP::Float"""
4566  return _IMP_isd.HybridMonteCarlo_get_kinetic_energy(self)
4567 
4568  def get_potential_energy(self):
4569  r"""get_potential_energy(HybridMonteCarlo self) -> IMP::Float"""
4570  return _IMP_isd.HybridMonteCarlo_get_potential_energy(self)
4571 
4572  def get_total_energy(self):
4573  r"""get_total_energy(HybridMonteCarlo self) -> IMP::Float"""
4574  return _IMP_isd.HybridMonteCarlo_get_total_energy(self)
4575 
4576  def set_timestep(self, ts):
4577  r"""set_timestep(HybridMonteCarlo self, IMP::Float ts)"""
4578  return _IMP_isd.HybridMonteCarlo_set_timestep(self, ts)
4579 
4580  def get_timestep(self):
4581  r"""get_timestep(HybridMonteCarlo self) -> double"""
4582  return _IMP_isd.HybridMonteCarlo_get_timestep(self)
4583 
4584  def set_number_of_md_steps(self, nsteps):
4585  r"""set_number_of_md_steps(HybridMonteCarlo self, unsigned int nsteps)"""
4586  return _IMP_isd.HybridMonteCarlo_set_number_of_md_steps(self, nsteps)
4587 
4588  def get_number_of_md_steps(self):
4589  r"""get_number_of_md_steps(HybridMonteCarlo self) -> unsigned int"""
4590  return _IMP_isd.HybridMonteCarlo_get_number_of_md_steps(self)
4591 
4592  def set_persistence(self, persistence=1):
4593  r"""set_persistence(HybridMonteCarlo self, unsigned int persistence=1)"""
4594  return _IMP_isd.HybridMonteCarlo_set_persistence(self, persistence)
4595 
4596  def get_persistence(self):
4597  r"""get_persistence(HybridMonteCarlo self) -> unsigned int"""
4598  return _IMP_isd.HybridMonteCarlo_get_persistence(self)
4599 
4600  def get_md(self):
4601  r"""get_md(HybridMonteCarlo self) -> MolecularDynamics"""
4602  return _IMP_isd.HybridMonteCarlo_get_md(self)
4603 
4604  def do_evaluate(self, arg2, arg3):
4605  r"""do_evaluate(HybridMonteCarlo self, IMP::ParticleIndexes const & arg2, bool arg3) -> double"""
4606  return _IMP_isd.HybridMonteCarlo_do_evaluate(self, arg2, arg3)
4607 
4608  def do_step(self):
4609  r"""do_step(HybridMonteCarlo self)"""
4610  return _IMP_isd.HybridMonteCarlo_do_step(self)
4611  __swig_destroy__ = _IMP_isd.delete_HybridMonteCarlo
4612 
4613  def __str__(self):
4614  r"""__str__(HybridMonteCarlo self) -> std::string"""
4615  return _IMP_isd.HybridMonteCarlo___str__(self)
4616 
4617  def __repr__(self):
4618  r"""__repr__(HybridMonteCarlo self) -> std::string"""
4619  return _IMP_isd.HybridMonteCarlo___repr__(self)
4620 
4621  @staticmethod
4622  def get_from(o):
4623  return _object_cast_to_HybridMonteCarlo(o)
4624 
4625 
4626 # Register HybridMonteCarlo in _IMP_isd:
4627 _IMP_isd.HybridMonteCarlo_swigregister(HybridMonteCarlo)
4628 class FretData(IMP.Object):
4629  r"""Proxy of C++ IMP::isd::FretData class."""
4630 
4631  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4632 
4633  def __init__(self, *args):
4634  r"""
4635  __init__(FretData self, IMP::Floats d_term, IMP::Floats d_center, IMP::Floats d_int, IMP::Floats s_grid, IMP::Float R0, IMP::Float Rmin, IMP::Float Rmax, bool do_limit=True) -> FretData
4636  __init__(FretData self) -> FretData
4637  """
4638  _IMP_isd.FretData_swiginit(self, _IMP_isd.new_FretData(*args))
4639 
4640  def get_closest(self, vec, value):
4641  r"""get_closest(FretData self, DistBase vec, double value) -> int"""
4642  return _IMP_isd.FretData_get_closest(self, vec, value)
4643 
4644  def get_probability(self, distn, dist, sigma):
4645  r"""get_probability(FretData self, IMP::Float distn, IMP::Float dist, IMP::Float sigma) -> IMP::Float"""
4646  return _IMP_isd.FretData_get_probability(self, distn, dist, sigma)
4647 
4648  def get_kernel(self, dist, R0):
4649  r"""get_kernel(FretData self, IMP::Float dist, IMP::Float R0) -> IMP::Float"""
4650  return _IMP_isd.FretData_get_kernel(self, dist, R0)
4651 
4652  def get_marginal_element(self, d_term, d_center, sigma):
4653  r"""get_marginal_element(FretData self, IMP::Float d_term, IMP::Float d_center, IMP::Float sigma) -> IMP::FloatPair"""
4654  return _IMP_isd.FretData_get_marginal_element(self, d_term, d_center, sigma)
4655 
4656  def get_version_info(self):
4657  r"""get_version_info(FretData self) -> VersionInfo"""
4658  return _IMP_isd.FretData_get_version_info(self)
4659  __swig_destroy__ = _IMP_isd.delete_FretData
4660 
4661  def __str__(self):
4662  r"""__str__(FretData self) -> std::string"""
4663  return _IMP_isd.FretData___str__(self)
4664 
4665  def __repr__(self):
4666  r"""__repr__(FretData self) -> std::string"""
4667  return _IMP_isd.FretData___repr__(self)
4668 
4669  @staticmethod
4670  def get_from(o):
4671  return _object_cast_to_FretData(o)
4672 
4673 
4674  def _get_as_binary(self):
4675  r"""_get_as_binary(FretData self) -> PyObject *"""
4676  return _IMP_isd.FretData__get_as_binary(self)
4677 
4678  def _set_from_binary(self, p):
4679  r"""_set_from_binary(FretData self, PyObject * p)"""
4680  return _IMP_isd.FretData__set_from_binary(self, p)
4681 
4682  def __getstate__(self):
4683  p = self._get_as_binary()
4684  if len(self.__dict__) > 1:
4685  d = self.__dict__.copy()
4686  del d['this']
4687  p = (d, p)
4688  return p
4689 
4690  def __setstate__(self, p):
4691  if not hasattr(self, 'this'):
4692  self.__init__()
4693  if isinstance(p, tuple):
4694  d, p = p
4695  self.__dict__.update(d)
4696  return self._set_from_binary(p)
4697 
4698 
4699 # Register FretData in _IMP_isd:
4700 _IMP_isd.FretData_swigregister(FretData)
4701 class FretRestraint(IMP.Restraint):
4702  r"""Proxy of C++ IMP::isd::FretRestraint class."""
4703 
4704  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4705 
4706  def __init__(self, *args):
4707  r"""
4708  __init__(FretRestraint self, IMP::ParticlesTemp pd, IMP::ParticlesTemp pa, Particle kda, Particle Ida, Particle R0, Particle sigma0, Particle Pbl, double fexp, double m_d=1.0, double m_a=1.0) -> FretRestraint
4709  __init__(FretRestraint self, Particle kda, Particle Ida, Particle sumFi, Particle sigma0, Particle Pbl, double fexp) -> FretRestraint
4710  __init__(FretRestraint self, Particle prd, Vector3D GMMterd, IMP::algebra::Vector3Ds GMMctrd, IMP::Floats GMMwd, IMP::Floats GMMsigd, Particle pra, Vector3D GMMtera, IMP::algebra::Vector3Ds GMMctra, IMP::Floats GMMwa, IMP::Floats GMMsiga, Particle kda, Particle Ida, Particle sigma0, Particle Pbl, FretData data, double fexp) -> FretRestraint
4711  __init__(FretRestraint self) -> FretRestraint
4712  """
4713  _IMP_isd.FretRestraint_swiginit(self, _IMP_isd.new_FretRestraint(*args))
4714 
4715  def get_sumFi(self):
4716  r"""get_sumFi(FretRestraint self) -> double"""
4717  return _IMP_isd.FretRestraint_get_sumFi(self)
4718 
4719  def get_average_sigma(self, fmod):
4720  r"""get_average_sigma(FretRestraint self, double fmod) -> double"""
4721  return _IMP_isd.FretRestraint_get_average_sigma(self, fmod)
4722 
4723  def get_standard_error(self):
4724  r"""get_standard_error(FretRestraint self) -> double"""
4725  return _IMP_isd.FretRestraint_get_standard_error(self)
4726 
4727  def get_model_fretr(self):
4728  r"""get_model_fretr(FretRestraint self) -> double"""
4729  return _IMP_isd.FretRestraint_get_model_fretr(self)
4730 
4731  def get_probability(self):
4732  r"""get_probability(FretRestraint self) -> double"""
4733  return _IMP_isd.FretRestraint_get_probability(self)
4734 
4735  def get_experimental_value(self):
4736  r"""get_experimental_value(FretRestraint self) -> double"""
4737  return _IMP_isd.FretRestraint_get_experimental_value(self)
4738 
4739  def set_experimental_value(self, fexp):
4740  r"""set_experimental_value(FretRestraint self, double fexp)"""
4741  return _IMP_isd.FretRestraint_set_experimental_value(self, fexp)
4742 
4743  def do_get_inputs(self):
4744  r"""do_get_inputs(FretRestraint self) -> IMP::ModelObjectsTemp"""
4745  return _IMP_isd.FretRestraint_do_get_inputs(self)
4746 
4747  def get_version_info(self):
4748  r"""get_version_info(FretRestraint self) -> VersionInfo"""
4749  return _IMP_isd.FretRestraint_get_version_info(self)
4750  __swig_destroy__ = _IMP_isd.delete_FretRestraint
4751 
4752  def __str__(self):
4753  r"""__str__(FretRestraint self) -> std::string"""
4754  return _IMP_isd.FretRestraint___str__(self)
4755 
4756  def __repr__(self):
4757  r"""__repr__(FretRestraint self) -> std::string"""
4758  return _IMP_isd.FretRestraint___repr__(self)
4759 
4760  @staticmethod
4761  def get_from(o):
4762  return _object_cast_to_FretRestraint(o)
4763 
4764 
4765  def _get_as_binary(self):
4766  r"""_get_as_binary(FretRestraint self) -> PyObject *"""
4767  return _IMP_isd.FretRestraint__get_as_binary(self)
4768 
4769  def _set_from_binary(self, p):
4770  r"""_set_from_binary(FretRestraint self, PyObject * p)"""
4771  return _IMP_isd.FretRestraint__set_from_binary(self, p)
4772 
4773  def __getstate__(self):
4774  p = self._get_as_binary()
4775  if len(self.__dict__) > 1:
4776  d = self.__dict__.copy()
4777  del d['this']
4778  p = (d, p)
4779  return p
4780 
4781  def __setstate__(self, p):
4782  if not hasattr(self, 'this'):
4783  self.__init__()
4784  if isinstance(p, tuple):
4785  d, p = p
4786  self.__dict__.update(d)
4787  return self._set_from_binary(p)
4788 
4789 
4790 # Register FretRestraint in _IMP_isd:
4791 _IMP_isd.FretRestraint_swigregister(FretRestraint)
4792 class CysteineCrossLinkData(IMP.Object):
4793  r"""Proxy of C++ IMP::isd::CysteineCrossLinkData class."""
4794 
4795  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4796 
4797  def __init__(self, *args):
4798  r"""
4799  __init__(CysteineCrossLinkData self, double fexp, IMP::Floats fmod_grid, IMP::Floats omega_grid, IMP::Floats omega0_grid, int prior_type=3) -> CysteineCrossLinkData
4800  __init__(CysteineCrossLinkData self) -> CysteineCrossLinkData
4801  """
4802  _IMP_isd.CysteineCrossLinkData_swiginit(self, _IMP_isd.new_CysteineCrossLinkData(*args))
4803 
4804  def get_closest(self, vec, value):
4805  r"""get_closest(CysteineCrossLinkData self, DistBase vec, double value) -> int"""
4806  return _IMP_isd.CysteineCrossLinkData_get_closest(self, vec, value)
4807 
4808  def get_omegas(self, fmods, omega0):
4809  r"""get_omegas(CysteineCrossLinkData self, IMP::Floats fmods, double omega0) -> IMP::Floats"""
4810  return _IMP_isd.CysteineCrossLinkData_get_omegas(self, fmods, omega0)
4811 
4812  def get_nonmarginal_elements(self, fexp, fmods, omega):
4813  r"""get_nonmarginal_elements(CysteineCrossLinkData self, double fexp, IMP::Floats fmods, double omega) -> IMP::Floats"""
4814  return _IMP_isd.CysteineCrossLinkData_get_nonmarginal_elements(self, fexp, fmods, omega)
4815 
4816  def get_marginal_elements(self, fmods, omega0):
4817  r"""get_marginal_elements(CysteineCrossLinkData self, IMP::Floats fmods, double omega0) -> IMP::Floats"""
4818  return _IMP_isd.CysteineCrossLinkData_get_marginal_elements(self, fmods, omega0)
4819 
4820  def get_omega(self, fmod, omega0):
4821  r"""get_omega(CysteineCrossLinkData self, double fmod, double omega0) -> double"""
4822  return _IMP_isd.CysteineCrossLinkData_get_omega(self, fmod, omega0)
4823 
4824  def get_standard_deviation(self, fmod, omega0):
4825  r"""get_standard_deviation(CysteineCrossLinkData self, double fmod, double omega0) -> double"""
4826  return _IMP_isd.CysteineCrossLinkData_get_standard_deviation(self, fmod, omega0)
4827 
4828  def get_nonmarginal_element(self, fexp, fmod, omega):
4829  r"""get_nonmarginal_element(CysteineCrossLinkData self, double fexp, double fmod, double omega) -> double"""
4830  return _IMP_isd.CysteineCrossLinkData_get_nonmarginal_element(self, fexp, fmod, omega)
4831 
4832  def get_marginal_element(self, fmod, omega0):
4833  r"""get_marginal_element(CysteineCrossLinkData self, double fmod, double omega0) -> double"""
4834  return _IMP_isd.CysteineCrossLinkData_get_marginal_element(self, fmod, omega0)
4835 
4836  def get_version_info(self):
4837  r"""get_version_info(CysteineCrossLinkData self) -> VersionInfo"""
4838  return _IMP_isd.CysteineCrossLinkData_get_version_info(self)
4839  __swig_destroy__ = _IMP_isd.delete_CysteineCrossLinkData
4840 
4841  def __str__(self):
4842  r"""__str__(CysteineCrossLinkData self) -> std::string"""
4843  return _IMP_isd.CysteineCrossLinkData___str__(self)
4844 
4845  def __repr__(self):
4846  r"""__repr__(CysteineCrossLinkData self) -> std::string"""
4847  return _IMP_isd.CysteineCrossLinkData___repr__(self)
4848 
4849  @staticmethod
4850  def get_from(o):
4851  return _object_cast_to_CysteineCrossLinkData(o)
4852 
4853 
4854  def _get_as_binary(self):
4855  r"""_get_as_binary(CysteineCrossLinkData self) -> PyObject *"""
4856  return _IMP_isd.CysteineCrossLinkData__get_as_binary(self)
4857 
4858  def _set_from_binary(self, p):
4859  r"""_set_from_binary(CysteineCrossLinkData self, PyObject * p)"""
4860  return _IMP_isd.CysteineCrossLinkData__set_from_binary(self, p)
4861 
4862  def __getstate__(self):
4863  p = self._get_as_binary()
4864  if len(self.__dict__) > 1:
4865  d = self.__dict__.copy()
4866  del d['this']
4867  p = (d, p)
4868  return p
4869 
4870  def __setstate__(self, p):
4871  if not hasattr(self, 'this'):
4872  self.__init__()
4873  if isinstance(p, tuple):
4874  d, p = p
4875  self.__dict__.update(d)
4876  return self._set_from_binary(p)
4877 
4878 
4879 # Register CysteineCrossLinkData in _IMP_isd:
4880 _IMP_isd.CysteineCrossLinkData_swigregister(CysteineCrossLinkData)
4881 class CrossLinkData(IMP.Object):
4882  r"""Proxy of C++ IMP::isd::CrossLinkData class."""
4883 
4884  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4885 
4886  def __init__(self, *args):
4887  r"""
4888  __init__(CrossLinkData self, IMP::Floats dist_grid, IMP::Floats omega_grid, IMP::Floats sigma_grid, double lexp_, double don=std::numeric_limits< double >::max(), double doff=std::numeric_limits< double >::max(), int prior_type=0) -> CrossLinkData
4889  __init__(CrossLinkData self, IMP::Floats dist_grid, IMP::Floats omega_grid, IMP::Floats sigma_grid, IMP::Floats pot_x_grid, IMP::Floats pot_value_grid, double don=std::numeric_limits< double >::max(), double doff=std::numeric_limits< double >::max(), int prior_type=0) -> CrossLinkData
4890  __init__(CrossLinkData self) -> CrossLinkData
4891  """
4892  _IMP_isd.CrossLinkData_swiginit(self, _IMP_isd.new_CrossLinkData(*args))
4893 
4894  def get_closest(self, vec, value):
4895  r"""get_closest(CrossLinkData self, DistBase vec, double value) -> int"""
4896  return _IMP_isd.CrossLinkData_get_closest(self, vec, value)
4897 
4898  def get_omegas(self, sigma, dists):
4899  r"""get_omegas(CrossLinkData self, double sigma, IMP::Floats dists) -> IMP::Floats"""
4900  return _IMP_isd.CrossLinkData_get_omegas(self, sigma, dists)
4901 
4902  def get_omega_prior(self, omega, omega0):
4903  r"""get_omega_prior(CrossLinkData self, double omega, double omega0) -> double"""
4904  return _IMP_isd.CrossLinkData_get_omega_prior(self, omega, omega0)
4905 
4906  def get_nonmarginal_elements(self, sigmai, dists):
4907  r"""get_nonmarginal_elements(CrossLinkData self, double sigmai, IMP::Floats dists) -> IMP::Floats"""
4908  return _IMP_isd.CrossLinkData_get_nonmarginal_elements(self, sigmai, dists)
4909 
4910  def get_marginal_elements(self, sigma, dists):
4911  r"""get_marginal_elements(CrossLinkData self, double sigma, IMP::Floats dists) -> IMP::Floats"""
4912  return _IMP_isd.CrossLinkData_get_marginal_elements(self, sigma, dists)
4913 
4914  def get_marginal_maximum(self, *args):
4915  r"""
4916  get_marginal_maximum(CrossLinkData self, double sigma) -> double
4917  get_marginal_maximum(CrossLinkData self) -> double
4918  """
4919  return _IMP_isd.CrossLinkData_get_marginal_maximum(self, *args)
4920 
4921  def get_version_info(self):
4922  r"""get_version_info(CrossLinkData self) -> VersionInfo"""
4923  return _IMP_isd.CrossLinkData_get_version_info(self)
4924  __swig_destroy__ = _IMP_isd.delete_CrossLinkData
4925 
4926  def __str__(self):
4927  r"""__str__(CrossLinkData self) -> std::string"""
4928  return _IMP_isd.CrossLinkData___str__(self)
4929 
4930  def __repr__(self):
4931  r"""__repr__(CrossLinkData self) -> std::string"""
4932  return _IMP_isd.CrossLinkData___repr__(self)
4933 
4934  @staticmethod
4935  def get_from(o):
4936  return _object_cast_to_CrossLinkData(o)
4937 
4938 
4939  def _get_as_binary(self):
4940  r"""_get_as_binary(CrossLinkData self) -> PyObject *"""
4941  return _IMP_isd.CrossLinkData__get_as_binary(self)
4942 
4943  def _set_from_binary(self, p):
4944  r"""_set_from_binary(CrossLinkData self, PyObject * p)"""
4945  return _IMP_isd.CrossLinkData__set_from_binary(self, p)
4946 
4947  def __getstate__(self):
4948  p = self._get_as_binary()
4949  if len(self.__dict__) > 1:
4950  d = self.__dict__.copy()
4951  del d['this']
4952  p = (d, p)
4953  return p
4954 
4955  def __setstate__(self, p):
4956  if not hasattr(self, 'this'):
4957  self.__init__()
4958  if isinstance(p, tuple):
4959  d, p = p
4960  self.__dict__.update(d)
4961  return self._set_from_binary(p)
4962 
4963 
4964 # Register CrossLinkData in _IMP_isd:
4965 _IMP_isd.CrossLinkData_swigregister(CrossLinkData)
4966 class CysteineCrossLinkRestraint(IMP.Restraint):
4967  r"""Proxy of C++ IMP::isd::CysteineCrossLinkRestraint class."""
4968 
4969  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4970 
4971  def __init__(self, *args):
4972  r"""
4973  __init__(CysteineCrossLinkRestraint self, Model m, _ParticleIndexAdaptor beta, _ParticleIndexAdaptor sigma, _ParticleIndexAdaptor epsilon, _ParticleIndexAdaptor weight, CrossLinkData data, double fexp) -> CysteineCrossLinkRestraint
4974  __init__(CysteineCrossLinkRestraint self, Model m, _ParticleIndexAdaptor beta, _ParticleIndexAdaptor sigma, _ParticleIndexAdaptor epsilon, _ParticleIndexAdaptor weight, CrossLinkData data, CysteineCrossLinkData ccldata) -> CysteineCrossLinkRestraint
4975  __init__(CysteineCrossLinkRestraint self) -> CysteineCrossLinkRestraint
4976  """
4977  _IMP_isd.CysteineCrossLinkRestraint_swiginit(self, _IMP_isd.new_CysteineCrossLinkRestraint(*args))
4978 
4979  def get_probability(self):
4980  r"""get_probability(CysteineCrossLinkRestraint self) -> double"""
4981  return _IMP_isd.CysteineCrossLinkRestraint_get_probability(self)
4982 
4983  def get_standard_error(self):
4984  r"""get_standard_error(CysteineCrossLinkRestraint self) -> double"""
4985  return _IMP_isd.CysteineCrossLinkRestraint_get_standard_error(self)
4986 
4987  def get_frequencies(self):
4988  r"""get_frequencies(CysteineCrossLinkRestraint self) -> IMP::Floats"""
4989  return _IMP_isd.CysteineCrossLinkRestraint_get_frequencies(self)
4990 
4991  def get_model_frequency(self):
4992  r"""get_model_frequency(CysteineCrossLinkRestraint self) -> double"""
4993  return _IMP_isd.CysteineCrossLinkRestraint_get_model_frequency(self)
4994 
4995  def get_distances(self):
4996  r"""get_distances(CysteineCrossLinkRestraint self) -> IMP::Floats"""
4997  return _IMP_isd.CysteineCrossLinkRestraint_get_distances(self)
4998 
4999  def get_truncated_normalization(self, mean, sigma):
5000  r"""get_truncated_normalization(CysteineCrossLinkRestraint self, double mean, double sigma) -> double"""
5001  return _IMP_isd.CysteineCrossLinkRestraint_get_truncated_normalization(self, mean, sigma)
5002 
5003  def get_normal_pdf(self, mean, sigma, x):
5004  r"""get_normal_pdf(CysteineCrossLinkRestraint self, double mean, double sigma, double x) -> double"""
5005  return _IMP_isd.CysteineCrossLinkRestraint_get_normal_pdf(self, mean, sigma, x)
5006 
5007  def add_contribution(self, *args):
5008  r"""
5009  add_contribution(CysteineCrossLinkRestraint self, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2)
5010  add_contribution(CysteineCrossLinkRestraint self, IMP::ParticleIndexes p1, IMP::ParticleIndexes p2)
5011  """
5012  return _IMP_isd.CysteineCrossLinkRestraint_add_contribution(self, *args)
5013 
5014  def get_CB_coordinates(self, ps):
5015  r"""get_CB_coordinates(CysteineCrossLinkRestraint self, IMP::ParticleIndexes const & ps) -> Vector3D"""
5016  return _IMP_isd.CysteineCrossLinkRestraint_get_CB_coordinates(self, ps)
5017 
5018  def get_number_of_contributions(self):
5019  r"""get_number_of_contributions(CysteineCrossLinkRestraint self) -> unsigned int"""
5020  return _IMP_isd.CysteineCrossLinkRestraint_get_number_of_contributions(self)
5021 
5022  def do_get_inputs(self):
5023  r"""do_get_inputs(CysteineCrossLinkRestraint self) -> IMP::ModelObjectsTemp"""
5024  return _IMP_isd.CysteineCrossLinkRestraint_do_get_inputs(self)
5025 
5026  def get_version_info(self):
5027  r"""get_version_info(CysteineCrossLinkRestraint self) -> VersionInfo"""
5028  return _IMP_isd.CysteineCrossLinkRestraint_get_version_info(self)
5029  __swig_destroy__ = _IMP_isd.delete_CysteineCrossLinkRestraint
5030 
5031  def __str__(self):
5032  r"""__str__(CysteineCrossLinkRestraint self) -> std::string"""
5033  return _IMP_isd.CysteineCrossLinkRestraint___str__(self)
5034 
5035  def __repr__(self):
5036  r"""__repr__(CysteineCrossLinkRestraint self) -> std::string"""
5037  return _IMP_isd.CysteineCrossLinkRestraint___repr__(self)
5038 
5039  @staticmethod
5040  def get_from(o):
5041  return _object_cast_to_CysteineCrossLinkRestraint(o)
5042 
5043 
5044  def _get_as_binary(self):
5045  r"""_get_as_binary(CysteineCrossLinkRestraint self) -> PyObject *"""
5046  return _IMP_isd.CysteineCrossLinkRestraint__get_as_binary(self)
5047 
5048  def _set_from_binary(self, p):
5049  r"""_set_from_binary(CysteineCrossLinkRestraint self, PyObject * p)"""
5050  return _IMP_isd.CysteineCrossLinkRestraint__set_from_binary(self, p)
5051 
5052  def __getstate__(self):
5053  p = self._get_as_binary()
5054  if len(self.__dict__) > 1:
5055  d = self.__dict__.copy()
5056  del d['this']
5057  p = (d, p)
5058  return p
5059 
5060  def __setstate__(self, p):
5061  if not hasattr(self, 'this'):
5062  self.__init__()
5063  if isinstance(p, tuple):
5064  d, p = p
5065  self.__dict__.update(d)
5066  return self._set_from_binary(p)
5067 
5068 
5069 # Register CysteineCrossLinkRestraint in _IMP_isd:
5070 _IMP_isd.CysteineCrossLinkRestraint_swigregister(CysteineCrossLinkRestraint)
5071 class WeightMover(IMP.core.MonteCarloMover):
5072  r"""Proxy of C++ IMP::isd::WeightMover class."""
5073 
5074  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5075 
5076  def __init__(self, w, radius):
5077  r"""__init__(WeightMover self, Particle w, IMP::Float radius) -> WeightMover"""
5078  _IMP_isd.WeightMover_swiginit(self, _IMP_isd.new_WeightMover(w, radius))
5079 
5080  def set_radius(self, radius):
5081  r"""set_radius(WeightMover self, IMP::Float radius)"""
5082  return _IMP_isd.WeightMover_set_radius(self, radius)
5083 
5084  def get_radius(self):
5085  r"""get_radius(WeightMover self) -> IMP::Float"""
5086  return _IMP_isd.WeightMover_get_radius(self)
5087 
5088  def get_version_info(self):
5089  r"""get_version_info(WeightMover self) -> VersionInfo"""
5090  return _IMP_isd.WeightMover_get_version_info(self)
5091  __swig_destroy__ = _IMP_isd.delete_WeightMover
5092 
5093  def __str__(self):
5094  r"""__str__(WeightMover self) -> std::string"""
5095  return _IMP_isd.WeightMover___str__(self)
5096 
5097  def __repr__(self):
5098  r"""__repr__(WeightMover self) -> std::string"""
5099  return _IMP_isd.WeightMover___repr__(self)
5100 
5101  @staticmethod
5102  def get_from(o):
5103  return _object_cast_to_WeightMover(o)
5104 
5105 
5106 # Register WeightMover in _IMP_isd:
5107 _IMP_isd.WeightMover_swigregister(WeightMover)
5108 class WeightRestraint(IMP.Restraint):
5109  r"""Proxy of C++ IMP::isd::WeightRestraint class."""
5110 
5111  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5112 
5113  def __init__(self, w, wmin, wmax, kappa):
5114  r"""__init__(WeightRestraint self, Particle w, IMP::Float wmin, IMP::Float wmax, IMP::Float kappa) -> WeightRestraint"""
5115  _IMP_isd.WeightRestraint_swiginit(self, _IMP_isd.new_WeightRestraint(w, wmin, wmax, kappa))
5116 
5117  def do_get_inputs(self):
5118  r"""do_get_inputs(WeightRestraint self) -> IMP::ModelObjectsTemp"""
5119  return _IMP_isd.WeightRestraint_do_get_inputs(self)
5120 
5121  def get_version_info(self):
5122  r"""get_version_info(WeightRestraint self) -> VersionInfo"""
5123  return _IMP_isd.WeightRestraint_get_version_info(self)
5124  __swig_destroy__ = _IMP_isd.delete_WeightRestraint
5125 
5126  def __str__(self):
5127  r"""__str__(WeightRestraint self) -> std::string"""
5128  return _IMP_isd.WeightRestraint___str__(self)
5129 
5130  def __repr__(self):
5131  r"""__repr__(WeightRestraint self) -> std::string"""
5132  return _IMP_isd.WeightRestraint___repr__(self)
5133 
5134  @staticmethod
5135  def get_from(o):
5136  return _object_cast_to_WeightRestraint(o)
5137 
5138 
5139 # Register WeightRestraint in _IMP_isd:
5140 _IMP_isd.WeightRestraint_swigregister(WeightRestraint)
5141 class AtomicCrossLinkMSRestraint(IMP.Restraint):
5142  r"""Proxy of C++ IMP::isd::AtomicCrossLinkMSRestraint class."""
5143 
5144  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5145 
5146  def __init__(self, *args):
5147  r"""
5148  __init__(AtomicCrossLinkMSRestraint self, Model m, double length, ParticleIndex psi, IMP::Float slope=0.0, bool part_of_log_score=False, std::string name="AtomicCrossLinkMSRestraint%1%") -> AtomicCrossLinkMSRestraint
5149  __init__(AtomicCrossLinkMSRestraint self) -> AtomicCrossLinkMSRestraint
5150  """
5151  _IMP_isd.AtomicCrossLinkMSRestraint_swiginit(self, _IMP_isd.new_AtomicCrossLinkMSRestraint(*args))
5152 
5153  def add_contribution(self, ppi, sigmas):
5154  r"""add_contribution(AtomicCrossLinkMSRestraint self, IMP::ParticleIndexPair const & ppi, IMP::ParticleIndexPair const & sigmas)"""
5155  return _IMP_isd.AtomicCrossLinkMSRestraint_add_contribution(self, ppi, sigmas)
5156 
5157  def evaluate_for_contributions(self, c, accum):
5158  r"""evaluate_for_contributions(AtomicCrossLinkMSRestraint self, IMP::Ints c, DerivativeAccumulator accum) -> IMP::Float"""
5159  return _IMP_isd.AtomicCrossLinkMSRestraint_evaluate_for_contributions(self, c, accum)
5160 
5161  def get_number_of_contributions(self):
5162  r"""get_number_of_contributions(AtomicCrossLinkMSRestraint self) -> unsigned int"""
5163  return _IMP_isd.AtomicCrossLinkMSRestraint_get_number_of_contributions(self)
5164 
5165  def get_contribution(self, i):
5166  r"""get_contribution(AtomicCrossLinkMSRestraint self, int i) -> IMP::ParticleIndexPair"""
5167  return _IMP_isd.AtomicCrossLinkMSRestraint_get_contribution(self, i)
5168 
5169  def get_contribution_sigmas(self, i):
5170  r"""get_contribution_sigmas(AtomicCrossLinkMSRestraint self, int i) -> IMP::ParticleIndexPair"""
5171  return _IMP_isd.AtomicCrossLinkMSRestraint_get_contribution_sigmas(self, i)
5172 
5173  def get_psi(self):
5174  r"""get_psi(AtomicCrossLinkMSRestraint self) -> ParticleIndex"""
5175  return _IMP_isd.AtomicCrossLinkMSRestraint_get_psi(self)
5176 
5177  def do_get_inputs(self):
5178  r"""do_get_inputs(AtomicCrossLinkMSRestraint self) -> IMP::ModelObjectsTemp"""
5179  return _IMP_isd.AtomicCrossLinkMSRestraint_do_get_inputs(self)
5180 
5181  def show(self, out):
5182  r"""show(AtomicCrossLinkMSRestraint self, _ostream out)"""
5183  return _IMP_isd.AtomicCrossLinkMSRestraint_show(self, out)
5184 
5185  def set_slope(self, slope):
5186  r"""set_slope(AtomicCrossLinkMSRestraint self, IMP::Float slope)"""
5187  return _IMP_isd.AtomicCrossLinkMSRestraint_set_slope(self, slope)
5188 
5189  def set_part_of_log_score(self, hey):
5190  r"""set_part_of_log_score(AtomicCrossLinkMSRestraint self, bool hey)"""
5191  return _IMP_isd.AtomicCrossLinkMSRestraint_set_part_of_log_score(self, hey)
5192 
5193  def get_version_info(self):
5194  r"""get_version_info(AtomicCrossLinkMSRestraint self) -> VersionInfo"""
5195  return _IMP_isd.AtomicCrossLinkMSRestraint_get_version_info(self)
5196  __swig_destroy__ = _IMP_isd.delete_AtomicCrossLinkMSRestraint
5197 
5198  def __str__(self):
5199  r"""__str__(AtomicCrossLinkMSRestraint self) -> std::string"""
5200  return _IMP_isd.AtomicCrossLinkMSRestraint___str__(self)
5201 
5202  def __repr__(self):
5203  r"""__repr__(AtomicCrossLinkMSRestraint self) -> std::string"""
5204  return _IMP_isd.AtomicCrossLinkMSRestraint___repr__(self)
5205 
5206  @staticmethod
5207  def get_from(o):
5208  return _object_cast_to_AtomicCrossLinkMSRestraint(o)
5209 
5210 
5211  def _get_as_binary(self):
5212  r"""_get_as_binary(AtomicCrossLinkMSRestraint self) -> PyObject *"""
5213  return _IMP_isd.AtomicCrossLinkMSRestraint__get_as_binary(self)
5214 
5215  def _set_from_binary(self, p):
5216  r"""_set_from_binary(AtomicCrossLinkMSRestraint self, PyObject * p)"""
5217  return _IMP_isd.AtomicCrossLinkMSRestraint__set_from_binary(self, p)
5218 
5219  def __getstate__(self):
5220  p = self._get_as_binary()
5221  if len(self.__dict__) > 1:
5222  d = self.__dict__.copy()
5223  del d['this']
5224  p = (d, p)
5225  return p
5226 
5227  def __setstate__(self, p):
5228  if not hasattr(self, 'this'):
5229  self.__init__()
5230  if isinstance(p, tuple):
5231  d, p = p
5232  self.__dict__.update(d)
5233  return self._set_from_binary(p)
5234 
5235 
5236 # Register AtomicCrossLinkMSRestraint in _IMP_isd:
5237 _IMP_isd.AtomicCrossLinkMSRestraint_swigregister(AtomicCrossLinkMSRestraint)
5238 class GaussianEMRestraint(IMP.Restraint):
5239  r"""Proxy of C++ IMP::isd::GaussianEMRestraint class."""
5240 
5241  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5242 
5243  def __init__(self, *args):
5244  r"""
5245  __init__(GaussianEMRestraint self, Model mdl, IMP::ParticleIndexes model_ps, IMP::ParticleIndexes density_ps, ParticleIndex global_sigma, IMP::Float model_cutoff_dist, IMP::Float density_cutoff_dist, IMP::Float slope, bool update_model=True, bool backbone_slope=False, bool local=False, std::string name="GaussianEMRestraint%1%") -> GaussianEMRestraint
5246  __init__(GaussianEMRestraint self) -> GaussianEMRestraint
5247  """
5248  _IMP_isd.GaussianEMRestraint_swiginit(self, _IMP_isd.new_GaussianEMRestraint(*args))
5249 
5250  def get_probability(self):
5251  r"""get_probability(GaussianEMRestraint self) -> double"""
5252  return _IMP_isd.GaussianEMRestraint_get_probability(self)
5253 
5255  r"""get_cross_correlation_coefficient(GaussianEMRestraint self) -> double"""
5256  return _IMP_isd.GaussianEMRestraint_get_cross_correlation_coefficient(self)
5257 
5258  def set_density_filename(self, density_fn):
5259  r"""set_density_filename(GaussianEMRestraint self, std::string density_fn)"""
5260  return _IMP_isd.GaussianEMRestraint_set_density_filename(self, density_fn)
5261 
5262  def compute_initial_scores(self):
5263  r"""compute_initial_scores(GaussianEMRestraint self)"""
5264  return _IMP_isd.GaussianEMRestraint_compute_initial_scores(self)
5265 
5266  def set_slope(self, s):
5267  r"""set_slope(GaussianEMRestraint self, IMP::Float s)"""
5268  return _IMP_isd.GaussianEMRestraint_set_slope(self, s)
5269 
5270  def get_slope(self):
5271  r"""get_slope(GaussianEMRestraint self) -> IMP::Float"""
5272  return _IMP_isd.GaussianEMRestraint_get_slope(self)
5273 
5274  def do_get_inputs(self):
5275  r"""do_get_inputs(GaussianEMRestraint self) -> IMP::ModelObjectsTemp"""
5276  return _IMP_isd.GaussianEMRestraint_do_get_inputs(self)
5277 
5278  def show(self, out):
5279  r"""show(GaussianEMRestraint self, _ostream out)"""
5280  return _IMP_isd.GaussianEMRestraint_show(self, out)
5281 
5282  def get_version_info(self):
5283  r"""get_version_info(GaussianEMRestraint self) -> VersionInfo"""
5284  return _IMP_isd.GaussianEMRestraint_get_version_info(self)
5285  __swig_destroy__ = _IMP_isd.delete_GaussianEMRestraint
5286 
5287  def __str__(self):
5288  r"""__str__(GaussianEMRestraint self) -> std::string"""
5289  return _IMP_isd.GaussianEMRestraint___str__(self)
5290 
5291  def __repr__(self):
5292  r"""__repr__(GaussianEMRestraint self) -> std::string"""
5293  return _IMP_isd.GaussianEMRestraint___repr__(self)
5294 
5295  @staticmethod
5296  def get_from(o):
5297  return _object_cast_to_GaussianEMRestraint(o)
5298 
5299 
5300  def _get_as_binary(self):
5301  r"""_get_as_binary(GaussianEMRestraint self) -> PyObject *"""
5302  return _IMP_isd.GaussianEMRestraint__get_as_binary(self)
5303 
5304  def _set_from_binary(self, p):
5305  r"""_set_from_binary(GaussianEMRestraint self, PyObject * p)"""
5306  return _IMP_isd.GaussianEMRestraint__set_from_binary(self, p)
5307 
5308  def __getstate__(self):
5309  p = self._get_as_binary()
5310  if len(self.__dict__) > 1:
5311  d = self.__dict__.copy()
5312  del d['this']
5313  p = (d, p)
5314  return p
5315 
5316  def __setstate__(self, p):
5317  if not hasattr(self, 'this'):
5318  self.__init__()
5319  if isinstance(p, tuple):
5320  d, p = p
5321  self.__dict__.update(d)
5322  return self._set_from_binary(p)
5323 
5324 
5325 # Register GaussianEMRestraint in _IMP_isd:
5326 _IMP_isd.GaussianEMRestraint_swigregister(GaussianEMRestraint)
5327 class GaussianAnchorEMRestraint(ISDRestraint):
5328  r"""Proxy of C++ IMP::isd::GaussianAnchorEMRestraint class."""
5329 
5330  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5331 
5332  def __init__(self, *args):
5333  r"""__init__(GaussianAnchorEMRestraint self, IMP::ParticlesTemp model_ps, IMP::Floats model_sigs, IMP::Floats model_weights, IMP::ParticlesTemp density_ps, IMP::Floats density_sigs, IMP::Floats density_weights, Particle global_sigma, IMP::Float cutoff_dist, bool rigid, bool tabexp, std::string name="GaussianAnchorEMRestraint%1%") -> GaussianAnchorEMRestraint"""
5334  _IMP_isd.GaussianAnchorEMRestraint_swiginit(self, _IMP_isd.new_GaussianAnchorEMRestraint(*args))
5335 
5336  def get_density_particles(self):
5337  r"""get_density_particles(GaussianAnchorEMRestraint self) -> IMP::ParticlesTemp"""
5338  return _IMP_isd.GaussianAnchorEMRestraint_get_density_particles(self)
5339  __swig_destroy__ = _IMP_isd.delete_GaussianAnchorEMRestraint
5340 
5341  def __str__(self):
5342  r"""__str__(GaussianAnchorEMRestraint self) -> std::string"""
5343  return _IMP_isd.GaussianAnchorEMRestraint___str__(self)
5344 
5345  def __repr__(self):
5346  r"""__repr__(GaussianAnchorEMRestraint self) -> std::string"""
5347  return _IMP_isd.GaussianAnchorEMRestraint___repr__(self)
5348 
5349  @staticmethod
5350  def get_from(o):
5351  return _object_cast_to_GaussianAnchorEMRestraint(o)
5352 
5353 
5354 # Register GaussianAnchorEMRestraint in _IMP_isd:
5355 _IMP_isd.GaussianAnchorEMRestraint_swigregister(GaussianAnchorEMRestraint)
5356 class GammaPrior(IMP.Restraint):
5357  r"""Proxy of C++ IMP::isd::GammaPrior class."""
5358 
5359  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5360 
5361  def __init__(self, *args):
5362  r"""__init__(GammaPrior self, Model m, Particle p, IMP::Float k, IMP::Float theta, std::string name="GammaPrior%1%") -> GammaPrior"""
5363  _IMP_isd.GammaPrior_swiginit(self, _IMP_isd.new_GammaPrior(*args))
5364 
5365  def evaluate_at(self, val):
5366  r"""evaluate_at(GammaPrior self, IMP::Float val) -> double"""
5367  return _IMP_isd.GammaPrior_evaluate_at(self, val)
5368 
5369  def do_get_inputs(self):
5370  r"""do_get_inputs(GammaPrior self) -> IMP::ModelObjectsTemp"""
5371  return _IMP_isd.GammaPrior_do_get_inputs(self)
5372 
5373  def get_version_info(self):
5374  r"""get_version_info(GammaPrior self) -> VersionInfo"""
5375  return _IMP_isd.GammaPrior_get_version_info(self)
5376  __swig_destroy__ = _IMP_isd.delete_GammaPrior
5377 
5378  def get_probability(self):
5379  r"""get_probability(GammaPrior self) -> double"""
5380  return _IMP_isd.GammaPrior_get_probability(self)
5381 
5382  def __str__(self):
5383  r"""__str__(GammaPrior self) -> std::string"""
5384  return _IMP_isd.GammaPrior___str__(self)
5385 
5386  def __repr__(self):
5387  r"""__repr__(GammaPrior self) -> std::string"""
5388  return _IMP_isd.GammaPrior___repr__(self)
5389 
5390  @staticmethod
5391  def get_from(o):
5392  return _object_cast_to_GammaPrior(o)
5393 
5394 
5395 # Register GammaPrior in _IMP_isd:
5396 _IMP_isd.GammaPrior_swigregister(GammaPrior)
5397 
5398 def sample_points_from_density(dmap_orig, npoints, threshold=0.0):
5399  r"""sample_points_from_density(DensityMap dmap_orig, int npoints, IMP::Float threshold=0.0) -> IMP::FloatsList"""
5400  return _IMP_isd.sample_points_from_density(dmap_orig, npoints, threshold)
5401 class ResidueProteinProximityRestraint(IMP.Restraint):
5402  r"""Proxy of C++ IMP::isd::ResidueProteinProximityRestraint class."""
5403 
5404  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5405 
5406  def __init__(self, *args):
5407  r"""__init__(ResidueProteinProximityRestraint self, Model m, double cutoff=6.0, double sigma=3.0, double xi=0.5, bool part_of_log_score=False, std::string name="ResidueProteinProximityRestraint_%1%") -> ResidueProteinProximityRestraint"""
5408  _IMP_isd.ResidueProteinProximityRestraint_swiginit(self, _IMP_isd.new_ResidueProteinProximityRestraint(*args))
5409 
5410  def add_pairs_container(self, pc):
5411  r"""add_pairs_container(ResidueProteinProximityRestraint self, PairContainer pc)"""
5412  return _IMP_isd.ResidueProteinProximityRestraint_add_pairs_container(self, pc)
5413 
5414  def add_contribution_particles(self, ppis1, ppis2):
5415  r"""add_contribution_particles(ResidueProteinProximityRestraint self, IMP::ParticleIndexes const ppis1, IMP::ParticleIndexes const ppis2)"""
5416  return _IMP_isd.ResidueProteinProximityRestraint_add_contribution_particles(self, ppis1, ppis2)
5417 
5418  def evaluate_for_contributions(self, c):
5419  r"""evaluate_for_contributions(ResidueProteinProximityRestraint self, IMP::Ints c) -> double"""
5420  return _IMP_isd.ResidueProteinProximityRestraint_evaluate_for_contributions(self, c)
5421 
5422  def get_number_of_contributions(self):
5423  r"""get_number_of_contributions(ResidueProteinProximityRestraint self) -> unsigned int"""
5424  return _IMP_isd.ResidueProteinProximityRestraint_get_number_of_contributions(self)
5425 
5426  def set_sigma(self, sigma):
5427  r"""set_sigma(ResidueProteinProximityRestraint self, double sigma)"""
5428  return _IMP_isd.ResidueProteinProximityRestraint_set_sigma(self, sigma)
5429 
5430  def set_cutoff(self, cutoff):
5431  r"""set_cutoff(ResidueProteinProximityRestraint self, double cutoff)"""
5432  return _IMP_isd.ResidueProteinProximityRestraint_set_cutoff(self, cutoff)
5433 
5434  def set_max_score(self, max_score):
5435  r"""set_max_score(ResidueProteinProximityRestraint self, double max_score)"""
5436  return _IMP_isd.ResidueProteinProximityRestraint_set_max_score(self, max_score)
5437 
5438  def set_yi(self, yi):
5439  r"""set_yi(ResidueProteinProximityRestraint self, double yi)"""
5440  return _IMP_isd.ResidueProteinProximityRestraint_set_yi(self, yi)
5441 
5442  def set_interpolation_factor(self, interpolation_factor):
5443  r"""set_interpolation_factor(ResidueProteinProximityRestraint self, double interpolation_factor)"""
5444  return _IMP_isd.ResidueProteinProximityRestraint_set_interpolation_factor(self, interpolation_factor)
5445 
5446  def set_part_of_log_score(self, hey):
5447  r"""set_part_of_log_score(ResidueProteinProximityRestraint self, bool hey)"""
5448  return _IMP_isd.ResidueProteinProximityRestraint_set_part_of_log_score(self, hey)
5449 
5450  def do_get_inputs(self):
5451  r"""do_get_inputs(ResidueProteinProximityRestraint self) -> IMP::ModelObjectsTemp"""
5452  return _IMP_isd.ResidueProteinProximityRestraint_do_get_inputs(self)
5453 
5454  def get_version_info(self):
5455  r"""get_version_info(ResidueProteinProximityRestraint self) -> VersionInfo"""
5456  return _IMP_isd.ResidueProteinProximityRestraint_get_version_info(self)
5457  __swig_destroy__ = _IMP_isd.delete_ResidueProteinProximityRestraint
5458 
5459  def __str__(self):
5460  r"""__str__(ResidueProteinProximityRestraint self) -> std::string"""
5461  return _IMP_isd.ResidueProteinProximityRestraint___str__(self)
5462 
5463  def __repr__(self):
5464  r"""__repr__(ResidueProteinProximityRestraint self) -> std::string"""
5465  return _IMP_isd.ResidueProteinProximityRestraint___repr__(self)
5466 
5467  @staticmethod
5468  def get_from(o):
5469  return _object_cast_to_ResidueProteinProximityRestraint(o)
5470 
5471 
5472 # Register ResidueProteinProximityRestraint in _IMP_isd:
5473 _IMP_isd.ResidueProteinProximityRestraint_swigregister(ResidueProteinProximityRestraint)
5474 
5475 def get_module_name():
5476  r"""get_module_name() -> std::string const"""
5477  return _IMP_isd.get_module_name()
5478 
5479 def get_module_version():
5480  r"""get_module_version() -> std::string const"""
5481  return _IMP_isd.get_module_version()
5482 
5483 def get_example_path(fname):
5484  r"""get_example_path(std::string fname) -> std::string"""
5485  return _IMP_isd.get_example_path(fname)
5486 
5487 def get_data_path(fname):
5488  r"""get_data_path(std::string fname) -> std::string"""
5489  return _IMP_isd.get_data_path(fname)
5490 
5491 from . import _version_check
5492 _version_check.check_version(get_module_version())
5493 __version__ = get_module_version()
5494 
5495 
Abstract class for scoring object(s) of type ParticleIndexPair.
Definition: PairScore.h:44
A Monte Carlo optimizer.
Definition: MonteCarlo.h:46
Various classes to hold sets of particles.
static XYZR setup_particle(Model *m, ParticleIndex pi)
Definition: XYZR.h:48
static FloatKey get_scale_key()
Definition: Scale.h:47
Make CGAL functionality available to IMP.
virtual void clear_caches()
Definition: Object.h:270
virtual ModelObjectsTemp do_get_outputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the outputs.
Composable functors to implement scores via compile-time composition.
Vector3D get_random_vector_in(const Cylinder3D &c)
Generate a random vector in a cylinder with uniform density.
Code to compute statistical measures.
Object used to hold a set of restraints.
Definition: RestraintSet.h:41
Class for storing model, its restraints, constraints, and particles.
Definition: Model.h:86
ModelObjectsTemp get_inputs(Model *m, const ParticleIndexes &pis) const
Get the ModelObjects read when the given list of particles is used.
virtual void do_destroy()
Definition: Object.h:274
Common base class for heavy weight IMP objects.
Definition: Object.h:111
Simple molecular dynamics simulator.
Store a list of ParticleIndexes.
A base class for classes which perturb particles.
virtual ModelObjectsTemp do_get_inputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the inputs.
Basic utilities for handling cryo-electron microscopy 3D density maps.
double get_cross_correlation_coefficient(Image *im1, Image *im2)
Cross correlation between two images.
Interface to specialized Particle types (e.g. atoms)
Definition: Decorator.h:119
Basic functionality that is expected to be used by a wide variety of IMP users.
General purpose algebraic and geometric methods that are expected to be used by a wide variety of IMP...
std::string get_module_version()
Return the version of this module, as a string.
virtual VersionInfo get_version_info() const
Get information about the module and version of the object.
Definition: Object.h:206
Class to handle individual particles of a Model object.
Definition: Particle.h:45
void set_check_level(CheckLevel l)
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.
Output IMP model data in various file formats.
Functionality for loading, creating, manipulating and scoring atomic structures.
std::string get_data_path(std::string file_name)
Return the full path to one of this module's data files.
Support for small angle X-ray scattering (SAXS) data.
A restraint is a term in an IMP ScoringFunction.
Definition: Restraint.h:56