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