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