IMP logo
IMP Reference Guide  develop.c4c24800fe,2026/07/15
The Integrative Modeling Platform
__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.4.1
3 #
4 # Do not make changes to this file unless you know what you are doing - modify
5 # the SWIG interface file instead.
6 
7 
8 # This wrapper is part of IMP,
9 # Copyright 2007-2026 IMP Inventors. All rights reserved.
10 
11 
12 
13 
14 from sys import version_info as _swig_python_version_info
15 import _IMP_kernel
16 
17 try:
18  import builtins as __builtin__
19 except ImportError:
20  import __builtin__
21 
22 def _swig_repr(self):
23  try:
24  strthis = "proxy of " + self.this.__repr__()
25  except __builtin__.Exception:
26  strthis = ""
27  return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
28 
29 
30 def _swig_setattr_nondynamic_instance_variable(set):
31  def set_instance_attr(self, name, value):
32  if name == "this":
33  set(self, name, value)
34  elif name == "thisown":
35  self.this.own(value)
36  elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
37  set(self, name, value)
38  else:
39  raise AttributeError("You cannot add instance attributes to %s" % self)
40  return set_instance_attr
41 
42 
43 def _swig_setattr_nondynamic_class_variable(set):
44  def set_class_attr(cls, name, value):
45  if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
46  set(cls, name, value)
47  else:
48  raise AttributeError("You cannot add class attributes to %s" % cls)
49  return set_class_attr
50 
51 
52 def _swig_add_metaclass(metaclass):
53  """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
54  def wrapper(cls):
55  return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
56  return wrapper
57 
58 
59 class _SwigNonDynamicMeta(type):
60  """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
61  __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
62 
63 
64 import weakref
65 
66 class IMP_KERNEL_SwigPyIterator(object):
67  r"""Proxy of C++ swig::IMP_KERNEL_SwigPyIterator class."""
68 
69  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
70 
71  def __init__(self, *args, **kwargs):
72  raise AttributeError("No constructor defined - class is abstract")
73  __repr__ = _swig_repr
74  __swig_destroy__ = _IMP_kernel.delete_IMP_KERNEL_SwigPyIterator
75 
76  def value(self):
77  r"""value(IMP_KERNEL_SwigPyIterator self) -> PyObject *"""
78  return _IMP_kernel.IMP_KERNEL_SwigPyIterator_value(self)
79 
80  def incr(self, n=1):
81  r"""incr(IMP_KERNEL_SwigPyIterator self, size_t n=1) -> IMP_KERNEL_SwigPyIterator"""
82  return _IMP_kernel.IMP_KERNEL_SwigPyIterator_incr(self, n)
83 
84  def decr(self, n=1):
85  r"""decr(IMP_KERNEL_SwigPyIterator self, size_t n=1) -> IMP_KERNEL_SwigPyIterator"""
86  return _IMP_kernel.IMP_KERNEL_SwigPyIterator_decr(self, n)
87 
88  def distance(self, x):
89  r"""distance(IMP_KERNEL_SwigPyIterator self, IMP_KERNEL_SwigPyIterator x) -> ptrdiff_t"""
90  return _IMP_kernel.IMP_KERNEL_SwigPyIterator_distance(self, x)
91 
92  def equal(self, x):
93  r"""equal(IMP_KERNEL_SwigPyIterator self, IMP_KERNEL_SwigPyIterator x) -> bool"""
94  return _IMP_kernel.IMP_KERNEL_SwigPyIterator_equal(self, x)
95 
96  def copy(self):
97  r"""copy(IMP_KERNEL_SwigPyIterator self) -> IMP_KERNEL_SwigPyIterator"""
98  return _IMP_kernel.IMP_KERNEL_SwigPyIterator_copy(self)
99 
100  def next(self):
101  r"""next(IMP_KERNEL_SwigPyIterator self) -> PyObject *"""
102  return _IMP_kernel.IMP_KERNEL_SwigPyIterator_next(self)
103 
104  def __next__(self):
105  r"""__next__(IMP_KERNEL_SwigPyIterator self) -> PyObject *"""
106  return _IMP_kernel.IMP_KERNEL_SwigPyIterator___next__(self)
107 
108  def previous(self):
109  r"""previous(IMP_KERNEL_SwigPyIterator self) -> PyObject *"""
110  return _IMP_kernel.IMP_KERNEL_SwigPyIterator_previous(self)
111 
112  def advance(self, n):
113  r"""advance(IMP_KERNEL_SwigPyIterator self, ptrdiff_t n) -> IMP_KERNEL_SwigPyIterator"""
114  return _IMP_kernel.IMP_KERNEL_SwigPyIterator_advance(self, n)
115 
116  def __eq__(self, x):
117  r"""__eq__(IMP_KERNEL_SwigPyIterator self, IMP_KERNEL_SwigPyIterator x) -> bool"""
118  return _IMP_kernel.IMP_KERNEL_SwigPyIterator___eq__(self, x)
119 
120  def __ne__(self, x):
121  r"""__ne__(IMP_KERNEL_SwigPyIterator self, IMP_KERNEL_SwigPyIterator x) -> bool"""
122  return _IMP_kernel.IMP_KERNEL_SwigPyIterator___ne__(self, x)
123 
124  def __iadd__(self, n):
125  r"""__iadd__(IMP_KERNEL_SwigPyIterator self, ptrdiff_t n) -> IMP_KERNEL_SwigPyIterator"""
126  return _IMP_kernel.IMP_KERNEL_SwigPyIterator___iadd__(self, n)
127 
128  def __isub__(self, n):
129  r"""__isub__(IMP_KERNEL_SwigPyIterator self, ptrdiff_t n) -> IMP_KERNEL_SwigPyIterator"""
130  return _IMP_kernel.IMP_KERNEL_SwigPyIterator___isub__(self, n)
131 
132  def __add__(self, n):
133  r"""__add__(IMP_KERNEL_SwigPyIterator self, ptrdiff_t n) -> IMP_KERNEL_SwigPyIterator"""
134  return _IMP_kernel.IMP_KERNEL_SwigPyIterator___add__(self, n)
135 
136  def __sub__(self, *args):
137  r"""
138  __sub__(IMP_KERNEL_SwigPyIterator self, ptrdiff_t n) -> IMP_KERNEL_SwigPyIterator
139  __sub__(IMP_KERNEL_SwigPyIterator self, IMP_KERNEL_SwigPyIterator x) -> ptrdiff_t
140  """
141  return _IMP_kernel.IMP_KERNEL_SwigPyIterator___sub__(self, *args)
142  def __iter__(self):
143  return self
144 
145 # Register IMP_KERNEL_SwigPyIterator in _IMP_kernel:
146 _IMP_kernel.IMP_KERNEL_SwigPyIterator_swigregister(IMP_KERNEL_SwigPyIterator)
147 
148 _value_types=[]
149 _object_types=[]
150 _raii_types=[]
151 _plural_types=[]
152 
153 IMP_DEBUG = _IMP_kernel.IMP_DEBUG
154 
155 IMP_RELEASE = _IMP_kernel.IMP_RELEASE
156 
157 IMP_SILENT = _IMP_kernel.IMP_SILENT
158 
159 IMP_PROGRESS = _IMP_kernel.IMP_PROGRESS
160 
161 IMP_TERSE = _IMP_kernel.IMP_TERSE
162 
163 IMP_VERBOSE = _IMP_kernel.IMP_VERBOSE
164 
165 IMP_MEMORY = _IMP_kernel.IMP_MEMORY
166 
167 IMP_NONE = _IMP_kernel.IMP_NONE
168 
169 IMP_USAGE = _IMP_kernel.IMP_USAGE
170 
171 IMP_INTERNAL = _IMP_kernel.IMP_INTERNAL
172 
173 IMP_KERNEL_HAS_LOG4CXX = _IMP_kernel.IMP_KERNEL_HAS_LOG4CXX
174 
175 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_kernel.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
176 
177 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_kernel.IMP_COMPILER_HAS_DEBUG_VECTOR
178 
179 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_kernel.IMP_COMPILER_HAS_RANDOM_SHUFFLE
180 
181 IMP_COMPILER_HAS_THREE_WAY = _IMP_kernel.IMP_COMPILER_HAS_THREE_WAY
182 
183 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_kernel.IMP_KERNEL_HAS_BOOST_RANDOM
184 
185 IMP_KERNEL_HAS_NUMPY = _IMP_kernel.IMP_KERNEL_HAS_NUMPY
186 
187 IMP_KERNEL_HAS_BOOST_SYSTEM = _IMP_kernel.IMP_KERNEL_HAS_BOOST_SYSTEM
188 
189 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_kernel.IMP_KERNEL_HAS_GPERFTOOLS
190 
191 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_kernel.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
192 
193 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_kernel.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
194 
195 IMPKERNEL_SHOW_WARNINGS = _IMP_kernel.IMPKERNEL_SHOW_WARNINGS
196 
197 
198 import sys
199 class _DirectorObjects:
200  """@internal Simple class to keep references to director objects
201  to prevent premature deletion."""
202  def __init__(self):
203  self._objects = []
204  def register(self, obj):
205  """Take a reference to a director object; will only work for
206  refcounted C++ classes"""
207  if hasattr(obj, 'get_ref_count'):
208  self._objects.append(obj)
209  def cleanup(self):
210  """Only drop our reference and allow cleanup by Python if no other
211  Python references exist (we hold 3 references: one in self._objects,
212  one in x, and one in the argument list for getrefcount) *and* no
213  other C++ references exist (the Python object always holds one)"""
214  objs = [x for x in self._objects if sys.getrefcount(x) > 3 \
215  or x.get_ref_count() > 1]
216 # Do in two steps so the references are kept until the end of the
217 # function (deleting references may trigger a fresh call to this method)
218  self._objects = objs
219  def get_object_count(self):
220  """Get number of director objects (useful for testing only)"""
221  return len(self._objects)
222 _director_objects = _DirectorObjects()
223 
224 DEFAULT_CHECK = _IMP_kernel.DEFAULT_CHECK
225 
226 NONE = _IMP_kernel.NONE
227 
228 USAGE = _IMP_kernel.USAGE
229 
230 USAGE_AND_INTERNAL = _IMP_kernel.USAGE_AND_INTERNAL
231 
232 
233 def set_check_level(tf):
234  r"""set_check_level(IMP::CheckLevel tf)"""
235  return _IMP_kernel.set_check_level(tf)
236 
237 def get_check_level():
238  r"""get_check_level() -> IMP::CheckLevel"""
239  return _IMP_kernel.get_check_level()
240 
241 from _IMP_kernel import Exception, InternalException, ModelException, EventException
242 from _IMP_kernel import UsageException, IndexException, IOException, ValueException
243 from _IMP_kernel import TypeException
244 
245 class _ostream(object):
246  r"""Proxy of C++ std::ostream class."""
247 
248  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
249 
250  def __init__(self, *args, **kwargs):
251  raise AttributeError("No constructor defined")
252  __repr__ = _swig_repr
253 
254  def write(self, osa_buf):
255  r"""write(_ostream self, char const * osa_buf)"""
256  return _IMP_kernel._ostream_write(self, osa_buf)
257 
258 # Register _ostream in _IMP_kernel:
259 _IMP_kernel._ostream_swigregister(_ostream)
260 IMP_C_OPEN_BINARY = _IMP_kernel.IMP_C_OPEN_BINARY
261 
262 
263 from . import _list_util
264 
265 
266 _models_set = weakref.WeakSet()
267 
268 def _models_set_get(m):
269  for x in _models_set:
270  if x == m:
271  return x
272 
273 
274 _raii_types.append("SetLogState")
275 
276 
277 _raii_types.append("SetNumberOfThreads")
278 
279 
280 _raii_types.append("SetCheckState")
281 
282 
283 _object_types.append("Object")
284 
285 
286 def _object_cast_to_Object(o):
287  r"""_object_cast_to_Object(Object * o) -> Object"""
288  return _IMP_kernel._object_cast_to_Object(o)
289 
290 _object_types.append("_TestObject")
291 
292 
293 def _object_cast_to__TestObject(o):
294  r"""_object_cast_to__TestObject(Object * o) -> _TestObject"""
295  return _IMP_kernel._object_cast_to__TestObject(o)
296 
297 VersionInfos=list
298 _plural_types.append("VersionInfos")
299 _value_types.append("VersionInfo")
300 
301 
302 _raii_types.append("CreateLogContext")
303 
304 
305 _raii_types.append("WarningContext")
306 
307 
308 _raii_types.append("SetLogTarget")
309 
310 
311 _TestValues=list
312 _plural_types.append("_TestValues")
313 _value_types.append("_TestValue")
314 
315 
316 Floats=list
317 _plural_types.append("Floats")
318 _value_types.append("Float")
319 
320 
321 Ints=list
322 _plural_types.append("Ints")
323 _value_types.append("Int")
324 
325 
326 Strings=list
327 _plural_types.append("Strings")
328 _value_types.append("String")
329 
330 
331 _Protections=list
332 _plural_types.append("_Protections")
333 _value_types.append("_Protection")
334 
335 class _GeometricPrimitive1D(object):
336  r"""Proxy of C++ IMP::GeometricPrimitiveD< 1 > class."""
337 
338  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
339 
340  def __init__(self, *args, **kwargs):
341  raise AttributeError("No constructor defined")
342  __repr__ = _swig_repr
343  __swig_destroy__ = _IMP_kernel.delete__GeometricPrimitive1D
344 
345 # Register _GeometricPrimitive1D in _IMP_kernel:
346 _IMP_kernel._GeometricPrimitive1D_swigregister(_GeometricPrimitive1D)
347 class _GeometricPrimitive2D(object):
348  r"""Proxy of C++ IMP::GeometricPrimitiveD< 2 > class."""
349 
350  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
351 
352  def __init__(self, *args, **kwargs):
353  raise AttributeError("No constructor defined")
354  __repr__ = _swig_repr
355  __swig_destroy__ = _IMP_kernel.delete__GeometricPrimitive2D
356 
357 # Register _GeometricPrimitive2D in _IMP_kernel:
358 _IMP_kernel._GeometricPrimitive2D_swigregister(_GeometricPrimitive2D)
359 class _GeometricPrimitive3D(object):
360  r"""Proxy of C++ IMP::GeometricPrimitiveD< 3 > class."""
361 
362  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
363 
364  def __init__(self, *args, **kwargs):
365  raise AttributeError("No constructor defined")
366  __repr__ = _swig_repr
367  __swig_destroy__ = _IMP_kernel.delete__GeometricPrimitive3D
368 
369 # Register _GeometricPrimitive3D in _IMP_kernel:
370 _IMP_kernel._GeometricPrimitive3D_swigregister(_GeometricPrimitive3D)
371 class _GeometricPrimitive4D(object):
372  r"""Proxy of C++ IMP::GeometricPrimitiveD< 4 > class."""
373 
374  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
375 
376  def __init__(self, *args, **kwargs):
377  raise AttributeError("No constructor defined")
378  __repr__ = _swig_repr
379  __swig_destroy__ = _IMP_kernel.delete__GeometricPrimitive4D
380 
381 # Register _GeometricPrimitive4D in _IMP_kernel:
382 _IMP_kernel._GeometricPrimitive4D_swigregister(_GeometricPrimitive4D)
383 class _GeometricPrimitive5D(object):
384  r"""Proxy of C++ IMP::GeometricPrimitiveD< 5 > class."""
385 
386  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
387 
388  def __init__(self, *args, **kwargs):
389  raise AttributeError("No constructor defined")
390  __repr__ = _swig_repr
391  __swig_destroy__ = _IMP_kernel.delete__GeometricPrimitive5D
392 
393 # Register _GeometricPrimitive5D in _IMP_kernel:
394 _IMP_kernel._GeometricPrimitive5D_swigregister(_GeometricPrimitive5D)
395 class _GeometricPrimitive6D(object):
396  r"""Proxy of C++ IMP::GeometricPrimitiveD< 6 > class."""
397 
398  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
399 
400  def __init__(self, *args, **kwargs):
401  raise AttributeError("No constructor defined")
402  __repr__ = _swig_repr
403  __swig_destroy__ = _IMP_kernel.delete__GeometricPrimitive6D
404 
405 # Register _GeometricPrimitive6D in _IMP_kernel:
406 _IMP_kernel._GeometricPrimitive6D_swigregister(_GeometricPrimitive6D)
407 class _GeometricPrimitiveKD(object):
408  r"""Proxy of C++ IMP::GeometricPrimitiveD< -1 > class."""
409 
410  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
411 
412  def __init__(self, *args, **kwargs):
413  raise AttributeError("No constructor defined")
414  __repr__ = _swig_repr
415  __swig_destroy__ = _IMP_kernel.delete__GeometricPrimitiveKD
416 
417 # Register _GeometricPrimitiveKD in _IMP_kernel:
418 _IMP_kernel._GeometricPrimitiveKD_swigregister(_GeometricPrimitiveKD)
419 class _VectorBaseKD(_GeometricPrimitiveKD):
420  r"""Proxy of C++ IMP::internal::VectorBaseD< -1 > class."""
421 
422  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
423  __repr__ = _swig_repr
424 
425  def __init__(self):
426  r"""__init__(_VectorBaseKD self) -> _VectorBaseKD"""
427  _IMP_kernel._VectorBaseKD_swiginit(self, _IMP_kernel.new__VectorBaseKD())
428 
429  def get_scalar_product(self, o):
430  r"""get_scalar_product(_VectorBaseKD self, _VectorBaseKD o) -> double"""
431  return _IMP_kernel._VectorBaseKD_get_scalar_product(self, o)
432 
433  def get_squared_magnitude(self):
434  r"""get_squared_magnitude(_VectorBaseKD self) -> double"""
435  return _IMP_kernel._VectorBaseKD_get_squared_magnitude(self)
436 
437  def get_magnitude(self):
438  r"""get_magnitude(_VectorBaseKD self) -> double"""
439  return _IMP_kernel._VectorBaseKD_get_magnitude(self)
440 
441  def get_distance(self, o):
442  r"""get_distance(_VectorBaseKD self, _VectorBaseKD o) -> double"""
443  return _IMP_kernel._VectorBaseKD_get_distance(self, o)
444 
445  def __mul__(self, o):
446  r"""__mul__(_VectorBaseKD self, _VectorBaseKD o) -> double"""
447  return _IMP_kernel._VectorBaseKD___mul__(self, o)
448 
449  def __iadd__(self, o):
450  r"""__iadd__(_VectorBaseKD self, _VectorBaseKD o) -> _VectorBaseKD"""
451  return _IMP_kernel._VectorBaseKD___iadd__(self, o)
452 
453  def __isub__(self, o):
454  r"""__isub__(_VectorBaseKD self, _VectorBaseKD o) -> _VectorBaseKD"""
455  return _IMP_kernel._VectorBaseKD___isub__(self, o)
456 
457  def __itruediv__(self, *args):
458  return _IMP_kernel._VectorBaseKD___itruediv__(self, *args)
459  __idiv__ = __itruediv__
460 
461 
462 
463  def __imul__(self, f):
464  r"""__imul__(_VectorBaseKD self, double f) -> _VectorBaseKD"""
465  return _IMP_kernel._VectorBaseKD___imul__(self, f)
466 
467  def show(self, *args):
468  r"""
469  show(_VectorBaseKD self, _ostream out, std::string delim, bool parens=True)
470  show(_VectorBaseKD self, _ostream out=std::cout)
471  """
472  return _IMP_kernel._VectorBaseKD_show(self, *args)
473 
474  def get_dimension(self):
475  r"""get_dimension(_VectorBaseKD self) -> unsigned int"""
476  return _IMP_kernel._VectorBaseKD_get_dimension(self)
477  __swig_destroy__ = _IMP_kernel.delete__VectorBaseKD
478 
479 # Register _VectorBaseKD in _IMP_kernel:
480 _IMP_kernel._VectorBaseKD_swigregister(_VectorBaseKD)
481 class _VectorBase1D(_GeometricPrimitive1D):
482  r"""Proxy of C++ IMP::internal::VectorBaseD< 1 > class."""
483 
484  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
485  __repr__ = _swig_repr
486 
487  def __init__(self):
488  r"""__init__(_VectorBase1D self) -> _VectorBase1D"""
489  _IMP_kernel._VectorBase1D_swiginit(self, _IMP_kernel.new__VectorBase1D())
490 
491  def get_scalar_product(self, o):
492  r"""get_scalar_product(_VectorBase1D self, _VectorBase1D o) -> double"""
493  return _IMP_kernel._VectorBase1D_get_scalar_product(self, o)
494 
495  def get_squared_magnitude(self):
496  r"""get_squared_magnitude(_VectorBase1D self) -> double"""
497  return _IMP_kernel._VectorBase1D_get_squared_magnitude(self)
498 
499  def get_magnitude(self):
500  r"""get_magnitude(_VectorBase1D self) -> double"""
501  return _IMP_kernel._VectorBase1D_get_magnitude(self)
502 
503  def get_distance(self, o):
504  r"""get_distance(_VectorBase1D self, _VectorBase1D o) -> double"""
505  return _IMP_kernel._VectorBase1D_get_distance(self, o)
506 
507  def __mul__(self, o):
508  r"""__mul__(_VectorBase1D self, _VectorBase1D o) -> double"""
509  return _IMP_kernel._VectorBase1D___mul__(self, o)
510 
511  def __iadd__(self, o):
512  r"""__iadd__(_VectorBase1D self, _VectorBase1D o) -> _VectorBase1D"""
513  return _IMP_kernel._VectorBase1D___iadd__(self, o)
514 
515  def __isub__(self, o):
516  r"""__isub__(_VectorBase1D self, _VectorBase1D o) -> _VectorBase1D"""
517  return _IMP_kernel._VectorBase1D___isub__(self, o)
518 
519  def __itruediv__(self, *args):
520  return _IMP_kernel._VectorBase1D___itruediv__(self, *args)
521  __idiv__ = __itruediv__
522 
523 
524 
525  def __imul__(self, f):
526  r"""__imul__(_VectorBase1D self, double f) -> _VectorBase1D"""
527  return _IMP_kernel._VectorBase1D___imul__(self, f)
528 
529  def show(self, *args):
530  r"""
531  show(_VectorBase1D self, _ostream out, std::string delim, bool parens=True)
532  show(_VectorBase1D self, _ostream out=std::cout)
533  """
534  return _IMP_kernel._VectorBase1D_show(self, *args)
535 
536  def get_dimension(self):
537  r"""get_dimension(_VectorBase1D self) -> unsigned int"""
538  return _IMP_kernel._VectorBase1D_get_dimension(self)
539  __swig_destroy__ = _IMP_kernel.delete__VectorBase1D
540 
541 # Register _VectorBase1D in _IMP_kernel:
542 _IMP_kernel._VectorBase1D_swigregister(_VectorBase1D)
543 class _VectorBase2D(_GeometricPrimitive2D):
544  r"""Proxy of C++ IMP::internal::VectorBaseD< 2 > class."""
545 
546  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
547  __repr__ = _swig_repr
548 
549  def __init__(self):
550  r"""__init__(_VectorBase2D self) -> _VectorBase2D"""
551  _IMP_kernel._VectorBase2D_swiginit(self, _IMP_kernel.new__VectorBase2D())
552 
553  def get_scalar_product(self, o):
554  r"""get_scalar_product(_VectorBase2D self, _VectorBase2D o) -> double"""
555  return _IMP_kernel._VectorBase2D_get_scalar_product(self, o)
556 
557  def get_squared_magnitude(self):
558  r"""get_squared_magnitude(_VectorBase2D self) -> double"""
559  return _IMP_kernel._VectorBase2D_get_squared_magnitude(self)
560 
561  def get_magnitude(self):
562  r"""get_magnitude(_VectorBase2D self) -> double"""
563  return _IMP_kernel._VectorBase2D_get_magnitude(self)
564 
565  def get_distance(self, o):
566  r"""get_distance(_VectorBase2D self, _VectorBase2D o) -> double"""
567  return _IMP_kernel._VectorBase2D_get_distance(self, o)
568 
569  def __mul__(self, o):
570  r"""__mul__(_VectorBase2D self, _VectorBase2D o) -> double"""
571  return _IMP_kernel._VectorBase2D___mul__(self, o)
572 
573  def __iadd__(self, o):
574  r"""__iadd__(_VectorBase2D self, _VectorBase2D o) -> _VectorBase2D"""
575  return _IMP_kernel._VectorBase2D___iadd__(self, o)
576 
577  def __isub__(self, o):
578  r"""__isub__(_VectorBase2D self, _VectorBase2D o) -> _VectorBase2D"""
579  return _IMP_kernel._VectorBase2D___isub__(self, o)
580 
581  def __itruediv__(self, *args):
582  return _IMP_kernel._VectorBase2D___itruediv__(self, *args)
583  __idiv__ = __itruediv__
584 
585 
586 
587  def __imul__(self, f):
588  r"""__imul__(_VectorBase2D self, double f) -> _VectorBase2D"""
589  return _IMP_kernel._VectorBase2D___imul__(self, f)
590 
591  def show(self, *args):
592  r"""
593  show(_VectorBase2D self, _ostream out, std::string delim, bool parens=True)
594  show(_VectorBase2D self, _ostream out=std::cout)
595  """
596  return _IMP_kernel._VectorBase2D_show(self, *args)
597 
598  def get_dimension(self):
599  r"""get_dimension(_VectorBase2D self) -> unsigned int"""
600  return _IMP_kernel._VectorBase2D_get_dimension(self)
601  __swig_destroy__ = _IMP_kernel.delete__VectorBase2D
602 
603 # Register _VectorBase2D in _IMP_kernel:
604 _IMP_kernel._VectorBase2D_swigregister(_VectorBase2D)
605 class _VectorBase3D(_GeometricPrimitive3D):
606  r"""Proxy of C++ IMP::internal::VectorBaseD< 3 > class."""
607 
608  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
609  __repr__ = _swig_repr
610 
611  def __init__(self):
612  r"""__init__(_VectorBase3D self) -> _VectorBase3D"""
613  _IMP_kernel._VectorBase3D_swiginit(self, _IMP_kernel.new__VectorBase3D())
614 
615  def get_scalar_product(self, o):
616  r"""get_scalar_product(_VectorBase3D self, _VectorBase3D o) -> double"""
617  return _IMP_kernel._VectorBase3D_get_scalar_product(self, o)
618 
619  def get_squared_magnitude(self):
620  r"""get_squared_magnitude(_VectorBase3D self) -> double"""
621  return _IMP_kernel._VectorBase3D_get_squared_magnitude(self)
622 
623  def get_magnitude(self):
624  r"""get_magnitude(_VectorBase3D self) -> double"""
625  return _IMP_kernel._VectorBase3D_get_magnitude(self)
626 
627  def get_distance(self, o):
628  r"""get_distance(_VectorBase3D self, _VectorBase3D o) -> double"""
629  return _IMP_kernel._VectorBase3D_get_distance(self, o)
630 
631  def __mul__(self, o):
632  r"""__mul__(_VectorBase3D self, _VectorBase3D o) -> double"""
633  return _IMP_kernel._VectorBase3D___mul__(self, o)
634 
635  def __iadd__(self, o):
636  r"""__iadd__(_VectorBase3D self, _VectorBase3D o) -> _VectorBase3D"""
637  return _IMP_kernel._VectorBase3D___iadd__(self, o)
638 
639  def __isub__(self, o):
640  r"""__isub__(_VectorBase3D self, _VectorBase3D o) -> _VectorBase3D"""
641  return _IMP_kernel._VectorBase3D___isub__(self, o)
642 
643  def __itruediv__(self, *args):
644  return _IMP_kernel._VectorBase3D___itruediv__(self, *args)
645  __idiv__ = __itruediv__
646 
647 
648 
649  def __imul__(self, f):
650  r"""__imul__(_VectorBase3D self, double f) -> _VectorBase3D"""
651  return _IMP_kernel._VectorBase3D___imul__(self, f)
652 
653  def show(self, *args):
654  r"""
655  show(_VectorBase3D self, _ostream out, std::string delim, bool parens=True)
656  show(_VectorBase3D self, _ostream out=std::cout)
657  """
658  return _IMP_kernel._VectorBase3D_show(self, *args)
659 
660  def get_dimension(self):
661  r"""get_dimension(_VectorBase3D self) -> unsigned int"""
662  return _IMP_kernel._VectorBase3D_get_dimension(self)
663  __swig_destroy__ = _IMP_kernel.delete__VectorBase3D
664 
665 # Register _VectorBase3D in _IMP_kernel:
666 _IMP_kernel._VectorBase3D_swigregister(_VectorBase3D)
667 class _VectorBase4D(_GeometricPrimitive4D):
668  r"""Proxy of C++ IMP::internal::VectorBaseD< 4 > class."""
669 
670  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
671  __repr__ = _swig_repr
672 
673  def __init__(self):
674  r"""__init__(_VectorBase4D self) -> _VectorBase4D"""
675  _IMP_kernel._VectorBase4D_swiginit(self, _IMP_kernel.new__VectorBase4D())
676 
677  def get_scalar_product(self, o):
678  r"""get_scalar_product(_VectorBase4D self, _VectorBase4D o) -> double"""
679  return _IMP_kernel._VectorBase4D_get_scalar_product(self, o)
680 
681  def get_squared_magnitude(self):
682  r"""get_squared_magnitude(_VectorBase4D self) -> double"""
683  return _IMP_kernel._VectorBase4D_get_squared_magnitude(self)
684 
685  def get_magnitude(self):
686  r"""get_magnitude(_VectorBase4D self) -> double"""
687  return _IMP_kernel._VectorBase4D_get_magnitude(self)
688 
689  def get_distance(self, o):
690  r"""get_distance(_VectorBase4D self, _VectorBase4D o) -> double"""
691  return _IMP_kernel._VectorBase4D_get_distance(self, o)
692 
693  def __mul__(self, o):
694  r"""__mul__(_VectorBase4D self, _VectorBase4D o) -> double"""
695  return _IMP_kernel._VectorBase4D___mul__(self, o)
696 
697  def __iadd__(self, o):
698  r"""__iadd__(_VectorBase4D self, _VectorBase4D o) -> _VectorBase4D"""
699  return _IMP_kernel._VectorBase4D___iadd__(self, o)
700 
701  def __isub__(self, o):
702  r"""__isub__(_VectorBase4D self, _VectorBase4D o) -> _VectorBase4D"""
703  return _IMP_kernel._VectorBase4D___isub__(self, o)
704 
705  def __itruediv__(self, *args):
706  return _IMP_kernel._VectorBase4D___itruediv__(self, *args)
707  __idiv__ = __itruediv__
708 
709 
710 
711  def __imul__(self, f):
712  r"""__imul__(_VectorBase4D self, double f) -> _VectorBase4D"""
713  return _IMP_kernel._VectorBase4D___imul__(self, f)
714 
715  def show(self, *args):
716  r"""
717  show(_VectorBase4D self, _ostream out, std::string delim, bool parens=True)
718  show(_VectorBase4D self, _ostream out=std::cout)
719  """
720  return _IMP_kernel._VectorBase4D_show(self, *args)
721 
722  def get_dimension(self):
723  r"""get_dimension(_VectorBase4D self) -> unsigned int"""
724  return _IMP_kernel._VectorBase4D_get_dimension(self)
725  __swig_destroy__ = _IMP_kernel.delete__VectorBase4D
726 
727 # Register _VectorBase4D in _IMP_kernel:
728 _IMP_kernel._VectorBase4D_swigregister(_VectorBase4D)
729 class _VectorBase5D(_GeometricPrimitive5D):
730  r"""Proxy of C++ IMP::internal::VectorBaseD< 5 > class."""
731 
732  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
733  __repr__ = _swig_repr
734 
735  def __init__(self):
736  r"""__init__(_VectorBase5D self) -> _VectorBase5D"""
737  _IMP_kernel._VectorBase5D_swiginit(self, _IMP_kernel.new__VectorBase5D())
738 
739  def get_scalar_product(self, o):
740  r"""get_scalar_product(_VectorBase5D self, _VectorBase5D o) -> double"""
741  return _IMP_kernel._VectorBase5D_get_scalar_product(self, o)
742 
743  def get_squared_magnitude(self):
744  r"""get_squared_magnitude(_VectorBase5D self) -> double"""
745  return _IMP_kernel._VectorBase5D_get_squared_magnitude(self)
746 
747  def get_magnitude(self):
748  r"""get_magnitude(_VectorBase5D self) -> double"""
749  return _IMP_kernel._VectorBase5D_get_magnitude(self)
750 
751  def get_distance(self, o):
752  r"""get_distance(_VectorBase5D self, _VectorBase5D o) -> double"""
753  return _IMP_kernel._VectorBase5D_get_distance(self, o)
754 
755  def __mul__(self, o):
756  r"""__mul__(_VectorBase5D self, _VectorBase5D o) -> double"""
757  return _IMP_kernel._VectorBase5D___mul__(self, o)
758 
759  def __iadd__(self, o):
760  r"""__iadd__(_VectorBase5D self, _VectorBase5D o) -> _VectorBase5D"""
761  return _IMP_kernel._VectorBase5D___iadd__(self, o)
762 
763  def __isub__(self, o):
764  r"""__isub__(_VectorBase5D self, _VectorBase5D o) -> _VectorBase5D"""
765  return _IMP_kernel._VectorBase5D___isub__(self, o)
766 
767  def __itruediv__(self, *args):
768  return _IMP_kernel._VectorBase5D___itruediv__(self, *args)
769  __idiv__ = __itruediv__
770 
771 
772 
773  def __imul__(self, f):
774  r"""__imul__(_VectorBase5D self, double f) -> _VectorBase5D"""
775  return _IMP_kernel._VectorBase5D___imul__(self, f)
776 
777  def show(self, *args):
778  r"""
779  show(_VectorBase5D self, _ostream out, std::string delim, bool parens=True)
780  show(_VectorBase5D self, _ostream out=std::cout)
781  """
782  return _IMP_kernel._VectorBase5D_show(self, *args)
783 
784  def get_dimension(self):
785  r"""get_dimension(_VectorBase5D self) -> unsigned int"""
786  return _IMP_kernel._VectorBase5D_get_dimension(self)
787  __swig_destroy__ = _IMP_kernel.delete__VectorBase5D
788 
789 # Register _VectorBase5D in _IMP_kernel:
790 _IMP_kernel._VectorBase5D_swigregister(_VectorBase5D)
791 class _VectorBase6D(_GeometricPrimitive6D):
792  r"""Proxy of C++ IMP::internal::VectorBaseD< 6 > class."""
793 
794  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
795  __repr__ = _swig_repr
796 
797  def __init__(self):
798  r"""__init__(_VectorBase6D self) -> _VectorBase6D"""
799  _IMP_kernel._VectorBase6D_swiginit(self, _IMP_kernel.new__VectorBase6D())
800 
801  def get_scalar_product(self, o):
802  r"""get_scalar_product(_VectorBase6D self, _VectorBase6D o) -> double"""
803  return _IMP_kernel._VectorBase6D_get_scalar_product(self, o)
804 
805  def get_squared_magnitude(self):
806  r"""get_squared_magnitude(_VectorBase6D self) -> double"""
807  return _IMP_kernel._VectorBase6D_get_squared_magnitude(self)
808 
809  def get_magnitude(self):
810  r"""get_magnitude(_VectorBase6D self) -> double"""
811  return _IMP_kernel._VectorBase6D_get_magnitude(self)
812 
813  def get_distance(self, o):
814  r"""get_distance(_VectorBase6D self, _VectorBase6D o) -> double"""
815  return _IMP_kernel._VectorBase6D_get_distance(self, o)
816 
817  def __mul__(self, o):
818  r"""__mul__(_VectorBase6D self, _VectorBase6D o) -> double"""
819  return _IMP_kernel._VectorBase6D___mul__(self, o)
820 
821  def __iadd__(self, o):
822  r"""__iadd__(_VectorBase6D self, _VectorBase6D o) -> _VectorBase6D"""
823  return _IMP_kernel._VectorBase6D___iadd__(self, o)
824 
825  def __isub__(self, o):
826  r"""__isub__(_VectorBase6D self, _VectorBase6D o) -> _VectorBase6D"""
827  return _IMP_kernel._VectorBase6D___isub__(self, o)
828 
829  def __itruediv__(self, *args):
830  return _IMP_kernel._VectorBase6D___itruediv__(self, *args)
831  __idiv__ = __itruediv__
832 
833 
834 
835  def __imul__(self, f):
836  r"""__imul__(_VectorBase6D self, double f) -> _VectorBase6D"""
837  return _IMP_kernel._VectorBase6D___imul__(self, f)
838 
839  def show(self, *args):
840  r"""
841  show(_VectorBase6D self, _ostream out, std::string delim, bool parens=True)
842  show(_VectorBase6D self, _ostream out=std::cout)
843  """
844  return _IMP_kernel._VectorBase6D_show(self, *args)
845 
846  def get_dimension(self):
847  r"""get_dimension(_VectorBase6D self) -> unsigned int"""
848  return _IMP_kernel._VectorBase6D_get_dimension(self)
849  __swig_destroy__ = _IMP_kernel.delete__VectorBase6D
850 
851 # Register _VectorBase6D in _IMP_kernel:
852 _IMP_kernel._VectorBase6D_swigregister(_VectorBase6D)
853 class _InputAdaptor(object):
854  r"""Proxy of C++ IMP::InputAdaptor class."""
855 
856  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
857 
858  def __init__(self, *args, **kwargs):
859  raise AttributeError("No constructor defined")
860  __repr__ = _swig_repr
861 
862  def __getstate__(self):
863  raise NotImplementedError(str(self.__class__)
864  + " does not support serialization")
865 
866  __swig_destroy__ = _IMP_kernel.delete__InputAdaptor
867 
868 # Register _InputAdaptor in _IMP_kernel:
869 _IMP_kernel._InputAdaptor_swigregister(_InputAdaptor)
870 class _NonCopyable(object):
871  r"""Proxy of C++ IMP::NonCopyable class."""
872 
873  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
874 
875  def __init__(self, *args, **kwargs):
876  raise AttributeError("No constructor defined")
877  __repr__ = _swig_repr
878  __swig_destroy__ = _IMP_kernel.delete__NonCopyable
879 
880 # Register _NonCopyable in _IMP_kernel:
881 _IMP_kernel._NonCopyable_swigregister(_NonCopyable)
882 class _RAII(_NonCopyable):
883  r"""Proxy of C++ IMP::RAII class."""
884 
885  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
886 
887  def __init__(self, *args, **kwargs):
888  raise AttributeError("No constructor defined")
889  __repr__ = _swig_repr
890  __swig_destroy__ = _IMP_kernel.delete__RAII
891 
892 # Register _RAII in _IMP_kernel:
893 _IMP_kernel._RAII_swigregister(_RAII)
894 class _Value(object):
895  r"""Proxy of C++ IMP::Value class."""
896 
897  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
898 
899  def __init__(self, *args, **kwargs):
900  raise AttributeError("No constructor defined")
901  __repr__ = _swig_repr
902 
903  def __getstate__(self):
904  raise NotImplementedError(str(self.__class__)
905  + " does not support serialization")
906 
907  __swig_destroy__ = _IMP_kernel.delete__Value
908 
909 # Register _Value in _IMP_kernel:
910 _IMP_kernel._Value_swigregister(_Value)
911 
912 def get_executable_name():
913  r"""get_executable_name() -> std::string"""
914  return _IMP_kernel.get_executable_name()
915 
916 def setup_from_argv(*args):
917  r"""
918  setup_from_argv(IMP::Strings const & argv, std::string description)
919  setup_from_argv(IMP::Strings const & argv, std::string description, std::string positional_description, int num_positional) -> IMP::Strings
920  """
921  return _IMP_kernel.setup_from_argv(*args)
922 
923 def add_string_flag(name, default_value, description):
924  r"""add_string_flag(std::string name, std::string default_value, std::string description)"""
925  return _IMP_kernel.add_string_flag(name, default_value, description)
926 
927 def get_string_flag(name):
928  r"""get_string_flag(std::string name) -> std::string"""
929  return _IMP_kernel.get_string_flag(name)
930 
931 def add_int_flag(name, default_value, description):
932  r"""add_int_flag(std::string name, size_t default_value, std::string description)"""
933  return _IMP_kernel.add_int_flag(name, default_value, description)
934 
935 def get_int_flag(name):
936  r"""get_int_flag(std::string name) -> size_t"""
937  return _IMP_kernel.get_int_flag(name)
938 
939 def add_bool_flag(name, description):
940  r"""add_bool_flag(std::string name, std::string description)"""
941  return _IMP_kernel.add_bool_flag(name, description)
942 
943 def get_bool_flag(name):
944  r"""get_bool_flag(std::string name) -> bool"""
945  return _IMP_kernel.get_bool_flag(name)
946 
947 def add_float_flag(name, default_value, description):
948  r"""add_float_flag(std::string name, double default_value, std::string description)"""
949  return _IMP_kernel.add_float_flag(name, default_value, description)
950 
951 def get_float_flag(name):
952  r"""get_float_flag(std::string name) -> double"""
953  return _IMP_kernel.get_float_flag(name)
954 
955 def write_help(*args):
956  r"""write_help(_ostream out=std::cerr)"""
957  return _IMP_kernel.write_help(*args)
958 
959 def get_is_quick_test():
960  r"""get_is_quick_test() -> bool"""
961  return _IMP_kernel.get_is_quick_test()
962 DEFAULT = _IMP_kernel.DEFAULT
963 
964 SILENT = _IMP_kernel.SILENT
965 
966 WARNING = _IMP_kernel.WARNING
967 
968 PROGRESS = _IMP_kernel.PROGRESS
969 
970 TERSE = _IMP_kernel.TERSE
971 
972 VERBOSE = _IMP_kernel.VERBOSE
973 
974 MEMORY = _IMP_kernel.MEMORY
975 
976 ALL_LOG = _IMP_kernel.ALL_LOG
977 
978 class VersionInfo(_Value):
979  r"""Proxy of C++ IMP::VersionInfo class."""
980 
981  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
982 
983  def __init__(self, *args):
984  r"""
985  __init__(VersionInfo self, std::string module, std::string version) -> VersionInfo
986  __init__(VersionInfo self) -> VersionInfo
987  """
988  _IMP_kernel.VersionInfo_swiginit(self, _IMP_kernel.new_VersionInfo(*args))
989 
990  def get_module(self):
991  r"""get_module(VersionInfo self) -> std::string"""
992  return _IMP_kernel.VersionInfo_get_module(self)
993 
994  def get_version(self):
995  r"""get_version(VersionInfo self) -> std::string"""
996  return _IMP_kernel.VersionInfo_get_version(self)
997 
998  def show(self, *args):
999  r"""show(VersionInfo self, _ostream out=std::cout)"""
1000  return _IMP_kernel.VersionInfo_show(self, *args)
1001 
1002  def __cmp__(self, o):
1003  r"""__cmp__(VersionInfo self, VersionInfo o) -> int"""
1004  return _IMP_kernel.VersionInfo___cmp__(self, o)
1005 
1006  def __eq__(self, o):
1007  r"""__eq__(VersionInfo self, VersionInfo o) -> bool"""
1008  return _IMP_kernel.VersionInfo___eq__(self, o)
1009 
1010  def __ne__(self, o):
1011  r"""__ne__(VersionInfo self, VersionInfo o) -> bool"""
1012  return _IMP_kernel.VersionInfo___ne__(self, o)
1013 
1014  def __lt__(self, o):
1015  r"""__lt__(VersionInfo self, VersionInfo o) -> bool"""
1016  return _IMP_kernel.VersionInfo___lt__(self, o)
1017 
1018  def __gt__(self, o):
1019  r"""__gt__(VersionInfo self, VersionInfo o) -> bool"""
1020  return _IMP_kernel.VersionInfo___gt__(self, o)
1021 
1022  def __ge__(self, o):
1023  r"""__ge__(VersionInfo self, VersionInfo o) -> bool"""
1024  return _IMP_kernel.VersionInfo___ge__(self, o)
1025 
1026  def __le__(self, o):
1027  r"""__le__(VersionInfo self, VersionInfo o) -> bool"""
1028  return _IMP_kernel.VersionInfo___le__(self, o)
1029 
1030  def __str__(self):
1031  r"""__str__(VersionInfo self) -> std::string"""
1032  return _IMP_kernel.VersionInfo___str__(self)
1033 
1034  def __repr__(self):
1035  r"""__repr__(VersionInfo self) -> std::string"""
1036  return _IMP_kernel.VersionInfo___repr__(self)
1037 
1038  def _get_as_binary(self):
1039  r"""_get_as_binary(VersionInfo self) -> PyObject *"""
1040  return _IMP_kernel.VersionInfo__get_as_binary(self)
1041 
1042  def _set_from_binary(self, p):
1043  r"""_set_from_binary(VersionInfo self, PyObject * p)"""
1044  return _IMP_kernel.VersionInfo__set_from_binary(self, p)
1045 
1046  def __getstate__(self):
1047  p = self._get_as_binary()
1048  if len(self.__dict__) > 1:
1049  d = self.__dict__.copy()
1050  del d['this']
1051  p = (d, p)
1052  return p
1053 
1054  def __setstate__(self, p):
1055  if not hasattr(self, 'this'):
1056  self.__init__()
1057  if isinstance(p, tuple):
1058  d, p = p
1059  self.__dict__.update(d)
1060  return self._set_from_binary(p)
1061 
1062  __swig_destroy__ = _IMP_kernel.delete_VersionInfo
1063 
1064 # Register VersionInfo in _IMP_kernel:
1065 _IMP_kernel.VersionInfo_swigregister(VersionInfo)
1066 class TextOutput(_InputAdaptor):
1067  r"""Proxy of C++ IMP::TextOutput class."""
1068 
1069  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1070  __repr__ = _swig_repr
1071 
1072  def __init__(self, *args):
1073  r"""
1074  __init__(TextOutput self, int arg2) -> TextOutput
1075  __init__(TextOutput self, double arg2) -> TextOutput
1076  __init__(TextOutput self, char const * c, bool append=False) -> TextOutput
1077  __init__(TextOutput self, IMP::TextProxy< std::ostream > p) -> TextOutput
1078  __init__(TextOutput self) -> TextOutput
1079  __init__(TextOutput self, std::string file_name, bool append=False) -> TextOutput
1080  """
1081  _IMP_kernel.TextOutput_swiginit(self, _IMP_kernel.new_TextOutput(*args))
1082 
1083  def show(self, *args):
1084  r"""show(TextOutput self, _ostream out=std::cout)"""
1085  return _IMP_kernel.TextOutput_show(self, *args)
1086 
1087  def get_name(self):
1088  r"""get_name(TextOutput self) -> std::string"""
1089  return _IMP_kernel.TextOutput_get_name(self)
1090  __swig_destroy__ = _IMP_kernel.delete_TextOutput
1091 
1092 # Register TextOutput in _IMP_kernel:
1093 _IMP_kernel.TextOutput_swigregister(TextOutput)
1094 class TextInput(_InputAdaptor):
1095  r"""Proxy of C++ IMP::TextInput class."""
1096 
1097  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1098  __repr__ = _swig_repr
1099 
1100  def __init__(self, *args):
1101  r"""
1102  __init__(TextInput self, int arg2) -> TextInput
1103  __init__(TextInput self, double arg2) -> TextInput
1104  __init__(TextInput self, char const * c) -> TextInput
1105  __init__(TextInput self, IMP::TextProxy< std::istream > p) -> TextInput
1106  __init__(TextInput self) -> TextInput
1107  __init__(TextInput self, std::string file_name) -> TextInput
1108  """
1109  _IMP_kernel.TextInput_swiginit(self, _IMP_kernel.new_TextInput(*args))
1110 
1111  def show(self, *args):
1112  r"""show(TextInput self, _ostream out=std::cout)"""
1113  return _IMP_kernel.TextInput_show(self, *args)
1114 
1115  def get_name(self):
1116  r"""get_name(TextInput self) -> std::string"""
1117  return _IMP_kernel.TextInput_get_name(self)
1118 
1119  def set_binary_open_mode(self, binary):
1120  r"""set_binary_open_mode(TextInput self, bool binary)"""
1121  return _IMP_kernel.TextInput_set_binary_open_mode(self, binary)
1122  __swig_destroy__ = _IMP_kernel.delete_TextInput
1123 
1124 # Register TextInput in _IMP_kernel:
1125 _IMP_kernel.TextInput_swigregister(TextInput)
1126 class SetLogTarget(_RAII):
1127  r"""Proxy of C++ IMP::SetLogTarget class."""
1128 
1129  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1130 
1131  def __init__(self, *args):
1132  r"""
1133  __init__(SetLogTarget self) -> SetLogTarget
1134  __init__(SetLogTarget self, TextOutput to) -> SetLogTarget
1135  """
1136  _IMP_kernel.SetLogTarget_swiginit(self, _IMP_kernel.new_SetLogTarget(*args))
1137 
1138  def set(self, to):
1139  r"""set(SetLogTarget self, TextOutput to)"""
1140  return _IMP_kernel.SetLogTarget_set(self, to)
1141 
1142  def reset(self):
1143  r"""reset(SetLogTarget self)"""
1144  return _IMP_kernel.SetLogTarget_reset(self)
1145  __swig_destroy__ = _IMP_kernel.delete_SetLogTarget
1146 
1147  def show(self, *args):
1148  r"""show(SetLogTarget self, _ostream out=std::cout)"""
1149  return _IMP_kernel.SetLogTarget_show(self, *args)
1150 
1151  def __enter__(self):
1152  return self
1153  def __exit__(self, exc_type, exc_val, exc_tb):
1154  self.reset()
1155  return False
1156 
1157 
1158  def __str__(self):
1159  r"""__str__(SetLogTarget self) -> std::string"""
1160  return _IMP_kernel.SetLogTarget___str__(self)
1161 
1162  def __repr__(self):
1163  r"""__repr__(SetLogTarget self) -> std::string"""
1164  return _IMP_kernel.SetLogTarget___repr__(self)
1165 
1166 # Register SetLogTarget in _IMP_kernel:
1167 _IMP_kernel.SetLogTarget_swigregister(SetLogTarget)
1168 
1169 def create_temporary_file(*args):
1170  r"""create_temporary_file(std::string prefix="imp_temp", std::string suffix="") -> TextOutput"""
1171  return _IMP_kernel.create_temporary_file(*args)
1172 
1173 def create_temporary_file_name(*args):
1174  r"""create_temporary_file_name(std::string prefix="imp_temp", std::string suffix="") -> std::string"""
1175  return _IMP_kernel.create_temporary_file_name(*args)
1176 
1177 def get_relative_path(base, relative):
1178  r"""get_relative_path(std::string base, std::string relative) -> std::string"""
1179  return _IMP_kernel.get_relative_path(base, relative)
1180 
1181 def get_absolute_path(file):
1182  r"""get_absolute_path(std::string file) -> std::string"""
1183  return _IMP_kernel.get_absolute_path(file)
1184 
1185 def push_log_context(functionname, object):
1186  r"""push_log_context(char const * functionname, void const * object)"""
1187  return _IMP_kernel.push_log_context(functionname, object)
1188 
1189 def pop_log_context():
1190  r"""pop_log_context()"""
1191  return _IMP_kernel.pop_log_context()
1192 
1193 def add_to_log(*args):
1194  r"""
1195  add_to_log(std::string to_write)
1196  add_to_log(IMP::LogLevel level, std::string to_write)
1197  """
1198  return _IMP_kernel.add_to_log(*args)
1199 
1200 def set_log_level(l):
1201  r"""set_log_level(IMP::LogLevel l)"""
1202  return _IMP_kernel.set_log_level(l)
1203 
1204 def set_log_timer(tb):
1205  r"""set_log_timer(bool tb)"""
1206  return _IMP_kernel.set_log_timer(tb)
1207 
1208 def reset_log_timer():
1209  r"""reset_log_timer()"""
1210  return _IMP_kernel.reset_log_timer()
1211 
1212 def get_log_level():
1213  r"""get_log_level() -> IMP::LogLevel"""
1214  return _IMP_kernel.get_log_level()
1215 
1216 def set_progress_display(description, steps):
1217  r"""set_progress_display(std::string description, unsigned int steps)"""
1218  return _IMP_kernel.set_progress_display(description, steps)
1219 
1220 def add_to_progress_display(step=1):
1221  r"""add_to_progress_display(unsigned int step=1)"""
1222  return _IMP_kernel.add_to_progress_display(step)
1223 class Object(_NonCopyable):
1224  r"""Proxy of C++ IMP::Object class."""
1225 
1226  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1227 
1228  def __init__(self, name):
1229  r"""__init__(Object self, std::string name) -> Object"""
1230  if self.__class__ == Object:
1231  _self = None
1232  else:
1233  _self = self
1234  _IMP_kernel.Object_swiginit(self, _IMP_kernel.new_Object(_self, name))
1235 
1236  if self.__class__ != Object:
1237  _director_objects.register(self)
1238 
1239 
1240 
1241  __swig_destroy__ = _IMP_kernel.delete_Object
1242 
1243  def __hash__(self):
1244  r"""__hash__(Object self) -> std::size_t"""
1245  return _IMP_kernel.Object___hash__(self)
1246 
1247  def set_log_level(self, l):
1248  r"""set_log_level(Object self, IMP::LogLevel l)"""
1249  return _IMP_kernel.Object_set_log_level(self, l)
1250 
1251  def set_check_level(self, l):
1252  r"""set_check_level(Object self, IMP::CheckLevel l)"""
1253  return _IMP_kernel.Object_set_check_level(self, l)
1254 
1255  def get_log_level(self):
1256  r"""get_log_level(Object self) -> IMP::LogLevel"""
1257  return _IMP_kernel.Object_get_log_level(self)
1258 
1259  def get_check_level(self):
1260  r"""get_check_level(Object self) -> IMP::CheckLevel"""
1261  return _IMP_kernel.Object_get_check_level(self)
1262 
1263  def get_version_info(self):
1264  r"""get_version_info(Object self) -> VersionInfo"""
1265  val = _IMP_kernel.Object_get_version_info(self)
1266  if val.get_module() == 'none':
1267  val = VersionInfo(
1268  self.__module__,
1269  __import__(self.__module__).get_module_version())
1270  return val
1271 
1272  def get_name(self):
1273  r"""get_name(Object self) -> std::string const &"""
1274  return _IMP_kernel.Object_get_name(self)
1275 
1276  def set_name(self, name):
1277  r"""set_name(Object self, std::string name)"""
1278  return _IMP_kernel.Object_set_name(self, name)
1279 
1280  def get_type_name(self):
1281  r"""get_type_name(Object self) -> std::string"""
1282  val = _IMP_kernel.Object_get_type_name(self)
1283  if val == 'unknown object type':
1284  val = self.__class__.__name__
1285  return val
1286 
1287  def set_was_used(self, tf):
1288  r"""set_was_used(Object self, bool tf)"""
1289  return _IMP_kernel.Object_set_was_used(self, tf)
1290 
1291  def show(self, *args):
1292  r"""show(Object self, _ostream out=std::cout)"""
1293  return _IMP_kernel.Object_show(self, *args)
1294 
1295  def get_string(self):
1296  r"""get_string(Object self) -> std::string"""
1297  return _IMP_kernel.Object_get_string(self)
1298 
1299  def _on_destruction(self):
1300  r"""_on_destruction(Object self)"""
1301  return _IMP_kernel.Object__on_destruction(self)
1302 
1303  def get_is_valid(self):
1304  r"""get_is_valid(Object self) -> bool"""
1305  return _IMP_kernel.Object_get_is_valid(self)
1306 
1307  def get_ref_count(self):
1308  r"""get_ref_count(Object self) -> unsigned int"""
1309  return _IMP_kernel.Object_get_ref_count(self)
1310 
1311  @staticmethod
1312  def get_number_of_live_objects():
1313  r"""get_number_of_live_objects() -> unsigned int"""
1314  return _IMP_kernel.Object_get_number_of_live_objects()
1315 
1316  def get_is_shared(self):
1317  r"""get_is_shared(Object self) -> bool"""
1318  return _IMP_kernel.Object_get_is_shared(self)
1319 
1320  def clear_caches(self):
1321  r"""clear_caches(Object self)"""
1322  return _IMP_kernel.Object_clear_caches(self)
1323 
1324  def do_destroy(self):
1325  r"""do_destroy(Object self)"""
1326  return _IMP_kernel.Object_do_destroy(self)
1327 
1328  def __getstate__(self):
1329  raise NotImplementedError(str(self.__class__)
1330  + " does not support serialization")
1331 
1332 
1333  def __eq__(self, o):
1334  r"""__eq__(Object self, Object o) -> bool"""
1335  return _IMP_kernel.Object___eq__(self, o)
1336 
1337  def __ne__(self, o):
1338  r"""__ne__(Object self, Object o) -> bool"""
1339  return _IMP_kernel.Object___ne__(self, o)
1340 
1341  def __le__(self, o):
1342  r"""__le__(Object self, Object o) -> bool"""
1343  return _IMP_kernel.Object___le__(self, o)
1344 
1345  def __lt__(self, o):
1346  r"""__lt__(Object self, Object o) -> bool"""
1347  return _IMP_kernel.Object___lt__(self, o)
1348 
1349  def __ge__(self, o):
1350  r"""__ge__(Object self, Object o) -> bool"""
1351  return _IMP_kernel.Object___ge__(self, o)
1352 
1353  def __gt__(self, o):
1354  r"""__gt__(Object self, Object o) -> bool"""
1355  return _IMP_kernel.Object___gt__(self, o)
1356 
1357  def _get_director_object(self):
1358  r"""_get_director_object(Object self) -> PyObject *"""
1359  return _IMP_kernel.Object__get_director_object(self)
1360 
1362  """Return this object cast to the most derived subclass."""
1363  # If this is a SWIG director, return the original Python object
1364  pyobj = self._get_director_object()
1365  if pyobj is not None:
1366  return pyobj
1367  # Otherwise, use the object's module and type name to look up
1368  # the corresponding most-derived Python type
1369  modname = self.get_version_info().get_module().replace('::', '.')
1370  type_name = self.get_type_name()
1371  if (modname == 'IMP.core'
1372  and type_name == 'GenericBoundingBox3DSingletonScore'):
1373  type_name = 'BoundingBox3DSingletonScore'
1374  elif (modname == 'IMP.core'
1375  and type_name == 'GenericAttributeSingletonScore'):
1376  type_name = 'AttributeSingletonScore'
1377  elif (modname == 'IMP.core'
1378  and type_name == 'GenericBoundingSphere3DSingletonScore'):
1379  type_name = 'BoundingSphere3DSingletonScore'
1380  elif modname == 'IMP' and type_name == 'RestraintScoringFunction':
1381  # The implicit RestraintScoringFunction isn't exposed to Python,
1382  # so just return the base class
1383  return self
1384  elif modname == 'IMP' and type_name == 'GenericRestraintsScoringFunction':
1385  type_name = '_RestraintsScoringFunction'
1386  modobj = sys.modules[modname]
1387  clsobj = getattr(modobj, type_name)
1388  return clsobj.get_from(self)
1389 
1390 
1391  def __str__(self):
1392  r"""__str__(Object self) -> std::string"""
1393  return _IMP_kernel.Object___str__(self)
1394 
1395  def __repr__(self):
1396  r"""__repr__(Object self) -> std::string"""
1397  return _IMP_kernel.Object___repr__(self)
1398 
1399  @staticmethod
1400  def get_from(o):
1401  return _object_cast_to_Object(o)
1402 
1403  def __disown__(self):
1404  self.this.disown()
1405  _IMP_kernel.disown_Object(self)
1406  return weakref.proxy(self)
1407 
1408 # Register Object in _IMP_kernel:
1409 _IMP_kernel.Object_swigregister(Object)
1410 class SetLogState(_RAII):
1411  r"""Proxy of C++ IMP::SetLogState class."""
1412 
1413  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1414 
1415  def reset(self):
1416  r"""reset(SetLogState self)"""
1417  return _IMP_kernel.SetLogState_reset(self)
1418  __swig_destroy__ = _IMP_kernel.delete_SetLogState
1419 
1420  def show(self, *args):
1421  r"""show(SetLogState self, _ostream out=std::cout)"""
1422  return _IMP_kernel.SetLogState_show(self, *args)
1423 
1424  def __init__(self, *args):
1425  r"""
1426  __init__(SetLogState self) -> SetLogState
1427  __init__(SetLogState self, Object o, IMP::LogLevel l) -> SetLogState
1428  __init__(SetLogState self, IMP::LogLevel l) -> SetLogState
1429  """
1430  _IMP_kernel.SetLogState_swiginit(self, _IMP_kernel.new_SetLogState(*args))
1431 
1432  def set(self, *args):
1433  r"""
1434  set(SetLogState self, Object o, IMP::LogLevel l)
1435  set(SetLogState self, IMP::LogLevel l)
1436  """
1437  return _IMP_kernel.SetLogState_set(self, *args)
1438 
1439  def __enter__(self):
1440  return self
1441  def __exit__(self, exc_type, exc_val, exc_tb):
1442  self.reset()
1443  return False
1444 
1445 
1446  def __str__(self):
1447  r"""__str__(SetLogState self) -> std::string"""
1448  return _IMP_kernel.SetLogState___str__(self)
1449 
1450  def __repr__(self):
1451  r"""__repr__(SetLogState self) -> std::string"""
1452  return _IMP_kernel.SetLogState___repr__(self)
1453 
1454 # Register SetLogState in _IMP_kernel:
1455 _IMP_kernel.SetLogState_swigregister(SetLogState)
1456 class WarningContext(object):
1457  r"""Proxy of C++ IMP::WarningContext class."""
1458 
1459  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1460  data_ = property(_IMP_kernel.WarningContext_data__get, _IMP_kernel.WarningContext_data__set, doc=r"""data_ : boost::unordered_set<(std::string)>""")
1461 
1462  def add_warning(self, key, warning):
1463  r"""add_warning(WarningContext self, std::string key, std::string warning)"""
1464  return _IMP_kernel.WarningContext_add_warning(self, key, warning)
1465 
1466  def clear_warnings(self):
1467  r"""clear_warnings(WarningContext self)"""
1468  return _IMP_kernel.WarningContext_clear_warnings(self)
1469 
1470  def dump_warnings(self):
1471  r"""dump_warnings(WarningContext self)"""
1472  return _IMP_kernel.WarningContext_dump_warnings(self)
1473  __swig_destroy__ = _IMP_kernel.delete_WarningContext
1474 
1475  def show(self, *args):
1476  r"""show(WarningContext self, _ostream out=std::cout)"""
1477  return _IMP_kernel.WarningContext_show(self, *args)
1478 
1479  def __enter__(self):
1480  return self
1481  def __exit__(self, exc_type, exc_val, exc_tb):
1482  self.reset()
1483  return False
1484 
1485 
1486  def __str__(self):
1487  r"""__str__(WarningContext self) -> std::string"""
1488  return _IMP_kernel.WarningContext___str__(self)
1489 
1490  def __repr__(self):
1491  r"""__repr__(WarningContext self) -> std::string"""
1492  return _IMP_kernel.WarningContext___repr__(self)
1493 
1494  def __init__(self):
1495  r"""__init__(WarningContext self) -> WarningContext"""
1496  _IMP_kernel.WarningContext_swiginit(self, _IMP_kernel.new_WarningContext())
1497 
1498 # Register WarningContext in _IMP_kernel:
1499 _IMP_kernel.WarningContext_swigregister(WarningContext)
1500 class CreateLogContext(_RAII):
1501  r"""Proxy of C++ IMP::CreateLogContext class."""
1502 
1503  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1504 
1505  def __init__(self, *args):
1506  r"""
1507  __init__(CreateLogContext self, std::string fname, Object object=None) -> CreateLogContext
1508  __init__(CreateLogContext self) -> CreateLogContext
1509  __init__(CreateLogContext self, char const * fname, Object object=None) -> CreateLogContext
1510  """
1511  _IMP_kernel.CreateLogContext_swiginit(self, _IMP_kernel.new_CreateLogContext(*args))
1512 
1513  def set(self, fname, object=None):
1514  r"""set(CreateLogContext self, char const * fname, Object object=None)"""
1515  return _IMP_kernel.CreateLogContext_set(self, fname, object)
1516 
1517  def reset(self):
1518  r"""reset(CreateLogContext self)"""
1519  return _IMP_kernel.CreateLogContext_reset(self)
1520  __swig_destroy__ = _IMP_kernel.delete_CreateLogContext
1521 
1522  def show(self, *args):
1523  r"""show(CreateLogContext self, _ostream out=std::cout)"""
1524  return _IMP_kernel.CreateLogContext_show(self, *args)
1525 
1526  def __enter__(self):
1527  return self
1528  def __exit__(self, exc_type, exc_val, exc_tb):
1529  self.reset()
1530  return False
1531 
1532 
1533  def __str__(self):
1534  r"""__str__(CreateLogContext self) -> std::string"""
1535  return _IMP_kernel.CreateLogContext___str__(self)
1536 
1537  def __repr__(self):
1538  r"""__repr__(CreateLogContext self) -> std::string"""
1539  return _IMP_kernel.CreateLogContext___repr__(self)
1540 
1541 # Register CreateLogContext in _IMP_kernel:
1542 _IMP_kernel.CreateLogContext_swigregister(CreateLogContext)
1543 class SetCheckState(_RAII):
1544  r"""Proxy of C++ IMP::SetCheckState class."""
1545 
1546  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1547 
1548  def reset(self):
1549  r"""reset(SetCheckState self)"""
1550  return _IMP_kernel.SetCheckState_reset(self)
1551  __swig_destroy__ = _IMP_kernel.delete_SetCheckState
1552 
1553  def show(self, *args):
1554  r"""show(SetCheckState self, _ostream out=std::cout)"""
1555  return _IMP_kernel.SetCheckState_show(self, *args)
1556 
1557  def __init__(self, *args):
1558  r"""
1559  __init__(SetCheckState self) -> SetCheckState
1560  __init__(SetCheckState self, Object o, IMP::CheckLevel l) -> SetCheckState
1561  __init__(SetCheckState self, IMP::CheckLevel l) -> SetCheckState
1562  """
1563  _IMP_kernel.SetCheckState_swiginit(self, _IMP_kernel.new_SetCheckState(*args))
1564 
1565  def set(self, *args):
1566  r"""
1567  set(SetCheckState self, Object o, IMP::CheckLevel l)
1568  set(SetCheckState self, IMP::CheckLevel l)
1569  """
1570  return _IMP_kernel.SetCheckState_set(self, *args)
1571 
1572  def __enter__(self):
1573  return self
1574  def __exit__(self, exc_type, exc_val, exc_tb):
1575  self.reset()
1576  return False
1577 
1578 
1579  def __str__(self):
1580  r"""__str__(SetCheckState self) -> std::string"""
1581  return _IMP_kernel.SetCheckState___str__(self)
1582 
1583  def __repr__(self):
1584  r"""__repr__(SetCheckState self) -> std::string"""
1585  return _IMP_kernel.SetCheckState___repr__(self)
1586 
1587 # Register SetCheckState in _IMP_kernel:
1588 _IMP_kernel.SetCheckState_swigregister(SetCheckState)
1589 
1590 def get_unique_name(templ):
1591  r"""get_unique_name(std::string templ) -> std::string"""
1592  return _IMP_kernel.get_unique_name(templ)
1593 
1594 def get_copyright():
1595  r"""get_copyright() -> std::string"""
1596  return _IMP_kernel.get_copyright()
1597 class _Protection(object):
1598  r"""Proxy of C++ IMP::internal::_Protection class."""
1599 
1600  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1601 
1602  def __init__(self, *args, **kwargs):
1603  raise AttributeError("No constructor defined")
1604 
1605  def show(self, *args):
1606  r"""show(_Protection self, _ostream out=std::cout)"""
1607  return _IMP_kernel._Protection_show(self, *args)
1608 
1609  def __str__(self):
1610  r"""__str__(_Protection self) -> std::string"""
1611  return _IMP_kernel._Protection___str__(self)
1612 
1613  def __repr__(self):
1614  r"""__repr__(_Protection self) -> std::string"""
1615  return _IMP_kernel._Protection___repr__(self)
1616  __swig_destroy__ = _IMP_kernel.delete__Protection
1617 
1618 # Register _Protection in _IMP_kernel:
1619 _IMP_kernel._Protection_swigregister(_Protection)
1620 
1621 def _test_log():
1622  r"""_test_log()"""
1623  return _IMP_kernel._test_log()
1624 
1625 def _test_intranges(ips):
1626  r"""_test_intranges(IMP::IntRanges const & ips) -> int"""
1627  return _IMP_kernel._test_intranges(ips)
1628 
1629 def _test_intrange(*args):
1630  r"""
1631  _test_intrange(IMP::IntRange const & ips) -> IMP::IntRange
1632  _test_intrange() -> IMP::IntRange
1633  """
1634  return _IMP_kernel._test_intrange(*args)
1635 
1636 def _test_ifile(a):
1637  r"""_test_ifile(TextInput a) -> std::string"""
1638  return _IMP_kernel._test_ifile(a)
1639 
1640 def _test_ofile(a):
1641  r"""_test_ofile(TextOutput a) -> std::string"""
1642  return _IMP_kernel._test_ofile(a)
1643 
1644 def _test_ifile_overloaded(*args):
1645  r"""
1646  _test_ifile_overloaded(TextInput a, int i) -> std::string
1647  _test_ifile_overloaded(TextInput a, std::string st) -> std::string
1648  """
1649  return _IMP_kernel._test_ifile_overloaded(*args)
1650 
1651 def _test_ofile_overloaded(*args):
1652  r"""
1653  _test_ofile_overloaded(TextOutput a, int i) -> std::string
1654  _test_ofile_overloaded(TextOutput a, std::string st) -> std::string
1655  """
1656  return _IMP_kernel._test_ofile_overloaded(*args)
1657 class _TestValue(object):
1658  r"""Proxy of C++ IMP::internal::_TestValue class."""
1659 
1660  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1661 
1662  def __init__(self, i):
1663  r"""__init__(_TestValue self, int i) -> _TestValue"""
1664  _IMP_kernel._TestValue_swiginit(self, _IMP_kernel.new__TestValue(i))
1665 
1666  def show(self, *args):
1667  r"""show(_TestValue self, _ostream out=std::cout)"""
1668  return _IMP_kernel._TestValue_show(self, *args)
1669 
1670  def __cmp__(self, o):
1671  r"""__cmp__(_TestValue self, _TestValue o) -> int"""
1672  return _IMP_kernel._TestValue___cmp__(self, o)
1673 
1674  def __eq__(self, o):
1675  r"""__eq__(_TestValue self, _TestValue o) -> bool"""
1676  return _IMP_kernel._TestValue___eq__(self, o)
1677 
1678  def __ne__(self, o):
1679  r"""__ne__(_TestValue self, _TestValue o) -> bool"""
1680  return _IMP_kernel._TestValue___ne__(self, o)
1681 
1682  def __lt__(self, o):
1683  r"""__lt__(_TestValue self, _TestValue o) -> bool"""
1684  return _IMP_kernel._TestValue___lt__(self, o)
1685 
1686  def __gt__(self, o):
1687  r"""__gt__(_TestValue self, _TestValue o) -> bool"""
1688  return _IMP_kernel._TestValue___gt__(self, o)
1689 
1690  def __ge__(self, o):
1691  r"""__ge__(_TestValue self, _TestValue o) -> bool"""
1692  return _IMP_kernel._TestValue___ge__(self, o)
1693 
1694  def __le__(self, o):
1695  r"""__le__(_TestValue self, _TestValue o) -> bool"""
1696  return _IMP_kernel._TestValue___le__(self, o)
1697 
1698  def get(self):
1699  r"""get(_TestValue self) -> int"""
1700  return _IMP_kernel._TestValue_get(self)
1701 
1702  def get_float(self):
1703  r"""get_float(_TestValue self) -> float const &"""
1704  return _IMP_kernel._TestValue_get_float(self)
1705 
1706  def get_double(self):
1707  r"""get_double(_TestValue self) -> double const &"""
1708  return _IMP_kernel._TestValue_get_double(self)
1709 
1710  def get_Float(self):
1711  r"""get_Float(_TestValue self) -> IMP::Float const &"""
1712  return _IMP_kernel._TestValue_get_Float(self)
1713 
1714  def get_int(self):
1715  r"""get_int(_TestValue self) -> int const &"""
1716  return _IMP_kernel._TestValue_get_int(self)
1717 
1718  def get_Int(self):
1719  r"""get_Int(_TestValue self) -> IMP::Int const &"""
1720  return _IMP_kernel._TestValue_get_Int(self)
1721 
1722  def get_string(self):
1723  r"""get_string(_TestValue self) -> std::string const &"""
1724  return _IMP_kernel._TestValue_get_string(self)
1725 
1726  def get_String(self):
1727  r"""get_String(_TestValue self) -> IMP::String const &"""
1728  return _IMP_kernel._TestValue_get_String(self)
1729 
1730  def __str__(self):
1731  r"""__str__(_TestValue self) -> std::string"""
1732  return _IMP_kernel._TestValue___str__(self)
1733 
1734  def __repr__(self):
1735  r"""__repr__(_TestValue self) -> std::string"""
1736  return _IMP_kernel._TestValue___repr__(self)
1737  __swig_destroy__ = _IMP_kernel.delete__TestValue
1738 
1739 # Register _TestValue in _IMP_kernel:
1740 _IMP_kernel._TestValue_swigregister(_TestValue)
1741 
1742 def _pass_plain_pair(p):
1743  r"""_pass_plain_pair(IMP::FloatPair p) -> IMP::FloatPair"""
1744  return _IMP_kernel._pass_plain_pair(p)
1745 
1746 def _pass_overloaded_strings(*args):
1747  r"""
1748  _pass_overloaded_strings(IMP::Strings const & a, int arg2) -> IMP::Strings
1749  _pass_overloaded_strings(IMP::Strings const & a) -> IMP::Strings
1750  """
1751  return _IMP_kernel._pass_overloaded_strings(*args)
1752 
1753 def _pass_pair(p):
1754  r"""_pass_pair(IMP::DerivativePair const & p) -> IMP::DerivativePair"""
1755  return _IMP_kernel._pass_pair(p)
1756 
1757 def _pass_floats(input):
1758  r"""_pass_floats(IMP::Floats const & input) -> IMP::Floats"""
1759  return _IMP_kernel._pass_floats(input)
1760 
1761 def _pass_ints(input):
1762  r"""_pass_ints(IMP::Ints input) -> IMP::Ints"""
1763  return _IMP_kernel._pass_ints(input)
1764 
1765 def _pass_ints_list(input):
1766  r"""_pass_ints_list(IMP::IntsList const & input) -> IMP::IntsList"""
1767  return _IMP_kernel._pass_ints_list(input)
1768 
1769 def _pass_ints_lists(input):
1770  r"""_pass_ints_lists(IMP::IntsLists const & input) -> IMP::IntsLists"""
1771  return _IMP_kernel._pass_ints_lists(input)
1772 
1773 def _pass_strings(input):
1774  r"""_pass_strings(IMP::Strings const & input) -> IMP::Strings const &"""
1775  return _IMP_kernel._pass_strings(input)
1776 class _TestObject(Object):
1777  r"""Proxy of C++ IMP::internal::_TestObject class."""
1778 
1779  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1780 
1781  def __init__(self):
1782  r"""__init__(_TestObject self) -> _TestObject"""
1783  _IMP_kernel._TestObject_swiginit(self, _IMP_kernel.new__TestObject())
1784 
1785  def get_version_info(self):
1786  r"""get_version_info(_TestObject self) -> VersionInfo"""
1787  return _IMP_kernel._TestObject_get_version_info(self)
1788  __swig_destroy__ = _IMP_kernel.delete__TestObject
1789 
1790  def __str__(self):
1791  r"""__str__(_TestObject self) -> std::string"""
1792  return _IMP_kernel._TestObject___str__(self)
1793 
1794  def __repr__(self):
1795  r"""__repr__(_TestObject self) -> std::string"""
1796  return _IMP_kernel._TestObject___repr__(self)
1797 
1798  @staticmethod
1799  def get_from(o):
1800  return _object_cast_to__TestObject(o)
1801 
1802 
1803 # Register _TestObject in _IMP_kernel:
1804 _IMP_kernel._TestObject_swigregister(_TestObject)
1805 
1806 def get_live_object_names():
1807  r"""get_live_object_names() -> IMP::Strings"""
1808  return _IMP_kernel.get_live_object_names()
1809 
1810 def get_live_objects():
1811  r"""get_live_objects() -> IMP::Objects"""
1812  return _IMP_kernel.get_live_objects()
1813 
1814 def set_show_leaked_objects(tf):
1815  r"""set_show_leaked_objects(bool tf)"""
1816  return _IMP_kernel.set_show_leaked_objects(tf)
1817 
1818 def set_deprecation_warnings(tf):
1819  r"""set_deprecation_warnings(bool tf)"""
1820  return _IMP_kernel.set_deprecation_warnings(tf)
1821 
1823  r"""set_deprecation_exceptions(bool tf)"""
1824  return _IMP_kernel.set_deprecation_exceptions(tf)
1825 
1827  r"""get_deprecation_exceptions() -> bool"""
1828  return _IMP_kernel.get_deprecation_exceptions()
1829 
1830 def handle_use_deprecated(message):
1831  r"""handle_use_deprecated(std::string message)"""
1832  return _IMP_kernel.handle_use_deprecated(message)
1833 
1834 def get_number_of_threads():
1835  r"""get_number_of_threads() -> unsigned int"""
1836  return _IMP_kernel.get_number_of_threads()
1837 
1838 def set_number_of_threads(n):
1839  r"""set_number_of_threads(unsigned int n)"""
1840  return _IMP_kernel.set_number_of_threads(n)
1841 class SetNumberOfThreads(_RAII):
1842  r"""Proxy of C++ IMP::SetNumberOfThreads class."""
1843 
1844  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1845 
1846  def __init__(self, *args):
1847  r"""
1848  __init__(SetNumberOfThreads self) -> SetNumberOfThreads
1849  __init__(SetNumberOfThreads self, unsigned int n) -> SetNumberOfThreads
1850  """
1851  _IMP_kernel.SetNumberOfThreads_swiginit(self, _IMP_kernel.new_SetNumberOfThreads(*args))
1852 
1853  def set(self, n):
1854  r"""set(SetNumberOfThreads self, unsigned int n)"""
1855  return _IMP_kernel.SetNumberOfThreads_set(self, n)
1856 
1857  def reset(self):
1858  r"""reset(SetNumberOfThreads self)"""
1859  return _IMP_kernel.SetNumberOfThreads_reset(self)
1860  __swig_destroy__ = _IMP_kernel.delete_SetNumberOfThreads
1861 
1862  def show(self, *args):
1863  r"""show(SetNumberOfThreads self, _ostream out=std::cout)"""
1864  return _IMP_kernel.SetNumberOfThreads_show(self, *args)
1865 
1866  def __enter__(self):
1867  return self
1868  def __exit__(self, exc_type, exc_val, exc_tb):
1869  self.reset()
1870  return False
1871 
1872 
1873  def __str__(self):
1874  r"""__str__(SetNumberOfThreads self) -> std::string"""
1875  return _IMP_kernel.SetNumberOfThreads___str__(self)
1876 
1877  def __repr__(self):
1878  r"""__repr__(SetNumberOfThreads self) -> std::string"""
1879  return _IMP_kernel.SetNumberOfThreads___repr__(self)
1880 
1881 # Register SetNumberOfThreads in _IMP_kernel:
1882 _IMP_kernel.SetNumberOfThreads_swigregister(SetNumberOfThreads)
1883 
1884 import os
1885 i_m_p="IMP_MODULE_PATH"
1886 if i_m_p in os.environ.keys():
1887  __path__.insert(0, os.environ[i_m_p])
1888 
1889 def _forward_add_attribute(self, name, value, opt=None):
1890  if opt is not None:
1891  self.get_particle().add_attribute(name, value, opt)
1892  else:
1893  self.get_particle().add_attribute(name, value)
1894 def _forward_get_value(self, name):
1895  self.get_particle().get_value(name)
1896 def _forward_set_value(self, name, value):
1897  self.get_particle().set_value(name, value)
1898 
1899 
1900 build="release"
1901 
1902 
1903 _object_types.append("Constraint")
1904 
1905 
1906 def _object_cast_to_Constraint(o):
1907  r"""_object_cast_to_Constraint(Object o) -> Constraint"""
1908  return _IMP_kernel._object_cast_to_Constraint(o)
1909 
1910 _object_types.append("Undecorator")
1911 
1912 
1913 def _object_cast_to_Undecorator(o):
1914  r"""_object_cast_to_Undecorator(Object o) -> Undecorator"""
1915  return _IMP_kernel._object_cast_to_Undecorator(o)
1916 
1917 _object_types.append("Container")
1918 
1919 
1920 def _object_cast_to_Container(o):
1921  r"""_object_cast_to_Container(Object o) -> Container"""
1922  return _IMP_kernel._object_cast_to_Container(o)
1923 
1924 _object_types.append("Optimizer")
1925 
1926 
1927 def _object_cast_to_Optimizer(o):
1928  r"""_object_cast_to_Optimizer(Object o) -> Optimizer"""
1929  return _IMP_kernel._object_cast_to_Optimizer(o)
1930 
1931 _object_types.append("AttributeOptimizer")
1932 
1933 
1934 def _object_cast_to_AttributeOptimizer(o):
1935  r"""_object_cast_to_AttributeOptimizer(Object o) -> AttributeOptimizer"""
1936  return _IMP_kernel._object_cast_to_AttributeOptimizer(o)
1937 
1938 _object_types.append("OptimizerState")
1939 
1940 
1941 def _object_cast_to_OptimizerState(o):
1942  r"""_object_cast_to_OptimizerState(Object o) -> OptimizerState"""
1943  return _IMP_kernel._object_cast_to_OptimizerState(o)
1944 
1945 _object_types.append("PairContainer")
1946 
1947 
1948 def _object_cast_to_PairContainer(o):
1949  r"""_object_cast_to_PairContainer(Object o) -> PairContainer"""
1950  return _IMP_kernel._object_cast_to_PairContainer(o)
1951 
1952 _object_types.append("PairModifier")
1953 
1954 
1955 def _object_cast_to_PairModifier(o):
1956  r"""_object_cast_to_PairModifier(Object o) -> PairModifier"""
1957  return _IMP_kernel._object_cast_to_PairModifier(o)
1958 
1959 _object_types.append("PairScore")
1960 
1961 
1962 def _object_cast_to_PairScore(o):
1963  r"""_object_cast_to_PairScore(Object o) -> PairScore"""
1964  return _IMP_kernel._object_cast_to_PairScore(o)
1965 
1966 _object_types.append("QuadContainer")
1967 
1968 
1969 def _object_cast_to_QuadContainer(o):
1970  r"""_object_cast_to_QuadContainer(Object o) -> QuadContainer"""
1971  return _IMP_kernel._object_cast_to_QuadContainer(o)
1972 
1973 _object_types.append("QuadModifier")
1974 
1975 
1976 def _object_cast_to_QuadModifier(o):
1977  r"""_object_cast_to_QuadModifier(Object o) -> QuadModifier"""
1978  return _IMP_kernel._object_cast_to_QuadModifier(o)
1979 
1980 _object_types.append("QuadScore")
1981 
1982 
1983 def _object_cast_to_QuadScore(o):
1984  r"""_object_cast_to_QuadScore(Object o) -> QuadScore"""
1985  return _IMP_kernel._object_cast_to_QuadScore(o)
1986 
1987 _object_types.append("Refiner")
1988 
1989 
1990 def _object_cast_to_Refiner(o):
1991  r"""_object_cast_to_Refiner(Object o) -> Refiner"""
1992  return _IMP_kernel._object_cast_to_Refiner(o)
1993 
1994 _object_types.append("Restraint")
1995 
1996 
1997 def _object_cast_to_Restraint(o):
1998  r"""_object_cast_to_Restraint(Object o) -> Restraint"""
1999  return _IMP_kernel._object_cast_to_Restraint(o)
2000 
2001 _object_types.append("Sampler")
2002 
2003 
2004 def _object_cast_to_Sampler(o):
2005  r"""_object_cast_to_Sampler(Object o) -> Sampler"""
2006  return _IMP_kernel._object_cast_to_Sampler(o)
2007 
2008 _object_types.append("ScoreState")
2009 
2010 
2011 def _object_cast_to_ScoreState(o):
2012  r"""_object_cast_to_ScoreState(Object o) -> ScoreState"""
2013  return _IMP_kernel._object_cast_to_ScoreState(o)
2014 
2015 _object_types.append("SingletonContainer")
2016 
2017 
2018 def _object_cast_to_SingletonContainer(o):
2019  r"""_object_cast_to_SingletonContainer(Object o) -> SingletonContainer"""
2020  return _IMP_kernel._object_cast_to_SingletonContainer(o)
2021 
2022 _object_types.append("SingletonModifier")
2023 
2024 
2025 def _object_cast_to_SingletonModifier(o):
2026  r"""_object_cast_to_SingletonModifier(Object o) -> SingletonModifier"""
2027  return _IMP_kernel._object_cast_to_SingletonModifier(o)
2028 
2029 _object_types.append("SingletonScore")
2030 
2031 
2032 def _object_cast_to_SingletonScore(o):
2033  r"""_object_cast_to_SingletonScore(Object o) -> SingletonScore"""
2034  return _IMP_kernel._object_cast_to_SingletonScore(o)
2035 
2036 _object_types.append("TripletContainer")
2037 
2038 
2039 def _object_cast_to_TripletContainer(o):
2040  r"""_object_cast_to_TripletContainer(Object o) -> TripletContainer"""
2041  return _IMP_kernel._object_cast_to_TripletContainer(o)
2042 
2043 _object_types.append("TripletModifier")
2044 
2045 
2046 def _object_cast_to_TripletModifier(o):
2047  r"""_object_cast_to_TripletModifier(Object o) -> TripletModifier"""
2048  return _IMP_kernel._object_cast_to_TripletModifier(o)
2049 
2050 _object_types.append("TripletScore")
2051 
2052 
2053 def _object_cast_to_TripletScore(o):
2054  r"""_object_cast_to_TripletScore(Object o) -> TripletScore"""
2055  return _IMP_kernel._object_cast_to_TripletScore(o)
2056 
2057 _object_types.append("UnaryFunction")
2058 
2059 
2060 def _object_cast_to_UnaryFunction(o):
2061  r"""_object_cast_to_UnaryFunction(Object o) -> UnaryFunction"""
2062  return _IMP_kernel._object_cast_to_UnaryFunction(o)
2063 
2064 _object_types.append("RestraintInfo")
2065 
2066 
2067 def _object_cast_to_RestraintInfo(o):
2068  r"""_object_cast_to_RestraintInfo(Object o) -> RestraintInfo"""
2069  return _IMP_kernel._object_cast_to_RestraintInfo(o)
2070 
2071 _object_types.append("ConfigurationSet")
2072 
2073 
2074 def _object_cast_to_ConfigurationSet(o):
2075  r"""_object_cast_to_ConfigurationSet(Object o) -> ConfigurationSet"""
2076  return _IMP_kernel._object_cast_to_ConfigurationSet(o)
2077 
2078 _object_types.append("Configuration")
2079 
2080 
2081 def _object_cast_to_Configuration(o):
2082  r"""_object_cast_to_Configuration(Object o) -> Configuration"""
2083  return _IMP_kernel._object_cast_to_Configuration(o)
2084 
2085 _object_types.append("Model")
2086 
2087 
2088 def _object_cast_to_Model(o):
2089  r"""_object_cast_to_Model(Object o) -> Model"""
2090  return _IMP_kernel._object_cast_to_Model(o)
2091 
2092 _object_types.append("Particle")
2093 
2094 
2095 def _object_cast_to_Particle(o):
2096  r"""_object_cast_to_Particle(Object o) -> Particle"""
2097  return _IMP_kernel._object_cast_to_Particle(o)
2098 
2099 _object_types.append("RestraintSet")
2100 
2101 
2102 def _object_cast_to_RestraintSet(o):
2103  r"""_object_cast_to_RestraintSet(Object o) -> RestraintSet"""
2104  return _IMP_kernel._object_cast_to_RestraintSet(o)
2105 
2106 ParticlePairsTemp=list
2107 _plural_types.append("ParticlePairsTemp")
2108 _value_types.append("ParticlePair")
2109 
2110 
2111 ParticleTripletsTemp=list
2112 _plural_types.append("ParticleTripletsTemp")
2113 _value_types.append("ParticleTriplet")
2114 
2115 
2116 ParticleQuadsTemp=list
2117 _plural_types.append("ParticleQuadsTemp")
2118 _value_types.append("ParticleQuad")
2119 
2120 
2121 ParticleIndexPairs=list
2122 _plural_types.append("ParticleIndexPairs")
2123 _value_types.append("ParticleIndexPair")
2124 
2125 
2126 ParticleIndexTriplets=list
2127 _plural_types.append("ParticleIndexTriplets")
2128 _value_types.append("ParticleIndexTriplet")
2129 
2130 
2131 ParticleIndexQuads=list
2132 _plural_types.append("ParticleIndexQuads")
2133 _value_types.append("ParticleIndexQuad")
2134 
2135 
2136 _object_types.append("SingletonPredicate")
2137 
2138 
2139 def _object_cast_to_SingletonPredicate(o):
2140  r"""_object_cast_to_SingletonPredicate(Object o) -> SingletonPredicate"""
2141  return _IMP_kernel._object_cast_to_SingletonPredicate(o)
2142 
2143 _object_types.append("PairPredicate")
2144 
2145 
2146 def _object_cast_to_PairPredicate(o):
2147  r"""_object_cast_to_PairPredicate(Object o) -> PairPredicate"""
2148  return _IMP_kernel._object_cast_to_PairPredicate(o)
2149 
2150 _object_types.append("TripletPredicate")
2151 
2152 
2153 def _object_cast_to_TripletPredicate(o):
2154  r"""_object_cast_to_TripletPredicate(Object o) -> TripletPredicate"""
2155  return _IMP_kernel._object_cast_to_TripletPredicate(o)
2156 
2157 _object_types.append("QuadPredicate")
2158 
2159 
2160 def _object_cast_to_QuadPredicate(o):
2161  r"""_object_cast_to_QuadPredicate(Object o) -> QuadPredicate"""
2162  return _IMP_kernel._object_cast_to_QuadPredicate(o)
2163 
2164 _object_types.append("SaveToConfigurationSetOptimizerState")
2165 
2166 
2167 def _object_cast_to_SaveToConfigurationSetOptimizerState(o):
2168  r"""_object_cast_to_SaveToConfigurationSetOptimizerState(Object o) -> SaveToConfigurationSetOptimizerState"""
2169  return _IMP_kernel._object_cast_to_SaveToConfigurationSetOptimizerState(o)
2170 
2171 EvaluationStates=list
2172 _plural_types.append("EvaluationStates")
2173 _value_types.append("EvaluationState")
2174 
2175 
2176 ScoreAccumulators=list
2177 _plural_types.append("ScoreAccumulators")
2178 _value_types.append("ScoreAccumulator")
2179 
2180 
2181 ParticleIndexes=list
2182 _plural_types.append("ParticleIndexes")
2183 _value_types.append("ParticleIndex")
2184 
2185 
2186 FloatIndexes=list
2187 _plural_types.append("FloatIndexes")
2188 _value_types.append("FloatIndex")
2189 
2190 
2191 FloatKeys=list
2192 _plural_types.append("FloatKeys")
2193 _value_types.append("FloatKey")
2194 
2195 
2196 FloatsKeys=list
2197 _plural_types.append("FloatsKeys")
2198 _value_types.append("FloatsKey")
2199 
2200 
2201 IntKeys=list
2202 _plural_types.append("IntKeys")
2203 _value_types.append("IntKey")
2204 
2205 
2206 IntsKeys=list
2207 _plural_types.append("IntsKeys")
2208 _value_types.append("IntsKey")
2209 
2210 
2211 StringKeys=list
2212 _plural_types.append("StringKeys")
2213 _value_types.append("StringKey")
2214 
2215 
2216 ParticleIndexKeys=list
2217 _plural_types.append("ParticleIndexKeys")
2218 _value_types.append("ParticleIndexKey")
2219 
2220 
2221 ParticleIndexesKeys=list
2222 _plural_types.append("ParticleIndexesKeys")
2223 _value_types.append("ParticleIndexesKey")
2224 
2225 
2226 ObjectKeys=list
2227 _plural_types.append("ObjectKeys")
2228 _value_types.append("ObjectKey")
2229 
2230 
2231 ModelKeys=list
2232 _plural_types.append("ModelKeys")
2233 _value_types.append("ModelKey")
2234 
2235 
2236 TriggerKeys=list
2237 _plural_types.append("TriggerKeys")
2238 _value_types.append("TriggerKey")
2239 
2240 
2241 SparseFloatKeys=list
2242 _plural_types.append("SparseFloatKeys")
2243 _value_types.append("SparseFloatKey")
2244 
2245 
2246 SparseIntKeys=list
2247 _plural_types.append("SparseIntKeys")
2248 _value_types.append("SparseIntKey")
2249 
2250 
2251 SparseStringKeys=list
2252 _plural_types.append("SparseStringKeys")
2253 _value_types.append("SparseStringKey")
2254 
2255 
2256 SparseParticleIndexKeys=list
2257 _plural_types.append("SparseParticleIndexKeys")
2258 _value_types.append("SparseParticleIndexKey")
2259 
2260 
2261 Vector3DKeys=list
2262 _plural_types.append("Vector3DKeys")
2263 _value_types.append("Vector3DKey")
2264 
2265 
2266 Vector4DKeys=list
2267 _plural_types.append("Vector4DKeys")
2268 _value_types.append("Vector4DKey")
2269 
2270 
2271 Vector3DDerivKeys=list
2272 _plural_types.append("Vector3DDerivKeys")
2273 _value_types.append("Vector3DDerivKey")
2274 
2275 
2276 Vector4DDerivKeys=list
2277 _plural_types.append("Vector4DDerivKeys")
2278 _value_types.append("Vector4DDerivKey")
2279 
2280 
2281 _raii_types.append("ScopedSetFloatAttribute")
2282 
2283 
2284 _object_types.append("ScoringFunction")
2285 
2286 
2287 def _object_cast_to_ScoringFunction(o):
2288  r"""_object_cast_to_ScoringFunction(Object o) -> ScoringFunction"""
2289  return _IMP_kernel._object_cast_to_ScoringFunction(o)
2290 
2291 _object_types.append("ModelObject")
2292 
2293 
2294 def _object_cast_to_ModelObject(o):
2295  r"""_object_cast_to_ModelObject(Object o) -> ModelObject"""
2296  return _IMP_kernel._object_cast_to_ModelObject(o)
2297 
2298 _object_types.append("_RestraintsScoringFunction")
2299 
2300 
2301 def _object_cast_to__RestraintsScoringFunction(o):
2302  r"""_object_cast_to__RestraintsScoringFunction(Object o) -> _RestraintsScoringFunction"""
2303  return _IMP_kernel._object_cast_to__RestraintsScoringFunction(o)
2304 
2305 def _TrivialDecorators(l=[]):
2306  return [_TrivialDecorator(x) for x in l]
2307 _plural_types.append("_TrivialDecorators")
2308 
2309 
2310 _value_types.append("_TrivialDecorator")
2311 
2312 
2313 def _TrivialDerivedDecorators(l=[]):
2314  return [_TrivialDerivedDecorator(x) for x in l]
2315 _plural_types.append("_TrivialDerivedDecorators")
2316 
2317 
2318 _value_types.append("_TrivialDerivedDecorator")
2319 
2320 
2321 def _TrivialTraitsDecorators(l=[]):
2322  return [_TrivialTraitsDecorator(x) for x in l]
2323 _plural_types.append("_TrivialTraitsDecorators")
2324 
2325 
2326 _value_types.append("_TrivialTraitsDecorator")
2327 
2328 
2329 _object_types.append("_ConstRestraint")
2330 
2331 
2332 def _object_cast_to__ConstRestraint(o):
2333  r"""_object_cast_to__ConstRestraint(Object o) -> _ConstRestraint"""
2334  return _IMP_kernel._object_cast_to__ConstRestraint(o)
2335 
2336 _object_types.append("_ConstOptimizer")
2337 
2338 
2339 def _object_cast_to__ConstOptimizer(o):
2340  r"""_object_cast_to__ConstOptimizer(Object o) -> _ConstOptimizer"""
2341  return _IMP_kernel._object_cast_to__ConstOptimizer(o)
2342 
2343 _object_types.append("_ConstSingletonScore")
2344 
2345 
2346 def _object_cast_to__ConstSingletonScore(o):
2347  r"""_object_cast_to__ConstSingletonScore(Object o) -> _ConstSingletonScore"""
2348  return _IMP_kernel._object_cast_to__ConstSingletonScore(o)
2349 
2350 _object_types.append("_ConstPairScore")
2351 
2352 
2353 def _object_cast_to__ConstPairScore(o):
2354  r"""_object_cast_to__ConstPairScore(Object o) -> _ConstPairScore"""
2355  return _IMP_kernel._object_cast_to__ConstPairScore(o)
2356 class DependencyGraph(Object):
2357  r"""Proxy of C++ IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex > class."""
2358 
2359  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2360  __repr__ = _swig_repr
2361 
2362  def __init__(self):
2363  r"""__init__(DependencyGraph self) -> DependencyGraph"""
2364  _IMP_kernel.DependencyGraph_swiginit(self, _IMP_kernel.new_DependencyGraph())
2365 
2366  def get_graph(self):
2367  r"""get_graph(DependencyGraph self) -> IMP::DependencyGraph const &"""
2368  return _IMP_kernel.DependencyGraph_get_graph(self)
2369 
2370  def get_vertices(self):
2371  r"""get_vertices(DependencyGraph self) -> IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptors"""
2372  return _IMP_kernel.DependencyGraph_get_vertices(self)
2373 
2374  def get_vertex_name(self, i):
2375  r"""get_vertex_name(DependencyGraph self, IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor i) -> ModelObject"""
2376  return _IMP_kernel.DependencyGraph_get_vertex_name(self, i)
2377 
2378  def get_in_neighbors(self, v):
2379  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"""
2380  return _IMP_kernel.DependencyGraph_get_in_neighbors(self, v)
2381 
2382  def get_out_neighbors(self, v):
2383  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"""
2384  return _IMP_kernel.DependencyGraph_get_out_neighbors(self, v)
2385 
2386  def show_graphviz(self, *args):
2387  r"""show_graphviz(DependencyGraph self, _ostream out=std::cout)"""
2388  return _IMP_kernel.DependencyGraph_show_graphviz(self, *args)
2389 
2390  def get_graphviz_string(self):
2391  r"""get_graphviz_string(DependencyGraph self) -> std::string"""
2392  return _IMP_kernel.DependencyGraph_get_graphviz_string(self)
2393 
2394  def add_edge(self, v0, v1):
2395  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)"""
2396  return _IMP_kernel.DependencyGraph_add_edge(self, v0, v1)
2397 
2398  def add_vertex(self, l):
2399  r"""add_vertex(DependencyGraph self, ModelObject l) -> IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor"""
2400  return _IMP_kernel.DependencyGraph_add_vertex(self, l)
2401 
2402  def remove_vertex(self, l):
2403  r"""remove_vertex(DependencyGraph self, IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor l)"""
2404  return _IMP_kernel.DependencyGraph_remove_vertex(self, l)
2405  __swig_destroy__ = _IMP_kernel.delete_DependencyGraph
2406 
2407 # Register DependencyGraph in _IMP_kernel:
2408 _IMP_kernel.DependencyGraph_swigregister(DependencyGraph)
2409 
2410 _value_types.append("DependencyGraph")
2411 
2412 class FloatKey(_Value):
2413  r"""Proxy of C++ IMP::Key< 0 > class."""
2414 
2415  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2416 
2417  def __init__(self, *args):
2418  r"""
2419  __init__(FloatKey self) -> FloatKey
2420  __init__(FloatKey self, std::string const & c, bool is_implicit_add_permitted=True) -> FloatKey
2421  __init__(FloatKey self, unsigned int i) -> FloatKey
2422  """
2423  _IMP_kernel.FloatKey_swiginit(self, _IMP_kernel.new_FloatKey(*args))
2424 
2425  @staticmethod
2426  def add_key(sc):
2427  r"""add_key(std::string sc) -> unsigned int"""
2428  return _IMP_kernel.FloatKey_add_key(sc)
2429 
2430  @staticmethod
2431  def get_key_exists(sc):
2432  r"""get_key_exists(std::string sc) -> bool"""
2433  return _IMP_kernel.FloatKey_get_key_exists(sc)
2434 
2435  def get_string(self):
2436  r"""get_string(FloatKey self) -> std::string const"""
2437  return _IMP_kernel.FloatKey_get_string(self)
2438 
2439  def __cmp__(self, o):
2440  r"""__cmp__(FloatKey self, FloatKey o) -> int"""
2441  return _IMP_kernel.FloatKey___cmp__(self, o)
2442 
2443  def __eq__(self, o):
2444  r"""__eq__(FloatKey self, FloatKey o) -> bool"""
2445  return _IMP_kernel.FloatKey___eq__(self, o)
2446 
2447  def __ne__(self, o):
2448  r"""__ne__(FloatKey self, FloatKey o) -> bool"""
2449  return _IMP_kernel.FloatKey___ne__(self, o)
2450 
2451  def __lt__(self, o):
2452  r"""__lt__(FloatKey self, FloatKey o) -> bool"""
2453  return _IMP_kernel.FloatKey___lt__(self, o)
2454 
2455  def __gt__(self, o):
2456  r"""__gt__(FloatKey self, FloatKey o) -> bool"""
2457  return _IMP_kernel.FloatKey___gt__(self, o)
2458 
2459  def __ge__(self, o):
2460  r"""__ge__(FloatKey self, FloatKey o) -> bool"""
2461  return _IMP_kernel.FloatKey___ge__(self, o)
2462 
2463  def __le__(self, o):
2464  r"""__le__(FloatKey self, FloatKey o) -> bool"""
2465  return _IMP_kernel.FloatKey___le__(self, o)
2466 
2467  def __hash__(self):
2468  r"""__hash__(FloatKey self) -> std::size_t"""
2469  return _IMP_kernel.FloatKey___hash__(self)
2470 
2471  def show(self, *args):
2472  r"""show(FloatKey self, _ostream out=std::cout)"""
2473  return _IMP_kernel.FloatKey_show(self, *args)
2474 
2475  @staticmethod
2476  def add_alias(old_key, new_name):
2477  r"""add_alias(FloatKey old_key, std::string new_name) -> FloatKey"""
2478  return _IMP_kernel.FloatKey_add_alias(old_key, new_name)
2479 
2480  @staticmethod
2481  def get_number_of_keys():
2482  r"""get_number_of_keys() -> unsigned int"""
2483  return _IMP_kernel.FloatKey_get_number_of_keys()
2484 
2485  def get_index(self):
2486  r"""get_index(FloatKey self) -> unsigned int"""
2487  return _IMP_kernel.FloatKey_get_index(self)
2488 
2489  @staticmethod
2490  def show_all(out):
2491  r"""show_all(_ostream out)"""
2492  return _IMP_kernel.FloatKey_show_all(out)
2493 
2494  @staticmethod
2495  def get_all_strings():
2496  r"""get_all_strings() -> IMP::Vector< std::string >"""
2497  return _IMP_kernel.FloatKey_get_all_strings()
2498 
2499  @staticmethod
2500  def get_number_unique():
2501  r"""get_number_unique() -> unsigned int"""
2502  return _IMP_kernel.FloatKey_get_number_unique()
2503 
2504  def __str__(self):
2505  r"""__str__(FloatKey self) -> std::string"""
2506  return _IMP_kernel.FloatKey___str__(self)
2507 
2508  def __repr__(self):
2509  r"""__repr__(FloatKey self) -> std::string"""
2510  return _IMP_kernel.FloatKey___repr__(self)
2511  __swig_destroy__ = _IMP_kernel.delete_FloatKey
2512 
2513 # Register FloatKey in _IMP_kernel:
2514 _IMP_kernel.FloatKey_swigregister(FloatKey)
2515 class IntKey(_Value):
2516  r"""Proxy of C++ IMP::Key< 1 > class."""
2517 
2518  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2519 
2520  def __init__(self, *args):
2521  r"""
2522  __init__(IntKey self) -> IntKey
2523  __init__(IntKey self, std::string const & c, bool is_implicit_add_permitted=True) -> IntKey
2524  __init__(IntKey self, unsigned int i) -> IntKey
2525  """
2526  _IMP_kernel.IntKey_swiginit(self, _IMP_kernel.new_IntKey(*args))
2527 
2528  @staticmethod
2529  def add_key(sc):
2530  r"""add_key(std::string sc) -> unsigned int"""
2531  return _IMP_kernel.IntKey_add_key(sc)
2532 
2533  @staticmethod
2534  def get_key_exists(sc):
2535  r"""get_key_exists(std::string sc) -> bool"""
2536  return _IMP_kernel.IntKey_get_key_exists(sc)
2537 
2538  def get_string(self):
2539  r"""get_string(IntKey self) -> std::string const"""
2540  return _IMP_kernel.IntKey_get_string(self)
2541 
2542  def __cmp__(self, o):
2543  r"""__cmp__(IntKey self, IntKey o) -> int"""
2544  return _IMP_kernel.IntKey___cmp__(self, o)
2545 
2546  def __eq__(self, o):
2547  r"""__eq__(IntKey self, IntKey o) -> bool"""
2548  return _IMP_kernel.IntKey___eq__(self, o)
2549 
2550  def __ne__(self, o):
2551  r"""__ne__(IntKey self, IntKey o) -> bool"""
2552  return _IMP_kernel.IntKey___ne__(self, o)
2553 
2554  def __lt__(self, o):
2555  r"""__lt__(IntKey self, IntKey o) -> bool"""
2556  return _IMP_kernel.IntKey___lt__(self, o)
2557 
2558  def __gt__(self, o):
2559  r"""__gt__(IntKey self, IntKey o) -> bool"""
2560  return _IMP_kernel.IntKey___gt__(self, o)
2561 
2562  def __ge__(self, o):
2563  r"""__ge__(IntKey self, IntKey o) -> bool"""
2564  return _IMP_kernel.IntKey___ge__(self, o)
2565 
2566  def __le__(self, o):
2567  r"""__le__(IntKey self, IntKey o) -> bool"""
2568  return _IMP_kernel.IntKey___le__(self, o)
2569 
2570  def __hash__(self):
2571  r"""__hash__(IntKey self) -> std::size_t"""
2572  return _IMP_kernel.IntKey___hash__(self)
2573 
2574  def show(self, *args):
2575  r"""show(IntKey self, _ostream out=std::cout)"""
2576  return _IMP_kernel.IntKey_show(self, *args)
2577 
2578  @staticmethod
2579  def add_alias(old_key, new_name):
2580  r"""add_alias(IntKey old_key, std::string new_name) -> IntKey"""
2581  return _IMP_kernel.IntKey_add_alias(old_key, new_name)
2582 
2583  @staticmethod
2584  def get_number_of_keys():
2585  r"""get_number_of_keys() -> unsigned int"""
2586  return _IMP_kernel.IntKey_get_number_of_keys()
2587 
2588  def get_index(self):
2589  r"""get_index(IntKey self) -> unsigned int"""
2590  return _IMP_kernel.IntKey_get_index(self)
2591 
2592  @staticmethod
2593  def show_all(out):
2594  r"""show_all(_ostream out)"""
2595  return _IMP_kernel.IntKey_show_all(out)
2596 
2597  @staticmethod
2598  def get_all_strings():
2599  r"""get_all_strings() -> IMP::Vector< std::string >"""
2600  return _IMP_kernel.IntKey_get_all_strings()
2601 
2602  @staticmethod
2603  def get_number_unique():
2604  r"""get_number_unique() -> unsigned int"""
2605  return _IMP_kernel.IntKey_get_number_unique()
2606 
2607  def __str__(self):
2608  r"""__str__(IntKey self) -> std::string"""
2609  return _IMP_kernel.IntKey___str__(self)
2610 
2611  def __repr__(self):
2612  r"""__repr__(IntKey self) -> std::string"""
2613  return _IMP_kernel.IntKey___repr__(self)
2614  __swig_destroy__ = _IMP_kernel.delete_IntKey
2615 
2616 # Register IntKey in _IMP_kernel:
2617 _IMP_kernel.IntKey_swigregister(IntKey)
2618 class StringKey(_Value):
2619  r"""Proxy of C++ IMP::Key< 2 > class."""
2620 
2621  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2622 
2623  def __init__(self, *args):
2624  r"""
2625  __init__(StringKey self) -> StringKey
2626  __init__(StringKey self, std::string const & c, bool is_implicit_add_permitted=True) -> StringKey
2627  __init__(StringKey self, unsigned int i) -> StringKey
2628  """
2629  _IMP_kernel.StringKey_swiginit(self, _IMP_kernel.new_StringKey(*args))
2630 
2631  @staticmethod
2632  def add_key(sc):
2633  r"""add_key(std::string sc) -> unsigned int"""
2634  return _IMP_kernel.StringKey_add_key(sc)
2635 
2636  @staticmethod
2637  def get_key_exists(sc):
2638  r"""get_key_exists(std::string sc) -> bool"""
2639  return _IMP_kernel.StringKey_get_key_exists(sc)
2640 
2641  def get_string(self):
2642  r"""get_string(StringKey self) -> std::string const"""
2643  return _IMP_kernel.StringKey_get_string(self)
2644 
2645  def __cmp__(self, o):
2646  r"""__cmp__(StringKey self, StringKey o) -> int"""
2647  return _IMP_kernel.StringKey___cmp__(self, o)
2648 
2649  def __eq__(self, o):
2650  r"""__eq__(StringKey self, StringKey o) -> bool"""
2651  return _IMP_kernel.StringKey___eq__(self, o)
2652 
2653  def __ne__(self, o):
2654  r"""__ne__(StringKey self, StringKey o) -> bool"""
2655  return _IMP_kernel.StringKey___ne__(self, o)
2656 
2657  def __lt__(self, o):
2658  r"""__lt__(StringKey self, StringKey o) -> bool"""
2659  return _IMP_kernel.StringKey___lt__(self, o)
2660 
2661  def __gt__(self, o):
2662  r"""__gt__(StringKey self, StringKey o) -> bool"""
2663  return _IMP_kernel.StringKey___gt__(self, o)
2664 
2665  def __ge__(self, o):
2666  r"""__ge__(StringKey self, StringKey o) -> bool"""
2667  return _IMP_kernel.StringKey___ge__(self, o)
2668 
2669  def __le__(self, o):
2670  r"""__le__(StringKey self, StringKey o) -> bool"""
2671  return _IMP_kernel.StringKey___le__(self, o)
2672 
2673  def __hash__(self):
2674  r"""__hash__(StringKey self) -> std::size_t"""
2675  return _IMP_kernel.StringKey___hash__(self)
2676 
2677  def show(self, *args):
2678  r"""show(StringKey self, _ostream out=std::cout)"""
2679  return _IMP_kernel.StringKey_show(self, *args)
2680 
2681  @staticmethod
2682  def add_alias(old_key, new_name):
2683  r"""add_alias(StringKey old_key, std::string new_name) -> StringKey"""
2684  return _IMP_kernel.StringKey_add_alias(old_key, new_name)
2685 
2686  @staticmethod
2687  def get_number_of_keys():
2688  r"""get_number_of_keys() -> unsigned int"""
2689  return _IMP_kernel.StringKey_get_number_of_keys()
2690 
2691  def get_index(self):
2692  r"""get_index(StringKey self) -> unsigned int"""
2693  return _IMP_kernel.StringKey_get_index(self)
2694 
2695  @staticmethod
2696  def show_all(out):
2697  r"""show_all(_ostream out)"""
2698  return _IMP_kernel.StringKey_show_all(out)
2699 
2700  @staticmethod
2701  def get_all_strings():
2702  r"""get_all_strings() -> IMP::Vector< std::string >"""
2703  return _IMP_kernel.StringKey_get_all_strings()
2704 
2705  @staticmethod
2706  def get_number_unique():
2707  r"""get_number_unique() -> unsigned int"""
2708  return _IMP_kernel.StringKey_get_number_unique()
2709 
2710  def __str__(self):
2711  r"""__str__(StringKey self) -> std::string"""
2712  return _IMP_kernel.StringKey___str__(self)
2713 
2714  def __repr__(self):
2715  r"""__repr__(StringKey self) -> std::string"""
2716  return _IMP_kernel.StringKey___repr__(self)
2717  __swig_destroy__ = _IMP_kernel.delete_StringKey
2718 
2719 # Register StringKey in _IMP_kernel:
2720 _IMP_kernel.StringKey_swigregister(StringKey)
2721 class ParticleIndexKey(_Value):
2722  r"""Proxy of C++ IMP::Key< 3 > class."""
2723 
2724  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2725 
2726  def __init__(self, *args):
2727  r"""
2728  __init__(ParticleIndexKey self) -> ParticleIndexKey
2729  __init__(ParticleIndexKey self, std::string const & c, bool is_implicit_add_permitted=True) -> ParticleIndexKey
2730  __init__(ParticleIndexKey self, unsigned int i) -> ParticleIndexKey
2731  """
2732  _IMP_kernel.ParticleIndexKey_swiginit(self, _IMP_kernel.new_ParticleIndexKey(*args))
2733 
2734  @staticmethod
2735  def add_key(sc):
2736  r"""add_key(std::string sc) -> unsigned int"""
2737  return _IMP_kernel.ParticleIndexKey_add_key(sc)
2738 
2739  @staticmethod
2740  def get_key_exists(sc):
2741  r"""get_key_exists(std::string sc) -> bool"""
2742  return _IMP_kernel.ParticleIndexKey_get_key_exists(sc)
2743 
2744  def get_string(self):
2745  r"""get_string(ParticleIndexKey self) -> std::string const"""
2746  return _IMP_kernel.ParticleIndexKey_get_string(self)
2747 
2748  def __cmp__(self, o):
2749  r"""__cmp__(ParticleIndexKey self, ParticleIndexKey o) -> int"""
2750  return _IMP_kernel.ParticleIndexKey___cmp__(self, o)
2751 
2752  def __eq__(self, o):
2753  r"""__eq__(ParticleIndexKey self, ParticleIndexKey o) -> bool"""
2754  return _IMP_kernel.ParticleIndexKey___eq__(self, o)
2755 
2756  def __ne__(self, o):
2757  r"""__ne__(ParticleIndexKey self, ParticleIndexKey o) -> bool"""
2758  return _IMP_kernel.ParticleIndexKey___ne__(self, o)
2759 
2760  def __lt__(self, o):
2761  r"""__lt__(ParticleIndexKey self, ParticleIndexKey o) -> bool"""
2762  return _IMP_kernel.ParticleIndexKey___lt__(self, o)
2763 
2764  def __gt__(self, o):
2765  r"""__gt__(ParticleIndexKey self, ParticleIndexKey o) -> bool"""
2766  return _IMP_kernel.ParticleIndexKey___gt__(self, o)
2767 
2768  def __ge__(self, o):
2769  r"""__ge__(ParticleIndexKey self, ParticleIndexKey o) -> bool"""
2770  return _IMP_kernel.ParticleIndexKey___ge__(self, o)
2771 
2772  def __le__(self, o):
2773  r"""__le__(ParticleIndexKey self, ParticleIndexKey o) -> bool"""
2774  return _IMP_kernel.ParticleIndexKey___le__(self, o)
2775 
2776  def __hash__(self):
2777  r"""__hash__(ParticleIndexKey self) -> std::size_t"""
2778  return _IMP_kernel.ParticleIndexKey___hash__(self)
2779 
2780  def show(self, *args):
2781  r"""show(ParticleIndexKey self, _ostream out=std::cout)"""
2782  return _IMP_kernel.ParticleIndexKey_show(self, *args)
2783 
2784  @staticmethod
2785  def add_alias(old_key, new_name):
2786  r"""add_alias(ParticleIndexKey old_key, std::string new_name) -> ParticleIndexKey"""
2787  return _IMP_kernel.ParticleIndexKey_add_alias(old_key, new_name)
2788 
2789  @staticmethod
2790  def get_number_of_keys():
2791  r"""get_number_of_keys() -> unsigned int"""
2792  return _IMP_kernel.ParticleIndexKey_get_number_of_keys()
2793 
2794  def get_index(self):
2795  r"""get_index(ParticleIndexKey self) -> unsigned int"""
2796  return _IMP_kernel.ParticleIndexKey_get_index(self)
2797 
2798  @staticmethod
2799  def show_all(out):
2800  r"""show_all(_ostream out)"""
2801  return _IMP_kernel.ParticleIndexKey_show_all(out)
2802 
2803  @staticmethod
2804  def get_all_strings():
2805  r"""get_all_strings() -> IMP::Vector< std::string >"""
2806  return _IMP_kernel.ParticleIndexKey_get_all_strings()
2807 
2808  @staticmethod
2809  def get_number_unique():
2810  r"""get_number_unique() -> unsigned int"""
2811  return _IMP_kernel.ParticleIndexKey_get_number_unique()
2812 
2813  def __str__(self):
2814  r"""__str__(ParticleIndexKey self) -> std::string"""
2815  return _IMP_kernel.ParticleIndexKey___str__(self)
2816 
2817  def __repr__(self):
2818  r"""__repr__(ParticleIndexKey self) -> std::string"""
2819  return _IMP_kernel.ParticleIndexKey___repr__(self)
2820  __swig_destroy__ = _IMP_kernel.delete_ParticleIndexKey
2821 
2822 # Register ParticleIndexKey in _IMP_kernel:
2823 _IMP_kernel.ParticleIndexKey_swigregister(ParticleIndexKey)
2824 class ObjectKey(_Value):
2825  r"""Proxy of C++ IMP::Key< 4 > class."""
2826 
2827  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2828 
2829  def __init__(self, *args):
2830  r"""
2831  __init__(ObjectKey self) -> ObjectKey
2832  __init__(ObjectKey self, std::string const & c, bool is_implicit_add_permitted=True) -> ObjectKey
2833  __init__(ObjectKey self, unsigned int i) -> ObjectKey
2834  """
2835  _IMP_kernel.ObjectKey_swiginit(self, _IMP_kernel.new_ObjectKey(*args))
2836 
2837  @staticmethod
2838  def add_key(sc):
2839  r"""add_key(std::string sc) -> unsigned int"""
2840  return _IMP_kernel.ObjectKey_add_key(sc)
2841 
2842  @staticmethod
2843  def get_key_exists(sc):
2844  r"""get_key_exists(std::string sc) -> bool"""
2845  return _IMP_kernel.ObjectKey_get_key_exists(sc)
2846 
2847  def get_string(self):
2848  r"""get_string(ObjectKey self) -> std::string const"""
2849  return _IMP_kernel.ObjectKey_get_string(self)
2850 
2851  def __cmp__(self, o):
2852  r"""__cmp__(ObjectKey self, ObjectKey o) -> int"""
2853  return _IMP_kernel.ObjectKey___cmp__(self, o)
2854 
2855  def __eq__(self, o):
2856  r"""__eq__(ObjectKey self, ObjectKey o) -> bool"""
2857  return _IMP_kernel.ObjectKey___eq__(self, o)
2858 
2859  def __ne__(self, o):
2860  r"""__ne__(ObjectKey self, ObjectKey o) -> bool"""
2861  return _IMP_kernel.ObjectKey___ne__(self, o)
2862 
2863  def __lt__(self, o):
2864  r"""__lt__(ObjectKey self, ObjectKey o) -> bool"""
2865  return _IMP_kernel.ObjectKey___lt__(self, o)
2866 
2867  def __gt__(self, o):
2868  r"""__gt__(ObjectKey self, ObjectKey o) -> bool"""
2869  return _IMP_kernel.ObjectKey___gt__(self, o)
2870 
2871  def __ge__(self, o):
2872  r"""__ge__(ObjectKey self, ObjectKey o) -> bool"""
2873  return _IMP_kernel.ObjectKey___ge__(self, o)
2874 
2875  def __le__(self, o):
2876  r"""__le__(ObjectKey self, ObjectKey o) -> bool"""
2877  return _IMP_kernel.ObjectKey___le__(self, o)
2878 
2879  def __hash__(self):
2880  r"""__hash__(ObjectKey self) -> std::size_t"""
2881  return _IMP_kernel.ObjectKey___hash__(self)
2882 
2883  def show(self, *args):
2884  r"""show(ObjectKey self, _ostream out=std::cout)"""
2885  return _IMP_kernel.ObjectKey_show(self, *args)
2886 
2887  @staticmethod
2888  def add_alias(old_key, new_name):
2889  r"""add_alias(ObjectKey old_key, std::string new_name) -> ObjectKey"""
2890  return _IMP_kernel.ObjectKey_add_alias(old_key, new_name)
2891 
2892  @staticmethod
2893  def get_number_of_keys():
2894  r"""get_number_of_keys() -> unsigned int"""
2895  return _IMP_kernel.ObjectKey_get_number_of_keys()
2896 
2897  def get_index(self):
2898  r"""get_index(ObjectKey self) -> unsigned int"""
2899  return _IMP_kernel.ObjectKey_get_index(self)
2900 
2901  @staticmethod
2902  def show_all(out):
2903  r"""show_all(_ostream out)"""
2904  return _IMP_kernel.ObjectKey_show_all(out)
2905 
2906  @staticmethod
2907  def get_all_strings():
2908  r"""get_all_strings() -> IMP::Vector< std::string >"""
2909  return _IMP_kernel.ObjectKey_get_all_strings()
2910 
2911  @staticmethod
2912  def get_number_unique():
2913  r"""get_number_unique() -> unsigned int"""
2914  return _IMP_kernel.ObjectKey_get_number_unique()
2915 
2916  def __str__(self):
2917  r"""__str__(ObjectKey self) -> std::string"""
2918  return _IMP_kernel.ObjectKey___str__(self)
2919 
2920  def __repr__(self):
2921  r"""__repr__(ObjectKey self) -> std::string"""
2922  return _IMP_kernel.ObjectKey___repr__(self)
2923  __swig_destroy__ = _IMP_kernel.delete_ObjectKey
2924 
2925 # Register ObjectKey in _IMP_kernel:
2926 _IMP_kernel.ObjectKey_swigregister(ObjectKey)
2927 class IntsKey(_Value):
2928  r"""Proxy of C++ IMP::Key< 5 > class."""
2929 
2930  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2931 
2932  def __init__(self, *args):
2933  r"""
2934  __init__(IntsKey self) -> IntsKey
2935  __init__(IntsKey self, std::string const & c, bool is_implicit_add_permitted=True) -> IntsKey
2936  __init__(IntsKey self, unsigned int i) -> IntsKey
2937  """
2938  _IMP_kernel.IntsKey_swiginit(self, _IMP_kernel.new_IntsKey(*args))
2939 
2940  @staticmethod
2941  def add_key(sc):
2942  r"""add_key(std::string sc) -> unsigned int"""
2943  return _IMP_kernel.IntsKey_add_key(sc)
2944 
2945  @staticmethod
2946  def get_key_exists(sc):
2947  r"""get_key_exists(std::string sc) -> bool"""
2948  return _IMP_kernel.IntsKey_get_key_exists(sc)
2949 
2950  def get_string(self):
2951  r"""get_string(IntsKey self) -> std::string const"""
2952  return _IMP_kernel.IntsKey_get_string(self)
2953 
2954  def __cmp__(self, o):
2955  r"""__cmp__(IntsKey self, IntsKey o) -> int"""
2956  return _IMP_kernel.IntsKey___cmp__(self, o)
2957 
2958  def __eq__(self, o):
2959  r"""__eq__(IntsKey self, IntsKey o) -> bool"""
2960  return _IMP_kernel.IntsKey___eq__(self, o)
2961 
2962  def __ne__(self, o):
2963  r"""__ne__(IntsKey self, IntsKey o) -> bool"""
2964  return _IMP_kernel.IntsKey___ne__(self, o)
2965 
2966  def __lt__(self, o):
2967  r"""__lt__(IntsKey self, IntsKey o) -> bool"""
2968  return _IMP_kernel.IntsKey___lt__(self, o)
2969 
2970  def __gt__(self, o):
2971  r"""__gt__(IntsKey self, IntsKey o) -> bool"""
2972  return _IMP_kernel.IntsKey___gt__(self, o)
2973 
2974  def __ge__(self, o):
2975  r"""__ge__(IntsKey self, IntsKey o) -> bool"""
2976  return _IMP_kernel.IntsKey___ge__(self, o)
2977 
2978  def __le__(self, o):
2979  r"""__le__(IntsKey self, IntsKey o) -> bool"""
2980  return _IMP_kernel.IntsKey___le__(self, o)
2981 
2982  def __hash__(self):
2983  r"""__hash__(IntsKey self) -> std::size_t"""
2984  return _IMP_kernel.IntsKey___hash__(self)
2985 
2986  def show(self, *args):
2987  r"""show(IntsKey self, _ostream out=std::cout)"""
2988  return _IMP_kernel.IntsKey_show(self, *args)
2989 
2990  @staticmethod
2991  def add_alias(old_key, new_name):
2992  r"""add_alias(IntsKey old_key, std::string new_name) -> IntsKey"""
2993  return _IMP_kernel.IntsKey_add_alias(old_key, new_name)
2994 
2995  @staticmethod
2996  def get_number_of_keys():
2997  r"""get_number_of_keys() -> unsigned int"""
2998  return _IMP_kernel.IntsKey_get_number_of_keys()
2999 
3000  def get_index(self):
3001  r"""get_index(IntsKey self) -> unsigned int"""
3002  return _IMP_kernel.IntsKey_get_index(self)
3003 
3004  @staticmethod
3005  def show_all(out):
3006  r"""show_all(_ostream out)"""
3007  return _IMP_kernel.IntsKey_show_all(out)
3008 
3009  @staticmethod
3010  def get_all_strings():
3011  r"""get_all_strings() -> IMP::Vector< std::string >"""
3012  return _IMP_kernel.IntsKey_get_all_strings()
3013 
3014  @staticmethod
3015  def get_number_unique():
3016  r"""get_number_unique() -> unsigned int"""
3017  return _IMP_kernel.IntsKey_get_number_unique()
3018 
3019  def __str__(self):
3020  r"""__str__(IntsKey self) -> std::string"""
3021  return _IMP_kernel.IntsKey___str__(self)
3022 
3023  def __repr__(self):
3024  r"""__repr__(IntsKey self) -> std::string"""
3025  return _IMP_kernel.IntsKey___repr__(self)
3026  __swig_destroy__ = _IMP_kernel.delete_IntsKey
3027 
3028 # Register IntsKey in _IMP_kernel:
3029 _IMP_kernel.IntsKey_swigregister(IntsKey)
3030 class ParticleIndexesKey(_Value):
3031  r"""Proxy of C++ IMP::Key< 6 > class."""
3032 
3033  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3034 
3035  def __init__(self, *args):
3036  r"""
3037  __init__(ParticleIndexesKey self) -> ParticleIndexesKey
3038  __init__(ParticleIndexesKey self, std::string const & c, bool is_implicit_add_permitted=True) -> ParticleIndexesKey
3039  __init__(ParticleIndexesKey self, unsigned int i) -> ParticleIndexesKey
3040  """
3041  _IMP_kernel.ParticleIndexesKey_swiginit(self, _IMP_kernel.new_ParticleIndexesKey(*args))
3042 
3043  @staticmethod
3044  def add_key(sc):
3045  r"""add_key(std::string sc) -> unsigned int"""
3046  return _IMP_kernel.ParticleIndexesKey_add_key(sc)
3047 
3048  @staticmethod
3049  def get_key_exists(sc):
3050  r"""get_key_exists(std::string sc) -> bool"""
3051  return _IMP_kernel.ParticleIndexesKey_get_key_exists(sc)
3052 
3053  def get_string(self):
3054  r"""get_string(ParticleIndexesKey self) -> std::string const"""
3055  return _IMP_kernel.ParticleIndexesKey_get_string(self)
3056 
3057  def __cmp__(self, o):
3058  r"""__cmp__(ParticleIndexesKey self, ParticleIndexesKey o) -> int"""
3059  return _IMP_kernel.ParticleIndexesKey___cmp__(self, o)
3060 
3061  def __eq__(self, o):
3062  r"""__eq__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool"""
3063  return _IMP_kernel.ParticleIndexesKey___eq__(self, o)
3064 
3065  def __ne__(self, o):
3066  r"""__ne__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool"""
3067  return _IMP_kernel.ParticleIndexesKey___ne__(self, o)
3068 
3069  def __lt__(self, o):
3070  r"""__lt__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool"""
3071  return _IMP_kernel.ParticleIndexesKey___lt__(self, o)
3072 
3073  def __gt__(self, o):
3074  r"""__gt__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool"""
3075  return _IMP_kernel.ParticleIndexesKey___gt__(self, o)
3076 
3077  def __ge__(self, o):
3078  r"""__ge__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool"""
3079  return _IMP_kernel.ParticleIndexesKey___ge__(self, o)
3080 
3081  def __le__(self, o):
3082  r"""__le__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool"""
3083  return _IMP_kernel.ParticleIndexesKey___le__(self, o)
3084 
3085  def __hash__(self):
3086  r"""__hash__(ParticleIndexesKey self) -> std::size_t"""
3087  return _IMP_kernel.ParticleIndexesKey___hash__(self)
3088 
3089  def show(self, *args):
3090  r"""show(ParticleIndexesKey self, _ostream out=std::cout)"""
3091  return _IMP_kernel.ParticleIndexesKey_show(self, *args)
3092 
3093  @staticmethod
3094  def add_alias(old_key, new_name):
3095  r"""add_alias(ParticleIndexesKey old_key, std::string new_name) -> ParticleIndexesKey"""
3096  return _IMP_kernel.ParticleIndexesKey_add_alias(old_key, new_name)
3097 
3098  @staticmethod
3099  def get_number_of_keys():
3100  r"""get_number_of_keys() -> unsigned int"""
3101  return _IMP_kernel.ParticleIndexesKey_get_number_of_keys()
3102 
3103  def get_index(self):
3104  r"""get_index(ParticleIndexesKey self) -> unsigned int"""
3105  return _IMP_kernel.ParticleIndexesKey_get_index(self)
3106 
3107  @staticmethod
3108  def show_all(out):
3109  r"""show_all(_ostream out)"""
3110  return _IMP_kernel.ParticleIndexesKey_show_all(out)
3111 
3112  @staticmethod
3113  def get_all_strings():
3114  r"""get_all_strings() -> IMP::Vector< std::string >"""
3115  return _IMP_kernel.ParticleIndexesKey_get_all_strings()
3116 
3117  @staticmethod
3118  def get_number_unique():
3119  r"""get_number_unique() -> unsigned int"""
3120  return _IMP_kernel.ParticleIndexesKey_get_number_unique()
3121 
3122  def __str__(self):
3123  r"""__str__(ParticleIndexesKey self) -> std::string"""
3124  return _IMP_kernel.ParticleIndexesKey___str__(self)
3125 
3126  def __repr__(self):
3127  r"""__repr__(ParticleIndexesKey self) -> std::string"""
3128  return _IMP_kernel.ParticleIndexesKey___repr__(self)
3129  __swig_destroy__ = _IMP_kernel.delete_ParticleIndexesKey
3130 
3131 # Register ParticleIndexesKey in _IMP_kernel:
3132 _IMP_kernel.ParticleIndexesKey_swigregister(ParticleIndexesKey)
3133 class ModelKey(_Value):
3134  r"""Proxy of C++ IMP::Key< 8 > class."""
3135 
3136  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3137 
3138  def __init__(self, *args):
3139  r"""
3140  __init__(ModelKey self) -> ModelKey
3141  __init__(ModelKey self, std::string const & c, bool is_implicit_add_permitted=True) -> ModelKey
3142  __init__(ModelKey self, unsigned int i) -> ModelKey
3143  """
3144  _IMP_kernel.ModelKey_swiginit(self, _IMP_kernel.new_ModelKey(*args))
3145 
3146  @staticmethod
3147  def add_key(sc):
3148  r"""add_key(std::string sc) -> unsigned int"""
3149  return _IMP_kernel.ModelKey_add_key(sc)
3150 
3151  @staticmethod
3152  def get_key_exists(sc):
3153  r"""get_key_exists(std::string sc) -> bool"""
3154  return _IMP_kernel.ModelKey_get_key_exists(sc)
3155 
3156  def get_string(self):
3157  r"""get_string(ModelKey self) -> std::string const"""
3158  return _IMP_kernel.ModelKey_get_string(self)
3159 
3160  def __cmp__(self, o):
3161  r"""__cmp__(ModelKey self, ModelKey o) -> int"""
3162  return _IMP_kernel.ModelKey___cmp__(self, o)
3163 
3164  def __eq__(self, o):
3165  r"""__eq__(ModelKey self, ModelKey o) -> bool"""
3166  return _IMP_kernel.ModelKey___eq__(self, o)
3167 
3168  def __ne__(self, o):
3169  r"""__ne__(ModelKey self, ModelKey o) -> bool"""
3170  return _IMP_kernel.ModelKey___ne__(self, o)
3171 
3172  def __lt__(self, o):
3173  r"""__lt__(ModelKey self, ModelKey o) -> bool"""
3174  return _IMP_kernel.ModelKey___lt__(self, o)
3175 
3176  def __gt__(self, o):
3177  r"""__gt__(ModelKey self, ModelKey o) -> bool"""
3178  return _IMP_kernel.ModelKey___gt__(self, o)
3179 
3180  def __ge__(self, o):
3181  r"""__ge__(ModelKey self, ModelKey o) -> bool"""
3182  return _IMP_kernel.ModelKey___ge__(self, o)
3183 
3184  def __le__(self, o):
3185  r"""__le__(ModelKey self, ModelKey o) -> bool"""
3186  return _IMP_kernel.ModelKey___le__(self, o)
3187 
3188  def __hash__(self):
3189  r"""__hash__(ModelKey self) -> std::size_t"""
3190  return _IMP_kernel.ModelKey___hash__(self)
3191 
3192  def show(self, *args):
3193  r"""show(ModelKey self, _ostream out=std::cout)"""
3194  return _IMP_kernel.ModelKey_show(self, *args)
3195 
3196  @staticmethod
3197  def add_alias(old_key, new_name):
3198  r"""add_alias(ModelKey old_key, std::string new_name) -> ModelKey"""
3199  return _IMP_kernel.ModelKey_add_alias(old_key, new_name)
3200 
3201  @staticmethod
3202  def get_number_of_keys():
3203  r"""get_number_of_keys() -> unsigned int"""
3204  return _IMP_kernel.ModelKey_get_number_of_keys()
3205 
3206  def get_index(self):
3207  r"""get_index(ModelKey self) -> unsigned int"""
3208  return _IMP_kernel.ModelKey_get_index(self)
3209 
3210  @staticmethod
3211  def show_all(out):
3212  r"""show_all(_ostream out)"""
3213  return _IMP_kernel.ModelKey_show_all(out)
3214 
3215  @staticmethod
3216  def get_all_strings():
3217  r"""get_all_strings() -> IMP::Vector< std::string >"""
3218  return _IMP_kernel.ModelKey_get_all_strings()
3219 
3220  @staticmethod
3221  def get_number_unique():
3222  r"""get_number_unique() -> unsigned int"""
3223  return _IMP_kernel.ModelKey_get_number_unique()
3224 
3225  def __str__(self):
3226  r"""__str__(ModelKey self) -> std::string"""
3227  return _IMP_kernel.ModelKey___str__(self)
3228 
3229  def __repr__(self):
3230  r"""__repr__(ModelKey self) -> std::string"""
3231  return _IMP_kernel.ModelKey___repr__(self)
3232  __swig_destroy__ = _IMP_kernel.delete_ModelKey
3233 
3234 # Register ModelKey in _IMP_kernel:
3235 _IMP_kernel.ModelKey_swigregister(ModelKey)
3236 class TriggerKey(_Value):
3237  r"""Proxy of C++ IMP::Key< 11 > class."""
3238 
3239  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3240 
3241  def __init__(self, *args):
3242  r"""
3243  __init__(TriggerKey self) -> TriggerKey
3244  __init__(TriggerKey self, std::string const & c, bool is_implicit_add_permitted=True) -> TriggerKey
3245  __init__(TriggerKey self, unsigned int i) -> TriggerKey
3246  """
3247  _IMP_kernel.TriggerKey_swiginit(self, _IMP_kernel.new_TriggerKey(*args))
3248 
3249  @staticmethod
3250  def add_key(sc):
3251  r"""add_key(std::string sc) -> unsigned int"""
3252  return _IMP_kernel.TriggerKey_add_key(sc)
3253 
3254  @staticmethod
3255  def get_key_exists(sc):
3256  r"""get_key_exists(std::string sc) -> bool"""
3257  return _IMP_kernel.TriggerKey_get_key_exists(sc)
3258 
3259  def get_string(self):
3260  r"""get_string(TriggerKey self) -> std::string const"""
3261  return _IMP_kernel.TriggerKey_get_string(self)
3262 
3263  def __cmp__(self, o):
3264  r"""__cmp__(TriggerKey self, TriggerKey o) -> int"""
3265  return _IMP_kernel.TriggerKey___cmp__(self, o)
3266 
3267  def __eq__(self, o):
3268  r"""__eq__(TriggerKey self, TriggerKey o) -> bool"""
3269  return _IMP_kernel.TriggerKey___eq__(self, o)
3270 
3271  def __ne__(self, o):
3272  r"""__ne__(TriggerKey self, TriggerKey o) -> bool"""
3273  return _IMP_kernel.TriggerKey___ne__(self, o)
3274 
3275  def __lt__(self, o):
3276  r"""__lt__(TriggerKey self, TriggerKey o) -> bool"""
3277  return _IMP_kernel.TriggerKey___lt__(self, o)
3278 
3279  def __gt__(self, o):
3280  r"""__gt__(TriggerKey self, TriggerKey o) -> bool"""
3281  return _IMP_kernel.TriggerKey___gt__(self, o)
3282 
3283  def __ge__(self, o):
3284  r"""__ge__(TriggerKey self, TriggerKey o) -> bool"""
3285  return _IMP_kernel.TriggerKey___ge__(self, o)
3286 
3287  def __le__(self, o):
3288  r"""__le__(TriggerKey self, TriggerKey o) -> bool"""
3289  return _IMP_kernel.TriggerKey___le__(self, o)
3290 
3291  def __hash__(self):
3292  r"""__hash__(TriggerKey self) -> std::size_t"""
3293  return _IMP_kernel.TriggerKey___hash__(self)
3294 
3295  def show(self, *args):
3296  r"""show(TriggerKey self, _ostream out=std::cout)"""
3297  return _IMP_kernel.TriggerKey_show(self, *args)
3298 
3299  @staticmethod
3300  def add_alias(old_key, new_name):
3301  r"""add_alias(TriggerKey old_key, std::string new_name) -> TriggerKey"""
3302  return _IMP_kernel.TriggerKey_add_alias(old_key, new_name)
3303 
3304  @staticmethod
3305  def get_number_of_keys():
3306  r"""get_number_of_keys() -> unsigned int"""
3307  return _IMP_kernel.TriggerKey_get_number_of_keys()
3308 
3309  def get_index(self):
3310  r"""get_index(TriggerKey self) -> unsigned int"""
3311  return _IMP_kernel.TriggerKey_get_index(self)
3312 
3313  @staticmethod
3314  def show_all(out):
3315  r"""show_all(_ostream out)"""
3316  return _IMP_kernel.TriggerKey_show_all(out)
3317 
3318  @staticmethod
3319  def get_all_strings():
3320  r"""get_all_strings() -> IMP::Vector< std::string >"""
3321  return _IMP_kernel.TriggerKey_get_all_strings()
3322 
3323  @staticmethod
3324  def get_number_unique():
3325  r"""get_number_unique() -> unsigned int"""
3326  return _IMP_kernel.TriggerKey_get_number_unique()
3327 
3328  def __str__(self):
3329  r"""__str__(TriggerKey self) -> std::string"""
3330  return _IMP_kernel.TriggerKey___str__(self)
3331 
3332  def __repr__(self):
3333  r"""__repr__(TriggerKey self) -> std::string"""
3334  return _IMP_kernel.TriggerKey___repr__(self)
3335  __swig_destroy__ = _IMP_kernel.delete_TriggerKey
3336 
3337 # Register TriggerKey in _IMP_kernel:
3338 _IMP_kernel.TriggerKey_swigregister(TriggerKey)
3339 class ParticleIndex(object):
3340  r"""Proxy of C++ IMP::Index< IMP::ParticleIndexTag > class."""
3341 
3342  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3343 
3344  def __init__(self, *args):
3345  r"""
3346  __init__(ParticleIndex self, int i) -> ParticleIndex
3347  __init__(ParticleIndex self) -> ParticleIndex
3348  """
3349  _IMP_kernel.ParticleIndex_swiginit(self, _IMP_kernel.new_ParticleIndex(*args))
3350 
3351  def get_index(self):
3352  r"""get_index(ParticleIndex self) -> int"""
3353  return _IMP_kernel.ParticleIndex_get_index(self)
3354 
3355  def __cmp__(self, o):
3356  r"""__cmp__(ParticleIndex self, ParticleIndex o) -> int"""
3357  return _IMP_kernel.ParticleIndex___cmp__(self, o)
3358 
3359  def __eq__(self, o):
3360  r"""__eq__(ParticleIndex self, ParticleIndex o) -> bool"""
3361  return _IMP_kernel.ParticleIndex___eq__(self, o)
3362 
3363  def __ne__(self, o):
3364  r"""__ne__(ParticleIndex self, ParticleIndex o) -> bool"""
3365  return _IMP_kernel.ParticleIndex___ne__(self, o)
3366 
3367  def __lt__(self, o):
3368  r"""__lt__(ParticleIndex self, ParticleIndex o) -> bool"""
3369  return _IMP_kernel.ParticleIndex___lt__(self, o)
3370 
3371  def __gt__(self, o):
3372  r"""__gt__(ParticleIndex self, ParticleIndex o) -> bool"""
3373  return _IMP_kernel.ParticleIndex___gt__(self, o)
3374 
3375  def __ge__(self, o):
3376  r"""__ge__(ParticleIndex self, ParticleIndex o) -> bool"""
3377  return _IMP_kernel.ParticleIndex___ge__(self, o)
3378 
3379  def __le__(self, o):
3380  r"""__le__(ParticleIndex self, ParticleIndex o) -> bool"""
3381  return _IMP_kernel.ParticleIndex___le__(self, o)
3382 
3383  def show(self, *args):
3384  r"""show(ParticleIndex self, _ostream out=std::cout)"""
3385  return _IMP_kernel.ParticleIndex_show(self, *args)
3386 
3387  def __hash__(self):
3388  r"""__hash__(ParticleIndex self) -> std::size_t"""
3389  return _IMP_kernel.ParticleIndex___hash__(self)
3390 
3391  def __str__(self):
3392  r"""__str__(ParticleIndex self) -> std::string"""
3393  return _IMP_kernel.ParticleIndex___str__(self)
3394 
3395  def __repr__(self):
3396  r"""__repr__(ParticleIndex self) -> std::string"""
3397  return _IMP_kernel.ParticleIndex___repr__(self)
3398  __swig_destroy__ = _IMP_kernel.delete_ParticleIndex
3399 
3400 # Register ParticleIndex in _IMP_kernel:
3401 _IMP_kernel.ParticleIndex_swigregister(ParticleIndex)
3402 class FloatsKey(_Value):
3403  r"""Proxy of C++ IMP::Key< 10 > class."""
3404 
3405  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3406 
3407  def __init__(self, *args):
3408  r"""
3409  __init__(FloatsKey self) -> FloatsKey
3410  __init__(FloatsKey self, std::string const & c, bool is_implicit_add_permitted=True) -> FloatsKey
3411  __init__(FloatsKey self, unsigned int i) -> FloatsKey
3412  """
3413  _IMP_kernel.FloatsKey_swiginit(self, _IMP_kernel.new_FloatsKey(*args))
3414 
3415  @staticmethod
3416  def add_key(sc):
3417  r"""add_key(std::string sc) -> unsigned int"""
3418  return _IMP_kernel.FloatsKey_add_key(sc)
3419 
3420  @staticmethod
3421  def get_key_exists(sc):
3422  r"""get_key_exists(std::string sc) -> bool"""
3423  return _IMP_kernel.FloatsKey_get_key_exists(sc)
3424 
3425  def get_string(self):
3426  r"""get_string(FloatsKey self) -> std::string const"""
3427  return _IMP_kernel.FloatsKey_get_string(self)
3428 
3429  def __cmp__(self, o):
3430  r"""__cmp__(FloatsKey self, FloatsKey o) -> int"""
3431  return _IMP_kernel.FloatsKey___cmp__(self, o)
3432 
3433  def __eq__(self, o):
3434  r"""__eq__(FloatsKey self, FloatsKey o) -> bool"""
3435  return _IMP_kernel.FloatsKey___eq__(self, o)
3436 
3437  def __ne__(self, o):
3438  r"""__ne__(FloatsKey self, FloatsKey o) -> bool"""
3439  return _IMP_kernel.FloatsKey___ne__(self, o)
3440 
3441  def __lt__(self, o):
3442  r"""__lt__(FloatsKey self, FloatsKey o) -> bool"""
3443  return _IMP_kernel.FloatsKey___lt__(self, o)
3444 
3445  def __gt__(self, o):
3446  r"""__gt__(FloatsKey self, FloatsKey o) -> bool"""
3447  return _IMP_kernel.FloatsKey___gt__(self, o)
3448 
3449  def __ge__(self, o):
3450  r"""__ge__(FloatsKey self, FloatsKey o) -> bool"""
3451  return _IMP_kernel.FloatsKey___ge__(self, o)
3452 
3453  def __le__(self, o):
3454  r"""__le__(FloatsKey self, FloatsKey o) -> bool"""
3455  return _IMP_kernel.FloatsKey___le__(self, o)
3456 
3457  def __hash__(self):
3458  r"""__hash__(FloatsKey self) -> std::size_t"""
3459  return _IMP_kernel.FloatsKey___hash__(self)
3460 
3461  def show(self, *args):
3462  r"""show(FloatsKey self, _ostream out=std::cout)"""
3463  return _IMP_kernel.FloatsKey_show(self, *args)
3464 
3465  @staticmethod
3466  def add_alias(old_key, new_name):
3467  r"""add_alias(FloatsKey old_key, std::string new_name) -> FloatsKey"""
3468  return _IMP_kernel.FloatsKey_add_alias(old_key, new_name)
3469 
3470  @staticmethod
3471  def get_number_of_keys():
3472  r"""get_number_of_keys() -> unsigned int"""
3473  return _IMP_kernel.FloatsKey_get_number_of_keys()
3474 
3475  def get_index(self):
3476  r"""get_index(FloatsKey self) -> unsigned int"""
3477  return _IMP_kernel.FloatsKey_get_index(self)
3478 
3479  @staticmethod
3480  def show_all(out):
3481  r"""show_all(_ostream out)"""
3482  return _IMP_kernel.FloatsKey_show_all(out)
3483 
3484  @staticmethod
3485  def get_all_strings():
3486  r"""get_all_strings() -> IMP::Vector< std::string >"""
3487  return _IMP_kernel.FloatsKey_get_all_strings()
3488 
3489  @staticmethod
3490  def get_number_unique():
3491  r"""get_number_unique() -> unsigned int"""
3492  return _IMP_kernel.FloatsKey_get_number_unique()
3493 
3494  def __str__(self):
3495  r"""__str__(FloatsKey self) -> std::string"""
3496  return _IMP_kernel.FloatsKey___str__(self)
3497 
3498  def __repr__(self):
3499  r"""__repr__(FloatsKey self) -> std::string"""
3500  return _IMP_kernel.FloatsKey___repr__(self)
3501  __swig_destroy__ = _IMP_kernel.delete_FloatsKey
3502 
3503 # Register FloatsKey in _IMP_kernel:
3504 _IMP_kernel.FloatsKey_swigregister(FloatsKey)
3505 class SparseStringKey(_Value):
3506  r"""Proxy of C++ IMP::Key< 12 > class."""
3507 
3508  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3509 
3510  def __init__(self, *args):
3511  r"""
3512  __init__(SparseStringKey self) -> SparseStringKey
3513  __init__(SparseStringKey self, std::string const & c, bool is_implicit_add_permitted=True) -> SparseStringKey
3514  __init__(SparseStringKey self, unsigned int i) -> SparseStringKey
3515  """
3516  _IMP_kernel.SparseStringKey_swiginit(self, _IMP_kernel.new_SparseStringKey(*args))
3517 
3518  @staticmethod
3519  def add_key(sc):
3520  r"""add_key(std::string sc) -> unsigned int"""
3521  return _IMP_kernel.SparseStringKey_add_key(sc)
3522 
3523  @staticmethod
3524  def get_key_exists(sc):
3525  r"""get_key_exists(std::string sc) -> bool"""
3526  return _IMP_kernel.SparseStringKey_get_key_exists(sc)
3527 
3528  def get_string(self):
3529  r"""get_string(SparseStringKey self) -> std::string const"""
3530  return _IMP_kernel.SparseStringKey_get_string(self)
3531 
3532  def __cmp__(self, o):
3533  r"""__cmp__(SparseStringKey self, SparseStringKey o) -> int"""
3534  return _IMP_kernel.SparseStringKey___cmp__(self, o)
3535 
3536  def __eq__(self, o):
3537  r"""__eq__(SparseStringKey self, SparseStringKey o) -> bool"""
3538  return _IMP_kernel.SparseStringKey___eq__(self, o)
3539 
3540  def __ne__(self, o):
3541  r"""__ne__(SparseStringKey self, SparseStringKey o) -> bool"""
3542  return _IMP_kernel.SparseStringKey___ne__(self, o)
3543 
3544  def __lt__(self, o):
3545  r"""__lt__(SparseStringKey self, SparseStringKey o) -> bool"""
3546  return _IMP_kernel.SparseStringKey___lt__(self, o)
3547 
3548  def __gt__(self, o):
3549  r"""__gt__(SparseStringKey self, SparseStringKey o) -> bool"""
3550  return _IMP_kernel.SparseStringKey___gt__(self, o)
3551 
3552  def __ge__(self, o):
3553  r"""__ge__(SparseStringKey self, SparseStringKey o) -> bool"""
3554  return _IMP_kernel.SparseStringKey___ge__(self, o)
3555 
3556  def __le__(self, o):
3557  r"""__le__(SparseStringKey self, SparseStringKey o) -> bool"""
3558  return _IMP_kernel.SparseStringKey___le__(self, o)
3559 
3560  def __hash__(self):
3561  r"""__hash__(SparseStringKey self) -> std::size_t"""
3562  return _IMP_kernel.SparseStringKey___hash__(self)
3563 
3564  def show(self, *args):
3565  r"""show(SparseStringKey self, _ostream out=std::cout)"""
3566  return _IMP_kernel.SparseStringKey_show(self, *args)
3567 
3568  @staticmethod
3569  def add_alias(old_key, new_name):
3570  r"""add_alias(SparseStringKey old_key, std::string new_name) -> SparseStringKey"""
3571  return _IMP_kernel.SparseStringKey_add_alias(old_key, new_name)
3572 
3573  @staticmethod
3574  def get_number_of_keys():
3575  r"""get_number_of_keys() -> unsigned int"""
3576  return _IMP_kernel.SparseStringKey_get_number_of_keys()
3577 
3578  def get_index(self):
3579  r"""get_index(SparseStringKey self) -> unsigned int"""
3580  return _IMP_kernel.SparseStringKey_get_index(self)
3581 
3582  @staticmethod
3583  def show_all(out):
3584  r"""show_all(_ostream out)"""
3585  return _IMP_kernel.SparseStringKey_show_all(out)
3586 
3587  @staticmethod
3588  def get_all_strings():
3589  r"""get_all_strings() -> IMP::Vector< std::string >"""
3590  return _IMP_kernel.SparseStringKey_get_all_strings()
3591 
3592  @staticmethod
3593  def get_number_unique():
3594  r"""get_number_unique() -> unsigned int"""
3595  return _IMP_kernel.SparseStringKey_get_number_unique()
3596 
3597  def __str__(self):
3598  r"""__str__(SparseStringKey self) -> std::string"""
3599  return _IMP_kernel.SparseStringKey___str__(self)
3600 
3601  def __repr__(self):
3602  r"""__repr__(SparseStringKey self) -> std::string"""
3603  return _IMP_kernel.SparseStringKey___repr__(self)
3604  __swig_destroy__ = _IMP_kernel.delete_SparseStringKey
3605 
3606 # Register SparseStringKey in _IMP_kernel:
3607 _IMP_kernel.SparseStringKey_swigregister(SparseStringKey)
3608 class SparseIntKey(_Value):
3609  r"""Proxy of C++ IMP::Key< 13 > class."""
3610 
3611  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3612 
3613  def __init__(self, *args):
3614  r"""
3615  __init__(SparseIntKey self) -> SparseIntKey
3616  __init__(SparseIntKey self, std::string const & c, bool is_implicit_add_permitted=True) -> SparseIntKey
3617  __init__(SparseIntKey self, unsigned int i) -> SparseIntKey
3618  """
3619  _IMP_kernel.SparseIntKey_swiginit(self, _IMP_kernel.new_SparseIntKey(*args))
3620 
3621  @staticmethod
3622  def add_key(sc):
3623  r"""add_key(std::string sc) -> unsigned int"""
3624  return _IMP_kernel.SparseIntKey_add_key(sc)
3625 
3626  @staticmethod
3627  def get_key_exists(sc):
3628  r"""get_key_exists(std::string sc) -> bool"""
3629  return _IMP_kernel.SparseIntKey_get_key_exists(sc)
3630 
3631  def get_string(self):
3632  r"""get_string(SparseIntKey self) -> std::string const"""
3633  return _IMP_kernel.SparseIntKey_get_string(self)
3634 
3635  def __cmp__(self, o):
3636  r"""__cmp__(SparseIntKey self, SparseIntKey o) -> int"""
3637  return _IMP_kernel.SparseIntKey___cmp__(self, o)
3638 
3639  def __eq__(self, o):
3640  r"""__eq__(SparseIntKey self, SparseIntKey o) -> bool"""
3641  return _IMP_kernel.SparseIntKey___eq__(self, o)
3642 
3643  def __ne__(self, o):
3644  r"""__ne__(SparseIntKey self, SparseIntKey o) -> bool"""
3645  return _IMP_kernel.SparseIntKey___ne__(self, o)
3646 
3647  def __lt__(self, o):
3648  r"""__lt__(SparseIntKey self, SparseIntKey o) -> bool"""
3649  return _IMP_kernel.SparseIntKey___lt__(self, o)
3650 
3651  def __gt__(self, o):
3652  r"""__gt__(SparseIntKey self, SparseIntKey o) -> bool"""
3653  return _IMP_kernel.SparseIntKey___gt__(self, o)
3654 
3655  def __ge__(self, o):
3656  r"""__ge__(SparseIntKey self, SparseIntKey o) -> bool"""
3657  return _IMP_kernel.SparseIntKey___ge__(self, o)
3658 
3659  def __le__(self, o):
3660  r"""__le__(SparseIntKey self, SparseIntKey o) -> bool"""
3661  return _IMP_kernel.SparseIntKey___le__(self, o)
3662 
3663  def __hash__(self):
3664  r"""__hash__(SparseIntKey self) -> std::size_t"""
3665  return _IMP_kernel.SparseIntKey___hash__(self)
3666 
3667  def show(self, *args):
3668  r"""show(SparseIntKey self, _ostream out=std::cout)"""
3669  return _IMP_kernel.SparseIntKey_show(self, *args)
3670 
3671  @staticmethod
3672  def add_alias(old_key, new_name):
3673  r"""add_alias(SparseIntKey old_key, std::string new_name) -> SparseIntKey"""
3674  return _IMP_kernel.SparseIntKey_add_alias(old_key, new_name)
3675 
3676  @staticmethod
3677  def get_number_of_keys():
3678  r"""get_number_of_keys() -> unsigned int"""
3679  return _IMP_kernel.SparseIntKey_get_number_of_keys()
3680 
3681  def get_index(self):
3682  r"""get_index(SparseIntKey self) -> unsigned int"""
3683  return _IMP_kernel.SparseIntKey_get_index(self)
3684 
3685  @staticmethod
3686  def show_all(out):
3687  r"""show_all(_ostream out)"""
3688  return _IMP_kernel.SparseIntKey_show_all(out)
3689 
3690  @staticmethod
3691  def get_all_strings():
3692  r"""get_all_strings() -> IMP::Vector< std::string >"""
3693  return _IMP_kernel.SparseIntKey_get_all_strings()
3694 
3695  @staticmethod
3696  def get_number_unique():
3697  r"""get_number_unique() -> unsigned int"""
3698  return _IMP_kernel.SparseIntKey_get_number_unique()
3699 
3700  def __str__(self):
3701  r"""__str__(SparseIntKey self) -> std::string"""
3702  return _IMP_kernel.SparseIntKey___str__(self)
3703 
3704  def __repr__(self):
3705  r"""__repr__(SparseIntKey self) -> std::string"""
3706  return _IMP_kernel.SparseIntKey___repr__(self)
3707  __swig_destroy__ = _IMP_kernel.delete_SparseIntKey
3708 
3709 # Register SparseIntKey in _IMP_kernel:
3710 _IMP_kernel.SparseIntKey_swigregister(SparseIntKey)
3711 class SparseFloatKey(_Value):
3712  r"""Proxy of C++ IMP::Key< 14 > class."""
3713 
3714  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3715 
3716  def __init__(self, *args):
3717  r"""
3718  __init__(SparseFloatKey self) -> SparseFloatKey
3719  __init__(SparseFloatKey self, std::string const & c, bool is_implicit_add_permitted=True) -> SparseFloatKey
3720  __init__(SparseFloatKey self, unsigned int i) -> SparseFloatKey
3721  """
3722  _IMP_kernel.SparseFloatKey_swiginit(self, _IMP_kernel.new_SparseFloatKey(*args))
3723 
3724  @staticmethod
3725  def add_key(sc):
3726  r"""add_key(std::string sc) -> unsigned int"""
3727  return _IMP_kernel.SparseFloatKey_add_key(sc)
3728 
3729  @staticmethod
3730  def get_key_exists(sc):
3731  r"""get_key_exists(std::string sc) -> bool"""
3732  return _IMP_kernel.SparseFloatKey_get_key_exists(sc)
3733 
3734  def get_string(self):
3735  r"""get_string(SparseFloatKey self) -> std::string const"""
3736  return _IMP_kernel.SparseFloatKey_get_string(self)
3737 
3738  def __cmp__(self, o):
3739  r"""__cmp__(SparseFloatKey self, SparseFloatKey o) -> int"""
3740  return _IMP_kernel.SparseFloatKey___cmp__(self, o)
3741 
3742  def __eq__(self, o):
3743  r"""__eq__(SparseFloatKey self, SparseFloatKey o) -> bool"""
3744  return _IMP_kernel.SparseFloatKey___eq__(self, o)
3745 
3746  def __ne__(self, o):
3747  r"""__ne__(SparseFloatKey self, SparseFloatKey o) -> bool"""
3748  return _IMP_kernel.SparseFloatKey___ne__(self, o)
3749 
3750  def __lt__(self, o):
3751  r"""__lt__(SparseFloatKey self, SparseFloatKey o) -> bool"""
3752  return _IMP_kernel.SparseFloatKey___lt__(self, o)
3753 
3754  def __gt__(self, o):
3755  r"""__gt__(SparseFloatKey self, SparseFloatKey o) -> bool"""
3756  return _IMP_kernel.SparseFloatKey___gt__(self, o)
3757 
3758  def __ge__(self, o):
3759  r"""__ge__(SparseFloatKey self, SparseFloatKey o) -> bool"""
3760  return _IMP_kernel.SparseFloatKey___ge__(self, o)
3761 
3762  def __le__(self, o):
3763  r"""__le__(SparseFloatKey self, SparseFloatKey o) -> bool"""
3764  return _IMP_kernel.SparseFloatKey___le__(self, o)
3765 
3766  def __hash__(self):
3767  r"""__hash__(SparseFloatKey self) -> std::size_t"""
3768  return _IMP_kernel.SparseFloatKey___hash__(self)
3769 
3770  def show(self, *args):
3771  r"""show(SparseFloatKey self, _ostream out=std::cout)"""
3772  return _IMP_kernel.SparseFloatKey_show(self, *args)
3773 
3774  @staticmethod
3775  def add_alias(old_key, new_name):
3776  r"""add_alias(SparseFloatKey old_key, std::string new_name) -> SparseFloatKey"""
3777  return _IMP_kernel.SparseFloatKey_add_alias(old_key, new_name)
3778 
3779  @staticmethod
3780  def get_number_of_keys():
3781  r"""get_number_of_keys() -> unsigned int"""
3782  return _IMP_kernel.SparseFloatKey_get_number_of_keys()
3783 
3784  def get_index(self):
3785  r"""get_index(SparseFloatKey self) -> unsigned int"""
3786  return _IMP_kernel.SparseFloatKey_get_index(self)
3787 
3788  @staticmethod
3789  def show_all(out):
3790  r"""show_all(_ostream out)"""
3791  return _IMP_kernel.SparseFloatKey_show_all(out)
3792 
3793  @staticmethod
3794  def get_all_strings():
3795  r"""get_all_strings() -> IMP::Vector< std::string >"""
3796  return _IMP_kernel.SparseFloatKey_get_all_strings()
3797 
3798  @staticmethod
3799  def get_number_unique():
3800  r"""get_number_unique() -> unsigned int"""
3801  return _IMP_kernel.SparseFloatKey_get_number_unique()
3802 
3803  def __str__(self):
3804  r"""__str__(SparseFloatKey self) -> std::string"""
3805  return _IMP_kernel.SparseFloatKey___str__(self)
3806 
3807  def __repr__(self):
3808  r"""__repr__(SparseFloatKey self) -> std::string"""
3809  return _IMP_kernel.SparseFloatKey___repr__(self)
3810  __swig_destroy__ = _IMP_kernel.delete_SparseFloatKey
3811 
3812 # Register SparseFloatKey in _IMP_kernel:
3813 _IMP_kernel.SparseFloatKey_swigregister(SparseFloatKey)
3814 class SparseParticleIndexKey(_Value):
3815  r"""Proxy of C++ IMP::Key< 15 > class."""
3816 
3817  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3818 
3819  def __init__(self, *args):
3820  r"""
3821  __init__(SparseParticleIndexKey self) -> SparseParticleIndexKey
3822  __init__(SparseParticleIndexKey self, std::string const & c, bool is_implicit_add_permitted=True) -> SparseParticleIndexKey
3823  __init__(SparseParticleIndexKey self, unsigned int i) -> SparseParticleIndexKey
3824  """
3825  _IMP_kernel.SparseParticleIndexKey_swiginit(self, _IMP_kernel.new_SparseParticleIndexKey(*args))
3826 
3827  @staticmethod
3828  def add_key(sc):
3829  r"""add_key(std::string sc) -> unsigned int"""
3830  return _IMP_kernel.SparseParticleIndexKey_add_key(sc)
3831 
3832  @staticmethod
3833  def get_key_exists(sc):
3834  r"""get_key_exists(std::string sc) -> bool"""
3835  return _IMP_kernel.SparseParticleIndexKey_get_key_exists(sc)
3836 
3837  def get_string(self):
3838  r"""get_string(SparseParticleIndexKey self) -> std::string const"""
3839  return _IMP_kernel.SparseParticleIndexKey_get_string(self)
3840 
3841  def __cmp__(self, o):
3842  r"""__cmp__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> int"""
3843  return _IMP_kernel.SparseParticleIndexKey___cmp__(self, o)
3844 
3845  def __eq__(self, o):
3846  r"""__eq__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool"""
3847  return _IMP_kernel.SparseParticleIndexKey___eq__(self, o)
3848 
3849  def __ne__(self, o):
3850  r"""__ne__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool"""
3851  return _IMP_kernel.SparseParticleIndexKey___ne__(self, o)
3852 
3853  def __lt__(self, o):
3854  r"""__lt__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool"""
3855  return _IMP_kernel.SparseParticleIndexKey___lt__(self, o)
3856 
3857  def __gt__(self, o):
3858  r"""__gt__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool"""
3859  return _IMP_kernel.SparseParticleIndexKey___gt__(self, o)
3860 
3861  def __ge__(self, o):
3862  r"""__ge__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool"""
3863  return _IMP_kernel.SparseParticleIndexKey___ge__(self, o)
3864 
3865  def __le__(self, o):
3866  r"""__le__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool"""
3867  return _IMP_kernel.SparseParticleIndexKey___le__(self, o)
3868 
3869  def __hash__(self):
3870  r"""__hash__(SparseParticleIndexKey self) -> std::size_t"""
3871  return _IMP_kernel.SparseParticleIndexKey___hash__(self)
3872 
3873  def show(self, *args):
3874  r"""show(SparseParticleIndexKey self, _ostream out=std::cout)"""
3875  return _IMP_kernel.SparseParticleIndexKey_show(self, *args)
3876 
3877  @staticmethod
3878  def add_alias(old_key, new_name):
3879  r"""add_alias(SparseParticleIndexKey old_key, std::string new_name) -> SparseParticleIndexKey"""
3880  return _IMP_kernel.SparseParticleIndexKey_add_alias(old_key, new_name)
3881 
3882  @staticmethod
3883  def get_number_of_keys():
3884  r"""get_number_of_keys() -> unsigned int"""
3885  return _IMP_kernel.SparseParticleIndexKey_get_number_of_keys()
3886 
3887  def get_index(self):
3888  r"""get_index(SparseParticleIndexKey self) -> unsigned int"""
3889  return _IMP_kernel.SparseParticleIndexKey_get_index(self)
3890 
3891  @staticmethod
3892  def show_all(out):
3893  r"""show_all(_ostream out)"""
3894  return _IMP_kernel.SparseParticleIndexKey_show_all(out)
3895 
3896  @staticmethod
3897  def get_all_strings():
3898  r"""get_all_strings() -> IMP::Vector< std::string >"""
3899  return _IMP_kernel.SparseParticleIndexKey_get_all_strings()
3900 
3901  @staticmethod
3902  def get_number_unique():
3903  r"""get_number_unique() -> unsigned int"""
3904  return _IMP_kernel.SparseParticleIndexKey_get_number_unique()
3905 
3906  def __str__(self):
3907  r"""__str__(SparseParticleIndexKey self) -> std::string"""
3908  return _IMP_kernel.SparseParticleIndexKey___str__(self)
3909 
3910  def __repr__(self):
3911  r"""__repr__(SparseParticleIndexKey self) -> std::string"""
3912  return _IMP_kernel.SparseParticleIndexKey___repr__(self)
3913  __swig_destroy__ = _IMP_kernel.delete_SparseParticleIndexKey
3914 
3915 # Register SparseParticleIndexKey in _IMP_kernel:
3916 _IMP_kernel.SparseParticleIndexKey_swigregister(SparseParticleIndexKey)
3917 class Vector3DKey(_Value):
3918  r"""Proxy of C++ IMP::Key< 16 > class."""
3919 
3920  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3921 
3922  def __init__(self, *args):
3923  r"""
3924  __init__(Vector3DKey self) -> Vector3DKey
3925  __init__(Vector3DKey self, std::string const & c, bool is_implicit_add_permitted=True) -> Vector3DKey
3926  __init__(Vector3DKey self, unsigned int i) -> Vector3DKey
3927  """
3928  _IMP_kernel.Vector3DKey_swiginit(self, _IMP_kernel.new_Vector3DKey(*args))
3929 
3930  @staticmethod
3931  def add_key(sc):
3932  r"""add_key(std::string sc) -> unsigned int"""
3933  return _IMP_kernel.Vector3DKey_add_key(sc)
3934 
3935  @staticmethod
3936  def get_key_exists(sc):
3937  r"""get_key_exists(std::string sc) -> bool"""
3938  return _IMP_kernel.Vector3DKey_get_key_exists(sc)
3939 
3940  def get_string(self):
3941  r"""get_string(Vector3DKey self) -> std::string const"""
3942  return _IMP_kernel.Vector3DKey_get_string(self)
3943 
3944  def __cmp__(self, o):
3945  r"""__cmp__(Vector3DKey self, Vector3DKey o) -> int"""
3946  return _IMP_kernel.Vector3DKey___cmp__(self, o)
3947 
3948  def __eq__(self, o):
3949  r"""__eq__(Vector3DKey self, Vector3DKey o) -> bool"""
3950  return _IMP_kernel.Vector3DKey___eq__(self, o)
3951 
3952  def __ne__(self, o):
3953  r"""__ne__(Vector3DKey self, Vector3DKey o) -> bool"""
3954  return _IMP_kernel.Vector3DKey___ne__(self, o)
3955 
3956  def __lt__(self, o):
3957  r"""__lt__(Vector3DKey self, Vector3DKey o) -> bool"""
3958  return _IMP_kernel.Vector3DKey___lt__(self, o)
3959 
3960  def __gt__(self, o):
3961  r"""__gt__(Vector3DKey self, Vector3DKey o) -> bool"""
3962  return _IMP_kernel.Vector3DKey___gt__(self, o)
3963 
3964  def __ge__(self, o):
3965  r"""__ge__(Vector3DKey self, Vector3DKey o) -> bool"""
3966  return _IMP_kernel.Vector3DKey___ge__(self, o)
3967 
3968  def __le__(self, o):
3969  r"""__le__(Vector3DKey self, Vector3DKey o) -> bool"""
3970  return _IMP_kernel.Vector3DKey___le__(self, o)
3971 
3972  def __hash__(self):
3973  r"""__hash__(Vector3DKey self) -> std::size_t"""
3974  return _IMP_kernel.Vector3DKey___hash__(self)
3975 
3976  def show(self, *args):
3977  r"""show(Vector3DKey self, _ostream out=std::cout)"""
3978  return _IMP_kernel.Vector3DKey_show(self, *args)
3979 
3980  @staticmethod
3981  def add_alias(old_key, new_name):
3982  r"""add_alias(Vector3DKey old_key, std::string new_name) -> Vector3DKey"""
3983  return _IMP_kernel.Vector3DKey_add_alias(old_key, new_name)
3984 
3985  @staticmethod
3986  def get_number_of_keys():
3987  r"""get_number_of_keys() -> unsigned int"""
3988  return _IMP_kernel.Vector3DKey_get_number_of_keys()
3989 
3990  def get_index(self):
3991  r"""get_index(Vector3DKey self) -> unsigned int"""
3992  return _IMP_kernel.Vector3DKey_get_index(self)
3993 
3994  @staticmethod
3995  def show_all(out):
3996  r"""show_all(_ostream out)"""
3997  return _IMP_kernel.Vector3DKey_show_all(out)
3998 
3999  @staticmethod
4000  def get_all_strings():
4001  r"""get_all_strings() -> IMP::Vector< std::string >"""
4002  return _IMP_kernel.Vector3DKey_get_all_strings()
4003 
4004  @staticmethod
4005  def get_number_unique():
4006  r"""get_number_unique() -> unsigned int"""
4007  return _IMP_kernel.Vector3DKey_get_number_unique()
4008 
4009  def __str__(self):
4010  r"""__str__(Vector3DKey self) -> std::string"""
4011  return _IMP_kernel.Vector3DKey___str__(self)
4012 
4013  def __repr__(self):
4014  r"""__repr__(Vector3DKey self) -> std::string"""
4015  return _IMP_kernel.Vector3DKey___repr__(self)
4016  __swig_destroy__ = _IMP_kernel.delete_Vector3DKey
4017 
4018 # Register Vector3DKey in _IMP_kernel:
4019 _IMP_kernel.Vector3DKey_swigregister(Vector3DKey)
4020 class Vector3DDerivKey(_Value):
4021  r"""Proxy of C++ IMP::Key< 17 > class."""
4022 
4023  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4024 
4025  def __init__(self, *args):
4026  r"""
4027  __init__(Vector3DDerivKey self) -> Vector3DDerivKey
4028  __init__(Vector3DDerivKey self, std::string const & c, bool is_implicit_add_permitted=True) -> Vector3DDerivKey
4029  __init__(Vector3DDerivKey self, unsigned int i) -> Vector3DDerivKey
4030  """
4031  _IMP_kernel.Vector3DDerivKey_swiginit(self, _IMP_kernel.new_Vector3DDerivKey(*args))
4032 
4033  @staticmethod
4034  def add_key(sc):
4035  r"""add_key(std::string sc) -> unsigned int"""
4036  return _IMP_kernel.Vector3DDerivKey_add_key(sc)
4037 
4038  @staticmethod
4039  def get_key_exists(sc):
4040  r"""get_key_exists(std::string sc) -> bool"""
4041  return _IMP_kernel.Vector3DDerivKey_get_key_exists(sc)
4042 
4043  def get_string(self):
4044  r"""get_string(Vector3DDerivKey self) -> std::string const"""
4045  return _IMP_kernel.Vector3DDerivKey_get_string(self)
4046 
4047  def __cmp__(self, o):
4048  r"""__cmp__(Vector3DDerivKey self, Vector3DDerivKey o) -> int"""
4049  return _IMP_kernel.Vector3DDerivKey___cmp__(self, o)
4050 
4051  def __eq__(self, o):
4052  r"""__eq__(Vector3DDerivKey self, Vector3DDerivKey o) -> bool"""
4053  return _IMP_kernel.Vector3DDerivKey___eq__(self, o)
4054 
4055  def __ne__(self, o):
4056  r"""__ne__(Vector3DDerivKey self, Vector3DDerivKey o) -> bool"""
4057  return _IMP_kernel.Vector3DDerivKey___ne__(self, o)
4058 
4059  def __lt__(self, o):
4060  r"""__lt__(Vector3DDerivKey self, Vector3DDerivKey o) -> bool"""
4061  return _IMP_kernel.Vector3DDerivKey___lt__(self, o)
4062 
4063  def __gt__(self, o):
4064  r"""__gt__(Vector3DDerivKey self, Vector3DDerivKey o) -> bool"""
4065  return _IMP_kernel.Vector3DDerivKey___gt__(self, o)
4066 
4067  def __ge__(self, o):
4068  r"""__ge__(Vector3DDerivKey self, Vector3DDerivKey o) -> bool"""
4069  return _IMP_kernel.Vector3DDerivKey___ge__(self, o)
4070 
4071  def __le__(self, o):
4072  r"""__le__(Vector3DDerivKey self, Vector3DDerivKey o) -> bool"""
4073  return _IMP_kernel.Vector3DDerivKey___le__(self, o)
4074 
4075  def __hash__(self):
4076  r"""__hash__(Vector3DDerivKey self) -> std::size_t"""
4077  return _IMP_kernel.Vector3DDerivKey___hash__(self)
4078 
4079  def show(self, *args):
4080  r"""show(Vector3DDerivKey self, _ostream out=std::cout)"""
4081  return _IMP_kernel.Vector3DDerivKey_show(self, *args)
4082 
4083  @staticmethod
4084  def add_alias(old_key, new_name):
4085  r"""add_alias(Vector3DDerivKey old_key, std::string new_name) -> Vector3DDerivKey"""
4086  return _IMP_kernel.Vector3DDerivKey_add_alias(old_key, new_name)
4087 
4088  @staticmethod
4089  def get_number_of_keys():
4090  r"""get_number_of_keys() -> unsigned int"""
4091  return _IMP_kernel.Vector3DDerivKey_get_number_of_keys()
4092 
4093  def get_index(self):
4094  r"""get_index(Vector3DDerivKey self) -> unsigned int"""
4095  return _IMP_kernel.Vector3DDerivKey_get_index(self)
4096 
4097  @staticmethod
4098  def show_all(out):
4099  r"""show_all(_ostream out)"""
4100  return _IMP_kernel.Vector3DDerivKey_show_all(out)
4101 
4102  @staticmethod
4103  def get_all_strings():
4104  r"""get_all_strings() -> IMP::Vector< std::string >"""
4105  return _IMP_kernel.Vector3DDerivKey_get_all_strings()
4106 
4107  @staticmethod
4108  def get_number_unique():
4109  r"""get_number_unique() -> unsigned int"""
4110  return _IMP_kernel.Vector3DDerivKey_get_number_unique()
4111 
4112  def __str__(self):
4113  r"""__str__(Vector3DDerivKey self) -> std::string"""
4114  return _IMP_kernel.Vector3DDerivKey___str__(self)
4115 
4116  def __repr__(self):
4117  r"""__repr__(Vector3DDerivKey self) -> std::string"""
4118  return _IMP_kernel.Vector3DDerivKey___repr__(self)
4119  __swig_destroy__ = _IMP_kernel.delete_Vector3DDerivKey
4120 
4121 # Register Vector3DDerivKey in _IMP_kernel:
4122 _IMP_kernel.Vector3DDerivKey_swigregister(Vector3DDerivKey)
4123 class Vector4DKey(_Value):
4124  r"""Proxy of C++ IMP::Key< 18 > class."""
4125 
4126  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4127 
4128  def __init__(self, *args):
4129  r"""
4130  __init__(Vector4DKey self) -> Vector4DKey
4131  __init__(Vector4DKey self, std::string const & c, bool is_implicit_add_permitted=True) -> Vector4DKey
4132  __init__(Vector4DKey self, unsigned int i) -> Vector4DKey
4133  """
4134  _IMP_kernel.Vector4DKey_swiginit(self, _IMP_kernel.new_Vector4DKey(*args))
4135 
4136  @staticmethod
4137  def add_key(sc):
4138  r"""add_key(std::string sc) -> unsigned int"""
4139  return _IMP_kernel.Vector4DKey_add_key(sc)
4140 
4141  @staticmethod
4142  def get_key_exists(sc):
4143  r"""get_key_exists(std::string sc) -> bool"""
4144  return _IMP_kernel.Vector4DKey_get_key_exists(sc)
4145 
4146  def get_string(self):
4147  r"""get_string(Vector4DKey self) -> std::string const"""
4148  return _IMP_kernel.Vector4DKey_get_string(self)
4149 
4150  def __cmp__(self, o):
4151  r"""__cmp__(Vector4DKey self, Vector4DKey o) -> int"""
4152  return _IMP_kernel.Vector4DKey___cmp__(self, o)
4153 
4154  def __eq__(self, o):
4155  r"""__eq__(Vector4DKey self, Vector4DKey o) -> bool"""
4156  return _IMP_kernel.Vector4DKey___eq__(self, o)
4157 
4158  def __ne__(self, o):
4159  r"""__ne__(Vector4DKey self, Vector4DKey o) -> bool"""
4160  return _IMP_kernel.Vector4DKey___ne__(self, o)
4161 
4162  def __lt__(self, o):
4163  r"""__lt__(Vector4DKey self, Vector4DKey o) -> bool"""
4164  return _IMP_kernel.Vector4DKey___lt__(self, o)
4165 
4166  def __gt__(self, o):
4167  r"""__gt__(Vector4DKey self, Vector4DKey o) -> bool"""
4168  return _IMP_kernel.Vector4DKey___gt__(self, o)
4169 
4170  def __ge__(self, o):
4171  r"""__ge__(Vector4DKey self, Vector4DKey o) -> bool"""
4172  return _IMP_kernel.Vector4DKey___ge__(self, o)
4173 
4174  def __le__(self, o):
4175  r"""__le__(Vector4DKey self, Vector4DKey o) -> bool"""
4176  return _IMP_kernel.Vector4DKey___le__(self, o)
4177 
4178  def __hash__(self):
4179  r"""__hash__(Vector4DKey self) -> std::size_t"""
4180  return _IMP_kernel.Vector4DKey___hash__(self)
4181 
4182  def show(self, *args):
4183  r"""show(Vector4DKey self, _ostream out=std::cout)"""
4184  return _IMP_kernel.Vector4DKey_show(self, *args)
4185 
4186  @staticmethod
4187  def add_alias(old_key, new_name):
4188  r"""add_alias(Vector4DKey old_key, std::string new_name) -> Vector4DKey"""
4189  return _IMP_kernel.Vector4DKey_add_alias(old_key, new_name)
4190 
4191  @staticmethod
4192  def get_number_of_keys():
4193  r"""get_number_of_keys() -> unsigned int"""
4194  return _IMP_kernel.Vector4DKey_get_number_of_keys()
4195 
4196  def get_index(self):
4197  r"""get_index(Vector4DKey self) -> unsigned int"""
4198  return _IMP_kernel.Vector4DKey_get_index(self)
4199 
4200  @staticmethod
4201  def show_all(out):
4202  r"""show_all(_ostream out)"""
4203  return _IMP_kernel.Vector4DKey_show_all(out)
4204 
4205  @staticmethod
4206  def get_all_strings():
4207  r"""get_all_strings() -> IMP::Vector< std::string >"""
4208  return _IMP_kernel.Vector4DKey_get_all_strings()
4209 
4210  @staticmethod
4211  def get_number_unique():
4212  r"""get_number_unique() -> unsigned int"""
4213  return _IMP_kernel.Vector4DKey_get_number_unique()
4214 
4215  def __str__(self):
4216  r"""__str__(Vector4DKey self) -> std::string"""
4217  return _IMP_kernel.Vector4DKey___str__(self)
4218 
4219  def __repr__(self):
4220  r"""__repr__(Vector4DKey self) -> std::string"""
4221  return _IMP_kernel.Vector4DKey___repr__(self)
4222  __swig_destroy__ = _IMP_kernel.delete_Vector4DKey
4223 
4224 # Register Vector4DKey in _IMP_kernel:
4225 _IMP_kernel.Vector4DKey_swigregister(Vector4DKey)
4226 class Vector4DDerivKey(_Value):
4227  r"""Proxy of C++ IMP::Key< 19 > class."""
4228 
4229  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4230 
4231  def __init__(self, *args):
4232  r"""
4233  __init__(Vector4DDerivKey self) -> Vector4DDerivKey
4234  __init__(Vector4DDerivKey self, std::string const & c, bool is_implicit_add_permitted=True) -> Vector4DDerivKey
4235  __init__(Vector4DDerivKey self, unsigned int i) -> Vector4DDerivKey
4236  """
4237  _IMP_kernel.Vector4DDerivKey_swiginit(self, _IMP_kernel.new_Vector4DDerivKey(*args))
4238 
4239  @staticmethod
4240  def add_key(sc):
4241  r"""add_key(std::string sc) -> unsigned int"""
4242  return _IMP_kernel.Vector4DDerivKey_add_key(sc)
4243 
4244  @staticmethod
4245  def get_key_exists(sc):
4246  r"""get_key_exists(std::string sc) -> bool"""
4247  return _IMP_kernel.Vector4DDerivKey_get_key_exists(sc)
4248 
4249  def get_string(self):
4250  r"""get_string(Vector4DDerivKey self) -> std::string const"""
4251  return _IMP_kernel.Vector4DDerivKey_get_string(self)
4252 
4253  def __cmp__(self, o):
4254  r"""__cmp__(Vector4DDerivKey self, Vector4DDerivKey o) -> int"""
4255  return _IMP_kernel.Vector4DDerivKey___cmp__(self, o)
4256 
4257  def __eq__(self, o):
4258  r"""__eq__(Vector4DDerivKey self, Vector4DDerivKey o) -> bool"""
4259  return _IMP_kernel.Vector4DDerivKey___eq__(self, o)
4260 
4261  def __ne__(self, o):
4262  r"""__ne__(Vector4DDerivKey self, Vector4DDerivKey o) -> bool"""
4263  return _IMP_kernel.Vector4DDerivKey___ne__(self, o)
4264 
4265  def __lt__(self, o):
4266  r"""__lt__(Vector4DDerivKey self, Vector4DDerivKey o) -> bool"""
4267  return _IMP_kernel.Vector4DDerivKey___lt__(self, o)
4268 
4269  def __gt__(self, o):
4270  r"""__gt__(Vector4DDerivKey self, Vector4DDerivKey o) -> bool"""
4271  return _IMP_kernel.Vector4DDerivKey___gt__(self, o)
4272 
4273  def __ge__(self, o):
4274  r"""__ge__(Vector4DDerivKey self, Vector4DDerivKey o) -> bool"""
4275  return _IMP_kernel.Vector4DDerivKey___ge__(self, o)
4276 
4277  def __le__(self, o):
4278  r"""__le__(Vector4DDerivKey self, Vector4DDerivKey o) -> bool"""
4279  return _IMP_kernel.Vector4DDerivKey___le__(self, o)
4280 
4281  def __hash__(self):
4282  r"""__hash__(Vector4DDerivKey self) -> std::size_t"""
4283  return _IMP_kernel.Vector4DDerivKey___hash__(self)
4284 
4285  def show(self, *args):
4286  r"""show(Vector4DDerivKey self, _ostream out=std::cout)"""
4287  return _IMP_kernel.Vector4DDerivKey_show(self, *args)
4288 
4289  @staticmethod
4290  def add_alias(old_key, new_name):
4291  r"""add_alias(Vector4DDerivKey old_key, std::string new_name) -> Vector4DDerivKey"""
4292  return _IMP_kernel.Vector4DDerivKey_add_alias(old_key, new_name)
4293 
4294  @staticmethod
4295  def get_number_of_keys():
4296  r"""get_number_of_keys() -> unsigned int"""
4297  return _IMP_kernel.Vector4DDerivKey_get_number_of_keys()
4298 
4299  def get_index(self):
4300  r"""get_index(Vector4DDerivKey self) -> unsigned int"""
4301  return _IMP_kernel.Vector4DDerivKey_get_index(self)
4302 
4303  @staticmethod
4304  def show_all(out):
4305  r"""show_all(_ostream out)"""
4306  return _IMP_kernel.Vector4DDerivKey_show_all(out)
4307 
4308  @staticmethod
4309  def get_all_strings():
4310  r"""get_all_strings() -> IMP::Vector< std::string >"""
4311  return _IMP_kernel.Vector4DDerivKey_get_all_strings()
4312 
4313  @staticmethod
4314  def get_number_unique():
4315  r"""get_number_unique() -> unsigned int"""
4316  return _IMP_kernel.Vector4DDerivKey_get_number_unique()
4317 
4318  def __str__(self):
4319  r"""__str__(Vector4DDerivKey self) -> std::string"""
4320  return _IMP_kernel.Vector4DDerivKey___str__(self)
4321 
4322  def __repr__(self):
4323  r"""__repr__(Vector4DDerivKey self) -> std::string"""
4324  return _IMP_kernel.Vector4DDerivKey___repr__(self)
4325  __swig_destroy__ = _IMP_kernel.delete_Vector4DDerivKey
4326 
4327 # Register Vector4DDerivKey in _IMP_kernel:
4328 _IMP_kernel.Vector4DDerivKey_swigregister(Vector4DDerivKey)
4329 
4330 def ParticlePair(a, b):
4331  return (a,b)
4332 def ParticleTriplet(a, b, c):
4333  return (a,b,c)
4334 def ParticleQuad(a, b, c, d):
4335  return (a,b,c,d)
4336 
4337 class FloatIndex(_Value):
4338  r"""Proxy of C++ IMP::FloatIndex class."""
4339 
4340  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4341 
4342  def __init__(self, *args):
4343  r"""__init__(FloatIndex self, ParticleIndex i0=ParticleIndex(), FloatKey i1=FloatKey()) -> FloatIndex"""
4344  _IMP_kernel.FloatIndex_swiginit(self, _IMP_kernel.new_FloatIndex(*args))
4345 
4346  def __hash__(self):
4347  r"""__hash__(FloatIndex self) -> std::size_t"""
4348  return _IMP_kernel.FloatIndex___hash__(self)
4349 
4350  def show(self, *args):
4351  r"""show(FloatIndex self, _ostream out=std::cout)"""
4352  return _IMP_kernel.FloatIndex_show(self, *args)
4353 
4354  def __cmp__(self, o):
4355  r"""__cmp__(FloatIndex self, FloatIndex o) -> int"""
4356  return _IMP_kernel.FloatIndex___cmp__(self, o)
4357 
4358  def __eq__(self, o):
4359  r"""__eq__(FloatIndex self, FloatIndex o) -> bool"""
4360  return _IMP_kernel.FloatIndex___eq__(self, o)
4361 
4362  def __ne__(self, o):
4363  r"""__ne__(FloatIndex self, FloatIndex o) -> bool"""
4364  return _IMP_kernel.FloatIndex___ne__(self, o)
4365 
4366  def __lt__(self, o):
4367  r"""__lt__(FloatIndex self, FloatIndex o) -> bool"""
4368  return _IMP_kernel.FloatIndex___lt__(self, o)
4369 
4370  def __gt__(self, o):
4371  r"""__gt__(FloatIndex self, FloatIndex o) -> bool"""
4372  return _IMP_kernel.FloatIndex___gt__(self, o)
4373 
4374  def __ge__(self, o):
4375  r"""__ge__(FloatIndex self, FloatIndex o) -> bool"""
4376  return _IMP_kernel.FloatIndex___ge__(self, o)
4377 
4378  def __le__(self, o):
4379  r"""__le__(FloatIndex self, FloatIndex o) -> bool"""
4380  return _IMP_kernel.FloatIndex___le__(self, o)
4381 
4382  def get_particle(self):
4383  r"""get_particle(FloatIndex self) -> ParticleIndex const &"""
4384  return _IMP_kernel.FloatIndex_get_particle(self)
4385 
4386  def set_particle(self, v):
4387  r"""set_particle(FloatIndex self, ParticleIndex const & v)"""
4388  return _IMP_kernel.FloatIndex_set_particle(self, v)
4389 
4390  def get_key(self):
4391  r"""get_key(FloatIndex self) -> FloatKey const &"""
4392  return _IMP_kernel.FloatIndex_get_key(self)
4393 
4394  def set_key(self, v):
4395  r"""set_key(FloatIndex self, FloatKey const & v)"""
4396  return _IMP_kernel.FloatIndex_set_key(self, v)
4397 
4398  def __str__(self):
4399  r"""__str__(FloatIndex self) -> std::string"""
4400  return _IMP_kernel.FloatIndex___str__(self)
4401 
4402  def __repr__(self):
4403  r"""__repr__(FloatIndex self) -> std::string"""
4404  return _IMP_kernel.FloatIndex___repr__(self)
4405  __swig_destroy__ = _IMP_kernel.delete_FloatIndex
4406 
4407 # Register FloatIndex in _IMP_kernel:
4408 _IMP_kernel.FloatIndex_swigregister(FloatIndex)
4409 class _ParticleIndexTag(object):
4410  r"""Proxy of C++ IMP::ParticleIndexTag class."""
4411 
4412  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4413  __repr__ = _swig_repr
4414 
4415  def __init__(self):
4416  r"""__init__(_ParticleIndexTag self) -> _ParticleIndexTag"""
4417  _IMP_kernel._ParticleIndexTag_swiginit(self, _IMP_kernel.new__ParticleIndexTag())
4418  __swig_destroy__ = _IMP_kernel.delete__ParticleIndexTag
4419 
4420 # Register _ParticleIndexTag in _IMP_kernel:
4421 _IMP_kernel._ParticleIndexTag_swigregister(_ParticleIndexTag)
4422 class ModelObject(Object):
4423  r"""Proxy of C++ IMP::ModelObject class."""
4424 
4425  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4426 
4427  def __init__(self, *args):
4428  r"""
4429  __init__(ModelObject self, Model m, std::string name) -> ModelObject
4430  __init__(ModelObject self) -> ModelObject
4431  """
4432  if self.__class__ == ModelObject:
4433  _self = None
4434  else:
4435  _self = self
4436  _IMP_kernel.ModelObject_swiginit(self, _IMP_kernel.new_ModelObject(_self, *args))
4437 
4438  if self.__class__ != ModelObject:
4439  _director_objects.register(self)
4440 
4441 
4442 
4443  __swig_destroy__ = _IMP_kernel.delete_ModelObject
4444 
4445  def get_model(self):
4446  m = _IMP_kernel.ModelObject_get_model(self)
4447  if m in _models_set:
4448  m = _models_set_get(m)
4449  return m
4450 
4451 
4452 
4453  def get_inputs(self):
4454  r"""get_inputs(ModelObject self) -> IMP::ModelObjectsTemp"""
4455  return _IMP_kernel.ModelObject_get_inputs(self)
4456 
4457  def get_outputs(self):
4458  r"""get_outputs(ModelObject self) -> IMP::ModelObjectsTemp"""
4459  return _IMP_kernel.ModelObject_get_outputs(self)
4460 
4461  def get_interactions(self):
4462  r"""get_interactions(ModelObject self) -> IMP::ModelObjectsTemps"""
4463  return _IMP_kernel.ModelObject_get_interactions(self)
4464 
4465  def get_has_dependencies(self):
4466  r"""get_has_dependencies(ModelObject self) -> bool"""
4467  return _IMP_kernel.ModelObject_get_has_dependencies(self)
4468 
4469  def set_has_dependencies(self, tf):
4470  r"""set_has_dependencies(ModelObject self, bool tf)"""
4471  return _IMP_kernel.ModelObject_set_has_dependencies(self, tf)
4472 
4473  def set_has_required_score_states(self, tf):
4474  r"""set_has_required_score_states(ModelObject self, bool tf)"""
4475  return _IMP_kernel.ModelObject_set_has_required_score_states(self, tf)
4476 
4477  def get_has_required_score_states(self):
4478  r"""get_has_required_score_states(ModelObject self) -> bool"""
4479  return _IMP_kernel.ModelObject_get_has_required_score_states(self)
4480 
4481  def get_required_score_states(self):
4482  r"""get_required_score_states(ModelObject self) -> IMP::ScoreStatesTemp const &"""
4483  return _IMP_kernel.ModelObject_get_required_score_states(self)
4484 
4485  def handle_set_has_required_score_states(self, arg0):
4486  r"""handle_set_has_required_score_states(ModelObject self, bool arg0)"""
4487  return _IMP_kernel.ModelObject_handle_set_has_required_score_states(self, arg0)
4488 
4489  def do_get_inputs(self):
4490  r"""do_get_inputs(ModelObject self) -> IMP::ModelObjectsTemp"""
4491  return _IMP_kernel.ModelObject_do_get_inputs(self)
4492 
4493  def do_get_outputs(self):
4494  r"""do_get_outputs(ModelObject self) -> IMP::ModelObjectsTemp"""
4495  return _IMP_kernel.ModelObject_do_get_outputs(self)
4496 
4497  def do_get_interactions(self):
4498  r"""do_get_interactions(ModelObject self) -> IMP::ModelObjectsTemps"""
4499  return _IMP_kernel.ModelObject_do_get_interactions(self)
4500 
4501  def __str__(self):
4502  r"""__str__(ModelObject self) -> std::string"""
4503  return _IMP_kernel.ModelObject___str__(self)
4504 
4505  def __repr__(self):
4506  r"""__repr__(ModelObject self) -> std::string"""
4507  return _IMP_kernel.ModelObject___repr__(self)
4508 
4509  @staticmethod
4510  def get_from(o):
4511  return _object_cast_to_ModelObject(o)
4512 
4513 
4514  def do_show(self, out):
4515  pass
4516 
4517  @staticmethod
4518  def get_from(o):
4519  return _object_cast_to_ModelObject(o)
4520 
4521  def __disown__(self):
4522  self.this.disown()
4523  _IMP_kernel.disown_ModelObject(self)
4524  return weakref.proxy(self)
4525 
4526  def do_destroy(self):
4527  r"""do_destroy(ModelObject self)"""
4528  return _IMP_kernel.ModelObject_do_destroy(self)
4529 
4530 # Register ModelObject in _IMP_kernel:
4531 _IMP_kernel.ModelObject_swigregister(ModelObject)
4532 cvar = _IMP_kernel.cvar
4533 NO_MAX = cvar.NO_MAX
4534 BAD_SCORE = cvar.BAD_SCORE
4535 
4536 class _ParticleInputs(object):
4537  r"""Proxy of C++ IMP::ParticleInputs class."""
4538 
4539  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4540 
4541  def __init__(self, *args, **kwargs):
4542  raise AttributeError("No constructor defined - class is abstract")
4543  __repr__ = _swig_repr
4544 
4545  def get_inputs(self, m, pis):
4546  r"""get_inputs(_ParticleInputs self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4547  return _IMP_kernel._ParticleInputs_get_inputs(self, m, pis)
4548 
4549 # Register _ParticleInputs in _IMP_kernel:
4550 _IMP_kernel._ParticleInputs_swigregister(_ParticleInputs)
4551 class _ParticleOutputs(object):
4552  r"""Proxy of C++ IMP::ParticleOutputs class."""
4553 
4554  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4555 
4556  def __init__(self, *args, **kwargs):
4557  raise AttributeError("No constructor defined - class is abstract")
4558  __repr__ = _swig_repr
4559 
4560  def get_outputs(self, m, pis):
4561  r"""get_outputs(_ParticleOutputs self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4562  return _IMP_kernel._ParticleOutputs_get_outputs(self, m, pis)
4563 
4564 # Register _ParticleOutputs in _IMP_kernel:
4565 _IMP_kernel._ParticleOutputs_swigregister(_ParticleOutputs)
4566 
4567 def get_input_particles(mos):
4568  r"""get_input_particles(IMP::ModelObjectsTemp const & mos) -> IMP::ParticlesTemp"""
4569  return _IMP_kernel.get_input_particles(mos)
4570 
4571 def get_input_containers(mos):
4572  r"""get_input_containers(IMP::ModelObjectsTemp const & mos) -> IMP::ContainersTemp"""
4573  return _IMP_kernel.get_input_containers(mos)
4574 
4575 def get_output_particles(mos):
4576  r"""get_output_particles(IMP::ModelObjectsTemp const & mos) -> IMP::ParticlesTemp"""
4577  return _IMP_kernel.get_output_particles(mos)
4578 
4579 def get_output_containers(mos):
4580  r"""get_output_containers(IMP::ModelObjectsTemp const & mos) -> IMP::ContainersTemp"""
4581  return _IMP_kernel.get_output_containers(mos)
4582 
4583 Vector1Ds=list
4584 _plural_types.append("Vector1Ds")
4585 _value_types.append("Vector1D")
4586 
4587 
4588 Vector2Ds=list
4589 _plural_types.append("Vector2Ds")
4590 _value_types.append("Vector2D")
4591 
4592 
4593 Vector3Ds=list
4594 _plural_types.append("Vector3Ds")
4595 _value_types.append("Vector3D")
4596 
4597 
4598 Vector4Ds=list
4599 _plural_types.append("Vector4Ds")
4600 _value_types.append("Vector4D")
4601 
4602 
4603 Vector5Ds=list
4604 _plural_types.append("Vector5Ds")
4605 _value_types.append("Vector5D")
4606 
4607 
4608 Vector6Ds=list
4609 _plural_types.append("Vector6Ds")
4610 _value_types.append("Vector6D")
4611 
4612 
4613 Vector1Ds=list
4614 _plural_types.append("Vector1Ds")
4615 _value_types.append("VectorD<1>")
4616 
4617 
4618 Vector2Ds=list
4619 _plural_types.append("Vector2Ds")
4620 _value_types.append("VectorD<2>")
4621 
4622 
4623 Vector3Ds=list
4624 _plural_types.append("Vector3Ds")
4625 _value_types.append("VectorD<3>")
4626 
4627 
4628 Vector4Ds=list
4629 _plural_types.append("Vector4Ds")
4630 _value_types.append("VectorD<4>")
4631 
4632 
4633 Vector5Ds=list
4634 _plural_types.append("Vector5Ds")
4635 _value_types.append("VectorD<5>")
4636 
4637 
4638 Vector6Ds=list
4639 _plural_types.append("Vector6Ds")
4640 _value_types.append("VectorD<6>")
4641 
4642 
4643 VectorKDs=list
4644 _plural_types.append("VectorKDs")
4645 _value_types.append("VectorKD")
4646 
4647 
4648 VectorKDs=list
4649 _plural_types.append("VectorKDs")
4650 _value_types.append("VectorD<-1>")
4651 
4652 
4653 def get_basis_vector_kd(D, coordinate):
4654  r"""get_basis_vector_kd(int D, unsigned int coordinate) -> VectorKD"""
4655  return _IMP_kernel.get_basis_vector_kd(D, coordinate)
4656 
4657 def get_zero_vector_kd(D):
4658  r"""get_zero_vector_kd(int D) -> VectorKD"""
4659  return _IMP_kernel.get_zero_vector_kd(D)
4660 
4661 def get_ones_vector_kd(D, v=1):
4662  r"""get_ones_vector_kd(unsigned int D, double v=1) -> VectorKD"""
4663  return _IMP_kernel.get_ones_vector_kd(D, v)
4664 
4665 def get_vector_product(p1, p2):
4666  r"""get_vector_product(Vector3D p1, Vector3D p2) -> Vector3D"""
4667  return _IMP_kernel.get_vector_product(p1, p2)
4668 
4669 def get_orthogonal_vector(v):
4670  r"""get_orthogonal_vector(Vector3D v) -> Vector3D"""
4671  return _IMP_kernel.get_orthogonal_vector(v)
4672 
4673 def get_centroid(ps):
4674  r"""get_centroid(IMP::Vector3Ds const & ps) -> Vector3D"""
4675  return _IMP_kernel.get_centroid(ps)
4676 
4677 def get_radius_of_gyration(ps):
4678  r"""get_radius_of_gyration(IMP::Vector3Ds const & ps) -> double"""
4679  return _IMP_kernel.get_radius_of_gyration(ps)
4680 class DerivativeAccumulator(object):
4681  r"""Proxy of C++ IMP::DerivativeAccumulator class."""
4682 
4683  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4684  __repr__ = _swig_repr
4685 
4686  def __init__(self, *args):
4687  r"""
4688  __init__(DerivativeAccumulator self, DerivativeAccumulator arg2) -> DerivativeAccumulator
4689  __init__(DerivativeAccumulator self, double weight=1.0) -> DerivativeAccumulator
4690  __init__(DerivativeAccumulator self, DerivativeAccumulator copy, double weight) -> DerivativeAccumulator
4691  """
4692  _IMP_kernel.DerivativeAccumulator_swiginit(self, _IMP_kernel.new_DerivativeAccumulator(*args))
4693 
4694  def __call__(self, *args):
4695  r"""
4696  __call__(DerivativeAccumulator self, double const value) -> double
4697  __call__(DerivativeAccumulator self, Vector3D value) -> Vector3D
4698  __call__(DerivativeAccumulator self, Vector4D value) -> Vector4D
4699  """
4700  return _IMP_kernel.DerivativeAccumulator___call__(self, *args)
4701 
4702  def get_weight(self):
4703  r"""get_weight(DerivativeAccumulator self) -> double"""
4704  return _IMP_kernel.DerivativeAccumulator_get_weight(self)
4705 
4706  def show(self, *args):
4707  r"""show(DerivativeAccumulator self, _ostream out=std::cout)"""
4708  return _IMP_kernel.DerivativeAccumulator_show(self, *args)
4709  __swig_destroy__ = _IMP_kernel.delete_DerivativeAccumulator
4710 
4711 # Register DerivativeAccumulator in _IMP_kernel:
4712 _IMP_kernel.DerivativeAccumulator_swigregister(DerivativeAccumulator)
4713 class EvaluationState(object):
4714  r"""Proxy of C++ IMP::EvaluationState class."""
4715 
4716  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4717  score = property(_IMP_kernel.EvaluationState_score_get, _IMP_kernel.EvaluationState_score_set, doc=r"""score : double""")
4718  good = property(_IMP_kernel.EvaluationState_good_get, _IMP_kernel.EvaluationState_good_set, doc=r"""good : bool""")
4719 
4720  def __init__(self, *args):
4721  r"""
4722  __init__(EvaluationState self, double oscore, bool ogood) -> EvaluationState
4723  __init__(EvaluationState self) -> EvaluationState
4724  """
4725  _IMP_kernel.EvaluationState_swiginit(self, _IMP_kernel.new_EvaluationState(*args))
4726 
4727  def show(self, *args):
4728  r"""show(EvaluationState self, _ostream out=std::cout)"""
4729  return _IMP_kernel.EvaluationState_show(self, *args)
4730 
4731  def __str__(self):
4732  r"""__str__(EvaluationState self) -> std::string"""
4733  return _IMP_kernel.EvaluationState___str__(self)
4734 
4735  def __repr__(self):
4736  r"""__repr__(EvaluationState self) -> std::string"""
4737  return _IMP_kernel.EvaluationState___repr__(self)
4738  __swig_destroy__ = _IMP_kernel.delete_EvaluationState
4739 
4740 # Register EvaluationState in _IMP_kernel:
4741 _IMP_kernel.EvaluationState_swigregister(EvaluationState)
4742 class ScoreAccumulator(_Value):
4743  r"""Proxy of C++ IMP::ScoreAccumulator class."""
4744 
4745  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4746 
4747  def __init__(self, *args):
4748  r"""
4749  __init__(ScoreAccumulator self, ScoreAccumulator arg2) -> ScoreAccumulator
4750  __init__(ScoreAccumulator self) -> ScoreAccumulator
4751  __init__(ScoreAccumulator self, ScoreAccumulator o, Restraint r) -> ScoreAccumulator
4752  __init__(ScoreAccumulator self, ScoreAccumulator o, double weight, double local_max) -> ScoreAccumulator
4753  """
4754  _IMP_kernel.ScoreAccumulator_swiginit(self, _IMP_kernel.new_ScoreAccumulator(*args))
4755 
4756  def add_score(self, score):
4757  r"""add_score(ScoreAccumulator self, double score)"""
4758  return _IMP_kernel.ScoreAccumulator_add_score(self, score)
4759 
4760  def get_abort_evaluation(self):
4761  r"""get_abort_evaluation(ScoreAccumulator self) -> bool"""
4762  return _IMP_kernel.ScoreAccumulator_get_abort_evaluation(self)
4763 
4764  def get_is_evaluate_if_below(self):
4765  r"""get_is_evaluate_if_below(ScoreAccumulator self) -> bool"""
4766  return _IMP_kernel.ScoreAccumulator_get_is_evaluate_if_below(self)
4767 
4768  def get_is_evaluate_if_good(self):
4769  r"""get_is_evaluate_if_good(ScoreAccumulator self) -> bool"""
4770  return _IMP_kernel.ScoreAccumulator_get_is_evaluate_if_good(self)
4771 
4772  def get_maximum(self):
4773  r"""get_maximum(ScoreAccumulator self) -> double"""
4774  return _IMP_kernel.ScoreAccumulator_get_maximum(self)
4775 
4776  def get_derivative_accumulator(self):
4777  r"""get_derivative_accumulator(ScoreAccumulator self) -> DerivativeAccumulator"""
4778  return _IMP_kernel.ScoreAccumulator_get_derivative_accumulator(self)
4779 
4780  def show(self, *args):
4781  r"""show(ScoreAccumulator self, _ostream out=std::cout)"""
4782  return _IMP_kernel.ScoreAccumulator_show(self, *args)
4783 
4784  def __str__(self):
4785  r"""__str__(ScoreAccumulator self) -> std::string"""
4786  return _IMP_kernel.ScoreAccumulator___str__(self)
4787 
4788  def __repr__(self):
4789  r"""__repr__(ScoreAccumulator self) -> std::string"""
4790  return _IMP_kernel.ScoreAccumulator___repr__(self)
4791  __swig_destroy__ = _IMP_kernel.delete_ScoreAccumulator
4792 
4793 # Register ScoreAccumulator in _IMP_kernel:
4794 _IMP_kernel.ScoreAccumulator_swigregister(ScoreAccumulator)
4795 class ScoreState(ModelObject):
4796  r"""Proxy of C++ IMP::ScoreState class."""
4797 
4798  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4799 
4800  def set_can_skip(self, can_skip):
4801  r"""set_can_skip(ScoreState self, bool can_skip)"""
4802  return _IMP_kernel.ScoreState_set_can_skip(self, can_skip)
4803 
4804  def __init__(self, *args):
4805  r"""
4806  __init__(ScoreState self, Model m, std::string name) -> ScoreState
4807  __init__(ScoreState self) -> ScoreState
4808  """
4809  if self.__class__ == ScoreState:
4810  _self = None
4811  else:
4812  _self = self
4813  _IMP_kernel.ScoreState_swiginit(self, _IMP_kernel.new_ScoreState(_self, *args))
4814 
4815  if self.__class__ != ScoreState:
4816  _director_objects.register(self)
4817 
4818 
4819 
4820 
4821  def before_evaluate(self):
4822  r"""before_evaluate(ScoreState self)"""
4823  return _IMP_kernel.ScoreState_before_evaluate(self)
4824 
4825  def after_evaluate(self, accpt):
4826  r"""after_evaluate(ScoreState self, DerivativeAccumulator accpt)"""
4827  return _IMP_kernel.ScoreState_after_evaluate(self, accpt)
4828 
4829  def get_can_skip(self):
4830  r"""get_can_skip(ScoreState self) -> bool"""
4831  return _IMP_kernel.ScoreState_get_can_skip(self)
4832 
4833  def get_has_update_order(self):
4834  r"""get_has_update_order(ScoreState self) -> bool"""
4835  return _IMP_kernel.ScoreState_get_has_update_order(self)
4836 
4837  def get_update_order(self):
4838  r"""get_update_order(ScoreState self) -> unsigned int"""
4839  return _IMP_kernel.ScoreState_get_update_order(self)
4840 
4841  def handle_set_has_required_score_states(self, tf):
4842  r"""handle_set_has_required_score_states(ScoreState self, bool tf)"""
4843  return _IMP_kernel.ScoreState_handle_set_has_required_score_states(self, tf)
4844 
4845  def do_before_evaluate(self):
4846  r"""do_before_evaluate(ScoreState self)"""
4847  return _IMP_kernel.ScoreState_do_before_evaluate(self)
4848 
4849  def do_after_evaluate(self, accpt):
4850  r"""do_after_evaluate(ScoreState self, DerivativeAccumulator accpt)"""
4851  return _IMP_kernel.ScoreState_do_after_evaluate(self, accpt)
4852  __swig_destroy__ = _IMP_kernel.delete_ScoreState
4853 
4854  def __str__(self):
4855  r"""__str__(ScoreState self) -> std::string"""
4856  return _IMP_kernel.ScoreState___str__(self)
4857 
4858  def __repr__(self):
4859  r"""__repr__(ScoreState self) -> std::string"""
4860  return _IMP_kernel.ScoreState___repr__(self)
4861 
4862  @staticmethod
4863  def get_from(o):
4864  return _object_cast_to_ScoreState(o)
4865 
4866 
4867  def do_show(self, out):
4868  pass
4869 
4870  @staticmethod
4871  def get_from(o):
4872  return _object_cast_to_ScoreState(o)
4873 
4874 
4875  def _wrap_jax(self, apply_func, keys=None):
4876  """Create the return value for _get_jax.
4877  Use this method in _get_jax() to wrap the JAX apply function
4878  with other model- and ScoreState-specific information.
4879 
4880  @param apply_func A function implemented using JAX that takes
4881  a single argument (the current JAX Model) and returns
4882  a new JAX Model with the ScoreState's transformation
4883  applied.
4884  @param keys If given, a set of IMP::Key objects describing Model
4885  attributes (other than xyz and radius) that the ScoreState
4886  uses.
4887  """
4888  from IMP._jax_util import JAXScoreStateInfo
4889  return JAXScoreStateInfo(m=self.get_model(), apply_func=apply_func,
4890  keys=keys)
4891 
4892  def _get_jax(self):
4893  """Return a JAX implementation of this ScoreState.
4894  Implement this method in a ScoreState subclass to provide
4895  an equivalent function using [JAX](https://docs.jax.dev/)
4896  that modifies the JAX Model. See also _wrap_jax.
4897  """
4898  raise NotImplementedError(
4899  f"No JAX implementation for {self} ({type(self)})")
4900 
4901  def __disown__(self):
4902  self.this.disown()
4903  _IMP_kernel.disown_ScoreState(self)
4904  return weakref.proxy(self)
4905 
4906  def do_destroy(self):
4907  r"""do_destroy(ScoreState self)"""
4908  return _IMP_kernel.ScoreState_do_destroy(self)
4909 
4910  def do_get_inputs(self):
4911  r"""do_get_inputs(ScoreState self) -> IMP::ModelObjectsTemp"""
4912  return _IMP_kernel.ScoreState_do_get_inputs(self)
4913 
4914  def do_get_outputs(self):
4915  r"""do_get_outputs(ScoreState self) -> IMP::ModelObjectsTemp"""
4916  return _IMP_kernel.ScoreState_do_get_outputs(self)
4917 
4918  def do_get_interactions(self):
4919  r"""do_get_interactions(ScoreState self) -> IMP::ModelObjectsTemps"""
4920  return _IMP_kernel.ScoreState_do_get_interactions(self)
4921 
4922 # Register ScoreState in _IMP_kernel:
4923 _IMP_kernel.ScoreState_swigregister(ScoreState)
4924 
4925 def get_update_order(input):
4926  r"""get_update_order(IMP::ScoreStatesTemp input) -> IMP::ScoreStatesTemp"""
4927  return _IMP_kernel.get_update_order(input)
4928 class Constraint(ScoreState):
4929  r"""Proxy of C++ IMP::Constraint class."""
4930 
4931  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4932 
4933  def __init__(self, *args):
4934  r"""
4935  __init__(Constraint self, Model m, std::string name="Constraint %1%") -> Constraint
4936  __init__(Constraint self) -> Constraint
4937  """
4938  if self.__class__ == Constraint:
4939  _self = None
4940  else:
4941  _self = self
4942  _IMP_kernel.Constraint_swiginit(self, _IMP_kernel.new_Constraint(_self, *args))
4943 
4944  if self.__class__ != Constraint:
4945  _director_objects.register(self)
4946 
4947 
4948 
4949 
4950  def do_update_attributes(self):
4951  r"""do_update_attributes(Constraint self)"""
4952  return _IMP_kernel.Constraint_do_update_attributes(self)
4953 
4954  def do_update_derivatives(self, da):
4955  r"""do_update_derivatives(Constraint self, DerivativeAccumulator da)"""
4956  return _IMP_kernel.Constraint_do_update_derivatives(self, da)
4957 
4958  def do_before_evaluate(self):
4959  r"""do_before_evaluate(Constraint self)"""
4960  return _IMP_kernel.Constraint_do_before_evaluate(self)
4961 
4962  def do_after_evaluate(self, da):
4963  r"""do_after_evaluate(Constraint self, DerivativeAccumulator da)"""
4964  return _IMP_kernel.Constraint_do_after_evaluate(self, da)
4965  __swig_destroy__ = _IMP_kernel.delete_Constraint
4966 
4967  def __str__(self):
4968  r"""__str__(Constraint self) -> std::string"""
4969  return _IMP_kernel.Constraint___str__(self)
4970 
4971  def __repr__(self):
4972  r"""__repr__(Constraint self) -> std::string"""
4973  return _IMP_kernel.Constraint___repr__(self)
4974 
4975  @staticmethod
4976  def get_from(o):
4977  return _object_cast_to_Constraint(o)
4978 
4979 
4980  def do_show(self, out):
4981  pass
4982 
4983  @staticmethod
4984  def get_from(o):
4985  return _object_cast_to_Constraint(o)
4986 
4987  def __disown__(self):
4988  self.this.disown()
4989  _IMP_kernel.disown_Constraint(self)
4990  return weakref.proxy(self)
4991 
4992  def do_destroy(self):
4993  r"""do_destroy(Constraint self)"""
4994  return _IMP_kernel.Constraint_do_destroy(self)
4995 
4996  def do_get_inputs(self):
4997  r"""do_get_inputs(Constraint self) -> IMP::ModelObjectsTemp"""
4998  return _IMP_kernel.Constraint_do_get_inputs(self)
4999 
5000  def do_get_outputs(self):
5001  r"""do_get_outputs(Constraint self) -> IMP::ModelObjectsTemp"""
5002  return _IMP_kernel.Constraint_do_get_outputs(self)
5003 
5004  def do_get_interactions(self):
5005  r"""do_get_interactions(Constraint self) -> IMP::ModelObjectsTemps"""
5006  return _IMP_kernel.Constraint_do_get_interactions(self)
5007 
5008 # Register Constraint in _IMP_kernel:
5009 _IMP_kernel.Constraint_swigregister(Constraint)
5010 class Container(ModelObject):
5011  r"""Proxy of C++ IMP::Container class."""
5012 
5013  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5014 
5015  def __init__(self, *args):
5016  r"""
5017  __init__(Container self, Model m, std::string name="Container %1%") -> Container
5018  __init__(Container self) -> Container
5019  """
5020  if self.__class__ == Container:
5021  _self = None
5022  else:
5023  _self = self
5024  _IMP_kernel.Container_swiginit(self, _IMP_kernel.new_Container(_self, *args))
5025 
5026  if self.__class__ != Container:
5027  _director_objects.register(self)
5028 
5029 
5030 
5031 
5032  def do_get_contents_hash(self):
5033  r"""do_get_contents_hash(Container self) -> std::size_t"""
5034  return _IMP_kernel.Container_do_get_contents_hash(self)
5035 
5036  def get_all_possible_indexes(self):
5037  r"""get_all_possible_indexes(Container self) -> IMP::ParticleIndexes"""
5038  return _IMP_kernel.Container_get_all_possible_indexes(self)
5039 
5040  def get_contents_hash(self):
5041  r"""get_contents_hash(Container self) -> std::size_t"""
5042  return _IMP_kernel.Container_get_contents_hash(self)
5043 
5044  def do_get_outputs(self):
5045  r"""do_get_outputs(Container self) -> IMP::ModelObjectsTemp"""
5046  return _IMP_kernel.Container_do_get_outputs(self)
5047 
5048  def get_is_decomposable(self):
5049  r"""get_is_decomposable(Container self) -> bool"""
5050  return _IMP_kernel.Container_get_is_decomposable(self)
5051 
5052  def validate_readable(self):
5053  r"""validate_readable(Container self)"""
5054  return _IMP_kernel.Container_validate_readable(self)
5055 
5056  def validate_writable(self):
5057  r"""validate_writable(Container self)"""
5058  return _IMP_kernel.Container_validate_writable(self)
5059 
5060  def set_is_readable(self, tf):
5061  r"""set_is_readable(Container self, bool tf)"""
5062  return _IMP_kernel.Container_set_is_readable(self, tf)
5063 
5064  def set_is_writable(self, tf):
5065  r"""set_is_writable(Container self, bool tf)"""
5066  return _IMP_kernel.Container_set_is_writable(self, tf)
5067  __swig_destroy__ = _IMP_kernel.delete_Container
5068 
5069  def __str__(self):
5070  r"""__str__(Container self) -> std::string"""
5071  return _IMP_kernel.Container___str__(self)
5072 
5073  def __repr__(self):
5074  r"""__repr__(Container self) -> std::string"""
5075  return _IMP_kernel.Container___repr__(self)
5076 
5077  @staticmethod
5078  def get_from(o):
5079  return _object_cast_to_Container(o)
5080 
5081 
5082  def do_show(self, out):
5083  pass
5084 
5085  @staticmethod
5086  def get_from(o):
5087  return _object_cast_to_Container(o)
5088 
5089  def __disown__(self):
5090  self.this.disown()
5091  _IMP_kernel.disown_Container(self)
5092  return weakref.proxy(self)
5093 
5094  def do_destroy(self):
5095  r"""do_destroy(Container self)"""
5096  return _IMP_kernel.Container_do_destroy(self)
5097 
5098  def handle_set_has_required_score_states(self, arg0):
5099  r"""handle_set_has_required_score_states(Container self, bool arg0)"""
5100  return _IMP_kernel.Container_handle_set_has_required_score_states(self, arg0)
5101 
5102  def do_get_inputs(self):
5103  r"""do_get_inputs(Container self) -> IMP::ModelObjectsTemp"""
5104  return _IMP_kernel.Container_do_get_inputs(self)
5105 
5106  def do_get_interactions(self):
5107  r"""do_get_interactions(Container self) -> IMP::ModelObjectsTemps"""
5108  return _IMP_kernel.Container_do_get_interactions(self)
5109 
5110 # Register Container in _IMP_kernel:
5111 _IMP_kernel.Container_swigregister(Container)
5112 class RestraintInfo(Object):
5113  r"""Proxy of C++ IMP::RestraintInfo class."""
5114 
5115  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5116 
5117  def __init__(self, *args):
5118  r"""__init__(RestraintInfo self, std::string name="RestraintInfo %1%") -> RestraintInfo"""
5119  _IMP_kernel.RestraintInfo_swiginit(self, _IMP_kernel.new_RestraintInfo(*args))
5120 
5121  def clear(self):
5122  r"""clear(RestraintInfo self)"""
5123  return _IMP_kernel.RestraintInfo_clear(self)
5124 
5125  def add_int(self, key, value):
5126  r"""add_int(RestraintInfo self, std::string key, int value)"""
5127  return _IMP_kernel.RestraintInfo_add_int(self, key, value)
5128 
5129  def get_number_of_int(self):
5130  r"""get_number_of_int(RestraintInfo self) -> unsigned int"""
5131  return _IMP_kernel.RestraintInfo_get_number_of_int(self)
5132 
5133  def get_int_key(self, i):
5134  r"""get_int_key(RestraintInfo self, unsigned int i) -> std::string"""
5135  return _IMP_kernel.RestraintInfo_get_int_key(self, i)
5136 
5137  def get_int_value(self, i):
5138  r"""get_int_value(RestraintInfo self, unsigned int i) -> int"""
5139  return _IMP_kernel.RestraintInfo_get_int_value(self, i)
5140 
5141  def add_float(self, key, value):
5142  r"""add_float(RestraintInfo self, std::string key, double value)"""
5143  return _IMP_kernel.RestraintInfo_add_float(self, key, value)
5144 
5145  def get_number_of_float(self):
5146  r"""get_number_of_float(RestraintInfo self) -> unsigned int"""
5147  return _IMP_kernel.RestraintInfo_get_number_of_float(self)
5148 
5149  def get_float_key(self, i):
5150  r"""get_float_key(RestraintInfo self, unsigned int i) -> std::string"""
5151  return _IMP_kernel.RestraintInfo_get_float_key(self, i)
5152 
5153  def get_float_value(self, i):
5154  r"""get_float_value(RestraintInfo self, unsigned int i) -> double"""
5155  return _IMP_kernel.RestraintInfo_get_float_value(self, i)
5156 
5157  def add_string(self, key, value):
5158  r"""add_string(RestraintInfo self, std::string key, std::string value)"""
5159  return _IMP_kernel.RestraintInfo_add_string(self, key, value)
5160 
5161  def get_number_of_string(self):
5162  r"""get_number_of_string(RestraintInfo self) -> unsigned int"""
5163  return _IMP_kernel.RestraintInfo_get_number_of_string(self)
5164 
5165  def get_string_key(self, i):
5166  r"""get_string_key(RestraintInfo self, unsigned int i) -> std::string"""
5167  return _IMP_kernel.RestraintInfo_get_string_key(self, i)
5168 
5169  def get_string_value(self, i):
5170  r"""get_string_value(RestraintInfo self, unsigned int i) -> std::string"""
5171  return _IMP_kernel.RestraintInfo_get_string_value(self, i)
5172 
5173  def add_filename(self, key, value):
5174  r"""add_filename(RestraintInfo self, std::string key, std::string value)"""
5175  return _IMP_kernel.RestraintInfo_add_filename(self, key, value)
5176 
5177  def get_number_of_filename(self):
5178  r"""get_number_of_filename(RestraintInfo self) -> unsigned int"""
5179  return _IMP_kernel.RestraintInfo_get_number_of_filename(self)
5180 
5181  def get_filename_key(self, i):
5182  r"""get_filename_key(RestraintInfo self, unsigned int i) -> std::string"""
5183  return _IMP_kernel.RestraintInfo_get_filename_key(self, i)
5184 
5185  def get_filename_value(self, i):
5186  r"""get_filename_value(RestraintInfo self, unsigned int i) -> std::string"""
5187  return _IMP_kernel.RestraintInfo_get_filename_value(self, i)
5188 
5189  def add_floats(self, key, value):
5190  r"""add_floats(RestraintInfo self, std::string key, IMP::Floats value)"""
5191  return _IMP_kernel.RestraintInfo_add_floats(self, key, value)
5192 
5193  def get_number_of_floats(self):
5194  r"""get_number_of_floats(RestraintInfo self) -> unsigned int"""
5195  return _IMP_kernel.RestraintInfo_get_number_of_floats(self)
5196 
5197  def get_floats_key(self, i):
5198  r"""get_floats_key(RestraintInfo self, unsigned int i) -> std::string"""
5199  return _IMP_kernel.RestraintInfo_get_floats_key(self, i)
5200 
5201  def get_floats_value(self, i):
5202  r"""get_floats_value(RestraintInfo self, unsigned int i) -> IMP::Floats"""
5203  return _IMP_kernel.RestraintInfo_get_floats_value(self, i)
5204 
5205  def add_ints(self, key, value):
5206  r"""add_ints(RestraintInfo self, std::string key, IMP::Ints value)"""
5207  return _IMP_kernel.RestraintInfo_add_ints(self, key, value)
5208 
5209  def get_number_of_ints(self):
5210  r"""get_number_of_ints(RestraintInfo self) -> unsigned int"""
5211  return _IMP_kernel.RestraintInfo_get_number_of_ints(self)
5212 
5213  def get_ints_key(self, i):
5214  r"""get_ints_key(RestraintInfo self, unsigned int i) -> std::string"""
5215  return _IMP_kernel.RestraintInfo_get_ints_key(self, i)
5216 
5217  def get_ints_value(self, i):
5218  r"""get_ints_value(RestraintInfo self, unsigned int i) -> IMP::Ints"""
5219  return _IMP_kernel.RestraintInfo_get_ints_value(self, i)
5220 
5221  def add_strings(self, key, value):
5222  r"""add_strings(RestraintInfo self, std::string key, IMP::Strings value)"""
5223  return _IMP_kernel.RestraintInfo_add_strings(self, key, value)
5224 
5225  def get_number_of_strings(self):
5226  r"""get_number_of_strings(RestraintInfo self) -> unsigned int"""
5227  return _IMP_kernel.RestraintInfo_get_number_of_strings(self)
5228 
5229  def get_strings_key(self, i):
5230  r"""get_strings_key(RestraintInfo self, unsigned int i) -> std::string"""
5231  return _IMP_kernel.RestraintInfo_get_strings_key(self, i)
5232 
5233  def get_strings_value(self, i):
5234  r"""get_strings_value(RestraintInfo self, unsigned int i) -> IMP::Strings"""
5235  return _IMP_kernel.RestraintInfo_get_strings_value(self, i)
5236 
5237  def add_filenames(self, key, value):
5238  r"""add_filenames(RestraintInfo self, std::string key, IMP::Strings value)"""
5239  return _IMP_kernel.RestraintInfo_add_filenames(self, key, value)
5240 
5241  def get_number_of_filenames(self):
5242  r"""get_number_of_filenames(RestraintInfo self) -> unsigned int"""
5243  return _IMP_kernel.RestraintInfo_get_number_of_filenames(self)
5244 
5245  def get_filenames_key(self, i):
5246  r"""get_filenames_key(RestraintInfo self, unsigned int i) -> std::string"""
5247  return _IMP_kernel.RestraintInfo_get_filenames_key(self, i)
5248 
5249  def get_filenames_value(self, i):
5250  r"""get_filenames_value(RestraintInfo self, unsigned int i) -> IMP::Strings"""
5251  return _IMP_kernel.RestraintInfo_get_filenames_value(self, i)
5252 
5253  def add_particle_indexes(self, key, value):
5254  r"""add_particle_indexes(RestraintInfo self, std::string key, IMP::ParticleIndexes value)"""
5255  return _IMP_kernel.RestraintInfo_add_particle_indexes(self, key, value)
5256 
5257  def get_number_of_particle_indexes(self):
5258  r"""get_number_of_particle_indexes(RestraintInfo self) -> unsigned int"""
5259  return _IMP_kernel.RestraintInfo_get_number_of_particle_indexes(self)
5260 
5261  def get_particle_indexes_key(self, i):
5262  r"""get_particle_indexes_key(RestraintInfo self, unsigned int i) -> std::string"""
5263  return _IMP_kernel.RestraintInfo_get_particle_indexes_key(self, i)
5264 
5265  def get_particle_indexes_value(self, i):
5266  r"""get_particle_indexes_value(RestraintInfo self, unsigned int i) -> IMP::ParticleIndexes"""
5267  return _IMP_kernel.RestraintInfo_get_particle_indexes_value(self, i)
5268 
5269  def get_version_info(self):
5270  r"""get_version_info(RestraintInfo self) -> VersionInfo"""
5271  return _IMP_kernel.RestraintInfo_get_version_info(self)
5272  __swig_destroy__ = _IMP_kernel.delete_RestraintInfo
5273 
5274  def __str__(self):
5275  r"""__str__(RestraintInfo self) -> std::string"""
5276  return _IMP_kernel.RestraintInfo___str__(self)
5277 
5278  def __repr__(self):
5279  r"""__repr__(RestraintInfo self) -> std::string"""
5280  return _IMP_kernel.RestraintInfo___repr__(self)
5281 
5282  @staticmethod
5283  def get_from(o):
5284  return _object_cast_to_RestraintInfo(o)
5285 
5286 
5287 # Register RestraintInfo in _IMP_kernel:
5288 _IMP_kernel.RestraintInfo_swigregister(RestraintInfo)
5289 class Restraint(ModelObject):
5290  r"""Proxy of C++ IMP::Restraint class."""
5291 
5292  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5293 
5294  def __init__(self, *args):
5295  r"""
5296  __init__(Restraint self, Model m, std::string name) -> Restraint
5297  __init__(Restraint self) -> Restraint
5298  """
5299  if self.__class__ == Restraint:
5300  _self = None
5301  else:
5302  _self = self
5303  _IMP_kernel.Restraint_swiginit(self, _IMP_kernel.new_Restraint(_self, *args))
5304 
5305  if self.__class__ != Restraint:
5306  _director_objects.register(self)
5307 
5308 
5309 
5310 
5311  def get_score(self):
5312  r"""get_score(Restraint self) -> double"""
5313  return _IMP_kernel.Restraint_get_score(self)
5314 
5315  def evaluate(self, calc_derivs):
5316  r"""evaluate(Restraint self, bool calc_derivs) -> double"""
5317  return _IMP_kernel.Restraint_evaluate(self, calc_derivs)
5318 
5319  def evaluate_moved(self, calc_derivs, moved_pis, reset_pis):
5320  r"""evaluate_moved(Restraint self, bool calc_derivs, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double"""
5321  return _IMP_kernel.Restraint_evaluate_moved(self, calc_derivs, moved_pis, reset_pis)
5322 
5323  def evaluate_moved_if_below(self, calc_derivatives, moved_pis, reset_pis, max):
5324  r"""evaluate_moved_if_below(Restraint self, bool calc_derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, double max) -> double"""
5325  return _IMP_kernel.Restraint_evaluate_moved_if_below(self, calc_derivatives, moved_pis, reset_pis, max)
5326 
5327  def evaluate_moved_if_good(self, calc_derivatives, moved_pis, reset_pis):
5328  r"""evaluate_moved_if_good(Restraint self, bool calc_derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double"""
5329  return _IMP_kernel.Restraint_evaluate_moved_if_good(self, calc_derivatives, moved_pis, reset_pis)
5330 
5331  def evaluate_if_good(self, calc_derivatives):
5332  r"""evaluate_if_good(Restraint self, bool calc_derivatives) -> double"""
5333  return _IMP_kernel.Restraint_evaluate_if_good(self, calc_derivatives)
5334 
5335  def evaluate_if_below(self, calc_derivatives, max):
5336  r"""evaluate_if_below(Restraint self, bool calc_derivatives, double max) -> double"""
5337  return _IMP_kernel.Restraint_evaluate_if_below(self, calc_derivatives, max)
5338 
5339  def unprotected_evaluate(self, da):
5340  r"""unprotected_evaluate(Restraint self, DerivativeAccumulator da) -> double"""
5341  return _IMP_kernel.Restraint_unprotected_evaluate(self, da)
5342 
5343  def unprotected_evaluate_moved(self, da, moved_pis, reset_pis):
5344  r"""unprotected_evaluate_moved(Restraint self, DerivativeAccumulator da, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double"""
5345  return _IMP_kernel.Restraint_unprotected_evaluate_moved(self, da, moved_pis, reset_pis)
5346 
5347  def unprotected_evaluate_if_good(self, da, max):
5348  r"""unprotected_evaluate_if_good(Restraint self, DerivativeAccumulator da, double max) -> double"""
5349  return _IMP_kernel.Restraint_unprotected_evaluate_if_good(self, da, max)
5350 
5351  def unprotected_evaluate_if_below(self, da, max):
5352  r"""unprotected_evaluate_if_below(Restraint self, DerivativeAccumulator da, double max) -> double"""
5353  return _IMP_kernel.Restraint_unprotected_evaluate_if_below(self, da, max)
5354 
5355  def unprotected_evaluate_moved_if_below(self, da, moved_pis, reset_pis, max):
5356  r"""unprotected_evaluate_moved_if_below(Restraint self, DerivativeAccumulator da, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, double max) -> double"""
5357  return _IMP_kernel.Restraint_unprotected_evaluate_moved_if_below(self, da, moved_pis, reset_pis, max)
5358 
5359  def unprotected_evaluate_moved_if_good(self, da, moved_pis, reset_pis, max):
5360  r"""unprotected_evaluate_moved_if_good(Restraint self, DerivativeAccumulator da, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, double max) -> double"""
5361  return _IMP_kernel.Restraint_unprotected_evaluate_moved_if_good(self, da, moved_pis, reset_pis, max)
5362 
5363  def get_static_info(self):
5364  r"""get_static_info(Restraint self) -> RestraintInfo"""
5365  return _IMP_kernel.Restraint_get_static_info(self)
5366 
5367  def get_dynamic_info(self):
5368  r"""get_dynamic_info(Restraint self) -> RestraintInfo"""
5369  return _IMP_kernel.Restraint_get_dynamic_info(self)
5370 
5371  def add_score_and_derivatives(self, sa):
5372  r"""add_score_and_derivatives(Restraint self, ScoreAccumulator sa)"""
5373  return _IMP_kernel.Restraint_add_score_and_derivatives(self, sa)
5374 
5375  def add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis):
5376  r"""add_score_and_derivatives_moved(Restraint self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
5377  return _IMP_kernel.Restraint_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis)
5378 
5379  def create_decomposition(self):
5380  r"""create_decomposition(Restraint self) -> Restraint"""
5381  return _IMP_kernel.Restraint_create_decomposition(self)
5382 
5383  def create_current_decomposition(self):
5384  r"""create_current_decomposition(Restraint self) -> Restraint"""
5385  return _IMP_kernel.Restraint_create_current_decomposition(self)
5386 
5387  def set_weight(self, weight):
5388  r"""set_weight(Restraint self, IMP::Float weight)"""
5389  return _IMP_kernel.Restraint_set_weight(self, weight)
5390 
5391  def get_weight(self):
5392  r"""get_weight(Restraint self) -> IMP::Float"""
5393  return _IMP_kernel.Restraint_get_weight(self)
5394 
5395  def get_maximum_score(self):
5396  r"""get_maximum_score(Restraint self) -> double"""
5397  return _IMP_kernel.Restraint_get_maximum_score(self)
5398 
5399  def set_maximum_score(self, s):
5400  r"""set_maximum_score(Restraint self, double s)"""
5401  return _IMP_kernel.Restraint_set_maximum_score(self, s)
5402 
5403  def create_scoring_function(self, *args):
5404  r"""create_scoring_function(Restraint self, double weight=1.0, double max=NO_MAX) -> ScoringFunction"""
5405  return _IMP_kernel.Restraint_create_scoring_function(self, *args)
5406 
5407  def set_last_score(self, s):
5408  r"""set_last_score(Restraint self, double s)"""
5409  return _IMP_kernel.Restraint_set_last_score(self, s)
5410 
5411  def set_last_last_score(self, s):
5412  r"""set_last_last_score(Restraint self, double s)"""
5413  return _IMP_kernel.Restraint_set_last_last_score(self, s)
5414 
5415  def get_last_score(self):
5416  r"""get_last_score(Restraint self) -> double"""
5417  return _IMP_kernel.Restraint_get_last_score(self)
5418 
5419  def get_last_last_score(self):
5420  r"""get_last_last_score(Restraint self) -> double"""
5421  return _IMP_kernel.Restraint_get_last_last_score(self)
5422 
5423  def get_is_aggregate(self):
5424  r"""get_is_aggregate(Restraint self) -> bool"""
5425  return _IMP_kernel.Restraint_get_is_aggregate(self)
5426 
5427  def get_was_good(self):
5428  r"""get_was_good(Restraint self) -> bool"""
5429  return _IMP_kernel.Restraint_get_was_good(self)
5430  __swig_destroy__ = _IMP_kernel.delete_Restraint
5431 
5432  def do_create_decomposition(self):
5433  r"""do_create_decomposition(Restraint self) -> IMP::Restraints"""
5434  return _IMP_kernel.Restraint_do_create_decomposition(self)
5435 
5436  def do_create_current_decomposition(self):
5437  r"""do_create_current_decomposition(Restraint self) -> IMP::Restraints"""
5438  return _IMP_kernel.Restraint_do_create_current_decomposition(self)
5439 
5440  def do_add_score_and_derivatives(self, sa):
5441  r"""do_add_score_and_derivatives(Restraint self, ScoreAccumulator sa)"""
5442  return _IMP_kernel.Restraint_do_add_score_and_derivatives(self, sa)
5443 
5444  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis):
5445  r"""do_add_score_and_derivatives_moved(Restraint self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
5446  return _IMP_kernel.Restraint_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis)
5447 
5448  def do_get_outputs(self):
5449  r"""do_get_outputs(Restraint self) -> IMP::ModelObjectsTemp"""
5450  return _IMP_kernel.Restraint_do_get_outputs(self)
5451  is_aggregate_ = property(_IMP_kernel.Restraint_is_aggregate__get, _IMP_kernel.Restraint_is_aggregate__set, doc=r"""is_aggregate_ : bool""")
5452 
5453  def __str__(self):
5454  r"""__str__(Restraint self) -> std::string"""
5455  return _IMP_kernel.Restraint___str__(self)
5456 
5457  def __repr__(self):
5458  r"""__repr__(Restraint self) -> std::string"""
5459  return _IMP_kernel.Restraint___repr__(self)
5460 
5461  @staticmethod
5462  def get_from(o):
5463  return _object_cast_to_Restraint(o)
5464 
5465 
5466  def do_show(self, out):
5467  pass
5468 
5469  @staticmethod
5470  def get_from(o):
5471  return _object_cast_to_Restraint(o)
5472 
5473 
5474  def _wrap_jax(self, score_func, keys=None):
5475  """Create the return value for _get_jax.
5476  Use this method in _get_jax() to wrap the JAX scoring function
5477  with other model- and restraint-specific information.
5478 
5479  @param score_func A function implemented using JAX that takes
5480  a single argument (the current JAX Model) and returns
5481  the score of the restraint.
5482  @param keys If given, a set of IMP::Key objects describing Model
5483  attributes (other than xyz and radius) that the restraint
5484  uses. For example, a restraint that uses electrostatic charge
5485  would pass IMP::atom::Charged::get_charge_key() here.
5486  """
5487  from IMP._jax_util import JAXRestraintInfo
5488  return JAXRestraintInfo(m=self.get_model(), score_func=score_func,
5489  weight=self.get_weight(), keys=keys)
5490 
5491  def _get_jax(self):
5492  """Return a JAX implementation of this Restraint.
5493  Implement this method in a Restraint subclass to provide
5494  an equivalent function using [JAX](https://docs.jax.dev/)
5495  that scores the current JAX Model. See also _wrap_jax.
5496  """
5497  raise NotImplementedError(
5498  f"No JAX implementation for {self} ({type(self)})")
5499 
5500  def _evaluate_jax(self):
5501  """Similar to evaluate(False), but using JAX.
5502  This is intended to be useful for testing purposes. It will likely
5503  not be particularly fast as it will copy the IMP Model and
5504  jax.jit-compile the scoring function each time."""
5505  import jax
5506  ji = self._get_jax()
5507  jm = ji.get_jax_model()
5508  j = jax.jit(ji.score_func)
5509  return j(jm)
5510 
5511  def __disown__(self):
5512  self.this.disown()
5513  _IMP_kernel.disown_Restraint(self)
5514  return weakref.proxy(self)
5515 
5516  def do_destroy(self):
5517  r"""do_destroy(Restraint self)"""
5518  return _IMP_kernel.Restraint_do_destroy(self)
5519 
5520  def handle_set_has_required_score_states(self, arg0):
5521  r"""handle_set_has_required_score_states(Restraint self, bool arg0)"""
5522  return _IMP_kernel.Restraint_handle_set_has_required_score_states(self, arg0)
5523 
5524  def do_get_inputs(self):
5525  r"""do_get_inputs(Restraint self) -> IMP::ModelObjectsTemp"""
5526  return _IMP_kernel.Restraint_do_get_inputs(self)
5527 
5528  def do_get_interactions(self):
5529  r"""do_get_interactions(Restraint self) -> IMP::ModelObjectsTemps"""
5530  return _IMP_kernel.Restraint_do_get_interactions(self)
5531 
5532 # Register Restraint in _IMP_kernel:
5533 _IMP_kernel.Restraint_swigregister(Restraint)
5534 class _RestraintsAdaptor(_InputAdaptor):
5535  r"""Proxy of C++ IMP::RestraintsAdaptor class."""
5536 
5537  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5538  __repr__ = _swig_repr
5539 
5540  def __init__(self, *args):
5541  r"""
5542  __init__(_RestraintsAdaptor self) -> _RestraintsAdaptor
5543  __init__(_RestraintsAdaptor self, IMP::Restraints const & sf) -> _RestraintsAdaptor
5544  __init__(_RestraintsAdaptor self, IMP::RestraintsTemp const & sf) -> _RestraintsAdaptor
5545  __init__(_RestraintsAdaptor self, Restraint sf) -> _RestraintsAdaptor
5546  """
5547  _IMP_kernel._RestraintsAdaptor_swiginit(self, _IMP_kernel.new__RestraintsAdaptor(*args))
5548  __swig_destroy__ = _IMP_kernel.delete__RestraintsAdaptor
5549 
5550 # Register _RestraintsAdaptor in _IMP_kernel:
5551 _IMP_kernel._RestraintsAdaptor_swigregister(_RestraintsAdaptor)
5552 class RestraintSet(Restraint):
5553  r"""Proxy of C++ IMP::RestraintSet class."""
5554 
5555  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5556 
5557  def __init__(self, *args):
5558  r"""
5559  __init__(RestraintSet self, Model m, double weight, std::string const & name="RestraintSet %1%") -> RestraintSet
5560  __init__(RestraintSet self, Model m, std::string const & name="RestraintSet %1%") -> RestraintSet
5561  __init__(RestraintSet self, IMP::RestraintsTemp const & rs, double weight, std::string const & name="RestraintSet %1%") -> RestraintSet
5562  __init__(RestraintSet self) -> RestraintSet
5563  """
5564  if self.__class__ == RestraintSet:
5565  _self = None
5566  else:
5567  _self = self
5568  _IMP_kernel.RestraintSet_swiginit(self, _IMP_kernel.new_RestraintSet(_self, *args))
5569 
5570  if self.__class__ != RestraintSet:
5571  _director_objects.register(self)
5572 
5573 
5574 
5575 
5576  def unprotected_evaluate(self, da):
5577  r"""unprotected_evaluate(RestraintSet self, DerivativeAccumulator da) -> double"""
5578  return _IMP_kernel.RestraintSet_unprotected_evaluate(self, da)
5579 
5580  def get_type_name(self):
5581  r"""get_type_name(RestraintSet self) -> std::string"""
5582  return _IMP_kernel.RestraintSet_get_type_name(self)
5583 
5584  def get_version_info(self):
5585  r"""get_version_info(RestraintSet self) -> VersionInfo"""
5586  return _IMP_kernel.RestraintSet_get_version_info(self)
5587  __swig_destroy__ = _IMP_kernel.delete_RestraintSet
5588  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)
5589  def __set_restraints(self, obj): _list_util.set_varlist(self.restraints, obj)
5590  def __del_restraints(self): _list_util.del_varlist(self.restraints)
5591  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##ucnames")
5592 
5593  def remove_restraint(self, d):
5594  r"""remove_restraint(RestraintSet self, Restraint d)"""
5595  return _IMP_kernel.RestraintSet_remove_restraint(self, d)
5596 
5597  def _python_index_restraint(self, d, start, stop):
5598  r"""_python_index_restraint(RestraintSet self, Restraint d, unsigned int start, unsigned int stop) -> unsigned int"""
5599  return _IMP_kernel.RestraintSet__python_index_restraint(self, d, start, stop)
5600 
5601  def remove_restraints(self, d):
5602  r"""remove_restraints(RestraintSet self, IMP::Restraints const & d)"""
5603  return _IMP_kernel.RestraintSet_remove_restraints(self, d)
5604 
5605  def set_restraints(self, ps):
5606  r"""set_restraints(RestraintSet self, IMP::Restraints const & ps)"""
5607  return _IMP_kernel.RestraintSet_set_restraints(self, ps)
5608 
5609  def set_restraints_order(self, objs):
5610  r"""set_restraints_order(RestraintSet self, IMP::Restraints const & objs)"""
5611  return _IMP_kernel.RestraintSet_set_restraints_order(self, objs)
5612 
5613  def add_restraint(self, obj):
5614  r"""add_restraint(RestraintSet self, Restraint obj) -> unsigned int"""
5615  return _IMP_kernel.RestraintSet_add_restraint(self, obj)
5616 
5617  def add_restraints(self, objs):
5618  r"""add_restraints(RestraintSet self, IMP::Restraints const & objs)"""
5619  return _IMP_kernel.RestraintSet_add_restraints(self, objs)
5620 
5621  def clear_restraints(self):
5622  r"""clear_restraints(RestraintSet self)"""
5623  return _IMP_kernel.RestraintSet_clear_restraints(self)
5624 
5625  def get_number_of_restraints(self):
5626  r"""get_number_of_restraints(RestraintSet self) -> unsigned int"""
5627  return _IMP_kernel.RestraintSet_get_number_of_restraints(self)
5628 
5629  def get_has_restraints(self):
5630  r"""get_has_restraints(RestraintSet self) -> bool"""
5631  return _IMP_kernel.RestraintSet_get_has_restraints(self)
5632 
5633  def get_restraint(self, i):
5634  r"""get_restraint(RestraintSet self, unsigned int i) -> Restraint"""
5635  return _IMP_kernel.RestraintSet_get_restraint(self, i)
5636 
5637  def get_restraints(self):
5638  r"""get_restraints(RestraintSet self) -> IMP::Restraints"""
5639  return _IMP_kernel.RestraintSet_get_restraints(self)
5640 
5641  def erase_restraint(self, i):
5642  r"""erase_restraint(RestraintSet self, unsigned int i)"""
5643  return _IMP_kernel.RestraintSet_erase_restraint(self, i)
5644 
5645  def reserve_restraints(self, sz):
5646  r"""reserve_restraints(RestraintSet self, unsigned int sz)"""
5647  return _IMP_kernel.RestraintSet_reserve_restraints(self, sz)
5648 
5649  def get_non_sets_and_sets(self):
5650  r"""get_non_sets_and_sets(RestraintSet self) -> std::pair< IMP::RestraintsTemp,IMP::RestraintSetsTemp >"""
5651  return _IMP_kernel.RestraintSet_get_non_sets_and_sets(self)
5652 
5653  def do_get_inputs(self):
5654  r"""do_get_inputs(RestraintSet self) -> IMP::ModelObjectsTemp"""
5655  return _IMP_kernel.RestraintSet_do_get_inputs(self)
5656 
5657  def create_scoring_function(self, *args):
5658  r"""create_scoring_function(RestraintSet self, double weight=1.0, double max=std::numeric_limits< double >::max()) -> ScoringFunction"""
5659  return _IMP_kernel.RestraintSet_create_scoring_function(self, *args)
5660 
5661  def get_last_score(self):
5662  r"""get_last_score(RestraintSet self) -> double"""
5663  return _IMP_kernel.RestraintSet_get_last_score(self)
5664 
5665  def __str__(self):
5666  r"""__str__(RestraintSet self) -> std::string"""
5667  return _IMP_kernel.RestraintSet___str__(self)
5668 
5669  def __repr__(self):
5670  r"""__repr__(RestraintSet self) -> std::string"""
5671  return _IMP_kernel.RestraintSet___repr__(self)
5672 
5673  @staticmethod
5674  def get_from(o):
5675  return _object_cast_to_RestraintSet(o)
5676 
5677 
5678  def do_show(self, out):
5679  pass
5680 
5681  @staticmethod
5682  def get_from(o):
5683  return _object_cast_to_RestraintSet(o)
5684 
5685 
5686  def _get_as_binary(self):
5687  r"""_get_as_binary(RestraintSet self) -> PyObject *"""
5688  return _IMP_kernel.RestraintSet__get_as_binary(self)
5689 
5690  def _set_from_binary(self, p):
5691  r"""_set_from_binary(RestraintSet self, PyObject * p)"""
5692  return _IMP_kernel.RestraintSet__set_from_binary(self, p)
5693 
5694  def __getstate__(self):
5695  p = self._get_as_binary()
5696  if len(self.__dict__) > 1:
5697  d = self.__dict__.copy()
5698  del d['this']
5699  p = (d, p)
5700  return p
5701 
5702  def __setstate__(self, p):
5703  if not hasattr(self, 'this'):
5704  self.__init__()
5705  if isinstance(p, tuple):
5706  d, p = p
5707  self.__dict__.update(d)
5708  return self._set_from_binary(p)
5709 
5710 
5711  def _get_jax(self):
5712  jis = [r.get_derived_object()._get_jax() for r in self.restraints]
5713  funcs = [j.score_func for j in jis]
5714  keys = frozenset(x for j in jis for x in j._keys)
5715  def jax_sf(jm):
5716  if funcs:
5717  return sum(f(jm) for f in funcs)
5718  else:
5719  # sum([]) returns int, but we must return float
5720  return 0.
5721  return self._wrap_jax(jax_sf, keys=keys)
5722 
5723  def __disown__(self):
5724  self.this.disown()
5725  _IMP_kernel.disown_RestraintSet(self)
5726  return weakref.proxy(self)
5727 
5728  def do_destroy(self):
5729  r"""do_destroy(RestraintSet self)"""
5730  return _IMP_kernel.RestraintSet_do_destroy(self)
5731 
5732  def handle_set_has_required_score_states(self, arg0):
5733  r"""handle_set_has_required_score_states(RestraintSet self, bool arg0)"""
5734  return _IMP_kernel.RestraintSet_handle_set_has_required_score_states(self, arg0)
5735 
5736  def do_get_outputs(self):
5737  r"""do_get_outputs(RestraintSet self) -> IMP::ModelObjectsTemp"""
5738  return _IMP_kernel.RestraintSet_do_get_outputs(self)
5739 
5740  def do_get_interactions(self):
5741  r"""do_get_interactions(RestraintSet self) -> IMP::ModelObjectsTemps"""
5742  return _IMP_kernel.RestraintSet_do_get_interactions(self)
5743 
5744  def do_create_decomposition(self):
5745  r"""do_create_decomposition(RestraintSet self) -> IMP::Restraints"""
5746  return _IMP_kernel.RestraintSet_do_create_decomposition(self)
5747 
5748  def do_create_current_decomposition(self):
5749  r"""do_create_current_decomposition(RestraintSet self) -> IMP::Restraints"""
5750  return _IMP_kernel.RestraintSet_do_create_current_decomposition(self)
5751 
5752  def do_add_score_and_derivatives(self, sa):
5753  r"""do_add_score_and_derivatives(RestraintSet self, ScoreAccumulator sa)"""
5754  return _IMP_kernel.RestraintSet_do_add_score_and_derivatives(self, sa)
5755 
5756  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis):
5757  r"""do_add_score_and_derivatives_moved(RestraintSet self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
5758  return _IMP_kernel.RestraintSet_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis)
5759 
5760 # Register RestraintSet in _IMP_kernel:
5761 _IMP_kernel.RestraintSet_swigregister(RestraintSet)
5762 
5763 def get_restraints(rs):
5764  r"""get_restraints(IMP::RestraintsTemp const & rs) -> IMP::RestraintsTemp"""
5765  return _IMP_kernel.get_restraints(rs)
5766 
5767 def _check_particle(p, a):
5768  if (not p.get_is_active()):
5769  raise ValueError("Inactive Particle")
5770  if (type(a)() == a):
5771  raise IndexError("Cannot use default Index")
5772  if (not p.has_attribute(a)):
5773  raise IndexError("Particle does not have attribute")
5774 
5775 class Particle(ModelObject):
5776  r"""Proxy of C++ IMP::Particle class."""
5777 
5778  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5779 
5780  def get_version_info(self):
5781  r"""get_version_info(Particle self) -> VersionInfo"""
5782  return _IMP_kernel.Particle_get_version_info(self)
5783  __swig_destroy__ = _IMP_kernel.delete_Particle
5784 
5785  def __init__(self, *args):
5786  r"""
5787  __init__(Particle self, Model m, std::string name) -> Particle
5788  __init__(Particle self, Model m) -> Particle
5789  __init__(Particle self) -> Particle
5790  """
5791  _IMP_kernel.Particle_swiginit(self, _IMP_kernel.new_Particle(*args))
5792 
5793  def get_float_keys(self):
5794  r"""get_float_keys(Particle self) -> IMP::FloatKeys"""
5795  return _IMP_kernel.Particle_get_float_keys(self)
5796 
5797  def get_floats_keys(self):
5798  r"""get_floats_keys(Particle self) -> IMP::FloatsKeys"""
5799  return _IMP_kernel.Particle_get_floats_keys(self)
5800 
5801  def get_int_keys(self):
5802  r"""get_int_keys(Particle self) -> IMP::IntKeys"""
5803  return _IMP_kernel.Particle_get_int_keys(self)
5804 
5805  def get_ints_keys(self):
5806  r"""get_ints_keys(Particle self) -> IMP::IntsKeys"""
5807  return _IMP_kernel.Particle_get_ints_keys(self)
5808 
5809  def get_string_keys(self):
5810  r"""get_string_keys(Particle self) -> IMP::StringKeys"""
5811  return _IMP_kernel.Particle_get_string_keys(self)
5812 
5813  def get_object_keys(self):
5814  r"""get_object_keys(Particle self) -> IMP::ObjectKeys"""
5815  return _IMP_kernel.Particle_get_object_keys(self)
5816 
5817  def add_cache_attribute(self, *args):
5818  r"""
5819  add_cache_attribute(Particle self, FloatKey name, IMP::Float value)
5820  add_cache_attribute(Particle self, FloatsKey name, IMP::Floats value)
5821  add_cache_attribute(Particle self, IntKey name, IMP::Int value)
5822  add_cache_attribute(Particle self, IntsKey name, IMP::Ints value)
5823  add_cache_attribute(Particle self, StringKey name, IMP::String value)
5824  add_cache_attribute(Particle self, ObjectKey name, Object value)
5825  add_cache_attribute(Particle self, IMP::WeakObjectKey name, Object value)
5826  """
5827  return _IMP_kernel.Particle_add_cache_attribute(self, *args)
5828 
5829  def get_weak_object_keys(self):
5830  r"""get_weak_object_keys(Particle self) -> IMP::WeakObjectKeys"""
5831  return _IMP_kernel.Particle_get_weak_object_keys(self)
5832 
5833  def add_to_derivative(self, *args):
5834  r"""
5835  add_to_derivative(Particle self, FloatKey key, IMP::Float value, DerivativeAccumulator da)
5836  add_to_derivative(Particle self, Vector3DDerivKey key, Vector3D value, DerivativeAccumulator da)
5837  add_to_derivative(Particle self, Vector4DDerivKey key, Vector4D value, DerivativeAccumulator da)
5838  """
5839  return _IMP_kernel.Particle_add_to_derivative(self, *args)
5840 
5841  def set_is_optimized(self, *args):
5842  r"""
5843  set_is_optimized(Particle self, FloatKey k, bool tf)
5844  set_is_optimized(Particle self, Vector3DDerivKey k, bool tf)
5845  set_is_optimized(Particle self, Vector4DDerivKey k, bool tf)
5846  """
5847  return _IMP_kernel.Particle_set_is_optimized(self, *args)
5848 
5849  def get_is_optimized(self, *args):
5850  r"""
5851  get_is_optimized(Particle self, FloatKey k) -> bool
5852  get_is_optimized(Particle self, Vector3DDerivKey k) -> bool
5853  get_is_optimized(Particle self, Vector4DDerivKey k) -> bool
5854  """
5855  return _IMP_kernel.Particle_get_is_optimized(self, *args)
5856 
5857  def get_derivative(self, *args):
5858  r"""
5859  get_derivative(Particle self, FloatKey k) -> IMP::Float
5860  get_derivative(Particle self, Vector3DDerivKey k) -> Vector3D
5861  get_derivative(Particle self, Vector4DDerivKey k) -> Vector4D
5862  """
5863  return _IMP_kernel.Particle_get_derivative(self, *args)
5864 
5865  def add_attribute(self, *args):
5866  r"""
5867  add_attribute(Particle self, FloatKey name, IMP::Float initial_value)
5868  add_attribute(Particle self, FloatsKey name, IMP::Floats initial_value)
5869  add_attribute(Particle self, IntKey name, IMP::Int initial_value)
5870  add_attribute(Particle self, IntsKey name, IMP::Ints initial_value)
5871  add_attribute(Particle self, StringKey name, IMP::String initial_value)
5872  add_attribute(Particle self, ObjectKey name, Object initial_value)
5873  add_attribute(Particle self, IMP::WeakObjectKey name, Object initial_value)
5874  add_attribute(Particle self, SparseStringKey name, IMP::String initial_value)
5875  add_attribute(Particle self, SparseIntKey name, IMP::Int initial_value)
5876  add_attribute(Particle self, SparseFloatKey name, IMP::Float initial_value)
5877  add_attribute(Particle self, SparseParticleIndexKey name, ParticleIndex initial_value)
5878  add_attribute(Particle self, FloatKey name, IMP::Float const initial_value, bool optimized)
5879  add_attribute(Particle self, ParticleIndexKey k, Particle v)
5880  """
5881  return _IMP_kernel.Particle_add_attribute(self, *args)
5882 
5883  def has_attribute(self, *args):
5884  r"""
5885  has_attribute(Particle self, FloatKey name) -> bool
5886  has_attribute(Particle self, FloatsKey name) -> bool
5887  has_attribute(Particle self, IntKey name) -> bool
5888  has_attribute(Particle self, IntsKey name) -> bool
5889  has_attribute(Particle self, StringKey name) -> bool
5890  has_attribute(Particle self, ObjectKey name) -> bool
5891  has_attribute(Particle self, IMP::WeakObjectKey name) -> bool
5892  has_attribute(Particle self, SparseStringKey name) -> bool
5893  has_attribute(Particle self, SparseIntKey name) -> bool
5894  has_attribute(Particle self, SparseFloatKey name) -> bool
5895  has_attribute(Particle self, SparseParticleIndexKey name) -> bool
5896  has_attribute(Particle self, ParticleIndexKey k) -> bool
5897  """
5898  return _IMP_kernel.Particle_has_attribute(self, *args)
5899 
5900  def set_value(self, *args):
5901  r"""
5902  set_value(Particle self, FloatKey name, IMP::Float value)
5903  set_value(Particle self, FloatsKey name, IMP::Floats value)
5904  set_value(Particle self, IntKey name, IMP::Int value)
5905  set_value(Particle self, IntsKey name, IMP::Ints value)
5906  set_value(Particle self, StringKey name, IMP::String value)
5907  set_value(Particle self, ObjectKey name, Object value)
5908  set_value(Particle self, IMP::WeakObjectKey name, Object value)
5909  set_value(Particle self, SparseStringKey name, IMP::String value)
5910  set_value(Particle self, SparseIntKey name, IMP::Int value)
5911  set_value(Particle self, SparseFloatKey name, IMP::Float value)
5912  set_value(Particle self, SparseParticleIndexKey name, ParticleIndex value)
5913  set_value(Particle self, ParticleIndexKey k, Particle v)
5914  """
5915  return _IMP_kernel.Particle_set_value(self, *args)
5916 
5917  def get_value(self, *args):
5918  r"""
5919  get_value(Particle self, FloatKey name) -> IMP::Float
5920  get_value(Particle self, FloatsKey name) -> IMP::Floats
5921  get_value(Particle self, IntKey name) -> IMP::Int
5922  get_value(Particle self, IntsKey name) -> IMP::Ints
5923  get_value(Particle self, StringKey name) -> IMP::String
5924  get_value(Particle self, ObjectKey name) -> Object
5925  get_value(Particle self, IMP::WeakObjectKey name) -> Object
5926  get_value(Particle self, SparseStringKey name) -> IMP::String
5927  get_value(Particle self, SparseIntKey name) -> IMP::Int
5928  get_value(Particle self, SparseFloatKey name) -> IMP::Float
5929  get_value(Particle self, SparseParticleIndexKey name) -> ParticleIndex
5930  get_value(Particle self, ParticleIndexKey k) -> Particle
5931  """
5932  return _IMP_kernel.Particle_get_value(self, *args)
5933 
5934  def remove_attribute(self, *args):
5935  r"""
5936  remove_attribute(Particle self, FloatKey name)
5937  remove_attribute(Particle self, FloatsKey name)
5938  remove_attribute(Particle self, IntKey name)
5939  remove_attribute(Particle self, IntsKey name)
5940  remove_attribute(Particle self, StringKey name)
5941  remove_attribute(Particle self, ObjectKey name)
5942  remove_attribute(Particle self, IMP::WeakObjectKey name)
5943  remove_attribute(Particle self, SparseStringKey name)
5944  remove_attribute(Particle self, SparseIntKey name)
5945  remove_attribute(Particle self, SparseFloatKey name)
5946  remove_attribute(Particle self, SparseParticleIndexKey name)
5947  remove_attribute(Particle self, ParticleIndexKey k)
5948  """
5949  return _IMP_kernel.Particle_remove_attribute(self, *args)
5950 
5951  def get_particle_keys(self):
5952  r"""get_particle_keys(Particle self) -> IMP::ParticleIndexKeys"""
5953  return _IMP_kernel.Particle_get_particle_keys(self)
5954 
5955  def show(self, *args):
5956  r"""show(Particle self, _ostream out=std::cout)"""
5957  return _IMP_kernel.Particle_show(self, *args)
5958 
5959  def get_is_active(self):
5960  r"""get_is_active(Particle self) -> bool"""
5961  return _IMP_kernel.Particle_get_is_active(self)
5962 
5963  def get_index(self):
5964  r"""get_index(Particle self) -> ParticleIndex"""
5965  return _IMP_kernel.Particle_get_index(self)
5966 
5967  def __eq__(self, *args):
5968  r"""
5969  __eq__(Particle self, Particle o) -> bool
5970  __eq__(Particle self, Decorator d) -> bool
5971  """
5972  return _IMP_kernel.Particle___eq__(self, *args)
5973 
5974  def __ne__(self, *args):
5975  r"""
5976  __ne__(Particle self, Particle o) -> bool
5977  __ne__(Particle self, Decorator d) -> bool
5978  """
5979  return _IMP_kernel.Particle___ne__(self, *args)
5980 
5981  def __le__(self, *args):
5982  r"""
5983  __le__(Particle self, Particle o) -> bool
5984  __le__(Particle self, Decorator d) -> bool
5985  """
5986  return _IMP_kernel.Particle___le__(self, *args)
5987 
5988  def __lt__(self, *args):
5989  r"""
5990  __lt__(Particle self, Particle o) -> bool
5991  __lt__(Particle self, Decorator d) -> bool
5992  """
5993  return _IMP_kernel.Particle___lt__(self, *args)
5994 
5995  def __ge__(self, *args):
5996  r"""
5997  __ge__(Particle self, Particle o) -> bool
5998  __ge__(Particle self, Decorator d) -> bool
5999  """
6000  return _IMP_kernel.Particle___ge__(self, *args)
6001 
6002  def __gt__(self, *args):
6003  r"""
6004  __gt__(Particle self, Particle o) -> bool
6005  __gt__(Particle self, Decorator d) -> bool
6006  """
6007  return _IMP_kernel.Particle___gt__(self, *args)
6008 
6009  __hash__ = ModelObject.__hash__
6010 
6011 
6012  def __str__(self):
6013  r"""__str__(Particle self) -> std::string"""
6014  return _IMP_kernel.Particle___str__(self)
6015 
6016  def __repr__(self):
6017  r"""__repr__(Particle self) -> std::string"""
6018  return _IMP_kernel.Particle___repr__(self)
6019 
6020  @staticmethod
6021  def get_from(o):
6022  return _object_cast_to_Particle(o)
6023 
6024 
6025  def _get_as_binary(self):
6026  r"""_get_as_binary(Particle self) -> PyObject *"""
6027  return _IMP_kernel.Particle__get_as_binary(self)
6028 
6029  def _set_from_binary(self, p):
6030  r"""_set_from_binary(Particle self, PyObject * p)"""
6031  return _IMP_kernel.Particle__set_from_binary(self, p)
6032 
6033  def __getstate__(self):
6034  p = self._get_as_binary()
6035  if len(self.__dict__) > 1:
6036  d = self.__dict__.copy()
6037  del d['this']
6038  p = (d, p)
6039  return p
6040 
6041  def __setstate__(self, p):
6042  if not hasattr(self, 'this'):
6043  self.__init__()
6044  if isinstance(p, tuple):
6045  d, p = p
6046  self.__dict__.update(d)
6047  return self._set_from_binary(p)
6048 
6049 
6050 # Register Particle in _IMP_kernel:
6051 _IMP_kernel.Particle_swigregister(Particle)
6052 class _ParticleAdaptor(_InputAdaptor):
6053  r"""Proxy of C++ IMP::ParticleAdaptor class."""
6054 
6055  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6056  __repr__ = _swig_repr
6057 
6058  def __init__(self, *args):
6059  r"""
6060  __init__(_ParticleAdaptor self) -> _ParticleAdaptor
6061  __init__(_ParticleAdaptor self, Particle p) -> _ParticleAdaptor
6062  __init__(_ParticleAdaptor self, Decorator d) -> _ParticleAdaptor
6063  """
6064  _IMP_kernel._ParticleAdaptor_swiginit(self, _IMP_kernel.new__ParticleAdaptor(*args))
6065 
6066  def get_model(self):
6067  r"""get_model(_ParticleAdaptor self) -> Model"""
6068  return _IMP_kernel._ParticleAdaptor_get_model(self)
6069 
6070  def get_particle_index(self):
6071  r"""get_particle_index(_ParticleAdaptor self) -> ParticleIndex"""
6072  return _IMP_kernel._ParticleAdaptor_get_particle_index(self)
6073  __swig_destroy__ = _IMP_kernel.delete__ParticleAdaptor
6074 
6075 # Register _ParticleAdaptor in _IMP_kernel:
6076 _IMP_kernel._ParticleAdaptor_swigregister(_ParticleAdaptor)
6077 class _DependencyGraphVertexIndex(object):
6078  r"""Proxy of C++ IMP::DependencyGraphVertexIndex class."""
6079 
6080  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6081  __repr__ = _swig_repr
6082 
6083  def __init__(self):
6084  r"""__init__(_DependencyGraphVertexIndex self) -> _DependencyGraphVertexIndex"""
6085  _IMP_kernel._DependencyGraphVertexIndex_swiginit(self, _IMP_kernel.new__DependencyGraphVertexIndex())
6086  __swig_destroy__ = _IMP_kernel.delete__DependencyGraphVertexIndex
6087 
6088 # Register _DependencyGraphVertexIndex in _IMP_kernel:
6089 _IMP_kernel._DependencyGraphVertexIndex_swigregister(_DependencyGraphVertexIndex)
6090 
6091 def show_as_graphviz(name, out):
6092  r"""show_as_graphviz(IMP::DependencyGraph const & name, TextOutput out)"""
6093  return _IMP_kernel.show_as_graphviz(name, out)
6094 
6095 def get_vertex_index(g):
6096  r"""get_vertex_index(IMP::DependencyGraph const & g) -> _DependencyGraphVertexIndex"""
6097  return _IMP_kernel.get_vertex_index(g)
6098 
6099 def get_dependency_graph(m):
6100  r"""get_dependency_graph(Model m) -> IMP::DependencyGraph"""
6101  return _IMP_kernel.get_dependency_graph(m)
6102 
6104  r"""get_pruned_dependency_graph(Model m) -> IMP::DependencyGraph"""
6105  return _IMP_kernel.get_pruned_dependency_graph(m)
6106 
6107 def get_dependent_particles(p, all, dg, index):
6108  r"""get_dependent_particles(ModelObject p, IMP::ModelObjectsTemp const & all, IMP::DependencyGraph const & dg, _DependencyGraphVertexIndex index) -> IMP::ParticlesTemp"""
6109  return _IMP_kernel.get_dependent_particles(p, all, dg, index)
6110 
6111 def get_required_score_states(*args):
6112  r"""
6113  get_required_score_states(IMP::ModelObjectsTemp const & mos, IMP::ScoreStatesTemp exclude=IMP::ScoreStatesTemp()) -> IMP::ScoreStatesTemp
6114  get_required_score_states(ModelObject p, IMP::ModelObjectsTemp const & all, IMP::DependencyGraph const & dg, _DependencyGraphVertexIndex index) -> IMP::ScoreStatesTemp
6115  get_required_score_states(Model m, ParticleIndex pi) -> IMP::ScoreStatesTemp
6116  """
6117  return _IMP_kernel.get_required_score_states(*args)
6118 class ScoringFunction(ModelObject):
6119  r"""Proxy of C++ IMP::ScoringFunction class."""
6120 
6121  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6122 
6123  def do_add_score_and_derivatives(self, sa, ss):
6124  r"""do_add_score_and_derivatives(ScoringFunction self, ScoreAccumulator sa, IMP::ScoreStatesTemp const & ss)"""
6125  return _IMP_kernel.ScoringFunction_do_add_score_and_derivatives(self, sa, ss)
6126 
6127  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss):
6128  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)"""
6129  return _IMP_kernel.ScoringFunction_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss)
6130 
6131  def get_score_accumulator_if_below(self, deriv, max):
6132  r"""get_score_accumulator_if_below(ScoringFunction self, bool deriv, double max) -> ScoreAccumulator"""
6133  return _IMP_kernel.ScoringFunction_get_score_accumulator_if_below(self, deriv, max)
6134 
6135  def get_score_accumulator_if_good(self, deriv):
6136  r"""get_score_accumulator_if_good(ScoringFunction self, bool deriv) -> ScoreAccumulator"""
6137  return _IMP_kernel.ScoringFunction_get_score_accumulator_if_good(self, deriv)
6138 
6139  def get_score_accumulator(self, deriv):
6140  r"""get_score_accumulator(ScoringFunction self, bool deriv) -> ScoreAccumulator"""
6141  return _IMP_kernel.ScoringFunction_get_score_accumulator(self, deriv)
6142 
6143  def __init__(self, *args):
6144  r"""
6145  __init__(ScoringFunction self, Model m, std::string name) -> ScoringFunction
6146  __init__(ScoringFunction self) -> ScoringFunction
6147  """
6148  if self.__class__ == ScoringFunction:
6149  _self = None
6150  else:
6151  _self = self
6152  _IMP_kernel.ScoringFunction_swiginit(self, _IMP_kernel.new_ScoringFunction(_self, *args))
6153 
6154  if self.__class__ != ScoringFunction:
6155  _director_objects.register(self)
6156 
6157 
6158 
6159 
6160  def do_get_outputs(self):
6161  r"""do_get_outputs(ScoringFunction self) -> IMP::ModelObjectsTemp"""
6162  return _IMP_kernel.ScoringFunction_do_get_outputs(self)
6163 
6164  def evaluate(self, derivatives):
6165  r"""evaluate(ScoringFunction self, bool derivatives) -> double"""
6166  return _IMP_kernel.ScoringFunction_evaluate(self, derivatives)
6167 
6168  def evaluate_if_good(self, derivatives):
6169  r"""evaluate_if_good(ScoringFunction self, bool derivatives) -> double"""
6170  return _IMP_kernel.ScoringFunction_evaluate_if_good(self, derivatives)
6171 
6172  def evaluate_if_below(self, derivatives, max):
6173  r"""evaluate_if_below(ScoringFunction self, bool derivatives, double max) -> double"""
6174  return _IMP_kernel.ScoringFunction_evaluate_if_below(self, derivatives, max)
6175 
6176  def evaluate_moved(self, derivatives, moved_pis, reset_pis):
6177  r"""evaluate_moved(ScoringFunction self, bool derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double"""
6178  return _IMP_kernel.ScoringFunction_evaluate_moved(self, derivatives, moved_pis, reset_pis)
6179 
6180  def evaluate_moved_if_below(self, derivatives, moved_pis, reset_pis, max):
6181  r"""evaluate_moved_if_below(ScoringFunction self, bool derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, double max) -> double"""
6182  return _IMP_kernel.ScoringFunction_evaluate_moved_if_below(self, derivatives, moved_pis, reset_pis, max)
6183 
6184  def evaluate_moved_if_good(self, derivatives, moved_pis, reset_pis):
6185  r"""evaluate_moved_if_good(ScoringFunction self, bool derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double"""
6186  return _IMP_kernel.ScoringFunction_evaluate_moved_if_good(self, derivatives, moved_pis, reset_pis)
6187 
6188  def get_had_good_score(self):
6189  r"""get_had_good_score(ScoringFunction self) -> bool"""
6190  return _IMP_kernel.ScoringFunction_get_had_good_score(self)
6191 
6192  def get_last_score(self):
6193  r"""get_last_score(ScoringFunction self) -> double"""
6194  return _IMP_kernel.ScoringFunction_get_last_score(self)
6195 
6196  def create_restraints(self):
6197  r"""create_restraints(ScoringFunction self) -> IMP::Restraints"""
6198  return _IMP_kernel.ScoringFunction_create_restraints(self)
6199 
6200  def get_single_restraint(self):
6201  r"""get_single_restraint(ScoringFunction self) -> Restraint"""
6202  return _IMP_kernel.ScoringFunction_get_single_restraint(self)
6203 
6204  def __str__(self):
6205  r"""__str__(ScoringFunction self) -> std::string"""
6206  return _IMP_kernel.ScoringFunction___str__(self)
6207 
6208  def __repr__(self):
6209  r"""__repr__(ScoringFunction self) -> std::string"""
6210  return _IMP_kernel.ScoringFunction___repr__(self)
6211 
6212  @staticmethod
6213  def get_from(o):
6214  return _object_cast_to_ScoringFunction(o)
6215 
6216 
6217  def do_show(self, out):
6218  pass
6219 
6220  @staticmethod
6221  def get_from(o):
6222  return _object_cast_to_ScoringFunction(o)
6223 
6224 
6225  def _get_jax(self):
6226  r = self.get_single_restraint()
6227  if r is None:
6228  raise NotImplementedError(
6229  f"No JAX implementation for {self} ({type(self)})")
6230  else:
6231  return r.get_derived_object()._get_jax()
6232 
6233  def _evaluate_jax(self):
6234  """Similar to evaluate(False), but using JAX.
6235  This is intended to be useful for testing purposes. It will likely
6236  not be particularly fast as it will copy the IMP Model and
6237  jax.jit-compile the scoring function each time."""
6238  import jax
6239  ji = self._get_jax()
6240  jm = ji.get_jax_model()
6241  j = jax.jit(ji.score_func)
6242  return j(jm)
6243 
6244  __swig_destroy__ = _IMP_kernel.delete_ScoringFunction
6245  def __disown__(self):
6246  self.this.disown()
6247  _IMP_kernel.disown_ScoringFunction(self)
6248  return weakref.proxy(self)
6249 
6250  def do_destroy(self):
6251  r"""do_destroy(ScoringFunction self)"""
6252  return _IMP_kernel.ScoringFunction_do_destroy(self)
6253 
6254  def handle_set_has_required_score_states(self, arg0):
6255  r"""handle_set_has_required_score_states(ScoringFunction self, bool arg0)"""
6256  return _IMP_kernel.ScoringFunction_handle_set_has_required_score_states(self, arg0)
6257 
6258  def do_get_inputs(self):
6259  r"""do_get_inputs(ScoringFunction self) -> IMP::ModelObjectsTemp"""
6260  return _IMP_kernel.ScoringFunction_do_get_inputs(self)
6261 
6262  def do_get_interactions(self):
6263  r"""do_get_interactions(ScoringFunction self) -> IMP::ModelObjectsTemps"""
6264  return _IMP_kernel.ScoringFunction_do_get_interactions(self)
6265 
6266 # Register ScoringFunction in _IMP_kernel:
6267 _IMP_kernel.ScoringFunction_swigregister(ScoringFunction)
6268 
6269 def create_decomposition(*args):
6270  r"""
6271  create_decomposition(IMP::RestraintsTemp const & rs) -> IMP::Restraints
6272  create_decomposition(ScoringFunction sf) -> IMP::ScoringFunctions
6273  """
6274  return _IMP_kernel.create_decomposition(*args)
6275 class _ScoringFunctionAdaptor(_InputAdaptor):
6276  r"""Proxy of C++ IMP::ScoringFunctionAdaptor class."""
6277 
6278  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6279  __repr__ = _swig_repr
6280 
6281  def __init__(self, *args):
6282  r"""
6283  __init__(_ScoringFunctionAdaptor self) -> _ScoringFunctionAdaptor
6284  __init__(_ScoringFunctionAdaptor self, ScoringFunction sf) -> _ScoringFunctionAdaptor
6285  __init__(_ScoringFunctionAdaptor self, IMP::RestraintsTemp const & sf) -> _ScoringFunctionAdaptor
6286  __init__(_ScoringFunctionAdaptor self, IMP::Restraints const & sf) -> _ScoringFunctionAdaptor
6287  __init__(_ScoringFunctionAdaptor self, Restraint sf) -> _ScoringFunctionAdaptor
6288  """
6289  _IMP_kernel._ScoringFunctionAdaptor_swiginit(self, _IMP_kernel.new__ScoringFunctionAdaptor(*args))
6290  __swig_destroy__ = _IMP_kernel.delete__ScoringFunctionAdaptor
6291 
6292 # Register _ScoringFunctionAdaptor in _IMP_kernel:
6293 _IMP_kernel._ScoringFunctionAdaptor_swigregister(_ScoringFunctionAdaptor)
6294 
6295 def show_restraint_hierarchy(*args):
6296  r"""show_restraint_hierarchy(_ScoringFunctionAdaptor rs, _ostream out=std::cout)"""
6297  return _IMP_kernel.show_restraint_hierarchy(*args)
6298 class Undecorator(Object):
6299  r"""Proxy of C++ IMP::Undecorator class."""
6300 
6301  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6302 
6303  def __init__(self, m, name):
6304  r"""__init__(Undecorator self, Model m, std::string name) -> Undecorator"""
6305  if self.__class__ == Undecorator:
6306  _self = None
6307  else:
6308  _self = self
6309  _IMP_kernel.Undecorator_swiginit(self, _IMP_kernel.new_Undecorator(_self, m, name))
6310 
6311  if self.__class__ != Undecorator:
6312  _director_objects.register(self)
6313 
6314 
6315 
6316 
6317  def teardown(self, pi):
6318  r"""teardown(Undecorator self, ParticleIndex pi)"""
6319  return _IMP_kernel.Undecorator_teardown(self, pi)
6320 
6321  def __str__(self):
6322  r"""__str__(Undecorator self) -> std::string"""
6323  return _IMP_kernel.Undecorator___str__(self)
6324 
6325  def __repr__(self):
6326  r"""__repr__(Undecorator self) -> std::string"""
6327  return _IMP_kernel.Undecorator___repr__(self)
6328 
6329  @staticmethod
6330  def get_from(o):
6331  return _object_cast_to_Undecorator(o)
6332 
6333 
6334  def do_show(self, out):
6335  pass
6336 
6337  @staticmethod
6338  def get_from(o):
6339  return _object_cast_to_Undecorator(o)
6340 
6341  __swig_destroy__ = _IMP_kernel.delete_Undecorator
6342  def __disown__(self):
6343  self.this.disown()
6344  _IMP_kernel.disown_Undecorator(self)
6345  return weakref.proxy(self)
6346 
6347  def do_destroy(self):
6348  r"""do_destroy(Undecorator self)"""
6349  return _IMP_kernel.Undecorator_do_destroy(self)
6350 
6351 # Register Undecorator in _IMP_kernel:
6352 _IMP_kernel.Undecorator_swigregister(Undecorator)
6353 class Model(Object):
6354  r"""Proxy of C++ IMP::Model class."""
6355 
6356  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6357 
6358  def __init__(self, *args):
6359  r"""__init__(Model self, std::string name="Model %1%") -> Model"""
6360  _IMP_kernel.Model_swiginit(self, _IMP_kernel.new_Model(*args))
6361 
6362  if self not in _models_set:
6363  _models_set.add(self)
6364 
6365 
6366 
6367 
6368  def clear_particle_caches(self, pi):
6369  r"""clear_particle_caches(Model self, ParticleIndex pi)"""
6370  return _IMP_kernel.Model_clear_particle_caches(self, pi)
6371 
6372  def add_particle(self, name):
6373  r"""add_particle(Model self, std::string name) -> ParticleIndex"""
6374  return _IMP_kernel.Model_add_particle(self, name)
6375 
6376  def get_particle_name(self, pi):
6377  r"""get_particle_name(Model self, ParticleIndex pi) -> std::string"""
6378  return _IMP_kernel.Model_get_particle_name(self, pi)
6379 
6380  def add_undecorator(self, pi, d):
6381  r"""add_undecorator(Model self, ParticleIndex pi, Undecorator d)"""
6382  return _IMP_kernel.Model_add_undecorator(self, pi, d)
6383 
6384  def get_dependent_restraints_uncached(self, pi):
6385  r"""get_dependent_restraints_uncached(Model self, ParticleIndex pi) -> IMP::RestraintsTemp"""
6386  return _IMP_kernel.Model_get_dependent_restraints_uncached(self, pi)
6387 
6388  def get_dependent_particles_uncached(self, pi):
6389  r"""get_dependent_particles_uncached(Model self, ParticleIndex pi) -> IMP::ParticlesTemp"""
6390  return _IMP_kernel.Model_get_dependent_particles_uncached(self, pi)
6391 
6392  def get_dependent_score_states_uncached(self, pi):
6393  r"""get_dependent_score_states_uncached(Model self, ParticleIndex pi) -> IMP::ScoreStatesTemp"""
6394  return _IMP_kernel.Model_get_dependent_score_states_uncached(self, pi)
6395  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)
6396  def __set_score_states(self, obj): _list_util.set_varlist(self.score_states, obj)
6397  def __del_score_states(self): _list_util.del_varlist(self.score_states)
6398  score_states = property(__get_score_states, __set_score_states, __del_score_states, doc="List of ##ucnames")
6399 
6400  def remove_score_state(self, d):
6401  r"""remove_score_state(Model self, ScoreState d)"""
6402  return _IMP_kernel.Model_remove_score_state(self, d)
6403 
6404  def _python_index_score_state(self, d, start, stop):
6405  r"""_python_index_score_state(Model self, ScoreState d, unsigned int start, unsigned int stop) -> unsigned int"""
6406  return _IMP_kernel.Model__python_index_score_state(self, d, start, stop)
6407 
6408  def remove_score_states(self, d):
6409  r"""remove_score_states(Model self, IMP::ScoreStates const & d)"""
6410  return _IMP_kernel.Model_remove_score_states(self, d)
6411 
6412  def set_score_states(self, ps):
6413  r"""set_score_states(Model self, IMP::ScoreStates const & ps)"""
6414  return _IMP_kernel.Model_set_score_states(self, ps)
6415 
6416  def set_score_states_order(self, objs):
6417  r"""set_score_states_order(Model self, IMP::ScoreStates const & objs)"""
6418  return _IMP_kernel.Model_set_score_states_order(self, objs)
6419 
6420  def add_score_state(self, obj):
6421  r"""add_score_state(Model self, ScoreState obj) -> unsigned int"""
6422  return _IMP_kernel.Model_add_score_state(self, obj)
6423 
6424  def add_score_states(self, objs):
6425  r"""add_score_states(Model self, IMP::ScoreStates const & objs)"""
6426  return _IMP_kernel.Model_add_score_states(self, objs)
6427 
6428  def clear_score_states(self):
6429  r"""clear_score_states(Model self)"""
6430  return _IMP_kernel.Model_clear_score_states(self)
6431 
6432  def get_number_of_score_states(self):
6433  r"""get_number_of_score_states(Model self) -> unsigned int"""
6434  return _IMP_kernel.Model_get_number_of_score_states(self)
6435 
6436  def get_has_score_states(self):
6437  r"""get_has_score_states(Model self) -> bool"""
6438  return _IMP_kernel.Model_get_has_score_states(self)
6439 
6440  def get_score_state(self, i):
6441  r"""get_score_state(Model self, unsigned int i) -> ScoreState"""
6442  return _IMP_kernel.Model_get_score_state(self, i)
6443 
6444  def get_score_states(self):
6445  r"""get_score_states(Model self) -> IMP::ScoreStates"""
6446  return _IMP_kernel.Model_get_score_states(self)
6447 
6448  def erase_score_state(self, i):
6449  r"""erase_score_state(Model self, unsigned int i)"""
6450  return _IMP_kernel.Model_erase_score_state(self, i)
6451 
6452  def reserve_score_states(self, sz):
6453  r"""reserve_score_states(Model self, unsigned int sz)"""
6454  return _IMP_kernel.Model_reserve_score_states(self, sz)
6455 
6456  def update(self):
6457  r"""update(Model self)"""
6458  return _IMP_kernel.Model_update(self)
6459 
6460  def get_ordered_score_states(self):
6461  r"""get_ordered_score_states(Model self) -> IMP::ScoreStatesTemp"""
6462  return _IMP_kernel.Model_get_ordered_score_states(self)
6463 
6464  def add_cache_attribute(self, *args):
6465  r"""
6466  add_cache_attribute(Model self, FloatKey attribute_key, ParticleIndex particle, IMP::Float value)
6467  add_cache_attribute(Model self, IntKey attribute_key, ParticleIndex particle, IMP::Int value)
6468  add_cache_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle, IMP::Floats value)
6469  add_cache_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle, Vector3D value)
6470  add_cache_attribute(Model self, Vector4DKey attribute_key, ParticleIndex particle, Vector4D value)
6471  add_cache_attribute(Model self, Vector3DDerivKey attribute_key, ParticleIndex particle, Vector3D value)
6472  add_cache_attribute(Model self, Vector4DDerivKey attribute_key, ParticleIndex particle, Vector4D value)
6473  add_cache_attribute(Model self, IntsKey attribute_key, ParticleIndex particle, IMP::Ints value)
6474  add_cache_attribute(Model self, StringKey attribute_key, ParticleIndex particle, IMP::String value)
6475  add_cache_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle, IMP::ParticleIndexes value)
6476  add_cache_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
6477  add_cache_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle, Object value)
6478  add_cache_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle, Object value)
6479  """
6480  return _IMP_kernel.Model_add_cache_attribute(self, *args)
6481 
6482  def add_attribute(self, *args):
6483  r"""
6484  add_attribute(Model self, FloatKey attribute_key, ParticleIndex particle, IMP::Float value)
6485  add_attribute(Model self, IntKey attribute_key, ParticleIndex particle, IMP::Int value)
6486  add_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle, IMP::Floats value)
6487  add_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle, Vector3D value)
6488  add_attribute(Model self, Vector4DKey attribute_key, ParticleIndex particle, Vector4D value)
6489  add_attribute(Model self, Vector3DDerivKey attribute_key, ParticleIndex particle, Vector3D value)
6490  add_attribute(Model self, Vector4DDerivKey attribute_key, ParticleIndex particle, Vector4D value)
6491  add_attribute(Model self, IntsKey attribute_key, ParticleIndex particle, IMP::Ints value)
6492  add_attribute(Model self, StringKey attribute_key, ParticleIndex particle, IMP::String value)
6493  add_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle, IMP::ParticleIndexes value)
6494  add_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
6495  add_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle, Object value)
6496  add_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle, Object value)
6497  add_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle, IMP::String value)
6498  add_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle, IMP::Int value)
6499  add_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle, IMP::Float value)
6500  add_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
6501  """
6502  return _IMP_kernel.Model_add_attribute(self, *args)
6503 
6504  def remove_attribute(self, *args):
6505  r"""
6506  remove_attribute(Model self, FloatKey attribute_key, ParticleIndex particle)
6507  remove_attribute(Model self, IntKey attribute_key, ParticleIndex particle)
6508  remove_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle)
6509  remove_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle)
6510  remove_attribute(Model self, Vector4DKey attribute_key, ParticleIndex particle)
6511  remove_attribute(Model self, Vector3DDerivKey attribute_key, ParticleIndex particle)
6512  remove_attribute(Model self, Vector4DDerivKey attribute_key, ParticleIndex particle)
6513  remove_attribute(Model self, IntsKey attribute_key, ParticleIndex particle)
6514  remove_attribute(Model self, StringKey attribute_key, ParticleIndex particle)
6515  remove_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle)
6516  remove_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle)
6517  remove_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle)
6518  remove_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle)
6519  remove_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle)
6520  remove_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle)
6521  remove_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle)
6522  remove_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle)
6523  """
6524  return _IMP_kernel.Model_remove_attribute(self, *args)
6525 
6526  def get_has_attribute(self, *args):
6527  r"""
6528  get_has_attribute(Model self, FloatKey attribute_key, ParticleIndex particle) -> bool
6529  get_has_attribute(Model self, IntKey attribute_key, ParticleIndex particle) -> bool
6530  get_has_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle) -> bool
6531  get_has_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle) -> bool
6532  get_has_attribute(Model self, Vector4DKey attribute_key, ParticleIndex particle) -> bool
6533  get_has_attribute(Model self, Vector3DDerivKey attribute_key, ParticleIndex particle) -> bool
6534  get_has_attribute(Model self, Vector4DDerivKey attribute_key, ParticleIndex particle) -> bool
6535  get_has_attribute(Model self, IntsKey attribute_key, ParticleIndex particle) -> bool
6536  get_has_attribute(Model self, StringKey attribute_key, ParticleIndex particle) -> bool
6537  get_has_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle) -> bool
6538  get_has_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle) -> bool
6539  get_has_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle) -> bool
6540  get_has_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle) -> bool
6541  get_has_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle) -> bool
6542  get_has_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle) -> bool
6543  get_has_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle) -> bool
6544  get_has_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle) -> bool
6545  """
6546  return _IMP_kernel.Model_get_has_attribute(self, *args)
6547 
6548  def set_attribute(self, *args):
6549  r"""
6550  set_attribute(Model self, FloatKey attribute_key, ParticleIndex particle, IMP::Float value)
6551  set_attribute(Model self, IntKey attribute_key, ParticleIndex particle, IMP::Int value)
6552  set_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle, IMP::Floats value)
6553  set_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle, Vector3D value)
6554  set_attribute(Model self, Vector4DKey attribute_key, ParticleIndex particle, Vector4D value)
6555  set_attribute(Model self, Vector3DDerivKey attribute_key, ParticleIndex particle, Vector3D value)
6556  set_attribute(Model self, Vector4DDerivKey attribute_key, ParticleIndex particle, Vector4D value)
6557  set_attribute(Model self, IntsKey attribute_key, ParticleIndex particle, IMP::Ints value)
6558  set_attribute(Model self, StringKey attribute_key, ParticleIndex particle, IMP::String value)
6559  set_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle, IMP::ParticleIndexes value)
6560  set_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
6561  set_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle, Object value)
6562  set_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle, Object value)
6563  set_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle, IMP::String value)
6564  set_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle, IMP::Int value)
6565  set_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle, IMP::Float value)
6566  set_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
6567  """
6568  return _IMP_kernel.Model_set_attribute(self, *args)
6569 
6570  def get_attribute(self, *args):
6571  r"""
6572  get_attribute(Model self, FloatKey attribute_key, ParticleIndex particle) -> IMP::Float
6573  get_attribute(Model self, IntKey attribute_key, ParticleIndex particle) -> IMP::Int
6574  get_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle) -> IMP::Floats
6575  get_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle) -> Vector3D
6576  get_attribute(Model self, Vector4DKey attribute_key, ParticleIndex particle) -> Vector4D
6577  get_attribute(Model self, Vector3DDerivKey attribute_key, ParticleIndex particle) -> Vector3D
6578  get_attribute(Model self, Vector4DDerivKey attribute_key, ParticleIndex particle) -> Vector4D
6579  get_attribute(Model self, IntsKey attribute_key, ParticleIndex particle) -> IMP::Ints
6580  get_attribute(Model self, StringKey attribute_key, ParticleIndex particle) -> IMP::String
6581  get_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle) -> IMP::ParticleIndexes
6582  get_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle) -> ParticleIndex
6583  get_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle) -> Object
6584  get_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle) -> Object
6585  get_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle) -> IMP::String
6586  get_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle) -> IMP::Int
6587  get_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle) -> IMP::Float
6588  get_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle) -> ParticleIndex
6589  """
6590  return _IMP_kernel.Model_get_attribute(self, *args)
6591 
6592  def set_is_optimized(self, *args):
6593  r"""
6594  set_is_optimized(Model self, Vector3DDerivKey arg2, ParticleIndex arg3, bool arg4)
6595  set_is_optimized(Model self, Vector4DDerivKey arg2, ParticleIndex arg3, bool arg4)
6596  set_is_optimized(Model self, FloatKey arg2, ParticleIndex arg3, bool arg4)
6597  """
6598  return _IMP_kernel.Model_set_is_optimized(self, *args)
6599 
6600  def add_to_derivative(self, *args):
6601  r"""
6602  add_to_derivative(Model self, Vector3DDerivKey attribute_key, ParticleIndex particle, Vector3D v, DerivativeAccumulator da)
6603  add_to_derivative(Model self, Vector4DDerivKey attribute_key, ParticleIndex particle, Vector4D v, DerivativeAccumulator da)
6604  add_to_derivative(Model self, FloatKey k, ParticleIndex particle, double v, DerivativeAccumulator da)
6605  """
6606  return _IMP_kernel.Model_add_to_derivative(self, *args)
6607 
6608  def get_particle(self, p):
6609  r"""get_particle(Model self, ParticleIndex p) -> Particle"""
6610  return _IMP_kernel.Model_get_particle(self, p)
6611 
6612  def get_has_particle(self, p):
6613  r"""get_has_particle(Model self, ParticleIndex p) -> bool"""
6614  return _IMP_kernel.Model_get_has_particle(self, p)
6615 
6616  def get_particle_indexes(self):
6617  r"""get_particle_indexes(Model self) -> IMP::ParticleIndexes"""
6618  return _IMP_kernel.Model_get_particle_indexes(self)
6619 
6620  def get_model_objects(self):
6621  r"""get_model_objects(Model self) -> IMP::ModelObjectsTemp"""
6622  return _IMP_kernel.Model_get_model_objects(self)
6623 
6624  def remove_particle(self, pi):
6625  r"""remove_particle(Model self, ParticleIndex pi)"""
6626  return _IMP_kernel.Model_remove_particle(self, pi)
6627 
6628  def add_data(self, mk, o):
6629  r"""add_data(Model self, ModelKey mk, Object o)"""
6630  return _IMP_kernel.Model_add_data(self, mk, o)
6631 
6632  def get_data(self, mk):
6633  r"""get_data(Model self, ModelKey mk) -> Object"""
6634  return _IMP_kernel.Model_get_data(self, mk)
6635 
6636  def remove_data(self, mk):
6637  r"""remove_data(Model self, ModelKey mk)"""
6638  return _IMP_kernel.Model_remove_data(self, mk)
6639 
6640  def get_has_data(self, mk):
6641  r"""get_has_data(Model self, ModelKey mk) -> bool"""
6642  return _IMP_kernel.Model_get_has_data(self, mk)
6643 
6644  def get_age(self):
6645  r"""get_age(Model self) -> unsigned int"""
6646  return _IMP_kernel.Model_get_age(self)
6647 
6648  def get_trigger_last_updated(self, tk):
6649  r"""get_trigger_last_updated(Model self, TriggerKey tk) -> unsigned int"""
6650  return _IMP_kernel.Model_get_trigger_last_updated(self, tk)
6651 
6652  def set_trigger_updated(self, tk):
6653  r"""set_trigger_updated(Model self, TriggerKey tk)"""
6654  return _IMP_kernel.Model_set_trigger_updated(self, tk)
6655 
6656  def get_dependencies_updated(self):
6657  r"""get_dependencies_updated(Model self) -> unsigned int"""
6658  return _IMP_kernel.Model_get_dependencies_updated(self)
6659 
6660  def get_removed_particles_attributes_age(self):
6661  r"""get_removed_particles_attributes_age(Model self) -> unsigned int"""
6662  return _IMP_kernel.Model_get_removed_particles_attributes_age(self)
6663 
6664  def save_dependencies(self):
6665  r"""save_dependencies(Model self)"""
6666  return _IMP_kernel.Model_save_dependencies(self)
6667 
6668  def restore_dependencies(self):
6669  r"""restore_dependencies(Model self)"""
6670  return _IMP_kernel.Model_restore_dependencies(self)
6671 
6672  def get_particles_size(self):
6673  r"""get_particles_size(Model self) -> unsigned int"""
6674  return _IMP_kernel.Model_get_particles_size(self)
6675 
6676  def get_unique_id(self):
6677  r"""get_unique_id(Model self) -> uint32_t"""
6678  return _IMP_kernel.Model_get_unique_id(self)
6679 
6680  @staticmethod
6681  def get_by_unique_id(id):
6682  r"""get_by_unique_id(uint32_t id) -> Model"""
6683  return _IMP_kernel.Model_get_by_unique_id(id)
6684 
6685  def get_version_info(self):
6686  r"""get_version_info(Model self) -> VersionInfo"""
6687  return _IMP_kernel.Model_get_version_info(self)
6688  __swig_destroy__ = _IMP_kernel.delete_Model
6689  def __del__(self):
6690  r"""__del__(Model self)"""
6691 
6692  _director_objects.cleanup()
6693 
6694 
6695  pass
6696 
6697 
6698  def do_destroy(self):
6699  r"""do_destroy(Model self)"""
6700  return _IMP_kernel.Model_do_destroy(self)
6701 
6702  def __str__(self):
6703  r"""__str__(Model self) -> std::string"""
6704  return _IMP_kernel.Model___str__(self)
6705 
6706  def __repr__(self):
6707  r"""__repr__(Model self) -> std::string"""
6708  return _IMP_kernel.Model___repr__(self)
6709 
6710  @staticmethod
6711  def get_from(o):
6712  return _object_cast_to_Model(o)
6713 
6714 
6715  def _get_as_binary(self):
6716  r"""_get_as_binary(Model self) -> PyObject *"""
6717  return _IMP_kernel.Model__get_as_binary(self)
6718 
6719  def _set_from_binary(self, p):
6720  r"""_set_from_binary(Model self, PyObject * p)"""
6721  return _IMP_kernel.Model__set_from_binary(self, p)
6722 
6723  def __getstate__(self):
6724  p = self._get_as_binary()
6725  if len(self.__dict__) > 1:
6726  d = self.__dict__.copy()
6727  del d['this']
6728  p = (d, p)
6729  return p
6730 
6731  def __setstate__(self, p):
6732  if not hasattr(self, 'this'):
6733  self.__init__()
6734  if isinstance(p, tuple):
6735  d, p = p
6736  self.__dict__.update(d)
6737  return self._set_from_binary(p)
6738 
6739 
6740  def get_ints_numpy(self, k, read_only=False):
6741  """Get the model's attribute array for IntKey k as a NumPy array.
6742  The array is indexed by ParticleIndex; particles that don't have
6743  this attribute will either be off the end of the array or will have
6744  the value INT_MAX.
6745  This is a NumPy view that shares memory with the Model. Thus,
6746  any changes to values in this list will be reflected in the Model.
6747  Also, if the Model attribute array moves in memory (e.g. if particles
6748  or attributes are added) this array will be invalidated, so it is
6749  unsafe to keep it around long term.
6750  If read_only is set True, values in the array cannot be changed.
6751  """
6752  return _get_ints_numpy(self, k, self, read_only)
6753 
6754  def get_numpy(self, k, read_only=False):
6755  """Get the model's attribute array for any type of Key
6756  k as a NumPy array. See Model::get_ints_numpy() for more details."""
6757  _numpy_meth_map = {IntKey: _get_ints_numpy,
6758  FloatKey: _get_floats_numpy,
6759  Vector3DKey: _get_vector3ds_numpy,
6760  Vector3DDerivKey: _get_vector3dderiv_numpy,
6761  Vector4DKey: _get_vector4ds_numpy,
6762  Vector4DDerivKey: _get_vector4dderiv_numpy}
6763  return _numpy_meth_map[type(k)](self, k, self, read_only)
6764 
6765  def get_floats_numpy(self, k, read_only=False):
6766  """Get the model's attribute array for FloatKey k as a NumPy array.
6767  See Model::get_ints_numpy() for more details."""
6768  return _get_floats_numpy(self, k, self, read_only)
6769 
6770  def get_derivatives_numpy(self, k, read_only=False):
6771  """Get the model's attribute derivatives array for key k
6772  as a NumPy array. See Model::get_ints_numpy() for more details."""
6773  _numpy_meth_map = {
6774  FloatKey: _get_derivatives_numpy,
6775  Vector3DDerivKey: _get_vector3dderiv_derivatives_numpy,
6776  Vector4DDerivKey: _get_vector4dderiv_derivatives_numpy}
6777  return _numpy_meth_map[type(k)](self, k, self, read_only)
6778 
6779  def get_vector3ds_numpy(self, k, read_only=False):
6780  """Get the model's attribute array for Vector3DKey k as a NumPy array.
6781  See Model::get_ints_numpy() for more details."""
6782  return _get_vector3ds_numpy(self, k, self, read_only)
6783 
6784  def get_spheres_numpy(self, read_only=False):
6785  """Get the model's XYZR attribute arrays as NumPy arrays.
6786  The attribute arrays for Cartesian coordinates and radii are
6787  stored separately from those for other FloatKeys. This function
6788  returns a tuple of two NumPy arrays, the first of coordinates and
6789  the second of radii. See Model::get_ints_numpy() for more details."""
6790  return _get_spheres_numpy(self, self, read_only)
6791 
6792  def get_sphere_derivatives_numpy(self, read_only=False):
6793  """Get the model's XYZR attribute derivatives arrays as NumPy arrays.
6794  See Model::get_ints_numpy() for more details."""
6795  return _get_sphere_derivatives_numpy(self, self, read_only)
6796 
6797  def get_internal_coordinates_numpy(self, read_only=False):
6798  """Get the model's internal coordinate array as a NumPy array.
6799  The attribute arrays for rigid body internal coordinates are
6800  stored separately from those for other FloatKeys.
6801  See Model::get_ints_numpy() for more details."""
6802  return _get_internal_coordinates_numpy(self, self, read_only)
6803 
6804  def get_internal_coordinate_derivatives_numpy(self, read_only=False):
6805  """Get the model's internal coordinate derivative array as a
6806  NumPy array.
6807  See Model::get_ints_numpy() for more details."""
6808  return _get_internal_coordinate_derivatives_numpy(
6809  self, self, read_only)
6810 
6811 
6812 # Register Model in _IMP_kernel:
6813 _IMP_kernel.Model_swigregister(Model)
6814 class Decorator(_Value):
6815  r"""Proxy of C++ IMP::Decorator class."""
6816 
6817  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6818  __repr__ = _swig_repr
6819 
6820  def __init__(self, p):
6821  r"""__init__(Decorator self, _ParticleAdaptor p) -> Decorator"""
6822  _IMP_kernel.Decorator_swiginit(self, _IMP_kernel.new_Decorator(p))
6823 
6824  def __ne__(self, o):
6825  r"""__ne__(Decorator self, Object o) -> bool"""
6826  return _IMP_kernel.Decorator___ne__(self, o)
6827 
6828  def __lt__(self, o):
6829  r"""__lt__(Decorator self, Object o) -> bool"""
6830  return _IMP_kernel.Decorator___lt__(self, o)
6831 
6832  def __gt__(self, o):
6833  r"""__gt__(Decorator self, Object o) -> bool"""
6834  return _IMP_kernel.Decorator___gt__(self, o)
6835 
6836  def __ge__(self, o):
6837  r"""__ge__(Decorator self, Object o) -> bool"""
6838  return _IMP_kernel.Decorator___ge__(self, o)
6839 
6840  def __le__(self, o):
6841  r"""__le__(Decorator self, Object o) -> bool"""
6842  return _IMP_kernel.Decorator___le__(self, o)
6843 
6844  def get_particle(self):
6845  r"""get_particle(Decorator self) -> Particle"""
6846  return _IMP_kernel.Decorator_get_particle(self)
6847 
6848  def get_particle_index(self):
6849  r"""get_particle_index(Decorator self) -> ParticleIndex"""
6850  return _IMP_kernel.Decorator_get_particle_index(self)
6851 
6852  def get_model(self):
6853  m = _IMP_kernel.Decorator_get_model(self)
6854  if m in _models_set:
6855  m = _models_set_get(m)
6856  return m
6857 
6858 
6859 
6860  def get_is_valid(self):
6861  r"""get_is_valid(Decorator self) -> bool"""
6862  return _IMP_kernel.Decorator_get_is_valid(self)
6863 
6864  def __hash__(self):
6865  r"""__hash__(Decorator self) -> std::size_t"""
6866  return _IMP_kernel.Decorator___hash__(self)
6867 
6868  def __eq__(self, *args):
6869  r"""
6870  __eq__(Decorator self, Object o) -> bool
6871  __eq__(Decorator self, Decorator o) -> bool
6872  __eq__(Decorator self, Particle o) -> bool
6873  """
6874  return _IMP_kernel.Decorator___eq__(self, *args)
6875 
6876  def __bool__(self):
6877  r"""__bool__(Decorator self) -> bool"""
6878  return _IMP_kernel.Decorator___bool__(self)
6879  __swig_destroy__ = _IMP_kernel.delete_Decorator
6880 
6881 # Register Decorator in _IMP_kernel:
6882 _IMP_kernel.Decorator_swigregister(Decorator)
6883 
6884 def check_particle(m, pi):
6885  r"""check_particle(Model m, ParticleIndex pi)"""
6886  return _IMP_kernel.check_particle(m, pi)
6887 class UnaryFunction(Object):
6888  r"""Proxy of C++ IMP::UnaryFunction class."""
6889 
6890  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6891 
6892  def __init__(self, *args):
6893  r"""__init__(UnaryFunction self, std::string name="UnaryFunction%1%") -> UnaryFunction"""
6894  if self.__class__ == UnaryFunction:
6895  _self = None
6896  else:
6897  _self = self
6898  _IMP_kernel.UnaryFunction_swiginit(self, _IMP_kernel.new_UnaryFunction(_self, *args))
6899 
6900  if self.__class__ != UnaryFunction:
6901  _director_objects.register(self)
6902 
6903 
6904 
6905 
6906  def evaluate(self, feature):
6907  r"""evaluate(UnaryFunction self, double feature) -> double"""
6908  return _IMP_kernel.UnaryFunction_evaluate(self, feature)
6909 
6910  def evaluate_with_derivative(self, feature):
6911  r"""evaluate_with_derivative(UnaryFunction self, double feature) -> IMP::DerivativePair"""
6912  return _IMP_kernel.UnaryFunction_evaluate_with_derivative(self, feature)
6913  __swig_destroy__ = _IMP_kernel.delete_UnaryFunction
6914 
6915  def __str__(self):
6916  r"""__str__(UnaryFunction self) -> std::string"""
6917  return _IMP_kernel.UnaryFunction___str__(self)
6918 
6919  def __repr__(self):
6920  r"""__repr__(UnaryFunction self) -> std::string"""
6921  return _IMP_kernel.UnaryFunction___repr__(self)
6922 
6923  @staticmethod
6924  def get_from(o):
6925  return _object_cast_to_UnaryFunction(o)
6926 
6927 
6928  def do_show(self, out):
6929  pass
6930 
6931  @staticmethod
6932  def get_from(o):
6933  return _object_cast_to_UnaryFunction(o)
6934 
6935 
6936  def _get_jax(self):
6937  """Return a JAX implementation of this UnaryFunction.
6938  Implement this method in a UnaryFunction subclass to provide
6939  an equivalent function using [JAX](https://docs.jax.dev/)
6940  that scores the provided feature value.
6941  """
6942  raise NotImplementedError(
6943  f"No JAX implementation for {self} ({type(self)})")
6944 
6945  def __disown__(self):
6946  self.this.disown()
6947  _IMP_kernel.disown_UnaryFunction(self)
6948  return weakref.proxy(self)
6949 
6950  def do_destroy(self):
6951  r"""do_destroy(UnaryFunction self)"""
6952  return _IMP_kernel.UnaryFunction_do_destroy(self)
6953 
6954 # Register UnaryFunction in _IMP_kernel:
6955 _IMP_kernel.UnaryFunction_swigregister(UnaryFunction)
6957  r"""Proxy of C++ IMP::OptimizerState class."""
6958 
6959  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6960 
6961  def __init__(self, *args):
6962  r"""
6963  __init__(OptimizerState self, Model m, std::string name) -> OptimizerState
6964  __init__(OptimizerState self) -> OptimizerState
6965  """
6966  if self.__class__ == OptimizerState:
6967  _self = None
6968  else:
6969  _self = self
6970  _IMP_kernel.OptimizerState_swiginit(self, _IMP_kernel.new_OptimizerState(_self, *args))
6971 
6972  if self.__class__ != OptimizerState:
6973  _director_objects.register(self)
6974 
6975 
6976 
6977 
6978  def update(self):
6979  r"""update(OptimizerState self)"""
6980  return _IMP_kernel.OptimizerState_update(self)
6981 
6982  def set_is_optimizing(self, arg0):
6983  r"""set_is_optimizing(OptimizerState self, bool arg0)"""
6984  return _IMP_kernel.OptimizerState_set_is_optimizing(self, arg0)
6985 
6986  def get_optimizer(self):
6987  r"""get_optimizer(OptimizerState self) -> Optimizer"""
6988  return _IMP_kernel.OptimizerState_get_optimizer(self)
6989 
6990  def set_period(self, p):
6991  r"""set_period(OptimizerState self, unsigned int p)"""
6992  return _IMP_kernel.OptimizerState_set_period(self, p)
6993 
6994  def get_period(self):
6995  r"""get_period(OptimizerState self) -> unsigned int"""
6996  return _IMP_kernel.OptimizerState_get_period(self)
6997 
6998  def reset(self):
6999  r"""reset(OptimizerState self)"""
7000  return _IMP_kernel.OptimizerState_reset(self)
7001 
7002  def update_always(self):
7003  r"""update_always(OptimizerState self)"""
7004  return _IMP_kernel.OptimizerState_update_always(self)
7005 
7006  def get_number_of_updates(self):
7007  r"""get_number_of_updates(OptimizerState self) -> unsigned int"""
7008  return _IMP_kernel.OptimizerState_get_number_of_updates(self)
7009 
7010  def set_number_of_updates(self, n):
7011  r"""set_number_of_updates(OptimizerState self, unsigned int n)"""
7012  return _IMP_kernel.OptimizerState_set_number_of_updates(self, n)
7013  __swig_destroy__ = _IMP_kernel.delete_OptimizerState
7014 
7015  def do_update(self, arg0):
7016  r"""do_update(OptimizerState self, unsigned int arg0)"""
7017  return _IMP_kernel.OptimizerState_do_update(self, arg0)
7018 
7019  def do_set_is_optimizing(self, arg0):
7020  r"""do_set_is_optimizing(OptimizerState self, bool arg0)"""
7021  return _IMP_kernel.OptimizerState_do_set_is_optimizing(self, arg0)
7022 
7023  def do_get_inputs(self):
7024  r"""do_get_inputs(OptimizerState self) -> IMP::ModelObjectsTemp"""
7025  return _IMP_kernel.OptimizerState_do_get_inputs(self)
7026 
7027  def do_get_outputs(self):
7028  r"""do_get_outputs(OptimizerState self) -> IMP::ModelObjectsTemp"""
7029  return _IMP_kernel.OptimizerState_do_get_outputs(self)
7030 
7031  def __str__(self):
7032  r"""__str__(OptimizerState self) -> std::string"""
7033  return _IMP_kernel.OptimizerState___str__(self)
7034 
7035  def __repr__(self):
7036  r"""__repr__(OptimizerState self) -> std::string"""
7037  return _IMP_kernel.OptimizerState___repr__(self)
7038 
7039  @staticmethod
7040  def get_from(o):
7041  return _object_cast_to_OptimizerState(o)
7042 
7043 
7044  def do_show(self, out):
7045  pass
7046 
7047  @staticmethod
7048  def get_from(o):
7049  return _object_cast_to_OptimizerState(o)
7050 
7051 
7052  def _get_jax(self, state_index):
7053  """Add JAX support for this OptimizerState.
7054 
7055  Each OptimizerState must explicitly support how it is going to
7056  be called when the Optimizer is run via JAX.
7057 
7058  OptimizerStates can run as traditional IMP CPU code
7059  on the IMP Model object, in which case None should be returned here.
7060  The Optimizer will sync any necessary information from JAX back
7061  with the IMP Model before calling the OptimizerState. However,
7062  the OptimizerState is not permitted to modify the Model; any
7063  changes will not be propagated back to the Optimizer.
7064  (For example, a thermostat which tries to change particle
7065  velocities will not function correctly.)
7066 
7067  Alternatively, a pure JAX implementation can be provided.
7068  See _wrap_jax for more information.
7069  """
7070  raise NotImplementedError(
7071  f"No JAX implementation for {self} ({type(self)})")
7072 
7073  def _wrap_jax(self, init_func, apply_func):
7074  """Create the return value for _get_jax.
7075  Use this method in _get_jax() to wrap the JAX function
7076  with other OptimizerState-specific information.
7077 
7078  @param init_func a JAX function which, given a JAX Optimizer,
7079  does any necessary setup and returns a (possibly modified)
7080  JAX Optimizer. If any OptimizerState-specific
7081  persistent state is needed, it can be stored in
7082  `opt.optimizer_states[state_index]` and later retrieved or
7083  modified in apply_func.
7084  @param apply_func a JAX function which, given a JAX Optimizer,
7085  does the JAX equivalent of do_update() and returns a new
7086  JAX Optimizer.
7087  """
7088  from IMP._jax_util import JAXOptimizerStateInfo
7089  return JAXOptimizerStateInfo(self, init_func, apply_func)
7090 
7091  def __disown__(self):
7092  self.this.disown()
7093  _IMP_kernel.disown_OptimizerState(self)
7094  return weakref.proxy(self)
7095 
7096  def do_destroy(self):
7097  r"""do_destroy(OptimizerState self)"""
7098  return _IMP_kernel.OptimizerState_do_destroy(self)
7099 
7100  def handle_set_has_required_score_states(self, arg0):
7101  r"""handle_set_has_required_score_states(OptimizerState self, bool arg0)"""
7102  return _IMP_kernel.OptimizerState_handle_set_has_required_score_states(self, arg0)
7103 
7104  def do_get_interactions(self):
7105  r"""do_get_interactions(OptimizerState self) -> IMP::ModelObjectsTemps"""
7106  return _IMP_kernel.OptimizerState_do_get_interactions(self)
7107 
7108 # Register OptimizerState in _IMP_kernel:
7109 _IMP_kernel.OptimizerState_swigregister(OptimizerState)
7110 class Refiner(_ParticleInputs, Object):
7111  r"""Proxy of C++ IMP::Refiner class."""
7112 
7113  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7114 
7115  def __init__(self, *args):
7116  r"""__init__(Refiner self, std::string name="Refiner %1%", bool is_by_ref=False) -> Refiner"""
7117  if self.__class__ == Refiner:
7118  _self = None
7119  else:
7120  _self = self
7121  _IMP_kernel.Refiner_swiginit(self, _IMP_kernel.new_Refiner(_self, *args))
7122 
7123  if self.__class__ != Refiner:
7124  _director_objects.register(self)
7125 
7126 
7127 
7128 
7129  def get_can_refine(self, arg0):
7130  r"""get_can_refine(Refiner self, Particle arg0) -> bool"""
7131  return _IMP_kernel.Refiner_get_can_refine(self, arg0)
7132 
7133  def get_refined_indexes(self, m, pi):
7134  r"""get_refined_indexes(Refiner self, Model m, ParticleIndex pi) -> IMP::ParticleIndexes"""
7135  return _IMP_kernel.Refiner_get_refined_indexes(self, m, pi)
7136 
7137  def get_refined_indexes_by_ref(self, m, pi):
7138  r"""get_refined_indexes_by_ref(Refiner self, Model m, ParticleIndex pi) -> IMP::ParticleIndexes const &"""
7139  return _IMP_kernel.Refiner_get_refined_indexes_by_ref(self, m, pi)
7140 
7141  def get_is_by_ref_supported(self):
7142  r"""get_is_by_ref_supported(Refiner self) -> bool"""
7143  return _IMP_kernel.Refiner_get_is_by_ref_supported(self)
7144 
7145  def get_refined(self, *args):
7146  r"""
7147  get_refined(Refiner self, Particle a) -> IMP::ParticlesTemp const
7148  get_refined(Refiner self, Particle a, unsigned int i) -> Particle
7149  """
7150  return _IMP_kernel.Refiner_get_refined(self, *args)
7151 
7152  def get_number_of_refined(self, a):
7153  r"""get_number_of_refined(Refiner self, Particle a) -> unsigned int"""
7154  return _IMP_kernel.Refiner_get_number_of_refined(self, a)
7155 
7156  def __str__(self):
7157  r"""__str__(Refiner self) -> std::string"""
7158  return _IMP_kernel.Refiner___str__(self)
7159 
7160  def __repr__(self):
7161  r"""__repr__(Refiner self) -> std::string"""
7162  return _IMP_kernel.Refiner___repr__(self)
7163 
7164  @staticmethod
7165  def get_from(o):
7166  return _object_cast_to_Refiner(o)
7167 
7168 
7169  def do_show(self, out):
7170  pass
7171 
7172  @staticmethod
7173  def get_from(o):
7174  return _object_cast_to_Refiner(o)
7175 
7176  __swig_destroy__ = _IMP_kernel.delete_Refiner
7177  def __disown__(self):
7178  self.this.disown()
7179  _IMP_kernel.disown_Refiner(self)
7180  return weakref.proxy(self)
7181 
7182  def do_get_inputs(self, m, pis):
7183  r"""do_get_inputs(Refiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7184  return _IMP_kernel.Refiner_do_get_inputs(self, m, pis)
7185 
7186  def do_destroy(self):
7187  r"""do_destroy(Refiner self)"""
7188  return _IMP_kernel.Refiner_do_destroy(self)
7189 
7190 # Register Refiner in _IMP_kernel:
7191 _IMP_kernel.Refiner_swigregister(Refiner)
7192 class Optimizer(ModelObject):
7193  r"""Proxy of C++ IMP::Optimizer class."""
7194 
7195  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7196 
7197  def set_is_optimizing_states(self, tf):
7198  r"""set_is_optimizing_states(Optimizer self, bool tf)"""
7199  return _IMP_kernel.Optimizer_set_is_optimizing_states(self, tf)
7200 
7201  def get_optimizer_state_inputs(self):
7202  r"""get_optimizer_state_inputs(Optimizer self) -> IMP::ModelObjectsTemp"""
7203  return _IMP_kernel.Optimizer_get_optimizer_state_inputs(self)
7204 
7205  def do_get_inputs(self):
7206  r"""do_get_inputs(Optimizer self) -> IMP::ModelObjectsTemp"""
7207  return _IMP_kernel.Optimizer_do_get_inputs(self)
7208 
7209  def do_get_outputs(self):
7210  r"""do_get_outputs(Optimizer self) -> IMP::ModelObjectsTemp"""
7211  return _IMP_kernel.Optimizer_do_get_outputs(self)
7212 
7213  def __init__(self, *args):
7214  r"""
7215  __init__(Optimizer self, Model m, std::string name="Optimizer %1%") -> Optimizer
7216  __init__(Optimizer self) -> Optimizer
7217  """
7218  if self.__class__ == Optimizer:
7219  _self = None
7220  else:
7221  _self = self
7222  _IMP_kernel.Optimizer_swiginit(self, _IMP_kernel.new_Optimizer(_self, *args))
7223 
7224  if self.__class__ != Optimizer:
7225  _director_objects.register(self)
7226 
7227 
7228 
7229 
7230  def optimize(self, max_steps):
7231  r"""optimize(Optimizer self, unsigned int max_steps) -> double"""
7232  return _IMP_kernel.Optimizer_optimize(self, max_steps)
7233 
7234  def set_stop_on_good_score(self, tf):
7235  r"""set_stop_on_good_score(Optimizer self, bool tf)"""
7236  return _IMP_kernel.Optimizer_set_stop_on_good_score(self, tf)
7237 
7238  def get_stop_on_good_score(self):
7239  r"""get_stop_on_good_score(Optimizer self) -> bool"""
7240  return _IMP_kernel.Optimizer_get_stop_on_good_score(self)
7241 
7242  def get_last_score(self):
7243  r"""get_last_score(Optimizer self) -> double"""
7244  return _IMP_kernel.Optimizer_get_last_score(self)
7245 
7246  def get_scoring_function(self):
7247  r"""get_scoring_function(Optimizer self) -> ScoringFunction"""
7248  return _IMP_kernel.Optimizer_get_scoring_function(self)
7249  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)
7250  def __set_optimizer_states(self, obj): _list_util.set_varlist(self.optimizer_states, obj)
7251  def __del_optimizer_states(self): _list_util.del_varlist(self.optimizer_states)
7252  optimizer_states = property(__get_optimizer_states, __set_optimizer_states, __del_optimizer_states, doc="List of ##ucnames")
7253 
7254  def remove_optimizer_state(self, d):
7255  r"""remove_optimizer_state(Optimizer self, OptimizerState d)"""
7256  return _IMP_kernel.Optimizer_remove_optimizer_state(self, d)
7257 
7258  def _python_index_optimizer_state(self, d, start, stop):
7259  r"""_python_index_optimizer_state(Optimizer self, OptimizerState d, unsigned int start, unsigned int stop) -> unsigned int"""
7260  return _IMP_kernel.Optimizer__python_index_optimizer_state(self, d, start, stop)
7261 
7262  def remove_optimizer_states(self, d):
7263  r"""remove_optimizer_states(Optimizer self, IMP::OptimizerStates const & d)"""
7264  return _IMP_kernel.Optimizer_remove_optimizer_states(self, d)
7265 
7266  def set_optimizer_states(self, ps):
7267  r"""set_optimizer_states(Optimizer self, IMP::OptimizerStates const & ps)"""
7268  return _IMP_kernel.Optimizer_set_optimizer_states(self, ps)
7269 
7270  def set_optimizer_states_order(self, objs):
7271  r"""set_optimizer_states_order(Optimizer self, IMP::OptimizerStates const & objs)"""
7272  return _IMP_kernel.Optimizer_set_optimizer_states_order(self, objs)
7273 
7274  def add_optimizer_state(self, obj):
7275  r"""add_optimizer_state(Optimizer self, OptimizerState obj) -> unsigned int"""
7276  return _IMP_kernel.Optimizer_add_optimizer_state(self, obj)
7277 
7278  def add_optimizer_states(self, objs):
7279  r"""add_optimizer_states(Optimizer self, IMP::OptimizerStates const & objs)"""
7280  return _IMP_kernel.Optimizer_add_optimizer_states(self, objs)
7281 
7282  def clear_optimizer_states(self):
7283  r"""clear_optimizer_states(Optimizer self)"""
7284  return _IMP_kernel.Optimizer_clear_optimizer_states(self)
7285 
7286  def get_number_of_optimizer_states(self):
7287  r"""get_number_of_optimizer_states(Optimizer self) -> unsigned int"""
7288  return _IMP_kernel.Optimizer_get_number_of_optimizer_states(self)
7289 
7290  def get_has_optimizer_states(self):
7291  r"""get_has_optimizer_states(Optimizer self) -> bool"""
7292  return _IMP_kernel.Optimizer_get_has_optimizer_states(self)
7293 
7294  def get_optimizer_state(self, i):
7295  r"""get_optimizer_state(Optimizer self, unsigned int i) -> OptimizerState"""
7296  return _IMP_kernel.Optimizer_get_optimizer_state(self, i)
7297 
7298  def get_optimizer_states(self):
7299  r"""get_optimizer_states(Optimizer self) -> IMP::OptimizerStates"""
7300  return _IMP_kernel.Optimizer_get_optimizer_states(self)
7301 
7302  def erase_optimizer_state(self, i):
7303  r"""erase_optimizer_state(Optimizer self, unsigned int i)"""
7304  return _IMP_kernel.Optimizer_erase_optimizer_state(self, i)
7305 
7306  def reserve_optimizer_states(self, sz):
7307  r"""reserve_optimizer_states(Optimizer self, unsigned int sz)"""
7308  return _IMP_kernel.Optimizer_reserve_optimizer_states(self, sz)
7309 
7310  def set_scoring_function(self, sf):
7311  r"""set_scoring_function(Optimizer self, _ScoringFunctionAdaptor sf)"""
7312  return _IMP_kernel.Optimizer_set_scoring_function(self, sf)
7313  __swig_destroy__ = _IMP_kernel.delete_Optimizer
7314  def __del__(self):
7315  r"""__del__(Optimizer self)"""
7316 
7317  _director_objects.cleanup()
7318 
7319 
7320  pass
7321 
7322 
7323  def do_optimize(self, ns):
7324  r"""do_optimize(Optimizer self, unsigned int ns) -> double"""
7325  return _IMP_kernel.Optimizer_do_optimize(self, ns)
7326 
7327  def update_states(self):
7328  r"""update_states(Optimizer self)"""
7329  return _IMP_kernel.Optimizer_update_states(self)
7330 
7331  def __str__(self):
7332  r"""__str__(Optimizer self) -> std::string"""
7333  return _IMP_kernel.Optimizer___str__(self)
7334 
7335  def __repr__(self):
7336  r"""__repr__(Optimizer self) -> std::string"""
7337  return _IMP_kernel.Optimizer___repr__(self)
7338 
7339  @staticmethod
7340  def get_from(o):
7341  return _object_cast_to_Optimizer(o)
7342 
7343 
7344  def do_show(self, out):
7345  pass
7346 
7347  @staticmethod
7348  def get_from(o):
7349  return _object_cast_to_Optimizer(o)
7350 
7351  def __disown__(self):
7352  self.this.disown()
7353  _IMP_kernel.disown_Optimizer(self)
7354  return weakref.proxy(self)
7355 
7356  def do_destroy(self):
7357  r"""do_destroy(Optimizer self)"""
7358  return _IMP_kernel.Optimizer_do_destroy(self)
7359 
7360  def handle_set_has_required_score_states(self, arg0):
7361  r"""handle_set_has_required_score_states(Optimizer self, bool arg0)"""
7362  return _IMP_kernel.Optimizer_handle_set_has_required_score_states(self, arg0)
7363 
7364  def do_get_interactions(self):
7365  r"""do_get_interactions(Optimizer self) -> IMP::ModelObjectsTemps"""
7366  return _IMP_kernel.Optimizer_do_get_interactions(self)
7367 
7368 # Register Optimizer in _IMP_kernel:
7369 _IMP_kernel.Optimizer_swigregister(Optimizer)
7371  r"""Proxy of C++ IMP::AttributeOptimizer class."""
7372 
7373  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7374 
7375  def __init__(self, *args):
7376  r"""
7377  __init__(AttributeOptimizer self, Model m, std::string name="Optimizer %1%") -> AttributeOptimizer
7378  __init__(AttributeOptimizer self) -> AttributeOptimizer
7379  """
7380  if self.__class__ == AttributeOptimizer:
7381  _self = None
7382  else:
7383  _self = self
7384  _IMP_kernel.AttributeOptimizer_swiginit(self, _IMP_kernel.new_AttributeOptimizer(_self, *args))
7385 
7386  if self.__class__ != AttributeOptimizer:
7387  _director_objects.register(self)
7388 
7389 
7390 
7391 
7392  def get_optimized_attributes(self):
7393  r"""get_optimized_attributes(AttributeOptimizer self) -> IMP::FloatIndexes"""
7394  return _IMP_kernel.AttributeOptimizer_get_optimized_attributes(self)
7395 
7396  def set_value(self, fi, v):
7397  r"""set_value(AttributeOptimizer self, FloatIndex fi, double v)"""
7398  return _IMP_kernel.AttributeOptimizer_set_value(self, fi, v)
7399 
7400  def get_value(self, fi):
7401  r"""get_value(AttributeOptimizer self, FloatIndex fi) -> IMP::Float"""
7402  return _IMP_kernel.AttributeOptimizer_get_value(self, fi)
7403 
7404  def get_derivative(self, fi):
7405  r"""get_derivative(AttributeOptimizer self, FloatIndex fi) -> IMP::Float"""
7406  return _IMP_kernel.AttributeOptimizer_get_derivative(self, fi)
7407 
7408  def get_width(self, k):
7409  r"""get_width(AttributeOptimizer self, FloatKey k) -> double"""
7410  return _IMP_kernel.AttributeOptimizer_get_width(self, k)
7411 
7412  def set_scaled_value(self, fi, v):
7413  r"""set_scaled_value(AttributeOptimizer self, FloatIndex fi, IMP::Float v)"""
7414  return _IMP_kernel.AttributeOptimizer_set_scaled_value(self, fi, v)
7415 
7416  def get_scaled_value(self, fi):
7417  r"""get_scaled_value(AttributeOptimizer self, FloatIndex fi) -> double"""
7418  return _IMP_kernel.AttributeOptimizer_get_scaled_value(self, fi)
7419 
7420  def get_scaled_derivative(self, fi):
7421  r"""get_scaled_derivative(AttributeOptimizer self, FloatIndex fi) -> double"""
7422  return _IMP_kernel.AttributeOptimizer_get_scaled_derivative(self, fi)
7423 
7424  def clear_range_cache(self):
7425  r"""clear_range_cache(AttributeOptimizer self)"""
7426  return _IMP_kernel.AttributeOptimizer_clear_range_cache(self)
7427 
7428  def __str__(self):
7429  r"""__str__(AttributeOptimizer self) -> std::string"""
7430  return _IMP_kernel.AttributeOptimizer___str__(self)
7431 
7432  def __repr__(self):
7433  r"""__repr__(AttributeOptimizer self) -> std::string"""
7434  return _IMP_kernel.AttributeOptimizer___repr__(self)
7435 
7436  @staticmethod
7437  def get_from(o):
7438  return _object_cast_to_AttributeOptimizer(o)
7439 
7440 
7441  def do_show(self, out):
7442  pass
7443 
7444  @staticmethod
7445  def get_from(o):
7446  return _object_cast_to_AttributeOptimizer(o)
7447 
7448  __swig_destroy__ = _IMP_kernel.delete_AttributeOptimizer
7449  def __disown__(self):
7450  self.this.disown()
7451  _IMP_kernel.disown_AttributeOptimizer(self)
7452  return weakref.proxy(self)
7453 
7454  def do_destroy(self):
7455  r"""do_destroy(AttributeOptimizer self)"""
7456  return _IMP_kernel.AttributeOptimizer_do_destroy(self)
7457 
7458  def handle_set_has_required_score_states(self, arg0):
7459  r"""handle_set_has_required_score_states(AttributeOptimizer self, bool arg0)"""
7460  return _IMP_kernel.AttributeOptimizer_handle_set_has_required_score_states(self, arg0)
7461 
7462  def do_get_inputs(self):
7463  r"""do_get_inputs(AttributeOptimizer self) -> IMP::ModelObjectsTemp"""
7464  return _IMP_kernel.AttributeOptimizer_do_get_inputs(self)
7465 
7466  def do_get_outputs(self):
7467  r"""do_get_outputs(AttributeOptimizer self) -> IMP::ModelObjectsTemp"""
7468  return _IMP_kernel.AttributeOptimizer_do_get_outputs(self)
7469 
7470  def do_get_interactions(self):
7471  r"""do_get_interactions(AttributeOptimizer self) -> IMP::ModelObjectsTemps"""
7472  return _IMP_kernel.AttributeOptimizer_do_get_interactions(self)
7473 
7474  def do_optimize(self, ns):
7475  r"""do_optimize(AttributeOptimizer self, unsigned int ns) -> double"""
7476  return _IMP_kernel.AttributeOptimizer_do_optimize(self, ns)
7477 
7478 # Register AttributeOptimizer in _IMP_kernel:
7479 _IMP_kernel.AttributeOptimizer_swigregister(AttributeOptimizer)
7480 class ConfigurationSet(Object):
7481  r"""Proxy of C++ IMP::ConfigurationSet class."""
7482 
7483  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7484 
7485  def __init__(self, *args):
7486  r"""__init__(ConfigurationSet self, Model m, std::string name="ConfigurationSet %1%") -> ConfigurationSet"""
7487  _IMP_kernel.ConfigurationSet_swiginit(self, _IMP_kernel.new_ConfigurationSet(*args))
7488 
7489  def save_configuration(self):
7490  r"""save_configuration(ConfigurationSet self)"""
7491  return _IMP_kernel.ConfigurationSet_save_configuration(self)
7492 
7493  def get_number_of_configurations(self):
7494  r"""get_number_of_configurations(ConfigurationSet self) -> unsigned int"""
7495  return _IMP_kernel.ConfigurationSet_get_number_of_configurations(self)
7496 
7497  def load_configuration(self, i):
7498  r"""load_configuration(ConfigurationSet self, int i)"""
7499  return _IMP_kernel.ConfigurationSet_load_configuration(self, i)
7500 
7501  def remove_configuration(self, i):
7502  r"""remove_configuration(ConfigurationSet self, unsigned int i)"""
7503  return _IMP_kernel.ConfigurationSet_remove_configuration(self, i)
7504 
7505  def get_model(self):
7506  r"""get_model(ConfigurationSet self) -> Model"""
7507  return _IMP_kernel.ConfigurationSet_get_model(self)
7508 
7509  def get_version_info(self):
7510  r"""get_version_info(ConfigurationSet self) -> VersionInfo"""
7511  return _IMP_kernel.ConfigurationSet_get_version_info(self)
7512  __swig_destroy__ = _IMP_kernel.delete_ConfigurationSet
7513 
7514  def __str__(self):
7515  r"""__str__(ConfigurationSet self) -> std::string"""
7516  return _IMP_kernel.ConfigurationSet___str__(self)
7517 
7518  def __repr__(self):
7519  r"""__repr__(ConfigurationSet self) -> std::string"""
7520  return _IMP_kernel.ConfigurationSet___repr__(self)
7521 
7522  @staticmethod
7523  def get_from(o):
7524  return _object_cast_to_ConfigurationSet(o)
7525 
7526 
7527 # Register ConfigurationSet in _IMP_kernel:
7528 _IMP_kernel.ConfigurationSet_swigregister(ConfigurationSet)
7530  r"""Proxy of C++ IMP::SaveToConfigurationSetOptimizerState 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, cs):
7535  r"""__init__(SaveToConfigurationSetOptimizerState self, ConfigurationSet cs) -> SaveToConfigurationSetOptimizerState"""
7536  _IMP_kernel.SaveToConfigurationSetOptimizerState_swiginit(self, _IMP_kernel.new_SaveToConfigurationSetOptimizerState(cs))
7537 
7538  def get_version_info(self):
7539  r"""get_version_info(SaveToConfigurationSetOptimizerState self) -> VersionInfo"""
7540  return _IMP_kernel.SaveToConfigurationSetOptimizerState_get_version_info(self)
7541  __swig_destroy__ = _IMP_kernel.delete_SaveToConfigurationSetOptimizerState
7542 
7543  def __str__(self):
7544  r"""__str__(SaveToConfigurationSetOptimizerState self) -> std::string"""
7545  return _IMP_kernel.SaveToConfigurationSetOptimizerState___str__(self)
7546 
7547  def __repr__(self):
7548  r"""__repr__(SaveToConfigurationSetOptimizerState self) -> std::string"""
7549  return _IMP_kernel.SaveToConfigurationSetOptimizerState___repr__(self)
7550 
7551  @staticmethod
7552  def get_from(o):
7553  return _object_cast_to_SaveToConfigurationSetOptimizerState(o)
7554 
7555 
7556 # Register SaveToConfigurationSetOptimizerState in _IMP_kernel:
7557 _IMP_kernel.SaveToConfigurationSetOptimizerState_swigregister(SaveToConfigurationSetOptimizerState)
7558 class Configuration(Object):
7559  r"""Proxy of C++ IMP::Configuration class."""
7560 
7561  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7562 
7563  def __init__(self, *args):
7564  r"""
7565  __init__(Configuration self, Model m, std::string name="Configuration %1%") -> Configuration
7566  __init__(Configuration self, Model m, Configuration base, std::string name="Configuration %1%") -> Configuration
7567  """
7568  _IMP_kernel.Configuration_swiginit(self, _IMP_kernel.new_Configuration(*args))
7569 
7570  def load_configuration(self):
7571  r"""load_configuration(Configuration self)"""
7572  return _IMP_kernel.Configuration_load_configuration(self)
7573 
7574  def swap_configuration(self):
7575  r"""swap_configuration(Configuration self)"""
7576  return _IMP_kernel.Configuration_swap_configuration(self)
7577 
7578  def get_version_info(self):
7579  r"""get_version_info(Configuration self) -> VersionInfo"""
7580  return _IMP_kernel.Configuration_get_version_info(self)
7581  __swig_destroy__ = _IMP_kernel.delete_Configuration
7582 
7583  def __str__(self):
7584  r"""__str__(Configuration self) -> std::string"""
7585  return _IMP_kernel.Configuration___str__(self)
7586 
7587  def __repr__(self):
7588  r"""__repr__(Configuration self) -> std::string"""
7589  return _IMP_kernel.Configuration___repr__(self)
7590 
7591  @staticmethod
7592  def get_from(o):
7593  return _object_cast_to_Configuration(o)
7594 
7595 
7596 # Register Configuration in _IMP_kernel:
7597 _IMP_kernel.Configuration_swigregister(Configuration)
7598 class Sampler(Object):
7599  r"""Proxy of C++ IMP::Sampler class."""
7600 
7601  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7602 
7603  def __init__(self, *args):
7604  r"""__init__(Sampler self, Model m, std::string name="Sampler %1%") -> Sampler"""
7605  if self.__class__ == Sampler:
7606  _self = None
7607  else:
7608  _self = self
7609  _IMP_kernel.Sampler_swiginit(self, _IMP_kernel.new_Sampler(_self, *args))
7610 
7611  if self.__class__ != Sampler:
7612  _director_objects.register(self)
7613 
7614 
7615 
7616 
7617  def create_sample(self):
7618  r"""create_sample(Sampler self) -> ConfigurationSet"""
7619  return _IMP_kernel.Sampler_create_sample(self)
7620 
7621  def get_scoring_function(self):
7622  r"""get_scoring_function(Sampler self) -> ScoringFunction"""
7623  return _IMP_kernel.Sampler_get_scoring_function(self)
7624 
7625  def set_scoring_function(self, sf):
7626  r"""set_scoring_function(Sampler self, _ScoringFunctionAdaptor sf)"""
7627  return _IMP_kernel.Sampler_set_scoring_function(self, sf)
7628 
7629  def get_model(self):
7630  r"""get_model(Sampler self) -> Model"""
7631  return _IMP_kernel.Sampler_get_model(self)
7632 
7633  def do_sample(self):
7634  r"""do_sample(Sampler self) -> ConfigurationSet"""
7635  return _IMP_kernel.Sampler_do_sample(self)
7636  __swig_destroy__ = _IMP_kernel.delete_Sampler
7637 
7638  def __str__(self):
7639  r"""__str__(Sampler self) -> std::string"""
7640  return _IMP_kernel.Sampler___str__(self)
7641 
7642  def __repr__(self):
7643  r"""__repr__(Sampler self) -> std::string"""
7644  return _IMP_kernel.Sampler___repr__(self)
7645 
7646  @staticmethod
7647  def get_from(o):
7648  return _object_cast_to_Sampler(o)
7649 
7650 
7651  def do_show(self, out):
7652  pass
7653 
7654  @staticmethod
7655  def get_from(o):
7656  return _object_cast_to_Sampler(o)
7657 
7658  def __disown__(self):
7659  self.this.disown()
7660  _IMP_kernel.disown_Sampler(self)
7661  return weakref.proxy(self)
7662 
7663  def do_destroy(self):
7664  r"""do_destroy(Sampler self)"""
7665  return _IMP_kernel.Sampler_do_destroy(self)
7666 
7667 # Register Sampler in _IMP_kernel:
7668 _IMP_kernel.Sampler_swigregister(Sampler)
7669 class PairModifier(_ParticleInputs, _ParticleOutputs, Object):
7670  r"""Proxy of C++ IMP::PairModifier class."""
7671 
7672  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7673 
7674  def __init__(self, *args):
7675  r"""__init__(PairModifier self, std::string name="PairModifier %1%") -> PairModifier"""
7676  if self.__class__ == PairModifier:
7677  _self = None
7678  else:
7679  _self = self
7680  _IMP_kernel.PairModifier_swiginit(self, _IMP_kernel.new_PairModifier(_self, *args))
7681 
7682  if self.__class__ != PairModifier:
7683  _director_objects.register(self)
7684 
7685 
7686 
7687 
7688  def apply_index(self, m, v):
7689  r"""apply_index(PairModifier self, Model m, IMP::ParticleIndexPair const & v)"""
7690  return _IMP_kernel.PairModifier_apply_index(self, m, v)
7691 
7692  def apply_indexes(self, m, o, lower_bound, upper_bound):
7693  r"""apply_indexes(PairModifier self, Model m, IMP::ParticleIndexPairs const & o, unsigned int lower_bound, unsigned int upper_bound)"""
7694  return _IMP_kernel.PairModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
7695 
7696  def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
7697  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)"""
7698  return _IMP_kernel.PairModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
7699 
7700  def __str__(self):
7701  r"""__str__(PairModifier self) -> std::string"""
7702  return _IMP_kernel.PairModifier___str__(self)
7703 
7704  def __repr__(self):
7705  r"""__repr__(PairModifier self) -> std::string"""
7706  return _IMP_kernel.PairModifier___repr__(self)
7707 
7708  @staticmethod
7709  def get_from(o):
7710  return _object_cast_to_PairModifier(o)
7711 
7712 
7713  def do_show(self, out):
7714  pass
7715 
7716  @staticmethod
7717  def get_from(o):
7718  return _object_cast_to_PairModifier(o)
7719 
7720  __swig_destroy__ = _IMP_kernel.delete_PairModifier
7721  def __disown__(self):
7722  self.this.disown()
7723  _IMP_kernel.disown_PairModifier(self)
7724  return weakref.proxy(self)
7725 
7726  def do_get_inputs(self, m, pis):
7727  r"""do_get_inputs(PairModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7728  return _IMP_kernel.PairModifier_do_get_inputs(self, m, pis)
7729 
7730  def do_get_outputs(self, m, pis):
7731  r"""do_get_outputs(PairModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7732  return _IMP_kernel.PairModifier_do_get_outputs(self, m, pis)
7733 
7734  def do_destroy(self):
7735  r"""do_destroy(PairModifier self)"""
7736  return _IMP_kernel.PairModifier_do_destroy(self)
7737 
7738 # Register PairModifier in _IMP_kernel:
7739 _IMP_kernel.PairModifier_swigregister(PairModifier)
7740 class PairScore(_ParticleInputs, Object):
7741  r"""Proxy of C++ IMP::PairScore class."""
7742 
7743  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7744 
7745  def __init__(self, *args):
7746  r"""__init__(PairScore self, std::string name="PairScore %1%") -> PairScore"""
7747  if self.__class__ == PairScore:
7748  _self = None
7749  else:
7750  _self = self
7751  _IMP_kernel.PairScore_swiginit(self, _IMP_kernel.new_PairScore(_self, *args))
7752 
7753  if self.__class__ != PairScore:
7754  _director_objects.register(self)
7755 
7756 
7757 
7758 
7759  def evaluate_index(self, m, vt, da):
7760  r"""evaluate_index(PairScore self, Model m, IMP::ParticleIndexPair const & vt, DerivativeAccumulator da) -> double"""
7761  return _IMP_kernel.PairScore_evaluate_index(self, m, vt, da)
7762 
7763  def check_indexes(self, m, pis):
7764  r"""check_indexes(PairScore self, Model m, IMP::ParticleIndexes const & pis) -> bool"""
7765  return _IMP_kernel.PairScore_check_indexes(self, m, pis)
7766 
7767  def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
7768  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"""
7769  return _IMP_kernel.PairScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
7770 
7771  def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7772  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"""
7773  return _IMP_kernel.PairScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
7774 
7775  def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
7776  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"""
7777  return _IMP_kernel.PairScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
7778 
7779  def evaluate_if_good_index(self, m, vt, da, max):
7780  r"""evaluate_if_good_index(PairScore self, Model m, IMP::ParticleIndexPair const & vt, DerivativeAccumulator da, double max) -> double"""
7781  return _IMP_kernel.PairScore_evaluate_if_good_index(self, m, vt, da, max)
7782 
7783  def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7784  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"""
7785  return _IMP_kernel.PairScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
7786 
7787  def create_current_decomposition(self, m, vt):
7788  r"""create_current_decomposition(PairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
7789  return _IMP_kernel.PairScore_create_current_decomposition(self, m, vt)
7790 
7791  def do_create_current_decomposition(self, m, vt):
7792  r"""do_create_current_decomposition(PairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
7793  return _IMP_kernel.PairScore_do_create_current_decomposition(self, m, vt)
7794  __swig_destroy__ = _IMP_kernel.delete_PairScore
7795 
7796  def __str__(self):
7797  r"""__str__(PairScore self) -> std::string"""
7798  return _IMP_kernel.PairScore___str__(self)
7799 
7800  def __repr__(self):
7801  r"""__repr__(PairScore self) -> std::string"""
7802  return _IMP_kernel.PairScore___repr__(self)
7803 
7804  @staticmethod
7805  def get_from(o):
7806  return _object_cast_to_PairScore(o)
7807 
7808 
7809  def do_show(self, out):
7810  pass
7811 
7812  @staticmethod
7813  def get_from(o):
7814  return _object_cast_to_PairScore(o)
7815 
7816 
7817  def _wrap_jax(self, m, score_func, keys=None):
7818  """Create the return value for _get_jax.
7819  Use this method in _get_jax() to wrap the JAX scoring function
7820  with other score-specific information.
7821 
7822  @param m The IMP.Model that the score will act on.
7823  @param score_func A function implemented using JAX that takes
7824  one argument (the current JAX Model) and returns the total
7825  score.
7826  @param keys Model attributes used by the PairScore.
7827  See IMP::Restraint::_wrap_jax.
7828  """
7829  from IMP._jax_util import JAXScoreInfo
7830  return JAXScoreInfo(m, score_func=score_func, keys=keys)
7831 
7832  def _get_jax(self, m, indexes):
7833  """Return a JAX implementation of this PairScore.
7834  Implement this method in a PairScore subclass to provide
7835  an equivalent function using [JAX](https://docs.jax.dev/)
7836  that scores the current JAX Model with a given set of
7837  ParticlePairIndexes. See also _wrap_jax.
7838 
7839  @param m The IMP.Model that the score will act on.
7840  @param indexes The ParticlePairIndexes that the score will act on.
7841  """
7842  raise NotImplementedError(
7843  f"No JAX implementation for {self} ({type(self)})")
7844 
7845  def __disown__(self):
7846  self.this.disown()
7847  _IMP_kernel.disown_PairScore(self)
7848  return weakref.proxy(self)
7849 
7850  def do_get_inputs(self, m, pis):
7851  r"""do_get_inputs(PairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7852  return _IMP_kernel.PairScore_do_get_inputs(self, m, pis)
7853 
7854  def do_destroy(self):
7855  r"""do_destroy(PairScore self)"""
7856  return _IMP_kernel.PairScore_do_destroy(self)
7857 
7858 # Register PairScore in _IMP_kernel:
7859 _IMP_kernel.PairScore_swigregister(PairScore)
7860 class PairPredicate(_ParticleInputs, Object):
7861  r"""Proxy of C++ IMP::PairPredicate class."""
7862 
7863  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7864 
7865  def __init__(self, *args):
7866  r"""__init__(PairPredicate self, std::string name="PairPredicate %1%") -> PairPredicate"""
7867  if self.__class__ == PairPredicate:
7868  _self = None
7869  else:
7870  _self = self
7871  _IMP_kernel.PairPredicate_swiginit(self, _IMP_kernel.new_PairPredicate(_self, *args))
7872 
7873  if self.__class__ != PairPredicate:
7874  _director_objects.register(self)
7875 
7876 
7877 
7878 
7879  def setup_for_get_value_index_in_batch(self, arg0):
7880  r"""setup_for_get_value_index_in_batch(PairPredicate self, Model arg0)"""
7881  return _IMP_kernel.PairPredicate_setup_for_get_value_index_in_batch(self, arg0)
7882 
7883  def get_value_index_in_batch(self, m, vt):
7884  r"""get_value_index_in_batch(PairPredicate self, Model m, IMP::ParticleIndexPair const & vt) -> int"""
7885  return _IMP_kernel.PairPredicate_get_value_index_in_batch(self, m, vt)
7886 
7887  def __call__(self, m, vt):
7888  r"""__call__(PairPredicate self, Model m, IMP::ParticleIndexPair const & vt) -> int"""
7889  return _IMP_kernel.PairPredicate___call__(self, m, vt)
7890 
7891  def get_value_index(self, *args):
7892  r"""
7893  get_value_index(PairPredicate self, Model m, IMP::ParticleIndexPair const & vt) -> int
7894  get_value_index(PairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
7895  """
7896  return _IMP_kernel.PairPredicate_get_value_index(self, *args)
7897  __swig_destroy__ = _IMP_kernel.delete_PairPredicate
7898 
7899  def __str__(self):
7900  r"""__str__(PairPredicate self) -> std::string"""
7901  return _IMP_kernel.PairPredicate___str__(self)
7902 
7903  def __repr__(self):
7904  r"""__repr__(PairPredicate self) -> std::string"""
7905  return _IMP_kernel.PairPredicate___repr__(self)
7906 
7907  @staticmethod
7908  def get_from(o):
7909  return _object_cast_to_PairPredicate(o)
7910 
7911 
7912  def do_show(self, out):
7913  pass
7914 
7915  @staticmethod
7916  def get_from(o):
7917  return _object_cast_to_PairPredicate(o)
7918 
7919  def __disown__(self):
7920  self.this.disown()
7921  _IMP_kernel.disown_PairPredicate(self)
7922  return weakref.proxy(self)
7923 
7924  def do_get_inputs(self, m, pis):
7925  r"""do_get_inputs(PairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7926  return _IMP_kernel.PairPredicate_do_get_inputs(self, m, pis)
7927 
7928  def do_destroy(self):
7929  r"""do_destroy(PairPredicate self)"""
7930  return _IMP_kernel.PairPredicate_do_destroy(self)
7931 
7932 # Register PairPredicate in _IMP_kernel:
7933 _IMP_kernel.PairPredicate_swigregister(PairPredicate)
7934 class PairContainer(Container):
7935  r"""Proxy of C++ IMP::PairContainer class."""
7936 
7937  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7938 
7939  def apply_generic(self, m):
7940  r"""apply_generic(PairContainer self, PairModifier m)"""
7941  return _IMP_kernel.PairContainer_apply_generic(self, m)
7942 
7943  def apply_generic_moved(self, m, moved_pis, reset_pis):
7944  r"""apply_generic_moved(PairContainer self, PairModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7945  return _IMP_kernel.PairContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
7946 
7947  def apply(self, sm):
7948  r"""apply(PairContainer self, PairModifier sm)"""
7949  return _IMP_kernel.PairContainer_apply(self, sm)
7950 
7951  def apply_moved(self, sm, moved_pis, reset_pis):
7952  r"""apply_moved(PairContainer self, PairModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7953  return _IMP_kernel.PairContainer_apply_moved(self, sm, moved_pis, reset_pis)
7954 
7955  def get_range_indexes(self):
7956  r"""get_range_indexes(PairContainer self) -> IMP::ParticleIndexPairs"""
7957  return _IMP_kernel.PairContainer_get_range_indexes(self)
7958 
7959  def get_contents(self):
7960  r"""get_contents(PairContainer self) -> IMP::ParticleIndexPairs const &"""
7961  return _IMP_kernel.PairContainer_get_contents(self)
7962 
7963  def get_indexes(self):
7964  r"""get_indexes(PairContainer self) -> IMP::ParticleIndexPairs"""
7965  return _IMP_kernel.PairContainer_get_indexes(self)
7966 
7967  def get(self, *args):
7968  r"""
7969  get(PairContainer self) -> IMP::ParticlePairsTemp
7970  get(PairContainer self, unsigned int i) -> IMP::ParticlePair
7971  """
7972  return _IMP_kernel.PairContainer_get(self, *args)
7973 
7974  def get_number(self):
7975  r"""get_number(PairContainer self) -> unsigned int"""
7976  return _IMP_kernel.PairContainer_get_number(self)
7977 
7978  def __init__(self, *args):
7979  r"""
7980  __init__(PairContainer self, Model m, std::string name="PairContainer %1%") -> PairContainer
7981  __init__(PairContainer self) -> PairContainer
7982  """
7983  if self.__class__ == PairContainer:
7984  _self = None
7985  else:
7986  _self = self
7987  _IMP_kernel.PairContainer_swiginit(self, _IMP_kernel.new_PairContainer(_self, *args))
7988 
7989  if self.__class__ != PairContainer:
7990  _director_objects.register(self)
7991 
7992 
7993 
7994 
7995  def do_apply(self, sm):
7996  r"""do_apply(PairContainer self, PairModifier sm)"""
7997  return _IMP_kernel.PairContainer_do_apply(self, sm)
7998 
7999  def do_apply_moved(self, sm, moved_pis, reset_pis):
8000  r"""do_apply_moved(PairContainer self, PairModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
8001  return _IMP_kernel.PairContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
8002 
8003  def do_get_provides_access(self):
8004  r"""do_get_provides_access(PairContainer self) -> bool"""
8005  return _IMP_kernel.PairContainer_do_get_provides_access(self)
8006  __swig_destroy__ = _IMP_kernel.delete_PairContainer
8007 
8008  def __str__(self):
8009  r"""__str__(PairContainer self) -> std::string"""
8010  return _IMP_kernel.PairContainer___str__(self)
8011 
8012  def __repr__(self):
8013  r"""__repr__(PairContainer self) -> std::string"""
8014  return _IMP_kernel.PairContainer___repr__(self)
8015 
8016  @staticmethod
8017  def get_from(o):
8018  return _object_cast_to_PairContainer(o)
8019 
8020 
8021  def do_show(self, out):
8022  pass
8023 
8024  @staticmethod
8025  def get_from(o):
8026  return _object_cast_to_PairContainer(o)
8027 
8028  def __disown__(self):
8029  self.this.disown()
8030  _IMP_kernel.disown_PairContainer(self)
8031  return weakref.proxy(self)
8032 
8033  def do_destroy(self):
8034  r"""do_destroy(PairContainer self)"""
8035  return _IMP_kernel.PairContainer_do_destroy(self)
8036 
8037  def handle_set_has_required_score_states(self, arg0):
8038  r"""handle_set_has_required_score_states(PairContainer self, bool arg0)"""
8039  return _IMP_kernel.PairContainer_handle_set_has_required_score_states(self, arg0)
8040 
8041  def do_get_inputs(self):
8042  r"""do_get_inputs(PairContainer self) -> IMP::ModelObjectsTemp"""
8043  return _IMP_kernel.PairContainer_do_get_inputs(self)
8044 
8045  def do_get_interactions(self):
8046  r"""do_get_interactions(PairContainer self) -> IMP::ModelObjectsTemps"""
8047  return _IMP_kernel.PairContainer_do_get_interactions(self)
8048 
8049  def do_get_contents_hash(self):
8050  r"""do_get_contents_hash(PairContainer self) -> std::size_t"""
8051  return _IMP_kernel.PairContainer_do_get_contents_hash(self)
8052 
8053 # Register PairContainer in _IMP_kernel:
8054 _IMP_kernel.PairContainer_swigregister(PairContainer)
8055 class _PairContainerAdaptor(_InputAdaptor):
8056  r"""Proxy of C++ IMP::PairContainerAdaptor class."""
8057 
8058  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8059  __repr__ = _swig_repr
8060 
8061  def __init__(self, *args):
8062  r"""
8063  __init__(_PairContainerAdaptor self) -> _PairContainerAdaptor
8064  __init__(_PairContainerAdaptor self, PairContainer c) -> _PairContainerAdaptor
8065  __init__(_PairContainerAdaptor self, IMP::ParticlePairsTemp const & t) -> _PairContainerAdaptor
8066  """
8067  _IMP_kernel._PairContainerAdaptor_swiginit(self, _IMP_kernel.new__PairContainerAdaptor(*args))
8068 
8069  def set_name_if_default(self, name):
8070  r"""set_name_if_default(_PairContainerAdaptor self, std::string name)"""
8071  return _IMP_kernel._PairContainerAdaptor_set_name_if_default(self, name)
8072  __swig_destroy__ = _IMP_kernel.delete__PairContainerAdaptor
8073 
8074 # Register _PairContainerAdaptor in _IMP_kernel:
8075 _IMP_kernel._PairContainerAdaptor_swigregister(_PairContainerAdaptor)
8076 class QuadModifier(_ParticleInputs, _ParticleOutputs, Object):
8077  r"""Proxy of C++ IMP::QuadModifier class."""
8078 
8079  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8080 
8081  def __init__(self, *args):
8082  r"""__init__(QuadModifier self, std::string name="QuadModifier %1%") -> QuadModifier"""
8083  if self.__class__ == QuadModifier:
8084  _self = None
8085  else:
8086  _self = self
8087  _IMP_kernel.QuadModifier_swiginit(self, _IMP_kernel.new_QuadModifier(_self, *args))
8088 
8089  if self.__class__ != QuadModifier:
8090  _director_objects.register(self)
8091 
8092 
8093 
8094 
8095  def apply_index(self, m, v):
8096  r"""apply_index(QuadModifier self, Model m, IMP::ParticleIndexQuad const & v)"""
8097  return _IMP_kernel.QuadModifier_apply_index(self, m, v)
8098 
8099  def apply_indexes(self, m, o, lower_bound, upper_bound):
8100  r"""apply_indexes(QuadModifier self, Model m, IMP::ParticleIndexQuads const & o, unsigned int lower_bound, unsigned int upper_bound)"""
8101  return _IMP_kernel.QuadModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
8102 
8103  def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
8104  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)"""
8105  return _IMP_kernel.QuadModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
8106 
8107  def __str__(self):
8108  r"""__str__(QuadModifier self) -> std::string"""
8109  return _IMP_kernel.QuadModifier___str__(self)
8110 
8111  def __repr__(self):
8112  r"""__repr__(QuadModifier self) -> std::string"""
8113  return _IMP_kernel.QuadModifier___repr__(self)
8114 
8115  @staticmethod
8116  def get_from(o):
8117  return _object_cast_to_QuadModifier(o)
8118 
8119 
8120  def do_show(self, out):
8121  pass
8122 
8123  @staticmethod
8124  def get_from(o):
8125  return _object_cast_to_QuadModifier(o)
8126 
8127  __swig_destroy__ = _IMP_kernel.delete_QuadModifier
8128  def __disown__(self):
8129  self.this.disown()
8130  _IMP_kernel.disown_QuadModifier(self)
8131  return weakref.proxy(self)
8132 
8133  def do_get_inputs(self, m, pis):
8134  r"""do_get_inputs(QuadModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8135  return _IMP_kernel.QuadModifier_do_get_inputs(self, m, pis)
8136 
8137  def do_get_outputs(self, m, pis):
8138  r"""do_get_outputs(QuadModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8139  return _IMP_kernel.QuadModifier_do_get_outputs(self, m, pis)
8140 
8141  def do_destroy(self):
8142  r"""do_destroy(QuadModifier self)"""
8143  return _IMP_kernel.QuadModifier_do_destroy(self)
8144 
8145 # Register QuadModifier in _IMP_kernel:
8146 _IMP_kernel.QuadModifier_swigregister(QuadModifier)
8147 class QuadScore(_ParticleInputs, Object):
8148  r"""Proxy of C++ IMP::QuadScore class."""
8149 
8150  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8151 
8152  def __init__(self, *args):
8153  r"""__init__(QuadScore self, std::string name="QuadScore %1%") -> QuadScore"""
8154  if self.__class__ == QuadScore:
8155  _self = None
8156  else:
8157  _self = self
8158  _IMP_kernel.QuadScore_swiginit(self, _IMP_kernel.new_QuadScore(_self, *args))
8159 
8160  if self.__class__ != QuadScore:
8161  _director_objects.register(self)
8162 
8163 
8164 
8165 
8166  def evaluate_index(self, m, vt, da):
8167  r"""evaluate_index(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt, DerivativeAccumulator da) -> double"""
8168  return _IMP_kernel.QuadScore_evaluate_index(self, m, vt, da)
8169 
8170  def check_indexes(self, m, pis):
8171  r"""check_indexes(QuadScore self, Model m, IMP::ParticleIndexes const & pis) -> bool"""
8172  return _IMP_kernel.QuadScore_check_indexes(self, m, pis)
8173 
8174  def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
8175  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"""
8176  return _IMP_kernel.QuadScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
8177 
8178  def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
8179  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"""
8180  return _IMP_kernel.QuadScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
8181 
8182  def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
8183  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"""
8184  return _IMP_kernel.QuadScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
8185 
8186  def evaluate_if_good_index(self, m, vt, da, max):
8187  r"""evaluate_if_good_index(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt, DerivativeAccumulator da, double max) -> double"""
8188  return _IMP_kernel.QuadScore_evaluate_if_good_index(self, m, vt, da, max)
8189 
8190  def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
8191  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"""
8192  return _IMP_kernel.QuadScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
8193 
8194  def create_current_decomposition(self, m, vt):
8195  r"""create_current_decomposition(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt) -> IMP::Restraints"""
8196  return _IMP_kernel.QuadScore_create_current_decomposition(self, m, vt)
8197 
8198  def do_create_current_decomposition(self, m, vt):
8199  r"""do_create_current_decomposition(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt) -> IMP::Restraints"""
8200  return _IMP_kernel.QuadScore_do_create_current_decomposition(self, m, vt)
8201  __swig_destroy__ = _IMP_kernel.delete_QuadScore
8202 
8203  def __str__(self):
8204  r"""__str__(QuadScore self) -> std::string"""
8205  return _IMP_kernel.QuadScore___str__(self)
8206 
8207  def __repr__(self):
8208  r"""__repr__(QuadScore self) -> std::string"""
8209  return _IMP_kernel.QuadScore___repr__(self)
8210 
8211  @staticmethod
8212  def get_from(o):
8213  return _object_cast_to_QuadScore(o)
8214 
8215 
8216  def do_show(self, out):
8217  pass
8218 
8219  @staticmethod
8220  def get_from(o):
8221  return _object_cast_to_QuadScore(o)
8222 
8223  def __disown__(self):
8224  self.this.disown()
8225  _IMP_kernel.disown_QuadScore(self)
8226  return weakref.proxy(self)
8227 
8228  def do_get_inputs(self, m, pis):
8229  r"""do_get_inputs(QuadScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8230  return _IMP_kernel.QuadScore_do_get_inputs(self, m, pis)
8231 
8232  def do_destroy(self):
8233  r"""do_destroy(QuadScore self)"""
8234  return _IMP_kernel.QuadScore_do_destroy(self)
8235 
8236 # Register QuadScore in _IMP_kernel:
8237 _IMP_kernel.QuadScore_swigregister(QuadScore)
8238 class QuadPredicate(_ParticleInputs, Object):
8239  r"""Proxy of C++ IMP::QuadPredicate class."""
8240 
8241  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8242 
8243  def __init__(self, *args):
8244  r"""__init__(QuadPredicate self, std::string name="QuadPredicate %1%") -> QuadPredicate"""
8245  if self.__class__ == QuadPredicate:
8246  _self = None
8247  else:
8248  _self = self
8249  _IMP_kernel.QuadPredicate_swiginit(self, _IMP_kernel.new_QuadPredicate(_self, *args))
8250 
8251  if self.__class__ != QuadPredicate:
8252  _director_objects.register(self)
8253 
8254 
8255 
8256 
8257  def setup_for_get_value_index_in_batch(self, arg0):
8258  r"""setup_for_get_value_index_in_batch(QuadPredicate self, Model arg0)"""
8259  return _IMP_kernel.QuadPredicate_setup_for_get_value_index_in_batch(self, arg0)
8260 
8261  def get_value_index_in_batch(self, m, vt):
8262  r"""get_value_index_in_batch(QuadPredicate self, Model m, IMP::ParticleIndexQuad const & vt) -> int"""
8263  return _IMP_kernel.QuadPredicate_get_value_index_in_batch(self, m, vt)
8264 
8265  def __call__(self, m, vt):
8266  r"""__call__(QuadPredicate self, Model m, IMP::ParticleIndexQuad const & vt) -> int"""
8267  return _IMP_kernel.QuadPredicate___call__(self, m, vt)
8268 
8269  def get_value_index(self, *args):
8270  r"""
8271  get_value_index(QuadPredicate self, Model m, IMP::ParticleIndexQuad const & vt) -> int
8272  get_value_index(QuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
8273  """
8274  return _IMP_kernel.QuadPredicate_get_value_index(self, *args)
8275  __swig_destroy__ = _IMP_kernel.delete_QuadPredicate
8276 
8277  def __str__(self):
8278  r"""__str__(QuadPredicate self) -> std::string"""
8279  return _IMP_kernel.QuadPredicate___str__(self)
8280 
8281  def __repr__(self):
8282  r"""__repr__(QuadPredicate self) -> std::string"""
8283  return _IMP_kernel.QuadPredicate___repr__(self)
8284 
8285  @staticmethod
8286  def get_from(o):
8287  return _object_cast_to_QuadPredicate(o)
8288 
8289 
8290  def do_show(self, out):
8291  pass
8292 
8293  @staticmethod
8294  def get_from(o):
8295  return _object_cast_to_QuadPredicate(o)
8296 
8297  def __disown__(self):
8298  self.this.disown()
8299  _IMP_kernel.disown_QuadPredicate(self)
8300  return weakref.proxy(self)
8301 
8302  def do_get_inputs(self, m, pis):
8303  r"""do_get_inputs(QuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8304  return _IMP_kernel.QuadPredicate_do_get_inputs(self, m, pis)
8305 
8306  def do_destroy(self):
8307  r"""do_destroy(QuadPredicate self)"""
8308  return _IMP_kernel.QuadPredicate_do_destroy(self)
8309 
8310 # Register QuadPredicate in _IMP_kernel:
8311 _IMP_kernel.QuadPredicate_swigregister(QuadPredicate)
8312 class QuadContainer(Container):
8313  r"""Proxy of C++ IMP::QuadContainer class."""
8314 
8315  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8316 
8317  def apply_generic(self, m):
8318  r"""apply_generic(QuadContainer self, QuadModifier m)"""
8319  return _IMP_kernel.QuadContainer_apply_generic(self, m)
8320 
8321  def apply_generic_moved(self, m, moved_pis, reset_pis):
8322  r"""apply_generic_moved(QuadContainer self, QuadModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
8323  return _IMP_kernel.QuadContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
8324 
8325  def apply(self, sm):
8326  r"""apply(QuadContainer self, QuadModifier sm)"""
8327  return _IMP_kernel.QuadContainer_apply(self, sm)
8328 
8329  def apply_moved(self, sm, moved_pis, reset_pis):
8330  r"""apply_moved(QuadContainer self, QuadModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
8331  return _IMP_kernel.QuadContainer_apply_moved(self, sm, moved_pis, reset_pis)
8332 
8333  def get_range_indexes(self):
8334  r"""get_range_indexes(QuadContainer self) -> IMP::ParticleIndexQuads"""
8335  return _IMP_kernel.QuadContainer_get_range_indexes(self)
8336 
8337  def get_contents(self):
8338  r"""get_contents(QuadContainer self) -> IMP::ParticleIndexQuads const &"""
8339  return _IMP_kernel.QuadContainer_get_contents(self)
8340 
8341  def get_indexes(self):
8342  r"""get_indexes(QuadContainer self) -> IMP::ParticleIndexQuads"""
8343  return _IMP_kernel.QuadContainer_get_indexes(self)
8344 
8345  def get(self, *args):
8346  r"""
8347  get(QuadContainer self) -> IMP::ParticleQuadsTemp
8348  get(QuadContainer self, unsigned int i) -> IMP::ParticleQuad
8349  """
8350  return _IMP_kernel.QuadContainer_get(self, *args)
8351 
8352  def get_number(self):
8353  r"""get_number(QuadContainer self) -> unsigned int"""
8354  return _IMP_kernel.QuadContainer_get_number(self)
8355 
8356  def __init__(self, *args):
8357  r"""
8358  __init__(QuadContainer self, Model m, std::string name="QuadContainer %1%") -> QuadContainer
8359  __init__(QuadContainer self) -> QuadContainer
8360  """
8361  if self.__class__ == QuadContainer:
8362  _self = None
8363  else:
8364  _self = self
8365  _IMP_kernel.QuadContainer_swiginit(self, _IMP_kernel.new_QuadContainer(_self, *args))
8366 
8367  if self.__class__ != QuadContainer:
8368  _director_objects.register(self)
8369 
8370 
8371 
8372 
8373  def do_apply(self, sm):
8374  r"""do_apply(QuadContainer self, QuadModifier sm)"""
8375  return _IMP_kernel.QuadContainer_do_apply(self, sm)
8376 
8377  def do_apply_moved(self, sm, moved_pis, reset_pis):
8378  r"""do_apply_moved(QuadContainer self, QuadModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
8379  return _IMP_kernel.QuadContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
8380 
8381  def do_get_provides_access(self):
8382  r"""do_get_provides_access(QuadContainer self) -> bool"""
8383  return _IMP_kernel.QuadContainer_do_get_provides_access(self)
8384  __swig_destroy__ = _IMP_kernel.delete_QuadContainer
8385 
8386  def __str__(self):
8387  r"""__str__(QuadContainer self) -> std::string"""
8388  return _IMP_kernel.QuadContainer___str__(self)
8389 
8390  def __repr__(self):
8391  r"""__repr__(QuadContainer self) -> std::string"""
8392  return _IMP_kernel.QuadContainer___repr__(self)
8393 
8394  @staticmethod
8395  def get_from(o):
8396  return _object_cast_to_QuadContainer(o)
8397 
8398 
8399  def do_show(self, out):
8400  pass
8401 
8402  @staticmethod
8403  def get_from(o):
8404  return _object_cast_to_QuadContainer(o)
8405 
8406  def __disown__(self):
8407  self.this.disown()
8408  _IMP_kernel.disown_QuadContainer(self)
8409  return weakref.proxy(self)
8410 
8411  def do_destroy(self):
8412  r"""do_destroy(QuadContainer self)"""
8413  return _IMP_kernel.QuadContainer_do_destroy(self)
8414 
8415  def handle_set_has_required_score_states(self, arg0):
8416  r"""handle_set_has_required_score_states(QuadContainer self, bool arg0)"""
8417  return _IMP_kernel.QuadContainer_handle_set_has_required_score_states(self, arg0)
8418 
8419  def do_get_inputs(self):
8420  r"""do_get_inputs(QuadContainer self) -> IMP::ModelObjectsTemp"""
8421  return _IMP_kernel.QuadContainer_do_get_inputs(self)
8422 
8423  def do_get_interactions(self):
8424  r"""do_get_interactions(QuadContainer self) -> IMP::ModelObjectsTemps"""
8425  return _IMP_kernel.QuadContainer_do_get_interactions(self)
8426 
8427  def do_get_contents_hash(self):
8428  r"""do_get_contents_hash(QuadContainer self) -> std::size_t"""
8429  return _IMP_kernel.QuadContainer_do_get_contents_hash(self)
8430 
8431 # Register QuadContainer in _IMP_kernel:
8432 _IMP_kernel.QuadContainer_swigregister(QuadContainer)
8433 class _QuadContainerAdaptor(_InputAdaptor):
8434  r"""Proxy of C++ IMP::QuadContainerAdaptor class."""
8435 
8436  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8437  __repr__ = _swig_repr
8438 
8439  def __init__(self, *args):
8440  r"""
8441  __init__(_QuadContainerAdaptor self) -> _QuadContainerAdaptor
8442  __init__(_QuadContainerAdaptor self, QuadContainer c) -> _QuadContainerAdaptor
8443  __init__(_QuadContainerAdaptor self, IMP::ParticleQuadsTemp const & t) -> _QuadContainerAdaptor
8444  """
8445  _IMP_kernel._QuadContainerAdaptor_swiginit(self, _IMP_kernel.new__QuadContainerAdaptor(*args))
8446 
8447  def set_name_if_default(self, name):
8448  r"""set_name_if_default(_QuadContainerAdaptor self, std::string name)"""
8449  return _IMP_kernel._QuadContainerAdaptor_set_name_if_default(self, name)
8450  __swig_destroy__ = _IMP_kernel.delete__QuadContainerAdaptor
8451 
8452 # Register _QuadContainerAdaptor in _IMP_kernel:
8453 _IMP_kernel._QuadContainerAdaptor_swigregister(_QuadContainerAdaptor)
8454 class SingletonModifier(_ParticleInputs, _ParticleOutputs, Object):
8455  r"""Proxy of C++ IMP::SingletonModifier class."""
8456 
8457  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8458 
8459  def __init__(self, *args):
8460  r"""__init__(SingletonModifier self, std::string name="SingletonModifier %1%") -> SingletonModifier"""
8461  if self.__class__ == SingletonModifier:
8462  _self = None
8463  else:
8464  _self = self
8465  _IMP_kernel.SingletonModifier_swiginit(self, _IMP_kernel.new_SingletonModifier(_self, *args))
8466 
8467  if self.__class__ != SingletonModifier:
8468  _director_objects.register(self)
8469 
8470 
8471 
8472 
8473  def apply_index(self, m, v):
8474  r"""apply_index(SingletonModifier self, Model m, ParticleIndex v)"""
8475  return _IMP_kernel.SingletonModifier_apply_index(self, m, v)
8476 
8477  def apply_indexes(self, m, o, lower_bound, upper_bound):
8478  r"""apply_indexes(SingletonModifier self, Model m, IMP::ParticleIndexes const & o, unsigned int lower_bound, unsigned int upper_bound)"""
8479  return _IMP_kernel.SingletonModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
8480 
8481  def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
8482  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)"""
8483  return _IMP_kernel.SingletonModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
8484 
8485  def __str__(self):
8486  r"""__str__(SingletonModifier self) -> std::string"""
8487  return _IMP_kernel.SingletonModifier___str__(self)
8488 
8489  def __repr__(self):
8490  r"""__repr__(SingletonModifier self) -> std::string"""
8491  return _IMP_kernel.SingletonModifier___repr__(self)
8492 
8493  @staticmethod
8494  def get_from(o):
8495  return _object_cast_to_SingletonModifier(o)
8496 
8497 
8498  def do_show(self, out):
8499  pass
8500 
8501  @staticmethod
8502  def get_from(o):
8503  return _object_cast_to_SingletonModifier(o)
8504 
8505 
8506  def _wrap_jax(self, apply_func, keys=None):
8507  """Create the return value for _get_jax.
8508  Use this method in _get_jax() to wrap the JAX function
8509  with other modifier-specific information.
8510 
8511  @param apply_func A function implemented using JAX that takes
8512  one argument (the current JAX Model) and returns a new
8513  modified JAX Model.
8514  @param keys Model attributes used by the SingletonModifier.
8515  See IMP::Restraint::_wrap_jax.
8516  """
8517  from IMP._jax_util import JAXModifierInfo
8518  return JAXModifierInfo(apply_func=apply_func, keys=keys)
8519 
8520  def _get_jax(self, m, indexes):
8521  """Return a JAX implementation of this SingletonModifier.
8522  Implement this method in a SingletonModifier subclass to provide
8523  an equivalent function using [JAX](https://docs.jax.dev/)
8524  that modifies the current JAX Model. See also _wrap_jax.
8525 
8526  @param m The IMP.Model that the modifier will act on.
8527  @param indexes The ParticleIndexes that the modifier will act on.
8528  """
8529  raise NotImplementedError(
8530  f"No JAX implementation for {self} ({type(self)})")
8531 
8532  __swig_destroy__ = _IMP_kernel.delete_SingletonModifier
8533  def __disown__(self):
8534  self.this.disown()
8535  _IMP_kernel.disown_SingletonModifier(self)
8536  return weakref.proxy(self)
8537 
8538  def do_get_inputs(self, m, pis):
8539  r"""do_get_inputs(SingletonModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8540  return _IMP_kernel.SingletonModifier_do_get_inputs(self, m, pis)
8541 
8542  def do_get_outputs(self, m, pis):
8543  r"""do_get_outputs(SingletonModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8544  return _IMP_kernel.SingletonModifier_do_get_outputs(self, m, pis)
8545 
8546  def do_destroy(self):
8547  r"""do_destroy(SingletonModifier self)"""
8548  return _IMP_kernel.SingletonModifier_do_destroy(self)
8549 
8550 # Register SingletonModifier in _IMP_kernel:
8551 _IMP_kernel.SingletonModifier_swigregister(SingletonModifier)
8552 class SingletonScore(_ParticleInputs, Object):
8553  r"""Proxy of C++ IMP::SingletonScore class."""
8554 
8555  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8556 
8557  def __init__(self, *args):
8558  r"""__init__(SingletonScore self, std::string name="SingletonScore %1%") -> SingletonScore"""
8559  if self.__class__ == SingletonScore:
8560  _self = None
8561  else:
8562  _self = self
8563  _IMP_kernel.SingletonScore_swiginit(self, _IMP_kernel.new_SingletonScore(_self, *args))
8564 
8565  if self.__class__ != SingletonScore:
8566  _director_objects.register(self)
8567 
8568 
8569 
8570 
8571  def evaluate_index(self, m, vt, da):
8572  r"""evaluate_index(SingletonScore self, Model m, ParticleIndex vt, DerivativeAccumulator da) -> double"""
8573  return _IMP_kernel.SingletonScore_evaluate_index(self, m, vt, da)
8574 
8575  def check_indexes(self, m, pis):
8576  r"""check_indexes(SingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> bool"""
8577  return _IMP_kernel.SingletonScore_check_indexes(self, m, pis)
8578 
8579  def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
8580  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"""
8581  return _IMP_kernel.SingletonScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
8582 
8583  def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
8584  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"""
8585  return _IMP_kernel.SingletonScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
8586 
8587  def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
8588  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"""
8589  return _IMP_kernel.SingletonScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
8590 
8591  def evaluate_if_good_index(self, m, vt, da, max):
8592  r"""evaluate_if_good_index(SingletonScore self, Model m, ParticleIndex vt, DerivativeAccumulator da, double max) -> double"""
8593  return _IMP_kernel.SingletonScore_evaluate_if_good_index(self, m, vt, da, max)
8594 
8595  def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
8596  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"""
8597  return _IMP_kernel.SingletonScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
8598 
8599  def create_current_decomposition(self, m, vt):
8600  r"""create_current_decomposition(SingletonScore self, Model m, ParticleIndex vt) -> IMP::Restraints"""
8601  return _IMP_kernel.SingletonScore_create_current_decomposition(self, m, vt)
8602 
8603  def do_create_current_decomposition(self, m, vt):
8604  r"""do_create_current_decomposition(SingletonScore self, Model m, ParticleIndex vt) -> IMP::Restraints"""
8605  return _IMP_kernel.SingletonScore_do_create_current_decomposition(self, m, vt)
8606  __swig_destroy__ = _IMP_kernel.delete_SingletonScore
8607 
8608  def __str__(self):
8609  r"""__str__(SingletonScore self) -> std::string"""
8610  return _IMP_kernel.SingletonScore___str__(self)
8611 
8612  def __repr__(self):
8613  r"""__repr__(SingletonScore self) -> std::string"""
8614  return _IMP_kernel.SingletonScore___repr__(self)
8615 
8616  @staticmethod
8617  def get_from(o):
8618  return _object_cast_to_SingletonScore(o)
8619 
8620 
8621  def do_show(self, out):
8622  pass
8623 
8624  @staticmethod
8625  def get_from(o):
8626  return _object_cast_to_SingletonScore(o)
8627 
8628 
8629  def _wrap_jax(self, m, score_func, keys=None):
8630  """See IMP::PairScore::_wrap_jax"""
8631  from IMP._jax_util import JAXScoreInfo
8632  return JAXScoreInfo(m, score_func=score_func, keys=keys)
8633 
8634  def _get_jax(self, m, indexes):
8635  """See IMP::PairScore::_get_jax"""
8636  raise NotImplementedError(
8637  f"No JAX implementation for {self} ({type(self)})")
8638 
8639  def __disown__(self):
8640  self.this.disown()
8641  _IMP_kernel.disown_SingletonScore(self)
8642  return weakref.proxy(self)
8643 
8644  def do_get_inputs(self, m, pis):
8645  r"""do_get_inputs(SingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8646  return _IMP_kernel.SingletonScore_do_get_inputs(self, m, pis)
8647 
8648  def do_destroy(self):
8649  r"""do_destroy(SingletonScore self)"""
8650  return _IMP_kernel.SingletonScore_do_destroy(self)
8651 
8652 # Register SingletonScore in _IMP_kernel:
8653 _IMP_kernel.SingletonScore_swigregister(SingletonScore)
8654 class SingletonPredicate(_ParticleInputs, Object):
8655  r"""Proxy of C++ IMP::SingletonPredicate class."""
8656 
8657  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8658 
8659  def __init__(self, *args):
8660  r"""__init__(SingletonPredicate self, std::string name="SingletonPredicate %1%") -> SingletonPredicate"""
8661  if self.__class__ == SingletonPredicate:
8662  _self = None
8663  else:
8664  _self = self
8665  _IMP_kernel.SingletonPredicate_swiginit(self, _IMP_kernel.new_SingletonPredicate(_self, *args))
8666 
8667  if self.__class__ != SingletonPredicate:
8668  _director_objects.register(self)
8669 
8670 
8671 
8672 
8673  def setup_for_get_value_index_in_batch(self, arg0):
8674  r"""setup_for_get_value_index_in_batch(SingletonPredicate self, Model arg0)"""
8675  return _IMP_kernel.SingletonPredicate_setup_for_get_value_index_in_batch(self, arg0)
8676 
8677  def get_value_index_in_batch(self, m, vt):
8678  r"""get_value_index_in_batch(SingletonPredicate self, Model m, ParticleIndex vt) -> int"""
8679  return _IMP_kernel.SingletonPredicate_get_value_index_in_batch(self, m, vt)
8680 
8681  def __call__(self, m, vt):
8682  r"""__call__(SingletonPredicate self, Model m, ParticleIndex vt) -> int"""
8683  return _IMP_kernel.SingletonPredicate___call__(self, m, vt)
8684 
8685  def get_value_index(self, *args):
8686  r"""
8687  get_value_index(SingletonPredicate self, Model m, ParticleIndex vt) -> int
8688  get_value_index(SingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
8689  """
8690  return _IMP_kernel.SingletonPredicate_get_value_index(self, *args)
8691  __swig_destroy__ = _IMP_kernel.delete_SingletonPredicate
8692 
8693  def __str__(self):
8694  r"""__str__(SingletonPredicate self) -> std::string"""
8695  return _IMP_kernel.SingletonPredicate___str__(self)
8696 
8697  def __repr__(self):
8698  r"""__repr__(SingletonPredicate self) -> std::string"""
8699  return _IMP_kernel.SingletonPredicate___repr__(self)
8700 
8701  @staticmethod
8702  def get_from(o):
8703  return _object_cast_to_SingletonPredicate(o)
8704 
8705 
8706  def do_show(self, out):
8707  pass
8708 
8709  @staticmethod
8710  def get_from(o):
8711  return _object_cast_to_SingletonPredicate(o)
8712 
8713  def __disown__(self):
8714  self.this.disown()
8715  _IMP_kernel.disown_SingletonPredicate(self)
8716  return weakref.proxy(self)
8717 
8718  def do_get_inputs(self, m, pis):
8719  r"""do_get_inputs(SingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8720  return _IMP_kernel.SingletonPredicate_do_get_inputs(self, m, pis)
8721 
8722  def do_destroy(self):
8723  r"""do_destroy(SingletonPredicate self)"""
8724  return _IMP_kernel.SingletonPredicate_do_destroy(self)
8725 
8726 # Register SingletonPredicate in _IMP_kernel:
8727 _IMP_kernel.SingletonPredicate_swigregister(SingletonPredicate)
8729  r"""Proxy of C++ IMP::SingletonContainer class."""
8730 
8731  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8732 
8733  def apply_generic(self, m):
8734  r"""apply_generic(SingletonContainer self, SingletonModifier m)"""
8735  return _IMP_kernel.SingletonContainer_apply_generic(self, m)
8736 
8737  def apply_generic_moved(self, m, moved_pis, reset_pis):
8738  r"""apply_generic_moved(SingletonContainer self, SingletonModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
8739  return _IMP_kernel.SingletonContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
8740 
8741  def apply(self, sm):
8742  r"""apply(SingletonContainer self, SingletonModifier sm)"""
8743  return _IMP_kernel.SingletonContainer_apply(self, sm)
8744 
8745  def apply_moved(self, sm, moved_pis, reset_pis):
8746  r"""apply_moved(SingletonContainer self, SingletonModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
8747  return _IMP_kernel.SingletonContainer_apply_moved(self, sm, moved_pis, reset_pis)
8748 
8749  def get_range_indexes(self):
8750  r"""get_range_indexes(SingletonContainer self) -> IMP::ParticleIndexes"""
8751  return _IMP_kernel.SingletonContainer_get_range_indexes(self)
8752 
8753  def get_contents(self):
8754  r"""get_contents(SingletonContainer self) -> IMP::ParticleIndexes const &"""
8755  return _IMP_kernel.SingletonContainer_get_contents(self)
8756 
8757  def get_indexes(self):
8758  r"""get_indexes(SingletonContainer self) -> IMP::ParticleIndexes"""
8759  return _IMP_kernel.SingletonContainer_get_indexes(self)
8760 
8761  def get(self, *args):
8762  r"""
8763  get(SingletonContainer self) -> IMP::ParticlesTemp
8764  get(SingletonContainer self, unsigned int i) -> Particle
8765  """
8766  return _IMP_kernel.SingletonContainer_get(self, *args)
8767 
8768  def get_number(self):
8769  r"""get_number(SingletonContainer self) -> unsigned int"""
8770  return _IMP_kernel.SingletonContainer_get_number(self)
8771 
8772  def __init__(self, *args):
8773  r"""
8774  __init__(SingletonContainer self, Model m, std::string name="SingletonContainer %1%") -> SingletonContainer
8775  __init__(SingletonContainer self) -> SingletonContainer
8776  """
8777  if self.__class__ == SingletonContainer:
8778  _self = None
8779  else:
8780  _self = self
8781  _IMP_kernel.SingletonContainer_swiginit(self, _IMP_kernel.new_SingletonContainer(_self, *args))
8782 
8783  if self.__class__ != SingletonContainer:
8784  _director_objects.register(self)
8785 
8786 
8787 
8788 
8789  def do_apply(self, sm):
8790  r"""do_apply(SingletonContainer self, SingletonModifier sm)"""
8791  return _IMP_kernel.SingletonContainer_do_apply(self, sm)
8792 
8793  def do_apply_moved(self, sm, moved_pis, reset_pis):
8794  r"""do_apply_moved(SingletonContainer self, SingletonModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
8795  return _IMP_kernel.SingletonContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
8796 
8797  def do_get_provides_access(self):
8798  r"""do_get_provides_access(SingletonContainer self) -> bool"""
8799  return _IMP_kernel.SingletonContainer_do_get_provides_access(self)
8800  __swig_destroy__ = _IMP_kernel.delete_SingletonContainer
8801 
8802  def __str__(self):
8803  r"""__str__(SingletonContainer self) -> std::string"""
8804  return _IMP_kernel.SingletonContainer___str__(self)
8805 
8806  def __repr__(self):
8807  r"""__repr__(SingletonContainer self) -> std::string"""
8808  return _IMP_kernel.SingletonContainer___repr__(self)
8809 
8810  @staticmethod
8811  def get_from(o):
8812  return _object_cast_to_SingletonContainer(o)
8813 
8814 
8815  def do_show(self, out):
8816  pass
8817 
8818  @staticmethod
8819  def get_from(o):
8820  return _object_cast_to_SingletonContainer(o)
8821 
8822  def __disown__(self):
8823  self.this.disown()
8824  _IMP_kernel.disown_SingletonContainer(self)
8825  return weakref.proxy(self)
8826 
8827  def do_destroy(self):
8828  r"""do_destroy(SingletonContainer self)"""
8829  return _IMP_kernel.SingletonContainer_do_destroy(self)
8830 
8831  def handle_set_has_required_score_states(self, arg0):
8832  r"""handle_set_has_required_score_states(SingletonContainer self, bool arg0)"""
8833  return _IMP_kernel.SingletonContainer_handle_set_has_required_score_states(self, arg0)
8834 
8835  def do_get_inputs(self):
8836  r"""do_get_inputs(SingletonContainer self) -> IMP::ModelObjectsTemp"""
8837  return _IMP_kernel.SingletonContainer_do_get_inputs(self)
8838 
8839  def do_get_interactions(self):
8840  r"""do_get_interactions(SingletonContainer self) -> IMP::ModelObjectsTemps"""
8841  return _IMP_kernel.SingletonContainer_do_get_interactions(self)
8842 
8843  def do_get_contents_hash(self):
8844  r"""do_get_contents_hash(SingletonContainer self) -> std::size_t"""
8845  return _IMP_kernel.SingletonContainer_do_get_contents_hash(self)
8846 
8847 # Register SingletonContainer in _IMP_kernel:
8848 _IMP_kernel.SingletonContainer_swigregister(SingletonContainer)
8849 class _SingletonContainerAdaptor(_InputAdaptor):
8850  r"""Proxy of C++ IMP::SingletonContainerAdaptor class."""
8851 
8852  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8853  __repr__ = _swig_repr
8854 
8855  def __init__(self, *args):
8856  r"""
8857  __init__(_SingletonContainerAdaptor self) -> _SingletonContainerAdaptor
8858  __init__(_SingletonContainerAdaptor self, SingletonContainer c) -> _SingletonContainerAdaptor
8859  __init__(_SingletonContainerAdaptor self, IMP::ParticlesTemp const & t) -> _SingletonContainerAdaptor
8860  """
8861  _IMP_kernel._SingletonContainerAdaptor_swiginit(self, _IMP_kernel.new__SingletonContainerAdaptor(*args))
8862 
8863  def set_name_if_default(self, name):
8864  r"""set_name_if_default(_SingletonContainerAdaptor self, std::string name)"""
8865  return _IMP_kernel._SingletonContainerAdaptor_set_name_if_default(self, name)
8866  __swig_destroy__ = _IMP_kernel.delete__SingletonContainerAdaptor
8867 
8868 # Register _SingletonContainerAdaptor in _IMP_kernel:
8869 _IMP_kernel._SingletonContainerAdaptor_swigregister(_SingletonContainerAdaptor)
8870 class TripletModifier(_ParticleInputs, _ParticleOutputs, Object):
8871  r"""Proxy of C++ IMP::TripletModifier class."""
8872 
8873  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8874 
8875  def __init__(self, *args):
8876  r"""__init__(TripletModifier self, std::string name="TripletModifier %1%") -> TripletModifier"""
8877  if self.__class__ == TripletModifier:
8878  _self = None
8879  else:
8880  _self = self
8881  _IMP_kernel.TripletModifier_swiginit(self, _IMP_kernel.new_TripletModifier(_self, *args))
8882 
8883  if self.__class__ != TripletModifier:
8884  _director_objects.register(self)
8885 
8886 
8887 
8888 
8889  def apply_index(self, m, v):
8890  r"""apply_index(TripletModifier self, Model m, IMP::ParticleIndexTriplet const & v)"""
8891  return _IMP_kernel.TripletModifier_apply_index(self, m, v)
8892 
8893  def apply_indexes(self, m, o, lower_bound, upper_bound):
8894  r"""apply_indexes(TripletModifier self, Model m, IMP::ParticleIndexTriplets const & o, unsigned int lower_bound, unsigned int upper_bound)"""
8895  return _IMP_kernel.TripletModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
8896 
8897  def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
8898  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)"""
8899  return _IMP_kernel.TripletModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
8900 
8901  def __str__(self):
8902  r"""__str__(TripletModifier self) -> std::string"""
8903  return _IMP_kernel.TripletModifier___str__(self)
8904 
8905  def __repr__(self):
8906  r"""__repr__(TripletModifier self) -> std::string"""
8907  return _IMP_kernel.TripletModifier___repr__(self)
8908 
8909  @staticmethod
8910  def get_from(o):
8911  return _object_cast_to_TripletModifier(o)
8912 
8913 
8914  def do_show(self, out):
8915  pass
8916 
8917  @staticmethod
8918  def get_from(o):
8919  return _object_cast_to_TripletModifier(o)
8920 
8921  __swig_destroy__ = _IMP_kernel.delete_TripletModifier
8922  def __disown__(self):
8923  self.this.disown()
8924  _IMP_kernel.disown_TripletModifier(self)
8925  return weakref.proxy(self)
8926 
8927  def do_get_inputs(self, m, pis):
8928  r"""do_get_inputs(TripletModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8929  return _IMP_kernel.TripletModifier_do_get_inputs(self, m, pis)
8930 
8931  def do_get_outputs(self, m, pis):
8932  r"""do_get_outputs(TripletModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
8933  return _IMP_kernel.TripletModifier_do_get_outputs(self, m, pis)
8934 
8935  def do_destroy(self):
8936  r"""do_destroy(TripletModifier self)"""
8937  return _IMP_kernel.TripletModifier_do_destroy(self)
8938 
8939 # Register TripletModifier in _IMP_kernel:
8940 _IMP_kernel.TripletModifier_swigregister(TripletModifier)
8941 class TripletScore(_ParticleInputs, Object):
8942  r"""Proxy of C++ IMP::TripletScore class."""
8943 
8944  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8945 
8946  def __init__(self, *args):
8947  r"""__init__(TripletScore self, std::string name="TripletScore %1%") -> TripletScore"""
8948  if self.__class__ == TripletScore:
8949  _self = None
8950  else:
8951  _self = self
8952  _IMP_kernel.TripletScore_swiginit(self, _IMP_kernel.new_TripletScore(_self, *args))
8953 
8954  if self.__class__ != TripletScore:
8955  _director_objects.register(self)
8956 
8957 
8958 
8959 
8960  def evaluate_index(self, m, vt, da):
8961  r"""evaluate_index(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt, DerivativeAccumulator da) -> double"""
8962  return _IMP_kernel.TripletScore_evaluate_index(self, m, vt, da)
8963 
8964  def check_indexes(self, m, pis):
8965  r"""check_indexes(TripletScore self, Model m, IMP::ParticleIndexes const & pis) -> bool"""
8966  return _IMP_kernel.TripletScore_check_indexes(self, m, pis)
8967 
8968  def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
8969  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"""
8970  return _IMP_kernel.TripletScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
8971 
8972  def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
8973  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"""
8974  return _IMP_kernel.TripletScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
8975 
8976  def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
8977  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"""
8978  return _IMP_kernel.TripletScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
8979 
8980  def evaluate_if_good_index(self, m, vt, da, max):
8981  r"""evaluate_if_good_index(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt, DerivativeAccumulator da, double max) -> double"""
8982  return _IMP_kernel.TripletScore_evaluate_if_good_index(self, m, vt, da, max)
8983 
8984  def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
8985  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"""
8986  return _IMP_kernel.TripletScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
8987 
8988  def create_current_decomposition(self, m, vt):
8989  r"""create_current_decomposition(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt) -> IMP::Restraints"""
8990  return _IMP_kernel.TripletScore_create_current_decomposition(self, m, vt)
8991 
8992  def do_create_current_decomposition(self, m, vt):
8993  r"""do_create_current_decomposition(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt) -> IMP::Restraints"""
8994  return _IMP_kernel.TripletScore_do_create_current_decomposition(self, m, vt)
8995  __swig_destroy__ = _IMP_kernel.delete_TripletScore
8996 
8997  def __str__(self):
8998  r"""__str__(TripletScore self) -> std::string"""
8999  return _IMP_kernel.TripletScore___str__(self)
9000 
9001  def __repr__(self):
9002  r"""__repr__(TripletScore self) -> std::string"""
9003  return _IMP_kernel.TripletScore___repr__(self)
9004 
9005  @staticmethod
9006  def get_from(o):
9007  return _object_cast_to_TripletScore(o)
9008 
9009 
9010  def do_show(self, out):
9011  pass
9012 
9013  @staticmethod
9014  def get_from(o):
9015  return _object_cast_to_TripletScore(o)
9016 
9017  def __disown__(self):
9018  self.this.disown()
9019  _IMP_kernel.disown_TripletScore(self)
9020  return weakref.proxy(self)
9021 
9022  def do_get_inputs(self, m, pis):
9023  r"""do_get_inputs(TripletScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9024  return _IMP_kernel.TripletScore_do_get_inputs(self, m, pis)
9025 
9026  def do_destroy(self):
9027  r"""do_destroy(TripletScore self)"""
9028  return _IMP_kernel.TripletScore_do_destroy(self)
9029 
9030 # Register TripletScore in _IMP_kernel:
9031 _IMP_kernel.TripletScore_swigregister(TripletScore)
9032 class TripletPredicate(_ParticleInputs, Object):
9033  r"""Proxy of C++ IMP::TripletPredicate class."""
9034 
9035  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9036 
9037  def __init__(self, *args):
9038  r"""__init__(TripletPredicate self, std::string name="TripletPredicate %1%") -> TripletPredicate"""
9039  if self.__class__ == TripletPredicate:
9040  _self = None
9041  else:
9042  _self = self
9043  _IMP_kernel.TripletPredicate_swiginit(self, _IMP_kernel.new_TripletPredicate(_self, *args))
9044 
9045  if self.__class__ != TripletPredicate:
9046  _director_objects.register(self)
9047 
9048 
9049 
9050 
9051  def setup_for_get_value_index_in_batch(self, arg0):
9052  r"""setup_for_get_value_index_in_batch(TripletPredicate self, Model arg0)"""
9053  return _IMP_kernel.TripletPredicate_setup_for_get_value_index_in_batch(self, arg0)
9054 
9055  def get_value_index_in_batch(self, m, vt):
9056  r"""get_value_index_in_batch(TripletPredicate self, Model m, IMP::ParticleIndexTriplet const & vt) -> int"""
9057  return _IMP_kernel.TripletPredicate_get_value_index_in_batch(self, m, vt)
9058 
9059  def __call__(self, m, vt):
9060  r"""__call__(TripletPredicate self, Model m, IMP::ParticleIndexTriplet const & vt) -> int"""
9061  return _IMP_kernel.TripletPredicate___call__(self, m, vt)
9062 
9063  def get_value_index(self, *args):
9064  r"""
9065  get_value_index(TripletPredicate self, Model m, IMP::ParticleIndexTriplet const & vt) -> int
9066  get_value_index(TripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
9067  """
9068  return _IMP_kernel.TripletPredicate_get_value_index(self, *args)
9069  __swig_destroy__ = _IMP_kernel.delete_TripletPredicate
9070 
9071  def __str__(self):
9072  r"""__str__(TripletPredicate self) -> std::string"""
9073  return _IMP_kernel.TripletPredicate___str__(self)
9074 
9075  def __repr__(self):
9076  r"""__repr__(TripletPredicate self) -> std::string"""
9077  return _IMP_kernel.TripletPredicate___repr__(self)
9078 
9079  @staticmethod
9080  def get_from(o):
9081  return _object_cast_to_TripletPredicate(o)
9082 
9083 
9084  def do_show(self, out):
9085  pass
9086 
9087  @staticmethod
9088  def get_from(o):
9089  return _object_cast_to_TripletPredicate(o)
9090 
9091  def __disown__(self):
9092  self.this.disown()
9093  _IMP_kernel.disown_TripletPredicate(self)
9094  return weakref.proxy(self)
9095 
9096  def do_get_inputs(self, m, pis):
9097  r"""do_get_inputs(TripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
9098  return _IMP_kernel.TripletPredicate_do_get_inputs(self, m, pis)
9099 
9100  def do_destroy(self):
9101  r"""do_destroy(TripletPredicate self)"""
9102  return _IMP_kernel.TripletPredicate_do_destroy(self)
9103 
9104 # Register TripletPredicate in _IMP_kernel:
9105 _IMP_kernel.TripletPredicate_swigregister(TripletPredicate)
9107  r"""Proxy of C++ IMP::TripletContainer class."""
9108 
9109  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9110 
9111  def apply_generic(self, m):
9112  r"""apply_generic(TripletContainer self, TripletModifier m)"""
9113  return _IMP_kernel.TripletContainer_apply_generic(self, m)
9114 
9115  def apply_generic_moved(self, m, moved_pis, reset_pis):
9116  r"""apply_generic_moved(TripletContainer self, TripletModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
9117  return _IMP_kernel.TripletContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
9118 
9119  def apply(self, sm):
9120  r"""apply(TripletContainer self, TripletModifier sm)"""
9121  return _IMP_kernel.TripletContainer_apply(self, sm)
9122 
9123  def apply_moved(self, sm, moved_pis, reset_pis):
9124  r"""apply_moved(TripletContainer self, TripletModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
9125  return _IMP_kernel.TripletContainer_apply_moved(self, sm, moved_pis, reset_pis)
9126 
9127  def get_range_indexes(self):
9128  r"""get_range_indexes(TripletContainer self) -> IMP::ParticleIndexTriplets"""
9129  return _IMP_kernel.TripletContainer_get_range_indexes(self)
9130 
9131  def get_contents(self):
9132  r"""get_contents(TripletContainer self) -> IMP::ParticleIndexTriplets const &"""
9133  return _IMP_kernel.TripletContainer_get_contents(self)
9134 
9135  def get_indexes(self):
9136  r"""get_indexes(TripletContainer self) -> IMP::ParticleIndexTriplets"""
9137  return _IMP_kernel.TripletContainer_get_indexes(self)
9138 
9139  def get(self, *args):
9140  r"""
9141  get(TripletContainer self) -> IMP::ParticleTripletsTemp
9142  get(TripletContainer self, unsigned int i) -> IMP::ParticleTriplet
9143  """
9144  return _IMP_kernel.TripletContainer_get(self, *args)
9145 
9146  def get_number(self):
9147  r"""get_number(TripletContainer self) -> unsigned int"""
9148  return _IMP_kernel.TripletContainer_get_number(self)
9149 
9150  def __init__(self, *args):
9151  r"""
9152  __init__(TripletContainer self, Model m, std::string name="TripletContainer %1%") -> TripletContainer
9153  __init__(TripletContainer self) -> TripletContainer
9154  """
9155  if self.__class__ == TripletContainer:
9156  _self = None
9157  else:
9158  _self = self
9159  _IMP_kernel.TripletContainer_swiginit(self, _IMP_kernel.new_TripletContainer(_self, *args))
9160 
9161  if self.__class__ != TripletContainer:
9162  _director_objects.register(self)
9163 
9164 
9165 
9166 
9167  def do_apply(self, sm):
9168  r"""do_apply(TripletContainer self, TripletModifier sm)"""
9169  return _IMP_kernel.TripletContainer_do_apply(self, sm)
9170 
9171  def do_apply_moved(self, sm, moved_pis, reset_pis):
9172  r"""do_apply_moved(TripletContainer self, TripletModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
9173  return _IMP_kernel.TripletContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
9174 
9175  def do_get_provides_access(self):
9176  r"""do_get_provides_access(TripletContainer self) -> bool"""
9177  return _IMP_kernel.TripletContainer_do_get_provides_access(self)
9178  __swig_destroy__ = _IMP_kernel.delete_TripletContainer
9179 
9180  def __str__(self):
9181  r"""__str__(TripletContainer self) -> std::string"""
9182  return _IMP_kernel.TripletContainer___str__(self)
9183 
9184  def __repr__(self):
9185  r"""__repr__(TripletContainer self) -> std::string"""
9186  return _IMP_kernel.TripletContainer___repr__(self)
9187 
9188  @staticmethod
9189  def get_from(o):
9190  return _object_cast_to_TripletContainer(o)
9191 
9192 
9193  def do_show(self, out):
9194  pass
9195 
9196  @staticmethod
9197  def get_from(o):
9198  return _object_cast_to_TripletContainer(o)
9199 
9200  def __disown__(self):
9201  self.this.disown()
9202  _IMP_kernel.disown_TripletContainer(self)
9203  return weakref.proxy(self)
9204 
9205  def do_destroy(self):
9206  r"""do_destroy(TripletContainer self)"""
9207  return _IMP_kernel.TripletContainer_do_destroy(self)
9208 
9209  def handle_set_has_required_score_states(self, arg0):
9210  r"""handle_set_has_required_score_states(TripletContainer self, bool arg0)"""
9211  return _IMP_kernel.TripletContainer_handle_set_has_required_score_states(self, arg0)
9212 
9213  def do_get_inputs(self):
9214  r"""do_get_inputs(TripletContainer self) -> IMP::ModelObjectsTemp"""
9215  return _IMP_kernel.TripletContainer_do_get_inputs(self)
9216 
9217  def do_get_interactions(self):
9218  r"""do_get_interactions(TripletContainer self) -> IMP::ModelObjectsTemps"""
9219  return _IMP_kernel.TripletContainer_do_get_interactions(self)
9220 
9221  def do_get_contents_hash(self):
9222  r"""do_get_contents_hash(TripletContainer self) -> std::size_t"""
9223  return _IMP_kernel.TripletContainer_do_get_contents_hash(self)
9224 
9225 # Register TripletContainer in _IMP_kernel:
9226 _IMP_kernel.TripletContainer_swigregister(TripletContainer)
9227 class _TripletContainerAdaptor(_InputAdaptor):
9228  r"""Proxy of C++ IMP::TripletContainerAdaptor class."""
9229 
9230  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9231  __repr__ = _swig_repr
9232 
9233  def __init__(self, *args):
9234  r"""
9235  __init__(_TripletContainerAdaptor self) -> _TripletContainerAdaptor
9236  __init__(_TripletContainerAdaptor self, TripletContainer c) -> _TripletContainerAdaptor
9237  __init__(_TripletContainerAdaptor self, IMP::ParticleTripletsTemp const & t) -> _TripletContainerAdaptor
9238  """
9239  _IMP_kernel._TripletContainerAdaptor_swiginit(self, _IMP_kernel.new__TripletContainerAdaptor(*args))
9240 
9241  def set_name_if_default(self, name):
9242  r"""set_name_if_default(_TripletContainerAdaptor self, std::string name)"""
9243  return _IMP_kernel._TripletContainerAdaptor_set_name_if_default(self, name)
9244  __swig_destroy__ = _IMP_kernel.delete__TripletContainerAdaptor
9245 
9246 # Register _TripletContainerAdaptor in _IMP_kernel:
9247 _IMP_kernel._TripletContainerAdaptor_swigregister(_TripletContainerAdaptor)
9248 
9249 def write_particles_to_buffer(particles, keys):
9250  r"""write_particles_to_buffer(IMP::ParticlesTemp const & particles, IMP::FloatKeys const & keys) -> IMP::Vector< char,std::allocator< char > >"""
9251  return _IMP_kernel.write_particles_to_buffer(particles, keys)
9252 
9253 def read_particles_from_buffer(buffer, particles, keys):
9254  r"""read_particles_from_buffer(IMP::Vector< char,std::allocator< char > > const & buffer, IMP::ParticlesTemp const & particles, IMP::FloatKeys const & keys)"""
9255  return _IMP_kernel.read_particles_from_buffer(buffer, particles, keys)
9256 
9257 def get_particles(m, ps):
9258  r"""get_particles(Model m, IMP::ParticleIndexes const & ps) -> IMP::ParticlesTemp"""
9259  return _IMP_kernel.get_particles(m, ps)
9260 
9261 def get_indexes(*args):
9262  r"""
9263  get_indexes(IMP::ParticlesTemp const & ps) -> IMP::ParticleIndexes
9264  get_indexes(IMP::ParticlePairsTemp const & ps) -> IMP::ParticleIndexPairs
9265  """
9266  return _IMP_kernel.get_indexes(*args)
9267 class _ParticleIndexAdaptor(object):
9268  r"""Proxy of C++ IMP::ParticleIndexAdaptor class."""
9269 
9270  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9271  __repr__ = _swig_repr
9272 
9273  def __init__(self, *args):
9274  r"""
9275  __init__(_ParticleIndexAdaptor self, Particle p) -> _ParticleIndexAdaptor
9276  __init__(_ParticleIndexAdaptor self, ParticleIndex pi) -> _ParticleIndexAdaptor
9277  __init__(_ParticleIndexAdaptor self, Decorator d) -> _ParticleIndexAdaptor
9278  """
9279  _IMP_kernel._ParticleIndexAdaptor_swiginit(self, _IMP_kernel.new__ParticleIndexAdaptor(*args))
9280  __swig_destroy__ = _IMP_kernel.delete__ParticleIndexAdaptor
9281 
9282 # Register _ParticleIndexAdaptor in _IMP_kernel:
9283 _IMP_kernel._ParticleIndexAdaptor_swigregister(_ParticleIndexAdaptor)
9284 class _ParticleIndexesAdaptor(_InputAdaptor):
9285  r"""Proxy of C++ IMP::ParticleIndexesAdaptor class."""
9286 
9287  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9288  __repr__ = _swig_repr
9289 
9290  def __init__(self, *args):
9291  r"""
9292  __init__(_ParticleIndexesAdaptor self, IMP::ParticlesTemp const & ps) -> _ParticleIndexesAdaptor
9293  __init__(_ParticleIndexesAdaptor self, IMP::ParticleIndexes const & pi) -> _ParticleIndexesAdaptor
9294  __init__(_ParticleIndexesAdaptor self) -> _ParticleIndexesAdaptor
9295  """
9296  _IMP_kernel._ParticleIndexesAdaptor_swiginit(self, _IMP_kernel.new__ParticleIndexesAdaptor(*args))
9297  __swig_destroy__ = _IMP_kernel.delete__ParticleIndexesAdaptor
9298 
9299 # Register _ParticleIndexesAdaptor in _IMP_kernel:
9300 _IMP_kernel._ParticleIndexesAdaptor_swigregister(_ParticleIndexesAdaptor)
9301 class _ParticleIndexPairsAdaptor(object):
9302  r"""Proxy of C++ IMP::ParticleIndexPairsAdaptor class."""
9303 
9304  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9305  __repr__ = _swig_repr
9306 
9307  def __init__(self, *args):
9308  r"""
9309  __init__(_ParticleIndexPairsAdaptor self, IMP::ParticlePairsTemp const & ps) -> _ParticleIndexPairsAdaptor
9310  __init__(_ParticleIndexPairsAdaptor self, IMP::ParticleIndexPairs const & pi) -> _ParticleIndexPairsAdaptor
9311  __init__(_ParticleIndexPairsAdaptor self) -> _ParticleIndexPairsAdaptor
9312  """
9313  _IMP_kernel._ParticleIndexPairsAdaptor_swiginit(self, _IMP_kernel.new__ParticleIndexPairsAdaptor(*args))
9314  __swig_destroy__ = _IMP_kernel.delete__ParticleIndexPairsAdaptor
9315 
9316 # Register _ParticleIndexPairsAdaptor in _IMP_kernel:
9317 _IMP_kernel._ParticleIndexPairsAdaptor_swigregister(_ParticleIndexPairsAdaptor)
9318 class _ConstRestraint(Restraint):
9319  r"""Proxy of C++ IMP::internal::_ConstRestraint class."""
9320 
9321  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9322 
9323  def __init__(self, *args):
9324  r"""
9325  __init__(_ConstRestraint self, Model m, IMP::ParticleIndexes const & pis, double v) -> _ConstRestraint
9326  __init__(_ConstRestraint self) -> _ConstRestraint
9327  """
9328  _IMP_kernel._ConstRestraint_swiginit(self, _IMP_kernel.new__ConstRestraint(*args))
9329 
9330  def get_value(self):
9331  r"""get_value(_ConstRestraint self) -> double"""
9332  return _IMP_kernel._ConstRestraint_get_value(self)
9333 
9334  def do_create_decomposition(self):
9335  r"""do_create_decomposition(_ConstRestraint self) -> IMP::Restraints"""
9336  return _IMP_kernel._ConstRestraint_do_create_decomposition(self)
9337 
9338  def do_get_inputs(self):
9339  r"""do_get_inputs(_ConstRestraint self) -> IMP::ModelObjectsTemp"""
9340  return _IMP_kernel._ConstRestraint_do_get_inputs(self)
9341 
9342  def get_version_info(self):
9343  r"""get_version_info(_ConstRestraint self) -> VersionInfo"""
9344  return _IMP_kernel._ConstRestraint_get_version_info(self)
9345  __swig_destroy__ = _IMP_kernel.delete__ConstRestraint
9346 
9347  def __str__(self):
9348  r"""__str__(_ConstRestraint self) -> std::string"""
9349  return _IMP_kernel._ConstRestraint___str__(self)
9350 
9351  def __repr__(self):
9352  r"""__repr__(_ConstRestraint self) -> std::string"""
9353  return _IMP_kernel._ConstRestraint___repr__(self)
9354 
9355  @staticmethod
9356  def get_from(o):
9357  return _object_cast_to__ConstRestraint(o)
9358 
9359 
9360  def _get_as_binary(self):
9361  r"""_get_as_binary(_ConstRestraint self) -> PyObject *"""
9362  return _IMP_kernel._ConstRestraint__get_as_binary(self)
9363 
9364  def _set_from_binary(self, p):
9365  r"""_set_from_binary(_ConstRestraint self, PyObject * p)"""
9366  return _IMP_kernel._ConstRestraint__set_from_binary(self, p)
9367 
9368  def __getstate__(self):
9369  p = self._get_as_binary()
9370  if len(self.__dict__) > 1:
9371  d = self.__dict__.copy()
9372  del d['this']
9373  p = (d, p)
9374  return p
9375 
9376  def __setstate__(self, p):
9377  if not hasattr(self, 'this'):
9378  self.__init__()
9379  if isinstance(p, tuple):
9380  d, p = p
9381  self.__dict__.update(d)
9382  return self._set_from_binary(p)
9383 
9384 
9385  def _get_jax(self):
9386  value = self.get_value()
9387  # We always return `value` regardless of the JAX Model
9388  return self._wrap_jax(lambda jm: value)
9389 
9390 
9391 # Register _ConstRestraint in _IMP_kernel:
9392 _IMP_kernel._ConstRestraint_swigregister(_ConstRestraint)
9393 class _ConstSingletonScore(SingletonScore):
9394  r"""Proxy of C++ IMP::internal::_ConstSingletonScore class."""
9395 
9396  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9397 
9398  def __init__(self, *args):
9399  r"""
9400  __init__(_ConstSingletonScore self, double v) -> _ConstSingletonScore
9401  __init__(_ConstSingletonScore self) -> _ConstSingletonScore
9402  """
9403  _IMP_kernel._ConstSingletonScore_swiginit(self, _IMP_kernel.new__ConstSingletonScore(*args))
9404 
9405  def get_value(self):
9406  r"""get_value(_ConstSingletonScore self) -> double"""
9407  return _IMP_kernel._ConstSingletonScore_get_value(self)
9408 
9409  def do_get_inputs(self, arg2, arg3):
9410  r"""do_get_inputs(_ConstSingletonScore self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
9411  return _IMP_kernel._ConstSingletonScore_do_get_inputs(self, arg2, arg3)
9412 
9413  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
9414  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"""
9415  return _IMP_kernel._ConstSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
9416 
9417  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
9418  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"""
9419  return _IMP_kernel._ConstSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
9420 
9421  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
9422  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"""
9423  return _IMP_kernel._ConstSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
9424 
9425  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
9426  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"""
9427  return _IMP_kernel._ConstSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
9428 
9429  def get_version_info(self):
9430  r"""get_version_info(_ConstSingletonScore self) -> VersionInfo"""
9431  return _IMP_kernel._ConstSingletonScore_get_version_info(self)
9432  __swig_destroy__ = _IMP_kernel.delete__ConstSingletonScore
9433 
9434  def __str__(self):
9435  r"""__str__(_ConstSingletonScore self) -> std::string"""
9436  return _IMP_kernel._ConstSingletonScore___str__(self)
9437 
9438  def __repr__(self):
9439  r"""__repr__(_ConstSingletonScore self) -> std::string"""
9440  return _IMP_kernel._ConstSingletonScore___repr__(self)
9441 
9442  @staticmethod
9443  def get_from(o):
9444  return _object_cast_to__ConstSingletonScore(o)
9445 
9446 
9447  def _get_as_binary(self):
9448  r"""_get_as_binary(_ConstSingletonScore self) -> PyObject *"""
9449  return _IMP_kernel._ConstSingletonScore__get_as_binary(self)
9450 
9451  def _set_from_binary(self, p):
9452  r"""_set_from_binary(_ConstSingletonScore self, PyObject * p)"""
9453  return _IMP_kernel._ConstSingletonScore__set_from_binary(self, p)
9454 
9455  def __getstate__(self):
9456  p = self._get_as_binary()
9457  if len(self.__dict__) > 1:
9458  d = self.__dict__.copy()
9459  del d['this']
9460  p = (d, p)
9461  return p
9462 
9463  def __setstate__(self, p):
9464  if not hasattr(self, 'this'):
9465  self.__init__()
9466  if isinstance(p, tuple):
9467  d, p = p
9468  self.__dict__.update(d)
9469  return self._set_from_binary(p)
9470 
9471 
9472  def _get_jax(self, m, indexes):
9473  value = self.get_value()
9474  # We always return `value` regardless of the JAX Model or indexes
9475  return self._wrap_jax(m, lambda jm: value)
9476 
9477 
9478 # Register _ConstSingletonScore in _IMP_kernel:
9479 _IMP_kernel._ConstSingletonScore_swigregister(_ConstSingletonScore)
9480 class _ConstPairScore(PairScore):
9481  r"""Proxy of C++ IMP::internal::_ConstPairScore class."""
9482 
9483  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9484 
9485  def __init__(self, *args):
9486  r"""
9487  __init__(_ConstPairScore self, double v) -> _ConstPairScore
9488  __init__(_ConstPairScore self) -> _ConstPairScore
9489  """
9490  _IMP_kernel._ConstPairScore_swiginit(self, _IMP_kernel.new__ConstPairScore(*args))
9491 
9492  def get_value(self):
9493  r"""get_value(_ConstPairScore self) -> double"""
9494  return _IMP_kernel._ConstPairScore_get_value(self)
9495 
9496  def do_get_inputs(self, arg2, arg3):
9497  r"""do_get_inputs(_ConstPairScore self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
9498  return _IMP_kernel._ConstPairScore_do_get_inputs(self, arg2, arg3)
9499 
9500  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
9501  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"""
9502  return _IMP_kernel._ConstPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
9503 
9504  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
9505  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"""
9506  return _IMP_kernel._ConstPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
9507 
9508  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
9509  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"""
9510  return _IMP_kernel._ConstPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
9511 
9512  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
9513  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"""
9514  return _IMP_kernel._ConstPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
9515 
9516  def get_version_info(self):
9517  r"""get_version_info(_ConstPairScore self) -> VersionInfo"""
9518  return _IMP_kernel._ConstPairScore_get_version_info(self)
9519  __swig_destroy__ = _IMP_kernel.delete__ConstPairScore
9520 
9521  def __str__(self):
9522  r"""__str__(_ConstPairScore self) -> std::string"""
9523  return _IMP_kernel._ConstPairScore___str__(self)
9524 
9525  def __repr__(self):
9526  r"""__repr__(_ConstPairScore self) -> std::string"""
9527  return _IMP_kernel._ConstPairScore___repr__(self)
9528 
9529  @staticmethod
9530  def get_from(o):
9531  return _object_cast_to__ConstPairScore(o)
9532 
9533 
9534  def _get_as_binary(self):
9535  r"""_get_as_binary(_ConstPairScore self) -> PyObject *"""
9536  return _IMP_kernel._ConstPairScore__get_as_binary(self)
9537 
9538  def _set_from_binary(self, p):
9539  r"""_set_from_binary(_ConstPairScore self, PyObject * p)"""
9540  return _IMP_kernel._ConstPairScore__set_from_binary(self, p)
9541 
9542  def __getstate__(self):
9543  p = self._get_as_binary()
9544  if len(self.__dict__) > 1:
9545  d = self.__dict__.copy()
9546  del d['this']
9547  p = (d, p)
9548  return p
9549 
9550  def __setstate__(self, p):
9551  if not hasattr(self, 'this'):
9552  self.__init__()
9553  if isinstance(p, tuple):
9554  d, p = p
9555  self.__dict__.update(d)
9556  return self._set_from_binary(p)
9557 
9558 
9559  def _get_jax(self, m, indexes):
9560  value = self.get_value()
9561  # We always return `value` regardless of the JAX Model or indexes
9562  return self._wrap_jax(m, lambda jm: value)
9563 
9564 
9565 # Register _ConstPairScore in _IMP_kernel:
9566 _IMP_kernel._ConstPairScore_swigregister(_ConstPairScore)
9567 class _TrivialDecorator(Decorator):
9568  r"""Proxy of C++ IMP::internal::_TrivialDecorator class."""
9569 
9570  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9571 
9572  def __init__(self, *args):
9573  r"""
9574  __init__(_TrivialDecorator self) -> _TrivialDecorator
9575  __init__(_TrivialDecorator self, Model m, ParticleIndex id) -> _TrivialDecorator
9576  __init__(_TrivialDecorator self, _ParticleAdaptor d) -> _TrivialDecorator
9577  """
9578  _IMP_kernel._TrivialDecorator_swiginit(self, _IMP_kernel.new__TrivialDecorator(*args))
9579 
9580  def show(self, *args):
9581  r"""show(_TrivialDecorator self, _ostream out=std::cout)"""
9582  return _IMP_kernel._TrivialDecorator_show(self, *args)
9583 
9584  @staticmethod
9585  def setup_particle(*args):
9586  r"""
9587  setup_particle(Model m, ParticleIndex pi) -> _TrivialDecorator
9588  setup_particle(_ParticleAdaptor pa) -> _TrivialDecorator
9589  """
9590  return _IMP_kernel._TrivialDecorator_setup_particle(*args)
9591 
9592  @staticmethod
9593  def get_is_setup(*args):
9594  r"""
9595  get_is_setup(_ParticleAdaptor p) -> bool
9596  get_is_setup(Model m, ParticleIndex pi) -> bool
9597  """
9598  return _IMP_kernel._TrivialDecorator_get_is_setup(*args)
9599 
9600  def add_attribute(self, *args):
9601  r"""
9602  add_attribute(_TrivialDecorator self, FloatKey k, IMP::Float v, bool opt)
9603  add_attribute(_TrivialDecorator self, FloatKey a0, IMP::Float a1)
9604  add_attribute(_TrivialDecorator self, IntKey a0, IMP::Int a1)
9605  add_attribute(_TrivialDecorator self, FloatsKey a0, IMP::Floats a1)
9606  add_attribute(_TrivialDecorator self, IntsKey a0, IMP::Ints a1)
9607  add_attribute(_TrivialDecorator self, StringKey a0, IMP::String a1)
9608  add_attribute(_TrivialDecorator self, ParticleIndexKey a0, Particle a1)
9609  add_attribute(_TrivialDecorator self, ObjectKey a0, Object a1)
9610  add_attribute(_TrivialDecorator self, SparseFloatKey a0, IMP::Float a1)
9611  add_attribute(_TrivialDecorator self, SparseIntKey a0, IMP::Int a1)
9612  add_attribute(_TrivialDecorator self, SparseStringKey a0, IMP::String a1)
9613  add_attribute(_TrivialDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
9614  """
9615  return _IMP_kernel._TrivialDecorator_add_attribute(self, *args)
9616 
9617  def get_value(self, *args):
9618  r"""
9619  get_value(_TrivialDecorator self, FloatKey a0) -> IMP::Float
9620  get_value(_TrivialDecorator self, IntKey a0) -> IMP::Int
9621  get_value(_TrivialDecorator self, FloatsKey a0) -> IMP::Floats
9622  get_value(_TrivialDecorator self, IntsKey a0) -> IMP::Ints
9623  get_value(_TrivialDecorator self, StringKey a0) -> IMP::String
9624  get_value(_TrivialDecorator self, ParticleIndexKey a0) -> Particle
9625  get_value(_TrivialDecorator self, ObjectKey a0) -> Object
9626  get_value(_TrivialDecorator self, SparseFloatKey a0) -> IMP::Float
9627  get_value(_TrivialDecorator self, SparseIntKey a0) -> IMP::Int
9628  get_value(_TrivialDecorator self, SparseStringKey a0) -> IMP::String
9629  get_value(_TrivialDecorator self, SparseParticleIndexKey a0) -> ParticleIndex
9630  """
9631  return _IMP_kernel._TrivialDecorator_get_value(self, *args)
9632 
9633  def set_value(self, *args):
9634  r"""
9635  set_value(_TrivialDecorator self, FloatKey a0, IMP::Float a1)
9636  set_value(_TrivialDecorator self, IntKey a0, IMP::Int a1)
9637  set_value(_TrivialDecorator self, FloatsKey a0, IMP::Floats a1)
9638  set_value(_TrivialDecorator self, IntsKey a0, IMP::Ints a1)
9639  set_value(_TrivialDecorator self, StringKey a0, IMP::String a1)
9640  set_value(_TrivialDecorator self, ParticleIndexKey a0, Particle a1)
9641  set_value(_TrivialDecorator self, ObjectKey a0, Object a1)
9642  set_value(_TrivialDecorator self, SparseFloatKey a0, IMP::Float a1)
9643  set_value(_TrivialDecorator self, SparseIntKey a0, IMP::Int a1)
9644  set_value(_TrivialDecorator self, SparseStringKey a0, IMP::String a1)
9645  set_value(_TrivialDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
9646  """
9647  return _IMP_kernel._TrivialDecorator_set_value(self, *args)
9648 
9649  def remove_attribute(self, *args):
9650  r"""
9651  remove_attribute(_TrivialDecorator self, FloatKey a0)
9652  remove_attribute(_TrivialDecorator self, IntKey a0)
9653  remove_attribute(_TrivialDecorator self, FloatsKey a0)
9654  remove_attribute(_TrivialDecorator self, IntsKey a0)
9655  remove_attribute(_TrivialDecorator self, StringKey a0)
9656  remove_attribute(_TrivialDecorator self, ParticleIndexKey a0)
9657  remove_attribute(_TrivialDecorator self, ObjectKey a0)
9658  remove_attribute(_TrivialDecorator self, SparseFloatKey a0)
9659  remove_attribute(_TrivialDecorator self, SparseIntKey a0)
9660  remove_attribute(_TrivialDecorator self, SparseStringKey a0)
9661  remove_attribute(_TrivialDecorator self, SparseParticleIndexKey a0)
9662  """
9663  return _IMP_kernel._TrivialDecorator_remove_attribute(self, *args)
9664 
9665  def has_attribute(self, *args):
9666  r"""
9667  has_attribute(_TrivialDecorator self, FloatKey a0) -> bool
9668  has_attribute(_TrivialDecorator self, IntKey a0) -> bool
9669  has_attribute(_TrivialDecorator self, FloatsKey a0) -> bool
9670  has_attribute(_TrivialDecorator self, IntsKey a0) -> bool
9671  has_attribute(_TrivialDecorator self, StringKey a0) -> bool
9672  has_attribute(_TrivialDecorator self, ParticleIndexKey a0) -> bool
9673  has_attribute(_TrivialDecorator self, ObjectKey a0) -> bool
9674  has_attribute(_TrivialDecorator self, SparseFloatKey a0) -> bool
9675  has_attribute(_TrivialDecorator self, SparseIntKey a0) -> bool
9676  has_attribute(_TrivialDecorator self, SparseStringKey a0) -> bool
9677  has_attribute(_TrivialDecorator self, SparseParticleIndexKey a0) -> bool
9678  """
9679  return _IMP_kernel._TrivialDecorator_has_attribute(self, *args)
9680 
9681  def get_derivative(self, a0):
9682  r"""get_derivative(_TrivialDecorator self, FloatKey a0) -> double"""
9683  return _IMP_kernel._TrivialDecorator_get_derivative(self, a0)
9684 
9685  def get_name(self):
9686  r"""get_name(_TrivialDecorator self) -> std::string"""
9687  return _IMP_kernel._TrivialDecorator_get_name(self)
9688 
9689  def clear_caches(self):
9690  r"""clear_caches(_TrivialDecorator self)"""
9691  return _IMP_kernel._TrivialDecorator_clear_caches(self)
9692 
9693  def set_name(self, a0):
9694  r"""set_name(_TrivialDecorator self, std::string a0)"""
9695  return _IMP_kernel._TrivialDecorator_set_name(self, a0)
9696 
9697  def set_check_level(self, a0):
9698  r"""set_check_level(_TrivialDecorator self, IMP::CheckLevel a0)"""
9699  return _IMP_kernel._TrivialDecorator_set_check_level(self, a0)
9700 
9701  def add_to_derivative(self, a0, a1, a2):
9702  r"""add_to_derivative(_TrivialDecorator self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9703  return _IMP_kernel._TrivialDecorator_add_to_derivative(self, a0, a1, a2)
9704 
9705  def set_is_optimized(self, a0, a1):
9706  r"""set_is_optimized(_TrivialDecorator self, FloatKey a0, bool a1)"""
9707  return _IMP_kernel._TrivialDecorator_set_is_optimized(self, a0, a1)
9708 
9709  def get_is_optimized(self, a0):
9710  r"""get_is_optimized(_TrivialDecorator self, FloatKey a0) -> bool"""
9711  return _IMP_kernel._TrivialDecorator_get_is_optimized(self, a0)
9712 
9713  def get_check_level(self):
9714  r"""get_check_level(_TrivialDecorator self) -> IMP::CheckLevel"""
9715  return _IMP_kernel._TrivialDecorator_get_check_level(self)
9716 
9717  def __eq__(self, *args):
9718  r"""
9719  __eq__(_TrivialDecorator self, _TrivialDecorator o) -> bool
9720  __eq__(_TrivialDecorator self, Particle d) -> bool
9721  """
9722  return _IMP_kernel._TrivialDecorator___eq__(self, *args)
9723 
9724  def __ne__(self, *args):
9725  r"""
9726  __ne__(_TrivialDecorator self, _TrivialDecorator o) -> bool
9727  __ne__(_TrivialDecorator self, Particle d) -> bool
9728  """
9729  return _IMP_kernel._TrivialDecorator___ne__(self, *args)
9730 
9731  def __le__(self, *args):
9732  r"""
9733  __le__(_TrivialDecorator self, _TrivialDecorator o) -> bool
9734  __le__(_TrivialDecorator self, Particle d) -> bool
9735  """
9736  return _IMP_kernel._TrivialDecorator___le__(self, *args)
9737 
9738  def __lt__(self, *args):
9739  r"""
9740  __lt__(_TrivialDecorator self, _TrivialDecorator o) -> bool
9741  __lt__(_TrivialDecorator self, Particle d) -> bool
9742  """
9743  return _IMP_kernel._TrivialDecorator___lt__(self, *args)
9744 
9745  def __ge__(self, *args):
9746  r"""
9747  __ge__(_TrivialDecorator self, _TrivialDecorator o) -> bool
9748  __ge__(_TrivialDecorator self, Particle d) -> bool
9749  """
9750  return _IMP_kernel._TrivialDecorator___ge__(self, *args)
9751 
9752  def __gt__(self, *args):
9753  r"""
9754  __gt__(_TrivialDecorator self, _TrivialDecorator o) -> bool
9755  __gt__(_TrivialDecorator self, Particle d) -> bool
9756  """
9757  return _IMP_kernel._TrivialDecorator___gt__(self, *args)
9758 
9759  def __hash__(self):
9760  r"""__hash__(_TrivialDecorator self) -> std::size_t"""
9761  return _IMP_kernel._TrivialDecorator___hash__(self)
9762 
9763  def __str__(self):
9764  r"""__str__(_TrivialDecorator self) -> std::string"""
9765  return _IMP_kernel._TrivialDecorator___str__(self)
9766 
9767  def __repr__(self):
9768  r"""__repr__(_TrivialDecorator self) -> std::string"""
9769  return _IMP_kernel._TrivialDecorator___repr__(self)
9770 
9771  def _get_as_binary(self):
9772  r"""_get_as_binary(_TrivialDecorator self) -> PyObject *"""
9773  return _IMP_kernel._TrivialDecorator__get_as_binary(self)
9774 
9775  def _set_from_binary(self, p):
9776  r"""_set_from_binary(_TrivialDecorator self, PyObject * p)"""
9777  return _IMP_kernel._TrivialDecorator__set_from_binary(self, p)
9778 
9779  def __getstate__(self):
9780  p = self._get_as_binary()
9781  if len(self.__dict__) > 1:
9782  d = self.__dict__.copy()
9783  del d['this']
9784  p = (d, p)
9785  return p
9786 
9787  def __setstate__(self, p):
9788  if not hasattr(self, 'this'):
9789  self.__init__()
9790  if isinstance(p, tuple):
9791  d, p = p
9792  self.__dict__.update(d)
9793  return self._set_from_binary(p)
9794 
9795  __swig_destroy__ = _IMP_kernel.delete__TrivialDecorator
9796 
9797 # Register _TrivialDecorator in _IMP_kernel:
9798 _IMP_kernel._TrivialDecorator_swigregister(_TrivialDecorator)
9799 class _TrivialDerivedDecorator(_TrivialDecorator):
9800  r"""Proxy of C++ IMP::internal::_TrivialDerivedDecorator class."""
9801 
9802  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9803 
9804  def __init__(self, *args):
9805  r"""
9806  __init__(_TrivialDerivedDecorator self) -> _TrivialDerivedDecorator
9807  __init__(_TrivialDerivedDecorator self, Model m, ParticleIndex id) -> _TrivialDerivedDecorator
9808  __init__(_TrivialDerivedDecorator self, _ParticleAdaptor d) -> _TrivialDerivedDecorator
9809  """
9810  _IMP_kernel._TrivialDerivedDecorator_swiginit(self, _IMP_kernel.new__TrivialDerivedDecorator(*args))
9811 
9812  def show(self, *args):
9813  r"""show(_TrivialDerivedDecorator self, _ostream out=std::cout)"""
9814  return _IMP_kernel._TrivialDerivedDecorator_show(self, *args)
9815 
9816  @staticmethod
9817  def setup_particle(*args):
9818  r"""
9819  setup_particle(Model m, ParticleIndex pi) -> _TrivialDerivedDecorator
9820  setup_particle(_ParticleAdaptor pa) -> _TrivialDerivedDecorator
9821  """
9822  return _IMP_kernel._TrivialDerivedDecorator_setup_particle(*args)
9823 
9824  @staticmethod
9825  def get_is_setup(*args):
9826  r"""
9827  get_is_setup(_ParticleAdaptor p) -> bool
9828  get_is_setup(Model m, ParticleIndex pi) -> bool
9829  """
9830  return _IMP_kernel._TrivialDerivedDecorator_get_is_setup(*args)
9831 
9832  def add_attribute(self, *args):
9833  r"""
9834  add_attribute(_TrivialDerivedDecorator self, FloatKey k, IMP::Float v, bool opt)
9835  add_attribute(_TrivialDerivedDecorator self, FloatKey a0, IMP::Float a1)
9836  add_attribute(_TrivialDerivedDecorator self, IntKey a0, IMP::Int a1)
9837  add_attribute(_TrivialDerivedDecorator self, FloatsKey a0, IMP::Floats a1)
9838  add_attribute(_TrivialDerivedDecorator self, IntsKey a0, IMP::Ints a1)
9839  add_attribute(_TrivialDerivedDecorator self, StringKey a0, IMP::String a1)
9840  add_attribute(_TrivialDerivedDecorator self, ParticleIndexKey a0, Particle a1)
9841  add_attribute(_TrivialDerivedDecorator self, ObjectKey a0, Object a1)
9842  add_attribute(_TrivialDerivedDecorator self, SparseFloatKey a0, IMP::Float a1)
9843  add_attribute(_TrivialDerivedDecorator self, SparseIntKey a0, IMP::Int a1)
9844  add_attribute(_TrivialDerivedDecorator self, SparseStringKey a0, IMP::String a1)
9845  add_attribute(_TrivialDerivedDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
9846  """
9847  return _IMP_kernel._TrivialDerivedDecorator_add_attribute(self, *args)
9848 
9849  def get_value(self, *args):
9850  r"""
9851  get_value(_TrivialDerivedDecorator self, FloatKey a0) -> IMP::Float
9852  get_value(_TrivialDerivedDecorator self, IntKey a0) -> IMP::Int
9853  get_value(_TrivialDerivedDecorator self, FloatsKey a0) -> IMP::Floats
9854  get_value(_TrivialDerivedDecorator self, IntsKey a0) -> IMP::Ints
9855  get_value(_TrivialDerivedDecorator self, StringKey a0) -> IMP::String
9856  get_value(_TrivialDerivedDecorator self, ParticleIndexKey a0) -> Particle
9857  get_value(_TrivialDerivedDecorator self, ObjectKey a0) -> Object
9858  get_value(_TrivialDerivedDecorator self, SparseFloatKey a0) -> IMP::Float
9859  get_value(_TrivialDerivedDecorator self, SparseIntKey a0) -> IMP::Int
9860  get_value(_TrivialDerivedDecorator self, SparseStringKey a0) -> IMP::String
9861  get_value(_TrivialDerivedDecorator self, SparseParticleIndexKey a0) -> ParticleIndex
9862  """
9863  return _IMP_kernel._TrivialDerivedDecorator_get_value(self, *args)
9864 
9865  def set_value(self, *args):
9866  r"""
9867  set_value(_TrivialDerivedDecorator self, FloatKey a0, IMP::Float a1)
9868  set_value(_TrivialDerivedDecorator self, IntKey a0, IMP::Int a1)
9869  set_value(_TrivialDerivedDecorator self, FloatsKey a0, IMP::Floats a1)
9870  set_value(_TrivialDerivedDecorator self, IntsKey a0, IMP::Ints a1)
9871  set_value(_TrivialDerivedDecorator self, StringKey a0, IMP::String a1)
9872  set_value(_TrivialDerivedDecorator self, ParticleIndexKey a0, Particle a1)
9873  set_value(_TrivialDerivedDecorator self, ObjectKey a0, Object a1)
9874  set_value(_TrivialDerivedDecorator self, SparseFloatKey a0, IMP::Float a1)
9875  set_value(_TrivialDerivedDecorator self, SparseIntKey a0, IMP::Int a1)
9876  set_value(_TrivialDerivedDecorator self, SparseStringKey a0, IMP::String a1)
9877  set_value(_TrivialDerivedDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
9878  """
9879  return _IMP_kernel._TrivialDerivedDecorator_set_value(self, *args)
9880 
9881  def remove_attribute(self, *args):
9882  r"""
9883  remove_attribute(_TrivialDerivedDecorator self, FloatKey a0)
9884  remove_attribute(_TrivialDerivedDecorator self, IntKey a0)
9885  remove_attribute(_TrivialDerivedDecorator self, FloatsKey a0)
9886  remove_attribute(_TrivialDerivedDecorator self, IntsKey a0)
9887  remove_attribute(_TrivialDerivedDecorator self, StringKey a0)
9888  remove_attribute(_TrivialDerivedDecorator self, ParticleIndexKey a0)
9889  remove_attribute(_TrivialDerivedDecorator self, ObjectKey a0)
9890  remove_attribute(_TrivialDerivedDecorator self, SparseFloatKey a0)
9891  remove_attribute(_TrivialDerivedDecorator self, SparseIntKey a0)
9892  remove_attribute(_TrivialDerivedDecorator self, SparseStringKey a0)
9893  remove_attribute(_TrivialDerivedDecorator self, SparseParticleIndexKey a0)
9894  """
9895  return _IMP_kernel._TrivialDerivedDecorator_remove_attribute(self, *args)
9896 
9897  def has_attribute(self, *args):
9898  r"""
9899  has_attribute(_TrivialDerivedDecorator self, FloatKey a0) -> bool
9900  has_attribute(_TrivialDerivedDecorator self, IntKey a0) -> bool
9901  has_attribute(_TrivialDerivedDecorator self, FloatsKey a0) -> bool
9902  has_attribute(_TrivialDerivedDecorator self, IntsKey a0) -> bool
9903  has_attribute(_TrivialDerivedDecorator self, StringKey a0) -> bool
9904  has_attribute(_TrivialDerivedDecorator self, ParticleIndexKey a0) -> bool
9905  has_attribute(_TrivialDerivedDecorator self, ObjectKey a0) -> bool
9906  has_attribute(_TrivialDerivedDecorator self, SparseFloatKey a0) -> bool
9907  has_attribute(_TrivialDerivedDecorator self, SparseIntKey a0) -> bool
9908  has_attribute(_TrivialDerivedDecorator self, SparseStringKey a0) -> bool
9909  has_attribute(_TrivialDerivedDecorator self, SparseParticleIndexKey a0) -> bool
9910  """
9911  return _IMP_kernel._TrivialDerivedDecorator_has_attribute(self, *args)
9912 
9913  def get_derivative(self, a0):
9914  r"""get_derivative(_TrivialDerivedDecorator self, FloatKey a0) -> double"""
9915  return _IMP_kernel._TrivialDerivedDecorator_get_derivative(self, a0)
9916 
9917  def get_name(self):
9918  r"""get_name(_TrivialDerivedDecorator self) -> std::string"""
9919  return _IMP_kernel._TrivialDerivedDecorator_get_name(self)
9920 
9921  def clear_caches(self):
9922  r"""clear_caches(_TrivialDerivedDecorator self)"""
9923  return _IMP_kernel._TrivialDerivedDecorator_clear_caches(self)
9924 
9925  def set_name(self, a0):
9926  r"""set_name(_TrivialDerivedDecorator self, std::string a0)"""
9927  return _IMP_kernel._TrivialDerivedDecorator_set_name(self, a0)
9928 
9929  def set_check_level(self, a0):
9930  r"""set_check_level(_TrivialDerivedDecorator self, IMP::CheckLevel a0)"""
9931  return _IMP_kernel._TrivialDerivedDecorator_set_check_level(self, a0)
9932 
9933  def add_to_derivative(self, a0, a1, a2):
9934  r"""add_to_derivative(_TrivialDerivedDecorator self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9935  return _IMP_kernel._TrivialDerivedDecorator_add_to_derivative(self, a0, a1, a2)
9936 
9937  def set_is_optimized(self, a0, a1):
9938  r"""set_is_optimized(_TrivialDerivedDecorator self, FloatKey a0, bool a1)"""
9939  return _IMP_kernel._TrivialDerivedDecorator_set_is_optimized(self, a0, a1)
9940 
9941  def get_is_optimized(self, a0):
9942  r"""get_is_optimized(_TrivialDerivedDecorator self, FloatKey a0) -> bool"""
9943  return _IMP_kernel._TrivialDerivedDecorator_get_is_optimized(self, a0)
9944 
9945  def get_check_level(self):
9946  r"""get_check_level(_TrivialDerivedDecorator self) -> IMP::CheckLevel"""
9947  return _IMP_kernel._TrivialDerivedDecorator_get_check_level(self)
9948 
9949  def __eq__(self, *args):
9950  r"""
9951  __eq__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
9952  __eq__(_TrivialDerivedDecorator self, Particle d) -> bool
9953  """
9954  return _IMP_kernel._TrivialDerivedDecorator___eq__(self, *args)
9955 
9956  def __ne__(self, *args):
9957  r"""
9958  __ne__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
9959  __ne__(_TrivialDerivedDecorator self, Particle d) -> bool
9960  """
9961  return _IMP_kernel._TrivialDerivedDecorator___ne__(self, *args)
9962 
9963  def __le__(self, *args):
9964  r"""
9965  __le__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
9966  __le__(_TrivialDerivedDecorator self, Particle d) -> bool
9967  """
9968  return _IMP_kernel._TrivialDerivedDecorator___le__(self, *args)
9969 
9970  def __lt__(self, *args):
9971  r"""
9972  __lt__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
9973  __lt__(_TrivialDerivedDecorator self, Particle d) -> bool
9974  """
9975  return _IMP_kernel._TrivialDerivedDecorator___lt__(self, *args)
9976 
9977  def __ge__(self, *args):
9978  r"""
9979  __ge__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
9980  __ge__(_TrivialDerivedDecorator self, Particle d) -> bool
9981  """
9982  return _IMP_kernel._TrivialDerivedDecorator___ge__(self, *args)
9983 
9984  def __gt__(self, *args):
9985  r"""
9986  __gt__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
9987  __gt__(_TrivialDerivedDecorator self, Particle d) -> bool
9988  """
9989  return _IMP_kernel._TrivialDerivedDecorator___gt__(self, *args)
9990 
9991  def __hash__(self):
9992  r"""__hash__(_TrivialDerivedDecorator self) -> std::size_t"""
9993  return _IMP_kernel._TrivialDerivedDecorator___hash__(self)
9994 
9995  def __str__(self):
9996  r"""__str__(_TrivialDerivedDecorator self) -> std::string"""
9997  return _IMP_kernel._TrivialDerivedDecorator___str__(self)
9998 
9999  def __repr__(self):
10000  r"""__repr__(_TrivialDerivedDecorator self) -> std::string"""
10001  return _IMP_kernel._TrivialDerivedDecorator___repr__(self)
10002 
10003  def _get_as_binary(self):
10004  r"""_get_as_binary(_TrivialDerivedDecorator self) -> PyObject *"""
10005  return _IMP_kernel._TrivialDerivedDecorator__get_as_binary(self)
10006 
10007  def _set_from_binary(self, p):
10008  r"""_set_from_binary(_TrivialDerivedDecorator self, PyObject * p)"""
10009  return _IMP_kernel._TrivialDerivedDecorator__set_from_binary(self, p)
10010 
10011  def __getstate__(self):
10012  p = self._get_as_binary()
10013  if len(self.__dict__) > 1:
10014  d = self.__dict__.copy()
10015  del d['this']
10016  p = (d, p)
10017  return p
10018 
10019  def __setstate__(self, p):
10020  if not hasattr(self, 'this'):
10021  self.__init__()
10022  if isinstance(p, tuple):
10023  d, p = p
10024  self.__dict__.update(d)
10025  return self._set_from_binary(p)
10026 
10027  __swig_destroy__ = _IMP_kernel.delete__TrivialDerivedDecorator
10028 
10029 # Register _TrivialDerivedDecorator in _IMP_kernel:
10030 _IMP_kernel._TrivialDerivedDecorator_swigregister(_TrivialDerivedDecorator)
10031 class _TrivialTraitsDecorator(Decorator):
10032  r"""Proxy of C++ IMP::internal::_TrivialTraitsDecorator class."""
10033 
10034  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10035 
10036  def get_decorator_traits(self):
10037  r"""get_decorator_traits(_TrivialTraitsDecorator self) -> StringKey"""
10038  return _IMP_kernel._TrivialTraitsDecorator_get_decorator_traits(self)
10039 
10040  @staticmethod
10041  def get_default_decorator_traits():
10042  r"""get_default_decorator_traits() -> StringKey"""
10043  return _IMP_kernel._TrivialTraitsDecorator_get_default_decorator_traits()
10044 
10045  def __init__(self, *args):
10046  r"""
10047  __init__(_TrivialTraitsDecorator self) -> _TrivialTraitsDecorator
10048  __init__(_TrivialTraitsDecorator self, Model m, ParticleIndex id, StringKey tr=get_default_key()) -> _TrivialTraitsDecorator
10049  __init__(_TrivialTraitsDecorator self, _ParticleAdaptor d, StringKey tr=get_default_key()) -> _TrivialTraitsDecorator
10050  """
10051  _IMP_kernel._TrivialTraitsDecorator_swiginit(self, _IMP_kernel.new__TrivialTraitsDecorator(*args))
10052 
10053  def show(self, *args):
10054  r"""show(_TrivialTraitsDecorator self, _ostream out=std::cout)"""
10055  return _IMP_kernel._TrivialTraitsDecorator_show(self, *args)
10056 
10057  @staticmethod
10058  def setup_particle(*args):
10059  r"""
10060  setup_particle(Model m, ParticleIndex pi, StringKey tr=IMP::internal::_TrivialTraitsDecorator::get_default_decorator_traits()) -> _TrivialTraitsDecorator
10061  setup_particle(_ParticleAdaptor d, StringKey tr=IMP::internal::_TrivialTraitsDecorator::get_default_decorator_traits()) -> _TrivialTraitsDecorator
10062  """
10063  return _IMP_kernel._TrivialTraitsDecorator_setup_particle(*args)
10064 
10065  @staticmethod
10066  def get_is_setup(*args):
10067  r"""
10068  get_is_setup(_ParticleAdaptor p, StringKey tr=get_default_key()) -> bool
10069  get_is_setup(Model m, ParticleIndex pi, StringKey k=get_default_key()) -> bool
10070  """
10071  return _IMP_kernel._TrivialTraitsDecorator_get_is_setup(*args)
10072 
10073  @staticmethod
10074  def get_default_key():
10075  r"""get_default_key() -> StringKey"""
10076  return _IMP_kernel._TrivialTraitsDecorator_get_default_key()
10077 
10078  def add_attribute(self, *args):
10079  r"""
10080  add_attribute(_TrivialTraitsDecorator self, FloatKey k, IMP::Float v, bool opt)
10081  add_attribute(_TrivialTraitsDecorator self, FloatKey a0, IMP::Float a1)
10082  add_attribute(_TrivialTraitsDecorator self, IntKey a0, IMP::Int a1)
10083  add_attribute(_TrivialTraitsDecorator self, FloatsKey a0, IMP::Floats a1)
10084  add_attribute(_TrivialTraitsDecorator self, IntsKey a0, IMP::Ints a1)
10085  add_attribute(_TrivialTraitsDecorator self, StringKey a0, IMP::String a1)
10086  add_attribute(_TrivialTraitsDecorator self, ParticleIndexKey a0, Particle a1)
10087  add_attribute(_TrivialTraitsDecorator self, ObjectKey a0, Object a1)
10088  add_attribute(_TrivialTraitsDecorator self, SparseFloatKey a0, IMP::Float a1)
10089  add_attribute(_TrivialTraitsDecorator self, SparseIntKey a0, IMP::Int a1)
10090  add_attribute(_TrivialTraitsDecorator self, SparseStringKey a0, IMP::String a1)
10091  add_attribute(_TrivialTraitsDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
10092  """
10093  return _IMP_kernel._TrivialTraitsDecorator_add_attribute(self, *args)
10094 
10095  def get_value(self, *args):
10096  r"""
10097  get_value(_TrivialTraitsDecorator self, FloatKey a0) -> IMP::Float
10098  get_value(_TrivialTraitsDecorator self, IntKey a0) -> IMP::Int
10099  get_value(_TrivialTraitsDecorator self, FloatsKey a0) -> IMP::Floats
10100  get_value(_TrivialTraitsDecorator self, IntsKey a0) -> IMP::Ints
10101  get_value(_TrivialTraitsDecorator self, StringKey a0) -> IMP::String
10102  get_value(_TrivialTraitsDecorator self, ParticleIndexKey a0) -> Particle
10103  get_value(_TrivialTraitsDecorator self, ObjectKey a0) -> Object
10104  get_value(_TrivialTraitsDecorator self, SparseFloatKey a0) -> IMP::Float
10105  get_value(_TrivialTraitsDecorator self, SparseIntKey a0) -> IMP::Int
10106  get_value(_TrivialTraitsDecorator self, SparseStringKey a0) -> IMP::String
10107  get_value(_TrivialTraitsDecorator self, SparseParticleIndexKey a0) -> ParticleIndex
10108  """
10109  return _IMP_kernel._TrivialTraitsDecorator_get_value(self, *args)
10110 
10111  def set_value(self, *args):
10112  r"""
10113  set_value(_TrivialTraitsDecorator self, FloatKey a0, IMP::Float a1)
10114  set_value(_TrivialTraitsDecorator self, IntKey a0, IMP::Int a1)
10115  set_value(_TrivialTraitsDecorator self, FloatsKey a0, IMP::Floats a1)
10116  set_value(_TrivialTraitsDecorator self, IntsKey a0, IMP::Ints a1)
10117  set_value(_TrivialTraitsDecorator self, StringKey a0, IMP::String a1)
10118  set_value(_TrivialTraitsDecorator self, ParticleIndexKey a0, Particle a1)
10119  set_value(_TrivialTraitsDecorator self, ObjectKey a0, Object a1)
10120  set_value(_TrivialTraitsDecorator self, SparseFloatKey a0, IMP::Float a1)
10121  set_value(_TrivialTraitsDecorator self, SparseIntKey a0, IMP::Int a1)
10122  set_value(_TrivialTraitsDecorator self, SparseStringKey a0, IMP::String a1)
10123  set_value(_TrivialTraitsDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
10124  """
10125  return _IMP_kernel._TrivialTraitsDecorator_set_value(self, *args)
10126 
10127  def remove_attribute(self, *args):
10128  r"""
10129  remove_attribute(_TrivialTraitsDecorator self, FloatKey a0)
10130  remove_attribute(_TrivialTraitsDecorator self, IntKey a0)
10131  remove_attribute(_TrivialTraitsDecorator self, FloatsKey a0)
10132  remove_attribute(_TrivialTraitsDecorator self, IntsKey a0)
10133  remove_attribute(_TrivialTraitsDecorator self, StringKey a0)
10134  remove_attribute(_TrivialTraitsDecorator self, ParticleIndexKey a0)
10135  remove_attribute(_TrivialTraitsDecorator self, ObjectKey a0)
10136  remove_attribute(_TrivialTraitsDecorator self, SparseFloatKey a0)
10137  remove_attribute(_TrivialTraitsDecorator self, SparseIntKey a0)
10138  remove_attribute(_TrivialTraitsDecorator self, SparseStringKey a0)
10139  remove_attribute(_TrivialTraitsDecorator self, SparseParticleIndexKey a0)
10140  """
10141  return _IMP_kernel._TrivialTraitsDecorator_remove_attribute(self, *args)
10142 
10143  def has_attribute(self, *args):
10144  r"""
10145  has_attribute(_TrivialTraitsDecorator self, FloatKey a0) -> bool
10146  has_attribute(_TrivialTraitsDecorator self, IntKey a0) -> bool
10147  has_attribute(_TrivialTraitsDecorator self, FloatsKey a0) -> bool
10148  has_attribute(_TrivialTraitsDecorator self, IntsKey a0) -> bool
10149  has_attribute(_TrivialTraitsDecorator self, StringKey a0) -> bool
10150  has_attribute(_TrivialTraitsDecorator self, ParticleIndexKey a0) -> bool
10151  has_attribute(_TrivialTraitsDecorator self, ObjectKey a0) -> bool
10152  has_attribute(_TrivialTraitsDecorator self, SparseFloatKey a0) -> bool
10153  has_attribute(_TrivialTraitsDecorator self, SparseIntKey a0) -> bool
10154  has_attribute(_TrivialTraitsDecorator self, SparseStringKey a0) -> bool
10155  has_attribute(_TrivialTraitsDecorator self, SparseParticleIndexKey a0) -> bool
10156  """
10157  return _IMP_kernel._TrivialTraitsDecorator_has_attribute(self, *args)
10158 
10159  def get_derivative(self, a0):
10160  r"""get_derivative(_TrivialTraitsDecorator self, FloatKey a0) -> double"""
10161  return _IMP_kernel._TrivialTraitsDecorator_get_derivative(self, a0)
10162 
10163  def get_name(self):
10164  r"""get_name(_TrivialTraitsDecorator self) -> std::string"""
10165  return _IMP_kernel._TrivialTraitsDecorator_get_name(self)
10166 
10167  def clear_caches(self):
10168  r"""clear_caches(_TrivialTraitsDecorator self)"""
10169  return _IMP_kernel._TrivialTraitsDecorator_clear_caches(self)
10170 
10171  def set_name(self, a0):
10172  r"""set_name(_TrivialTraitsDecorator self, std::string a0)"""
10173  return _IMP_kernel._TrivialTraitsDecorator_set_name(self, a0)
10174 
10175  def set_check_level(self, a0):
10176  r"""set_check_level(_TrivialTraitsDecorator self, IMP::CheckLevel a0)"""
10177  return _IMP_kernel._TrivialTraitsDecorator_set_check_level(self, a0)
10178 
10179  def add_to_derivative(self, a0, a1, a2):
10180  r"""add_to_derivative(_TrivialTraitsDecorator self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
10181  return _IMP_kernel._TrivialTraitsDecorator_add_to_derivative(self, a0, a1, a2)
10182 
10183  def set_is_optimized(self, a0, a1):
10184  r"""set_is_optimized(_TrivialTraitsDecorator self, FloatKey a0, bool a1)"""
10185  return _IMP_kernel._TrivialTraitsDecorator_set_is_optimized(self, a0, a1)
10186 
10187  def get_is_optimized(self, a0):
10188  r"""get_is_optimized(_TrivialTraitsDecorator self, FloatKey a0) -> bool"""
10189  return _IMP_kernel._TrivialTraitsDecorator_get_is_optimized(self, a0)
10190 
10191  def get_check_level(self):
10192  r"""get_check_level(_TrivialTraitsDecorator self) -> IMP::CheckLevel"""
10193  return _IMP_kernel._TrivialTraitsDecorator_get_check_level(self)
10194 
10195  def __eq__(self, *args):
10196  r"""
10197  __eq__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
10198  __eq__(_TrivialTraitsDecorator self, Particle d) -> bool
10199  """
10200  return _IMP_kernel._TrivialTraitsDecorator___eq__(self, *args)
10201 
10202  def __ne__(self, *args):
10203  r"""
10204  __ne__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
10205  __ne__(_TrivialTraitsDecorator self, Particle d) -> bool
10206  """
10207  return _IMP_kernel._TrivialTraitsDecorator___ne__(self, *args)
10208 
10209  def __le__(self, *args):
10210  r"""
10211  __le__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
10212  __le__(_TrivialTraitsDecorator self, Particle d) -> bool
10213  """
10214  return _IMP_kernel._TrivialTraitsDecorator___le__(self, *args)
10215 
10216  def __lt__(self, *args):
10217  r"""
10218  __lt__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
10219  __lt__(_TrivialTraitsDecorator self, Particle d) -> bool
10220  """
10221  return _IMP_kernel._TrivialTraitsDecorator___lt__(self, *args)
10222 
10223  def __ge__(self, *args):
10224  r"""
10225  __ge__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
10226  __ge__(_TrivialTraitsDecorator self, Particle d) -> bool
10227  """
10228  return _IMP_kernel._TrivialTraitsDecorator___ge__(self, *args)
10229 
10230  def __gt__(self, *args):
10231  r"""
10232  __gt__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
10233  __gt__(_TrivialTraitsDecorator self, Particle d) -> bool
10234  """
10235  return _IMP_kernel._TrivialTraitsDecorator___gt__(self, *args)
10236 
10237  def __hash__(self):
10238  r"""__hash__(_TrivialTraitsDecorator self) -> std::size_t"""
10239  return _IMP_kernel._TrivialTraitsDecorator___hash__(self)
10240 
10241  def __str__(self):
10242  r"""__str__(_TrivialTraitsDecorator self) -> std::string"""
10243  return _IMP_kernel._TrivialTraitsDecorator___str__(self)
10244 
10245  def __repr__(self):
10246  r"""__repr__(_TrivialTraitsDecorator self) -> std::string"""
10247  return _IMP_kernel._TrivialTraitsDecorator___repr__(self)
10248  __swig_destroy__ = _IMP_kernel.delete__TrivialTraitsDecorator
10249 
10250 # Register _TrivialTraitsDecorator in _IMP_kernel:
10251 _IMP_kernel._TrivialTraitsDecorator_swigregister(_TrivialTraitsDecorator)
10252 
10253 def __lshift__(*args):
10254  r"""
10255  __lshift__(_ostream out, _TrivialDecorator n) -> _ostream
10256  __lshift__(_ostream out, _TrivialDerivedDecorator n) -> _ostream
10257  __lshift__(_ostream out, _TrivialTraitsDecorator n) -> _ostream
10258  """
10259  return _IMP_kernel.__lshift__(*args)
10260 class _ConstOptimizer(Optimizer):
10261  r"""Proxy of C++ IMP::internal::_ConstOptimizer class."""
10262 
10263  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10264 
10265  def __init__(self, *args):
10266  r"""
10267  __init__(_ConstOptimizer self, Model m) -> _ConstOptimizer
10268  __init__(_ConstOptimizer self) -> _ConstOptimizer
10269  """
10270  _IMP_kernel._ConstOptimizer_swiginit(self, _IMP_kernel.new__ConstOptimizer(*args))
10271 
10272  def do_optimize(self, max_steps):
10273  r"""do_optimize(_ConstOptimizer self, unsigned int max_steps) -> IMP::Float"""
10274  return _IMP_kernel._ConstOptimizer_do_optimize(self, max_steps)
10275 
10276  def get_version_info(self):
10277  r"""get_version_info(_ConstOptimizer self) -> VersionInfo"""
10278  return _IMP_kernel._ConstOptimizer_get_version_info(self)
10279  __swig_destroy__ = _IMP_kernel.delete__ConstOptimizer
10280 
10281  def __str__(self):
10282  r"""__str__(_ConstOptimizer self) -> std::string"""
10283  return _IMP_kernel._ConstOptimizer___str__(self)
10284 
10285  def __repr__(self):
10286  r"""__repr__(_ConstOptimizer self) -> std::string"""
10287  return _IMP_kernel._ConstOptimizer___repr__(self)
10288 
10289  @staticmethod
10290  def get_from(o):
10291  return _object_cast_to__ConstOptimizer(o)
10292 
10293 
10294  def _get_as_binary(self):
10295  r"""_get_as_binary(_ConstOptimizer self) -> PyObject *"""
10296  return _IMP_kernel._ConstOptimizer__get_as_binary(self)
10297 
10298  def _set_from_binary(self, p):
10299  r"""_set_from_binary(_ConstOptimizer self, PyObject * p)"""
10300  return _IMP_kernel._ConstOptimizer__set_from_binary(self, p)
10301 
10302  def __getstate__(self):
10303  p = self._get_as_binary()
10304  if len(self.__dict__) > 1:
10305  d = self.__dict__.copy()
10306  del d['this']
10307  p = (d, p)
10308  return p
10309 
10310  def __setstate__(self, p):
10311  if not hasattr(self, 'this'):
10312  self.__init__()
10313  if isinstance(p, tuple):
10314  d, p = p
10315  self.__dict__.update(d)
10316  return self._set_from_binary(p)
10317 
10318 
10319 # Register _ConstOptimizer in _IMP_kernel:
10320 _IMP_kernel._ConstOptimizer_swigregister(_ConstOptimizer)
10321 
10322 def get_particle(p):
10323  r"""get_particle(Particle p) -> Particle"""
10324  return _IMP_kernel.get_particle(p)
10325 
10326 def _decorator_test(p):
10327  r"""_decorator_test(Particle p)"""
10328  return _IMP_kernel._decorator_test(p)
10329 
10330 def _overloaded_decorator(*args):
10331  r"""
10332  _overloaded_decorator(_TrivialDecorator a) -> int
10333  _overloaded_decorator(_TrivialDerivedDecorator a) -> int
10334  """
10335  return _IMP_kernel._overloaded_decorator(*args)
10336 
10337 def _take_particles(*args):
10338  r"""
10339  _take_particles(IMP::Particles const & ps) -> unsigned int
10340  _take_particles(Model m, IMP::Particles const & ps) -> unsigned int
10341  _take_particles(Model m, IMP::Particles const & ps, TextOutput out) -> unsigned int
10342  """
10343  return _IMP_kernel._take_particles(*args)
10344 
10345 def _give_particles(m):
10346  r"""_give_particles(Model m) -> IMP::Particles const &"""
10347  return _IMP_kernel._give_particles(m)
10348 
10349 def _pass_particles(ps):
10350  r"""_pass_particles(IMP::Particles const & ps) -> IMP::Particles const &"""
10351  return _IMP_kernel._pass_particles(ps)
10352 
10353 def _pass_particle(ps):
10354  r"""_pass_particle(Particle ps) -> Particle"""
10355  return _IMP_kernel._pass_particle(ps)
10356 
10357 def _pass_particle_pair(pp):
10358  r"""_pass_particle_pair(IMP::ParticlePair const & pp) -> IMP::ParticlePair const &"""
10359  return _IMP_kernel._pass_particle_pair(pp)
10360 
10361 def _give_particles_copy(m):
10362  r"""_give_particles_copy(Model m) -> IMP::Particles"""
10363  return _IMP_kernel._give_particles_copy(m)
10364 
10365 def _pass_float_keys(input):
10366  r"""_pass_float_keys(IMP::FloatKeys const & input) -> IMP::FloatKeys"""
10367  return _IMP_kernel._pass_float_keys(input)
10368 
10369 def _pass(*args):
10370  r"""
10371  _pass(IMP::Particles const & p) -> IMP::Particles const
10372  _pass(IMP::Restraints const & p) -> IMP::Restraints const &
10373  """
10374  return _IMP_kernel._pass(*args)
10375 
10376 def _pass_decorators(p):
10377  r"""_pass_decorators(IMP::internal::_TrivialDecorators const & p) -> IMP::internal::_TrivialDecorators const &"""
10378  return _IMP_kernel._pass_decorators(p)
10379 
10380 def _pass_decorator_traits(p):
10381  r"""_pass_decorator_traits(IMP::internal::_TrivialTraitsDecorators const & p) -> IMP::internal::_TrivialTraitsDecorators const &"""
10382  return _IMP_kernel._pass_decorator_traits(p)
10383 
10384 def _pass_particle_pairs(p):
10385  r"""_pass_particle_pairs(IMP::ParticlePairsTemp const & p) -> IMP::ParticlePairsTemp"""
10386  return _IMP_kernel._pass_particle_pairs(p)
10387 
10388 def _pass_particle_index_pairs(p):
10389  r"""_pass_particle_index_pairs(IMP::ParticleIndexPairs const & p) -> IMP::ParticleIndexPairs"""
10390  return _IMP_kernel._pass_particle_index_pairs(p)
10391 
10392 def _pass_model_objects(p):
10393  r"""_pass_model_objects(IMP::ModelObjectsTemp const & p) -> IMP::ModelObjectsTemp"""
10394  return _IMP_kernel._pass_model_objects(p)
10395 
10396 def _pass_particles_temps(ps):
10397  r"""_pass_particles_temps(IMP::ParticlesTemps const & ps) -> IMP::ParticlesTemps"""
10398  return _IMP_kernel._pass_particles_temps(ps)
10399 
10400 def _test_overload(*args):
10401  r"""
10402  _test_overload(IMP::Particles const & ps) -> int
10403  _test_overload(IMP::Restraints const & ps) -> int
10404  """
10405  return _IMP_kernel._test_overload(*args)
10406 
10407 def _get_range(m, k):
10408  r"""_get_range(Model m, FloatKey k) -> IMP::FloatRange"""
10409  return _IMP_kernel._get_range(m, k)
10410 
10411 def _create_particles_from_pdb(name, m):
10412  r"""_create_particles_from_pdb(std::string name, Model m) -> IMP::ParticleIndexes"""
10413  return _IMP_kernel._create_particles_from_pdb(name, m)
10414 class _LogPairScore(PairScore):
10415  r"""Proxy of C++ IMP::internal::_LogPairScore class."""
10416 
10417  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10418  __repr__ = _swig_repr
10419 
10420  def __init__(self):
10421  r"""__init__(_LogPairScore self) -> _LogPairScore"""
10422  _IMP_kernel._LogPairScore_swiginit(self, _IMP_kernel.new__LogPairScore())
10423 
10424  def do_get_inputs(self, arg2, arg3):
10425  r"""do_get_inputs(_LogPairScore self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
10426  return _IMP_kernel._LogPairScore_do_get_inputs(self, arg2, arg3)
10427 
10428  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
10429  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"""
10430  return _IMP_kernel._LogPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
10431 
10432  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
10433  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"""
10434  return _IMP_kernel._LogPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
10435 
10436  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
10437  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"""
10438  return _IMP_kernel._LogPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
10439 
10440  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
10441  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"""
10442  return _IMP_kernel._LogPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
10443 
10444  def get_version_info(self):
10445  r"""get_version_info(_LogPairScore self) -> VersionInfo"""
10446  return _IMP_kernel._LogPairScore_get_version_info(self)
10447  __swig_destroy__ = _IMP_kernel.delete__LogPairScore
10448 
10449  def get_particle_pairs(self):
10450  r"""get_particle_pairs(_LogPairScore self) -> IMP::ParticlePairsTemp"""
10451  return _IMP_kernel._LogPairScore_get_particle_pairs(self)
10452 
10453  def clear(self):
10454  r"""clear(_LogPairScore self)"""
10455  return _IMP_kernel._LogPairScore_clear(self)
10456 
10457  def get_contains(self, pp):
10458  r"""get_contains(_LogPairScore self, IMP::ParticlePair const & pp) -> bool"""
10459  return _IMP_kernel._LogPairScore_get_contains(self, pp)
10460 
10461 # Register _LogPairScore in _IMP_kernel:
10462 _IMP_kernel._LogPairScore_swigregister(_LogPairScore)
10463 
10464 def _overloaded_particles(*args):
10465  r"""
10466  _overloaded_particles(Particle arg1)
10467  _overloaded_particles(IMP::Particles const & arg1)
10468  _overloaded_particles(IMP::ParticlesTemp const & arg1)
10469  _overloaded_particles(Model arg1, IMP::ParticleIndexes const & arg2)
10470  _overloaded_particles(IMP::internal::_TrivialDecorators const & arg1)
10471  _overloaded_particles(_TrivialDecorator arg1)
10472  """
10473  return _IMP_kernel._overloaded_particles(*args)
10474 class _ImplicitParticles(object):
10475  r"""Proxy of C++ IMP::internal::_ImplicitParticles class."""
10476 
10477  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10478  __repr__ = _swig_repr
10479 
10480  def __init__(self, *args):
10481  r"""
10482  __init__(_ImplicitParticles self, Particle arg2) -> _ImplicitParticles
10483  __init__(_ImplicitParticles self, IMP::Particles const & arg2) -> _ImplicitParticles
10484  __init__(_ImplicitParticles self, IMP::ParticlesTemp const & arg2) -> _ImplicitParticles
10485  __init__(_ImplicitParticles self, Model arg2, IMP::ParticleIndexes const & arg3) -> _ImplicitParticles
10486  __init__(_ImplicitParticles self, IMP::internal::_TrivialDecorators const & arg2) -> _ImplicitParticles
10487  __init__(_ImplicitParticles self, _TrivialDecorator arg2) -> _ImplicitParticles
10488  """
10489  _IMP_kernel._ImplicitParticles_swiginit(self, _IMP_kernel.new__ImplicitParticles(*args))
10490  __swig_destroy__ = _IMP_kernel.delete__ImplicitParticles
10491 
10492 # Register _ImplicitParticles in _IMP_kernel:
10493 _IMP_kernel._ImplicitParticles_swigregister(_ImplicitParticles)
10494 
10495 def _implicit_particles(arg1):
10496  r"""_implicit_particles(_ImplicitParticles arg1)"""
10497  return _IMP_kernel._implicit_particles(arg1)
10498 
10499 def _take_particle_adaptor(pa):
10500  r"""_take_particle_adaptor(_ParticleAdaptor pa) -> ParticleIndex"""
10501  return _IMP_kernel._take_particle_adaptor(pa)
10502 
10503 def _take_particle_indexes_adaptor(pa):
10504  r"""_take_particle_indexes_adaptor(_ParticleIndexesAdaptor pa) -> IMP::ParticleIndexes"""
10505  return _IMP_kernel._take_particle_indexes_adaptor(pa)
10506 class Vector1D(_VectorBase1D):
10507  r"""Proxy of C++ IMP::VectorD< 1 > class."""
10508 
10509  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10510 
10511  def get_unit_vector(self):
10512  r"""get_unit_vector(Vector1D self) -> Vector1D"""
10513  return _IMP_kernel.Vector1D_get_unit_vector(self)
10514 
10515  def __truediv__(self, *args):
10516  return _IMP_kernel.Vector1D___truediv__(self, *args)
10517  __div__ = __truediv__
10518 
10519 
10520 
10521  def __neg__(self):
10522  r"""__neg__(Vector1D self) -> Vector1D"""
10523  return _IMP_kernel.Vector1D___neg__(self)
10524 
10525  def __sub__(self, o):
10526  r"""__sub__(Vector1D self, Vector1D o) -> Vector1D"""
10527  return _IMP_kernel.Vector1D___sub__(self, o)
10528 
10529  def __add__(self, ret):
10530  r"""__add__(Vector1D self, Vector1D ret) -> Vector1D"""
10531  return _IMP_kernel.Vector1D___add__(self, ret)
10532 
10533  def __mul__(self, *args):
10534  r"""
10535  __mul__(Vector1D self, double s) -> Vector1D
10536  __mul__(Vector1D self, Vector1D o) -> double
10537  """
10538  return _IMP_kernel.Vector1D___mul__(self, *args)
10539 
10540  def __init__(self, *args):
10541  r"""
10542  __init__(Vector1D self, IMP::Floats const & f) -> Vector1D
10543  __init__(Vector1D self) -> Vector1D
10544  __init__(Vector1D self, double x) -> Vector1D
10545  """
10546  _IMP_kernel.Vector1D_swiginit(self, _IMP_kernel.new_Vector1D(*args))
10547 
10548  def __iadd__(self, *args):
10549  _IMP_kernel.Vector1D___iadd__(self, *args)
10550  return self
10551 
10552 
10553 
10554  def __imul__(self, *args):
10555  _IMP_kernel.Vector1D___imul__(self, *args)
10556  return self
10557 
10558 
10559 
10560  def __idiv__(self, *args):
10561  _IMP_kernel.Vector1D___idiv__(self, *args)
10562  return self
10563 
10564 
10565 
10566  def __isub__(self, *args):
10567  _IMP_kernel.Vector1D___isub__(self, *args)
10568  return self
10569 
10570 
10571 
10572  def __len__(self):
10573  r"""__len__(Vector1D self) -> unsigned int"""
10574  return _IMP_kernel.Vector1D___len__(self)
10575 
10576  def __rmul__(self, f):
10577  r"""__rmul__(Vector1D self, double f) -> Vector1D"""
10578  return _IMP_kernel.Vector1D___rmul__(self, f)
10579 
10580  def __str__(self):
10581  r"""__str__(Vector1D self) -> std::string"""
10582  return _IMP_kernel.Vector1D___str__(self)
10583 
10584  def __repr__(self):
10585  r"""__repr__(Vector1D self) -> std::string"""
10586  return _IMP_kernel.Vector1D___repr__(self)
10587 
10588  def __cmp__(self, arg2):
10589  r"""__cmp__(Vector1D self, Vector1D arg2) -> int"""
10590  return _IMP_kernel.Vector1D___cmp__(self, arg2)
10591 
10592  def __eq__(self, arg2):
10593  r"""__eq__(Vector1D self, Vector1D arg2) -> bool"""
10594  return _IMP_kernel.Vector1D___eq__(self, arg2)
10595 
10596  __truediv__ = __div__
10597  __itruediv__ = __idiv__
10598 
10599 
10600  def _get_as_binary(self):
10601  r"""_get_as_binary(Vector1D self) -> PyObject *"""
10602  return _IMP_kernel.Vector1D__get_as_binary(self)
10603 
10604  def _set_from_binary(self, p):
10605  r"""_set_from_binary(Vector1D self, PyObject * p)"""
10606  return _IMP_kernel.Vector1D__set_from_binary(self, p)
10607 
10608  def __getstate__(self):
10609  p = self._get_as_binary()
10610  if len(self.__dict__) > 1:
10611  d = self.__dict__.copy()
10612  del d['this']
10613  p = (d, p)
10614  return p
10615 
10616  def __setstate__(self, p):
10617  if not hasattr(self, 'this'):
10618  self.__init__()
10619  if isinstance(p, tuple):
10620  d, p = p
10621  self.__dict__.update(d)
10622  return self._set_from_binary(p)
10623 
10624 
10625  def __getitem__(self, index):
10626  if isinstance(index, slice):
10627  return [self[i] for i in range(*index.indices(len(self)))]
10628  else:
10629  return _IMP_kernel.Vector1D___getitem__(self, index)
10630 
10631 
10632 
10633  def __setitem__(self, index, val):
10634  if isinstance(index, slice):
10635  if not hasattr(val, '__iter__'):
10636  raise TypeError("must assign iterable to extended slice")
10637  inds = range(*index.indices(len(self)))
10638  if len(inds) != len(val):
10639  raise ValueError(
10640  "attempt to assign sequence of size %d "
10641  "to extended slice of size %d" % (len(val), len(inds)))
10642  for ind, v in zip(inds, val):
10643  self[ind] = v
10644  else:
10645  return _IMP_kernel.Vector1D___setitem__(self, index, val)
10646 
10647 
10648  __swig_destroy__ = _IMP_kernel.delete_Vector1D
10649 
10650 # Register Vector1D in _IMP_kernel:
10651 _IMP_kernel.Vector1D_swigregister(Vector1D)
10652 class Vector2D(_VectorBase2D):
10653  r"""Proxy of C++ IMP::VectorD< 2 > class."""
10654 
10655  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10656 
10657  def get_unit_vector(self):
10658  r"""get_unit_vector(Vector2D self) -> Vector2D"""
10659  return _IMP_kernel.Vector2D_get_unit_vector(self)
10660 
10661  def __truediv__(self, *args):
10662  return _IMP_kernel.Vector2D___truediv__(self, *args)
10663  __div__ = __truediv__
10664 
10665 
10666 
10667  def __neg__(self):
10668  r"""__neg__(Vector2D self) -> Vector2D"""
10669  return _IMP_kernel.Vector2D___neg__(self)
10670 
10671  def __sub__(self, o):
10672  r"""__sub__(Vector2D self, Vector2D o) -> Vector2D"""
10673  return _IMP_kernel.Vector2D___sub__(self, o)
10674 
10675  def __add__(self, ret):
10676  r"""__add__(Vector2D self, Vector2D ret) -> Vector2D"""
10677  return _IMP_kernel.Vector2D___add__(self, ret)
10678 
10679  def __mul__(self, *args):
10680  r"""
10681  __mul__(Vector2D self, double s) -> Vector2D
10682  __mul__(Vector2D self, Vector2D o) -> double
10683  """
10684  return _IMP_kernel.Vector2D___mul__(self, *args)
10685 
10686  def __init__(self, *args):
10687  r"""
10688  __init__(Vector2D self, IMP::Floats const & f) -> Vector2D
10689  __init__(Vector2D self) -> Vector2D
10690  __init__(Vector2D self, double x, double y) -> Vector2D
10691  """
10692  _IMP_kernel.Vector2D_swiginit(self, _IMP_kernel.new_Vector2D(*args))
10693 
10694  def __iadd__(self, *args):
10695  _IMP_kernel.Vector2D___iadd__(self, *args)
10696  return self
10697 
10698 
10699 
10700  def __imul__(self, *args):
10701  _IMP_kernel.Vector2D___imul__(self, *args)
10702  return self
10703 
10704 
10705 
10706  def __idiv__(self, *args):
10707  _IMP_kernel.Vector2D___idiv__(self, *args)
10708  return self
10709 
10710 
10711 
10712  def __isub__(self, *args):
10713  _IMP_kernel.Vector2D___isub__(self, *args)
10714  return self
10715 
10716 
10717 
10718  def __len__(self):
10719  r"""__len__(Vector2D self) -> unsigned int"""
10720  return _IMP_kernel.Vector2D___len__(self)
10721 
10722  def __rmul__(self, f):
10723  r"""__rmul__(Vector2D self, double f) -> Vector2D"""
10724  return _IMP_kernel.Vector2D___rmul__(self, f)
10725 
10726  def __str__(self):
10727  r"""__str__(Vector2D self) -> std::string"""
10728  return _IMP_kernel.Vector2D___str__(self)
10729 
10730  def __repr__(self):
10731  r"""__repr__(Vector2D self) -> std::string"""
10732  return _IMP_kernel.Vector2D___repr__(self)
10733 
10734  def __cmp__(self, arg2):
10735  r"""__cmp__(Vector2D self, Vector2D arg2) -> int"""
10736  return _IMP_kernel.Vector2D___cmp__(self, arg2)
10737 
10738  def __eq__(self, arg2):
10739  r"""__eq__(Vector2D self, Vector2D arg2) -> bool"""
10740  return _IMP_kernel.Vector2D___eq__(self, arg2)
10741 
10742  __truediv__ = __div__
10743  __itruediv__ = __idiv__
10744 
10745 
10746  def _get_as_binary(self):
10747  r"""_get_as_binary(Vector2D self) -> PyObject *"""
10748  return _IMP_kernel.Vector2D__get_as_binary(self)
10749 
10750  def _set_from_binary(self, p):
10751  r"""_set_from_binary(Vector2D self, PyObject * p)"""
10752  return _IMP_kernel.Vector2D__set_from_binary(self, p)
10753 
10754  def __getstate__(self):
10755  p = self._get_as_binary()
10756  if len(self.__dict__) > 1:
10757  d = self.__dict__.copy()
10758  del d['this']
10759  p = (d, p)
10760  return p
10761 
10762  def __setstate__(self, p):
10763  if not hasattr(self, 'this'):
10764  self.__init__()
10765  if isinstance(p, tuple):
10766  d, p = p
10767  self.__dict__.update(d)
10768  return self._set_from_binary(p)
10769 
10770 
10771  def __getitem__(self, index):
10772  if isinstance(index, slice):
10773  return [self[i] for i in range(*index.indices(len(self)))]
10774  else:
10775  return _IMP_kernel.Vector2D___getitem__(self, index)
10776 
10777 
10778 
10779  def __setitem__(self, index, val):
10780  if isinstance(index, slice):
10781  if not hasattr(val, '__iter__'):
10782  raise TypeError("must assign iterable to extended slice")
10783  inds = range(*index.indices(len(self)))
10784  if len(inds) != len(val):
10785  raise ValueError(
10786  "attempt to assign sequence of size %d "
10787  "to extended slice of size %d" % (len(val), len(inds)))
10788  for ind, v in zip(inds, val):
10789  self[ind] = v
10790  else:
10791  return _IMP_kernel.Vector2D___setitem__(self, index, val)
10792 
10793 
10794  __swig_destroy__ = _IMP_kernel.delete_Vector2D
10795 
10796 # Register Vector2D in _IMP_kernel:
10797 _IMP_kernel.Vector2D_swigregister(Vector2D)
10798 class Vector3D(_VectorBase3D):
10799  r"""Proxy of C++ IMP::VectorD< 3 > class."""
10800 
10801  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10802 
10803  def get_unit_vector(self):
10804  r"""get_unit_vector(Vector3D self) -> Vector3D"""
10805  return _IMP_kernel.Vector3D_get_unit_vector(self)
10806 
10807  def __truediv__(self, *args):
10808  return _IMP_kernel.Vector3D___truediv__(self, *args)
10809  __div__ = __truediv__
10810 
10811 
10812 
10813  def __neg__(self):
10814  r"""__neg__(Vector3D self) -> Vector3D"""
10815  return _IMP_kernel.Vector3D___neg__(self)
10816 
10817  def __sub__(self, o):
10818  r"""__sub__(Vector3D self, Vector3D o) -> Vector3D"""
10819  return _IMP_kernel.Vector3D___sub__(self, o)
10820 
10821  def __add__(self, ret):
10822  r"""__add__(Vector3D self, Vector3D ret) -> Vector3D"""
10823  return _IMP_kernel.Vector3D___add__(self, ret)
10824 
10825  def __mul__(self, *args):
10826  r"""
10827  __mul__(Vector3D self, double s) -> Vector3D
10828  __mul__(Vector3D self, Vector3D o) -> double
10829  """
10830  return _IMP_kernel.Vector3D___mul__(self, *args)
10831 
10832  def __init__(self, *args):
10833  r"""
10834  __init__(Vector3D self, IMP::Floats const & f) -> Vector3D
10835  __init__(Vector3D self) -> Vector3D
10836  __init__(Vector3D self, double x, double y, double z) -> Vector3D
10837  """
10838  _IMP_kernel.Vector3D_swiginit(self, _IMP_kernel.new_Vector3D(*args))
10839 
10840  def __iadd__(self, *args):
10841  _IMP_kernel.Vector3D___iadd__(self, *args)
10842  return self
10843 
10844 
10845 
10846  def __imul__(self, *args):
10847  _IMP_kernel.Vector3D___imul__(self, *args)
10848  return self
10849 
10850 
10851 
10852  def __idiv__(self, *args):
10853  _IMP_kernel.Vector3D___idiv__(self, *args)
10854  return self
10855 
10856 
10857 
10858  def __isub__(self, *args):
10859  _IMP_kernel.Vector3D___isub__(self, *args)
10860  return self
10861 
10862 
10863 
10864  def __len__(self):
10865  r"""__len__(Vector3D self) -> unsigned int"""
10866  return _IMP_kernel.Vector3D___len__(self)
10867 
10868  def __rmul__(self, f):
10869  r"""__rmul__(Vector3D self, double f) -> Vector3D"""
10870  return _IMP_kernel.Vector3D___rmul__(self, f)
10871 
10872  def __str__(self):
10873  r"""__str__(Vector3D self) -> std::string"""
10874  return _IMP_kernel.Vector3D___str__(self)
10875 
10876  def __repr__(self):
10877  r"""__repr__(Vector3D self) -> std::string"""
10878  return _IMP_kernel.Vector3D___repr__(self)
10879 
10880  def __cmp__(self, arg2):
10881  r"""__cmp__(Vector3D self, Vector3D arg2) -> int"""
10882  return _IMP_kernel.Vector3D___cmp__(self, arg2)
10883 
10884  def __eq__(self, arg2):
10885  r"""__eq__(Vector3D self, Vector3D arg2) -> bool"""
10886  return _IMP_kernel.Vector3D___eq__(self, arg2)
10887 
10888  __truediv__ = __div__
10889  __itruediv__ = __idiv__
10890 
10891 
10892  def _get_as_binary(self):
10893  r"""_get_as_binary(Vector3D self) -> PyObject *"""
10894  return _IMP_kernel.Vector3D__get_as_binary(self)
10895 
10896  def _set_from_binary(self, p):
10897  r"""_set_from_binary(Vector3D self, PyObject * p)"""
10898  return _IMP_kernel.Vector3D__set_from_binary(self, p)
10899 
10900  def __getstate__(self):
10901  p = self._get_as_binary()
10902  if len(self.__dict__) > 1:
10903  d = self.__dict__.copy()
10904  del d['this']
10905  p = (d, p)
10906  return p
10907 
10908  def __setstate__(self, p):
10909  if not hasattr(self, 'this'):
10910  self.__init__()
10911  if isinstance(p, tuple):
10912  d, p = p
10913  self.__dict__.update(d)
10914  return self._set_from_binary(p)
10915 
10916 
10917  def __getitem__(self, index):
10918  if isinstance(index, slice):
10919  return [self[i] for i in range(*index.indices(len(self)))]
10920  else:
10921  return _IMP_kernel.Vector3D___getitem__(self, index)
10922 
10923 
10924 
10925  def __setitem__(self, index, val):
10926  if isinstance(index, slice):
10927  if not hasattr(val, '__iter__'):
10928  raise TypeError("must assign iterable to extended slice")
10929  inds = range(*index.indices(len(self)))
10930  if len(inds) != len(val):
10931  raise ValueError(
10932  "attempt to assign sequence of size %d "
10933  "to extended slice of size %d" % (len(val), len(inds)))
10934  for ind, v in zip(inds, val):
10935  self[ind] = v
10936  else:
10937  return _IMP_kernel.Vector3D___setitem__(self, index, val)
10938 
10939 
10940  __swig_destroy__ = _IMP_kernel.delete_Vector3D
10941 
10942 # Register Vector3D in _IMP_kernel:
10943 _IMP_kernel.Vector3D_swigregister(Vector3D)
10944 class Vector4D(_VectorBase4D):
10945  r"""Proxy of C++ IMP::VectorD< 4 > class."""
10946 
10947  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10948 
10949  def get_unit_vector(self):
10950  r"""get_unit_vector(Vector4D self) -> Vector4D"""
10951  return _IMP_kernel.Vector4D_get_unit_vector(self)
10952 
10953  def __truediv__(self, *args):
10954  return _IMP_kernel.Vector4D___truediv__(self, *args)
10955  __div__ = __truediv__
10956 
10957 
10958 
10959  def __neg__(self):
10960  r"""__neg__(Vector4D self) -> Vector4D"""
10961  return _IMP_kernel.Vector4D___neg__(self)
10962 
10963  def __sub__(self, o):
10964  r"""__sub__(Vector4D self, Vector4D o) -> Vector4D"""
10965  return _IMP_kernel.Vector4D___sub__(self, o)
10966 
10967  def __add__(self, ret):
10968  r"""__add__(Vector4D self, Vector4D ret) -> Vector4D"""
10969  return _IMP_kernel.Vector4D___add__(self, ret)
10970 
10971  def __mul__(self, *args):
10972  r"""
10973  __mul__(Vector4D self, double s) -> Vector4D
10974  __mul__(Vector4D self, Vector4D o) -> double
10975  """
10976  return _IMP_kernel.Vector4D___mul__(self, *args)
10977 
10978  def __init__(self, *args):
10979  r"""
10980  __init__(Vector4D self, IMP::Floats const & f) -> Vector4D
10981  __init__(Vector4D self) -> Vector4D
10982  __init__(Vector4D self, double x0, double x1, double x2, double x3) -> Vector4D
10983  """
10984  _IMP_kernel.Vector4D_swiginit(self, _IMP_kernel.new_Vector4D(*args))
10985 
10986  def __iadd__(self, *args):
10987  _IMP_kernel.Vector4D___iadd__(self, *args)
10988  return self
10989 
10990 
10991 
10992  def __imul__(self, *args):
10993  _IMP_kernel.Vector4D___imul__(self, *args)
10994  return self
10995 
10996 
10997 
10998  def __idiv__(self, *args):
10999  _IMP_kernel.Vector4D___idiv__(self, *args)
11000  return self
11001 
11002 
11003 
11004  def __isub__(self, *args):
11005  _IMP_kernel.Vector4D___isub__(self, *args)
11006  return self
11007 
11008 
11009 
11010  def __len__(self):
11011  r"""__len__(Vector4D self) -> unsigned int"""
11012  return _IMP_kernel.Vector4D___len__(self)
11013 
11014  def __rmul__(self, f):
11015  r"""__rmul__(Vector4D self, double f) -> Vector4D"""
11016  return _IMP_kernel.Vector4D___rmul__(self, f)
11017 
11018  def __str__(self):
11019  r"""__str__(Vector4D self) -> std::string"""
11020  return _IMP_kernel.Vector4D___str__(self)
11021 
11022  def __repr__(self):
11023  r"""__repr__(Vector4D self) -> std::string"""
11024  return _IMP_kernel.Vector4D___repr__(self)
11025 
11026  def __cmp__(self, arg2):
11027  r"""__cmp__(Vector4D self, Vector4D arg2) -> int"""
11028  return _IMP_kernel.Vector4D___cmp__(self, arg2)
11029 
11030  def __eq__(self, arg2):
11031  r"""__eq__(Vector4D self, Vector4D arg2) -> bool"""
11032  return _IMP_kernel.Vector4D___eq__(self, arg2)
11033 
11034  __truediv__ = __div__
11035  __itruediv__ = __idiv__
11036 
11037 
11038  def _get_as_binary(self):
11039  r"""_get_as_binary(Vector4D self) -> PyObject *"""
11040  return _IMP_kernel.Vector4D__get_as_binary(self)
11041 
11042  def _set_from_binary(self, p):
11043  r"""_set_from_binary(Vector4D self, PyObject * p)"""
11044  return _IMP_kernel.Vector4D__set_from_binary(self, p)
11045 
11046  def __getstate__(self):
11047  p = self._get_as_binary()
11048  if len(self.__dict__) > 1:
11049  d = self.__dict__.copy()
11050  del d['this']
11051  p = (d, p)
11052  return p
11053 
11054  def __setstate__(self, p):
11055  if not hasattr(self, 'this'):
11056  self.__init__()
11057  if isinstance(p, tuple):
11058  d, p = p
11059  self.__dict__.update(d)
11060  return self._set_from_binary(p)
11061 
11062 
11063  def __getitem__(self, index):
11064  if isinstance(index, slice):
11065  return [self[i] for i in range(*index.indices(len(self)))]
11066  else:
11067  return _IMP_kernel.Vector4D___getitem__(self, index)
11068 
11069 
11070 
11071  def __setitem__(self, index, val):
11072  if isinstance(index, slice):
11073  if not hasattr(val, '__iter__'):
11074  raise TypeError("must assign iterable to extended slice")
11075  inds = range(*index.indices(len(self)))
11076  if len(inds) != len(val):
11077  raise ValueError(
11078  "attempt to assign sequence of size %d "
11079  "to extended slice of size %d" % (len(val), len(inds)))
11080  for ind, v in zip(inds, val):
11081  self[ind] = v
11082  else:
11083  return _IMP_kernel.Vector4D___setitem__(self, index, val)
11084 
11085 
11086  __swig_destroy__ = _IMP_kernel.delete_Vector4D
11087 
11088 # Register Vector4D in _IMP_kernel:
11089 _IMP_kernel.Vector4D_swigregister(Vector4D)
11090 class Vector5D(_VectorBase5D):
11091  r"""Proxy of C++ IMP::VectorD< 5 > class."""
11092 
11093  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11094 
11095  def get_unit_vector(self):
11096  r"""get_unit_vector(Vector5D self) -> Vector5D"""
11097  return _IMP_kernel.Vector5D_get_unit_vector(self)
11098 
11099  def __truediv__(self, *args):
11100  return _IMP_kernel.Vector5D___truediv__(self, *args)
11101  __div__ = __truediv__
11102 
11103 
11104 
11105  def __neg__(self):
11106  r"""__neg__(Vector5D self) -> Vector5D"""
11107  return _IMP_kernel.Vector5D___neg__(self)
11108 
11109  def __sub__(self, o):
11110  r"""__sub__(Vector5D self, Vector5D o) -> Vector5D"""
11111  return _IMP_kernel.Vector5D___sub__(self, o)
11112 
11113  def __add__(self, ret):
11114  r"""__add__(Vector5D self, Vector5D ret) -> Vector5D"""
11115  return _IMP_kernel.Vector5D___add__(self, ret)
11116 
11117  def __mul__(self, *args):
11118  r"""
11119  __mul__(Vector5D self, double s) -> Vector5D
11120  __mul__(Vector5D self, Vector5D o) -> double
11121  """
11122  return _IMP_kernel.Vector5D___mul__(self, *args)
11123 
11124  def __init__(self, *args):
11125  r"""
11126  __init__(Vector5D self, IMP::Floats const & f) -> Vector5D
11127  __init__(Vector5D self) -> Vector5D
11128  __init__(Vector5D self, double x0, double x1, double x2, double x3, double x4) -> Vector5D
11129  """
11130  _IMP_kernel.Vector5D_swiginit(self, _IMP_kernel.new_Vector5D(*args))
11131 
11132  def __iadd__(self, *args):
11133  _IMP_kernel.Vector5D___iadd__(self, *args)
11134  return self
11135 
11136 
11137 
11138  def __imul__(self, *args):
11139  _IMP_kernel.Vector5D___imul__(self, *args)
11140  return self
11141 
11142 
11143 
11144  def __idiv__(self, *args):
11145  _IMP_kernel.Vector5D___idiv__(self, *args)
11146  return self
11147 
11148 
11149 
11150  def __isub__(self, *args):
11151  _IMP_kernel.Vector5D___isub__(self, *args)
11152  return self
11153 
11154 
11155 
11156  def __len__(self):
11157  r"""__len__(Vector5D self) -> unsigned int"""
11158  return _IMP_kernel.Vector5D___len__(self)
11159 
11160  def __rmul__(self, f):
11161  r"""__rmul__(Vector5D self, double f) -> Vector5D"""
11162  return _IMP_kernel.Vector5D___rmul__(self, f)
11163 
11164  def __str__(self):
11165  r"""__str__(Vector5D self) -> std::string"""
11166  return _IMP_kernel.Vector5D___str__(self)
11167 
11168  def __repr__(self):
11169  r"""__repr__(Vector5D self) -> std::string"""
11170  return _IMP_kernel.Vector5D___repr__(self)
11171 
11172  def __cmp__(self, arg2):
11173  r"""__cmp__(Vector5D self, Vector5D arg2) -> int"""
11174  return _IMP_kernel.Vector5D___cmp__(self, arg2)
11175 
11176  def __eq__(self, arg2):
11177  r"""__eq__(Vector5D self, Vector5D arg2) -> bool"""
11178  return _IMP_kernel.Vector5D___eq__(self, arg2)
11179 
11180  __truediv__ = __div__
11181  __itruediv__ = __idiv__
11182 
11183 
11184  def _get_as_binary(self):
11185  r"""_get_as_binary(Vector5D self) -> PyObject *"""
11186  return _IMP_kernel.Vector5D__get_as_binary(self)
11187 
11188  def _set_from_binary(self, p):
11189  r"""_set_from_binary(Vector5D self, PyObject * p)"""
11190  return _IMP_kernel.Vector5D__set_from_binary(self, p)
11191 
11192  def __getstate__(self):
11193  p = self._get_as_binary()
11194  if len(self.__dict__) > 1:
11195  d = self.__dict__.copy()
11196  del d['this']
11197  p = (d, p)
11198  return p
11199 
11200  def __setstate__(self, p):
11201  if not hasattr(self, 'this'):
11202  self.__init__()
11203  if isinstance(p, tuple):
11204  d, p = p
11205  self.__dict__.update(d)
11206  return self._set_from_binary(p)
11207 
11208 
11209  def __getitem__(self, index):
11210  if isinstance(index, slice):
11211  return [self[i] for i in range(*index.indices(len(self)))]
11212  else:
11213  return _IMP_kernel.Vector5D___getitem__(self, index)
11214 
11215 
11216 
11217  def __setitem__(self, index, val):
11218  if isinstance(index, slice):
11219  if not hasattr(val, '__iter__'):
11220  raise TypeError("must assign iterable to extended slice")
11221  inds = range(*index.indices(len(self)))
11222  if len(inds) != len(val):
11223  raise ValueError(
11224  "attempt to assign sequence of size %d "
11225  "to extended slice of size %d" % (len(val), len(inds)))
11226  for ind, v in zip(inds, val):
11227  self[ind] = v
11228  else:
11229  return _IMP_kernel.Vector5D___setitem__(self, index, val)
11230 
11231 
11232  __swig_destroy__ = _IMP_kernel.delete_Vector5D
11233 
11234 # Register Vector5D in _IMP_kernel:
11235 _IMP_kernel.Vector5D_swigregister(Vector5D)
11236 class Vector6D(_VectorBase6D):
11237  r"""Proxy of C++ IMP::VectorD< 6 > class."""
11238 
11239  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11240 
11241  def get_unit_vector(self):
11242  r"""get_unit_vector(Vector6D self) -> Vector6D"""
11243  return _IMP_kernel.Vector6D_get_unit_vector(self)
11244 
11245  def __truediv__(self, *args):
11246  return _IMP_kernel.Vector6D___truediv__(self, *args)
11247  __div__ = __truediv__
11248 
11249 
11250 
11251  def __neg__(self):
11252  r"""__neg__(Vector6D self) -> Vector6D"""
11253  return _IMP_kernel.Vector6D___neg__(self)
11254 
11255  def __sub__(self, o):
11256  r"""__sub__(Vector6D self, Vector6D o) -> Vector6D"""
11257  return _IMP_kernel.Vector6D___sub__(self, o)
11258 
11259  def __add__(self, ret):
11260  r"""__add__(Vector6D self, Vector6D ret) -> Vector6D"""
11261  return _IMP_kernel.Vector6D___add__(self, ret)
11262 
11263  def __mul__(self, *args):
11264  r"""
11265  __mul__(Vector6D self, double s) -> Vector6D
11266  __mul__(Vector6D self, Vector6D o) -> double
11267  """
11268  return _IMP_kernel.Vector6D___mul__(self, *args)
11269 
11270  def __init__(self, *args):
11271  r"""
11272  __init__(Vector6D self, IMP::Floats const & f) -> Vector6D
11273  __init__(Vector6D self) -> Vector6D
11274  __init__(Vector6D self, double x0, double x1, double x2, double x3, double x4, double x5) -> Vector6D
11275  """
11276  _IMP_kernel.Vector6D_swiginit(self, _IMP_kernel.new_Vector6D(*args))
11277 
11278  def __iadd__(self, *args):
11279  _IMP_kernel.Vector6D___iadd__(self, *args)
11280  return self
11281 
11282 
11283 
11284  def __imul__(self, *args):
11285  _IMP_kernel.Vector6D___imul__(self, *args)
11286  return self
11287 
11288 
11289 
11290  def __idiv__(self, *args):
11291  _IMP_kernel.Vector6D___idiv__(self, *args)
11292  return self
11293 
11294 
11295 
11296  def __isub__(self, *args):
11297  _IMP_kernel.Vector6D___isub__(self, *args)
11298  return self
11299 
11300 
11301 
11302  def __len__(self):
11303  r"""__len__(Vector6D self) -> unsigned int"""
11304  return _IMP_kernel.Vector6D___len__(self)
11305 
11306  def __rmul__(self, f):
11307  r"""__rmul__(Vector6D self, double f) -> Vector6D"""
11308  return _IMP_kernel.Vector6D___rmul__(self, f)
11309 
11310  def __str__(self):
11311  r"""__str__(Vector6D self) -> std::string"""
11312  return _IMP_kernel.Vector6D___str__(self)
11313 
11314  def __repr__(self):
11315  r"""__repr__(Vector6D self) -> std::string"""
11316  return _IMP_kernel.Vector6D___repr__(self)
11317 
11318  def __cmp__(self, arg2):
11319  r"""__cmp__(Vector6D self, Vector6D arg2) -> int"""
11320  return _IMP_kernel.Vector6D___cmp__(self, arg2)
11321 
11322  def __eq__(self, arg2):
11323  r"""__eq__(Vector6D self, Vector6D arg2) -> bool"""
11324  return _IMP_kernel.Vector6D___eq__(self, arg2)
11325 
11326  __truediv__ = __div__
11327  __itruediv__ = __idiv__
11328 
11329 
11330  def _get_as_binary(self):
11331  r"""_get_as_binary(Vector6D self) -> PyObject *"""
11332  return _IMP_kernel.Vector6D__get_as_binary(self)
11333 
11334  def _set_from_binary(self, p):
11335  r"""_set_from_binary(Vector6D self, PyObject * p)"""
11336  return _IMP_kernel.Vector6D__set_from_binary(self, p)
11337 
11338  def __getstate__(self):
11339  p = self._get_as_binary()
11340  if len(self.__dict__) > 1:
11341  d = self.__dict__.copy()
11342  del d['this']
11343  p = (d, p)
11344  return p
11345 
11346  def __setstate__(self, p):
11347  if not hasattr(self, 'this'):
11348  self.__init__()
11349  if isinstance(p, tuple):
11350  d, p = p
11351  self.__dict__.update(d)
11352  return self._set_from_binary(p)
11353 
11354 
11355  def __getitem__(self, index):
11356  if isinstance(index, slice):
11357  return [self[i] for i in range(*index.indices(len(self)))]
11358  else:
11359  return _IMP_kernel.Vector6D___getitem__(self, index)
11360 
11361 
11362 
11363  def __setitem__(self, index, val):
11364  if isinstance(index, slice):
11365  if not hasattr(val, '__iter__'):
11366  raise TypeError("must assign iterable to extended slice")
11367  inds = range(*index.indices(len(self)))
11368  if len(inds) != len(val):
11369  raise ValueError(
11370  "attempt to assign sequence of size %d "
11371  "to extended slice of size %d" % (len(val), len(inds)))
11372  for ind, v in zip(inds, val):
11373  self[ind] = v
11374  else:
11375  return _IMP_kernel.Vector6D___setitem__(self, index, val)
11376 
11377 
11378  __swig_destroy__ = _IMP_kernel.delete_Vector6D
11379 
11380 # Register Vector6D in _IMP_kernel:
11381 _IMP_kernel.Vector6D_swigregister(Vector6D)
11382 class VectorKD(_VectorBaseKD):
11383  r"""Proxy of C++ IMP::VectorD< -1 > class."""
11384 
11385  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11386 
11387  def get_unit_vector(self):
11388  r"""get_unit_vector(VectorKD self) -> VectorKD"""
11389  return _IMP_kernel.VectorKD_get_unit_vector(self)
11390 
11391  def __truediv__(self, *args):
11392  return _IMP_kernel.VectorKD___truediv__(self, *args)
11393  __div__ = __truediv__
11394 
11395 
11396 
11397  def __neg__(self):
11398  r"""__neg__(VectorKD self) -> VectorKD"""
11399  return _IMP_kernel.VectorKD___neg__(self)
11400 
11401  def __sub__(self, o):
11402  r"""__sub__(VectorKD self, VectorKD o) -> VectorKD"""
11403  return _IMP_kernel.VectorKD___sub__(self, o)
11404 
11405  def __add__(self, ret):
11406  r"""__add__(VectorKD self, VectorKD ret) -> VectorKD"""
11407  return _IMP_kernel.VectorKD___add__(self, ret)
11408 
11409  def __mul__(self, *args):
11410  r"""
11411  __mul__(VectorKD self, double s) -> VectorKD
11412  __mul__(VectorKD self, VectorKD o) -> double
11413  """
11414  return _IMP_kernel.VectorKD___mul__(self, *args)
11415 
11416  def __init__(self, *args):
11417  r"""
11418  __init__(VectorKD self, IMP::Floats const & f) -> VectorKD
11419  __init__(VectorKD self) -> VectorKD
11420  __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
11421  """
11422  _IMP_kernel.VectorKD_swiginit(self, _IMP_kernel.new_VectorKD(*args))
11423 
11424  def __iadd__(self, *args):
11425  _IMP_kernel.VectorKD___iadd__(self, *args)
11426  return self
11427 
11428 
11429 
11430  def __imul__(self, *args):
11431  _IMP_kernel.VectorKD___imul__(self, *args)
11432  return self
11433 
11434 
11435 
11436  def __idiv__(self, *args):
11437  _IMP_kernel.VectorKD___idiv__(self, *args)
11438  return self
11439 
11440 
11441 
11442  def __isub__(self, *args):
11443  _IMP_kernel.VectorKD___isub__(self, *args)
11444  return self
11445 
11446 
11447 
11448  def __len__(self):
11449  r"""__len__(VectorKD self) -> unsigned int"""
11450  return _IMP_kernel.VectorKD___len__(self)
11451 
11452  def __rmul__(self, f):
11453  r"""__rmul__(VectorKD self, double f) -> VectorKD"""
11454  return _IMP_kernel.VectorKD___rmul__(self, f)
11455 
11456  def __str__(self):
11457  r"""__str__(VectorKD self) -> std::string"""
11458  return _IMP_kernel.VectorKD___str__(self)
11459 
11460  def __repr__(self):
11461  r"""__repr__(VectorKD self) -> std::string"""
11462  return _IMP_kernel.VectorKD___repr__(self)
11463 
11464  def __cmp__(self, arg2):
11465  r"""__cmp__(VectorKD self, VectorKD arg2) -> int"""
11466  return _IMP_kernel.VectorKD___cmp__(self, arg2)
11467 
11468  def __eq__(self, arg2):
11469  r"""__eq__(VectorKD self, VectorKD arg2) -> bool"""
11470  return _IMP_kernel.VectorKD___eq__(self, arg2)
11471 
11472  __truediv__ = __div__
11473  __itruediv__ = __idiv__
11474 
11475 
11476  def _get_as_binary(self):
11477  r"""_get_as_binary(VectorKD self) -> PyObject *"""
11478  return _IMP_kernel.VectorKD__get_as_binary(self)
11479 
11480  def _set_from_binary(self, p):
11481  r"""_set_from_binary(VectorKD self, PyObject * p)"""
11482  return _IMP_kernel.VectorKD__set_from_binary(self, p)
11483 
11484  def __getstate__(self):
11485  p = self._get_as_binary()
11486  if len(self.__dict__) > 1:
11487  d = self.__dict__.copy()
11488  del d['this']
11489  p = (d, p)
11490  return p
11491 
11492  def __setstate__(self, p):
11493  if not hasattr(self, 'this'):
11494  self.__init__()
11495  if isinstance(p, tuple):
11496  d, p = p
11497  self.__dict__.update(d)
11498  return self._set_from_binary(p)
11499 
11500 
11501  def __getitem__(self, index):
11502  if isinstance(index, slice):
11503  return [self[i] for i in range(*index.indices(len(self)))]
11504  else:
11505  return _IMP_kernel.VectorKD___getitem__(self, index)
11506 
11507 
11508 
11509  def __setitem__(self, index, val):
11510  if isinstance(index, slice):
11511  if not hasattr(val, '__iter__'):
11512  raise TypeError("must assign iterable to extended slice")
11513  inds = range(*index.indices(len(self)))
11514  if len(inds) != len(val):
11515  raise ValueError(
11516  "attempt to assign sequence of size %d "
11517  "to extended slice of size %d" % (len(val), len(inds)))
11518  for ind, v in zip(inds, val):
11519  self[ind] = v
11520  else:
11521  return _IMP_kernel.VectorKD___setitem__(self, index, val)
11522 
11523 
11524  __swig_destroy__ = _IMP_kernel.delete_VectorKD
11525 
11526 # Register VectorKD in _IMP_kernel:
11527 _IMP_kernel.VectorKD_swigregister(VectorKD)
11528 
11529 def get_basis_vector_1d(coordinate):
11530  r"""get_basis_vector_1d(unsigned int coordinate) -> Vector1D"""
11531  return _IMP_kernel.get_basis_vector_1d(coordinate)
11532 
11533 def get_basis_vector_2d(coordinate):
11534  r"""get_basis_vector_2d(unsigned int coordinate) -> Vector2D"""
11535  return _IMP_kernel.get_basis_vector_2d(coordinate)
11536 
11537 def get_basis_vector_3d(coordinate):
11538  r"""get_basis_vector_3d(unsigned int coordinate) -> Vector3D"""
11539  return _IMP_kernel.get_basis_vector_3d(coordinate)
11540 
11541 def get_basis_vector_4d(coordinate):
11542  r"""get_basis_vector_4d(unsigned int coordinate) -> Vector4D"""
11543  return _IMP_kernel.get_basis_vector_4d(coordinate)
11544 
11545 def get_basis_vector_5d(coordinate):
11546  r"""get_basis_vector_5d(unsigned int coordinate) -> Vector5D"""
11547  return _IMP_kernel.get_basis_vector_5d(coordinate)
11548 
11549 def get_basis_vector_6d(coordinate):
11550  r"""get_basis_vector_6d(unsigned int coordinate) -> Vector6D"""
11551  return _IMP_kernel.get_basis_vector_6d(coordinate)
11552 
11553 def get_zero_vector_1d():
11554  r"""get_zero_vector_1d() -> Vector1D"""
11555  return _IMP_kernel.get_zero_vector_1d()
11556 
11557 def get_zero_vector_2d():
11558  r"""get_zero_vector_2d() -> Vector2D"""
11559  return _IMP_kernel.get_zero_vector_2d()
11560 
11561 def get_zero_vector_3d():
11562  r"""get_zero_vector_3d() -> Vector3D"""
11563  return _IMP_kernel.get_zero_vector_3d()
11564 
11565 def get_zero_vector_4d():
11566  r"""get_zero_vector_4d() -> Vector4D"""
11567  return _IMP_kernel.get_zero_vector_4d()
11568 
11569 def get_zero_vector_5d():
11570  r"""get_zero_vector_5d() -> Vector5D"""
11571  return _IMP_kernel.get_zero_vector_5d()
11572 
11573 def get_zero_vector_6d():
11574  r"""get_zero_vector_6d() -> Vector6D"""
11575  return _IMP_kernel.get_zero_vector_6d()
11576 
11577 def get_ones_vector_1d(v=1):
11578  r"""get_ones_vector_1d(double v=1) -> Vector1D"""
11579  return _IMP_kernel.get_ones_vector_1d(v)
11580 
11581 def get_ones_vector_2d(v=1):
11582  r"""get_ones_vector_2d(double v=1) -> Vector2D"""
11583  return _IMP_kernel.get_ones_vector_2d(v)
11584 
11585 def get_ones_vector_3d(v=1):
11586  r"""get_ones_vector_3d(double v=1) -> Vector3D"""
11587  return _IMP_kernel.get_ones_vector_3d(v)
11588 
11589 def get_ones_vector_4d(v=1):
11590  r"""get_ones_vector_4d(double v=1) -> Vector4D"""
11591  return _IMP_kernel.get_ones_vector_4d(v)
11592 
11593 def get_ones_vector_5d(v=1):
11594  r"""get_ones_vector_5d(double v=1) -> Vector5D"""
11595  return _IMP_kernel.get_ones_vector_5d(v)
11596 
11597 def get_ones_vector_6d(v=1):
11598  r"""get_ones_vector_6d(double v=1) -> Vector6D"""
11599  return _IMP_kernel.get_ones_vector_6d(v)
11600 class _RestraintsScoringFunction(ScoringFunction):
11601  r"""Proxy of C++ IMP::internal::GenericRestraintsScoringFunction< ::IMP::Restraints > class."""
11602 
11603  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11604  __repr__ = _swig_repr
11605 
11606  def __init__(self, *args):
11607  r"""
11608  __init__(_RestraintsScoringFunction self, IMP::RestraintsTemp const & rs, double weight=1.0, double max=NO_MAX, std::string name="RestraintsScoringFunction%1%") -> _RestraintsScoringFunction
11609  __init__(_RestraintsScoringFunction self) -> _RestraintsScoringFunction
11610  """
11611  _IMP_kernel._RestraintsScoringFunction_swiginit(self, _IMP_kernel.new__RestraintsScoringFunction(*args))
11612 
11613  def do_add_score_and_derivatives(self, sa, ss):
11614  r"""do_add_score_and_derivatives(_RestraintsScoringFunction self, ScoreAccumulator sa, IMP::ScoreStatesTemp const & ss)"""
11615  return _IMP_kernel._RestraintsScoringFunction_do_add_score_and_derivatives(self, sa, ss)
11616 
11617  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss):
11618  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)"""
11619  return _IMP_kernel._RestraintsScoringFunction_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss)
11620 
11621  def do_get_inputs(self):
11622  r"""do_get_inputs(_RestraintsScoringFunction self) -> IMP::ModelObjectsTemp"""
11623  return _IMP_kernel._RestraintsScoringFunction_do_get_inputs(self)
11624 
11625  def get_restraints(self):
11626  r"""get_restraints(_RestraintsScoringFunction self) -> IMP::Vector< IMP::Pointer< IMP::Restraint >,std::allocator< IMP::Pointer< IMP::Restraint > > > const &"""
11627  return _IMP_kernel._RestraintsScoringFunction_get_restraints(self)
11628 
11629  def set_restraints(self, s):
11630  r"""set_restraints(_RestraintsScoringFunction self, IMP::RestraintsTemp const & s)"""
11631  return _IMP_kernel._RestraintsScoringFunction_set_restraints(self, s)
11632 
11633  def get_number_of_restraints(self):
11634  r"""get_number_of_restraints(_RestraintsScoringFunction self) -> unsigned int"""
11635  return _IMP_kernel._RestraintsScoringFunction_get_number_of_restraints(self)
11636 
11637  def clear_restraints(self):
11638  r"""clear_restraints(_RestraintsScoringFunction self)"""
11639  return _IMP_kernel._RestraintsScoringFunction_clear_restraints(self)
11640 
11641  def get_restraint(self, i):
11642  r"""get_restraint(_RestraintsScoringFunction self, unsigned int i) -> Restraint"""
11643  return _IMP_kernel._RestraintsScoringFunction_get_restraint(self, i)
11644 
11645  def erase_restraint(self, i):
11646  r"""erase_restraint(_RestraintsScoringFunction self, unsigned int i)"""
11647  return _IMP_kernel._RestraintsScoringFunction_erase_restraint(self, i)
11648 
11649  def add_restraint(self, r):
11650  r"""add_restraint(_RestraintsScoringFunction self, Restraint r) -> unsigned int"""
11651  return _IMP_kernel._RestraintsScoringFunction_add_restraint(self, r)
11652 
11653  def add_restraints(self, r):
11654  r"""add_restraints(_RestraintsScoringFunction self, IMP::Vector< IMP::Pointer< IMP::Restraint >,std::allocator< IMP::Pointer< IMP::Restraint > > > const & r)"""
11655  return _IMP_kernel._RestraintsScoringFunction_add_restraints(self, r)
11656 
11657  def _python_index_restraint(self, r, start, stop):
11658  r"""_python_index_restraint(_RestraintsScoringFunction self, Restraint r, unsigned int start, unsigned int stop) -> unsigned int"""
11659  return _IMP_kernel._RestraintsScoringFunction__python_index_restraint(self, r, start, stop)
11660 
11661  def get_version_info(self):
11662  r"""get_version_info(_RestraintsScoringFunction self) -> VersionInfo"""
11663  return _IMP_kernel._RestraintsScoringFunction_get_version_info(self)
11664  __swig_destroy__ = _IMP_kernel.delete__RestraintsScoringFunction
11665 
11666  @staticmethod
11667  def get_from(o):
11668  return _object_cast_to__RestraintsScoringFunction(o)
11669 
11670 
11671  def __get_restraints(self):
11672  return _list_util.VarList(
11673  getdimfunc=self.get_number_of_restraints,
11674  getfunc=self.get_restraint, erasefunc=self.erase_restraint,
11675  appendfunc=self.add_restraint, extendfunc=self.add_restraints,
11676  clearfunc=self.clear_restraints,
11677  indexfunc=self._python_index_restraint)
11678 
11679  def __set_restraints(self, obj):
11680  _list_util.set_varlist(self.restraints, obj)
11681 
11682  def __del_restraints(self):
11683  _list_util.del_varlist(self.restraints)
11684 
11685  restraints = property(__get_restraints, __set_restraints,
11686  __del_restraints, doc="List of Restraints")
11687 
11688 
11689  def _get_jax(self):
11690  import IMP._jax_util
11691  jis = [r.get_derived_object()._get_jax() for r in self.restraints]
11692  funcs = [j.score_func for j in jis]
11693  keys = frozenset(x for j in jis for x in j._keys)
11694  def jax_sf(jm):
11695  return sum(f(jm) for f in funcs)
11696  return IMP._jax_util.JAXRestraintInfo(
11697  m=self.get_model(), score_func=jax_sf, weight=1.0, keys=keys)
11698 
11699 
11700 # Register _RestraintsScoringFunction in _IMP_kernel:
11701 _IMP_kernel._RestraintsScoringFunction_swigregister(_RestraintsScoringFunction)
11702 class ScopedSetFloatAttribute(_RAII):
11703  r"""Proxy of C++ IMP::ScopedSetAttribute< IMP::FloatKey,IMP::Float > class."""
11704 
11705  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11706 
11707  def __init__(self, *args):
11708  r"""
11709  __init__(ScopedSetFloatAttribute self) -> ScopedSetFloatAttribute
11710  __init__(ScopedSetFloatAttribute self, Particle p, FloatKey key, double const & value) -> ScopedSetFloatAttribute
11711  """
11712  _IMP_kernel.ScopedSetFloatAttribute_swiginit(self, _IMP_kernel.new_ScopedSetFloatAttribute(*args))
11713 
11714  def set(self, p, key, value):
11715  r"""set(ScopedSetFloatAttribute self, Particle p, FloatKey key, double const & value)"""
11716  return _IMP_kernel.ScopedSetFloatAttribute_set(self, p, key, value)
11717 
11718  def reset(self):
11719  r"""reset(ScopedSetFloatAttribute self)"""
11720  return _IMP_kernel.ScopedSetFloatAttribute_reset(self)
11721  __swig_destroy__ = _IMP_kernel.delete_ScopedSetFloatAttribute
11722 
11723  def show(self, *args):
11724  r"""show(ScopedSetFloatAttribute self, _ostream out=std::cout)"""
11725  return _IMP_kernel.ScopedSetFloatAttribute_show(self, *args)
11726 
11727  def __str__(self):
11728  r"""__str__(ScopedSetFloatAttribute self) -> std::string"""
11729  return _IMP_kernel.ScopedSetFloatAttribute___str__(self)
11730 
11731  def __repr__(self):
11732  r"""__repr__(ScopedSetFloatAttribute self) -> std::string"""
11733  return _IMP_kernel.ScopedSetFloatAttribute___repr__(self)
11734 
11735 # Register ScopedSetFloatAttribute in _IMP_kernel:
11736 _IMP_kernel.ScopedSetFloatAttribute_swigregister(ScopedSetFloatAttribute)
11737 
11738 def _get_module_data_path(module, file_name):
11739  r"""_get_module_data_path(std::string module, std::string file_name) -> std::string"""
11740  return _IMP_kernel._get_module_data_path(module, file_name)
11741 
11742 def _get_module_example_path(module, file_name):
11743  r"""_get_module_example_path(std::string module, std::string file_name) -> std::string"""
11744  return _IMP_kernel._get_module_example_path(module, file_name)
11745 
11746 #used_modules=[]
11747 #def show_used_modules():
11748 # for m in used_modules:
11749 # print "%-20s %s" % (m.get_module(), m.get_version())
11750 
11751 # Ensure that Windows gets the PATH set to include anything in the library
11752 # search path
11753 if sys.platform == 'win32' and 'IMP_LD_PATH' in os.environ:
11754  dirs = os.environ['IMP_LD_PATH'].split(":")
11755  pathcomps = os.environ['PATH'].split(";")
11756  for d in dirs:
11757  if d not in pathcomps:
11758  os.environ['PATH'] = d + ';' + os.environ['PATH']
11759 
11760 
11761 
11762 import sys
11763 import os
11764 
11766  """Allow command line tools to easily implement multiple commands.
11767  Typically, an IMP command line tool will use an instance of this class
11768  to provide a consistent interface to multiple distinct commands
11769  from a single binary, rather than providing a potentially large
11770  number of binaries. This is similar to the way a number of common
11771  command line tools outside of IMP function (e.g. Git provides a single
11772  `git` tool which implements multiple commands - `git add`, `git commit`,
11773  `git push` and so on).
11774 
11775  Each command is implemented with a Python module of the same name
11776  that can be imported from the module (for example, if `module_name`
11777  is `IMP.foo`, the `bar` command is provided by the `IMP.foo.bar` Python
11778  module, which would usually be found as `modules/foo/pyext/src/bar.py`).
11779  Each such module should have a docstring and a `%main()` method
11780  that takes no arguments (the module should also call its `%main()` method
11781  if it is run directly, i.e. with something like
11782  `if __name__=="__main__": %main()`). The encompassing module
11783  (`IMP.foo` in the example) should define `_all_commands` as a Python
11784  list of all valid commands.
11785 
11786  See the `multifit` and `cnmultifit` command line tools for example
11787  usage.
11788  """
11789 
11790  def __init__(self, short_help, long_help, module_name):
11791  """Constructor.
11792  @param short_help A few words that describe the command line tool.
11793  @param long_help Longer text, used in the `help` command.
11794  @param module_name Name of the module (e.g. `IMP.foo`) that
11795  implements the commands.
11796  """
11797  self.short_help = short_help
11798  self.long_help = long_help
11799  self.module_name = module_name
11800  self._all_commands = self.import_module()._all_commands
11801  self._progname = os.path.basename(sys.argv[0])
11802 
11803  def main(self):
11804  """Call this method to act upon the user-provided command line"""
11805  if len(sys.argv) <= 1:
11806  print(self.short_help + " Use '%s help' for help." % self._progname)
11807  else:
11808  command = sys.argv[1]
11809  if command in ('help', '--help', '-h'):
11810  if len(sys.argv) == 3:
11811  self.show_command_help(sys.argv[2])
11812  else:
11813  self.show_help()
11814  elif command == '--version':
11815  self.show_version()
11816  elif command in self._all_commands:
11817  self.do_command(command)
11818  else:
11819  self.unknown_command(command)
11820 
11821  def import_module(self, mod=None):
11822  modname = self.module_name
11823  if mod is not None:
11824  modname += "." + mod
11825  return __import__(modname, {}, {}, [''])
11826 
11827  def unknown_command(self, command):
11828  print("Unknown command: '%s'" % command)
11829  print("Use '%s help' for help." % self._progname)
11830  sys.exit(1)
11831 
11832  def _get_version(self):
11833  return self.import_module().get_module_version()
11834 
11835  def show_version(self):
11836  print(self._progname + ' ' + self._get_version())
11837 
11838  def show_help(self):
11839  ver = self._get_version()
11840  print("%s, version %s." % (self._progname, ver))
11841  print(self.long_help + """
11842 
11843 This program is part of IMP, the Integrative Modeling Platform,
11844 which is %s.
11845 For additional information about IMP, see <https://integrativemodeling.org>.
11846 
11847 Usage: %s <command> [options] [args]
11848 
11849 Commands:""" % (get_copyright(), self._progname))
11850  commands = self._all_commands[:] + ['help']
11851  commands.sort()
11852  cmdlen = max([len(c) for c in commands])
11853  for c in commands:
11854  if c == 'help':
11855  doc = 'Get help on using %s.' % self._progname
11856  else:
11857  doc = self.import_module(c).__doc__ or "<no help>"
11858  c += ' ' * (cmdlen - len(c))
11859  print(' ' + c + ' ' + doc)
11860  print("""
11861 Use "%s help <command>" for detailed help on any command
11862  or "%s --version" to see the version number.""" % (self._progname,
11863  self._progname))
11864 
11865  def do_command(self, command):
11866  mod = self.import_module(command)
11867  sys.argv[0] = self._progname + ' ' + command
11868  del sys.argv[1]
11869  mod.main()
11870 
11871  def show_command_help(self, command):
11872  if command == 'help':
11873  self.show_help()
11874  elif command in self._all_commands or command == 'help':
11875  mod = self.import_module(command)
11876  sys.argv = [self._progname + ' ' + command, '--help']
11877  mod.main()
11878  else:
11879  self.unknown_command(command)
11880 
11881 
11882 
11883 
11884 def get_networkx_graph(ig):
11885  import networkx
11886  g = networkx.DiGraph()
11887  if len(ig.get_vertices()) == 0:
11888  return g
11889 
11890  class NodeWrapper:
11891 
11892  def __init__(self, p):
11893  self.p = p
11894 
11895  def __str__(self):
11896  return self.p.get_name()
11897 
11898  def __call__(self, name):
11899  return self.p.__call__(name)
11900 
11901  for vi in ig.get_vertices():
11902  n = ig.get_vertex_name(vi)
11903  g.add_node(NodeWrapper(n))
11904  for vi in ig.get_vertices():
11905  n = ig.get_vertex_name(vi)
11906  for ni in ig.get_out_neighbors(vi):
11907  nn = ig.get_vertex_name(ni)
11908  g.add_edge(NodeWrapper(n), NodeWrapper(nn))
11909  return g
11910 
11911 
11912 def show_altgraph(g):
11913  def clean(name):
11914  try:
11915  n0 = name.get_name()
11916  except:
11917  n0 = str(name)
11918  n1 = str(n0).replace('"', '')
11919  n2 = n1.replace("\n", '')
11920  return n2
11921  import altgraph
11922  from altgraph import Graph, Dot
11923  graph = Graph.Graph()
11924  for i, v in enumerate(g.get_vertices()):
11925  graph.add_node(i) # , node_data=g.get_vertex_name(v)
11926  for i, v in enumerate(g.get_vertices()):
11927  for n in g.get_out_neighbors(v):
11928  graph.add_edge(v, n)
11929  dot = Dot.Dot(graph) # , graph_type="digraph"
11930  for i, v in enumerate(g.get_vertices()):
11931  dot.node_style(i, label=clean(g.get_vertex_name(v)))
11932  dot.display()
11933 
11934 
11935 def show_graphviz(g):
11936  import subprocess
11937  tfn = create_temporary_file_name("graph", ".dot")
11938  tfon = create_temporary_file_name("graph", ".pdf")
11939  st = g.get_graphviz_string()
11940  with open(tfn, "w") as fh:
11941  fh.write(st)
11942  try:
11943  print("running dot")
11944  sp = subprocess.Popen(["dot", "-Tpdf", tfn, "-o" + tfon])
11945  sp.wait()
11946  except:
11947  import sys
11948  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")
11949  return
11950  import platform
11951  if platform.system() == "Darwin":
11952  cmd = ["open"]
11953  else:
11954  cmd = ["gv", "acroread", "xpdf"]
11955  success = False
11956  for c in cmd:
11957  print("launching viewer " + c)
11958  try:
11959  subprocess.check_call([c, tfon])
11960  success = True
11961  break
11962  except:
11963  pass
11964  if not success:
11965  print("Could not display file. It is saved at " + tfon)
11966  return tfon
11967 
11968 
11969 
11970 
11971 import functools
11972 import contextlib
11973 
11974 def deprecated_module(version, module, help_message):
11975  """Mark a Python module as deprecated.
11976  @note The `module` argument would normally be `__name__`.
11977  @see [deprecation support](@ref deprecation)."""
11979  "Module %s is deprecated. %s\n" % (module, help_message))
11980 
11981 def deprecated_object(version, help_message):
11982  """Python decorator to mark a class as deprecated.
11983  @see [deprecation support](@ref deprecation)."""
11984  def wrapper(obj):
11985  orig_init = obj.__init__
11986 # Don't try to copy __module__ since __init__ may not have it
11987 # (e.g. if we subclassed object but didn't override __init__)
11988  @functools.wraps(orig_init, ('__name__', '__doc__'))
11989  def __init__(obj, *args, **keys):
11990  handle_use_deprecated("Object %s is deprecated. %s\n"
11991  % (type(obj), help_message))
11992  orig_init(obj, *args, **keys)
11993  obj.__init__ = __init__
11994  return obj
11995  return wrapper
11996 
11997 def deprecated_method(version, help_message):
11998  """Python decorator to mark a method as deprecated.
11999  @see [deprecation support](@ref deprecation)."""
12000  def out_wrapper(obj):
12001  @functools.wraps(obj)
12002  def wrapper(cls, *args, **keys):
12003  handle_use_deprecated("Method %s in %s is deprecated. %s\n"
12004  % (obj.__name__, type(cls), help_message))
12005  return obj(cls, *args, **keys)
12006  return wrapper
12007  return out_wrapper
12008 
12009 def deprecated_function(version, help_message):
12010  """Python decorator to mark a function as deprecated.
12011  @see [deprecation support](@ref deprecation)."""
12012  def out_wrapper(obj):
12013  @functools.wraps(obj)
12014  def wrapper(*args, **keys):
12015  handle_use_deprecated("Function %s is deprecated. %s\n"
12016  % (obj.__name__, help_message))
12017  return obj(*args, **keys)
12018  return wrapper
12019  return out_wrapper
12020 
12021 @contextlib.contextmanager
12022 def allow_deprecated(allow=True):
12023  """Context manager to temporarily allow (or disallow) deprecated code.
12024  @see [deprecation support](@ref deprecation)."""
12026  set_deprecation_exceptions(not allow)
12027  yield
12029 
12030 
12031 def _get_all_flags(ntokens):
12032  r"""_get_all_flags(unsigned int ntokens) -> IMP::Strings"""
12033  return _IMP_kernel._get_all_flags(ntokens)
12034 
12035 def _print_internal_help(out, description):
12036  r"""_print_internal_help(_ostream out, std::string description)"""
12037  return _IMP_kernel._print_internal_help(out, description)
12038 
12039 
12040 import argparse
12041 import sys
12042 
12043 class _PassThroughAction(argparse.Action):
12044  """Pass an argument through to the IMP Boost parser"""
12045  def __call__(self, parser, namespace, values, option_string=None):
12046  parser._boost_command_line.append(option_string)
12047  if values != []:
12048  parser._boost_command_line.append(values)
12049 # Terminate processing immediately if necessary (otherwise argparse
12050 # may fail if we're missing positional arguments)
12051  if option_string in ('-h', '--help', '--help_advanced', '--version'):
12052  parser._handle_boost()
12053 
12054 
12055 class ArgumentParser(argparse.ArgumentParser):
12056  """IMP-specific subclass of argparse.ArgumentParser.
12057  This adds options common to all IMP applications
12058  (see IMP::setup_from_argv()).
12059  """
12060 
12061  def __init__(self, *args, **kwargs):
12062 # Don't add --help option (since the Boost option parser handles it)
12063  kwargs['add_help'] = False
12064  super().__init__(*args, **kwargs)
12065  for ntoken in (0, 1):
12066  flags = _get_all_flags(ntoken)
12067  for f in flags:
12068  arg = ['-h', '--help'] if f == 'help' else ['--' + f]
12069  self.add_argument(*arg, help=argparse.SUPPRESS,
12070  nargs=None if ntoken else 0,
12071  action=_PassThroughAction,
12072  default=argparse.SUPPRESS)
12073 
12074  def parse_args(self, args=None, namespace=None):
12075  """Parse the command line and return optional and positional arguments.
12076  This functions in the same way as the method in the base class
12077  argparse.ArgumentParser, except that it also processes optional
12078  arguments common to all IMP applications (these are not returned
12079  in `args`, but can be obtained in the usual way, e.g. by calling
12080  IMP::get_string_flag()).
12081  @returns args
12082  """
12083  self._boost_command_line = [sys.argv[0]]
12084  ret = super().parse_args(args, namespace)
12085  if len(self._boost_command_line) > 1:
12086  self._handle_boost()
12087  return ret
12088 
12089  def _get_description(self):
12090  return self.format_help() + "\nOptions common to all IMP applications:"
12091 
12092  def print_help(self, file=None):
12093  _print_internal_help(file if file else sys.stdout,
12094  self._get_description())
12095 
12096  def _handle_boost(self):
12097  setup_from_argv(self._boost_command_line,
12098  self._get_description(),
12099  '==SUPPRESS==', 0)
12100 
12101 class RandomNumberGenerator(object):
12102  r"""Proxy of C++ IMP::RandomNumberGenerator class."""
12103 
12104  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12105  __repr__ = _swig_repr
12106 
12107  def seed(self, x):
12108  r"""seed(RandomNumberGenerator self, int x)"""
12109  return _IMP_kernel.RandomNumberGenerator_seed(self, x)
12110 
12111  def __call__(self):
12112  r"""__call__(RandomNumberGenerator self) -> int"""
12113  return _IMP_kernel.RandomNumberGenerator___call__(self)
12114 
12115  def __init__(self):
12116  r"""__init__(RandomNumberGenerator self) -> RandomNumberGenerator"""
12117  _IMP_kernel.RandomNumberGenerator_swiginit(self, _IMP_kernel.new_RandomNumberGenerator())
12118  __swig_destroy__ = _IMP_kernel.delete_RandomNumberGenerator
12119 
12120 # Register RandomNumberGenerator in _IMP_kernel:
12121 _IMP_kernel.RandomNumberGenerator_swigregister(RandomNumberGenerator)
12122 
12123 def get_random_float_uniform(*args):
12124  r"""
12125  get_random_float_uniform() -> float
12126  get_random_float_uniform(float min, float max) -> float
12127  """
12128  return _IMP_kernel.get_random_float_uniform(*args)
12129 
12130 def get_random_double_uniform(*args):
12131  r"""
12132  get_random_double_uniform() -> double
12133  get_random_double_uniform(double min, double max) -> double
12134  """
12135  return _IMP_kernel.get_random_double_uniform(*args)
12136 
12137 def get_random_floats_normal(n, mean=0.0, stddev=1.0):
12138  r"""get_random_floats_normal(unsigned int n, float mean=0.0, float stddev=1.0) -> IMP::Vector< float,std::allocator< float > >"""
12139  return _IMP_kernel.get_random_floats_normal(n, mean, stddev)
12140 
12141 def get_random_doubles_normal(n, mean=0.0, stddev=1.0):
12142  r"""get_random_doubles_normal(unsigned int n, double mean=0.0, double stddev=1.0) -> IMP::Vector< double,std::allocator< double > >"""
12143  return _IMP_kernel.get_random_doubles_normal(n, mean, stddev)
12144 
12145 def get_random_floats_uniform(n):
12146  r"""get_random_floats_uniform(unsigned int n) -> IMP::Vector< float,std::allocator< float > >"""
12147  return _IMP_kernel.get_random_floats_uniform(n)
12148 
12149 def get_random_doubles_uniform(n):
12150  r"""get_random_doubles_uniform(unsigned int n) -> IMP::Vector< double,std::allocator< double > >"""
12151  return _IMP_kernel.get_random_doubles_uniform(n)
12152 
12153 def get_random_seed():
12154  r"""get_random_seed() -> boost::uint64_t"""
12155  return _IMP_kernel.get_random_seed()
12156 
12157 def _get_derivatives_numpy(m, k, m_pyobj, read_only):
12158  r"""_get_derivatives_numpy(Model m, FloatKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12159  return _IMP_kernel._get_derivatives_numpy(m, k, m_pyobj, read_only)
12160 
12161 def _get_floats_numpy(m, k, m_pyobj, read_only):
12162  r"""_get_floats_numpy(Model m, FloatKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12163  return _IMP_kernel._get_floats_numpy(m, k, m_pyobj, read_only)
12164 
12165 def _get_ints_numpy(m, k, m_pyobj, read_only):
12166  r"""_get_ints_numpy(Model m, IntKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12167  return _IMP_kernel._get_ints_numpy(m, k, m_pyobj, read_only)
12168 
12169 def _get_vector3ds_numpy(m, k, m_pyobj, read_only):
12170  r"""_get_vector3ds_numpy(Model m, Vector3DKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12171  return _IMP_kernel._get_vector3ds_numpy(m, k, m_pyobj, read_only)
12172 
12173 def _get_vector3dderiv_numpy(m, k, m_pyobj, read_only):
12174  r"""_get_vector3dderiv_numpy(Model m, Vector3DDerivKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12175  return _IMP_kernel._get_vector3dderiv_numpy(m, k, m_pyobj, read_only)
12176 
12177 def _get_vector3dderiv_derivatives_numpy(m, k, m_pyobj, read_only):
12178  r"""_get_vector3dderiv_derivatives_numpy(Model m, Vector3DDerivKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12179  return _IMP_kernel._get_vector3dderiv_derivatives_numpy(m, k, m_pyobj, read_only)
12180 
12181 def _get_vector4ds_numpy(m, k, m_pyobj, read_only):
12182  r"""_get_vector4ds_numpy(Model m, Vector4DKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12183  return _IMP_kernel._get_vector4ds_numpy(m, k, m_pyobj, read_only)
12184 
12185 def _get_vector4dderiv_numpy(m, k, m_pyobj, read_only):
12186  r"""_get_vector4dderiv_numpy(Model m, Vector4DDerivKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12187  return _IMP_kernel._get_vector4dderiv_numpy(m, k, m_pyobj, read_only)
12188 
12189 def _get_vector4dderiv_derivatives_numpy(m, k, m_pyobj, read_only):
12190  r"""_get_vector4dderiv_derivatives_numpy(Model m, Vector4DDerivKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12191  return _IMP_kernel._get_vector4dderiv_derivatives_numpy(m, k, m_pyobj, read_only)
12192 
12193 def _get_spheres_numpy(m, m_pyobj, read_only):
12194  r"""_get_spheres_numpy(Model m, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12195  return _IMP_kernel._get_spheres_numpy(m, m_pyobj, read_only)
12196 
12197 def _get_sphere_derivatives_numpy(m, m_pyobj, read_only):
12198  r"""_get_sphere_derivatives_numpy(Model m, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12199  return _IMP_kernel._get_sphere_derivatives_numpy(m, m_pyobj, read_only)
12200 
12201 def _get_internal_coordinates_numpy(m, m_pyobj, read_only):
12202  r"""_get_internal_coordinates_numpy(Model m, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12203  return _IMP_kernel._get_internal_coordinates_numpy(m, m_pyobj, read_only)
12204 
12205 def _get_internal_coordinate_derivatives_numpy(m, m_pyobj, read_only):
12206  r"""_get_internal_coordinate_derivatives_numpy(Model m, PyObject * m_pyobj, bool read_only) -> PyObject *"""
12207  return _IMP_kernel._get_internal_coordinate_derivatives_numpy(m, m_pyobj, read_only)
12208 
12209 try:
12210  import numpy
12211  ParticleIndex = numpy.intc
12212 except ImportError:
12213  pass
12214 
12215 
12216 class JAXWarning(UserWarning):
12217  """Warning for incomplete JAX support or different behavior of JAX code"""
12218  pass
12219 
12220 
12221 def get_module_name():
12222  r"""get_module_name() -> std::string const"""
12223  return _IMP_kernel.get_module_name()
12224 
12225 def get_module_version():
12226  r"""get_module_version() -> std::string const"""
12227  return _IMP_kernel.get_module_version()
12228 
12229 def get_example_path(fname):
12230  r"""get_example_path(std::string fname) -> std::string"""
12231  return _IMP_kernel.get_example_path(fname)
12232 
12233 def get_data_path(fname):
12234  r"""get_data_path(std::string fname) -> std::string"""
12235  return _IMP_kernel.get_data_path(fname)
12236 
12237 from . import _version_check
12238 _version_check.check_version(get_module_version())
12239 __version__ = get_module_version()
12240 
12241 
12242 random_number_generator = cvar.random_number_generator
12243 
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:20
def get_ints_numpy
Get the model's attribute array for IntKey k as a NumPy array.
Definition: __init__.py:6740
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:11765
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:12022
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:6765
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:1361
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:11803
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:11974
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:281
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:12009
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:6792
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:6754
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:11997
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:12074
def get_internal_coordinates_numpy
Get the model's internal coordinate array as a NumPy array.
Definition: __init__.py:6798
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:6804
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:6786
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:12055
def get_derivatives_numpy
Get the model's attribute derivatives array for key k as a NumPy array.
Definition: __init__.py:6770
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:11981
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:12216
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:34
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:11790
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:6779
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.