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