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