IMP logo
IMP Reference Guide  develop.6701db5d00,2026/08/25
The Integrative Modeling Platform
__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.5.0
3 #
4 # Do not make changes to this file unless you know what you are doing - modify
5 # the SWIG interface file instead.
6 
7 
8 # This wrapper is part of IMP,
9 # Copyright 2007-2026 IMP Inventors. All rights reserved.
10 
11 
12 
13 
14 import typing
15 import _IMP_kernel
16 
17 import builtins as __builtin__
18 
19 def _swig_repr(self):
20  try:
21  strthis = "proxy of " + self.this.__repr__()
22  except __builtin__.Exception:
23  strthis = ""
24  return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
25 
26 
27 def _swig_setattr_nondynamic_instance_variable(set):
28  def set_instance_attr(self, name, value):
29  if name == "this":
30  set(self, name, value)
31  elif name == "thisown":
32  self.this.own(value)
33  elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
34  set(self, name, value)
35  else:
36  raise AttributeError("You cannot add instance attributes to %s" % self)
37  return set_instance_attr
38 
39 
40 def _swig_setattr_nondynamic_class_variable(set):
41  def set_class_attr(cls, name, value):
42  if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
43  set(cls, name, value)
44  else:
45  raise AttributeError("You cannot add class attributes to %s" % cls)
46  return set_class_attr
47 
48 
49 class _SwigNonDynamicMeta(type):
50  """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
51  __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
52 
53 
54 import weakref
55 
56 class IMP_KERNEL_SwigPyIterator(object):
57  r"""Proxy of C++ swig::IMP_KERNEL_SwigPyIterator class."""
58 
59  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
60 
61  def __init__(self, *args, **kwargs):
62  raise AttributeError("No constructor defined - class is abstract")
63  __repr__ = _swig_repr
64  __swig_destroy__ = _IMP_kernel.delete_IMP_KERNEL_SwigPyIterator
65 
66  def value(self):
67  r"""value(IMP_KERNEL_SwigPyIterator self) -> PyObject *"""
68  return _IMP_kernel.IMP_KERNEL_SwigPyIterator_value(self)
69 
70  def incr(self, n=1):
71  r"""incr(IMP_KERNEL_SwigPyIterator self, size_t n=1) -> IMP_KERNEL_SwigPyIterator"""
72  return _IMP_kernel.IMP_KERNEL_SwigPyIterator_incr(self, n)
73 
74  def decr(self, n=1):
75  r"""decr(IMP_KERNEL_SwigPyIterator self, size_t n=1) -> IMP_KERNEL_SwigPyIterator"""
76  return _IMP_kernel.IMP_KERNEL_SwigPyIterator_decr(self, n)
77 
78  def distance(self, x):
79  r"""distance(IMP_KERNEL_SwigPyIterator self, IMP_KERNEL_SwigPyIterator x) -> ptrdiff_t"""
80  return _IMP_kernel.IMP_KERNEL_SwigPyIterator_distance(self, x)
81 
82  def equal(self, x):
83  r"""equal(IMP_KERNEL_SwigPyIterator self, IMP_KERNEL_SwigPyIterator x) -> bool"""
84  return _IMP_kernel.IMP_KERNEL_SwigPyIterator_equal(self, x)
85 
86  def copy(self):
87  r"""copy(IMP_KERNEL_SwigPyIterator self) -> IMP_KERNEL_SwigPyIterator"""
88  return _IMP_kernel.IMP_KERNEL_SwigPyIterator_copy(self)
89 
90  def __next__(self):
91  r"""__next__(IMP_KERNEL_SwigPyIterator self) -> PyObject *"""
92  return _IMP_kernel.IMP_KERNEL_SwigPyIterator___next__(self)
93 
94  def previous(self):
95  r"""previous(IMP_KERNEL_SwigPyIterator self) -> PyObject *"""
96  return _IMP_kernel.IMP_KERNEL_SwigPyIterator_previous(self)
97 
98  def advance(self, n):
99  r"""advance(IMP_KERNEL_SwigPyIterator self, ptrdiff_t n) -> IMP_KERNEL_SwigPyIterator"""
100  return _IMP_kernel.IMP_KERNEL_SwigPyIterator_advance(self, n)
101 
102  def __eq__(self, x):
103  r"""__eq__(IMP_KERNEL_SwigPyIterator self, IMP_KERNEL_SwigPyIterator x) -> bool"""
104  return _IMP_kernel.IMP_KERNEL_SwigPyIterator___eq__(self, x)
105 
106  def __ne__(self, x):
107  r"""__ne__(IMP_KERNEL_SwigPyIterator self, IMP_KERNEL_SwigPyIterator x) -> bool"""
108  return _IMP_kernel.IMP_KERNEL_SwigPyIterator___ne__(self, x)
109 
110  def __iadd__(self, n):
111  r"""__iadd__(IMP_KERNEL_SwigPyIterator self, ptrdiff_t n) -> IMP_KERNEL_SwigPyIterator"""
112  return _IMP_kernel.IMP_KERNEL_SwigPyIterator___iadd__(self, n)
113 
114  def __isub__(self, n):
115  r"""__isub__(IMP_KERNEL_SwigPyIterator self, ptrdiff_t n) -> IMP_KERNEL_SwigPyIterator"""
116  return _IMP_kernel.IMP_KERNEL_SwigPyIterator___isub__(self, n)
117 
118  def __add__(self, n):
119  r"""__add__(IMP_KERNEL_SwigPyIterator self, ptrdiff_t n) -> IMP_KERNEL_SwigPyIterator"""
120  return _IMP_kernel.IMP_KERNEL_SwigPyIterator___add__(self, n)
121 
122  def __sub__(self, *args):
123  r"""
124  __sub__(IMP_KERNEL_SwigPyIterator self, ptrdiff_t n) -> IMP_KERNEL_SwigPyIterator
125  __sub__(IMP_KERNEL_SwigPyIterator self, IMP_KERNEL_SwigPyIterator x) -> ptrdiff_t
126  """
127  return _IMP_kernel.IMP_KERNEL_SwigPyIterator___sub__(self, *args)
128  def __iter__(self):
129  return self
130 
131 # Register IMP_KERNEL_SwigPyIterator in _IMP_kernel:
132 _IMP_kernel.IMP_KERNEL_SwigPyIterator_swigregister(IMP_KERNEL_SwigPyIterator)
133 
134 _value_types=[]
135 _object_types=[]
136 _raii_types=[]
137 _plural_types=[]
138 
139 IMP_DEBUG = _IMP_kernel.IMP_DEBUG
140 
141 IMP_RELEASE = _IMP_kernel.IMP_RELEASE
142 
143 IMP_SILENT = _IMP_kernel.IMP_SILENT
144 
145 IMP_PROGRESS = _IMP_kernel.IMP_PROGRESS
146 
147 IMP_TERSE = _IMP_kernel.IMP_TERSE
148 
149 IMP_VERBOSE = _IMP_kernel.IMP_VERBOSE
150 
151 IMP_MEMORY = _IMP_kernel.IMP_MEMORY
152 
153 IMP_NONE = _IMP_kernel.IMP_NONE
154 
155 IMP_USAGE = _IMP_kernel.IMP_USAGE
156 
157 IMP_INTERNAL = _IMP_kernel.IMP_INTERNAL
158 
159 IMP_KERNEL_HAS_LOG4CXX = _IMP_kernel.IMP_KERNEL_HAS_LOG4CXX
160 
161 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_kernel.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
162 
163 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_kernel.IMP_COMPILER_HAS_DEBUG_VECTOR
164 
165 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_kernel.IMP_COMPILER_HAS_RANDOM_SHUFFLE
166 
167 IMP_COMPILER_HAS_THREE_WAY = _IMP_kernel.IMP_COMPILER_HAS_THREE_WAY
168 
169 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_kernel.IMP_KERNEL_HAS_BOOST_RANDOM
170 
171 IMP_KERNEL_HAS_NUMPY = _IMP_kernel.IMP_KERNEL_HAS_NUMPY
172 
173 IMP_KERNEL_HAS_BOOST_SYSTEM = _IMP_kernel.IMP_KERNEL_HAS_BOOST_SYSTEM
174 
175 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_kernel.IMP_KERNEL_HAS_GPERFTOOLS
176 
177 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_kernel.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
178 
179 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_kernel.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
180 
181 IMPKERNEL_SHOW_WARNINGS = _IMP_kernel.IMPKERNEL_SHOW_WARNINGS
182 
183 
184 import sys
185 class _DirectorObjects:
186  """@internal Simple class to keep references to director objects
187  to prevent premature deletion."""
188  def __init__(self):
189  self._objects = []
190  def register(self, obj):
191  """Take a reference to a director object; will only work for
192  refcounted C++ classes"""
193  if hasattr(obj, 'get_ref_count'):
194  self._objects.append(obj)
195  def cleanup(self):
196  """Only drop our reference and allow cleanup by Python if no other
197  Python references exist (we hold 3 references: one in self._objects,
198  one in x, and one in the argument list for getrefcount) *and* no
199  other C++ references exist (the Python object always holds one)"""
200  objs = [x for x in self._objects if sys.getrefcount(x) > 3 \
201  or x.get_ref_count() > 1]
202 # Do in two steps so the references are kept until the end of the
203 # function (deleting references may trigger a fresh call to this method)
204  self._objects = objs
205  def get_object_count(self):
206  """Get number of director objects (useful for testing only)"""
207  return len(self._objects)
208 _director_objects = _DirectorObjects()
209 
210 DEFAULT_CHECK = _IMP_kernel.DEFAULT_CHECK
211 
212 NONE = _IMP_kernel.NONE
213 
214 USAGE = _IMP_kernel.USAGE
215 
216 USAGE_AND_INTERNAL = _IMP_kernel.USAGE_AND_INTERNAL
217 
218 
219 def set_check_level(tf):
220  r"""set_check_level(IMP::CheckLevel tf)"""
221  return _IMP_kernel.set_check_level(tf)
222 
223 def get_check_level():
224  r"""get_check_level() -> IMP::CheckLevel"""
225  return _IMP_kernel.get_check_level()
226 
227 from _IMP_kernel import Exception, InternalException, ModelException, EventException
228 from _IMP_kernel import UsageException, IndexException, IOException, ValueException
229 from _IMP_kernel import TypeException
230 
231 class _ostream(object):
232  r"""Proxy of C++ std::ostream class."""
233 
234  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
235 
236  def __init__(self, *args, **kwargs):
237  raise AttributeError("No constructor defined")
238  __repr__ = _swig_repr
239 
240  def write(self, osa_buf):
241  r"""write(_ostream self, char const * osa_buf)"""
242  return _IMP_kernel._ostream_write(self, osa_buf)
243 
244 # Register _ostream in _IMP_kernel:
245 _IMP_kernel._ostream_swigregister(_ostream)
246 IMP_C_OPEN_BINARY = _IMP_kernel.IMP_C_OPEN_BINARY
247 
248 
249 from . import _list_util
250 
251 
252 _models_set = weakref.WeakSet()
253 
254 def _models_set_get(m):
255  for x in _models_set:
256  if x == m:
257  return x
258 
259 
260 _raii_types.append("SetLogState")
261 
262 
263 _raii_types.append("SetNumberOfThreads")
264 
265 
266 _raii_types.append("SetCheckState")
267 
268 
269 _object_types.append("Object")
270 
271 
272 def _object_cast_to_Object(o):
273  r"""_object_cast_to_Object(Object * o) -> Object"""
274  return _IMP_kernel._object_cast_to_Object(o)
275 
276 _object_types.append("_TestObject")
277 
278 
279 def _object_cast_to__TestObject(o):
280  r"""_object_cast_to__TestObject(Object * o) -> _TestObject"""
281  return _IMP_kernel._object_cast_to__TestObject(o)
282 
283 VersionInfos=list
284 _plural_types.append("VersionInfos")
285 _value_types.append("VersionInfo")
286 
287 
288 _raii_types.append("CreateLogContext")
289 
290 
291 _raii_types.append("WarningContext")
292 
293 
294 _raii_types.append("SetLogTarget")
295 
296 
297 _TestValues=list
298 _plural_types.append("_TestValues")
299 _value_types.append("_TestValue")
300 
301 
302 Floats=list
303 _plural_types.append("Floats")
304 _value_types.append("Float")
305 
306 
307 Ints=list
308 _plural_types.append("Ints")
309 _value_types.append("Int")
310 
311 
312 Strings=list
313 _plural_types.append("Strings")
314 _value_types.append("String")
315 
316 
317 _Protections=list
318 _plural_types.append("_Protections")
319 _value_types.append("_Protection")
320 
321 class _GeometricPrimitive1D(object):
322  r"""Proxy of C++ IMP::GeometricPrimitiveD< 1 > class."""
323 
324  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
325 
326  def __init__(self, *args, **kwargs):
327  raise AttributeError("No constructor defined")
328  __repr__ = _swig_repr
329  __swig_destroy__ = _IMP_kernel.delete__GeometricPrimitive1D
330 
331 # Register _GeometricPrimitive1D in _IMP_kernel:
332 _IMP_kernel._GeometricPrimitive1D_swigregister(_GeometricPrimitive1D)
333 class _GeometricPrimitive2D(object):
334  r"""Proxy of C++ IMP::GeometricPrimitiveD< 2 > class."""
335 
336  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
337 
338  def __init__(self, *args, **kwargs):
339  raise AttributeError("No constructor defined")
340  __repr__ = _swig_repr
341  __swig_destroy__ = _IMP_kernel.delete__GeometricPrimitive2D
342 
343 # Register _GeometricPrimitive2D in _IMP_kernel:
344 _IMP_kernel._GeometricPrimitive2D_swigregister(_GeometricPrimitive2D)
345 class _GeometricPrimitive3D(object):
346  r"""Proxy of C++ IMP::GeometricPrimitiveD< 3 > class."""
347 
348  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
349 
350  def __init__(self, *args, **kwargs):
351  raise AttributeError("No constructor defined")
352  __repr__ = _swig_repr
353  __swig_destroy__ = _IMP_kernel.delete__GeometricPrimitive3D
354 
355 # Register _GeometricPrimitive3D in _IMP_kernel:
356 _IMP_kernel._GeometricPrimitive3D_swigregister(_GeometricPrimitive3D)
357 class _GeometricPrimitive4D(object):
358  r"""Proxy of C++ IMP::GeometricPrimitiveD< 4 > class."""
359 
360  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
361 
362  def __init__(self, *args, **kwargs):
363  raise AttributeError("No constructor defined")
364  __repr__ = _swig_repr
365  __swig_destroy__ = _IMP_kernel.delete__GeometricPrimitive4D
366 
367 # Register _GeometricPrimitive4D in _IMP_kernel:
368 _IMP_kernel._GeometricPrimitive4D_swigregister(_GeometricPrimitive4D)
369 class _GeometricPrimitive5D(object):
370  r"""Proxy of C++ IMP::GeometricPrimitiveD< 5 > class."""
371 
372  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
373 
374  def __init__(self, *args, **kwargs):
375  raise AttributeError("No constructor defined")
376  __repr__ = _swig_repr
377  __swig_destroy__ = _IMP_kernel.delete__GeometricPrimitive5D
378 
379 # Register _GeometricPrimitive5D in _IMP_kernel:
380 _IMP_kernel._GeometricPrimitive5D_swigregister(_GeometricPrimitive5D)
381 class _GeometricPrimitive6D(object):
382  r"""Proxy of C++ IMP::GeometricPrimitiveD< 6 > class."""
383 
384  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
385 
386  def __init__(self, *args, **kwargs):
387  raise AttributeError("No constructor defined")
388  __repr__ = _swig_repr
389  __swig_destroy__ = _IMP_kernel.delete__GeometricPrimitive6D
390 
391 # Register _GeometricPrimitive6D in _IMP_kernel:
392 _IMP_kernel._GeometricPrimitive6D_swigregister(_GeometricPrimitive6D)
393 class _GeometricPrimitiveKD(object):
394  r"""Proxy of C++ IMP::GeometricPrimitiveD< -1 > class."""
395 
396  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
397 
398  def __init__(self, *args, **kwargs):
399  raise AttributeError("No constructor defined")
400  __repr__ = _swig_repr
401  __swig_destroy__ = _IMP_kernel.delete__GeometricPrimitiveKD
402 
403 # Register _GeometricPrimitiveKD in _IMP_kernel:
404 _IMP_kernel._GeometricPrimitiveKD_swigregister(_GeometricPrimitiveKD)
405 class _VectorBaseKD(_GeometricPrimitiveKD):
406  r"""Proxy of C++ IMP::internal::VectorBaseD< -1 > class."""
407 
408  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
409  __repr__ = _swig_repr
410 
411  def __init__(self):
412  r"""__init__(_VectorBaseKD self) -> _VectorBaseKD"""
413  _IMP_kernel._VectorBaseKD_swiginit(self, _IMP_kernel.new__VectorBaseKD())
414 
415  def get_scalar_product(self, o):
416  r"""get_scalar_product(_VectorBaseKD self, _VectorBaseKD o) -> double"""
417  return _IMP_kernel._VectorBaseKD_get_scalar_product(self, o)
418 
419  def get_squared_magnitude(self):
420  r"""get_squared_magnitude(_VectorBaseKD self) -> double"""
421  return _IMP_kernel._VectorBaseKD_get_squared_magnitude(self)
422 
423  def get_magnitude(self):
424  r"""get_magnitude(_VectorBaseKD self) -> double"""
425  return _IMP_kernel._VectorBaseKD_get_magnitude(self)
426 
427  def get_distance(self, o):
428  r"""get_distance(_VectorBaseKD self, _VectorBaseKD o) -> double"""
429  return _IMP_kernel._VectorBaseKD_get_distance(self, o)
430 
431  def __mul__(self, o):
432  r"""__mul__(_VectorBaseKD self, _VectorBaseKD o) -> double"""
433  return _IMP_kernel._VectorBaseKD___mul__(self, o)
434 
435  def __iadd__(self, o):
436  r"""__iadd__(_VectorBaseKD self, _VectorBaseKD o) -> _VectorBaseKD"""
437  return _IMP_kernel._VectorBaseKD___iadd__(self, o)
438 
439  def __isub__(self, o):
440  r"""__isub__(_VectorBaseKD self, _VectorBaseKD o) -> _VectorBaseKD"""
441  return _IMP_kernel._VectorBaseKD___isub__(self, o)
442 
443  def __itruediv__(self, *args):
444  return _IMP_kernel._VectorBaseKD___itruediv__(self, *args)
445  __idiv__ = __itruediv__
446 
447 
448 
449  def __imul__(self, f):
450  r"""__imul__(_VectorBaseKD self, double f) -> _VectorBaseKD"""
451  return _IMP_kernel._VectorBaseKD___imul__(self, f)
452 
453  def show(self, *args):
454  r"""
455  show(_VectorBaseKD self, _ostream out, std::string delim, bool parens=True)
456  show(_VectorBaseKD self, _ostream out=std::cout)
457  """
458  return _IMP_kernel._VectorBaseKD_show(self, *args)
459 
460  def get_dimension(self):
461  r"""get_dimension(_VectorBaseKD self) -> unsigned int"""
462  return _IMP_kernel._VectorBaseKD_get_dimension(self)
463  __swig_destroy__ = _IMP_kernel.delete__VectorBaseKD
464 
465 # Register _VectorBaseKD in _IMP_kernel:
466 _IMP_kernel._VectorBaseKD_swigregister(_VectorBaseKD)
467 class _VectorBase1D(_GeometricPrimitive1D):
468  r"""Proxy of C++ IMP::internal::VectorBaseD< 1 > class."""
469 
470  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
471  __repr__ = _swig_repr
472 
473  def __init__(self):
474  r"""__init__(_VectorBase1D self) -> _VectorBase1D"""
475  _IMP_kernel._VectorBase1D_swiginit(self, _IMP_kernel.new__VectorBase1D())
476 
477  def get_scalar_product(self, o):
478  r"""get_scalar_product(_VectorBase1D self, _VectorBase1D o) -> double"""
479  return _IMP_kernel._VectorBase1D_get_scalar_product(self, o)
480 
481  def get_squared_magnitude(self):
482  r"""get_squared_magnitude(_VectorBase1D self) -> double"""
483  return _IMP_kernel._VectorBase1D_get_squared_magnitude(self)
484 
485  def get_magnitude(self):
486  r"""get_magnitude(_VectorBase1D self) -> double"""
487  return _IMP_kernel._VectorBase1D_get_magnitude(self)
488 
489  def get_distance(self, o):
490  r"""get_distance(_VectorBase1D self, _VectorBase1D o) -> double"""
491  return _IMP_kernel._VectorBase1D_get_distance(self, o)
492 
493  def __mul__(self, o):
494  r"""__mul__(_VectorBase1D self, _VectorBase1D o) -> double"""
495  return _IMP_kernel._VectorBase1D___mul__(self, o)
496 
497  def __iadd__(self, o):
498  r"""__iadd__(_VectorBase1D self, _VectorBase1D o) -> _VectorBase1D"""
499  return _IMP_kernel._VectorBase1D___iadd__(self, o)
500 
501  def __isub__(self, o):
502  r"""__isub__(_VectorBase1D self, _VectorBase1D o) -> _VectorBase1D"""
503  return _IMP_kernel._VectorBase1D___isub__(self, o)
504 
505  def __itruediv__(self, *args):
506  return _IMP_kernel._VectorBase1D___itruediv__(self, *args)
507  __idiv__ = __itruediv__
508 
509 
510 
511  def __imul__(self, f):
512  r"""__imul__(_VectorBase1D self, double f) -> _VectorBase1D"""
513  return _IMP_kernel._VectorBase1D___imul__(self, f)
514 
515  def show(self, *args):
516  r"""
517  show(_VectorBase1D self, _ostream out, std::string delim, bool parens=True)
518  show(_VectorBase1D self, _ostream out=std::cout)
519  """
520  return _IMP_kernel._VectorBase1D_show(self, *args)
521 
522  def get_dimension(self):
523  r"""get_dimension(_VectorBase1D self) -> unsigned int"""
524  return _IMP_kernel._VectorBase1D_get_dimension(self)
525  __swig_destroy__ = _IMP_kernel.delete__VectorBase1D
526 
527 # Register _VectorBase1D in _IMP_kernel:
528 _IMP_kernel._VectorBase1D_swigregister(_VectorBase1D)
529 class _VectorBase2D(_GeometricPrimitive2D):
530  r"""Proxy of C++ IMP::internal::VectorBaseD< 2 > class."""
531 
532  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
533  __repr__ = _swig_repr
534 
535  def __init__(self):
536  r"""__init__(_VectorBase2D self) -> _VectorBase2D"""
537  _IMP_kernel._VectorBase2D_swiginit(self, _IMP_kernel.new__VectorBase2D())
538 
539  def get_scalar_product(self, o):
540  r"""get_scalar_product(_VectorBase2D self, _VectorBase2D o) -> double"""
541  return _IMP_kernel._VectorBase2D_get_scalar_product(self, o)
542 
543  def get_squared_magnitude(self):
544  r"""get_squared_magnitude(_VectorBase2D self) -> double"""
545  return _IMP_kernel._VectorBase2D_get_squared_magnitude(self)
546 
547  def get_magnitude(self):
548  r"""get_magnitude(_VectorBase2D self) -> double"""
549  return _IMP_kernel._VectorBase2D_get_magnitude(self)
550 
551  def get_distance(self, o):
552  r"""get_distance(_VectorBase2D self, _VectorBase2D o) -> double"""
553  return _IMP_kernel._VectorBase2D_get_distance(self, o)
554 
555  def __mul__(self, o):
556  r"""__mul__(_VectorBase2D self, _VectorBase2D o) -> double"""
557  return _IMP_kernel._VectorBase2D___mul__(self, o)
558 
559  def __iadd__(self, o):
560  r"""__iadd__(_VectorBase2D self, _VectorBase2D o) -> _VectorBase2D"""
561  return _IMP_kernel._VectorBase2D___iadd__(self, o)
562 
563  def __isub__(self, o):
564  r"""__isub__(_VectorBase2D self, _VectorBase2D o) -> _VectorBase2D"""
565  return _IMP_kernel._VectorBase2D___isub__(self, o)
566 
567  def __itruediv__(self, *args):
568  return _IMP_kernel._VectorBase2D___itruediv__(self, *args)
569  __idiv__ = __itruediv__
570 
571 
572 
573  def __imul__(self, f):
574  r"""__imul__(_VectorBase2D self, double f) -> _VectorBase2D"""
575  return _IMP_kernel._VectorBase2D___imul__(self, f)
576 
577  def show(self, *args):
578  r"""
579  show(_VectorBase2D self, _ostream out, std::string delim, bool parens=True)
580  show(_VectorBase2D self, _ostream out=std::cout)
581  """
582  return _IMP_kernel._VectorBase2D_show(self, *args)
583 
584  def get_dimension(self):
585  r"""get_dimension(_VectorBase2D self) -> unsigned int"""
586  return _IMP_kernel._VectorBase2D_get_dimension(self)
587  __swig_destroy__ = _IMP_kernel.delete__VectorBase2D
588 
589 # Register _VectorBase2D in _IMP_kernel:
590 _IMP_kernel._VectorBase2D_swigregister(_VectorBase2D)
591 class _VectorBase3D(_GeometricPrimitive3D):
592  r"""Proxy of C++ IMP::internal::VectorBaseD< 3 > class."""
593 
594  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
595  __repr__ = _swig_repr
596 
597  def __init__(self):
598  r"""__init__(_VectorBase3D self) -> _VectorBase3D"""
599  _IMP_kernel._VectorBase3D_swiginit(self, _IMP_kernel.new__VectorBase3D())
600 
601  def get_scalar_product(self, o):
602  r"""get_scalar_product(_VectorBase3D self, _VectorBase3D o) -> double"""
603  return _IMP_kernel._VectorBase3D_get_scalar_product(self, o)
604 
605  def get_squared_magnitude(self):
606  r"""get_squared_magnitude(_VectorBase3D self) -> double"""
607  return _IMP_kernel._VectorBase3D_get_squared_magnitude(self)
608 
609  def get_magnitude(self):
610  r"""get_magnitude(_VectorBase3D self) -> double"""
611  return _IMP_kernel._VectorBase3D_get_magnitude(self)
612 
613  def get_distance(self, o):
614  r"""get_distance(_VectorBase3D self, _VectorBase3D o) -> double"""
615  return _IMP_kernel._VectorBase3D_get_distance(self, o)
616 
617  def __mul__(self, o):
618  r"""__mul__(_VectorBase3D self, _VectorBase3D o) -> double"""
619  return _IMP_kernel._VectorBase3D___mul__(self, o)
620 
621  def __iadd__(self, o):
622  r"""__iadd__(_VectorBase3D self, _VectorBase3D o) -> _VectorBase3D"""
623  return _IMP_kernel._VectorBase3D___iadd__(self, o)
624 
625  def __isub__(self, o):
626  r"""__isub__(_VectorBase3D self, _VectorBase3D o) -> _VectorBase3D"""
627  return _IMP_kernel._VectorBase3D___isub__(self, o)
628 
629  def __itruediv__(self, *args):
630  return _IMP_kernel._VectorBase3D___itruediv__(self, *args)
631  __idiv__ = __itruediv__
632 
633 
634 
635  def __imul__(self, f):
636  r"""__imul__(_VectorBase3D self, double f) -> _VectorBase3D"""
637  return _IMP_kernel._VectorBase3D___imul__(self, f)
638 
639  def show(self, *args):
640  r"""
641  show(_VectorBase3D self, _ostream out, std::string delim, bool parens=True)
642  show(_VectorBase3D self, _ostream out=std::cout)
643  """
644  return _IMP_kernel._VectorBase3D_show(self, *args)
645 
646  def get_dimension(self):
647  r"""get_dimension(_VectorBase3D self) -> unsigned int"""
648  return _IMP_kernel._VectorBase3D_get_dimension(self)
649  __swig_destroy__ = _IMP_kernel.delete__VectorBase3D
650 
651 # Register _VectorBase3D in _IMP_kernel:
652 _IMP_kernel._VectorBase3D_swigregister(_VectorBase3D)
653 class _VectorBase4D(_GeometricPrimitive4D):
654  r"""Proxy of C++ IMP::internal::VectorBaseD< 4 > class."""
655 
656  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
657  __repr__ = _swig_repr
658 
659  def __init__(self):
660  r"""__init__(_VectorBase4D self) -> _VectorBase4D"""
661  _IMP_kernel._VectorBase4D_swiginit(self, _IMP_kernel.new__VectorBase4D())
662 
663  def get_scalar_product(self, o):
664  r"""get_scalar_product(_VectorBase4D self, _VectorBase4D o) -> double"""
665  return _IMP_kernel._VectorBase4D_get_scalar_product(self, o)
666 
667  def get_squared_magnitude(self):
668  r"""get_squared_magnitude(_VectorBase4D self) -> double"""
669  return _IMP_kernel._VectorBase4D_get_squared_magnitude(self)
670 
671  def get_magnitude(self):
672  r"""get_magnitude(_VectorBase4D self) -> double"""
673  return _IMP_kernel._VectorBase4D_get_magnitude(self)
674 
675  def get_distance(self, o):
676  r"""get_distance(_VectorBase4D self, _VectorBase4D o) -> double"""
677  return _IMP_kernel._VectorBase4D_get_distance(self, o)
678 
679  def __mul__(self, o):
680  r"""__mul__(_VectorBase4D self, _VectorBase4D o) -> double"""
681  return _IMP_kernel._VectorBase4D___mul__(self, o)
682 
683  def __iadd__(self, o):
684  r"""__iadd__(_VectorBase4D self, _VectorBase4D o) -> _VectorBase4D"""
685  return _IMP_kernel._VectorBase4D___iadd__(self, o)
686 
687  def __isub__(self, o):
688  r"""__isub__(_VectorBase4D self, _VectorBase4D o) -> _VectorBase4D"""
689  return _IMP_kernel._VectorBase4D___isub__(self, o)
690 
691  def __itruediv__(self, *args):
692  return _IMP_kernel._VectorBase4D___itruediv__(self, *args)
693  __idiv__ = __itruediv__
694 
695 
696 
697  def __imul__(self, f):
698  r"""__imul__(_VectorBase4D self, double f) -> _VectorBase4D"""
699  return _IMP_kernel._VectorBase4D___imul__(self, f)
700 
701  def show(self, *args):
702  r"""
703  show(_VectorBase4D self, _ostream out, std::string delim, bool parens=True)
704  show(_VectorBase4D self, _ostream out=std::cout)
705  """
706  return _IMP_kernel._VectorBase4D_show(self, *args)
707 
708  def get_dimension(self):
709  r"""get_dimension(_VectorBase4D self) -> unsigned int"""
710  return _IMP_kernel._VectorBase4D_get_dimension(self)
711  __swig_destroy__ = _IMP_kernel.delete__VectorBase4D
712 
713 # Register _VectorBase4D in _IMP_kernel:
714 _IMP_kernel._VectorBase4D_swigregister(_VectorBase4D)
715 class _VectorBase5D(_GeometricPrimitive5D):
716  r"""Proxy of C++ IMP::internal::VectorBaseD< 5 > class."""
717 
718  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
719  __repr__ = _swig_repr
720 
721  def __init__(self):
722  r"""__init__(_VectorBase5D self) -> _VectorBase5D"""
723  _IMP_kernel._VectorBase5D_swiginit(self, _IMP_kernel.new__VectorBase5D())
724 
725  def get_scalar_product(self, o):
726  r"""get_scalar_product(_VectorBase5D self, _VectorBase5D o) -> double"""
727  return _IMP_kernel._VectorBase5D_get_scalar_product(self, o)
728 
729  def get_squared_magnitude(self):
730  r"""get_squared_magnitude(_VectorBase5D self) -> double"""
731  return _IMP_kernel._VectorBase5D_get_squared_magnitude(self)
732 
733  def get_magnitude(self):
734  r"""get_magnitude(_VectorBase5D self) -> double"""
735  return _IMP_kernel._VectorBase5D_get_magnitude(self)
736 
737  def get_distance(self, o):
738  r"""get_distance(_VectorBase5D self, _VectorBase5D o) -> double"""
739  return _IMP_kernel._VectorBase5D_get_distance(self, o)
740 
741  def __mul__(self, o):
742  r"""__mul__(_VectorBase5D self, _VectorBase5D o) -> double"""
743  return _IMP_kernel._VectorBase5D___mul__(self, o)
744 
745  def __iadd__(self, o):
746  r"""__iadd__(_VectorBase5D self, _VectorBase5D o) -> _VectorBase5D"""
747  return _IMP_kernel._VectorBase5D___iadd__(self, o)
748 
749  def __isub__(self, o):
750  r"""__isub__(_VectorBase5D self, _VectorBase5D o) -> _VectorBase5D"""
751  return _IMP_kernel._VectorBase5D___isub__(self, o)
752 
753  def __itruediv__(self, *args):
754  return _IMP_kernel._VectorBase5D___itruediv__(self, *args)
755  __idiv__ = __itruediv__
756 
757 
758 
759  def __imul__(self, f):
760  r"""__imul__(_VectorBase5D self, double f) -> _VectorBase5D"""
761  return _IMP_kernel._VectorBase5D___imul__(self, f)
762 
763  def show(self, *args):
764  r"""
765  show(_VectorBase5D self, _ostream out, std::string delim, bool parens=True)
766  show(_VectorBase5D self, _ostream out=std::cout)
767  """
768  return _IMP_kernel._VectorBase5D_show(self, *args)
769 
770  def get_dimension(self):
771  r"""get_dimension(_VectorBase5D self) -> unsigned int"""
772  return _IMP_kernel._VectorBase5D_get_dimension(self)
773  __swig_destroy__ = _IMP_kernel.delete__VectorBase5D
774 
775 # Register _VectorBase5D in _IMP_kernel:
776 _IMP_kernel._VectorBase5D_swigregister(_VectorBase5D)
777 class _VectorBase6D(_GeometricPrimitive6D):
778  r"""Proxy of C++ IMP::internal::VectorBaseD< 6 > class."""
779 
780  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
781  __repr__ = _swig_repr
782 
783  def __init__(self):
784  r"""__init__(_VectorBase6D self) -> _VectorBase6D"""
785  _IMP_kernel._VectorBase6D_swiginit(self, _IMP_kernel.new__VectorBase6D())
786 
787  def get_scalar_product(self, o):
788  r"""get_scalar_product(_VectorBase6D self, _VectorBase6D o) -> double"""
789  return _IMP_kernel._VectorBase6D_get_scalar_product(self, o)
790 
791  def get_squared_magnitude(self):
792  r"""get_squared_magnitude(_VectorBase6D self) -> double"""
793  return _IMP_kernel._VectorBase6D_get_squared_magnitude(self)
794 
795  def get_magnitude(self):
796  r"""get_magnitude(_VectorBase6D self) -> double"""
797  return _IMP_kernel._VectorBase6D_get_magnitude(self)
798 
799  def get_distance(self, o):
800  r"""get_distance(_VectorBase6D self, _VectorBase6D o) -> double"""
801  return _IMP_kernel._VectorBase6D_get_distance(self, o)
802 
803  def __mul__(self, o):
804  r"""__mul__(_VectorBase6D self, _VectorBase6D o) -> double"""
805  return _IMP_kernel._VectorBase6D___mul__(self, o)
806 
807  def __iadd__(self, o):
808  r"""__iadd__(_VectorBase6D self, _VectorBase6D o) -> _VectorBase6D"""
809  return _IMP_kernel._VectorBase6D___iadd__(self, o)
810 
811  def __isub__(self, o):
812  r"""__isub__(_VectorBase6D self, _VectorBase6D o) -> _VectorBase6D"""
813  return _IMP_kernel._VectorBase6D___isub__(self, o)
814 
815  def __itruediv__(self, *args):
816  return _IMP_kernel._VectorBase6D___itruediv__(self, *args)
817  __idiv__ = __itruediv__
818 
819 
820 
821  def __imul__(self, f):
822  r"""__imul__(_VectorBase6D self, double f) -> _VectorBase6D"""
823  return _IMP_kernel._VectorBase6D___imul__(self, f)
824 
825  def show(self, *args):
826  r"""
827  show(_VectorBase6D self, _ostream out, std::string delim, bool parens=True)
828  show(_VectorBase6D self, _ostream out=std::cout)
829  """
830  return _IMP_kernel._VectorBase6D_show(self, *args)
831 
832  def get_dimension(self):
833  r"""get_dimension(_VectorBase6D self) -> unsigned int"""
834  return _IMP_kernel._VectorBase6D_get_dimension(self)
835  __swig_destroy__ = _IMP_kernel.delete__VectorBase6D
836 
837 # Register _VectorBase6D in _IMP_kernel:
838 _IMP_kernel._VectorBase6D_swigregister(_VectorBase6D)
839 class _InputAdaptor(object):
840  r"""Proxy of C++ IMP::InputAdaptor class."""
841 
842  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
843 
844  def __init__(self, *args, **kwargs):
845  raise AttributeError("No constructor defined")
846  __repr__ = _swig_repr
847 
848  def __getstate__(self):
849  raise NotImplementedError(str(self.__class__)
850  + " does not support serialization")
851 
852  __swig_destroy__ = _IMP_kernel.delete__InputAdaptor
853 
854 # Register _InputAdaptor in _IMP_kernel:
855 _IMP_kernel._InputAdaptor_swigregister(_InputAdaptor)
856 class _NonCopyable(object):
857  r"""Proxy of C++ IMP::NonCopyable class."""
858 
859  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
860 
861  def __init__(self, *args, **kwargs):
862  raise AttributeError("No constructor defined")
863  __repr__ = _swig_repr
864  __swig_destroy__ = _IMP_kernel.delete__NonCopyable
865 
866 # Register _NonCopyable in _IMP_kernel:
867 _IMP_kernel._NonCopyable_swigregister(_NonCopyable)
868 class _RAII(_NonCopyable):
869  r"""Proxy of C++ IMP::RAII class."""
870 
871  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
872 
873  def __init__(self, *args, **kwargs):
874  raise AttributeError("No constructor defined")
875  __repr__ = _swig_repr
876  __swig_destroy__ = _IMP_kernel.delete__RAII
877 
878 # Register _RAII in _IMP_kernel:
879 _IMP_kernel._RAII_swigregister(_RAII)
880 class _Value(object):
881  r"""Proxy of C++ IMP::Value class."""
882 
883  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
884 
885  def __init__(self, *args, **kwargs):
886  raise AttributeError("No constructor defined")
887  __repr__ = _swig_repr
888 
889  def __getstate__(self):
890  raise NotImplementedError(str(self.__class__)
891  + " does not support serialization")
892 
893  __swig_destroy__ = _IMP_kernel.delete__Value
894 
895 # Register _Value in _IMP_kernel:
896 _IMP_kernel._Value_swigregister(_Value)
897 
898 def get_executable_name():
899  r"""get_executable_name() -> std::string"""
900  return _IMP_kernel.get_executable_name()
901 
902 def setup_from_argv(*args):
903  r"""
904  setup_from_argv(IMP::Strings const & argv, std::string description)
905  setup_from_argv(IMP::Strings const & argv, std::string description, std::string positional_description, int num_positional) -> IMP::Strings
906  """
907  return _IMP_kernel.setup_from_argv(*args)
908 
909 def add_string_flag(name, default_value, description):
910  r"""add_string_flag(std::string name, std::string default_value, std::string description)"""
911  return _IMP_kernel.add_string_flag(name, default_value, description)
912 
913 def get_string_flag(name):
914  r"""get_string_flag(std::string name) -> std::string"""
915  return _IMP_kernel.get_string_flag(name)
916 
917 def add_int_flag(name, default_value, description):
918  r"""add_int_flag(std::string name, size_t default_value, std::string description)"""
919  return _IMP_kernel.add_int_flag(name, default_value, description)
920 
921 def get_int_flag(name):
922  r"""get_int_flag(std::string name) -> size_t"""
923  return _IMP_kernel.get_int_flag(name)
924 
925 def add_bool_flag(name, description):
926  r"""add_bool_flag(std::string name, std::string description)"""
927  return _IMP_kernel.add_bool_flag(name, description)
928 
929 def get_bool_flag(name):
930  r"""get_bool_flag(std::string name) -> bool"""
931  return _IMP_kernel.get_bool_flag(name)
932 
933 def add_float_flag(name, default_value, description):
934  r"""add_float_flag(std::string name, double default_value, std::string description)"""
935  return _IMP_kernel.add_float_flag(name, default_value, description)
936 
937 def get_float_flag(name):
938  r"""get_float_flag(std::string name) -> double"""
939  return _IMP_kernel.get_float_flag(name)
940 
941 def write_help(*args):
942  r"""write_help(_ostream out=std::cerr)"""
943  return _IMP_kernel.write_help(*args)
944 
945 def get_is_quick_test():
946  r"""get_is_quick_test() -> bool"""
947  return _IMP_kernel.get_is_quick_test()
948 DEFAULT = _IMP_kernel.DEFAULT
949 
950 SILENT = _IMP_kernel.SILENT
951 
952 WARNING = _IMP_kernel.WARNING
953 
954 PROGRESS = _IMP_kernel.PROGRESS
955 
956 TERSE = _IMP_kernel.TERSE
957 
958 VERBOSE = _IMP_kernel.VERBOSE
959 
960 MEMORY = _IMP_kernel.MEMORY
961 
962 ALL_LOG = _IMP_kernel.ALL_LOG
963 
964 class VersionInfo(_Value):
965  r"""Proxy of C++ IMP::VersionInfo class."""
966 
967  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
968 
969  def __init__(self, *args):
970  r"""
971  __init__(VersionInfo self, std::string module, std::string version) -> VersionInfo
972  __init__(VersionInfo self) -> VersionInfo
973  """
974  _IMP_kernel.VersionInfo_swiginit(self, _IMP_kernel.new_VersionInfo(*args))
975 
976  def get_module(self):
977  r"""get_module(VersionInfo self) -> std::string"""
978  return _IMP_kernel.VersionInfo_get_module(self)
979 
980  def get_version(self):
981  r"""get_version(VersionInfo self) -> std::string"""
982  return _IMP_kernel.VersionInfo_get_version(self)
983 
984  def show(self, *args):
985  r"""show(VersionInfo self, _ostream out=std::cout)"""
986  return _IMP_kernel.VersionInfo_show(self, *args)
987 
988  def __cmp__(self, o):
989  r"""__cmp__(VersionInfo self, VersionInfo o) -> int"""
990  return _IMP_kernel.VersionInfo___cmp__(self, o)
991 
992  def __eq__(self, o):
993  r"""__eq__(VersionInfo self, VersionInfo o) -> bool"""
994  return _IMP_kernel.VersionInfo___eq__(self, o)
995 
996  def __ne__(self, o):
997  r"""__ne__(VersionInfo self, VersionInfo o) -> bool"""
998  return _IMP_kernel.VersionInfo___ne__(self, o)
999 
1000  def __lt__(self, o):
1001  r"""__lt__(VersionInfo self, VersionInfo o) -> bool"""
1002  return _IMP_kernel.VersionInfo___lt__(self, o)
1003 
1004  def __gt__(self, o):
1005  r"""__gt__(VersionInfo self, VersionInfo o) -> bool"""
1006  return _IMP_kernel.VersionInfo___gt__(self, o)
1007 
1008  def __ge__(self, o):
1009  r"""__ge__(VersionInfo self, VersionInfo o) -> bool"""
1010  return _IMP_kernel.VersionInfo___ge__(self, o)
1011 
1012  def __le__(self, o):
1013  r"""__le__(VersionInfo self, VersionInfo o) -> bool"""
1014  return _IMP_kernel.VersionInfo___le__(self, o)
1015 
1016  def __str__(self):
1017  r"""__str__(VersionInfo self) -> std::string"""
1018  return _IMP_kernel.VersionInfo___str__(self)
1019 
1020  def __repr__(self):
1021  r"""__repr__(VersionInfo self) -> std::string"""
1022  return _IMP_kernel.VersionInfo___repr__(self)
1023 
1024  def _get_as_binary(self):
1025  r"""_get_as_binary(VersionInfo self) -> PyObject *"""
1026  return _IMP_kernel.VersionInfo__get_as_binary(self)
1027 
1028  def _set_from_binary(self, p):
1029  r"""_set_from_binary(VersionInfo self, PyObject * p)"""
1030  return _IMP_kernel.VersionInfo__set_from_binary(self, p)
1031 
1032  def __getstate__(self):
1033  p = self._get_as_binary()
1034  if len(self.__dict__) > 1:
1035  d = self.__dict__.copy()
1036  del d['this']
1037  p = (d, p)
1038  return p
1039 
1040  def __setstate__(self, p):
1041  if not hasattr(self, 'this'):
1042  self.__init__()
1043  if isinstance(p, tuple):
1044  d, p = p
1045  self.__dict__.update(d)
1046  return self._set_from_binary(p)
1047 
1048  __swig_destroy__ = _IMP_kernel.delete_VersionInfo
1049 
1050 # Register VersionInfo in _IMP_kernel:
1051 _IMP_kernel.VersionInfo_swigregister(VersionInfo)
1052 class TextOutput(_InputAdaptor):
1053  r"""Proxy of C++ IMP::TextOutput class."""
1054 
1055  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1056  __repr__ = _swig_repr
1057 
1058  def __init__(self, *args):
1059  r"""
1060  __init__(TextOutput self, int arg2) -> TextOutput
1061  __init__(TextOutput self, double arg2) -> TextOutput
1062  __init__(TextOutput self, char const * c, bool append=False) -> TextOutput
1063  __init__(TextOutput self, IMP::TextProxy< std::ostream > p) -> TextOutput
1064  __init__(TextOutput self) -> TextOutput
1065  __init__(TextOutput self, std::string file_name, bool append=False) -> TextOutput
1066  """
1067  _IMP_kernel.TextOutput_swiginit(self, _IMP_kernel.new_TextOutput(*args))
1068 
1069  def show(self, *args):
1070  r"""show(TextOutput self, _ostream out=std::cout)"""
1071  return _IMP_kernel.TextOutput_show(self, *args)
1072 
1073  def get_name(self):
1074  r"""get_name(TextOutput self) -> std::string"""
1075  return _IMP_kernel.TextOutput_get_name(self)
1076  __swig_destroy__ = _IMP_kernel.delete_TextOutput
1077 
1078 # Register TextOutput in _IMP_kernel:
1079 _IMP_kernel.TextOutput_swigregister(TextOutput)
1080 class TextInput(_InputAdaptor):
1081  r"""Proxy of C++ IMP::TextInput class."""
1082 
1083  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1084  __repr__ = _swig_repr
1085 
1086  def __init__(self, *args):
1087  r"""
1088  __init__(TextInput self, int arg2) -> TextInput
1089  __init__(TextInput self, double arg2) -> TextInput
1090  __init__(TextInput self, char const * c) -> TextInput
1091  __init__(TextInput self, IMP::TextProxy< std::istream > p) -> TextInput
1092  __init__(TextInput self) -> TextInput
1093  __init__(TextInput self, std::string file_name) -> TextInput
1094  """
1095  _IMP_kernel.TextInput_swiginit(self, _IMP_kernel.new_TextInput(*args))
1096 
1097  def show(self, *args):
1098  r"""show(TextInput self, _ostream out=std::cout)"""
1099  return _IMP_kernel.TextInput_show(self, *args)
1100 
1101  def get_name(self):
1102  r"""get_name(TextInput self) -> std::string"""
1103  return _IMP_kernel.TextInput_get_name(self)
1104 
1105  def set_binary_open_mode(self, binary):
1106  r"""set_binary_open_mode(TextInput self, bool binary)"""
1107  return _IMP_kernel.TextInput_set_binary_open_mode(self, binary)
1108  __swig_destroy__ = _IMP_kernel.delete_TextInput
1109 
1110 # Register TextInput in _IMP_kernel:
1111 _IMP_kernel.TextInput_swigregister(TextInput)
1112 class SetLogTarget(_RAII):
1113  r"""Proxy of C++ IMP::SetLogTarget class."""
1114 
1115  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1116 
1117  def __init__(self, *args):
1118  r"""
1119  __init__(SetLogTarget self) -> SetLogTarget
1120  __init__(SetLogTarget self, TextOutput to) -> SetLogTarget
1121  """
1122  _IMP_kernel.SetLogTarget_swiginit(self, _IMP_kernel.new_SetLogTarget(*args))
1123 
1124  def set(self, to):
1125  r"""set(SetLogTarget self, TextOutput to)"""
1126  return _IMP_kernel.SetLogTarget_set(self, to)
1127 
1128  def reset(self):
1129  r"""reset(SetLogTarget self)"""
1130  return _IMP_kernel.SetLogTarget_reset(self)
1131  __swig_destroy__ = _IMP_kernel.delete_SetLogTarget
1132 
1133  def show(self, *args):
1134  r"""show(SetLogTarget self, _ostream out=std::cout)"""
1135  return _IMP_kernel.SetLogTarget_show(self, *args)
1136 
1137  def __enter__(self):
1138  return self
1139  def __exit__(self, exc_type, exc_val, exc_tb):
1140  self.reset()
1141  return False
1142 
1143 
1144  def __str__(self):
1145  r"""__str__(SetLogTarget self) -> std::string"""
1146  return _IMP_kernel.SetLogTarget___str__(self)
1147 
1148  def __repr__(self):
1149  r"""__repr__(SetLogTarget self) -> std::string"""
1150  return _IMP_kernel.SetLogTarget___repr__(self)
1151 
1152 # Register SetLogTarget in _IMP_kernel:
1153 _IMP_kernel.SetLogTarget_swigregister(SetLogTarget)
1154 
1155 def create_temporary_file(*args):
1156  r"""create_temporary_file(std::string prefix="imp_temp", std::string suffix="") -> TextOutput"""
1157  return _IMP_kernel.create_temporary_file(*args)
1158 
1159 def create_temporary_file_name(*args):
1160  r"""create_temporary_file_name(std::string prefix="imp_temp", std::string suffix="") -> std::string"""
1161  return _IMP_kernel.create_temporary_file_name(*args)
1162 
1163 def get_relative_path(base, relative):
1164  r"""get_relative_path(std::string base, std::string relative) -> std::string"""
1165  return _IMP_kernel.get_relative_path(base, relative)
1166 
1167 def get_absolute_path(file):
1168  r"""get_absolute_path(std::string file) -> std::string"""
1169  return _IMP_kernel.get_absolute_path(file)
1170 
1171 def push_log_context(functionname, object):
1172  r"""push_log_context(char const * functionname, void const * object)"""
1173  return _IMP_kernel.push_log_context(functionname, object)
1174 
1175 def pop_log_context():
1176  r"""pop_log_context()"""
1177  return _IMP_kernel.pop_log_context()
1178 
1179 def add_to_log(*args):
1180  r"""
1181  add_to_log(std::string to_write)
1182  add_to_log(IMP::LogLevel level, std::string to_write)
1183  """
1184  return _IMP_kernel.add_to_log(*args)
1185 
1186 def set_log_level(l):
1187  r"""set_log_level(IMP::LogLevel l)"""
1188  return _IMP_kernel.set_log_level(l)
1189 
1190 def set_log_timer(tb):
1191  r"""set_log_timer(bool tb)"""
1192  return _IMP_kernel.set_log_timer(tb)
1193 
1194 def reset_log_timer():
1195  r"""reset_log_timer()"""
1196  return _IMP_kernel.reset_log_timer()
1197 
1198 def get_log_level():
1199  r"""get_log_level() -> IMP::LogLevel"""
1200  return _IMP_kernel.get_log_level()
1201 
1202 def set_progress_display(description, steps):
1203  r"""set_progress_display(std::string description, unsigned int steps)"""
1204  return _IMP_kernel.set_progress_display(description, steps)
1205 
1206 def add_to_progress_display(step=1):
1207  r"""add_to_progress_display(unsigned int step=1)"""
1208  return _IMP_kernel.add_to_progress_display(step)
1209 class Object(_NonCopyable):
1210  r"""Proxy of C++ IMP::Object class."""
1211 
1212  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1213 
1214  def __init__(self, name):
1215  r"""__init__(Object self, std::string name) -> Object"""
1216  if self.__class__ == Object:
1217  _self = None
1218  else:
1219  _self = self
1220  _IMP_kernel.Object_swiginit(self, _IMP_kernel.new_Object(_self, name))
1221 
1222  if self.__class__ != Object:
1223  _director_objects.register(self)
1224 
1225 
1226 
1227  __swig_destroy__ = _IMP_kernel.delete_Object
1228 
1229  def __hash__(self):
1230  r"""__hash__(Object self) -> std::size_t"""
1231  return _IMP_kernel.Object___hash__(self)
1232 
1233  def set_log_level(self, l):
1234  r"""set_log_level(Object self, IMP::LogLevel l)"""
1235  return _IMP_kernel.Object_set_log_level(self, l)
1236 
1237  def set_check_level(self, l):
1238  r"""set_check_level(Object self, IMP::CheckLevel l)"""
1239  return _IMP_kernel.Object_set_check_level(self, l)
1240 
1241  def get_log_level(self):
1242  r"""get_log_level(Object self) -> IMP::LogLevel"""
1243  return _IMP_kernel.Object_get_log_level(self)
1244 
1245  def get_check_level(self):
1246  r"""get_check_level(Object self) -> IMP::CheckLevel"""
1247  return _IMP_kernel.Object_get_check_level(self)
1248 
1249  def get_version_info(self):
1250  r"""get_version_info(Object self) -> VersionInfo"""
1251  val = _IMP_kernel.Object_get_version_info(self)
1252  if val.get_module() == 'none':
1253  val = VersionInfo(
1254  self.__module__,
1255  __import__(self.__module__).get_module_version())
1256  return val
1257 
1258  def get_name(self):
1259  r"""get_name(Object self) -> std::string const &"""
1260  return _IMP_kernel.Object_get_name(self)
1261 
1262  def set_name(self, name):
1263  r"""set_name(Object self, std::string name)"""
1264  return _IMP_kernel.Object_set_name(self, name)
1265 
1266  def get_type_name(self):
1267  r"""get_type_name(Object self) -> std::string"""
1268  val = _IMP_kernel.Object_get_type_name(self)
1269  if val == 'unknown object type':
1270  val = self.__class__.__name__
1271  return val
1272 
1273  def set_was_used(self, tf):
1274  r"""set_was_used(Object self, bool tf)"""
1275  return _IMP_kernel.Object_set_was_used(self, tf)
1276 
1277  def show(self, *args):
1278  r"""show(Object self, _ostream out=std::cout)"""
1279  return _IMP_kernel.Object_show(self, *args)
1280 
1281  def get_string(self):
1282  r"""get_string(Object self) -> std::string"""
1283  return _IMP_kernel.Object_get_string(self)
1284 
1285  def _on_destruction(self):
1286  r"""_on_destruction(Object self)"""
1287  return _IMP_kernel.Object__on_destruction(self)
1288 
1289  def get_is_valid(self):
1290  r"""get_is_valid(Object self) -> bool"""
1291  return _IMP_kernel.Object_get_is_valid(self)
1292 
1293  def get_ref_count(self):
1294  r"""get_ref_count(Object self) -> unsigned int"""
1295  return _IMP_kernel.Object_get_ref_count(self)
1296 
1297  @staticmethod
1298  def get_number_of_live_objects():
1299  r"""get_number_of_live_objects() -> unsigned int"""
1300  return _IMP_kernel.Object_get_number_of_live_objects()
1301 
1302  def get_is_shared(self):
1303  r"""get_is_shared(Object self) -> bool"""
1304  return _IMP_kernel.Object_get_is_shared(self)
1305 
1306  def clear_caches(self):
1307  r"""clear_caches(Object self)"""
1308  return _IMP_kernel.Object_clear_caches(self)
1309 
1310  def do_destroy(self):
1311  r"""do_destroy(Object self)"""
1312  return _IMP_kernel.Object_do_destroy(self)
1313 
1314  def __getstate__(self):
1315  raise NotImplementedError(str(self.__class__)
1316  + " does not support serialization")
1317 
1318 
1319  def __eq__(self, o):
1320  r"""__eq__(Object self, Object o) -> bool"""
1321  return _IMP_kernel.Object___eq__(self, o)
1322 
1323  def __ne__(self, o):
1324  r"""__ne__(Object self, Object o) -> bool"""
1325  return _IMP_kernel.Object___ne__(self, o)
1326 
1327  def __le__(self, o):
1328  r"""__le__(Object self, Object o) -> bool"""
1329  return _IMP_kernel.Object___le__(self, o)
1330 
1331  def __lt__(self, o):
1332  r"""__lt__(Object self, Object o) -> bool"""
1333  return _IMP_kernel.Object___lt__(self, o)
1334 
1335  def __ge__(self, o):
1336  r"""__ge__(Object self, Object o) -> bool"""
1337  return _IMP_kernel.Object___ge__(self, o)
1338 
1339  def __gt__(self, o):
1340  r"""__gt__(Object self, Object o) -> bool"""
1341  return _IMP_kernel.Object___gt__(self, o)
1342 
1343  def _get_director_object(self):
1344  r"""_get_director_object(Object self) -> PyObject *"""
1345  return _IMP_kernel.Object__get_director_object(self)
1346 
1348  """Return this object cast to the most derived subclass."""
1349  # If this is a SWIG director, return the original Python object
1350  pyobj = self._get_director_object()
1351  if pyobj is not None:
1352  return pyobj
1353  # Otherwise, use the object's module and type name to look up
1354  # the corresponding most-derived Python type
1355  modname = self.get_version_info().get_module().replace('::', '.')
1356  type_name = self.get_type_name()
1357  if (modname == 'IMP.core'
1358  and type_name == 'GenericBoundingBox3DSingletonScore'):
1359  type_name = 'BoundingBox3DSingletonScore'
1360  elif (modname == 'IMP.core'
1361  and type_name == 'GenericAttributeSingletonScore'):
1362  type_name = 'AttributeSingletonScore'
1363  elif (modname == 'IMP.core'
1364  and type_name == 'GenericBoundingSphere3DSingletonScore'):
1365  type_name = 'BoundingSphere3DSingletonScore'
1366  elif modname == 'IMP' and type_name == 'RestraintScoringFunction':
1367  # The implicit RestraintScoringFunction isn't exposed to Python,
1368  # so just return the base class
1369  return self
1370  elif modname == 'IMP' and type_name == 'GenericRestraintsScoringFunction':
1371  type_name = '_RestraintsScoringFunction'
1372  modobj = sys.modules[modname]
1373  clsobj = getattr(modobj, type_name)
1374  return clsobj.get_from(self)
1375 
1376 
1377  def __str__(self):
1378  r"""__str__(Object self) -> std::string"""
1379  return _IMP_kernel.Object___str__(self)
1380 
1381  def __repr__(self):
1382  r"""__repr__(Object self) -> std::string"""
1383  return _IMP_kernel.Object___repr__(self)
1384 
1385  @staticmethod
1386  def get_from(o):
1387  return _object_cast_to_Object(o)
1388 
1389  def __disown__(self):
1390  self.this.disown()
1391  _IMP_kernel.disown_Object(self)
1392  return weakref.proxy(self)
1393 
1394 # Register Object in _IMP_kernel:
1395 _IMP_kernel.Object_swigregister(Object)
1396 class SetLogState(_RAII):
1397  r"""Proxy of C++ IMP::SetLogState class."""
1398 
1399  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1400 
1401  def reset(self):
1402  r"""reset(SetLogState self)"""
1403  return _IMP_kernel.SetLogState_reset(self)
1404  __swig_destroy__ = _IMP_kernel.delete_SetLogState
1405 
1406  def show(self, *args):
1407  r"""show(SetLogState self, _ostream out=std::cout)"""
1408  return _IMP_kernel.SetLogState_show(self, *args)
1409 
1410  def __init__(self, *args):
1411  r"""
1412  __init__(SetLogState self) -> SetLogState
1413  __init__(SetLogState self, Object o, IMP::LogLevel l) -> SetLogState
1414  __init__(SetLogState self, IMP::LogLevel l) -> SetLogState
1415  """
1416  _IMP_kernel.SetLogState_swiginit(self, _IMP_kernel.new_SetLogState(*args))
1417 
1418  def set(self, *args):
1419  r"""
1420  set(SetLogState self, Object o, IMP::LogLevel l)
1421  set(SetLogState self, IMP::LogLevel l)
1422  """
1423  return _IMP_kernel.SetLogState_set(self, *args)
1424 
1425  def __enter__(self):
1426  return self
1427  def __exit__(self, exc_type, exc_val, exc_tb):
1428  self.reset()
1429  return False
1430 
1431 
1432  def __str__(self):
1433  r"""__str__(SetLogState self) -> std::string"""
1434  return _IMP_kernel.SetLogState___str__(self)
1435 
1436  def __repr__(self):
1437  r"""__repr__(SetLogState self) -> std::string"""
1438  return _IMP_kernel.SetLogState___repr__(self)
1439 
1440 # Register SetLogState in _IMP_kernel:
1441 _IMP_kernel.SetLogState_swigregister(SetLogState)
1442 class WarningContext(object):
1443  r"""Proxy of C++ IMP::WarningContext class."""
1444 
1445  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1446  data_ = property(_IMP_kernel.WarningContext_data__get, _IMP_kernel.WarningContext_data__set, doc=r"""data_ : boost::unordered_set<(std::string)>""")
1447 
1448  def add_warning(self, key, warning):
1449  r"""add_warning(WarningContext self, std::string key, std::string warning)"""
1450  return _IMP_kernel.WarningContext_add_warning(self, key, warning)
1451 
1452  def clear_warnings(self):
1453  r"""clear_warnings(WarningContext self)"""
1454  return _IMP_kernel.WarningContext_clear_warnings(self)
1455 
1456  def dump_warnings(self):
1457  r"""dump_warnings(WarningContext self)"""
1458  return _IMP_kernel.WarningContext_dump_warnings(self)
1459  __swig_destroy__ = _IMP_kernel.delete_WarningContext
1460 
1461  def show(self, *args):
1462  r"""show(WarningContext self, _ostream out=std::cout)"""
1463  return _IMP_kernel.WarningContext_show(self, *args)
1464 
1465  def __enter__(self):
1466  return self
1467  def __exit__(self, exc_type, exc_val, exc_tb):
1468  self.reset()
1469  return False
1470 
1471 
1472  def __str__(self):
1473  r"""__str__(WarningContext self) -> std::string"""
1474  return _IMP_kernel.WarningContext___str__(self)
1475 
1476  def __repr__(self):
1477  r"""__repr__(WarningContext self) -> std::string"""
1478  return _IMP_kernel.WarningContext___repr__(self)
1479 
1480  def __init__(self):
1481  r"""__init__(WarningContext self) -> WarningContext"""
1482  _IMP_kernel.WarningContext_swiginit(self, _IMP_kernel.new_WarningContext())
1483 
1484 # Register WarningContext in _IMP_kernel:
1485 _IMP_kernel.WarningContext_swigregister(WarningContext)
1486 class CreateLogContext(_RAII):
1487  r"""Proxy of C++ IMP::CreateLogContext class."""
1488 
1489  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1490 
1491  def __init__(self, *args):
1492  r"""
1493  __init__(CreateLogContext self, std::string fname, Object object=None) -> CreateLogContext
1494  __init__(CreateLogContext self) -> CreateLogContext
1495  __init__(CreateLogContext self, char const * fname, Object object=None) -> CreateLogContext
1496  """
1497  _IMP_kernel.CreateLogContext_swiginit(self, _IMP_kernel.new_CreateLogContext(*args))
1498 
1499  def set(self, fname, object=None):
1500  r"""set(CreateLogContext self, char const * fname, Object object=None)"""
1501  return _IMP_kernel.CreateLogContext_set(self, fname, object)
1502 
1503  def reset(self):
1504  r"""reset(CreateLogContext self)"""
1505  return _IMP_kernel.CreateLogContext_reset(self)
1506  __swig_destroy__ = _IMP_kernel.delete_CreateLogContext
1507 
1508  def show(self, *args):
1509  r"""show(CreateLogContext self, _ostream out=std::cout)"""
1510  return _IMP_kernel.CreateLogContext_show(self, *args)
1511 
1512  def __enter__(self):
1513  return self
1514  def __exit__(self, exc_type, exc_val, exc_tb):
1515  self.reset()
1516  return False
1517 
1518 
1519  def __str__(self):
1520  r"""__str__(CreateLogContext self) -> std::string"""
1521  return _IMP_kernel.CreateLogContext___str__(self)
1522 
1523  def __repr__(self):
1524  r"""__repr__(CreateLogContext self) -> std::string"""
1525  return _IMP_kernel.CreateLogContext___repr__(self)
1526 
1527 # Register CreateLogContext in _IMP_kernel:
1528 _IMP_kernel.CreateLogContext_swigregister(CreateLogContext)
1529 class SetCheckState(_RAII):
1530  r"""Proxy of C++ IMP::SetCheckState class."""
1531 
1532  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1533 
1534  def reset(self):
1535  r"""reset(SetCheckState self)"""
1536  return _IMP_kernel.SetCheckState_reset(self)
1537  __swig_destroy__ = _IMP_kernel.delete_SetCheckState
1538 
1539  def show(self, *args):
1540  r"""show(SetCheckState self, _ostream out=std::cout)"""
1541  return _IMP_kernel.SetCheckState_show(self, *args)
1542 
1543  def __init__(self, *args):
1544  r"""
1545  __init__(SetCheckState self) -> SetCheckState
1546  __init__(SetCheckState self, Object o, IMP::CheckLevel l) -> SetCheckState
1547  __init__(SetCheckState self, IMP::CheckLevel l) -> SetCheckState
1548  """
1549  _IMP_kernel.SetCheckState_swiginit(self, _IMP_kernel.new_SetCheckState(*args))
1550 
1551  def set(self, *args):
1552  r"""
1553  set(SetCheckState self, Object o, IMP::CheckLevel l)
1554  set(SetCheckState self, IMP::CheckLevel l)
1555  """
1556  return _IMP_kernel.SetCheckState_set(self, *args)
1557 
1558  def __enter__(self):
1559  return self
1560  def __exit__(self, exc_type, exc_val, exc_tb):
1561  self.reset()
1562  return False
1563 
1564 
1565  def __str__(self):
1566  r"""__str__(SetCheckState self) -> std::string"""
1567  return _IMP_kernel.SetCheckState___str__(self)
1568 
1569  def __repr__(self):
1570  r"""__repr__(SetCheckState self) -> std::string"""
1571  return _IMP_kernel.SetCheckState___repr__(self)
1572 
1573 # Register SetCheckState in _IMP_kernel:
1574 _IMP_kernel.SetCheckState_swigregister(SetCheckState)
1575 
1576 def get_unique_name(templ):
1577  r"""get_unique_name(std::string templ) -> std::string"""
1578  return _IMP_kernel.get_unique_name(templ)
1579 
1580 def get_copyright():
1581  r"""get_copyright() -> std::string"""
1582  return _IMP_kernel.get_copyright()
1583 class _Protection(object):
1584  r"""Proxy of C++ IMP::internal::_Protection class."""
1585 
1586  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1587 
1588  def __init__(self, *args, **kwargs):
1589  raise AttributeError("No constructor defined")
1590 
1591  def show(self, *args):
1592  r"""show(_Protection self, _ostream out=std::cout)"""
1593  return _IMP_kernel._Protection_show(self, *args)
1594 
1595  def __str__(self):
1596  r"""__str__(_Protection self) -> std::string"""
1597  return _IMP_kernel._Protection___str__(self)
1598 
1599  def __repr__(self):
1600  r"""__repr__(_Protection self) -> std::string"""
1601  return _IMP_kernel._Protection___repr__(self)
1602  __swig_destroy__ = _IMP_kernel.delete__Protection
1603 
1604 # Register _Protection in _IMP_kernel:
1605 _IMP_kernel._Protection_swigregister(_Protection)
1606 
1607 def _test_log():
1608  r"""_test_log()"""
1609  return _IMP_kernel._test_log()
1610 
1611 def _test_intranges(ips):
1612  r"""_test_intranges(IMP::IntRanges const & ips) -> int"""
1613  return _IMP_kernel._test_intranges(ips)
1614 
1615 def _test_intrange(*args):
1616  r"""
1617  _test_intrange(IMP::IntRange const & ips) -> IMP::IntRange
1618  _test_intrange() -> IMP::IntRange
1619  """
1620  return _IMP_kernel._test_intrange(*args)
1621 
1622 def _test_ifile(a):
1623  r"""_test_ifile(TextInput a) -> std::string"""
1624  return _IMP_kernel._test_ifile(a)
1625 
1626 def _test_ofile(a):
1627  r"""_test_ofile(TextOutput a) -> std::string"""
1628  return _IMP_kernel._test_ofile(a)
1629 
1630 def _test_ifile_overloaded(*args):
1631  r"""
1632  _test_ifile_overloaded(TextInput a, int i) -> std::string
1633  _test_ifile_overloaded(TextInput a, std::string st) -> std::string
1634  """
1635  return _IMP_kernel._test_ifile_overloaded(*args)
1636 
1637 def _test_ofile_overloaded(*args):
1638  r"""
1639  _test_ofile_overloaded(TextOutput a, int i) -> std::string
1640  _test_ofile_overloaded(TextOutput a, std::string st) -> std::string
1641  """
1642  return _IMP_kernel._test_ofile_overloaded(*args)
1643 class _TestValue(object):
1644  r"""Proxy of C++ IMP::internal::_TestValue class."""
1645 
1646  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1647 
1648  def __init__(self, i):
1649  r"""__init__(_TestValue self, int i) -> _TestValue"""
1650  _IMP_kernel._TestValue_swiginit(self, _IMP_kernel.new__TestValue(i))
1651 
1652  def show(self, *args):
1653  r"""show(_TestValue self, _ostream out=std::cout)"""
1654  return _IMP_kernel._TestValue_show(self, *args)
1655 
1656  def __cmp__(self, o):
1657  r"""__cmp__(_TestValue self, _TestValue o) -> int"""
1658  return _IMP_kernel._TestValue___cmp__(self, o)
1659 
1660  def __eq__(self, o):
1661  r"""__eq__(_TestValue self, _TestValue o) -> bool"""
1662  return _IMP_kernel._TestValue___eq__(self, o)
1663 
1664  def __ne__(self, o):
1665  r"""__ne__(_TestValue self, _TestValue o) -> bool"""
1666  return _IMP_kernel._TestValue___ne__(self, o)
1667 
1668  def __lt__(self, o):
1669  r"""__lt__(_TestValue self, _TestValue o) -> bool"""
1670  return _IMP_kernel._TestValue___lt__(self, o)
1671 
1672  def __gt__(self, o):
1673  r"""__gt__(_TestValue self, _TestValue o) -> bool"""
1674  return _IMP_kernel._TestValue___gt__(self, o)
1675 
1676  def __ge__(self, o):
1677  r"""__ge__(_TestValue self, _TestValue o) -> bool"""
1678  return _IMP_kernel._TestValue___ge__(self, o)
1679 
1680  def __le__(self, o):
1681  r"""__le__(_TestValue self, _TestValue o) -> bool"""
1682  return _IMP_kernel._TestValue___le__(self, o)
1683 
1684  def get(self):
1685  r"""get(_TestValue self) -> int"""
1686  return _IMP_kernel._TestValue_get(self)
1687 
1688  def get_float(self):
1689  r"""get_float(_TestValue self) -> float const &"""
1690  return _IMP_kernel._TestValue_get_float(self)
1691 
1692  def get_double(self):
1693  r"""get_double(_TestValue self) -> double const &"""
1694  return _IMP_kernel._TestValue_get_double(self)
1695 
1696  def get_Float(self):
1697  r"""get_Float(_TestValue self) -> IMP::Float const &"""
1698  return _IMP_kernel._TestValue_get_Float(self)
1699 
1700  def get_int(self):
1701  r"""get_int(_TestValue self) -> int const &"""
1702  return _IMP_kernel._TestValue_get_int(self)
1703 
1704  def get_Int(self):
1705  r"""get_Int(_TestValue self) -> IMP::Int const &"""
1706  return _IMP_kernel._TestValue_get_Int(self)
1707 
1708  def get_string(self):
1709  r"""get_string(_TestValue self) -> std::string const &"""
1710  return _IMP_kernel._TestValue_get_string(self)
1711 
1712  def get_String(self):
1713  r"""get_String(_TestValue self) -> IMP::String const &"""
1714  return _IMP_kernel._TestValue_get_String(self)
1715 
1716  def __str__(self):
1717  r"""__str__(_TestValue self) -> std::string"""
1718  return _IMP_kernel._TestValue___str__(self)
1719 
1720  def __repr__(self):
1721  r"""__repr__(_TestValue self) -> std::string"""
1722  return _IMP_kernel._TestValue___repr__(self)
1723  __swig_destroy__ = _IMP_kernel.delete__TestValue
1724 
1725 # Register _TestValue in _IMP_kernel:
1726 _IMP_kernel._TestValue_swigregister(_TestValue)
1727 
1728 def _pass_plain_pair(p):
1729  r"""_pass_plain_pair(IMP::FloatPair p) -> IMP::FloatPair"""
1730  return _IMP_kernel._pass_plain_pair(p)
1731 
1732 def _pass_overloaded_strings(*args):
1733  r"""
1734  _pass_overloaded_strings(IMP::Strings const & a, int arg2) -> IMP::Strings
1735  _pass_overloaded_strings(IMP::Strings const & a) -> IMP::Strings
1736  """
1737  return _IMP_kernel._pass_overloaded_strings(*args)
1738 
1739 def _pass_pair(p):
1740  r"""_pass_pair(IMP::DerivativePair const & p) -> IMP::DerivativePair"""
1741  return _IMP_kernel._pass_pair(p)
1742 
1743 def _pass_floats(input):
1744  r"""_pass_floats(IMP::Floats const & input) -> IMP::Floats"""
1745  return _IMP_kernel._pass_floats(input)
1746 
1747 def _pass_ints(input):
1748  r"""_pass_ints(IMP::Ints input) -> IMP::Ints"""
1749  return _IMP_kernel._pass_ints(input)
1750 
1751 def _pass_ints_list(input):
1752  r"""_pass_ints_list(IMP::IntsList const & input) -> IMP::IntsList"""
1753  return _IMP_kernel._pass_ints_list(input)
1754 
1755 def _pass_ints_lists(input):
1756  r"""_pass_ints_lists(IMP::IntsLists const & input) -> IMP::IntsLists"""
1757  return _IMP_kernel._pass_ints_lists(input)
1758 
1759 def _pass_strings(input):
1760  r"""_pass_strings(IMP::Strings const & input) -> IMP::Strings const &"""
1761  return _IMP_kernel._pass_strings(input)
1762 class _TestObject(Object):
1763  r"""Proxy of C++ IMP::internal::_TestObject class."""
1764 
1765  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1766 
1767  def __init__(self):
1768  r"""__init__(_TestObject self) -> _TestObject"""
1769  _IMP_kernel._TestObject_swiginit(self, _IMP_kernel.new__TestObject())
1770 
1771  def get_version_info(self):
1772  r"""get_version_info(_TestObject self) -> VersionInfo"""
1773  return _IMP_kernel._TestObject_get_version_info(self)
1774  __swig_destroy__ = _IMP_kernel.delete__TestObject
1775 
1776  def __str__(self):
1777  r"""__str__(_TestObject self) -> std::string"""
1778  return _IMP_kernel._TestObject___str__(self)
1779 
1780  def __repr__(self):
1781  r"""__repr__(_TestObject self) -> std::string"""
1782  return _IMP_kernel._TestObject___repr__(self)
1783 
1784  @staticmethod
1785  def get_from(o):
1786  return _object_cast_to__TestObject(o)
1787 
1788 
1789 # Register _TestObject in _IMP_kernel:
1790 _IMP_kernel._TestObject_swigregister(_TestObject)
1791 
1792 def get_live_object_names():
1793  r"""get_live_object_names() -> IMP::Strings"""
1794  return _IMP_kernel.get_live_object_names()
1795 
1796 def get_live_objects():
1797  r"""get_live_objects() -> IMP::Objects"""
1798  return _IMP_kernel.get_live_objects()
1799 
1800 def set_show_leaked_objects(tf):
1801  r"""set_show_leaked_objects(bool tf)"""
1802  return _IMP_kernel.set_show_leaked_objects(tf)
1803 
1804 def set_deprecation_warnings(tf):
1805  r"""set_deprecation_warnings(bool tf)"""
1806  return _IMP_kernel.set_deprecation_warnings(tf)
1807 
1809  r"""set_deprecation_exceptions(bool tf)"""
1810  return _IMP_kernel.set_deprecation_exceptions(tf)
1811 
1813  r"""get_deprecation_exceptions() -> bool"""
1814  return _IMP_kernel.get_deprecation_exceptions()
1815 
1816 def handle_use_deprecated(message):
1817  r"""handle_use_deprecated(std::string message)"""
1818  return _IMP_kernel.handle_use_deprecated(message)
1819 
1820 def get_number_of_threads():
1821  r"""get_number_of_threads() -> unsigned int"""
1822  return _IMP_kernel.get_number_of_threads()
1823 
1824 def set_number_of_threads(n):
1825  r"""set_number_of_threads(unsigned int n)"""
1826  return _IMP_kernel.set_number_of_threads(n)
1827 class SetNumberOfThreads(_RAII):
1828  r"""Proxy of C++ IMP::SetNumberOfThreads class."""
1829 
1830  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1831 
1832  def __init__(self, *args):
1833  r"""
1834  __init__(SetNumberOfThreads self) -> SetNumberOfThreads
1835  __init__(SetNumberOfThreads self, unsigned int n) -> SetNumberOfThreads
1836  """
1837  _IMP_kernel.SetNumberOfThreads_swiginit(self, _IMP_kernel.new_SetNumberOfThreads(*args))
1838 
1839  def set(self, n):
1840  r"""set(SetNumberOfThreads self, unsigned int n)"""
1841  return _IMP_kernel.SetNumberOfThreads_set(self, n)
1842 
1843  def reset(self):
1844  r"""reset(SetNumberOfThreads self)"""
1845  return _IMP_kernel.SetNumberOfThreads_reset(self)
1846  __swig_destroy__ = _IMP_kernel.delete_SetNumberOfThreads
1847 
1848  def show(self, *args):
1849  r"""show(SetNumberOfThreads self, _ostream out=std::cout)"""
1850  return _IMP_kernel.SetNumberOfThreads_show(self, *args)
1851 
1852  def __enter__(self):
1853  return self
1854  def __exit__(self, exc_type, exc_val, exc_tb):
1855  self.reset()
1856  return False
1857 
1858 
1859  def __str__(self):
1860  r"""__str__(SetNumberOfThreads self) -> std::string"""
1861  return _IMP_kernel.SetNumberOfThreads___str__(self)
1862 
1863  def __repr__(self):
1864  r"""__repr__(SetNumberOfThreads self) -> std::string"""
1865  return _IMP_kernel.SetNumberOfThreads___repr__(self)
1866 
1867 # Register SetNumberOfThreads in _IMP_kernel:
1868 _IMP_kernel.SetNumberOfThreads_swigregister(SetNumberOfThreads)
1869 
1870 import os
1871 i_m_p="IMP_MODULE_PATH"
1872 if i_m_p in os.environ.keys():
1873  __path__.insert(0, os.environ[i_m_p])
1874 
1875 def _forward_add_attribute(self, name, value, opt=None):
1876  if opt is not None:
1877  self.get_particle().add_attribute(name, value, opt)
1878  else:
1879  self.get_particle().add_attribute(name, value)
1880 def _forward_get_value(self, name):
1881  self.get_particle().get_value(name)
1882 def _forward_set_value(self, name, value):
1883  self.get_particle().set_value(name, value)
1884 
1885 
1886 build="release"
1887 
1888 
1889 _object_types.append("Constraint")
1890 
1891 
1892 def _object_cast_to_Constraint(o):
1893  r"""_object_cast_to_Constraint(Object o) -> Constraint"""
1894  return _IMP_kernel._object_cast_to_Constraint(o)
1895 
1896 _object_types.append("Undecorator")
1897 
1898 
1899 def _object_cast_to_Undecorator(o):
1900  r"""_object_cast_to_Undecorator(Object o) -> Undecorator"""
1901  return _IMP_kernel._object_cast_to_Undecorator(o)
1902 
1903 _object_types.append("Container")
1904 
1905 
1906 def _object_cast_to_Container(o):
1907  r"""_object_cast_to_Container(Object o) -> Container"""
1908  return _IMP_kernel._object_cast_to_Container(o)
1909 
1910 _object_types.append("Optimizer")
1911 
1912 
1913 def _object_cast_to_Optimizer(o):
1914  r"""_object_cast_to_Optimizer(Object o) -> Optimizer"""
1915  return _IMP_kernel._object_cast_to_Optimizer(o)
1916 
1917 _object_types.append("AttributeOptimizer")
1918 
1919 
1920 def _object_cast_to_AttributeOptimizer(o):
1921  r"""_object_cast_to_AttributeOptimizer(Object o) -> AttributeOptimizer"""
1922  return _IMP_kernel._object_cast_to_AttributeOptimizer(o)
1923 
1924 _object_types.append("OptimizerState")
1925 
1926 
1927 def _object_cast_to_OptimizerState(o):
1928  r"""_object_cast_to_OptimizerState(Object o) -> OptimizerState"""
1929  return _IMP_kernel._object_cast_to_OptimizerState(o)
1930 
1931 _object_types.append("PairContainer")
1932 
1933 
1934 def _object_cast_to_PairContainer(o):
1935  r"""_object_cast_to_PairContainer(Object o) -> PairContainer"""
1936  return _IMP_kernel._object_cast_to_PairContainer(o)
1937 
1938 _object_types.append("PairModifier")
1939 
1940 
1941 def _object_cast_to_PairModifier(o):
1942  r"""_object_cast_to_PairModifier(Object o) -> PairModifier"""
1943  return _IMP_kernel._object_cast_to_PairModifier(o)
1944 
1945 _object_types.append("PairScore")
1946 
1947 
1948 def _object_cast_to_PairScore(o):
1949  r"""_object_cast_to_PairScore(Object o) -> PairScore"""
1950  return _IMP_kernel._object_cast_to_PairScore(o)
1951 
1952 _object_types.append("QuadContainer")
1953 
1954 
1955 def _object_cast_to_QuadContainer(o):
1956  r"""_object_cast_to_QuadContainer(Object o) -> QuadContainer"""
1957  return _IMP_kernel._object_cast_to_QuadContainer(o)
1958 
1959 _object_types.append("QuadModifier")
1960 
1961 
1962 def _object_cast_to_QuadModifier(o):
1963  r"""_object_cast_to_QuadModifier(Object o) -> QuadModifier"""
1964  return _IMP_kernel._object_cast_to_QuadModifier(o)
1965 
1966 _object_types.append("QuadScore")
1967 
1968 
1969 def _object_cast_to_QuadScore(o):
1970  r"""_object_cast_to_QuadScore(Object o) -> QuadScore"""
1971  return _IMP_kernel._object_cast_to_QuadScore(o)
1972 
1973 _object_types.append("Refiner")
1974 
1975 
1976 def _object_cast_to_Refiner(o):
1977  r"""_object_cast_to_Refiner(Object o) -> Refiner"""
1978  return _IMP_kernel._object_cast_to_Refiner(o)
1979 
1980 _object_types.append("Restraint")
1981 
1982 
1983 def _object_cast_to_Restraint(o):
1984  r"""_object_cast_to_Restraint(Object o) -> Restraint"""
1985  return _IMP_kernel._object_cast_to_Restraint(o)
1986 
1987 _object_types.append("Sampler")
1988 
1989 
1990 def _object_cast_to_Sampler(o):
1991  r"""_object_cast_to_Sampler(Object o) -> Sampler"""
1992  return _IMP_kernel._object_cast_to_Sampler(o)
1993 
1994 _object_types.append("ScoreState")
1995 
1996 
1997 def _object_cast_to_ScoreState(o):
1998  r"""_object_cast_to_ScoreState(Object o) -> ScoreState"""
1999  return _IMP_kernel._object_cast_to_ScoreState(o)
2000 
2001 _object_types.append("SingletonContainer")
2002 
2003 
2004 def _object_cast_to_SingletonContainer(o):
2005  r"""_object_cast_to_SingletonContainer(Object o) -> SingletonContainer"""
2006  return _IMP_kernel._object_cast_to_SingletonContainer(o)
2007 
2008 _object_types.append("SingletonModifier")
2009 
2010 
2011 def _object_cast_to_SingletonModifier(o):
2012  r"""_object_cast_to_SingletonModifier(Object o) -> SingletonModifier"""
2013  return _IMP_kernel._object_cast_to_SingletonModifier(o)
2014 
2015 _object_types.append("SingletonScore")
2016 
2017 
2018 def _object_cast_to_SingletonScore(o):
2019  r"""_object_cast_to_SingletonScore(Object o) -> SingletonScore"""
2020  return _IMP_kernel._object_cast_to_SingletonScore(o)
2021 
2022 _object_types.append("TripletContainer")
2023 
2024 
2025 def _object_cast_to_TripletContainer(o):
2026  r"""_object_cast_to_TripletContainer(Object o) -> TripletContainer"""
2027  return _IMP_kernel._object_cast_to_TripletContainer(o)
2028 
2029 _object_types.append("TripletModifier")
2030 
2031 
2032 def _object_cast_to_TripletModifier(o):
2033  r"""_object_cast_to_TripletModifier(Object o) -> TripletModifier"""
2034  return _IMP_kernel._object_cast_to_TripletModifier(o)
2035 
2036 _object_types.append("TripletScore")
2037 
2038 
2039 def _object_cast_to_TripletScore(o):
2040  r"""_object_cast_to_TripletScore(Object o) -> TripletScore"""
2041  return _IMP_kernel._object_cast_to_TripletScore(o)
2042 
2043 _object_types.append("UnaryFunction")
2044 
2045 
2046 def _object_cast_to_UnaryFunction(o):
2047  r"""_object_cast_to_UnaryFunction(Object o) -> UnaryFunction"""
2048  return _IMP_kernel._object_cast_to_UnaryFunction(o)
2049 
2050 _object_types.append("RestraintInfo")
2051 
2052 
2053 def _object_cast_to_RestraintInfo(o):
2054  r"""_object_cast_to_RestraintInfo(Object o) -> RestraintInfo"""
2055  return _IMP_kernel._object_cast_to_RestraintInfo(o)
2056 
2057 _object_types.append("ConfigurationSet")
2058 
2059 
2060 def _object_cast_to_ConfigurationSet(o):
2061  r"""_object_cast_to_ConfigurationSet(Object o) -> ConfigurationSet"""
2062  return _IMP_kernel._object_cast_to_ConfigurationSet(o)
2063 
2064 _object_types.append("Configuration")
2065 
2066 
2067 def _object_cast_to_Configuration(o):
2068  r"""_object_cast_to_Configuration(Object o) -> Configuration"""
2069  return _IMP_kernel._object_cast_to_Configuration(o)
2070 
2071 _object_types.append("Model")
2072 
2073 
2074 def _object_cast_to_Model(o):
2075  r"""_object_cast_to_Model(Object o) -> Model"""
2076  return _IMP_kernel._object_cast_to_Model(o)
2077 
2078 _object_types.append("Particle")
2079 
2080 
2081 def _object_cast_to_Particle(o):
2082  r"""_object_cast_to_Particle(Object o) -> Particle"""
2083  return _IMP_kernel._object_cast_to_Particle(o)
2084 
2085 _object_types.append("RestraintSet")
2086 
2087 
2088 def _object_cast_to_RestraintSet(o):
2089  r"""_object_cast_to_RestraintSet(Object o) -> RestraintSet"""
2090  return _IMP_kernel._object_cast_to_RestraintSet(o)
2091 
2092 ParticlePairsTemp=list
2093 _plural_types.append("ParticlePairsTemp")
2094 _value_types.append("ParticlePair")
2095 
2096 
2097 ParticleTripletsTemp=list
2098 _plural_types.append("ParticleTripletsTemp")
2099 _value_types.append("ParticleTriplet")
2100 
2101 
2102 ParticleQuadsTemp=list
2103 _plural_types.append("ParticleQuadsTemp")
2104 _value_types.append("ParticleQuad")
2105 
2106 
2107 ParticleIndexPairs=list
2108 _plural_types.append("ParticleIndexPairs")
2109 _value_types.append("ParticleIndexPair")
2110 
2111 
2112 ParticleIndexTriplets=list
2113 _plural_types.append("ParticleIndexTriplets")
2114 _value_types.append("ParticleIndexTriplet")
2115 
2116 
2117 ParticleIndexQuads=list
2118 _plural_types.append("ParticleIndexQuads")
2119 _value_types.append("ParticleIndexQuad")
2120 
2121 
2122 _object_types.append("SingletonPredicate")
2123 
2124 
2125 def _object_cast_to_SingletonPredicate(o):
2126  r"""_object_cast_to_SingletonPredicate(Object o) -> SingletonPredicate"""
2127  return _IMP_kernel._object_cast_to_SingletonPredicate(o)
2128 
2129 _object_types.append("PairPredicate")
2130 
2131 
2132 def _object_cast_to_PairPredicate(o):
2133  r"""_object_cast_to_PairPredicate(Object o) -> PairPredicate"""
2134  return _IMP_kernel._object_cast_to_PairPredicate(o)
2135 
2136 _object_types.append("TripletPredicate")
2137 
2138 
2139 def _object_cast_to_TripletPredicate(o):
2140  r"""_object_cast_to_TripletPredicate(Object o) -> TripletPredicate"""
2141  return _IMP_kernel._object_cast_to_TripletPredicate(o)
2142 
2143 _object_types.append("QuadPredicate")
2144 
2145 
2146 def _object_cast_to_QuadPredicate(o):
2147  r"""_object_cast_to_QuadPredicate(Object o) -> QuadPredicate"""
2148  return _IMP_kernel._object_cast_to_QuadPredicate(o)
2149 
2150 _object_types.append("SaveToConfigurationSetOptimizerState")
2151 
2152 
2153 def _object_cast_to_SaveToConfigurationSetOptimizerState(o):
2154  r"""_object_cast_to_SaveToConfigurationSetOptimizerState(Object o) -> SaveToConfigurationSetOptimizerState"""
2155  return _IMP_kernel._object_cast_to_SaveToConfigurationSetOptimizerState(o)
2156 
2157 EvaluationStates=list
2158 _plural_types.append("EvaluationStates")
2159 _value_types.append("EvaluationState")
2160 
2161 
2162 ScoreAccumulators=list
2163 _plural_types.append("ScoreAccumulators")
2164 _value_types.append("ScoreAccumulator")
2165 
2166 
2167 ParticleIndexes=list
2168 _plural_types.append("ParticleIndexes")
2169 _value_types.append("ParticleIndex")
2170 
2171 
2172 FloatIndexes=list
2173 _plural_types.append("FloatIndexes")
2174 _value_types.append("FloatIndex")
2175 
2176 
2177 FloatKeys=list
2178 _plural_types.append("FloatKeys")
2179 _value_types.append("FloatKey")
2180 
2181 
2182 FloatsKeys=list
2183 _plural_types.append("FloatsKeys")
2184 _value_types.append("FloatsKey")
2185 
2186 
2187 IntKeys=list
2188 _plural_types.append("IntKeys")
2189 _value_types.append("IntKey")
2190 
2191 
2192 IntsKeys=list
2193 _plural_types.append("IntsKeys")
2194 _value_types.append("IntsKey")
2195 
2196 
2197 StringKeys=list
2198 _plural_types.append("StringKeys")
2199 _value_types.append("StringKey")
2200 
2201 
2202 ParticleIndexKeys=list
2203 _plural_types.append("ParticleIndexKeys")
2204 _value_types.append("ParticleIndexKey")
2205 
2206 
2207 ParticleIndexesKeys=list
2208 _plural_types.append("ParticleIndexesKeys")
2209 _value_types.append("ParticleIndexesKey")
2210 
2211 
2212 ObjectKeys=list
2213 _plural_types.append("ObjectKeys")
2214 _value_types.append("ObjectKey")
2215 
2216 
2217 ModelKeys=list
2218 _plural_types.append("ModelKeys")
2219 _value_types.append("ModelKey")
2220 
2221 
2222 TriggerKeys=list
2223 _plural_types.append("TriggerKeys")
2224 _value_types.append("TriggerKey")
2225 
2226 
2227 SparseFloatKeys=list
2228 _plural_types.append("SparseFloatKeys")
2229 _value_types.append("SparseFloatKey")
2230 
2231 
2232 SparseIntKeys=list
2233 _plural_types.append("SparseIntKeys")
2234 _value_types.append("SparseIntKey")
2235 
2236 
2237 SparseStringKeys=list
2238 _plural_types.append("SparseStringKeys")
2239 _value_types.append("SparseStringKey")
2240 
2241 
2242 SparseParticleIndexKeys=list
2243 _plural_types.append("SparseParticleIndexKeys")
2244 _value_types.append("SparseParticleIndexKey")
2245 
2246 
2247 Vector3DKeys=list
2248 _plural_types.append("Vector3DKeys")
2249 _value_types.append("Vector3DKey")
2250 
2251 
2252 Vector4DKeys=list
2253 _plural_types.append("Vector4DKeys")
2254 _value_types.append("Vector4DKey")
2255 
2256 
2257 Vector3DDerivKeys=list
2258 _plural_types.append("Vector3DDerivKeys")
2259 _value_types.append("Vector3DDerivKey")
2260 
2261 
2262 Vector4DDerivKeys=list
2263 _plural_types.append("Vector4DDerivKeys")
2264 _value_types.append("Vector4DDerivKey")
2265 
2266 
2267 _raii_types.append("ScopedSetFloatAttribute")
2268 
2269 
2270 _object_types.append("ScoringFunction")
2271 
2272 
2273 def _object_cast_to_ScoringFunction(o):
2274  r"""_object_cast_to_ScoringFunction(Object o) -> ScoringFunction"""
2275  return _IMP_kernel._object_cast_to_ScoringFunction(o)
2276 
2277 _object_types.append("ModelObject")
2278 
2279 
2280 def _object_cast_to_ModelObject(o):
2281  r"""_object_cast_to_ModelObject(Object o) -> ModelObject"""
2282  return _IMP_kernel._object_cast_to_ModelObject(o)
2283 
2284 _object_types.append("_RestraintsScoringFunction")
2285 
2286 
2287 def _object_cast_to__RestraintsScoringFunction(o):
2288  r"""_object_cast_to__RestraintsScoringFunction(Object o) -> _RestraintsScoringFunction"""
2289  return _IMP_kernel._object_cast_to__RestraintsScoringFunction(o)
2290 
2291 def _TrivialDecorators(l=[]):
2292  return [_TrivialDecorator(x) for x in l]
2293 _plural_types.append("_TrivialDecorators")
2294 
2295 
2296 _value_types.append("_TrivialDecorator")
2297 
2298 
2299 def _TrivialDerivedDecorators(l=[]):
2300  return [_TrivialDerivedDecorator(x) for x in l]
2301 _plural_types.append("_TrivialDerivedDecorators")
2302 
2303 
2304 _value_types.append("_TrivialDerivedDecorator")
2305 
2306 
2307 def _TrivialTraitsDecorators(l=[]):
2308  return [_TrivialTraitsDecorator(x) for x in l]
2309 _plural_types.append("_TrivialTraitsDecorators")
2310 
2311 
2312 _value_types.append("_TrivialTraitsDecorator")
2313 
2314 
2315 _object_types.append("_ConstRestraint")
2316 
2317 
2318 def _object_cast_to__ConstRestraint(o):
2319  r"""_object_cast_to__ConstRestraint(Object o) -> _ConstRestraint"""
2320  return _IMP_kernel._object_cast_to__ConstRestraint(o)
2321 
2322 _object_types.append("_ConstOptimizer")
2323 
2324 
2325 def _object_cast_to__ConstOptimizer(o):
2326  r"""_object_cast_to__ConstOptimizer(Object o) -> _ConstOptimizer"""
2327  return _IMP_kernel._object_cast_to__ConstOptimizer(o)
2328 
2329 _object_types.append("_ConstSingletonScore")
2330 
2331 
2332 def _object_cast_to__ConstSingletonScore(o):
2333  r"""_object_cast_to__ConstSingletonScore(Object o) -> _ConstSingletonScore"""
2334  return _IMP_kernel._object_cast_to__ConstSingletonScore(o)
2335 
2336 _object_types.append("_ConstPairScore")
2337 
2338 
2339 def _object_cast_to__ConstPairScore(o):
2340  r"""_object_cast_to__ConstPairScore(Object o) -> _ConstPairScore"""
2341  return _IMP_kernel._object_cast_to__ConstPairScore(o)
2342 class DependencyGraph(Object):
2343  r"""Proxy of C++ IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex > class."""
2344 
2345  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2346  __repr__ = _swig_repr
2347 
2348  def __init__(self):
2349  r"""__init__(DependencyGraph self) -> DependencyGraph"""
2350  _IMP_kernel.DependencyGraph_swiginit(self, _IMP_kernel.new_DependencyGraph())
2351 
2352  def get_graph(self):
2353  r"""get_graph(DependencyGraph self) -> IMP::DependencyGraph const &"""
2354  return _IMP_kernel.DependencyGraph_get_graph(self)
2355 
2356  def get_vertices(self):
2357  r"""get_vertices(DependencyGraph self) -> IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptors"""
2358  return _IMP_kernel.DependencyGraph_get_vertices(self)
2359 
2360  def get_vertex_name(self, i):
2361  r"""get_vertex_name(DependencyGraph self, IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor i) -> ModelObject"""
2362  return _IMP_kernel.DependencyGraph_get_vertex_name(self, i)
2363 
2364  def get_in_neighbors(self, v):
2365  r"""get_in_neighbors(DependencyGraph self, IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor v) -> IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptors"""
2366  return _IMP_kernel.DependencyGraph_get_in_neighbors(self, v)
2367 
2368  def get_out_neighbors(self, v):
2369  r"""get_out_neighbors(DependencyGraph self, IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor v) -> IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptors"""
2370  return _IMP_kernel.DependencyGraph_get_out_neighbors(self, v)
2371 
2372  def show_graphviz(self, *args):
2373  r"""show_graphviz(DependencyGraph self, _ostream out=std::cout)"""
2374  return _IMP_kernel.DependencyGraph_show_graphviz(self, *args)
2375 
2376  def get_graphviz_string(self):
2377  r"""get_graphviz_string(DependencyGraph self) -> std::string"""
2378  return _IMP_kernel.DependencyGraph_get_graphviz_string(self)
2379 
2380  def add_edge(self, v0, v1):
2381  r"""add_edge(DependencyGraph self, IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor v0, IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor v1)"""
2382  return _IMP_kernel.DependencyGraph_add_edge(self, v0, v1)
2383 
2384  def add_vertex(self, l):
2385  r"""add_vertex(DependencyGraph self, ModelObject l) -> IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor"""
2386  return _IMP_kernel.DependencyGraph_add_vertex(self, l)
2387 
2388  def remove_vertex(self, l):
2389  r"""remove_vertex(DependencyGraph self, IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor l)"""
2390  return _IMP_kernel.DependencyGraph_remove_vertex(self, l)
2391  __swig_destroy__ = _IMP_kernel.delete_DependencyGraph
2392 
2393 # Register DependencyGraph in _IMP_kernel:
2394 _IMP_kernel.DependencyGraph_swigregister(DependencyGraph)
2395 
2396 _value_types.append("DependencyGraph")
2397 
2398 class FloatKey(_Value):
2399  r"""Proxy of C++ IMP::Key< 0 > class."""
2400 
2401  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2402 
2403  def __init__(self, *args):
2404  r"""
2405  __init__(FloatKey self) -> FloatKey
2406  __init__(FloatKey self, std::string const & c, bool is_implicit_add_permitted=True) -> FloatKey
2407  __init__(FloatKey self, unsigned int i) -> FloatKey
2408  """
2409  _IMP_kernel.FloatKey_swiginit(self, _IMP_kernel.new_FloatKey(*args))
2410 
2411  @staticmethod
2412  def add_key(sc):
2413  r"""add_key(std::string sc) -> unsigned int"""
2414  return _IMP_kernel.FloatKey_add_key(sc)
2415 
2416  @staticmethod
2417  def get_key_exists(sc):
2418  r"""get_key_exists(std::string sc) -> bool"""
2419  return _IMP_kernel.FloatKey_get_key_exists(sc)
2420 
2421  def get_string(self):
2422  r"""get_string(FloatKey self) -> std::string const"""
2423  return _IMP_kernel.FloatKey_get_string(self)
2424 
2425  def __cmp__(self, o):
2426  r"""__cmp__(FloatKey self, FloatKey o) -> int"""
2427  return _IMP_kernel.FloatKey___cmp__(self, o)
2428 
2429  def __eq__(self, o):
2430  r"""__eq__(FloatKey self, FloatKey o) -> bool"""
2431  return _IMP_kernel.FloatKey___eq__(self, o)
2432 
2433  def __ne__(self, o):
2434  r"""__ne__(FloatKey self, FloatKey o) -> bool"""
2435  return _IMP_kernel.FloatKey___ne__(self, o)
2436 
2437  def __lt__(self, o):
2438  r"""__lt__(FloatKey self, FloatKey o) -> bool"""
2439  return _IMP_kernel.FloatKey___lt__(self, o)
2440 
2441  def __gt__(self, o):
2442  r"""__gt__(FloatKey self, FloatKey o) -> bool"""
2443  return _IMP_kernel.FloatKey___gt__(self, o)
2444 
2445  def __ge__(self, o):
2446  r"""__ge__(FloatKey self, FloatKey o) -> bool"""
2447  return _IMP_kernel.FloatKey___ge__(self, o)
2448 
2449  def __le__(self, o):
2450  r"""__le__(FloatKey self, FloatKey o) -> bool"""
2451  return _IMP_kernel.FloatKey___le__(self, o)
2452 
2453  def __hash__(self):
2454  r"""__hash__(FloatKey self) -> std::size_t"""
2455  return _IMP_kernel.FloatKey___hash__(self)
2456 
2457  def show(self, *args):
2458  r"""show(FloatKey self, _ostream out=std::cout)"""
2459  return _IMP_kernel.FloatKey_show(self, *args)
2460 
2461  @staticmethod
2462  def add_alias(old_key, new_name):
2463  r"""add_alias(FloatKey old_key, std::string new_name) -> FloatKey"""
2464  return _IMP_kernel.FloatKey_add_alias(old_key, new_name)
2465 
2466  @staticmethod
2467  def get_number_of_keys():
2468  r"""get_number_of_keys() -> unsigned int"""
2469  return _IMP_kernel.FloatKey_get_number_of_keys()
2470 
2471  def get_index(self):
2472  r"""get_index(FloatKey self) -> unsigned int"""
2473  return _IMP_kernel.FloatKey_get_index(self)
2474 
2475  @staticmethod
2476  def show_all(out):
2477  r"""show_all(_ostream out)"""
2478  return _IMP_kernel.FloatKey_show_all(out)
2479 
2480  @staticmethod
2481  def get_all_strings():
2482  r"""get_all_strings() -> IMP::Vector< std::string >"""
2483  return _IMP_kernel.FloatKey_get_all_strings()
2484 
2485  @staticmethod
2486  def get_number_unique():
2487  r"""get_number_unique() -> unsigned int"""
2488  return _IMP_kernel.FloatKey_get_number_unique()
2489 
2490  def __str__(self):
2491  r"""__str__(FloatKey self) -> std::string"""
2492  return _IMP_kernel.FloatKey___str__(self)
2493 
2494  def __repr__(self):
2495  r"""__repr__(FloatKey self) -> std::string"""
2496  return _IMP_kernel.FloatKey___repr__(self)
2497  __swig_destroy__ = _IMP_kernel.delete_FloatKey
2498 
2499 # Register FloatKey in _IMP_kernel:
2500 _IMP_kernel.FloatKey_swigregister(FloatKey)
2501 class IntKey(_Value):
2502  r"""Proxy of C++ IMP::Key< 1 > class."""
2503 
2504  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2505 
2506  def __init__(self, *args):
2507  r"""
2508  __init__(IntKey self) -> IntKey
2509  __init__(IntKey self, std::string const & c, bool is_implicit_add_permitted=True) -> IntKey
2510  __init__(IntKey self, unsigned int i) -> IntKey
2511  """
2512  _IMP_kernel.IntKey_swiginit(self, _IMP_kernel.new_IntKey(*args))
2513 
2514  @staticmethod
2515  def add_key(sc):
2516  r"""add_key(std::string sc) -> unsigned int"""
2517  return _IMP_kernel.IntKey_add_key(sc)
2518 
2519  @staticmethod
2520  def get_key_exists(sc):
2521  r"""get_key_exists(std::string sc) -> bool"""
2522  return _IMP_kernel.IntKey_get_key_exists(sc)
2523 
2524  def get_string(self):
2525  r"""get_string(IntKey self) -> std::string const"""
2526  return _IMP_kernel.IntKey_get_string(self)
2527 
2528  def __cmp__(self, o):
2529  r"""__cmp__(IntKey self, IntKey o) -> int"""
2530  return _IMP_kernel.IntKey___cmp__(self, o)
2531 
2532  def __eq__(self, o):
2533  r"""__eq__(IntKey self, IntKey o) -> bool"""
2534  return _IMP_kernel.IntKey___eq__(self, o)
2535 
2536  def __ne__(self, o):
2537  r"""__ne__(IntKey self, IntKey o) -> bool"""
2538  return _IMP_kernel.IntKey___ne__(self, o)
2539 
2540  def __lt__(self, o):
2541  r"""__lt__(IntKey self, IntKey o) -> bool"""
2542  return _IMP_kernel.IntKey___lt__(self, o)
2543 
2544  def __gt__(self, o):
2545  r"""__gt__(IntKey self, IntKey o) -> bool"""
2546  return _IMP_kernel.IntKey___gt__(self, o)
2547 
2548  def __ge__(self, o):
2549  r"""__ge__(IntKey self, IntKey o) -> bool"""
2550  return _IMP_kernel.IntKey___ge__(self, o)
2551 
2552  def __le__(self, o):
2553  r"""__le__(IntKey self, IntKey o) -> bool"""
2554  return _IMP_kernel.IntKey___le__(self, o)
2555 
2556  def __hash__(self):
2557  r"""__hash__(IntKey self) -> std::size_t"""
2558  return _IMP_kernel.IntKey___hash__(self)
2559 
2560  def show(self, *args):
2561  r"""show(IntKey self, _ostream out=std::cout)"""
2562  return _IMP_kernel.IntKey_show(self, *args)
2563 
2564  @staticmethod
2565  def add_alias(old_key, new_name):
2566  r"""add_alias(IntKey old_key, std::string new_name) -> IntKey"""
2567  return _IMP_kernel.IntKey_add_alias(old_key, new_name)
2568 
2569  @staticmethod
2570  def get_number_of_keys():
2571  r"""get_number_of_keys() -> unsigned int"""
2572  return _IMP_kernel.IntKey_get_number_of_keys()
2573 
2574  def get_index(self):
2575  r"""get_index(IntKey self) -> unsigned int"""
2576  return _IMP_kernel.IntKey_get_index(self)
2577 
2578  @staticmethod
2579  def show_all(out):
2580  r"""show_all(_ostream out)"""
2581  return _IMP_kernel.IntKey_show_all(out)
2582 
2583  @staticmethod
2584  def get_all_strings():
2585  r"""get_all_strings() -> IMP::Vector< std::string >"""
2586  return _IMP_kernel.IntKey_get_all_strings()
2587 
2588  @staticmethod
2589  def get_number_unique():
2590  r"""get_number_unique() -> unsigned int"""
2591  return _IMP_kernel.IntKey_get_number_unique()
2592 
2593  def __str__(self):
2594  r"""__str__(IntKey self) -> std::string"""
2595  return _IMP_kernel.IntKey___str__(self)
2596 
2597  def __repr__(self):
2598  r"""__repr__(IntKey self) -> std::string"""
2599  return _IMP_kernel.IntKey___repr__(self)
2600  __swig_destroy__ = _IMP_kernel.delete_IntKey
2601 
2602 # Register IntKey in _IMP_kernel:
2603 _IMP_kernel.IntKey_swigregister(IntKey)
2604 class StringKey(_Value):
2605  r"""Proxy of C++ IMP::Key< 2 > class."""
2606 
2607  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2608 
2609  def __init__(self, *args):
2610  r"""
2611  __init__(StringKey self) -> StringKey
2612  __init__(StringKey self, std::string const & c, bool is_implicit_add_permitted=True) -> StringKey
2613  __init__(StringKey self, unsigned int i) -> StringKey
2614  """
2615  _IMP_kernel.StringKey_swiginit(self, _IMP_kernel.new_StringKey(*args))
2616 
2617  @staticmethod
2618  def add_key(sc):
2619  r"""add_key(std::string sc) -> unsigned int"""
2620  return _IMP_kernel.StringKey_add_key(sc)
2621 
2622  @staticmethod
2623  def get_key_exists(sc):
2624  r"""get_key_exists(std::string sc) -> bool"""
2625  return _IMP_kernel.StringKey_get_key_exists(sc)
2626 
2627  def get_string(self):
2628  r"""get_string(StringKey self) -> std::string const"""
2629  return _IMP_kernel.StringKey_get_string(self)
2630 
2631  def __cmp__(self, o):
2632  r"""__cmp__(StringKey self, StringKey o) -> int"""
2633  return _IMP_kernel.StringKey___cmp__(self, o)
2634 
2635  def __eq__(self, o):
2636  r"""__eq__(StringKey self, StringKey o) -> bool"""
2637  return _IMP_kernel.StringKey___eq__(self, o)
2638 
2639  def __ne__(self, o):
2640  r"""__ne__(StringKey self, StringKey o) -> bool"""
2641  return _IMP_kernel.StringKey___ne__(self, o)
2642 
2643  def __lt__(self, o):
2644  r"""__lt__(StringKey self, StringKey o) -> bool"""
2645  return _IMP_kernel.StringKey___lt__(self, o)
2646 
2647  def __gt__(self, o):
2648  r"""__gt__(StringKey self, StringKey o) -> bool"""
2649  return _IMP_kernel.StringKey___gt__(self, o)
2650 
2651  def __ge__(self, o):
2652  r"""__ge__(StringKey self, StringKey o) -> bool"""
2653  return _IMP_kernel.StringKey___ge__(self, o)
2654 
2655  def __le__(self, o):
2656  r"""__le__(StringKey self, StringKey o) -> bool"""
2657  return _IMP_kernel.StringKey___le__(self, o)
2658 
2659  def __hash__(self):
2660  r"""__hash__(StringKey self) -> std::size_t"""
2661  return _IMP_kernel.StringKey___hash__(self)
2662 
2663  def show(self, *args):
2664  r"""show(StringKey self, _ostream out=std::cout)"""
2665  return _IMP_kernel.StringKey_show(self, *args)
2666 
2667  @staticmethod
2668  def add_alias(old_key, new_name):
2669  r"""add_alias(StringKey old_key, std::string new_name) -> StringKey"""
2670  return _IMP_kernel.StringKey_add_alias(old_key, new_name)
2671 
2672  @staticmethod
2673  def get_number_of_keys():
2674  r"""get_number_of_keys() -> unsigned int"""
2675  return _IMP_kernel.StringKey_get_number_of_keys()
2676 
2677  def get_index(self):
2678  r"""get_index(StringKey self) -> unsigned int"""
2679  return _IMP_kernel.StringKey_get_index(self)
2680 
2681  @staticmethod
2682  def show_all(out):
2683  r"""show_all(_ostream out)"""
2684  return _IMP_kernel.StringKey_show_all(out)
2685 
2686  @staticmethod
2687  def get_all_strings():
2688  r"""get_all_strings() -> IMP::Vector< std::string >"""
2689  return _IMP_kernel.StringKey_get_all_strings()
2690 
2691  @staticmethod
2692  def get_number_unique():
2693  r"""get_number_unique() -> unsigned int"""
2694  return _IMP_kernel.StringKey_get_number_unique()
2695 
2696  def __str__(self):
2697  r"""__str__(StringKey self) -> std::string"""
2698  return _IMP_kernel.StringKey___str__(self)
2699 
2700  def __repr__(self):
2701  r"""__repr__(StringKey self) -> std::string"""
2702  return _IMP_kernel.StringKey___repr__(self)
2703  __swig_destroy__ = _IMP_kernel.delete_StringKey
2704 
2705 # Register StringKey in _IMP_kernel:
2706 _IMP_kernel.StringKey_swigregister(StringKey)
2707 class ParticleIndexKey(_Value):
2708  r"""Proxy of C++ IMP::Key< 3 > class."""
2709 
2710  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2711 
2712  def __init__(self, *args):
2713  r"""
2714  __init__(ParticleIndexKey self) -> ParticleIndexKey
2715  __init__(ParticleIndexKey self, std::string const & c, bool is_implicit_add_permitted=True) -> ParticleIndexKey
2716  __init__(ParticleIndexKey self, unsigned int i) -> ParticleIndexKey
2717  """
2718  _IMP_kernel.ParticleIndexKey_swiginit(self, _IMP_kernel.new_ParticleIndexKey(*args))
2719 
2720  @staticmethod
2721  def add_key(sc):
2722  r"""add_key(std::string sc) -> unsigned int"""
2723  return _IMP_kernel.ParticleIndexKey_add_key(sc)
2724 
2725  @staticmethod
2726  def get_key_exists(sc):
2727  r"""get_key_exists(std::string sc) -> bool"""
2728  return _IMP_kernel.ParticleIndexKey_get_key_exists(sc)
2729 
2730  def get_string(self):
2731  r"""get_string(ParticleIndexKey self) -> std::string const"""
2732  return _IMP_kernel.ParticleIndexKey_get_string(self)
2733 
2734  def __cmp__(self, o):
2735  r"""__cmp__(ParticleIndexKey self, ParticleIndexKey o) -> int"""
2736  return _IMP_kernel.ParticleIndexKey___cmp__(self, o)
2737 
2738  def __eq__(self, o):
2739  r"""__eq__(ParticleIndexKey self, ParticleIndexKey o) -> bool"""
2740  return _IMP_kernel.ParticleIndexKey___eq__(self, o)
2741 
2742  def __ne__(self, o):
2743  r"""__ne__(ParticleIndexKey self, ParticleIndexKey o) -> bool"""
2744  return _IMP_kernel.ParticleIndexKey___ne__(self, o)
2745 
2746  def __lt__(self, o):
2747  r"""__lt__(ParticleIndexKey self, ParticleIndexKey o) -> bool"""
2748  return _IMP_kernel.ParticleIndexKey___lt__(self, o)
2749 
2750  def __gt__(self, o):
2751  r"""__gt__(ParticleIndexKey self, ParticleIndexKey o) -> bool"""
2752  return _IMP_kernel.ParticleIndexKey___gt__(self, o)
2753 
2754  def __ge__(self, o):
2755  r"""__ge__(ParticleIndexKey self, ParticleIndexKey o) -> bool"""
2756  return _IMP_kernel.ParticleIndexKey___ge__(self, o)
2757 
2758  def __le__(self, o):
2759  r"""__le__(ParticleIndexKey self, ParticleIndexKey o) -> bool"""
2760  return _IMP_kernel.ParticleIndexKey___le__(self, o)
2761 
2762  def __hash__(self):
2763  r"""__hash__(ParticleIndexKey self) -> std::size_t"""
2764  return _IMP_kernel.ParticleIndexKey___hash__(self)
2765 
2766  def show(self, *args):
2767  r"""show(ParticleIndexKey self, _ostream out=std::cout)"""
2768  return _IMP_kernel.ParticleIndexKey_show(self, *args)
2769 
2770  @staticmethod
2771  def add_alias(old_key, new_name):
2772  r"""add_alias(ParticleIndexKey old_key, std::string new_name) -> ParticleIndexKey"""
2773  return _IMP_kernel.ParticleIndexKey_add_alias(old_key, new_name)
2774 
2775  @staticmethod
2776  def get_number_of_keys():
2777  r"""get_number_of_keys() -> unsigned int"""
2778  return _IMP_kernel.ParticleIndexKey_get_number_of_keys()
2779 
2780  def get_index(self):
2781  r"""get_index(ParticleIndexKey self) -> unsigned int"""
2782  return _IMP_kernel.ParticleIndexKey_get_index(self)
2783 
2784  @staticmethod
2785  def show_all(out):
2786  r"""show_all(_ostream out)"""
2787  return _IMP_kernel.ParticleIndexKey_show_all(out)
2788 
2789  @staticmethod
2790  def get_all_strings():
2791  r"""get_all_strings() -> IMP::Vector< std::string >"""
2792  return _IMP_kernel.ParticleIndexKey_get_all_strings()
2793 
2794  @staticmethod
2795  def get_number_unique():
2796  r"""get_number_unique() -> unsigned int"""
2797  return _IMP_kernel.ParticleIndexKey_get_number_unique()
2798 
2799  def __str__(self):
2800  r"""__str__(ParticleIndexKey self) -> std::string"""
2801  return _IMP_kernel.ParticleIndexKey___str__(self)
2802 
2803  def __repr__(self):
2804  r"""__repr__(ParticleIndexKey self) -> std::string"""
2805  return _IMP_kernel.ParticleIndexKey___repr__(self)
2806  __swig_destroy__ = _IMP_kernel.delete_ParticleIndexKey
2807 
2808 # Register ParticleIndexKey in _IMP_kernel:
2809 _IMP_kernel.ParticleIndexKey_swigregister(ParticleIndexKey)
2810 class ObjectKey(_Value):
2811  r"""Proxy of C++ IMP::Key< 4 > class."""
2812 
2813  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2814 
2815  def __init__(self, *args):
2816  r"""
2817  __init__(ObjectKey self) -> ObjectKey
2818  __init__(ObjectKey self, std::string const & c, bool is_implicit_add_permitted=True) -> ObjectKey
2819  __init__(ObjectKey self, unsigned int i) -> ObjectKey
2820  """
2821  _IMP_kernel.ObjectKey_swiginit(self, _IMP_kernel.new_ObjectKey(*args))
2822 
2823  @staticmethod
2824  def add_key(sc):
2825  r"""add_key(std::string sc) -> unsigned int"""
2826  return _IMP_kernel.ObjectKey_add_key(sc)
2827 
2828  @staticmethod
2829  def get_key_exists(sc):
2830  r"""get_key_exists(std::string sc) -> bool"""
2831  return _IMP_kernel.ObjectKey_get_key_exists(sc)
2832 
2833  def get_string(self):
2834  r"""get_string(ObjectKey self) -> std::string const"""
2835  return _IMP_kernel.ObjectKey_get_string(self)
2836 
2837  def __cmp__(self, o):
2838  r"""__cmp__(ObjectKey self, ObjectKey o) -> int"""
2839  return _IMP_kernel.ObjectKey___cmp__(self, o)
2840 
2841  def __eq__(self, o):
2842  r"""__eq__(ObjectKey self, ObjectKey o) -> bool"""
2843  return _IMP_kernel.ObjectKey___eq__(self, o)
2844 
2845  def __ne__(self, o):
2846  r"""__ne__(ObjectKey self, ObjectKey o) -> bool"""
2847  return _IMP_kernel.ObjectKey___ne__(self, o)
2848 
2849  def __lt__(self, o):
2850  r"""__lt__(ObjectKey self, ObjectKey o) -> bool"""
2851  return _IMP_kernel.ObjectKey___lt__(self, o)
2852 
2853  def __gt__(self, o):
2854  r"""__gt__(ObjectKey self, ObjectKey o) -> bool"""
2855  return _IMP_kernel.ObjectKey___gt__(self, o)
2856 
2857  def __ge__(self, o):
2858  r"""__ge__(ObjectKey self, ObjectKey o) -> bool"""
2859  return _IMP_kernel.ObjectKey___ge__(self, o)
2860 
2861  def __le__(self, o):
2862  r"""__le__(ObjectKey self, ObjectKey o) -> bool"""
2863  return _IMP_kernel.ObjectKey___le__(self, o)
2864 
2865  def __hash__(self):
2866  r"""__hash__(ObjectKey self) -> std::size_t"""
2867  return _IMP_kernel.ObjectKey___hash__(self)
2868 
2869  def show(self, *args):
2870  r"""show(ObjectKey self, _ostream out=std::cout)"""
2871  return _IMP_kernel.ObjectKey_show(self, *args)
2872 
2873  @staticmethod
2874  def add_alias(old_key, new_name):
2875  r"""add_alias(ObjectKey old_key, std::string new_name) -> ObjectKey"""
2876  return _IMP_kernel.ObjectKey_add_alias(old_key, new_name)
2877 
2878  @staticmethod
2879  def get_number_of_keys():
2880  r"""get_number_of_keys() -> unsigned int"""
2881  return _IMP_kernel.ObjectKey_get_number_of_keys()
2882 
2883  def get_index(self):
2884  r"""get_index(ObjectKey self) -> unsigned int"""
2885  return _IMP_kernel.ObjectKey_get_index(self)
2886 
2887  @staticmethod
2888  def show_all(out):
2889  r"""show_all(_ostream out)"""
2890  return _IMP_kernel.ObjectKey_show_all(out)
2891 
2892  @staticmethod
2893  def get_all_strings():
2894  r"""get_all_strings() -> IMP::Vector< std::string >"""
2895  return _IMP_kernel.ObjectKey_get_all_strings()
2896 
2897  @staticmethod
2898  def get_number_unique():
2899  r"""get_number_unique() -> unsigned int"""
2900  return _IMP_kernel.ObjectKey_get_number_unique()
2901 
2902  def __str__(self):
2903  r"""__str__(ObjectKey self) -> std::string"""
2904  return _IMP_kernel.ObjectKey___str__(self)
2905 
2906  def __repr__(self):
2907  r"""__repr__(ObjectKey self) -> std::string"""
2908  return _IMP_kernel.ObjectKey___repr__(self)
2909  __swig_destroy__ = _IMP_kernel.delete_ObjectKey
2910 
2911 # Register ObjectKey in _IMP_kernel:
2912 _IMP_kernel.ObjectKey_swigregister(ObjectKey)
2913 class IntsKey(_Value):
2914  r"""Proxy of C++ IMP::Key< 5 > class."""
2915 
2916  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2917 
2918  def __init__(self, *args):
2919  r"""
2920  __init__(IntsKey self) -> IntsKey
2921  __init__(IntsKey self, std::string const & c, bool is_implicit_add_permitted=True) -> IntsKey
2922  __init__(IntsKey self, unsigned int i) -> IntsKey
2923  """
2924  _IMP_kernel.IntsKey_swiginit(self, _IMP_kernel.new_IntsKey(*args))
2925 
2926  @staticmethod
2927  def add_key(sc):
2928  r"""add_key(std::string sc) -> unsigned int"""
2929  return _IMP_kernel.IntsKey_add_key(sc)
2930 
2931  @staticmethod
2932  def get_key_exists(sc):
2933  r"""get_key_exists(std::string sc) -> bool"""
2934  return _IMP_kernel.IntsKey_get_key_exists(sc)
2935 
2936  def get_string(self):
2937  r"""get_string(IntsKey self) -> std::string const"""
2938  return _IMP_kernel.IntsKey_get_string(self)
2939 
2940  def __cmp__(self, o):
2941  r"""__cmp__(IntsKey self, IntsKey o) -> int"""
2942  return _IMP_kernel.IntsKey___cmp__(self, o)
2943 
2944  def __eq__(self, o):
2945  r"""__eq__(IntsKey self, IntsKey o) -> bool"""
2946  return _IMP_kernel.IntsKey___eq__(self, o)
2947 
2948  def __ne__(self, o):
2949  r"""__ne__(IntsKey self, IntsKey o) -> bool"""
2950  return _IMP_kernel.IntsKey___ne__(self, o)
2951 
2952  def __lt__(self, o):
2953  r"""__lt__(IntsKey self, IntsKey o) -> bool"""
2954  return _IMP_kernel.IntsKey___lt__(self, o)
2955 
2956  def __gt__(self, o):
2957  r"""__gt__(IntsKey self, IntsKey o) -> bool"""
2958  return _IMP_kernel.IntsKey___gt__(self, o)
2959 
2960  def __ge__(self, o):
2961  r"""__ge__(IntsKey self, IntsKey o) -> bool"""
2962  return _IMP_kernel.IntsKey___ge__(self, o)
2963 
2964  def __le__(self, o):
2965  r"""__le__(IntsKey self, IntsKey o) -> bool"""
2966  return _IMP_kernel.IntsKey___le__(self, o)
2967 
2968  def __hash__(self):
2969  r"""__hash__(IntsKey self) -> std::size_t"""
2970  return _IMP_kernel.IntsKey___hash__(self)
2971 
2972  def show(self, *args):
2973  r"""show(IntsKey self, _ostream out=std::cout)"""
2974  return _IMP_kernel.IntsKey_show(self, *args)
2975 
2976  @staticmethod
2977  def add_alias(old_key, new_name):
2978  r"""add_alias(IntsKey old_key, std::string new_name) -> IntsKey"""
2979  return _IMP_kernel.IntsKey_add_alias(old_key, new_name)
2980 
2981  @staticmethod
2982  def get_number_of_keys():
2983  r"""get_number_of_keys() -> unsigned int"""
2984  return _IMP_kernel.IntsKey_get_number_of_keys()
2985 
2986  def get_index(self):
2987  r"""get_index(IntsKey self) -> unsigned int"""
2988  return _IMP_kernel.IntsKey_get_index(self)
2989 
2990  @staticmethod
2991  def show_all(out):
2992  r"""show_all(_ostream out)"""
2993  return _IMP_kernel.IntsKey_show_all(out)
2994 
2995  @staticmethod
2996  def get_all_strings():
2997  r"""get_all_strings() -> IMP::Vector< std::string >"""
2998  return _IMP_kernel.IntsKey_get_all_strings()
2999 
3000  @staticmethod
3001  def get_number_unique():
3002  r"""get_number_unique() -> unsigned int"""
3003  return _IMP_kernel.IntsKey_get_number_unique()
3004 
3005  def __str__(self):
3006  r"""__str__(IntsKey self) -> std::string"""
3007  return _IMP_kernel.IntsKey___str__(self)
3008 
3009  def __repr__(self):
3010  r"""__repr__(IntsKey self) -> std::string"""
3011  return _IMP_kernel.IntsKey___repr__(self)
3012  __swig_destroy__ = _IMP_kernel.delete_IntsKey
3013 
3014 # Register IntsKey in _IMP_kernel:
3015 _IMP_kernel.IntsKey_swigregister(IntsKey)
3016 class ParticleIndexesKey(_Value):
3017  r"""Proxy of C++ IMP::Key< 6 > class."""
3018 
3019  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3020 
3021  def __init__(self, *args):
3022  r"""
3023  __init__(ParticleIndexesKey self) -> ParticleIndexesKey
3024  __init__(ParticleIndexesKey self, std::string const & c, bool is_implicit_add_permitted=True) -> ParticleIndexesKey
3025  __init__(ParticleIndexesKey self, unsigned int i) -> ParticleIndexesKey
3026  """
3027  _IMP_kernel.ParticleIndexesKey_swiginit(self, _IMP_kernel.new_ParticleIndexesKey(*args))
3028 
3029  @staticmethod
3030  def add_key(sc):
3031  r"""add_key(std::string sc) -> unsigned int"""
3032  return _IMP_kernel.ParticleIndexesKey_add_key(sc)
3033 
3034  @staticmethod
3035  def get_key_exists(sc):
3036  r"""get_key_exists(std::string sc) -> bool"""
3037  return _IMP_kernel.ParticleIndexesKey_get_key_exists(sc)
3038 
3039  def get_string(self):
3040  r"""get_string(ParticleIndexesKey self) -> std::string const"""
3041  return _IMP_kernel.ParticleIndexesKey_get_string(self)
3042 
3043  def __cmp__(self, o):
3044  r"""__cmp__(ParticleIndexesKey self, ParticleIndexesKey o) -> int"""
3045  return _IMP_kernel.ParticleIndexesKey___cmp__(self, o)
3046 
3047  def __eq__(self, o):
3048  r"""__eq__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool"""
3049  return _IMP_kernel.ParticleIndexesKey___eq__(self, o)
3050 
3051  def __ne__(self, o):
3052  r"""__ne__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool"""
3053  return _IMP_kernel.ParticleIndexesKey___ne__(self, o)
3054 
3055  def __lt__(self, o):
3056  r"""__lt__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool"""
3057  return _IMP_kernel.ParticleIndexesKey___lt__(self, o)
3058 
3059  def __gt__(self, o):
3060  r"""__gt__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool"""
3061  return _IMP_kernel.ParticleIndexesKey___gt__(self, o)
3062 
3063  def __ge__(self, o):
3064  r"""__ge__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool"""
3065  return _IMP_kernel.ParticleIndexesKey___ge__(self, o)
3066 
3067  def __le__(self, o):
3068  r"""__le__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool"""
3069  return _IMP_kernel.ParticleIndexesKey___le__(self, o)
3070 
3071  def __hash__(self):
3072  r"""__hash__(ParticleIndexesKey self) -> std::size_t"""
3073  return _IMP_kernel.ParticleIndexesKey___hash__(self)
3074 
3075  def show(self, *args):
3076  r"""show(ParticleIndexesKey self, _ostream out=std::cout)"""
3077  return _IMP_kernel.ParticleIndexesKey_show(self, *args)
3078 
3079  @staticmethod
3080  def add_alias(old_key, new_name):
3081  r"""add_alias(ParticleIndexesKey old_key, std::string new_name) -> ParticleIndexesKey"""
3082  return _IMP_kernel.ParticleIndexesKey_add_alias(old_key, new_name)
3083 
3084  @staticmethod
3085  def get_number_of_keys():
3086  r"""get_number_of_keys() -> unsigned int"""
3087  return _IMP_kernel.ParticleIndexesKey_get_number_of_keys()
3088 
3089  def get_index(self):
3090  r"""get_index(ParticleIndexesKey self) -> unsigned int"""
3091  return _IMP_kernel.ParticleIndexesKey_get_index(self)
3092 
3093  @staticmethod
3094  def show_all(out):
3095  r"""show_all(_ostream out)"""
3096  return _IMP_kernel.ParticleIndexesKey_show_all(out)
3097 
3098  @staticmethod
3099  def get_all_strings():
3100  r"""get_all_strings() -> IMP::Vector< std::string >"""
3101  return _IMP_kernel.ParticleIndexesKey_get_all_strings()
3102 
3103  @staticmethod
3104  def get_number_unique():
3105  r"""get_number_unique() -> unsigned int"""
3106  return _IMP_kernel.ParticleIndexesKey_get_number_unique()
3107 
3108  def __str__(self):
3109  r"""__str__(ParticleIndexesKey self) -> std::string"""
3110  return _IMP_kernel.ParticleIndexesKey___str__(self)
3111 
3112  def __repr__(self):
3113  r"""__repr__(ParticleIndexesKey self) -> std::string"""
3114  return _IMP_kernel.ParticleIndexesKey___repr__(self)
3115  __swig_destroy__ = _IMP_kernel.delete_ParticleIndexesKey
3116 
3117 # Register ParticleIndexesKey in _IMP_kernel:
3118 _IMP_kernel.ParticleIndexesKey_swigregister(ParticleIndexesKey)
3119 class ModelKey(_Value):
3120  r"""Proxy of C++ IMP::Key< 8 > class."""
3121 
3122  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3123 
3124  def __init__(self, *args):
3125  r"""
3126  __init__(ModelKey self) -> ModelKey
3127  __init__(ModelKey self, std::string const & c, bool is_implicit_add_permitted=True) -> ModelKey
3128  __init__(ModelKey self, unsigned int i) -> ModelKey
3129  """
3130  _IMP_kernel.ModelKey_swiginit(self, _IMP_kernel.new_ModelKey(*args))
3131 
3132  @staticmethod
3133  def add_key(sc):
3134  r"""add_key(std::string sc) -> unsigned int"""
3135  return _IMP_kernel.ModelKey_add_key(sc)
3136 
3137  @staticmethod
3138  def get_key_exists(sc):
3139  r"""get_key_exists(std::string sc) -> bool"""
3140  return _IMP_kernel.ModelKey_get_key_exists(sc)
3141 
3142  def get_string(self):
3143  r"""get_string(ModelKey self) -> std::string const"""
3144  return _IMP_kernel.ModelKey_get_string(self)
3145 
3146  def __cmp__(self, o):
3147  r"""__cmp__(ModelKey self, ModelKey o) -> int"""
3148  return _IMP_kernel.ModelKey___cmp__(self, o)
3149 
3150  def __eq__(self, o):
3151  r"""__eq__(ModelKey self, ModelKey o) -> bool"""
3152  return _IMP_kernel.ModelKey___eq__(self, o)
3153 
3154  def __ne__(self, o):
3155  r"""__ne__(ModelKey self, ModelKey o) -> bool"""
3156  return _IMP_kernel.ModelKey___ne__(self, o)
3157 
3158  def __lt__(self, o):
3159  r"""__lt__(ModelKey self, ModelKey o) -> bool"""
3160  return _IMP_kernel.ModelKey___lt__(self, o)
3161 
3162  def __gt__(self, o):
3163  r"""__gt__(ModelKey self, ModelKey o) -> bool"""
3164  return _IMP_kernel.ModelKey___gt__(self, o)
3165 
3166  def __ge__(self, o):
3167  r"""__ge__(ModelKey self, ModelKey o) -> bool"""
3168  return _IMP_kernel.ModelKey___ge__(self, o)
3169 
3170  def __le__(self, o):
3171  r"""__le__(ModelKey self, ModelKey o) -> bool"""
3172  return _IMP_kernel.ModelKey___le__(self, o)
3173 
3174  def __hash__(self):
3175  r"""__hash__(ModelKey self) -> std::size_t"""
3176  return _IMP_kernel.ModelKey___hash__(self)
3177 
3178  def show(self, *args):
3179  r"""show(ModelKey self, _ostream out=std::cout)"""
3180  return _IMP_kernel.ModelKey_show(self, *args)
3181 
3182  @staticmethod
3183  def add_alias(old_key, new_name):
3184  r"""add_alias(ModelKey old_key, std::string new_name) -> ModelKey"""
3185  return _IMP_kernel.ModelKey_add_alias(old_key, new_name)
3186 
3187  @staticmethod
3188  def get_number_of_keys():
3189  r"""get_number_of_keys() -> unsigned int"""
3190  return _IMP_kernel.ModelKey_get_number_of_keys()
3191 
3192  def get_index(self):
3193  r"""get_index(ModelKey self) -> unsigned int"""
3194  return _IMP_kernel.ModelKey_get_index(self)
3195 
3196  @staticmethod
3197  def show_all(out):
3198  r"""show_all(_ostream out)"""
3199  return _IMP_kernel.ModelKey_show_all(out)
3200 
3201  @staticmethod
3202  def get_all_strings():
3203  r"""get_all_strings() -> IMP::Vector< std::string >"""
3204  return _IMP_kernel.ModelKey_get_all_strings()
3205 
3206  @staticmethod
3207  def get_number_unique():
3208  r"""get_number_unique() -> unsigned int"""
3209  return _IMP_kernel.ModelKey_get_number_unique()
3210 
3211  def __str__(self):
3212  r"""__str__(ModelKey self) -> std::string"""
3213  return _IMP_kernel.ModelKey___str__(self)
3214 
3215  def __repr__(self):
3216  r"""__repr__(ModelKey self) -> std::string"""
3217  return _IMP_kernel.ModelKey___repr__(self)
3218  __swig_destroy__ = _IMP_kernel.delete_ModelKey
3219 
3220 # Register ModelKey in _IMP_kernel:
3221 _IMP_kernel.ModelKey_swigregister(ModelKey)
3222 class TriggerKey(_Value):
3223  r"""Proxy of C++ IMP::Key< 11 > class."""
3224 
3225  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3226 
3227  def __init__(self, *args):
3228  r"""
3229  __init__(TriggerKey self) -> TriggerKey
3230  __init__(TriggerKey self, std::string const & c, bool is_implicit_add_permitted=True) -> TriggerKey
3231  __init__(TriggerKey self, unsigned int i) -> TriggerKey
3232  """
3233  _IMP_kernel.TriggerKey_swiginit(self, _IMP_kernel.new_TriggerKey(*args))
3234 
3235  @staticmethod
3236  def add_key(sc):
3237  r"""add_key(std::string sc) -> unsigned int"""
3238  return _IMP_kernel.TriggerKey_add_key(sc)
3239 
3240  @staticmethod
3241  def get_key_exists(sc):
3242  r"""get_key_exists(std::string sc) -> bool"""
3243  return _IMP_kernel.TriggerKey_get_key_exists(sc)
3244 
3245  def get_string(self):
3246  r"""get_string(TriggerKey self) -> std::string const"""
3247  return _IMP_kernel.TriggerKey_get_string(self)
3248 
3249  def __cmp__(self, o):
3250  r"""__cmp__(TriggerKey self, TriggerKey o) -> int"""
3251  return _IMP_kernel.TriggerKey___cmp__(self, o)
3252 
3253  def __eq__(self, o):
3254  r"""__eq__(TriggerKey self, TriggerKey o) -> bool"""
3255  return _IMP_kernel.TriggerKey___eq__(self, o)
3256 
3257  def __ne__(self, o):
3258  r"""__ne__(TriggerKey self, TriggerKey o) -> bool"""
3259  return _IMP_kernel.TriggerKey___ne__(self, o)
3260 
3261  def __lt__(self, o):
3262  r"""__lt__(TriggerKey self, TriggerKey o) -> bool"""
3263  return _IMP_kernel.TriggerKey___lt__(self, o)
3264 
3265  def __gt__(self, o):
3266  r"""__gt__(TriggerKey self, TriggerKey o) -> bool"""
3267  return _IMP_kernel.TriggerKey___gt__(self, o)
3268 
3269  def __ge__(self, o):
3270  r"""__ge__(TriggerKey self, TriggerKey o) -> bool"""
3271  return _IMP_kernel.TriggerKey___ge__(self, o)
3272 
3273  def __le__(self, o):
3274  r"""__le__(TriggerKey self, TriggerKey o) -> bool"""
3275  return _IMP_kernel.TriggerKey___le__(self, o)
3276 
3277  def __hash__(self):
3278  r"""__hash__(TriggerKey self) -> std::size_t"""
3279  return _IMP_kernel.TriggerKey___hash__(self)
3280 
3281  def show(self, *args):
3282  r"""show(TriggerKey self, _ostream out=std::cout)"""
3283  return _IMP_kernel.TriggerKey_show(self, *args)
3284 
3285  @staticmethod
3286  def add_alias(old_key, new_name):
3287  r"""add_alias(TriggerKey old_key, std::string new_name) -> TriggerKey"""
3288  return _IMP_kernel.TriggerKey_add_alias(old_key, new_name)
3289 
3290  @staticmethod
3291  def get_number_of_keys():
3292  r"""get_number_of_keys() -> unsigned int"""
3293  return _IMP_kernel.TriggerKey_get_number_of_keys()
3294 
3295  def get_index(self):
3296  r"""get_index(TriggerKey self) -> unsigned int"""
3297  return _IMP_kernel.TriggerKey_get_index(self)
3298 
3299  @staticmethod
3300  def show_all(out):
3301  r"""show_all(_ostream out)"""
3302  return _IMP_kernel.TriggerKey_show_all(out)
3303 
3304  @staticmethod
3305  def get_all_strings():
3306  r"""get_all_strings() -> IMP::Vector< std::string >"""
3307  return _IMP_kernel.TriggerKey_get_all_strings()
3308 
3309  @staticmethod
3310  def get_number_unique():
3311  r"""get_number_unique() -> unsigned int"""
3312  return _IMP_kernel.TriggerKey_get_number_unique()
3313 
3314  def __str__(self):
3315  r"""__str__(TriggerKey self) -> std::string"""
3316  return _IMP_kernel.TriggerKey___str__(self)
3317 
3318  def __repr__(self):
3319  r"""__repr__(TriggerKey self) -> std::string"""
3320  return _IMP_kernel.TriggerKey___repr__(self)
3321  __swig_destroy__ = _IMP_kernel.delete_TriggerKey
3322 
3323 # Register TriggerKey in _IMP_kernel:
3324 _IMP_kernel.TriggerKey_swigregister(TriggerKey)
3325 class ParticleIndex(object):
3326  r"""Proxy of C++ IMP::Index< IMP::ParticleIndexTag > class."""
3327 
3328  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3329 
3330  def __init__(self, *args):
3331  r"""
3332  __init__(ParticleIndex self, int i) -> ParticleIndex
3333  __init__(ParticleIndex self) -> ParticleIndex
3334  """
3335  _IMP_kernel.ParticleIndex_swiginit(self, _IMP_kernel.new_ParticleIndex(*args))
3336 
3337  def get_index(self):
3338  r"""get_index(ParticleIndex self) -> int"""
3339  return _IMP_kernel.ParticleIndex_get_index(self)
3340 
3341  def __cmp__(self, o):
3342  r"""__cmp__(ParticleIndex self, ParticleIndex o) -> int"""
3343  return _IMP_kernel.ParticleIndex___cmp__(self, o)
3344 
3345  def __eq__(self, o):
3346  r"""__eq__(ParticleIndex self, ParticleIndex o) -> bool"""
3347  return _IMP_kernel.ParticleIndex___eq__(self, o)
3348 
3349  def __ne__(self, o):
3350  r"""__ne__(ParticleIndex self, ParticleIndex o) -> bool"""
3351  return _IMP_kernel.ParticleIndex___ne__(self, o)
3352 
3353  def __lt__(self, o):
3354  r"""__lt__(ParticleIndex self, ParticleIndex o) -> bool"""
3355  return _IMP_kernel.ParticleIndex___lt__(self, o)
3356 
3357  def __gt__(self, o):
3358  r"""__gt__(ParticleIndex self, ParticleIndex o) -> bool"""
3359  return _IMP_kernel.ParticleIndex___gt__(self, o)
3360 
3361  def __ge__(self, o):
3362  r"""__ge__(ParticleIndex self, ParticleIndex o) -> bool"""
3363  return _IMP_kernel.ParticleIndex___ge__(self, o)
3364 
3365  def __le__(self, o):
3366  r"""__le__(ParticleIndex self, ParticleIndex o) -> bool"""
3367  return _IMP_kernel.ParticleIndex___le__(self, o)
3368 
3369  def show(self, *args):
3370  r"""show(ParticleIndex self, _ostream out=std::cout)"""
3371  return _IMP_kernel.ParticleIndex_show(self, *args)
3372 
3373  def __hash__(self):
3374  r"""__hash__(ParticleIndex self) -> std::size_t"""
3375  return _IMP_kernel.ParticleIndex___hash__(self)
3376 
3377  def __str__(self):
3378  r"""__str__(ParticleIndex self) -> std::string"""
3379  return _IMP_kernel.ParticleIndex___str__(self)
3380 
3381  def __repr__(self):
3382  r"""__repr__(ParticleIndex self) -> std::string"""
3383  return _IMP_kernel.ParticleIndex___repr__(self)
3384  __swig_destroy__ = _IMP_kernel.delete_ParticleIndex
3385 
3386 # Register ParticleIndex in _IMP_kernel:
3387 _IMP_kernel.ParticleIndex_swigregister(ParticleIndex)
3388 class FloatsKey(_Value):
3389  r"""Proxy of C++ IMP::Key< 10 > class."""
3390 
3391  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3392 
3393  def __init__(self, *args):
3394  r"""
3395  __init__(FloatsKey self) -> FloatsKey
3396  __init__(FloatsKey self, std::string const & c, bool is_implicit_add_permitted=True) -> FloatsKey
3397  __init__(FloatsKey self, unsigned int i) -> FloatsKey
3398  """
3399  _IMP_kernel.FloatsKey_swiginit(self, _IMP_kernel.new_FloatsKey(*args))
3400 
3401  @staticmethod
3402  def add_key(sc):
3403  r"""add_key(std::string sc) -> unsigned int"""
3404  return _IMP_kernel.FloatsKey_add_key(sc)
3405 
3406  @staticmethod
3407  def get_key_exists(sc):
3408  r"""get_key_exists(std::string sc) -> bool"""
3409  return _IMP_kernel.FloatsKey_get_key_exists(sc)
3410 
3411  def get_string(self):
3412  r"""get_string(FloatsKey self) -> std::string const"""
3413  return _IMP_kernel.FloatsKey_get_string(self)
3414 
3415  def __cmp__(self, o):
3416  r"""__cmp__(FloatsKey self, FloatsKey o) -> int"""
3417  return _IMP_kernel.FloatsKey___cmp__(self, o)
3418 
3419  def __eq__(self, o):
3420  r"""__eq__(FloatsKey self, FloatsKey o) -> bool"""
3421  return _IMP_kernel.FloatsKey___eq__(self, o)
3422 
3423  def __ne__(self, o):
3424  r"""__ne__(FloatsKey self, FloatsKey o) -> bool"""
3425  return _IMP_kernel.FloatsKey___ne__(self, o)
3426 
3427  def __lt__(self, o):
3428  r"""__lt__(FloatsKey self, FloatsKey o) -> bool"""
3429  return _IMP_kernel.FloatsKey___lt__(self, o)
3430 
3431  def __gt__(self, o):
3432  r"""__gt__(FloatsKey self, FloatsKey o) -> bool"""
3433  return _IMP_kernel.FloatsKey___gt__(self, o)
3434 
3435  def __ge__(self, o):
3436  r"""__ge__(FloatsKey self, FloatsKey o) -> bool"""
3437  return _IMP_kernel.FloatsKey___ge__(self, o)
3438 
3439  def __le__(self, o):
3440  r"""__le__(FloatsKey self, FloatsKey o) -> bool"""
3441  return _IMP_kernel.FloatsKey___le__(self, o)
3442 
3443  def __hash__(self):
3444  r"""__hash__(FloatsKey self) -> std::size_t"""
3445  return _IMP_kernel.FloatsKey___hash__(self)
3446 
3447  def show(self, *args):
3448  r"""show(FloatsKey self, _ostream out=std::cout)"""
3449  return _IMP_kernel.FloatsKey_show(self, *args)
3450 
3451  @staticmethod
3452  def add_alias(old_key, new_name):
3453  r"""add_alias(FloatsKey old_key, std::string new_name) -> FloatsKey"""
3454  return _IMP_kernel.FloatsKey_add_alias(old_key, new_name)
3455 
3456  @staticmethod
3457  def get_number_of_keys():
3458  r"""get_number_of_keys() -> unsigned int"""
3459  return _IMP_kernel.FloatsKey_get_number_of_keys()
3460 
3461  def get_index(self):
3462  r"""get_index(FloatsKey self) -> unsigned int"""
3463  return _IMP_kernel.FloatsKey_get_index(self)
3464 
3465  @staticmethod
3466  def show_all(out):
3467  r"""show_all(_ostream out)"""
3468  return _IMP_kernel.FloatsKey_show_all(out)
3469 
3470  @staticmethod
3471  def get_all_strings():
3472  r"""get_all_strings() -> IMP::Vector< std::string >"""
3473  return _IMP_kernel.FloatsKey_get_all_strings()
3474 
3475  @staticmethod
3476  def get_number_unique():
3477  r"""get_number_unique() -> unsigned int"""
3478  return _IMP_kernel.FloatsKey_get_number_unique()
3479 
3480  def __str__(self):
3481  r"""__str__(FloatsKey self) -> std::string"""
3482  return _IMP_kernel.FloatsKey___str__(self)
3483 
3484  def __repr__(self):
3485  r"""__repr__(FloatsKey self) -> std::string"""
3486  return _IMP_kernel.FloatsKey___repr__(self)
3487  __swig_destroy__ = _IMP_kernel.delete_FloatsKey
3488 
3489 # Register FloatsKey in _IMP_kernel:
3490 _IMP_kernel.FloatsKey_swigregister(FloatsKey)
3491 class SparseStringKey(_Value):
3492  r"""Proxy of C++ IMP::Key< 12 > class."""
3493 
3494  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3495 
3496  def __init__(self, *args):
3497  r"""
3498  __init__(SparseStringKey self) -> SparseStringKey
3499  __init__(SparseStringKey self, std::string const & c, bool is_implicit_add_permitted=True) -> SparseStringKey
3500  __init__(SparseStringKey self, unsigned int i) -> SparseStringKey
3501  """
3502  _IMP_kernel.SparseStringKey_swiginit(self, _IMP_kernel.new_SparseStringKey(*args))
3503 
3504  @staticmethod
3505  def add_key(sc):
3506  r"""add_key(std::string sc) -> unsigned int"""
3507  return _IMP_kernel.SparseStringKey_add_key(sc)
3508 
3509  @staticmethod
3510  def get_key_exists(sc):
3511  r"""get_key_exists(std::string sc) -> bool"""
3512  return _IMP_kernel.SparseStringKey_get_key_exists(sc)
3513 
3514  def get_string(self):
3515  r"""get_string(SparseStringKey self) -> std::string const"""
3516  return _IMP_kernel.SparseStringKey_get_string(self)
3517 
3518  def __cmp__(self, o):
3519  r"""__cmp__(SparseStringKey self, SparseStringKey o) -> int"""
3520  return _IMP_kernel.SparseStringKey___cmp__(self, o)
3521 
3522  def __eq__(self, o):
3523  r"""__eq__(SparseStringKey self, SparseStringKey o) -> bool"""
3524  return _IMP_kernel.SparseStringKey___eq__(self, o)
3525 
3526  def __ne__(self, o):
3527  r"""__ne__(SparseStringKey self, SparseStringKey o) -> bool"""
3528  return _IMP_kernel.SparseStringKey___ne__(self, o)
3529 
3530  def __lt__(self, o):
3531  r"""__lt__(SparseStringKey self, SparseStringKey o) -> bool"""
3532  return _IMP_kernel.SparseStringKey___lt__(self, o)
3533 
3534  def __gt__(self, o):
3535  r"""__gt__(SparseStringKey self, SparseStringKey o) -> bool"""
3536  return _IMP_kernel.SparseStringKey___gt__(self, o)
3537 
3538  def __ge__(self, o):
3539  r"""__ge__(SparseStringKey self, SparseStringKey o) -> bool"""
3540  return _IMP_kernel.SparseStringKey___ge__(self, o)
3541 
3542  def __le__(self, o):
3543  r"""__le__(SparseStringKey self, SparseStringKey o) -> bool"""
3544  return _IMP_kernel.SparseStringKey___le__(self, o)
3545 
3546  def __hash__(self):
3547  r"""__hash__(SparseStringKey self) -> std::size_t"""
3548  return _IMP_kernel.SparseStringKey___hash__(self)
3549 
3550  def show(self, *args):
3551  r"""show(SparseStringKey self, _ostream out=std::cout)"""
3552  return _IMP_kernel.SparseStringKey_show(self, *args)
3553 
3554  @staticmethod
3555  def add_alias(old_key, new_name):
3556  r"""add_alias(SparseStringKey old_key, std::string new_name) -> SparseStringKey"""
3557  return _IMP_kernel.SparseStringKey_add_alias(old_key, new_name)
3558 
3559  @staticmethod
3560  def get_number_of_keys():
3561  r"""get_number_of_keys() -> unsigned int"""
3562  return _IMP_kernel.SparseStringKey_get_number_of_keys()
3563 
3564  def get_index(self):
3565  r"""get_index(SparseStringKey self) -> unsigned int"""
3566  return _IMP_kernel.SparseStringKey_get_index(self)
3567 
3568  @staticmethod
3569  def show_all(out):
3570  r"""show_all(_ostream out)"""
3571  return _IMP_kernel.SparseStringKey_show_all(out)
3572 
3573  @staticmethod
3574  def get_all_strings():
3575  r"""get_all_strings() -> IMP::Vector< std::string >"""
3576  return _IMP_kernel.SparseStringKey_get_all_strings()
3577 
3578  @staticmethod
3579  def get_number_unique():
3580  r"""get_number_unique() -> unsigned int"""
3581  return _IMP_kernel.SparseStringKey_get_number_unique()
3582 
3583  def __str__(self):
3584  r"""__str__(SparseStringKey self) -> std::string"""
3585  return _IMP_kernel.SparseStringKey___str__(self)
3586 
3587  def __repr__(self):
3588  r"""__repr__(SparseStringKey self) -> std::string"""
3589  return _IMP_kernel.SparseStringKey___repr__(self)
3590  __swig_destroy__ = _IMP_kernel.delete_SparseStringKey
3591 
3592 # Register SparseStringKey in _IMP_kernel:
3593 _IMP_kernel.SparseStringKey_swigregister(SparseStringKey)
3594 class SparseIntKey(_Value):
3595  r"""Proxy of C++ IMP::Key< 13 > class."""
3596 
3597  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3598 
3599  def __init__(self, *args):
3600  r"""
3601  __init__(SparseIntKey self) -> SparseIntKey
3602  __init__(SparseIntKey self, std::string const & c, bool is_implicit_add_permitted=True) -> SparseIntKey
3603  __init__(SparseIntKey self, unsigned int i) -> SparseIntKey
3604  """
3605  _IMP_kernel.SparseIntKey_swiginit(self, _IMP_kernel.new_SparseIntKey(*args))
3606 
3607  @staticmethod
3608  def add_key(sc):
3609  r"""add_key(std::string sc) -> unsigned int"""
3610  return _IMP_kernel.SparseIntKey_add_key(sc)
3611 
3612  @staticmethod
3613  def get_key_exists(sc):
3614  r"""get_key_exists(std::string sc) -> bool"""
3615  return _IMP_kernel.SparseIntKey_get_key_exists(sc)
3616 
3617  def get_string(self):
3618  r"""get_string(SparseIntKey self) -> std::string const"""
3619  return _IMP_kernel.SparseIntKey_get_string(self)
3620 
3621  def __cmp__(self, o):
3622  r"""__cmp__(SparseIntKey self, SparseIntKey o) -> int"""
3623  return _IMP_kernel.SparseIntKey___cmp__(self, o)
3624 
3625  def __eq__(self, o):
3626  r"""__eq__(SparseIntKey self, SparseIntKey o) -> bool"""
3627  return _IMP_kernel.SparseIntKey___eq__(self, o)
3628 
3629  def __ne__(self, o):
3630  r"""__ne__(SparseIntKey self, SparseIntKey o) -> bool"""
3631  return _IMP_kernel.SparseIntKey___ne__(self, o)
3632 
3633  def __lt__(self, o):
3634  r"""__lt__(SparseIntKey self, SparseIntKey o) -> bool"""
3635  return _IMP_kernel.SparseIntKey___lt__(self, o)
3636 
3637  def __gt__(self, o):
3638  r"""__gt__(SparseIntKey self, SparseIntKey o) -> bool"""
3639  return _IMP_kernel.SparseIntKey___gt__(self, o)
3640 
3641  def __ge__(self, o):
3642  r"""__ge__(SparseIntKey self, SparseIntKey o) -> bool"""
3643  return _IMP_kernel.SparseIntKey___ge__(self, o)
3644 
3645  def __le__(self, o):
3646  r"""__le__(SparseIntKey self, SparseIntKey o) -> bool"""
3647  return _IMP_kernel.SparseIntKey___le__(self, o)
3648 
3649  def __hash__(self):
3650  r"""__hash__(SparseIntKey self) -> std::size_t"""
3651  return _IMP_kernel.SparseIntKey___hash__(self)
3652 
3653  def show(self, *args):
3654  r"""show(SparseIntKey self, _ostream out=std::cout)"""
3655  return _IMP_kernel.SparseIntKey_show(self, *args)
3656 
3657  @staticmethod
3658  def add_alias(old_key, new_name):
3659  r"""add_alias(SparseIntKey old_key, std::string new_name) -> SparseIntKey"""
3660  return _IMP_kernel.SparseIntKey_add_alias(old_key, new_name)
3661 
3662  @staticmethod
3663  def get_number_of_keys():
3664  r"""get_number_of_keys() -> unsigned int"""
3665  return _IMP_kernel.SparseIntKey_get_number_of_keys()
3666 
3667  def get_index(self):
3668  r"""get_index(SparseIntKey self) -> unsigned int"""
3669  return _IMP_kernel.SparseIntKey_get_index(self)
3670 
3671  @staticmethod
3672  def show_all(out):
3673  r"""show_all(_ostream out)"""
3674  return _IMP_kernel.SparseIntKey_show_all(out)
3675 
3676  @staticmethod
3677  def get_all_strings():
3678  r"""get_all_strings() -> IMP::Vector< std::string >"""
3679  return _IMP_kernel.SparseIntKey_get_all_strings()
3680 
3681  @staticmethod
3682  def get_number_unique():
3683  r"""get_number_unique() -> unsigned int"""
3684  return _IMP_kernel.SparseIntKey_get_number_unique()
3685 
3686  def __str__(self):
3687  r"""__str__(SparseIntKey self) -> std::string"""
3688  return _IMP_kernel.SparseIntKey___str__(self)
3689 
3690  def __repr__(self):
3691  r"""__repr__(SparseIntKey self) -> std::string"""
3692  return _IMP_kernel.SparseIntKey___repr__(self)
3693  __swig_destroy__ = _IMP_kernel.delete_SparseIntKey
3694 
3695 # Register SparseIntKey in _IMP_kernel:
3696 _IMP_kernel.SparseIntKey_swigregister(SparseIntKey)
3697 class SparseFloatKey(_Value):
3698  r"""Proxy of C++ IMP::Key< 14 > class."""
3699 
3700  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3701 
3702  def __init__(self, *args):
3703  r"""
3704  __init__(SparseFloatKey self) -> SparseFloatKey
3705  __init__(SparseFloatKey self, std::string const & c, bool is_implicit_add_permitted=True) -> SparseFloatKey
3706  __init__(SparseFloatKey self, unsigned int i) -> SparseFloatKey
3707  """
3708  _IMP_kernel.SparseFloatKey_swiginit(self, _IMP_kernel.new_SparseFloatKey(*args))
3709 
3710  @staticmethod
3711  def add_key(sc):
3712  r"""add_key(std::string sc) -> unsigned int"""
3713  return _IMP_kernel.SparseFloatKey_add_key(sc)
3714 
3715  @staticmethod
3716  def get_key_exists(sc):
3717  r"""get_key_exists(std::string sc) -> bool"""
3718  return _IMP_kernel.SparseFloatKey_get_key_exists(sc)
3719 
3720  def get_string(self):
3721  r"""get_string(SparseFloatKey self) -> std::string const"""
3722  return _IMP_kernel.SparseFloatKey_get_string(self)
3723 
3724  def __cmp__(self, o):
3725  r"""__cmp__(SparseFloatKey self, SparseFloatKey o) -> int"""
3726  return _IMP_kernel.SparseFloatKey___cmp__(self, o)
3727 
3728  def __eq__(self, o):
3729  r"""__eq__(SparseFloatKey self, SparseFloatKey o) -> bool"""
3730  return _IMP_kernel.SparseFloatKey___eq__(self, o)
3731 
3732  def __ne__(self, o):
3733  r"""__ne__(SparseFloatKey self, SparseFloatKey o) -> bool"""
3734  return _IMP_kernel.SparseFloatKey___ne__(self, o)
3735 
3736  def __lt__(self, o):
3737  r"""__lt__(SparseFloatKey self, SparseFloatKey o) -> bool"""
3738  return _IMP_kernel.SparseFloatKey___lt__(self, o)
3739 
3740  def __gt__(self, o):
3741  r"""__gt__(SparseFloatKey self, SparseFloatKey o) -> bool"""
3742  return _IMP_kernel.SparseFloatKey___gt__(self, o)
3743 
3744  def __ge__(self, o):
3745  r"""__ge__(SparseFloatKey self, SparseFloatKey o) -> bool"""
3746  return _IMP_kernel.SparseFloatKey___ge__(self, o)
3747 
3748  def __le__(self, o):
3749  r"""__le__(SparseFloatKey self, SparseFloatKey o) -> bool"""
3750  return _IMP_kernel.SparseFloatKey___le__(self, o)
3751 
3752  def __hash__(self):
3753  r"""__hash__(SparseFloatKey self) -> std::size_t"""
3754  return _IMP_kernel.SparseFloatKey___hash__(self)
3755 
3756  def show(self, *args):
3757  r"""show(SparseFloatKey self, _ostream out=std::cout)"""
3758  return _IMP_kernel.SparseFloatKey_show(self, *args)
3759 
3760  @staticmethod
3761  def add_alias(old_key, new_name):
3762  r"""add_alias(SparseFloatKey old_key, std::string new_name) -> SparseFloatKey"""
3763  return _IMP_kernel.SparseFloatKey_add_alias(old_key, new_name)
3764 
3765  @staticmethod
3766  def get_number_of_keys():
3767  r"""get_number_of_keys() -> unsigned int"""
3768  return _IMP_kernel.SparseFloatKey_get_number_of_keys()
3769 
3770  def get_index(self):
3771  r"""get_index(SparseFloatKey self) -> unsigned int"""
3772  return _IMP_kernel.SparseFloatKey_get_index(self)
3773 
3774  @staticmethod
3775  def show_all(out):
3776  r"""show_all(_ostream out)"""
3777  return _IMP_kernel.SparseFloatKey_show_all(out)
3778 
3779  @staticmethod
3780  def get_all_strings():
3781  r"""get_all_strings() -> IMP::Vector< std::string >"""
3782  return _IMP_kernel.SparseFloatKey_get_all_strings()
3783 
3784  @staticmethod
3785  def get_number_unique():
3786  r"""get_number_unique() -> unsigned int"""
3787  return _IMP_kernel.SparseFloatKey_get_number_unique()
3788 
3789  def __str__(self):
3790  r"""__str__(SparseFloatKey self) -> std::string"""
3791  return _IMP_kernel.SparseFloatKey___str__(self)
3792 
3793  def __repr__(self):
3794  r"""__repr__(SparseFloatKey self) -> std::string"""
3795  return _IMP_kernel.SparseFloatKey___repr__(self)
3796  __swig_destroy__ = _IMP_kernel.delete_SparseFloatKey
3797 
3798 # Register SparseFloatKey in _IMP_kernel:
3799 _IMP_kernel.SparseFloatKey_swigregister(SparseFloatKey)
3800 class SparseParticleIndexKey(_Value):
3801  r"""Proxy of C++ IMP::Key< 15 > class."""
3802 
3803  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3804 
3805  def __init__(self, *args):
3806  r"""
3807  __init__(SparseParticleIndexKey self) -> SparseParticleIndexKey
3808  __init__(SparseParticleIndexKey self, std::string const & c, bool is_implicit_add_permitted=True) -> SparseParticleIndexKey
3809  __init__(SparseParticleIndexKey self, unsigned int i) -> SparseParticleIndexKey
3810  """
3811  _IMP_kernel.SparseParticleIndexKey_swiginit(self, _IMP_kernel.new_SparseParticleIndexKey(*args))
3812 
3813  @staticmethod
3814  def add_key(sc):
3815  r"""add_key(std::string sc) -> unsigned int"""
3816  return _IMP_kernel.SparseParticleIndexKey_add_key(sc)
3817 
3818  @staticmethod
3819  def get_key_exists(sc):
3820  r"""get_key_exists(std::string sc) -> bool"""
3821  return _IMP_kernel.SparseParticleIndexKey_get_key_exists(sc)
3822 
3823  def get_string(self):
3824  r"""get_string(SparseParticleIndexKey self) -> std::string const"""
3825  return _IMP_kernel.SparseParticleIndexKey_get_string(self)
3826 
3827  def __cmp__(self, o):
3828  r"""__cmp__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> int"""
3829  return _IMP_kernel.SparseParticleIndexKey___cmp__(self, o)
3830 
3831  def __eq__(self, o):
3832  r"""__eq__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool"""
3833  return _IMP_kernel.SparseParticleIndexKey___eq__(self, o)
3834 
3835  def __ne__(self, o):
3836  r"""__ne__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool"""
3837  return _IMP_kernel.SparseParticleIndexKey___ne__(self, o)
3838 
3839  def __lt__(self, o):
3840  r"""__lt__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool"""
3841  return _IMP_kernel.SparseParticleIndexKey___lt__(self, o)
3842 
3843  def __gt__(self, o):
3844  r"""__gt__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool"""
3845  return _IMP_kernel.SparseParticleIndexKey___gt__(self, o)
3846 
3847  def __ge__(self, o):
3848  r"""__ge__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool"""
3849  return _IMP_kernel.SparseParticleIndexKey___ge__(self, o)
3850 
3851  def __le__(self, o):
3852  r"""__le__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool"""
3853  return _IMP_kernel.SparseParticleIndexKey___le__(self, o)
3854 
3855  def __hash__(self):
3856  r"""__hash__(SparseParticleIndexKey self) -> std::size_t"""
3857  return _IMP_kernel.SparseParticleIndexKey___hash__(self)
3858 
3859  def show(self, *args):
3860  r"""show(SparseParticleIndexKey self, _ostream out=std::cout)"""
3861  return _IMP_kernel.SparseParticleIndexKey_show(self, *args)
3862 
3863  @staticmethod
3864  def add_alias(old_key, new_name):
3865  r"""add_alias(SparseParticleIndexKey old_key, std::string new_name) -> SparseParticleIndexKey"""
3866  return _IMP_kernel.SparseParticleIndexKey_add_alias(old_key, new_name)
3867 
3868  @staticmethod
3869  def get_number_of_keys():
3870  r"""get_number_of_keys() -> unsigned int"""
3871  return _IMP_kernel.SparseParticleIndexKey_get_number_of_keys()
3872 
3873  def get_index(self):
3874  r"""get_index(SparseParticleIndexKey self) -> unsigned int"""
3875  return _IMP_kernel.SparseParticleIndexKey_get_index(self)
3876 
3877  @staticmethod
3878  def show_all(out):
3879  r"""show_all(_ostream out)"""
3880  return _IMP_kernel.SparseParticleIndexKey_show_all(out)
3881 
3882  @staticmethod
3883  def get_all_strings():
3884  r"""get_all_strings() -> IMP::Vector< std::string >"""
3885  return _IMP_kernel.SparseParticleIndexKey_get_all_strings()
3886 
3887  @staticmethod
3888  def get_number_unique():
3889  r"""get_number_unique() -> unsigned int"""
3890  return _IMP_kernel.SparseParticleIndexKey_get_number_unique()
3891 
3892  def __str__(self):
3893  r"""__str__(SparseParticleIndexKey self) -> std::string"""
3894  return _IMP_kernel.SparseParticleIndexKey___str__(self)
3895 
3896  def __repr__(self):
3897  r"""__repr__(SparseParticleIndexKey self) -> std::string"""
3898  return _IMP_kernel.SparseParticleIndexKey___repr__(self)
3899  __swig_destroy__ = _IMP_kernel.delete_SparseParticleIndexKey
3900 
3901 # Register SparseParticleIndexKey in _IMP_kernel:
3902 _IMP_kernel.SparseParticleIndexKey_swigregister(SparseParticleIndexKey)
3903 class Vector3DKey(_Value):
3904  r"""Proxy of C++ IMP::Key< 16 > class."""
3905 
3906  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3907 
3908  def __init__(self, *args):
3909  r"""
3910  __init__(Vector3DKey self) -> Vector3DKey
3911  __init__(Vector3DKey self, std::string const & c, bool is_implicit_add_permitted=True) -> Vector3DKey
3912  __init__(Vector3DKey self, unsigned int i) -> Vector3DKey
3913  """
3914  _IMP_kernel.Vector3DKey_swiginit(self, _IMP_kernel.new_Vector3DKey(*args))
3915 
3916  @staticmethod
3917  def add_key(sc):
3918  r"""add_key(std::string sc) -> unsigned int"""
3919  return _IMP_kernel.Vector3DKey_add_key(sc)
3920 
3921  @staticmethod
3922  def get_key_exists(sc):
3923  r"""get_key_exists(std::string sc) -> bool"""
3924  return _IMP_kernel.Vector3DKey_get_key_exists(sc)
3925 
3926  def get_string(self):
3927  r"""get_string(Vector3DKey self) -> std::string const"""
3928  return _IMP_kernel.Vector3DKey_get_string(self)
3929 
3930  def __cmp__(self, o):
3931  r"""__cmp__(Vector3DKey self, Vector3DKey o) -> int"""
3932  return _IMP_kernel.Vector3DKey___cmp__(self, o)
3933 
3934  def __eq__(self, o):
3935  r"""__eq__(Vector3DKey self, Vector3DKey o) -> bool"""
3936  return _IMP_kernel.Vector3DKey___eq__(self, o)
3937 
3938  def __ne__(self, o):
3939  r"""__ne__(Vector3DKey self, Vector3DKey o) -> bool"""
3940  return _IMP_kernel.Vector3DKey___ne__(self, o)
3941 
3942  def __lt__(self, o):
3943  r"""__lt__(Vector3DKey self, Vector3DKey o) -> bool"""
3944  return _IMP_kernel.Vector3DKey___lt__(self, o)
3945 
3946  def __gt__(self, o):
3947  r"""__gt__(Vector3DKey self, Vector3DKey o) -> bool"""
3948  return _IMP_kernel.Vector3DKey___gt__(self, o)
3949 
3950  def __ge__(self, o):
3951  r"""__ge__(Vector3DKey self, Vector3DKey o) -> bool"""
3952  return _IMP_kernel.Vector3DKey___ge__(self, o)
3953 
3954  def __le__(self, o):
3955  r"""__le__(Vector3DKey self, Vector3DKey o) -> bool"""
3956  return _IMP_kernel.Vector3DKey___le__(self, o)
3957 
3958  def __hash__(self):
3959  r"""__hash__(Vector3DKey self) -> std::size_t"""
3960  return _IMP_kernel.Vector3DKey___hash__(self)
3961 
3962  def show(self, *args):
3963  r"""show(Vector3DKey self, _ostream out=std::cout)"""
3964  return _IMP_kernel.Vector3DKey_show(self, *args)
3965 
3966  @staticmethod
3967  def add_alias(old_key, new_name):
3968  r"""add_alias(Vector3DKey old_key, std::string new_name) -> Vector3DKey"""
3969  return _IMP_kernel.Vector3DKey_add_alias(old_key, new_name)
3970 
3971  @staticmethod
3972  def get_number_of_keys():
3973  r"""get_number_of_keys() -> unsigned int"""
3974  return _IMP_kernel.Vector3DKey_get_number_of_keys()
3975 
3976  def get_index(self):
3977  r"""get_index(Vector3DKey self) -> unsigned int"""
3978  return _IMP_kernel.Vector3DKey_get_index(self)
3979 
3980  @staticmethod
3981  def show_all(out):
3982  r"""show_all(_ostream out)"""
3983  return _IMP_kernel.Vector3DKey_show_all(out)
3984 
3985  @staticmethod
3986  def get_all_strings():
3987  r"""get_all_strings() -> IMP::Vector< std::string >"""
3988  return _IMP_kernel.Vector3DKey_get_all_strings()
3989 
3990  @staticmethod
3991  def get_number_unique():
3992  r"""get_number_unique() -> unsigned int"""
3993  return _IMP_kernel.Vector3DKey_get_number_unique()
3994 
3995  def __str__(self):
3996  r"""__str__(Vector3DKey self) -> std::string"""
3997  return _IMP_kernel.Vector3DKey___str__(self)
3998 
3999  def __repr__(self):
4000  r"""__repr__(Vector3DKey self) -> std::string"""
4001  return _IMP_kernel.Vector3DKey___repr__(self)
4002  __swig_destroy__ = _IMP_kernel.delete_Vector3DKey
4003 
4004 # Register Vector3DKey in _IMP_kernel:
4005 _IMP_kernel.Vector3DKey_swigregister(Vector3DKey)
4006 class Vector3DDerivKey(_Value):
4007  r"""Proxy of C++ IMP::Key< 17 > class."""
4008 
4009  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4010 
4011  def __init__(self, *args):
4012  r"""
4013  __init__(Vector3DDerivKey self) -> Vector3DDerivKey
4014  __init__(Vector3DDerivKey self, std::string const & c, bool is_implicit_add_permitted=True) -> Vector3DDerivKey
4015  __init__(Vector3DDerivKey self, unsigned int i) -> Vector3DDerivKey
4016  """
4017  _IMP_kernel.Vector3DDerivKey_swiginit(self, _IMP_kernel.new_Vector3DDerivKey(*args))
4018 
4019  @staticmethod
4020  def add_key(sc):
4021  r"""add_key(std::string sc) -> unsigned int"""
4022  return _IMP_kernel.Vector3DDerivKey_add_key(sc)
4023 
4024  @staticmethod
4025  def get_key_exists(sc):
4026  r"""get_key_exists(std::string sc) -> bool"""
4027  return _IMP_kernel.Vector3DDerivKey_get_key_exists(sc)
4028 
4029  def get_string(self):
4030  r"""get_string(Vector3DDerivKey self) -> std::string const"""
4031  return _IMP_kernel.Vector3DDerivKey_get_string(self)
4032 
4033  def __cmp__(self, o):
4034  r"""__cmp__(Vector3DDerivKey self, Vector3DDerivKey o) -> int"""
4035  return _IMP_kernel.Vector3DDerivKey___cmp__(self, o)
4036 
4037  def __eq__(self, o):
4038  r"""__eq__(Vector3DDerivKey self, Vector3DDerivKey o) -> bool"""
4039  return _IMP_kernel.Vector3DDerivKey___eq__(self, o)
4040 
4041  def __ne__(self, o):
4042  r"""__ne__(Vector3DDerivKey self, Vector3DDerivKey o) -> bool"""
4043  return _IMP_kernel.Vector3DDerivKey___ne__(self, o)
4044 
4045  def __lt__(self, o):
4046  r"""__lt__(Vector3DDerivKey self, Vector3DDerivKey o) -> bool"""
4047  return _IMP_kernel.Vector3DDerivKey___lt__(self, o)
4048 
4049  def __gt__(self, o):
4050  r"""__gt__(Vector3DDerivKey self, Vector3DDerivKey o) -> bool"""
4051  return _IMP_kernel.Vector3DDerivKey___gt__(self, o)
4052 
4053  def __ge__(self, o):
4054  r"""__ge__(Vector3DDerivKey self, Vector3DDerivKey o) -> bool"""
4055  return _IMP_kernel.Vector3DDerivKey___ge__(self, o)
4056 
4057  def __le__(self, o):
4058  r"""__le__(Vector3DDerivKey self, Vector3DDerivKey o) -> bool"""
4059  return _IMP_kernel.Vector3DDerivKey___le__(self, o)
4060 
4061  def __hash__(self):
4062  r"""__hash__(Vector3DDerivKey self) -> std::size_t"""
4063  return _IMP_kernel.Vector3DDerivKey___hash__(self)
4064 
4065  def show(self, *args):
4066  r"""show(Vector3DDerivKey self, _ostream out=std::cout)"""
4067  return _IMP_kernel.Vector3DDerivKey_show(self, *args)
4068 
4069  @staticmethod
4070  def add_alias(old_key, new_name):
4071  r"""add_alias(Vector3DDerivKey old_key, std::string new_name) -> Vector3DDerivKey"""
4072  return _IMP_kernel.Vector3DDerivKey_add_alias(old_key, new_name)
4073 
4074  @staticmethod
4075  def get_number_of_keys():
4076  r"""get_number_of_keys() -> unsigned int"""
4077  return _IMP_kernel.Vector3DDerivKey_get_number_of_keys()
4078 
4079  def get_index(self):
4080  r"""get_index(Vector3DDerivKey self) -> unsigned int"""
4081  return _IMP_kernel.Vector3DDerivKey_get_index(self)
4082 
4083  @staticmethod
4084  def show_all(out):
4085  r"""show_all(_ostream out)"""
4086  return _IMP_kernel.Vector3DDerivKey_show_all(out)
4087 
4088  @staticmethod
4089  def get_all_strings():
4090  r"""get_all_strings() -> IMP::Vector< std::string >"""
4091  return _IMP_kernel.Vector3DDerivKey_get_all_strings()
4092 
4093  @staticmethod
4094  def get_number_unique():
4095  r"""get_number_unique() -> unsigned int"""
4096  return _IMP_kernel.Vector3DDerivKey_get_number_unique()
4097 
4098  def __str__(self):
4099  r"""__str__(Vector3DDerivKey self) -> std::string"""
4100  return _IMP_kernel.Vector3DDerivKey___str__(self)
4101 
4102  def __repr__(self):
4103  r"""__repr__(Vector3DDerivKey self) -> std::string"""
4104  return _IMP_kernel.Vector3DDerivKey___repr__(self)
4105  __swig_destroy__ = _IMP_kernel.delete_Vector3DDerivKey
4106 
4107 # Register Vector3DDerivKey in _IMP_kernel:
4108 _IMP_kernel.Vector3DDerivKey_swigregister(Vector3DDerivKey)
4109 class Vector4DKey(_Value):
4110  r"""Proxy of C++ IMP::Key< 18 > class."""
4111 
4112  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4113 
4114  def __init__(self, *args):
4115  r"""
4116  __init__(Vector4DKey self) -> Vector4DKey
4117  __init__(Vector4DKey self, std::string const & c, bool is_implicit_add_permitted=True) -> Vector4DKey
4118  __init__(Vector4DKey self, unsigned int i) -> Vector4DKey
4119  """
4120  _IMP_kernel.Vector4DKey_swiginit(self, _IMP_kernel.new_Vector4DKey(*args))
4121 
4122  @staticmethod
4123  def add_key(sc):
4124  r"""add_key(std::string sc) -> unsigned int"""
4125  return _IMP_kernel.Vector4DKey_add_key(sc)
4126 
4127  @staticmethod
4128  def get_key_exists(sc):
4129  r"""get_key_exists(std::string sc) -> bool"""
4130  return _IMP_kernel.Vector4DKey_get_key_exists(sc)
4131 
4132  def get_string(self):
4133  r"""get_string(Vector4DKey self) -> std::string const"""
4134  return _IMP_kernel.Vector4DKey_get_string(self)
4135 
4136  def __cmp__(self, o):
4137  r"""__cmp__(Vector4DKey self, Vector4DKey o) -> int"""
4138  return _IMP_kernel.Vector4DKey___cmp__(self, o)
4139 
4140  def __eq__(self, o):
4141  r"""__eq__(Vector4DKey self, Vector4DKey o) -> bool"""
4142  return _IMP_kernel.Vector4DKey___eq__(self, o)
4143 
4144  def __ne__(self, o):
4145  r"""__ne__(Vector4DKey self, Vector4DKey o) -> bool"""
4146  return _IMP_kernel.Vector4DKey___ne__(self, o)
4147 
4148  def __lt__(self, o):
4149  r"""__lt__(Vector4DKey self, Vector4DKey o) -> bool"""
4150  return _IMP_kernel.Vector4DKey___lt__(self, o)
4151 
4152  def __gt__(self, o):
4153  r"""__gt__(Vector4DKey self, Vector4DKey o) -> bool"""
4154  return _IMP_kernel.Vector4DKey___gt__(self, o)
4155 
4156  def __ge__(self, o):
4157  r"""__ge__(Vector4DKey self, Vector4DKey o) -> bool"""
4158  return _IMP_kernel.Vector4DKey___ge__(self, o)
4159 
4160  def __le__(self, o):
4161  r"""__le__(Vector4DKey self, Vector4DKey o) -> bool"""
4162  return _IMP_kernel.Vector4DKey___le__(self, o)
4163 
4164  def __hash__(self):
4165  r"""__hash__(Vector4DKey self) -> std::size_t"""
4166  return _IMP_kernel.Vector4DKey___hash__(self)
4167 
4168  def show(self, *args):
4169  r"""show(Vector4DKey self, _ostream out=std::cout)"""
4170  return _IMP_kernel.Vector4DKey_show(self, *args)
4171 
4172  @staticmethod
4173  def add_alias(old_key, new_name):
4174  r"""add_alias(Vector4DKey old_key, std::string new_name) -> Vector4DKey"""
4175  return _IMP_kernel.Vector4DKey_add_alias(old_key, new_name)
4176 
4177  @staticmethod
4178  def get_number_of_keys():
4179  r"""get_number_of_keys() -> unsigned int"""
4180  return _IMP_kernel.Vector4DKey_get_number_of_keys()
4181 
4182  def get_index(self):
4183  r"""get_index(Vector4DKey self) -> unsigned int"""
4184  return _IMP_kernel.Vector4DKey_get_index(self)
4185 
4186  @staticmethod
4187  def show_all(out):
4188  r"""show_all(_ostream out)"""
4189  return _IMP_kernel.Vector4DKey_show_all(out)
4190 
4191  @staticmethod
4192  def get_all_strings():
4193  r"""get_all_strings() -> IMP::Vector< std::string >"""
4194  return _IMP_kernel.Vector4DKey_get_all_strings()
4195 
4196  @staticmethod
4197  def get_number_unique():
4198  r"""get_number_unique() -> unsigned int"""
4199  return _IMP_kernel.Vector4DKey_get_number_unique()
4200 
4201  def __str__(self):
4202  r"""__str__(Vector4DKey self) -> std::string"""
4203  return _IMP_kernel.Vector4DKey___str__(self)
4204 
4205  def __repr__(self):
4206  r"""__repr__(Vector4DKey self) -> std::string"""
4207  return _IMP_kernel.Vector4DKey___repr__(self)
4208  __swig_destroy__ = _IMP_kernel.delete_Vector4DKey
4209 
4210 # Register Vector4DKey in _IMP_kernel:
4211 _IMP_kernel.Vector4DKey_swigregister(Vector4DKey)
4212 class Vector4DDerivKey(_Value):
4213  r"""Proxy of C++ IMP::Key< 19 > class."""
4214 
4215  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4216 
4217  def __init__(self, *args):
4218  r"""
4219  __init__(Vector4DDerivKey self) -> Vector4DDerivKey
4220  __init__(Vector4DDerivKey self, std::string const & c, bool is_implicit_add_permitted=True) -> Vector4DDerivKey
4221  __init__(Vector4DDerivKey self, unsigned int i) -> Vector4DDerivKey
4222  """
4223  _IMP_kernel.Vector4DDerivKey_swiginit(self, _IMP_kernel.new_Vector4DDerivKey(*args))
4224 
4225  @staticmethod
4226  def add_key(sc):
4227  r"""add_key(std::string sc) -> unsigned int"""
4228  return _IMP_kernel.Vector4DDerivKey_add_key(sc)
4229 
4230  @staticmethod
4231  def get_key_exists(sc):
4232  r"""get_key_exists(std::string sc) -> bool"""
4233  return _IMP_kernel.Vector4DDerivKey_get_key_exists(sc)
4234 
4235  def get_string(self):
4236  r"""get_string(Vector4DDerivKey self) -> std::string const"""
4237  return _IMP_kernel.Vector4DDerivKey_get_string(self)
4238 
4239  def __cmp__(self, o):
4240  r"""__cmp__(Vector4DDerivKey self, Vector4DDerivKey o) -> int"""
4241  return _IMP_kernel.Vector4DDerivKey___cmp__(self, o)
4242 
4243  def __eq__(self, o):
4244  r"""__eq__(Vector4DDerivKey self, Vector4DDerivKey o) -> bool"""
4245  return _IMP_kernel.Vector4DDerivKey___eq__(self, o)
4246 
4247  def __ne__(self, o):
4248  r"""__ne__(Vector4DDerivKey self, Vector4DDerivKey o) -> bool"""
4249  return _IMP_kernel.Vector4DDerivKey___ne__(self, o)
4250 
4251  def __lt__(self, o):
4252  r"""__lt__(Vector4DDerivKey self, Vector4DDerivKey o) -> bool"""
4253  return _IMP_kernel.Vector4DDerivKey___lt__(self, o)
4254 
4255  def __gt__(self, o):
4256  r"""__gt__(Vector4DDerivKey self, Vector4DDerivKey o) -> bool"""
4257  return _IMP_kernel.Vector4DDerivKey___gt__(self, o)
4258 
4259  def __ge__(self, o):
4260  r"""__ge__(Vector4DDerivKey self, Vector4DDerivKey o) -> bool"""
4261  return _IMP_kernel.Vector4DDerivKey___ge__(self, o)
4262 
4263  def __le__(self, o):
4264  r"""__le__(Vector4DDerivKey self, Vector4DDerivKey o) -> bool"""
4265  return _IMP_kernel.Vector4DDerivKey___le__(self, o)
4266 
4267  def __hash__(self):
4268  r"""__hash__(Vector4DDerivKey self) -> std::size_t"""
4269  return _IMP_kernel.Vector4DDerivKey___hash__(self)
4270 
4271  def show(self, *args):
4272  r"""show(Vector4DDerivKey self, _ostream out=std::cout)"""
4273  return _IMP_kernel.Vector4DDerivKey_show(self, *args)
4274 
4275  @staticmethod
4276  def add_alias(old_key, new_name):
4277  r"""add_alias(Vector4DDerivKey old_key, std::string new_name) -> Vector4DDerivKey"""
4278  return _IMP_kernel.Vector4DDerivKey_add_alias(old_key, new_name)
4279 
4280  @staticmethod
4281  def get_number_of_keys():
4282  r"""get_number_of_keys() -> unsigned int"""
4283  return _IMP_kernel.Vector4DDerivKey_get_number_of_keys()
4284 
4285  def get_index(self):
4286  r"""get_index(Vector4DDerivKey self) -> unsigned int"""
4287  return _IMP_kernel.Vector4DDerivKey_get_index(self)
4288 
4289  @staticmethod
4290  def show_all(out):
4291  r"""show_all(_ostream out)"""
4292  return _IMP_kernel.Vector4DDerivKey_show_all(out)
4293 
4294  @staticmethod
4295  def get_all_strings():
4296  r"""get_all_strings() -> IMP::Vector< std::string >"""
4297  return _IMP_kernel.Vector4DDerivKey_get_all_strings()
4298 
4299  @staticmethod
4300  def get_number_unique():
4301  r"""get_number_unique() -> unsigned int"""
4302  return _IMP_kernel.Vector4DDerivKey_get_number_unique()
4303 
4304  def __str__(self):
4305  r"""__str__(Vector4DDerivKey self) -> std::string"""
4306  return _IMP_kernel.Vector4DDerivKey___str__(self)
4307 
4308  def __repr__(self):
4309  r"""__repr__(Vector4DDerivKey self) -> std::string"""
4310  return _IMP_kernel.Vector4DDerivKey___repr__(self)
4311  __swig_destroy__ = _IMP_kernel.delete_Vector4DDerivKey
4312 
4313 # Register Vector4DDerivKey in _IMP_kernel:
4314 _IMP_kernel.Vector4DDerivKey_swigregister(Vector4DDerivKey)
4315 
4316 def ParticlePair(a, b):
4317  return (a,b)
4318 def ParticleTriplet(a, b, c):
4319  return (a,b,c)
4320 def ParticleQuad(a, b, c, d):
4321  return (a,b,c,d)
4322 
4323 class FloatIndex(_Value):
4324  r"""Proxy of C++ IMP::FloatIndex class."""
4325 
4326  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4327 
4328  def __init__(self, *args):
4329  r"""
4330  __init__(FloatIndex self, ParticleIndex pi, FloatKey k) -> FloatIndex
4331  __init__(FloatIndex self, ParticleIndex pi, Vector3DDerivKey k, int index) -> FloatIndex
4332  __init__(FloatIndex self, ParticleIndex pi, Vector4DDerivKey k, int index) -> FloatIndex
4333  """
4334  _IMP_kernel.FloatIndex_swiginit(self, _IMP_kernel.new_FloatIndex(*args))
4335 
4336  def get_float_key(self):
4337  r"""get_float_key(FloatIndex self) -> FloatKey"""
4338  return _IMP_kernel.FloatIndex_get_float_key(self)
4339 
4340  def set_value(self, m, v):
4341  r"""set_value(FloatIndex self, Model m, IMP::Float v)"""
4342  return _IMP_kernel.FloatIndex_set_value(self, m, v)
4343 
4344  def get_value(self, m):
4345  r"""get_value(FloatIndex self, Model m) -> IMP::Float"""
4346  return _IMP_kernel.FloatIndex_get_value(self, m)
4347 
4348  def get_derivative(self, m):
4349  r"""get_derivative(FloatIndex self, Model m) -> IMP::Float"""
4350  return _IMP_kernel.FloatIndex_get_derivative(self, m)
4351 
4352  def show(self, *args):
4353  r"""show(FloatIndex self, _ostream out=std::cout)"""
4354  return _IMP_kernel.FloatIndex_show(self, *args)
4355 
4356  def __str__(self):
4357  r"""__str__(FloatIndex self) -> std::string"""
4358  return _IMP_kernel.FloatIndex___str__(self)
4359 
4360  def __repr__(self):
4361  r"""__repr__(FloatIndex self) -> std::string"""
4362  return _IMP_kernel.FloatIndex___repr__(self)
4363  __swig_destroy__ = _IMP_kernel.delete_FloatIndex
4364 
4365 # Register FloatIndex in _IMP_kernel:
4366 _IMP_kernel.FloatIndex_swigregister(FloatIndex)
4367 class _ParticleIndexTag(object):
4368  r"""Proxy of C++ IMP::ParticleIndexTag class."""
4369 
4370  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4371  __repr__ = _swig_repr
4372 
4373  def __init__(self):
4374  r"""__init__(_ParticleIndexTag self) -> _ParticleIndexTag"""
4375  _IMP_kernel._ParticleIndexTag_swiginit(self, _IMP_kernel.new__ParticleIndexTag())
4376  __swig_destroy__ = _IMP_kernel.delete__ParticleIndexTag
4377 
4378 # Register _ParticleIndexTag in _IMP_kernel:
4379 _IMP_kernel._ParticleIndexTag_swigregister(_ParticleIndexTag)
4380 class ModelObject(Object):
4381  r"""Proxy of C++ IMP::ModelObject class."""
4382 
4383  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4384 
4385  def __init__(self, *args):
4386  r"""
4387  __init__(ModelObject self, Model m, std::string name) -> ModelObject
4388  __init__(ModelObject self) -> ModelObject
4389  """
4390  if self.__class__ == ModelObject:
4391  _self = None
4392  else:
4393  _self = self
4394  _IMP_kernel.ModelObject_swiginit(self, _IMP_kernel.new_ModelObject(_self, *args))
4395 
4396  if self.__class__ != ModelObject:
4397  _director_objects.register(self)
4398 
4399 
4400 
4401  __swig_destroy__ = _IMP_kernel.delete_ModelObject
4402 
4403  def get_model(self):
4404  m = _IMP_kernel.ModelObject_get_model(self)
4405  if m in _models_set:
4406  m = _models_set_get(m)
4407  return m
4408 
4409 
4410 
4411  def get_inputs(self):
4412  r"""get_inputs(ModelObject self) -> IMP::ModelObjectsTemp"""
4413  return _IMP_kernel.ModelObject_get_inputs(self)
4414 
4415  def get_outputs(self):
4416  r"""get_outputs(ModelObject self) -> IMP::ModelObjectsTemp"""
4417  return _IMP_kernel.ModelObject_get_outputs(self)
4418 
4419  def get_interactions(self):
4420  r"""get_interactions(ModelObject self) -> IMP::ModelObjectsTemps"""
4421  return _IMP_kernel.ModelObject_get_interactions(self)
4422 
4423  def get_has_dependencies(self):
4424  r"""get_has_dependencies(ModelObject self) -> bool"""
4425  return _IMP_kernel.ModelObject_get_has_dependencies(self)
4426 
4427  def set_has_dependencies(self, tf):
4428  r"""set_has_dependencies(ModelObject self, bool tf)"""
4429  return _IMP_kernel.ModelObject_set_has_dependencies(self, tf)
4430 
4431  def set_has_required_score_states(self, tf):
4432  r"""set_has_required_score_states(ModelObject self, bool tf)"""
4433  return _IMP_kernel.ModelObject_set_has_required_score_states(self, tf)
4434 
4435  def get_has_required_score_states(self):
4436  r"""get_has_required_score_states(ModelObject self) -> bool"""
4437  return _IMP_kernel.ModelObject_get_has_required_score_states(self)
4438 
4439  def get_required_score_states(self):
4440  r"""get_required_score_states(ModelObject self) -> IMP::ScoreStatesTemp const &"""
4441  return _IMP_kernel.ModelObject_get_required_score_states(self)
4442 
4443  def handle_set_has_required_score_states(self, arg0):
4444  r"""handle_set_has_required_score_states(ModelObject self, bool arg0)"""
4445  return _IMP_kernel.ModelObject_handle_set_has_required_score_states(self, arg0)
4446 
4447  def do_get_inputs(self):
4448  r"""do_get_inputs(ModelObject self) -> IMP::ModelObjectsTemp"""
4449  return _IMP_kernel.ModelObject_do_get_inputs(self)
4450 
4451  def do_get_outputs(self):
4452  r"""do_get_outputs(ModelObject self) -> IMP::ModelObjectsTemp"""
4453  return _IMP_kernel.ModelObject_do_get_outputs(self)
4454 
4455  def do_get_interactions(self):
4456  r"""do_get_interactions(ModelObject self) -> IMP::ModelObjectsTemps"""
4457  return _IMP_kernel.ModelObject_do_get_interactions(self)
4458 
4459  def __str__(self):
4460  r"""__str__(ModelObject self) -> std::string"""
4461  return _IMP_kernel.ModelObject___str__(self)
4462 
4463  def __repr__(self):
4464  r"""__repr__(ModelObject self) -> std::string"""
4465  return _IMP_kernel.ModelObject___repr__(self)
4466 
4467  @staticmethod
4468  def get_from(o):
4469  return _object_cast_to_ModelObject(o)
4470 
4471 
4472  def do_show(self, out):
4473  pass
4474 
4475  @staticmethod
4476  def get_from(o):
4477  return _object_cast_to_ModelObject(o)
4478 
4479  def __disown__(self):
4480  self.this.disown()
4481  _IMP_kernel.disown_ModelObject(self)
4482  return weakref.proxy(self)
4483 
4484  def do_destroy(self):
4485  r"""do_destroy(ModelObject self)"""
4486  return _IMP_kernel.ModelObject_do_destroy(self)
4487 
4488 # Register ModelObject in _IMP_kernel:
4489 _IMP_kernel.ModelObject_swigregister(ModelObject)
4490 cvar = _IMP_kernel.cvar
4491 NO_MAX = cvar.NO_MAX
4492 BAD_SCORE = cvar.BAD_SCORE
4493 
4494 class _ParticleInputs(object):
4495  r"""Proxy of C++ IMP::ParticleInputs class."""
4496 
4497  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4498 
4499  def __init__(self, *args, **kwargs):
4500  raise AttributeError("No constructor defined - class is abstract")
4501  __repr__ = _swig_repr
4502 
4503  def get_inputs(self, m, pis):
4504  r"""get_inputs(_ParticleInputs self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4505  return _IMP_kernel._ParticleInputs_get_inputs(self, m, pis)
4506 
4507 # Register _ParticleInputs in _IMP_kernel:
4508 _IMP_kernel._ParticleInputs_swigregister(_ParticleInputs)
4509 class _ParticleOutputs(object):
4510  r"""Proxy of C++ IMP::ParticleOutputs class."""
4511 
4512  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4513 
4514  def __init__(self, *args, **kwargs):
4515  raise AttributeError("No constructor defined - class is abstract")
4516  __repr__ = _swig_repr
4517 
4518  def get_outputs(self, m, pis):
4519  r"""get_outputs(_ParticleOutputs self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4520  return _IMP_kernel._ParticleOutputs_get_outputs(self, m, pis)
4521 
4522 # Register _ParticleOutputs in _IMP_kernel:
4523 _IMP_kernel._ParticleOutputs_swigregister(_ParticleOutputs)
4524 
4525 def get_input_particles(mos):
4526  r"""get_input_particles(IMP::ModelObjectsTemp const & mos) -> IMP::ParticlesTemp"""
4527  return _IMP_kernel.get_input_particles(mos)
4528 
4529 def get_input_containers(mos):
4530  r"""get_input_containers(IMP::ModelObjectsTemp const & mos) -> IMP::ContainersTemp"""
4531  return _IMP_kernel.get_input_containers(mos)
4532 
4533 def get_output_particles(mos):
4534  r"""get_output_particles(IMP::ModelObjectsTemp const & mos) -> IMP::ParticlesTemp"""
4535  return _IMP_kernel.get_output_particles(mos)
4536 
4537 def get_output_containers(mos):
4538  r"""get_output_containers(IMP::ModelObjectsTemp const & mos) -> IMP::ContainersTemp"""
4539  return _IMP_kernel.get_output_containers(mos)
4540 
4541 Vector1Ds=list
4542 _plural_types.append("Vector1Ds")
4543 _value_types.append("Vector1D")
4544 
4545 
4546 Vector2Ds=list
4547 _plural_types.append("Vector2Ds")
4548 _value_types.append("Vector2D")
4549 
4550 
4551 Vector3Ds=list
4552 _plural_types.append("Vector3Ds")
4553 _value_types.append("Vector3D")
4554 
4555 
4556 Vector4Ds=list
4557 _plural_types.append("Vector4Ds")
4558 _value_types.append("Vector4D")
4559 
4560 
4561 Vector5Ds=list
4562 _plural_types.append("Vector5Ds")
4563 _value_types.append("Vector5D")
4564 
4565 
4566 Vector6Ds=list
4567 _plural_types.append("Vector6Ds")
4568 _value_types.append("Vector6D")
4569 
4570 
4571 Vector1Ds=list
4572 _plural_types.append("Vector1Ds")
4573 _value_types.append("VectorD<1>")
4574 
4575 
4576 Vector2Ds=list
4577 _plural_types.append("Vector2Ds")
4578 _value_types.append("VectorD<2>")
4579 
4580 
4581 Vector3Ds=list
4582 _plural_types.append("Vector3Ds")
4583 _value_types.append("VectorD<3>")
4584 
4585 
4586 Vector4Ds=list
4587 _plural_types.append("Vector4Ds")
4588 _value_types.append("VectorD<4>")
4589 
4590 
4591 Vector5Ds=list
4592 _plural_types.append("Vector5Ds")
4593 _value_types.append("VectorD<5>")
4594 
4595 
4596 Vector6Ds=list
4597 _plural_types.append("Vector6Ds")
4598 _value_types.append("VectorD<6>")
4599 
4600 
4601 VectorKDs=list
4602 _plural_types.append("VectorKDs")
4603 _value_types.append("VectorKD")
4604 
4605 
4606 VectorKDs=list
4607 _plural_types.append("VectorKDs")
4608 _value_types.append("VectorD<-1>")
4609 
4610 
4611 def get_basis_vector_kd(D, coordinate):
4612  r"""get_basis_vector_kd(int D, unsigned int coordinate) -> VectorKD"""
4613  return _IMP_kernel.get_basis_vector_kd(D, coordinate)
4614 
4615 def get_zero_vector_kd(D):
4616  r"""get_zero_vector_kd(int D) -> VectorKD"""
4617  return _IMP_kernel.get_zero_vector_kd(D)
4618 
4619 def get_ones_vector_kd(D, v=1):
4620  r"""get_ones_vector_kd(unsigned int D, double v=1) -> VectorKD"""
4621  return _IMP_kernel.get_ones_vector_kd(D, v)
4622 
4623 def get_vector_product(p1, p2):
4624  r"""get_vector_product(Vector3D p1, Vector3D p2) -> Vector3D"""
4625  return _IMP_kernel.get_vector_product(p1, p2)
4626 
4627 def get_orthogonal_vector(v):
4628  r"""get_orthogonal_vector(Vector3D v) -> Vector3D"""
4629  return _IMP_kernel.get_orthogonal_vector(v)
4630 
4631 def get_centroid(ps):
4632  r"""get_centroid(IMP::Vector3Ds const & ps) -> Vector3D"""
4633  return _IMP_kernel.get_centroid(ps)
4634 
4635 def get_radius_of_gyration(ps):
4636  r"""get_radius_of_gyration(IMP::Vector3Ds const & ps) -> double"""
4637  return _IMP_kernel.get_radius_of_gyration(ps)
4638 class DerivativeAccumulator(object):
4639  r"""Proxy of C++ IMP::DerivativeAccumulator class."""
4640 
4641  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4642  __repr__ = _swig_repr
4643 
4644  def __init__(self, *args):
4645  r"""
4646  __init__(DerivativeAccumulator self, DerivativeAccumulator arg2) -> DerivativeAccumulator
4647  __init__(DerivativeAccumulator self, double weight=1.0) -> DerivativeAccumulator
4648  __init__(DerivativeAccumulator self, DerivativeAccumulator copy, double weight) -> DerivativeAccumulator
4649  """
4650  _IMP_kernel.DerivativeAccumulator_swiginit(self, _IMP_kernel.new_DerivativeAccumulator(*args))
4651 
4652  def __call__(self, *args):
4653  r"""
4654  __call__(DerivativeAccumulator self, double const value) -> double
4655  __call__(DerivativeAccumulator self, Vector3D value) -> Vector3D
4656  __call__(DerivativeAccumulator self, Vector4D value) -> Vector4D
4657  """
4658  return _IMP_kernel.DerivativeAccumulator___call__(self, *args)
4659 
4660  def get_weight(self):
4661  r"""get_weight(DerivativeAccumulator self) -> double"""
4662  return _IMP_kernel.DerivativeAccumulator_get_weight(self)
4663 
4664  def show(self, *args):
4665  r"""show(DerivativeAccumulator self, _ostream out=std::cout)"""
4666  return _IMP_kernel.DerivativeAccumulator_show(self, *args)
4667  __swig_destroy__ = _IMP_kernel.delete_DerivativeAccumulator
4668 
4669 # Register DerivativeAccumulator in _IMP_kernel:
4670 _IMP_kernel.DerivativeAccumulator_swigregister(DerivativeAccumulator)
4671 class EvaluationState(object):
4672  r"""Proxy of C++ IMP::EvaluationState class."""
4673 
4674  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4675  score = property(_IMP_kernel.EvaluationState_score_get, _IMP_kernel.EvaluationState_score_set, doc=r"""score : double""")
4676  good = property(_IMP_kernel.EvaluationState_good_get, _IMP_kernel.EvaluationState_good_set, doc=r"""good : bool""")
4677 
4678  def __init__(self, *args):
4679  r"""
4680  __init__(EvaluationState self, double oscore, bool ogood) -> EvaluationState
4681  __init__(EvaluationState self) -> EvaluationState
4682  """
4683  _IMP_kernel.EvaluationState_swiginit(self, _IMP_kernel.new_EvaluationState(*args))
4684 
4685  def show(self, *args):
4686  r"""show(EvaluationState self, _ostream out=std::cout)"""
4687  return _IMP_kernel.EvaluationState_show(self, *args)
4688 
4689  def __str__(self):
4690  r"""__str__(EvaluationState self) -> std::string"""
4691  return _IMP_kernel.EvaluationState___str__(self)
4692 
4693  def __repr__(self):
4694  r"""__repr__(EvaluationState self) -> std::string"""
4695  return _IMP_kernel.EvaluationState___repr__(self)
4696  __swig_destroy__ = _IMP_kernel.delete_EvaluationState
4697 
4698 # Register EvaluationState in _IMP_kernel:
4699 _IMP_kernel.EvaluationState_swigregister(EvaluationState)
4700 class ScoreAccumulator(_Value):
4701  r"""Proxy of C++ IMP::ScoreAccumulator class."""
4702 
4703  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4704 
4705  def __init__(self, *args):
4706  r"""
4707  __init__(ScoreAccumulator self, ScoreAccumulator arg2) -> ScoreAccumulator
4708  __init__(ScoreAccumulator self) -> ScoreAccumulator
4709  __init__(ScoreAccumulator self, ScoreAccumulator o, Restraint r) -> ScoreAccumulator
4710  __init__(ScoreAccumulator self, ScoreAccumulator o, double weight, double local_max) -> ScoreAccumulator
4711  """
4712  _IMP_kernel.ScoreAccumulator_swiginit(self, _IMP_kernel.new_ScoreAccumulator(*args))
4713 
4714  def add_score(self, score):
4715  r"""add_score(ScoreAccumulator self, double score)"""
4716  return _IMP_kernel.ScoreAccumulator_add_score(self, score)
4717 
4718  def get_abort_evaluation(self):
4719  r"""get_abort_evaluation(ScoreAccumulator self) -> bool"""
4720  return _IMP_kernel.ScoreAccumulator_get_abort_evaluation(self)
4721 
4722  def get_is_evaluate_if_below(self):
4723  r"""get_is_evaluate_if_below(ScoreAccumulator self) -> bool"""
4724  return _IMP_kernel.ScoreAccumulator_get_is_evaluate_if_below(self)
4725 
4726  def get_is_evaluate_if_good(self):
4727  r"""get_is_evaluate_if_good(ScoreAccumulator self) -> bool"""
4728  return _IMP_kernel.ScoreAccumulator_get_is_evaluate_if_good(self)
4729 
4730  def get_maximum(self):
4731  r"""get_maximum(ScoreAccumulator self) -> double"""
4732  return _IMP_kernel.ScoreAccumulator_get_maximum(self)
4733 
4734  def get_derivative_accumulator(self):
4735  r"""get_derivative_accumulator(ScoreAccumulator self) -> DerivativeAccumulator"""
4736  return _IMP_kernel.ScoreAccumulator_get_derivative_accumulator(self)
4737 
4738  def show(self, *args):
4739  r"""show(ScoreAccumulator self, _ostream out=std::cout)"""
4740  return _IMP_kernel.ScoreAccumulator_show(self, *args)
4741 
4742  def __str__(self):
4743  r"""__str__(ScoreAccumulator self) -> std::string"""
4744  return _IMP_kernel.ScoreAccumulator___str__(self)
4745 
4746  def __repr__(self):
4747  r"""__repr__(ScoreAccumulator self) -> std::string"""
4748  return _IMP_kernel.ScoreAccumulator___repr__(self)
4749  __swig_destroy__ = _IMP_kernel.delete_ScoreAccumulator
4750 
4751 # Register ScoreAccumulator in _IMP_kernel:
4752 _IMP_kernel.ScoreAccumulator_swigregister(ScoreAccumulator)
4753 class ScoreState(ModelObject):
4754  r"""Proxy of C++ IMP::ScoreState class."""
4755 
4756  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4757  is_ignored_by_jax_ = property(_IMP_kernel.ScoreState_is_ignored_by_jax__get, _IMP_kernel.ScoreState_is_ignored_by_jax__set, doc=r"""is_ignored_by_jax_ : bool""")
4758 
4759  def set_can_skip(self, can_skip):
4760  r"""set_can_skip(ScoreState self, bool can_skip)"""
4761  return _IMP_kernel.ScoreState_set_can_skip(self, can_skip)
4762 
4763  def __init__(self, *args):
4764  r"""
4765  __init__(ScoreState self, Model m, std::string name) -> ScoreState
4766  __init__(ScoreState self) -> ScoreState
4767  """
4768  if self.__class__ == ScoreState:
4769  _self = None
4770  else:
4771  _self = self
4772  _IMP_kernel.ScoreState_swiginit(self, _IMP_kernel.new_ScoreState(_self, *args))
4773 
4774  if self.__class__ != ScoreState:
4775  _director_objects.register(self)
4776 
4777 
4778 
4779 
4780  def before_evaluate(self):
4781  r"""before_evaluate(ScoreState self)"""
4782  return _IMP_kernel.ScoreState_before_evaluate(self)
4783 
4784  def after_evaluate(self, accpt):
4785  r"""after_evaluate(ScoreState self, DerivativeAccumulator accpt)"""
4786  return _IMP_kernel.ScoreState_after_evaluate(self, accpt)
4787 
4788  def get_can_skip(self):
4789  r"""get_can_skip(ScoreState self) -> bool"""
4790  return _IMP_kernel.ScoreState_get_can_skip(self)
4791 
4792  def get_has_update_order(self):
4793  r"""get_has_update_order(ScoreState self) -> bool"""
4794  return _IMP_kernel.ScoreState_get_has_update_order(self)
4795 
4796  def get_update_order(self):
4797  r"""get_update_order(ScoreState self) -> unsigned int"""
4798  return _IMP_kernel.ScoreState_get_update_order(self)
4799 
4800  def handle_set_has_required_score_states(self, tf):
4801  r"""handle_set_has_required_score_states(ScoreState self, bool tf)"""
4802  return _IMP_kernel.ScoreState_handle_set_has_required_score_states(self, tf)
4803 
4804  def get_is_ignored_by_jax(self):
4805  r"""get_is_ignored_by_jax(ScoreState self) -> bool"""
4806  return _IMP_kernel.ScoreState_get_is_ignored_by_jax(self)
4807 
4808  def do_before_evaluate(self):
4809  r"""do_before_evaluate(ScoreState self)"""
4810  return _IMP_kernel.ScoreState_do_before_evaluate(self)
4811 
4812  def do_after_evaluate(self, accpt):
4813  r"""do_after_evaluate(ScoreState self, DerivativeAccumulator accpt)"""
4814  return _IMP_kernel.ScoreState_do_after_evaluate(self, accpt)
4815  __swig_destroy__ = _IMP_kernel.delete_ScoreState
4816 
4817  def __str__(self):
4818  r"""__str__(ScoreState self) -> std::string"""
4819  return _IMP_kernel.ScoreState___str__(self)
4820 
4821  def __repr__(self):
4822  r"""__repr__(ScoreState self) -> std::string"""
4823  return _IMP_kernel.ScoreState___repr__(self)
4824 
4825  @staticmethod
4826  def get_from(o):
4827  return _object_cast_to_ScoreState(o)
4828 
4829 
4830  def do_show(self, out):
4831  pass
4832 
4833  @staticmethod
4834  def get_from(o):
4835  return _object_cast_to_ScoreState(o)
4836 
4837 
4838  def _wrap_jax(self, apply_func, keys=None):
4839  """Create the return value for _get_jax.
4840  Use this method in _get_jax() to wrap the JAX apply function
4841  with other model- and ScoreState-specific information.
4842 
4843  @param apply_func A function implemented using JAX that takes
4844  a single argument (the current JAX Model) and returns
4845  a new JAX Model with the ScoreState's transformation
4846  applied.
4847  @param keys If given, a set of IMP::Key objects describing Model
4848  attributes (other than xyz and radius) that the ScoreState
4849  uses.
4850  """
4851  from IMP._jax_util import JAXScoreStateInfo
4852  return JAXScoreStateInfo(m=self.get_model(), apply_func=apply_func,
4853  keys=keys)
4854 
4855  def _get_jax(self):
4856  """Return a JAX implementation of this ScoreState.
4857  Implement this method in a ScoreState subclass to provide
4858  an equivalent function using [JAX](https://docs.jax.dev/)
4859  that modifies the JAX Model. See also _wrap_jax.
4860  """
4861  if self.get_is_ignored_by_jax():
4862  return self._wrap_jax(lambda jm: jm)
4863  else:
4864  raise NotImplementedError(
4865  f"No JAX implementation for {self} ({type(self)})")
4866 
4867  def __disown__(self):
4868  self.this.disown()
4869  _IMP_kernel.disown_ScoreState(self)
4870  return weakref.proxy(self)
4871 
4872  def do_destroy(self):
4873  r"""do_destroy(ScoreState self)"""
4874  return _IMP_kernel.ScoreState_do_destroy(self)
4875 
4876  def do_get_inputs(self):
4877  r"""do_get_inputs(ScoreState self) -> IMP::ModelObjectsTemp"""
4878  return _IMP_kernel.ScoreState_do_get_inputs(self)
4879 
4880  def do_get_outputs(self):
4881  r"""do_get_outputs(ScoreState self) -> IMP::ModelObjectsTemp"""
4882  return _IMP_kernel.ScoreState_do_get_outputs(self)
4883 
4884  def do_get_interactions(self):
4885  r"""do_get_interactions(ScoreState self) -> IMP::ModelObjectsTemps"""
4886  return _IMP_kernel.ScoreState_do_get_interactions(self)
4887 
4888 # Register ScoreState in _IMP_kernel:
4889 _IMP_kernel.ScoreState_swigregister(ScoreState)
4890 
4891 def get_update_order(input):
4892  r"""get_update_order(IMP::ScoreStatesTemp input) -> IMP::ScoreStatesTemp"""
4893  return _IMP_kernel.get_update_order(input)
4894 class Constraint(ScoreState):
4895  r"""Proxy of C++ IMP::Constraint class."""
4896 
4897  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4898 
4899  def __init__(self, *args):
4900  r"""
4901  __init__(Constraint self, Model m, std::string name="Constraint %1%") -> Constraint
4902  __init__(Constraint self) -> Constraint
4903  """
4904  if self.__class__ == Constraint:
4905  _self = None
4906  else:
4907  _self = self
4908  _IMP_kernel.Constraint_swiginit(self, _IMP_kernel.new_Constraint(_self, *args))
4909 
4910  if self.__class__ != Constraint:
4911  _director_objects.register(self)
4912 
4913 
4914 
4915 
4916  def do_update_attributes(self):
4917  r"""do_update_attributes(Constraint self)"""
4918  return _IMP_kernel.Constraint_do_update_attributes(self)
4919 
4920  def do_update_derivatives(self, da):
4921  r"""do_update_derivatives(Constraint self, DerivativeAccumulator da)"""
4922  return _IMP_kernel.Constraint_do_update_derivatives(self, da)
4923 
4924  def do_before_evaluate(self):
4925  r"""do_before_evaluate(Constraint self)"""
4926  return _IMP_kernel.Constraint_do_before_evaluate(self)
4927 
4928  def do_after_evaluate(self, da):
4929  r"""do_after_evaluate(Constraint self, DerivativeAccumulator da)"""
4930  return _IMP_kernel.Constraint_do_after_evaluate(self, da)
4931  __swig_destroy__ = _IMP_kernel.delete_Constraint
4932 
4933  def __str__(self):
4934  r"""__str__(Constraint self) -> std::string"""
4935  return _IMP_kernel.Constraint___str__(self)
4936 
4937  def __repr__(self):
4938  r"""__repr__(Constraint self) -> std::string"""
4939  return _IMP_kernel.Constraint___repr__(self)
4940 
4941  @staticmethod
4942  def get_from(o):
4943  return _object_cast_to_Constraint(o)
4944 
4945 
4946  def do_show(self, out):
4947  pass
4948 
4949  @staticmethod
4950  def get_from(o):
4951  return _object_cast_to_Constraint(o)
4952 
4953  def __disown__(self):
4954  self.this.disown()
4955  _IMP_kernel.disown_Constraint(self)
4956  return weakref.proxy(self)
4957 
4958  def do_destroy(self):
4959  r"""do_destroy(Constraint self)"""
4960  return _IMP_kernel.Constraint_do_destroy(self)
4961 
4962  def do_get_inputs(self):
4963  r"""do_get_inputs(Constraint self) -> IMP::ModelObjectsTemp"""
4964  return _IMP_kernel.Constraint_do_get_inputs(self)
4965 
4966  def do_get_outputs(self):
4967  r"""do_get_outputs(Constraint self) -> IMP::ModelObjectsTemp"""
4968  return _IMP_kernel.Constraint_do_get_outputs(self)
4969 
4970  def do_get_interactions(self):
4971  r"""do_get_interactions(Constraint self) -> IMP::ModelObjectsTemps"""
4972  return _IMP_kernel.Constraint_do_get_interactions(self)
4973 
4974 # Register Constraint in _IMP_kernel:
4975 _IMP_kernel.Constraint_swigregister(Constraint)
4976 class Container(ModelObject):
4977  r"""Proxy of C++ IMP::Container class."""
4978 
4979  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4980 
4981  def __init__(self, *args):
4982  r"""
4983  __init__(Container self, Model m, std::string name="Container %1%") -> Container
4984  __init__(Container self) -> Container
4985  """
4986  if self.__class__ == Container:
4987  _self = None
4988  else:
4989  _self = self
4990  _IMP_kernel.Container_swiginit(self, _IMP_kernel.new_Container(_self, *args))
4991 
4992  if self.__class__ != Container:
4993  _director_objects.register(self)
4994 
4995 
4996 
4997 
4998  def do_get_contents_hash(self):
4999  r"""do_get_contents_hash(Container self) -> std::size_t"""
5000  return _IMP_kernel.Container_do_get_contents_hash(self)
5001 
5002  def get_all_possible_indexes(self):
5003  r"""get_all_possible_indexes(Container self) -> IMP::ParticleIndexes"""
5004  return _IMP_kernel.Container_get_all_possible_indexes(self)
5005 
5006  def get_contents_hash(self):
5007  r"""get_contents_hash(Container self) -> std::size_t"""
5008  return _IMP_kernel.Container_get_contents_hash(self)
5009 
5010  def do_get_outputs(self):
5011  r"""do_get_outputs(Container self) -> IMP::ModelObjectsTemp"""
5012  return _IMP_kernel.Container_do_get_outputs(self)
5013 
5014  def get_is_decomposable(self):
5015  r"""get_is_decomposable(Container self) -> bool"""
5016  return _IMP_kernel.Container_get_is_decomposable(self)
5017 
5018  def validate_readable(self):
5019  r"""validate_readable(Container self)"""
5020  return _IMP_kernel.Container_validate_readable(self)
5021 
5022  def validate_writable(self):
5023  r"""validate_writable(Container self)"""
5024  return _IMP_kernel.Container_validate_writable(self)
5025 
5026  def set_is_readable(self, tf):
5027  r"""set_is_readable(Container self, bool tf)"""
5028  return _IMP_kernel.Container_set_is_readable(self, tf)
5029 
5030  def set_is_writable(self, tf):
5031  r"""set_is_writable(Container self, bool tf)"""
5032  return _IMP_kernel.Container_set_is_writable(self, tf)
5033  __swig_destroy__ = _IMP_kernel.delete_Container
5034 
5035  def __str__(self):
5036  r"""__str__(Container self) -> std::string"""
5037  return _IMP_kernel.Container___str__(self)
5038 
5039  def __repr__(self):
5040  r"""__repr__(Container self) -> std::string"""
5041  return _IMP_kernel.Container___repr__(self)
5042 
5043  @staticmethod
5044  def get_from(o):
5045  return _object_cast_to_Container(o)
5046 
5047 
5048  def do_show(self, out):
5049  pass
5050 
5051  @staticmethod
5052  def get_from(o):
5053  return _object_cast_to_Container(o)
5054 
5055  def __disown__(self):
5056  self.this.disown()
5057  _IMP_kernel.disown_Container(self)
5058  return weakref.proxy(self)
5059 
5060  def do_destroy(self):
5061  r"""do_destroy(Container self)"""
5062  return _IMP_kernel.Container_do_destroy(self)
5063 
5064  def handle_set_has_required_score_states(self, arg0):
5065  r"""handle_set_has_required_score_states(Container self, bool arg0)"""
5066  return _IMP_kernel.Container_handle_set_has_required_score_states(self, arg0)
5067 
5068  def do_get_inputs(self):
5069  r"""do_get_inputs(Container self) -> IMP::ModelObjectsTemp"""
5070  return _IMP_kernel.Container_do_get_inputs(self)
5071 
5072  def do_get_interactions(self):
5073  r"""do_get_interactions(Container self) -> IMP::ModelObjectsTemps"""
5074  return _IMP_kernel.Container_do_get_interactions(self)
5075 
5076 # Register Container in _IMP_kernel:
5077 _IMP_kernel.Container_swigregister(Container)
5078 class RestraintInfo(Object):
5079  r"""Proxy of C++ IMP::RestraintInfo class."""
5080 
5081  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5082 
5083  def __init__(self, *args):
5084  r"""__init__(RestraintInfo self, std::string name="RestraintInfo %1%") -> RestraintInfo"""
5085  _IMP_kernel.RestraintInfo_swiginit(self, _IMP_kernel.new_RestraintInfo(*args))
5086 
5087  def clear(self):
5088  r"""clear(RestraintInfo self)"""
5089  return _IMP_kernel.RestraintInfo_clear(self)
5090 
5091  def add_int(self, key, value):
5092  r"""add_int(RestraintInfo self, std::string key, int value)"""
5093  return _IMP_kernel.RestraintInfo_add_int(self, key, value)
5094 
5095  def get_number_of_int(self):
5096  r"""get_number_of_int(RestraintInfo self) -> unsigned int"""
5097  return _IMP_kernel.RestraintInfo_get_number_of_int(self)
5098 
5099  def get_int_key(self, i):
5100  r"""get_int_key(RestraintInfo self, unsigned int i) -> std::string"""
5101  return _IMP_kernel.RestraintInfo_get_int_key(self, i)
5102 
5103  def get_int_value(self, i):
5104  r"""get_int_value(RestraintInfo self, unsigned int i) -> int"""
5105  return _IMP_kernel.RestraintInfo_get_int_value(self, i)
5106 
5107  def add_float(self, key, value):
5108  r"""add_float(RestraintInfo self, std::string key, double value)"""
5109  return _IMP_kernel.RestraintInfo_add_float(self, key, value)
5110 
5111  def get_number_of_float(self):
5112  r"""get_number_of_float(RestraintInfo self) -> unsigned int"""
5113  return _IMP_kernel.RestraintInfo_get_number_of_float(self)
5114 
5115  def get_float_key(self, i):
5116  r"""get_float_key(RestraintInfo self, unsigned int i) -> std::string"""
5117  return _IMP_kernel.RestraintInfo_get_float_key(self, i)
5118 
5119  def get_float_value(self, i):
5120  r"""get_float_value(RestraintInfo self, unsigned int i) -> double"""
5121  return _IMP_kernel.RestraintInfo_get_float_value(self, i)
5122 
5123  def add_string(self, key, value):
5124  r"""add_string(RestraintInfo self, std::string key, std::string value)"""
5125  return _IMP_kernel.RestraintInfo_add_string(self, key, value)
5126 
5127  def get_number_of_string(self):
5128  r"""get_number_of_string(RestraintInfo self) -> unsigned int"""
5129  return _IMP_kernel.RestraintInfo_get_number_of_string(self)
5130 
5131  def get_string_key(self, i):
5132  r"""get_string_key(RestraintInfo self, unsigned int i) -> std::string"""
5133  return _IMP_kernel.RestraintInfo_get_string_key(self, i)
5134 
5135  def get_string_value(self, i):
5136  r"""get_string_value(RestraintInfo self, unsigned int i) -> std::string"""
5137  return _IMP_kernel.RestraintInfo_get_string_value(self, i)
5138 
5139  def add_filename(self, key, value):
5140  r"""add_filename(RestraintInfo self, std::string key, std::string value)"""
5141  return _IMP_kernel.RestraintInfo_add_filename(self, key, value)
5142 
5143  def get_number_of_filename(self):
5144  r"""get_number_of_filename(RestraintInfo self) -> unsigned int"""
5145  return _IMP_kernel.RestraintInfo_get_number_of_filename(self)
5146 
5147  def get_filename_key(self, i):
5148  r"""get_filename_key(RestraintInfo self, unsigned int i) -> std::string"""
5149  return _IMP_kernel.RestraintInfo_get_filename_key(self, i)
5150 
5151  def get_filename_value(self, i):
5152  r"""get_filename_value(RestraintInfo self, unsigned int i) -> std::string"""
5153  return _IMP_kernel.RestraintInfo_get_filename_value(self, i)
5154 
5155  def add_floats(self, key, value):
5156  r"""add_floats(RestraintInfo self, std::string key, IMP::Floats value)"""
5157  return _IMP_kernel.RestraintInfo_add_floats(self, key, value)
5158 
5159  def get_number_of_floats(self):
5160  r"""get_number_of_floats(RestraintInfo self) -> unsigned int"""
5161  return _IMP_kernel.RestraintInfo_get_number_of_floats(self)
5162 
5163  def get_floats_key(self, i):
5164  r"""get_floats_key(RestraintInfo self, unsigned int i) -> std::string"""
5165  return _IMP_kernel.RestraintInfo_get_floats_key(self, i)
5166 
5167  def get_floats_value(self, i):
5168  r"""get_floats_value(RestraintInfo self, unsigned int i) -> IMP::Floats"""
5169  return _IMP_kernel.RestraintInfo_get_floats_value(self, i)
5170 
5171  def add_ints(self, key, value):
5172  r"""add_ints(RestraintInfo self, std::string key, IMP::Ints value)"""
5173  return _IMP_kernel.RestraintInfo_add_ints(self, key, value)
5174 
5175  def get_number_of_ints(self):
5176  r"""get_number_of_ints(RestraintInfo self) -> unsigned int"""
5177  return _IMP_kernel.RestraintInfo_get_number_of_ints(self)
5178 
5179  def get_ints_key(self, i):
5180  r"""get_ints_key(RestraintInfo self, unsigned int i) -> std::string"""
5181  return _IMP_kernel.RestraintInfo_get_ints_key(self, i)
5182 
5183  def get_ints_value(self, i):
5184  r"""get_ints_value(RestraintInfo self, unsigned int i) -> IMP::Ints"""
5185  return _IMP_kernel.RestraintInfo_get_ints_value(self, i)
5186 
5187  def add_strings(self, key, value):
5188  r"""add_strings(RestraintInfo self, std::string key, IMP::Strings value)"""
5189  return _IMP_kernel.RestraintInfo_add_strings(self, key, value)
5190 
5191  def get_number_of_strings(self):
5192  r"""get_number_of_strings(RestraintInfo self) -> unsigned int"""
5193  return _IMP_kernel.RestraintInfo_get_number_of_strings(self)
5194 
5195  def get_strings_key(self, i):
5196  r"""get_strings_key(RestraintInfo self, unsigned int i) -> std::string"""
5197  return _IMP_kernel.RestraintInfo_get_strings_key(self, i)
5198 
5199  def get_strings_value(self, i):
5200  r"""get_strings_value(RestraintInfo self, unsigned int i) -> IMP::Strings"""
5201  return _IMP_kernel.RestraintInfo_get_strings_value(self, i)
5202 
5203  def add_filenames(self, key, value):
5204  r"""add_filenames(RestraintInfo self, std::string key, IMP::Strings value)"""
5205  return _IMP_kernel.RestraintInfo_add_filenames(self, key, value)
5206 
5207  def get_number_of_filenames(self):
5208  r"""get_number_of_filenames(RestraintInfo self) -> unsigned int"""
5209  return _IMP_kernel.RestraintInfo_get_number_of_filenames(self)
5210 
5211  def get_filenames_key(self, i):
5212  r"""get_filenames_key(RestraintInfo self, unsigned int i) -> std::string"""
5213  return _IMP_kernel.RestraintInfo_get_filenames_key(self, i)
5214 
5215  def get_filenames_value(self, i):
5216  r"""get_filenames_value(RestraintInfo self, unsigned int i) -> IMP::Strings"""
5217  return _IMP_kernel.RestraintInfo_get_filenames_value(self, i)
5218 
5219  def add_particle_indexes(self, key, value):
5220  r"""add_particle_indexes(RestraintInfo self, std::string key, IMP::ParticleIndexes value)"""
5221  return _IMP_kernel.RestraintInfo_add_particle_indexes(self, key, value)
5222 
5223  def get_number_of_particle_indexes(self):
5224  r"""get_number_of_particle_indexes(RestraintInfo self) -> unsigned int"""
5225  return _IMP_kernel.RestraintInfo_get_number_of_particle_indexes(self)
5226 
5227  def get_particle_indexes_key(self, i):
5228  r"""get_particle_indexes_key(RestraintInfo self, unsigned int i) -> std::string"""
5229  return _IMP_kernel.RestraintInfo_get_particle_indexes_key(self, i)
5230 
5231  def get_particle_indexes_value(self, i):
5232  r"""get_particle_indexes_value(RestraintInfo self, unsigned int i) -> IMP::ParticleIndexes"""
5233  return _IMP_kernel.RestraintInfo_get_particle_indexes_value(self, i)
5234 
5235  def get_version_info(self):
5236  r"""get_version_info(RestraintInfo self) -> VersionInfo"""
5237  return _IMP_kernel.RestraintInfo_get_version_info(self)
5238  __swig_destroy__ = _IMP_kernel.delete_RestraintInfo
5239 
5240  def __str__(self):
5241  r"""__str__(RestraintInfo self) -> std::string"""
5242  return _IMP_kernel.RestraintInfo___str__(self)
5243 
5244  def __repr__(self):
5245  r"""__repr__(RestraintInfo self) -> std::string"""
5246  return _IMP_kernel.RestraintInfo___repr__(self)
5247 
5248  @staticmethod
5249  def get_from(o):
5250  return _object_cast_to_RestraintInfo(o)
5251 
5252 
5253 # Register RestraintInfo in _IMP_kernel:
5254 _IMP_kernel.RestraintInfo_swigregister(RestraintInfo)
5255 class Restraint(ModelObject):
5256  r"""Proxy of C++ IMP::Restraint class."""
5257 
5258  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5259 
5260  def __init__(self, *args):
5261  r"""
5262  __init__(Restraint self, Model m, std::string name) -> Restraint
5263  __init__(Restraint self) -> Restraint
5264  """
5265  if self.__class__ == Restraint:
5266  _self = None
5267  else:
5268  _self = self
5269  _IMP_kernel.Restraint_swiginit(self, _IMP_kernel.new_Restraint(_self, *args))
5270 
5271  if self.__class__ != Restraint:
5272  _director_objects.register(self)
5273 
5274 
5275 
5276 
5277  def get_score(self):
5278  r"""get_score(Restraint self) -> double"""
5279  return _IMP_kernel.Restraint_get_score(self)
5280 
5281  def evaluate(self, calc_derivs):
5282  r"""evaluate(Restraint self, bool calc_derivs) -> double"""
5283  return _IMP_kernel.Restraint_evaluate(self, calc_derivs)
5284 
5285  def evaluate_moved(self, calc_derivs, moved_pis, reset_pis):
5286  r"""evaluate_moved(Restraint self, bool calc_derivs, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double"""
5287  return _IMP_kernel.Restraint_evaluate_moved(self, calc_derivs, moved_pis, reset_pis)
5288 
5289  def evaluate_moved_if_below(self, calc_derivatives, moved_pis, reset_pis, max):
5290  r"""evaluate_moved_if_below(Restraint self, bool calc_derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, double max) -> double"""
5291  return _IMP_kernel.Restraint_evaluate_moved_if_below(self, calc_derivatives, moved_pis, reset_pis, max)
5292 
5293  def evaluate_moved_if_good(self, calc_derivatives, moved_pis, reset_pis):
5294  r"""evaluate_moved_if_good(Restraint self, bool calc_derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double"""
5295  return _IMP_kernel.Restraint_evaluate_moved_if_good(self, calc_derivatives, moved_pis, reset_pis)
5296 
5297  def evaluate_if_good(self, calc_derivatives):
5298  r"""evaluate_if_good(Restraint self, bool calc_derivatives) -> double"""
5299  return _IMP_kernel.Restraint_evaluate_if_good(self, calc_derivatives)
5300 
5301  def evaluate_if_below(self, calc_derivatives, max):
5302  r"""evaluate_if_below(Restraint self, bool calc_derivatives, double max) -> double"""
5303  return _IMP_kernel.Restraint_evaluate_if_below(self, calc_derivatives, max)
5304 
5305  def unprotected_evaluate(self, da):
5306  r"""unprotected_evaluate(Restraint self, DerivativeAccumulator da) -> double"""
5307  return _IMP_kernel.Restraint_unprotected_evaluate(self, da)
5308 
5309  def unprotected_evaluate_moved(self, da, moved_pis, reset_pis):
5310  r"""unprotected_evaluate_moved(Restraint self, DerivativeAccumulator da, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double"""
5311  return _IMP_kernel.Restraint_unprotected_evaluate_moved(self, da, moved_pis, reset_pis)
5312 
5313  def unprotected_evaluate_if_good(self, da, max):
5314  r"""unprotected_evaluate_if_good(Restraint self, DerivativeAccumulator da, double max) -> double"""
5315  return _IMP_kernel.Restraint_unprotected_evaluate_if_good(self, da, max)
5316 
5317  def unprotected_evaluate_if_below(self, da, max):
5318  r"""unprotected_evaluate_if_below(Restraint self, DerivativeAccumulator da, double max) -> double"""
5319  return _IMP_kernel.Restraint_unprotected_evaluate_if_below(self, da, max)
5320 
5321  def unprotected_evaluate_moved_if_below(self, da, moved_pis, reset_pis, max):
5322  r"""unprotected_evaluate_moved_if_below(Restraint self, DerivativeAccumulator da, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, double max) -> double"""
5323  return _IMP_kernel.Restraint_unprotected_evaluate_moved_if_below(self, da, moved_pis, reset_pis, max)
5324 
5325  def unprotected_evaluate_moved_if_good(self, da, moved_pis, reset_pis, max):
5326  r"""unprotected_evaluate_moved_if_good(Restraint self, DerivativeAccumulator da, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, double max) -> double"""
5327  return _IMP_kernel.Restraint_unprotected_evaluate_moved_if_good(self, da, moved_pis, reset_pis, max)
5328 
5329  def get_static_info(self):
5330  r"""get_static_info(Restraint self) -> RestraintInfo"""
5331  return _IMP_kernel.Restraint_get_static_info(self)
5332 
5333  def get_dynamic_info(self):
5334  r"""get_dynamic_info(Restraint self) -> RestraintInfo"""
5335  return _IMP_kernel.Restraint_get_dynamic_info(self)
5336 
5337  def add_score_and_derivatives(self, sa):
5338  r"""add_score_and_derivatives(Restraint self, ScoreAccumulator sa)"""
5339  return _IMP_kernel.Restraint_add_score_and_derivatives(self, sa)
5340 
5341  def add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis):
5342  r"""add_score_and_derivatives_moved(Restraint self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
5343  return _IMP_kernel.Restraint_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis)
5344 
5345  def create_decomposition(self):
5346  r"""create_decomposition(Restraint self) -> Restraint"""
5347  return _IMP_kernel.Restraint_create_decomposition(self)
5348 
5349  def create_current_decomposition(self):
5350  r"""create_current_decomposition(Restraint self) -> Restraint"""
5351  return _IMP_kernel.Restraint_create_current_decomposition(self)
5352 
5353  def set_weight(self, weight):
5354  r"""set_weight(Restraint self, IMP::Float weight)"""
5355  return _IMP_kernel.Restraint_set_weight(self, weight)
5356 
5357  def get_weight(self):
5358  r"""get_weight(Restraint self) -> IMP::Float"""
5359  return _IMP_kernel.Restraint_get_weight(self)
5360 
5361  def get_maximum_score(self):
5362  r"""get_maximum_score(Restraint self) -> double"""
5363  return _IMP_kernel.Restraint_get_maximum_score(self)
5364 
5365  def set_maximum_score(self, s):
5366  r"""set_maximum_score(Restraint self, double s)"""
5367  return _IMP_kernel.Restraint_set_maximum_score(self, s)
5368 
5369  def create_scoring_function(self, *args):
5370  r"""create_scoring_function(Restraint self, double weight=1.0, double max=NO_MAX) -> ScoringFunction"""
5371  return _IMP_kernel.Restraint_create_scoring_function(self, *args)
5372 
5373  def set_last_score(self, s):
5374  r"""set_last_score(Restraint self, double s)"""
5375  return _IMP_kernel.Restraint_set_last_score(self, s)
5376 
5377  def set_last_last_score(self, s):
5378  r"""set_last_last_score(Restraint self, double s)"""
5379  return _IMP_kernel.Restraint_set_last_last_score(self, s)
5380 
5381  def get_last_score(self):
5382  r"""get_last_score(Restraint self) -> double"""
5383  return _IMP_kernel.Restraint_get_last_score(self)
5384 
5385  def get_last_last_score(self):
5386  r"""get_last_last_score(Restraint self) -> double"""
5387  return _IMP_kernel.Restraint_get_last_last_score(self)
5388 
5389  def get_is_aggregate(self):
5390  r"""get_is_aggregate(Restraint self) -> bool"""
5391  return _IMP_kernel.Restraint_get_is_aggregate(self)
5392 
5393  def get_was_good(self):
5394  r"""get_was_good(Restraint self) -> bool"""
5395  return _IMP_kernel.Restraint_get_was_good(self)
5396  __swig_destroy__ = _IMP_kernel.delete_Restraint
5397 
5398  def do_create_decomposition(self):
5399  r"""do_create_decomposition(Restraint self) -> IMP::Restraints"""
5400  return _IMP_kernel.Restraint_do_create_decomposition(self)
5401 
5402  def do_create_current_decomposition(self):
5403  r"""do_create_current_decomposition(Restraint self) -> IMP::Restraints"""
5404  return _IMP_kernel.Restraint_do_create_current_decomposition(self)
5405 
5406  def do_add_score_and_derivatives(self, sa):
5407  r"""do_add_score_and_derivatives(Restraint self, ScoreAccumulator sa)"""
5408  return _IMP_kernel.Restraint_do_add_score_and_derivatives(self, sa)
5409 
5410  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis):
5411  r"""do_add_score_and_derivatives_moved(Restraint self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
5412  return _IMP_kernel.Restraint_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis)
5413 
5414  def do_get_outputs(self):
5415  r"""do_get_outputs(Restraint self) -> IMP::ModelObjectsTemp"""
5416  return _IMP_kernel.Restraint_do_get_outputs(self)
5417  is_aggregate_ = property(_IMP_kernel.Restraint_is_aggregate__get, _IMP_kernel.Restraint_is_aggregate__set, doc=r"""is_aggregate_ : bool""")
5418 
5419  def __str__(self):
5420  r"""__str__(Restraint self) -> std::string"""
5421  return _IMP_kernel.Restraint___str__(self)
5422 
5423  def __repr__(self):
5424  r"""__repr__(Restraint self) -> std::string"""
5425  return _IMP_kernel.Restraint___repr__(self)
5426 
5427  @staticmethod
5428  def get_from(o):
5429  return _object_cast_to_Restraint(o)
5430 
5431 
5432  def do_show(self, out):
5433  pass
5434 
5435  @staticmethod
5436  def get_from(o):
5437  return _object_cast_to_Restraint(o)
5438 
5439 
5440  def _wrap_jax(self, score_func, keys=None):
5441  """Create the return value for _get_jax.
5442  Use this method in _get_jax() to wrap the JAX scoring function
5443  with other model- and restraint-specific information.
5444 
5445  @param score_func A function implemented using JAX that takes
5446  a single argument (the current JAX Model) and returns
5447  the score of the restraint.
5448  @param keys If given, a set of IMP::Key objects describing Model
5449  attributes (other than xyz and radius) that the restraint
5450  uses. For example, a restraint that uses electrostatic charge
5451  would pass IMP::atom::Charged::get_charge_key() here.
5452  """
5453  from IMP._jax_util import JAXRestraintInfo
5454  return JAXRestraintInfo(m=self.get_model(), score_func=score_func,
5455  weight=self.get_weight(), keys=keys)
5456 
5457  def _get_jax(self):
5458  """Return a JAX implementation of this Restraint.
5459  Implement this method in a Restraint subclass to provide
5460  an equivalent function using [JAX](https://docs.jax.dev/)
5461  that scores the current JAX Model. See also _wrap_jax.
5462  """
5463  raise NotImplementedError(
5464  f"No JAX implementation for {self} ({type(self)})")
5465 
5466  def _evaluate_jax(self):
5467  """Similar to evaluate(False), but using JAX.
5468  This is intended to be useful for testing purposes. It will likely
5469  not be particularly fast as it will copy the IMP Model and
5470  jax.jit-compile the scoring function each time."""
5471  import jax
5472  ji = self._get_jax()
5473  jm = ji.get_jax_model()
5474  j = jax.jit(ji.score_func)
5475  return j(jm)
5476 
5477  def __disown__(self):
5478  self.this.disown()
5479  _IMP_kernel.disown_Restraint(self)
5480  return weakref.proxy(self)
5481 
5482  def do_destroy(self):
5483  r"""do_destroy(Restraint self)"""
5484  return _IMP_kernel.Restraint_do_destroy(self)
5485 
5486  def handle_set_has_required_score_states(self, arg0):
5487  r"""handle_set_has_required_score_states(Restraint self, bool arg0)"""
5488  return _IMP_kernel.Restraint_handle_set_has_required_score_states(self, arg0)
5489 
5490  def do_get_inputs(self):
5491  r"""do_get_inputs(Restraint self) -> IMP::ModelObjectsTemp"""
5492  return _IMP_kernel.Restraint_do_get_inputs(self)
5493 
5494  def do_get_interactions(self):
5495  r"""do_get_interactions(Restraint self) -> IMP::ModelObjectsTemps"""
5496  return _IMP_kernel.Restraint_do_get_interactions(self)
5497 
5498 # Register Restraint in _IMP_kernel:
5499 _IMP_kernel.Restraint_swigregister(Restraint)
5500 class _RestraintsAdaptor(_InputAdaptor):
5501  r"""Proxy of C++ IMP::RestraintsAdaptor class."""
5502 
5503  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5504  __repr__ = _swig_repr
5505 
5506  def __init__(self, *args):
5507  r"""
5508  __init__(_RestraintsAdaptor self) -> _RestraintsAdaptor
5509  __init__(_RestraintsAdaptor self, IMP::Restraints const & sf) -> _RestraintsAdaptor
5510  __init__(_RestraintsAdaptor self, IMP::RestraintsTemp const & sf) -> _RestraintsAdaptor
5511  __init__(_RestraintsAdaptor self, Restraint sf) -> _RestraintsAdaptor
5512  """
5513  _IMP_kernel._RestraintsAdaptor_swiginit(self, _IMP_kernel.new__RestraintsAdaptor(*args))
5514  __swig_destroy__ = _IMP_kernel.delete__RestraintsAdaptor
5515 
5516 # Register _RestraintsAdaptor in _IMP_kernel:
5517 _IMP_kernel._RestraintsAdaptor_swigregister(_RestraintsAdaptor)
5518 class RestraintSet(Restraint):
5519  r"""Proxy of C++ IMP::RestraintSet class."""
5520 
5521  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5522 
5523  def __init__(self, *args):
5524  r"""
5525  __init__(RestraintSet self, Model m, double weight, std::string const & name="RestraintSet %1%") -> RestraintSet
5526  __init__(RestraintSet self, Model m, std::string const & name="RestraintSet %1%") -> RestraintSet
5527  __init__(RestraintSet self, IMP::RestraintsTemp const & rs, double weight, std::string const & name="RestraintSet %1%") -> RestraintSet
5528  __init__(RestraintSet self) -> RestraintSet
5529  """
5530  if self.__class__ == RestraintSet:
5531  _self = None
5532  else:
5533  _self = self
5534  _IMP_kernel.RestraintSet_swiginit(self, _IMP_kernel.new_RestraintSet(_self, *args))
5535 
5536  if self.__class__ != RestraintSet:
5537  _director_objects.register(self)
5538 
5539 
5540 
5541 
5542  def unprotected_evaluate(self, da):
5543  r"""unprotected_evaluate(RestraintSet self, DerivativeAccumulator da) -> double"""
5544  return _IMP_kernel.RestraintSet_unprotected_evaluate(self, da)
5545 
5546  def get_type_name(self):
5547  r"""get_type_name(RestraintSet self) -> std::string"""
5548  return _IMP_kernel.RestraintSet_get_type_name(self)
5549 
5550  def get_version_info(self):
5551  r"""get_version_info(RestraintSet self) -> VersionInfo"""
5552  return _IMP_kernel.RestraintSet_get_version_info(self)
5553  __swig_destroy__ = _IMP_kernel.delete_RestraintSet
5554  def __get_restraints(self): return _list_util.VarList(getdimfunc=self.get_number_of_restraints, getfunc=self.get_restraint, erasefunc=self.erase_restraint, appendfunc=self.add_restraint, extendfunc=self.add_restraints, clearfunc=self.clear_restraints, indexfunc=self._python_index_restraint)
5555  def __set_restraints(self, obj): _list_util.set_varlist(self.restraints, obj)
5556  def __del_restraints(self): _list_util.del_varlist(self.restraints)
5557  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##ucnames")
5558 
5559  def remove_restraint(self, d):
5560  r"""remove_restraint(RestraintSet self, Restraint d)"""
5561  return _IMP_kernel.RestraintSet_remove_restraint(self, d)
5562 
5563  def _python_index_restraint(self, d, start, stop):
5564  r"""_python_index_restraint(RestraintSet self, Restraint d, unsigned int start, unsigned int stop) -> unsigned int"""
5565  return _IMP_kernel.RestraintSet__python_index_restraint(self, d, start, stop)
5566 
5567  def remove_restraints(self, d):
5568  r"""remove_restraints(RestraintSet self, IMP::Restraints const & d)"""
5569  return _IMP_kernel.RestraintSet_remove_restraints(self, d)
5570 
5571  def set_restraints(self, ps):
5572  r"""set_restraints(RestraintSet self, IMP::Restraints const & ps)"""
5573  return _IMP_kernel.RestraintSet_set_restraints(self, ps)
5574 
5575  def set_restraints_order(self, objs):
5576  r"""set_restraints_order(RestraintSet self, IMP::Restraints const & objs)"""
5577  return _IMP_kernel.RestraintSet_set_restraints_order(self, objs)
5578 
5579  def add_restraint(self, obj):
5580  r"""add_restraint(RestraintSet self, Restraint obj) -> unsigned int"""
5581  return _IMP_kernel.RestraintSet_add_restraint(self, obj)
5582 
5583  def add_restraints(self, objs):
5584  r"""add_restraints(RestraintSet self, IMP::Restraints const & objs)"""
5585  return _IMP_kernel.RestraintSet_add_restraints(self, objs)
5586 
5587  def clear_restraints(self):
5588  r"""clear_restraints(RestraintSet self)"""
5589  return _IMP_kernel.RestraintSet_clear_restraints(self)
5590 
5591  def get_number_of_restraints(self):
5592  r"""get_number_of_restraints(RestraintSet self) -> unsigned int"""
5593  return _IMP_kernel.RestraintSet_get_number_of_restraints(self)
5594 
5595  def get_has_restraints(self):
5596  r"""get_has_restraints(RestraintSet self) -> bool"""
5597  return _IMP_kernel.RestraintSet_get_has_restraints(self)
5598 
5599  def get_restraint(self, i):
5600  r"""get_restraint(RestraintSet self, unsigned int i) -> Restraint"""
5601  return _IMP_kernel.RestraintSet_get_restraint(self, i)
5602 
5603  def get_restraints(self):
5604  r"""get_restraints(RestraintSet self) -> IMP::Restraints"""
5605  return _IMP_kernel.RestraintSet_get_restraints(self)
5606 
5607  def erase_restraint(self, i):
5608  r"""erase_restraint(RestraintSet self, unsigned int i)"""
5609  return _IMP_kernel.RestraintSet_erase_restraint(self, i)
5610 
5611  def reserve_restraints(self, sz):
5612  r"""reserve_restraints(RestraintSet self, unsigned int sz)"""
5613  return _IMP_kernel.RestraintSet_reserve_restraints(self, sz)
5614 
5615  def get_non_sets_and_sets(self):
5616  r"""get_non_sets_and_sets(RestraintSet self) -> std::pair< IMP::RestraintsTemp,IMP::RestraintSetsTemp >"""
5617  return _IMP_kernel.RestraintSet_get_non_sets_and_sets(self)
5618 
5619  def do_get_inputs(self):
5620  r"""do_get_inputs(RestraintSet self) -> IMP::ModelObjectsTemp"""
5621  return _IMP_kernel.RestraintSet_do_get_inputs(self)
5622 
5623  def create_scoring_function(self, *args):
5624  r"""create_scoring_function(RestraintSet self, double weight=1.0, double max=std::numeric_limits< double >::max()) -> ScoringFunction"""
5625  return _IMP_kernel.RestraintSet_create_scoring_function(self, *args)
5626 
5627  def get_last_score(self):
5628  r"""get_last_score(RestraintSet self) -> double"""
5629  return _IMP_kernel.RestraintSet_get_last_score(self)
5630 
5631  def __str__(self):
5632  r"""__str__(RestraintSet self) -> std::string"""
5633  return _IMP_kernel.RestraintSet___str__(self)
5634 
5635  def __repr__(self):
5636  r"""__repr__(RestraintSet self) -> std::string"""
5637  return _IMP_kernel.RestraintSet___repr__(self)
5638 
5639  @staticmethod
5640  def get_from(o):
5641  return _object_cast_to_RestraintSet(o)
5642 
5643 
5644  def do_show(self, out):
5645  pass
5646 
5647  @staticmethod
5648  def get_from(o):
5649  return _object_cast_to_RestraintSet(o)
5650 
5651 
5652  def _get_as_binary(self):
5653  r"""_get_as_binary(RestraintSet self) -> PyObject *"""
5654  return _IMP_kernel.RestraintSet__get_as_binary(self)
5655 
5656  def _set_from_binary(self, p):
5657  r"""_set_from_binary(RestraintSet self, PyObject * p)"""
5658  return _IMP_kernel.RestraintSet__set_from_binary(self, p)
5659 
5660  def __getstate__(self):
5661  p = self._get_as_binary()
5662  if len(self.__dict__) > 1:
5663  d = self.__dict__.copy()
5664  del d['this']
5665  p = (d, p)
5666  return p
5667 
5668  def __setstate__(self, p):
5669  if not hasattr(self, 'this'):
5670  self.__init__()
5671  if isinstance(p, tuple):
5672  d, p = p
5673  self.__dict__.update(d)
5674  return self._set_from_binary(p)
5675 
5676 
5677  def _get_restraint_jax_funcs_keys(self):
5678  jis = [r.get_derived_object()._get_jax() for r in self.restraints]
5679  funcs = [j.score_func for j in jis]
5680  keys = frozenset(x for j in jis for x in j._keys)
5681  return funcs, keys
5682 
5683  def _get_jax(self):
5684  funcs, keys = self._get_restraint_jax_funcs_keys()
5685  def jax_sf(jm):
5686  if funcs:
5687  return sum(f(jm) for f in funcs)
5688  else:
5689  # sum([]) returns int, but we must return float
5690  return 0.
5691  return self._wrap_jax(jax_sf, keys=keys)
5692 
5693  def __disown__(self):
5694  self.this.disown()
5695  _IMP_kernel.disown_RestraintSet(self)
5696  return weakref.proxy(self)
5697 
5698  def do_destroy(self):
5699  r"""do_destroy(RestraintSet self)"""
5700  return _IMP_kernel.RestraintSet_do_destroy(self)
5701 
5702  def handle_set_has_required_score_states(self, arg0):
5703  r"""handle_set_has_required_score_states(RestraintSet self, bool arg0)"""
5704  return _IMP_kernel.RestraintSet_handle_set_has_required_score_states(self, arg0)
5705 
5706  def do_get_outputs(self):
5707  r"""do_get_outputs(RestraintSet self) -> IMP::ModelObjectsTemp"""
5708  return _IMP_kernel.RestraintSet_do_get_outputs(self)
5709 
5710  def do_get_interactions(self):
5711  r"""do_get_interactions(RestraintSet self) -> IMP::ModelObjectsTemps"""
5712  return _IMP_kernel.RestraintSet_do_get_interactions(self)
5713 
5714  def do_create_decomposition(self):
5715  r"""do_create_decomposition(RestraintSet self) -> IMP::Restraints"""
5716  return _IMP_kernel.RestraintSet_do_create_decomposition(self)
5717 
5718  def do_create_current_decomposition(self):
5719  r"""do_create_current_decomposition(RestraintSet self) -> IMP::Restraints"""
5720  return _IMP_kernel.RestraintSet_do_create_current_decomposition(self)
5721 
5722  def do_add_score_and_derivatives(self, sa):
5723  r"""do_add_score_and_derivatives(RestraintSet self, ScoreAccumulator sa)"""
5724  return _IMP_kernel.RestraintSet_do_add_score_and_derivatives(self, sa)
5725 
5726  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis):
5727  r"""do_add_score_and_derivatives_moved(RestraintSet self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
5728  return _IMP_kernel.RestraintSet_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis)
5729 
5730 # Register RestraintSet in _IMP_kernel:
5731 _IMP_kernel.RestraintSet_swigregister(RestraintSet)
5732 
5733 def get_restraints(rs):
5734  r"""get_restraints(IMP::RestraintsTemp const & rs) -> IMP::RestraintsTemp"""
5735  return _IMP_kernel.get_restraints(rs)
5736 
5737 def _check_particle(p, a):
5738  if (not p.get_is_active()):
5739  raise ValueError("Inactive Particle")
5740  if (type(a)() == a):
5741  raise IndexError("Cannot use default Index")
5742  if (not p.has_attribute(a)):
5743  raise IndexError("Particle does not have attribute")
5744 
5745 class Particle(ModelObject):
5746  r"""Proxy of C++ IMP::Particle class."""
5747 
5748  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5749 
5750  def get_version_info(self):
5751  r"""get_version_info(Particle self) -> VersionInfo"""
5752  return _IMP_kernel.Particle_get_version_info(self)
5753  __swig_destroy__ = _IMP_kernel.delete_Particle
5754 
5755  def __init__(self, *args):
5756  r"""
5757  __init__(Particle self, Model m, std::string name) -> Particle
5758  __init__(Particle self, Model m) -> Particle
5759  __init__(Particle self) -> Particle
5760  """
5761  _IMP_kernel.Particle_swiginit(self, _IMP_kernel.new_Particle(*args))
5762 
5763  def get_float_keys(self):
5764  r"""get_float_keys(Particle self) -> IMP::FloatKeys"""
5765  return _IMP_kernel.Particle_get_float_keys(self)
5766 
5767  def get_floats_keys(self):
5768  r"""get_floats_keys(Particle self) -> IMP::FloatsKeys"""
5769  return _IMP_kernel.Particle_get_floats_keys(self)
5770 
5771  def get_int_keys(self):
5772  r"""get_int_keys(Particle self) -> IMP::IntKeys"""
5773  return _IMP_kernel.Particle_get_int_keys(self)
5774 
5775  def get_ints_keys(self):
5776  r"""get_ints_keys(Particle self) -> IMP::IntsKeys"""
5777  return _IMP_kernel.Particle_get_ints_keys(self)
5778 
5779  def get_string_keys(self):
5780  r"""get_string_keys(Particle self) -> IMP::StringKeys"""
5781  return _IMP_kernel.Particle_get_string_keys(self)
5782 
5783  def get_object_keys(self):
5784  r"""get_object_keys(Particle self) -> IMP::ObjectKeys"""
5785  return _IMP_kernel.Particle_get_object_keys(self)
5786 
5787  def add_cache_attribute(self, *args):
5788  r"""
5789  add_cache_attribute(Particle self, FloatKey name, IMP::Float value)
5790  add_cache_attribute(Particle self, FloatsKey name, IMP::Floats value)
5791  add_cache_attribute(Particle self, IntKey name, IMP::Int value)
5792  add_cache_attribute(Particle self, IntsKey name, IMP::Ints value)
5793  add_cache_attribute(Particle self, StringKey name, IMP::String value)
5794  add_cache_attribute(Particle self, ObjectKey name, Object value)
5795  add_cache_attribute(Particle self, IMP::WeakObjectKey name, Object value)
5796  """
5797  return _IMP_kernel.Particle_add_cache_attribute(self, *args)
5798 
5799  def get_weak_object_keys(self):
5800  r"""get_weak_object_keys(Particle self) -> IMP::WeakObjectKeys"""
5801  return _IMP_kernel.Particle_get_weak_object_keys(self)
5802 
5803  def add_to_derivative(self, *args):
5804  r"""
5805  add_to_derivative(Particle self, FloatKey key, IMP::Float value, DerivativeAccumulator da)
5806  add_to_derivative(Particle self, Vector3DDerivKey key, Vector3D value, DerivativeAccumulator da)
5807  add_to_derivative(Particle self, Vector4DDerivKey key, Vector4D value, DerivativeAccumulator da)
5808  """
5809  return _IMP_kernel.Particle_add_to_derivative(self, *args)
5810 
5811  def set_is_optimized(self, *args):
5812  r"""
5813  set_is_optimized(Particle self, FloatKey k, bool tf)
5814  set_is_optimized(Particle self, Vector3DDerivKey k, bool tf)
5815  set_is_optimized(Particle self, Vector4DDerivKey k, bool tf)
5816  """
5817  return _IMP_kernel.Particle_set_is_optimized(self, *args)
5818 
5819  def get_is_optimized(self, *args):
5820  r"""
5821  get_is_optimized(Particle self, FloatKey k) -> bool
5822  get_is_optimized(Particle self, Vector3DDerivKey k) -> bool
5823  get_is_optimized(Particle self, Vector4DDerivKey k) -> bool
5824  """
5825  return _IMP_kernel.Particle_get_is_optimized(self, *args)
5826 
5827  def get_derivative(self, *args):
5828  r"""
5829  get_derivative(Particle self, FloatKey k) -> IMP::Float
5830  get_derivative(Particle self, Vector3DDerivKey k) -> Vector3D
5831  get_derivative(Particle self, Vector4DDerivKey k) -> Vector4D
5832  """
5833  return _IMP_kernel.Particle_get_derivative(self, *args)
5834 
5835  def add_attribute(self, *args):
5836  r"""
5837  add_attribute(Particle self, FloatKey name, IMP::Float initial_value)
5838  add_attribute(Particle self, FloatsKey name, IMP::Floats initial_value)
5839  add_attribute(Particle self, IntKey name, IMP::Int initial_value)
5840  add_attribute(Particle self, IntsKey name, IMP::Ints initial_value)
5841  add_attribute(Particle self, StringKey name, IMP::String initial_value)
5842  add_attribute(Particle self, ObjectKey name, Object initial_value)
5843  add_attribute(Particle self, IMP::WeakObjectKey name, Object initial_value)
5844  add_attribute(Particle self, SparseStringKey name, IMP::String initial_value)
5845  add_attribute(Particle self, SparseIntKey name, IMP::Int initial_value)
5846  add_attribute(Particle self, SparseFloatKey name, IMP::Float initial_value)
5847  add_attribute(Particle self, SparseParticleIndexKey name, ParticleIndex initial_value)
5848  add_attribute(Particle self, FloatKey name, IMP::Float const initial_value, bool optimized)
5849  add_attribute(Particle self, ParticleIndexKey k, Particle v)
5850  """
5851  return _IMP_kernel.Particle_add_attribute(self, *args)
5852 
5853  def has_attribute(self, *args):
5854  r"""
5855  has_attribute(Particle self, FloatKey name) -> bool
5856  has_attribute(Particle self, FloatsKey name) -> bool
5857  has_attribute(Particle self, IntKey name) -> bool
5858  has_attribute(Particle self, IntsKey name) -> bool
5859  has_attribute(Particle self, StringKey name) -> bool
5860  has_attribute(Particle self, ObjectKey name) -> bool
5861  has_attribute(Particle self, IMP::WeakObjectKey name) -> bool
5862  has_attribute(Particle self, SparseStringKey name) -> bool
5863  has_attribute(Particle self, SparseIntKey name) -> bool
5864  has_attribute(Particle self, SparseFloatKey name) -> bool
5865  has_attribute(Particle self, SparseParticleIndexKey name) -> bool
5866  has_attribute(Particle self, ParticleIndexKey k) -> bool
5867  """
5868  return _IMP_kernel.Particle_has_attribute(self, *args)
5869 
5870  def set_value(self, *args):
5871  r"""
5872  set_value(Particle self, FloatKey name, IMP::Float value)
5873  set_value(Particle self, FloatsKey name, IMP::Floats value)
5874  set_value(Particle self, IntKey name, IMP::Int value)
5875  set_value(Particle self, IntsKey name, IMP::Ints value)
5876  set_value(Particle self, StringKey name, IMP::String value)
5877  set_value(Particle self, ObjectKey name, Object value)
5878  set_value(Particle self, IMP::WeakObjectKey name, Object value)
5879  set_value(Particle self, SparseStringKey name, IMP::String value)
5880  set_value(Particle self, SparseIntKey name, IMP::Int value)
5881  set_value(Particle self, SparseFloatKey name, IMP::Float value)
5882  set_value(Particle self, SparseParticleIndexKey name, ParticleIndex value)
5883  set_value(Particle self, ParticleIndexKey k, Particle v)
5884  """
5885  return _IMP_kernel.Particle_set_value(self, *args)
5886 
5887  def get_value(self, *args):
5888  r"""
5889  get_value(Particle self, FloatKey name) -> IMP::Float
5890  get_value(Particle self, FloatsKey name) -> IMP::Floats
5891  get_value(Particle self, IntKey name) -> IMP::Int
5892  get_value(Particle self, IntsKey name) -> IMP::Ints
5893  get_value(Particle self, StringKey name) -> IMP::String
5894  get_value(Particle self, ObjectKey name) -> Object
5895  get_value(Particle self, IMP::WeakObjectKey name) -> Object
5896  get_value(Particle self, SparseStringKey name) -> IMP::String
5897  get_value(Particle self, SparseIntKey name) -> IMP::Int
5898  get_value(Particle self, SparseFloatKey name) -> IMP::Float
5899  get_value(Particle self, SparseParticleIndexKey name) -> ParticleIndex
5900  get_value(Particle self, ParticleIndexKey k) -> Particle
5901  """
5902  return _IMP_kernel.Particle_get_value(self, *args)
5903 
5904  def remove_attribute(self, *args):
5905  r"""
5906  remove_attribute(Particle self, FloatKey name)
5907  remove_attribute(Particle self, FloatsKey name)
5908  remove_attribute(Particle self, IntKey name)
5909  remove_attribute(Particle self, IntsKey name)
5910  remove_attribute(Particle self, StringKey name)
5911  remove_attribute(Particle self, ObjectKey name)
5912  remove_attribute(Particle self, IMP::WeakObjectKey name)
5913  remove_attribute(Particle self, SparseStringKey name)
5914  remove_attribute(Particle self, SparseIntKey name)
5915  remove_attribute(Particle self, SparseFloatKey name)
5916  remove_attribute(Particle self, SparseParticleIndexKey name)
5917  remove_attribute(Particle self, ParticleIndexKey k)
5918  """
5919  return _IMP_kernel.Particle_remove_attribute(self, *args)
5920 
5921  def get_particle_keys(self):
5922  r"""get_particle_keys(Particle self) -> IMP::ParticleIndexKeys"""
5923  return _IMP_kernel.Particle_get_particle_keys(self)
5924 
5925  def show(self, *args):
5926  r"""show(Particle self, _ostream out=std::cout)"""
5927  return _IMP_kernel.Particle_show(self, *args)
5928 
5929  def get_is_active(self):
5930  r"""get_is_active(Particle self) -> bool"""
5931  return _IMP_kernel.Particle_get_is_active(self)
5932 
5933  def get_index(self):
5934  r"""get_index(Particle self) -> ParticleIndex"""
5935  return _IMP_kernel.Particle_get_index(self)
5936 
5937  def __eq__(self, *args):
5938  r"""
5939  __eq__(Particle self, Particle o) -> bool
5940  __eq__(Particle self, Decorator d) -> bool
5941  """
5942  return _IMP_kernel.Particle___eq__(self, *args)
5943 
5944  def __ne__(self, *args):
5945  r"""
5946  __ne__(Particle self, Particle o) -> bool
5947  __ne__(Particle self, Decorator d) -> bool
5948  """
5949  return _IMP_kernel.Particle___ne__(self, *args)
5950 
5951  def __le__(self, *args):
5952  r"""
5953  __le__(Particle self, Particle o) -> bool
5954  __le__(Particle self, Decorator d) -> bool
5955  """
5956  return _IMP_kernel.Particle___le__(self, *args)
5957 
5958  def __lt__(self, *args):
5959  r"""
5960  __lt__(Particle self, Particle o) -> bool
5961  __lt__(Particle self, Decorator d) -> bool
5962  """
5963  return _IMP_kernel.Particle___lt__(self, *args)
5964 
5965  def __ge__(self, *args):
5966  r"""
5967  __ge__(Particle self, Particle o) -> bool
5968  __ge__(Particle self, Decorator d) -> bool
5969  """
5970  return _IMP_kernel.Particle___ge__(self, *args)
5971 
5972  def __gt__(self, *args):
5973  r"""
5974  __gt__(Particle self, Particle o) -> bool
5975  __gt__(Particle self, Decorator d) -> bool
5976  """
5977  return _IMP_kernel.Particle___gt__(self, *args)
5978 
5979  __hash__ = ModelObject.__hash__
5980 
5981 
5982  def __str__(self):
5983  r"""__str__(Particle self) -> std::string"""
5984  return _IMP_kernel.Particle___str__(self)
5985 
5986  def __repr__(self):
5987  r"""__repr__(Particle self) -> std::string"""
5988  return _IMP_kernel.Particle___repr__(self)
5989 
5990  @staticmethod
5991  def get_from(o):
5992  return _object_cast_to_Particle(o)
5993 
5994 
5995  def _get_as_binary(self):
5996  r"""_get_as_binary(Particle self) -> PyObject *"""
5997  return _IMP_kernel.Particle__get_as_binary(self)
5998 
5999  def _set_from_binary(self, p):
6000  r"""_set_from_binary(Particle self, PyObject * p)"""
6001  return _IMP_kernel.Particle__set_from_binary(self, p)
6002 
6003  def __getstate__(self):
6004  p = self._get_as_binary()
6005  if len(self.__dict__) > 1:
6006  d = self.__dict__.copy()
6007  del d['this']
6008  p = (d, p)
6009  return p
6010 
6011  def __setstate__(self, p):
6012  if not hasattr(self, 'this'):
6013  self.__init__()
6014  if isinstance(p, tuple):
6015  d, p = p
6016  self.__dict__.update(d)
6017  return self._set_from_binary(p)
6018 
6019 
6020 # Register Particle in _IMP_kernel:
6021 _IMP_kernel.Particle_swigregister(Particle)
6022 class _ParticleAdaptor(_InputAdaptor):
6023  r"""Proxy of C++ IMP::ParticleAdaptor class."""
6024 
6025  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6026  __repr__ = _swig_repr
6027 
6028  def __init__(self, *args):
6029  r"""
6030  __init__(_ParticleAdaptor self) -> _ParticleAdaptor
6031  __init__(_ParticleAdaptor self, Particle p) -> _ParticleAdaptor
6032  __init__(_ParticleAdaptor self, Decorator d) -> _ParticleAdaptor
6033  """
6034  _IMP_kernel._ParticleAdaptor_swiginit(self, _IMP_kernel.new__ParticleAdaptor(*args))
6035 
6036  def get_model(self):
6037  r"""get_model(_ParticleAdaptor self) -> Model"""
6038  return _IMP_kernel._ParticleAdaptor_get_model(self)
6039 
6040  def get_particle_index(self):
6041  r"""get_particle_index(_ParticleAdaptor self) -> ParticleIndex"""
6042  return _IMP_kernel._ParticleAdaptor_get_particle_index(self)
6043  __swig_destroy__ = _IMP_kernel.delete__ParticleAdaptor
6044 
6045 # Register _ParticleAdaptor in _IMP_kernel:
6046 _IMP_kernel._ParticleAdaptor_swigregister(_ParticleAdaptor)
6047 class _DependencyGraphVertexIndex(object):
6048  r"""Proxy of C++ IMP::DependencyGraphVertexIndex class."""
6049 
6050  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6051  __repr__ = _swig_repr
6052 
6053  def __init__(self):
6054  r"""__init__(_DependencyGraphVertexIndex self) -> _DependencyGraphVertexIndex"""
6055  _IMP_kernel._DependencyGraphVertexIndex_swiginit(self, _IMP_kernel.new__DependencyGraphVertexIndex())
6056  __swig_destroy__ = _IMP_kernel.delete__DependencyGraphVertexIndex
6057 
6058 # Register _DependencyGraphVertexIndex in _IMP_kernel:
6059 _IMP_kernel._DependencyGraphVertexIndex_swigregister(_DependencyGraphVertexIndex)
6060 
6061 def show_as_graphviz(name, out):
6062  r"""show_as_graphviz(IMP::DependencyGraph const & name, TextOutput out)"""
6063  return _IMP_kernel.show_as_graphviz(name, out)
6064 
6065 def get_vertex_index(g):
6066  r"""get_vertex_index(IMP::DependencyGraph const & g) -> _DependencyGraphVertexIndex"""
6067  return _IMP_kernel.get_vertex_index(g)
6068 
6069 def get_dependency_graph(m):
6070  r"""get_dependency_graph(Model m) -> IMP::DependencyGraph"""
6071  return _IMP_kernel.get_dependency_graph(m)
6072 
6074  r"""get_pruned_dependency_graph(Model m) -> IMP::DependencyGraph"""
6075  return _IMP_kernel.get_pruned_dependency_graph(m)
6076 
6077 def get_dependent_particles(p, all, dg, index):
6078  r"""get_dependent_particles(ModelObject p, IMP::ModelObjectsTemp const & all, IMP::DependencyGraph const & dg, _DependencyGraphVertexIndex index) -> IMP::ParticlesTemp"""
6079  return _IMP_kernel.get_dependent_particles(p, all, dg, index)
6080 
6081 def get_required_score_states(*args):
6082  r"""
6083  get_required_score_states(IMP::ModelObjectsTemp const & mos, IMP::ScoreStatesTemp exclude=IMP::ScoreStatesTemp()) -> IMP::ScoreStatesTemp
6084  get_required_score_states(ModelObject p, IMP::ModelObjectsTemp const & all, IMP::DependencyGraph const & dg, _DependencyGraphVertexIndex index) -> IMP::ScoreStatesTemp
6085  get_required_score_states(Model m, ParticleIndex pi) -> IMP::ScoreStatesTemp
6086  """
6087  return _IMP_kernel.get_required_score_states(*args)
6088 class ScoringFunction(ModelObject):
6089  r"""Proxy of C++ IMP::ScoringFunction class."""
6090 
6091  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6092 
6093  def do_add_score_and_derivatives(self, sa, ss):
6094  r"""do_add_score_and_derivatives(ScoringFunction self, ScoreAccumulator sa, IMP::ScoreStatesTemp const & ss)"""
6095  return _IMP_kernel.ScoringFunction_do_add_score_and_derivatives(self, sa, ss)
6096 
6097  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss):
6098  r"""do_add_score_and_derivatives_moved(ScoringFunction self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, IMP::ScoreStatesTemp const & ss)"""
6099  return _IMP_kernel.ScoringFunction_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss)
6100 
6101  def get_score_accumulator_if_below(self, deriv, max):
6102  r"""get_score_accumulator_if_below(ScoringFunction self, bool deriv, double max) -> ScoreAccumulator"""
6103  return _IMP_kernel.ScoringFunction_get_score_accumulator_if_below(self, deriv, max)
6104 
6105  def get_score_accumulator_if_good(self, deriv):
6106  r"""get_score_accumulator_if_good(ScoringFunction self, bool deriv) -> ScoreAccumulator"""
6107  return _IMP_kernel.ScoringFunction_get_score_accumulator_if_good(self, deriv)
6108 
6109  def get_score_accumulator(self, deriv):
6110  r"""get_score_accumulator(ScoringFunction self, bool deriv) -> ScoreAccumulator"""
6111  return _IMP_kernel.ScoringFunction_get_score_accumulator(self, deriv)
6112 
6113  def __init__(self, *args):
6114  r"""
6115  __init__(ScoringFunction self, Model m, std::string name) -> ScoringFunction
6116  __init__(ScoringFunction self) -> ScoringFunction
6117  """
6118  if self.__class__ == ScoringFunction:
6119  _self = None
6120  else:
6121  _self = self
6122  _IMP_kernel.ScoringFunction_swiginit(self, _IMP_kernel.new_ScoringFunction(_self, *args))
6123 
6124  if self.__class__ != ScoringFunction:
6125  _director_objects.register(self)
6126 
6127 
6128 
6129 
6130  def do_get_outputs(self):
6131  r"""do_get_outputs(ScoringFunction self) -> IMP::ModelObjectsTemp"""
6132  return _IMP_kernel.ScoringFunction_do_get_outputs(self)
6133 
6134  def evaluate(self, derivatives):
6135  r"""evaluate(ScoringFunction self, bool derivatives) -> double"""
6136  return _IMP_kernel.ScoringFunction_evaluate(self, derivatives)
6137 
6138  def evaluate_if_good(self, derivatives):
6139  r"""evaluate_if_good(ScoringFunction self, bool derivatives) -> double"""
6140  return _IMP_kernel.ScoringFunction_evaluate_if_good(self, derivatives)
6141 
6142  def evaluate_if_below(self, derivatives, max):
6143  r"""evaluate_if_below(ScoringFunction self, bool derivatives, double max) -> double"""
6144  return _IMP_kernel.ScoringFunction_evaluate_if_below(self, derivatives, max)
6145 
6146  def evaluate_moved(self, derivatives, moved_pis, reset_pis):
6147  r"""evaluate_moved(ScoringFunction self, bool derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double"""
6148  return _IMP_kernel.ScoringFunction_evaluate_moved(self, derivatives, moved_pis, reset_pis)
6149 
6150  def evaluate_moved_if_below(self, derivatives, moved_pis, reset_pis, max):
6151  r"""evaluate_moved_if_below(ScoringFunction self, bool derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, double max) -> double"""
6152  return _IMP_kernel.ScoringFunction_evaluate_moved_if_below(self, derivatives, moved_pis, reset_pis, max)
6153 
6154  def evaluate_moved_if_good(self, derivatives, moved_pis, reset_pis):
6155  r"""evaluate_moved_if_good(ScoringFunction self, bool derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double"""
6156  return _IMP_kernel.ScoringFunction_evaluate_moved_if_good(self, derivatives, moved_pis, reset_pis)
6157 
6158  def get_had_good_score(self):
6159  r"""get_had_good_score(ScoringFunction self) -> bool"""
6160  return _IMP_kernel.ScoringFunction_get_had_good_score(self)
6161 
6162  def get_last_score(self):
6163  r"""get_last_score(ScoringFunction self) -> double"""
6164  return _IMP_kernel.ScoringFunction_get_last_score(self)
6165 
6166  def create_restraints(self):
6167  r"""create_restraints(ScoringFunction self) -> IMP::Restraints"""
6168  return _IMP_kernel.ScoringFunction_create_restraints(self)
6169 
6170  def get_single_restraint(self):
6171  r"""get_single_restraint(ScoringFunction self) -> Restraint"""
6172  return _IMP_kernel.ScoringFunction_get_single_restraint(self)
6173 
6174  def __str__(self):
6175  r"""__str__(ScoringFunction self) -> std::string"""
6176  return _IMP_kernel.ScoringFunction___str__(self)
6177 
6178  def __repr__(self):
6179  r"""__repr__(ScoringFunction self) -> std::string"""
6180  return _IMP_kernel.ScoringFunction___repr__(self)
6181 
6182  @staticmethod
6183  def get_from(o):
6184  return _object_cast_to_ScoringFunction(o)
6185 
6186 
6187  def do_show(self, out):
6188  pass
6189 
6190  @staticmethod
6191  def get_from(o):
6192  return _object_cast_to_ScoringFunction(o)
6193 
6194 
6195  def _get_jax(self):
6196  r = self.get_single_restraint()
6197  if r is None:
6198  raise NotImplementedError(
6199  f"No JAX implementation for {self} ({type(self)})")
6200  else:
6201  return r.get_derived_object()._get_jax()
6202 
6203  def _evaluate_jax(self):
6204  """Similar to evaluate(False), but using JAX.
6205  This is intended to be useful for testing purposes. It will likely
6206  not be particularly fast as it will copy the IMP Model and
6207  jax.jit-compile the scoring function each time."""
6208  import jax
6209  ji = self._get_jax()
6210  jm = ji.get_jax_model()
6211  j = jax.jit(ji.score_func)
6212  return j(jm)
6213 
6214  __swig_destroy__ = _IMP_kernel.delete_ScoringFunction
6215  def __disown__(self):
6216  self.this.disown()
6217  _IMP_kernel.disown_ScoringFunction(self)
6218  return weakref.proxy(self)
6219 
6220  def do_destroy(self):
6221  r"""do_destroy(ScoringFunction self)"""
6222  return _IMP_kernel.ScoringFunction_do_destroy(self)
6223 
6224  def handle_set_has_required_score_states(self, arg0):
6225  r"""handle_set_has_required_score_states(ScoringFunction self, bool arg0)"""
6226  return _IMP_kernel.ScoringFunction_handle_set_has_required_score_states(self, arg0)
6227 
6228  def do_get_inputs(self):
6229  r"""do_get_inputs(ScoringFunction self) -> IMP::ModelObjectsTemp"""
6230  return _IMP_kernel.ScoringFunction_do_get_inputs(self)
6231 
6232  def do_get_interactions(self):
6233  r"""do_get_interactions(ScoringFunction self) -> IMP::ModelObjectsTemps"""
6234  return _IMP_kernel.ScoringFunction_do_get_interactions(self)
6235 
6236 # Register ScoringFunction in _IMP_kernel:
6237 _IMP_kernel.ScoringFunction_swigregister(ScoringFunction)
6238 
6239 def create_decomposition(*args):
6240  r"""
6241  create_decomposition(IMP::RestraintsTemp const & rs) -> IMP::Restraints
6242  create_decomposition(ScoringFunction sf) -> IMP::ScoringFunctions
6243  """
6244  return _IMP_kernel.create_decomposition(*args)
6245 class _ScoringFunctionAdaptor(_InputAdaptor):
6246  r"""Proxy of C++ IMP::ScoringFunctionAdaptor class."""
6247 
6248  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6249  __repr__ = _swig_repr
6250 
6251  def __init__(self, *args):
6252  r"""
6253  __init__(_ScoringFunctionAdaptor self) -> _ScoringFunctionAdaptor
6254  __init__(_ScoringFunctionAdaptor self, ScoringFunction sf) -> _ScoringFunctionAdaptor
6255  __init__(_ScoringFunctionAdaptor self, IMP::RestraintsTemp const & sf) -> _ScoringFunctionAdaptor
6256  __init__(_ScoringFunctionAdaptor self, IMP::Restraints const & sf) -> _ScoringFunctionAdaptor
6257  __init__(_ScoringFunctionAdaptor self, Restraint sf) -> _ScoringFunctionAdaptor
6258  """
6259  _IMP_kernel._ScoringFunctionAdaptor_swiginit(self, _IMP_kernel.new__ScoringFunctionAdaptor(*args))
6260  __swig_destroy__ = _IMP_kernel.delete__ScoringFunctionAdaptor
6261 
6262 # Register _ScoringFunctionAdaptor in _IMP_kernel:
6263 _IMP_kernel._ScoringFunctionAdaptor_swigregister(_ScoringFunctionAdaptor)
6264 
6265 def show_restraint_hierarchy(*args):
6266  r"""show_restraint_hierarchy(_ScoringFunctionAdaptor rs, _ostream out=std::cout)"""
6267  return _IMP_kernel.show_restraint_hierarchy(*args)
6268 class Undecorator(Object):
6269  r"""Proxy of C++ IMP::Undecorator class."""
6270 
6271  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6272 
6273  def __init__(self, m, name):
6274  r"""__init__(Undecorator self, Model m, std::string name) -> Undecorator"""
6275  if self.__class__ == Undecorator:
6276  _self = None
6277  else:
6278  _self = self
6279  _IMP_kernel.Undecorator_swiginit(self, _IMP_kernel.new_Undecorator(_self, m, name))
6280 
6281  if self.__class__ != Undecorator:
6282  _director_objects.register(self)
6283 
6284 
6285 
6286 
6287  def teardown(self, pi):
6288  r"""teardown(Undecorator self, ParticleIndex pi)"""
6289  return _IMP_kernel.Undecorator_teardown(self, pi)
6290 
6291  def __str__(self):
6292  r"""__str__(Undecorator self) -> std::string"""
6293  return _IMP_kernel.Undecorator___str__(self)
6294 
6295  def __repr__(self):
6296  r"""__repr__(Undecorator self) -> std::string"""
6297  return _IMP_kernel.Undecorator___repr__(self)
6298 
6299  @staticmethod
6300  def get_from(o):
6301  return _object_cast_to_Undecorator(o)
6302 
6303 
6304  def do_show(self, out):
6305  pass
6306 
6307  @staticmethod
6308  def get_from(o):
6309  return _object_cast_to_Undecorator(o)
6310 
6311  __swig_destroy__ = _IMP_kernel.delete_Undecorator
6312  def __disown__(self):
6313  self.this.disown()
6314  _IMP_kernel.disown_Undecorator(self)
6315  return weakref.proxy(self)
6316 
6317  def do_destroy(self):
6318  r"""do_destroy(Undecorator self)"""
6319  return _IMP_kernel.Undecorator_do_destroy(self)
6320 
6321 # Register Undecorator in _IMP_kernel:
6322 _IMP_kernel.Undecorator_swigregister(Undecorator)
6323 class Model(Object):
6324  r"""Proxy of C++ IMP::Model class."""
6325 
6326  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6327 
6328  def __init__(self, *args):
6329  r"""__init__(Model self, std::string name="Model %1%") -> Model"""
6330  _IMP_kernel.Model_swiginit(self, _IMP_kernel.new_Model(*args))
6331 
6332  if self not in _models_set:
6333  _models_set.add(self)
6334 
6335 
6336 
6337 
6338  def clear_particle_caches(self, pi):
6339  r"""clear_particle_caches(Model self, ParticleIndex pi)"""
6340  return _IMP_kernel.Model_clear_particle_caches(self, pi)
6341 
6342  def add_particle(self, name):
6343  r"""add_particle(Model self, std::string name) -> ParticleIndex"""
6344  return _IMP_kernel.Model_add_particle(self, name)
6345 
6346  def get_particle_name(self, pi):
6347  r"""get_particle_name(Model self, ParticleIndex pi) -> std::string"""
6348  return _IMP_kernel.Model_get_particle_name(self, pi)
6349 
6350  def add_undecorator(self, pi, d):
6351  r"""add_undecorator(Model self, ParticleIndex pi, Undecorator d)"""
6352  return _IMP_kernel.Model_add_undecorator(self, pi, d)
6353 
6354  def get_dependent_restraints_uncached(self, pi):
6355  r"""get_dependent_restraints_uncached(Model self, ParticleIndex pi) -> IMP::RestraintsTemp"""
6356  return _IMP_kernel.Model_get_dependent_restraints_uncached(self, pi)
6357 
6358  def get_dependent_particles_uncached(self, pi):
6359  r"""get_dependent_particles_uncached(Model self, ParticleIndex pi) -> IMP::ParticlesTemp"""
6360  return _IMP_kernel.Model_get_dependent_particles_uncached(self, pi)
6361 
6362  def get_dependent_score_states_uncached(self, pi):
6363  r"""get_dependent_score_states_uncached(Model self, ParticleIndex pi) -> IMP::ScoreStatesTemp"""
6364  return _IMP_kernel.Model_get_dependent_score_states_uncached(self, pi)
6365  def __get_score_states(self): return _list_util.VarList(getdimfunc=self.get_number_of_score_states, getfunc=self.get_score_state, erasefunc=self.erase_score_state, appendfunc=self.add_score_state, extendfunc=self.add_score_states, clearfunc=self.clear_score_states, indexfunc=self._python_index_score_state)
6366  def __set_score_states(self, obj): _list_util.set_varlist(self.score_states, obj)
6367  def __del_score_states(self): _list_util.del_varlist(self.score_states)
6368  score_states = property(__get_score_states, __set_score_states, __del_score_states, doc="List of ##ucnames")
6369 
6370  def remove_score_state(self, d):
6371  r"""remove_score_state(Model self, ScoreState d)"""
6372  return _IMP_kernel.Model_remove_score_state(self, d)
6373 
6374  def _python_index_score_state(self, d, start, stop):
6375  r"""_python_index_score_state(Model self, ScoreState d, unsigned int start, unsigned int stop) -> unsigned int"""
6376  return _IMP_kernel.Model__python_index_score_state(self, d, start, stop)
6377 
6378  def remove_score_states(self, d):
6379  r"""remove_score_states(Model self, IMP::ScoreStates const & d)"""
6380  return _IMP_kernel.Model_remove_score_states(self, d)
6381 
6382  def set_score_states(self, ps):
6383  r"""set_score_states(Model self, IMP::ScoreStates const & ps)"""
6384  return _IMP_kernel.Model_set_score_states(self, ps)
6385 
6386  def set_score_states_order(self, objs):
6387  r"""set_score_states_order(Model self, IMP::ScoreStates const & objs)"""
6388  return _IMP_kernel.Model_set_score_states_order(self, objs)
6389 
6390  def add_score_state(self, obj):
6391  r"""add_score_state(Model self, ScoreState obj) -> unsigned int"""
6392  return _IMP_kernel.Model_add_score_state(self, obj)
6393 
6394  def add_score_states(self, objs):
6395  r"""add_score_states(Model self, IMP::ScoreStates const & objs)"""
6396  return _IMP_kernel.Model_add_score_states(self, objs)
6397 
6398  def clear_score_states(self):
6399  r"""clear_score_states(Model self)"""
6400  return _IMP_kernel.Model_clear_score_states(self)
6401 
6402  def get_number_of_score_states(self):
6403  r"""get_number_of_score_states(Model self) -> unsigned int"""
6404  return _IMP_kernel.Model_get_number_of_score_states(self)
6405 
6406  def get_has_score_states(self):
6407  r"""get_has_score_states(Model self) -> bool"""
6408  return _IMP_kernel.Model_get_has_score_states(self)
6409 
6410  def get_score_state(self, i):
6411  r"""get_score_state(Model self, unsigned int i) -> ScoreState"""
6412  return _IMP_kernel.Model_get_score_state(self, i)
6413 
6414  def get_score_states(self):
6415  r"""get_score_states(Model self) -> IMP::ScoreStates"""
6416  return _IMP_kernel.Model_get_score_states(self)
6417 
6418  def erase_score_state(self, i):
6419  r"""erase_score_state(Model self, unsigned int i)"""
6420  return _IMP_kernel.Model_erase_score_state(self, i)
6421 
6422  def reserve_score_states(self, sz):
6423  r"""reserve_score_states(Model self, unsigned int sz)"""
6424  return _IMP_kernel.Model_reserve_score_states(self, sz)
6425 
6426  def update(self):
6427  r"""update(Model self)"""
6428  return _IMP_kernel.Model_update(self)
6429 
6430  def get_ordered_score_states(self):
6431  r"""get_ordered_score_states(Model self) -> IMP::ScoreStatesTemp"""
6432  return _IMP_kernel.Model_get_ordered_score_states(self)
6433 
6434  def add_cache_attribute(self, *args):
6435  r"""
6436  add_cache_attribute(Model self, FloatKey attribute_key, ParticleIndex particle, IMP::Float value)
6437  add_cache_attribute(Model self, IntKey attribute_key, ParticleIndex particle, IMP::Int value)
6438  add_cache_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle, IMP::Floats value)
6439  add_cache_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle, Vector3D value)
6440  add_cache_attribute(Model self, Vector4DKey attribute_key, ParticleIndex particle, Vector4D value)
6441  add_cache_attribute(Model self, Vector3DDerivKey attribute_key, ParticleIndex particle, Vector3D value)
6442  add_cache_attribute(Model self, Vector4DDerivKey attribute_key, ParticleIndex particle, Vector4D value)
6443  add_cache_attribute(Model self, IntsKey attribute_key, ParticleIndex particle, IMP::Ints value)
6444  add_cache_attribute(Model self, StringKey attribute_key, ParticleIndex particle, IMP::String value)
6445  add_cache_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle, IMP::ParticleIndexes value)
6446  add_cache_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
6447  add_cache_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle, Object value)
6448  add_cache_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle, Object value)
6449  """
6450  return _IMP_kernel.Model_add_cache_attribute(self, *args)
6451 
6452  def add_attribute(self, *args):
6453  r"""
6454  add_attribute(Model self, FloatKey attribute_key, ParticleIndex particle, IMP::Float value)
6455  add_attribute(Model self, IntKey attribute_key, ParticleIndex particle, IMP::Int value)
6456  add_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle, IMP::Floats value)
6457  add_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle, Vector3D value)
6458  add_attribute(Model self, Vector4DKey attribute_key, ParticleIndex particle, Vector4D value)
6459  add_attribute(Model self, Vector3DDerivKey attribute_key, ParticleIndex particle, Vector3D value)
6460  add_attribute(Model self, Vector4DDerivKey attribute_key, ParticleIndex particle, Vector4D value)
6461  add_attribute(Model self, IntsKey attribute_key, ParticleIndex particle, IMP::Ints value)
6462  add_attribute(Model self, StringKey attribute_key, ParticleIndex particle, IMP::String value)
6463  add_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle, IMP::ParticleIndexes value)
6464  add_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
6465  add_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle, Object value)
6466  add_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle, Object value)
6467  add_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle, IMP::String value)
6468  add_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle, IMP::Int value)
6469  add_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle, IMP::Float value)
6470  add_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
6471  """
6472  return _IMP_kernel.Model_add_attribute(self, *args)
6473 
6474  def remove_attribute(self, *args):
6475  r"""
6476  remove_attribute(Model self, FloatKey attribute_key, ParticleIndex particle)
6477  remove_attribute(Model self, IntKey attribute_key, ParticleIndex particle)
6478  remove_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle)
6479  remove_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle)
6480  remove_attribute(Model self, Vector4DKey attribute_key, ParticleIndex particle)
6481  remove_attribute(Model self, Vector3DDerivKey attribute_key, ParticleIndex particle)
6482  remove_attribute(Model self, Vector4DDerivKey attribute_key, ParticleIndex particle)
6483  remove_attribute(Model self, IntsKey attribute_key, ParticleIndex particle)
6484  remove_attribute(Model self, StringKey attribute_key, ParticleIndex particle)
6485  remove_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle)
6486  remove_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle)
6487  remove_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle)
6488  remove_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle)
6489  remove_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle)
6490  remove_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle)
6491  remove_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle)
6492  remove_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle)
6493  """
6494  return _IMP_kernel.Model_remove_attribute(self, *args)
6495 
6496  def get_has_attribute(self, *args):
6497  r"""
6498  get_has_attribute(Model self, FloatKey attribute_key, ParticleIndex particle) -> bool
6499  get_has_attribute(Model self, IntKey attribute_key, ParticleIndex particle) -> bool
6500  get_has_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle) -> bool
6501  get_has_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle) -> bool
6502  get_has_attribute(Model self, Vector4DKey attribute_key, ParticleIndex particle) -> bool
6503  get_has_attribute(Model self, Vector3DDerivKey attribute_key, ParticleIndex particle) -> bool
6504  get_has_attribute(Model self, Vector4DDerivKey attribute_key, ParticleIndex particle) -> bool
6505  get_has_attribute(Model self, IntsKey attribute_key, ParticleIndex particle) -> bool
6506  get_has_attribute(Model self, StringKey attribute_key, ParticleIndex particle) -> bool
6507  get_has_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle) -> bool
6508  get_has_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle) -> bool
6509  get_has_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle) -> bool
6510  get_has_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle) -> bool
6511  get_has_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle) -> bool
6512  get_has_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle) -> bool
6513  get_has_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle) -> bool
6514  get_has_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle) -> bool
6515  """
6516  return _IMP_kernel.Model_get_has_attribute(self, *args)
6517 
6518  def set_attribute(self, *args):
6519  r"""
6520  set_attribute(Model self, FloatKey attribute_key, ParticleIndex particle, IMP::Float value)
6521  set_attribute(Model self, IntKey attribute_key, ParticleIndex particle, IMP::Int value)
6522  set_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle, IMP::Floats value)
6523  set_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle, Vector3D value)
6524  set_attribute(Model self, Vector4DKey attribute_key, ParticleIndex particle, Vector4D value)
6525  set_attribute(Model self, Vector3DDerivKey attribute_key, ParticleIndex particle, Vector3D value)
6526  set_attribute(Model self, Vector4DDerivKey attribute_key, ParticleIndex particle, Vector4D value)
6527  set_attribute(Model self, IntsKey attribute_key, ParticleIndex particle, IMP::Ints value)
6528  set_attribute(Model self, StringKey attribute_key, ParticleIndex particle, IMP::String value)
6529  set_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle, IMP::ParticleIndexes value)
6530  set_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
6531  set_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle, Object value)
6532  set_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle, Object value)
6533  set_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle, IMP::String value)
6534  set_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle, IMP::Int value)
6535  set_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle, IMP::Float value)
6536  set_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
6537  """
6538  return _IMP_kernel.Model_set_attribute(self, *args)
6539 
6540  def get_attribute(self, *args):
6541  r"""
6542  get_attribute(Model self, FloatKey attribute_key, ParticleIndex particle) -> IMP::Float
6543  get_attribute(Model self, IntKey attribute_key, ParticleIndex particle) -> IMP::Int
6544  get_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle) -> IMP::Floats
6545  get_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle) -> Vector3D
6546  get_attribute(Model self, Vector4DKey attribute_key, ParticleIndex particle) -> Vector4D
6547  get_attribute(Model self, Vector3DDerivKey attribute_key, ParticleIndex particle) -> Vector3D
6548  get_attribute(Model self, Vector4DDerivKey attribute_key, ParticleIndex particle) -> Vector4D
6549  get_attribute(Model self, IntsKey attribute_key, ParticleIndex particle) -> IMP::Ints
6550  get_attribute(Model self, StringKey attribute_key, ParticleIndex particle) -> IMP::String
6551  get_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle) -> IMP::ParticleIndexes
6552  get_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle) -> ParticleIndex
6553  get_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle) -> Object
6554  get_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle) -> Object
6555  get_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle) -> IMP::String
6556  get_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle) -> IMP::Int
6557  get_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle) -> IMP::Float
6558  get_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle) -> ParticleIndex
6559  """
6560  return _IMP_kernel.Model_get_attribute(self, *args)
6561 
6562  def set_is_optimized(self, *args):
6563  r"""
6564  set_is_optimized(Model self, Vector3DDerivKey arg2, ParticleIndex arg3, bool arg4)
6565  set_is_optimized(Model self, Vector4DDerivKey arg2, ParticleIndex arg3, bool arg4)
6566  set_is_optimized(Model self, FloatKey arg2, ParticleIndex arg3, bool arg4)
6567  """
6568  return _IMP_kernel.Model_set_is_optimized(self, *args)
6569 
6570  def add_to_derivative(self, *args):
6571  r"""
6572  add_to_derivative(Model self, Vector3DDerivKey attribute_key, ParticleIndex particle, Vector3D v, DerivativeAccumulator da)
6573  add_to_derivative(Model self, Vector4DDerivKey attribute_key, ParticleIndex particle, Vector4D v, DerivativeAccumulator da)
6574  add_to_derivative(Model self, FloatKey k, ParticleIndex particle, double v, DerivativeAccumulator da)
6575  """
6576  return _IMP_kernel.Model_add_to_derivative(self, *args)
6577 
6578  def get_particle(self, p):
6579  r"""get_particle(Model self, ParticleIndex p) -> Particle"""
6580  return _IMP_kernel.Model_get_particle(self, p)
6581 
6582  def get_has_particle(self, p):
6583  r"""get_has_particle(Model self, ParticleIndex p) -> bool"""
6584  return _IMP_kernel.Model_get_has_particle(self, p)
6585 
6586  def get_particle_indexes(self):
6587  r"""get_particle_indexes(Model self) -> IMP::ParticleIndexes"""
6588  return _IMP_kernel.Model_get_particle_indexes(self)
6589 
6590  def get_model_objects(self):
6591  r"""get_model_objects(Model self) -> IMP::ModelObjectsTemp"""
6592  return _IMP_kernel.Model_get_model_objects(self)
6593 
6594  def remove_particle(self, pi):
6595  r"""remove_particle(Model self, ParticleIndex pi)"""
6596  return _IMP_kernel.Model_remove_particle(self, pi)
6597 
6598  def add_data(self, mk, o):
6599  r"""add_data(Model self, ModelKey mk, Object o)"""
6600  return _IMP_kernel.Model_add_data(self, mk, o)
6601 
6602  def get_data(self, mk):
6603  r"""get_data(Model self, ModelKey mk) -> Object"""
6604  return _IMP_kernel.Model_get_data(self, mk)
6605 
6606  def remove_data(self, mk):
6607  r"""remove_data(Model self, ModelKey mk)"""
6608  return _IMP_kernel.Model_remove_data(self, mk)
6609 
6610  def get_has_data(self, mk):
6611  r"""get_has_data(Model self, ModelKey mk) -> bool"""
6612  return _IMP_kernel.Model_get_has_data(self, mk)
6613 
6614  def get_age(self):
6615  r"""get_age(Model self) -> unsigned int"""
6616  return _IMP_kernel.Model_get_age(self)
6617 
6618  def get_trigger_last_updated(self, tk):
6619  r"""get_trigger_last_updated(Model self, TriggerKey tk) -> unsigned int"""
6620  return _IMP_kernel.Model_get_trigger_last_updated(self, tk)
6621 
6622  def set_trigger_updated(self, tk):
6623  r"""set_trigger_updated(Model self, TriggerKey tk)"""
6624  return _IMP_kernel.Model_set_trigger_updated(self, tk)
6625 
6626  def get_dependencies_updated(self):
6627  r"""get_dependencies_updated(Model self) -> unsigned int"""
6628  return _IMP_kernel.Model_get_dependencies_updated(self)
6629 
6630  def get_removed_particles_attributes_age(self):
6631  r"""get_removed_particles_attributes_age(Model self) -> unsigned int"""
6632  return _IMP_kernel.Model_get_removed_particles_attributes_age(self)
6633 
6634  def save_dependencies(self):
6635  r"""save_dependencies(Model self)"""
6636  return _IMP_kernel.Model_save_dependencies(self)
6637 
6638  def restore_dependencies(self):
6639  r"""restore_dependencies(Model self)"""
6640  return _IMP_kernel.Model_restore_dependencies(self)
6641 
6642  def get_particles_size(self):
6643  r"""get_particles_size(Model self) -> unsigned int"""
6644  return _IMP_kernel.Model_get_particles_size(self)
6645 
6646  def get_unique_id(self):
6647  r"""get_unique_id(Model self) -> uint32_t"""
6648  return _IMP_kernel.Model_get_unique_id(self)
6649 
6650  @staticmethod
6651  def get_by_unique_id(id):
6652  r"""get_by_unique_id(uint32_t id) -> Model"""
6653  return _IMP_kernel.Model_get_by_unique_id(id)
6654 
6655  def get_version_info(self):
6656  r"""get_version_info(Model self) -> VersionInfo"""
6657  return _IMP_kernel.Model_get_version_info(self)
6658  __swig_destroy__ = _IMP_kernel.delete_Model
6659  def __del__(self):
6660  r"""__del__(Model self)"""
6661 
6662  _director_objects.cleanup()
6663 
6664 
6665  pass
6666 
6667 
6668  def do_destroy(self):
6669  r"""do_destroy(Model self)"""
6670  return _IMP_kernel.Model_do_destroy(self)
6671 
6672  def __str__(self):
6673  r"""__str__(Model self) -> std::string"""
6674  return _IMP_kernel.Model___str__(self)
6675 
6676  def __repr__(self):
6677  r"""__repr__(Model self) -> std::string"""
6678  return _IMP_kernel.Model___repr__(self)
6679 
6680  @staticmethod
6681  def get_from(o):
6682  return _object_cast_to_Model(o)
6683 
6684 
6685  def _get_as_binary(self):
6686  r"""_get_as_binary(Model self) -> PyObject *"""
6687  return _IMP_kernel.Model__get_as_binary(self)
6688 
6689  def _set_from_binary(self, p):
6690  r"""_set_from_binary(Model self, PyObject * p)"""
6691  return _IMP_kernel.Model__set_from_binary(self, p)
6692 
6693  def __getstate__(self):
6694  p = self._get_as_binary()
6695  if len(self.__dict__) > 1:
6696  d = self.__dict__.copy()
6697  del d['this']
6698  p = (d, p)
6699  return p
6700 
6701  def __setstate__(self, p):
6702  if not hasattr(self, 'this'):
6703  self.__init__()
6704  if isinstance(p, tuple):
6705  d, p = p
6706  self.__dict__.update(d)
6707  return self._set_from_binary(p)
6708 
6709 
6710  def get_ints_numpy(self, k, read_only=False):
6711  """Get the model's attribute array for IntKey k as a NumPy array.
6712  The array is indexed by ParticleIndex; particles that don't have
6713  this attribute will either be off the end of the array or will have
6714  the value INT_MAX.
6715  This is a NumPy view that shares memory with the Model. Thus,
6716  any changes to values in this list will be reflected in the Model.
6717  Also, if the Model attribute array moves in memory (e.g. if particles
6718  or attributes are added) this array will be invalidated, so it is
6719  unsafe to keep it around long term.
6720  If read_only is set True, values in the array cannot be changed.
6721  """
6722  return _get_ints_numpy(self, k, self, read_only)
6723 
6724  def get_numpy(self, k, read_only=False):
6725  """Get the model's attribute array for any type of Key
6726  k as a NumPy array. See Model::get_ints_numpy() for more details."""
6727  _numpy_meth_map = {IntKey: _get_ints_numpy,
6728  FloatKey: _get_floats_numpy,
6729  Vector3DKey: _get_vector3ds_numpy,
6730  Vector3DDerivKey: _get_vector3dderiv_numpy,
6731  Vector4DKey: _get_vector4ds_numpy,
6732  Vector4DDerivKey: _get_vector4dderiv_numpy,
6733  ParticleIndexKey: _get_particle_indexes_numpy}
6734  return _numpy_meth_map[type(k)](self, k, self, read_only)
6735 
6736  def get_floats_numpy(self, k, read_only=False):
6737  """Get the model's attribute array for FloatKey k as a NumPy array.
6738  See Model::get_ints_numpy() for more details."""
6739  return _get_floats_numpy(self, k, self, read_only)
6740 
6741  def get_derivatives_numpy(self, k, read_only=False):
6742  """Get the model's attribute derivatives array for key k
6743  as a NumPy array. See Model::get_ints_numpy() for more details."""
6744  _numpy_meth_map = {
6745  FloatKey: _get_derivatives_numpy,
6746  Vector3DDerivKey: _get_vector3dderiv_derivatives_numpy,
6747  Vector4DDerivKey: _get_vector4dderiv_derivatives_numpy}
6748  return _numpy_meth_map[type(k)](self, k, self, read_only)
6749 
6750  def get_vector3ds_numpy(self, k, read_only=False):
6751  """Get the model's attribute array for Vector3DKey k as a NumPy array.
6752  See Model::get_ints_numpy() for more details."""
6753  return _get_vector3ds_numpy(self, k, self, read_only)
6754 
6755  def get_spheres_numpy(self, read_only=False):
6756  """Get the model's XYZR attribute arrays as NumPy arrays.
6757  The attribute arrays for Cartesian coordinates and radii are
6758  stored separately from those for other FloatKeys. This function
6759  returns a tuple of two NumPy arrays, the first of coordinates and
6760  the second of radii. See Model::get_ints_numpy() for more details."""
6761  return _get_spheres_numpy(self, self, read_only)
6762 
6763  def get_sphere_derivatives_numpy(self, read_only=False):
6764  """Get the model's XYZR attribute derivatives arrays as NumPy arrays.
6765  See Model::get_ints_numpy() for more details."""
6766  return _get_sphere_derivatives_numpy(self, self, read_only)
6767 
6768  def get_internal_coordinates_numpy(self, read_only=False):
6769  """Get the model's internal coordinate array as a NumPy array.
6770  The attribute arrays for rigid body internal coordinates are
6771  stored separately from those for other FloatKeys.
6772  See Model::get_ints_numpy() for more details."""
6773  return _get_internal_coordinates_numpy(self, self, read_only)
6774 
6775  def get_internal_coordinate_derivatives_numpy(self, read_only=False):
6776  """Get the model's internal coordinate derivative array as a
6777  NumPy array.
6778  See Model::get_ints_numpy() for more details."""
6779  return _get_internal_coordinate_derivatives_numpy(
6780  self, self, read_only)
6781 
6782 
6783 # Register Model in _IMP_kernel:
6784 _IMP_kernel.Model_swigregister(Model)
6785 class Decorator(_Value):
6786  r"""Proxy of C++ IMP::Decorator class."""
6787 
6788  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6789  __repr__ = _swig_repr
6790 
6791  def __init__(self, p):
6792  r"""__init__(Decorator self, _ParticleAdaptor p) -> Decorator"""
6793  _IMP_kernel.Decorator_swiginit(self, _IMP_kernel.new_Decorator(p))
6794 
6795  def __ne__(self, o):
6796  r"""__ne__(Decorator self, Object o) -> bool"""
6797  return _IMP_kernel.Decorator___ne__(self, o)
6798 
6799  def __lt__(self, o):
6800  r"""__lt__(Decorator self, Object o) -> bool"""
6801  return _IMP_kernel.Decorator___lt__(self, o)
6802 
6803  def __gt__(self, o):
6804  r"""__gt__(Decorator self, Object o) -> bool"""
6805  return _IMP_kernel.Decorator___gt__(self, o)
6806 
6807  def __ge__(self, o):
6808  r"""__ge__(Decorator self, Object o) -> bool"""
6809  return _IMP_kernel.Decorator___ge__(self, o)
6810 
6811  def __le__(self, o):
6812  r"""__le__(Decorator self, Object o) -> bool"""
6813  return _IMP_kernel.Decorator___le__(self, o)
6814 
6815  def get_particle(self):
6816  r"""get_particle(Decorator self) -> Particle"""
6817  return _IMP_kernel.Decorator_get_particle(self)
6818 
6819  def get_particle_index(self):
6820  r"""get_particle_index(Decorator self) -> ParticleIndex"""
6821  return _IMP_kernel.Decorator_get_particle_index(self)
6822 
6823  def get_model(self):
6824  m = _IMP_kernel.Decorator_get_model(self)
6825  if m in _models_set:
6826  m = _models_set_get(m)
6827  return m
6828 
6829 
6830 
6831  def get_is_valid(self):
6832  r"""get_is_valid(Decorator self) -> bool"""
6833  return _IMP_kernel.Decorator_get_is_valid(self)
6834 
6835  def __hash__(self):
6836  r"""__hash__(Decorator self) -> std::size_t"""
6837  return _IMP_kernel.Decorator___hash__(self)
6838 
6839  def __eq__(self, *args):
6840  r"""
6841  __eq__(Decorator self, Object o) -> bool
6842  __eq__(Decorator self, Decorator o) -> bool
6843  __eq__(Decorator self, Particle o) -> bool
6844  """
6845  return _IMP_kernel.Decorator___eq__(self, *args)
6846 
6847  def __bool__(self):
6848  r"""__bool__(Decorator self) -> bool"""
6849  return _IMP_kernel.Decorator___bool__(self)
6850  __swig_destroy__ = _IMP_kernel.delete_Decorator
6851 
6852 # Register Decorator in _IMP_kernel:
6853 _IMP_kernel.Decorator_swigregister(Decorator)
6854 
6855 def check_particle(m, pi):
6856  r"""check_particle(Model m, ParticleIndex pi)"""
6857  return _IMP_kernel.check_particle(m, pi)
6858 class UnaryFunction(Object):
6859  r"""Proxy of C++ IMP::UnaryFunction class."""
6860 
6861  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6862 
6863  def __init__(self, *args):
6864  r"""__init__(UnaryFunction self, std::string name="UnaryFunction%1%") -> UnaryFunction"""
6865  if self.__class__ == UnaryFunction:
6866  _self = None
6867  else:
6868  _self = self
6869  _IMP_kernel.UnaryFunction_swiginit(self, _IMP_kernel.new_UnaryFunction(_self, *args))
6870 
6871  if self.__class__ != UnaryFunction:
6872  _director_objects.register(self)
6873 
6874 
6875 
6876 
6877  def evaluate(self, feature):
6878  r"""evaluate(UnaryFunction self, double feature) -> double"""
6879  return _IMP_kernel.UnaryFunction_evaluate(self, feature)
6880 
6881  def evaluate_with_derivative(self, feature):
6882  r"""evaluate_with_derivative(UnaryFunction self, double feature) -> IMP::DerivativePair"""
6883  return _IMP_kernel.UnaryFunction_evaluate_with_derivative(self, feature)
6884  __swig_destroy__ = _IMP_kernel.delete_UnaryFunction
6885 
6886  def __str__(self):
6887  r"""__str__(UnaryFunction self) -> std::string"""
6888  return _IMP_kernel.UnaryFunction___str__(self)
6889 
6890  def __repr__(self):
6891  r"""__repr__(UnaryFunction self) -> std::string"""
6892  return _IMP_kernel.UnaryFunction___repr__(self)
6893 
6894  @staticmethod
6895  def get_from(o):
6896  return _object_cast_to_UnaryFunction(o)
6897 
6898 
6899  def do_show(self, out):
6900  pass
6901 
6902  @staticmethod
6903  def get_from(o):
6904  return _object_cast_to_UnaryFunction(o)
6905 
6906 
6907  def _get_jax(self):
6908  """Return a JAX implementation of this UnaryFunction.
6909  Implement this method in a UnaryFunction subclass to provide
6910  an equivalent function using [JAX](https://docs.jax.dev/)
6911  that scores the provided feature value.
6912  """
6913  raise NotImplementedError(
6914  f"No JAX implementation for {self} ({type(self)})")
6915 
6916  def __disown__(self):
6917  self.this.disown()
6918  _IMP_kernel.disown_UnaryFunction(self)
6919  return weakref.proxy(self)
6920 
6921  def do_destroy(self):
6922  r"""do_destroy(UnaryFunction self)"""
6923  return _IMP_kernel.UnaryFunction_do_destroy(self)
6924 
6925 # Register UnaryFunction in _IMP_kernel:
6926 _IMP_kernel.UnaryFunction_swigregister(UnaryFunction)
6928  r"""Proxy of C++ IMP::OptimizerState class."""
6929 
6930  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6931 
6932  def __init__(self, *args):
6933  r"""
6934  __init__(OptimizerState self, Model m, std::string name) -> OptimizerState
6935  __init__(OptimizerState self) -> OptimizerState
6936  """
6937  if self.__class__ == OptimizerState:
6938  _self = None
6939  else:
6940  _self = self
6941  _IMP_kernel.OptimizerState_swiginit(self, _IMP_kernel.new_OptimizerState(_self, *args))
6942 
6943  if self.__class__ != OptimizerState:
6944  _director_objects.register(self)
6945 
6946 
6947 
6948 
6949  def update(self):
6950  r"""update(OptimizerState self)"""
6951  return _IMP_kernel.OptimizerState_update(self)
6952 
6953  def set_is_optimizing(self, arg0):
6954  r"""set_is_optimizing(OptimizerState self, bool arg0)"""
6955  return _IMP_kernel.OptimizerState_set_is_optimizing(self, arg0)
6956 
6957  def get_optimizer(self):
6958  r"""get_optimizer(OptimizerState self) -> Optimizer"""
6959  return _IMP_kernel.OptimizerState_get_optimizer(self)
6960 
6961  def set_period(self, p):
6962  r"""set_period(OptimizerState self, unsigned int p)"""
6963  return _IMP_kernel.OptimizerState_set_period(self, p)
6964 
6965  def get_period(self):
6966  r"""get_period(OptimizerState self) -> unsigned int"""
6967  return _IMP_kernel.OptimizerState_get_period(self)
6968 
6969  def reset(self):
6970  r"""reset(OptimizerState self)"""
6971  return _IMP_kernel.OptimizerState_reset(self)
6972 
6973  def update_always(self):
6974  r"""update_always(OptimizerState self)"""
6975  return _IMP_kernel.OptimizerState_update_always(self)
6976 
6977  def get_number_of_updates(self):
6978  r"""get_number_of_updates(OptimizerState self) -> unsigned int"""
6979  return _IMP_kernel.OptimizerState_get_number_of_updates(self)
6980 
6981  def set_number_of_updates(self, n):
6982  r"""set_number_of_updates(OptimizerState self, unsigned int n)"""
6983  return _IMP_kernel.OptimizerState_set_number_of_updates(self, n)
6984  __swig_destroy__ = _IMP_kernel.delete_OptimizerState
6985 
6986  def do_update(self, arg0):
6987  r"""do_update(OptimizerState self, unsigned int arg0)"""
6988  return _IMP_kernel.OptimizerState_do_update(self, arg0)
6989 
6990  def do_set_is_optimizing(self, arg0):
6991  r"""do_set_is_optimizing(OptimizerState self, bool arg0)"""
6992  return _IMP_kernel.OptimizerState_do_set_is_optimizing(self, arg0)
6993 
6994  def do_get_inputs(self):
6995  r"""do_get_inputs(OptimizerState self) -> IMP::ModelObjectsTemp"""
6996  return _IMP_kernel.OptimizerState_do_get_inputs(self)
6997 
6998  def do_get_outputs(self):
6999  r"""do_get_outputs(OptimizerState self) -> IMP::ModelObjectsTemp"""
7000  return _IMP_kernel.OptimizerState_do_get_outputs(self)
7001 
7002  def __str__(self):
7003  r"""__str__(OptimizerState self) -> std::string"""
7004  return _IMP_kernel.OptimizerState___str__(self)
7005 
7006  def __repr__(self):
7007  r"""__repr__(OptimizerState self) -> std::string"""
7008  return _IMP_kernel.OptimizerState___repr__(self)
7009 
7010  @staticmethod
7011  def get_from(o):
7012  return _object_cast_to_OptimizerState(o)
7013 
7014 
7015  def do_show(self, out):
7016  pass
7017 
7018  @staticmethod
7019  def get_from(o):
7020  return _object_cast_to_OptimizerState(o)
7021 
7022 
7023  def _get_jax(self, state_index):
7024  """Add JAX support for this OptimizerState.
7025 
7026  Each OptimizerState must explicitly support how it is going to
7027  be called when the Optimizer is run via JAX.
7028 
7029  OptimizerStates can run as traditional IMP CPU code
7030  on the IMP Model object, in which case None should be returned here.
7031  The Optimizer will sync any necessary information from JAX back
7032  with the IMP Model before calling the OptimizerState. However,
7033  the OptimizerState is not permitted to modify the Model; any
7034  changes will not be propagated back to the Optimizer.
7035  (For example, a thermostat which tries to change particle
7036  velocities will not function correctly.)
7037 
7038  Alternatively, a pure JAX implementation can be provided.
7039  See _wrap_jax for more information.
7040  """
7041  raise NotImplementedError(
7042  f"No JAX implementation for {self} ({type(self)})")
7043 
7044  def _wrap_jax(self, init_func, apply_func):
7045  """Create the return value for _get_jax.
7046  Use this method in _get_jax() to wrap the JAX function
7047  with other OptimizerState-specific information.
7048 
7049  @param init_func a JAX function which, given a JAX Optimizer,
7050  does any necessary setup and returns a (possibly modified)
7051  JAX Optimizer. If any OptimizerState-specific
7052  persistent state is needed, it can be stored in
7053  `opt.optimizer_states[state_index]` and later retrieved or
7054  modified in apply_func.
7055  @param apply_func a JAX function which, given a JAX Optimizer,
7056  does the JAX equivalent of do_update() and returns a new
7057  JAX Optimizer.
7058  """
7059  from IMP._jax_util import JAXOptimizerStateInfo
7060  return JAXOptimizerStateInfo(self, init_func, apply_func)
7061 
7062  def __disown__(self):
7063  self.this.disown()
7064  _IMP_kernel.disown_OptimizerState(self)
7065  return weakref.proxy(self)
7066 
7067  def do_destroy(self):
7068  r"""do_destroy(OptimizerState self)"""
7069  return _IMP_kernel.OptimizerState_do_destroy(self)
7070 
7071  def handle_set_has_required_score_states(self, arg0):
7072  r"""handle_set_has_required_score_states(OptimizerState self, bool arg0)"""
7073  return _IMP_kernel.OptimizerState_handle_set_has_required_score_states(self, arg0)
7074 
7075  def do_get_interactions(self):
7076  r"""do_get_interactions(OptimizerState self) -> IMP::ModelObjectsTemps"""
7077  return _IMP_kernel.OptimizerState_do_get_interactions(self)
7078 
7079 # Register OptimizerState in _IMP_kernel:
7080 _IMP_kernel.OptimizerState_swigregister(OptimizerState)
7081 class Refiner(_ParticleInputs, Object):
7082  r"""Proxy of C++ IMP::Refiner class."""
7083 
7084  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7085 
7086  def __init__(self, *args):
7087  r"""__init__(Refiner self, std::string name="Refiner %1%", bool is_by_ref=False) -> Refiner"""
7088  if self.__class__ == Refiner:
7089  _self = None
7090  else:
7091  _self = self
7092  _IMP_kernel.Refiner_swiginit(self, _IMP_kernel.new_Refiner(_self, *args))
7093 
7094  if self.__class__ != Refiner:
7095  _director_objects.register(self)
7096 
7097 
7098 
7099 
7100  def get_can_refine(self, arg0):
7101  r"""get_can_refine(Refiner self, Particle arg0) -> bool"""
7102  return _IMP_kernel.Refiner_get_can_refine(self, arg0)
7103 
7104  def get_refined_indexes(self, m, pi):
7105  r"""get_refined_indexes(Refiner self, Model m, ParticleIndex pi) -> IMP::ParticleIndexes"""
7106  return _IMP_kernel.Refiner_get_refined_indexes(self, m, pi)
7107 
7108  def get_refined_indexes_by_ref(self, m, pi):
7109  r"""get_refined_indexes_by_ref(Refiner self, Model m, ParticleIndex pi) -> IMP::ParticleIndexes const &"""
7110  return _IMP_kernel.Refiner_get_refined_indexes_by_ref(self, m, pi)
7111 
7112  def get_is_by_ref_supported(self):
7113  r"""get_is_by_ref_supported(Refiner self) -> bool"""
7114  return _IMP_kernel.Refiner_get_is_by_ref_supported(self)
7115 
7116  def get_refined(self, *args):
7117  r"""
7118  get_refined(Refiner self, Particle a) -> IMP::ParticlesTemp const
7119  get_refined(Refiner self, Particle a, unsigned int i) -> Particle
7120  """
7121  return _IMP_kernel.Refiner_get_refined(self, *args)
7122 
7123  def get_number_of_refined(self, a):
7124  r"""get_number_of_refined(Refiner self, Particle a) -> unsigned int"""
7125  return _IMP_kernel.Refiner_get_number_of_refined(self, a)
7126 
7127  def __str__(self):
7128  r"""__str__(Refiner self) -> std::string"""
7129  return _IMP_kernel.Refiner___str__(self)
7130 
7131  def __repr__(self):
7132  r"""__repr__(Refiner self) -> std::string"""
7133  return _IMP_kernel.Refiner___repr__(self)
7134 
7135  @staticmethod
7136  def get_from(o):
7137  return _object_cast_to_Refiner(o)
7138 
7139 
7140  def do_show(self, out):
7141  pass
7142 
7143  @staticmethod
7144  def get_from(o):
7145  return _object_cast_to_Refiner(o)
7146 
7147  __swig_destroy__ = _IMP_kernel.delete_Refiner
7148  def __disown__(self):
7149  self.this.disown()
7150  _IMP_kernel.disown_Refiner(self)
7151  return weakref.proxy(self)
7152 
7153  def do_get_inputs(self, m, pis):
7154  r"""do_get_inputs(Refiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7155  return _IMP_kernel.Refiner_do_get_inputs(self, m, pis)
7156 
7157  def do_destroy(self):
7158  r"""do_destroy(Refiner self)"""
7159  return _IMP_kernel.Refiner_do_destroy(self)
7160 
7161 # Register Refiner in _IMP_kernel:
7162 _IMP_kernel.Refiner_swigregister(Refiner)
7163 class Optimizer(ModelObject):
7164  r"""Proxy of C++ IMP::Optimizer class."""
7165 
7166  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7167 
7168  def set_is_optimizing_states(self, tf):
7169  r"""set_is_optimizing_states(Optimizer self, bool tf)"""
7170  return _IMP_kernel.Optimizer_set_is_optimizing_states(self, tf)
7171 
7172  def get_optimizer_state_inputs(self):
7173  r"""get_optimizer_state_inputs(Optimizer self) -> IMP::ModelObjectsTemp"""
7174  return _IMP_kernel.Optimizer_get_optimizer_state_inputs(self)
7175 
7176  def do_get_inputs(self):
7177  r"""do_get_inputs(Optimizer self) -> IMP::ModelObjectsTemp"""
7178  return _IMP_kernel.Optimizer_do_get_inputs(self)
7179 
7180  def do_get_outputs(self):
7181  r"""do_get_outputs(Optimizer self) -> IMP::ModelObjectsTemp"""
7182  return _IMP_kernel.Optimizer_do_get_outputs(self)
7183 
7184  def __init__(self, *args):
7185  r"""
7186  __init__(Optimizer self, Model m, std::string name="Optimizer %1%") -> Optimizer
7187  __init__(Optimizer self) -> Optimizer
7188  """
7189  if self.__class__ == Optimizer:
7190  _self = None
7191  else:
7192  _self = self
7193  _IMP_kernel.Optimizer_swiginit(self, _IMP_kernel.new_Optimizer(_self, *args))
7194 
7195  if self.__class__ != Optimizer:
7196  _director_objects.register(self)
7197 
7198 
7199 
7200 
7201  def optimize(self, max_steps):
7202  r"""optimize(Optimizer self, unsigned int max_steps) -> double"""
7203  return _IMP_kernel.Optimizer_optimize(self, max_steps)
7204 
7205  def set_stop_on_good_score(self, tf):
7206  r"""set_stop_on_good_score(Optimizer self, bool tf)"""
7207  return _IMP_kernel.Optimizer_set_stop_on_good_score(self, tf)
7208 
7209  def get_stop_on_good_score(self):
7210  r"""get_stop_on_good_score(Optimizer self) -> bool"""
7211  return _IMP_kernel.Optimizer_get_stop_on_good_score(self)
7212 
7213  def get_last_score(self):
7214  r"""get_last_score(Optimizer self) -> double"""
7215  return _IMP_kernel.Optimizer_get_last_score(self)
7216 
7217  def get_scoring_function(self):
7218  r"""get_scoring_function(Optimizer self) -> ScoringFunction"""
7219  return _IMP_kernel.Optimizer_get_scoring_function(self)
7220  def __get_optimizer_states(self): return _list_util.VarList(getdimfunc=self.get_number_of_optimizer_states, getfunc=self.get_optimizer_state, erasefunc=self.erase_optimizer_state, appendfunc=self.add_optimizer_state, extendfunc=self.add_optimizer_states, clearfunc=self.clear_optimizer_states, indexfunc=self._python_index_optimizer_state)
7221  def __set_optimizer_states(self, obj): _list_util.set_varlist(self.optimizer_states, obj)
7222  def __del_optimizer_states(self): _list_util.del_varlist(self.optimizer_states)
7223  optimizer_states = property(__get_optimizer_states, __set_optimizer_states, __del_optimizer_states, doc="List of ##ucnames")
7224 
7225  def remove_optimizer_state(self, d):
7226  r"""remove_optimizer_state(Optimizer self, OptimizerState d)"""
7227  return _IMP_kernel.Optimizer_remove_optimizer_state(self, d)
7228 
7229  def _python_index_optimizer_state(self, d, start, stop):
7230  r"""_python_index_optimizer_state(Optimizer self, OptimizerState d, unsigned int start, unsigned int stop) -> unsigned int"""
7231  return _IMP_kernel.Optimizer__python_index_optimizer_state(self, d, start, stop)
7232 
7233  def remove_optimizer_states(self, d):
7234  r"""remove_optimizer_states(Optimizer self, IMP::OptimizerStates const & d)"""
7235  return _IMP_kernel.Optimizer_remove_optimizer_states(self, d)
7236 
7237  def set_optimizer_states(self, ps):
7238  r"""set_optimizer_states(Optimizer self, IMP::OptimizerStates const & ps)"""
7239  return _IMP_kernel.Optimizer_set_optimizer_states(self, ps)
7240 
7241  def set_optimizer_states_order(self, objs):
7242  r"""set_optimizer_states_order(Optimizer self, IMP::OptimizerStates const & objs)"""
7243  return _IMP_kernel.Optimizer_set_optimizer_states_order(self, objs)
7244 
7245  def add_optimizer_state(self, obj):
7246  r"""add_optimizer_state(Optimizer self, OptimizerState obj) -> unsigned int"""
7247  return _IMP_kernel.Optimizer_add_optimizer_state(self, obj)
7248 
7249  def add_optimizer_states(self, objs):
7250  r"""add_optimizer_states(Optimizer self, IMP::OptimizerStates const & objs)"""
7251  return _IMP_kernel.Optimizer_add_optimizer_states(self, objs)
7252 
7253  def clear_optimizer_states(self):
7254  r"""clear_optimizer_states(Optimizer self)"""
7255  return _IMP_kernel.Optimizer_clear_optimizer_states(self)
7256 
7257  def get_number_of_optimizer_states(self):
7258  r"""get_number_of_optimizer_states(Optimizer self) -> unsigned int"""
7259  return _IMP_kernel.Optimizer_get_number_of_optimizer_states(self)
7260 
7261  def get_has_optimizer_states(self):
7262  r"""get_has_optimizer_states(Optimizer self) -> bool"""
7263  return _IMP_kernel.Optimizer_get_has_optimizer_states(self)
7264 
7265  def get_optimizer_state(self, i):
7266  r"""get_optimizer_state(Optimizer self, unsigned int i) -> OptimizerState"""
7267  return _IMP_kernel.Optimizer_get_optimizer_state(self, i)
7268 
7269  def get_optimizer_states(self):
7270  r"""get_optimizer_states(Optimizer self) -> IMP::OptimizerStates"""
7271  return _IMP_kernel.Optimizer_get_optimizer_states(self)
7272 
7273  def erase_optimizer_state(self, i):
7274  r"""erase_optimizer_state(Optimizer self, unsigned int i)"""
7275  return _IMP_kernel.Optimizer_erase_optimizer_state(self, i)
7276 
7277  def reserve_optimizer_states(self, sz):
7278  r"""reserve_optimizer_states(Optimizer self, unsigned int sz)"""
7279  return _IMP_kernel.Optimizer_reserve_optimizer_states(self, sz)
7280 
7281  def set_scoring_function(self, sf):
7282  r"""set_scoring_function(Optimizer self, _ScoringFunctionAdaptor sf)"""
7283  return _IMP_kernel.Optimizer_set_scoring_function(self, sf)
7284  __swig_destroy__ = _IMP_kernel.delete_Optimizer
7285  def __del__(self):
7286  r"""__del__(Optimizer self)"""
7287 
7288  _director_objects.cleanup()
7289 
7290 
7291  pass
7292 
7293 
7294  def do_optimize(self, ns):
7295  r"""do_optimize(Optimizer self, unsigned int ns) -> double"""
7296  return _IMP_kernel.Optimizer_do_optimize(self, ns)
7297 
7298  def update_states(self):
7299  r"""update_states(Optimizer self)"""
7300  return _IMP_kernel.Optimizer_update_states(self)
7301 
7302  def __str__(self):
7303  r"""__str__(Optimizer self) -> std::string"""
7304  return _IMP_kernel.Optimizer___str__(self)
7305 
7306  def __repr__(self):
7307  r"""__repr__(Optimizer self) -> std::string"""
7308  return _IMP_kernel.Optimizer___repr__(self)
7309 
7310  @staticmethod
7311  def get_from(o):
7312  return _object_cast_to_Optimizer(o)
7313 
7314 
7315  def do_show(self, out):
7316  pass
7317 
7318  @staticmethod
7319  def get_from(o):
7320  return _object_cast_to_Optimizer(o)
7321 
7322  def __disown__(self):
7323  self.this.disown()
7324  _IMP_kernel.disown_Optimizer(self)
7325  return weakref.proxy(self)
7326 
7327  def do_destroy(self):
7328  r"""do_destroy(Optimizer self)"""
7329  return _IMP_kernel.Optimizer_do_destroy(self)
7330 
7331  def handle_set_has_required_score_states(self, arg0):
7332  r"""handle_set_has_required_score_states(Optimizer self, bool arg0)"""
7333  return _IMP_kernel.Optimizer_handle_set_has_required_score_states(self, arg0)
7334 
7335  def do_get_interactions(self):
7336  r"""do_get_interactions(Optimizer self) -> IMP::ModelObjectsTemps"""
7337  return _IMP_kernel.Optimizer_do_get_interactions(self)
7338 
7339 # Register Optimizer in _IMP_kernel:
7340 _IMP_kernel.Optimizer_swigregister(Optimizer)
7342  r"""Proxy of C++ IMP::AttributeOptimizer class."""
7343 
7344  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7345 
7346  def __init__(self, *args):
7347  r"""
7348  __init__(AttributeOptimizer self, Model m, std::string name="Optimizer %1%") -> AttributeOptimizer
7349  __init__(AttributeOptimizer self) -> AttributeOptimizer
7350  """
7351  if self.__class__ == AttributeOptimizer:
7352  _self = None
7353  else:
7354  _self = self
7355  _IMP_kernel.AttributeOptimizer_swiginit(self, _IMP_kernel.new_AttributeOptimizer(_self, *args))
7356 
7357  if self.__class__ != AttributeOptimizer:
7358  _director_objects.register(self)
7359 
7360 
7361 
7362 
7363  def get_optimized_attributes(self):
7364  r"""get_optimized_attributes(AttributeOptimizer self) -> IMP::FloatIndexes"""
7365  return _IMP_kernel.AttributeOptimizer_get_optimized_attributes(self)
7366 
7367  def set_value(self, fi, v):
7368  r"""set_value(AttributeOptimizer self, FloatIndex fi, double v)"""
7369  return _IMP_kernel.AttributeOptimizer_set_value(self, fi, v)
7370 
7371  def get_value(self, fi):
7372  r"""get_value(AttributeOptimizer self, FloatIndex fi) -> IMP::Float"""
7373  return _IMP_kernel.AttributeOptimizer_get_value(self, fi)
7374 
7375  def get_derivative(self, fi):
7376  r"""get_derivative(AttributeOptimizer self, FloatIndex fi) -> IMP::Float"""
7377  return _IMP_kernel.AttributeOptimizer_get_derivative(self, fi)
7378 
7379  def get_width(self, k):
7380  r"""get_width(AttributeOptimizer self, FloatKey k) -> double"""
7381  return _IMP_kernel.AttributeOptimizer_get_width(self, k)
7382 
7383  def set_scaled_value(self, fi, v):
7384  r"""set_scaled_value(AttributeOptimizer self, FloatIndex fi, IMP::Float v)"""
7385  return _IMP_kernel.AttributeOptimizer_set_scaled_value(self, fi, v)
7386 
7387  def get_scaled_value(self, fi):
7388  r"""get_scaled_value(AttributeOptimizer self, FloatIndex fi) -> double"""
7389  return _IMP_kernel.AttributeOptimizer_get_scaled_value(self, fi)
7390 
7391  def get_scaled_derivative(self, fi):
7392  r"""get_scaled_derivative(AttributeOptimizer self, FloatIndex fi) -> double"""
7393  return _IMP_kernel.AttributeOptimizer_get_scaled_derivative(self, fi)
7394 
7395  def clear_range_cache(self):
7396  r"""clear_range_cache(AttributeOptimizer self)"""
7397  return _IMP_kernel.AttributeOptimizer_clear_range_cache(self)
7398 
7399  def __str__(self):
7400  r"""__str__(AttributeOptimizer self) -> std::string"""
7401  return _IMP_kernel.AttributeOptimizer___str__(self)
7402 
7403  def __repr__(self):
7404  r"""__repr__(AttributeOptimizer self) -> std::string"""
7405  return _IMP_kernel.AttributeOptimizer___repr__(self)
7406 
7407  @staticmethod
7408  def get_from(o):
7409  return _object_cast_to_AttributeOptimizer(o)
7410 
7411 
7412  def do_show(self, out):
7413  pass
7414 
7415  @staticmethod
7416  def get_from(o):
7417  return _object_cast_to_AttributeOptimizer(o)
7418 
7419  __swig_destroy__ = _IMP_kernel.delete_AttributeOptimizer
7420  def __disown__(self):
7421  self.this.disown()
7422  _IMP_kernel.disown_AttributeOptimizer(self)
7423  return weakref.proxy(self)
7424 
7425  def do_destroy(self):
7426  r"""do_destroy(AttributeOptimizer self)"""
7427  return _IMP_kernel.AttributeOptimizer_do_destroy(self)
7428 
7429  def handle_set_has_required_score_states(self, arg0):
7430  r"""handle_set_has_required_score_states(AttributeOptimizer self, bool arg0)"""
7431  return _IMP_kernel.AttributeOptimizer_handle_set_has_required_score_states(self, arg0)
7432 
7433  def do_get_inputs(self):
7434  r"""do_get_inputs(AttributeOptimizer self) -> IMP::ModelObjectsTemp"""
7435  return _IMP_kernel.AttributeOptimizer_do_get_inputs(self)
7436 
7437  def do_get_outputs(self):
7438  r"""do_get_outputs(AttributeOptimizer self) -> IMP::ModelObjectsTemp"""
7439  return _IMP_kernel.AttributeOptimizer_do_get_outputs(self)
7440 
7441  def do_get_interactions(self):
7442  r"""do_get_interactions(AttributeOptimizer self) -> IMP::ModelObjectsTemps"""
7443  return _IMP_kernel.AttributeOptimizer_do_get_interactions(self)
7444 
7445  def do_optimize(self, ns):
7446  r"""do_optimize(AttributeOptimizer self, unsigned int ns) -> double"""
7447  return _IMP_kernel.AttributeOptimizer_do_optimize(self, ns)
7448 
7449 # Register AttributeOptimizer in _IMP_kernel:
7450 _IMP_kernel.AttributeOptimizer_swigregister(AttributeOptimizer)
7451 class ConfigurationSet(Object):
7452  r"""Proxy of C++ IMP::ConfigurationSet class."""
7453 
7454  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7455 
7456  def __init__(self, *args):
7457  r"""__init__(ConfigurationSet self, Model m, std::string name="ConfigurationSet %1%") -> ConfigurationSet"""
7458  _IMP_kernel.ConfigurationSet_swiginit(self, _IMP_kernel.new_ConfigurationSet(*args))
7459 
7460  def save_configuration(self):
7461  r"""save_configuration(ConfigurationSet self)"""
7462  return _IMP_kernel.ConfigurationSet_save_configuration(self)
7463 
7464  def get_number_of_configurations(self):
7465  r"""get_number_of_configurations(ConfigurationSet self) -> unsigned int"""
7466  return _IMP_kernel.ConfigurationSet_get_number_of_configurations(self)
7467 
7468  def load_configuration(self, i):
7469  r"""load_configuration(ConfigurationSet self, int i)"""
7470  return _IMP_kernel.ConfigurationSet_load_configuration(self, i)
7471 
7472  def remove_configuration(self, i):
7473  r"""remove_configuration(ConfigurationSet self, unsigned int i)"""
7474  return _IMP_kernel.ConfigurationSet_remove_configuration(self, i)
7475 
7476  def get_model(self):
7477  r"""get_model(ConfigurationSet self) -> Model"""
7478  return _IMP_kernel.ConfigurationSet_get_model(self)
7479 
7480  def get_version_info(self):
7481  r"""get_version_info(ConfigurationSet self) -> VersionInfo"""
7482  return _IMP_kernel.ConfigurationSet_get_version_info(self)
7483  __swig_destroy__ = _IMP_kernel.delete_ConfigurationSet
7484 
7485  def __str__(self):
7486  r"""__str__(ConfigurationSet self) -> std::string"""
7487  return _IMP_kernel.ConfigurationSet___str__(self)
7488 
7489  def __repr__(self):
7490  r"""__repr__(ConfigurationSet self) -> std::string"""
7491  return _IMP_kernel.ConfigurationSet___repr__(self)
7492 
7493  @staticmethod
7494  def get_from(o):
7495  return _object_cast_to_ConfigurationSet(o)
7496 
7497 
7498 # Register ConfigurationSet in _IMP_kernel:
7499 _IMP_kernel.ConfigurationSet_swigregister(ConfigurationSet)
7501  r"""Proxy of C++ IMP::SaveToConfigurationSetOptimizerState class."""
7502 
7503  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7504 
7505  def __init__(self, cs):
7506  r"""__init__(SaveToConfigurationSetOptimizerState self, ConfigurationSet cs) -> SaveToConfigurationSetOptimizerState"""
7507  _IMP_kernel.SaveToConfigurationSetOptimizerState_swiginit(self, _IMP_kernel.new_SaveToConfigurationSetOptimizerState(cs))
7508 
7509  def get_version_info(self):
7510  r"""get_version_info(SaveToConfigurationSetOptimizerState self) -> VersionInfo"""
7511  return _IMP_kernel.SaveToConfigurationSetOptimizerState_get_version_info(self)
7512  __swig_destroy__ = _IMP_kernel.delete_SaveToConfigurationSetOptimizerState
7513 
7514  def __str__(self):
7515  r"""__str__(SaveToConfigurationSetOptimizerState self) -> std::string"""
7516  return _IMP_kernel.SaveToConfigurationSetOptimizerState___str__(self)
7517 
7518  def __repr__(self):
7519  r"""__repr__(SaveToConfigurationSetOptimizerState self) -> std::string"""
7520  return _IMP_kernel.SaveToConfigurationSetOptimizerState___repr__(self)
7521 
7522  @staticmethod
7523  def get_from(o):
7524  return _object_cast_to_SaveToConfigurationSetOptimizerState(o)
7525 
7526 
7527 # Register SaveToConfigurationSetOptimizerState in _IMP_kernel:
7528 _IMP_kernel.SaveToConfigurationSetOptimizerState_swigregister(SaveToConfigurationSetOptimizerState)
7529 class Configuration(Object):
7530  r"""Proxy of C++ IMP::Configuration class."""
7531 
7532  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7533 
7534  def __init__(self, *args):
7535  r"""
7536  __init__(Configuration self, Model m, std::string name="Configuration %1%") -> Configuration
7537  __init__(Configuration self, Model m, Configuration base, std::string name="Configuration %1%") -> Configuration
7538  __init__(Configuration self) -> Configuration
7539  """
7540  _IMP_kernel.Configuration_swiginit(self, _IMP_kernel.new_Configuration(*args))
7541 
7542  def load_configuration(self):
7543  r"""load_configuration(Configuration self)"""
7544  return _IMP_kernel.Configuration_load_configuration(self)
7545 
7546  def swap_configuration(self):
7547  r"""swap_configuration(Configuration self)"""
7548  return _IMP_kernel.Configuration_swap_configuration(self)
7549 
7550  def get_version_info(self):
7551  r"""get_version_info(Configuration self) -> VersionInfo"""
7552  return _IMP_kernel.Configuration_get_version_info(self)
7553  __swig_destroy__ = _IMP_kernel.delete_Configuration
7554 
7555  def __str__(self):
7556  r"""__str__(Configuration self) -> std::string"""
7557  return _IMP_kernel.Configuration___str__(self)
7558 
7559  def __repr__(self):
7560  r"""__repr__(Configuration self) -> std::string"""
7561  return _IMP_kernel.Configuration___repr__(self)
7562 
7563  @staticmethod
7564  def get_from(o):
7565  return _object_cast_to_Configuration(o)
7566 
7567 
7568  def _get_as_binary(self):
7569  r"""_get_as_binary(Configuration self) -> PyObject *"""
7570  return _IMP_kernel.Configuration__get_as_binary(self)
7571 
7572  def _set_from_binary(self, p):
7573  r"""_set_from_binary(Configuration self, PyObject * p)"""
7574  return _IMP_kernel.Configuration__set_from_binary(self, p)
7575 
7576  def __getstate__(self):
7577  p = self._get_as_binary()
7578  if len(self.__dict__) > 1:
7579  d = self.__dict__.copy()
7580  del d['this']
7581  p = (d, p)
7582  return p
7583 
7584  def __setstate__(self, p):
7585  if not hasattr(self, 'this'):
7586  self.__init__()
7587  if isinstance(p, tuple):
7588  d, p = p
7589  self.__dict__.update(d)
7590  return self._set_from_binary(p)
7591 
7592 
7593 # Register Configuration in _IMP_kernel:
7594 _IMP_kernel.Configuration_swigregister(Configuration)
7595 class Sampler(Object):
7596  r"""Proxy of C++ IMP::Sampler class."""
7597 
7598  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7599 
7600  def __init__(self, *args):
7601  r"""__init__(Sampler self, Model m, std::string name="Sampler %1%") -> Sampler"""
7602  if self.__class__ == Sampler:
7603  _self = None
7604  else:
7605  _self = self
7606  _IMP_kernel.Sampler_swiginit(self, _IMP_kernel.new_Sampler(_self, *args))
7607 
7608  if self.__class__ != Sampler:
7609  _director_objects.register(self)
7610 
7611 
7612 
7613 
7614  def create_sample(self):
7615  r"""create_sample(Sampler self) -> ConfigurationSet"""
7616  return _IMP_kernel.Sampler_create_sample(self)
7617 
7618  def get_scoring_function(self):
7619  r"""get_scoring_function(Sampler self) -> ScoringFunction"""
7620  return _IMP_kernel.Sampler_get_scoring_function(self)
7621 
7622  def set_scoring_function(self, sf):
7623  r"""set_scoring_function(Sampler self, _ScoringFunctionAdaptor sf)"""
7624  return _IMP_kernel.Sampler_set_scoring_function(self, sf)
7625 
7626  def get_model(self):
7627  r"""get_model(Sampler self) -> Model"""
7628  return _IMP_kernel.Sampler_get_model(self)
7629 
7630  def do_sample(self):
7631  r"""do_sample(Sampler self) -> ConfigurationSet"""
7632  return _IMP_kernel.Sampler_do_sample(self)
7633  __swig_destroy__ = _IMP_kernel.delete_Sampler
7634 
7635  def __str__(self):
7636  r"""__str__(Sampler self) -> std::string"""
7637  return _IMP_kernel.Sampler___str__(self)
7638 
7639  def __repr__(self):
7640  r"""__repr__(Sampler self) -> std::string"""
7641  return _IMP_kernel.Sampler___repr__(self)
7642 
7643  @staticmethod
7644  def get_from(o):
7645  return _object_cast_to_Sampler(o)
7646 
7647 
7648  def do_show(self, out):
7649  pass
7650 
7651  @staticmethod
7652  def get_from(o):
7653  return _object_cast_to_Sampler(o)
7654 
7655  def __disown__(self):
7656  self.this.disown()
7657  _IMP_kernel.disown_Sampler(self)
7658  return weakref.proxy(self)
7659 
7660  def do_destroy(self):
7661  r"""do_destroy(Sampler self)"""
7662  return _IMP_kernel.Sampler_do_destroy(self)
7663 
7664 # Register Sampler in _IMP_kernel:
7665 _IMP_kernel.Sampler_swigregister(Sampler)
7666 class PairModifier(_ParticleInputs, _ParticleOutputs, Object):
7667  r"""Proxy of C++ IMP::PairModifier class."""
7668 
7669  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7670 
7671  def __init__(self, *args):
7672  r"""__init__(PairModifier self, std::string name="PairModifier %1%") -> PairModifier"""
7673  if self.__class__ == PairModifier:
7674  _self = None
7675  else:
7676  _self = self
7677  _IMP_kernel.PairModifier_swiginit(self, _IMP_kernel.new_PairModifier(_self, *args))
7678 
7679  if self.__class__ != PairModifier:
7680  _director_objects.register(self)
7681 
7682 
7683 
7684 
7685  def apply_index(self, m, v):
7686  r"""apply_index(PairModifier self, Model m, IMP::ParticleIndexPair const & v)"""
7687  return _IMP_kernel.PairModifier_apply_index(self, m, v)
7688 
7689  def apply_indexes(self, m, o, lower_bound, upper_bound):
7690  r"""apply_indexes(PairModifier self, Model m, IMP::ParticleIndexPairs const & o, unsigned int lower_bound, unsigned int upper_bound)"""
7691  return _IMP_kernel.PairModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
7692 
7693  def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
7694  r"""apply_indexes_moved(PairModifier self, Model m, IMP::ParticleIndexPairs const & o, unsigned int lower_bound, unsigned int upper_bound, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7695  return _IMP_kernel.PairModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
7696 
7697  def __str__(self):
7698  r"""__str__(PairModifier self) -> std::string"""
7699  return _IMP_kernel.PairModifier___str__(self)
7700 
7701  def __repr__(self):
7702  r"""__repr__(PairModifier self) -> std::string"""
7703  return _IMP_kernel.PairModifier___repr__(self)
7704 
7705  @staticmethod
7706  def get_from(o):
7707  return _object_cast_to_PairModifier(o)
7708 
7709 
7710  def do_show(self, out):
7711  pass
7712 
7713  @staticmethod
7714  def get_from(o):
7715  return _object_cast_to_PairModifier(o)
7716 
7717  __swig_destroy__ = _IMP_kernel.delete_PairModifier
7718  def __disown__(self):
7719  self.this.disown()
7720  _IMP_kernel.disown_PairModifier(self)
7721  return weakref.proxy(self)
7722 
7723  def do_get_inputs(self, m, pis):
7724  r"""do_get_inputs(PairModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7725  return _IMP_kernel.PairModifier_do_get_inputs(self, m, pis)
7726 
7727  def do_get_outputs(self, m, pis):
7728  r"""do_get_outputs(PairModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7729  return _IMP_kernel.PairModifier_do_get_outputs(self, m, pis)
7730 
7731  def do_destroy(self):
7732  r"""do_destroy(PairModifier self)"""
7733  return _IMP_kernel.PairModifier_do_destroy(self)
7734 
7735 # Register PairModifier in _IMP_kernel:
7736 _IMP_kernel.PairModifier_swigregister(PairModifier)
7737 class PairScore(_ParticleInputs, Object):
7738  r"""Proxy of C++ IMP::PairScore class."""
7739 
7740  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7741 
7742  def __init__(self, *args):
7743  r"""__init__(PairScore self, std::string name="PairScore %1%") -> PairScore"""
7744  if self.__class__ == PairScore:
7745  _self = None
7746  else:
7747  _self = self
7748  _IMP_kernel.PairScore_swiginit(self, _IMP_kernel.new_PairScore(_self, *args))
7749 
7750  if self.__class__ != PairScore:
7751  _director_objects.register(self)
7752 
7753 
7754 
7755 
7756  def evaluate_index(self, m, vt, da):
7757  r"""evaluate_index(PairScore self, Model m, IMP::ParticleIndexPair const & vt, DerivativeAccumulator da) -> double"""
7758  return _IMP_kernel.PairScore_evaluate_index(self, m, vt, da)
7759 
7760  def check_indexes(self, m, pis):
7761  r"""check_indexes(PairScore self, Model m, IMP::ParticleIndexes const & pis) -> bool"""
7762  return _IMP_kernel.PairScore_check_indexes(self, m, pis)
7763 
7764  def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
7765  r"""evaluate_indexes(PairScore self, Model m, IMP::ParticleIndexPairs const & o, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
7766  return _IMP_kernel.PairScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
7767 
7768  def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7769  r"""evaluate_indexes_scores(PairScore self, Model m, IMP::ParticleIndexPairs const & o, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
7770  return _IMP_kernel.PairScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
7771 
7772  def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
7773  r"""evaluate_indexes_delta(PairScore self, Model m, IMP::ParticleIndexPairs const & o, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
7774  return _IMP_kernel.PairScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
7775 
7776  def evaluate_if_good_index(self, m, vt, da, max):
7777  r"""evaluate_if_good_index(PairScore self, Model m, IMP::ParticleIndexPair const & vt, DerivativeAccumulator da, double max) -> double"""
7778  return _IMP_kernel.PairScore_evaluate_if_good_index(self, m, vt, da, max)
7779 
7780  def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7781  r"""evaluate_if_good_indexes(PairScore self, Model m, IMP::ParticleIndexPairs const & o, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
7782  return _IMP_kernel.PairScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
7783 
7784  def create_current_decomposition(self, m, vt):
7785  r"""create_current_decomposition(PairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
7786  return _IMP_kernel.PairScore_create_current_decomposition(self, m, vt)
7787 
7788  def do_create_current_decomposition(self, m, vt):
7789  r"""do_create_current_decomposition(PairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
7790  return _IMP_kernel.PairScore_do_create_current_decomposition(self, m, vt)
7791  __swig_destroy__ = _IMP_kernel.delete_PairScore
7792 
7793  def __str__(self):
7794  r"""__str__(PairScore self) -> std::string"""
7795  return _IMP_kernel.PairScore___str__(self)
7796 
7797  def __repr__(self):
7798  r"""__repr__(PairScore self) -> std::string"""
7799  return _IMP_kernel.PairScore___repr__(self)
7800 
7801  @staticmethod
7802  def get_from(o):
7803  return _object_cast_to_PairScore(o)
7804 
7805 
7806  def do_show(self, out):
7807  pass
7808 
7809  @staticmethod
7810  def get_from(o):
7811  return _object_cast_to_PairScore(o)
7812 
7813 
7814  def _wrap_jax(self, m, score_func, keys=None):
7815  """Create the return value for _get_jax.
7816  Use this method in _get_jax() to wrap the JAX scoring function
7817  with other score-specific information.
7818 
7819  @param m The IMP.Model that the score will act on.
7820  @param score_func A function implemented using JAX that takes
7821  one argument (the current JAX Model) and returns the total
7822  score.
7823  @param keys Model attributes used by the PairScore.
7824  See IMP::Restraint::_wrap_jax.
7825  """
7826  from IMP._jax_util import JAXScoreInfo
7827  return JAXScoreInfo(m, score_func=score_func, keys=keys)
7828 
7829  def _get_jax(self, m, indexes):
7830  """Return a JAX implementation of this PairScore.
7831  Implement this method in a PairScore subclass to provide
7832  an equivalent function using [JAX](https://docs.jax.dev/)
7833  that scores the current JAX Model with a given set of
7834  ParticlePairIndexes. See also _wrap_jax.
7835 
7836  @param m The IMP.Model that the score will act on.
7837  @param indexes The ParticlePairIndexes that the score will act on.
7838  """
7839  raise NotImplementedError(
7840  f"No JAX implementation for {self} ({type(self)})")
7841 
7842  def __disown__(self):
7843  self.this.disown()
7844  _IMP_kernel.disown_PairScore(self)
7845  return weakref.proxy(self)
7846 
7847  def do_get_inputs(self, m, pis):
7848  r"""do_get_inputs(PairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7849  return _IMP_kernel.PairScore_do_get_inputs(self, m, pis)
7850 
7851  def do_destroy(self):
7852  r"""do_destroy(PairScore self)"""
7853  return _IMP_kernel.PairScore_do_destroy(self)
7854 
7855 # Register PairScore in _IMP_kernel:
7856 _IMP_kernel.PairScore_swigregister(PairScore)
7857 class PairPredicate(_ParticleInputs, Object):
7858  r"""Proxy of C++ IMP::PairPredicate class."""
7859 
7860  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7861 
7862  def __init__(self, *args):
7863  r"""__init__(PairPredicate self, std::string name="PairPredicate %1%") -> PairPredicate"""
7864  if self.__class__ == PairPredicate:
7865  _self = None
7866  else:
7867  _self = self
7868  _IMP_kernel.PairPredicate_swiginit(self, _IMP_kernel.new_PairPredicate(_self, *args))
7869 
7870  if self.__class__ != PairPredicate:
7871  _director_objects.register(self)
7872 
7873 
7874 
7875 
7876  def setup_for_get_value_index_in_batch(self, arg0):
7877  r"""setup_for_get_value_index_in_batch(PairPredicate self, Model arg0)"""
7878  return _IMP_kernel.PairPredicate_setup_for_get_value_index_in_batch(self, arg0)
7879 
7880  def get_value_index_in_batch(self, m, vt):
7881  r"""get_value_index_in_batch(PairPredicate self, Model m, IMP::ParticleIndexPair const & vt) -> int"""
7882  return _IMP_kernel.PairPredicate_get_value_index_in_batch(self, m, vt)
7883 
7884  def __call__(self, m, vt):
7885  r"""__call__(PairPredicate self, Model m, IMP::ParticleIndexPair const & vt) -> int"""
7886  return _IMP_kernel.PairPredicate___call__(self, m, vt)
7887 
7888  def get_value_index(self, *args):
7889  r"""
7890  get_value_index(PairPredicate self, Model m, IMP::ParticleIndexPair const & vt) -> int
7891  get_value_index(PairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
7892  """
7893  return _IMP_kernel.PairPredicate_get_value_index(self, *args)
7894  __swig_destroy__ = _IMP_kernel.delete_PairPredicate
7895 
7896  def __str__(self):
7897  r"""__str__(PairPredicate self) -> std::string"""
7898  return _IMP_kernel.PairPredicate___str__(self)
7899 
7900  def __repr__(self):
7901  r"""__repr__(PairPredicate self) -> std::string"""
7902  return _IMP_kernel.PairPredicate___repr__(self)
7903 
7904  @staticmethod
7905  def get_from(o):
7906  return _object_cast_to_PairPredicate(o)
7907 
7908 
7909  def do_show(self, out):
7910  pass
7911 
7912  @staticmethod
7913  def get_from(o):
7914  return _object_cast_to_PairPredicate(o)
7915 
7916  def __disown__(self):
7917  self.this.disown()
7918  _IMP_kernel.disown_PairPredicate(self)
7919  return weakref.proxy(self)
7920 
7921  def do_get_inputs(self, m, pis):
7922  r"""do_get_inputs(PairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7923  return _IMP_kernel.PairPredicate_do_get_inputs(self, m, pis)
7924 
7925  def do_destroy(self):
7926  r"""do_destroy(PairPredicate self)"""
7927  return _IMP_kernel.PairPredicate_do_destroy(self)
7928 
7929 # Register PairPredicate in _IMP_kernel:
7930 _IMP_kernel.PairPredicate_swigregister(PairPredicate)
7931 class PairContainer(Container):
7932  r"""Proxy of C++ IMP::PairContainer class."""
7933 
7934  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7935 
7936  def apply_generic(self, m):
7937  r"""apply_generic(PairContainer self, PairModifier m)"""
7938  return _IMP_kernel.PairContainer_apply_generic(self, m)
7939 
7940  def apply_generic_moved(self, m, moved_pis, reset_pis):
7941  r"""apply_generic_moved(PairContainer self, PairModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7942  return _IMP_kernel.PairContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
7943 
7944  def apply(self, sm):
7945  r"""apply(PairContainer self, PairModifier sm)"""
7946  return _IMP_kernel.PairContainer_apply(self, sm)
7947 
7948  def apply_moved(self, sm, moved_pis, reset_pis):
7949  r"""apply_moved(PairContainer self, PairModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7950  return _IMP_kernel.PairContainer_apply_moved(self, sm, moved_pis, reset_pis)
7951 
7952  def get_range_indexes(self):
7953  r"""get_range_indexes(PairContainer self) -> IMP::ParticleIndexPairs"""
7954  return _IMP_kernel.PairContainer_get_range_indexes(self)
7955 
7956  def get_contents(self):
7957  r"""get_contents(PairContainer self) -> IMP::ParticleIndexPairs const &"""
7958  return _IMP_kernel.PairContainer_get_contents(self)
7959 
7960  def get_indexes(self):
7961  r"""get_indexes(PairContainer self) -> IMP::ParticleIndexPairs"""
7962  return _IMP_kernel.PairContainer_get_indexes(self)
7963 
7964  def get(self, *args):
7965  r"""
7966  get(PairContainer self) -> IMP::ParticlePairsTemp
7967  get(PairContainer self, unsigned int i) -> IMP::ParticlePair
7968  """
7969  return _IMP_kernel.PairContainer_get(self, *args)
7970 
7971  def get_number(self):
7972  r"""get_number(PairContainer self) -> unsigned int"""
7973  return _IMP_kernel.PairContainer_get_number(self)
7974 
7975  def __init__(self, *args):
7976  r"""
7977  __init__(PairContainer self, Model m, std::string name="PairContainer %1%") -> PairContainer
7978  __init__(PairContainer self) -> PairContainer
7979  """
7980  if self.__class__ == PairContainer:
7981  _self = None
7982  else:
7983  _self = self
7984  _IMP_kernel.PairContainer_swiginit(self, _IMP_kernel.new_PairContainer(_self, *args))
7985 
7986  if self.__class__ != PairContainer:
7987  _director_objects.register(self)
7988 
7989 
7990 
7991 
7992  def do_apply(self, sm):
7993  r"""do_apply(PairContainer self, PairModifier sm)"""
7994  return _IMP_kernel.PairContainer_do_apply(self, sm)
7995 
7996  def do_apply_moved(self, sm, moved_pis, reset_pis):
7997  r"""do_apply_moved(PairContainer self, PairModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7998  return _IMP_kernel.PairContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
7999 
8000  def do_get_provides_access(self):
8001  r"""do_get_provides_access(PairContainer self) -> bool"""
8002  return _IMP_kernel.PairContainer_do_get_provides_access(self)
8003  __swig_destroy__ = _IMP_kernel.delete_PairContainer
8004 
8005  def __str__(self):
8006  r"""__str__(PairContainer self) -> std::string"""
8007  return _IMP_kernel.PairContainer___str__(self)
8008 
8009  def __repr__(self):
8010  r"""__repr__(PairContainer self) -> std::string"""
8011  return _IMP_kernel.PairContainer___repr__(self)
8012 
8013  @staticmethod
8014  def get_from(o):
8015  return _object_cast_to_PairContainer(o)
8016 
8017 
8018  def do_show(self, out):
8019  pass
8020 
8021  @staticmethod
8022  def get_from(o):
8023  return _object_cast_to_PairContainer(o)
8024 
8025  def __disown__(self):
8026  self.this.disown()
8027  _IMP_kernel.disown_PairContainer(self)
8028  return weakref.proxy(self)
8029 
8030  def do_destroy(self):
8031  r"""do_destroy(PairContainer self)"""
8032  return _IMP_kernel.PairContainer_do_destroy(self)
8033 
8034  def handle_set_has_required_score_states(self, arg0):
8035  r"""handle_set_has_required_score_states(PairContainer self, bool arg0)"""
8036  return _IMP_kernel.PairContainer_handle_set_has_required_score_states(self, arg0)
8037 
8038  def do_get_inputs(self):
8039  r"""do_get_inputs(PairContainer self) -> IMP::ModelObjectsTemp"""
8040  return _IMP_kernel.PairContainer_do_get_inputs(self)
8041 
8042  def do_get_interactions(self):
8043  r"""do_get_interactions(PairContainer self) -> IMP::ModelObjectsTemps"""
8044  return _IMP_kernel.PairContainer_do_get_interactions(self)
8045 
8046  def do_get_contents_hash(self):
8047  r"""do_get_contents_hash(PairContainer self) -> std::size_t"""
8048  return _IMP_kernel.PairContainer_do_get_contents_hash(self)
8049 
8050 # Register PairContainer in _IMP_kernel:
8051 _IMP_kernel.PairContainer_swigregister(PairContainer)
8052 class _PairContainerAdaptor(_InputAdaptor):
8053  r"""Proxy of C++ IMP::PairContainerAdaptor class."""
8054 
8055  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8056  __repr__ = _swig_repr
8057 
8058  def __init__(self, *args):
8059  r"""
8060  __init__(_PairContainerAdaptor self) -> _PairContainerAdaptor
8061  __init__(_PairContainerAdaptor self, PairContainer c) -> _PairContainerAdaptor
8062  __init__(_PairContainerAdaptor self, IMP::ParticlePairsTemp const & t) -> _PairContainerAdaptor
8063  """
8064  _IMP_kernel._PairContainerAdaptor_swiginit(self, _IMP_kernel.new__PairContainerAdaptor(*args))
8065 
8066  def set_name_if_default(self, name):
8067  r"""set_name_if_default(_PairContainerAdaptor self, std::string name)"""
8068  return _IMP_kernel._PairContainerAdaptor_set_name_if_default(self, name)
8069  __swig_destroy__ = _IMP_kernel.delete__PairContainerAdaptor
8070 
8071 # Register _PairContainerAdaptor in _IMP_kernel:
8072 _IMP_kernel._PairContainerAdaptor_swigregister(_PairContainerAdaptor)
8073 class QuadModifier(_ParticleInputs, _ParticleOutputs, Object):
8074  r"""Proxy of C++ IMP::QuadModifier class."""
8075 
8076  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8077 
8078  def __init__(self, *args):
8079  r"""__init__(QuadModifier self, std::string name="QuadModifier %1%") -> QuadModifier"""
8080  if self.__class__ == QuadModifier:
8081  _self = None
8082  else:
8083  _self = self
8084  _IMP_kernel.QuadModifier_swiginit(self, _IMP_kernel.new_QuadModifier(_self, *args))
8085 
8086  if self.__class__ != QuadModifier:
8087  _director_objects.register(self)
8088 
8089 
8090 
8091 
8092  def apply_index(self, m, v):
8093  r"""apply_index(QuadModifier self, Model m, IMP::ParticleIndexQuad const & v)"""
8094  return _IMP_kernel.QuadModifier_apply_index(self, m, v)
8095 
8096  def apply_indexes(self, m, o, lower_bound, upper_bound):
8097  r"""apply_indexes(QuadModifier self, Model m, IMP::ParticleIndexQuads const & o, unsigned int lower_bound, unsigned int upper_bound)"""
8098  return _IMP_kernel.QuadModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
8099 
8100  def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
8101  r"""apply_indexes_moved(QuadModifier self, Model m, IMP::ParticleIndexQuads const & o, unsigned int lower_bound, unsigned int upper_bound, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
8102  return _IMP_kernel.QuadModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
8103 
8104  def __str__(self):
8105  r"""__str__(QuadModifier self) -> std::string"""
8106  return _IMP_kernel.QuadModifier___str__(self)
8107 
8108  def __repr__(self):
8109  r"""__repr__(QuadModifier self) -> std::string"""
8110  return _IMP_kernel.QuadModifier___repr__(self)
8111 
8112  @staticmethod
8113  def get_from(o):
8114  return _object_cast_to_QuadModifier(o)
8115 
8116 
8117  def do_show(self, out):
8118  pass
8119 
8120  @staticmethod
8121  def get_from(o):
8122  return _object_cast_to_QuadModifier(o)
8123 
8124  __swig_destroy__ = _IMP_kernel.delete_QuadModifier
8125  def __disown__(self):
8126  self.this.disown()
8127  _IMP_kernel.disown_QuadModifier(self)
8128  return weakref.proxy(self)
8129 
8130  def do_get_inputs(self, m, pis):
8131  r"""do_get_inputs(QuadModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8132  return _IMP_kernel.QuadModifier_do_get_inputs(self, m, pis)
8133 
8134  def do_get_outputs(self, m, pis):
8135  r"""do_get_outputs(QuadModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8136  return _IMP_kernel.QuadModifier_do_get_outputs(self, m, pis)
8137 
8138  def do_destroy(self):
8139  r"""do_destroy(QuadModifier self)"""
8140  return _IMP_kernel.QuadModifier_do_destroy(self)
8141 
8142 # Register QuadModifier in _IMP_kernel:
8143 _IMP_kernel.QuadModifier_swigregister(QuadModifier)
8144 class QuadScore(_ParticleInputs, Object):
8145  r"""Proxy of C++ IMP::QuadScore class."""
8146 
8147  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8148 
8149  def __init__(self, *args):
8150  r"""__init__(QuadScore self, std::string name="QuadScore %1%") -> QuadScore"""
8151  if self.__class__ == QuadScore:
8152  _self = None
8153  else:
8154  _self = self
8155  _IMP_kernel.QuadScore_swiginit(self, _IMP_kernel.new_QuadScore(_self, *args))
8156 
8157  if self.__class__ != QuadScore:
8158  _director_objects.register(self)
8159 
8160 
8161 
8162 
8163  def evaluate_index(self, m, vt, da):
8164  r"""evaluate_index(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt, DerivativeAccumulator da) -> double"""
8165  return _IMP_kernel.QuadScore_evaluate_index(self, m, vt, da)
8166 
8167  def check_indexes(self, m, pis):
8168  r"""check_indexes(QuadScore self, Model m, IMP::ParticleIndexes const & pis) -> bool"""
8169  return _IMP_kernel.QuadScore_check_indexes(self, m, pis)
8170 
8171  def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
8172  r"""evaluate_indexes(QuadScore self, Model m, IMP::ParticleIndexQuads const & o, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
8173  return _IMP_kernel.QuadScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
8174 
8175  def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
8176  r"""evaluate_indexes_scores(QuadScore self, Model m, IMP::ParticleIndexQuads const & o, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
8177  return _IMP_kernel.QuadScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
8178 
8179  def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
8180  r"""evaluate_indexes_delta(QuadScore self, Model m, IMP::ParticleIndexQuads const & o, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
8181  return _IMP_kernel.QuadScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
8182 
8183  def evaluate_if_good_index(self, m, vt, da, max):
8184  r"""evaluate_if_good_index(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt, DerivativeAccumulator da, double max) -> double"""
8185  return _IMP_kernel.QuadScore_evaluate_if_good_index(self, m, vt, da, max)
8186 
8187  def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
8188  r"""evaluate_if_good_indexes(QuadScore self, Model m, IMP::ParticleIndexQuads const & o, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
8189  return _IMP_kernel.QuadScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
8190 
8191  def create_current_decomposition(self, m, vt):
8192  r"""create_current_decomposition(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt) -> IMP::Restraints"""
8193  return _IMP_kernel.QuadScore_create_current_decomposition(self, m, vt)
8194 
8195  def do_create_current_decomposition(self, m, vt):
8196  r"""do_create_current_decomposition(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt) -> IMP::Restraints"""
8197  return _IMP_kernel.QuadScore_do_create_current_decomposition(self, m, vt)
8198  __swig_destroy__ = _IMP_kernel.delete_QuadScore
8199 
8200  def __str__(self):
8201  r"""__str__(QuadScore self) -> std::string"""
8202  return _IMP_kernel.QuadScore___str__(self)
8203 
8204  def __repr__(self):
8205  r"""__repr__(QuadScore self) -> std::string"""
8206  return _IMP_kernel.QuadScore___repr__(self)
8207 
8208  @staticmethod
8209  def get_from(o):
8210  return _object_cast_to_QuadScore(o)
8211 
8212 
8213  def do_show(self, out):
8214  pass
8215 
8216  @staticmethod
8217  def get_from(o):
8218  return _object_cast_to_QuadScore(o)
8219 
8220  def __disown__(self):
8221  self.this.disown()
8222  _IMP_kernel.disown_QuadScore(self)
8223  return weakref.proxy(self)
8224 
8225  def do_get_inputs(self, m, pis):
8226  r"""do_get_inputs(QuadScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8227  return _IMP_kernel.QuadScore_do_get_inputs(self, m, pis)
8228 
8229  def do_destroy(self):
8230  r"""do_destroy(QuadScore self)"""
8231  return _IMP_kernel.QuadScore_do_destroy(self)
8232 
8233 # Register QuadScore in _IMP_kernel:
8234 _IMP_kernel.QuadScore_swigregister(QuadScore)
8235 class QuadPredicate(_ParticleInputs, Object):
8236  r"""Proxy of C++ IMP::QuadPredicate class."""
8237 
8238  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8239 
8240  def __init__(self, *args):
8241  r"""__init__(QuadPredicate self, std::string name="QuadPredicate %1%") -> QuadPredicate"""
8242  if self.__class__ == QuadPredicate:
8243  _self = None
8244  else:
8245  _self = self
8246  _IMP_kernel.QuadPredicate_swiginit(self, _IMP_kernel.new_QuadPredicate(_self, *args))
8247 
8248  if self.__class__ != QuadPredicate:
8249  _director_objects.register(self)
8250 
8251 
8252 
8253 
8254  def setup_for_get_value_index_in_batch(self, arg0):
8255  r"""setup_for_get_value_index_in_batch(QuadPredicate self, Model arg0)"""
8256  return _IMP_kernel.QuadPredicate_setup_for_get_value_index_in_batch(self, arg0)
8257 
8258  def get_value_index_in_batch(self, m, vt):
8259  r"""get_value_index_in_batch(QuadPredicate self, Model m, IMP::ParticleIndexQuad const & vt) -> int"""
8260  return _IMP_kernel.QuadPredicate_get_value_index_in_batch(self, m, vt)
8261 
8262  def __call__(self, m, vt):
8263  r"""__call__(QuadPredicate self, Model m, IMP::ParticleIndexQuad const & vt) -> int"""
8264  return _IMP_kernel.QuadPredicate___call__(self, m, vt)
8265 
8266  def get_value_index(self, *args):
8267  r"""
8268  get_value_index(QuadPredicate self, Model m, IMP::ParticleIndexQuad const & vt) -> int
8269  get_value_index(QuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
8270  """
8271  return _IMP_kernel.QuadPredicate_get_value_index(self, *args)
8272  __swig_destroy__ = _IMP_kernel.delete_QuadPredicate
8273 
8274  def __str__(self):
8275  r"""__str__(QuadPredicate self) -> std::string"""
8276  return _IMP_kernel.QuadPredicate___str__(self)
8277 
8278  def __repr__(self):
8279  r"""__repr__(QuadPredicate self) -> std::string"""
8280  return _IMP_kernel.QuadPredicate___repr__(self)
8281 
8282  @staticmethod
8283  def get_from(o):
8284  return _object_cast_to_QuadPredicate(o)
8285 
8286 
8287  def do_show(self, out):
8288  pass
8289 
8290  @staticmethod
8291  def get_from(o):
8292  return _object_cast_to_QuadPredicate(o)
8293 
8294  def __disown__(self):
8295  self.this.disown()
8296  _IMP_kernel.disown_QuadPredicate(self)
8297  return weakref.proxy(self)
8298 
8299  def do_get_inputs(self, m, pis):
8300  r"""do_get_inputs(QuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8301  return _IMP_kernel.QuadPredicate_do_get_inputs(self, m, pis)
8302 
8303  def do_destroy(self):
8304  r"""do_destroy(QuadPredicate self)"""
8305  return _IMP_kernel.QuadPredicate_do_destroy(self)
8306 
8307 # Register QuadPredicate in _IMP_kernel:
8308 _IMP_kernel.QuadPredicate_swigregister(QuadPredicate)
8309 class QuadContainer(Container):
8310  r"""Proxy of C++ IMP::QuadContainer class."""
8311 
8312  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8313 
8314  def apply_generic(self, m):
8315  r"""apply_generic(QuadContainer self, QuadModifier m)"""
8316  return _IMP_kernel.QuadContainer_apply_generic(self, m)
8317 
8318  def apply_generic_moved(self, m, moved_pis, reset_pis):
8319  r"""apply_generic_moved(QuadContainer self, QuadModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
8320  return _IMP_kernel.QuadContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
8321 
8322  def apply(self, sm):
8323  r"""apply(QuadContainer self, QuadModifier sm)"""
8324  return _IMP_kernel.QuadContainer_apply(self, sm)
8325 
8326  def apply_moved(self, sm, moved_pis, reset_pis):
8327  r"""apply_moved(QuadContainer self, QuadModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
8328  return _IMP_kernel.QuadContainer_apply_moved(self, sm, moved_pis, reset_pis)
8329 
8330  def get_range_indexes(self):
8331  r"""get_range_indexes(QuadContainer self) -> IMP::ParticleIndexQuads"""
8332  return _IMP_kernel.QuadContainer_get_range_indexes(self)
8333 
8334  def get_contents(self):
8335  r"""get_contents(QuadContainer self) -> IMP::ParticleIndexQuads const &"""
8336  return _IMP_kernel.QuadContainer_get_contents(self)
8337 
8338  def get_indexes(self):
8339  r"""get_indexes(QuadContainer self) -> IMP::ParticleIndexQuads"""
8340  return _IMP_kernel.QuadContainer_get_indexes(self)
8341 
8342  def get(self, *args):
8343  r"""
8344  get(QuadContainer self) -> IMP::ParticleQuadsTemp
8345  get(QuadContainer self, unsigned int i) -> IMP::ParticleQuad
8346  """
8347  return _IMP_kernel.QuadContainer_get(self, *args)
8348 
8349  def get_number(self):
8350  r"""get_number(QuadContainer self) -> unsigned int"""
8351  return _IMP_kernel.QuadContainer_get_number(self)
8352 
8353  def __init__(self, *args):
8354  r"""
8355  __init__(QuadContainer self, Model m, std::string name="QuadContainer %1%") -> QuadContainer
8356  __init__(QuadContainer self) -> QuadContainer
8357  """
8358  if self.__class__ == QuadContainer:
8359  _self = None
8360  else:
8361  _self = self
8362  _IMP_kernel.QuadContainer_swiginit(self, _IMP_kernel.new_QuadContainer(_self, *args))
8363 
8364  if self.__class__ != QuadContainer:
8365  _director_objects.register(self)
8366 
8367 
8368 
8369 
8370  def do_apply(self, sm):
8371  r"""do_apply(QuadContainer self, QuadModifier sm)"""
8372  return _IMP_kernel.QuadContainer_do_apply(self, sm)
8373 
8374  def do_apply_moved(self, sm, moved_pis, reset_pis):
8375  r"""do_apply_moved(QuadContainer self, QuadModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
8376  return _IMP_kernel.QuadContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
8377 
8378  def do_get_provides_access(self):
8379  r"""do_get_provides_access(QuadContainer self) -> bool"""
8380  return _IMP_kernel.QuadContainer_do_get_provides_access(self)
8381  __swig_destroy__ = _IMP_kernel.delete_QuadContainer
8382 
8383  def __str__(self):
8384  r"""__str__(QuadContainer self) -> std::string"""
8385  return _IMP_kernel.QuadContainer___str__(self)
8386 
8387  def __repr__(self):
8388  r"""__repr__(QuadContainer self) -> std::string"""
8389  return _IMP_kernel.QuadContainer___repr__(self)
8390 
8391  @staticmethod
8392  def get_from(o):
8393  return _object_cast_to_QuadContainer(o)
8394 
8395 
8396  def do_show(self, out):
8397  pass
8398 
8399  @staticmethod
8400  def get_from(o):
8401  return _object_cast_to_QuadContainer(o)
8402 
8403  def __disown__(self):
8404  self.this.disown()
8405  _IMP_kernel.disown_QuadContainer(self)
8406  return weakref.proxy(self)
8407 
8408  def do_destroy(self):
8409  r"""do_destroy(QuadContainer self)"""
8410  return _IMP_kernel.QuadContainer_do_destroy(self)
8411 
8412  def handle_set_has_required_score_states(self, arg0):
8413  r"""handle_set_has_required_score_states(QuadContainer self, bool arg0)"""
8414  return _IMP_kernel.QuadContainer_handle_set_has_required_score_states(self, arg0)
8415 
8416  def do_get_inputs(self):
8417  r"""do_get_inputs(QuadContainer self) -> IMP::ModelObjectsTemp"""
8418  return _IMP_kernel.QuadContainer_do_get_inputs(self)
8419 
8420  def do_get_interactions(self):
8421  r"""do_get_interactions(QuadContainer self) -> IMP::ModelObjectsTemps"""
8422  return _IMP_kernel.QuadContainer_do_get_interactions(self)
8423 
8424  def do_get_contents_hash(self):
8425  r"""do_get_contents_hash(QuadContainer self) -> std::size_t"""
8426  return _IMP_kernel.QuadContainer_do_get_contents_hash(self)
8427 
8428 # Register QuadContainer in _IMP_kernel:
8429 _IMP_kernel.QuadContainer_swigregister(QuadContainer)
8430 class _QuadContainerAdaptor(_InputAdaptor):
8431  r"""Proxy of C++ IMP::QuadContainerAdaptor class."""
8432 
8433  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8434  __repr__ = _swig_repr
8435 
8436  def __init__(self, *args):
8437  r"""
8438  __init__(_QuadContainerAdaptor self) -> _QuadContainerAdaptor
8439  __init__(_QuadContainerAdaptor self, QuadContainer c) -> _QuadContainerAdaptor
8440  __init__(_QuadContainerAdaptor self, IMP::ParticleQuadsTemp const & t) -> _QuadContainerAdaptor
8441  """
8442  _IMP_kernel._QuadContainerAdaptor_swiginit(self, _IMP_kernel.new__QuadContainerAdaptor(*args))
8443 
8444  def set_name_if_default(self, name):
8445  r"""set_name_if_default(_QuadContainerAdaptor self, std::string name)"""
8446  return _IMP_kernel._QuadContainerAdaptor_set_name_if_default(self, name)
8447  __swig_destroy__ = _IMP_kernel.delete__QuadContainerAdaptor
8448 
8449 # Register _QuadContainerAdaptor in _IMP_kernel:
8450 _IMP_kernel._QuadContainerAdaptor_swigregister(_QuadContainerAdaptor)
8451 class SingletonModifier(_ParticleInputs, _ParticleOutputs, Object):
8452  r"""Proxy of C++ IMP::SingletonModifier class."""
8453 
8454  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8455 
8456  def __init__(self, *args):
8457  r"""__init__(SingletonModifier self, std::string name="SingletonModifier %1%") -> SingletonModifier"""
8458  if self.__class__ == SingletonModifier:
8459  _self = None
8460  else:
8461  _self = self
8462  _IMP_kernel.SingletonModifier_swiginit(self, _IMP_kernel.new_SingletonModifier(_self, *args))
8463 
8464  if self.__class__ != SingletonModifier:
8465  _director_objects.register(self)
8466 
8467 
8468 
8469 
8470  def apply_index(self, m, v):
8471  r"""apply_index(SingletonModifier self, Model m, ParticleIndex v)"""
8472  return _IMP_kernel.SingletonModifier_apply_index(self, m, v)
8473 
8474  def apply_indexes(self, m, o, lower_bound, upper_bound):
8475  r"""apply_indexes(SingletonModifier self, Model m, IMP::ParticleIndexes const & o, unsigned int lower_bound, unsigned int upper_bound)"""
8476  return _IMP_kernel.SingletonModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
8477 
8478  def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
8479  r"""apply_indexes_moved(SingletonModifier self, Model m, IMP::ParticleIndexes const & o, unsigned int lower_bound, unsigned int upper_bound, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
8480  return _IMP_kernel.SingletonModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
8481 
8482  def __str__(self):
8483  r"""__str__(SingletonModifier self) -> std::string"""
8484  return _IMP_kernel.SingletonModifier___str__(self)
8485 
8486  def __repr__(self):
8487  r"""__repr__(SingletonModifier self) -> std::string"""
8488  return _IMP_kernel.SingletonModifier___repr__(self)
8489 
8490  @staticmethod
8491  def get_from(o):
8492  return _object_cast_to_SingletonModifier(o)
8493 
8494 
8495  def do_show(self, out):
8496  pass
8497 
8498  @staticmethod
8499  def get_from(o):
8500  return _object_cast_to_SingletonModifier(o)
8501 
8502 
8503  def _wrap_jax(self, apply_func, keys=None):
8504  """Create the return value for _get_jax.
8505  Use this method in _get_jax() to wrap the JAX function
8506  with other modifier-specific information.
8507 
8508  @param apply_func A function implemented using JAX that takes
8509  one argument (the current JAX Model) and returns a new
8510  modified JAX Model.
8511  @param keys Model attributes used by the SingletonModifier.
8512  See IMP::Restraint::_wrap_jax.
8513  """
8514  from IMP._jax_util import JAXModifierInfo
8515  return JAXModifierInfo(apply_func=apply_func, keys=keys)
8516 
8517  def _get_jax(self, m, indexes):
8518  """Return a JAX implementation of this SingletonModifier.
8519  Implement this method in a SingletonModifier subclass to provide
8520  an equivalent function using [JAX](https://docs.jax.dev/)
8521  that modifies the current JAX Model. See also _wrap_jax.
8522 
8523  @param m The IMP.Model that the modifier will act on.
8524  @param indexes The ParticleIndexes that the modifier will act on.
8525  """
8526  raise NotImplementedError(
8527  f"No JAX implementation for {self} ({type(self)})")
8528 
8529  __swig_destroy__ = _IMP_kernel.delete_SingletonModifier
8530  def __disown__(self):
8531  self.this.disown()
8532  _IMP_kernel.disown_SingletonModifier(self)
8533  return weakref.proxy(self)
8534 
8535  def do_get_inputs(self, m, pis):
8536  r"""do_get_inputs(SingletonModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8537  return _IMP_kernel.SingletonModifier_do_get_inputs(self, m, pis)
8538 
8539  def do_get_outputs(self, m, pis):
8540  r"""do_get_outputs(SingletonModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8541  return _IMP_kernel.SingletonModifier_do_get_outputs(self, m, pis)
8542 
8543  def do_destroy(self):
8544  r"""do_destroy(SingletonModifier self)"""
8545  return _IMP_kernel.SingletonModifier_do_destroy(self)
8546 
8547 # Register SingletonModifier in _IMP_kernel:
8548 _IMP_kernel.SingletonModifier_swigregister(SingletonModifier)
8549 class SingletonScore(_ParticleInputs, Object):
8550  r"""Proxy of C++ IMP::SingletonScore class."""
8551 
8552  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8553 
8554  def __init__(self, *args):
8555  r"""__init__(SingletonScore self, std::string name="SingletonScore %1%") -> SingletonScore"""
8556  if self.__class__ == SingletonScore:
8557  _self = None
8558  else:
8559  _self = self
8560  _IMP_kernel.SingletonScore_swiginit(self, _IMP_kernel.new_SingletonScore(_self, *args))
8561 
8562  if self.__class__ != SingletonScore:
8563  _director_objects.register(self)
8564 
8565 
8566 
8567 
8568  def evaluate_index(self, m, vt, da):
8569  r"""evaluate_index(SingletonScore self, Model m, ParticleIndex vt, DerivativeAccumulator da) -> double"""
8570  return _IMP_kernel.SingletonScore_evaluate_index(self, m, vt, da)
8571 
8572  def check_indexes(self, m, pis):
8573  r"""check_indexes(SingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> bool"""
8574  return _IMP_kernel.SingletonScore_check_indexes(self, m, pis)
8575 
8576  def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
8577  r"""evaluate_indexes(SingletonScore self, Model m, IMP::ParticleIndexes const & o, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
8578  return _IMP_kernel.SingletonScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
8579 
8580  def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
8581  r"""evaluate_indexes_scores(SingletonScore self, Model m, IMP::ParticleIndexes const & o, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
8582  return _IMP_kernel.SingletonScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
8583 
8584  def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
8585  r"""evaluate_indexes_delta(SingletonScore self, Model m, IMP::ParticleIndexes const & o, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
8586  return _IMP_kernel.SingletonScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
8587 
8588  def evaluate_if_good_index(self, m, vt, da, max):
8589  r"""evaluate_if_good_index(SingletonScore self, Model m, ParticleIndex vt, DerivativeAccumulator da, double max) -> double"""
8590  return _IMP_kernel.SingletonScore_evaluate_if_good_index(self, m, vt, da, max)
8591 
8592  def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
8593  r"""evaluate_if_good_indexes(SingletonScore self, Model m, IMP::ParticleIndexes const & o, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
8594  return _IMP_kernel.SingletonScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
8595 
8596  def create_current_decomposition(self, m, vt):
8597  r"""create_current_decomposition(SingletonScore self, Model m, ParticleIndex vt) -> IMP::Restraints"""
8598  return _IMP_kernel.SingletonScore_create_current_decomposition(self, m, vt)
8599 
8600  def do_create_current_decomposition(self, m, vt):
8601  r"""do_create_current_decomposition(SingletonScore self, Model m, ParticleIndex vt) -> IMP::Restraints"""
8602  return _IMP_kernel.SingletonScore_do_create_current_decomposition(self, m, vt)
8603  __swig_destroy__ = _IMP_kernel.delete_SingletonScore
8604 
8605  def __str__(self):
8606  r"""__str__(SingletonScore self) -> std::string"""
8607  return _IMP_kernel.SingletonScore___str__(self)
8608 
8609  def __repr__(self):
8610  r"""__repr__(SingletonScore self) -> std::string"""
8611  return _IMP_kernel.SingletonScore___repr__(self)
8612 
8613  @staticmethod
8614  def get_from(o):
8615  return _object_cast_to_SingletonScore(o)
8616 
8617 
8618  def do_show(self, out):
8619  pass
8620 
8621  @staticmethod
8622  def get_from(o):
8623  return _object_cast_to_SingletonScore(o)
8624 
8625 
8626  def _wrap_jax(self, m, score_func, keys=None):
8627  """See IMP::PairScore::_wrap_jax"""
8628  from IMP._jax_util import JAXScoreInfo
8629  return JAXScoreInfo(m, score_func=score_func, keys=keys)
8630 
8631  def _get_jax(self, m, indexes):
8632  """See IMP::PairScore::_get_jax"""
8633  raise NotImplementedError(
8634  f"No JAX implementation for {self} ({type(self)})")
8635 
8636  def __disown__(self):
8637  self.this.disown()
8638  _IMP_kernel.disown_SingletonScore(self)
8639  return weakref.proxy(self)
8640 
8641  def do_get_inputs(self, m, pis):
8642  r"""do_get_inputs(SingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8643  return _IMP_kernel.SingletonScore_do_get_inputs(self, m, pis)
8644 
8645  def do_destroy(self):
8646  r"""do_destroy(SingletonScore self)"""
8647  return _IMP_kernel.SingletonScore_do_destroy(self)
8648 
8649 # Register SingletonScore in _IMP_kernel:
8650 _IMP_kernel.SingletonScore_swigregister(SingletonScore)
8651 class SingletonPredicate(_ParticleInputs, Object):
8652  r"""Proxy of C++ IMP::SingletonPredicate class."""
8653 
8654  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8655 
8656  def __init__(self, *args):
8657  r"""__init__(SingletonPredicate self, std::string name="SingletonPredicate %1%") -> SingletonPredicate"""
8658  if self.__class__ == SingletonPredicate:
8659  _self = None
8660  else:
8661  _self = self
8662  _IMP_kernel.SingletonPredicate_swiginit(self, _IMP_kernel.new_SingletonPredicate(_self, *args))
8663 
8664  if self.__class__ != SingletonPredicate:
8665  _director_objects.register(self)
8666 
8667 
8668 
8669 
8670  def setup_for_get_value_index_in_batch(self, arg0):
8671  r"""setup_for_get_value_index_in_batch(SingletonPredicate self, Model arg0)"""
8672  return _IMP_kernel.SingletonPredicate_setup_for_get_value_index_in_batch(self, arg0)
8673 
8674  def get_value_index_in_batch(self, m, vt):
8675  r"""get_value_index_in_batch(SingletonPredicate self, Model m, ParticleIndex vt) -> int"""
8676  return _IMP_kernel.SingletonPredicate_get_value_index_in_batch(self, m, vt)
8677 
8678  def __call__(self, m, vt):
8679  r"""__call__(SingletonPredicate self, Model m, ParticleIndex vt) -> int"""
8680  return _IMP_kernel.SingletonPredicate___call__(self, m, vt)
8681 
8682  def get_value_index(self, *args):
8683  r"""
8684  get_value_index(SingletonPredicate self, Model m, ParticleIndex vt) -> int
8685  get_value_index(SingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
8686  """
8687  return _IMP_kernel.SingletonPredicate_get_value_index(self, *args)
8688  __swig_destroy__ = _IMP_kernel.delete_SingletonPredicate
8689 
8690  def __str__(self):
8691  r"""__str__(SingletonPredicate self) -> std::string"""
8692  return _IMP_kernel.SingletonPredicate___str__(self)
8693 
8694  def __repr__(self):
8695  r"""__repr__(SingletonPredicate self) -> std::string"""
8696  return _IMP_kernel.SingletonPredicate___repr__(self)
8697 
8698  @staticmethod
8699  def get_from(o):
8700  return _object_cast_to_SingletonPredicate(o)
8701 
8702 
8703  def do_show(self, out):
8704  pass
8705 
8706  @staticmethod
8707  def get_from(o):
8708  return _object_cast_to_SingletonPredicate(o)
8709 
8710  def __disown__(self):
8711  self.this.disown()
8712  _IMP_kernel.disown_SingletonPredicate(self)
8713  return weakref.proxy(self)
8714 
8715  def do_get_inputs(self, m, pis):
8716  r"""do_get_inputs(SingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8717  return _IMP_kernel.SingletonPredicate_do_get_inputs(self, m, pis)
8718 
8719  def do_destroy(self):
8720  r"""do_destroy(SingletonPredicate self)"""
8721  return _IMP_kernel.SingletonPredicate_do_destroy(self)
8722 
8723 # Register SingletonPredicate in _IMP_kernel:
8724 _IMP_kernel.SingletonPredicate_swigregister(SingletonPredicate)
8726  r"""Proxy of C++ IMP::SingletonContainer class."""
8727 
8728  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8729 
8730  def apply_generic(self, m):
8731  r"""apply_generic(SingletonContainer self, SingletonModifier m)"""
8732  return _IMP_kernel.SingletonContainer_apply_generic(self, m)
8733 
8734  def apply_generic_moved(self, m, moved_pis, reset_pis):
8735  r"""apply_generic_moved(SingletonContainer self, SingletonModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
8736  return _IMP_kernel.SingletonContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
8737 
8738  def apply(self, sm):
8739  r"""apply(SingletonContainer self, SingletonModifier sm)"""
8740  return _IMP_kernel.SingletonContainer_apply(self, sm)
8741 
8742  def apply_moved(self, sm, moved_pis, reset_pis):
8743  r"""apply_moved(SingletonContainer self, SingletonModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
8744  return _IMP_kernel.SingletonContainer_apply_moved(self, sm, moved_pis, reset_pis)
8745 
8746  def get_range_indexes(self):
8747  r"""get_range_indexes(SingletonContainer self) -> IMP::ParticleIndexes"""
8748  return _IMP_kernel.SingletonContainer_get_range_indexes(self)
8749 
8750  def get_contents(self):
8751  r"""get_contents(SingletonContainer self) -> IMP::ParticleIndexes const &"""
8752  return _IMP_kernel.SingletonContainer_get_contents(self)
8753 
8754  def get_indexes(self):
8755  r"""get_indexes(SingletonContainer self) -> IMP::ParticleIndexes"""
8756  return _IMP_kernel.SingletonContainer_get_indexes(self)
8757 
8758  def get(self, *args):
8759  r"""
8760  get(SingletonContainer self) -> IMP::ParticlesTemp
8761  get(SingletonContainer self, unsigned int i) -> Particle
8762  """
8763  return _IMP_kernel.SingletonContainer_get(self, *args)
8764 
8765  def get_number(self):
8766  r"""get_number(SingletonContainer self) -> unsigned int"""
8767  return _IMP_kernel.SingletonContainer_get_number(self)
8768 
8769  def __init__(self, *args):
8770  r"""
8771  __init__(SingletonContainer self, Model m, std::string name="SingletonContainer %1%") -> SingletonContainer
8772  __init__(SingletonContainer self) -> SingletonContainer
8773  """
8774  if self.__class__ == SingletonContainer:
8775  _self = None
8776  else:
8777  _self = self
8778  _IMP_kernel.SingletonContainer_swiginit(self, _IMP_kernel.new_SingletonContainer(_self, *args))
8779 
8780  if self.__class__ != SingletonContainer:
8781  _director_objects.register(self)
8782 
8783 
8784 
8785 
8786  def do_apply(self, sm):
8787  r"""do_apply(SingletonContainer self, SingletonModifier sm)"""
8788  return _IMP_kernel.SingletonContainer_do_apply(self, sm)
8789 
8790  def do_apply_moved(self, sm, moved_pis, reset_pis):
8791  r"""do_apply_moved(SingletonContainer self, SingletonModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
8792  return _IMP_kernel.SingletonContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
8793 
8794  def do_get_provides_access(self):
8795  r"""do_get_provides_access(SingletonContainer self) -> bool"""
8796  return _IMP_kernel.SingletonContainer_do_get_provides_access(self)
8797  __swig_destroy__ = _IMP_kernel.delete_SingletonContainer
8798 
8799  def __str__(self):
8800  r"""__str__(SingletonContainer self) -> std::string"""
8801  return _IMP_kernel.SingletonContainer___str__(self)
8802 
8803  def __repr__(self):
8804  r"""__repr__(SingletonContainer self) -> std::string"""
8805  return _IMP_kernel.SingletonContainer___repr__(self)
8806 
8807  @staticmethod
8808  def get_from(o):
8809  return _object_cast_to_SingletonContainer(o)
8810 
8811 
8812  def do_show(self, out):
8813  pass
8814 
8815  @staticmethod
8816  def get_from(o):
8817  return _object_cast_to_SingletonContainer(o)
8818 
8819  def __disown__(self):
8820  self.this.disown()
8821  _IMP_kernel.disown_SingletonContainer(self)
8822  return weakref.proxy(self)
8823 
8824  def do_destroy(self):
8825  r"""do_destroy(SingletonContainer self)"""
8826  return _IMP_kernel.SingletonContainer_do_destroy(self)
8827 
8828  def handle_set_has_required_score_states(self, arg0):
8829  r"""handle_set_has_required_score_states(SingletonContainer self, bool arg0)"""
8830  return _IMP_kernel.SingletonContainer_handle_set_has_required_score_states(self, arg0)
8831 
8832  def do_get_inputs(self):
8833  r"""do_get_inputs(SingletonContainer self) -> IMP::ModelObjectsTemp"""
8834  return _IMP_kernel.SingletonContainer_do_get_inputs(self)
8835 
8836  def do_get_interactions(self):
8837  r"""do_get_interactions(SingletonContainer self) -> IMP::ModelObjectsTemps"""
8838  return _IMP_kernel.SingletonContainer_do_get_interactions(self)
8839 
8840  def do_get_contents_hash(self):
8841  r"""do_get_contents_hash(SingletonContainer self) -> std::size_t"""
8842  return _IMP_kernel.SingletonContainer_do_get_contents_hash(self)
8843 
8844 # Register SingletonContainer in _IMP_kernel:
8845 _IMP_kernel.SingletonContainer_swigregister(SingletonContainer)
8846 class _SingletonContainerAdaptor(_InputAdaptor):
8847  r"""Proxy of C++ IMP::SingletonContainerAdaptor class."""
8848 
8849  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8850  __repr__ = _swig_repr
8851 
8852  def __init__(self, *args):
8853  r"""
8854  __init__(_SingletonContainerAdaptor self) -> _SingletonContainerAdaptor
8855  __init__(_SingletonContainerAdaptor self, SingletonContainer c) -> _SingletonContainerAdaptor
8856  __init__(_SingletonContainerAdaptor self, IMP::ParticlesTemp const & t) -> _SingletonContainerAdaptor
8857  """
8858  _IMP_kernel._SingletonContainerAdaptor_swiginit(self, _IMP_kernel.new__SingletonContainerAdaptor(*args))
8859 
8860  def set_name_if_default(self, name):
8861  r"""set_name_if_default(_SingletonContainerAdaptor self, std::string name)"""
8862  return _IMP_kernel._SingletonContainerAdaptor_set_name_if_default(self, name)
8863  __swig_destroy__ = _IMP_kernel.delete__SingletonContainerAdaptor
8864 
8865 # Register _SingletonContainerAdaptor in _IMP_kernel:
8866 _IMP_kernel._SingletonContainerAdaptor_swigregister(_SingletonContainerAdaptor)
8867 class TripletModifier(_ParticleInputs, _ParticleOutputs, Object):
8868  r"""Proxy of C++ IMP::TripletModifier class."""
8869 
8870  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8871 
8872  def __init__(self, *args):
8873  r"""__init__(TripletModifier self, std::string name="TripletModifier %1%") -> TripletModifier"""
8874  if self.__class__ == TripletModifier:
8875  _self = None
8876  else:
8877  _self = self
8878  _IMP_kernel.TripletModifier_swiginit(self, _IMP_kernel.new_TripletModifier(_self, *args))
8879 
8880  if self.__class__ != TripletModifier:
8881  _director_objects.register(self)
8882 
8883 
8884 
8885 
8886  def apply_index(self, m, v):
8887  r"""apply_index(TripletModifier self, Model m, IMP::ParticleIndexTriplet const & v)"""
8888  return _IMP_kernel.TripletModifier_apply_index(self, m, v)
8889 
8890  def apply_indexes(self, m, o, lower_bound, upper_bound):
8891  r"""apply_indexes(TripletModifier self, Model m, IMP::ParticleIndexTriplets const & o, unsigned int lower_bound, unsigned int upper_bound)"""
8892  return _IMP_kernel.TripletModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
8893 
8894  def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
8895  r"""apply_indexes_moved(TripletModifier self, Model m, IMP::ParticleIndexTriplets const & o, unsigned int lower_bound, unsigned int upper_bound, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
8896  return _IMP_kernel.TripletModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
8897 
8898  def __str__(self):
8899  r"""__str__(TripletModifier self) -> std::string"""
8900  return _IMP_kernel.TripletModifier___str__(self)
8901 
8902  def __repr__(self):
8903  r"""__repr__(TripletModifier self) -> std::string"""
8904  return _IMP_kernel.TripletModifier___repr__(self)
8905 
8906  @staticmethod
8907  def get_from(o):
8908  return _object_cast_to_TripletModifier(o)
8909 
8910 
8911  def do_show(self, out):
8912  pass
8913 
8914  @staticmethod
8915  def get_from(o):
8916  return _object_cast_to_TripletModifier(o)
8917 
8918  __swig_destroy__ = _IMP_kernel.delete_TripletModifier
8919  def __disown__(self):
8920  self.this.disown()
8921  _IMP_kernel.disown_TripletModifier(self)
8922  return weakref.proxy(self)
8923 
8924  def do_get_inputs(self, m, pis):
8925  r"""do_get_inputs(TripletModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8926  return _IMP_kernel.TripletModifier_do_get_inputs(self, m, pis)
8927 
8928  def do_get_outputs(self, m, pis):
8929  r"""do_get_outputs(TripletModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8930  return _IMP_kernel.TripletModifier_do_get_outputs(self, m, pis)
8931 
8932  def do_destroy(self):
8933  r"""do_destroy(TripletModifier self)"""
8934  return _IMP_kernel.TripletModifier_do_destroy(self)
8935 
8936 # Register TripletModifier in _IMP_kernel:
8937 _IMP_kernel.TripletModifier_swigregister(TripletModifier)
8938 class TripletScore(_ParticleInputs, Object):
8939  r"""Proxy of C++ IMP::TripletScore class."""
8940 
8941  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8942 
8943  def __init__(self, *args):
8944  r"""__init__(TripletScore self, std::string name="TripletScore %1%") -> TripletScore"""
8945  if self.__class__ == TripletScore:
8946  _self = None
8947  else:
8948  _self = self
8949  _IMP_kernel.TripletScore_swiginit(self, _IMP_kernel.new_TripletScore(_self, *args))
8950 
8951  if self.__class__ != TripletScore:
8952  _director_objects.register(self)
8953 
8954 
8955 
8956 
8957  def evaluate_index(self, m, vt, da):
8958  r"""evaluate_index(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt, DerivativeAccumulator da) -> double"""
8959  return _IMP_kernel.TripletScore_evaluate_index(self, m, vt, da)
8960 
8961  def check_indexes(self, m, pis):
8962  r"""check_indexes(TripletScore self, Model m, IMP::ParticleIndexes const & pis) -> bool"""
8963  return _IMP_kernel.TripletScore_check_indexes(self, m, pis)
8964 
8965  def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
8966  r"""evaluate_indexes(TripletScore self, Model m, IMP::ParticleIndexTriplets const & o, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
8967  return _IMP_kernel.TripletScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
8968 
8969  def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
8970  r"""evaluate_indexes_scores(TripletScore self, Model m, IMP::ParticleIndexTriplets const & o, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
8971  return _IMP_kernel.TripletScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
8972 
8973  def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
8974  r"""evaluate_indexes_delta(TripletScore self, Model m, IMP::ParticleIndexTriplets const & o, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
8975  return _IMP_kernel.TripletScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
8976 
8977  def evaluate_if_good_index(self, m, vt, da, max):
8978  r"""evaluate_if_good_index(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt, DerivativeAccumulator da, double max) -> double"""
8979  return _IMP_kernel.TripletScore_evaluate_if_good_index(self, m, vt, da, max)
8980 
8981  def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
8982  r"""evaluate_if_good_indexes(TripletScore self, Model m, IMP::ParticleIndexTriplets const & o, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
8983  return _IMP_kernel.TripletScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
8984 
8985  def create_current_decomposition(self, m, vt):
8986  r"""create_current_decomposition(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt) -> IMP::Restraints"""
8987  return _IMP_kernel.TripletScore_create_current_decomposition(self, m, vt)
8988 
8989  def do_create_current_decomposition(self, m, vt):
8990  r"""do_create_current_decomposition(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt) -> IMP::Restraints"""
8991  return _IMP_kernel.TripletScore_do_create_current_decomposition(self, m, vt)
8992  __swig_destroy__ = _IMP_kernel.delete_TripletScore
8993 
8994  def __str__(self):
8995  r"""__str__(TripletScore self) -> std::string"""
8996  return _IMP_kernel.TripletScore___str__(self)
8997 
8998  def __repr__(self):
8999  r"""__repr__(TripletScore self) -> std::string"""
9000  return _IMP_kernel.TripletScore___repr__(self)
9001 
9002  @staticmethod
9003  def get_from(o):
9004  return _object_cast_to_TripletScore(o)
9005 
9006 
9007  def do_show(self, out):
9008  pass
9009 
9010  @staticmethod
9011  def get_from(o):
9012  return _object_cast_to_TripletScore(o)
9013 
9014  def __disown__(self):
9015  self.this.disown()
9016  _IMP_kernel.disown_TripletScore(self)
9017  return weakref.proxy(self)
9018 
9019  def do_get_inputs(self, m, pis):
9020  r"""do_get_inputs(TripletScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9021  return _IMP_kernel.TripletScore_do_get_inputs(self, m, pis)
9022 
9023  def do_destroy(self):
9024  r"""do_destroy(TripletScore self)"""
9025  return _IMP_kernel.TripletScore_do_destroy(self)
9026 
9027 # Register TripletScore in _IMP_kernel:
9028 _IMP_kernel.TripletScore_swigregister(TripletScore)
9029 class TripletPredicate(_ParticleInputs, Object):
9030  r"""Proxy of C++ IMP::TripletPredicate class."""
9031 
9032  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9033 
9034  def __init__(self, *args):
9035  r"""__init__(TripletPredicate self, std::string name="TripletPredicate %1%") -> TripletPredicate"""
9036  if self.__class__ == TripletPredicate:
9037  _self = None
9038  else:
9039  _self = self
9040  _IMP_kernel.TripletPredicate_swiginit(self, _IMP_kernel.new_TripletPredicate(_self, *args))
9041 
9042  if self.__class__ != TripletPredicate:
9043  _director_objects.register(self)
9044 
9045 
9046 
9047 
9048  def setup_for_get_value_index_in_batch(self, arg0):
9049  r"""setup_for_get_value_index_in_batch(TripletPredicate self, Model arg0)"""
9050  return _IMP_kernel.TripletPredicate_setup_for_get_value_index_in_batch(self, arg0)
9051 
9052  def get_value_index_in_batch(self, m, vt):
9053  r"""get_value_index_in_batch(TripletPredicate self, Model m, IMP::ParticleIndexTriplet const & vt) -> int"""
9054  return _IMP_kernel.TripletPredicate_get_value_index_in_batch(self, m, vt)
9055 
9056  def __call__(self, m, vt):
9057  r"""__call__(TripletPredicate self, Model m, IMP::ParticleIndexTriplet const & vt) -> int"""
9058  return _IMP_kernel.TripletPredicate___call__(self, m, vt)
9059 
9060  def get_value_index(self, *args):
9061  r"""
9062  get_value_index(TripletPredicate self, Model m, IMP::ParticleIndexTriplet const & vt) -> int
9063  get_value_index(TripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
9064  """
9065  return _IMP_kernel.TripletPredicate_get_value_index(self, *args)
9066  __swig_destroy__ = _IMP_kernel.delete_TripletPredicate
9067 
9068  def __str__(self):
9069  r"""__str__(TripletPredicate self) -> std::string"""
9070  return _IMP_kernel.TripletPredicate___str__(self)
9071 
9072  def __repr__(self):
9073  r"""__repr__(TripletPredicate self) -> std::string"""
9074  return _IMP_kernel.TripletPredicate___repr__(self)
9075 
9076  @staticmethod
9077  def get_from(o):
9078  return _object_cast_to_TripletPredicate(o)
9079 
9080 
9081  def do_show(self, out):
9082  pass
9083 
9084  @staticmethod
9085  def get_from(o):
9086  return _object_cast_to_TripletPredicate(o)
9087 
9088  def __disown__(self):
9089  self.this.disown()
9090  _IMP_kernel.disown_TripletPredicate(self)
9091  return weakref.proxy(self)
9092 
9093  def do_get_inputs(self, m, pis):
9094  r"""do_get_inputs(TripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9095  return _IMP_kernel.TripletPredicate_do_get_inputs(self, m, pis)
9096 
9097  def do_destroy(self):
9098  r"""do_destroy(TripletPredicate self)"""
9099  return _IMP_kernel.TripletPredicate_do_destroy(self)
9100 
9101 # Register TripletPredicate in _IMP_kernel:
9102 _IMP_kernel.TripletPredicate_swigregister(TripletPredicate)
9104  r"""Proxy of C++ IMP::TripletContainer class."""
9105 
9106  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9107 
9108  def apply_generic(self, m):
9109  r"""apply_generic(TripletContainer self, TripletModifier m)"""
9110  return _IMP_kernel.TripletContainer_apply_generic(self, m)
9111 
9112  def apply_generic_moved(self, m, moved_pis, reset_pis):
9113  r"""apply_generic_moved(TripletContainer self, TripletModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
9114  return _IMP_kernel.TripletContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
9115 
9116  def apply(self, sm):
9117  r"""apply(TripletContainer self, TripletModifier sm)"""
9118  return _IMP_kernel.TripletContainer_apply(self, sm)
9119 
9120  def apply_moved(self, sm, moved_pis, reset_pis):
9121  r"""apply_moved(TripletContainer self, TripletModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
9122  return _IMP_kernel.TripletContainer_apply_moved(self, sm, moved_pis, reset_pis)
9123 
9124  def get_range_indexes(self):
9125  r"""get_range_indexes(TripletContainer self) -> IMP::ParticleIndexTriplets"""
9126  return _IMP_kernel.TripletContainer_get_range_indexes(self)
9127 
9128  def get_contents(self):
9129  r"""get_contents(TripletContainer self) -> IMP::ParticleIndexTriplets const &"""
9130  return _IMP_kernel.TripletContainer_get_contents(self)
9131 
9132  def get_indexes(self):
9133  r"""get_indexes(TripletContainer self) -> IMP::ParticleIndexTriplets"""
9134  return _IMP_kernel.TripletContainer_get_indexes(self)
9135 
9136  def get(self, *args):
9137  r"""
9138  get(TripletContainer self) -> IMP::ParticleTripletsTemp
9139  get(TripletContainer self, unsigned int i) -> IMP::ParticleTriplet
9140  """
9141  return _IMP_kernel.TripletContainer_get(self, *args)
9142 
9143  def get_number(self):
9144  r"""get_number(TripletContainer self) -> unsigned int"""
9145  return _IMP_kernel.TripletContainer_get_number(self)
9146 
9147  def __init__(self, *args):
9148  r"""
9149  __init__(TripletContainer self, Model m, std::string name="TripletContainer %1%") -> TripletContainer
9150  __init__(TripletContainer self) -> TripletContainer
9151  """
9152  if self.__class__ == TripletContainer:
9153  _self = None
9154  else:
9155  _self = self
9156  _IMP_kernel.TripletContainer_swiginit(self, _IMP_kernel.new_TripletContainer(_self, *args))
9157 
9158  if self.__class__ != TripletContainer:
9159  _director_objects.register(self)
9160 
9161 
9162 
9163 
9164  def do_apply(self, sm):
9165  r"""do_apply(TripletContainer self, TripletModifier sm)"""
9166  return _IMP_kernel.TripletContainer_do_apply(self, sm)
9167 
9168  def do_apply_moved(self, sm, moved_pis, reset_pis):
9169  r"""do_apply_moved(TripletContainer self, TripletModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
9170  return _IMP_kernel.TripletContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
9171 
9172  def do_get_provides_access(self):
9173  r"""do_get_provides_access(TripletContainer self) -> bool"""
9174  return _IMP_kernel.TripletContainer_do_get_provides_access(self)
9175  __swig_destroy__ = _IMP_kernel.delete_TripletContainer
9176 
9177  def __str__(self):
9178  r"""__str__(TripletContainer self) -> std::string"""
9179  return _IMP_kernel.TripletContainer___str__(self)
9180 
9181  def __repr__(self):
9182  r"""__repr__(TripletContainer self) -> std::string"""
9183  return _IMP_kernel.TripletContainer___repr__(self)
9184 
9185  @staticmethod
9186  def get_from(o):
9187  return _object_cast_to_TripletContainer(o)
9188 
9189 
9190  def do_show(self, out):
9191  pass
9192 
9193  @staticmethod
9194  def get_from(o):
9195  return _object_cast_to_TripletContainer(o)
9196 
9197  def __disown__(self):
9198  self.this.disown()
9199  _IMP_kernel.disown_TripletContainer(self)
9200  return weakref.proxy(self)
9201 
9202  def do_destroy(self):
9203  r"""do_destroy(TripletContainer self)"""
9204  return _IMP_kernel.TripletContainer_do_destroy(self)
9205 
9206  def handle_set_has_required_score_states(self, arg0):
9207  r"""handle_set_has_required_score_states(TripletContainer self, bool arg0)"""
9208  return _IMP_kernel.TripletContainer_handle_set_has_required_score_states(self, arg0)
9209 
9210  def do_get_inputs(self):
9211  r"""do_get_inputs(TripletContainer self) -> IMP::ModelObjectsTemp"""
9212  return _IMP_kernel.TripletContainer_do_get_inputs(self)
9213 
9214  def do_get_interactions(self):
9215  r"""do_get_interactions(TripletContainer self) -> IMP::ModelObjectsTemps"""
9216  return _IMP_kernel.TripletContainer_do_get_interactions(self)
9217 
9218  def do_get_contents_hash(self):
9219  r"""do_get_contents_hash(TripletContainer self) -> std::size_t"""
9220  return _IMP_kernel.TripletContainer_do_get_contents_hash(self)
9221 
9222 # Register TripletContainer in _IMP_kernel:
9223 _IMP_kernel.TripletContainer_swigregister(TripletContainer)
9224 class _TripletContainerAdaptor(_InputAdaptor):
9225  r"""Proxy of C++ IMP::TripletContainerAdaptor class."""
9226 
9227  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9228  __repr__ = _swig_repr
9229 
9230  def __init__(self, *args):
9231  r"""
9232  __init__(_TripletContainerAdaptor self) -> _TripletContainerAdaptor
9233  __init__(_TripletContainerAdaptor self, TripletContainer c) -> _TripletContainerAdaptor
9234  __init__(_TripletContainerAdaptor self, IMP::ParticleTripletsTemp const & t) -> _TripletContainerAdaptor
9235  """
9236  _IMP_kernel._TripletContainerAdaptor_swiginit(self, _IMP_kernel.new__TripletContainerAdaptor(*args))
9237 
9238  def set_name_if_default(self, name):
9239  r"""set_name_if_default(_TripletContainerAdaptor self, std::string name)"""
9240  return _IMP_kernel._TripletContainerAdaptor_set_name_if_default(self, name)
9241  __swig_destroy__ = _IMP_kernel.delete__TripletContainerAdaptor
9242 
9243 # Register _TripletContainerAdaptor in _IMP_kernel:
9244 _IMP_kernel._TripletContainerAdaptor_swigregister(_TripletContainerAdaptor)
9245 
9246 def write_particles_to_buffer(particles, keys):
9247  r"""write_particles_to_buffer(IMP::ParticlesTemp const & particles, IMP::FloatKeys const & keys) -> IMP::Vector< char,std::allocator< char > >"""
9248  return _IMP_kernel.write_particles_to_buffer(particles, keys)
9249 
9250 def read_particles_from_buffer(buffer, particles, keys):
9251  r"""read_particles_from_buffer(IMP::Vector< char,std::allocator< char > > const & buffer, IMP::ParticlesTemp const & particles, IMP::FloatKeys const & keys)"""
9252  return _IMP_kernel.read_particles_from_buffer(buffer, particles, keys)
9253 
9254 def get_particles(m, ps):
9255  r"""get_particles(Model m, IMP::ParticleIndexes const & ps) -> IMP::ParticlesTemp"""
9256  return _IMP_kernel.get_particles(m, ps)
9257 
9258 def get_indexes(*args):
9259  r"""
9260  get_indexes(IMP::ParticlesTemp const & ps) -> IMP::ParticleIndexes
9261  get_indexes(IMP::ParticlePairsTemp const & ps) -> IMP::ParticleIndexPairs
9262  """
9263  return _IMP_kernel.get_indexes(*args)
9264 class _ParticleIndexAdaptor(object):
9265  r"""Proxy of C++ IMP::ParticleIndexAdaptor class."""
9266 
9267  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9268  __repr__ = _swig_repr
9269 
9270  def __init__(self, *args):
9271  r"""
9272  __init__(_ParticleIndexAdaptor self, Particle p) -> _ParticleIndexAdaptor
9273  __init__(_ParticleIndexAdaptor self, ParticleIndex pi) -> _ParticleIndexAdaptor
9274  __init__(_ParticleIndexAdaptor self, Decorator d) -> _ParticleIndexAdaptor
9275  """
9276  _IMP_kernel._ParticleIndexAdaptor_swiginit(self, _IMP_kernel.new__ParticleIndexAdaptor(*args))
9277  __swig_destroy__ = _IMP_kernel.delete__ParticleIndexAdaptor
9278 
9279 # Register _ParticleIndexAdaptor in _IMP_kernel:
9280 _IMP_kernel._ParticleIndexAdaptor_swigregister(_ParticleIndexAdaptor)
9281 class _ParticleIndexesAdaptor(_InputAdaptor):
9282  r"""Proxy of C++ IMP::ParticleIndexesAdaptor class."""
9283 
9284  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9285  __repr__ = _swig_repr
9286 
9287  def __init__(self, *args):
9288  r"""
9289  __init__(_ParticleIndexesAdaptor self, IMP::ParticlesTemp const & ps) -> _ParticleIndexesAdaptor
9290  __init__(_ParticleIndexesAdaptor self, IMP::ParticleIndexes const & pi) -> _ParticleIndexesAdaptor
9291  __init__(_ParticleIndexesAdaptor self) -> _ParticleIndexesAdaptor
9292  """
9293  _IMP_kernel._ParticleIndexesAdaptor_swiginit(self, _IMP_kernel.new__ParticleIndexesAdaptor(*args))
9294  __swig_destroy__ = _IMP_kernel.delete__ParticleIndexesAdaptor
9295 
9296 # Register _ParticleIndexesAdaptor in _IMP_kernel:
9297 _IMP_kernel._ParticleIndexesAdaptor_swigregister(_ParticleIndexesAdaptor)
9298 class _ParticleIndexPairsAdaptor(object):
9299  r"""Proxy of C++ IMP::ParticleIndexPairsAdaptor class."""
9300 
9301  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9302  __repr__ = _swig_repr
9303 
9304  def __init__(self, *args):
9305  r"""
9306  __init__(_ParticleIndexPairsAdaptor self, IMP::ParticlePairsTemp const & ps) -> _ParticleIndexPairsAdaptor
9307  __init__(_ParticleIndexPairsAdaptor self, IMP::ParticleIndexPairs const & pi) -> _ParticleIndexPairsAdaptor
9308  __init__(_ParticleIndexPairsAdaptor self) -> _ParticleIndexPairsAdaptor
9309  """
9310  _IMP_kernel._ParticleIndexPairsAdaptor_swiginit(self, _IMP_kernel.new__ParticleIndexPairsAdaptor(*args))
9311  __swig_destroy__ = _IMP_kernel.delete__ParticleIndexPairsAdaptor
9312 
9313 # Register _ParticleIndexPairsAdaptor in _IMP_kernel:
9314 _IMP_kernel._ParticleIndexPairsAdaptor_swigregister(_ParticleIndexPairsAdaptor)
9315 class _ConstRestraint(Restraint):
9316  r"""Proxy of C++ IMP::internal::_ConstRestraint class."""
9317 
9318  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9319 
9320  def __init__(self, *args):
9321  r"""
9322  __init__(_ConstRestraint self, Model m, IMP::ParticleIndexes const & pis, double v) -> _ConstRestraint
9323  __init__(_ConstRestraint self) -> _ConstRestraint
9324  """
9325  _IMP_kernel._ConstRestraint_swiginit(self, _IMP_kernel.new__ConstRestraint(*args))
9326 
9327  def get_value(self):
9328  r"""get_value(_ConstRestraint self) -> double"""
9329  return _IMP_kernel._ConstRestraint_get_value(self)
9330 
9331  def do_create_decomposition(self):
9332  r"""do_create_decomposition(_ConstRestraint self) -> IMP::Restraints"""
9333  return _IMP_kernel._ConstRestraint_do_create_decomposition(self)
9334 
9335  def do_get_inputs(self):
9336  r"""do_get_inputs(_ConstRestraint self) -> IMP::ModelObjectsTemp"""
9337  return _IMP_kernel._ConstRestraint_do_get_inputs(self)
9338 
9339  def get_version_info(self):
9340  r"""get_version_info(_ConstRestraint self) -> VersionInfo"""
9341  return _IMP_kernel._ConstRestraint_get_version_info(self)
9342  __swig_destroy__ = _IMP_kernel.delete__ConstRestraint
9343 
9344  def __str__(self):
9345  r"""__str__(_ConstRestraint self) -> std::string"""
9346  return _IMP_kernel._ConstRestraint___str__(self)
9347 
9348  def __repr__(self):
9349  r"""__repr__(_ConstRestraint self) -> std::string"""
9350  return _IMP_kernel._ConstRestraint___repr__(self)
9351 
9352  @staticmethod
9353  def get_from(o):
9354  return _object_cast_to__ConstRestraint(o)
9355 
9356 
9357  def _get_as_binary(self):
9358  r"""_get_as_binary(_ConstRestraint self) -> PyObject *"""
9359  return _IMP_kernel._ConstRestraint__get_as_binary(self)
9360 
9361  def _set_from_binary(self, p):
9362  r"""_set_from_binary(_ConstRestraint self, PyObject * p)"""
9363  return _IMP_kernel._ConstRestraint__set_from_binary(self, p)
9364 
9365  def __getstate__(self):
9366  p = self._get_as_binary()
9367  if len(self.__dict__) > 1:
9368  d = self.__dict__.copy()
9369  del d['this']
9370  p = (d, p)
9371  return p
9372 
9373  def __setstate__(self, p):
9374  if not hasattr(self, 'this'):
9375  self.__init__()
9376  if isinstance(p, tuple):
9377  d, p = p
9378  self.__dict__.update(d)
9379  return self._set_from_binary(p)
9380 
9381 
9382  def _get_jax(self):
9383  value = self.get_value()
9384  # We always return `value` regardless of the JAX Model
9385  return self._wrap_jax(lambda jm: value)
9386 
9387 
9388 # Register _ConstRestraint in _IMP_kernel:
9389 _IMP_kernel._ConstRestraint_swigregister(_ConstRestraint)
9390 class _ConstSingletonScore(SingletonScore):
9391  r"""Proxy of C++ IMP::internal::_ConstSingletonScore class."""
9392 
9393  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9394 
9395  def __init__(self, *args):
9396  r"""
9397  __init__(_ConstSingletonScore self, double v) -> _ConstSingletonScore
9398  __init__(_ConstSingletonScore self) -> _ConstSingletonScore
9399  """
9400  _IMP_kernel._ConstSingletonScore_swiginit(self, _IMP_kernel.new__ConstSingletonScore(*args))
9401 
9402  def get_value(self):
9403  r"""get_value(_ConstSingletonScore self) -> double"""
9404  return _IMP_kernel._ConstSingletonScore_get_value(self)
9405 
9406  def do_get_inputs(self, arg2, arg3):
9407  r"""do_get_inputs(_ConstSingletonScore self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
9408  return _IMP_kernel._ConstSingletonScore_do_get_inputs(self, arg2, arg3)
9409 
9410  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
9411  r"""evaluate_indexes(_ConstSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
9412  return _IMP_kernel._ConstSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
9413 
9414  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
9415  r"""evaluate_indexes_scores(_ConstSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
9416  return _IMP_kernel._ConstSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
9417 
9418  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
9419  r"""evaluate_indexes_delta(_ConstSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
9420  return _IMP_kernel._ConstSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
9421 
9422  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
9423  r"""evaluate_if_good_indexes(_ConstSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
9424  return _IMP_kernel._ConstSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
9425 
9426  def get_version_info(self):
9427  r"""get_version_info(_ConstSingletonScore self) -> VersionInfo"""
9428  return _IMP_kernel._ConstSingletonScore_get_version_info(self)
9429  __swig_destroy__ = _IMP_kernel.delete__ConstSingletonScore
9430 
9431  def __str__(self):
9432  r"""__str__(_ConstSingletonScore self) -> std::string"""
9433  return _IMP_kernel._ConstSingletonScore___str__(self)
9434 
9435  def __repr__(self):
9436  r"""__repr__(_ConstSingletonScore self) -> std::string"""
9437  return _IMP_kernel._ConstSingletonScore___repr__(self)
9438 
9439  @staticmethod
9440  def get_from(o):
9441  return _object_cast_to__ConstSingletonScore(o)
9442 
9443 
9444  def _get_as_binary(self):
9445  r"""_get_as_binary(_ConstSingletonScore self) -> PyObject *"""
9446  return _IMP_kernel._ConstSingletonScore__get_as_binary(self)
9447 
9448  def _set_from_binary(self, p):
9449  r"""_set_from_binary(_ConstSingletonScore self, PyObject * p)"""
9450  return _IMP_kernel._ConstSingletonScore__set_from_binary(self, p)
9451 
9452  def __getstate__(self):
9453  p = self._get_as_binary()
9454  if len(self.__dict__) > 1:
9455  d = self.__dict__.copy()
9456  del d['this']
9457  p = (d, p)
9458  return p
9459 
9460  def __setstate__(self, p):
9461  if not hasattr(self, 'this'):
9462  self.__init__()
9463  if isinstance(p, tuple):
9464  d, p = p
9465  self.__dict__.update(d)
9466  return self._set_from_binary(p)
9467 
9468 
9469  def _get_jax(self, m, indexes):
9470  value = self.get_value()
9471  # We always return `value` regardless of the JAX Model or indexes
9472  return self._wrap_jax(m, lambda jm: value)
9473 
9474 
9475 # Register _ConstSingletonScore in _IMP_kernel:
9476 _IMP_kernel._ConstSingletonScore_swigregister(_ConstSingletonScore)
9477 class _ConstPairScore(PairScore):
9478  r"""Proxy of C++ IMP::internal::_ConstPairScore class."""
9479 
9480  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9481 
9482  def __init__(self, *args):
9483  r"""
9484  __init__(_ConstPairScore self, double v) -> _ConstPairScore
9485  __init__(_ConstPairScore self) -> _ConstPairScore
9486  """
9487  _IMP_kernel._ConstPairScore_swiginit(self, _IMP_kernel.new__ConstPairScore(*args))
9488 
9489  def get_value(self):
9490  r"""get_value(_ConstPairScore self) -> double"""
9491  return _IMP_kernel._ConstPairScore_get_value(self)
9492 
9493  def do_get_inputs(self, arg2, arg3):
9494  r"""do_get_inputs(_ConstPairScore self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
9495  return _IMP_kernel._ConstPairScore_do_get_inputs(self, arg2, arg3)
9496 
9497  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
9498  r"""evaluate_indexes(_ConstPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
9499  return _IMP_kernel._ConstPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
9500 
9501  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
9502  r"""evaluate_indexes_scores(_ConstPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
9503  return _IMP_kernel._ConstPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
9504 
9505  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
9506  r"""evaluate_indexes_delta(_ConstPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
9507  return _IMP_kernel._ConstPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
9508 
9509  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
9510  r"""evaluate_if_good_indexes(_ConstPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
9511  return _IMP_kernel._ConstPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
9512 
9513  def get_version_info(self):
9514  r"""get_version_info(_ConstPairScore self) -> VersionInfo"""
9515  return _IMP_kernel._ConstPairScore_get_version_info(self)
9516  __swig_destroy__ = _IMP_kernel.delete__ConstPairScore
9517 
9518  def __str__(self):
9519  r"""__str__(_ConstPairScore self) -> std::string"""
9520  return _IMP_kernel._ConstPairScore___str__(self)
9521 
9522  def __repr__(self):
9523  r"""__repr__(_ConstPairScore self) -> std::string"""
9524  return _IMP_kernel._ConstPairScore___repr__(self)
9525 
9526  @staticmethod
9527  def get_from(o):
9528  return _object_cast_to__ConstPairScore(o)
9529 
9530 
9531  def _get_as_binary(self):
9532  r"""_get_as_binary(_ConstPairScore self) -> PyObject *"""
9533  return _IMP_kernel._ConstPairScore__get_as_binary(self)
9534 
9535  def _set_from_binary(self, p):
9536  r"""_set_from_binary(_ConstPairScore self, PyObject * p)"""
9537  return _IMP_kernel._ConstPairScore__set_from_binary(self, p)
9538 
9539  def __getstate__(self):
9540  p = self._get_as_binary()
9541  if len(self.__dict__) > 1:
9542  d = self.__dict__.copy()
9543  del d['this']
9544  p = (d, p)
9545  return p
9546 
9547  def __setstate__(self, p):
9548  if not hasattr(self, 'this'):
9549  self.__init__()
9550  if isinstance(p, tuple):
9551  d, p = p
9552  self.__dict__.update(d)
9553  return self._set_from_binary(p)
9554 
9555 
9556  def _get_jax(self, m, indexes):
9557  value = self.get_value()
9558  # We always return `value` regardless of the JAX Model or indexes
9559  return self._wrap_jax(m, lambda jm: value)
9560 
9561 
9562 # Register _ConstPairScore in _IMP_kernel:
9563 _IMP_kernel._ConstPairScore_swigregister(_ConstPairScore)
9564 class _TrivialDecorator(Decorator):
9565  r"""Proxy of C++ IMP::internal::_TrivialDecorator class."""
9566 
9567  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9568 
9569  def __init__(self, *args):
9570  r"""
9571  __init__(_TrivialDecorator self) -> _TrivialDecorator
9572  __init__(_TrivialDecorator self, Model m, ParticleIndex id) -> _TrivialDecorator
9573  __init__(_TrivialDecorator self, _ParticleAdaptor d) -> _TrivialDecorator
9574  """
9575  _IMP_kernel._TrivialDecorator_swiginit(self, _IMP_kernel.new__TrivialDecorator(*args))
9576 
9577  def show(self, *args):
9578  r"""show(_TrivialDecorator self, _ostream out=std::cout)"""
9579  return _IMP_kernel._TrivialDecorator_show(self, *args)
9580 
9581  @staticmethod
9582  def setup_particle(*args):
9583  r"""
9584  setup_particle(Model m, ParticleIndex pi) -> _TrivialDecorator
9585  setup_particle(_ParticleAdaptor pa) -> _TrivialDecorator
9586  """
9587  return _IMP_kernel._TrivialDecorator_setup_particle(*args)
9588 
9589  @staticmethod
9590  def get_is_setup(*args):
9591  r"""
9592  get_is_setup(_ParticleAdaptor p) -> bool
9593  get_is_setup(Model m, ParticleIndex pi) -> bool
9594  """
9595  return _IMP_kernel._TrivialDecorator_get_is_setup(*args)
9596 
9597  def add_attribute(self, *args):
9598  r"""
9599  add_attribute(_TrivialDecorator self, FloatKey k, IMP::Float v, bool opt)
9600  add_attribute(_TrivialDecorator self, FloatKey a0, IMP::Float a1)
9601  add_attribute(_TrivialDecorator self, IntKey a0, IMP::Int a1)
9602  add_attribute(_TrivialDecorator self, FloatsKey a0, IMP::Floats a1)
9603  add_attribute(_TrivialDecorator self, IntsKey a0, IMP::Ints a1)
9604  add_attribute(_TrivialDecorator self, StringKey a0, IMP::String a1)
9605  add_attribute(_TrivialDecorator self, ParticleIndexKey a0, Particle a1)
9606  add_attribute(_TrivialDecorator self, ObjectKey a0, Object a1)
9607  add_attribute(_TrivialDecorator self, SparseFloatKey a0, IMP::Float a1)
9608  add_attribute(_TrivialDecorator self, SparseIntKey a0, IMP::Int a1)
9609  add_attribute(_TrivialDecorator self, SparseStringKey a0, IMP::String a1)
9610  add_attribute(_TrivialDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
9611  """
9612  return _IMP_kernel._TrivialDecorator_add_attribute(self, *args)
9613 
9614  def get_value(self, *args):
9615  r"""
9616  get_value(_TrivialDecorator self, FloatKey a0) -> IMP::Float
9617  get_value(_TrivialDecorator self, IntKey a0) -> IMP::Int
9618  get_value(_TrivialDecorator self, FloatsKey a0) -> IMP::Floats
9619  get_value(_TrivialDecorator self, IntsKey a0) -> IMP::Ints
9620  get_value(_TrivialDecorator self, StringKey a0) -> IMP::String
9621  get_value(_TrivialDecorator self, ParticleIndexKey a0) -> Particle
9622  get_value(_TrivialDecorator self, ObjectKey a0) -> Object
9623  get_value(_TrivialDecorator self, SparseFloatKey a0) -> IMP::Float
9624  get_value(_TrivialDecorator self, SparseIntKey a0) -> IMP::Int
9625  get_value(_TrivialDecorator self, SparseStringKey a0) -> IMP::String
9626  get_value(_TrivialDecorator self, SparseParticleIndexKey a0) -> ParticleIndex
9627  """
9628  return _IMP_kernel._TrivialDecorator_get_value(self, *args)
9629 
9630  def set_value(self, *args):
9631  r"""
9632  set_value(_TrivialDecorator self, FloatKey a0, IMP::Float a1)
9633  set_value(_TrivialDecorator self, IntKey a0, IMP::Int a1)
9634  set_value(_TrivialDecorator self, FloatsKey a0, IMP::Floats a1)
9635  set_value(_TrivialDecorator self, IntsKey a0, IMP::Ints a1)
9636  set_value(_TrivialDecorator self, StringKey a0, IMP::String a1)
9637  set_value(_TrivialDecorator self, ParticleIndexKey a0, Particle a1)
9638  set_value(_TrivialDecorator self, ObjectKey a0, Object a1)
9639  set_value(_TrivialDecorator self, SparseFloatKey a0, IMP::Float a1)
9640  set_value(_TrivialDecorator self, SparseIntKey a0, IMP::Int a1)
9641  set_value(_TrivialDecorator self, SparseStringKey a0, IMP::String a1)
9642  set_value(_TrivialDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
9643  """
9644  return _IMP_kernel._TrivialDecorator_set_value(self, *args)
9645 
9646  def remove_attribute(self, *args):
9647  r"""
9648  remove_attribute(_TrivialDecorator self, FloatKey a0)
9649  remove_attribute(_TrivialDecorator self, IntKey a0)
9650  remove_attribute(_TrivialDecorator self, FloatsKey a0)
9651  remove_attribute(_TrivialDecorator self, IntsKey a0)
9652  remove_attribute(_TrivialDecorator self, StringKey a0)
9653  remove_attribute(_TrivialDecorator self, ParticleIndexKey a0)
9654  remove_attribute(_TrivialDecorator self, ObjectKey a0)
9655  remove_attribute(_TrivialDecorator self, SparseFloatKey a0)
9656  remove_attribute(_TrivialDecorator self, SparseIntKey a0)
9657  remove_attribute(_TrivialDecorator self, SparseStringKey a0)
9658  remove_attribute(_TrivialDecorator self, SparseParticleIndexKey a0)
9659  """
9660  return _IMP_kernel._TrivialDecorator_remove_attribute(self, *args)
9661 
9662  def has_attribute(self, *args):
9663  r"""
9664  has_attribute(_TrivialDecorator self, FloatKey a0) -> bool
9665  has_attribute(_TrivialDecorator self, IntKey a0) -> bool
9666  has_attribute(_TrivialDecorator self, FloatsKey a0) -> bool
9667  has_attribute(_TrivialDecorator self, IntsKey a0) -> bool
9668  has_attribute(_TrivialDecorator self, StringKey a0) -> bool
9669  has_attribute(_TrivialDecorator self, ParticleIndexKey a0) -> bool
9670  has_attribute(_TrivialDecorator self, ObjectKey a0) -> bool
9671  has_attribute(_TrivialDecorator self, SparseFloatKey a0) -> bool
9672  has_attribute(_TrivialDecorator self, SparseIntKey a0) -> bool
9673  has_attribute(_TrivialDecorator self, SparseStringKey a0) -> bool
9674  has_attribute(_TrivialDecorator self, SparseParticleIndexKey a0) -> bool
9675  """
9676  return _IMP_kernel._TrivialDecorator_has_attribute(self, *args)
9677 
9678  def get_derivative(self, a0):
9679  r"""get_derivative(_TrivialDecorator self, FloatKey a0) -> double"""
9680  return _IMP_kernel._TrivialDecorator_get_derivative(self, a0)
9681 
9682  def get_name(self):
9683  r"""get_name(_TrivialDecorator self) -> std::string"""
9684  return _IMP_kernel._TrivialDecorator_get_name(self)
9685 
9686  def clear_caches(self):
9687  r"""clear_caches(_TrivialDecorator self)"""
9688  return _IMP_kernel._TrivialDecorator_clear_caches(self)
9689 
9690  def set_name(self, a0):
9691  r"""set_name(_TrivialDecorator self, std::string a0)"""
9692  return _IMP_kernel._TrivialDecorator_set_name(self, a0)
9693 
9694  def set_check_level(self, a0):
9695  r"""set_check_level(_TrivialDecorator self, IMP::CheckLevel a0)"""
9696  return _IMP_kernel._TrivialDecorator_set_check_level(self, a0)
9697 
9698  def add_to_derivative(self, a0, a1, a2):
9699  r"""add_to_derivative(_TrivialDecorator self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9700  return _IMP_kernel._TrivialDecorator_add_to_derivative(self, a0, a1, a2)
9701 
9702  def set_is_optimized(self, a0, a1):
9703  r"""set_is_optimized(_TrivialDecorator self, FloatKey a0, bool a1)"""
9704  return _IMP_kernel._TrivialDecorator_set_is_optimized(self, a0, a1)
9705 
9706  def get_is_optimized(self, a0):
9707  r"""get_is_optimized(_TrivialDecorator self, FloatKey a0) -> bool"""
9708  return _IMP_kernel._TrivialDecorator_get_is_optimized(self, a0)
9709 
9710  def get_check_level(self):
9711  r"""get_check_level(_TrivialDecorator self) -> IMP::CheckLevel"""
9712  return _IMP_kernel._TrivialDecorator_get_check_level(self)
9713 
9714  def __eq__(self, *args):
9715  r"""
9716  __eq__(_TrivialDecorator self, _TrivialDecorator o) -> bool
9717  __eq__(_TrivialDecorator self, Particle d) -> bool
9718  """
9719  return _IMP_kernel._TrivialDecorator___eq__(self, *args)
9720 
9721  def __ne__(self, *args):
9722  r"""
9723  __ne__(_TrivialDecorator self, _TrivialDecorator o) -> bool
9724  __ne__(_TrivialDecorator self, Particle d) -> bool
9725  """
9726  return _IMP_kernel._TrivialDecorator___ne__(self, *args)
9727 
9728  def __le__(self, *args):
9729  r"""
9730  __le__(_TrivialDecorator self, _TrivialDecorator o) -> bool
9731  __le__(_TrivialDecorator self, Particle d) -> bool
9732  """
9733  return _IMP_kernel._TrivialDecorator___le__(self, *args)
9734 
9735  def __lt__(self, *args):
9736  r"""
9737  __lt__(_TrivialDecorator self, _TrivialDecorator o) -> bool
9738  __lt__(_TrivialDecorator self, Particle d) -> bool
9739  """
9740  return _IMP_kernel._TrivialDecorator___lt__(self, *args)
9741 
9742  def __ge__(self, *args):
9743  r"""
9744  __ge__(_TrivialDecorator self, _TrivialDecorator o) -> bool
9745  __ge__(_TrivialDecorator self, Particle d) -> bool
9746  """
9747  return _IMP_kernel._TrivialDecorator___ge__(self, *args)
9748 
9749  def __gt__(self, *args):
9750  r"""
9751  __gt__(_TrivialDecorator self, _TrivialDecorator o) -> bool
9752  __gt__(_TrivialDecorator self, Particle d) -> bool
9753  """
9754  return _IMP_kernel._TrivialDecorator___gt__(self, *args)
9755 
9756  def __hash__(self):
9757  r"""__hash__(_TrivialDecorator self) -> std::size_t"""
9758  return _IMP_kernel._TrivialDecorator___hash__(self)
9759 
9760  def __str__(self):
9761  r"""__str__(_TrivialDecorator self) -> std::string"""
9762  return _IMP_kernel._TrivialDecorator___str__(self)
9763 
9764  def __repr__(self):
9765  r"""__repr__(_TrivialDecorator self) -> std::string"""
9766  return _IMP_kernel._TrivialDecorator___repr__(self)
9767 
9768  def _get_as_binary(self):
9769  r"""_get_as_binary(_TrivialDecorator self) -> PyObject *"""
9770  return _IMP_kernel._TrivialDecorator__get_as_binary(self)
9771 
9772  def _set_from_binary(self, p):
9773  r"""_set_from_binary(_TrivialDecorator self, PyObject * p)"""
9774  return _IMP_kernel._TrivialDecorator__set_from_binary(self, p)
9775 
9776  def __getstate__(self):
9777  p = self._get_as_binary()
9778  if len(self.__dict__) > 1:
9779  d = self.__dict__.copy()
9780  del d['this']
9781  p = (d, p)
9782  return p
9783 
9784  def __setstate__(self, p):
9785  if not hasattr(self, 'this'):
9786  self.__init__()
9787  if isinstance(p, tuple):
9788  d, p = p
9789  self.__dict__.update(d)
9790  return self._set_from_binary(p)
9791 
9792  __swig_destroy__ = _IMP_kernel.delete__TrivialDecorator
9793 
9794 # Register _TrivialDecorator in _IMP_kernel:
9795 _IMP_kernel._TrivialDecorator_swigregister(_TrivialDecorator)
9796 class _TrivialDerivedDecorator(_TrivialDecorator):
9797  r"""Proxy of C++ IMP::internal::_TrivialDerivedDecorator class."""
9798 
9799  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9800 
9801  def __init__(self, *args):
9802  r"""
9803  __init__(_TrivialDerivedDecorator self) -> _TrivialDerivedDecorator
9804  __init__(_TrivialDerivedDecorator self, Model m, ParticleIndex id) -> _TrivialDerivedDecorator
9805  __init__(_TrivialDerivedDecorator self, _ParticleAdaptor d) -> _TrivialDerivedDecorator
9806  """
9807  _IMP_kernel._TrivialDerivedDecorator_swiginit(self, _IMP_kernel.new__TrivialDerivedDecorator(*args))
9808 
9809  def show(self, *args):
9810  r"""show(_TrivialDerivedDecorator self, _ostream out=std::cout)"""
9811  return _IMP_kernel._TrivialDerivedDecorator_show(self, *args)
9812 
9813  @staticmethod
9814  def setup_particle(*args):
9815  r"""
9816  setup_particle(Model m, ParticleIndex pi) -> _TrivialDerivedDecorator
9817  setup_particle(_ParticleAdaptor pa) -> _TrivialDerivedDecorator
9818  """
9819  return _IMP_kernel._TrivialDerivedDecorator_setup_particle(*args)
9820 
9821  @staticmethod
9822  def get_is_setup(*args):
9823  r"""
9824  get_is_setup(_ParticleAdaptor p) -> bool
9825  get_is_setup(Model m, ParticleIndex pi) -> bool
9826  """
9827  return _IMP_kernel._TrivialDerivedDecorator_get_is_setup(*args)
9828 
9829  def add_attribute(self, *args):
9830  r"""
9831  add_attribute(_TrivialDerivedDecorator self, FloatKey k, IMP::Float v, bool opt)
9832  add_attribute(_TrivialDerivedDecorator self, FloatKey a0, IMP::Float a1)
9833  add_attribute(_TrivialDerivedDecorator self, IntKey a0, IMP::Int a1)
9834  add_attribute(_TrivialDerivedDecorator self, FloatsKey a0, IMP::Floats a1)
9835  add_attribute(_TrivialDerivedDecorator self, IntsKey a0, IMP::Ints a1)
9836  add_attribute(_TrivialDerivedDecorator self, StringKey a0, IMP::String a1)
9837  add_attribute(_TrivialDerivedDecorator self, ParticleIndexKey a0, Particle a1)
9838  add_attribute(_TrivialDerivedDecorator self, ObjectKey a0, Object a1)
9839  add_attribute(_TrivialDerivedDecorator self, SparseFloatKey a0, IMP::Float a1)
9840  add_attribute(_TrivialDerivedDecorator self, SparseIntKey a0, IMP::Int a1)
9841  add_attribute(_TrivialDerivedDecorator self, SparseStringKey a0, IMP::String a1)
9842  add_attribute(_TrivialDerivedDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
9843  """
9844  return _IMP_kernel._TrivialDerivedDecorator_add_attribute(self, *args)
9845 
9846  def get_value(self, *args):
9847  r"""
9848  get_value(_TrivialDerivedDecorator self, FloatKey a0) -> IMP::Float
9849  get_value(_TrivialDerivedDecorator self, IntKey a0) -> IMP::Int
9850  get_value(_TrivialDerivedDecorator self, FloatsKey a0) -> IMP::Floats
9851  get_value(_TrivialDerivedDecorator self, IntsKey a0) -> IMP::Ints
9852  get_value(_TrivialDerivedDecorator self, StringKey a0) -> IMP::String
9853  get_value(_TrivialDerivedDecorator self, ParticleIndexKey a0) -> Particle
9854  get_value(_TrivialDerivedDecorator self, ObjectKey a0) -> Object
9855  get_value(_TrivialDerivedDecorator self, SparseFloatKey a0) -> IMP::Float
9856  get_value(_TrivialDerivedDecorator self, SparseIntKey a0) -> IMP::Int
9857  get_value(_TrivialDerivedDecorator self, SparseStringKey a0) -> IMP::String
9858  get_value(_TrivialDerivedDecorator self, SparseParticleIndexKey a0) -> ParticleIndex
9859  """
9860  return _IMP_kernel._TrivialDerivedDecorator_get_value(self, *args)
9861 
9862  def set_value(self, *args):
9863  r"""
9864  set_value(_TrivialDerivedDecorator self, FloatKey a0, IMP::Float a1)
9865  set_value(_TrivialDerivedDecorator self, IntKey a0, IMP::Int a1)
9866  set_value(_TrivialDerivedDecorator self, FloatsKey a0, IMP::Floats a1)
9867  set_value(_TrivialDerivedDecorator self, IntsKey a0, IMP::Ints a1)
9868  set_value(_TrivialDerivedDecorator self, StringKey a0, IMP::String a1)
9869  set_value(_TrivialDerivedDecorator self, ParticleIndexKey a0, Particle a1)
9870  set_value(_TrivialDerivedDecorator self, ObjectKey a0, Object a1)
9871  set_value(_TrivialDerivedDecorator self, SparseFloatKey a0, IMP::Float a1)
9872  set_value(_TrivialDerivedDecorator self, SparseIntKey a0, IMP::Int a1)
9873  set_value(_TrivialDerivedDecorator self, SparseStringKey a0, IMP::String a1)
9874  set_value(_TrivialDerivedDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
9875  """
9876  return _IMP_kernel._TrivialDerivedDecorator_set_value(self, *args)
9877 
9878  def remove_attribute(self, *args):
9879  r"""
9880  remove_attribute(_TrivialDerivedDecorator self, FloatKey a0)
9881  remove_attribute(_TrivialDerivedDecorator self, IntKey a0)
9882  remove_attribute(_TrivialDerivedDecorator self, FloatsKey a0)
9883  remove_attribute(_TrivialDerivedDecorator self, IntsKey a0)
9884  remove_attribute(_TrivialDerivedDecorator self, StringKey a0)
9885  remove_attribute(_TrivialDerivedDecorator self, ParticleIndexKey a0)
9886  remove_attribute(_TrivialDerivedDecorator self, ObjectKey a0)
9887  remove_attribute(_TrivialDerivedDecorator self, SparseFloatKey a0)
9888  remove_attribute(_TrivialDerivedDecorator self, SparseIntKey a0)
9889  remove_attribute(_TrivialDerivedDecorator self, SparseStringKey a0)
9890  remove_attribute(_TrivialDerivedDecorator self, SparseParticleIndexKey a0)
9891  """
9892  return _IMP_kernel._TrivialDerivedDecorator_remove_attribute(self, *args)
9893 
9894  def has_attribute(self, *args):
9895  r"""
9896  has_attribute(_TrivialDerivedDecorator self, FloatKey a0) -> bool
9897  has_attribute(_TrivialDerivedDecorator self, IntKey a0) -> bool
9898  has_attribute(_TrivialDerivedDecorator self, FloatsKey a0) -> bool
9899  has_attribute(_TrivialDerivedDecorator self, IntsKey a0) -> bool
9900  has_attribute(_TrivialDerivedDecorator self, StringKey a0) -> bool
9901  has_attribute(_TrivialDerivedDecorator self, ParticleIndexKey a0) -> bool
9902  has_attribute(_TrivialDerivedDecorator self, ObjectKey a0) -> bool
9903  has_attribute(_TrivialDerivedDecorator self, SparseFloatKey a0) -> bool
9904  has_attribute(_TrivialDerivedDecorator self, SparseIntKey a0) -> bool
9905  has_attribute(_TrivialDerivedDecorator self, SparseStringKey a0) -> bool
9906  has_attribute(_TrivialDerivedDecorator self, SparseParticleIndexKey a0) -> bool
9907  """
9908  return _IMP_kernel._TrivialDerivedDecorator_has_attribute(self, *args)
9909 
9910  def get_derivative(self, a0):
9911  r"""get_derivative(_TrivialDerivedDecorator self, FloatKey a0) -> double"""
9912  return _IMP_kernel._TrivialDerivedDecorator_get_derivative(self, a0)
9913 
9914  def get_name(self):
9915  r"""get_name(_TrivialDerivedDecorator self) -> std::string"""
9916  return _IMP_kernel._TrivialDerivedDecorator_get_name(self)
9917 
9918  def clear_caches(self):
9919  r"""clear_caches(_TrivialDerivedDecorator self)"""
9920  return _IMP_kernel._TrivialDerivedDecorator_clear_caches(self)
9921 
9922  def set_name(self, a0):
9923  r"""set_name(_TrivialDerivedDecorator self, std::string a0)"""
9924  return _IMP_kernel._TrivialDerivedDecorator_set_name(self, a0)
9925 
9926  def set_check_level(self, a0):
9927  r"""set_check_level(_TrivialDerivedDecorator self, IMP::CheckLevel a0)"""
9928  return _IMP_kernel._TrivialDerivedDecorator_set_check_level(self, a0)
9929 
9930  def add_to_derivative(self, a0, a1, a2):
9931  r"""add_to_derivative(_TrivialDerivedDecorator self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9932  return _IMP_kernel._TrivialDerivedDecorator_add_to_derivative(self, a0, a1, a2)
9933 
9934  def set_is_optimized(self, a0, a1):
9935  r"""set_is_optimized(_TrivialDerivedDecorator self, FloatKey a0, bool a1)"""
9936  return _IMP_kernel._TrivialDerivedDecorator_set_is_optimized(self, a0, a1)
9937 
9938  def get_is_optimized(self, a0):
9939  r"""get_is_optimized(_TrivialDerivedDecorator self, FloatKey a0) -> bool"""
9940  return _IMP_kernel._TrivialDerivedDecorator_get_is_optimized(self, a0)
9941 
9942  def get_check_level(self):
9943  r"""get_check_level(_TrivialDerivedDecorator self) -> IMP::CheckLevel"""
9944  return _IMP_kernel._TrivialDerivedDecorator_get_check_level(self)
9945 
9946  def __eq__(self, *args):
9947  r"""
9948  __eq__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
9949  __eq__(_TrivialDerivedDecorator self, Particle d) -> bool
9950  """
9951  return _IMP_kernel._TrivialDerivedDecorator___eq__(self, *args)
9952 
9953  def __ne__(self, *args):
9954  r"""
9955  __ne__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
9956  __ne__(_TrivialDerivedDecorator self, Particle d) -> bool
9957  """
9958  return _IMP_kernel._TrivialDerivedDecorator___ne__(self, *args)
9959 
9960  def __le__(self, *args):
9961  r"""
9962  __le__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
9963  __le__(_TrivialDerivedDecorator self, Particle d) -> bool
9964  """
9965  return _IMP_kernel._TrivialDerivedDecorator___le__(self, *args)
9966 
9967  def __lt__(self, *args):
9968  r"""
9969  __lt__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
9970  __lt__(_TrivialDerivedDecorator self, Particle d) -> bool
9971  """
9972  return _IMP_kernel._TrivialDerivedDecorator___lt__(self, *args)
9973 
9974  def __ge__(self, *args):
9975  r"""
9976  __ge__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
9977  __ge__(_TrivialDerivedDecorator self, Particle d) -> bool
9978  """
9979  return _IMP_kernel._TrivialDerivedDecorator___ge__(self, *args)
9980 
9981  def __gt__(self, *args):
9982  r"""
9983  __gt__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
9984  __gt__(_TrivialDerivedDecorator self, Particle d) -> bool
9985  """
9986  return _IMP_kernel._TrivialDerivedDecorator___gt__(self, *args)
9987 
9988  def __hash__(self):
9989  r"""__hash__(_TrivialDerivedDecorator self) -> std::size_t"""
9990  return _IMP_kernel._TrivialDerivedDecorator___hash__(self)
9991 
9992  def __str__(self):
9993  r"""__str__(_TrivialDerivedDecorator self) -> std::string"""
9994  return _IMP_kernel._TrivialDerivedDecorator___str__(self)
9995 
9996  def __repr__(self):
9997  r"""__repr__(_TrivialDerivedDecorator self) -> std::string"""
9998  return _IMP_kernel._TrivialDerivedDecorator___repr__(self)
9999 
10000  def _get_as_binary(self):
10001  r"""_get_as_binary(_TrivialDerivedDecorator self) -> PyObject *"""
10002  return _IMP_kernel._TrivialDerivedDecorator__get_as_binary(self)
10003 
10004  def _set_from_binary(self, p):
10005  r"""_set_from_binary(_TrivialDerivedDecorator self, PyObject * p)"""
10006  return _IMP_kernel._TrivialDerivedDecorator__set_from_binary(self, p)
10007 
10008  def __getstate__(self):
10009  p = self._get_as_binary()
10010  if len(self.__dict__) > 1:
10011  d = self.__dict__.copy()
10012  del d['this']
10013  p = (d, p)
10014  return p
10015 
10016  def __setstate__(self, p):
10017  if not hasattr(self, 'this'):
10018  self.__init__()
10019  if isinstance(p, tuple):
10020  d, p = p
10021  self.__dict__.update(d)
10022  return self._set_from_binary(p)
10023 
10024  __swig_destroy__ = _IMP_kernel.delete__TrivialDerivedDecorator
10025 
10026 # Register _TrivialDerivedDecorator in _IMP_kernel:
10027 _IMP_kernel._TrivialDerivedDecorator_swigregister(_TrivialDerivedDecorator)
10028 class _TrivialTraitsDecorator(Decorator):
10029  r"""Proxy of C++ IMP::internal::_TrivialTraitsDecorator class."""
10030 
10031  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10032 
10033  def get_decorator_traits(self):
10034  r"""get_decorator_traits(_TrivialTraitsDecorator self) -> StringKey"""
10035  return _IMP_kernel._TrivialTraitsDecorator_get_decorator_traits(self)
10036 
10037  @staticmethod
10038  def get_default_decorator_traits():
10039  r"""get_default_decorator_traits() -> StringKey"""
10040  return _IMP_kernel._TrivialTraitsDecorator_get_default_decorator_traits()
10041 
10042  def __init__(self, *args):
10043  r"""
10044  __init__(_TrivialTraitsDecorator self) -> _TrivialTraitsDecorator
10045  __init__(_TrivialTraitsDecorator self, Model m, ParticleIndex id, StringKey tr=get_default_key()) -> _TrivialTraitsDecorator
10046  __init__(_TrivialTraitsDecorator self, _ParticleAdaptor d, StringKey tr=get_default_key()) -> _TrivialTraitsDecorator
10047  """
10048  _IMP_kernel._TrivialTraitsDecorator_swiginit(self, _IMP_kernel.new__TrivialTraitsDecorator(*args))
10049 
10050  def show(self, *args):
10051  r"""show(_TrivialTraitsDecorator self, _ostream out=std::cout)"""
10052  return _IMP_kernel._TrivialTraitsDecorator_show(self, *args)
10053 
10054  @staticmethod
10055  def setup_particle(*args):
10056  r"""
10057  setup_particle(Model m, ParticleIndex pi, StringKey tr=IMP::internal::_TrivialTraitsDecorator::get_default_decorator_traits()) -> _TrivialTraitsDecorator
10058  setup_particle(_ParticleAdaptor d, StringKey tr=IMP::internal::_TrivialTraitsDecorator::get_default_decorator_traits()) -> _TrivialTraitsDecorator
10059  """
10060  return _IMP_kernel._TrivialTraitsDecorator_setup_particle(*args)
10061 
10062  @staticmethod
10063  def get_is_setup(*args):
10064  r"""
10065  get_is_setup(_ParticleAdaptor p, StringKey tr=get_default_key()) -> bool
10066  get_is_setup(Model m, ParticleIndex pi, StringKey k=get_default_key()) -> bool
10067  """
10068  return _IMP_kernel._TrivialTraitsDecorator_get_is_setup(*args)
10069 
10070  @staticmethod
10071  def get_default_key():
10072  r"""get_default_key() -> StringKey"""
10073  return _IMP_kernel._TrivialTraitsDecorator_get_default_key()
10074 
10075  def add_attribute(self, *args):
10076  r"""
10077  add_attribute(_TrivialTraitsDecorator self, FloatKey k, IMP::Float v, bool opt)
10078  add_attribute(_TrivialTraitsDecorator self, FloatKey a0, IMP::Float a1)
10079  add_attribute(_TrivialTraitsDecorator self, IntKey a0, IMP::Int a1)
10080  add_attribute(_TrivialTraitsDecorator self, FloatsKey a0, IMP::Floats a1)
10081  add_attribute(_TrivialTraitsDecorator self, IntsKey a0, IMP::Ints a1)
10082  add_attribute(_TrivialTraitsDecorator self, StringKey a0, IMP::String a1)
10083  add_attribute(_TrivialTraitsDecorator self, ParticleIndexKey a0, Particle a1)
10084  add_attribute(_TrivialTraitsDecorator self, ObjectKey a0, Object a1)
10085  add_attribute(_TrivialTraitsDecorator self, SparseFloatKey a0, IMP::Float a1)
10086  add_attribute(_TrivialTraitsDecorator self, SparseIntKey a0, IMP::Int a1)
10087  add_attribute(_TrivialTraitsDecorator self, SparseStringKey a0, IMP::String a1)
10088  add_attribute(_TrivialTraitsDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
10089  """
10090  return _IMP_kernel._TrivialTraitsDecorator_add_attribute(self, *args)
10091 
10092  def get_value(self, *args):
10093  r"""
10094  get_value(_TrivialTraitsDecorator self, FloatKey a0) -> IMP::Float
10095  get_value(_TrivialTraitsDecorator self, IntKey a0) -> IMP::Int
10096  get_value(_TrivialTraitsDecorator self, FloatsKey a0) -> IMP::Floats
10097  get_value(_TrivialTraitsDecorator self, IntsKey a0) -> IMP::Ints
10098  get_value(_TrivialTraitsDecorator self, StringKey a0) -> IMP::String
10099  get_value(_TrivialTraitsDecorator self, ParticleIndexKey a0) -> Particle
10100  get_value(_TrivialTraitsDecorator self, ObjectKey a0) -> Object
10101  get_value(_TrivialTraitsDecorator self, SparseFloatKey a0) -> IMP::Float
10102  get_value(_TrivialTraitsDecorator self, SparseIntKey a0) -> IMP::Int
10103  get_value(_TrivialTraitsDecorator self, SparseStringKey a0) -> IMP::String
10104  get_value(_TrivialTraitsDecorator self, SparseParticleIndexKey a0) -> ParticleIndex
10105  """
10106  return _IMP_kernel._TrivialTraitsDecorator_get_value(self, *args)
10107 
10108  def set_value(self, *args):
10109  r"""
10110  set_value(_TrivialTraitsDecorator self, FloatKey a0, IMP::Float a1)
10111  set_value(_TrivialTraitsDecorator self, IntKey a0, IMP::Int a1)
10112  set_value(_TrivialTraitsDecorator self, FloatsKey a0, IMP::Floats a1)
10113  set_value(_TrivialTraitsDecorator self, IntsKey a0, IMP::Ints a1)
10114  set_value(_TrivialTraitsDecorator self, StringKey a0, IMP::String a1)
10115  set_value(_TrivialTraitsDecorator self, ParticleIndexKey a0, Particle a1)
10116  set_value(_TrivialTraitsDecorator self, ObjectKey a0, Object a1)
10117  set_value(_TrivialTraitsDecorator self, SparseFloatKey a0, IMP::Float a1)
10118  set_value(_TrivialTraitsDecorator self, SparseIntKey a0, IMP::Int a1)
10119  set_value(_TrivialTraitsDecorator self, SparseStringKey a0, IMP::String a1)
10120  set_value(_TrivialTraitsDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
10121  """
10122  return _IMP_kernel._TrivialTraitsDecorator_set_value(self, *args)
10123 
10124  def remove_attribute(self, *args):
10125  r"""
10126  remove_attribute(_TrivialTraitsDecorator self, FloatKey a0)
10127  remove_attribute(_TrivialTraitsDecorator self, IntKey a0)
10128  remove_attribute(_TrivialTraitsDecorator self, FloatsKey a0)
10129  remove_attribute(_TrivialTraitsDecorator self, IntsKey a0)
10130  remove_attribute(_TrivialTraitsDecorator self, StringKey a0)
10131  remove_attribute(_TrivialTraitsDecorator self, ParticleIndexKey a0)
10132  remove_attribute(_TrivialTraitsDecorator self, ObjectKey a0)
10133  remove_attribute(_TrivialTraitsDecorator self, SparseFloatKey a0)
10134  remove_attribute(_TrivialTraitsDecorator self, SparseIntKey a0)
10135  remove_attribute(_TrivialTraitsDecorator self, SparseStringKey a0)
10136  remove_attribute(_TrivialTraitsDecorator self, SparseParticleIndexKey a0)
10137  """
10138  return _IMP_kernel._TrivialTraitsDecorator_remove_attribute(self, *args)
10139 
10140  def has_attribute(self, *args):
10141  r"""
10142  has_attribute(_TrivialTraitsDecorator self, FloatKey a0) -> bool
10143  has_attribute(_TrivialTraitsDecorator self, IntKey a0) -> bool
10144  has_attribute(_TrivialTraitsDecorator self, FloatsKey a0) -> bool
10145  has_attribute(_TrivialTraitsDecorator self, IntsKey a0) -> bool
10146  has_attribute(_TrivialTraitsDecorator self, StringKey a0) -> bool
10147  has_attribute(_TrivialTraitsDecorator self, ParticleIndexKey a0) -> bool
10148  has_attribute(_TrivialTraitsDecorator self, ObjectKey a0) -> bool
10149  has_attribute(_TrivialTraitsDecorator self, SparseFloatKey a0) -> bool
10150  has_attribute(_TrivialTraitsDecorator self, SparseIntKey a0) -> bool
10151  has_attribute(_TrivialTraitsDecorator self, SparseStringKey a0) -> bool
10152  has_attribute(_TrivialTraitsDecorator self, SparseParticleIndexKey a0) -> bool
10153  """
10154  return _IMP_kernel._TrivialTraitsDecorator_has_attribute(self, *args)
10155 
10156  def get_derivative(self, a0):
10157  r"""get_derivative(_TrivialTraitsDecorator self, FloatKey a0) -> double"""
10158  return _IMP_kernel._TrivialTraitsDecorator_get_derivative(self, a0)
10159 
10160  def get_name(self):
10161  r"""get_name(_TrivialTraitsDecorator self) -> std::string"""
10162  return _IMP_kernel._TrivialTraitsDecorator_get_name(self)
10163 
10164  def clear_caches(self):
10165  r"""clear_caches(_TrivialTraitsDecorator self)"""
10166  return _IMP_kernel._TrivialTraitsDecorator_clear_caches(self)
10167 
10168  def set_name(self, a0):
10169  r"""set_name(_TrivialTraitsDecorator self, std::string a0)"""
10170  return _IMP_kernel._TrivialTraitsDecorator_set_name(self, a0)
10171 
10172  def set_check_level(self, a0):
10173  r"""set_check_level(_TrivialTraitsDecorator self, IMP::CheckLevel a0)"""
10174  return _IMP_kernel._TrivialTraitsDecorator_set_check_level(self, a0)
10175 
10176  def add_to_derivative(self, a0, a1, a2):
10177  r"""add_to_derivative(_TrivialTraitsDecorator self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
10178  return _IMP_kernel._TrivialTraitsDecorator_add_to_derivative(self, a0, a1, a2)
10179 
10180  def set_is_optimized(self, a0, a1):
10181  r"""set_is_optimized(_TrivialTraitsDecorator self, FloatKey a0, bool a1)"""
10182  return _IMP_kernel._TrivialTraitsDecorator_set_is_optimized(self, a0, a1)
10183 
10184  def get_is_optimized(self, a0):
10185  r"""get_is_optimized(_TrivialTraitsDecorator self, FloatKey a0) -> bool"""
10186  return _IMP_kernel._TrivialTraitsDecorator_get_is_optimized(self, a0)
10187 
10188  def get_check_level(self):
10189  r"""get_check_level(_TrivialTraitsDecorator self) -> IMP::CheckLevel"""
10190  return _IMP_kernel._TrivialTraitsDecorator_get_check_level(self)
10191 
10192  def __eq__(self, *args):
10193  r"""
10194  __eq__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
10195  __eq__(_TrivialTraitsDecorator self, Particle d) -> bool
10196  """
10197  return _IMP_kernel._TrivialTraitsDecorator___eq__(self, *args)
10198 
10199  def __ne__(self, *args):
10200  r"""
10201  __ne__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
10202  __ne__(_TrivialTraitsDecorator self, Particle d) -> bool
10203  """
10204  return _IMP_kernel._TrivialTraitsDecorator___ne__(self, *args)
10205 
10206  def __le__(self, *args):
10207  r"""
10208  __le__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
10209  __le__(_TrivialTraitsDecorator self, Particle d) -> bool
10210  """
10211  return _IMP_kernel._TrivialTraitsDecorator___le__(self, *args)
10212 
10213  def __lt__(self, *args):
10214  r"""
10215  __lt__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
10216  __lt__(_TrivialTraitsDecorator self, Particle d) -> bool
10217  """
10218  return _IMP_kernel._TrivialTraitsDecorator___lt__(self, *args)
10219 
10220  def __ge__(self, *args):
10221  r"""
10222  __ge__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
10223  __ge__(_TrivialTraitsDecorator self, Particle d) -> bool
10224  """
10225  return _IMP_kernel._TrivialTraitsDecorator___ge__(self, *args)
10226 
10227  def __gt__(self, *args):
10228  r"""
10229  __gt__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
10230  __gt__(_TrivialTraitsDecorator self, Particle d) -> bool
10231  """
10232  return _IMP_kernel._TrivialTraitsDecorator___gt__(self, *args)
10233 
10234  def __hash__(self):
10235  r"""__hash__(_TrivialTraitsDecorator self) -> std::size_t"""
10236  return _IMP_kernel._TrivialTraitsDecorator___hash__(self)
10237 
10238  def __str__(self):
10239  r"""__str__(_TrivialTraitsDecorator self) -> std::string"""
10240  return _IMP_kernel._TrivialTraitsDecorator___str__(self)
10241 
10242  def __repr__(self):
10243  r"""__repr__(_TrivialTraitsDecorator self) -> std::string"""
10244  return _IMP_kernel._TrivialTraitsDecorator___repr__(self)
10245  __swig_destroy__ = _IMP_kernel.delete__TrivialTraitsDecorator
10246 
10247 # Register _TrivialTraitsDecorator in _IMP_kernel:
10248 _IMP_kernel._TrivialTraitsDecorator_swigregister(_TrivialTraitsDecorator)
10249 
10250 def __lshift__(*args):
10251  r"""
10252  __lshift__(_ostream out, _TrivialDecorator n) -> _ostream
10253  __lshift__(_ostream out, _TrivialDerivedDecorator n) -> _ostream
10254  __lshift__(_ostream out, _TrivialTraitsDecorator n) -> _ostream
10255  """
10256  return _IMP_kernel.__lshift__(*args)
10257 class _ConstOptimizer(Optimizer):
10258  r"""Proxy of C++ IMP::internal::_ConstOptimizer class."""
10259 
10260  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10261 
10262  def __init__(self, *args):
10263  r"""
10264  __init__(_ConstOptimizer self, Model m) -> _ConstOptimizer
10265  __init__(_ConstOptimizer self) -> _ConstOptimizer
10266  """
10267  _IMP_kernel._ConstOptimizer_swiginit(self, _IMP_kernel.new__ConstOptimizer(*args))
10268 
10269  def do_optimize(self, max_steps):
10270  r"""do_optimize(_ConstOptimizer self, unsigned int max_steps) -> IMP::Float"""
10271  return _IMP_kernel._ConstOptimizer_do_optimize(self, max_steps)
10272 
10273  def get_version_info(self):
10274  r"""get_version_info(_ConstOptimizer self) -> VersionInfo"""
10275  return _IMP_kernel._ConstOptimizer_get_version_info(self)
10276  __swig_destroy__ = _IMP_kernel.delete__ConstOptimizer
10277 
10278  def __str__(self):
10279  r"""__str__(_ConstOptimizer self) -> std::string"""
10280  return _IMP_kernel._ConstOptimizer___str__(self)
10281 
10282  def __repr__(self):
10283  r"""__repr__(_ConstOptimizer self) -> std::string"""
10284  return _IMP_kernel._ConstOptimizer___repr__(self)
10285 
10286  @staticmethod
10287  def get_from(o):
10288  return _object_cast_to__ConstOptimizer(o)
10289 
10290 
10291  def _get_as_binary(self):
10292  r"""_get_as_binary(_ConstOptimizer self) -> PyObject *"""
10293  return _IMP_kernel._ConstOptimizer__get_as_binary(self)
10294 
10295  def _set_from_binary(self, p):
10296  r"""_set_from_binary(_ConstOptimizer self, PyObject * p)"""
10297  return _IMP_kernel._ConstOptimizer__set_from_binary(self, p)
10298 
10299  def __getstate__(self):
10300  p = self._get_as_binary()
10301  if len(self.__dict__) > 1:
10302  d = self.__dict__.copy()
10303  del d['this']
10304  p = (d, p)
10305  return p
10306 
10307  def __setstate__(self, p):
10308  if not hasattr(self, 'this'):
10309  self.__init__()
10310  if isinstance(p, tuple):
10311  d, p = p
10312  self.__dict__.update(d)
10313  return self._set_from_binary(p)
10314 
10315 
10316 # Register _ConstOptimizer in _IMP_kernel:
10317 _IMP_kernel._ConstOptimizer_swigregister(_ConstOptimizer)
10318 
10319 def get_particle(p):
10320  r"""get_particle(Particle p) -> Particle"""
10321  return _IMP_kernel.get_particle(p)
10322 
10323 def _decorator_test(p):
10324  r"""_decorator_test(Particle p)"""
10325  return _IMP_kernel._decorator_test(p)
10326 
10327 def _overloaded_decorator(*args):
10328  r"""
10329  _overloaded_decorator(_TrivialDecorator a) -> int
10330  _overloaded_decorator(_TrivialDerivedDecorator a) -> int
10331  """
10332  return _IMP_kernel._overloaded_decorator(*args)
10333 
10334 def _take_particles(*args):
10335  r"""
10336  _take_particles(IMP::Particles const & ps) -> unsigned int
10337  _take_particles(Model m, IMP::Particles const & ps) -> unsigned int
10338  _take_particles(Model m, IMP::Particles const & ps, TextOutput out) -> unsigned int
10339  """
10340  return _IMP_kernel._take_particles(*args)
10341 
10342 def _give_particles(m):
10343  r"""_give_particles(Model m) -> IMP::Particles const &"""
10344  return _IMP_kernel._give_particles(m)
10345 
10346 def _pass_particles(ps):
10347  r"""_pass_particles(IMP::Particles const & ps) -> IMP::Particles const &"""
10348  return _IMP_kernel._pass_particles(ps)
10349 
10350 def _pass_particle(ps):
10351  r"""_pass_particle(Particle ps) -> Particle"""
10352  return _IMP_kernel._pass_particle(ps)
10353 
10354 def _pass_particle_pair(pp):
10355  r"""_pass_particle_pair(IMP::ParticlePair const & pp) -> IMP::ParticlePair const &"""
10356  return _IMP_kernel._pass_particle_pair(pp)
10357 
10358 def _give_particles_copy(m):
10359  r"""_give_particles_copy(Model m) -> IMP::Particles"""
10360  return _IMP_kernel._give_particles_copy(m)
10361 
10362 def _pass_float_keys(input):
10363  r"""_pass_float_keys(IMP::FloatKeys const & input) -> IMP::FloatKeys"""
10364  return _IMP_kernel._pass_float_keys(input)
10365 
10366 def _pass(*args):
10367  r"""
10368  _pass(IMP::Particles const & p) -> IMP::Particles const
10369  _pass(IMP::Restraints const & p) -> IMP::Restraints const &
10370  """
10371  return _IMP_kernel._pass(*args)
10372 
10373 def _pass_decorators(p):
10374  r"""_pass_decorators(IMP::internal::_TrivialDecorators const & p) -> IMP::internal::_TrivialDecorators const &"""
10375  return _IMP_kernel._pass_decorators(p)
10376 
10377 def _pass_decorator_traits(p):
10378  r"""_pass_decorator_traits(IMP::internal::_TrivialTraitsDecorators const & p) -> IMP::internal::_TrivialTraitsDecorators const &"""
10379  return _IMP_kernel._pass_decorator_traits(p)
10380 
10381 def _pass_particle_pairs(p):
10382  r"""_pass_particle_pairs(IMP::ParticlePairsTemp const & p) -> IMP::ParticlePairsTemp"""
10383  return _IMP_kernel._pass_particle_pairs(p)
10384 
10385 def _pass_particle_index_pairs(p):
10386  r"""_pass_particle_index_pairs(IMP::ParticleIndexPairs const & p) -> IMP::ParticleIndexPairs"""
10387  return _IMP_kernel._pass_particle_index_pairs(p)
10388 
10389 def _pass_model_objects(p):
10390  r"""_pass_model_objects(IMP::ModelObjectsTemp const & p) -> IMP::ModelObjectsTemp"""
10391  return _IMP_kernel._pass_model_objects(p)
10392 
10393 def _pass_particles_temps(ps):
10394  r"""_pass_particles_temps(IMP::ParticlesTemps const & ps) -> IMP::ParticlesTemps"""
10395  return _IMP_kernel._pass_particles_temps(ps)
10396 
10397 def _test_overload(*args):
10398  r"""
10399  _test_overload(IMP::Particles const & ps) -> int
10400  _test_overload(IMP::Restraints const & ps) -> int
10401  """
10402  return _IMP_kernel._test_overload(*args)
10403 
10404 def _get_range(m, k):
10405  r"""_get_range(Model m, FloatKey k) -> IMP::FloatRange"""
10406  return _IMP_kernel._get_range(m, k)
10407 
10408 def _create_particles_from_pdb(name, m):
10409  r"""_create_particles_from_pdb(std::string name, Model m) -> IMP::ParticleIndexes"""
10410  return _IMP_kernel._create_particles_from_pdb(name, m)
10411 class _LogPairScore(PairScore):
10412  r"""Proxy of C++ IMP::internal::_LogPairScore class."""
10413 
10414  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10415  __repr__ = _swig_repr
10416 
10417  def __init__(self):
10418  r"""__init__(_LogPairScore self) -> _LogPairScore"""
10419  _IMP_kernel._LogPairScore_swiginit(self, _IMP_kernel.new__LogPairScore())
10420 
10421  def do_get_inputs(self, arg2, arg3):
10422  r"""do_get_inputs(_LogPairScore self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
10423  return _IMP_kernel._LogPairScore_do_get_inputs(self, arg2, arg3)
10424 
10425  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10426  r"""evaluate_indexes(_LogPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
10427  return _IMP_kernel._LogPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10428 
10429  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10430  r"""evaluate_indexes_scores(_LogPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
10431  return _IMP_kernel._LogPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10432 
10433  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10434  r"""evaluate_indexes_delta(_LogPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
10435  return _IMP_kernel._LogPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10436 
10437  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10438  r"""evaluate_if_good_indexes(_LogPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
10439  return _IMP_kernel._LogPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10440 
10441  def get_version_info(self):
10442  r"""get_version_info(_LogPairScore self) -> VersionInfo"""
10443  return _IMP_kernel._LogPairScore_get_version_info(self)
10444  __swig_destroy__ = _IMP_kernel.delete__LogPairScore
10445 
10446  def get_particle_pairs(self):
10447  r"""get_particle_pairs(_LogPairScore self) -> IMP::ParticlePairsTemp"""
10448  return _IMP_kernel._LogPairScore_get_particle_pairs(self)
10449 
10450  def clear(self):
10451  r"""clear(_LogPairScore self)"""
10452  return _IMP_kernel._LogPairScore_clear(self)
10453 
10454  def get_contains(self, pp):
10455  r"""get_contains(_LogPairScore self, IMP::ParticlePair const & pp) -> bool"""
10456  return _IMP_kernel._LogPairScore_get_contains(self, pp)
10457 
10458 # Register _LogPairScore in _IMP_kernel:
10459 _IMP_kernel._LogPairScore_swigregister(_LogPairScore)
10460 
10461 def _overloaded_particles(*args):
10462  r"""
10463  _overloaded_particles(Particle arg1)
10464  _overloaded_particles(IMP::Particles const & arg1)
10465  _overloaded_particles(IMP::ParticlesTemp const & arg1)
10466  _overloaded_particles(Model arg1, IMP::ParticleIndexes const & arg2)
10467  _overloaded_particles(IMP::internal::_TrivialDecorators const & arg1)
10468  _overloaded_particles(_TrivialDecorator arg1)
10469  """
10470  return _IMP_kernel._overloaded_particles(*args)
10471 class _ImplicitParticles(object):
10472  r"""Proxy of C++ IMP::internal::_ImplicitParticles class."""
10473 
10474  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10475  __repr__ = _swig_repr
10476 
10477  def __init__(self, *args):
10478  r"""
10479  __init__(_ImplicitParticles self, Particle arg2) -> _ImplicitParticles
10480  __init__(_ImplicitParticles self, IMP::Particles const & arg2) -> _ImplicitParticles
10481  __init__(_ImplicitParticles self, IMP::ParticlesTemp const & arg2) -> _ImplicitParticles
10482  __init__(_ImplicitParticles self, Model arg2, IMP::ParticleIndexes const & arg3) -> _ImplicitParticles
10483  __init__(_ImplicitParticles self, IMP::internal::_TrivialDecorators const & arg2) -> _ImplicitParticles
10484  __init__(_ImplicitParticles self, _TrivialDecorator arg2) -> _ImplicitParticles
10485  """
10486  _IMP_kernel._ImplicitParticles_swiginit(self, _IMP_kernel.new__ImplicitParticles(*args))
10487  __swig_destroy__ = _IMP_kernel.delete__ImplicitParticles
10488 
10489 # Register _ImplicitParticles in _IMP_kernel:
10490 _IMP_kernel._ImplicitParticles_swigregister(_ImplicitParticles)
10491 
10492 def _implicit_particles(arg1):
10493  r"""_implicit_particles(_ImplicitParticles arg1)"""
10494  return _IMP_kernel._implicit_particles(arg1)
10495 
10496 def _take_particle_adaptor(pa):
10497  r"""_take_particle_adaptor(_ParticleAdaptor pa) -> ParticleIndex"""
10498  return _IMP_kernel._take_particle_adaptor(pa)
10499 
10500 def _take_particle_indexes_adaptor(pa):
10501  r"""_take_particle_indexes_adaptor(_ParticleIndexesAdaptor pa) -> IMP::ParticleIndexes"""
10502  return _IMP_kernel._take_particle_indexes_adaptor(pa)
10503 class Vector1D(_VectorBase1D):
10504  r"""Proxy of C++ IMP::VectorD< 1 > class."""
10505 
10506  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10507 
10508  def get_unit_vector(self):
10509  r"""get_unit_vector(Vector1D self) -> Vector1D"""
10510  return _IMP_kernel.Vector1D_get_unit_vector(self)
10511 
10512  def __truediv__(self, *args):
10513  return _IMP_kernel.Vector1D___truediv__(self, *args)
10514 
10515 
10516 
10517  def __neg__(self):
10518  r"""__neg__(Vector1D self) -> Vector1D"""
10519  return _IMP_kernel.Vector1D___neg__(self)
10520 
10521  def __sub__(self, o):
10522  r"""__sub__(Vector1D self, Vector1D o) -> Vector1D"""
10523  return _IMP_kernel.Vector1D___sub__(self, o)
10524 
10525  def __add__(self, ret):
10526  r"""__add__(Vector1D self, Vector1D ret) -> Vector1D"""
10527  return _IMP_kernel.Vector1D___add__(self, ret)
10528 
10529  def __mul__(self, *args):
10530  r"""
10531  __mul__(Vector1D self, double s) -> Vector1D
10532  __mul__(Vector1D self, Vector1D o) -> double
10533  """
10534  return _IMP_kernel.Vector1D___mul__(self, *args)
10535 
10536  def __init__(self, *args):
10537  r"""
10538  __init__(Vector1D self, IMP::Floats const & f) -> Vector1D
10539  __init__(Vector1D self) -> Vector1D
10540  __init__(Vector1D self, double x) -> Vector1D
10541  """
10542  _IMP_kernel.Vector1D_swiginit(self, _IMP_kernel.new_Vector1D(*args))
10543 
10544  def __iadd__(self, *args):
10545  _IMP_kernel.Vector1D___iadd__(self, *args)
10546  return self
10547 
10548 
10549 
10550  def __imul__(self, *args):
10551  _IMP_kernel.Vector1D___imul__(self, *args)
10552  return self
10553 
10554 
10555 
10556  def __itruediv__(self, *args):
10557  _IMP_kernel.Vector1D___itruediv__(self, *args)
10558  return self
10559 
10560 
10561 
10562  def __isub__(self, *args):
10563  _IMP_kernel.Vector1D___isub__(self, *args)
10564  return self
10565 
10566 
10567 
10568  def __len__(self):
10569  r"""__len__(Vector1D self) -> unsigned int"""
10570  return _IMP_kernel.Vector1D___len__(self)
10571 
10572  def __rmul__(self, f):
10573  r"""__rmul__(Vector1D self, double f) -> Vector1D"""
10574  return _IMP_kernel.Vector1D___rmul__(self, f)
10575 
10576  def __str__(self):
10577  r"""__str__(Vector1D self) -> std::string"""
10578  return _IMP_kernel.Vector1D___str__(self)
10579 
10580  def __repr__(self):
10581  r"""__repr__(Vector1D self) -> std::string"""
10582  return _IMP_kernel.Vector1D___repr__(self)
10583 
10584  def __cmp__(self, arg2):
10585  r"""__cmp__(Vector1D self, Vector1D arg2) -> int"""
10586  return _IMP_kernel.Vector1D___cmp__(self, arg2)
10587 
10588  def __eq__(self, arg2):
10589  r"""__eq__(Vector1D self, Vector1D arg2) -> bool"""
10590  return _IMP_kernel.Vector1D___eq__(self, arg2)
10591 
10592  def _get_as_binary(self):
10593  r"""_get_as_binary(Vector1D self) -> PyObject *"""
10594  return _IMP_kernel.Vector1D__get_as_binary(self)
10595 
10596  def _set_from_binary(self, p):
10597  r"""_set_from_binary(Vector1D self, PyObject * p)"""
10598  return _IMP_kernel.Vector1D__set_from_binary(self, p)
10599 
10600  def __getstate__(self):
10601  p = self._get_as_binary()
10602  if len(self.__dict__) > 1:
10603  d = self.__dict__.copy()
10604  del d['this']
10605  p = (d, p)
10606  return p
10607 
10608  def __setstate__(self, p):
10609  if not hasattr(self, 'this'):
10610  self.__init__()
10611  if isinstance(p, tuple):
10612  d, p = p
10613  self.__dict__.update(d)
10614  return self._set_from_binary(p)
10615 
10616 
10617  def __getitem__(self, index):
10618  if isinstance(index, slice):
10619  return [self[i] for i in range(*index.indices(len(self)))]
10620  else:
10621  return _IMP_kernel.Vector1D___getitem__(self, index)
10622 
10623 
10624 
10625  def __setitem__(self, index, val):
10626  if isinstance(index, slice):
10627  if not hasattr(val, '__iter__'):
10628  raise TypeError("must assign iterable to extended slice")
10629  inds = range(*index.indices(len(self)))
10630  if len(inds) != len(val):
10631  raise ValueError(
10632  "attempt to assign sequence of size %d "
10633  "to extended slice of size %d" % (len(val), len(inds)))
10634  for ind, v in zip(inds, val):
10635  self[ind] = v
10636  else:
10637  return _IMP_kernel.Vector1D___setitem__(self, index, val)
10638 
10639 
10640  __swig_destroy__ = _IMP_kernel.delete_Vector1D
10641 
10642 # Register Vector1D in _IMP_kernel:
10643 _IMP_kernel.Vector1D_swigregister(Vector1D)
10644 class Vector2D(_VectorBase2D):
10645  r"""Proxy of C++ IMP::VectorD< 2 > class."""
10646 
10647  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10648 
10649  def get_unit_vector(self):
10650  r"""get_unit_vector(Vector2D self) -> Vector2D"""
10651  return _IMP_kernel.Vector2D_get_unit_vector(self)
10652 
10653  def __truediv__(self, *args):
10654  return _IMP_kernel.Vector2D___truediv__(self, *args)
10655 
10656 
10657 
10658  def __neg__(self):
10659  r"""__neg__(Vector2D self) -> Vector2D"""
10660  return _IMP_kernel.Vector2D___neg__(self)
10661 
10662  def __sub__(self, o):
10663  r"""__sub__(Vector2D self, Vector2D o) -> Vector2D"""
10664  return _IMP_kernel.Vector2D___sub__(self, o)
10665 
10666  def __add__(self, ret):
10667  r"""__add__(Vector2D self, Vector2D ret) -> Vector2D"""
10668  return _IMP_kernel.Vector2D___add__(self, ret)
10669 
10670  def __mul__(self, *args):
10671  r"""
10672  __mul__(Vector2D self, double s) -> Vector2D
10673  __mul__(Vector2D self, Vector2D o) -> double
10674  """
10675  return _IMP_kernel.Vector2D___mul__(self, *args)
10676 
10677  def __init__(self, *args):
10678  r"""
10679  __init__(Vector2D self, IMP::Floats const & f) -> Vector2D
10680  __init__(Vector2D self) -> Vector2D
10681  __init__(Vector2D self, double x, double y) -> Vector2D
10682  """
10683  _IMP_kernel.Vector2D_swiginit(self, _IMP_kernel.new_Vector2D(*args))
10684 
10685  def __iadd__(self, *args):
10686  _IMP_kernel.Vector2D___iadd__(self, *args)
10687  return self
10688 
10689 
10690 
10691  def __imul__(self, *args):
10692  _IMP_kernel.Vector2D___imul__(self, *args)
10693  return self
10694 
10695 
10696 
10697  def __itruediv__(self, *args):
10698  _IMP_kernel.Vector2D___itruediv__(self, *args)
10699  return self
10700 
10701 
10702 
10703  def __isub__(self, *args):
10704  _IMP_kernel.Vector2D___isub__(self, *args)
10705  return self
10706 
10707 
10708 
10709  def __len__(self):
10710  r"""__len__(Vector2D self) -> unsigned int"""
10711  return _IMP_kernel.Vector2D___len__(self)
10712 
10713  def __rmul__(self, f):
10714  r"""__rmul__(Vector2D self, double f) -> Vector2D"""
10715  return _IMP_kernel.Vector2D___rmul__(self, f)
10716 
10717  def __str__(self):
10718  r"""__str__(Vector2D self) -> std::string"""
10719  return _IMP_kernel.Vector2D___str__(self)
10720 
10721  def __repr__(self):
10722  r"""__repr__(Vector2D self) -> std::string"""
10723  return _IMP_kernel.Vector2D___repr__(self)
10724 
10725  def __cmp__(self, arg2):
10726  r"""__cmp__(Vector2D self, Vector2D arg2) -> int"""
10727  return _IMP_kernel.Vector2D___cmp__(self, arg2)
10728 
10729  def __eq__(self, arg2):
10730  r"""__eq__(Vector2D self, Vector2D arg2) -> bool"""
10731  return _IMP_kernel.Vector2D___eq__(self, arg2)
10732 
10733  def _get_as_binary(self):
10734  r"""_get_as_binary(Vector2D self) -> PyObject *"""
10735  return _IMP_kernel.Vector2D__get_as_binary(self)
10736 
10737  def _set_from_binary(self, p):
10738  r"""_set_from_binary(Vector2D self, PyObject * p)"""
10739  return _IMP_kernel.Vector2D__set_from_binary(self, p)
10740 
10741  def __getstate__(self):
10742  p = self._get_as_binary()
10743  if len(self.__dict__) > 1:
10744  d = self.__dict__.copy()
10745  del d['this']
10746  p = (d, p)
10747  return p
10748 
10749  def __setstate__(self, p):
10750  if not hasattr(self, 'this'):
10751  self.__init__()
10752  if isinstance(p, tuple):
10753  d, p = p
10754  self.__dict__.update(d)
10755  return self._set_from_binary(p)
10756 
10757 
10758  def __getitem__(self, index):
10759  if isinstance(index, slice):
10760  return [self[i] for i in range(*index.indices(len(self)))]
10761  else:
10762  return _IMP_kernel.Vector2D___getitem__(self, index)
10763 
10764 
10765 
10766  def __setitem__(self, index, val):
10767  if isinstance(index, slice):
10768  if not hasattr(val, '__iter__'):
10769  raise TypeError("must assign iterable to extended slice")
10770  inds = range(*index.indices(len(self)))
10771  if len(inds) != len(val):
10772  raise ValueError(
10773  "attempt to assign sequence of size %d "
10774  "to extended slice of size %d" % (len(val), len(inds)))
10775  for ind, v in zip(inds, val):
10776  self[ind] = v
10777  else:
10778  return _IMP_kernel.Vector2D___setitem__(self, index, val)
10779 
10780 
10781  __swig_destroy__ = _IMP_kernel.delete_Vector2D
10782 
10783 # Register Vector2D in _IMP_kernel:
10784 _IMP_kernel.Vector2D_swigregister(Vector2D)
10785 class Vector3D(_VectorBase3D):
10786  r"""Proxy of C++ IMP::VectorD< 3 > class."""
10787 
10788  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10789 
10790  def get_unit_vector(self):
10791  r"""get_unit_vector(Vector3D self) -> Vector3D"""
10792  return _IMP_kernel.Vector3D_get_unit_vector(self)
10793 
10794  def __truediv__(self, *args):
10795  return _IMP_kernel.Vector3D___truediv__(self, *args)
10796 
10797 
10798 
10799  def __neg__(self):
10800  r"""__neg__(Vector3D self) -> Vector3D"""
10801  return _IMP_kernel.Vector3D___neg__(self)
10802 
10803  def __sub__(self, o):
10804  r"""__sub__(Vector3D self, Vector3D o) -> Vector3D"""
10805  return _IMP_kernel.Vector3D___sub__(self, o)
10806 
10807  def __add__(self, ret):
10808  r"""__add__(Vector3D self, Vector3D ret) -> Vector3D"""
10809  return _IMP_kernel.Vector3D___add__(self, ret)
10810 
10811  def __mul__(self, *args):
10812  r"""
10813  __mul__(Vector3D self, double s) -> Vector3D
10814  __mul__(Vector3D self, Vector3D o) -> double
10815  """
10816  return _IMP_kernel.Vector3D___mul__(self, *args)
10817 
10818  def __init__(self, *args):
10819  r"""
10820  __init__(Vector3D self, IMP::Floats const & f) -> Vector3D
10821  __init__(Vector3D self) -> Vector3D
10822  __init__(Vector3D self, double x, double y, double z) -> Vector3D
10823  """
10824  _IMP_kernel.Vector3D_swiginit(self, _IMP_kernel.new_Vector3D(*args))
10825 
10826  def __iadd__(self, *args):
10827  _IMP_kernel.Vector3D___iadd__(self, *args)
10828  return self
10829 
10830 
10831 
10832  def __imul__(self, *args):
10833  _IMP_kernel.Vector3D___imul__(self, *args)
10834  return self
10835 
10836 
10837 
10838  def __itruediv__(self, *args):
10839  _IMP_kernel.Vector3D___itruediv__(self, *args)
10840  return self
10841 
10842 
10843 
10844  def __isub__(self, *args):
10845  _IMP_kernel.Vector3D___isub__(self, *args)
10846  return self
10847 
10848 
10849 
10850  def __len__(self):
10851  r"""__len__(Vector3D self) -> unsigned int"""
10852  return _IMP_kernel.Vector3D___len__(self)
10853 
10854  def __rmul__(self, f):
10855  r"""__rmul__(Vector3D self, double f) -> Vector3D"""
10856  return _IMP_kernel.Vector3D___rmul__(self, f)
10857 
10858  def __str__(self):
10859  r"""__str__(Vector3D self) -> std::string"""
10860  return _IMP_kernel.Vector3D___str__(self)
10861 
10862  def __repr__(self):
10863  r"""__repr__(Vector3D self) -> std::string"""
10864  return _IMP_kernel.Vector3D___repr__(self)
10865 
10866  def __cmp__(self, arg2):
10867  r"""__cmp__(Vector3D self, Vector3D arg2) -> int"""
10868  return _IMP_kernel.Vector3D___cmp__(self, arg2)
10869 
10870  def __eq__(self, arg2):
10871  r"""__eq__(Vector3D self, Vector3D arg2) -> bool"""
10872  return _IMP_kernel.Vector3D___eq__(self, arg2)
10873 
10874  def _get_as_binary(self):
10875  r"""_get_as_binary(Vector3D self) -> PyObject *"""
10876  return _IMP_kernel.Vector3D__get_as_binary(self)
10877 
10878  def _set_from_binary(self, p):
10879  r"""_set_from_binary(Vector3D self, PyObject * p)"""
10880  return _IMP_kernel.Vector3D__set_from_binary(self, p)
10881 
10882  def __getstate__(self):
10883  p = self._get_as_binary()
10884  if len(self.__dict__) > 1:
10885  d = self.__dict__.copy()
10886  del d['this']
10887  p = (d, p)
10888  return p
10889 
10890  def __setstate__(self, p):
10891  if not hasattr(self, 'this'):
10892  self.__init__()
10893  if isinstance(p, tuple):
10894  d, p = p
10895  self.__dict__.update(d)
10896  return self._set_from_binary(p)
10897 
10898 
10899  def __getitem__(self, index):
10900  if isinstance(index, slice):
10901  return [self[i] for i in range(*index.indices(len(self)))]
10902  else:
10903  return _IMP_kernel.Vector3D___getitem__(self, index)
10904 
10905 
10906 
10907  def __setitem__(self, index, val):
10908  if isinstance(index, slice):
10909  if not hasattr(val, '__iter__'):
10910  raise TypeError("must assign iterable to extended slice")
10911  inds = range(*index.indices(len(self)))
10912  if len(inds) != len(val):
10913  raise ValueError(
10914  "attempt to assign sequence of size %d "
10915  "to extended slice of size %d" % (len(val), len(inds)))
10916  for ind, v in zip(inds, val):
10917  self[ind] = v
10918  else:
10919  return _IMP_kernel.Vector3D___setitem__(self, index, val)
10920 
10921 
10922  __swig_destroy__ = _IMP_kernel.delete_Vector3D
10923 
10924 # Register Vector3D in _IMP_kernel:
10925 _IMP_kernel.Vector3D_swigregister(Vector3D)
10926 class Vector4D(_VectorBase4D):
10927  r"""Proxy of C++ IMP::VectorD< 4 > class."""
10928 
10929  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10930 
10931  def get_unit_vector(self):
10932  r"""get_unit_vector(Vector4D self) -> Vector4D"""
10933  return _IMP_kernel.Vector4D_get_unit_vector(self)
10934 
10935  def __truediv__(self, *args):
10936  return _IMP_kernel.Vector4D___truediv__(self, *args)
10937 
10938 
10939 
10940  def __neg__(self):
10941  r"""__neg__(Vector4D self) -> Vector4D"""
10942  return _IMP_kernel.Vector4D___neg__(self)
10943 
10944  def __sub__(self, o):
10945  r"""__sub__(Vector4D self, Vector4D o) -> Vector4D"""
10946  return _IMP_kernel.Vector4D___sub__(self, o)
10947 
10948  def __add__(self, ret):
10949  r"""__add__(Vector4D self, Vector4D ret) -> Vector4D"""
10950  return _IMP_kernel.Vector4D___add__(self, ret)
10951 
10952  def __mul__(self, *args):
10953  r"""
10954  __mul__(Vector4D self, double s) -> Vector4D
10955  __mul__(Vector4D self, Vector4D o) -> double
10956  """
10957  return _IMP_kernel.Vector4D___mul__(self, *args)
10958 
10959  def __init__(self, *args):
10960  r"""
10961  __init__(Vector4D self, IMP::Floats const & f) -> Vector4D
10962  __init__(Vector4D self) -> Vector4D
10963  __init__(Vector4D self, double x0, double x1, double x2, double x3) -> Vector4D
10964  """
10965  _IMP_kernel.Vector4D_swiginit(self, _IMP_kernel.new_Vector4D(*args))
10966 
10967  def __iadd__(self, *args):
10968  _IMP_kernel.Vector4D___iadd__(self, *args)
10969  return self
10970 
10971 
10972 
10973  def __imul__(self, *args):
10974  _IMP_kernel.Vector4D___imul__(self, *args)
10975  return self
10976 
10977 
10978 
10979  def __itruediv__(self, *args):
10980  _IMP_kernel.Vector4D___itruediv__(self, *args)
10981  return self
10982 
10983 
10984 
10985  def __isub__(self, *args):
10986  _IMP_kernel.Vector4D___isub__(self, *args)
10987  return self
10988 
10989 
10990 
10991  def __len__(self):
10992  r"""__len__(Vector4D self) -> unsigned int"""
10993  return _IMP_kernel.Vector4D___len__(self)
10994 
10995  def __rmul__(self, f):
10996  r"""__rmul__(Vector4D self, double f) -> Vector4D"""
10997  return _IMP_kernel.Vector4D___rmul__(self, f)
10998 
10999  def __str__(self):
11000  r"""__str__(Vector4D self) -> std::string"""
11001  return _IMP_kernel.Vector4D___str__(self)
11002 
11003  def __repr__(self):
11004  r"""__repr__(Vector4D self) -> std::string"""
11005  return _IMP_kernel.Vector4D___repr__(self)
11006 
11007  def __cmp__(self, arg2):
11008  r"""__cmp__(Vector4D self, Vector4D arg2) -> int"""
11009  return _IMP_kernel.Vector4D___cmp__(self, arg2)
11010 
11011  def __eq__(self, arg2):
11012  r"""__eq__(Vector4D self, Vector4D arg2) -> bool"""
11013  return _IMP_kernel.Vector4D___eq__(self, arg2)
11014 
11015  def _get_as_binary(self):
11016  r"""_get_as_binary(Vector4D self) -> PyObject *"""
11017  return _IMP_kernel.Vector4D__get_as_binary(self)
11018 
11019  def _set_from_binary(self, p):
11020  r"""_set_from_binary(Vector4D self, PyObject * p)"""
11021  return _IMP_kernel.Vector4D__set_from_binary(self, p)
11022 
11023  def __getstate__(self):
11024  p = self._get_as_binary()
11025  if len(self.__dict__) > 1:
11026  d = self.__dict__.copy()
11027  del d['this']
11028  p = (d, p)
11029  return p
11030 
11031  def __setstate__(self, p):
11032  if not hasattr(self, 'this'):
11033  self.__init__()
11034  if isinstance(p, tuple):
11035  d, p = p
11036  self.__dict__.update(d)
11037  return self._set_from_binary(p)
11038 
11039 
11040  def __getitem__(self, index):
11041  if isinstance(index, slice):
11042  return [self[i] for i in range(*index.indices(len(self)))]
11043  else:
11044  return _IMP_kernel.Vector4D___getitem__(self, index)
11045 
11046 
11047 
11048  def __setitem__(self, index, val):
11049  if isinstance(index, slice):
11050  if not hasattr(val, '__iter__'):
11051  raise TypeError("must assign iterable to extended slice")
11052  inds = range(*index.indices(len(self)))
11053  if len(inds) != len(val):
11054  raise ValueError(
11055  "attempt to assign sequence of size %d "
11056  "to extended slice of size %d" % (len(val), len(inds)))
11057  for ind, v in zip(inds, val):
11058  self[ind] = v
11059  else:
11060  return _IMP_kernel.Vector4D___setitem__(self, index, val)
11061 
11062 
11063  __swig_destroy__ = _IMP_kernel.delete_Vector4D
11064 
11065 # Register Vector4D in _IMP_kernel:
11066 _IMP_kernel.Vector4D_swigregister(Vector4D)
11067 class Vector5D(_VectorBase5D):
11068  r"""Proxy of C++ IMP::VectorD< 5 > class."""
11069 
11070  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11071 
11072  def get_unit_vector(self):
11073  r"""get_unit_vector(Vector5D self) -> Vector5D"""
11074  return _IMP_kernel.Vector5D_get_unit_vector(self)
11075 
11076  def __truediv__(self, *args):
11077  return _IMP_kernel.Vector5D___truediv__(self, *args)
11078 
11079 
11080 
11081  def __neg__(self):
11082  r"""__neg__(Vector5D self) -> Vector5D"""
11083  return _IMP_kernel.Vector5D___neg__(self)
11084 
11085  def __sub__(self, o):
11086  r"""__sub__(Vector5D self, Vector5D o) -> Vector5D"""
11087  return _IMP_kernel.Vector5D___sub__(self, o)
11088 
11089  def __add__(self, ret):
11090  r"""__add__(Vector5D self, Vector5D ret) -> Vector5D"""
11091  return _IMP_kernel.Vector5D___add__(self, ret)
11092 
11093  def __mul__(self, *args):
11094  r"""
11095  __mul__(Vector5D self, double s) -> Vector5D
11096  __mul__(Vector5D self, Vector5D o) -> double
11097  """
11098  return _IMP_kernel.Vector5D___mul__(self, *args)
11099 
11100  def __init__(self, *args):
11101  r"""
11102  __init__(Vector5D self, IMP::Floats const & f) -> Vector5D
11103  __init__(Vector5D self) -> Vector5D
11104  __init__(Vector5D self, double x0, double x1, double x2, double x3, double x4) -> Vector5D
11105  """
11106  _IMP_kernel.Vector5D_swiginit(self, _IMP_kernel.new_Vector5D(*args))
11107 
11108  def __iadd__(self, *args):
11109  _IMP_kernel.Vector5D___iadd__(self, *args)
11110  return self
11111 
11112 
11113 
11114  def __imul__(self, *args):
11115  _IMP_kernel.Vector5D___imul__(self, *args)
11116  return self
11117 
11118 
11119 
11120  def __itruediv__(self, *args):
11121  _IMP_kernel.Vector5D___itruediv__(self, *args)
11122  return self
11123 
11124 
11125 
11126  def __isub__(self, *args):
11127  _IMP_kernel.Vector5D___isub__(self, *args)
11128  return self
11129 
11130 
11131 
11132  def __len__(self):
11133  r"""__len__(Vector5D self) -> unsigned int"""
11134  return _IMP_kernel.Vector5D___len__(self)
11135 
11136  def __rmul__(self, f):
11137  r"""__rmul__(Vector5D self, double f) -> Vector5D"""
11138  return _IMP_kernel.Vector5D___rmul__(self, f)
11139 
11140  def __str__(self):
11141  r"""__str__(Vector5D self) -> std::string"""
11142  return _IMP_kernel.Vector5D___str__(self)
11143 
11144  def __repr__(self):
11145  r"""__repr__(Vector5D self) -> std::string"""
11146  return _IMP_kernel.Vector5D___repr__(self)
11147 
11148  def __cmp__(self, arg2):
11149  r"""__cmp__(Vector5D self, Vector5D arg2) -> int"""
11150  return _IMP_kernel.Vector5D___cmp__(self, arg2)
11151 
11152  def __eq__(self, arg2):
11153  r"""__eq__(Vector5D self, Vector5D arg2) -> bool"""
11154  return _IMP_kernel.Vector5D___eq__(self, arg2)
11155 
11156  def _get_as_binary(self):
11157  r"""_get_as_binary(Vector5D self) -> PyObject *"""
11158  return _IMP_kernel.Vector5D__get_as_binary(self)
11159 
11160  def _set_from_binary(self, p):
11161  r"""_set_from_binary(Vector5D self, PyObject * p)"""
11162  return _IMP_kernel.Vector5D__set_from_binary(self, p)
11163 
11164  def __getstate__(self):
11165  p = self._get_as_binary()
11166  if len(self.__dict__) > 1:
11167  d = self.__dict__.copy()
11168  del d['this']
11169  p = (d, p)
11170  return p
11171 
11172  def __setstate__(self, p):
11173  if not hasattr(self, 'this'):
11174  self.__init__()
11175  if isinstance(p, tuple):
11176  d, p = p
11177  self.__dict__.update(d)
11178  return self._set_from_binary(p)
11179 
11180 
11181  def __getitem__(self, index):
11182  if isinstance(index, slice):
11183  return [self[i] for i in range(*index.indices(len(self)))]
11184  else:
11185  return _IMP_kernel.Vector5D___getitem__(self, index)
11186 
11187 
11188 
11189  def __setitem__(self, index, val):
11190  if isinstance(index, slice):
11191  if not hasattr(val, '__iter__'):
11192  raise TypeError("must assign iterable to extended slice")
11193  inds = range(*index.indices(len(self)))
11194  if len(inds) != len(val):
11195  raise ValueError(
11196  "attempt to assign sequence of size %d "
11197  "to extended slice of size %d" % (len(val), len(inds)))
11198  for ind, v in zip(inds, val):
11199  self[ind] = v
11200  else:
11201  return _IMP_kernel.Vector5D___setitem__(self, index, val)
11202 
11203 
11204  __swig_destroy__ = _IMP_kernel.delete_Vector5D
11205 
11206 # Register Vector5D in _IMP_kernel:
11207 _IMP_kernel.Vector5D_swigregister(Vector5D)
11208 class Vector6D(_VectorBase6D):
11209  r"""Proxy of C++ IMP::VectorD< 6 > class."""
11210 
11211  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11212 
11213  def get_unit_vector(self):
11214  r"""get_unit_vector(Vector6D self) -> Vector6D"""
11215  return _IMP_kernel.Vector6D_get_unit_vector(self)
11216 
11217  def __truediv__(self, *args):
11218  return _IMP_kernel.Vector6D___truediv__(self, *args)
11219 
11220 
11221 
11222  def __neg__(self):
11223  r"""__neg__(Vector6D self) -> Vector6D"""
11224  return _IMP_kernel.Vector6D___neg__(self)
11225 
11226  def __sub__(self, o):
11227  r"""__sub__(Vector6D self, Vector6D o) -> Vector6D"""
11228  return _IMP_kernel.Vector6D___sub__(self, o)
11229 
11230  def __add__(self, ret):
11231  r"""__add__(Vector6D self, Vector6D ret) -> Vector6D"""
11232  return _IMP_kernel.Vector6D___add__(self, ret)
11233 
11234  def __mul__(self, *args):
11235  r"""
11236  __mul__(Vector6D self, double s) -> Vector6D
11237  __mul__(Vector6D self, Vector6D o) -> double
11238  """
11239  return _IMP_kernel.Vector6D___mul__(self, *args)
11240 
11241  def __init__(self, *args):
11242  r"""
11243  __init__(Vector6D self, IMP::Floats const & f) -> Vector6D
11244  __init__(Vector6D self) -> Vector6D
11245  __init__(Vector6D self, double x0, double x1, double x2, double x3, double x4, double x5) -> Vector6D
11246  """
11247  _IMP_kernel.Vector6D_swiginit(self, _IMP_kernel.new_Vector6D(*args))
11248 
11249  def __iadd__(self, *args):
11250  _IMP_kernel.Vector6D___iadd__(self, *args)
11251  return self
11252 
11253 
11254 
11255  def __imul__(self, *args):
11256  _IMP_kernel.Vector6D___imul__(self, *args)
11257  return self
11258 
11259 
11260 
11261  def __itruediv__(self, *args):
11262  _IMP_kernel.Vector6D___itruediv__(self, *args)
11263  return self
11264 
11265 
11266 
11267  def __isub__(self, *args):
11268  _IMP_kernel.Vector6D___isub__(self, *args)
11269  return self
11270 
11271 
11272 
11273  def __len__(self):
11274  r"""__len__(Vector6D self) -> unsigned int"""
11275  return _IMP_kernel.Vector6D___len__(self)
11276 
11277  def __rmul__(self, f):
11278  r"""__rmul__(Vector6D self, double f) -> Vector6D"""
11279  return _IMP_kernel.Vector6D___rmul__(self, f)
11280 
11281  def __str__(self):
11282  r"""__str__(Vector6D self) -> std::string"""
11283  return _IMP_kernel.Vector6D___str__(self)
11284 
11285  def __repr__(self):
11286  r"""__repr__(Vector6D self) -> std::string"""
11287  return _IMP_kernel.Vector6D___repr__(self)
11288 
11289  def __cmp__(self, arg2):
11290  r"""__cmp__(Vector6D self, Vector6D arg2) -> int"""
11291  return _IMP_kernel.Vector6D___cmp__(self, arg2)
11292 
11293  def __eq__(self, arg2):
11294  r"""__eq__(Vector6D self, Vector6D arg2) -> bool"""
11295  return _IMP_kernel.Vector6D___eq__(self, arg2)
11296 
11297  def _get_as_binary(self):
11298  r"""_get_as_binary(Vector6D self) -> PyObject *"""
11299  return _IMP_kernel.Vector6D__get_as_binary(self)
11300 
11301  def _set_from_binary(self, p):
11302  r"""_set_from_binary(Vector6D self, PyObject * p)"""
11303  return _IMP_kernel.Vector6D__set_from_binary(self, p)
11304 
11305  def __getstate__(self):
11306  p = self._get_as_binary()
11307  if len(self.__dict__) > 1:
11308  d = self.__dict__.copy()
11309  del d['this']
11310  p = (d, p)
11311  return p
11312 
11313  def __setstate__(self, p):
11314  if not hasattr(self, 'this'):
11315  self.__init__()
11316  if isinstance(p, tuple):
11317  d, p = p
11318  self.__dict__.update(d)
11319  return self._set_from_binary(p)
11320 
11321 
11322  def __getitem__(self, index):
11323  if isinstance(index, slice):
11324  return [self[i] for i in range(*index.indices(len(self)))]
11325  else:
11326  return _IMP_kernel.Vector6D___getitem__(self, index)
11327 
11328 
11329 
11330  def __setitem__(self, index, val):
11331  if isinstance(index, slice):
11332  if not hasattr(val, '__iter__'):
11333  raise TypeError("must assign iterable to extended slice")
11334  inds = range(*index.indices(len(self)))
11335  if len(inds) != len(val):
11336  raise ValueError(
11337  "attempt to assign sequence of size %d "
11338  "to extended slice of size %d" % (len(val), len(inds)))
11339  for ind, v in zip(inds, val):
11340  self[ind] = v
11341  else:
11342  return _IMP_kernel.Vector6D___setitem__(self, index, val)
11343 
11344 
11345  __swig_destroy__ = _IMP_kernel.delete_Vector6D
11346 
11347 # Register Vector6D in _IMP_kernel:
11348 _IMP_kernel.Vector6D_swigregister(Vector6D)
11349 class VectorKD(_VectorBaseKD):
11350  r"""Proxy of C++ IMP::VectorD< -1 > class."""
11351 
11352  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11353 
11354  def get_unit_vector(self):
11355  r"""get_unit_vector(VectorKD self) -> VectorKD"""
11356  return _IMP_kernel.VectorKD_get_unit_vector(self)
11357 
11358  def __truediv__(self, *args):
11359  return _IMP_kernel.VectorKD___truediv__(self, *args)
11360 
11361 
11362 
11363  def __neg__(self):
11364  r"""__neg__(VectorKD self) -> VectorKD"""
11365  return _IMP_kernel.VectorKD___neg__(self)
11366 
11367  def __sub__(self, o):
11368  r"""__sub__(VectorKD self, VectorKD o) -> VectorKD"""
11369  return _IMP_kernel.VectorKD___sub__(self, o)
11370 
11371  def __add__(self, ret):
11372  r"""__add__(VectorKD self, VectorKD ret) -> VectorKD"""
11373  return _IMP_kernel.VectorKD___add__(self, ret)
11374 
11375  def __mul__(self, *args):
11376  r"""
11377  __mul__(VectorKD self, double s) -> VectorKD
11378  __mul__(VectorKD self, VectorKD o) -> double
11379  """
11380  return _IMP_kernel.VectorKD___mul__(self, *args)
11381 
11382  def __init__(self, *args):
11383  r"""
11384  __init__(VectorKD self, IMP::Floats const & f) -> VectorKD
11385  __init__(VectorKD self) -> VectorKD
11386  __init__(VectorKD self, double x0, double x1=std::numeric_limits< double >::max(), double x2=std::numeric_limits< double >::max(), double x3=std::numeric_limits< double >::max(), double x4=std::numeric_limits< double >::max(), double x5=std::numeric_limits< double >::max()) -> VectorKD
11387  """
11388  _IMP_kernel.VectorKD_swiginit(self, _IMP_kernel.new_VectorKD(*args))
11389 
11390  def __iadd__(self, *args):
11391  _IMP_kernel.VectorKD___iadd__(self, *args)
11392  return self
11393 
11394 
11395 
11396  def __imul__(self, *args):
11397  _IMP_kernel.VectorKD___imul__(self, *args)
11398  return self
11399 
11400 
11401 
11402  def __itruediv__(self, *args):
11403  _IMP_kernel.VectorKD___itruediv__(self, *args)
11404  return self
11405 
11406 
11407 
11408  def __isub__(self, *args):
11409  _IMP_kernel.VectorKD___isub__(self, *args)
11410  return self
11411 
11412 
11413 
11414  def __len__(self):
11415  r"""__len__(VectorKD self) -> unsigned int"""
11416  return _IMP_kernel.VectorKD___len__(self)
11417 
11418  def __rmul__(self, f):
11419  r"""__rmul__(VectorKD self, double f) -> VectorKD"""
11420  return _IMP_kernel.VectorKD___rmul__(self, f)
11421 
11422  def __str__(self):
11423  r"""__str__(VectorKD self) -> std::string"""
11424  return _IMP_kernel.VectorKD___str__(self)
11425 
11426  def __repr__(self):
11427  r"""__repr__(VectorKD self) -> std::string"""
11428  return _IMP_kernel.VectorKD___repr__(self)
11429 
11430  def __cmp__(self, arg2):
11431  r"""__cmp__(VectorKD self, VectorKD arg2) -> int"""
11432  return _IMP_kernel.VectorKD___cmp__(self, arg2)
11433 
11434  def __eq__(self, arg2):
11435  r"""__eq__(VectorKD self, VectorKD arg2) -> bool"""
11436  return _IMP_kernel.VectorKD___eq__(self, arg2)
11437 
11438  def _get_as_binary(self):
11439  r"""_get_as_binary(VectorKD self) -> PyObject *"""
11440  return _IMP_kernel.VectorKD__get_as_binary(self)
11441 
11442  def _set_from_binary(self, p):
11443  r"""_set_from_binary(VectorKD self, PyObject * p)"""
11444  return _IMP_kernel.VectorKD__set_from_binary(self, p)
11445 
11446  def __getstate__(self):
11447  p = self._get_as_binary()
11448  if len(self.__dict__) > 1:
11449  d = self.__dict__.copy()
11450  del d['this']
11451  p = (d, p)
11452  return p
11453 
11454  def __setstate__(self, p):
11455  if not hasattr(self, 'this'):
11456  self.__init__()
11457  if isinstance(p, tuple):
11458  d, p = p
11459  self.__dict__.update(d)
11460  return self._set_from_binary(p)
11461 
11462 
11463  def __getitem__(self, index):
11464  if isinstance(index, slice):
11465  return [self[i] for i in range(*index.indices(len(self)))]
11466  else:
11467  return _IMP_kernel.VectorKD___getitem__(self, index)
11468 
11469 
11470 
11471  def __setitem__(self, index, val):
11472  if isinstance(index, slice):
11473  if not hasattr(val, '__iter__'):
11474  raise TypeError("must assign iterable to extended slice")
11475  inds = range(*index.indices(len(self)))
11476  if len(inds) != len(val):
11477  raise ValueError(
11478  "attempt to assign sequence of size %d "
11479  "to extended slice of size %d" % (len(val), len(inds)))
11480  for ind, v in zip(inds, val):
11481  self[ind] = v
11482  else:
11483  return _IMP_kernel.VectorKD___setitem__(self, index, val)
11484 
11485 
11486  __swig_destroy__ = _IMP_kernel.delete_VectorKD
11487 
11488 # Register VectorKD in _IMP_kernel:
11489 _IMP_kernel.VectorKD_swigregister(VectorKD)
11490 
11491 def get_basis_vector_1d(coordinate):
11492  r"""get_basis_vector_1d(unsigned int coordinate) -> Vector1D"""
11493  return _IMP_kernel.get_basis_vector_1d(coordinate)
11494 
11495 def get_basis_vector_2d(coordinate):
11496  r"""get_basis_vector_2d(unsigned int coordinate) -> Vector2D"""
11497  return _IMP_kernel.get_basis_vector_2d(coordinate)
11498 
11499 def get_basis_vector_3d(coordinate):
11500  r"""get_basis_vector_3d(unsigned int coordinate) -> Vector3D"""
11501  return _IMP_kernel.get_basis_vector_3d(coordinate)
11502 
11503 def get_basis_vector_4d(coordinate):
11504  r"""get_basis_vector_4d(unsigned int coordinate) -> Vector4D"""
11505  return _IMP_kernel.get_basis_vector_4d(coordinate)
11506 
11507 def get_basis_vector_5d(coordinate):
11508  r"""get_basis_vector_5d(unsigned int coordinate) -> Vector5D"""
11509  return _IMP_kernel.get_basis_vector_5d(coordinate)
11510 
11511 def get_basis_vector_6d(coordinate):
11512  r"""get_basis_vector_6d(unsigned int coordinate) -> Vector6D"""
11513  return _IMP_kernel.get_basis_vector_6d(coordinate)
11514 
11515 def get_zero_vector_1d():
11516  r"""get_zero_vector_1d() -> Vector1D"""
11517  return _IMP_kernel.get_zero_vector_1d()
11518 
11519 def get_zero_vector_2d():
11520  r"""get_zero_vector_2d() -> Vector2D"""
11521  return _IMP_kernel.get_zero_vector_2d()
11522 
11523 def get_zero_vector_3d():
11524  r"""get_zero_vector_3d() -> Vector3D"""
11525  return _IMP_kernel.get_zero_vector_3d()
11526 
11527 def get_zero_vector_4d():
11528  r"""get_zero_vector_4d() -> Vector4D"""
11529  return _IMP_kernel.get_zero_vector_4d()
11530 
11531 def get_zero_vector_5d():
11532  r"""get_zero_vector_5d() -> Vector5D"""
11533  return _IMP_kernel.get_zero_vector_5d()
11534 
11535 def get_zero_vector_6d():
11536  r"""get_zero_vector_6d() -> Vector6D"""
11537  return _IMP_kernel.get_zero_vector_6d()
11538 
11539 def get_ones_vector_1d(v=1):
11540  r"""get_ones_vector_1d(double v=1) -> Vector1D"""
11541  return _IMP_kernel.get_ones_vector_1d(v)
11542 
11543 def get_ones_vector_2d(v=1):
11544  r"""get_ones_vector_2d(double v=1) -> Vector2D"""
11545  return _IMP_kernel.get_ones_vector_2d(v)
11546 
11547 def get_ones_vector_3d(v=1):
11548  r"""get_ones_vector_3d(double v=1) -> Vector3D"""
11549  return _IMP_kernel.get_ones_vector_3d(v)
11550 
11551 def get_ones_vector_4d(v=1):
11552  r"""get_ones_vector_4d(double v=1) -> Vector4D"""
11553  return _IMP_kernel.get_ones_vector_4d(v)
11554 
11555 def get_ones_vector_5d(v=1):
11556  r"""get_ones_vector_5d(double v=1) -> Vector5D"""
11557  return _IMP_kernel.get_ones_vector_5d(v)
11558 
11559 def get_ones_vector_6d(v=1):
11560  r"""get_ones_vector_6d(double v=1) -> Vector6D"""
11561  return _IMP_kernel.get_ones_vector_6d(v)
11562 class _RestraintsScoringFunction(ScoringFunction):
11563  r"""Proxy of C++ IMP::internal::GenericRestraintsScoringFunction< ::IMP::Restraints > class."""
11564 
11565  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11566  __repr__ = _swig_repr
11567 
11568  def __init__(self, *args):
11569  r"""
11570  __init__(_RestraintsScoringFunction self, IMP::RestraintsTemp const & rs, double weight=1.0, double max=NO_MAX, std::string name="RestraintsScoringFunction%1%") -> _RestraintsScoringFunction
11571  __init__(_RestraintsScoringFunction self) -> _RestraintsScoringFunction
11572  """
11573  _IMP_kernel._RestraintsScoringFunction_swiginit(self, _IMP_kernel.new__RestraintsScoringFunction(*args))
11574 
11575  def do_add_score_and_derivatives(self, sa, ss):
11576  r"""do_add_score_and_derivatives(_RestraintsScoringFunction self, ScoreAccumulator sa, IMP::ScoreStatesTemp const & ss)"""
11577  return _IMP_kernel._RestraintsScoringFunction_do_add_score_and_derivatives(self, sa, ss)
11578 
11579  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss):
11580  r"""do_add_score_and_derivatives_moved(_RestraintsScoringFunction self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, IMP::ScoreStatesTemp const & ss)"""
11581  return _IMP_kernel._RestraintsScoringFunction_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss)
11582 
11583  def do_get_inputs(self):
11584  r"""do_get_inputs(_RestraintsScoringFunction self) -> IMP::ModelObjectsTemp"""
11585  return _IMP_kernel._RestraintsScoringFunction_do_get_inputs(self)
11586 
11587  def get_restraints(self):
11588  r"""get_restraints(_RestraintsScoringFunction self) -> IMP::Vector< IMP::Pointer< IMP::Restraint >,std::allocator< IMP::Pointer< IMP::Restraint > > > const &"""
11589  return _IMP_kernel._RestraintsScoringFunction_get_restraints(self)
11590 
11591  def set_restraints(self, s):
11592  r"""set_restraints(_RestraintsScoringFunction self, IMP::RestraintsTemp const & s)"""
11593  return _IMP_kernel._RestraintsScoringFunction_set_restraints(self, s)
11594 
11595  def get_number_of_restraints(self):
11596  r"""get_number_of_restraints(_RestraintsScoringFunction self) -> unsigned int"""
11597  return _IMP_kernel._RestraintsScoringFunction_get_number_of_restraints(self)
11598 
11599  def clear_restraints(self):
11600  r"""clear_restraints(_RestraintsScoringFunction self)"""
11601  return _IMP_kernel._RestraintsScoringFunction_clear_restraints(self)
11602 
11603  def get_restraint(self, i):
11604  r"""get_restraint(_RestraintsScoringFunction self, unsigned int i) -> Restraint"""
11605  return _IMP_kernel._RestraintsScoringFunction_get_restraint(self, i)
11606 
11607  def erase_restraint(self, i):
11608  r"""erase_restraint(_RestraintsScoringFunction self, unsigned int i)"""
11609  return _IMP_kernel._RestraintsScoringFunction_erase_restraint(self, i)
11610 
11611  def add_restraint(self, r):
11612  r"""add_restraint(_RestraintsScoringFunction self, Restraint r) -> unsigned int"""
11613  return _IMP_kernel._RestraintsScoringFunction_add_restraint(self, r)
11614 
11615  def add_restraints(self, r):
11616  r"""add_restraints(_RestraintsScoringFunction self, IMP::Vector< IMP::Pointer< IMP::Restraint >,std::allocator< IMP::Pointer< IMP::Restraint > > > const & r)"""
11617  return _IMP_kernel._RestraintsScoringFunction_add_restraints(self, r)
11618 
11619  def _python_index_restraint(self, r, start, stop):
11620  r"""_python_index_restraint(_RestraintsScoringFunction self, Restraint r, unsigned int start, unsigned int stop) -> unsigned int"""
11621  return _IMP_kernel._RestraintsScoringFunction__python_index_restraint(self, r, start, stop)
11622 
11623  def get_version_info(self):
11624  r"""get_version_info(_RestraintsScoringFunction self) -> VersionInfo"""
11625  return _IMP_kernel._RestraintsScoringFunction_get_version_info(self)
11626  __swig_destroy__ = _IMP_kernel.delete__RestraintsScoringFunction
11627 
11628  @staticmethod
11629  def get_from(o):
11630  return _object_cast_to__RestraintsScoringFunction(o)
11631 
11632 
11633  def __get_restraints(self):
11634  return _list_util.VarList(
11635  getdimfunc=self.get_number_of_restraints,
11636  getfunc=self.get_restraint, erasefunc=self.erase_restraint,
11637  appendfunc=self.add_restraint, extendfunc=self.add_restraints,
11638  clearfunc=self.clear_restraints,
11639  indexfunc=self._python_index_restraint)
11640 
11641  def __set_restraints(self, obj):
11642  _list_util.set_varlist(self.restraints, obj)
11643 
11644  def __del_restraints(self):
11645  _list_util.del_varlist(self.restraints)
11646 
11647  restraints = property(__get_restraints, __set_restraints,
11648  __del_restraints, doc="List of Restraints")
11649 
11650 
11651  def _get_jax(self):
11652  import IMP._jax_util
11653  jis = [r.get_derived_object()._get_jax() for r in self.restraints]
11654  funcs = [j.score_func for j in jis]
11655  keys = frozenset(x for j in jis for x in j._keys)
11656  def jax_sf(jm):
11657  return sum(f(jm) for f in funcs)
11658  return IMP._jax_util.JAXRestraintInfo(
11659  m=self.get_model(), score_func=jax_sf, weight=1.0, keys=keys)
11660 
11661 
11662 # Register _RestraintsScoringFunction in _IMP_kernel:
11663 _IMP_kernel._RestraintsScoringFunction_swigregister(_RestraintsScoringFunction)
11664 class ScopedSetFloatAttribute(_RAII):
11665  r"""Proxy of C++ IMP::ScopedSetAttribute< IMP::FloatKey,IMP::Float > class."""
11666 
11667  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11668 
11669  def __init__(self, *args):
11670  r"""
11671  __init__(ScopedSetFloatAttribute self) -> ScopedSetFloatAttribute
11672  __init__(ScopedSetFloatAttribute self, Particle p, FloatKey key, double const & value) -> ScopedSetFloatAttribute
11673  """
11674  _IMP_kernel.ScopedSetFloatAttribute_swiginit(self, _IMP_kernel.new_ScopedSetFloatAttribute(*args))
11675 
11676  def set(self, p, key, value):
11677  r"""set(ScopedSetFloatAttribute self, Particle p, FloatKey key, double const & value)"""
11678  return _IMP_kernel.ScopedSetFloatAttribute_set(self, p, key, value)
11679 
11680  def reset(self):
11681  r"""reset(ScopedSetFloatAttribute self)"""
11682  return _IMP_kernel.ScopedSetFloatAttribute_reset(self)
11683  __swig_destroy__ = _IMP_kernel.delete_ScopedSetFloatAttribute
11684 
11685  def show(self, *args):
11686  r"""show(ScopedSetFloatAttribute self, _ostream out=std::cout)"""
11687  return _IMP_kernel.ScopedSetFloatAttribute_show(self, *args)
11688 
11689  def __str__(self):
11690  r"""__str__(ScopedSetFloatAttribute self) -> std::string"""
11691  return _IMP_kernel.ScopedSetFloatAttribute___str__(self)
11692 
11693  def __repr__(self):
11694  r"""__repr__(ScopedSetFloatAttribute self) -> std::string"""
11695  return _IMP_kernel.ScopedSetFloatAttribute___repr__(self)
11696 
11697 # Register ScopedSetFloatAttribute in _IMP_kernel:
11698 _IMP_kernel.ScopedSetFloatAttribute_swigregister(ScopedSetFloatAttribute)
11699 
11700 def _get_module_data_path(module, file_name):
11701  r"""_get_module_data_path(std::string module, std::string file_name) -> std::string"""
11702  return _IMP_kernel._get_module_data_path(module, file_name)
11703 
11704 def _get_module_example_path(module, file_name):
11705  r"""_get_module_example_path(std::string module, std::string file_name) -> std::string"""
11706  return _IMP_kernel._get_module_example_path(module, file_name)
11707 
11708 #used_modules=[]
11709 #def show_used_modules():
11710 # for m in used_modules:
11711 # print "%-20s %s" % (m.get_module(), m.get_version())
11712 
11713 # Ensure that Windows gets the PATH set to include anything in the library
11714 # search path
11715 if sys.platform == 'win32' and 'IMP_LD_PATH' in os.environ:
11716  dirs = os.environ['IMP_LD_PATH'].split(":")
11717  pathcomps = os.environ['PATH'].split(";")
11718  for d in dirs:
11719  if d not in pathcomps:
11720  os.environ['PATH'] = d + ';' + os.environ['PATH']
11721 
11722 
11723 
11724 import sys
11725 import os
11726 
11728  """Allow command line tools to easily implement multiple commands.
11729  Typically, an IMP command line tool will use an instance of this class
11730  to provide a consistent interface to multiple distinct commands
11731  from a single binary, rather than providing a potentially large
11732  number of binaries. This is similar to the way a number of common
11733  command line tools outside of IMP function (e.g. Git provides a single
11734  `git` tool which implements multiple commands - `git add`, `git commit`,
11735  `git push` and so on).
11736 
11737  Each command is implemented with a Python module of the same name
11738  that can be imported from the module (for example, if `module_name`
11739  is `IMP.foo`, the `bar` command is provided by the `IMP.foo.bar` Python
11740  module, which would usually be found as `modules/foo/pyext/src/bar.py`).
11741  Each such module should have a docstring and a `%main()` method
11742  that takes no arguments (the module should also call its `%main()` method
11743  if it is run directly, i.e. with something like
11744  `if __name__=="__main__": %main()`). The encompassing module
11745  (`IMP.foo` in the example) should define `_all_commands` as a Python
11746  list of all valid commands.
11747 
11748  See the `multifit` and `cnmultifit` command line tools for example
11749  usage.
11750  """
11751 
11752  def __init__(self, short_help, long_help, module_name):
11753  """Constructor.
11754  @param short_help A few words that describe the command line tool.
11755  @param long_help Longer text, used in the `help` command.
11756  @param module_name Name of the module (e.g. `IMP.foo`) that
11757  implements the commands.
11758  """
11759  self.short_help = short_help
11760  self.long_help = long_help
11761  self.module_name = module_name
11762  self._all_commands = self.import_module()._all_commands
11763  self._progname = os.path.basename(sys.argv[0])
11764 
11765  def main(self):
11766  """Call this method to act upon the user-provided command line"""
11767  if len(sys.argv) <= 1:
11768  print(self.short_help + " Use '%s help' for help." % self._progname)
11769  else:
11770  command = sys.argv[1]
11771  if command in ('help', '--help', '-h'):
11772  if len(sys.argv) == 3:
11773  self.show_command_help(sys.argv[2])
11774  else:
11775  self.show_help()
11776  elif command == '--version':
11777  self.show_version()
11778  elif command in self._all_commands:
11779  self.do_command(command)
11780  else:
11781  self.unknown_command(command)
11782 
11783  def import_module(self, mod=None):
11784  modname = self.module_name
11785  if mod is not None:
11786  modname += "." + mod
11787  return __import__(modname, {}, {}, [''])
11788 
11789  def unknown_command(self, command):
11790  print("Unknown command: '%s'" % command)
11791  print("Use '%s help' for help." % self._progname)
11792  sys.exit(1)
11793 
11794  def _get_version(self):
11795  return self.import_module().get_module_version()
11796 
11797  def show_version(self):
11798  print(self._progname + ' ' + self._get_version())
11799 
11800  def show_help(self):
11801  ver = self._get_version()
11802  print("%s, version %s." % (self._progname, ver))
11803  print(self.long_help + """
11804 
11805 This program is part of IMP, the Integrative Modeling Platform,
11806 which is %s.
11807 For additional information about IMP, see <https://integrativemodeling.org>.
11808 
11809 Usage: %s <command> [options] [args]
11810 
11811 Commands:""" % (get_copyright(), self._progname))
11812  commands = self._all_commands[:] + ['help']
11813  commands.sort()
11814  cmdlen = max([len(c) for c in commands])
11815  for c in commands:
11816  if c == 'help':
11817  doc = 'Get help on using %s.' % self._progname
11818  else:
11819  doc = self.import_module(c).__doc__ or "<no help>"
11820  c += ' ' * (cmdlen - len(c))
11821  print(' ' + c + ' ' + doc)
11822  print("""
11823 Use "%s help <command>" for detailed help on any command
11824  or "%s --version" to see the version number.""" % (self._progname,
11825  self._progname))
11826 
11827  def do_command(self, command):
11828  mod = self.import_module(command)
11829  sys.argv[0] = self._progname + ' ' + command
11830  del sys.argv[1]
11831  mod.main()
11832 
11833  def show_command_help(self, command):
11834  if command == 'help':
11835  self.show_help()
11836  elif command in self._all_commands or command == 'help':
11837  mod = self.import_module(command)
11838  sys.argv = [self._progname + ' ' + command, '--help']
11839  mod.main()
11840  else:
11841  self.unknown_command(command)
11842 
11843 
11844 
11845 
11846 def get_networkx_graph(ig):
11847  import networkx
11848  g = networkx.DiGraph()
11849  if len(ig.get_vertices()) == 0:
11850  return g
11851 
11852  class NodeWrapper:
11853 
11854  def __init__(self, p):
11855  self.p = p
11856 
11857  def __str__(self):
11858  return self.p.get_name()
11859 
11860  def __call__(self, name):
11861  return self.p.__call__(name)
11862 
11863  for vi in ig.get_vertices():
11864  n = ig.get_vertex_name(vi)
11865  g.add_node(NodeWrapper(n))
11866  for vi in ig.get_vertices():
11867  n = ig.get_vertex_name(vi)
11868  for ni in ig.get_out_neighbors(vi):
11869  nn = ig.get_vertex_name(ni)
11870  g.add_edge(NodeWrapper(n), NodeWrapper(nn))
11871  return g
11872 
11873 
11874 def show_altgraph(g):
11875  def clean(name):
11876  try:
11877  n0 = name.get_name()
11878  except:
11879  n0 = str(name)
11880  n1 = str(n0).replace('"', '')
11881  n2 = n1.replace("\n", '')
11882  return n2
11883  import altgraph
11884  from altgraph import Graph, Dot
11885  graph = Graph.Graph()
11886  for i, v in enumerate(g.get_vertices()):
11887  graph.add_node(i) # , node_data=g.get_vertex_name(v)
11888  for i, v in enumerate(g.get_vertices()):
11889  for n in g.get_out_neighbors(v):
11890  graph.add_edge(v, n)
11891  dot = Dot.Dot(graph) # , graph_type="digraph"
11892  for i, v in enumerate(g.get_vertices()):
11893  dot.node_style(i, label=clean(g.get_vertex_name(v)))
11894  dot.display()
11895 
11896 
11897 def show_graphviz(g):
11898  import subprocess
11899  tfn = create_temporary_file_name("graph", ".dot")
11900  tfon = create_temporary_file_name("graph", ".pdf")
11901  st = g.get_graphviz_string()
11902  with open(tfn, "w") as fh:
11903  fh.write(st)
11904  try:
11905  print("running dot")
11906  sp = subprocess.Popen(["dot", "-Tpdf", tfn, "-o" + tfon])
11907  sp.wait()
11908  except:
11909  import sys
11910  sys.stderr.write("The dot command from the graphviz package was not found. Please make sure it is in the PATH passed to IMP.\n")
11911  return
11912  import platform
11913  if platform.system() == "Darwin":
11914  cmd = ["open"]
11915  else:
11916  cmd = ["gv", "acroread", "xpdf"]
11917  success = False
11918  for c in cmd:
11919  print("launching viewer " + c)
11920  try:
11921  subprocess.check_call([c, tfon])
11922  success = True
11923  break
11924  except:
11925  pass
11926  if not success:
11927  print("Could not display file. It is saved at " + tfon)
11928  return tfon
11929 
11930 
11931 
11932 
11933 import functools
11934 import contextlib
11935 
11936 def deprecated_module(version, module, help_message):
11937  """Mark a Python module as deprecated.
11938  @note The `module` argument would normally be `__name__`.
11939  @see [deprecation support](@ref deprecation)."""
11941  "Module %s is deprecated. %s\n" % (module, help_message))
11942 
11943 def deprecated_object(version, help_message):
11944  """Python decorator to mark a class as deprecated.
11945  @see [deprecation support](@ref deprecation)."""
11946  def wrapper(obj):
11947  orig_init = obj.__init__
11948 # Don't try to copy __module__ since __init__ may not have it
11949 # (e.g. if we subclassed object but didn't override __init__)
11950  @functools.wraps(orig_init, ('__name__', '__doc__'))
11951  def __init__(obj, *args, **keys):
11952  handle_use_deprecated("Object %s is deprecated. %s\n"
11953  % (type(obj), help_message))
11954  orig_init(obj, *args, **keys)
11955  obj.__init__ = __init__
11956  return obj
11957  return wrapper
11958 
11959 def deprecated_method(version, help_message):
11960  """Python decorator to mark a method as deprecated.
11961  @see [deprecation support](@ref deprecation)."""
11962  def out_wrapper(obj):
11963  @functools.wraps(obj)
11964  def wrapper(cls, *args, **keys):
11965  handle_use_deprecated("Method %s in %s is deprecated. %s\n"
11966  % (obj.__name__, type(cls), help_message))
11967  return obj(cls, *args, **keys)
11968  return wrapper
11969  return out_wrapper
11970 
11971 def deprecated_function(version, help_message):
11972  """Python decorator to mark a function as deprecated.
11973  @see [deprecation support](@ref deprecation)."""
11974  def out_wrapper(obj):
11975  @functools.wraps(obj)
11976  def wrapper(*args, **keys):
11977  handle_use_deprecated("Function %s is deprecated. %s\n"
11978  % (obj.__name__, help_message))
11979  return obj(*args, **keys)
11980  return wrapper
11981  return out_wrapper
11982 
11983 @contextlib.contextmanager
11984 def allow_deprecated(allow=True):
11985  """Context manager to temporarily allow (or disallow) deprecated code.
11986  @see [deprecation support](@ref deprecation)."""
11988  set_deprecation_exceptions(not allow)
11989  yield
11991 
11992 
11993 def _get_all_flags(ntokens):
11994  r"""_get_all_flags(unsigned int ntokens) -> IMP::Strings"""
11995  return _IMP_kernel._get_all_flags(ntokens)
11996 
11997 def _print_internal_help(out, description):
11998  r"""_print_internal_help(_ostream out, std::string description)"""
11999  return _IMP_kernel._print_internal_help(out, description)
12000 
12001 
12002 import argparse
12003 import sys
12004 
12005 class _PassThroughAction(argparse.Action):
12006  """Pass an argument through to the IMP Boost parser"""
12007  def __call__(self, parser, namespace, values, option_string=None):
12008  parser._boost_command_line.append(option_string)
12009  if values != []:
12010  parser._boost_command_line.append(values)
12011 # Terminate processing immediately if necessary (otherwise argparse
12012 # may fail if we're missing positional arguments)
12013  if option_string in ('-h', '--help', '--help_advanced', '--version'):
12014  parser._handle_boost()
12015 
12016 
12017 class ArgumentParser(argparse.ArgumentParser):
12018  """IMP-specific subclass of argparse.ArgumentParser.
12019  This adds options common to all IMP applications
12020  (see IMP::setup_from_argv()).
12021  """
12022 
12023  def __init__(self, *args, **kwargs):
12024 # Don't add --help option (since the Boost option parser handles it)
12025  kwargs['add_help'] = False
12026  super().__init__(*args, **kwargs)
12027  for ntoken in (0, 1):
12028  flags = _get_all_flags(ntoken)
12029  for f in flags:
12030  arg = ['-h', '--help'] if f == 'help' else ['--' + f]
12031  self.add_argument(*arg, help=argparse.SUPPRESS,
12032  nargs=None if ntoken else 0,
12033  action=_PassThroughAction,
12034  default=argparse.SUPPRESS)
12035 
12036  def parse_args(self, args=None, namespace=None):
12037  """Parse the command line and return optional and positional arguments.
12038  This functions in the same way as the method in the base class
12039  argparse.ArgumentParser, except that it also processes optional
12040  arguments common to all IMP applications (these are not returned
12041  in `args`, but can be obtained in the usual way, e.g. by calling
12042  IMP::get_string_flag()).
12043  @returns args
12044  """
12045  self._boost_command_line = [sys.argv[0]]
12046  ret = super().parse_args(args, namespace)
12047  if len(self._boost_command_line) > 1:
12048  self._handle_boost()
12049  return ret
12050 
12051  def _get_description(self):
12052  return self.format_help() + "\nOptions common to all IMP applications:"
12053 
12054  def print_help(self, file=None):
12055  _print_internal_help(file if file else sys.stdout,
12056  self._get_description())
12057 
12058  def _handle_boost(self):
12059  setup_from_argv(self._boost_command_line,
12060  self._get_description(),
12061  '==SUPPRESS==', 0)
12062 
12063 class RandomNumberGenerator(object):
12064  r"""Proxy of C++ IMP::RandomNumberGenerator class."""
12065 
12066  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12067  __repr__ = _swig_repr
12068 
12069  def seed(self, x):
12070  r"""seed(RandomNumberGenerator self, int x)"""
12071  return _IMP_kernel.RandomNumberGenerator_seed(self, x)
12072 
12073  def __call__(self):
12074  r"""__call__(RandomNumberGenerator self) -> int"""
12075  return _IMP_kernel.RandomNumberGenerator___call__(self)
12076 
12077  def get_state(self):
12078  r"""get_state(RandomNumberGenerator self) -> PyObject *"""
12079  return _IMP_kernel.RandomNumberGenerator_get_state(self)
12080 
12081  def set_state(self, p):
12082  r"""set_state(RandomNumberGenerator self, PyObject * p)"""
12083  return _IMP_kernel.RandomNumberGenerator_set_state(self, p)
12084 
12085  def __init__(self):
12086  r"""__init__(RandomNumberGenerator self) -> RandomNumberGenerator"""
12087  _IMP_kernel.RandomNumberGenerator_swiginit(self, _IMP_kernel.new_RandomNumberGenerator())
12088  __swig_destroy__ = _IMP_kernel.delete_RandomNumberGenerator
12089 
12090 # Register RandomNumberGenerator in _IMP_kernel:
12091 _IMP_kernel.RandomNumberGenerator_swigregister(RandomNumberGenerator)
12092 
12093 def get_random_float_uniform(*args):
12094  r"""
12095  get_random_float_uniform() -> float
12096  get_random_float_uniform(float min, float max) -> float
12097  """
12098  return _IMP_kernel.get_random_float_uniform(*args)
12099 
12100 def get_random_double_uniform(*args):
12101  r"""
12102  get_random_double_uniform() -> double
12103  get_random_double_uniform(double min, double max) -> double
12104  """
12105  return _IMP_kernel.get_random_double_uniform(*args)
12106 
12107 def get_random_floats_normal(n, mean=0.0, stddev=1.0):
12108  r"""get_random_floats_normal(unsigned int n, float mean=0.0, float stddev=1.0) -> IMP::Vector< float,std::allocator< float > >"""
12109  return _IMP_kernel.get_random_floats_normal(n, mean, stddev)
12110 
12111 def get_random_doubles_normal(n, mean=0.0, stddev=1.0):
12112  r"""get_random_doubles_normal(unsigned int n, double mean=0.0, double stddev=1.0) -> IMP::Vector< double,std::allocator< double > >"""
12113  return _IMP_kernel.get_random_doubles_normal(n, mean, stddev)
12114 
12115 def get_random_floats_uniform(n):
12116  r"""get_random_floats_uniform(unsigned int n) -> IMP::Vector< float,std::allocator< float > >"""
12117  return _IMP_kernel.get_random_floats_uniform(n)
12118 
12119 def get_random_doubles_uniform(n):
12120  r"""get_random_doubles_uniform(unsigned int n) -> IMP::Vector< double,std::allocator< double > >"""
12121  return _IMP_kernel.get_random_doubles_uniform(n)
12122 
12123 def get_random_seed():
12124  r"""get_random_seed() -> boost::uint64_t"""
12125  return _IMP_kernel.get_random_seed()
12126 
12127 def _get_derivatives_numpy(m, k, m_pyobj, read_only):
12128  r"""_get_derivatives_numpy(Model m, FloatKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12129  return _IMP_kernel._get_derivatives_numpy(m, k, m_pyobj, read_only)
12130 
12131 def _get_floats_numpy(m, k, m_pyobj, read_only):
12132  r"""_get_floats_numpy(Model m, FloatKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12133  return _IMP_kernel._get_floats_numpy(m, k, m_pyobj, read_only)
12134 
12135 def _get_ints_numpy(m, k, m_pyobj, read_only):
12136  r"""_get_ints_numpy(Model m, IntKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12137  return _IMP_kernel._get_ints_numpy(m, k, m_pyobj, read_only)
12138 
12139 def _get_particle_indexes_numpy(m, k, m_pyobj, read_only):
12140  r"""_get_particle_indexes_numpy(Model m, ParticleIndexKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12141  return _IMP_kernel._get_particle_indexes_numpy(m, k, m_pyobj, read_only)
12142 
12143 def _get_vector3ds_numpy(m, k, m_pyobj, read_only):
12144  r"""_get_vector3ds_numpy(Model m, Vector3DKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12145  return _IMP_kernel._get_vector3ds_numpy(m, k, m_pyobj, read_only)
12146 
12147 def _get_vector3dderiv_numpy(m, k, m_pyobj, read_only):
12148  r"""_get_vector3dderiv_numpy(Model m, Vector3DDerivKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12149  return _IMP_kernel._get_vector3dderiv_numpy(m, k, m_pyobj, read_only)
12150 
12151 def _get_vector3dderiv_derivatives_numpy(m, k, m_pyobj, read_only):
12152  r"""_get_vector3dderiv_derivatives_numpy(Model m, Vector3DDerivKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12153  return _IMP_kernel._get_vector3dderiv_derivatives_numpy(m, k, m_pyobj, read_only)
12154 
12155 def _get_vector4ds_numpy(m, k, m_pyobj, read_only):
12156  r"""_get_vector4ds_numpy(Model m, Vector4DKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12157  return _IMP_kernel._get_vector4ds_numpy(m, k, m_pyobj, read_only)
12158 
12159 def _get_vector4dderiv_numpy(m, k, m_pyobj, read_only):
12160  r"""_get_vector4dderiv_numpy(Model m, Vector4DDerivKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12161  return _IMP_kernel._get_vector4dderiv_numpy(m, k, m_pyobj, read_only)
12162 
12163 def _get_vector4dderiv_derivatives_numpy(m, k, m_pyobj, read_only):
12164  r"""_get_vector4dderiv_derivatives_numpy(Model m, Vector4DDerivKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12165  return _IMP_kernel._get_vector4dderiv_derivatives_numpy(m, k, m_pyobj, read_only)
12166 
12167 def _get_spheres_numpy(m, m_pyobj, read_only):
12168  r"""_get_spheres_numpy(Model m, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12169  return _IMP_kernel._get_spheres_numpy(m, m_pyobj, read_only)
12170 
12171 def _get_sphere_derivatives_numpy(m, m_pyobj, read_only):
12172  r"""_get_sphere_derivatives_numpy(Model m, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12173  return _IMP_kernel._get_sphere_derivatives_numpy(m, m_pyobj, read_only)
12174 
12175 def _get_internal_coordinates_numpy(m, m_pyobj, read_only):
12176  r"""_get_internal_coordinates_numpy(Model m, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12177  return _IMP_kernel._get_internal_coordinates_numpy(m, m_pyobj, read_only)
12178 
12179 def _get_internal_coordinate_derivatives_numpy(m, m_pyobj, read_only):
12180  r"""_get_internal_coordinate_derivatives_numpy(Model m, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12181  return _IMP_kernel._get_internal_coordinate_derivatives_numpy(m, m_pyobj, read_only)
12182 
12183 try:
12184  import numpy
12185  ParticleIndex = numpy.intc
12186 except ImportError:
12187  pass
12188 
12189 
12190 class JAXWarning(UserWarning):
12191  """Warning for incomplete JAX support or different behavior of JAX code"""
12192  pass
12193 
12194 
12195 def get_module_name():
12196  r"""get_module_name() -> std::string const"""
12197  return _IMP_kernel.get_module_name()
12198 
12199 def get_module_version():
12200  r"""get_module_version() -> std::string const"""
12201  return _IMP_kernel.get_module_version()
12202 
12203 def get_example_path(fname):
12204  r"""get_example_path(std::string fname) -> std::string"""
12205  return _IMP_kernel.get_example_path(fname)
12206 
12207 def get_data_path(fname):
12208  r"""get_data_path(std::string fname) -> std::string"""
12209  return _IMP_kernel.get_data_path(fname)
12210 
12211 from . import _version_check
12212 _version_check.check_version(get_module_version())
12213 __version__ = get_module_version()
12214 
12215 
12216 random_number_generator = cvar.random_number_generator
12217 
Particle * get_particle(ParticleIndex p) const
Get the particle from an index.
Definition: Model.h:531
A base class for modifiers of ParticlesTemp.
A class to store a configuration of a model.
Definition: Configuration.h:22
def get_ints_numpy
Get the model's attribute array for IntKey k as a NumPy array.
Definition: __init__.py:6710
VectorD< D > get_basis_vector_kd(int Di, unsigned int coordinate)
Return the basis vector for the given coordinate.
Definition: VectorD.h:222
Abstract class for scoring object(s) of type ParticleIndexPair.
Definition: PairScore.h:44
A shared container for Pairs.
Definition: PairContainer.h:39
void add_int_flag(std::string name, size_t default_value, std::string description)
Allow command line tools to easily implement multiple commands.
Definition: __init__.py:11727
CheckLevel get_check_level()
Get the current audit mode.
Definition: exception.h:80
VectorD< D > get_ones_vector_kd(unsigned int Di, double v=1)
Return a vector of ones (or another constant)
Definition: VectorD.h:295
Key< 11 > TriggerKey
The type used to identify changed model properties.
Definition: base_types.h:82
bool get_is_quick_test()
Definition: flags.h:183
Abstract predicate function.
Definition: QuadPredicate.h:31
Key< 0 > FloatKey
The type used to identify float attributes in the Particles.
Definition: base_types.h:32
def allow_deprecated
Context manager to temporarily allow (or disallow) deprecated code.
Definition: __init__.py:11984
std::string get_unique_name(std::string templ)
Return a unique name produced from the string.
DependencyGraph get_dependency_graph(Model *m)
def get_floats_numpy
Get the model's attribute array for FloatKey k as a NumPy array.
Definition: __init__.py:6736
Objects get_live_objects()
Return pointers to all live objects.
def get_derived_object
Return this object cast to the most derived subclass.
Definition: __init__.py:1347
Vector< char > write_particles_to_buffer(const ParticlesTemp &particles, const FloatKeys &keys)
return a binary buffer with the data
Key< 13 > SparseIntKey
The type used to identify sparse int attributes in the Particles.
Definition: base_types.h:90
def main
Call this method to act upon the user-provided command line.
Definition: __init__.py:11765
Key< 15 > SparseParticleIndexKey
The type used to identify sparse particle attributes in the Particles.
Definition: base_types.h:98
Vector3D get_orthogonal_vector(const Vector3D &v)
Return a vector that is perpendicular to the given vector.
Definition: Vector3D.h:50
boost::graph DependencyGraph
Directed graph on the interactions between the various objects in the model.
ContainersTemp get_input_containers(const ModelObjectsTemp &mos)
Return all the input particles for a given ModelObject.
def deprecated_module
Mark a Python module as deprecated.
Definition: __init__.py:11936
Key< 16 > Vector3DKey
The type used to identify 3D vector attributes in the Particles.
Definition: base_types.h:102
Vector< VectorD< D > > get_vertices(const BoundingBoxD< D > &bb)
Return a list of the 2^D bounding points for the bounding box.
Definition: BoundingBoxD.h:301
Array< 4, WeakPointer< Particle >, Particle * > ParticleQuad
Definition: base_types.h:184
bool get_bool_flag(std::string name)
VectorD< D > get_zero_vector_kd(int Di)
Return a dynamically sized vector of zeros.
Definition: VectorD.h:262
void handle_use_deprecated(std::string message)
Break in this method in gdb to find deprecated uses at runtime.
void set_progress_display(std::string description, unsigned int steps)
Set up the progress bar with the passed description.
def deprecated_function
Python decorator to mark a function as deprecated.
Definition: __init__.py:11971
virtual ::IMP::VersionInfo get_version_info() const override
Get information about the module and version of the object.
Definition: Model.h:693
void remove_attribute(TypeKey attribute_key, ParticleIndex particle)
remove particle attribute with the specified key
Index< ParticleIndexTag > ParticleIndex
Definition: base_types.h:194
ParticlesTemp get_particles(Model *m, const ParticleIndexes &ps)
Get the particles from a list of indexes.
Key< 19 > Vector4DDerivKey
The type used to identify 4D vector attributes&derivatives in the Particles.
Definition: base_types.h:114
Key< 6 > ParticleIndexesKey
The type used to identify a particle attribute in the Particles.
Definition: base_types.h:64
Array< 3, WeakPointer< Particle >, Particle * > ParticleTriplet
Definition: base_types.h:181
ContainersTemp get_output_containers(const ModelObjectsTemp &mos)
Return all the output particles for a given ModelObject.
Base class for all samplers.
Definition: Sampler.h:31
void add_particle(RMF::FileHandle fh, Particle *hs)
virtual void clear_caches()
Definition: Object.h:270
std::string get_data_path(std::string file_name)
Return the full path to one of this module's data files.
void add_string_flag(std::string name, std::string default_value, std::string description)
LogLevel get_log_level()
Get the currently active global log level.
Definition: log.h:92
def get_sphere_derivatives_numpy
Get the model's XYZR attribute derivatives arrays as NumPy arrays.
Definition: __init__.py:6763
void set_deprecation_warnings(bool tf)
Toggle printing of warnings on using deprecated classes.
Vector3D get_centroid(const Vector3Ds &ps)
Return the centroid of a set of vectors.
Definition: Vector3D.h:67
def get_numpy
Get the model's attribute array for any type of Key k as a NumPy array.
Definition: __init__.py:6724
TextOutput create_temporary_file(std::string prefix="imp_temp", std::string suffix="")
Create a temporary file. The path can be extracted from the TextOutput.
ParticlesTemp get_output_particles(const ModelObjectsTemp &mos)
Return all the output particles for a given ModelObject.
ScoringFunction * create_scoring_function(RestraintType *rs, double weight=1.0, double max=NO_MAX, std::string name=std::string())
Create a ScoringFunction on a single restraint.
Definition: generic.h:23
A base class for modifiers of ParticlePairsTemp.
Definition: PairModifier.h:31
void write_help(std::ostream &out=std::cerr)
Key< 2 > StringKey
The type used to identify string attributes in the Particles.
Definition: base_types.h:40
size_t get_int_flag(std::string name)
Key< 10 > FloatsKey
The type used to identify float vector attributes in the Particles.
Definition: base_types.h:60
void add_restraint(RMF::FileHandle fh, Restraint *hs)
Key< 17 > Vector3DDerivKey
The type used to identify 3D vector attributes&derivatives in the Particles.
Definition: base_types.h:106
Abstract class for scoring object(s) of type ParticleIndexQuad.
Definition: QuadScore.h:44
Base class for objects in a Model that depend on other objects.
Definition: ModelObject.h:28
boost::uint64_t get_random_seed()
Return the initial random seed.
Abstract predicate function.
Key< 3 > ParticleIndexKey
The type used to identify a particle attribute in the Particles.
Definition: base_types.h:44
Strings get_live_object_names()
Return the names of all live objects.
void add_to_progress_display(unsigned int step=1)
Set the current progress.
void add_attribute(TypeKey attribute_key, ParticleIndex particle, Type value)
add particle attribute with the specified key and initial value
void add_float_flag(std::string name, double default_value, std::string description)
virtual void do_destroy()
Definition: Object.h:274
Ints get_index(const ParticlesTemp &particles, const Subset &subset, const Subsets &excluded)
double get_radius_of_gyration(const Vector3Ds &ps)
Return the radius of gyration of a set of points.
Definition: Vector3D.h:76
Common base class for heavy weight IMP objects.
Definition: Object.h:111
ParticleIndexes get_particle_indexes(ParticlesTemp const &particles)
def deprecated_method
Python decorator to mark a method as deprecated.
Definition: __init__.py:11959
Abstract class for scoring object(s) of type ParticleIndex.
Base class for all optimizers.
Definition: Optimizer.h:48
void reset_log_timer()
Reset the log timer.
void add_restraints(RMF::FileHandle fh, const Restraints &hs)
void add_to_log(LogLevel level, std::string to_write)
Write a string to the log, for Python.
def parse_args
Parse the command line and return optional and positional arguments.
Definition: __init__.py:12036
def get_internal_coordinates_numpy
Get the model's internal coordinate array as a NumPy array.
Definition: __init__.py:6769
double get_distance(const VectorD< D > &v1, const VectorD< D > &v2)
Compute the distance between two vectors.
Definition: VectorD.h:195
void set_is_optimized(TypeKey attribute_key, ParticleIndex particle, bool true_or_false)
Key< 1 > IntKey
The type used to identify int attributes in the Particles.
Definition: base_types.h:36
Restraints create_decomposition(const RestraintsTemp &rs)
Return the decomposition of a list of restraints.
std::string get_relative_path(std::string base, std::string relative)
Return a path to a file relative to another file.
A class to store a set of configurations of a model.
A shared container for Quads.
Definition: QuadContainer.h:39
def get_internal_coordinate_derivatives_numpy
Get the model's internal coordinate derivative array as a NumPy array.
Definition: __init__.py:6775
A shared container for Singletons.
void set_deprecation_exceptions(bool tf)
Toggle whether an exception is thrown when a deprecated method is used.
def get_spheres_numpy
Get the model's XYZR attribute arrays as NumPy arrays.
Definition: __init__.py:6757
Key< 4 > ObjectKey
The type used to identify an Object attribute.
Definition: base_types.h:48
Interface to specialized Particle types (e.g. atoms)
Definition: Decorator.h:119
IMP-specific subclass of argparse.ArgumentParser.
Definition: __init__.py:12017
def get_derivatives_numpy
Get the model's attribute derivatives array for key k as a NumPy array.
Definition: __init__.py:6741
std::ostream & show(Hierarchy h, std::ostream &out=std::cout)
Print the hierarchy using a given decorator to display each node.
std::string get_absolute_path(std::string file)
Convert a possibly relative path to an absolute path.
std::string get_executable_name()
Return the name of the current executable.
void set_log_level(LogLevel l)
Set the current global log level.
unsigned int get_number_of_threads()
float get_random_float_uniform()
Return a uniformly distributed float number in range [0..1)
Definition: random_utils.h:138
def deprecated_object
Python decorator to mark a class as deprecated.
Definition: __init__.py:11943
ParticlesTemp get_input_particles(const ModelObjectsTemp &mos)
Return all the input particles for a given ModelObject.
Base class for optimizers that act on individual attributes.
void set_show_leaked_objects(bool tf)
Set whether to complain about objects not being properly cleaned up.
Abstract predicate function.
Definition: PairPredicate.h:31
bool get_deprecation_exceptions()
Get whether an exception is thrown when a deprecated method is used.
Represents a scoring function on the model.
void set_log_timer(bool tb)
Set whether log messages are tagged with the current log time.
void show_restraint_hierarchy(ScoringFunctionAdaptor rs, std::ostream &out=std::cout)
Print the hierarchy of restraints.
DependencyGraph get_pruned_dependency_graph(Model *m)
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.
Warning for incomplete JAX support or different behavior of JAX code.
Definition: __init__.py:12190
Object(std::string name)
Construct an object with the given name.
Array< 2, WeakPointer< Particle >, Particle * > ParticlePair
Definition: base_types.h:175
Key< 5 > IntsKey
The type used to identify int attributes in the Particles.
Definition: base_types.h:56
virtual VersionInfo get_version_info() const
Get information about the module and version of the object.
Definition: Object.h:206
Restraints create_restraints(RMF::FileConstHandle fh, Model *m)
Shared optimizer state that is invoked upon commitment of new coordinates.
Abstract predicate function.
Abstract class to implement hierarchical methods.
Definition: Refiner.h:36
A base class for modifiers of ParticleTripletsTemp.
std::string show_graphviz(Graph g)
void set_check_level(CheckLevel l)
std::string get_string_flag(std::string name)
networkx::DiGraph get_networkx_graph(Graph g)
Key< 18 > Vector4DKey
The type used to identify 4D vector attributes in the Particles.
Definition: base_types.h:110
def __init__
Constructor.
Definition: __init__.py:11752
double get_random_double_uniform()
Return a uniformly distributed double number in range [0..1)
Definition: random_utils.h:173
Key< 8 > ModelKey
The type used to identify data stored directly in the model.
Definition: base_types.h:78
A base class for modifiers of ParticleQuadsTemp.
Definition: QuadModifier.h:31
Key< 14 > SparseFloatKey
The type used to identify sparse float attributes in the Particles.
Definition: base_types.h:94
A shared container for Triplets.
def get_vector3ds_numpy
Get the model's attribute array for Vector3DKey k as a NumPy array.
Definition: __init__.py:6750
Vector3D get_vector_product(const Vector3D &p1, const Vector3D &p2)
Return the vector product (cross product) of two vectors.
Definition: Vector3D.h:31
Abstract class for scoring object(s) of type ParticleIndexTriplet.
Definition: TripletScore.h:44
void show_altgraph(Graph g)
void update()
Sometimes it is useful to be able to make sure the model is up to date.
void setup_from_argv(int argc, char **argv, std::string description)
Parse the command line flags and return the positional arguments.
void add_bool_flag(std::string name, std::string description)
ParticleIndexes get_indexes(const ParticlesTemp &ps)
Get the indexes from a list of particles.
Abstract class for containers of particles.
void read_particles_from_buffer(const Vector< char > &buffer, const ParticlesTemp &particles, const FloatKeys &keys)
load found attributes into the particles
Abstract single variable functor class for score functions.
Definition: UnaryFunction.h:27
void set_number_of_threads(unsigned int n)
double get_float_flag(std::string name)
void set_check_level(CheckLevel tf)
Control runtime checks in the code.
Definition: exception.h:72
ScoreStatesTemp get_update_order(ScoreStatesTemp input)
std::string get_module_version()
Return the version of this module, as a string.
std::string create_temporary_file_name(std::string prefix="imp_temp", std::string suffix="")
Create a temporary file.
A restraint is a term in an IMP ScoringFunction.
Definition: Restraint.h:56
Key< 12 > SparseStringKey
The type used to identify sparse string attributes in the Particles.
Definition: base_types.h:86
std::string get_copyright()
Get the IMP copyright notice.