IMP logo
IMP Reference Guide  develop.0280a0dd74,2026/01/07
The Integrative Modeling Platform
__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.3.1
3 #
4 # Do not make changes to this file unless you know what you are doing - modify
5 # the SWIG interface file instead.
6 
7 
8 # This wrapper is part of IMP,
9 # Copyright 2007-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 _InputAdaptor(object):
336  r"""Proxy of C++ IMP::InputAdaptor 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 
344  def __getstate__(self):
345  raise NotImplementedError(str(self.__class__)
346  + " does not support serialization")
347 
348  __swig_destroy__ = _IMP_kernel.delete__InputAdaptor
349 
350 # Register _InputAdaptor in _IMP_kernel:
351 _IMP_kernel._InputAdaptor_swigregister(_InputAdaptor)
352 class _NonCopyable(object):
353  r"""Proxy of C++ IMP::NonCopyable class."""
354 
355  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
356 
357  def __init__(self, *args, **kwargs):
358  raise AttributeError("No constructor defined")
359  __repr__ = _swig_repr
360  __swig_destroy__ = _IMP_kernel.delete__NonCopyable
361 
362 # Register _NonCopyable in _IMP_kernel:
363 _IMP_kernel._NonCopyable_swigregister(_NonCopyable)
364 class _RAII(_NonCopyable):
365  r"""Proxy of C++ IMP::RAII class."""
366 
367  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
368 
369  def __init__(self, *args, **kwargs):
370  raise AttributeError("No constructor defined")
371  __repr__ = _swig_repr
372  __swig_destroy__ = _IMP_kernel.delete__RAII
373 
374 # Register _RAII in _IMP_kernel:
375 _IMP_kernel._RAII_swigregister(_RAII)
376 class _Value(object):
377  r"""Proxy of C++ IMP::Value class."""
378 
379  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
380 
381  def __init__(self, *args, **kwargs):
382  raise AttributeError("No constructor defined")
383  __repr__ = _swig_repr
384 
385  def __getstate__(self):
386  raise NotImplementedError(str(self.__class__)
387  + " does not support serialization")
388 
389  __swig_destroy__ = _IMP_kernel.delete__Value
390 
391 # Register _Value in _IMP_kernel:
392 _IMP_kernel._Value_swigregister(_Value)
393 
394 def get_executable_name():
395  r"""get_executable_name() -> std::string"""
396  return _IMP_kernel.get_executable_name()
397 
398 def setup_from_argv(*args):
399  r"""
400  setup_from_argv(IMP::Strings const & argv, std::string description)
401  setup_from_argv(IMP::Strings const & argv, std::string description, std::string positional_description, int num_positional) -> IMP::Strings
402  """
403  return _IMP_kernel.setup_from_argv(*args)
404 
405 def add_string_flag(name, default_value, description):
406  r"""add_string_flag(std::string name, std::string default_value, std::string description)"""
407  return _IMP_kernel.add_string_flag(name, default_value, description)
408 
409 def get_string_flag(name):
410  r"""get_string_flag(std::string name) -> std::string"""
411  return _IMP_kernel.get_string_flag(name)
412 
413 def add_int_flag(name, default_value, description):
414  r"""add_int_flag(std::string name, size_t default_value, std::string description)"""
415  return _IMP_kernel.add_int_flag(name, default_value, description)
416 
417 def get_int_flag(name):
418  r"""get_int_flag(std::string name) -> size_t"""
419  return _IMP_kernel.get_int_flag(name)
420 
421 def add_bool_flag(name, description):
422  r"""add_bool_flag(std::string name, std::string description)"""
423  return _IMP_kernel.add_bool_flag(name, description)
424 
425 def get_bool_flag(name):
426  r"""get_bool_flag(std::string name) -> bool"""
427  return _IMP_kernel.get_bool_flag(name)
428 
429 def add_float_flag(name, default_value, description):
430  r"""add_float_flag(std::string name, double default_value, std::string description)"""
431  return _IMP_kernel.add_float_flag(name, default_value, description)
432 
433 def get_float_flag(name):
434  r"""get_float_flag(std::string name) -> double"""
435  return _IMP_kernel.get_float_flag(name)
436 
437 def write_help(*args):
438  r"""write_help(_ostream out=std::cerr)"""
439  return _IMP_kernel.write_help(*args)
440 
441 def get_is_quick_test():
442  r"""get_is_quick_test() -> bool"""
443  return _IMP_kernel.get_is_quick_test()
444 DEFAULT = _IMP_kernel.DEFAULT
445 
446 SILENT = _IMP_kernel.SILENT
447 
448 WARNING = _IMP_kernel.WARNING
449 
450 PROGRESS = _IMP_kernel.PROGRESS
451 
452 TERSE = _IMP_kernel.TERSE
453 
454 VERBOSE = _IMP_kernel.VERBOSE
455 
456 MEMORY = _IMP_kernel.MEMORY
457 
458 ALL_LOG = _IMP_kernel.ALL_LOG
459 
460 class VersionInfo(_Value):
461  r"""Proxy of C++ IMP::VersionInfo class."""
462 
463  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
464 
465  def __init__(self, *args):
466  r"""
467  __init__(VersionInfo self, std::string module, std::string version) -> VersionInfo
468  __init__(VersionInfo self) -> VersionInfo
469  """
470  _IMP_kernel.VersionInfo_swiginit(self, _IMP_kernel.new_VersionInfo(*args))
471 
472  def get_module(self):
473  r"""get_module(VersionInfo self) -> std::string"""
474  return _IMP_kernel.VersionInfo_get_module(self)
475 
476  def get_version(self):
477  r"""get_version(VersionInfo self) -> std::string"""
478  return _IMP_kernel.VersionInfo_get_version(self)
479 
480  def show(self, *args):
481  r"""show(VersionInfo self, _ostream out=std::cout)"""
482  return _IMP_kernel.VersionInfo_show(self, *args)
483 
484  def __cmp__(self, o):
485  r"""__cmp__(VersionInfo self, VersionInfo o) -> int"""
486  return _IMP_kernel.VersionInfo___cmp__(self, o)
487 
488  def __eq__(self, o):
489  r"""__eq__(VersionInfo self, VersionInfo o) -> bool"""
490  return _IMP_kernel.VersionInfo___eq__(self, o)
491 
492  def __ne__(self, o):
493  r"""__ne__(VersionInfo self, VersionInfo o) -> bool"""
494  return _IMP_kernel.VersionInfo___ne__(self, o)
495 
496  def __lt__(self, o):
497  r"""__lt__(VersionInfo self, VersionInfo o) -> bool"""
498  return _IMP_kernel.VersionInfo___lt__(self, o)
499 
500  def __gt__(self, o):
501  r"""__gt__(VersionInfo self, VersionInfo o) -> bool"""
502  return _IMP_kernel.VersionInfo___gt__(self, o)
503 
504  def __ge__(self, o):
505  r"""__ge__(VersionInfo self, VersionInfo o) -> bool"""
506  return _IMP_kernel.VersionInfo___ge__(self, o)
507 
508  def __le__(self, o):
509  r"""__le__(VersionInfo self, VersionInfo o) -> bool"""
510  return _IMP_kernel.VersionInfo___le__(self, o)
511 
512  def __str__(self):
513  r"""__str__(VersionInfo self) -> std::string"""
514  return _IMP_kernel.VersionInfo___str__(self)
515 
516  def __repr__(self):
517  r"""__repr__(VersionInfo self) -> std::string"""
518  return _IMP_kernel.VersionInfo___repr__(self)
519 
520  def _get_as_binary(self):
521  r"""_get_as_binary(VersionInfo self) -> PyObject *"""
522  return _IMP_kernel.VersionInfo__get_as_binary(self)
523 
524  def _set_from_binary(self, p):
525  r"""_set_from_binary(VersionInfo self, PyObject * p)"""
526  return _IMP_kernel.VersionInfo__set_from_binary(self, p)
527 
528  def __getstate__(self):
529  p = self._get_as_binary()
530  if len(self.__dict__) > 1:
531  d = self.__dict__.copy()
532  del d['this']
533  p = (d, p)
534  return p
535 
536  def __setstate__(self, p):
537  if not hasattr(self, 'this'):
538  self.__init__()
539  if isinstance(p, tuple):
540  d, p = p
541  self.__dict__.update(d)
542  return self._set_from_binary(p)
543 
544  __swig_destroy__ = _IMP_kernel.delete_VersionInfo
545 
546 # Register VersionInfo in _IMP_kernel:
547 _IMP_kernel.VersionInfo_swigregister(VersionInfo)
548 class TextOutput(_InputAdaptor):
549  r"""Proxy of C++ IMP::TextOutput class."""
550 
551  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
552  __repr__ = _swig_repr
553 
554  def __init__(self, *args):
555  r"""
556  __init__(TextOutput self, int arg2) -> TextOutput
557  __init__(TextOutput self, double arg2) -> TextOutput
558  __init__(TextOutput self, char const * c, bool append=False) -> TextOutput
559  __init__(TextOutput self, IMP::TextProxy< std::ostream > p) -> TextOutput
560  __init__(TextOutput self) -> TextOutput
561  __init__(TextOutput self, std::string file_name, bool append=False) -> TextOutput
562  """
563  _IMP_kernel.TextOutput_swiginit(self, _IMP_kernel.new_TextOutput(*args))
564 
565  def show(self, *args):
566  r"""show(TextOutput self, _ostream out=std::cout)"""
567  return _IMP_kernel.TextOutput_show(self, *args)
568 
569  def get_name(self):
570  r"""get_name(TextOutput self) -> std::string"""
571  return _IMP_kernel.TextOutput_get_name(self)
572  __swig_destroy__ = _IMP_kernel.delete_TextOutput
573 
574 # Register TextOutput in _IMP_kernel:
575 _IMP_kernel.TextOutput_swigregister(TextOutput)
576 class TextInput(_InputAdaptor):
577  r"""Proxy of C++ IMP::TextInput class."""
578 
579  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
580  __repr__ = _swig_repr
581 
582  def __init__(self, *args):
583  r"""
584  __init__(TextInput self, int arg2) -> TextInput
585  __init__(TextInput self, double arg2) -> TextInput
586  __init__(TextInput self, char const * c) -> TextInput
587  __init__(TextInput self, IMP::TextProxy< std::istream > p) -> TextInput
588  __init__(TextInput self) -> TextInput
589  __init__(TextInput self, std::string file_name) -> TextInput
590  """
591  _IMP_kernel.TextInput_swiginit(self, _IMP_kernel.new_TextInput(*args))
592 
593  def show(self, *args):
594  r"""show(TextInput self, _ostream out=std::cout)"""
595  return _IMP_kernel.TextInput_show(self, *args)
596 
597  def get_name(self):
598  r"""get_name(TextInput self) -> std::string"""
599  return _IMP_kernel.TextInput_get_name(self)
600 
601  def set_binary_open_mode(self, binary):
602  r"""set_binary_open_mode(TextInput self, bool binary)"""
603  return _IMP_kernel.TextInput_set_binary_open_mode(self, binary)
604  __swig_destroy__ = _IMP_kernel.delete_TextInput
605 
606 # Register TextInput in _IMP_kernel:
607 _IMP_kernel.TextInput_swigregister(TextInput)
608 class SetLogTarget(_RAII):
609  r"""Proxy of C++ IMP::SetLogTarget class."""
610 
611  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
612 
613  def __init__(self, *args):
614  r"""
615  __init__(SetLogTarget self) -> SetLogTarget
616  __init__(SetLogTarget self, TextOutput to) -> SetLogTarget
617  """
618  _IMP_kernel.SetLogTarget_swiginit(self, _IMP_kernel.new_SetLogTarget(*args))
619 
620  def set(self, to):
621  r"""set(SetLogTarget self, TextOutput to)"""
622  return _IMP_kernel.SetLogTarget_set(self, to)
623 
624  def reset(self):
625  r"""reset(SetLogTarget self)"""
626  return _IMP_kernel.SetLogTarget_reset(self)
627  __swig_destroy__ = _IMP_kernel.delete_SetLogTarget
628 
629  def show(self, *args):
630  r"""show(SetLogTarget self, _ostream out=std::cout)"""
631  return _IMP_kernel.SetLogTarget_show(self, *args)
632 
633  def __enter__(self):
634  return self
635  def __exit__(self, exc_type, exc_val, exc_tb):
636  self.reset()
637  return False
638 
639 
640  def __str__(self):
641  r"""__str__(SetLogTarget self) -> std::string"""
642  return _IMP_kernel.SetLogTarget___str__(self)
643 
644  def __repr__(self):
645  r"""__repr__(SetLogTarget self) -> std::string"""
646  return _IMP_kernel.SetLogTarget___repr__(self)
647 
648 # Register SetLogTarget in _IMP_kernel:
649 _IMP_kernel.SetLogTarget_swigregister(SetLogTarget)
650 
651 def create_temporary_file(*args):
652  r"""create_temporary_file(std::string prefix="imp_temp", std::string suffix="") -> TextOutput"""
653  return _IMP_kernel.create_temporary_file(*args)
654 
655 def create_temporary_file_name(*args):
656  r"""create_temporary_file_name(std::string prefix="imp_temp", std::string suffix="") -> std::string"""
657  return _IMP_kernel.create_temporary_file_name(*args)
658 
659 def get_relative_path(base, relative):
660  r"""get_relative_path(std::string base, std::string relative) -> std::string"""
661  return _IMP_kernel.get_relative_path(base, relative)
662 
663 def get_absolute_path(file):
664  r"""get_absolute_path(std::string file) -> std::string"""
665  return _IMP_kernel.get_absolute_path(file)
666 
667 def push_log_context(functionname, object):
668  r"""push_log_context(char const * functionname, void const * object)"""
669  return _IMP_kernel.push_log_context(functionname, object)
670 
671 def pop_log_context():
672  r"""pop_log_context()"""
673  return _IMP_kernel.pop_log_context()
674 
675 def add_to_log(*args):
676  r"""
677  add_to_log(std::string to_write)
678  add_to_log(IMP::LogLevel level, std::string to_write)
679  """
680  return _IMP_kernel.add_to_log(*args)
681 
682 def set_log_level(l):
683  r"""set_log_level(IMP::LogLevel l)"""
684  return _IMP_kernel.set_log_level(l)
685 
686 def set_log_timer(tb):
687  r"""set_log_timer(bool tb)"""
688  return _IMP_kernel.set_log_timer(tb)
689 
690 def reset_log_timer():
691  r"""reset_log_timer()"""
692  return _IMP_kernel.reset_log_timer()
693 
694 def get_log_level():
695  r"""get_log_level() -> IMP::LogLevel"""
696  return _IMP_kernel.get_log_level()
697 
698 def set_progress_display(description, steps):
699  r"""set_progress_display(std::string description, unsigned int steps)"""
700  return _IMP_kernel.set_progress_display(description, steps)
701 
702 def add_to_progress_display(step=1):
703  r"""add_to_progress_display(unsigned int step=1)"""
704  return _IMP_kernel.add_to_progress_display(step)
705 class Object(_NonCopyable):
706  r"""Proxy of C++ IMP::Object class."""
707 
708  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
709 
710  def __init__(self, name):
711  r"""__init__(Object self, std::string name) -> Object"""
712  if self.__class__ == Object:
713  _self = None
714  else:
715  _self = self
716  _IMP_kernel.Object_swiginit(self, _IMP_kernel.new_Object(_self, name))
717 
718  if self.__class__ != Object:
719  _director_objects.register(self)
720 
721 
722 
723  __swig_destroy__ = _IMP_kernel.delete_Object
724 
725  def __hash__(self):
726  r"""__hash__(Object self) -> std::size_t"""
727  return _IMP_kernel.Object___hash__(self)
728 
729  def set_log_level(self, l):
730  r"""set_log_level(Object self, IMP::LogLevel l)"""
731  return _IMP_kernel.Object_set_log_level(self, l)
732 
733  def set_check_level(self, l):
734  r"""set_check_level(Object self, IMP::CheckLevel l)"""
735  return _IMP_kernel.Object_set_check_level(self, l)
736 
737  def get_log_level(self):
738  r"""get_log_level(Object self) -> IMP::LogLevel"""
739  return _IMP_kernel.Object_get_log_level(self)
740 
741  def get_check_level(self):
742  r"""get_check_level(Object self) -> IMP::CheckLevel"""
743  return _IMP_kernel.Object_get_check_level(self)
744 
745  def get_version_info(self):
746  r"""get_version_info(Object self) -> VersionInfo"""
747  val = _IMP_kernel.Object_get_version_info(self)
748  if val.get_module() == 'none':
749  val = VersionInfo(
750  self.__module__,
751  __import__(self.__module__).get_module_version())
752  return val
753 
754  def get_name(self):
755  r"""get_name(Object self) -> std::string const &"""
756  return _IMP_kernel.Object_get_name(self)
757 
758  def set_name(self, name):
759  r"""set_name(Object self, std::string name)"""
760  return _IMP_kernel.Object_set_name(self, name)
761 
762  def get_type_name(self):
763  r"""get_type_name(Object self) -> std::string"""
764  val = _IMP_kernel.Object_get_type_name(self)
765  if val == 'unknown object type':
766  val = self.__class__.__name__
767  return val
768 
769  def set_was_used(self, tf):
770  r"""set_was_used(Object self, bool tf)"""
771  return _IMP_kernel.Object_set_was_used(self, tf)
772 
773  def show(self, *args):
774  r"""show(Object self, _ostream out=std::cout)"""
775  return _IMP_kernel.Object_show(self, *args)
776 
777  def get_string(self):
778  r"""get_string(Object self) -> std::string"""
779  return _IMP_kernel.Object_get_string(self)
780 
781  def _on_destruction(self):
782  r"""_on_destruction(Object self)"""
783  return _IMP_kernel.Object__on_destruction(self)
784 
785  def get_is_valid(self):
786  r"""get_is_valid(Object self) -> bool"""
787  return _IMP_kernel.Object_get_is_valid(self)
788 
789  def get_ref_count(self):
790  r"""get_ref_count(Object self) -> unsigned int"""
791  return _IMP_kernel.Object_get_ref_count(self)
792 
793  @staticmethod
794  def get_number_of_live_objects():
795  r"""get_number_of_live_objects() -> unsigned int"""
796  return _IMP_kernel.Object_get_number_of_live_objects()
797 
798  def get_is_shared(self):
799  r"""get_is_shared(Object self) -> bool"""
800  return _IMP_kernel.Object_get_is_shared(self)
801 
802  def clear_caches(self):
803  r"""clear_caches(Object self)"""
804  return _IMP_kernel.Object_clear_caches(self)
805 
806  def do_destroy(self):
807  r"""do_destroy(Object self)"""
808  return _IMP_kernel.Object_do_destroy(self)
809 
810  def __getstate__(self):
811  raise NotImplementedError(str(self.__class__)
812  + " does not support serialization")
813 
814 
815  def __eq__(self, o):
816  r"""__eq__(Object self, Object o) -> bool"""
817  return _IMP_kernel.Object___eq__(self, o)
818 
819  def __ne__(self, o):
820  r"""__ne__(Object self, Object o) -> bool"""
821  return _IMP_kernel.Object___ne__(self, o)
822 
823  def __le__(self, o):
824  r"""__le__(Object self, Object o) -> bool"""
825  return _IMP_kernel.Object___le__(self, o)
826 
827  def __lt__(self, o):
828  r"""__lt__(Object self, Object o) -> bool"""
829  return _IMP_kernel.Object___lt__(self, o)
830 
831  def __ge__(self, o):
832  r"""__ge__(Object self, Object o) -> bool"""
833  return _IMP_kernel.Object___ge__(self, o)
834 
835  def __gt__(self, o):
836  r"""__gt__(Object self, Object o) -> bool"""
837  return _IMP_kernel.Object___gt__(self, o)
838 
839  def _get_director_object(self):
840  r"""_get_director_object(Object self) -> PyObject *"""
841  return _IMP_kernel.Object__get_director_object(self)
842 
844  """Return this object cast to the most derived subclass."""
845  # If this is a SWIG director, return the original Python object
846  pyobj = self._get_director_object()
847  if pyobj is not None:
848  return pyobj
849  # Otherwise, use the object's module and type name to look up
850  # the corresponding most-derived Python type
851  modname = self.get_version_info().get_module().replace('::', '.')
852  type_name = self.get_type_name()
853  # IMP.core.RestraintsScoringFunction is a typedef for
854  # IMP.GenericRestraintsScoringFunction; map to the real Python class
855  if modname == 'IMP' and type_name == 'GenericRestraintsScoringFunction':
856  modname = 'IMP.core'
857  type_name = 'RestraintsScoringFunction'
858  modobj = sys.modules[modname]
859  clsobj = getattr(modobj, type_name)
860  return clsobj.get_from(self)
861 
862 
863  def __str__(self):
864  r"""__str__(Object self) -> std::string"""
865  return _IMP_kernel.Object___str__(self)
866 
867  def __repr__(self):
868  r"""__repr__(Object self) -> std::string"""
869  return _IMP_kernel.Object___repr__(self)
870 
871  @staticmethod
872  def get_from(o):
873  return _object_cast_to_Object(o)
874 
875  def __disown__(self):
876  self.this.disown()
877  _IMP_kernel.disown_Object(self)
878  return weakref.proxy(self)
879 
880 # Register Object in _IMP_kernel:
881 _IMP_kernel.Object_swigregister(Object)
882 class SetLogState(_RAII):
883  r"""Proxy of C++ IMP::SetLogState class."""
884 
885  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
886 
887  def reset(self):
888  r"""reset(SetLogState self)"""
889  return _IMP_kernel.SetLogState_reset(self)
890  __swig_destroy__ = _IMP_kernel.delete_SetLogState
891 
892  def show(self, *args):
893  r"""show(SetLogState self, _ostream out=std::cout)"""
894  return _IMP_kernel.SetLogState_show(self, *args)
895 
896  def __init__(self, *args):
897  r"""
898  __init__(SetLogState self) -> SetLogState
899  __init__(SetLogState self, Object o, IMP::LogLevel l) -> SetLogState
900  __init__(SetLogState self, IMP::LogLevel l) -> SetLogState
901  """
902  _IMP_kernel.SetLogState_swiginit(self, _IMP_kernel.new_SetLogState(*args))
903 
904  def set(self, *args):
905  r"""
906  set(SetLogState self, Object o, IMP::LogLevel l)
907  set(SetLogState self, IMP::LogLevel l)
908  """
909  return _IMP_kernel.SetLogState_set(self, *args)
910 
911  def __enter__(self):
912  return self
913  def __exit__(self, exc_type, exc_val, exc_tb):
914  self.reset()
915  return False
916 
917 
918  def __str__(self):
919  r"""__str__(SetLogState self) -> std::string"""
920  return _IMP_kernel.SetLogState___str__(self)
921 
922  def __repr__(self):
923  r"""__repr__(SetLogState self) -> std::string"""
924  return _IMP_kernel.SetLogState___repr__(self)
925 
926 # Register SetLogState in _IMP_kernel:
927 _IMP_kernel.SetLogState_swigregister(SetLogState)
928 class WarningContext(object):
929  r"""Proxy of C++ IMP::WarningContext class."""
930 
931  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
932  data_ = property(_IMP_kernel.WarningContext_data__get, _IMP_kernel.WarningContext_data__set, doc=r"""data_ : boost::unordered_set<(std::string)>""")
933 
934  def add_warning(self, key, warning):
935  r"""add_warning(WarningContext self, std::string key, std::string warning)"""
936  return _IMP_kernel.WarningContext_add_warning(self, key, warning)
937 
938  def clear_warnings(self):
939  r"""clear_warnings(WarningContext self)"""
940  return _IMP_kernel.WarningContext_clear_warnings(self)
941 
942  def dump_warnings(self):
943  r"""dump_warnings(WarningContext self)"""
944  return _IMP_kernel.WarningContext_dump_warnings(self)
945  __swig_destroy__ = _IMP_kernel.delete_WarningContext
946 
947  def show(self, *args):
948  r"""show(WarningContext self, _ostream out=std::cout)"""
949  return _IMP_kernel.WarningContext_show(self, *args)
950 
951  def __enter__(self):
952  return self
953  def __exit__(self, exc_type, exc_val, exc_tb):
954  self.reset()
955  return False
956 
957 
958  def __str__(self):
959  r"""__str__(WarningContext self) -> std::string"""
960  return _IMP_kernel.WarningContext___str__(self)
961 
962  def __repr__(self):
963  r"""__repr__(WarningContext self) -> std::string"""
964  return _IMP_kernel.WarningContext___repr__(self)
965 
966  def __init__(self):
967  r"""__init__(WarningContext self) -> WarningContext"""
968  _IMP_kernel.WarningContext_swiginit(self, _IMP_kernel.new_WarningContext())
969 
970 # Register WarningContext in _IMP_kernel:
971 _IMP_kernel.WarningContext_swigregister(WarningContext)
972 class CreateLogContext(_RAII):
973  r"""Proxy of C++ IMP::CreateLogContext class."""
974 
975  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
976 
977  def __init__(self, *args):
978  r"""
979  __init__(CreateLogContext self, std::string fname, Object object=None) -> CreateLogContext
980  __init__(CreateLogContext self) -> CreateLogContext
981  __init__(CreateLogContext self, char const * fname, Object object=None) -> CreateLogContext
982  """
983  _IMP_kernel.CreateLogContext_swiginit(self, _IMP_kernel.new_CreateLogContext(*args))
984 
985  def set(self, fname, object=None):
986  r"""set(CreateLogContext self, char const * fname, Object object=None)"""
987  return _IMP_kernel.CreateLogContext_set(self, fname, object)
988 
989  def reset(self):
990  r"""reset(CreateLogContext self)"""
991  return _IMP_kernel.CreateLogContext_reset(self)
992  __swig_destroy__ = _IMP_kernel.delete_CreateLogContext
993 
994  def show(self, *args):
995  r"""show(CreateLogContext self, _ostream out=std::cout)"""
996  return _IMP_kernel.CreateLogContext_show(self, *args)
997 
998  def __enter__(self):
999  return self
1000  def __exit__(self, exc_type, exc_val, exc_tb):
1001  self.reset()
1002  return False
1003 
1004 
1005  def __str__(self):
1006  r"""__str__(CreateLogContext self) -> std::string"""
1007  return _IMP_kernel.CreateLogContext___str__(self)
1008 
1009  def __repr__(self):
1010  r"""__repr__(CreateLogContext self) -> std::string"""
1011  return _IMP_kernel.CreateLogContext___repr__(self)
1012 
1013 # Register CreateLogContext in _IMP_kernel:
1014 _IMP_kernel.CreateLogContext_swigregister(CreateLogContext)
1015 class SetCheckState(_RAII):
1016  r"""Proxy of C++ IMP::SetCheckState class."""
1017 
1018  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1019 
1020  def reset(self):
1021  r"""reset(SetCheckState self)"""
1022  return _IMP_kernel.SetCheckState_reset(self)
1023  __swig_destroy__ = _IMP_kernel.delete_SetCheckState
1024 
1025  def show(self, *args):
1026  r"""show(SetCheckState self, _ostream out=std::cout)"""
1027  return _IMP_kernel.SetCheckState_show(self, *args)
1028 
1029  def __init__(self, *args):
1030  r"""
1031  __init__(SetCheckState self) -> SetCheckState
1032  __init__(SetCheckState self, Object o, IMP::CheckLevel l) -> SetCheckState
1033  __init__(SetCheckState self, IMP::CheckLevel l) -> SetCheckState
1034  """
1035  _IMP_kernel.SetCheckState_swiginit(self, _IMP_kernel.new_SetCheckState(*args))
1036 
1037  def set(self, *args):
1038  r"""
1039  set(SetCheckState self, Object o, IMP::CheckLevel l)
1040  set(SetCheckState self, IMP::CheckLevel l)
1041  """
1042  return _IMP_kernel.SetCheckState_set(self, *args)
1043 
1044  def __enter__(self):
1045  return self
1046  def __exit__(self, exc_type, exc_val, exc_tb):
1047  self.reset()
1048  return False
1049 
1050 
1051  def __str__(self):
1052  r"""__str__(SetCheckState self) -> std::string"""
1053  return _IMP_kernel.SetCheckState___str__(self)
1054 
1055  def __repr__(self):
1056  r"""__repr__(SetCheckState self) -> std::string"""
1057  return _IMP_kernel.SetCheckState___repr__(self)
1058 
1059 # Register SetCheckState in _IMP_kernel:
1060 _IMP_kernel.SetCheckState_swigregister(SetCheckState)
1061 
1062 def get_unique_name(templ):
1063  r"""get_unique_name(std::string templ) -> std::string"""
1064  return _IMP_kernel.get_unique_name(templ)
1065 
1066 def get_copyright():
1067  r"""get_copyright() -> std::string"""
1068  return _IMP_kernel.get_copyright()
1069 class _Protection(object):
1070  r"""Proxy of C++ IMP::internal::_Protection class."""
1071 
1072  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1073 
1074  def __init__(self, *args, **kwargs):
1075  raise AttributeError("No constructor defined")
1076 
1077  def show(self, *args):
1078  r"""show(_Protection self, _ostream out=std::cout)"""
1079  return _IMP_kernel._Protection_show(self, *args)
1080 
1081  def __str__(self):
1082  r"""__str__(_Protection self) -> std::string"""
1083  return _IMP_kernel._Protection___str__(self)
1084 
1085  def __repr__(self):
1086  r"""__repr__(_Protection self) -> std::string"""
1087  return _IMP_kernel._Protection___repr__(self)
1088  __swig_destroy__ = _IMP_kernel.delete__Protection
1089 
1090 # Register _Protection in _IMP_kernel:
1091 _IMP_kernel._Protection_swigregister(_Protection)
1092 
1093 def _test_log():
1094  r"""_test_log()"""
1095  return _IMP_kernel._test_log()
1096 
1097 def _test_intranges(ips):
1098  r"""_test_intranges(IMP::IntRanges const & ips) -> int"""
1099  return _IMP_kernel._test_intranges(ips)
1100 
1101 def _test_intrange(*args):
1102  r"""
1103  _test_intrange(IMP::IntRange const & ips) -> IMP::IntRange
1104  _test_intrange() -> IMP::IntRange
1105  """
1106  return _IMP_kernel._test_intrange(*args)
1107 
1108 def _test_ifile(a):
1109  r"""_test_ifile(TextInput a) -> std::string"""
1110  return _IMP_kernel._test_ifile(a)
1111 
1112 def _test_ofile(a):
1113  r"""_test_ofile(TextOutput a) -> std::string"""
1114  return _IMP_kernel._test_ofile(a)
1115 
1116 def _test_ifile_overloaded(*args):
1117  r"""
1118  _test_ifile_overloaded(TextInput a, int i) -> std::string
1119  _test_ifile_overloaded(TextInput a, std::string st) -> std::string
1120  """
1121  return _IMP_kernel._test_ifile_overloaded(*args)
1122 
1123 def _test_ofile_overloaded(*args):
1124  r"""
1125  _test_ofile_overloaded(TextOutput a, int i) -> std::string
1126  _test_ofile_overloaded(TextOutput a, std::string st) -> std::string
1127  """
1128  return _IMP_kernel._test_ofile_overloaded(*args)
1129 class _TestValue(object):
1130  r"""Proxy of C++ IMP::internal::_TestValue class."""
1131 
1132  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1133 
1134  def __init__(self, i):
1135  r"""__init__(_TestValue self, int i) -> _TestValue"""
1136  _IMP_kernel._TestValue_swiginit(self, _IMP_kernel.new__TestValue(i))
1137 
1138  def show(self, *args):
1139  r"""show(_TestValue self, _ostream out=std::cout)"""
1140  return _IMP_kernel._TestValue_show(self, *args)
1141 
1142  def __cmp__(self, o):
1143  r"""__cmp__(_TestValue self, _TestValue o) -> int"""
1144  return _IMP_kernel._TestValue___cmp__(self, o)
1145 
1146  def __eq__(self, o):
1147  r"""__eq__(_TestValue self, _TestValue o) -> bool"""
1148  return _IMP_kernel._TestValue___eq__(self, o)
1149 
1150  def __ne__(self, o):
1151  r"""__ne__(_TestValue self, _TestValue o) -> bool"""
1152  return _IMP_kernel._TestValue___ne__(self, o)
1153 
1154  def __lt__(self, o):
1155  r"""__lt__(_TestValue self, _TestValue o) -> bool"""
1156  return _IMP_kernel._TestValue___lt__(self, o)
1157 
1158  def __gt__(self, o):
1159  r"""__gt__(_TestValue self, _TestValue o) -> bool"""
1160  return _IMP_kernel._TestValue___gt__(self, o)
1161 
1162  def __ge__(self, o):
1163  r"""__ge__(_TestValue self, _TestValue o) -> bool"""
1164  return _IMP_kernel._TestValue___ge__(self, o)
1165 
1166  def __le__(self, o):
1167  r"""__le__(_TestValue self, _TestValue o) -> bool"""
1168  return _IMP_kernel._TestValue___le__(self, o)
1169 
1170  def get(self):
1171  r"""get(_TestValue self) -> int"""
1172  return _IMP_kernel._TestValue_get(self)
1173 
1174  def get_float(self):
1175  r"""get_float(_TestValue self) -> float const &"""
1176  return _IMP_kernel._TestValue_get_float(self)
1177 
1178  def get_double(self):
1179  r"""get_double(_TestValue self) -> double const &"""
1180  return _IMP_kernel._TestValue_get_double(self)
1181 
1182  def get_Float(self):
1183  r"""get_Float(_TestValue self) -> IMP::Float const &"""
1184  return _IMP_kernel._TestValue_get_Float(self)
1185 
1186  def get_int(self):
1187  r"""get_int(_TestValue self) -> int const &"""
1188  return _IMP_kernel._TestValue_get_int(self)
1189 
1190  def get_Int(self):
1191  r"""get_Int(_TestValue self) -> IMP::Int const &"""
1192  return _IMP_kernel._TestValue_get_Int(self)
1193 
1194  def get_string(self):
1195  r"""get_string(_TestValue self) -> std::string const &"""
1196  return _IMP_kernel._TestValue_get_string(self)
1197 
1198  def get_String(self):
1199  r"""get_String(_TestValue self) -> IMP::String const &"""
1200  return _IMP_kernel._TestValue_get_String(self)
1201 
1202  def __str__(self):
1203  r"""__str__(_TestValue self) -> std::string"""
1204  return _IMP_kernel._TestValue___str__(self)
1205 
1206  def __repr__(self):
1207  r"""__repr__(_TestValue self) -> std::string"""
1208  return _IMP_kernel._TestValue___repr__(self)
1209  __swig_destroy__ = _IMP_kernel.delete__TestValue
1210 
1211 # Register _TestValue in _IMP_kernel:
1212 _IMP_kernel._TestValue_swigregister(_TestValue)
1213 
1214 def _pass_plain_pair(p):
1215  r"""_pass_plain_pair(IMP::FloatPair p) -> IMP::FloatPair"""
1216  return _IMP_kernel._pass_plain_pair(p)
1217 
1218 def _pass_overloaded_strings(*args):
1219  r"""
1220  _pass_overloaded_strings(IMP::Strings const & a, int arg2) -> IMP::Strings
1221  _pass_overloaded_strings(IMP::Strings const & a) -> IMP::Strings
1222  """
1223  return _IMP_kernel._pass_overloaded_strings(*args)
1224 
1225 def _pass_pair(p):
1226  r"""_pass_pair(IMP::DerivativePair const & p) -> IMP::DerivativePair"""
1227  return _IMP_kernel._pass_pair(p)
1228 
1229 def _pass_floats(input):
1230  r"""_pass_floats(IMP::Floats const & input) -> IMP::Floats"""
1231  return _IMP_kernel._pass_floats(input)
1232 
1233 def _pass_ints(input):
1234  r"""_pass_ints(IMP::Ints input) -> IMP::Ints"""
1235  return _IMP_kernel._pass_ints(input)
1236 
1237 def _pass_ints_list(input):
1238  r"""_pass_ints_list(IMP::IntsList const & input) -> IMP::IntsList"""
1239  return _IMP_kernel._pass_ints_list(input)
1240 
1241 def _pass_ints_lists(input):
1242  r"""_pass_ints_lists(IMP::IntsLists const & input) -> IMP::IntsLists"""
1243  return _IMP_kernel._pass_ints_lists(input)
1244 
1245 def _pass_strings(input):
1246  r"""_pass_strings(IMP::Strings const & input) -> IMP::Strings const &"""
1247  return _IMP_kernel._pass_strings(input)
1248 class _TestObject(Object):
1249  r"""Proxy of C++ IMP::internal::_TestObject class."""
1250 
1251  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1252 
1253  def __init__(self):
1254  r"""__init__(_TestObject self) -> _TestObject"""
1255  _IMP_kernel._TestObject_swiginit(self, _IMP_kernel.new__TestObject())
1256 
1257  def get_version_info(self):
1258  r"""get_version_info(_TestObject self) -> VersionInfo"""
1259  return _IMP_kernel._TestObject_get_version_info(self)
1260  __swig_destroy__ = _IMP_kernel.delete__TestObject
1261 
1262  def __str__(self):
1263  r"""__str__(_TestObject self) -> std::string"""
1264  return _IMP_kernel._TestObject___str__(self)
1265 
1266  def __repr__(self):
1267  r"""__repr__(_TestObject self) -> std::string"""
1268  return _IMP_kernel._TestObject___repr__(self)
1269 
1270  @staticmethod
1271  def get_from(o):
1272  return _object_cast_to__TestObject(o)
1273 
1274 
1275 # Register _TestObject in _IMP_kernel:
1276 _IMP_kernel._TestObject_swigregister(_TestObject)
1277 
1278 def get_live_object_names():
1279  r"""get_live_object_names() -> IMP::Strings"""
1280  return _IMP_kernel.get_live_object_names()
1281 
1282 def get_live_objects():
1283  r"""get_live_objects() -> IMP::Objects"""
1284  return _IMP_kernel.get_live_objects()
1285 
1286 def set_show_leaked_objects(tf):
1287  r"""set_show_leaked_objects(bool tf)"""
1288  return _IMP_kernel.set_show_leaked_objects(tf)
1289 
1290 def set_deprecation_warnings(tf):
1291  r"""set_deprecation_warnings(bool tf)"""
1292  return _IMP_kernel.set_deprecation_warnings(tf)
1293 
1295  r"""set_deprecation_exceptions(bool tf)"""
1296  return _IMP_kernel.set_deprecation_exceptions(tf)
1297 
1299  r"""get_deprecation_exceptions() -> bool"""
1300  return _IMP_kernel.get_deprecation_exceptions()
1301 
1302 def handle_use_deprecated(message):
1303  r"""handle_use_deprecated(std::string message)"""
1304  return _IMP_kernel.handle_use_deprecated(message)
1305 
1306 def get_number_of_threads():
1307  r"""get_number_of_threads() -> unsigned int"""
1308  return _IMP_kernel.get_number_of_threads()
1309 
1310 def set_number_of_threads(n):
1311  r"""set_number_of_threads(unsigned int n)"""
1312  return _IMP_kernel.set_number_of_threads(n)
1313 class SetNumberOfThreads(_RAII):
1314  r"""Proxy of C++ IMP::SetNumberOfThreads class."""
1315 
1316  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1317 
1318  def __init__(self, *args):
1319  r"""
1320  __init__(SetNumberOfThreads self) -> SetNumberOfThreads
1321  __init__(SetNumberOfThreads self, unsigned int n) -> SetNumberOfThreads
1322  """
1323  _IMP_kernel.SetNumberOfThreads_swiginit(self, _IMP_kernel.new_SetNumberOfThreads(*args))
1324 
1325  def set(self, n):
1326  r"""set(SetNumberOfThreads self, unsigned int n)"""
1327  return _IMP_kernel.SetNumberOfThreads_set(self, n)
1328 
1329  def reset(self):
1330  r"""reset(SetNumberOfThreads self)"""
1331  return _IMP_kernel.SetNumberOfThreads_reset(self)
1332  __swig_destroy__ = _IMP_kernel.delete_SetNumberOfThreads
1333 
1334  def show(self, *args):
1335  r"""show(SetNumberOfThreads self, _ostream out=std::cout)"""
1336  return _IMP_kernel.SetNumberOfThreads_show(self, *args)
1337 
1338  def __enter__(self):
1339  return self
1340  def __exit__(self, exc_type, exc_val, exc_tb):
1341  self.reset()
1342  return False
1343 
1344 
1345  def __str__(self):
1346  r"""__str__(SetNumberOfThreads self) -> std::string"""
1347  return _IMP_kernel.SetNumberOfThreads___str__(self)
1348 
1349  def __repr__(self):
1350  r"""__repr__(SetNumberOfThreads self) -> std::string"""
1351  return _IMP_kernel.SetNumberOfThreads___repr__(self)
1352 
1353 # Register SetNumberOfThreads in _IMP_kernel:
1354 _IMP_kernel.SetNumberOfThreads_swigregister(SetNumberOfThreads)
1355 
1356 import os
1357 i_m_p="IMP_MODULE_PATH"
1358 if i_m_p in os.environ.keys():
1359  __path__.insert(0, os.environ[i_m_p])
1360 
1361 def _forward_add_attribute(self, name, value, opt=None):
1362  if opt is not None:
1363  self.get_particle().add_attribute(name, value, opt)
1364  else:
1365  self.get_particle().add_attribute(name, value)
1366 def _forward_get_value(self, name):
1367  self.get_particle().get_value(name)
1368 def _forward_set_value(self, name, value):
1369  self.get_particle().set_value(name, value)
1370 
1371 
1372 build="release"
1373 
1374 
1375 _object_types.append("Constraint")
1376 
1377 
1378 def _object_cast_to_Constraint(o):
1379  r"""_object_cast_to_Constraint(Object o) -> Constraint"""
1380  return _IMP_kernel._object_cast_to_Constraint(o)
1381 
1382 _object_types.append("Undecorator")
1383 
1384 
1385 def _object_cast_to_Undecorator(o):
1386  r"""_object_cast_to_Undecorator(Object o) -> Undecorator"""
1387  return _IMP_kernel._object_cast_to_Undecorator(o)
1388 
1389 _object_types.append("Container")
1390 
1391 
1392 def _object_cast_to_Container(o):
1393  r"""_object_cast_to_Container(Object o) -> Container"""
1394  return _IMP_kernel._object_cast_to_Container(o)
1395 
1396 _object_types.append("Optimizer")
1397 
1398 
1399 def _object_cast_to_Optimizer(o):
1400  r"""_object_cast_to_Optimizer(Object o) -> Optimizer"""
1401  return _IMP_kernel._object_cast_to_Optimizer(o)
1402 
1403 _object_types.append("AttributeOptimizer")
1404 
1405 
1406 def _object_cast_to_AttributeOptimizer(o):
1407  r"""_object_cast_to_AttributeOptimizer(Object o) -> AttributeOptimizer"""
1408  return _IMP_kernel._object_cast_to_AttributeOptimizer(o)
1409 
1410 _object_types.append("OptimizerState")
1411 
1412 
1413 def _object_cast_to_OptimizerState(o):
1414  r"""_object_cast_to_OptimizerState(Object o) -> OptimizerState"""
1415  return _IMP_kernel._object_cast_to_OptimizerState(o)
1416 
1417 _object_types.append("PairContainer")
1418 
1419 
1420 def _object_cast_to_PairContainer(o):
1421  r"""_object_cast_to_PairContainer(Object o) -> PairContainer"""
1422  return _IMP_kernel._object_cast_to_PairContainer(o)
1423 
1424 _object_types.append("PairModifier")
1425 
1426 
1427 def _object_cast_to_PairModifier(o):
1428  r"""_object_cast_to_PairModifier(Object o) -> PairModifier"""
1429  return _IMP_kernel._object_cast_to_PairModifier(o)
1430 
1431 _object_types.append("PairScore")
1432 
1433 
1434 def _object_cast_to_PairScore(o):
1435  r"""_object_cast_to_PairScore(Object o) -> PairScore"""
1436  return _IMP_kernel._object_cast_to_PairScore(o)
1437 
1438 _object_types.append("QuadContainer")
1439 
1440 
1441 def _object_cast_to_QuadContainer(o):
1442  r"""_object_cast_to_QuadContainer(Object o) -> QuadContainer"""
1443  return _IMP_kernel._object_cast_to_QuadContainer(o)
1444 
1445 _object_types.append("QuadModifier")
1446 
1447 
1448 def _object_cast_to_QuadModifier(o):
1449  r"""_object_cast_to_QuadModifier(Object o) -> QuadModifier"""
1450  return _IMP_kernel._object_cast_to_QuadModifier(o)
1451 
1452 _object_types.append("QuadScore")
1453 
1454 
1455 def _object_cast_to_QuadScore(o):
1456  r"""_object_cast_to_QuadScore(Object o) -> QuadScore"""
1457  return _IMP_kernel._object_cast_to_QuadScore(o)
1458 
1459 _object_types.append("Refiner")
1460 
1461 
1462 def _object_cast_to_Refiner(o):
1463  r"""_object_cast_to_Refiner(Object o) -> Refiner"""
1464  return _IMP_kernel._object_cast_to_Refiner(o)
1465 
1466 _object_types.append("Restraint")
1467 
1468 
1469 def _object_cast_to_Restraint(o):
1470  r"""_object_cast_to_Restraint(Object o) -> Restraint"""
1471  return _IMP_kernel._object_cast_to_Restraint(o)
1472 
1473 _object_types.append("Sampler")
1474 
1475 
1476 def _object_cast_to_Sampler(o):
1477  r"""_object_cast_to_Sampler(Object o) -> Sampler"""
1478  return _IMP_kernel._object_cast_to_Sampler(o)
1479 
1480 _object_types.append("ScoreState")
1481 
1482 
1483 def _object_cast_to_ScoreState(o):
1484  r"""_object_cast_to_ScoreState(Object o) -> ScoreState"""
1485  return _IMP_kernel._object_cast_to_ScoreState(o)
1486 
1487 _object_types.append("SingletonContainer")
1488 
1489 
1490 def _object_cast_to_SingletonContainer(o):
1491  r"""_object_cast_to_SingletonContainer(Object o) -> SingletonContainer"""
1492  return _IMP_kernel._object_cast_to_SingletonContainer(o)
1493 
1494 _object_types.append("SingletonModifier")
1495 
1496 
1497 def _object_cast_to_SingletonModifier(o):
1498  r"""_object_cast_to_SingletonModifier(Object o) -> SingletonModifier"""
1499  return _IMP_kernel._object_cast_to_SingletonModifier(o)
1500 
1501 _object_types.append("SingletonScore")
1502 
1503 
1504 def _object_cast_to_SingletonScore(o):
1505  r"""_object_cast_to_SingletonScore(Object o) -> SingletonScore"""
1506  return _IMP_kernel._object_cast_to_SingletonScore(o)
1507 
1508 _object_types.append("TripletContainer")
1509 
1510 
1511 def _object_cast_to_TripletContainer(o):
1512  r"""_object_cast_to_TripletContainer(Object o) -> TripletContainer"""
1513  return _IMP_kernel._object_cast_to_TripletContainer(o)
1514 
1515 _object_types.append("TripletModifier")
1516 
1517 
1518 def _object_cast_to_TripletModifier(o):
1519  r"""_object_cast_to_TripletModifier(Object o) -> TripletModifier"""
1520  return _IMP_kernel._object_cast_to_TripletModifier(o)
1521 
1522 _object_types.append("TripletScore")
1523 
1524 
1525 def _object_cast_to_TripletScore(o):
1526  r"""_object_cast_to_TripletScore(Object o) -> TripletScore"""
1527  return _IMP_kernel._object_cast_to_TripletScore(o)
1528 
1529 _object_types.append("UnaryFunction")
1530 
1531 
1532 def _object_cast_to_UnaryFunction(o):
1533  r"""_object_cast_to_UnaryFunction(Object o) -> UnaryFunction"""
1534  return _IMP_kernel._object_cast_to_UnaryFunction(o)
1535 
1536 _object_types.append("RestraintInfo")
1537 
1538 
1539 def _object_cast_to_RestraintInfo(o):
1540  r"""_object_cast_to_RestraintInfo(Object o) -> RestraintInfo"""
1541  return _IMP_kernel._object_cast_to_RestraintInfo(o)
1542 
1543 _object_types.append("ConfigurationSet")
1544 
1545 
1546 def _object_cast_to_ConfigurationSet(o):
1547  r"""_object_cast_to_ConfigurationSet(Object o) -> ConfigurationSet"""
1548  return _IMP_kernel._object_cast_to_ConfigurationSet(o)
1549 
1550 _object_types.append("Configuration")
1551 
1552 
1553 def _object_cast_to_Configuration(o):
1554  r"""_object_cast_to_Configuration(Object o) -> Configuration"""
1555  return _IMP_kernel._object_cast_to_Configuration(o)
1556 
1557 _object_types.append("Model")
1558 
1559 
1560 def _object_cast_to_Model(o):
1561  r"""_object_cast_to_Model(Object o) -> Model"""
1562  return _IMP_kernel._object_cast_to_Model(o)
1563 
1564 _object_types.append("Particle")
1565 
1566 
1567 def _object_cast_to_Particle(o):
1568  r"""_object_cast_to_Particle(Object o) -> Particle"""
1569  return _IMP_kernel._object_cast_to_Particle(o)
1570 
1571 _object_types.append("RestraintSet")
1572 
1573 
1574 def _object_cast_to_RestraintSet(o):
1575  r"""_object_cast_to_RestraintSet(Object o) -> RestraintSet"""
1576  return _IMP_kernel._object_cast_to_RestraintSet(o)
1577 
1578 ParticlePairsTemp=list
1579 _plural_types.append("ParticlePairsTemp")
1580 _value_types.append("ParticlePair")
1581 
1582 
1583 ParticleTripletsTemp=list
1584 _plural_types.append("ParticleTripletsTemp")
1585 _value_types.append("ParticleTriplet")
1586 
1587 
1588 ParticleQuadsTemp=list
1589 _plural_types.append("ParticleQuadsTemp")
1590 _value_types.append("ParticleQuad")
1591 
1592 
1593 ParticleIndexPairs=list
1594 _plural_types.append("ParticleIndexPairs")
1595 _value_types.append("ParticleIndexPair")
1596 
1597 
1598 ParticleIndexTriplets=list
1599 _plural_types.append("ParticleIndexTriplets")
1600 _value_types.append("ParticleIndexTriplet")
1601 
1602 
1603 ParticleIndexQuads=list
1604 _plural_types.append("ParticleIndexQuads")
1605 _value_types.append("ParticleIndexQuad")
1606 
1607 
1608 _object_types.append("SingletonPredicate")
1609 
1610 
1611 def _object_cast_to_SingletonPredicate(o):
1612  r"""_object_cast_to_SingletonPredicate(Object o) -> SingletonPredicate"""
1613  return _IMP_kernel._object_cast_to_SingletonPredicate(o)
1614 
1615 _object_types.append("PairPredicate")
1616 
1617 
1618 def _object_cast_to_PairPredicate(o):
1619  r"""_object_cast_to_PairPredicate(Object o) -> PairPredicate"""
1620  return _IMP_kernel._object_cast_to_PairPredicate(o)
1621 
1622 _object_types.append("TripletPredicate")
1623 
1624 
1625 def _object_cast_to_TripletPredicate(o):
1626  r"""_object_cast_to_TripletPredicate(Object o) -> TripletPredicate"""
1627  return _IMP_kernel._object_cast_to_TripletPredicate(o)
1628 
1629 _object_types.append("QuadPredicate")
1630 
1631 
1632 def _object_cast_to_QuadPredicate(o):
1633  r"""_object_cast_to_QuadPredicate(Object o) -> QuadPredicate"""
1634  return _IMP_kernel._object_cast_to_QuadPredicate(o)
1635 
1636 _object_types.append("SaveToConfigurationSetOptimizerState")
1637 
1638 
1639 def _object_cast_to_SaveToConfigurationSetOptimizerState(o):
1640  r"""_object_cast_to_SaveToConfigurationSetOptimizerState(Object o) -> SaveToConfigurationSetOptimizerState"""
1641  return _IMP_kernel._object_cast_to_SaveToConfigurationSetOptimizerState(o)
1642 
1643 EvaluationStates=list
1644 _plural_types.append("EvaluationStates")
1645 _value_types.append("EvaluationState")
1646 
1647 
1648 ScoreAccumulators=list
1649 _plural_types.append("ScoreAccumulators")
1650 _value_types.append("ScoreAccumulator")
1651 
1652 
1653 ParticleIndexes=list
1654 _plural_types.append("ParticleIndexes")
1655 _value_types.append("ParticleIndex")
1656 
1657 
1658 FloatIndexes=list
1659 _plural_types.append("FloatIndexes")
1660 _value_types.append("FloatIndex")
1661 
1662 
1663 FloatKeys=list
1664 _plural_types.append("FloatKeys")
1665 _value_types.append("FloatKey")
1666 
1667 
1668 FloatsKeys=list
1669 _plural_types.append("FloatsKeys")
1670 _value_types.append("FloatsKey")
1671 
1672 
1673 IntKeys=list
1674 _plural_types.append("IntKeys")
1675 _value_types.append("IntKey")
1676 
1677 
1678 IntsKeys=list
1679 _plural_types.append("IntsKeys")
1680 _value_types.append("IntsKey")
1681 
1682 
1683 StringKeys=list
1684 _plural_types.append("StringKeys")
1685 _value_types.append("StringKey")
1686 
1687 
1688 ParticleIndexKeys=list
1689 _plural_types.append("ParticleIndexKeys")
1690 _value_types.append("ParticleIndexKey")
1691 
1692 
1693 ParticleIndexesKeys=list
1694 _plural_types.append("ParticleIndexesKeys")
1695 _value_types.append("ParticleIndexesKey")
1696 
1697 
1698 ObjectKeys=list
1699 _plural_types.append("ObjectKeys")
1700 _value_types.append("ObjectKey")
1701 
1702 
1703 ModelKeys=list
1704 _plural_types.append("ModelKeys")
1705 _value_types.append("ModelKey")
1706 
1707 
1708 TriggerKeys=list
1709 _plural_types.append("TriggerKeys")
1710 _value_types.append("TriggerKey")
1711 
1712 
1713 SparseFloatKeys=list
1714 _plural_types.append("SparseFloatKeys")
1715 _value_types.append("SparseFloatKey")
1716 
1717 
1718 SparseIntKeys=list
1719 _plural_types.append("SparseIntKeys")
1720 _value_types.append("SparseIntKey")
1721 
1722 
1723 SparseStringKeys=list
1724 _plural_types.append("SparseStringKeys")
1725 _value_types.append("SparseStringKey")
1726 
1727 
1728 SparseParticleIndexKeys=list
1729 _plural_types.append("SparseParticleIndexKeys")
1730 _value_types.append("SparseParticleIndexKey")
1731 
1732 
1733 Vector3DKeys=list
1734 _plural_types.append("Vector3DKeys")
1735 _value_types.append("Vector3DKey")
1736 
1737 
1738 _raii_types.append("ScopedSetFloatAttribute")
1739 
1740 
1741 _object_types.append("ScoringFunction")
1742 
1743 
1744 def _object_cast_to_ScoringFunction(o):
1745  r"""_object_cast_to_ScoringFunction(Object o) -> ScoringFunction"""
1746  return _IMP_kernel._object_cast_to_ScoringFunction(o)
1747 
1748 _object_types.append("ModelObject")
1749 
1750 
1751 def _object_cast_to_ModelObject(o):
1752  r"""_object_cast_to_ModelObject(Object o) -> ModelObject"""
1753  return _IMP_kernel._object_cast_to_ModelObject(o)
1754 
1755 def _TrivialDecorators(l=[]):
1756  return [_TrivialDecorator(x) for x in l]
1757 _plural_types.append("_TrivialDecorators")
1758 
1759 
1760 _value_types.append("_TrivialDecorator")
1761 
1762 
1763 def _TrivialDerivedDecorators(l=[]):
1764  return [_TrivialDerivedDecorator(x) for x in l]
1765 _plural_types.append("_TrivialDerivedDecorators")
1766 
1767 
1768 _value_types.append("_TrivialDerivedDecorator")
1769 
1770 
1771 def _TrivialTraitsDecorators(l=[]):
1772  return [_TrivialTraitsDecorator(x) for x in l]
1773 _plural_types.append("_TrivialTraitsDecorators")
1774 
1775 
1776 _value_types.append("_TrivialTraitsDecorator")
1777 
1778 
1779 _object_types.append("_ConstRestraint")
1780 
1781 
1782 def _object_cast_to__ConstRestraint(o):
1783  r"""_object_cast_to__ConstRestraint(Object o) -> _ConstRestraint"""
1784  return _IMP_kernel._object_cast_to__ConstRestraint(o)
1785 
1786 _object_types.append("_ConstOptimizer")
1787 
1788 
1789 def _object_cast_to__ConstOptimizer(o):
1790  r"""_object_cast_to__ConstOptimizer(Object o) -> _ConstOptimizer"""
1791  return _IMP_kernel._object_cast_to__ConstOptimizer(o)
1792 
1793 _object_types.append("_ConstSingletonScore")
1794 
1795 
1796 def _object_cast_to__ConstSingletonScore(o):
1797  r"""_object_cast_to__ConstSingletonScore(Object o) -> _ConstSingletonScore"""
1798  return _IMP_kernel._object_cast_to__ConstSingletonScore(o)
1799 
1800 _object_types.append("_ConstPairScore")
1801 
1802 
1803 def _object_cast_to__ConstPairScore(o):
1804  r"""_object_cast_to__ConstPairScore(Object o) -> _ConstPairScore"""
1805  return _IMP_kernel._object_cast_to__ConstPairScore(o)
1806 class DependencyGraph(Object):
1807  r"""Proxy of C++ IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex > class."""
1808 
1809  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1810  __repr__ = _swig_repr
1811 
1812  def __init__(self):
1813  r"""__init__(DependencyGraph self) -> DependencyGraph"""
1814  _IMP_kernel.DependencyGraph_swiginit(self, _IMP_kernel.new_DependencyGraph())
1815 
1816  def get_graph(self):
1817  r"""get_graph(DependencyGraph self) -> IMP::DependencyGraph const &"""
1818  return _IMP_kernel.DependencyGraph_get_graph(self)
1819 
1820  def get_vertices(self):
1821  r"""get_vertices(DependencyGraph self) -> IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptors"""
1822  return _IMP_kernel.DependencyGraph_get_vertices(self)
1823 
1824  def get_vertex_name(self, i):
1825  r"""get_vertex_name(DependencyGraph self, IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor i) -> ModelObject"""
1826  return _IMP_kernel.DependencyGraph_get_vertex_name(self, i)
1827 
1828  def get_in_neighbors(self, v):
1829  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"""
1830  return _IMP_kernel.DependencyGraph_get_in_neighbors(self, v)
1831 
1832  def get_out_neighbors(self, v):
1833  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"""
1834  return _IMP_kernel.DependencyGraph_get_out_neighbors(self, v)
1835 
1836  def show_graphviz(self, *args):
1837  r"""show_graphviz(DependencyGraph self, _ostream out=std::cout)"""
1838  return _IMP_kernel.DependencyGraph_show_graphviz(self, *args)
1839 
1840  def get_graphviz_string(self):
1841  r"""get_graphviz_string(DependencyGraph self) -> std::string"""
1842  return _IMP_kernel.DependencyGraph_get_graphviz_string(self)
1843 
1844  def add_edge(self, v0, v1):
1845  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)"""
1846  return _IMP_kernel.DependencyGraph_add_edge(self, v0, v1)
1847 
1848  def add_vertex(self, l):
1849  r"""add_vertex(DependencyGraph self, ModelObject l) -> IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor"""
1850  return _IMP_kernel.DependencyGraph_add_vertex(self, l)
1851 
1852  def remove_vertex(self, l):
1853  r"""remove_vertex(DependencyGraph self, IMP::internal::BoostDigraph< IMP::DependencyGraph,IMP::ModelObject *,IMP::ShowDependencyGraphVertex >::VertexDescriptor l)"""
1854  return _IMP_kernel.DependencyGraph_remove_vertex(self, l)
1855  __swig_destroy__ = _IMP_kernel.delete_DependencyGraph
1856 
1857 # Register DependencyGraph in _IMP_kernel:
1858 _IMP_kernel.DependencyGraph_swigregister(DependencyGraph)
1859 
1860 _value_types.append("DependencyGraph")
1861 
1862 class FloatKey(_Value):
1863  r"""Proxy of C++ IMP::Key< 0 > class."""
1864 
1865  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1866 
1867  def __init__(self, *args):
1868  r"""
1869  __init__(FloatKey self) -> FloatKey
1870  __init__(FloatKey self, std::string const & c, bool is_implicit_add_permitted=True) -> FloatKey
1871  __init__(FloatKey self, unsigned int i) -> FloatKey
1872  """
1873  _IMP_kernel.FloatKey_swiginit(self, _IMP_kernel.new_FloatKey(*args))
1874 
1875  @staticmethod
1876  def add_key(sc):
1877  r"""add_key(std::string sc) -> unsigned int"""
1878  return _IMP_kernel.FloatKey_add_key(sc)
1879 
1880  @staticmethod
1881  def get_key_exists(sc):
1882  r"""get_key_exists(std::string sc) -> bool"""
1883  return _IMP_kernel.FloatKey_get_key_exists(sc)
1884 
1885  def get_string(self):
1886  r"""get_string(FloatKey self) -> std::string const"""
1887  return _IMP_kernel.FloatKey_get_string(self)
1888 
1889  def __cmp__(self, o):
1890  r"""__cmp__(FloatKey self, FloatKey o) -> int"""
1891  return _IMP_kernel.FloatKey___cmp__(self, o)
1892 
1893  def __eq__(self, o):
1894  r"""__eq__(FloatKey self, FloatKey o) -> bool"""
1895  return _IMP_kernel.FloatKey___eq__(self, o)
1896 
1897  def __ne__(self, o):
1898  r"""__ne__(FloatKey self, FloatKey o) -> bool"""
1899  return _IMP_kernel.FloatKey___ne__(self, o)
1900 
1901  def __lt__(self, o):
1902  r"""__lt__(FloatKey self, FloatKey o) -> bool"""
1903  return _IMP_kernel.FloatKey___lt__(self, o)
1904 
1905  def __gt__(self, o):
1906  r"""__gt__(FloatKey self, FloatKey o) -> bool"""
1907  return _IMP_kernel.FloatKey___gt__(self, o)
1908 
1909  def __ge__(self, o):
1910  r"""__ge__(FloatKey self, FloatKey o) -> bool"""
1911  return _IMP_kernel.FloatKey___ge__(self, o)
1912 
1913  def __le__(self, o):
1914  r"""__le__(FloatKey self, FloatKey o) -> bool"""
1915  return _IMP_kernel.FloatKey___le__(self, o)
1916 
1917  def __hash__(self):
1918  r"""__hash__(FloatKey self) -> std::size_t"""
1919  return _IMP_kernel.FloatKey___hash__(self)
1920 
1921  def show(self, *args):
1922  r"""show(FloatKey self, _ostream out=std::cout)"""
1923  return _IMP_kernel.FloatKey_show(self, *args)
1924 
1925  @staticmethod
1926  def add_alias(old_key, new_name):
1927  r"""add_alias(FloatKey old_key, std::string new_name) -> FloatKey"""
1928  return _IMP_kernel.FloatKey_add_alias(old_key, new_name)
1929 
1930  @staticmethod
1931  def get_number_of_keys():
1932  r"""get_number_of_keys() -> unsigned int"""
1933  return _IMP_kernel.FloatKey_get_number_of_keys()
1934 
1935  def get_index(self):
1936  r"""get_index(FloatKey self) -> unsigned int"""
1937  return _IMP_kernel.FloatKey_get_index(self)
1938 
1939  @staticmethod
1940  def show_all(out):
1941  r"""show_all(_ostream out)"""
1942  return _IMP_kernel.FloatKey_show_all(out)
1943 
1944  @staticmethod
1945  def get_all_strings():
1946  r"""get_all_strings() -> IMP::Vector< std::string >"""
1947  return _IMP_kernel.FloatKey_get_all_strings()
1948 
1949  @staticmethod
1950  def get_number_unique():
1951  r"""get_number_unique() -> unsigned int"""
1952  return _IMP_kernel.FloatKey_get_number_unique()
1953 
1954  def __str__(self):
1955  r"""__str__(FloatKey self) -> std::string"""
1956  return _IMP_kernel.FloatKey___str__(self)
1957 
1958  def __repr__(self):
1959  r"""__repr__(FloatKey self) -> std::string"""
1960  return _IMP_kernel.FloatKey___repr__(self)
1961  __swig_destroy__ = _IMP_kernel.delete_FloatKey
1962 
1963 # Register FloatKey in _IMP_kernel:
1964 _IMP_kernel.FloatKey_swigregister(FloatKey)
1965 class IntKey(_Value):
1966  r"""Proxy of C++ IMP::Key< 1 > class."""
1967 
1968  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1969 
1970  def __init__(self, *args):
1971  r"""
1972  __init__(IntKey self) -> IntKey
1973  __init__(IntKey self, std::string const & c, bool is_implicit_add_permitted=True) -> IntKey
1974  __init__(IntKey self, unsigned int i) -> IntKey
1975  """
1976  _IMP_kernel.IntKey_swiginit(self, _IMP_kernel.new_IntKey(*args))
1977 
1978  @staticmethod
1979  def add_key(sc):
1980  r"""add_key(std::string sc) -> unsigned int"""
1981  return _IMP_kernel.IntKey_add_key(sc)
1982 
1983  @staticmethod
1984  def get_key_exists(sc):
1985  r"""get_key_exists(std::string sc) -> bool"""
1986  return _IMP_kernel.IntKey_get_key_exists(sc)
1987 
1988  def get_string(self):
1989  r"""get_string(IntKey self) -> std::string const"""
1990  return _IMP_kernel.IntKey_get_string(self)
1991 
1992  def __cmp__(self, o):
1993  r"""__cmp__(IntKey self, IntKey o) -> int"""
1994  return _IMP_kernel.IntKey___cmp__(self, o)
1995 
1996  def __eq__(self, o):
1997  r"""__eq__(IntKey self, IntKey o) -> bool"""
1998  return _IMP_kernel.IntKey___eq__(self, o)
1999 
2000  def __ne__(self, o):
2001  r"""__ne__(IntKey self, IntKey o) -> bool"""
2002  return _IMP_kernel.IntKey___ne__(self, o)
2003 
2004  def __lt__(self, o):
2005  r"""__lt__(IntKey self, IntKey o) -> bool"""
2006  return _IMP_kernel.IntKey___lt__(self, o)
2007 
2008  def __gt__(self, o):
2009  r"""__gt__(IntKey self, IntKey o) -> bool"""
2010  return _IMP_kernel.IntKey___gt__(self, o)
2011 
2012  def __ge__(self, o):
2013  r"""__ge__(IntKey self, IntKey o) -> bool"""
2014  return _IMP_kernel.IntKey___ge__(self, o)
2015 
2016  def __le__(self, o):
2017  r"""__le__(IntKey self, IntKey o) -> bool"""
2018  return _IMP_kernel.IntKey___le__(self, o)
2019 
2020  def __hash__(self):
2021  r"""__hash__(IntKey self) -> std::size_t"""
2022  return _IMP_kernel.IntKey___hash__(self)
2023 
2024  def show(self, *args):
2025  r"""show(IntKey self, _ostream out=std::cout)"""
2026  return _IMP_kernel.IntKey_show(self, *args)
2027 
2028  @staticmethod
2029  def add_alias(old_key, new_name):
2030  r"""add_alias(IntKey old_key, std::string new_name) -> IntKey"""
2031  return _IMP_kernel.IntKey_add_alias(old_key, new_name)
2032 
2033  @staticmethod
2034  def get_number_of_keys():
2035  r"""get_number_of_keys() -> unsigned int"""
2036  return _IMP_kernel.IntKey_get_number_of_keys()
2037 
2038  def get_index(self):
2039  r"""get_index(IntKey self) -> unsigned int"""
2040  return _IMP_kernel.IntKey_get_index(self)
2041 
2042  @staticmethod
2043  def show_all(out):
2044  r"""show_all(_ostream out)"""
2045  return _IMP_kernel.IntKey_show_all(out)
2046 
2047  @staticmethod
2048  def get_all_strings():
2049  r"""get_all_strings() -> IMP::Vector< std::string >"""
2050  return _IMP_kernel.IntKey_get_all_strings()
2051 
2052  @staticmethod
2053  def get_number_unique():
2054  r"""get_number_unique() -> unsigned int"""
2055  return _IMP_kernel.IntKey_get_number_unique()
2056 
2057  def __str__(self):
2058  r"""__str__(IntKey self) -> std::string"""
2059  return _IMP_kernel.IntKey___str__(self)
2060 
2061  def __repr__(self):
2062  r"""__repr__(IntKey self) -> std::string"""
2063  return _IMP_kernel.IntKey___repr__(self)
2064  __swig_destroy__ = _IMP_kernel.delete_IntKey
2065 
2066 # Register IntKey in _IMP_kernel:
2067 _IMP_kernel.IntKey_swigregister(IntKey)
2068 class StringKey(_Value):
2069  r"""Proxy of C++ IMP::Key< 2 > class."""
2070 
2071  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2072 
2073  def __init__(self, *args):
2074  r"""
2075  __init__(StringKey self) -> StringKey
2076  __init__(StringKey self, std::string const & c, bool is_implicit_add_permitted=True) -> StringKey
2077  __init__(StringKey self, unsigned int i) -> StringKey
2078  """
2079  _IMP_kernel.StringKey_swiginit(self, _IMP_kernel.new_StringKey(*args))
2080 
2081  @staticmethod
2082  def add_key(sc):
2083  r"""add_key(std::string sc) -> unsigned int"""
2084  return _IMP_kernel.StringKey_add_key(sc)
2085 
2086  @staticmethod
2087  def get_key_exists(sc):
2088  r"""get_key_exists(std::string sc) -> bool"""
2089  return _IMP_kernel.StringKey_get_key_exists(sc)
2090 
2091  def get_string(self):
2092  r"""get_string(StringKey self) -> std::string const"""
2093  return _IMP_kernel.StringKey_get_string(self)
2094 
2095  def __cmp__(self, o):
2096  r"""__cmp__(StringKey self, StringKey o) -> int"""
2097  return _IMP_kernel.StringKey___cmp__(self, o)
2098 
2099  def __eq__(self, o):
2100  r"""__eq__(StringKey self, StringKey o) -> bool"""
2101  return _IMP_kernel.StringKey___eq__(self, o)
2102 
2103  def __ne__(self, o):
2104  r"""__ne__(StringKey self, StringKey o) -> bool"""
2105  return _IMP_kernel.StringKey___ne__(self, o)
2106 
2107  def __lt__(self, o):
2108  r"""__lt__(StringKey self, StringKey o) -> bool"""
2109  return _IMP_kernel.StringKey___lt__(self, o)
2110 
2111  def __gt__(self, o):
2112  r"""__gt__(StringKey self, StringKey o) -> bool"""
2113  return _IMP_kernel.StringKey___gt__(self, o)
2114 
2115  def __ge__(self, o):
2116  r"""__ge__(StringKey self, StringKey o) -> bool"""
2117  return _IMP_kernel.StringKey___ge__(self, o)
2118 
2119  def __le__(self, o):
2120  r"""__le__(StringKey self, StringKey o) -> bool"""
2121  return _IMP_kernel.StringKey___le__(self, o)
2122 
2123  def __hash__(self):
2124  r"""__hash__(StringKey self) -> std::size_t"""
2125  return _IMP_kernel.StringKey___hash__(self)
2126 
2127  def show(self, *args):
2128  r"""show(StringKey self, _ostream out=std::cout)"""
2129  return _IMP_kernel.StringKey_show(self, *args)
2130 
2131  @staticmethod
2132  def add_alias(old_key, new_name):
2133  r"""add_alias(StringKey old_key, std::string new_name) -> StringKey"""
2134  return _IMP_kernel.StringKey_add_alias(old_key, new_name)
2135 
2136  @staticmethod
2137  def get_number_of_keys():
2138  r"""get_number_of_keys() -> unsigned int"""
2139  return _IMP_kernel.StringKey_get_number_of_keys()
2140 
2141  def get_index(self):
2142  r"""get_index(StringKey self) -> unsigned int"""
2143  return _IMP_kernel.StringKey_get_index(self)
2144 
2145  @staticmethod
2146  def show_all(out):
2147  r"""show_all(_ostream out)"""
2148  return _IMP_kernel.StringKey_show_all(out)
2149 
2150  @staticmethod
2151  def get_all_strings():
2152  r"""get_all_strings() -> IMP::Vector< std::string >"""
2153  return _IMP_kernel.StringKey_get_all_strings()
2154 
2155  @staticmethod
2156  def get_number_unique():
2157  r"""get_number_unique() -> unsigned int"""
2158  return _IMP_kernel.StringKey_get_number_unique()
2159 
2160  def __str__(self):
2161  r"""__str__(StringKey self) -> std::string"""
2162  return _IMP_kernel.StringKey___str__(self)
2163 
2164  def __repr__(self):
2165  r"""__repr__(StringKey self) -> std::string"""
2166  return _IMP_kernel.StringKey___repr__(self)
2167  __swig_destroy__ = _IMP_kernel.delete_StringKey
2168 
2169 # Register StringKey in _IMP_kernel:
2170 _IMP_kernel.StringKey_swigregister(StringKey)
2171 class ParticleIndexKey(_Value):
2172  r"""Proxy of C++ IMP::Key< 3 > class."""
2173 
2174  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2175 
2176  def __init__(self, *args):
2177  r"""
2178  __init__(ParticleIndexKey self) -> ParticleIndexKey
2179  __init__(ParticleIndexKey self, std::string const & c, bool is_implicit_add_permitted=True) -> ParticleIndexKey
2180  __init__(ParticleIndexKey self, unsigned int i) -> ParticleIndexKey
2181  """
2182  _IMP_kernel.ParticleIndexKey_swiginit(self, _IMP_kernel.new_ParticleIndexKey(*args))
2183 
2184  @staticmethod
2185  def add_key(sc):
2186  r"""add_key(std::string sc) -> unsigned int"""
2187  return _IMP_kernel.ParticleIndexKey_add_key(sc)
2188 
2189  @staticmethod
2190  def get_key_exists(sc):
2191  r"""get_key_exists(std::string sc) -> bool"""
2192  return _IMP_kernel.ParticleIndexKey_get_key_exists(sc)
2193 
2194  def get_string(self):
2195  r"""get_string(ParticleIndexKey self) -> std::string const"""
2196  return _IMP_kernel.ParticleIndexKey_get_string(self)
2197 
2198  def __cmp__(self, o):
2199  r"""__cmp__(ParticleIndexKey self, ParticleIndexKey o) -> int"""
2200  return _IMP_kernel.ParticleIndexKey___cmp__(self, o)
2201 
2202  def __eq__(self, o):
2203  r"""__eq__(ParticleIndexKey self, ParticleIndexKey o) -> bool"""
2204  return _IMP_kernel.ParticleIndexKey___eq__(self, o)
2205 
2206  def __ne__(self, o):
2207  r"""__ne__(ParticleIndexKey self, ParticleIndexKey o) -> bool"""
2208  return _IMP_kernel.ParticleIndexKey___ne__(self, o)
2209 
2210  def __lt__(self, o):
2211  r"""__lt__(ParticleIndexKey self, ParticleIndexKey o) -> bool"""
2212  return _IMP_kernel.ParticleIndexKey___lt__(self, o)
2213 
2214  def __gt__(self, o):
2215  r"""__gt__(ParticleIndexKey self, ParticleIndexKey o) -> bool"""
2216  return _IMP_kernel.ParticleIndexKey___gt__(self, o)
2217 
2218  def __ge__(self, o):
2219  r"""__ge__(ParticleIndexKey self, ParticleIndexKey o) -> bool"""
2220  return _IMP_kernel.ParticleIndexKey___ge__(self, o)
2221 
2222  def __le__(self, o):
2223  r"""__le__(ParticleIndexKey self, ParticleIndexKey o) -> bool"""
2224  return _IMP_kernel.ParticleIndexKey___le__(self, o)
2225 
2226  def __hash__(self):
2227  r"""__hash__(ParticleIndexKey self) -> std::size_t"""
2228  return _IMP_kernel.ParticleIndexKey___hash__(self)
2229 
2230  def show(self, *args):
2231  r"""show(ParticleIndexKey self, _ostream out=std::cout)"""
2232  return _IMP_kernel.ParticleIndexKey_show(self, *args)
2233 
2234  @staticmethod
2235  def add_alias(old_key, new_name):
2236  r"""add_alias(ParticleIndexKey old_key, std::string new_name) -> ParticleIndexKey"""
2237  return _IMP_kernel.ParticleIndexKey_add_alias(old_key, new_name)
2238 
2239  @staticmethod
2240  def get_number_of_keys():
2241  r"""get_number_of_keys() -> unsigned int"""
2242  return _IMP_kernel.ParticleIndexKey_get_number_of_keys()
2243 
2244  def get_index(self):
2245  r"""get_index(ParticleIndexKey self) -> unsigned int"""
2246  return _IMP_kernel.ParticleIndexKey_get_index(self)
2247 
2248  @staticmethod
2249  def show_all(out):
2250  r"""show_all(_ostream out)"""
2251  return _IMP_kernel.ParticleIndexKey_show_all(out)
2252 
2253  @staticmethod
2254  def get_all_strings():
2255  r"""get_all_strings() -> IMP::Vector< std::string >"""
2256  return _IMP_kernel.ParticleIndexKey_get_all_strings()
2257 
2258  @staticmethod
2259  def get_number_unique():
2260  r"""get_number_unique() -> unsigned int"""
2261  return _IMP_kernel.ParticleIndexKey_get_number_unique()
2262 
2263  def __str__(self):
2264  r"""__str__(ParticleIndexKey self) -> std::string"""
2265  return _IMP_kernel.ParticleIndexKey___str__(self)
2266 
2267  def __repr__(self):
2268  r"""__repr__(ParticleIndexKey self) -> std::string"""
2269  return _IMP_kernel.ParticleIndexKey___repr__(self)
2270  __swig_destroy__ = _IMP_kernel.delete_ParticleIndexKey
2271 
2272 # Register ParticleIndexKey in _IMP_kernel:
2273 _IMP_kernel.ParticleIndexKey_swigregister(ParticleIndexKey)
2274 class ObjectKey(_Value):
2275  r"""Proxy of C++ IMP::Key< 4 > class."""
2276 
2277  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2278 
2279  def __init__(self, *args):
2280  r"""
2281  __init__(ObjectKey self) -> ObjectKey
2282  __init__(ObjectKey self, std::string const & c, bool is_implicit_add_permitted=True) -> ObjectKey
2283  __init__(ObjectKey self, unsigned int i) -> ObjectKey
2284  """
2285  _IMP_kernel.ObjectKey_swiginit(self, _IMP_kernel.new_ObjectKey(*args))
2286 
2287  @staticmethod
2288  def add_key(sc):
2289  r"""add_key(std::string sc) -> unsigned int"""
2290  return _IMP_kernel.ObjectKey_add_key(sc)
2291 
2292  @staticmethod
2293  def get_key_exists(sc):
2294  r"""get_key_exists(std::string sc) -> bool"""
2295  return _IMP_kernel.ObjectKey_get_key_exists(sc)
2296 
2297  def get_string(self):
2298  r"""get_string(ObjectKey self) -> std::string const"""
2299  return _IMP_kernel.ObjectKey_get_string(self)
2300 
2301  def __cmp__(self, o):
2302  r"""__cmp__(ObjectKey self, ObjectKey o) -> int"""
2303  return _IMP_kernel.ObjectKey___cmp__(self, o)
2304 
2305  def __eq__(self, o):
2306  r"""__eq__(ObjectKey self, ObjectKey o) -> bool"""
2307  return _IMP_kernel.ObjectKey___eq__(self, o)
2308 
2309  def __ne__(self, o):
2310  r"""__ne__(ObjectKey self, ObjectKey o) -> bool"""
2311  return _IMP_kernel.ObjectKey___ne__(self, o)
2312 
2313  def __lt__(self, o):
2314  r"""__lt__(ObjectKey self, ObjectKey o) -> bool"""
2315  return _IMP_kernel.ObjectKey___lt__(self, o)
2316 
2317  def __gt__(self, o):
2318  r"""__gt__(ObjectKey self, ObjectKey o) -> bool"""
2319  return _IMP_kernel.ObjectKey___gt__(self, o)
2320 
2321  def __ge__(self, o):
2322  r"""__ge__(ObjectKey self, ObjectKey o) -> bool"""
2323  return _IMP_kernel.ObjectKey___ge__(self, o)
2324 
2325  def __le__(self, o):
2326  r"""__le__(ObjectKey self, ObjectKey o) -> bool"""
2327  return _IMP_kernel.ObjectKey___le__(self, o)
2328 
2329  def __hash__(self):
2330  r"""__hash__(ObjectKey self) -> std::size_t"""
2331  return _IMP_kernel.ObjectKey___hash__(self)
2332 
2333  def show(self, *args):
2334  r"""show(ObjectKey self, _ostream out=std::cout)"""
2335  return _IMP_kernel.ObjectKey_show(self, *args)
2336 
2337  @staticmethod
2338  def add_alias(old_key, new_name):
2339  r"""add_alias(ObjectKey old_key, std::string new_name) -> ObjectKey"""
2340  return _IMP_kernel.ObjectKey_add_alias(old_key, new_name)
2341 
2342  @staticmethod
2343  def get_number_of_keys():
2344  r"""get_number_of_keys() -> unsigned int"""
2345  return _IMP_kernel.ObjectKey_get_number_of_keys()
2346 
2347  def get_index(self):
2348  r"""get_index(ObjectKey self) -> unsigned int"""
2349  return _IMP_kernel.ObjectKey_get_index(self)
2350 
2351  @staticmethod
2352  def show_all(out):
2353  r"""show_all(_ostream out)"""
2354  return _IMP_kernel.ObjectKey_show_all(out)
2355 
2356  @staticmethod
2357  def get_all_strings():
2358  r"""get_all_strings() -> IMP::Vector< std::string >"""
2359  return _IMP_kernel.ObjectKey_get_all_strings()
2360 
2361  @staticmethod
2362  def get_number_unique():
2363  r"""get_number_unique() -> unsigned int"""
2364  return _IMP_kernel.ObjectKey_get_number_unique()
2365 
2366  def __str__(self):
2367  r"""__str__(ObjectKey self) -> std::string"""
2368  return _IMP_kernel.ObjectKey___str__(self)
2369 
2370  def __repr__(self):
2371  r"""__repr__(ObjectKey self) -> std::string"""
2372  return _IMP_kernel.ObjectKey___repr__(self)
2373  __swig_destroy__ = _IMP_kernel.delete_ObjectKey
2374 
2375 # Register ObjectKey in _IMP_kernel:
2376 _IMP_kernel.ObjectKey_swigregister(ObjectKey)
2377 class IntsKey(_Value):
2378  r"""Proxy of C++ IMP::Key< 5 > class."""
2379 
2380  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2381 
2382  def __init__(self, *args):
2383  r"""
2384  __init__(IntsKey self) -> IntsKey
2385  __init__(IntsKey self, std::string const & c, bool is_implicit_add_permitted=True) -> IntsKey
2386  __init__(IntsKey self, unsigned int i) -> IntsKey
2387  """
2388  _IMP_kernel.IntsKey_swiginit(self, _IMP_kernel.new_IntsKey(*args))
2389 
2390  @staticmethod
2391  def add_key(sc):
2392  r"""add_key(std::string sc) -> unsigned int"""
2393  return _IMP_kernel.IntsKey_add_key(sc)
2394 
2395  @staticmethod
2396  def get_key_exists(sc):
2397  r"""get_key_exists(std::string sc) -> bool"""
2398  return _IMP_kernel.IntsKey_get_key_exists(sc)
2399 
2400  def get_string(self):
2401  r"""get_string(IntsKey self) -> std::string const"""
2402  return _IMP_kernel.IntsKey_get_string(self)
2403 
2404  def __cmp__(self, o):
2405  r"""__cmp__(IntsKey self, IntsKey o) -> int"""
2406  return _IMP_kernel.IntsKey___cmp__(self, o)
2407 
2408  def __eq__(self, o):
2409  r"""__eq__(IntsKey self, IntsKey o) -> bool"""
2410  return _IMP_kernel.IntsKey___eq__(self, o)
2411 
2412  def __ne__(self, o):
2413  r"""__ne__(IntsKey self, IntsKey o) -> bool"""
2414  return _IMP_kernel.IntsKey___ne__(self, o)
2415 
2416  def __lt__(self, o):
2417  r"""__lt__(IntsKey self, IntsKey o) -> bool"""
2418  return _IMP_kernel.IntsKey___lt__(self, o)
2419 
2420  def __gt__(self, o):
2421  r"""__gt__(IntsKey self, IntsKey o) -> bool"""
2422  return _IMP_kernel.IntsKey___gt__(self, o)
2423 
2424  def __ge__(self, o):
2425  r"""__ge__(IntsKey self, IntsKey o) -> bool"""
2426  return _IMP_kernel.IntsKey___ge__(self, o)
2427 
2428  def __le__(self, o):
2429  r"""__le__(IntsKey self, IntsKey o) -> bool"""
2430  return _IMP_kernel.IntsKey___le__(self, o)
2431 
2432  def __hash__(self):
2433  r"""__hash__(IntsKey self) -> std::size_t"""
2434  return _IMP_kernel.IntsKey___hash__(self)
2435 
2436  def show(self, *args):
2437  r"""show(IntsKey self, _ostream out=std::cout)"""
2438  return _IMP_kernel.IntsKey_show(self, *args)
2439 
2440  @staticmethod
2441  def add_alias(old_key, new_name):
2442  r"""add_alias(IntsKey old_key, std::string new_name) -> IntsKey"""
2443  return _IMP_kernel.IntsKey_add_alias(old_key, new_name)
2444 
2445  @staticmethod
2446  def get_number_of_keys():
2447  r"""get_number_of_keys() -> unsigned int"""
2448  return _IMP_kernel.IntsKey_get_number_of_keys()
2449 
2450  def get_index(self):
2451  r"""get_index(IntsKey self) -> unsigned int"""
2452  return _IMP_kernel.IntsKey_get_index(self)
2453 
2454  @staticmethod
2455  def show_all(out):
2456  r"""show_all(_ostream out)"""
2457  return _IMP_kernel.IntsKey_show_all(out)
2458 
2459  @staticmethod
2460  def get_all_strings():
2461  r"""get_all_strings() -> IMP::Vector< std::string >"""
2462  return _IMP_kernel.IntsKey_get_all_strings()
2463 
2464  @staticmethod
2465  def get_number_unique():
2466  r"""get_number_unique() -> unsigned int"""
2467  return _IMP_kernel.IntsKey_get_number_unique()
2468 
2469  def __str__(self):
2470  r"""__str__(IntsKey self) -> std::string"""
2471  return _IMP_kernel.IntsKey___str__(self)
2472 
2473  def __repr__(self):
2474  r"""__repr__(IntsKey self) -> std::string"""
2475  return _IMP_kernel.IntsKey___repr__(self)
2476  __swig_destroy__ = _IMP_kernel.delete_IntsKey
2477 
2478 # Register IntsKey in _IMP_kernel:
2479 _IMP_kernel.IntsKey_swigregister(IntsKey)
2480 class ParticleIndexesKey(_Value):
2481  r"""Proxy of C++ IMP::Key< 6 > class."""
2482 
2483  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2484 
2485  def __init__(self, *args):
2486  r"""
2487  __init__(ParticleIndexesKey self) -> ParticleIndexesKey
2488  __init__(ParticleIndexesKey self, std::string const & c, bool is_implicit_add_permitted=True) -> ParticleIndexesKey
2489  __init__(ParticleIndexesKey self, unsigned int i) -> ParticleIndexesKey
2490  """
2491  _IMP_kernel.ParticleIndexesKey_swiginit(self, _IMP_kernel.new_ParticleIndexesKey(*args))
2492 
2493  @staticmethod
2494  def add_key(sc):
2495  r"""add_key(std::string sc) -> unsigned int"""
2496  return _IMP_kernel.ParticleIndexesKey_add_key(sc)
2497 
2498  @staticmethod
2499  def get_key_exists(sc):
2500  r"""get_key_exists(std::string sc) -> bool"""
2501  return _IMP_kernel.ParticleIndexesKey_get_key_exists(sc)
2502 
2503  def get_string(self):
2504  r"""get_string(ParticleIndexesKey self) -> std::string const"""
2505  return _IMP_kernel.ParticleIndexesKey_get_string(self)
2506 
2507  def __cmp__(self, o):
2508  r"""__cmp__(ParticleIndexesKey self, ParticleIndexesKey o) -> int"""
2509  return _IMP_kernel.ParticleIndexesKey___cmp__(self, o)
2510 
2511  def __eq__(self, o):
2512  r"""__eq__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool"""
2513  return _IMP_kernel.ParticleIndexesKey___eq__(self, o)
2514 
2515  def __ne__(self, o):
2516  r"""__ne__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool"""
2517  return _IMP_kernel.ParticleIndexesKey___ne__(self, o)
2518 
2519  def __lt__(self, o):
2520  r"""__lt__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool"""
2521  return _IMP_kernel.ParticleIndexesKey___lt__(self, o)
2522 
2523  def __gt__(self, o):
2524  r"""__gt__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool"""
2525  return _IMP_kernel.ParticleIndexesKey___gt__(self, o)
2526 
2527  def __ge__(self, o):
2528  r"""__ge__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool"""
2529  return _IMP_kernel.ParticleIndexesKey___ge__(self, o)
2530 
2531  def __le__(self, o):
2532  r"""__le__(ParticleIndexesKey self, ParticleIndexesKey o) -> bool"""
2533  return _IMP_kernel.ParticleIndexesKey___le__(self, o)
2534 
2535  def __hash__(self):
2536  r"""__hash__(ParticleIndexesKey self) -> std::size_t"""
2537  return _IMP_kernel.ParticleIndexesKey___hash__(self)
2538 
2539  def show(self, *args):
2540  r"""show(ParticleIndexesKey self, _ostream out=std::cout)"""
2541  return _IMP_kernel.ParticleIndexesKey_show(self, *args)
2542 
2543  @staticmethod
2544  def add_alias(old_key, new_name):
2545  r"""add_alias(ParticleIndexesKey old_key, std::string new_name) -> ParticleIndexesKey"""
2546  return _IMP_kernel.ParticleIndexesKey_add_alias(old_key, new_name)
2547 
2548  @staticmethod
2549  def get_number_of_keys():
2550  r"""get_number_of_keys() -> unsigned int"""
2551  return _IMP_kernel.ParticleIndexesKey_get_number_of_keys()
2552 
2553  def get_index(self):
2554  r"""get_index(ParticleIndexesKey self) -> unsigned int"""
2555  return _IMP_kernel.ParticleIndexesKey_get_index(self)
2556 
2557  @staticmethod
2558  def show_all(out):
2559  r"""show_all(_ostream out)"""
2560  return _IMP_kernel.ParticleIndexesKey_show_all(out)
2561 
2562  @staticmethod
2563  def get_all_strings():
2564  r"""get_all_strings() -> IMP::Vector< std::string >"""
2565  return _IMP_kernel.ParticleIndexesKey_get_all_strings()
2566 
2567  @staticmethod
2568  def get_number_unique():
2569  r"""get_number_unique() -> unsigned int"""
2570  return _IMP_kernel.ParticleIndexesKey_get_number_unique()
2571 
2572  def __str__(self):
2573  r"""__str__(ParticleIndexesKey self) -> std::string"""
2574  return _IMP_kernel.ParticleIndexesKey___str__(self)
2575 
2576  def __repr__(self):
2577  r"""__repr__(ParticleIndexesKey self) -> std::string"""
2578  return _IMP_kernel.ParticleIndexesKey___repr__(self)
2579  __swig_destroy__ = _IMP_kernel.delete_ParticleIndexesKey
2580 
2581 # Register ParticleIndexesKey in _IMP_kernel:
2582 _IMP_kernel.ParticleIndexesKey_swigregister(ParticleIndexesKey)
2583 class ModelKey(_Value):
2584  r"""Proxy of C++ IMP::Key< 8 > class."""
2585 
2586  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2587 
2588  def __init__(self, *args):
2589  r"""
2590  __init__(ModelKey self) -> ModelKey
2591  __init__(ModelKey self, std::string const & c, bool is_implicit_add_permitted=True) -> ModelKey
2592  __init__(ModelKey self, unsigned int i) -> ModelKey
2593  """
2594  _IMP_kernel.ModelKey_swiginit(self, _IMP_kernel.new_ModelKey(*args))
2595 
2596  @staticmethod
2597  def add_key(sc):
2598  r"""add_key(std::string sc) -> unsigned int"""
2599  return _IMP_kernel.ModelKey_add_key(sc)
2600 
2601  @staticmethod
2602  def get_key_exists(sc):
2603  r"""get_key_exists(std::string sc) -> bool"""
2604  return _IMP_kernel.ModelKey_get_key_exists(sc)
2605 
2606  def get_string(self):
2607  r"""get_string(ModelKey self) -> std::string const"""
2608  return _IMP_kernel.ModelKey_get_string(self)
2609 
2610  def __cmp__(self, o):
2611  r"""__cmp__(ModelKey self, ModelKey o) -> int"""
2612  return _IMP_kernel.ModelKey___cmp__(self, o)
2613 
2614  def __eq__(self, o):
2615  r"""__eq__(ModelKey self, ModelKey o) -> bool"""
2616  return _IMP_kernel.ModelKey___eq__(self, o)
2617 
2618  def __ne__(self, o):
2619  r"""__ne__(ModelKey self, ModelKey o) -> bool"""
2620  return _IMP_kernel.ModelKey___ne__(self, o)
2621 
2622  def __lt__(self, o):
2623  r"""__lt__(ModelKey self, ModelKey o) -> bool"""
2624  return _IMP_kernel.ModelKey___lt__(self, o)
2625 
2626  def __gt__(self, o):
2627  r"""__gt__(ModelKey self, ModelKey o) -> bool"""
2628  return _IMP_kernel.ModelKey___gt__(self, o)
2629 
2630  def __ge__(self, o):
2631  r"""__ge__(ModelKey self, ModelKey o) -> bool"""
2632  return _IMP_kernel.ModelKey___ge__(self, o)
2633 
2634  def __le__(self, o):
2635  r"""__le__(ModelKey self, ModelKey o) -> bool"""
2636  return _IMP_kernel.ModelKey___le__(self, o)
2637 
2638  def __hash__(self):
2639  r"""__hash__(ModelKey self) -> std::size_t"""
2640  return _IMP_kernel.ModelKey___hash__(self)
2641 
2642  def show(self, *args):
2643  r"""show(ModelKey self, _ostream out=std::cout)"""
2644  return _IMP_kernel.ModelKey_show(self, *args)
2645 
2646  @staticmethod
2647  def add_alias(old_key, new_name):
2648  r"""add_alias(ModelKey old_key, std::string new_name) -> ModelKey"""
2649  return _IMP_kernel.ModelKey_add_alias(old_key, new_name)
2650 
2651  @staticmethod
2652  def get_number_of_keys():
2653  r"""get_number_of_keys() -> unsigned int"""
2654  return _IMP_kernel.ModelKey_get_number_of_keys()
2655 
2656  def get_index(self):
2657  r"""get_index(ModelKey self) -> unsigned int"""
2658  return _IMP_kernel.ModelKey_get_index(self)
2659 
2660  @staticmethod
2661  def show_all(out):
2662  r"""show_all(_ostream out)"""
2663  return _IMP_kernel.ModelKey_show_all(out)
2664 
2665  @staticmethod
2666  def get_all_strings():
2667  r"""get_all_strings() -> IMP::Vector< std::string >"""
2668  return _IMP_kernel.ModelKey_get_all_strings()
2669 
2670  @staticmethod
2671  def get_number_unique():
2672  r"""get_number_unique() -> unsigned int"""
2673  return _IMP_kernel.ModelKey_get_number_unique()
2674 
2675  def __str__(self):
2676  r"""__str__(ModelKey self) -> std::string"""
2677  return _IMP_kernel.ModelKey___str__(self)
2678 
2679  def __repr__(self):
2680  r"""__repr__(ModelKey self) -> std::string"""
2681  return _IMP_kernel.ModelKey___repr__(self)
2682  __swig_destroy__ = _IMP_kernel.delete_ModelKey
2683 
2684 # Register ModelKey in _IMP_kernel:
2685 _IMP_kernel.ModelKey_swigregister(ModelKey)
2686 class TriggerKey(_Value):
2687  r"""Proxy of C++ IMP::Key< 11 > class."""
2688 
2689  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2690 
2691  def __init__(self, *args):
2692  r"""
2693  __init__(TriggerKey self) -> TriggerKey
2694  __init__(TriggerKey self, std::string const & c, bool is_implicit_add_permitted=True) -> TriggerKey
2695  __init__(TriggerKey self, unsigned int i) -> TriggerKey
2696  """
2697  _IMP_kernel.TriggerKey_swiginit(self, _IMP_kernel.new_TriggerKey(*args))
2698 
2699  @staticmethod
2700  def add_key(sc):
2701  r"""add_key(std::string sc) -> unsigned int"""
2702  return _IMP_kernel.TriggerKey_add_key(sc)
2703 
2704  @staticmethod
2705  def get_key_exists(sc):
2706  r"""get_key_exists(std::string sc) -> bool"""
2707  return _IMP_kernel.TriggerKey_get_key_exists(sc)
2708 
2709  def get_string(self):
2710  r"""get_string(TriggerKey self) -> std::string const"""
2711  return _IMP_kernel.TriggerKey_get_string(self)
2712 
2713  def __cmp__(self, o):
2714  r"""__cmp__(TriggerKey self, TriggerKey o) -> int"""
2715  return _IMP_kernel.TriggerKey___cmp__(self, o)
2716 
2717  def __eq__(self, o):
2718  r"""__eq__(TriggerKey self, TriggerKey o) -> bool"""
2719  return _IMP_kernel.TriggerKey___eq__(self, o)
2720 
2721  def __ne__(self, o):
2722  r"""__ne__(TriggerKey self, TriggerKey o) -> bool"""
2723  return _IMP_kernel.TriggerKey___ne__(self, o)
2724 
2725  def __lt__(self, o):
2726  r"""__lt__(TriggerKey self, TriggerKey o) -> bool"""
2727  return _IMP_kernel.TriggerKey___lt__(self, o)
2728 
2729  def __gt__(self, o):
2730  r"""__gt__(TriggerKey self, TriggerKey o) -> bool"""
2731  return _IMP_kernel.TriggerKey___gt__(self, o)
2732 
2733  def __ge__(self, o):
2734  r"""__ge__(TriggerKey self, TriggerKey o) -> bool"""
2735  return _IMP_kernel.TriggerKey___ge__(self, o)
2736 
2737  def __le__(self, o):
2738  r"""__le__(TriggerKey self, TriggerKey o) -> bool"""
2739  return _IMP_kernel.TriggerKey___le__(self, o)
2740 
2741  def __hash__(self):
2742  r"""__hash__(TriggerKey self) -> std::size_t"""
2743  return _IMP_kernel.TriggerKey___hash__(self)
2744 
2745  def show(self, *args):
2746  r"""show(TriggerKey self, _ostream out=std::cout)"""
2747  return _IMP_kernel.TriggerKey_show(self, *args)
2748 
2749  @staticmethod
2750  def add_alias(old_key, new_name):
2751  r"""add_alias(TriggerKey old_key, std::string new_name) -> TriggerKey"""
2752  return _IMP_kernel.TriggerKey_add_alias(old_key, new_name)
2753 
2754  @staticmethod
2755  def get_number_of_keys():
2756  r"""get_number_of_keys() -> unsigned int"""
2757  return _IMP_kernel.TriggerKey_get_number_of_keys()
2758 
2759  def get_index(self):
2760  r"""get_index(TriggerKey self) -> unsigned int"""
2761  return _IMP_kernel.TriggerKey_get_index(self)
2762 
2763  @staticmethod
2764  def show_all(out):
2765  r"""show_all(_ostream out)"""
2766  return _IMP_kernel.TriggerKey_show_all(out)
2767 
2768  @staticmethod
2769  def get_all_strings():
2770  r"""get_all_strings() -> IMP::Vector< std::string >"""
2771  return _IMP_kernel.TriggerKey_get_all_strings()
2772 
2773  @staticmethod
2774  def get_number_unique():
2775  r"""get_number_unique() -> unsigned int"""
2776  return _IMP_kernel.TriggerKey_get_number_unique()
2777 
2778  def __str__(self):
2779  r"""__str__(TriggerKey self) -> std::string"""
2780  return _IMP_kernel.TriggerKey___str__(self)
2781 
2782  def __repr__(self):
2783  r"""__repr__(TriggerKey self) -> std::string"""
2784  return _IMP_kernel.TriggerKey___repr__(self)
2785  __swig_destroy__ = _IMP_kernel.delete_TriggerKey
2786 
2787 # Register TriggerKey in _IMP_kernel:
2788 _IMP_kernel.TriggerKey_swigregister(TriggerKey)
2789 class ParticleIndex(object):
2790  r"""Proxy of C++ IMP::Index< IMP::ParticleIndexTag > class."""
2791 
2792  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2793 
2794  def __init__(self, *args):
2795  r"""
2796  __init__(ParticleIndex self, int i) -> ParticleIndex
2797  __init__(ParticleIndex self) -> ParticleIndex
2798  """
2799  _IMP_kernel.ParticleIndex_swiginit(self, _IMP_kernel.new_ParticleIndex(*args))
2800 
2801  def get_index(self):
2802  r"""get_index(ParticleIndex self) -> int"""
2803  return _IMP_kernel.ParticleIndex_get_index(self)
2804 
2805  def __cmp__(self, o):
2806  r"""__cmp__(ParticleIndex self, ParticleIndex o) -> int"""
2807  return _IMP_kernel.ParticleIndex___cmp__(self, o)
2808 
2809  def __eq__(self, o):
2810  r"""__eq__(ParticleIndex self, ParticleIndex o) -> bool"""
2811  return _IMP_kernel.ParticleIndex___eq__(self, o)
2812 
2813  def __ne__(self, o):
2814  r"""__ne__(ParticleIndex self, ParticleIndex o) -> bool"""
2815  return _IMP_kernel.ParticleIndex___ne__(self, o)
2816 
2817  def __lt__(self, o):
2818  r"""__lt__(ParticleIndex self, ParticleIndex o) -> bool"""
2819  return _IMP_kernel.ParticleIndex___lt__(self, o)
2820 
2821  def __gt__(self, o):
2822  r"""__gt__(ParticleIndex self, ParticleIndex o) -> bool"""
2823  return _IMP_kernel.ParticleIndex___gt__(self, o)
2824 
2825  def __ge__(self, o):
2826  r"""__ge__(ParticleIndex self, ParticleIndex o) -> bool"""
2827  return _IMP_kernel.ParticleIndex___ge__(self, o)
2828 
2829  def __le__(self, o):
2830  r"""__le__(ParticleIndex self, ParticleIndex o) -> bool"""
2831  return _IMP_kernel.ParticleIndex___le__(self, o)
2832 
2833  def show(self, *args):
2834  r"""show(ParticleIndex self, _ostream out=std::cout)"""
2835  return _IMP_kernel.ParticleIndex_show(self, *args)
2836 
2837  def __hash__(self):
2838  r"""__hash__(ParticleIndex self) -> std::size_t"""
2839  return _IMP_kernel.ParticleIndex___hash__(self)
2840 
2841  def __str__(self):
2842  r"""__str__(ParticleIndex self) -> std::string"""
2843  return _IMP_kernel.ParticleIndex___str__(self)
2844 
2845  def __repr__(self):
2846  r"""__repr__(ParticleIndex self) -> std::string"""
2847  return _IMP_kernel.ParticleIndex___repr__(self)
2848  __swig_destroy__ = _IMP_kernel.delete_ParticleIndex
2849 
2850 # Register ParticleIndex in _IMP_kernel:
2851 _IMP_kernel.ParticleIndex_swigregister(ParticleIndex)
2852 class FloatsKey(_Value):
2853  r"""Proxy of C++ IMP::Key< 10 > class."""
2854 
2855  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2856 
2857  def __init__(self, *args):
2858  r"""
2859  __init__(FloatsKey self) -> FloatsKey
2860  __init__(FloatsKey self, std::string const & c, bool is_implicit_add_permitted=True) -> FloatsKey
2861  __init__(FloatsKey self, unsigned int i) -> FloatsKey
2862  """
2863  _IMP_kernel.FloatsKey_swiginit(self, _IMP_kernel.new_FloatsKey(*args))
2864 
2865  @staticmethod
2866  def add_key(sc):
2867  r"""add_key(std::string sc) -> unsigned int"""
2868  return _IMP_kernel.FloatsKey_add_key(sc)
2869 
2870  @staticmethod
2871  def get_key_exists(sc):
2872  r"""get_key_exists(std::string sc) -> bool"""
2873  return _IMP_kernel.FloatsKey_get_key_exists(sc)
2874 
2875  def get_string(self):
2876  r"""get_string(FloatsKey self) -> std::string const"""
2877  return _IMP_kernel.FloatsKey_get_string(self)
2878 
2879  def __cmp__(self, o):
2880  r"""__cmp__(FloatsKey self, FloatsKey o) -> int"""
2881  return _IMP_kernel.FloatsKey___cmp__(self, o)
2882 
2883  def __eq__(self, o):
2884  r"""__eq__(FloatsKey self, FloatsKey o) -> bool"""
2885  return _IMP_kernel.FloatsKey___eq__(self, o)
2886 
2887  def __ne__(self, o):
2888  r"""__ne__(FloatsKey self, FloatsKey o) -> bool"""
2889  return _IMP_kernel.FloatsKey___ne__(self, o)
2890 
2891  def __lt__(self, o):
2892  r"""__lt__(FloatsKey self, FloatsKey o) -> bool"""
2893  return _IMP_kernel.FloatsKey___lt__(self, o)
2894 
2895  def __gt__(self, o):
2896  r"""__gt__(FloatsKey self, FloatsKey o) -> bool"""
2897  return _IMP_kernel.FloatsKey___gt__(self, o)
2898 
2899  def __ge__(self, o):
2900  r"""__ge__(FloatsKey self, FloatsKey o) -> bool"""
2901  return _IMP_kernel.FloatsKey___ge__(self, o)
2902 
2903  def __le__(self, o):
2904  r"""__le__(FloatsKey self, FloatsKey o) -> bool"""
2905  return _IMP_kernel.FloatsKey___le__(self, o)
2906 
2907  def __hash__(self):
2908  r"""__hash__(FloatsKey self) -> std::size_t"""
2909  return _IMP_kernel.FloatsKey___hash__(self)
2910 
2911  def show(self, *args):
2912  r"""show(FloatsKey self, _ostream out=std::cout)"""
2913  return _IMP_kernel.FloatsKey_show(self, *args)
2914 
2915  @staticmethod
2916  def add_alias(old_key, new_name):
2917  r"""add_alias(FloatsKey old_key, std::string new_name) -> FloatsKey"""
2918  return _IMP_kernel.FloatsKey_add_alias(old_key, new_name)
2919 
2920  @staticmethod
2921  def get_number_of_keys():
2922  r"""get_number_of_keys() -> unsigned int"""
2923  return _IMP_kernel.FloatsKey_get_number_of_keys()
2924 
2925  def get_index(self):
2926  r"""get_index(FloatsKey self) -> unsigned int"""
2927  return _IMP_kernel.FloatsKey_get_index(self)
2928 
2929  @staticmethod
2930  def show_all(out):
2931  r"""show_all(_ostream out)"""
2932  return _IMP_kernel.FloatsKey_show_all(out)
2933 
2934  @staticmethod
2935  def get_all_strings():
2936  r"""get_all_strings() -> IMP::Vector< std::string >"""
2937  return _IMP_kernel.FloatsKey_get_all_strings()
2938 
2939  @staticmethod
2940  def get_number_unique():
2941  r"""get_number_unique() -> unsigned int"""
2942  return _IMP_kernel.FloatsKey_get_number_unique()
2943 
2944  def __str__(self):
2945  r"""__str__(FloatsKey self) -> std::string"""
2946  return _IMP_kernel.FloatsKey___str__(self)
2947 
2948  def __repr__(self):
2949  r"""__repr__(FloatsKey self) -> std::string"""
2950  return _IMP_kernel.FloatsKey___repr__(self)
2951  __swig_destroy__ = _IMP_kernel.delete_FloatsKey
2952 
2953 # Register FloatsKey in _IMP_kernel:
2954 _IMP_kernel.FloatsKey_swigregister(FloatsKey)
2955 class SparseStringKey(_Value):
2956  r"""Proxy of C++ IMP::Key< 12 > class."""
2957 
2958  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2959 
2960  def __init__(self, *args):
2961  r"""
2962  __init__(SparseStringKey self) -> SparseStringKey
2963  __init__(SparseStringKey self, std::string const & c, bool is_implicit_add_permitted=True) -> SparseStringKey
2964  __init__(SparseStringKey self, unsigned int i) -> SparseStringKey
2965  """
2966  _IMP_kernel.SparseStringKey_swiginit(self, _IMP_kernel.new_SparseStringKey(*args))
2967 
2968  @staticmethod
2969  def add_key(sc):
2970  r"""add_key(std::string sc) -> unsigned int"""
2971  return _IMP_kernel.SparseStringKey_add_key(sc)
2972 
2973  @staticmethod
2974  def get_key_exists(sc):
2975  r"""get_key_exists(std::string sc) -> bool"""
2976  return _IMP_kernel.SparseStringKey_get_key_exists(sc)
2977 
2978  def get_string(self):
2979  r"""get_string(SparseStringKey self) -> std::string const"""
2980  return _IMP_kernel.SparseStringKey_get_string(self)
2981 
2982  def __cmp__(self, o):
2983  r"""__cmp__(SparseStringKey self, SparseStringKey o) -> int"""
2984  return _IMP_kernel.SparseStringKey___cmp__(self, o)
2985 
2986  def __eq__(self, o):
2987  r"""__eq__(SparseStringKey self, SparseStringKey o) -> bool"""
2988  return _IMP_kernel.SparseStringKey___eq__(self, o)
2989 
2990  def __ne__(self, o):
2991  r"""__ne__(SparseStringKey self, SparseStringKey o) -> bool"""
2992  return _IMP_kernel.SparseStringKey___ne__(self, o)
2993 
2994  def __lt__(self, o):
2995  r"""__lt__(SparseStringKey self, SparseStringKey o) -> bool"""
2996  return _IMP_kernel.SparseStringKey___lt__(self, o)
2997 
2998  def __gt__(self, o):
2999  r"""__gt__(SparseStringKey self, SparseStringKey o) -> bool"""
3000  return _IMP_kernel.SparseStringKey___gt__(self, o)
3001 
3002  def __ge__(self, o):
3003  r"""__ge__(SparseStringKey self, SparseStringKey o) -> bool"""
3004  return _IMP_kernel.SparseStringKey___ge__(self, o)
3005 
3006  def __le__(self, o):
3007  r"""__le__(SparseStringKey self, SparseStringKey o) -> bool"""
3008  return _IMP_kernel.SparseStringKey___le__(self, o)
3009 
3010  def __hash__(self):
3011  r"""__hash__(SparseStringKey self) -> std::size_t"""
3012  return _IMP_kernel.SparseStringKey___hash__(self)
3013 
3014  def show(self, *args):
3015  r"""show(SparseStringKey self, _ostream out=std::cout)"""
3016  return _IMP_kernel.SparseStringKey_show(self, *args)
3017 
3018  @staticmethod
3019  def add_alias(old_key, new_name):
3020  r"""add_alias(SparseStringKey old_key, std::string new_name) -> SparseStringKey"""
3021  return _IMP_kernel.SparseStringKey_add_alias(old_key, new_name)
3022 
3023  @staticmethod
3024  def get_number_of_keys():
3025  r"""get_number_of_keys() -> unsigned int"""
3026  return _IMP_kernel.SparseStringKey_get_number_of_keys()
3027 
3028  def get_index(self):
3029  r"""get_index(SparseStringKey self) -> unsigned int"""
3030  return _IMP_kernel.SparseStringKey_get_index(self)
3031 
3032  @staticmethod
3033  def show_all(out):
3034  r"""show_all(_ostream out)"""
3035  return _IMP_kernel.SparseStringKey_show_all(out)
3036 
3037  @staticmethod
3038  def get_all_strings():
3039  r"""get_all_strings() -> IMP::Vector< std::string >"""
3040  return _IMP_kernel.SparseStringKey_get_all_strings()
3041 
3042  @staticmethod
3043  def get_number_unique():
3044  r"""get_number_unique() -> unsigned int"""
3045  return _IMP_kernel.SparseStringKey_get_number_unique()
3046 
3047  def __str__(self):
3048  r"""__str__(SparseStringKey self) -> std::string"""
3049  return _IMP_kernel.SparseStringKey___str__(self)
3050 
3051  def __repr__(self):
3052  r"""__repr__(SparseStringKey self) -> std::string"""
3053  return _IMP_kernel.SparseStringKey___repr__(self)
3054  __swig_destroy__ = _IMP_kernel.delete_SparseStringKey
3055 
3056 # Register SparseStringKey in _IMP_kernel:
3057 _IMP_kernel.SparseStringKey_swigregister(SparseStringKey)
3058 class SparseIntKey(_Value):
3059  r"""Proxy of C++ IMP::Key< 13 > class."""
3060 
3061  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3062 
3063  def __init__(self, *args):
3064  r"""
3065  __init__(SparseIntKey self) -> SparseIntKey
3066  __init__(SparseIntKey self, std::string const & c, bool is_implicit_add_permitted=True) -> SparseIntKey
3067  __init__(SparseIntKey self, unsigned int i) -> SparseIntKey
3068  """
3069  _IMP_kernel.SparseIntKey_swiginit(self, _IMP_kernel.new_SparseIntKey(*args))
3070 
3071  @staticmethod
3072  def add_key(sc):
3073  r"""add_key(std::string sc) -> unsigned int"""
3074  return _IMP_kernel.SparseIntKey_add_key(sc)
3075 
3076  @staticmethod
3077  def get_key_exists(sc):
3078  r"""get_key_exists(std::string sc) -> bool"""
3079  return _IMP_kernel.SparseIntKey_get_key_exists(sc)
3080 
3081  def get_string(self):
3082  r"""get_string(SparseIntKey self) -> std::string const"""
3083  return _IMP_kernel.SparseIntKey_get_string(self)
3084 
3085  def __cmp__(self, o):
3086  r"""__cmp__(SparseIntKey self, SparseIntKey o) -> int"""
3087  return _IMP_kernel.SparseIntKey___cmp__(self, o)
3088 
3089  def __eq__(self, o):
3090  r"""__eq__(SparseIntKey self, SparseIntKey o) -> bool"""
3091  return _IMP_kernel.SparseIntKey___eq__(self, o)
3092 
3093  def __ne__(self, o):
3094  r"""__ne__(SparseIntKey self, SparseIntKey o) -> bool"""
3095  return _IMP_kernel.SparseIntKey___ne__(self, o)
3096 
3097  def __lt__(self, o):
3098  r"""__lt__(SparseIntKey self, SparseIntKey o) -> bool"""
3099  return _IMP_kernel.SparseIntKey___lt__(self, o)
3100 
3101  def __gt__(self, o):
3102  r"""__gt__(SparseIntKey self, SparseIntKey o) -> bool"""
3103  return _IMP_kernel.SparseIntKey___gt__(self, o)
3104 
3105  def __ge__(self, o):
3106  r"""__ge__(SparseIntKey self, SparseIntKey o) -> bool"""
3107  return _IMP_kernel.SparseIntKey___ge__(self, o)
3108 
3109  def __le__(self, o):
3110  r"""__le__(SparseIntKey self, SparseIntKey o) -> bool"""
3111  return _IMP_kernel.SparseIntKey___le__(self, o)
3112 
3113  def __hash__(self):
3114  r"""__hash__(SparseIntKey self) -> std::size_t"""
3115  return _IMP_kernel.SparseIntKey___hash__(self)
3116 
3117  def show(self, *args):
3118  r"""show(SparseIntKey self, _ostream out=std::cout)"""
3119  return _IMP_kernel.SparseIntKey_show(self, *args)
3120 
3121  @staticmethod
3122  def add_alias(old_key, new_name):
3123  r"""add_alias(SparseIntKey old_key, std::string new_name) -> SparseIntKey"""
3124  return _IMP_kernel.SparseIntKey_add_alias(old_key, new_name)
3125 
3126  @staticmethod
3127  def get_number_of_keys():
3128  r"""get_number_of_keys() -> unsigned int"""
3129  return _IMP_kernel.SparseIntKey_get_number_of_keys()
3130 
3131  def get_index(self):
3132  r"""get_index(SparseIntKey self) -> unsigned int"""
3133  return _IMP_kernel.SparseIntKey_get_index(self)
3134 
3135  @staticmethod
3136  def show_all(out):
3137  r"""show_all(_ostream out)"""
3138  return _IMP_kernel.SparseIntKey_show_all(out)
3139 
3140  @staticmethod
3141  def get_all_strings():
3142  r"""get_all_strings() -> IMP::Vector< std::string >"""
3143  return _IMP_kernel.SparseIntKey_get_all_strings()
3144 
3145  @staticmethod
3146  def get_number_unique():
3147  r"""get_number_unique() -> unsigned int"""
3148  return _IMP_kernel.SparseIntKey_get_number_unique()
3149 
3150  def __str__(self):
3151  r"""__str__(SparseIntKey self) -> std::string"""
3152  return _IMP_kernel.SparseIntKey___str__(self)
3153 
3154  def __repr__(self):
3155  r"""__repr__(SparseIntKey self) -> std::string"""
3156  return _IMP_kernel.SparseIntKey___repr__(self)
3157  __swig_destroy__ = _IMP_kernel.delete_SparseIntKey
3158 
3159 # Register SparseIntKey in _IMP_kernel:
3160 _IMP_kernel.SparseIntKey_swigregister(SparseIntKey)
3161 class SparseFloatKey(_Value):
3162  r"""Proxy of C++ IMP::Key< 14 > class."""
3163 
3164  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3165 
3166  def __init__(self, *args):
3167  r"""
3168  __init__(SparseFloatKey self) -> SparseFloatKey
3169  __init__(SparseFloatKey self, std::string const & c, bool is_implicit_add_permitted=True) -> SparseFloatKey
3170  __init__(SparseFloatKey self, unsigned int i) -> SparseFloatKey
3171  """
3172  _IMP_kernel.SparseFloatKey_swiginit(self, _IMP_kernel.new_SparseFloatKey(*args))
3173 
3174  @staticmethod
3175  def add_key(sc):
3176  r"""add_key(std::string sc) -> unsigned int"""
3177  return _IMP_kernel.SparseFloatKey_add_key(sc)
3178 
3179  @staticmethod
3180  def get_key_exists(sc):
3181  r"""get_key_exists(std::string sc) -> bool"""
3182  return _IMP_kernel.SparseFloatKey_get_key_exists(sc)
3183 
3184  def get_string(self):
3185  r"""get_string(SparseFloatKey self) -> std::string const"""
3186  return _IMP_kernel.SparseFloatKey_get_string(self)
3187 
3188  def __cmp__(self, o):
3189  r"""__cmp__(SparseFloatKey self, SparseFloatKey o) -> int"""
3190  return _IMP_kernel.SparseFloatKey___cmp__(self, o)
3191 
3192  def __eq__(self, o):
3193  r"""__eq__(SparseFloatKey self, SparseFloatKey o) -> bool"""
3194  return _IMP_kernel.SparseFloatKey___eq__(self, o)
3195 
3196  def __ne__(self, o):
3197  r"""__ne__(SparseFloatKey self, SparseFloatKey o) -> bool"""
3198  return _IMP_kernel.SparseFloatKey___ne__(self, o)
3199 
3200  def __lt__(self, o):
3201  r"""__lt__(SparseFloatKey self, SparseFloatKey o) -> bool"""
3202  return _IMP_kernel.SparseFloatKey___lt__(self, o)
3203 
3204  def __gt__(self, o):
3205  r"""__gt__(SparseFloatKey self, SparseFloatKey o) -> bool"""
3206  return _IMP_kernel.SparseFloatKey___gt__(self, o)
3207 
3208  def __ge__(self, o):
3209  r"""__ge__(SparseFloatKey self, SparseFloatKey o) -> bool"""
3210  return _IMP_kernel.SparseFloatKey___ge__(self, o)
3211 
3212  def __le__(self, o):
3213  r"""__le__(SparseFloatKey self, SparseFloatKey o) -> bool"""
3214  return _IMP_kernel.SparseFloatKey___le__(self, o)
3215 
3216  def __hash__(self):
3217  r"""__hash__(SparseFloatKey self) -> std::size_t"""
3218  return _IMP_kernel.SparseFloatKey___hash__(self)
3219 
3220  def show(self, *args):
3221  r"""show(SparseFloatKey self, _ostream out=std::cout)"""
3222  return _IMP_kernel.SparseFloatKey_show(self, *args)
3223 
3224  @staticmethod
3225  def add_alias(old_key, new_name):
3226  r"""add_alias(SparseFloatKey old_key, std::string new_name) -> SparseFloatKey"""
3227  return _IMP_kernel.SparseFloatKey_add_alias(old_key, new_name)
3228 
3229  @staticmethod
3230  def get_number_of_keys():
3231  r"""get_number_of_keys() -> unsigned int"""
3232  return _IMP_kernel.SparseFloatKey_get_number_of_keys()
3233 
3234  def get_index(self):
3235  r"""get_index(SparseFloatKey self) -> unsigned int"""
3236  return _IMP_kernel.SparseFloatKey_get_index(self)
3237 
3238  @staticmethod
3239  def show_all(out):
3240  r"""show_all(_ostream out)"""
3241  return _IMP_kernel.SparseFloatKey_show_all(out)
3242 
3243  @staticmethod
3244  def get_all_strings():
3245  r"""get_all_strings() -> IMP::Vector< std::string >"""
3246  return _IMP_kernel.SparseFloatKey_get_all_strings()
3247 
3248  @staticmethod
3249  def get_number_unique():
3250  r"""get_number_unique() -> unsigned int"""
3251  return _IMP_kernel.SparseFloatKey_get_number_unique()
3252 
3253  def __str__(self):
3254  r"""__str__(SparseFloatKey self) -> std::string"""
3255  return _IMP_kernel.SparseFloatKey___str__(self)
3256 
3257  def __repr__(self):
3258  r"""__repr__(SparseFloatKey self) -> std::string"""
3259  return _IMP_kernel.SparseFloatKey___repr__(self)
3260  __swig_destroy__ = _IMP_kernel.delete_SparseFloatKey
3261 
3262 # Register SparseFloatKey in _IMP_kernel:
3263 _IMP_kernel.SparseFloatKey_swigregister(SparseFloatKey)
3264 class SparseParticleIndexKey(_Value):
3265  r"""Proxy of C++ IMP::Key< 15 > class."""
3266 
3267  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3268 
3269  def __init__(self, *args):
3270  r"""
3271  __init__(SparseParticleIndexKey self) -> SparseParticleIndexKey
3272  __init__(SparseParticleIndexKey self, std::string const & c, bool is_implicit_add_permitted=True) -> SparseParticleIndexKey
3273  __init__(SparseParticleIndexKey self, unsigned int i) -> SparseParticleIndexKey
3274  """
3275  _IMP_kernel.SparseParticleIndexKey_swiginit(self, _IMP_kernel.new_SparseParticleIndexKey(*args))
3276 
3277  @staticmethod
3278  def add_key(sc):
3279  r"""add_key(std::string sc) -> unsigned int"""
3280  return _IMP_kernel.SparseParticleIndexKey_add_key(sc)
3281 
3282  @staticmethod
3283  def get_key_exists(sc):
3284  r"""get_key_exists(std::string sc) -> bool"""
3285  return _IMP_kernel.SparseParticleIndexKey_get_key_exists(sc)
3286 
3287  def get_string(self):
3288  r"""get_string(SparseParticleIndexKey self) -> std::string const"""
3289  return _IMP_kernel.SparseParticleIndexKey_get_string(self)
3290 
3291  def __cmp__(self, o):
3292  r"""__cmp__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> int"""
3293  return _IMP_kernel.SparseParticleIndexKey___cmp__(self, o)
3294 
3295  def __eq__(self, o):
3296  r"""__eq__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool"""
3297  return _IMP_kernel.SparseParticleIndexKey___eq__(self, o)
3298 
3299  def __ne__(self, o):
3300  r"""__ne__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool"""
3301  return _IMP_kernel.SparseParticleIndexKey___ne__(self, o)
3302 
3303  def __lt__(self, o):
3304  r"""__lt__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool"""
3305  return _IMP_kernel.SparseParticleIndexKey___lt__(self, o)
3306 
3307  def __gt__(self, o):
3308  r"""__gt__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool"""
3309  return _IMP_kernel.SparseParticleIndexKey___gt__(self, o)
3310 
3311  def __ge__(self, o):
3312  r"""__ge__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool"""
3313  return _IMP_kernel.SparseParticleIndexKey___ge__(self, o)
3314 
3315  def __le__(self, o):
3316  r"""__le__(SparseParticleIndexKey self, SparseParticleIndexKey o) -> bool"""
3317  return _IMP_kernel.SparseParticleIndexKey___le__(self, o)
3318 
3319  def __hash__(self):
3320  r"""__hash__(SparseParticleIndexKey self) -> std::size_t"""
3321  return _IMP_kernel.SparseParticleIndexKey___hash__(self)
3322 
3323  def show(self, *args):
3324  r"""show(SparseParticleIndexKey self, _ostream out=std::cout)"""
3325  return _IMP_kernel.SparseParticleIndexKey_show(self, *args)
3326 
3327  @staticmethod
3328  def add_alias(old_key, new_name):
3329  r"""add_alias(SparseParticleIndexKey old_key, std::string new_name) -> SparseParticleIndexKey"""
3330  return _IMP_kernel.SparseParticleIndexKey_add_alias(old_key, new_name)
3331 
3332  @staticmethod
3333  def get_number_of_keys():
3334  r"""get_number_of_keys() -> unsigned int"""
3335  return _IMP_kernel.SparseParticleIndexKey_get_number_of_keys()
3336 
3337  def get_index(self):
3338  r"""get_index(SparseParticleIndexKey self) -> unsigned int"""
3339  return _IMP_kernel.SparseParticleIndexKey_get_index(self)
3340 
3341  @staticmethod
3342  def show_all(out):
3343  r"""show_all(_ostream out)"""
3344  return _IMP_kernel.SparseParticleIndexKey_show_all(out)
3345 
3346  @staticmethod
3347  def get_all_strings():
3348  r"""get_all_strings() -> IMP::Vector< std::string >"""
3349  return _IMP_kernel.SparseParticleIndexKey_get_all_strings()
3350 
3351  @staticmethod
3352  def get_number_unique():
3353  r"""get_number_unique() -> unsigned int"""
3354  return _IMP_kernel.SparseParticleIndexKey_get_number_unique()
3355 
3356  def __str__(self):
3357  r"""__str__(SparseParticleIndexKey self) -> std::string"""
3358  return _IMP_kernel.SparseParticleIndexKey___str__(self)
3359 
3360  def __repr__(self):
3361  r"""__repr__(SparseParticleIndexKey self) -> std::string"""
3362  return _IMP_kernel.SparseParticleIndexKey___repr__(self)
3363  __swig_destroy__ = _IMP_kernel.delete_SparseParticleIndexKey
3364 
3365 # Register SparseParticleIndexKey in _IMP_kernel:
3366 _IMP_kernel.SparseParticleIndexKey_swigregister(SparseParticleIndexKey)
3367 class Vector3DKey(_Value):
3368  r"""Proxy of C++ IMP::Key< 16 > class."""
3369 
3370  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3371 
3372  def __init__(self, *args):
3373  r"""
3374  __init__(Vector3DKey self) -> Vector3DKey
3375  __init__(Vector3DKey self, std::string const & c, bool is_implicit_add_permitted=True) -> Vector3DKey
3376  __init__(Vector3DKey self, unsigned int i) -> Vector3DKey
3377  """
3378  _IMP_kernel.Vector3DKey_swiginit(self, _IMP_kernel.new_Vector3DKey(*args))
3379 
3380  @staticmethod
3381  def add_key(sc):
3382  r"""add_key(std::string sc) -> unsigned int"""
3383  return _IMP_kernel.Vector3DKey_add_key(sc)
3384 
3385  @staticmethod
3386  def get_key_exists(sc):
3387  r"""get_key_exists(std::string sc) -> bool"""
3388  return _IMP_kernel.Vector3DKey_get_key_exists(sc)
3389 
3390  def get_string(self):
3391  r"""get_string(Vector3DKey self) -> std::string const"""
3392  return _IMP_kernel.Vector3DKey_get_string(self)
3393 
3394  def __cmp__(self, o):
3395  r"""__cmp__(Vector3DKey self, Vector3DKey o) -> int"""
3396  return _IMP_kernel.Vector3DKey___cmp__(self, o)
3397 
3398  def __eq__(self, o):
3399  r"""__eq__(Vector3DKey self, Vector3DKey o) -> bool"""
3400  return _IMP_kernel.Vector3DKey___eq__(self, o)
3401 
3402  def __ne__(self, o):
3403  r"""__ne__(Vector3DKey self, Vector3DKey o) -> bool"""
3404  return _IMP_kernel.Vector3DKey___ne__(self, o)
3405 
3406  def __lt__(self, o):
3407  r"""__lt__(Vector3DKey self, Vector3DKey o) -> bool"""
3408  return _IMP_kernel.Vector3DKey___lt__(self, o)
3409 
3410  def __gt__(self, o):
3411  r"""__gt__(Vector3DKey self, Vector3DKey o) -> bool"""
3412  return _IMP_kernel.Vector3DKey___gt__(self, o)
3413 
3414  def __ge__(self, o):
3415  r"""__ge__(Vector3DKey self, Vector3DKey o) -> bool"""
3416  return _IMP_kernel.Vector3DKey___ge__(self, o)
3417 
3418  def __le__(self, o):
3419  r"""__le__(Vector3DKey self, Vector3DKey o) -> bool"""
3420  return _IMP_kernel.Vector3DKey___le__(self, o)
3421 
3422  def __hash__(self):
3423  r"""__hash__(Vector3DKey self) -> std::size_t"""
3424  return _IMP_kernel.Vector3DKey___hash__(self)
3425 
3426  def show(self, *args):
3427  r"""show(Vector3DKey self, _ostream out=std::cout)"""
3428  return _IMP_kernel.Vector3DKey_show(self, *args)
3429 
3430  @staticmethod
3431  def add_alias(old_key, new_name):
3432  r"""add_alias(Vector3DKey old_key, std::string new_name) -> Vector3DKey"""
3433  return _IMP_kernel.Vector3DKey_add_alias(old_key, new_name)
3434 
3435  @staticmethod
3436  def get_number_of_keys():
3437  r"""get_number_of_keys() -> unsigned int"""
3438  return _IMP_kernel.Vector3DKey_get_number_of_keys()
3439 
3440  def get_index(self):
3441  r"""get_index(Vector3DKey self) -> unsigned int"""
3442  return _IMP_kernel.Vector3DKey_get_index(self)
3443 
3444  @staticmethod
3445  def show_all(out):
3446  r"""show_all(_ostream out)"""
3447  return _IMP_kernel.Vector3DKey_show_all(out)
3448 
3449  @staticmethod
3450  def get_all_strings():
3451  r"""get_all_strings() -> IMP::Vector< std::string >"""
3452  return _IMP_kernel.Vector3DKey_get_all_strings()
3453 
3454  @staticmethod
3455  def get_number_unique():
3456  r"""get_number_unique() -> unsigned int"""
3457  return _IMP_kernel.Vector3DKey_get_number_unique()
3458 
3459  def __str__(self):
3460  r"""__str__(Vector3DKey self) -> std::string"""
3461  return _IMP_kernel.Vector3DKey___str__(self)
3462 
3463  def __repr__(self):
3464  r"""__repr__(Vector3DKey self) -> std::string"""
3465  return _IMP_kernel.Vector3DKey___repr__(self)
3466  __swig_destroy__ = _IMP_kernel.delete_Vector3DKey
3467 
3468 # Register Vector3DKey in _IMP_kernel:
3469 _IMP_kernel.Vector3DKey_swigregister(Vector3DKey)
3470 
3471 def ParticlePair(a, b):
3472  return (a,b)
3473 def ParticleTriplet(a, b, c):
3474  return (a,b,c)
3475 def ParticleQuad(a, b, c, d):
3476  return (a,b,c,d)
3477 
3478 class FloatIndex(_Value):
3479  r"""Proxy of C++ IMP::FloatIndex class."""
3480 
3481  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3482 
3483  def __init__(self, *args):
3484  r"""__init__(FloatIndex self, ParticleIndex i0=ParticleIndex(), FloatKey i1=FloatKey()) -> FloatIndex"""
3485  _IMP_kernel.FloatIndex_swiginit(self, _IMP_kernel.new_FloatIndex(*args))
3486 
3487  def __hash__(self):
3488  r"""__hash__(FloatIndex self) -> std::size_t"""
3489  return _IMP_kernel.FloatIndex___hash__(self)
3490 
3491  def show(self, *args):
3492  r"""show(FloatIndex self, _ostream out=std::cout)"""
3493  return _IMP_kernel.FloatIndex_show(self, *args)
3494 
3495  def __cmp__(self, o):
3496  r"""__cmp__(FloatIndex self, FloatIndex o) -> int"""
3497  return _IMP_kernel.FloatIndex___cmp__(self, o)
3498 
3499  def __eq__(self, o):
3500  r"""__eq__(FloatIndex self, FloatIndex o) -> bool"""
3501  return _IMP_kernel.FloatIndex___eq__(self, o)
3502 
3503  def __ne__(self, o):
3504  r"""__ne__(FloatIndex self, FloatIndex o) -> bool"""
3505  return _IMP_kernel.FloatIndex___ne__(self, o)
3506 
3507  def __lt__(self, o):
3508  r"""__lt__(FloatIndex self, FloatIndex o) -> bool"""
3509  return _IMP_kernel.FloatIndex___lt__(self, o)
3510 
3511  def __gt__(self, o):
3512  r"""__gt__(FloatIndex self, FloatIndex o) -> bool"""
3513  return _IMP_kernel.FloatIndex___gt__(self, o)
3514 
3515  def __ge__(self, o):
3516  r"""__ge__(FloatIndex self, FloatIndex o) -> bool"""
3517  return _IMP_kernel.FloatIndex___ge__(self, o)
3518 
3519  def __le__(self, o):
3520  r"""__le__(FloatIndex self, FloatIndex o) -> bool"""
3521  return _IMP_kernel.FloatIndex___le__(self, o)
3522 
3523  def get_particle(self):
3524  r"""get_particle(FloatIndex self) -> ParticleIndex const &"""
3525  return _IMP_kernel.FloatIndex_get_particle(self)
3526 
3527  def set_particle(self, v):
3528  r"""set_particle(FloatIndex self, ParticleIndex const & v)"""
3529  return _IMP_kernel.FloatIndex_set_particle(self, v)
3530 
3531  def get_key(self):
3532  r"""get_key(FloatIndex self) -> FloatKey const &"""
3533  return _IMP_kernel.FloatIndex_get_key(self)
3534 
3535  def set_key(self, v):
3536  r"""set_key(FloatIndex self, FloatKey const & v)"""
3537  return _IMP_kernel.FloatIndex_set_key(self, v)
3538 
3539  def __str__(self):
3540  r"""__str__(FloatIndex self) -> std::string"""
3541  return _IMP_kernel.FloatIndex___str__(self)
3542 
3543  def __repr__(self):
3544  r"""__repr__(FloatIndex self) -> std::string"""
3545  return _IMP_kernel.FloatIndex___repr__(self)
3546  __swig_destroy__ = _IMP_kernel.delete_FloatIndex
3547 
3548 # Register FloatIndex in _IMP_kernel:
3549 _IMP_kernel.FloatIndex_swigregister(FloatIndex)
3550 class _ParticleIndexTag(object):
3551  r"""Proxy of C++ IMP::ParticleIndexTag class."""
3552 
3553  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3554  __repr__ = _swig_repr
3555 
3556  def __init__(self):
3557  r"""__init__(_ParticleIndexTag self) -> _ParticleIndexTag"""
3558  _IMP_kernel._ParticleIndexTag_swiginit(self, _IMP_kernel.new__ParticleIndexTag())
3559  __swig_destroy__ = _IMP_kernel.delete__ParticleIndexTag
3560 
3561 # Register _ParticleIndexTag in _IMP_kernel:
3562 _IMP_kernel._ParticleIndexTag_swigregister(_ParticleIndexTag)
3563 class ModelObject(Object):
3564  r"""Proxy of C++ IMP::ModelObject class."""
3565 
3566  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3567 
3568  def __init__(self, *args):
3569  r"""
3570  __init__(ModelObject self, Model m, std::string name) -> ModelObject
3571  __init__(ModelObject self) -> ModelObject
3572  """
3573  if self.__class__ == ModelObject:
3574  _self = None
3575  else:
3576  _self = self
3577  _IMP_kernel.ModelObject_swiginit(self, _IMP_kernel.new_ModelObject(_self, *args))
3578 
3579  if self.__class__ != ModelObject:
3580  _director_objects.register(self)
3581 
3582 
3583 
3584  __swig_destroy__ = _IMP_kernel.delete_ModelObject
3585 
3586  def get_model(self):
3587  m = _IMP_kernel.ModelObject_get_model(self)
3588  if m in _models_set:
3589  m = _models_set_get(m)
3590  return m
3591 
3592 
3593 
3594  def get_inputs(self):
3595  r"""get_inputs(ModelObject self) -> IMP::ModelObjectsTemp"""
3596  return _IMP_kernel.ModelObject_get_inputs(self)
3597 
3598  def get_outputs(self):
3599  r"""get_outputs(ModelObject self) -> IMP::ModelObjectsTemp"""
3600  return _IMP_kernel.ModelObject_get_outputs(self)
3601 
3602  def get_interactions(self):
3603  r"""get_interactions(ModelObject self) -> IMP::ModelObjectsTemps"""
3604  return _IMP_kernel.ModelObject_get_interactions(self)
3605 
3606  def get_has_dependencies(self):
3607  r"""get_has_dependencies(ModelObject self) -> bool"""
3608  return _IMP_kernel.ModelObject_get_has_dependencies(self)
3609 
3610  def set_has_dependencies(self, tf):
3611  r"""set_has_dependencies(ModelObject self, bool tf)"""
3612  return _IMP_kernel.ModelObject_set_has_dependencies(self, tf)
3613 
3614  def set_has_required_score_states(self, tf):
3615  r"""set_has_required_score_states(ModelObject self, bool tf)"""
3616  return _IMP_kernel.ModelObject_set_has_required_score_states(self, tf)
3617 
3618  def get_has_required_score_states(self):
3619  r"""get_has_required_score_states(ModelObject self) -> bool"""
3620  return _IMP_kernel.ModelObject_get_has_required_score_states(self)
3621 
3622  def get_required_score_states(self):
3623  r"""get_required_score_states(ModelObject self) -> IMP::ScoreStatesTemp const &"""
3624  return _IMP_kernel.ModelObject_get_required_score_states(self)
3625 
3626  def handle_set_has_required_score_states(self, arg0):
3627  r"""handle_set_has_required_score_states(ModelObject self, bool arg0)"""
3628  return _IMP_kernel.ModelObject_handle_set_has_required_score_states(self, arg0)
3629 
3630  def do_get_inputs(self):
3631  r"""do_get_inputs(ModelObject self) -> IMP::ModelObjectsTemp"""
3632  return _IMP_kernel.ModelObject_do_get_inputs(self)
3633 
3634  def do_get_outputs(self):
3635  r"""do_get_outputs(ModelObject self) -> IMP::ModelObjectsTemp"""
3636  return _IMP_kernel.ModelObject_do_get_outputs(self)
3637 
3638  def do_get_interactions(self):
3639  r"""do_get_interactions(ModelObject self) -> IMP::ModelObjectsTemps"""
3640  return _IMP_kernel.ModelObject_do_get_interactions(self)
3641 
3642  def __str__(self):
3643  r"""__str__(ModelObject self) -> std::string"""
3644  return _IMP_kernel.ModelObject___str__(self)
3645 
3646  def __repr__(self):
3647  r"""__repr__(ModelObject self) -> std::string"""
3648  return _IMP_kernel.ModelObject___repr__(self)
3649 
3650  @staticmethod
3651  def get_from(o):
3652  return _object_cast_to_ModelObject(o)
3653 
3654 
3655  def do_show(self, out):
3656  pass
3657 
3658  @staticmethod
3659  def get_from(o):
3660  return _object_cast_to_ModelObject(o)
3661 
3662  def __disown__(self):
3663  self.this.disown()
3664  _IMP_kernel.disown_ModelObject(self)
3665  return weakref.proxy(self)
3666 
3667  def do_destroy(self):
3668  r"""do_destroy(ModelObject self)"""
3669  return _IMP_kernel.ModelObject_do_destroy(self)
3670 
3671 # Register ModelObject in _IMP_kernel:
3672 _IMP_kernel.ModelObject_swigregister(ModelObject)
3673 cvar = _IMP_kernel.cvar
3674 NO_MAX = cvar.NO_MAX
3675 BAD_SCORE = cvar.BAD_SCORE
3676 
3677 class _ParticleInputs(object):
3678  r"""Proxy of C++ IMP::ParticleInputs class."""
3679 
3680  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3681 
3682  def __init__(self, *args, **kwargs):
3683  raise AttributeError("No constructor defined - class is abstract")
3684  __repr__ = _swig_repr
3685 
3686  def get_inputs(self, m, pis):
3687  r"""get_inputs(_ParticleInputs self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3688  return _IMP_kernel._ParticleInputs_get_inputs(self, m, pis)
3689 
3690 # Register _ParticleInputs in _IMP_kernel:
3691 _IMP_kernel._ParticleInputs_swigregister(_ParticleInputs)
3692 class _ParticleOutputs(object):
3693  r"""Proxy of C++ IMP::ParticleOutputs class."""
3694 
3695  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3696 
3697  def __init__(self, *args, **kwargs):
3698  raise AttributeError("No constructor defined - class is abstract")
3699  __repr__ = _swig_repr
3700 
3701  def get_outputs(self, m, pis):
3702  r"""get_outputs(_ParticleOutputs self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3703  return _IMP_kernel._ParticleOutputs_get_outputs(self, m, pis)
3704 
3705 # Register _ParticleOutputs in _IMP_kernel:
3706 _IMP_kernel._ParticleOutputs_swigregister(_ParticleOutputs)
3707 
3708 def get_input_particles(mos):
3709  r"""get_input_particles(IMP::ModelObjectsTemp const & mos) -> IMP::ParticlesTemp"""
3710  return _IMP_kernel.get_input_particles(mos)
3711 
3712 def get_input_containers(mos):
3713  r"""get_input_containers(IMP::ModelObjectsTemp const & mos) -> IMP::ContainersTemp"""
3714  return _IMP_kernel.get_input_containers(mos)
3715 
3716 def get_output_particles(mos):
3717  r"""get_output_particles(IMP::ModelObjectsTemp const & mos) -> IMP::ParticlesTemp"""
3718  return _IMP_kernel.get_output_particles(mos)
3719 
3720 def get_output_containers(mos):
3721  r"""get_output_containers(IMP::ModelObjectsTemp const & mos) -> IMP::ContainersTemp"""
3722  return _IMP_kernel.get_output_containers(mos)
3723 class DerivativeAccumulator(object):
3724  r"""Proxy of C++ IMP::DerivativeAccumulator class."""
3725 
3726  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3727  __repr__ = _swig_repr
3728 
3729  def __init__(self, *args):
3730  r"""
3731  __init__(DerivativeAccumulator self, DerivativeAccumulator arg2) -> DerivativeAccumulator
3732  __init__(DerivativeAccumulator self, double weight=1.0) -> DerivativeAccumulator
3733  __init__(DerivativeAccumulator self, DerivativeAccumulator copy, double weight) -> DerivativeAccumulator
3734  """
3735  _IMP_kernel.DerivativeAccumulator_swiginit(self, _IMP_kernel.new_DerivativeAccumulator(*args))
3736 
3737  def __call__(self, value):
3738  r"""__call__(DerivativeAccumulator self, double const value) -> double"""
3739  return _IMP_kernel.DerivativeAccumulator___call__(self, value)
3740 
3741  def get_weight(self):
3742  r"""get_weight(DerivativeAccumulator self) -> double"""
3743  return _IMP_kernel.DerivativeAccumulator_get_weight(self)
3744 
3745  def show(self, *args):
3746  r"""show(DerivativeAccumulator self, _ostream out=std::cout)"""
3747  return _IMP_kernel.DerivativeAccumulator_show(self, *args)
3748  __swig_destroy__ = _IMP_kernel.delete_DerivativeAccumulator
3749 
3750 # Register DerivativeAccumulator in _IMP_kernel:
3751 _IMP_kernel.DerivativeAccumulator_swigregister(DerivativeAccumulator)
3752 class EvaluationState(object):
3753  r"""Proxy of C++ IMP::EvaluationState class."""
3754 
3755  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3756  score = property(_IMP_kernel.EvaluationState_score_get, _IMP_kernel.EvaluationState_score_set, doc=r"""score : double""")
3757  good = property(_IMP_kernel.EvaluationState_good_get, _IMP_kernel.EvaluationState_good_set, doc=r"""good : bool""")
3758 
3759  def __init__(self, *args):
3760  r"""
3761  __init__(EvaluationState self, double oscore, bool ogood) -> EvaluationState
3762  __init__(EvaluationState self) -> EvaluationState
3763  """
3764  _IMP_kernel.EvaluationState_swiginit(self, _IMP_kernel.new_EvaluationState(*args))
3765 
3766  def show(self, *args):
3767  r"""show(EvaluationState self, _ostream out=std::cout)"""
3768  return _IMP_kernel.EvaluationState_show(self, *args)
3769 
3770  def __str__(self):
3771  r"""__str__(EvaluationState self) -> std::string"""
3772  return _IMP_kernel.EvaluationState___str__(self)
3773 
3774  def __repr__(self):
3775  r"""__repr__(EvaluationState self) -> std::string"""
3776  return _IMP_kernel.EvaluationState___repr__(self)
3777  __swig_destroy__ = _IMP_kernel.delete_EvaluationState
3778 
3779 # Register EvaluationState in _IMP_kernel:
3780 _IMP_kernel.EvaluationState_swigregister(EvaluationState)
3781 class ScoreAccumulator(_Value):
3782  r"""Proxy of C++ IMP::ScoreAccumulator class."""
3783 
3784  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3785 
3786  def __init__(self, *args):
3787  r"""
3788  __init__(ScoreAccumulator self, ScoreAccumulator arg2) -> ScoreAccumulator
3789  __init__(ScoreAccumulator self) -> ScoreAccumulator
3790  __init__(ScoreAccumulator self, ScoreAccumulator o, Restraint r) -> ScoreAccumulator
3791  __init__(ScoreAccumulator self, ScoreAccumulator o, double weight, double local_max) -> ScoreAccumulator
3792  """
3793  _IMP_kernel.ScoreAccumulator_swiginit(self, _IMP_kernel.new_ScoreAccumulator(*args))
3794 
3795  def add_score(self, score):
3796  r"""add_score(ScoreAccumulator self, double score)"""
3797  return _IMP_kernel.ScoreAccumulator_add_score(self, score)
3798 
3799  def get_abort_evaluation(self):
3800  r"""get_abort_evaluation(ScoreAccumulator self) -> bool"""
3801  return _IMP_kernel.ScoreAccumulator_get_abort_evaluation(self)
3802 
3803  def get_is_evaluate_if_below(self):
3804  r"""get_is_evaluate_if_below(ScoreAccumulator self) -> bool"""
3805  return _IMP_kernel.ScoreAccumulator_get_is_evaluate_if_below(self)
3806 
3807  def get_is_evaluate_if_good(self):
3808  r"""get_is_evaluate_if_good(ScoreAccumulator self) -> bool"""
3809  return _IMP_kernel.ScoreAccumulator_get_is_evaluate_if_good(self)
3810 
3811  def get_maximum(self):
3812  r"""get_maximum(ScoreAccumulator self) -> double"""
3813  return _IMP_kernel.ScoreAccumulator_get_maximum(self)
3814 
3815  def get_derivative_accumulator(self):
3816  r"""get_derivative_accumulator(ScoreAccumulator self) -> DerivativeAccumulator"""
3817  return _IMP_kernel.ScoreAccumulator_get_derivative_accumulator(self)
3818 
3819  def show(self, *args):
3820  r"""show(ScoreAccumulator self, _ostream out=std::cout)"""
3821  return _IMP_kernel.ScoreAccumulator_show(self, *args)
3822 
3823  def __str__(self):
3824  r"""__str__(ScoreAccumulator self) -> std::string"""
3825  return _IMP_kernel.ScoreAccumulator___str__(self)
3826 
3827  def __repr__(self):
3828  r"""__repr__(ScoreAccumulator self) -> std::string"""
3829  return _IMP_kernel.ScoreAccumulator___repr__(self)
3830  __swig_destroy__ = _IMP_kernel.delete_ScoreAccumulator
3831 
3832 # Register ScoreAccumulator in _IMP_kernel:
3833 _IMP_kernel.ScoreAccumulator_swigregister(ScoreAccumulator)
3834 class ScoreState(ModelObject):
3835  r"""Proxy of C++ IMP::ScoreState class."""
3836 
3837  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3838 
3839  def set_can_skip(self, can_skip):
3840  r"""set_can_skip(ScoreState self, bool can_skip)"""
3841  return _IMP_kernel.ScoreState_set_can_skip(self, can_skip)
3842 
3843  def __init__(self, *args):
3844  r"""
3845  __init__(ScoreState self, Model m, std::string name) -> ScoreState
3846  __init__(ScoreState self) -> ScoreState
3847  """
3848  if self.__class__ == ScoreState:
3849  _self = None
3850  else:
3851  _self = self
3852  _IMP_kernel.ScoreState_swiginit(self, _IMP_kernel.new_ScoreState(_self, *args))
3853 
3854  if self.__class__ != ScoreState:
3855  _director_objects.register(self)
3856 
3857 
3858 
3859 
3860  def before_evaluate(self):
3861  r"""before_evaluate(ScoreState self)"""
3862  return _IMP_kernel.ScoreState_before_evaluate(self)
3863 
3864  def after_evaluate(self, accpt):
3865  r"""after_evaluate(ScoreState self, DerivativeAccumulator accpt)"""
3866  return _IMP_kernel.ScoreState_after_evaluate(self, accpt)
3867 
3868  def get_can_skip(self):
3869  r"""get_can_skip(ScoreState self) -> bool"""
3870  return _IMP_kernel.ScoreState_get_can_skip(self)
3871 
3872  def get_has_update_order(self):
3873  r"""get_has_update_order(ScoreState self) -> bool"""
3874  return _IMP_kernel.ScoreState_get_has_update_order(self)
3875 
3876  def get_update_order(self):
3877  r"""get_update_order(ScoreState self) -> unsigned int"""
3878  return _IMP_kernel.ScoreState_get_update_order(self)
3879 
3880  def handle_set_has_required_score_states(self, tf):
3881  r"""handle_set_has_required_score_states(ScoreState self, bool tf)"""
3882  return _IMP_kernel.ScoreState_handle_set_has_required_score_states(self, tf)
3883 
3884  def do_before_evaluate(self):
3885  r"""do_before_evaluate(ScoreState self)"""
3886  return _IMP_kernel.ScoreState_do_before_evaluate(self)
3887 
3888  def do_after_evaluate(self, accpt):
3889  r"""do_after_evaluate(ScoreState self, DerivativeAccumulator accpt)"""
3890  return _IMP_kernel.ScoreState_do_after_evaluate(self, accpt)
3891  __swig_destroy__ = _IMP_kernel.delete_ScoreState
3892 
3893  def __str__(self):
3894  r"""__str__(ScoreState self) -> std::string"""
3895  return _IMP_kernel.ScoreState___str__(self)
3896 
3897  def __repr__(self):
3898  r"""__repr__(ScoreState self) -> std::string"""
3899  return _IMP_kernel.ScoreState___repr__(self)
3900 
3901  @staticmethod
3902  def get_from(o):
3903  return _object_cast_to_ScoreState(o)
3904 
3905 
3906  def do_show(self, out):
3907  pass
3908 
3909  @staticmethod
3910  def get_from(o):
3911  return _object_cast_to_ScoreState(o)
3912 
3913  def __disown__(self):
3914  self.this.disown()
3915  _IMP_kernel.disown_ScoreState(self)
3916  return weakref.proxy(self)
3917 
3918  def do_destroy(self):
3919  r"""do_destroy(ScoreState self)"""
3920  return _IMP_kernel.ScoreState_do_destroy(self)
3921 
3922  def do_get_inputs(self):
3923  r"""do_get_inputs(ScoreState self) -> IMP::ModelObjectsTemp"""
3924  return _IMP_kernel.ScoreState_do_get_inputs(self)
3925 
3926  def do_get_outputs(self):
3927  r"""do_get_outputs(ScoreState self) -> IMP::ModelObjectsTemp"""
3928  return _IMP_kernel.ScoreState_do_get_outputs(self)
3929 
3930  def do_get_interactions(self):
3931  r"""do_get_interactions(ScoreState self) -> IMP::ModelObjectsTemps"""
3932  return _IMP_kernel.ScoreState_do_get_interactions(self)
3933 
3934 # Register ScoreState in _IMP_kernel:
3935 _IMP_kernel.ScoreState_swigregister(ScoreState)
3936 
3937 def get_update_order(input):
3938  r"""get_update_order(IMP::ScoreStatesTemp input) -> IMP::ScoreStatesTemp"""
3939  return _IMP_kernel.get_update_order(input)
3940 class Constraint(ScoreState):
3941  r"""Proxy of C++ IMP::Constraint class."""
3942 
3943  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3944 
3945  def __init__(self, *args):
3946  r"""
3947  __init__(Constraint self, Model m, std::string name="Constraint %1%") -> Constraint
3948  __init__(Constraint self) -> Constraint
3949  """
3950  if self.__class__ == Constraint:
3951  _self = None
3952  else:
3953  _self = self
3954  _IMP_kernel.Constraint_swiginit(self, _IMP_kernel.new_Constraint(_self, *args))
3955 
3956  if self.__class__ != Constraint:
3957  _director_objects.register(self)
3958 
3959 
3960 
3961 
3962  def do_update_attributes(self):
3963  r"""do_update_attributes(Constraint self)"""
3964  return _IMP_kernel.Constraint_do_update_attributes(self)
3965 
3966  def do_update_derivatives(self, da):
3967  r"""do_update_derivatives(Constraint self, DerivativeAccumulator da)"""
3968  return _IMP_kernel.Constraint_do_update_derivatives(self, da)
3969 
3970  def do_before_evaluate(self):
3971  r"""do_before_evaluate(Constraint self)"""
3972  return _IMP_kernel.Constraint_do_before_evaluate(self)
3973 
3974  def do_after_evaluate(self, da):
3975  r"""do_after_evaluate(Constraint self, DerivativeAccumulator da)"""
3976  return _IMP_kernel.Constraint_do_after_evaluate(self, da)
3977  __swig_destroy__ = _IMP_kernel.delete_Constraint
3978 
3979  def __str__(self):
3980  r"""__str__(Constraint self) -> std::string"""
3981  return _IMP_kernel.Constraint___str__(self)
3982 
3983  def __repr__(self):
3984  r"""__repr__(Constraint self) -> std::string"""
3985  return _IMP_kernel.Constraint___repr__(self)
3986 
3987  @staticmethod
3988  def get_from(o):
3989  return _object_cast_to_Constraint(o)
3990 
3991 
3992  def do_show(self, out):
3993  pass
3994 
3995  @staticmethod
3996  def get_from(o):
3997  return _object_cast_to_Constraint(o)
3998 
3999  def __disown__(self):
4000  self.this.disown()
4001  _IMP_kernel.disown_Constraint(self)
4002  return weakref.proxy(self)
4003 
4004  def do_destroy(self):
4005  r"""do_destroy(Constraint self)"""
4006  return _IMP_kernel.Constraint_do_destroy(self)
4007 
4008  def do_get_inputs(self):
4009  r"""do_get_inputs(Constraint self) -> IMP::ModelObjectsTemp"""
4010  return _IMP_kernel.Constraint_do_get_inputs(self)
4011 
4012  def do_get_outputs(self):
4013  r"""do_get_outputs(Constraint self) -> IMP::ModelObjectsTemp"""
4014  return _IMP_kernel.Constraint_do_get_outputs(self)
4015 
4016  def do_get_interactions(self):
4017  r"""do_get_interactions(Constraint self) -> IMP::ModelObjectsTemps"""
4018  return _IMP_kernel.Constraint_do_get_interactions(self)
4019 
4020 # Register Constraint in _IMP_kernel:
4021 _IMP_kernel.Constraint_swigregister(Constraint)
4022 class Container(ModelObject):
4023  r"""Proxy of C++ IMP::Container class."""
4024 
4025  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4026 
4027  def __init__(self, *args):
4028  r"""
4029  __init__(Container self, Model m, std::string name="Container %1%") -> Container
4030  __init__(Container self) -> Container
4031  """
4032  if self.__class__ == Container:
4033  _self = None
4034  else:
4035  _self = self
4036  _IMP_kernel.Container_swiginit(self, _IMP_kernel.new_Container(_self, *args))
4037 
4038  if self.__class__ != Container:
4039  _director_objects.register(self)
4040 
4041 
4042 
4043 
4044  def do_get_contents_hash(self):
4045  r"""do_get_contents_hash(Container self) -> std::size_t"""
4046  return _IMP_kernel.Container_do_get_contents_hash(self)
4047 
4048  def get_all_possible_indexes(self):
4049  r"""get_all_possible_indexes(Container self) -> IMP::ParticleIndexes"""
4050  return _IMP_kernel.Container_get_all_possible_indexes(self)
4051 
4052  def get_contents_hash(self):
4053  r"""get_contents_hash(Container self) -> std::size_t"""
4054  return _IMP_kernel.Container_get_contents_hash(self)
4055 
4056  def do_get_outputs(self):
4057  r"""do_get_outputs(Container self) -> IMP::ModelObjectsTemp"""
4058  return _IMP_kernel.Container_do_get_outputs(self)
4059 
4060  def get_is_decomposable(self):
4061  r"""get_is_decomposable(Container self) -> bool"""
4062  return _IMP_kernel.Container_get_is_decomposable(self)
4063 
4064  def validate_readable(self):
4065  r"""validate_readable(Container self)"""
4066  return _IMP_kernel.Container_validate_readable(self)
4067 
4068  def validate_writable(self):
4069  r"""validate_writable(Container self)"""
4070  return _IMP_kernel.Container_validate_writable(self)
4071 
4072  def set_is_readable(self, tf):
4073  r"""set_is_readable(Container self, bool tf)"""
4074  return _IMP_kernel.Container_set_is_readable(self, tf)
4075 
4076  def set_is_writable(self, tf):
4077  r"""set_is_writable(Container self, bool tf)"""
4078  return _IMP_kernel.Container_set_is_writable(self, tf)
4079  __swig_destroy__ = _IMP_kernel.delete_Container
4080 
4081  def __str__(self):
4082  r"""__str__(Container self) -> std::string"""
4083  return _IMP_kernel.Container___str__(self)
4084 
4085  def __repr__(self):
4086  r"""__repr__(Container self) -> std::string"""
4087  return _IMP_kernel.Container___repr__(self)
4088 
4089  @staticmethod
4090  def get_from(o):
4091  return _object_cast_to_Container(o)
4092 
4093 
4094  def do_show(self, out):
4095  pass
4096 
4097  @staticmethod
4098  def get_from(o):
4099  return _object_cast_to_Container(o)
4100 
4101  def __disown__(self):
4102  self.this.disown()
4103  _IMP_kernel.disown_Container(self)
4104  return weakref.proxy(self)
4105 
4106  def do_destroy(self):
4107  r"""do_destroy(Container self)"""
4108  return _IMP_kernel.Container_do_destroy(self)
4109 
4110  def handle_set_has_required_score_states(self, arg0):
4111  r"""handle_set_has_required_score_states(Container self, bool arg0)"""
4112  return _IMP_kernel.Container_handle_set_has_required_score_states(self, arg0)
4113 
4114  def do_get_inputs(self):
4115  r"""do_get_inputs(Container self) -> IMP::ModelObjectsTemp"""
4116  return _IMP_kernel.Container_do_get_inputs(self)
4117 
4118  def do_get_interactions(self):
4119  r"""do_get_interactions(Container self) -> IMP::ModelObjectsTemps"""
4120  return _IMP_kernel.Container_do_get_interactions(self)
4121 
4122 # Register Container in _IMP_kernel:
4123 _IMP_kernel.Container_swigregister(Container)
4124 class RestraintInfo(Object):
4125  r"""Proxy of C++ IMP::RestraintInfo class."""
4126 
4127  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4128 
4129  def __init__(self, *args):
4130  r"""__init__(RestraintInfo self, std::string name="RestraintInfo %1%") -> RestraintInfo"""
4131  _IMP_kernel.RestraintInfo_swiginit(self, _IMP_kernel.new_RestraintInfo(*args))
4132 
4133  def clear(self):
4134  r"""clear(RestraintInfo self)"""
4135  return _IMP_kernel.RestraintInfo_clear(self)
4136 
4137  def add_int(self, key, value):
4138  r"""add_int(RestraintInfo self, std::string key, int value)"""
4139  return _IMP_kernel.RestraintInfo_add_int(self, key, value)
4140 
4141  def get_number_of_int(self):
4142  r"""get_number_of_int(RestraintInfo self) -> unsigned int"""
4143  return _IMP_kernel.RestraintInfo_get_number_of_int(self)
4144 
4145  def get_int_key(self, i):
4146  r"""get_int_key(RestraintInfo self, unsigned int i) -> std::string"""
4147  return _IMP_kernel.RestraintInfo_get_int_key(self, i)
4148 
4149  def get_int_value(self, i):
4150  r"""get_int_value(RestraintInfo self, unsigned int i) -> int"""
4151  return _IMP_kernel.RestraintInfo_get_int_value(self, i)
4152 
4153  def add_float(self, key, value):
4154  r"""add_float(RestraintInfo self, std::string key, double value)"""
4155  return _IMP_kernel.RestraintInfo_add_float(self, key, value)
4156 
4157  def get_number_of_float(self):
4158  r"""get_number_of_float(RestraintInfo self) -> unsigned int"""
4159  return _IMP_kernel.RestraintInfo_get_number_of_float(self)
4160 
4161  def get_float_key(self, i):
4162  r"""get_float_key(RestraintInfo self, unsigned int i) -> std::string"""
4163  return _IMP_kernel.RestraintInfo_get_float_key(self, i)
4164 
4165  def get_float_value(self, i):
4166  r"""get_float_value(RestraintInfo self, unsigned int i) -> double"""
4167  return _IMP_kernel.RestraintInfo_get_float_value(self, i)
4168 
4169  def add_string(self, key, value):
4170  r"""add_string(RestraintInfo self, std::string key, std::string value)"""
4171  return _IMP_kernel.RestraintInfo_add_string(self, key, value)
4172 
4173  def get_number_of_string(self):
4174  r"""get_number_of_string(RestraintInfo self) -> unsigned int"""
4175  return _IMP_kernel.RestraintInfo_get_number_of_string(self)
4176 
4177  def get_string_key(self, i):
4178  r"""get_string_key(RestraintInfo self, unsigned int i) -> std::string"""
4179  return _IMP_kernel.RestraintInfo_get_string_key(self, i)
4180 
4181  def get_string_value(self, i):
4182  r"""get_string_value(RestraintInfo self, unsigned int i) -> std::string"""
4183  return _IMP_kernel.RestraintInfo_get_string_value(self, i)
4184 
4185  def add_filename(self, key, value):
4186  r"""add_filename(RestraintInfo self, std::string key, std::string value)"""
4187  return _IMP_kernel.RestraintInfo_add_filename(self, key, value)
4188 
4189  def get_number_of_filename(self):
4190  r"""get_number_of_filename(RestraintInfo self) -> unsigned int"""
4191  return _IMP_kernel.RestraintInfo_get_number_of_filename(self)
4192 
4193  def get_filename_key(self, i):
4194  r"""get_filename_key(RestraintInfo self, unsigned int i) -> std::string"""
4195  return _IMP_kernel.RestraintInfo_get_filename_key(self, i)
4196 
4197  def get_filename_value(self, i):
4198  r"""get_filename_value(RestraintInfo self, unsigned int i) -> std::string"""
4199  return _IMP_kernel.RestraintInfo_get_filename_value(self, i)
4200 
4201  def add_floats(self, key, value):
4202  r"""add_floats(RestraintInfo self, std::string key, IMP::Floats value)"""
4203  return _IMP_kernel.RestraintInfo_add_floats(self, key, value)
4204 
4205  def get_number_of_floats(self):
4206  r"""get_number_of_floats(RestraintInfo self) -> unsigned int"""
4207  return _IMP_kernel.RestraintInfo_get_number_of_floats(self)
4208 
4209  def get_floats_key(self, i):
4210  r"""get_floats_key(RestraintInfo self, unsigned int i) -> std::string"""
4211  return _IMP_kernel.RestraintInfo_get_floats_key(self, i)
4212 
4213  def get_floats_value(self, i):
4214  r"""get_floats_value(RestraintInfo self, unsigned int i) -> IMP::Floats"""
4215  return _IMP_kernel.RestraintInfo_get_floats_value(self, i)
4216 
4217  def add_ints(self, key, value):
4218  r"""add_ints(RestraintInfo self, std::string key, IMP::Ints value)"""
4219  return _IMP_kernel.RestraintInfo_add_ints(self, key, value)
4220 
4221  def get_number_of_ints(self):
4222  r"""get_number_of_ints(RestraintInfo self) -> unsigned int"""
4223  return _IMP_kernel.RestraintInfo_get_number_of_ints(self)
4224 
4225  def get_ints_key(self, i):
4226  r"""get_ints_key(RestraintInfo self, unsigned int i) -> std::string"""
4227  return _IMP_kernel.RestraintInfo_get_ints_key(self, i)
4228 
4229  def get_ints_value(self, i):
4230  r"""get_ints_value(RestraintInfo self, unsigned int i) -> IMP::Ints"""
4231  return _IMP_kernel.RestraintInfo_get_ints_value(self, i)
4232 
4233  def add_strings(self, key, value):
4234  r"""add_strings(RestraintInfo self, std::string key, IMP::Strings value)"""
4235  return _IMP_kernel.RestraintInfo_add_strings(self, key, value)
4236 
4237  def get_number_of_strings(self):
4238  r"""get_number_of_strings(RestraintInfo self) -> unsigned int"""
4239  return _IMP_kernel.RestraintInfo_get_number_of_strings(self)
4240 
4241  def get_strings_key(self, i):
4242  r"""get_strings_key(RestraintInfo self, unsigned int i) -> std::string"""
4243  return _IMP_kernel.RestraintInfo_get_strings_key(self, i)
4244 
4245  def get_strings_value(self, i):
4246  r"""get_strings_value(RestraintInfo self, unsigned int i) -> IMP::Strings"""
4247  return _IMP_kernel.RestraintInfo_get_strings_value(self, i)
4248 
4249  def add_filenames(self, key, value):
4250  r"""add_filenames(RestraintInfo self, std::string key, IMP::Strings value)"""
4251  return _IMP_kernel.RestraintInfo_add_filenames(self, key, value)
4252 
4253  def get_number_of_filenames(self):
4254  r"""get_number_of_filenames(RestraintInfo self) -> unsigned int"""
4255  return _IMP_kernel.RestraintInfo_get_number_of_filenames(self)
4256 
4257  def get_filenames_key(self, i):
4258  r"""get_filenames_key(RestraintInfo self, unsigned int i) -> std::string"""
4259  return _IMP_kernel.RestraintInfo_get_filenames_key(self, i)
4260 
4261  def get_filenames_value(self, i):
4262  r"""get_filenames_value(RestraintInfo self, unsigned int i) -> IMP::Strings"""
4263  return _IMP_kernel.RestraintInfo_get_filenames_value(self, i)
4264 
4265  def add_particle_indexes(self, key, value):
4266  r"""add_particle_indexes(RestraintInfo self, std::string key, IMP::ParticleIndexes value)"""
4267  return _IMP_kernel.RestraintInfo_add_particle_indexes(self, key, value)
4268 
4269  def get_number_of_particle_indexes(self):
4270  r"""get_number_of_particle_indexes(RestraintInfo self) -> unsigned int"""
4271  return _IMP_kernel.RestraintInfo_get_number_of_particle_indexes(self)
4272 
4273  def get_particle_indexes_key(self, i):
4274  r"""get_particle_indexes_key(RestraintInfo self, unsigned int i) -> std::string"""
4275  return _IMP_kernel.RestraintInfo_get_particle_indexes_key(self, i)
4276 
4277  def get_particle_indexes_value(self, i):
4278  r"""get_particle_indexes_value(RestraintInfo self, unsigned int i) -> IMP::ParticleIndexes"""
4279  return _IMP_kernel.RestraintInfo_get_particle_indexes_value(self, i)
4280 
4281  def get_version_info(self):
4282  r"""get_version_info(RestraintInfo self) -> VersionInfo"""
4283  return _IMP_kernel.RestraintInfo_get_version_info(self)
4284  __swig_destroy__ = _IMP_kernel.delete_RestraintInfo
4285 
4286  def __str__(self):
4287  r"""__str__(RestraintInfo self) -> std::string"""
4288  return _IMP_kernel.RestraintInfo___str__(self)
4289 
4290  def __repr__(self):
4291  r"""__repr__(RestraintInfo self) -> std::string"""
4292  return _IMP_kernel.RestraintInfo___repr__(self)
4293 
4294  @staticmethod
4295  def get_from(o):
4296  return _object_cast_to_RestraintInfo(o)
4297 
4298 
4299 # Register RestraintInfo in _IMP_kernel:
4300 _IMP_kernel.RestraintInfo_swigregister(RestraintInfo)
4301 class Restraint(ModelObject):
4302  r"""Proxy of C++ IMP::Restraint class."""
4303 
4304  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4305 
4306  def __init__(self, *args):
4307  r"""
4308  __init__(Restraint self, Model m, std::string name) -> Restraint
4309  __init__(Restraint self) -> Restraint
4310  """
4311  if self.__class__ == Restraint:
4312  _self = None
4313  else:
4314  _self = self
4315  _IMP_kernel.Restraint_swiginit(self, _IMP_kernel.new_Restraint(_self, *args))
4316 
4317  if self.__class__ != Restraint:
4318  _director_objects.register(self)
4319 
4320 
4321 
4322 
4323  def get_score(self):
4324  r"""get_score(Restraint self) -> double"""
4325  return _IMP_kernel.Restraint_get_score(self)
4326 
4327  def evaluate(self, calc_derivs):
4328  r"""evaluate(Restraint self, bool calc_derivs) -> double"""
4329  return _IMP_kernel.Restraint_evaluate(self, calc_derivs)
4330 
4331  def evaluate_moved(self, calc_derivs, moved_pis, reset_pis):
4332  r"""evaluate_moved(Restraint self, bool calc_derivs, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double"""
4333  return _IMP_kernel.Restraint_evaluate_moved(self, calc_derivs, moved_pis, reset_pis)
4334 
4335  def evaluate_moved_if_below(self, calc_derivatives, moved_pis, reset_pis, max):
4336  r"""evaluate_moved_if_below(Restraint self, bool calc_derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, double max) -> double"""
4337  return _IMP_kernel.Restraint_evaluate_moved_if_below(self, calc_derivatives, moved_pis, reset_pis, max)
4338 
4339  def evaluate_moved_if_good(self, calc_derivatives, moved_pis, reset_pis):
4340  r"""evaluate_moved_if_good(Restraint self, bool calc_derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double"""
4341  return _IMP_kernel.Restraint_evaluate_moved_if_good(self, calc_derivatives, moved_pis, reset_pis)
4342 
4343  def evaluate_if_good(self, calc_derivatives):
4344  r"""evaluate_if_good(Restraint self, bool calc_derivatives) -> double"""
4345  return _IMP_kernel.Restraint_evaluate_if_good(self, calc_derivatives)
4346 
4347  def evaluate_if_below(self, calc_derivatives, max):
4348  r"""evaluate_if_below(Restraint self, bool calc_derivatives, double max) -> double"""
4349  return _IMP_kernel.Restraint_evaluate_if_below(self, calc_derivatives, max)
4350 
4351  def unprotected_evaluate(self, da):
4352  r"""unprotected_evaluate(Restraint self, DerivativeAccumulator da) -> double"""
4353  return _IMP_kernel.Restraint_unprotected_evaluate(self, da)
4354 
4355  def unprotected_evaluate_moved(self, da, moved_pis, reset_pis):
4356  r"""unprotected_evaluate_moved(Restraint self, DerivativeAccumulator da, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double"""
4357  return _IMP_kernel.Restraint_unprotected_evaluate_moved(self, da, moved_pis, reset_pis)
4358 
4359  def unprotected_evaluate_if_good(self, da, max):
4360  r"""unprotected_evaluate_if_good(Restraint self, DerivativeAccumulator da, double max) -> double"""
4361  return _IMP_kernel.Restraint_unprotected_evaluate_if_good(self, da, max)
4362 
4363  def unprotected_evaluate_if_below(self, da, max):
4364  r"""unprotected_evaluate_if_below(Restraint self, DerivativeAccumulator da, double max) -> double"""
4365  return _IMP_kernel.Restraint_unprotected_evaluate_if_below(self, da, max)
4366 
4367  def unprotected_evaluate_moved_if_below(self, da, moved_pis, reset_pis, max):
4368  r"""unprotected_evaluate_moved_if_below(Restraint self, DerivativeAccumulator da, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, double max) -> double"""
4369  return _IMP_kernel.Restraint_unprotected_evaluate_moved_if_below(self, da, moved_pis, reset_pis, max)
4370 
4371  def unprotected_evaluate_moved_if_good(self, da, moved_pis, reset_pis, max):
4372  r"""unprotected_evaluate_moved_if_good(Restraint self, DerivativeAccumulator da, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, double max) -> double"""
4373  return _IMP_kernel.Restraint_unprotected_evaluate_moved_if_good(self, da, moved_pis, reset_pis, max)
4374 
4375  def get_static_info(self):
4376  r"""get_static_info(Restraint self) -> RestraintInfo"""
4377  return _IMP_kernel.Restraint_get_static_info(self)
4378 
4379  def get_dynamic_info(self):
4380  r"""get_dynamic_info(Restraint self) -> RestraintInfo"""
4381  return _IMP_kernel.Restraint_get_dynamic_info(self)
4382 
4383  def add_score_and_derivatives(self, sa):
4384  r"""add_score_and_derivatives(Restraint self, ScoreAccumulator sa)"""
4385  return _IMP_kernel.Restraint_add_score_and_derivatives(self, sa)
4386 
4387  def add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis):
4388  r"""add_score_and_derivatives_moved(Restraint self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
4389  return _IMP_kernel.Restraint_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis)
4390 
4391  def create_decomposition(self):
4392  r"""create_decomposition(Restraint self) -> Restraint"""
4393  return _IMP_kernel.Restraint_create_decomposition(self)
4394 
4395  def create_current_decomposition(self):
4396  r"""create_current_decomposition(Restraint self) -> Restraint"""
4397  return _IMP_kernel.Restraint_create_current_decomposition(self)
4398 
4399  def set_weight(self, weight):
4400  r"""set_weight(Restraint self, IMP::Float weight)"""
4401  return _IMP_kernel.Restraint_set_weight(self, weight)
4402 
4403  def get_weight(self):
4404  r"""get_weight(Restraint self) -> IMP::Float"""
4405  return _IMP_kernel.Restraint_get_weight(self)
4406 
4407  def get_maximum_score(self):
4408  r"""get_maximum_score(Restraint self) -> double"""
4409  return _IMP_kernel.Restraint_get_maximum_score(self)
4410 
4411  def set_maximum_score(self, s):
4412  r"""set_maximum_score(Restraint self, double s)"""
4413  return _IMP_kernel.Restraint_set_maximum_score(self, s)
4414 
4415  def create_scoring_function(self, *args):
4416  r"""create_scoring_function(Restraint self, double weight=1.0, double max=NO_MAX) -> ScoringFunction"""
4417  return _IMP_kernel.Restraint_create_scoring_function(self, *args)
4418 
4419  def set_last_score(self, s):
4420  r"""set_last_score(Restraint self, double s)"""
4421  return _IMP_kernel.Restraint_set_last_score(self, s)
4422 
4423  def set_last_last_score(self, s):
4424  r"""set_last_last_score(Restraint self, double s)"""
4425  return _IMP_kernel.Restraint_set_last_last_score(self, s)
4426 
4427  def get_last_score(self):
4428  r"""get_last_score(Restraint self) -> double"""
4429  return _IMP_kernel.Restraint_get_last_score(self)
4430 
4431  def get_last_last_score(self):
4432  r"""get_last_last_score(Restraint self) -> double"""
4433  return _IMP_kernel.Restraint_get_last_last_score(self)
4434 
4435  def get_is_aggregate(self):
4436  r"""get_is_aggregate(Restraint self) -> bool"""
4437  return _IMP_kernel.Restraint_get_is_aggregate(self)
4438 
4439  def get_was_good(self):
4440  r"""get_was_good(Restraint self) -> bool"""
4441  return _IMP_kernel.Restraint_get_was_good(self)
4442  __swig_destroy__ = _IMP_kernel.delete_Restraint
4443 
4444  def do_create_decomposition(self):
4445  r"""do_create_decomposition(Restraint self) -> IMP::Restraints"""
4446  return _IMP_kernel.Restraint_do_create_decomposition(self)
4447 
4448  def do_create_current_decomposition(self):
4449  r"""do_create_current_decomposition(Restraint self) -> IMP::Restraints"""
4450  return _IMP_kernel.Restraint_do_create_current_decomposition(self)
4451 
4452  def do_add_score_and_derivatives(self, sa):
4453  r"""do_add_score_and_derivatives(Restraint self, ScoreAccumulator sa)"""
4454  return _IMP_kernel.Restraint_do_add_score_and_derivatives(self, sa)
4455 
4456  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis):
4457  r"""do_add_score_and_derivatives_moved(Restraint self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
4458  return _IMP_kernel.Restraint_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis)
4459 
4460  def do_get_outputs(self):
4461  r"""do_get_outputs(Restraint self) -> IMP::ModelObjectsTemp"""
4462  return _IMP_kernel.Restraint_do_get_outputs(self)
4463  is_aggregate_ = property(_IMP_kernel.Restraint_is_aggregate__get, _IMP_kernel.Restraint_is_aggregate__set, doc=r"""is_aggregate_ : bool""")
4464 
4465  def __str__(self):
4466  r"""__str__(Restraint self) -> std::string"""
4467  return _IMP_kernel.Restraint___str__(self)
4468 
4469  def __repr__(self):
4470  r"""__repr__(Restraint self) -> std::string"""
4471  return _IMP_kernel.Restraint___repr__(self)
4472 
4473  @staticmethod
4474  def get_from(o):
4475  return _object_cast_to_Restraint(o)
4476 
4477 
4478  def do_show(self, out):
4479  pass
4480 
4481  @staticmethod
4482  def get_from(o):
4483  return _object_cast_to_Restraint(o)
4484 
4485 
4486  def _wrap_jax(self, score_func, keys=None):
4487  """Create the return value for _get_jax.
4488  Use this method in _get_jax() to wrap the JAX scoring function
4489  with other model- and restraint-specific information.
4490 
4491  @param score_func A function implemented using JAX that takes
4492  a single argument (the current model state) and returns
4493  the score of the restraint.
4494  @param keys If given, a set of IMP::Key objects describing Model
4495  attributes (other than xyz and radius) that the restraint
4496  uses. For example, a restraint that uses electrostatic charge
4497  would pass IMP::atom::Charged::get_charge_key() here.
4498  """
4499  from IMP._jax_util import JaxRestraintInfo
4500  return JaxRestraintInfo(m=self.get_model(), score_func=score_func,
4501  weight=self.get_weight(), keys=keys)
4502 
4503  def _get_jax(self):
4504  """Return a JAX implementation of this Restraint.
4505  Implement this method in a Restraint subclass to provide
4506  an equivalent function using [JAX](https://docs.jax.dev/)
4507  that scores the current model state. See also _wrap_jax.
4508  """
4509  raise NotImplementedError(f"No JAX implementation for {self}")
4510 
4511  def __disown__(self):
4512  self.this.disown()
4513  _IMP_kernel.disown_Restraint(self)
4514  return weakref.proxy(self)
4515 
4516  def do_destroy(self):
4517  r"""do_destroy(Restraint self)"""
4518  return _IMP_kernel.Restraint_do_destroy(self)
4519 
4520  def handle_set_has_required_score_states(self, arg0):
4521  r"""handle_set_has_required_score_states(Restraint self, bool arg0)"""
4522  return _IMP_kernel.Restraint_handle_set_has_required_score_states(self, arg0)
4523 
4524  def do_get_inputs(self):
4525  r"""do_get_inputs(Restraint self) -> IMP::ModelObjectsTemp"""
4526  return _IMP_kernel.Restraint_do_get_inputs(self)
4527 
4528  def do_get_interactions(self):
4529  r"""do_get_interactions(Restraint self) -> IMP::ModelObjectsTemps"""
4530  return _IMP_kernel.Restraint_do_get_interactions(self)
4531 
4532 # Register Restraint in _IMP_kernel:
4533 _IMP_kernel.Restraint_swigregister(Restraint)
4534 class _RestraintsAdaptor(_InputAdaptor):
4535  r"""Proxy of C++ IMP::RestraintsAdaptor class."""
4536 
4537  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4538  __repr__ = _swig_repr
4539 
4540  def __init__(self, *args):
4541  r"""
4542  __init__(_RestraintsAdaptor self) -> _RestraintsAdaptor
4543  __init__(_RestraintsAdaptor self, IMP::Restraints const & sf) -> _RestraintsAdaptor
4544  __init__(_RestraintsAdaptor self, IMP::RestraintsTemp const & sf) -> _RestraintsAdaptor
4545  __init__(_RestraintsAdaptor self, Restraint sf) -> _RestraintsAdaptor
4546  """
4547  _IMP_kernel._RestraintsAdaptor_swiginit(self, _IMP_kernel.new__RestraintsAdaptor(*args))
4548  __swig_destroy__ = _IMP_kernel.delete__RestraintsAdaptor
4549 
4550 # Register _RestraintsAdaptor in _IMP_kernel:
4551 _IMP_kernel._RestraintsAdaptor_swigregister(_RestraintsAdaptor)
4552 class RestraintSet(Restraint):
4553  r"""Proxy of C++ IMP::RestraintSet class."""
4554 
4555  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4556 
4557  def __init__(self, *args):
4558  r"""
4559  __init__(RestraintSet self, Model m, double weight, std::string const & name="RestraintSet %1%") -> RestraintSet
4560  __init__(RestraintSet self, Model m, std::string const & name="RestraintSet %1%") -> RestraintSet
4561  __init__(RestraintSet self, IMP::RestraintsTemp const & rs, double weight, std::string const & name="RestraintSet %1%") -> RestraintSet
4562  __init__(RestraintSet self) -> RestraintSet
4563  """
4564  if self.__class__ == RestraintSet:
4565  _self = None
4566  else:
4567  _self = self
4568  _IMP_kernel.RestraintSet_swiginit(self, _IMP_kernel.new_RestraintSet(_self, *args))
4569 
4570  if self.__class__ != RestraintSet:
4571  _director_objects.register(self)
4572 
4573 
4574 
4575 
4576  def unprotected_evaluate(self, da):
4577  r"""unprotected_evaluate(RestraintSet self, DerivativeAccumulator da) -> double"""
4578  return _IMP_kernel.RestraintSet_unprotected_evaluate(self, da)
4579 
4580  def get_type_name(self):
4581  r"""get_type_name(RestraintSet self) -> std::string"""
4582  return _IMP_kernel.RestraintSet_get_type_name(self)
4583 
4584  def get_version_info(self):
4585  r"""get_version_info(RestraintSet self) -> VersionInfo"""
4586  return _IMP_kernel.RestraintSet_get_version_info(self)
4587  __swig_destroy__ = _IMP_kernel.delete_RestraintSet
4588  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)
4589  def __set_restraints(self, obj): _list_util.set_varlist(self.restraints, obj)
4590  def __del_restraints(self): _list_util.del_varlist(self.restraints)
4591  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##ucnames")
4592 
4593  def remove_restraint(self, d):
4594  r"""remove_restraint(RestraintSet self, Restraint d)"""
4595  return _IMP_kernel.RestraintSet_remove_restraint(self, d)
4596 
4597  def _python_index_restraint(self, d, start, stop):
4598  r"""_python_index_restraint(RestraintSet self, Restraint d, unsigned int start, unsigned int stop) -> unsigned int"""
4599  return _IMP_kernel.RestraintSet__python_index_restraint(self, d, start, stop)
4600 
4601  def remove_restraints(self, d):
4602  r"""remove_restraints(RestraintSet self, IMP::Restraints const & d)"""
4603  return _IMP_kernel.RestraintSet_remove_restraints(self, d)
4604 
4605  def set_restraints(self, ps):
4606  r"""set_restraints(RestraintSet self, IMP::Restraints const & ps)"""
4607  return _IMP_kernel.RestraintSet_set_restraints(self, ps)
4608 
4609  def set_restraints_order(self, objs):
4610  r"""set_restraints_order(RestraintSet self, IMP::Restraints const & objs)"""
4611  return _IMP_kernel.RestraintSet_set_restraints_order(self, objs)
4612 
4613  def add_restraint(self, obj):
4614  r"""add_restraint(RestraintSet self, Restraint obj) -> unsigned int"""
4615  return _IMP_kernel.RestraintSet_add_restraint(self, obj)
4616 
4617  def add_restraints(self, objs):
4618  r"""add_restraints(RestraintSet self, IMP::Restraints const & objs)"""
4619  return _IMP_kernel.RestraintSet_add_restraints(self, objs)
4620 
4621  def clear_restraints(self):
4622  r"""clear_restraints(RestraintSet self)"""
4623  return _IMP_kernel.RestraintSet_clear_restraints(self)
4624 
4625  def get_number_of_restraints(self):
4626  r"""get_number_of_restraints(RestraintSet self) -> unsigned int"""
4627  return _IMP_kernel.RestraintSet_get_number_of_restraints(self)
4628 
4629  def get_has_restraints(self):
4630  r"""get_has_restraints(RestraintSet self) -> bool"""
4631  return _IMP_kernel.RestraintSet_get_has_restraints(self)
4632 
4633  def get_restraint(self, i):
4634  r"""get_restraint(RestraintSet self, unsigned int i) -> Restraint"""
4635  return _IMP_kernel.RestraintSet_get_restraint(self, i)
4636 
4637  def get_restraints(self):
4638  r"""get_restraints(RestraintSet self) -> IMP::Restraints"""
4639  return _IMP_kernel.RestraintSet_get_restraints(self)
4640 
4641  def erase_restraint(self, i):
4642  r"""erase_restraint(RestraintSet self, unsigned int i)"""
4643  return _IMP_kernel.RestraintSet_erase_restraint(self, i)
4644 
4645  def reserve_restraints(self, sz):
4646  r"""reserve_restraints(RestraintSet self, unsigned int sz)"""
4647  return _IMP_kernel.RestraintSet_reserve_restraints(self, sz)
4648 
4649  def get_non_sets_and_sets(self):
4650  r"""get_non_sets_and_sets(RestraintSet self) -> std::pair< IMP::RestraintsTemp,IMP::RestraintSetsTemp >"""
4651  return _IMP_kernel.RestraintSet_get_non_sets_and_sets(self)
4652 
4653  def do_get_inputs(self):
4654  r"""do_get_inputs(RestraintSet self) -> IMP::ModelObjectsTemp"""
4655  return _IMP_kernel.RestraintSet_do_get_inputs(self)
4656 
4657  def create_scoring_function(self, *args):
4658  r"""create_scoring_function(RestraintSet self, double weight=1.0, double max=std::numeric_limits< double >::max()) -> ScoringFunction"""
4659  return _IMP_kernel.RestraintSet_create_scoring_function(self, *args)
4660 
4661  def get_last_score(self):
4662  r"""get_last_score(RestraintSet self) -> double"""
4663  return _IMP_kernel.RestraintSet_get_last_score(self)
4664 
4665  def __str__(self):
4666  r"""__str__(RestraintSet self) -> std::string"""
4667  return _IMP_kernel.RestraintSet___str__(self)
4668 
4669  def __repr__(self):
4670  r"""__repr__(RestraintSet self) -> std::string"""
4671  return _IMP_kernel.RestraintSet___repr__(self)
4672 
4673  @staticmethod
4674  def get_from(o):
4675  return _object_cast_to_RestraintSet(o)
4676 
4677 
4678  def do_show(self, out):
4679  pass
4680 
4681  @staticmethod
4682  def get_from(o):
4683  return _object_cast_to_RestraintSet(o)
4684 
4685 
4686  def _get_as_binary(self):
4687  r"""_get_as_binary(RestraintSet self) -> PyObject *"""
4688  return _IMP_kernel.RestraintSet__get_as_binary(self)
4689 
4690  def _set_from_binary(self, p):
4691  r"""_set_from_binary(RestraintSet self, PyObject * p)"""
4692  return _IMP_kernel.RestraintSet__set_from_binary(self, p)
4693 
4694  def __getstate__(self):
4695  p = self._get_as_binary()
4696  if len(self.__dict__) > 1:
4697  d = self.__dict__.copy()
4698  del d['this']
4699  p = (d, p)
4700  return p
4701 
4702  def __setstate__(self, p):
4703  if not hasattr(self, 'this'):
4704  self.__init__()
4705  if isinstance(p, tuple):
4706  d, p = p
4707  self.__dict__.update(d)
4708  return self._set_from_binary(p)
4709 
4710  def __disown__(self):
4711  self.this.disown()
4712  _IMP_kernel.disown_RestraintSet(self)
4713  return weakref.proxy(self)
4714 
4715  def do_destroy(self):
4716  r"""do_destroy(RestraintSet self)"""
4717  return _IMP_kernel.RestraintSet_do_destroy(self)
4718 
4719  def handle_set_has_required_score_states(self, arg0):
4720  r"""handle_set_has_required_score_states(RestraintSet self, bool arg0)"""
4721  return _IMP_kernel.RestraintSet_handle_set_has_required_score_states(self, arg0)
4722 
4723  def do_get_outputs(self):
4724  r"""do_get_outputs(RestraintSet self) -> IMP::ModelObjectsTemp"""
4725  return _IMP_kernel.RestraintSet_do_get_outputs(self)
4726 
4727  def do_get_interactions(self):
4728  r"""do_get_interactions(RestraintSet self) -> IMP::ModelObjectsTemps"""
4729  return _IMP_kernel.RestraintSet_do_get_interactions(self)
4730 
4731  def do_create_decomposition(self):
4732  r"""do_create_decomposition(RestraintSet self) -> IMP::Restraints"""
4733  return _IMP_kernel.RestraintSet_do_create_decomposition(self)
4734 
4735  def do_create_current_decomposition(self):
4736  r"""do_create_current_decomposition(RestraintSet self) -> IMP::Restraints"""
4737  return _IMP_kernel.RestraintSet_do_create_current_decomposition(self)
4738 
4739  def do_add_score_and_derivatives(self, sa):
4740  r"""do_add_score_and_derivatives(RestraintSet self, ScoreAccumulator sa)"""
4741  return _IMP_kernel.RestraintSet_do_add_score_and_derivatives(self, sa)
4742 
4743  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis):
4744  r"""do_add_score_and_derivatives_moved(RestraintSet self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
4745  return _IMP_kernel.RestraintSet_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis)
4746 
4747 # Register RestraintSet in _IMP_kernel:
4748 _IMP_kernel.RestraintSet_swigregister(RestraintSet)
4749 
4750 def get_restraints(rs):
4751  r"""get_restraints(IMP::RestraintsTemp const & rs) -> IMP::RestraintsTemp"""
4752  return _IMP_kernel.get_restraints(rs)
4753 
4754 def _check_particle(p, a):
4755  if (not p.get_is_active()):
4756  raise ValueError("Inactive Particle")
4757  if (type(a)() == a):
4758  raise IndexError("Cannot use default Index")
4759  if (not p.has_attribute(a)):
4760  raise IndexError("Particle does not have attribute")
4761 
4762 class Particle(ModelObject):
4763  r"""Proxy of C++ IMP::Particle class."""
4764 
4765  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4766 
4767  def get_version_info(self):
4768  r"""get_version_info(Particle self) -> VersionInfo"""
4769  return _IMP_kernel.Particle_get_version_info(self)
4770  __swig_destroy__ = _IMP_kernel.delete_Particle
4771 
4772  def __init__(self, *args):
4773  r"""
4774  __init__(Particle self, Model m, std::string name) -> Particle
4775  __init__(Particle self, Model m) -> Particle
4776  __init__(Particle self) -> Particle
4777  """
4778  _IMP_kernel.Particle_swiginit(self, _IMP_kernel.new_Particle(*args))
4779 
4780  def get_float_keys(self):
4781  r"""get_float_keys(Particle self) -> IMP::FloatKeys"""
4782  return _IMP_kernel.Particle_get_float_keys(self)
4783 
4784  def get_floats_keys(self):
4785  r"""get_floats_keys(Particle self) -> IMP::FloatsKeys"""
4786  return _IMP_kernel.Particle_get_floats_keys(self)
4787 
4788  def get_int_keys(self):
4789  r"""get_int_keys(Particle self) -> IMP::IntKeys"""
4790  return _IMP_kernel.Particle_get_int_keys(self)
4791 
4792  def get_ints_keys(self):
4793  r"""get_ints_keys(Particle self) -> IMP::IntsKeys"""
4794  return _IMP_kernel.Particle_get_ints_keys(self)
4795 
4796  def get_string_keys(self):
4797  r"""get_string_keys(Particle self) -> IMP::StringKeys"""
4798  return _IMP_kernel.Particle_get_string_keys(self)
4799 
4800  def get_object_keys(self):
4801  r"""get_object_keys(Particle self) -> IMP::ObjectKeys"""
4802  return _IMP_kernel.Particle_get_object_keys(self)
4803 
4804  def add_cache_attribute(self, *args):
4805  r"""
4806  add_cache_attribute(Particle self, FloatKey name, IMP::Float value)
4807  add_cache_attribute(Particle self, FloatsKey name, IMP::Floats value)
4808  add_cache_attribute(Particle self, IntKey name, IMP::Int value)
4809  add_cache_attribute(Particle self, IntsKey name, IMP::Ints value)
4810  add_cache_attribute(Particle self, StringKey name, IMP::String value)
4811  add_cache_attribute(Particle self, ObjectKey name, Object value)
4812  add_cache_attribute(Particle self, IMP::WeakObjectKey name, Object value)
4813  """
4814  return _IMP_kernel.Particle_add_cache_attribute(self, *args)
4815 
4816  def get_weak_object_keys(self):
4817  r"""get_weak_object_keys(Particle self) -> IMP::WeakObjectKeys"""
4818  return _IMP_kernel.Particle_get_weak_object_keys(self)
4819 
4820  def add_to_derivative(self, key, value, da):
4821  r"""add_to_derivative(Particle self, FloatKey key, IMP::Float value, DerivativeAccumulator da)"""
4822  return _IMP_kernel.Particle_add_to_derivative(self, key, value, da)
4823 
4824  def set_is_optimized(self, k, tf):
4825  r"""set_is_optimized(Particle self, FloatKey k, bool tf)"""
4826  return _IMP_kernel.Particle_set_is_optimized(self, k, tf)
4827 
4828  def get_is_optimized(self, k):
4829  r"""get_is_optimized(Particle self, FloatKey k) -> bool"""
4830  return _IMP_kernel.Particle_get_is_optimized(self, k)
4831 
4832  def get_derivative(self, k):
4833  r"""get_derivative(Particle self, FloatKey k) -> IMP::Float"""
4834  return _IMP_kernel.Particle_get_derivative(self, k)
4835 
4836  def add_attribute(self, *args):
4837  r"""
4838  add_attribute(Particle self, FloatKey name, IMP::Float initial_value)
4839  add_attribute(Particle self, FloatsKey name, IMP::Floats initial_value)
4840  add_attribute(Particle self, IntKey name, IMP::Int initial_value)
4841  add_attribute(Particle self, IntsKey name, IMP::Ints initial_value)
4842  add_attribute(Particle self, StringKey name, IMP::String initial_value)
4843  add_attribute(Particle self, ObjectKey name, Object initial_value)
4844  add_attribute(Particle self, IMP::WeakObjectKey name, Object initial_value)
4845  add_attribute(Particle self, SparseStringKey name, IMP::String initial_value)
4846  add_attribute(Particle self, SparseIntKey name, IMP::Int initial_value)
4847  add_attribute(Particle self, SparseFloatKey name, IMP::Float initial_value)
4848  add_attribute(Particle self, SparseParticleIndexKey name, ParticleIndex initial_value)
4849  add_attribute(Particle self, FloatKey name, IMP::Float const initial_value, bool optimized)
4850  add_attribute(Particle self, ParticleIndexKey k, Particle v)
4851  """
4852  return _IMP_kernel.Particle_add_attribute(self, *args)
4853 
4854  def has_attribute(self, *args):
4855  r"""
4856  has_attribute(Particle self, FloatKey name) -> bool
4857  has_attribute(Particle self, FloatsKey name) -> bool
4858  has_attribute(Particle self, IntKey name) -> bool
4859  has_attribute(Particle self, IntsKey name) -> bool
4860  has_attribute(Particle self, StringKey name) -> bool
4861  has_attribute(Particle self, ObjectKey name) -> bool
4862  has_attribute(Particle self, IMP::WeakObjectKey name) -> bool
4863  has_attribute(Particle self, SparseStringKey name) -> bool
4864  has_attribute(Particle self, SparseIntKey name) -> bool
4865  has_attribute(Particle self, SparseFloatKey name) -> bool
4866  has_attribute(Particle self, SparseParticleIndexKey name) -> bool
4867  has_attribute(Particle self, ParticleIndexKey k) -> bool
4868  """
4869  return _IMP_kernel.Particle_has_attribute(self, *args)
4870 
4871  def set_value(self, *args):
4872  r"""
4873  set_value(Particle self, FloatKey name, IMP::Float value)
4874  set_value(Particle self, FloatsKey name, IMP::Floats value)
4875  set_value(Particle self, IntKey name, IMP::Int value)
4876  set_value(Particle self, IntsKey name, IMP::Ints value)
4877  set_value(Particle self, StringKey name, IMP::String value)
4878  set_value(Particle self, ObjectKey name, Object value)
4879  set_value(Particle self, IMP::WeakObjectKey name, Object value)
4880  set_value(Particle self, SparseStringKey name, IMP::String value)
4881  set_value(Particle self, SparseIntKey name, IMP::Int value)
4882  set_value(Particle self, SparseFloatKey name, IMP::Float value)
4883  set_value(Particle self, SparseParticleIndexKey name, ParticleIndex value)
4884  set_value(Particle self, ParticleIndexKey k, Particle v)
4885  """
4886  return _IMP_kernel.Particle_set_value(self, *args)
4887 
4888  def get_value(self, *args):
4889  r"""
4890  get_value(Particle self, FloatKey name) -> IMP::Float
4891  get_value(Particle self, FloatsKey name) -> IMP::Floats
4892  get_value(Particle self, IntKey name) -> IMP::Int
4893  get_value(Particle self, IntsKey name) -> IMP::Ints
4894  get_value(Particle self, StringKey name) -> IMP::String
4895  get_value(Particle self, ObjectKey name) -> Object
4896  get_value(Particle self, IMP::WeakObjectKey name) -> Object
4897  get_value(Particle self, SparseStringKey name) -> IMP::String
4898  get_value(Particle self, SparseIntKey name) -> IMP::Int
4899  get_value(Particle self, SparseFloatKey name) -> IMP::Float
4900  get_value(Particle self, SparseParticleIndexKey name) -> ParticleIndex
4901  get_value(Particle self, ParticleIndexKey k) -> Particle
4902  """
4903  return _IMP_kernel.Particle_get_value(self, *args)
4904 
4905  def remove_attribute(self, *args):
4906  r"""
4907  remove_attribute(Particle self, FloatKey name)
4908  remove_attribute(Particle self, FloatsKey name)
4909  remove_attribute(Particle self, IntKey name)
4910  remove_attribute(Particle self, IntsKey name)
4911  remove_attribute(Particle self, StringKey name)
4912  remove_attribute(Particle self, ObjectKey name)
4913  remove_attribute(Particle self, IMP::WeakObjectKey name)
4914  remove_attribute(Particle self, SparseStringKey name)
4915  remove_attribute(Particle self, SparseIntKey name)
4916  remove_attribute(Particle self, SparseFloatKey name)
4917  remove_attribute(Particle self, SparseParticleIndexKey name)
4918  remove_attribute(Particle self, ParticleIndexKey k)
4919  """
4920  return _IMP_kernel.Particle_remove_attribute(self, *args)
4921 
4922  def get_particle_keys(self):
4923  r"""get_particle_keys(Particle self) -> IMP::ParticleIndexKeys"""
4924  return _IMP_kernel.Particle_get_particle_keys(self)
4925 
4926  def show(self, *args):
4927  r"""show(Particle self, _ostream out=std::cout)"""
4928  return _IMP_kernel.Particle_show(self, *args)
4929 
4930  def get_is_active(self):
4931  r"""get_is_active(Particle self) -> bool"""
4932  return _IMP_kernel.Particle_get_is_active(self)
4933 
4934  def get_index(self):
4935  r"""get_index(Particle self) -> ParticleIndex"""
4936  return _IMP_kernel.Particle_get_index(self)
4937 
4938  def __eq__(self, *args):
4939  r"""
4940  __eq__(Particle self, Particle o) -> bool
4941  __eq__(Particle self, Decorator d) -> bool
4942  """
4943  return _IMP_kernel.Particle___eq__(self, *args)
4944 
4945  def __ne__(self, *args):
4946  r"""
4947  __ne__(Particle self, Particle o) -> bool
4948  __ne__(Particle self, Decorator d) -> bool
4949  """
4950  return _IMP_kernel.Particle___ne__(self, *args)
4951 
4952  def __le__(self, *args):
4953  r"""
4954  __le__(Particle self, Particle o) -> bool
4955  __le__(Particle self, Decorator d) -> bool
4956  """
4957  return _IMP_kernel.Particle___le__(self, *args)
4958 
4959  def __lt__(self, *args):
4960  r"""
4961  __lt__(Particle self, Particle o) -> bool
4962  __lt__(Particle self, Decorator d) -> bool
4963  """
4964  return _IMP_kernel.Particle___lt__(self, *args)
4965 
4966  def __ge__(self, *args):
4967  r"""
4968  __ge__(Particle self, Particle o) -> bool
4969  __ge__(Particle self, Decorator d) -> bool
4970  """
4971  return _IMP_kernel.Particle___ge__(self, *args)
4972 
4973  def __gt__(self, *args):
4974  r"""
4975  __gt__(Particle self, Particle o) -> bool
4976  __gt__(Particle self, Decorator d) -> bool
4977  """
4978  return _IMP_kernel.Particle___gt__(self, *args)
4979 
4980  __hash__ = ModelObject.__hash__
4981 
4982 
4983  def __str__(self):
4984  r"""__str__(Particle self) -> std::string"""
4985  return _IMP_kernel.Particle___str__(self)
4986 
4987  def __repr__(self):
4988  r"""__repr__(Particle self) -> std::string"""
4989  return _IMP_kernel.Particle___repr__(self)
4990 
4991  @staticmethod
4992  def get_from(o):
4993  return _object_cast_to_Particle(o)
4994 
4995 
4996  def _get_as_binary(self):
4997  r"""_get_as_binary(Particle self) -> PyObject *"""
4998  return _IMP_kernel.Particle__get_as_binary(self)
4999 
5000  def _set_from_binary(self, p):
5001  r"""_set_from_binary(Particle self, PyObject * p)"""
5002  return _IMP_kernel.Particle__set_from_binary(self, p)
5003 
5004  def __getstate__(self):
5005  p = self._get_as_binary()
5006  if len(self.__dict__) > 1:
5007  d = self.__dict__.copy()
5008  del d['this']
5009  p = (d, p)
5010  return p
5011 
5012  def __setstate__(self, p):
5013  if not hasattr(self, 'this'):
5014  self.__init__()
5015  if isinstance(p, tuple):
5016  d, p = p
5017  self.__dict__.update(d)
5018  return self._set_from_binary(p)
5019 
5020 
5021 # Register Particle in _IMP_kernel:
5022 _IMP_kernel.Particle_swigregister(Particle)
5023 class _ParticleAdaptor(_InputAdaptor):
5024  r"""Proxy of C++ IMP::ParticleAdaptor class."""
5025 
5026  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5027  __repr__ = _swig_repr
5028 
5029  def __init__(self, *args):
5030  r"""
5031  __init__(_ParticleAdaptor self) -> _ParticleAdaptor
5032  __init__(_ParticleAdaptor self, Particle p) -> _ParticleAdaptor
5033  __init__(_ParticleAdaptor self, Decorator d) -> _ParticleAdaptor
5034  """
5035  _IMP_kernel._ParticleAdaptor_swiginit(self, _IMP_kernel.new__ParticleAdaptor(*args))
5036 
5037  def get_model(self):
5038  r"""get_model(_ParticleAdaptor self) -> Model"""
5039  return _IMP_kernel._ParticleAdaptor_get_model(self)
5040 
5041  def get_particle_index(self):
5042  r"""get_particle_index(_ParticleAdaptor self) -> ParticleIndex"""
5043  return _IMP_kernel._ParticleAdaptor_get_particle_index(self)
5044  __swig_destroy__ = _IMP_kernel.delete__ParticleAdaptor
5045 
5046 # Register _ParticleAdaptor in _IMP_kernel:
5047 _IMP_kernel._ParticleAdaptor_swigregister(_ParticleAdaptor)
5048 class _DependencyGraphVertexIndex(object):
5049  r"""Proxy of C++ IMP::DependencyGraphVertexIndex class."""
5050 
5051  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5052  __repr__ = _swig_repr
5053 
5054  def __init__(self):
5055  r"""__init__(_DependencyGraphVertexIndex self) -> _DependencyGraphVertexIndex"""
5056  _IMP_kernel._DependencyGraphVertexIndex_swiginit(self, _IMP_kernel.new__DependencyGraphVertexIndex())
5057  __swig_destroy__ = _IMP_kernel.delete__DependencyGraphVertexIndex
5058 
5059 # Register _DependencyGraphVertexIndex in _IMP_kernel:
5060 _IMP_kernel._DependencyGraphVertexIndex_swigregister(_DependencyGraphVertexIndex)
5061 
5062 def show_as_graphviz(name, out):
5063  r"""show_as_graphviz(IMP::DependencyGraph const & name, TextOutput out)"""
5064  return _IMP_kernel.show_as_graphviz(name, out)
5065 
5066 def get_vertex_index(g):
5067  r"""get_vertex_index(IMP::DependencyGraph const & g) -> _DependencyGraphVertexIndex"""
5068  return _IMP_kernel.get_vertex_index(g)
5069 
5070 def get_dependency_graph(m):
5071  r"""get_dependency_graph(Model m) -> IMP::DependencyGraph"""
5072  return _IMP_kernel.get_dependency_graph(m)
5073 
5075  r"""get_pruned_dependency_graph(Model m) -> IMP::DependencyGraph"""
5076  return _IMP_kernel.get_pruned_dependency_graph(m)
5077 
5078 def get_dependent_particles(p, all, dg, index):
5079  r"""get_dependent_particles(ModelObject p, IMP::ModelObjectsTemp const & all, IMP::DependencyGraph const & dg, _DependencyGraphVertexIndex index) -> IMP::ParticlesTemp"""
5080  return _IMP_kernel.get_dependent_particles(p, all, dg, index)
5081 
5082 def get_required_score_states(*args):
5083  r"""
5084  get_required_score_states(IMP::ModelObjectsTemp const & mos, IMP::ScoreStatesTemp exclude=IMP::ScoreStatesTemp()) -> IMP::ScoreStatesTemp
5085  get_required_score_states(ModelObject p, IMP::ModelObjectsTemp const & all, IMP::DependencyGraph const & dg, _DependencyGraphVertexIndex index) -> IMP::ScoreStatesTemp
5086  get_required_score_states(Model m, ParticleIndex pi) -> IMP::ScoreStatesTemp
5087  """
5088  return _IMP_kernel.get_required_score_states(*args)
5089 class ScoringFunction(ModelObject):
5090  r"""Proxy of C++ IMP::ScoringFunction class."""
5091 
5092  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5093 
5094  def do_add_score_and_derivatives(self, sa, ss):
5095  r"""do_add_score_and_derivatives(ScoringFunction self, ScoreAccumulator sa, IMP::ScoreStatesTemp const & ss)"""
5096  return _IMP_kernel.ScoringFunction_do_add_score_and_derivatives(self, sa, ss)
5097 
5098  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss):
5099  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)"""
5100  return _IMP_kernel.ScoringFunction_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss)
5101 
5102  def get_score_accumulator_if_below(self, deriv, max):
5103  r"""get_score_accumulator_if_below(ScoringFunction self, bool deriv, double max) -> ScoreAccumulator"""
5104  return _IMP_kernel.ScoringFunction_get_score_accumulator_if_below(self, deriv, max)
5105 
5106  def get_score_accumulator_if_good(self, deriv):
5107  r"""get_score_accumulator_if_good(ScoringFunction self, bool deriv) -> ScoreAccumulator"""
5108  return _IMP_kernel.ScoringFunction_get_score_accumulator_if_good(self, deriv)
5109 
5110  def get_score_accumulator(self, deriv):
5111  r"""get_score_accumulator(ScoringFunction self, bool deriv) -> ScoreAccumulator"""
5112  return _IMP_kernel.ScoringFunction_get_score_accumulator(self, deriv)
5113 
5114  def __init__(self, *args):
5115  r"""
5116  __init__(ScoringFunction self, Model m, std::string name) -> ScoringFunction
5117  __init__(ScoringFunction self) -> ScoringFunction
5118  """
5119  if self.__class__ == ScoringFunction:
5120  _self = None
5121  else:
5122  _self = self
5123  _IMP_kernel.ScoringFunction_swiginit(self, _IMP_kernel.new_ScoringFunction(_self, *args))
5124 
5125  if self.__class__ != ScoringFunction:
5126  _director_objects.register(self)
5127 
5128 
5129 
5130 
5131  def do_get_outputs(self):
5132  r"""do_get_outputs(ScoringFunction self) -> IMP::ModelObjectsTemp"""
5133  return _IMP_kernel.ScoringFunction_do_get_outputs(self)
5134 
5135  def evaluate(self, derivatives):
5136  r"""evaluate(ScoringFunction self, bool derivatives) -> double"""
5137  return _IMP_kernel.ScoringFunction_evaluate(self, derivatives)
5138 
5139  def evaluate_if_good(self, derivatives):
5140  r"""evaluate_if_good(ScoringFunction self, bool derivatives) -> double"""
5141  return _IMP_kernel.ScoringFunction_evaluate_if_good(self, derivatives)
5142 
5143  def evaluate_if_below(self, derivatives, max):
5144  r"""evaluate_if_below(ScoringFunction self, bool derivatives, double max) -> double"""
5145  return _IMP_kernel.ScoringFunction_evaluate_if_below(self, derivatives, max)
5146 
5147  def evaluate_moved(self, derivatives, moved_pis, reset_pis):
5148  r"""evaluate_moved(ScoringFunction self, bool derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double"""
5149  return _IMP_kernel.ScoringFunction_evaluate_moved(self, derivatives, moved_pis, reset_pis)
5150 
5151  def evaluate_moved_if_below(self, derivatives, moved_pis, reset_pis, max):
5152  r"""evaluate_moved_if_below(ScoringFunction self, bool derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, double max) -> double"""
5153  return _IMP_kernel.ScoringFunction_evaluate_moved_if_below(self, derivatives, moved_pis, reset_pis, max)
5154 
5155  def evaluate_moved_if_good(self, derivatives, moved_pis, reset_pis):
5156  r"""evaluate_moved_if_good(ScoringFunction self, bool derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double"""
5157  return _IMP_kernel.ScoringFunction_evaluate_moved_if_good(self, derivatives, moved_pis, reset_pis)
5158 
5159  def get_had_good_score(self):
5160  r"""get_had_good_score(ScoringFunction self) -> bool"""
5161  return _IMP_kernel.ScoringFunction_get_had_good_score(self)
5162 
5163  def get_last_score(self):
5164  r"""get_last_score(ScoringFunction self) -> double"""
5165  return _IMP_kernel.ScoringFunction_get_last_score(self)
5166 
5167  def create_restraints(self):
5168  r"""create_restraints(ScoringFunction self) -> IMP::Restraints"""
5169  return _IMP_kernel.ScoringFunction_create_restraints(self)
5170 
5171  def __str__(self):
5172  r"""__str__(ScoringFunction self) -> std::string"""
5173  return _IMP_kernel.ScoringFunction___str__(self)
5174 
5175  def __repr__(self):
5176  r"""__repr__(ScoringFunction self) -> std::string"""
5177  return _IMP_kernel.ScoringFunction___repr__(self)
5178 
5179  @staticmethod
5180  def get_from(o):
5181  return _object_cast_to_ScoringFunction(o)
5182 
5183 
5184  def do_show(self, out):
5185  pass
5186 
5187  @staticmethod
5188  def get_from(o):
5189  return _object_cast_to_ScoringFunction(o)
5190 
5191 
5192  def _get_jax(self):
5193  raise NotImplementedError(f"No JAX implementation for {self}")
5194 
5195  __swig_destroy__ = _IMP_kernel.delete_ScoringFunction
5196  def __disown__(self):
5197  self.this.disown()
5198  _IMP_kernel.disown_ScoringFunction(self)
5199  return weakref.proxy(self)
5200 
5201  def do_destroy(self):
5202  r"""do_destroy(ScoringFunction self)"""
5203  return _IMP_kernel.ScoringFunction_do_destroy(self)
5204 
5205  def handle_set_has_required_score_states(self, arg0):
5206  r"""handle_set_has_required_score_states(ScoringFunction self, bool arg0)"""
5207  return _IMP_kernel.ScoringFunction_handle_set_has_required_score_states(self, arg0)
5208 
5209  def do_get_inputs(self):
5210  r"""do_get_inputs(ScoringFunction self) -> IMP::ModelObjectsTemp"""
5211  return _IMP_kernel.ScoringFunction_do_get_inputs(self)
5212 
5213  def do_get_interactions(self):
5214  r"""do_get_interactions(ScoringFunction self) -> IMP::ModelObjectsTemps"""
5215  return _IMP_kernel.ScoringFunction_do_get_interactions(self)
5216 
5217 # Register ScoringFunction in _IMP_kernel:
5218 _IMP_kernel.ScoringFunction_swigregister(ScoringFunction)
5219 
5220 def create_decomposition(*args):
5221  r"""
5222  create_decomposition(IMP::RestraintsTemp const & rs) -> IMP::Restraints
5223  create_decomposition(ScoringFunction sf) -> IMP::ScoringFunctions
5224  """
5225  return _IMP_kernel.create_decomposition(*args)
5226 class _ScoringFunctionAdaptor(_InputAdaptor):
5227  r"""Proxy of C++ IMP::ScoringFunctionAdaptor class."""
5228 
5229  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5230  __repr__ = _swig_repr
5231 
5232  def __init__(self, *args):
5233  r"""
5234  __init__(_ScoringFunctionAdaptor self) -> _ScoringFunctionAdaptor
5235  __init__(_ScoringFunctionAdaptor self, ScoringFunction sf) -> _ScoringFunctionAdaptor
5236  __init__(_ScoringFunctionAdaptor self, IMP::RestraintsTemp const & sf) -> _ScoringFunctionAdaptor
5237  __init__(_ScoringFunctionAdaptor self, IMP::Restraints const & sf) -> _ScoringFunctionAdaptor
5238  __init__(_ScoringFunctionAdaptor self, Restraint sf) -> _ScoringFunctionAdaptor
5239  """
5240  _IMP_kernel._ScoringFunctionAdaptor_swiginit(self, _IMP_kernel.new__ScoringFunctionAdaptor(*args))
5241  __swig_destroy__ = _IMP_kernel.delete__ScoringFunctionAdaptor
5242 
5243 # Register _ScoringFunctionAdaptor in _IMP_kernel:
5244 _IMP_kernel._ScoringFunctionAdaptor_swigregister(_ScoringFunctionAdaptor)
5245 
5246 def show_restraint_hierarchy(*args):
5247  r"""show_restraint_hierarchy(_ScoringFunctionAdaptor rs, _ostream out=std::cout)"""
5248  return _IMP_kernel.show_restraint_hierarchy(*args)
5249 class Undecorator(Object):
5250  r"""Proxy of C++ IMP::Undecorator class."""
5251 
5252  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5253 
5254  def __init__(self, m, name):
5255  r"""__init__(Undecorator self, Model m, std::string name) -> Undecorator"""
5256  if self.__class__ == Undecorator:
5257  _self = None
5258  else:
5259  _self = self
5260  _IMP_kernel.Undecorator_swiginit(self, _IMP_kernel.new_Undecorator(_self, m, name))
5261 
5262  if self.__class__ != Undecorator:
5263  _director_objects.register(self)
5264 
5265 
5266 
5267 
5268  def teardown(self, pi):
5269  r"""teardown(Undecorator self, ParticleIndex pi)"""
5270  return _IMP_kernel.Undecorator_teardown(self, pi)
5271 
5272  def __str__(self):
5273  r"""__str__(Undecorator self) -> std::string"""
5274  return _IMP_kernel.Undecorator___str__(self)
5275 
5276  def __repr__(self):
5277  r"""__repr__(Undecorator self) -> std::string"""
5278  return _IMP_kernel.Undecorator___repr__(self)
5279 
5280  @staticmethod
5281  def get_from(o):
5282  return _object_cast_to_Undecorator(o)
5283 
5284 
5285  def do_show(self, out):
5286  pass
5287 
5288  @staticmethod
5289  def get_from(o):
5290  return _object_cast_to_Undecorator(o)
5291 
5292  __swig_destroy__ = _IMP_kernel.delete_Undecorator
5293  def __disown__(self):
5294  self.this.disown()
5295  _IMP_kernel.disown_Undecorator(self)
5296  return weakref.proxy(self)
5297 
5298  def do_destroy(self):
5299  r"""do_destroy(Undecorator self)"""
5300  return _IMP_kernel.Undecorator_do_destroy(self)
5301 
5302 # Register Undecorator in _IMP_kernel:
5303 _IMP_kernel.Undecorator_swigregister(Undecorator)
5304 class Model(Object):
5305  r"""Proxy of C++ IMP::Model class."""
5306 
5307  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5308 
5309  def __init__(self, *args):
5310  r"""__init__(Model self, std::string name="Model %1%") -> Model"""
5311  _IMP_kernel.Model_swiginit(self, _IMP_kernel.new_Model(*args))
5312 
5313  if self not in _models_set:
5314  _models_set.add(self)
5315 
5316 
5317 
5318 
5319  def clear_particle_caches(self, pi):
5320  r"""clear_particle_caches(Model self, ParticleIndex pi)"""
5321  return _IMP_kernel.Model_clear_particle_caches(self, pi)
5322 
5323  def add_particle(self, name):
5324  r"""add_particle(Model self, std::string name) -> ParticleIndex"""
5325  return _IMP_kernel.Model_add_particle(self, name)
5326 
5327  def get_particle_name(self, pi):
5328  r"""get_particle_name(Model self, ParticleIndex pi) -> std::string"""
5329  return _IMP_kernel.Model_get_particle_name(self, pi)
5330 
5331  def add_undecorator(self, pi, d):
5332  r"""add_undecorator(Model self, ParticleIndex pi, Undecorator d)"""
5333  return _IMP_kernel.Model_add_undecorator(self, pi, d)
5334 
5335  def get_dependent_restraints_uncached(self, pi):
5336  r"""get_dependent_restraints_uncached(Model self, ParticleIndex pi) -> IMP::RestraintsTemp"""
5337  return _IMP_kernel.Model_get_dependent_restraints_uncached(self, pi)
5338 
5339  def get_dependent_particles_uncached(self, pi):
5340  r"""get_dependent_particles_uncached(Model self, ParticleIndex pi) -> IMP::ParticlesTemp"""
5341  return _IMP_kernel.Model_get_dependent_particles_uncached(self, pi)
5342 
5343  def get_dependent_score_states_uncached(self, pi):
5344  r"""get_dependent_score_states_uncached(Model self, ParticleIndex pi) -> IMP::ScoreStatesTemp"""
5345  return _IMP_kernel.Model_get_dependent_score_states_uncached(self, pi)
5346  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)
5347  def __set_score_states(self, obj): _list_util.set_varlist(self.score_states, obj)
5348  def __del_score_states(self): _list_util.del_varlist(self.score_states)
5349  score_states = property(__get_score_states, __set_score_states, __del_score_states, doc="List of ##ucnames")
5350 
5351  def remove_score_state(self, d):
5352  r"""remove_score_state(Model self, ScoreState d)"""
5353  return _IMP_kernel.Model_remove_score_state(self, d)
5354 
5355  def _python_index_score_state(self, d, start, stop):
5356  r"""_python_index_score_state(Model self, ScoreState d, unsigned int start, unsigned int stop) -> unsigned int"""
5357  return _IMP_kernel.Model__python_index_score_state(self, d, start, stop)
5358 
5359  def remove_score_states(self, d):
5360  r"""remove_score_states(Model self, IMP::ScoreStates const & d)"""
5361  return _IMP_kernel.Model_remove_score_states(self, d)
5362 
5363  def set_score_states(self, ps):
5364  r"""set_score_states(Model self, IMP::ScoreStates const & ps)"""
5365  return _IMP_kernel.Model_set_score_states(self, ps)
5366 
5367  def set_score_states_order(self, objs):
5368  r"""set_score_states_order(Model self, IMP::ScoreStates const & objs)"""
5369  return _IMP_kernel.Model_set_score_states_order(self, objs)
5370 
5371  def add_score_state(self, obj):
5372  r"""add_score_state(Model self, ScoreState obj) -> unsigned int"""
5373  return _IMP_kernel.Model_add_score_state(self, obj)
5374 
5375  def add_score_states(self, objs):
5376  r"""add_score_states(Model self, IMP::ScoreStates const & objs)"""
5377  return _IMP_kernel.Model_add_score_states(self, objs)
5378 
5379  def clear_score_states(self):
5380  r"""clear_score_states(Model self)"""
5381  return _IMP_kernel.Model_clear_score_states(self)
5382 
5383  def get_number_of_score_states(self):
5384  r"""get_number_of_score_states(Model self) -> unsigned int"""
5385  return _IMP_kernel.Model_get_number_of_score_states(self)
5386 
5387  def get_has_score_states(self):
5388  r"""get_has_score_states(Model self) -> bool"""
5389  return _IMP_kernel.Model_get_has_score_states(self)
5390 
5391  def get_score_state(self, i):
5392  r"""get_score_state(Model self, unsigned int i) -> ScoreState"""
5393  return _IMP_kernel.Model_get_score_state(self, i)
5394 
5395  def get_score_states(self):
5396  r"""get_score_states(Model self) -> IMP::ScoreStates"""
5397  return _IMP_kernel.Model_get_score_states(self)
5398 
5399  def erase_score_state(self, i):
5400  r"""erase_score_state(Model self, unsigned int i)"""
5401  return _IMP_kernel.Model_erase_score_state(self, i)
5402 
5403  def reserve_score_states(self, sz):
5404  r"""reserve_score_states(Model self, unsigned int sz)"""
5405  return _IMP_kernel.Model_reserve_score_states(self, sz)
5406 
5407  def update(self):
5408  r"""update(Model self)"""
5409  return _IMP_kernel.Model_update(self)
5410 
5411  def add_cache_attribute(self, *args):
5412  r"""
5413  add_cache_attribute(Model self, FloatKey attribute_key, ParticleIndex particle, IMP::Float value)
5414  add_cache_attribute(Model self, IntKey attribute_key, ParticleIndex particle, IMP::Int value)
5415  add_cache_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle, IMP::Floats value)
5416  add_cache_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle, IMP::algebra::Vector3D value)
5417  add_cache_attribute(Model self, IntsKey attribute_key, ParticleIndex particle, IMP::Ints value)
5418  add_cache_attribute(Model self, StringKey attribute_key, ParticleIndex particle, IMP::String value)
5419  add_cache_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle, IMP::ParticleIndexes value)
5420  add_cache_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
5421  add_cache_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle, Object value)
5422  add_cache_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle, Object value)
5423  """
5424  return _IMP_kernel.Model_add_cache_attribute(self, *args)
5425 
5426  def add_attribute(self, *args):
5427  r"""
5428  add_attribute(Model self, FloatKey attribute_key, ParticleIndex particle, IMP::Float value)
5429  add_attribute(Model self, IntKey attribute_key, ParticleIndex particle, IMP::Int value)
5430  add_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle, IMP::Floats value)
5431  add_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle, IMP::algebra::Vector3D value)
5432  add_attribute(Model self, IntsKey attribute_key, ParticleIndex particle, IMP::Ints value)
5433  add_attribute(Model self, StringKey attribute_key, ParticleIndex particle, IMP::String value)
5434  add_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle, IMP::ParticleIndexes value)
5435  add_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
5436  add_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle, Object value)
5437  add_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle, Object value)
5438  add_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle, IMP::String value)
5439  add_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle, IMP::Int value)
5440  add_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle, IMP::Float value)
5441  add_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
5442  """
5443  return _IMP_kernel.Model_add_attribute(self, *args)
5444 
5445  def remove_attribute(self, *args):
5446  r"""
5447  remove_attribute(Model self, FloatKey attribute_key, ParticleIndex particle)
5448  remove_attribute(Model self, IntKey attribute_key, ParticleIndex particle)
5449  remove_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle)
5450  remove_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle)
5451  remove_attribute(Model self, IntsKey attribute_key, ParticleIndex particle)
5452  remove_attribute(Model self, StringKey attribute_key, ParticleIndex particle)
5453  remove_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle)
5454  remove_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle)
5455  remove_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle)
5456  remove_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle)
5457  remove_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle)
5458  remove_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle)
5459  remove_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle)
5460  remove_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle)
5461  """
5462  return _IMP_kernel.Model_remove_attribute(self, *args)
5463 
5464  def get_has_attribute(self, *args):
5465  r"""
5466  get_has_attribute(Model self, FloatKey attribute_key, ParticleIndex particle) -> bool
5467  get_has_attribute(Model self, IntKey attribute_key, ParticleIndex particle) -> bool
5468  get_has_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle) -> bool
5469  get_has_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle) -> bool
5470  get_has_attribute(Model self, IntsKey attribute_key, ParticleIndex particle) -> bool
5471  get_has_attribute(Model self, StringKey attribute_key, ParticleIndex particle) -> bool
5472  get_has_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle) -> bool
5473  get_has_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle) -> bool
5474  get_has_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle) -> bool
5475  get_has_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle) -> bool
5476  get_has_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle) -> bool
5477  get_has_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle) -> bool
5478  get_has_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle) -> bool
5479  get_has_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle) -> bool
5480  """
5481  return _IMP_kernel.Model_get_has_attribute(self, *args)
5482 
5483  def set_attribute(self, *args):
5484  r"""
5485  set_attribute(Model self, FloatKey attribute_key, ParticleIndex particle, IMP::Float value)
5486  set_attribute(Model self, IntKey attribute_key, ParticleIndex particle, IMP::Int value)
5487  set_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle, IMP::Floats value)
5488  set_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle, IMP::algebra::Vector3D value)
5489  set_attribute(Model self, IntsKey attribute_key, ParticleIndex particle, IMP::Ints value)
5490  set_attribute(Model self, StringKey attribute_key, ParticleIndex particle, IMP::String value)
5491  set_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle, IMP::ParticleIndexes value)
5492  set_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
5493  set_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle, Object value)
5494  set_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle, Object value)
5495  set_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle, IMP::String value)
5496  set_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle, IMP::Int value)
5497  set_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle, IMP::Float value)
5498  set_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
5499  """
5500  return _IMP_kernel.Model_set_attribute(self, *args)
5501 
5502  def get_attribute(self, *args):
5503  r"""
5504  get_attribute(Model self, FloatKey attribute_key, ParticleIndex particle) -> IMP::Float
5505  get_attribute(Model self, IntKey attribute_key, ParticleIndex particle) -> IMP::Int
5506  get_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle) -> IMP::Floats
5507  get_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle) -> IMP::algebra::Vector3D
5508  get_attribute(Model self, IntsKey attribute_key, ParticleIndex particle) -> IMP::Ints
5509  get_attribute(Model self, StringKey attribute_key, ParticleIndex particle) -> IMP::String
5510  get_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle) -> IMP::ParticleIndexes
5511  get_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle) -> ParticleIndex
5512  get_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle) -> Object
5513  get_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle) -> Object
5514  get_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle) -> IMP::String
5515  get_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle) -> IMP::Int
5516  get_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle) -> IMP::Float
5517  get_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle) -> ParticleIndex
5518  """
5519  return _IMP_kernel.Model_get_attribute(self, *args)
5520 
5521  def set_is_optimized(self, arg2, arg3, arg4):
5522  r"""set_is_optimized(Model self, FloatKey arg2, ParticleIndex arg3, bool arg4)"""
5523  return _IMP_kernel.Model_set_is_optimized(self, arg2, arg3, arg4)
5524 
5525  def add_to_derivative(self, k, particle, v, da):
5526  r"""add_to_derivative(Model self, FloatKey k, ParticleIndex particle, double v, DerivativeAccumulator da)"""
5527  return _IMP_kernel.Model_add_to_derivative(self, k, particle, v, da)
5528 
5529  def get_particle(self, p):
5530  r"""get_particle(Model self, ParticleIndex p) -> Particle"""
5531  return _IMP_kernel.Model_get_particle(self, p)
5532 
5533  def get_has_particle(self, p):
5534  r"""get_has_particle(Model self, ParticleIndex p) -> bool"""
5535  return _IMP_kernel.Model_get_has_particle(self, p)
5536 
5537  def get_particle_indexes(self):
5538  r"""get_particle_indexes(Model self) -> IMP::ParticleIndexes"""
5539  return _IMP_kernel.Model_get_particle_indexes(self)
5540 
5541  def get_model_objects(self):
5542  r"""get_model_objects(Model self) -> IMP::ModelObjectsTemp"""
5543  return _IMP_kernel.Model_get_model_objects(self)
5544 
5545  def remove_particle(self, pi):
5546  r"""remove_particle(Model self, ParticleIndex pi)"""
5547  return _IMP_kernel.Model_remove_particle(self, pi)
5548 
5549  def add_data(self, mk, o):
5550  r"""add_data(Model self, ModelKey mk, Object o)"""
5551  return _IMP_kernel.Model_add_data(self, mk, o)
5552 
5553  def get_data(self, mk):
5554  r"""get_data(Model self, ModelKey mk) -> Object"""
5555  return _IMP_kernel.Model_get_data(self, mk)
5556 
5557  def remove_data(self, mk):
5558  r"""remove_data(Model self, ModelKey mk)"""
5559  return _IMP_kernel.Model_remove_data(self, mk)
5560 
5561  def get_has_data(self, mk):
5562  r"""get_has_data(Model self, ModelKey mk) -> bool"""
5563  return _IMP_kernel.Model_get_has_data(self, mk)
5564 
5565  def get_age(self):
5566  r"""get_age(Model self) -> unsigned int"""
5567  return _IMP_kernel.Model_get_age(self)
5568 
5569  def get_trigger_last_updated(self, tk):
5570  r"""get_trigger_last_updated(Model self, TriggerKey tk) -> unsigned int"""
5571  return _IMP_kernel.Model_get_trigger_last_updated(self, tk)
5572 
5573  def set_trigger_updated(self, tk):
5574  r"""set_trigger_updated(Model self, TriggerKey tk)"""
5575  return _IMP_kernel.Model_set_trigger_updated(self, tk)
5576 
5577  def get_dependencies_updated(self):
5578  r"""get_dependencies_updated(Model self) -> unsigned int"""
5579  return _IMP_kernel.Model_get_dependencies_updated(self)
5580 
5581  def get_removed_particles_attributes_age(self):
5582  r"""get_removed_particles_attributes_age(Model self) -> unsigned int"""
5583  return _IMP_kernel.Model_get_removed_particles_attributes_age(self)
5584 
5585  def save_dependencies(self):
5586  r"""save_dependencies(Model self)"""
5587  return _IMP_kernel.Model_save_dependencies(self)
5588 
5589  def restore_dependencies(self):
5590  r"""restore_dependencies(Model self)"""
5591  return _IMP_kernel.Model_restore_dependencies(self)
5592 
5593  def get_particles_size(self):
5594  r"""get_particles_size(Model self) -> unsigned int"""
5595  return _IMP_kernel.Model_get_particles_size(self)
5596 
5597  def get_unique_id(self):
5598  r"""get_unique_id(Model self) -> uint32_t"""
5599  return _IMP_kernel.Model_get_unique_id(self)
5600 
5601  @staticmethod
5602  def get_by_unique_id(id):
5603  r"""get_by_unique_id(uint32_t id) -> Model"""
5604  return _IMP_kernel.Model_get_by_unique_id(id)
5605 
5606  def get_version_info(self):
5607  r"""get_version_info(Model self) -> VersionInfo"""
5608  return _IMP_kernel.Model_get_version_info(self)
5609  __swig_destroy__ = _IMP_kernel.delete_Model
5610  def __del__(self):
5611  r"""__del__(Model self)"""
5612 
5613  _director_objects.cleanup()
5614 
5615 
5616  pass
5617 
5618 
5619  def do_destroy(self):
5620  r"""do_destroy(Model self)"""
5621  return _IMP_kernel.Model_do_destroy(self)
5622 
5623  def __str__(self):
5624  r"""__str__(Model self) -> std::string"""
5625  return _IMP_kernel.Model___str__(self)
5626 
5627  def __repr__(self):
5628  r"""__repr__(Model self) -> std::string"""
5629  return _IMP_kernel.Model___repr__(self)
5630 
5631  @staticmethod
5632  def get_from(o):
5633  return _object_cast_to_Model(o)
5634 
5635 
5636  def _get_as_binary(self):
5637  r"""_get_as_binary(Model self) -> PyObject *"""
5638  return _IMP_kernel.Model__get_as_binary(self)
5639 
5640  def _set_from_binary(self, p):
5641  r"""_set_from_binary(Model self, PyObject * p)"""
5642  return _IMP_kernel.Model__set_from_binary(self, p)
5643 
5644  def __getstate__(self):
5645  p = self._get_as_binary()
5646  if len(self.__dict__) > 1:
5647  d = self.__dict__.copy()
5648  del d['this']
5649  p = (d, p)
5650  return p
5651 
5652  def __setstate__(self, p):
5653  if not hasattr(self, 'this'):
5654  self.__init__()
5655  if isinstance(p, tuple):
5656  d, p = p
5657  self.__dict__.update(d)
5658  return self._set_from_binary(p)
5659 
5660 
5661  def get_ints_numpy(self, k, read_only=False):
5662  """Get the model's attribute array for IntKey k as a NumPy array.
5663  The array is indexed by ParticleIndex; particles that don't have
5664  this attribute will either be off the end of the array or will have
5665  the value INT_MAX.
5666  This is a NumPy view that shares memory with the Model. Thus,
5667  any changes to values in this list will be reflected in the Model.
5668  Also, if the Model attribute array moves in memory (e.g. if particles
5669  or attributes are added) this array will be invalidated, so it is
5670  unsafe to keep it around long term.
5671  If read_only is set True, values in the array cannot be changed.
5672  """
5673  return _get_ints_numpy(self, k, self, read_only)
5674 
5675  def get_numpy(self, k, read_only=False):
5676  """Get the model's attribute array for any type of Key
5677  k as a NumPy array. See Model::get_ints_numpy() for more details."""
5678  _numpy_meth_map = {IntKey: _get_ints_numpy,
5679  FloatKey: _get_floats_numpy,
5680  Vector3DKey: _get_vector3ds_numpy}
5681  return _numpy_meth_map[type(k)](self, k, self, read_only)
5682 
5683  def get_floats_numpy(self, k, read_only=False):
5684  """Get the model's attribute array for FloatKey k as a NumPy array.
5685  See Model::get_ints_numpy() for more details."""
5686  return _get_floats_numpy(self, k, self, read_only)
5687 
5688  def get_derivatives_numpy(self, k, read_only=False):
5689  """Get the model's attribute derivatives array for FloatKey k
5690  as a NumPy array. See Model::get_ints_numpy() for more details."""
5691  return _get_derivatives_numpy(self, k, self, read_only)
5692 
5693  def get_vector3ds_numpy(self, k, read_only=False):
5694  """Get the model's attribute array for Vector3DKey k as a NumPy array.
5695  See Model::get_ints_numpy() for more details."""
5696  return _get_vector3ds_numpy(self, k, self, read_only)
5697 
5698  def get_spheres_numpy(self, read_only=False):
5699  """Get the model's XYZR attribute arrays as NumPy arrays.
5700  The attribute arrays for Cartesian coordinates and radii are
5701  stored separately from those for other FloatKeys. This function
5702  returns a tuple of two NumPy arrays, the first of coordinates and
5703  the second of radii. See Model::get_ints_numpy() for more details."""
5704  return _get_spheres_numpy(self, self, read_only)
5705 
5706  def get_sphere_derivatives_numpy(self, read_only=False):
5707  """Get the model's XYZR attribute derivatives arrays as NumPy arrays.
5708  See Model::get_ints_numpy() for more details."""
5709  return _get_sphere_derivatives_numpy(self, self, read_only)
5710 
5711 
5712 # Register Model in _IMP_kernel:
5713 _IMP_kernel.Model_swigregister(Model)
5714 class Decorator(_Value):
5715  r"""Proxy of C++ IMP::Decorator class."""
5716 
5717  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5718  __repr__ = _swig_repr
5719 
5720  def __init__(self, p):
5721  r"""__init__(Decorator self, _ParticleAdaptor p) -> Decorator"""
5722  _IMP_kernel.Decorator_swiginit(self, _IMP_kernel.new_Decorator(p))
5723 
5724  def __ne__(self, o):
5725  r"""__ne__(Decorator self, Object o) -> bool"""
5726  return _IMP_kernel.Decorator___ne__(self, o)
5727 
5728  def __lt__(self, o):
5729  r"""__lt__(Decorator self, Object o) -> bool"""
5730  return _IMP_kernel.Decorator___lt__(self, o)
5731 
5732  def __gt__(self, o):
5733  r"""__gt__(Decorator self, Object o) -> bool"""
5734  return _IMP_kernel.Decorator___gt__(self, o)
5735 
5736  def __ge__(self, o):
5737  r"""__ge__(Decorator self, Object o) -> bool"""
5738  return _IMP_kernel.Decorator___ge__(self, o)
5739 
5740  def __le__(self, o):
5741  r"""__le__(Decorator self, Object o) -> bool"""
5742  return _IMP_kernel.Decorator___le__(self, o)
5743 
5744  def get_particle(self):
5745  r"""get_particle(Decorator self) -> Particle"""
5746  return _IMP_kernel.Decorator_get_particle(self)
5747 
5748  def get_particle_index(self):
5749  r"""get_particle_index(Decorator self) -> ParticleIndex"""
5750  return _IMP_kernel.Decorator_get_particle_index(self)
5751 
5752  def get_model(self):
5753  m = _IMP_kernel.Decorator_get_model(self)
5754  if m in _models_set:
5755  m = _models_set_get(m)
5756  return m
5757 
5758 
5759 
5760  def get_is_valid(self):
5761  r"""get_is_valid(Decorator self) -> bool"""
5762  return _IMP_kernel.Decorator_get_is_valid(self)
5763 
5764  def __hash__(self):
5765  r"""__hash__(Decorator self) -> std::size_t"""
5766  return _IMP_kernel.Decorator___hash__(self)
5767 
5768  def __eq__(self, *args):
5769  r"""
5770  __eq__(Decorator self, Object o) -> bool
5771  __eq__(Decorator self, Decorator o) -> bool
5772  __eq__(Decorator self, Particle o) -> bool
5773  """
5774  return _IMP_kernel.Decorator___eq__(self, *args)
5775 
5776  def __bool__(self):
5777  r"""__bool__(Decorator self) -> bool"""
5778  return _IMP_kernel.Decorator___bool__(self)
5779  __swig_destroy__ = _IMP_kernel.delete_Decorator
5780 
5781 # Register Decorator in _IMP_kernel:
5782 _IMP_kernel.Decorator_swigregister(Decorator)
5783 
5784 def check_particle(m, pi):
5785  r"""check_particle(Model m, ParticleIndex pi)"""
5786  return _IMP_kernel.check_particle(m, pi)
5787 class UnaryFunction(Object):
5788  r"""Proxy of C++ IMP::UnaryFunction class."""
5789 
5790  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5791 
5792  def __init__(self, *args):
5793  r"""__init__(UnaryFunction self, std::string name="UnaryFunction%1%") -> UnaryFunction"""
5794  if self.__class__ == UnaryFunction:
5795  _self = None
5796  else:
5797  _self = self
5798  _IMP_kernel.UnaryFunction_swiginit(self, _IMP_kernel.new_UnaryFunction(_self, *args))
5799 
5800  if self.__class__ != UnaryFunction:
5801  _director_objects.register(self)
5802 
5803 
5804 
5805 
5806  def evaluate(self, feature):
5807  r"""evaluate(UnaryFunction self, double feature) -> double"""
5808  return _IMP_kernel.UnaryFunction_evaluate(self, feature)
5809 
5810  def evaluate_with_derivative(self, feature):
5811  r"""evaluate_with_derivative(UnaryFunction self, double feature) -> IMP::DerivativePair"""
5812  return _IMP_kernel.UnaryFunction_evaluate_with_derivative(self, feature)
5813  __swig_destroy__ = _IMP_kernel.delete_UnaryFunction
5814 
5815  def __str__(self):
5816  r"""__str__(UnaryFunction self) -> std::string"""
5817  return _IMP_kernel.UnaryFunction___str__(self)
5818 
5819  def __repr__(self):
5820  r"""__repr__(UnaryFunction self) -> std::string"""
5821  return _IMP_kernel.UnaryFunction___repr__(self)
5822 
5823  @staticmethod
5824  def get_from(o):
5825  return _object_cast_to_UnaryFunction(o)
5826 
5827 
5828  def do_show(self, out):
5829  pass
5830 
5831  @staticmethod
5832  def get_from(o):
5833  return _object_cast_to_UnaryFunction(o)
5834 
5835 
5836  def _get_jax(self):
5837  """Return a JAX implementation of this UnaryFunction.
5838  Implement this method in a UnaryFunction subclass to provide
5839  an equivalent function using [JAX](https://docs.jax.dev/)
5840  that scores the provided feature value.
5841  """
5842  raise NotImplementedError(f"No JAX implementation for {self}")
5843 
5844  def __disown__(self):
5845  self.this.disown()
5846  _IMP_kernel.disown_UnaryFunction(self)
5847  return weakref.proxy(self)
5848 
5849  def do_destroy(self):
5850  r"""do_destroy(UnaryFunction self)"""
5851  return _IMP_kernel.UnaryFunction_do_destroy(self)
5852 
5853 # Register UnaryFunction in _IMP_kernel:
5854 _IMP_kernel.UnaryFunction_swigregister(UnaryFunction)
5856  r"""Proxy of C++ IMP::OptimizerState class."""
5857 
5858  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5859 
5860  def __init__(self, *args):
5861  r"""
5862  __init__(OptimizerState self, Model m, std::string name) -> OptimizerState
5863  __init__(OptimizerState self) -> OptimizerState
5864  """
5865  if self.__class__ == OptimizerState:
5866  _self = None
5867  else:
5868  _self = self
5869  _IMP_kernel.OptimizerState_swiginit(self, _IMP_kernel.new_OptimizerState(_self, *args))
5870 
5871  if self.__class__ != OptimizerState:
5872  _director_objects.register(self)
5873 
5874 
5875 
5876 
5877  def update(self):
5878  r"""update(OptimizerState self)"""
5879  return _IMP_kernel.OptimizerState_update(self)
5880 
5881  def set_is_optimizing(self, arg0):
5882  r"""set_is_optimizing(OptimizerState self, bool arg0)"""
5883  return _IMP_kernel.OptimizerState_set_is_optimizing(self, arg0)
5884 
5885  def get_optimizer(self):
5886  r"""get_optimizer(OptimizerState self) -> Optimizer"""
5887  return _IMP_kernel.OptimizerState_get_optimizer(self)
5888 
5889  def set_period(self, p):
5890  r"""set_period(OptimizerState self, unsigned int p)"""
5891  return _IMP_kernel.OptimizerState_set_period(self, p)
5892 
5893  def get_period(self):
5894  r"""get_period(OptimizerState self) -> unsigned int"""
5895  return _IMP_kernel.OptimizerState_get_period(self)
5896 
5897  def reset(self):
5898  r"""reset(OptimizerState self)"""
5899  return _IMP_kernel.OptimizerState_reset(self)
5900 
5901  def update_always(self):
5902  r"""update_always(OptimizerState self)"""
5903  return _IMP_kernel.OptimizerState_update_always(self)
5904 
5905  def get_number_of_updates(self):
5906  r"""get_number_of_updates(OptimizerState self) -> unsigned int"""
5907  return _IMP_kernel.OptimizerState_get_number_of_updates(self)
5908 
5909  def set_number_of_updates(self, n):
5910  r"""set_number_of_updates(OptimizerState self, unsigned int n)"""
5911  return _IMP_kernel.OptimizerState_set_number_of_updates(self, n)
5912  __swig_destroy__ = _IMP_kernel.delete_OptimizerState
5913 
5914  def do_update(self, arg0):
5915  r"""do_update(OptimizerState self, unsigned int arg0)"""
5916  return _IMP_kernel.OptimizerState_do_update(self, arg0)
5917 
5918  def do_set_is_optimizing(self, arg0):
5919  r"""do_set_is_optimizing(OptimizerState self, bool arg0)"""
5920  return _IMP_kernel.OptimizerState_do_set_is_optimizing(self, arg0)
5921 
5922  def do_get_inputs(self):
5923  r"""do_get_inputs(OptimizerState self) -> IMP::ModelObjectsTemp"""
5924  return _IMP_kernel.OptimizerState_do_get_inputs(self)
5925 
5926  def do_get_outputs(self):
5927  r"""do_get_outputs(OptimizerState self) -> IMP::ModelObjectsTemp"""
5928  return _IMP_kernel.OptimizerState_do_get_outputs(self)
5929 
5930  def __str__(self):
5931  r"""__str__(OptimizerState self) -> std::string"""
5932  return _IMP_kernel.OptimizerState___str__(self)
5933 
5934  def __repr__(self):
5935  r"""__repr__(OptimizerState self) -> std::string"""
5936  return _IMP_kernel.OptimizerState___repr__(self)
5937 
5938  @staticmethod
5939  def get_from(o):
5940  return _object_cast_to_OptimizerState(o)
5941 
5942 
5943  def do_show(self, out):
5944  pass
5945 
5946  @staticmethod
5947  def get_from(o):
5948  return _object_cast_to_OptimizerState(o)
5949 
5950  def __disown__(self):
5951  self.this.disown()
5952  _IMP_kernel.disown_OptimizerState(self)
5953  return weakref.proxy(self)
5954 
5955  def do_destroy(self):
5956  r"""do_destroy(OptimizerState self)"""
5957  return _IMP_kernel.OptimizerState_do_destroy(self)
5958 
5959  def handle_set_has_required_score_states(self, arg0):
5960  r"""handle_set_has_required_score_states(OptimizerState self, bool arg0)"""
5961  return _IMP_kernel.OptimizerState_handle_set_has_required_score_states(self, arg0)
5962 
5963  def do_get_interactions(self):
5964  r"""do_get_interactions(OptimizerState self) -> IMP::ModelObjectsTemps"""
5965  return _IMP_kernel.OptimizerState_do_get_interactions(self)
5966 
5967 # Register OptimizerState in _IMP_kernel:
5968 _IMP_kernel.OptimizerState_swigregister(OptimizerState)
5969 class Refiner(_ParticleInputs, Object):
5970  r"""Proxy of C++ IMP::Refiner class."""
5971 
5972  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5973 
5974  def __init__(self, *args):
5975  r"""__init__(Refiner self, std::string name="Refiner %1%", bool is_by_ref=False) -> Refiner"""
5976  if self.__class__ == Refiner:
5977  _self = None
5978  else:
5979  _self = self
5980  _IMP_kernel.Refiner_swiginit(self, _IMP_kernel.new_Refiner(_self, *args))
5981 
5982  if self.__class__ != Refiner:
5983  _director_objects.register(self)
5984 
5985 
5986 
5987 
5988  def get_can_refine(self, arg0):
5989  r"""get_can_refine(Refiner self, Particle arg0) -> bool"""
5990  return _IMP_kernel.Refiner_get_can_refine(self, arg0)
5991 
5992  def get_refined_indexes(self, m, pi):
5993  r"""get_refined_indexes(Refiner self, Model m, ParticleIndex pi) -> IMP::ParticleIndexes"""
5994  return _IMP_kernel.Refiner_get_refined_indexes(self, m, pi)
5995 
5996  def get_refined_indexes_by_ref(self, m, pi):
5997  r"""get_refined_indexes_by_ref(Refiner self, Model m, ParticleIndex pi) -> IMP::ParticleIndexes const &"""
5998  return _IMP_kernel.Refiner_get_refined_indexes_by_ref(self, m, pi)
5999 
6000  def get_is_by_ref_supported(self):
6001  r"""get_is_by_ref_supported(Refiner self) -> bool"""
6002  return _IMP_kernel.Refiner_get_is_by_ref_supported(self)
6003 
6004  def get_refined(self, *args):
6005  r"""
6006  get_refined(Refiner self, Particle a) -> IMP::ParticlesTemp const
6007  get_refined(Refiner self, Particle a, unsigned int i) -> Particle
6008  """
6009  return _IMP_kernel.Refiner_get_refined(self, *args)
6010 
6011  def get_number_of_refined(self, a):
6012  r"""get_number_of_refined(Refiner self, Particle a) -> unsigned int"""
6013  return _IMP_kernel.Refiner_get_number_of_refined(self, a)
6014 
6015  def __str__(self):
6016  r"""__str__(Refiner self) -> std::string"""
6017  return _IMP_kernel.Refiner___str__(self)
6018 
6019  def __repr__(self):
6020  r"""__repr__(Refiner self) -> std::string"""
6021  return _IMP_kernel.Refiner___repr__(self)
6022 
6023  @staticmethod
6024  def get_from(o):
6025  return _object_cast_to_Refiner(o)
6026 
6027 
6028  def do_show(self, out):
6029  pass
6030 
6031  @staticmethod
6032  def get_from(o):
6033  return _object_cast_to_Refiner(o)
6034 
6035  __swig_destroy__ = _IMP_kernel.delete_Refiner
6036  def __disown__(self):
6037  self.this.disown()
6038  _IMP_kernel.disown_Refiner(self)
6039  return weakref.proxy(self)
6040 
6041  def do_get_inputs(self, m, pis):
6042  r"""do_get_inputs(Refiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6043  return _IMP_kernel.Refiner_do_get_inputs(self, m, pis)
6044 
6045  def do_destroy(self):
6046  r"""do_destroy(Refiner self)"""
6047  return _IMP_kernel.Refiner_do_destroy(self)
6048 
6049 # Register Refiner in _IMP_kernel:
6050 _IMP_kernel.Refiner_swigregister(Refiner)
6051 class Optimizer(ModelObject):
6052  r"""Proxy of C++ IMP::Optimizer class."""
6053 
6054  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6055 
6056  def set_is_optimizing_states(self, tf):
6057  r"""set_is_optimizing_states(Optimizer self, bool tf)"""
6058  return _IMP_kernel.Optimizer_set_is_optimizing_states(self, tf)
6059 
6060  def get_optimizer_state_inputs(self):
6061  r"""get_optimizer_state_inputs(Optimizer self) -> IMP::ModelObjectsTemp"""
6062  return _IMP_kernel.Optimizer_get_optimizer_state_inputs(self)
6063 
6064  def do_get_inputs(self):
6065  r"""do_get_inputs(Optimizer self) -> IMP::ModelObjectsTemp"""
6066  return _IMP_kernel.Optimizer_do_get_inputs(self)
6067 
6068  def do_get_outputs(self):
6069  r"""do_get_outputs(Optimizer self) -> IMP::ModelObjectsTemp"""
6070  return _IMP_kernel.Optimizer_do_get_outputs(self)
6071 
6072  def __init__(self, *args):
6073  r"""
6074  __init__(Optimizer self, Model m, std::string name="Optimizer %1%") -> Optimizer
6075  __init__(Optimizer self) -> Optimizer
6076  """
6077  if self.__class__ == Optimizer:
6078  _self = None
6079  else:
6080  _self = self
6081  _IMP_kernel.Optimizer_swiginit(self, _IMP_kernel.new_Optimizer(_self, *args))
6082 
6083  if self.__class__ != Optimizer:
6084  _director_objects.register(self)
6085 
6086 
6087 
6088 
6089  def optimize(self, max_steps):
6090  r"""optimize(Optimizer self, unsigned int max_steps) -> double"""
6091  return _IMP_kernel.Optimizer_optimize(self, max_steps)
6092 
6093  def set_stop_on_good_score(self, tf):
6094  r"""set_stop_on_good_score(Optimizer self, bool tf)"""
6095  return _IMP_kernel.Optimizer_set_stop_on_good_score(self, tf)
6096 
6097  def get_stop_on_good_score(self):
6098  r"""get_stop_on_good_score(Optimizer self) -> bool"""
6099  return _IMP_kernel.Optimizer_get_stop_on_good_score(self)
6100 
6101  def get_last_score(self):
6102  r"""get_last_score(Optimizer self) -> double"""
6103  return _IMP_kernel.Optimizer_get_last_score(self)
6104 
6105  def get_scoring_function(self):
6106  r"""get_scoring_function(Optimizer self) -> ScoringFunction"""
6107  return _IMP_kernel.Optimizer_get_scoring_function(self)
6108  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)
6109  def __set_optimizer_states(self, obj): _list_util.set_varlist(self.optimizer_states, obj)
6110  def __del_optimizer_states(self): _list_util.del_varlist(self.optimizer_states)
6111  optimizer_states = property(__get_optimizer_states, __set_optimizer_states, __del_optimizer_states, doc="List of ##ucnames")
6112 
6113  def remove_optimizer_state(self, d):
6114  r"""remove_optimizer_state(Optimizer self, OptimizerState d)"""
6115  return _IMP_kernel.Optimizer_remove_optimizer_state(self, d)
6116 
6117  def _python_index_optimizer_state(self, d, start, stop):
6118  r"""_python_index_optimizer_state(Optimizer self, OptimizerState d, unsigned int start, unsigned int stop) -> unsigned int"""
6119  return _IMP_kernel.Optimizer__python_index_optimizer_state(self, d, start, stop)
6120 
6121  def remove_optimizer_states(self, d):
6122  r"""remove_optimizer_states(Optimizer self, IMP::OptimizerStates const & d)"""
6123  return _IMP_kernel.Optimizer_remove_optimizer_states(self, d)
6124 
6125  def set_optimizer_states(self, ps):
6126  r"""set_optimizer_states(Optimizer self, IMP::OptimizerStates const & ps)"""
6127  return _IMP_kernel.Optimizer_set_optimizer_states(self, ps)
6128 
6129  def set_optimizer_states_order(self, objs):
6130  r"""set_optimizer_states_order(Optimizer self, IMP::OptimizerStates const & objs)"""
6131  return _IMP_kernel.Optimizer_set_optimizer_states_order(self, objs)
6132 
6133  def add_optimizer_state(self, obj):
6134  r"""add_optimizer_state(Optimizer self, OptimizerState obj) -> unsigned int"""
6135  return _IMP_kernel.Optimizer_add_optimizer_state(self, obj)
6136 
6137  def add_optimizer_states(self, objs):
6138  r"""add_optimizer_states(Optimizer self, IMP::OptimizerStates const & objs)"""
6139  return _IMP_kernel.Optimizer_add_optimizer_states(self, objs)
6140 
6141  def clear_optimizer_states(self):
6142  r"""clear_optimizer_states(Optimizer self)"""
6143  return _IMP_kernel.Optimizer_clear_optimizer_states(self)
6144 
6145  def get_number_of_optimizer_states(self):
6146  r"""get_number_of_optimizer_states(Optimizer self) -> unsigned int"""
6147  return _IMP_kernel.Optimizer_get_number_of_optimizer_states(self)
6148 
6149  def get_has_optimizer_states(self):
6150  r"""get_has_optimizer_states(Optimizer self) -> bool"""
6151  return _IMP_kernel.Optimizer_get_has_optimizer_states(self)
6152 
6153  def get_optimizer_state(self, i):
6154  r"""get_optimizer_state(Optimizer self, unsigned int i) -> OptimizerState"""
6155  return _IMP_kernel.Optimizer_get_optimizer_state(self, i)
6156 
6157  def get_optimizer_states(self):
6158  r"""get_optimizer_states(Optimizer self) -> IMP::OptimizerStates"""
6159  return _IMP_kernel.Optimizer_get_optimizer_states(self)
6160 
6161  def erase_optimizer_state(self, i):
6162  r"""erase_optimizer_state(Optimizer self, unsigned int i)"""
6163  return _IMP_kernel.Optimizer_erase_optimizer_state(self, i)
6164 
6165  def reserve_optimizer_states(self, sz):
6166  r"""reserve_optimizer_states(Optimizer self, unsigned int sz)"""
6167  return _IMP_kernel.Optimizer_reserve_optimizer_states(self, sz)
6168 
6169  def set_scoring_function(self, sf):
6170  r"""set_scoring_function(Optimizer self, _ScoringFunctionAdaptor sf)"""
6171  return _IMP_kernel.Optimizer_set_scoring_function(self, sf)
6172  __swig_destroy__ = _IMP_kernel.delete_Optimizer
6173  def __del__(self):
6174  r"""__del__(Optimizer self)"""
6175 
6176  _director_objects.cleanup()
6177 
6178 
6179  pass
6180 
6181 
6182  def do_optimize(self, ns):
6183  r"""do_optimize(Optimizer self, unsigned int ns) -> double"""
6184  return _IMP_kernel.Optimizer_do_optimize(self, ns)
6185 
6186  def update_states(self):
6187  r"""update_states(Optimizer self)"""
6188  return _IMP_kernel.Optimizer_update_states(self)
6189 
6190  def __str__(self):
6191  r"""__str__(Optimizer self) -> std::string"""
6192  return _IMP_kernel.Optimizer___str__(self)
6193 
6194  def __repr__(self):
6195  r"""__repr__(Optimizer self) -> std::string"""
6196  return _IMP_kernel.Optimizer___repr__(self)
6197 
6198  @staticmethod
6199  def get_from(o):
6200  return _object_cast_to_Optimizer(o)
6201 
6202 
6203  def do_show(self, out):
6204  pass
6205 
6206  @staticmethod
6207  def get_from(o):
6208  return _object_cast_to_Optimizer(o)
6209 
6210  def __disown__(self):
6211  self.this.disown()
6212  _IMP_kernel.disown_Optimizer(self)
6213  return weakref.proxy(self)
6214 
6215  def do_destroy(self):
6216  r"""do_destroy(Optimizer self)"""
6217  return _IMP_kernel.Optimizer_do_destroy(self)
6218 
6219  def handle_set_has_required_score_states(self, arg0):
6220  r"""handle_set_has_required_score_states(Optimizer self, bool arg0)"""
6221  return _IMP_kernel.Optimizer_handle_set_has_required_score_states(self, arg0)
6222 
6223  def do_get_interactions(self):
6224  r"""do_get_interactions(Optimizer self) -> IMP::ModelObjectsTemps"""
6225  return _IMP_kernel.Optimizer_do_get_interactions(self)
6226 
6227 # Register Optimizer in _IMP_kernel:
6228 _IMP_kernel.Optimizer_swigregister(Optimizer)
6230  r"""Proxy of C++ IMP::AttributeOptimizer class."""
6231 
6232  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6233 
6234  def __init__(self, *args):
6235  r"""
6236  __init__(AttributeOptimizer self, Model m, std::string name="Optimizer %1%") -> AttributeOptimizer
6237  __init__(AttributeOptimizer self) -> AttributeOptimizer
6238  """
6239  if self.__class__ == AttributeOptimizer:
6240  _self = None
6241  else:
6242  _self = self
6243  _IMP_kernel.AttributeOptimizer_swiginit(self, _IMP_kernel.new_AttributeOptimizer(_self, *args))
6244 
6245  if self.__class__ != AttributeOptimizer:
6246  _director_objects.register(self)
6247 
6248 
6249 
6250 
6251  def get_optimized_attributes(self):
6252  r"""get_optimized_attributes(AttributeOptimizer self) -> IMP::FloatIndexes"""
6253  return _IMP_kernel.AttributeOptimizer_get_optimized_attributes(self)
6254 
6255  def set_value(self, fi, v):
6256  r"""set_value(AttributeOptimizer self, FloatIndex fi, double v)"""
6257  return _IMP_kernel.AttributeOptimizer_set_value(self, fi, v)
6258 
6259  def get_value(self, fi):
6260  r"""get_value(AttributeOptimizer self, FloatIndex fi) -> IMP::Float"""
6261  return _IMP_kernel.AttributeOptimizer_get_value(self, fi)
6262 
6263  def get_derivative(self, fi):
6264  r"""get_derivative(AttributeOptimizer self, FloatIndex fi) -> IMP::Float"""
6265  return _IMP_kernel.AttributeOptimizer_get_derivative(self, fi)
6266 
6267  def get_width(self, k):
6268  r"""get_width(AttributeOptimizer self, FloatKey k) -> double"""
6269  return _IMP_kernel.AttributeOptimizer_get_width(self, k)
6270 
6271  def set_scaled_value(self, fi, v):
6272  r"""set_scaled_value(AttributeOptimizer self, FloatIndex fi, IMP::Float v)"""
6273  return _IMP_kernel.AttributeOptimizer_set_scaled_value(self, fi, v)
6274 
6275  def get_scaled_value(self, fi):
6276  r"""get_scaled_value(AttributeOptimizer self, FloatIndex fi) -> double"""
6277  return _IMP_kernel.AttributeOptimizer_get_scaled_value(self, fi)
6278 
6279  def get_scaled_derivative(self, fi):
6280  r"""get_scaled_derivative(AttributeOptimizer self, FloatIndex fi) -> double"""
6281  return _IMP_kernel.AttributeOptimizer_get_scaled_derivative(self, fi)
6282 
6283  def clear_range_cache(self):
6284  r"""clear_range_cache(AttributeOptimizer self)"""
6285  return _IMP_kernel.AttributeOptimizer_clear_range_cache(self)
6286 
6287  def __str__(self):
6288  r"""__str__(AttributeOptimizer self) -> std::string"""
6289  return _IMP_kernel.AttributeOptimizer___str__(self)
6290 
6291  def __repr__(self):
6292  r"""__repr__(AttributeOptimizer self) -> std::string"""
6293  return _IMP_kernel.AttributeOptimizer___repr__(self)
6294 
6295  @staticmethod
6296  def get_from(o):
6297  return _object_cast_to_AttributeOptimizer(o)
6298 
6299 
6300  def do_show(self, out):
6301  pass
6302 
6303  @staticmethod
6304  def get_from(o):
6305  return _object_cast_to_AttributeOptimizer(o)
6306 
6307  __swig_destroy__ = _IMP_kernel.delete_AttributeOptimizer
6308  def __disown__(self):
6309  self.this.disown()
6310  _IMP_kernel.disown_AttributeOptimizer(self)
6311  return weakref.proxy(self)
6312 
6313  def do_destroy(self):
6314  r"""do_destroy(AttributeOptimizer self)"""
6315  return _IMP_kernel.AttributeOptimizer_do_destroy(self)
6316 
6317  def handle_set_has_required_score_states(self, arg0):
6318  r"""handle_set_has_required_score_states(AttributeOptimizer self, bool arg0)"""
6319  return _IMP_kernel.AttributeOptimizer_handle_set_has_required_score_states(self, arg0)
6320 
6321  def do_get_inputs(self):
6322  r"""do_get_inputs(AttributeOptimizer self) -> IMP::ModelObjectsTemp"""
6323  return _IMP_kernel.AttributeOptimizer_do_get_inputs(self)
6324 
6325  def do_get_outputs(self):
6326  r"""do_get_outputs(AttributeOptimizer self) -> IMP::ModelObjectsTemp"""
6327  return _IMP_kernel.AttributeOptimizer_do_get_outputs(self)
6328 
6329  def do_get_interactions(self):
6330  r"""do_get_interactions(AttributeOptimizer self) -> IMP::ModelObjectsTemps"""
6331  return _IMP_kernel.AttributeOptimizer_do_get_interactions(self)
6332 
6333  def do_optimize(self, ns):
6334  r"""do_optimize(AttributeOptimizer self, unsigned int ns) -> double"""
6335  return _IMP_kernel.AttributeOptimizer_do_optimize(self, ns)
6336 
6337 # Register AttributeOptimizer in _IMP_kernel:
6338 _IMP_kernel.AttributeOptimizer_swigregister(AttributeOptimizer)
6339 class ConfigurationSet(Object):
6340  r"""Proxy of C++ IMP::ConfigurationSet class."""
6341 
6342  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6343 
6344  def __init__(self, *args):
6345  r"""__init__(ConfigurationSet self, Model m, std::string name="ConfigurationSet %1%") -> ConfigurationSet"""
6346  _IMP_kernel.ConfigurationSet_swiginit(self, _IMP_kernel.new_ConfigurationSet(*args))
6347 
6348  def save_configuration(self):
6349  r"""save_configuration(ConfigurationSet self)"""
6350  return _IMP_kernel.ConfigurationSet_save_configuration(self)
6351 
6352  def get_number_of_configurations(self):
6353  r"""get_number_of_configurations(ConfigurationSet self) -> unsigned int"""
6354  return _IMP_kernel.ConfigurationSet_get_number_of_configurations(self)
6355 
6356  def load_configuration(self, i):
6357  r"""load_configuration(ConfigurationSet self, int i)"""
6358  return _IMP_kernel.ConfigurationSet_load_configuration(self, i)
6359 
6360  def remove_configuration(self, i):
6361  r"""remove_configuration(ConfigurationSet self, unsigned int i)"""
6362  return _IMP_kernel.ConfigurationSet_remove_configuration(self, i)
6363 
6364  def get_model(self):
6365  r"""get_model(ConfigurationSet self) -> Model"""
6366  return _IMP_kernel.ConfigurationSet_get_model(self)
6367 
6368  def get_version_info(self):
6369  r"""get_version_info(ConfigurationSet self) -> VersionInfo"""
6370  return _IMP_kernel.ConfigurationSet_get_version_info(self)
6371  __swig_destroy__ = _IMP_kernel.delete_ConfigurationSet
6372 
6373  def __str__(self):
6374  r"""__str__(ConfigurationSet self) -> std::string"""
6375  return _IMP_kernel.ConfigurationSet___str__(self)
6376 
6377  def __repr__(self):
6378  r"""__repr__(ConfigurationSet self) -> std::string"""
6379  return _IMP_kernel.ConfigurationSet___repr__(self)
6380 
6381  @staticmethod
6382  def get_from(o):
6383  return _object_cast_to_ConfigurationSet(o)
6384 
6385 
6386 # Register ConfigurationSet in _IMP_kernel:
6387 _IMP_kernel.ConfigurationSet_swigregister(ConfigurationSet)
6389  r"""Proxy of C++ IMP::SaveToConfigurationSetOptimizerState class."""
6390 
6391  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6392 
6393  def __init__(self, cs):
6394  r"""__init__(SaveToConfigurationSetOptimizerState self, ConfigurationSet cs) -> SaveToConfigurationSetOptimizerState"""
6395  _IMP_kernel.SaveToConfigurationSetOptimizerState_swiginit(self, _IMP_kernel.new_SaveToConfigurationSetOptimizerState(cs))
6396 
6397  def get_version_info(self):
6398  r"""get_version_info(SaveToConfigurationSetOptimizerState self) -> VersionInfo"""
6399  return _IMP_kernel.SaveToConfigurationSetOptimizerState_get_version_info(self)
6400  __swig_destroy__ = _IMP_kernel.delete_SaveToConfigurationSetOptimizerState
6401 
6402  def __str__(self):
6403  r"""__str__(SaveToConfigurationSetOptimizerState self) -> std::string"""
6404  return _IMP_kernel.SaveToConfigurationSetOptimizerState___str__(self)
6405 
6406  def __repr__(self):
6407  r"""__repr__(SaveToConfigurationSetOptimizerState self) -> std::string"""
6408  return _IMP_kernel.SaveToConfigurationSetOptimizerState___repr__(self)
6409 
6410  @staticmethod
6411  def get_from(o):
6412  return _object_cast_to_SaveToConfigurationSetOptimizerState(o)
6413 
6414 
6415 # Register SaveToConfigurationSetOptimizerState in _IMP_kernel:
6416 _IMP_kernel.SaveToConfigurationSetOptimizerState_swigregister(SaveToConfigurationSetOptimizerState)
6417 class Configuration(Object):
6418  r"""Proxy of C++ IMP::Configuration class."""
6419 
6420  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6421 
6422  def __init__(self, *args):
6423  r"""
6424  __init__(Configuration self, Model m, std::string name="Configuration %1%") -> Configuration
6425  __init__(Configuration self, Model m, Configuration base, std::string name="Configuration %1%") -> Configuration
6426  """
6427  _IMP_kernel.Configuration_swiginit(self, _IMP_kernel.new_Configuration(*args))
6428 
6429  def load_configuration(self):
6430  r"""load_configuration(Configuration self)"""
6431  return _IMP_kernel.Configuration_load_configuration(self)
6432 
6433  def swap_configuration(self):
6434  r"""swap_configuration(Configuration self)"""
6435  return _IMP_kernel.Configuration_swap_configuration(self)
6436 
6437  def get_version_info(self):
6438  r"""get_version_info(Configuration self) -> VersionInfo"""
6439  return _IMP_kernel.Configuration_get_version_info(self)
6440  __swig_destroy__ = _IMP_kernel.delete_Configuration
6441 
6442  def __str__(self):
6443  r"""__str__(Configuration self) -> std::string"""
6444  return _IMP_kernel.Configuration___str__(self)
6445 
6446  def __repr__(self):
6447  r"""__repr__(Configuration self) -> std::string"""
6448  return _IMP_kernel.Configuration___repr__(self)
6449 
6450  @staticmethod
6451  def get_from(o):
6452  return _object_cast_to_Configuration(o)
6453 
6454 
6455 # Register Configuration in _IMP_kernel:
6456 _IMP_kernel.Configuration_swigregister(Configuration)
6457 class Sampler(Object):
6458  r"""Proxy of C++ IMP::Sampler class."""
6459 
6460  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6461 
6462  def __init__(self, *args):
6463  r"""__init__(Sampler self, Model m, std::string name="Sampler %1%") -> Sampler"""
6464  if self.__class__ == Sampler:
6465  _self = None
6466  else:
6467  _self = self
6468  _IMP_kernel.Sampler_swiginit(self, _IMP_kernel.new_Sampler(_self, *args))
6469 
6470  if self.__class__ != Sampler:
6471  _director_objects.register(self)
6472 
6473 
6474 
6475 
6476  def create_sample(self):
6477  r"""create_sample(Sampler self) -> ConfigurationSet"""
6478  return _IMP_kernel.Sampler_create_sample(self)
6479 
6480  def get_scoring_function(self):
6481  r"""get_scoring_function(Sampler self) -> ScoringFunction"""
6482  return _IMP_kernel.Sampler_get_scoring_function(self)
6483 
6484  def set_scoring_function(self, sf):
6485  r"""set_scoring_function(Sampler self, _ScoringFunctionAdaptor sf)"""
6486  return _IMP_kernel.Sampler_set_scoring_function(self, sf)
6487 
6488  def get_model(self):
6489  r"""get_model(Sampler self) -> Model"""
6490  return _IMP_kernel.Sampler_get_model(self)
6491 
6492  def do_sample(self):
6493  r"""do_sample(Sampler self) -> ConfigurationSet"""
6494  return _IMP_kernel.Sampler_do_sample(self)
6495  __swig_destroy__ = _IMP_kernel.delete_Sampler
6496 
6497  def __str__(self):
6498  r"""__str__(Sampler self) -> std::string"""
6499  return _IMP_kernel.Sampler___str__(self)
6500 
6501  def __repr__(self):
6502  r"""__repr__(Sampler self) -> std::string"""
6503  return _IMP_kernel.Sampler___repr__(self)
6504 
6505  @staticmethod
6506  def get_from(o):
6507  return _object_cast_to_Sampler(o)
6508 
6509 
6510  def do_show(self, out):
6511  pass
6512 
6513  @staticmethod
6514  def get_from(o):
6515  return _object_cast_to_Sampler(o)
6516 
6517  def __disown__(self):
6518  self.this.disown()
6519  _IMP_kernel.disown_Sampler(self)
6520  return weakref.proxy(self)
6521 
6522  def do_destroy(self):
6523  r"""do_destroy(Sampler self)"""
6524  return _IMP_kernel.Sampler_do_destroy(self)
6525 
6526 # Register Sampler in _IMP_kernel:
6527 _IMP_kernel.Sampler_swigregister(Sampler)
6528 class PairModifier(_ParticleInputs, _ParticleOutputs, Object):
6529  r"""Proxy of C++ IMP::PairModifier class."""
6530 
6531  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6532 
6533  def __init__(self, *args):
6534  r"""__init__(PairModifier self, std::string name="PairModifier %1%") -> PairModifier"""
6535  if self.__class__ == PairModifier:
6536  _self = None
6537  else:
6538  _self = self
6539  _IMP_kernel.PairModifier_swiginit(self, _IMP_kernel.new_PairModifier(_self, *args))
6540 
6541  if self.__class__ != PairModifier:
6542  _director_objects.register(self)
6543 
6544 
6545 
6546 
6547  def apply_index(self, m, v):
6548  r"""apply_index(PairModifier self, Model m, IMP::ParticleIndexPair const & v)"""
6549  return _IMP_kernel.PairModifier_apply_index(self, m, v)
6550 
6551  def apply_indexes(self, m, o, lower_bound, upper_bound):
6552  r"""apply_indexes(PairModifier self, Model m, IMP::ParticleIndexPairs const & o, unsigned int lower_bound, unsigned int upper_bound)"""
6553  return _IMP_kernel.PairModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
6554 
6555  def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
6556  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)"""
6557  return _IMP_kernel.PairModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
6558 
6559  def __str__(self):
6560  r"""__str__(PairModifier self) -> std::string"""
6561  return _IMP_kernel.PairModifier___str__(self)
6562 
6563  def __repr__(self):
6564  r"""__repr__(PairModifier self) -> std::string"""
6565  return _IMP_kernel.PairModifier___repr__(self)
6566 
6567  @staticmethod
6568  def get_from(o):
6569  return _object_cast_to_PairModifier(o)
6570 
6571 
6572  def do_show(self, out):
6573  pass
6574 
6575  @staticmethod
6576  def get_from(o):
6577  return _object_cast_to_PairModifier(o)
6578 
6579  __swig_destroy__ = _IMP_kernel.delete_PairModifier
6580  def __disown__(self):
6581  self.this.disown()
6582  _IMP_kernel.disown_PairModifier(self)
6583  return weakref.proxy(self)
6584 
6585  def do_get_inputs(self, m, pis):
6586  r"""do_get_inputs(PairModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6587  return _IMP_kernel.PairModifier_do_get_inputs(self, m, pis)
6588 
6589  def do_get_outputs(self, m, pis):
6590  r"""do_get_outputs(PairModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6591  return _IMP_kernel.PairModifier_do_get_outputs(self, m, pis)
6592 
6593  def do_destroy(self):
6594  r"""do_destroy(PairModifier self)"""
6595  return _IMP_kernel.PairModifier_do_destroy(self)
6596 
6597 # Register PairModifier in _IMP_kernel:
6598 _IMP_kernel.PairModifier_swigregister(PairModifier)
6599 class PairScore(_ParticleInputs, Object):
6600  r"""Proxy of C++ IMP::PairScore class."""
6601 
6602  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6603 
6604  def __init__(self, *args):
6605  r"""__init__(PairScore self, std::string name="PairScore %1%") -> PairScore"""
6606  if self.__class__ == PairScore:
6607  _self = None
6608  else:
6609  _self = self
6610  _IMP_kernel.PairScore_swiginit(self, _IMP_kernel.new_PairScore(_self, *args))
6611 
6612  if self.__class__ != PairScore:
6613  _director_objects.register(self)
6614 
6615 
6616 
6617 
6618  def evaluate_index(self, m, vt, da):
6619  r"""evaluate_index(PairScore self, Model m, IMP::ParticleIndexPair const & vt, DerivativeAccumulator da) -> double"""
6620  return _IMP_kernel.PairScore_evaluate_index(self, m, vt, da)
6621 
6622  def check_indexes(self, m, pis):
6623  r"""check_indexes(PairScore self, Model m, IMP::ParticleIndexes const & pis) -> bool"""
6624  return _IMP_kernel.PairScore_check_indexes(self, m, pis)
6625 
6626  def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
6627  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"""
6628  return _IMP_kernel.PairScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
6629 
6630  def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
6631  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"""
6632  return _IMP_kernel.PairScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
6633 
6634  def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
6635  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"""
6636  return _IMP_kernel.PairScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
6637 
6638  def evaluate_if_good_index(self, m, vt, da, max):
6639  r"""evaluate_if_good_index(PairScore self, Model m, IMP::ParticleIndexPair const & vt, DerivativeAccumulator da, double max) -> double"""
6640  return _IMP_kernel.PairScore_evaluate_if_good_index(self, m, vt, da, max)
6641 
6642  def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
6643  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"""
6644  return _IMP_kernel.PairScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
6645 
6646  def create_current_decomposition(self, m, vt):
6647  r"""create_current_decomposition(PairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
6648  return _IMP_kernel.PairScore_create_current_decomposition(self, m, vt)
6649 
6650  def do_create_current_decomposition(self, m, vt):
6651  r"""do_create_current_decomposition(PairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
6652  return _IMP_kernel.PairScore_do_create_current_decomposition(self, m, vt)
6653  __swig_destroy__ = _IMP_kernel.delete_PairScore
6654 
6655  def __str__(self):
6656  r"""__str__(PairScore self) -> std::string"""
6657  return _IMP_kernel.PairScore___str__(self)
6658 
6659  def __repr__(self):
6660  r"""__repr__(PairScore self) -> std::string"""
6661  return _IMP_kernel.PairScore___repr__(self)
6662 
6663  @staticmethod
6664  def get_from(o):
6665  return _object_cast_to_PairScore(o)
6666 
6667 
6668  def do_show(self, out):
6669  pass
6670 
6671  @staticmethod
6672  def get_from(o):
6673  return _object_cast_to_PairScore(o)
6674 
6675 
6676  def _wrap_jax(self, score_func, keys=None):
6677  """Create the return value for _get_jax.
6678  Use this method in _get_jax() to wrap the JAX scoring function
6679  with other score-specific information.
6680 
6681  @param score_func A function implemented using JAX that takes
6682  two arguments (the current model state, and the
6683  ParticlePairIndexes to act on) and returns the total
6684  score (for all indexes).
6685  @param keys Model attributes used by the PairScore.
6686  See IMP::Restraint::_wrap_jax.
6687  """
6688  from IMP._jax_util import JaxScoreInfo
6689  return JaxScoreInfo(score_func=score_func, keys=keys)
6690 
6691  def _get_jax(self):
6692  """Return a JAX implementation of this PairScore.
6693  Implement this method in a PairScore subclass to provide
6694  an equivalent function using [JAX](https://docs.jax.dev/)
6695  that scores the current model state with a given set of
6696  ParticlePairIndexes. See also _wrap_jax.
6697  """
6698  raise NotImplementedError(f"No JAX implementation for {self}")
6699 
6700  def __disown__(self):
6701  self.this.disown()
6702  _IMP_kernel.disown_PairScore(self)
6703  return weakref.proxy(self)
6704 
6705  def do_get_inputs(self, m, pis):
6706  r"""do_get_inputs(PairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6707  return _IMP_kernel.PairScore_do_get_inputs(self, m, pis)
6708 
6709  def do_destroy(self):
6710  r"""do_destroy(PairScore self)"""
6711  return _IMP_kernel.PairScore_do_destroy(self)
6712 
6713 # Register PairScore in _IMP_kernel:
6714 _IMP_kernel.PairScore_swigregister(PairScore)
6715 class PairPredicate(_ParticleInputs, Object):
6716  r"""Proxy of C++ IMP::PairPredicate class."""
6717 
6718  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6719 
6720  def __init__(self, *args):
6721  r"""__init__(PairPredicate self, std::string name="PairPredicate %1%") -> PairPredicate"""
6722  if self.__class__ == PairPredicate:
6723  _self = None
6724  else:
6725  _self = self
6726  _IMP_kernel.PairPredicate_swiginit(self, _IMP_kernel.new_PairPredicate(_self, *args))
6727 
6728  if self.__class__ != PairPredicate:
6729  _director_objects.register(self)
6730 
6731 
6732 
6733 
6734  def setup_for_get_value_index_in_batch(self, arg0):
6735  r"""setup_for_get_value_index_in_batch(PairPredicate self, Model arg0)"""
6736  return _IMP_kernel.PairPredicate_setup_for_get_value_index_in_batch(self, arg0)
6737 
6738  def get_value_index_in_batch(self, m, vt):
6739  r"""get_value_index_in_batch(PairPredicate self, Model m, IMP::ParticleIndexPair const & vt) -> int"""
6740  return _IMP_kernel.PairPredicate_get_value_index_in_batch(self, m, vt)
6741 
6742  def __call__(self, m, vt):
6743  r"""__call__(PairPredicate self, Model m, IMP::ParticleIndexPair const & vt) -> int"""
6744  return _IMP_kernel.PairPredicate___call__(self, m, vt)
6745 
6746  def get_value_index(self, *args):
6747  r"""
6748  get_value_index(PairPredicate self, Model m, IMP::ParticleIndexPair const & vt) -> int
6749  get_value_index(PairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
6750  """
6751  return _IMP_kernel.PairPredicate_get_value_index(self, *args)
6752  __swig_destroy__ = _IMP_kernel.delete_PairPredicate
6753 
6754  def __str__(self):
6755  r"""__str__(PairPredicate self) -> std::string"""
6756  return _IMP_kernel.PairPredicate___str__(self)
6757 
6758  def __repr__(self):
6759  r"""__repr__(PairPredicate self) -> std::string"""
6760  return _IMP_kernel.PairPredicate___repr__(self)
6761 
6762  @staticmethod
6763  def get_from(o):
6764  return _object_cast_to_PairPredicate(o)
6765 
6766 
6767  def do_show(self, out):
6768  pass
6769 
6770  @staticmethod
6771  def get_from(o):
6772  return _object_cast_to_PairPredicate(o)
6773 
6774  def __disown__(self):
6775  self.this.disown()
6776  _IMP_kernel.disown_PairPredicate(self)
6777  return weakref.proxy(self)
6778 
6779  def do_get_inputs(self, m, pis):
6780  r"""do_get_inputs(PairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6781  return _IMP_kernel.PairPredicate_do_get_inputs(self, m, pis)
6782 
6783  def do_destroy(self):
6784  r"""do_destroy(PairPredicate self)"""
6785  return _IMP_kernel.PairPredicate_do_destroy(self)
6786 
6787 # Register PairPredicate in _IMP_kernel:
6788 _IMP_kernel.PairPredicate_swigregister(PairPredicate)
6789 class PairContainer(Container):
6790  r"""Proxy of C++ IMP::PairContainer class."""
6791 
6792  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6793 
6794  def apply_generic(self, m):
6795  r"""apply_generic(PairContainer self, PairModifier m)"""
6796  return _IMP_kernel.PairContainer_apply_generic(self, m)
6797 
6798  def apply_generic_moved(self, m, moved_pis, reset_pis):
6799  r"""apply_generic_moved(PairContainer self, PairModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
6800  return _IMP_kernel.PairContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
6801 
6802  def apply(self, sm):
6803  r"""apply(PairContainer self, PairModifier sm)"""
6804  return _IMP_kernel.PairContainer_apply(self, sm)
6805 
6806  def apply_moved(self, sm, moved_pis, reset_pis):
6807  r"""apply_moved(PairContainer self, PairModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
6808  return _IMP_kernel.PairContainer_apply_moved(self, sm, moved_pis, reset_pis)
6809 
6810  def get_range_indexes(self):
6811  r"""get_range_indexes(PairContainer self) -> IMP::ParticleIndexPairs"""
6812  return _IMP_kernel.PairContainer_get_range_indexes(self)
6813 
6814  def get_contents(self):
6815  r"""get_contents(PairContainer self) -> IMP::ParticleIndexPairs const &"""
6816  return _IMP_kernel.PairContainer_get_contents(self)
6817 
6818  def get_indexes(self):
6819  r"""get_indexes(PairContainer self) -> IMP::ParticleIndexPairs"""
6820  return _IMP_kernel.PairContainer_get_indexes(self)
6821 
6822  def get(self, *args):
6823  r"""
6824  get(PairContainer self) -> IMP::ParticlePairsTemp
6825  get(PairContainer self, unsigned int i) -> IMP::ParticlePair
6826  """
6827  return _IMP_kernel.PairContainer_get(self, *args)
6828 
6829  def get_number(self):
6830  r"""get_number(PairContainer self) -> unsigned int"""
6831  return _IMP_kernel.PairContainer_get_number(self)
6832 
6833  def __init__(self, *args):
6834  r"""
6835  __init__(PairContainer self, Model m, std::string name="PairContainer %1%") -> PairContainer
6836  __init__(PairContainer self) -> PairContainer
6837  """
6838  if self.__class__ == PairContainer:
6839  _self = None
6840  else:
6841  _self = self
6842  _IMP_kernel.PairContainer_swiginit(self, _IMP_kernel.new_PairContainer(_self, *args))
6843 
6844  if self.__class__ != PairContainer:
6845  _director_objects.register(self)
6846 
6847 
6848 
6849 
6850  def do_apply(self, sm):
6851  r"""do_apply(PairContainer self, PairModifier sm)"""
6852  return _IMP_kernel.PairContainer_do_apply(self, sm)
6853 
6854  def do_apply_moved(self, sm, moved_pis, reset_pis):
6855  r"""do_apply_moved(PairContainer self, PairModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
6856  return _IMP_kernel.PairContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
6857 
6858  def do_get_provides_access(self):
6859  r"""do_get_provides_access(PairContainer self) -> bool"""
6860  return _IMP_kernel.PairContainer_do_get_provides_access(self)
6861  __swig_destroy__ = _IMP_kernel.delete_PairContainer
6862 
6863  def __str__(self):
6864  r"""__str__(PairContainer self) -> std::string"""
6865  return _IMP_kernel.PairContainer___str__(self)
6866 
6867  def __repr__(self):
6868  r"""__repr__(PairContainer self) -> std::string"""
6869  return _IMP_kernel.PairContainer___repr__(self)
6870 
6871  @staticmethod
6872  def get_from(o):
6873  return _object_cast_to_PairContainer(o)
6874 
6875 
6876  def do_show(self, out):
6877  pass
6878 
6879  @staticmethod
6880  def get_from(o):
6881  return _object_cast_to_PairContainer(o)
6882 
6883  def __disown__(self):
6884  self.this.disown()
6885  _IMP_kernel.disown_PairContainer(self)
6886  return weakref.proxy(self)
6887 
6888  def do_destroy(self):
6889  r"""do_destroy(PairContainer self)"""
6890  return _IMP_kernel.PairContainer_do_destroy(self)
6891 
6892  def handle_set_has_required_score_states(self, arg0):
6893  r"""handle_set_has_required_score_states(PairContainer self, bool arg0)"""
6894  return _IMP_kernel.PairContainer_handle_set_has_required_score_states(self, arg0)
6895 
6896  def do_get_inputs(self):
6897  r"""do_get_inputs(PairContainer self) -> IMP::ModelObjectsTemp"""
6898  return _IMP_kernel.PairContainer_do_get_inputs(self)
6899 
6900  def do_get_interactions(self):
6901  r"""do_get_interactions(PairContainer self) -> IMP::ModelObjectsTemps"""
6902  return _IMP_kernel.PairContainer_do_get_interactions(self)
6903 
6904  def do_get_contents_hash(self):
6905  r"""do_get_contents_hash(PairContainer self) -> std::size_t"""
6906  return _IMP_kernel.PairContainer_do_get_contents_hash(self)
6907 
6908 # Register PairContainer in _IMP_kernel:
6909 _IMP_kernel.PairContainer_swigregister(PairContainer)
6910 class _PairContainerAdaptor(_InputAdaptor):
6911  r"""Proxy of C++ IMP::PairContainerAdaptor class."""
6912 
6913  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6914  __repr__ = _swig_repr
6915 
6916  def __init__(self, *args):
6917  r"""
6918  __init__(_PairContainerAdaptor self) -> _PairContainerAdaptor
6919  __init__(_PairContainerAdaptor self, PairContainer c) -> _PairContainerAdaptor
6920  __init__(_PairContainerAdaptor self, IMP::ParticlePairsTemp const & t) -> _PairContainerAdaptor
6921  """
6922  _IMP_kernel._PairContainerAdaptor_swiginit(self, _IMP_kernel.new__PairContainerAdaptor(*args))
6923 
6924  def set_name_if_default(self, name):
6925  r"""set_name_if_default(_PairContainerAdaptor self, std::string name)"""
6926  return _IMP_kernel._PairContainerAdaptor_set_name_if_default(self, name)
6927  __swig_destroy__ = _IMP_kernel.delete__PairContainerAdaptor
6928 
6929 # Register _PairContainerAdaptor in _IMP_kernel:
6930 _IMP_kernel._PairContainerAdaptor_swigregister(_PairContainerAdaptor)
6931 class QuadModifier(_ParticleInputs, _ParticleOutputs, Object):
6932  r"""Proxy of C++ IMP::QuadModifier class."""
6933 
6934  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6935 
6936  def __init__(self, *args):
6937  r"""__init__(QuadModifier self, std::string name="QuadModifier %1%") -> QuadModifier"""
6938  if self.__class__ == QuadModifier:
6939  _self = None
6940  else:
6941  _self = self
6942  _IMP_kernel.QuadModifier_swiginit(self, _IMP_kernel.new_QuadModifier(_self, *args))
6943 
6944  if self.__class__ != QuadModifier:
6945  _director_objects.register(self)
6946 
6947 
6948 
6949 
6950  def apply_index(self, m, v):
6951  r"""apply_index(QuadModifier self, Model m, IMP::ParticleIndexQuad const & v)"""
6952  return _IMP_kernel.QuadModifier_apply_index(self, m, v)
6953 
6954  def apply_indexes(self, m, o, lower_bound, upper_bound):
6955  r"""apply_indexes(QuadModifier self, Model m, IMP::ParticleIndexQuads const & o, unsigned int lower_bound, unsigned int upper_bound)"""
6956  return _IMP_kernel.QuadModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
6957 
6958  def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
6959  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)"""
6960  return _IMP_kernel.QuadModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
6961 
6962  def __str__(self):
6963  r"""__str__(QuadModifier self) -> std::string"""
6964  return _IMP_kernel.QuadModifier___str__(self)
6965 
6966  def __repr__(self):
6967  r"""__repr__(QuadModifier self) -> std::string"""
6968  return _IMP_kernel.QuadModifier___repr__(self)
6969 
6970  @staticmethod
6971  def get_from(o):
6972  return _object_cast_to_QuadModifier(o)
6973 
6974 
6975  def do_show(self, out):
6976  pass
6977 
6978  @staticmethod
6979  def get_from(o):
6980  return _object_cast_to_QuadModifier(o)
6981 
6982  __swig_destroy__ = _IMP_kernel.delete_QuadModifier
6983  def __disown__(self):
6984  self.this.disown()
6985  _IMP_kernel.disown_QuadModifier(self)
6986  return weakref.proxy(self)
6987 
6988  def do_get_inputs(self, m, pis):
6989  r"""do_get_inputs(QuadModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6990  return _IMP_kernel.QuadModifier_do_get_inputs(self, m, pis)
6991 
6992  def do_get_outputs(self, m, pis):
6993  r"""do_get_outputs(QuadModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6994  return _IMP_kernel.QuadModifier_do_get_outputs(self, m, pis)
6995 
6996  def do_destroy(self):
6997  r"""do_destroy(QuadModifier self)"""
6998  return _IMP_kernel.QuadModifier_do_destroy(self)
6999 
7000 # Register QuadModifier in _IMP_kernel:
7001 _IMP_kernel.QuadModifier_swigregister(QuadModifier)
7002 class QuadScore(_ParticleInputs, Object):
7003  r"""Proxy of C++ IMP::QuadScore class."""
7004 
7005  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7006 
7007  def __init__(self, *args):
7008  r"""__init__(QuadScore self, std::string name="QuadScore %1%") -> QuadScore"""
7009  if self.__class__ == QuadScore:
7010  _self = None
7011  else:
7012  _self = self
7013  _IMP_kernel.QuadScore_swiginit(self, _IMP_kernel.new_QuadScore(_self, *args))
7014 
7015  if self.__class__ != QuadScore:
7016  _director_objects.register(self)
7017 
7018 
7019 
7020 
7021  def evaluate_index(self, m, vt, da):
7022  r"""evaluate_index(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt, DerivativeAccumulator da) -> double"""
7023  return _IMP_kernel.QuadScore_evaluate_index(self, m, vt, da)
7024 
7025  def check_indexes(self, m, pis):
7026  r"""check_indexes(QuadScore self, Model m, IMP::ParticleIndexes const & pis) -> bool"""
7027  return _IMP_kernel.QuadScore_check_indexes(self, m, pis)
7028 
7029  def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
7030  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"""
7031  return _IMP_kernel.QuadScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
7032 
7033  def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7034  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"""
7035  return _IMP_kernel.QuadScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
7036 
7037  def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
7038  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"""
7039  return _IMP_kernel.QuadScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
7040 
7041  def evaluate_if_good_index(self, m, vt, da, max):
7042  r"""evaluate_if_good_index(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt, DerivativeAccumulator da, double max) -> double"""
7043  return _IMP_kernel.QuadScore_evaluate_if_good_index(self, m, vt, da, max)
7044 
7045  def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7046  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"""
7047  return _IMP_kernel.QuadScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
7048 
7049  def create_current_decomposition(self, m, vt):
7050  r"""create_current_decomposition(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt) -> IMP::Restraints"""
7051  return _IMP_kernel.QuadScore_create_current_decomposition(self, m, vt)
7052 
7053  def do_create_current_decomposition(self, m, vt):
7054  r"""do_create_current_decomposition(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt) -> IMP::Restraints"""
7055  return _IMP_kernel.QuadScore_do_create_current_decomposition(self, m, vt)
7056  __swig_destroy__ = _IMP_kernel.delete_QuadScore
7057 
7058  def __str__(self):
7059  r"""__str__(QuadScore self) -> std::string"""
7060  return _IMP_kernel.QuadScore___str__(self)
7061 
7062  def __repr__(self):
7063  r"""__repr__(QuadScore self) -> std::string"""
7064  return _IMP_kernel.QuadScore___repr__(self)
7065 
7066  @staticmethod
7067  def get_from(o):
7068  return _object_cast_to_QuadScore(o)
7069 
7070 
7071  def do_show(self, out):
7072  pass
7073 
7074  @staticmethod
7075  def get_from(o):
7076  return _object_cast_to_QuadScore(o)
7077 
7078  def __disown__(self):
7079  self.this.disown()
7080  _IMP_kernel.disown_QuadScore(self)
7081  return weakref.proxy(self)
7082 
7083  def do_get_inputs(self, m, pis):
7084  r"""do_get_inputs(QuadScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7085  return _IMP_kernel.QuadScore_do_get_inputs(self, m, pis)
7086 
7087  def do_destroy(self):
7088  r"""do_destroy(QuadScore self)"""
7089  return _IMP_kernel.QuadScore_do_destroy(self)
7090 
7091 # Register QuadScore in _IMP_kernel:
7092 _IMP_kernel.QuadScore_swigregister(QuadScore)
7093 class QuadPredicate(_ParticleInputs, Object):
7094  r"""Proxy of C++ IMP::QuadPredicate class."""
7095 
7096  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7097 
7098  def __init__(self, *args):
7099  r"""__init__(QuadPredicate self, std::string name="QuadPredicate %1%") -> QuadPredicate"""
7100  if self.__class__ == QuadPredicate:
7101  _self = None
7102  else:
7103  _self = self
7104  _IMP_kernel.QuadPredicate_swiginit(self, _IMP_kernel.new_QuadPredicate(_self, *args))
7105 
7106  if self.__class__ != QuadPredicate:
7107  _director_objects.register(self)
7108 
7109 
7110 
7111 
7112  def setup_for_get_value_index_in_batch(self, arg0):
7113  r"""setup_for_get_value_index_in_batch(QuadPredicate self, Model arg0)"""
7114  return _IMP_kernel.QuadPredicate_setup_for_get_value_index_in_batch(self, arg0)
7115 
7116  def get_value_index_in_batch(self, m, vt):
7117  r"""get_value_index_in_batch(QuadPredicate self, Model m, IMP::ParticleIndexQuad const & vt) -> int"""
7118  return _IMP_kernel.QuadPredicate_get_value_index_in_batch(self, m, vt)
7119 
7120  def __call__(self, m, vt):
7121  r"""__call__(QuadPredicate self, Model m, IMP::ParticleIndexQuad const & vt) -> int"""
7122  return _IMP_kernel.QuadPredicate___call__(self, m, vt)
7123 
7124  def get_value_index(self, *args):
7125  r"""
7126  get_value_index(QuadPredicate self, Model m, IMP::ParticleIndexQuad const & vt) -> int
7127  get_value_index(QuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
7128  """
7129  return _IMP_kernel.QuadPredicate_get_value_index(self, *args)
7130  __swig_destroy__ = _IMP_kernel.delete_QuadPredicate
7131 
7132  def __str__(self):
7133  r"""__str__(QuadPredicate self) -> std::string"""
7134  return _IMP_kernel.QuadPredicate___str__(self)
7135 
7136  def __repr__(self):
7137  r"""__repr__(QuadPredicate self) -> std::string"""
7138  return _IMP_kernel.QuadPredicate___repr__(self)
7139 
7140  @staticmethod
7141  def get_from(o):
7142  return _object_cast_to_QuadPredicate(o)
7143 
7144 
7145  def do_show(self, out):
7146  pass
7147 
7148  @staticmethod
7149  def get_from(o):
7150  return _object_cast_to_QuadPredicate(o)
7151 
7152  def __disown__(self):
7153  self.this.disown()
7154  _IMP_kernel.disown_QuadPredicate(self)
7155  return weakref.proxy(self)
7156 
7157  def do_get_inputs(self, m, pis):
7158  r"""do_get_inputs(QuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7159  return _IMP_kernel.QuadPredicate_do_get_inputs(self, m, pis)
7160 
7161  def do_destroy(self):
7162  r"""do_destroy(QuadPredicate self)"""
7163  return _IMP_kernel.QuadPredicate_do_destroy(self)
7164 
7165 # Register QuadPredicate in _IMP_kernel:
7166 _IMP_kernel.QuadPredicate_swigregister(QuadPredicate)
7167 class QuadContainer(Container):
7168  r"""Proxy of C++ IMP::QuadContainer class."""
7169 
7170  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7171 
7172  def apply_generic(self, m):
7173  r"""apply_generic(QuadContainer self, QuadModifier m)"""
7174  return _IMP_kernel.QuadContainer_apply_generic(self, m)
7175 
7176  def apply_generic_moved(self, m, moved_pis, reset_pis):
7177  r"""apply_generic_moved(QuadContainer self, QuadModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7178  return _IMP_kernel.QuadContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
7179 
7180  def apply(self, sm):
7181  r"""apply(QuadContainer self, QuadModifier sm)"""
7182  return _IMP_kernel.QuadContainer_apply(self, sm)
7183 
7184  def apply_moved(self, sm, moved_pis, reset_pis):
7185  r"""apply_moved(QuadContainer self, QuadModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7186  return _IMP_kernel.QuadContainer_apply_moved(self, sm, moved_pis, reset_pis)
7187 
7188  def get_range_indexes(self):
7189  r"""get_range_indexes(QuadContainer self) -> IMP::ParticleIndexQuads"""
7190  return _IMP_kernel.QuadContainer_get_range_indexes(self)
7191 
7192  def get_contents(self):
7193  r"""get_contents(QuadContainer self) -> IMP::ParticleIndexQuads const &"""
7194  return _IMP_kernel.QuadContainer_get_contents(self)
7195 
7196  def get_indexes(self):
7197  r"""get_indexes(QuadContainer self) -> IMP::ParticleIndexQuads"""
7198  return _IMP_kernel.QuadContainer_get_indexes(self)
7199 
7200  def get(self, *args):
7201  r"""
7202  get(QuadContainer self) -> IMP::ParticleQuadsTemp
7203  get(QuadContainer self, unsigned int i) -> IMP::ParticleQuad
7204  """
7205  return _IMP_kernel.QuadContainer_get(self, *args)
7206 
7207  def get_number(self):
7208  r"""get_number(QuadContainer self) -> unsigned int"""
7209  return _IMP_kernel.QuadContainer_get_number(self)
7210 
7211  def __init__(self, *args):
7212  r"""
7213  __init__(QuadContainer self, Model m, std::string name="QuadContainer %1%") -> QuadContainer
7214  __init__(QuadContainer self) -> QuadContainer
7215  """
7216  if self.__class__ == QuadContainer:
7217  _self = None
7218  else:
7219  _self = self
7220  _IMP_kernel.QuadContainer_swiginit(self, _IMP_kernel.new_QuadContainer(_self, *args))
7221 
7222  if self.__class__ != QuadContainer:
7223  _director_objects.register(self)
7224 
7225 
7226 
7227 
7228  def do_apply(self, sm):
7229  r"""do_apply(QuadContainer self, QuadModifier sm)"""
7230  return _IMP_kernel.QuadContainer_do_apply(self, sm)
7231 
7232  def do_apply_moved(self, sm, moved_pis, reset_pis):
7233  r"""do_apply_moved(QuadContainer self, QuadModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7234  return _IMP_kernel.QuadContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
7235 
7236  def do_get_provides_access(self):
7237  r"""do_get_provides_access(QuadContainer self) -> bool"""
7238  return _IMP_kernel.QuadContainer_do_get_provides_access(self)
7239  __swig_destroy__ = _IMP_kernel.delete_QuadContainer
7240 
7241  def __str__(self):
7242  r"""__str__(QuadContainer self) -> std::string"""
7243  return _IMP_kernel.QuadContainer___str__(self)
7244 
7245  def __repr__(self):
7246  r"""__repr__(QuadContainer self) -> std::string"""
7247  return _IMP_kernel.QuadContainer___repr__(self)
7248 
7249  @staticmethod
7250  def get_from(o):
7251  return _object_cast_to_QuadContainer(o)
7252 
7253 
7254  def do_show(self, out):
7255  pass
7256 
7257  @staticmethod
7258  def get_from(o):
7259  return _object_cast_to_QuadContainer(o)
7260 
7261  def __disown__(self):
7262  self.this.disown()
7263  _IMP_kernel.disown_QuadContainer(self)
7264  return weakref.proxy(self)
7265 
7266  def do_destroy(self):
7267  r"""do_destroy(QuadContainer self)"""
7268  return _IMP_kernel.QuadContainer_do_destroy(self)
7269 
7270  def handle_set_has_required_score_states(self, arg0):
7271  r"""handle_set_has_required_score_states(QuadContainer self, bool arg0)"""
7272  return _IMP_kernel.QuadContainer_handle_set_has_required_score_states(self, arg0)
7273 
7274  def do_get_inputs(self):
7275  r"""do_get_inputs(QuadContainer self) -> IMP::ModelObjectsTemp"""
7276  return _IMP_kernel.QuadContainer_do_get_inputs(self)
7277 
7278  def do_get_interactions(self):
7279  r"""do_get_interactions(QuadContainer self) -> IMP::ModelObjectsTemps"""
7280  return _IMP_kernel.QuadContainer_do_get_interactions(self)
7281 
7282  def do_get_contents_hash(self):
7283  r"""do_get_contents_hash(QuadContainer self) -> std::size_t"""
7284  return _IMP_kernel.QuadContainer_do_get_contents_hash(self)
7285 
7286 # Register QuadContainer in _IMP_kernel:
7287 _IMP_kernel.QuadContainer_swigregister(QuadContainer)
7288 class _QuadContainerAdaptor(_InputAdaptor):
7289  r"""Proxy of C++ IMP::QuadContainerAdaptor class."""
7290 
7291  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7292  __repr__ = _swig_repr
7293 
7294  def __init__(self, *args):
7295  r"""
7296  __init__(_QuadContainerAdaptor self) -> _QuadContainerAdaptor
7297  __init__(_QuadContainerAdaptor self, QuadContainer c) -> _QuadContainerAdaptor
7298  __init__(_QuadContainerAdaptor self, IMP::ParticleQuadsTemp const & t) -> _QuadContainerAdaptor
7299  """
7300  _IMP_kernel._QuadContainerAdaptor_swiginit(self, _IMP_kernel.new__QuadContainerAdaptor(*args))
7301 
7302  def set_name_if_default(self, name):
7303  r"""set_name_if_default(_QuadContainerAdaptor self, std::string name)"""
7304  return _IMP_kernel._QuadContainerAdaptor_set_name_if_default(self, name)
7305  __swig_destroy__ = _IMP_kernel.delete__QuadContainerAdaptor
7306 
7307 # Register _QuadContainerAdaptor in _IMP_kernel:
7308 _IMP_kernel._QuadContainerAdaptor_swigregister(_QuadContainerAdaptor)
7309 class SingletonModifier(_ParticleInputs, _ParticleOutputs, Object):
7310  r"""Proxy of C++ IMP::SingletonModifier class."""
7311 
7312  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7313 
7314  def __init__(self, *args):
7315  r"""__init__(SingletonModifier self, std::string name="SingletonModifier %1%") -> SingletonModifier"""
7316  if self.__class__ == SingletonModifier:
7317  _self = None
7318  else:
7319  _self = self
7320  _IMP_kernel.SingletonModifier_swiginit(self, _IMP_kernel.new_SingletonModifier(_self, *args))
7321 
7322  if self.__class__ != SingletonModifier:
7323  _director_objects.register(self)
7324 
7325 
7326 
7327 
7328  def apply_index(self, m, v):
7329  r"""apply_index(SingletonModifier self, Model m, ParticleIndex v)"""
7330  return _IMP_kernel.SingletonModifier_apply_index(self, m, v)
7331 
7332  def apply_indexes(self, m, o, lower_bound, upper_bound):
7333  r"""apply_indexes(SingletonModifier self, Model m, IMP::ParticleIndexes const & o, unsigned int lower_bound, unsigned int upper_bound)"""
7334  return _IMP_kernel.SingletonModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
7335 
7336  def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
7337  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)"""
7338  return _IMP_kernel.SingletonModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
7339 
7340  def __str__(self):
7341  r"""__str__(SingletonModifier self) -> std::string"""
7342  return _IMP_kernel.SingletonModifier___str__(self)
7343 
7344  def __repr__(self):
7345  r"""__repr__(SingletonModifier self) -> std::string"""
7346  return _IMP_kernel.SingletonModifier___repr__(self)
7347 
7348  @staticmethod
7349  def get_from(o):
7350  return _object_cast_to_SingletonModifier(o)
7351 
7352 
7353  def do_show(self, out):
7354  pass
7355 
7356  @staticmethod
7357  def get_from(o):
7358  return _object_cast_to_SingletonModifier(o)
7359 
7360  __swig_destroy__ = _IMP_kernel.delete_SingletonModifier
7361  def __disown__(self):
7362  self.this.disown()
7363  _IMP_kernel.disown_SingletonModifier(self)
7364  return weakref.proxy(self)
7365 
7366  def do_get_inputs(self, m, pis):
7367  r"""do_get_inputs(SingletonModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7368  return _IMP_kernel.SingletonModifier_do_get_inputs(self, m, pis)
7369 
7370  def do_get_outputs(self, m, pis):
7371  r"""do_get_outputs(SingletonModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7372  return _IMP_kernel.SingletonModifier_do_get_outputs(self, m, pis)
7373 
7374  def do_destroy(self):
7375  r"""do_destroy(SingletonModifier self)"""
7376  return _IMP_kernel.SingletonModifier_do_destroy(self)
7377 
7378 # Register SingletonModifier in _IMP_kernel:
7379 _IMP_kernel.SingletonModifier_swigregister(SingletonModifier)
7380 class SingletonScore(_ParticleInputs, Object):
7381  r"""Proxy of C++ IMP::SingletonScore class."""
7382 
7383  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7384 
7385  def __init__(self, *args):
7386  r"""__init__(SingletonScore self, std::string name="SingletonScore %1%") -> SingletonScore"""
7387  if self.__class__ == SingletonScore:
7388  _self = None
7389  else:
7390  _self = self
7391  _IMP_kernel.SingletonScore_swiginit(self, _IMP_kernel.new_SingletonScore(_self, *args))
7392 
7393  if self.__class__ != SingletonScore:
7394  _director_objects.register(self)
7395 
7396 
7397 
7398 
7399  def evaluate_index(self, m, vt, da):
7400  r"""evaluate_index(SingletonScore self, Model m, ParticleIndex vt, DerivativeAccumulator da) -> double"""
7401  return _IMP_kernel.SingletonScore_evaluate_index(self, m, vt, da)
7402 
7403  def check_indexes(self, m, pis):
7404  r"""check_indexes(SingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> bool"""
7405  return _IMP_kernel.SingletonScore_check_indexes(self, m, pis)
7406 
7407  def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
7408  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"""
7409  return _IMP_kernel.SingletonScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
7410 
7411  def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7412  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"""
7413  return _IMP_kernel.SingletonScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
7414 
7415  def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
7416  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"""
7417  return _IMP_kernel.SingletonScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
7418 
7419  def evaluate_if_good_index(self, m, vt, da, max):
7420  r"""evaluate_if_good_index(SingletonScore self, Model m, ParticleIndex vt, DerivativeAccumulator da, double max) -> double"""
7421  return _IMP_kernel.SingletonScore_evaluate_if_good_index(self, m, vt, da, max)
7422 
7423  def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7424  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"""
7425  return _IMP_kernel.SingletonScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
7426 
7427  def create_current_decomposition(self, m, vt):
7428  r"""create_current_decomposition(SingletonScore self, Model m, ParticleIndex vt) -> IMP::Restraints"""
7429  return _IMP_kernel.SingletonScore_create_current_decomposition(self, m, vt)
7430 
7431  def do_create_current_decomposition(self, m, vt):
7432  r"""do_create_current_decomposition(SingletonScore self, Model m, ParticleIndex vt) -> IMP::Restraints"""
7433  return _IMP_kernel.SingletonScore_do_create_current_decomposition(self, m, vt)
7434  __swig_destroy__ = _IMP_kernel.delete_SingletonScore
7435 
7436  def __str__(self):
7437  r"""__str__(SingletonScore self) -> std::string"""
7438  return _IMP_kernel.SingletonScore___str__(self)
7439 
7440  def __repr__(self):
7441  r"""__repr__(SingletonScore self) -> std::string"""
7442  return _IMP_kernel.SingletonScore___repr__(self)
7443 
7444  @staticmethod
7445  def get_from(o):
7446  return _object_cast_to_SingletonScore(o)
7447 
7448 
7449  def do_show(self, out):
7450  pass
7451 
7452  @staticmethod
7453  def get_from(o):
7454  return _object_cast_to_SingletonScore(o)
7455 
7456 
7457  def _wrap_jax(self, score_func, keys=None):
7458  """See IMP::PairScore::_wrap_jax"""
7459  from IMP._jax_util import JaxScoreInfo
7460  return JaxScoreInfo(score_func=score_func, keys=keys)
7461 
7462  def _get_jax(self):
7463  """See IMP::PairScore::_get_jax"""
7464  raise NotImplementedError(f"No JAX implementation for {self}")
7465 
7466  def __disown__(self):
7467  self.this.disown()
7468  _IMP_kernel.disown_SingletonScore(self)
7469  return weakref.proxy(self)
7470 
7471  def do_get_inputs(self, m, pis):
7472  r"""do_get_inputs(SingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7473  return _IMP_kernel.SingletonScore_do_get_inputs(self, m, pis)
7474 
7475  def do_destroy(self):
7476  r"""do_destroy(SingletonScore self)"""
7477  return _IMP_kernel.SingletonScore_do_destroy(self)
7478 
7479 # Register SingletonScore in _IMP_kernel:
7480 _IMP_kernel.SingletonScore_swigregister(SingletonScore)
7481 class SingletonPredicate(_ParticleInputs, Object):
7482  r"""Proxy of C++ IMP::SingletonPredicate class."""
7483 
7484  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7485 
7486  def __init__(self, *args):
7487  r"""__init__(SingletonPredicate self, std::string name="SingletonPredicate %1%") -> SingletonPredicate"""
7488  if self.__class__ == SingletonPredicate:
7489  _self = None
7490  else:
7491  _self = self
7492  _IMP_kernel.SingletonPredicate_swiginit(self, _IMP_kernel.new_SingletonPredicate(_self, *args))
7493 
7494  if self.__class__ != SingletonPredicate:
7495  _director_objects.register(self)
7496 
7497 
7498 
7499 
7500  def setup_for_get_value_index_in_batch(self, arg0):
7501  r"""setup_for_get_value_index_in_batch(SingletonPredicate self, Model arg0)"""
7502  return _IMP_kernel.SingletonPredicate_setup_for_get_value_index_in_batch(self, arg0)
7503 
7504  def get_value_index_in_batch(self, m, vt):
7505  r"""get_value_index_in_batch(SingletonPredicate self, Model m, ParticleIndex vt) -> int"""
7506  return _IMP_kernel.SingletonPredicate_get_value_index_in_batch(self, m, vt)
7507 
7508  def __call__(self, m, vt):
7509  r"""__call__(SingletonPredicate self, Model m, ParticleIndex vt) -> int"""
7510  return _IMP_kernel.SingletonPredicate___call__(self, m, vt)
7511 
7512  def get_value_index(self, *args):
7513  r"""
7514  get_value_index(SingletonPredicate self, Model m, ParticleIndex vt) -> int
7515  get_value_index(SingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
7516  """
7517  return _IMP_kernel.SingletonPredicate_get_value_index(self, *args)
7518  __swig_destroy__ = _IMP_kernel.delete_SingletonPredicate
7519 
7520  def __str__(self):
7521  r"""__str__(SingletonPredicate self) -> std::string"""
7522  return _IMP_kernel.SingletonPredicate___str__(self)
7523 
7524  def __repr__(self):
7525  r"""__repr__(SingletonPredicate self) -> std::string"""
7526  return _IMP_kernel.SingletonPredicate___repr__(self)
7527 
7528  @staticmethod
7529  def get_from(o):
7530  return _object_cast_to_SingletonPredicate(o)
7531 
7532 
7533  def do_show(self, out):
7534  pass
7535 
7536  @staticmethod
7537  def get_from(o):
7538  return _object_cast_to_SingletonPredicate(o)
7539 
7540  def __disown__(self):
7541  self.this.disown()
7542  _IMP_kernel.disown_SingletonPredicate(self)
7543  return weakref.proxy(self)
7544 
7545  def do_get_inputs(self, m, pis):
7546  r"""do_get_inputs(SingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7547  return _IMP_kernel.SingletonPredicate_do_get_inputs(self, m, pis)
7548 
7549  def do_destroy(self):
7550  r"""do_destroy(SingletonPredicate self)"""
7551  return _IMP_kernel.SingletonPredicate_do_destroy(self)
7552 
7553 # Register SingletonPredicate in _IMP_kernel:
7554 _IMP_kernel.SingletonPredicate_swigregister(SingletonPredicate)
7556  r"""Proxy of C++ IMP::SingletonContainer class."""
7557 
7558  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7559 
7560  def apply_generic(self, m):
7561  r"""apply_generic(SingletonContainer self, SingletonModifier m)"""
7562  return _IMP_kernel.SingletonContainer_apply_generic(self, m)
7563 
7564  def apply_generic_moved(self, m, moved_pis, reset_pis):
7565  r"""apply_generic_moved(SingletonContainer self, SingletonModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7566  return _IMP_kernel.SingletonContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
7567 
7568  def apply(self, sm):
7569  r"""apply(SingletonContainer self, SingletonModifier sm)"""
7570  return _IMP_kernel.SingletonContainer_apply(self, sm)
7571 
7572  def apply_moved(self, sm, moved_pis, reset_pis):
7573  r"""apply_moved(SingletonContainer self, SingletonModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7574  return _IMP_kernel.SingletonContainer_apply_moved(self, sm, moved_pis, reset_pis)
7575 
7576  def get_range_indexes(self):
7577  r"""get_range_indexes(SingletonContainer self) -> IMP::ParticleIndexes"""
7578  return _IMP_kernel.SingletonContainer_get_range_indexes(self)
7579 
7580  def get_contents(self):
7581  r"""get_contents(SingletonContainer self) -> IMP::ParticleIndexes const &"""
7582  return _IMP_kernel.SingletonContainer_get_contents(self)
7583 
7584  def get_indexes(self):
7585  r"""get_indexes(SingletonContainer self) -> IMP::ParticleIndexes"""
7586  return _IMP_kernel.SingletonContainer_get_indexes(self)
7587 
7588  def get(self, *args):
7589  r"""
7590  get(SingletonContainer self) -> IMP::ParticlesTemp
7591  get(SingletonContainer self, unsigned int i) -> Particle
7592  """
7593  return _IMP_kernel.SingletonContainer_get(self, *args)
7594 
7595  def get_number(self):
7596  r"""get_number(SingletonContainer self) -> unsigned int"""
7597  return _IMP_kernel.SingletonContainer_get_number(self)
7598 
7599  def __init__(self, *args):
7600  r"""
7601  __init__(SingletonContainer self, Model m, std::string name="SingletonContainer %1%") -> SingletonContainer
7602  __init__(SingletonContainer self) -> SingletonContainer
7603  """
7604  if self.__class__ == SingletonContainer:
7605  _self = None
7606  else:
7607  _self = self
7608  _IMP_kernel.SingletonContainer_swiginit(self, _IMP_kernel.new_SingletonContainer(_self, *args))
7609 
7610  if self.__class__ != SingletonContainer:
7611  _director_objects.register(self)
7612 
7613 
7614 
7615 
7616  def do_apply(self, sm):
7617  r"""do_apply(SingletonContainer self, SingletonModifier sm)"""
7618  return _IMP_kernel.SingletonContainer_do_apply(self, sm)
7619 
7620  def do_apply_moved(self, sm, moved_pis, reset_pis):
7621  r"""do_apply_moved(SingletonContainer self, SingletonModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7622  return _IMP_kernel.SingletonContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
7623 
7624  def do_get_provides_access(self):
7625  r"""do_get_provides_access(SingletonContainer self) -> bool"""
7626  return _IMP_kernel.SingletonContainer_do_get_provides_access(self)
7627  __swig_destroy__ = _IMP_kernel.delete_SingletonContainer
7628 
7629  def __str__(self):
7630  r"""__str__(SingletonContainer self) -> std::string"""
7631  return _IMP_kernel.SingletonContainer___str__(self)
7632 
7633  def __repr__(self):
7634  r"""__repr__(SingletonContainer self) -> std::string"""
7635  return _IMP_kernel.SingletonContainer___repr__(self)
7636 
7637  @staticmethod
7638  def get_from(o):
7639  return _object_cast_to_SingletonContainer(o)
7640 
7641 
7642  def do_show(self, out):
7643  pass
7644 
7645  @staticmethod
7646  def get_from(o):
7647  return _object_cast_to_SingletonContainer(o)
7648 
7649  def __disown__(self):
7650  self.this.disown()
7651  _IMP_kernel.disown_SingletonContainer(self)
7652  return weakref.proxy(self)
7653 
7654  def do_destroy(self):
7655  r"""do_destroy(SingletonContainer self)"""
7656  return _IMP_kernel.SingletonContainer_do_destroy(self)
7657 
7658  def handle_set_has_required_score_states(self, arg0):
7659  r"""handle_set_has_required_score_states(SingletonContainer self, bool arg0)"""
7660  return _IMP_kernel.SingletonContainer_handle_set_has_required_score_states(self, arg0)
7661 
7662  def do_get_inputs(self):
7663  r"""do_get_inputs(SingletonContainer self) -> IMP::ModelObjectsTemp"""
7664  return _IMP_kernel.SingletonContainer_do_get_inputs(self)
7665 
7666  def do_get_interactions(self):
7667  r"""do_get_interactions(SingletonContainer self) -> IMP::ModelObjectsTemps"""
7668  return _IMP_kernel.SingletonContainer_do_get_interactions(self)
7669 
7670  def do_get_contents_hash(self):
7671  r"""do_get_contents_hash(SingletonContainer self) -> std::size_t"""
7672  return _IMP_kernel.SingletonContainer_do_get_contents_hash(self)
7673 
7674 # Register SingletonContainer in _IMP_kernel:
7675 _IMP_kernel.SingletonContainer_swigregister(SingletonContainer)
7676 class _SingletonContainerAdaptor(_InputAdaptor):
7677  r"""Proxy of C++ IMP::SingletonContainerAdaptor class."""
7678 
7679  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7680  __repr__ = _swig_repr
7681 
7682  def __init__(self, *args):
7683  r"""
7684  __init__(_SingletonContainerAdaptor self) -> _SingletonContainerAdaptor
7685  __init__(_SingletonContainerAdaptor self, SingletonContainer c) -> _SingletonContainerAdaptor
7686  __init__(_SingletonContainerAdaptor self, IMP::ParticlesTemp const & t) -> _SingletonContainerAdaptor
7687  """
7688  _IMP_kernel._SingletonContainerAdaptor_swiginit(self, _IMP_kernel.new__SingletonContainerAdaptor(*args))
7689 
7690  def set_name_if_default(self, name):
7691  r"""set_name_if_default(_SingletonContainerAdaptor self, std::string name)"""
7692  return _IMP_kernel._SingletonContainerAdaptor_set_name_if_default(self, name)
7693  __swig_destroy__ = _IMP_kernel.delete__SingletonContainerAdaptor
7694 
7695 # Register _SingletonContainerAdaptor in _IMP_kernel:
7696 _IMP_kernel._SingletonContainerAdaptor_swigregister(_SingletonContainerAdaptor)
7697 class TripletModifier(_ParticleInputs, _ParticleOutputs, Object):
7698  r"""Proxy of C++ IMP::TripletModifier class."""
7699 
7700  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7701 
7702  def __init__(self, *args):
7703  r"""__init__(TripletModifier self, std::string name="TripletModifier %1%") -> TripletModifier"""
7704  if self.__class__ == TripletModifier:
7705  _self = None
7706  else:
7707  _self = self
7708  _IMP_kernel.TripletModifier_swiginit(self, _IMP_kernel.new_TripletModifier(_self, *args))
7709 
7710  if self.__class__ != TripletModifier:
7711  _director_objects.register(self)
7712 
7713 
7714 
7715 
7716  def apply_index(self, m, v):
7717  r"""apply_index(TripletModifier self, Model m, IMP::ParticleIndexTriplet const & v)"""
7718  return _IMP_kernel.TripletModifier_apply_index(self, m, v)
7719 
7720  def apply_indexes(self, m, o, lower_bound, upper_bound):
7721  r"""apply_indexes(TripletModifier self, Model m, IMP::ParticleIndexTriplets const & o, unsigned int lower_bound, unsigned int upper_bound)"""
7722  return _IMP_kernel.TripletModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
7723 
7724  def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
7725  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)"""
7726  return _IMP_kernel.TripletModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
7727 
7728  def __str__(self):
7729  r"""__str__(TripletModifier self) -> std::string"""
7730  return _IMP_kernel.TripletModifier___str__(self)
7731 
7732  def __repr__(self):
7733  r"""__repr__(TripletModifier self) -> std::string"""
7734  return _IMP_kernel.TripletModifier___repr__(self)
7735 
7736  @staticmethod
7737  def get_from(o):
7738  return _object_cast_to_TripletModifier(o)
7739 
7740 
7741  def do_show(self, out):
7742  pass
7743 
7744  @staticmethod
7745  def get_from(o):
7746  return _object_cast_to_TripletModifier(o)
7747 
7748  __swig_destroy__ = _IMP_kernel.delete_TripletModifier
7749  def __disown__(self):
7750  self.this.disown()
7751  _IMP_kernel.disown_TripletModifier(self)
7752  return weakref.proxy(self)
7753 
7754  def do_get_inputs(self, m, pis):
7755  r"""do_get_inputs(TripletModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7756  return _IMP_kernel.TripletModifier_do_get_inputs(self, m, pis)
7757 
7758  def do_get_outputs(self, m, pis):
7759  r"""do_get_outputs(TripletModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7760  return _IMP_kernel.TripletModifier_do_get_outputs(self, m, pis)
7761 
7762  def do_destroy(self):
7763  r"""do_destroy(TripletModifier self)"""
7764  return _IMP_kernel.TripletModifier_do_destroy(self)
7765 
7766 # Register TripletModifier in _IMP_kernel:
7767 _IMP_kernel.TripletModifier_swigregister(TripletModifier)
7768 class TripletScore(_ParticleInputs, Object):
7769  r"""Proxy of C++ IMP::TripletScore class."""
7770 
7771  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7772 
7773  def __init__(self, *args):
7774  r"""__init__(TripletScore self, std::string name="TripletScore %1%") -> TripletScore"""
7775  if self.__class__ == TripletScore:
7776  _self = None
7777  else:
7778  _self = self
7779  _IMP_kernel.TripletScore_swiginit(self, _IMP_kernel.new_TripletScore(_self, *args))
7780 
7781  if self.__class__ != TripletScore:
7782  _director_objects.register(self)
7783 
7784 
7785 
7786 
7787  def evaluate_index(self, m, vt, da):
7788  r"""evaluate_index(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt, DerivativeAccumulator da) -> double"""
7789  return _IMP_kernel.TripletScore_evaluate_index(self, m, vt, da)
7790 
7791  def check_indexes(self, m, pis):
7792  r"""check_indexes(TripletScore self, Model m, IMP::ParticleIndexes const & pis) -> bool"""
7793  return _IMP_kernel.TripletScore_check_indexes(self, m, pis)
7794 
7795  def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
7796  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"""
7797  return _IMP_kernel.TripletScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
7798 
7799  def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7800  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"""
7801  return _IMP_kernel.TripletScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
7802 
7803  def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
7804  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"""
7805  return _IMP_kernel.TripletScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
7806 
7807  def evaluate_if_good_index(self, m, vt, da, max):
7808  r"""evaluate_if_good_index(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt, DerivativeAccumulator da, double max) -> double"""
7809  return _IMP_kernel.TripletScore_evaluate_if_good_index(self, m, vt, da, max)
7810 
7811  def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7812  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"""
7813  return _IMP_kernel.TripletScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
7814 
7815  def create_current_decomposition(self, m, vt):
7816  r"""create_current_decomposition(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt) -> IMP::Restraints"""
7817  return _IMP_kernel.TripletScore_create_current_decomposition(self, m, vt)
7818 
7819  def do_create_current_decomposition(self, m, vt):
7820  r"""do_create_current_decomposition(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt) -> IMP::Restraints"""
7821  return _IMP_kernel.TripletScore_do_create_current_decomposition(self, m, vt)
7822  __swig_destroy__ = _IMP_kernel.delete_TripletScore
7823 
7824  def __str__(self):
7825  r"""__str__(TripletScore self) -> std::string"""
7826  return _IMP_kernel.TripletScore___str__(self)
7827 
7828  def __repr__(self):
7829  r"""__repr__(TripletScore self) -> std::string"""
7830  return _IMP_kernel.TripletScore___repr__(self)
7831 
7832  @staticmethod
7833  def get_from(o):
7834  return _object_cast_to_TripletScore(o)
7835 
7836 
7837  def do_show(self, out):
7838  pass
7839 
7840  @staticmethod
7841  def get_from(o):
7842  return _object_cast_to_TripletScore(o)
7843 
7844  def __disown__(self):
7845  self.this.disown()
7846  _IMP_kernel.disown_TripletScore(self)
7847  return weakref.proxy(self)
7848 
7849  def do_get_inputs(self, m, pis):
7850  r"""do_get_inputs(TripletScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7851  return _IMP_kernel.TripletScore_do_get_inputs(self, m, pis)
7852 
7853  def do_destroy(self):
7854  r"""do_destroy(TripletScore self)"""
7855  return _IMP_kernel.TripletScore_do_destroy(self)
7856 
7857 # Register TripletScore in _IMP_kernel:
7858 _IMP_kernel.TripletScore_swigregister(TripletScore)
7859 class TripletPredicate(_ParticleInputs, Object):
7860  r"""Proxy of C++ IMP::TripletPredicate class."""
7861 
7862  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7863 
7864  def __init__(self, *args):
7865  r"""__init__(TripletPredicate self, std::string name="TripletPredicate %1%") -> TripletPredicate"""
7866  if self.__class__ == TripletPredicate:
7867  _self = None
7868  else:
7869  _self = self
7870  _IMP_kernel.TripletPredicate_swiginit(self, _IMP_kernel.new_TripletPredicate(_self, *args))
7871 
7872  if self.__class__ != TripletPredicate:
7873  _director_objects.register(self)
7874 
7875 
7876 
7877 
7878  def setup_for_get_value_index_in_batch(self, arg0):
7879  r"""setup_for_get_value_index_in_batch(TripletPredicate self, Model arg0)"""
7880  return _IMP_kernel.TripletPredicate_setup_for_get_value_index_in_batch(self, arg0)
7881 
7882  def get_value_index_in_batch(self, m, vt):
7883  r"""get_value_index_in_batch(TripletPredicate self, Model m, IMP::ParticleIndexTriplet const & vt) -> int"""
7884  return _IMP_kernel.TripletPredicate_get_value_index_in_batch(self, m, vt)
7885 
7886  def __call__(self, m, vt):
7887  r"""__call__(TripletPredicate self, Model m, IMP::ParticleIndexTriplet const & vt) -> int"""
7888  return _IMP_kernel.TripletPredicate___call__(self, m, vt)
7889 
7890  def get_value_index(self, *args):
7891  r"""
7892  get_value_index(TripletPredicate self, Model m, IMP::ParticleIndexTriplet const & vt) -> int
7893  get_value_index(TripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
7894  """
7895  return _IMP_kernel.TripletPredicate_get_value_index(self, *args)
7896  __swig_destroy__ = _IMP_kernel.delete_TripletPredicate
7897 
7898  def __str__(self):
7899  r"""__str__(TripletPredicate self) -> std::string"""
7900  return _IMP_kernel.TripletPredicate___str__(self)
7901 
7902  def __repr__(self):
7903  r"""__repr__(TripletPredicate self) -> std::string"""
7904  return _IMP_kernel.TripletPredicate___repr__(self)
7905 
7906  @staticmethod
7907  def get_from(o):
7908  return _object_cast_to_TripletPredicate(o)
7909 
7910 
7911  def do_show(self, out):
7912  pass
7913 
7914  @staticmethod
7915  def get_from(o):
7916  return _object_cast_to_TripletPredicate(o)
7917 
7918  def __disown__(self):
7919  self.this.disown()
7920  _IMP_kernel.disown_TripletPredicate(self)
7921  return weakref.proxy(self)
7922 
7923  def do_get_inputs(self, m, pis):
7924  r"""do_get_inputs(TripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7925  return _IMP_kernel.TripletPredicate_do_get_inputs(self, m, pis)
7926 
7927  def do_destroy(self):
7928  r"""do_destroy(TripletPredicate self)"""
7929  return _IMP_kernel.TripletPredicate_do_destroy(self)
7930 
7931 # Register TripletPredicate in _IMP_kernel:
7932 _IMP_kernel.TripletPredicate_swigregister(TripletPredicate)
7934  r"""Proxy of C++ IMP::TripletContainer class."""
7935 
7936  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7937 
7938  def apply_generic(self, m):
7939  r"""apply_generic(TripletContainer self, TripletModifier m)"""
7940  return _IMP_kernel.TripletContainer_apply_generic(self, m)
7941 
7942  def apply_generic_moved(self, m, moved_pis, reset_pis):
7943  r"""apply_generic_moved(TripletContainer self, TripletModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7944  return _IMP_kernel.TripletContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
7945 
7946  def apply(self, sm):
7947  r"""apply(TripletContainer self, TripletModifier sm)"""
7948  return _IMP_kernel.TripletContainer_apply(self, sm)
7949 
7950  def apply_moved(self, sm, moved_pis, reset_pis):
7951  r"""apply_moved(TripletContainer self, TripletModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7952  return _IMP_kernel.TripletContainer_apply_moved(self, sm, moved_pis, reset_pis)
7953 
7954  def get_range_indexes(self):
7955  r"""get_range_indexes(TripletContainer self) -> IMP::ParticleIndexTriplets"""
7956  return _IMP_kernel.TripletContainer_get_range_indexes(self)
7957 
7958  def get_contents(self):
7959  r"""get_contents(TripletContainer self) -> IMP::ParticleIndexTriplets const &"""
7960  return _IMP_kernel.TripletContainer_get_contents(self)
7961 
7962  def get_indexes(self):
7963  r"""get_indexes(TripletContainer self) -> IMP::ParticleIndexTriplets"""
7964  return _IMP_kernel.TripletContainer_get_indexes(self)
7965 
7966  def get(self, *args):
7967  r"""
7968  get(TripletContainer self) -> IMP::ParticleTripletsTemp
7969  get(TripletContainer self, unsigned int i) -> IMP::ParticleTriplet
7970  """
7971  return _IMP_kernel.TripletContainer_get(self, *args)
7972 
7973  def get_number(self):
7974  r"""get_number(TripletContainer self) -> unsigned int"""
7975  return _IMP_kernel.TripletContainer_get_number(self)
7976 
7977  def __init__(self, *args):
7978  r"""
7979  __init__(TripletContainer self, Model m, std::string name="TripletContainer %1%") -> TripletContainer
7980  __init__(TripletContainer self) -> TripletContainer
7981  """
7982  if self.__class__ == TripletContainer:
7983  _self = None
7984  else:
7985  _self = self
7986  _IMP_kernel.TripletContainer_swiginit(self, _IMP_kernel.new_TripletContainer(_self, *args))
7987 
7988  if self.__class__ != TripletContainer:
7989  _director_objects.register(self)
7990 
7991 
7992 
7993 
7994  def do_apply(self, sm):
7995  r"""do_apply(TripletContainer self, TripletModifier sm)"""
7996  return _IMP_kernel.TripletContainer_do_apply(self, sm)
7997 
7998  def do_apply_moved(self, sm, moved_pis, reset_pis):
7999  r"""do_apply_moved(TripletContainer self, TripletModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
8000  return _IMP_kernel.TripletContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
8001 
8002  def do_get_provides_access(self):
8003  r"""do_get_provides_access(TripletContainer self) -> bool"""
8004  return _IMP_kernel.TripletContainer_do_get_provides_access(self)
8005  __swig_destroy__ = _IMP_kernel.delete_TripletContainer
8006 
8007  def __str__(self):
8008  r"""__str__(TripletContainer self) -> std::string"""
8009  return _IMP_kernel.TripletContainer___str__(self)
8010 
8011  def __repr__(self):
8012  r"""__repr__(TripletContainer self) -> std::string"""
8013  return _IMP_kernel.TripletContainer___repr__(self)
8014 
8015  @staticmethod
8016  def get_from(o):
8017  return _object_cast_to_TripletContainer(o)
8018 
8019 
8020  def do_show(self, out):
8021  pass
8022 
8023  @staticmethod
8024  def get_from(o):
8025  return _object_cast_to_TripletContainer(o)
8026 
8027  def __disown__(self):
8028  self.this.disown()
8029  _IMP_kernel.disown_TripletContainer(self)
8030  return weakref.proxy(self)
8031 
8032  def do_destroy(self):
8033  r"""do_destroy(TripletContainer self)"""
8034  return _IMP_kernel.TripletContainer_do_destroy(self)
8035 
8036  def handle_set_has_required_score_states(self, arg0):
8037  r"""handle_set_has_required_score_states(TripletContainer self, bool arg0)"""
8038  return _IMP_kernel.TripletContainer_handle_set_has_required_score_states(self, arg0)
8039 
8040  def do_get_inputs(self):
8041  r"""do_get_inputs(TripletContainer self) -> IMP::ModelObjectsTemp"""
8042  return _IMP_kernel.TripletContainer_do_get_inputs(self)
8043 
8044  def do_get_interactions(self):
8045  r"""do_get_interactions(TripletContainer self) -> IMP::ModelObjectsTemps"""
8046  return _IMP_kernel.TripletContainer_do_get_interactions(self)
8047 
8048  def do_get_contents_hash(self):
8049  r"""do_get_contents_hash(TripletContainer self) -> std::size_t"""
8050  return _IMP_kernel.TripletContainer_do_get_contents_hash(self)
8051 
8052 # Register TripletContainer in _IMP_kernel:
8053 _IMP_kernel.TripletContainer_swigregister(TripletContainer)
8054 class _TripletContainerAdaptor(_InputAdaptor):
8055  r"""Proxy of C++ IMP::TripletContainerAdaptor class."""
8056 
8057  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8058  __repr__ = _swig_repr
8059 
8060  def __init__(self, *args):
8061  r"""
8062  __init__(_TripletContainerAdaptor self) -> _TripletContainerAdaptor
8063  __init__(_TripletContainerAdaptor self, TripletContainer c) -> _TripletContainerAdaptor
8064  __init__(_TripletContainerAdaptor self, IMP::ParticleTripletsTemp const & t) -> _TripletContainerAdaptor
8065  """
8066  _IMP_kernel._TripletContainerAdaptor_swiginit(self, _IMP_kernel.new__TripletContainerAdaptor(*args))
8067 
8068  def set_name_if_default(self, name):
8069  r"""set_name_if_default(_TripletContainerAdaptor self, std::string name)"""
8070  return _IMP_kernel._TripletContainerAdaptor_set_name_if_default(self, name)
8071  __swig_destroy__ = _IMP_kernel.delete__TripletContainerAdaptor
8072 
8073 # Register _TripletContainerAdaptor in _IMP_kernel:
8074 _IMP_kernel._TripletContainerAdaptor_swigregister(_TripletContainerAdaptor)
8075 
8076 def write_particles_to_buffer(particles, keys):
8077  r"""write_particles_to_buffer(IMP::ParticlesTemp const & particles, IMP::FloatKeys const & keys) -> IMP::Vector< char,std::allocator< char > >"""
8078  return _IMP_kernel.write_particles_to_buffer(particles, keys)
8079 
8080 def read_particles_from_buffer(buffer, particles, keys):
8081  r"""read_particles_from_buffer(IMP::Vector< char,std::allocator< char > > const & buffer, IMP::ParticlesTemp const & particles, IMP::FloatKeys const & keys)"""
8082  return _IMP_kernel.read_particles_from_buffer(buffer, particles, keys)
8083 
8084 def get_particles(m, ps):
8085  r"""get_particles(Model m, IMP::ParticleIndexes const & ps) -> IMP::ParticlesTemp"""
8086  return _IMP_kernel.get_particles(m, ps)
8087 
8088 def get_indexes(*args):
8089  r"""
8090  get_indexes(IMP::ParticlesTemp const & ps) -> IMP::ParticleIndexes
8091  get_indexes(IMP::ParticlePairsTemp const & ps) -> IMP::ParticleIndexPairs
8092  """
8093  return _IMP_kernel.get_indexes(*args)
8094 class _ParticleIndexAdaptor(object):
8095  r"""Proxy of C++ IMP::ParticleIndexAdaptor class."""
8096 
8097  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8098  __repr__ = _swig_repr
8099 
8100  def __init__(self, *args):
8101  r"""
8102  __init__(_ParticleIndexAdaptor self, Particle p) -> _ParticleIndexAdaptor
8103  __init__(_ParticleIndexAdaptor self, ParticleIndex pi) -> _ParticleIndexAdaptor
8104  __init__(_ParticleIndexAdaptor self, Decorator d) -> _ParticleIndexAdaptor
8105  """
8106  _IMP_kernel._ParticleIndexAdaptor_swiginit(self, _IMP_kernel.new__ParticleIndexAdaptor(*args))
8107  __swig_destroy__ = _IMP_kernel.delete__ParticleIndexAdaptor
8108 
8109 # Register _ParticleIndexAdaptor in _IMP_kernel:
8110 _IMP_kernel._ParticleIndexAdaptor_swigregister(_ParticleIndexAdaptor)
8111 class _ParticleIndexesAdaptor(_InputAdaptor):
8112  r"""Proxy of C++ IMP::ParticleIndexesAdaptor class."""
8113 
8114  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8115  __repr__ = _swig_repr
8116 
8117  def __init__(self, *args):
8118  r"""
8119  __init__(_ParticleIndexesAdaptor self, IMP::ParticlesTemp const & ps) -> _ParticleIndexesAdaptor
8120  __init__(_ParticleIndexesAdaptor self, IMP::ParticleIndexes const & pi) -> _ParticleIndexesAdaptor
8121  __init__(_ParticleIndexesAdaptor self) -> _ParticleIndexesAdaptor
8122  """
8123  _IMP_kernel._ParticleIndexesAdaptor_swiginit(self, _IMP_kernel.new__ParticleIndexesAdaptor(*args))
8124  __swig_destroy__ = _IMP_kernel.delete__ParticleIndexesAdaptor
8125 
8126 # Register _ParticleIndexesAdaptor in _IMP_kernel:
8127 _IMP_kernel._ParticleIndexesAdaptor_swigregister(_ParticleIndexesAdaptor)
8128 class _ParticleIndexPairsAdaptor(object):
8129  r"""Proxy of C++ IMP::ParticleIndexPairsAdaptor class."""
8130 
8131  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8132  __repr__ = _swig_repr
8133 
8134  def __init__(self, *args):
8135  r"""
8136  __init__(_ParticleIndexPairsAdaptor self, IMP::ParticlePairsTemp const & ps) -> _ParticleIndexPairsAdaptor
8137  __init__(_ParticleIndexPairsAdaptor self, IMP::ParticleIndexPairs const & pi) -> _ParticleIndexPairsAdaptor
8138  __init__(_ParticleIndexPairsAdaptor self) -> _ParticleIndexPairsAdaptor
8139  """
8140  _IMP_kernel._ParticleIndexPairsAdaptor_swiginit(self, _IMP_kernel.new__ParticleIndexPairsAdaptor(*args))
8141  __swig_destroy__ = _IMP_kernel.delete__ParticleIndexPairsAdaptor
8142 
8143 # Register _ParticleIndexPairsAdaptor in _IMP_kernel:
8144 _IMP_kernel._ParticleIndexPairsAdaptor_swigregister(_ParticleIndexPairsAdaptor)
8145 class _ConstRestraint(Restraint):
8146  r"""Proxy of C++ IMP::internal::_ConstRestraint class."""
8147 
8148  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8149 
8150  def __init__(self, *args):
8151  r"""
8152  __init__(_ConstRestraint self, Model m, IMP::ParticleIndexes const & pis, double v) -> _ConstRestraint
8153  __init__(_ConstRestraint self) -> _ConstRestraint
8154  """
8155  _IMP_kernel._ConstRestraint_swiginit(self, _IMP_kernel.new__ConstRestraint(*args))
8156 
8157  def get_value(self):
8158  r"""get_value(_ConstRestraint self) -> double"""
8159  return _IMP_kernel._ConstRestraint_get_value(self)
8160 
8161  def do_create_decomposition(self):
8162  r"""do_create_decomposition(_ConstRestraint self) -> IMP::Restraints"""
8163  return _IMP_kernel._ConstRestraint_do_create_decomposition(self)
8164 
8165  def do_get_inputs(self):
8166  r"""do_get_inputs(_ConstRestraint self) -> IMP::ModelObjectsTemp"""
8167  return _IMP_kernel._ConstRestraint_do_get_inputs(self)
8168 
8169  def get_version_info(self):
8170  r"""get_version_info(_ConstRestraint self) -> VersionInfo"""
8171  return _IMP_kernel._ConstRestraint_get_version_info(self)
8172  __swig_destroy__ = _IMP_kernel.delete__ConstRestraint
8173 
8174  def __str__(self):
8175  r"""__str__(_ConstRestraint self) -> std::string"""
8176  return _IMP_kernel._ConstRestraint___str__(self)
8177 
8178  def __repr__(self):
8179  r"""__repr__(_ConstRestraint self) -> std::string"""
8180  return _IMP_kernel._ConstRestraint___repr__(self)
8181 
8182  @staticmethod
8183  def get_from(o):
8184  return _object_cast_to__ConstRestraint(o)
8185 
8186 
8187  def _get_as_binary(self):
8188  r"""_get_as_binary(_ConstRestraint self) -> PyObject *"""
8189  return _IMP_kernel._ConstRestraint__get_as_binary(self)
8190 
8191  def _set_from_binary(self, p):
8192  r"""_set_from_binary(_ConstRestraint self, PyObject * p)"""
8193  return _IMP_kernel._ConstRestraint__set_from_binary(self, p)
8194 
8195  def __getstate__(self):
8196  p = self._get_as_binary()
8197  if len(self.__dict__) > 1:
8198  d = self.__dict__.copy()
8199  del d['this']
8200  p = (d, p)
8201  return p
8202 
8203  def __setstate__(self, p):
8204  if not hasattr(self, 'this'):
8205  self.__init__()
8206  if isinstance(p, tuple):
8207  d, p = p
8208  self.__dict__.update(d)
8209  return self._set_from_binary(p)
8210 
8211 
8212  def _get_jax(self):
8213  value = self.get_value()
8214  # We always return `value` regardless of the model state
8215  return self._wrap_jax(lambda X: value)
8216 
8217 
8218 # Register _ConstRestraint in _IMP_kernel:
8219 _IMP_kernel._ConstRestraint_swigregister(_ConstRestraint)
8220 class _ConstSingletonScore(SingletonScore):
8221  r"""Proxy of C++ IMP::internal::_ConstSingletonScore class."""
8222 
8223  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8224 
8225  def __init__(self, *args):
8226  r"""
8227  __init__(_ConstSingletonScore self, double v) -> _ConstSingletonScore
8228  __init__(_ConstSingletonScore self) -> _ConstSingletonScore
8229  """
8230  _IMP_kernel._ConstSingletonScore_swiginit(self, _IMP_kernel.new__ConstSingletonScore(*args))
8231 
8232  def do_get_inputs(self, arg2, arg3):
8233  r"""do_get_inputs(_ConstSingletonScore self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
8234  return _IMP_kernel._ConstSingletonScore_do_get_inputs(self, arg2, arg3)
8235 
8236  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
8237  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"""
8238  return _IMP_kernel._ConstSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
8239 
8240  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
8241  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"""
8242  return _IMP_kernel._ConstSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
8243 
8244  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
8245  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"""
8246  return _IMP_kernel._ConstSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
8247 
8248  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
8249  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"""
8250  return _IMP_kernel._ConstSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
8251 
8252  def get_version_info(self):
8253  r"""get_version_info(_ConstSingletonScore self) -> VersionInfo"""
8254  return _IMP_kernel._ConstSingletonScore_get_version_info(self)
8255  __swig_destroy__ = _IMP_kernel.delete__ConstSingletonScore
8256 
8257  def __str__(self):
8258  r"""__str__(_ConstSingletonScore self) -> std::string"""
8259  return _IMP_kernel._ConstSingletonScore___str__(self)
8260 
8261  def __repr__(self):
8262  r"""__repr__(_ConstSingletonScore self) -> std::string"""
8263  return _IMP_kernel._ConstSingletonScore___repr__(self)
8264 
8265  @staticmethod
8266  def get_from(o):
8267  return _object_cast_to__ConstSingletonScore(o)
8268 
8269 
8270  def _get_as_binary(self):
8271  r"""_get_as_binary(_ConstSingletonScore self) -> PyObject *"""
8272  return _IMP_kernel._ConstSingletonScore__get_as_binary(self)
8273 
8274  def _set_from_binary(self, p):
8275  r"""_set_from_binary(_ConstSingletonScore self, PyObject * p)"""
8276  return _IMP_kernel._ConstSingletonScore__set_from_binary(self, p)
8277 
8278  def __getstate__(self):
8279  p = self._get_as_binary()
8280  if len(self.__dict__) > 1:
8281  d = self.__dict__.copy()
8282  del d['this']
8283  p = (d, p)
8284  return p
8285 
8286  def __setstate__(self, p):
8287  if not hasattr(self, 'this'):
8288  self.__init__()
8289  if isinstance(p, tuple):
8290  d, p = p
8291  self.__dict__.update(d)
8292  return self._set_from_binary(p)
8293 
8294 
8295 # Register _ConstSingletonScore in _IMP_kernel:
8296 _IMP_kernel._ConstSingletonScore_swigregister(_ConstSingletonScore)
8297 class _ConstPairScore(PairScore):
8298  r"""Proxy of C++ IMP::internal::_ConstPairScore class."""
8299 
8300  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8301 
8302  def __init__(self, *args):
8303  r"""
8304  __init__(_ConstPairScore self, double v) -> _ConstPairScore
8305  __init__(_ConstPairScore self) -> _ConstPairScore
8306  """
8307  _IMP_kernel._ConstPairScore_swiginit(self, _IMP_kernel.new__ConstPairScore(*args))
8308 
8309  def do_get_inputs(self, arg2, arg3):
8310  r"""do_get_inputs(_ConstPairScore self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
8311  return _IMP_kernel._ConstPairScore_do_get_inputs(self, arg2, arg3)
8312 
8313  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
8314  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"""
8315  return _IMP_kernel._ConstPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
8316 
8317  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
8318  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"""
8319  return _IMP_kernel._ConstPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
8320 
8321  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
8322  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"""
8323  return _IMP_kernel._ConstPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
8324 
8325  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
8326  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"""
8327  return _IMP_kernel._ConstPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
8328 
8329  def get_version_info(self):
8330  r"""get_version_info(_ConstPairScore self) -> VersionInfo"""
8331  return _IMP_kernel._ConstPairScore_get_version_info(self)
8332  __swig_destroy__ = _IMP_kernel.delete__ConstPairScore
8333 
8334  def __str__(self):
8335  r"""__str__(_ConstPairScore self) -> std::string"""
8336  return _IMP_kernel._ConstPairScore___str__(self)
8337 
8338  def __repr__(self):
8339  r"""__repr__(_ConstPairScore self) -> std::string"""
8340  return _IMP_kernel._ConstPairScore___repr__(self)
8341 
8342  @staticmethod
8343  def get_from(o):
8344  return _object_cast_to__ConstPairScore(o)
8345 
8346 
8347  def _get_as_binary(self):
8348  r"""_get_as_binary(_ConstPairScore self) -> PyObject *"""
8349  return _IMP_kernel._ConstPairScore__get_as_binary(self)
8350 
8351  def _set_from_binary(self, p):
8352  r"""_set_from_binary(_ConstPairScore self, PyObject * p)"""
8353  return _IMP_kernel._ConstPairScore__set_from_binary(self, p)
8354 
8355  def __getstate__(self):
8356  p = self._get_as_binary()
8357  if len(self.__dict__) > 1:
8358  d = self.__dict__.copy()
8359  del d['this']
8360  p = (d, p)
8361  return p
8362 
8363  def __setstate__(self, p):
8364  if not hasattr(self, 'this'):
8365  self.__init__()
8366  if isinstance(p, tuple):
8367  d, p = p
8368  self.__dict__.update(d)
8369  return self._set_from_binary(p)
8370 
8371 
8372 # Register _ConstPairScore in _IMP_kernel:
8373 _IMP_kernel._ConstPairScore_swigregister(_ConstPairScore)
8374 class _TrivialDecorator(Decorator):
8375  r"""Proxy of C++ IMP::internal::_TrivialDecorator class."""
8376 
8377  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8378 
8379  def __init__(self, *args):
8380  r"""
8381  __init__(_TrivialDecorator self) -> _TrivialDecorator
8382  __init__(_TrivialDecorator self, Model m, ParticleIndex id) -> _TrivialDecorator
8383  __init__(_TrivialDecorator self, _ParticleAdaptor d) -> _TrivialDecorator
8384  """
8385  _IMP_kernel._TrivialDecorator_swiginit(self, _IMP_kernel.new__TrivialDecorator(*args))
8386 
8387  def show(self, *args):
8388  r"""show(_TrivialDecorator self, _ostream out=std::cout)"""
8389  return _IMP_kernel._TrivialDecorator_show(self, *args)
8390 
8391  @staticmethod
8392  def setup_particle(*args):
8393  r"""
8394  setup_particle(Model m, ParticleIndex pi) -> _TrivialDecorator
8395  setup_particle(_ParticleAdaptor pa) -> _TrivialDecorator
8396  """
8397  return _IMP_kernel._TrivialDecorator_setup_particle(*args)
8398 
8399  @staticmethod
8400  def get_is_setup(*args):
8401  r"""
8402  get_is_setup(_ParticleAdaptor p) -> bool
8403  get_is_setup(Model m, ParticleIndex pi) -> bool
8404  """
8405  return _IMP_kernel._TrivialDecorator_get_is_setup(*args)
8406 
8407  def add_attribute(self, *args):
8408  r"""
8409  add_attribute(_TrivialDecorator self, FloatKey k, IMP::Float v, bool opt)
8410  add_attribute(_TrivialDecorator self, FloatKey a0, IMP::Float a1)
8411  add_attribute(_TrivialDecorator self, IntKey a0, IMP::Int a1)
8412  add_attribute(_TrivialDecorator self, FloatsKey a0, IMP::Floats a1)
8413  add_attribute(_TrivialDecorator self, IntsKey a0, IMP::Ints a1)
8414  add_attribute(_TrivialDecorator self, StringKey a0, IMP::String a1)
8415  add_attribute(_TrivialDecorator self, ParticleIndexKey a0, Particle a1)
8416  add_attribute(_TrivialDecorator self, ObjectKey a0, Object a1)
8417  add_attribute(_TrivialDecorator self, SparseFloatKey a0, IMP::Float a1)
8418  add_attribute(_TrivialDecorator self, SparseIntKey a0, IMP::Int a1)
8419  add_attribute(_TrivialDecorator self, SparseStringKey a0, IMP::String a1)
8420  add_attribute(_TrivialDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
8421  """
8422  return _IMP_kernel._TrivialDecorator_add_attribute(self, *args)
8423 
8424  def get_value(self, *args):
8425  r"""
8426  get_value(_TrivialDecorator self, FloatKey a0) -> IMP::Float
8427  get_value(_TrivialDecorator self, IntKey a0) -> IMP::Int
8428  get_value(_TrivialDecorator self, FloatsKey a0) -> IMP::Floats
8429  get_value(_TrivialDecorator self, IntsKey a0) -> IMP::Ints
8430  get_value(_TrivialDecorator self, StringKey a0) -> IMP::String
8431  get_value(_TrivialDecorator self, ParticleIndexKey a0) -> Particle
8432  get_value(_TrivialDecorator self, ObjectKey a0) -> Object
8433  get_value(_TrivialDecorator self, SparseFloatKey a0) -> IMP::Float
8434  get_value(_TrivialDecorator self, SparseIntKey a0) -> IMP::Int
8435  get_value(_TrivialDecorator self, SparseStringKey a0) -> IMP::String
8436  get_value(_TrivialDecorator self, SparseParticleIndexKey a0) -> ParticleIndex
8437  """
8438  return _IMP_kernel._TrivialDecorator_get_value(self, *args)
8439 
8440  def set_value(self, *args):
8441  r"""
8442  set_value(_TrivialDecorator self, FloatKey a0, IMP::Float a1)
8443  set_value(_TrivialDecorator self, IntKey a0, IMP::Int a1)
8444  set_value(_TrivialDecorator self, FloatsKey a0, IMP::Floats a1)
8445  set_value(_TrivialDecorator self, IntsKey a0, IMP::Ints a1)
8446  set_value(_TrivialDecorator self, StringKey a0, IMP::String a1)
8447  set_value(_TrivialDecorator self, ParticleIndexKey a0, Particle a1)
8448  set_value(_TrivialDecorator self, ObjectKey a0, Object a1)
8449  set_value(_TrivialDecorator self, SparseFloatKey a0, IMP::Float a1)
8450  set_value(_TrivialDecorator self, SparseIntKey a0, IMP::Int a1)
8451  set_value(_TrivialDecorator self, SparseStringKey a0, IMP::String a1)
8452  set_value(_TrivialDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
8453  """
8454  return _IMP_kernel._TrivialDecorator_set_value(self, *args)
8455 
8456  def remove_attribute(self, *args):
8457  r"""
8458  remove_attribute(_TrivialDecorator self, FloatKey a0)
8459  remove_attribute(_TrivialDecorator self, IntKey a0)
8460  remove_attribute(_TrivialDecorator self, FloatsKey a0)
8461  remove_attribute(_TrivialDecorator self, IntsKey a0)
8462  remove_attribute(_TrivialDecorator self, StringKey a0)
8463  remove_attribute(_TrivialDecorator self, ParticleIndexKey a0)
8464  remove_attribute(_TrivialDecorator self, ObjectKey a0)
8465  remove_attribute(_TrivialDecorator self, SparseFloatKey a0)
8466  remove_attribute(_TrivialDecorator self, SparseIntKey a0)
8467  remove_attribute(_TrivialDecorator self, SparseStringKey a0)
8468  remove_attribute(_TrivialDecorator self, SparseParticleIndexKey a0)
8469  """
8470  return _IMP_kernel._TrivialDecorator_remove_attribute(self, *args)
8471 
8472  def has_attribute(self, *args):
8473  r"""
8474  has_attribute(_TrivialDecorator self, FloatKey a0) -> bool
8475  has_attribute(_TrivialDecorator self, IntKey a0) -> bool
8476  has_attribute(_TrivialDecorator self, FloatsKey a0) -> bool
8477  has_attribute(_TrivialDecorator self, IntsKey a0) -> bool
8478  has_attribute(_TrivialDecorator self, StringKey a0) -> bool
8479  has_attribute(_TrivialDecorator self, ParticleIndexKey a0) -> bool
8480  has_attribute(_TrivialDecorator self, ObjectKey a0) -> bool
8481  has_attribute(_TrivialDecorator self, SparseFloatKey a0) -> bool
8482  has_attribute(_TrivialDecorator self, SparseIntKey a0) -> bool
8483  has_attribute(_TrivialDecorator self, SparseStringKey a0) -> bool
8484  has_attribute(_TrivialDecorator self, SparseParticleIndexKey a0) -> bool
8485  """
8486  return _IMP_kernel._TrivialDecorator_has_attribute(self, *args)
8487 
8488  def get_derivative(self, a0):
8489  r"""get_derivative(_TrivialDecorator self, FloatKey a0) -> double"""
8490  return _IMP_kernel._TrivialDecorator_get_derivative(self, a0)
8491 
8492  def get_name(self):
8493  r"""get_name(_TrivialDecorator self) -> std::string"""
8494  return _IMP_kernel._TrivialDecorator_get_name(self)
8495 
8496  def clear_caches(self):
8497  r"""clear_caches(_TrivialDecorator self)"""
8498  return _IMP_kernel._TrivialDecorator_clear_caches(self)
8499 
8500  def set_name(self, a0):
8501  r"""set_name(_TrivialDecorator self, std::string a0)"""
8502  return _IMP_kernel._TrivialDecorator_set_name(self, a0)
8503 
8504  def set_check_level(self, a0):
8505  r"""set_check_level(_TrivialDecorator self, IMP::CheckLevel a0)"""
8506  return _IMP_kernel._TrivialDecorator_set_check_level(self, a0)
8507 
8508  def add_to_derivative(self, a0, a1, a2):
8509  r"""add_to_derivative(_TrivialDecorator self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8510  return _IMP_kernel._TrivialDecorator_add_to_derivative(self, a0, a1, a2)
8511 
8512  def set_is_optimized(self, a0, a1):
8513  r"""set_is_optimized(_TrivialDecorator self, FloatKey a0, bool a1)"""
8514  return _IMP_kernel._TrivialDecorator_set_is_optimized(self, a0, a1)
8515 
8516  def get_is_optimized(self, a0):
8517  r"""get_is_optimized(_TrivialDecorator self, FloatKey a0) -> bool"""
8518  return _IMP_kernel._TrivialDecorator_get_is_optimized(self, a0)
8519 
8520  def get_check_level(self):
8521  r"""get_check_level(_TrivialDecorator self) -> IMP::CheckLevel"""
8522  return _IMP_kernel._TrivialDecorator_get_check_level(self)
8523 
8524  def __eq__(self, *args):
8525  r"""
8526  __eq__(_TrivialDecorator self, _TrivialDecorator o) -> bool
8527  __eq__(_TrivialDecorator self, Particle d) -> bool
8528  """
8529  return _IMP_kernel._TrivialDecorator___eq__(self, *args)
8530 
8531  def __ne__(self, *args):
8532  r"""
8533  __ne__(_TrivialDecorator self, _TrivialDecorator o) -> bool
8534  __ne__(_TrivialDecorator self, Particle d) -> bool
8535  """
8536  return _IMP_kernel._TrivialDecorator___ne__(self, *args)
8537 
8538  def __le__(self, *args):
8539  r"""
8540  __le__(_TrivialDecorator self, _TrivialDecorator o) -> bool
8541  __le__(_TrivialDecorator self, Particle d) -> bool
8542  """
8543  return _IMP_kernel._TrivialDecorator___le__(self, *args)
8544 
8545  def __lt__(self, *args):
8546  r"""
8547  __lt__(_TrivialDecorator self, _TrivialDecorator o) -> bool
8548  __lt__(_TrivialDecorator self, Particle d) -> bool
8549  """
8550  return _IMP_kernel._TrivialDecorator___lt__(self, *args)
8551 
8552  def __ge__(self, *args):
8553  r"""
8554  __ge__(_TrivialDecorator self, _TrivialDecorator o) -> bool
8555  __ge__(_TrivialDecorator self, Particle d) -> bool
8556  """
8557  return _IMP_kernel._TrivialDecorator___ge__(self, *args)
8558 
8559  def __gt__(self, *args):
8560  r"""
8561  __gt__(_TrivialDecorator self, _TrivialDecorator o) -> bool
8562  __gt__(_TrivialDecorator self, Particle d) -> bool
8563  """
8564  return _IMP_kernel._TrivialDecorator___gt__(self, *args)
8565 
8566  def __hash__(self):
8567  r"""__hash__(_TrivialDecorator self) -> std::size_t"""
8568  return _IMP_kernel._TrivialDecorator___hash__(self)
8569 
8570  def __str__(self):
8571  r"""__str__(_TrivialDecorator self) -> std::string"""
8572  return _IMP_kernel._TrivialDecorator___str__(self)
8573 
8574  def __repr__(self):
8575  r"""__repr__(_TrivialDecorator self) -> std::string"""
8576  return _IMP_kernel._TrivialDecorator___repr__(self)
8577 
8578  def _get_as_binary(self):
8579  r"""_get_as_binary(_TrivialDecorator self) -> PyObject *"""
8580  return _IMP_kernel._TrivialDecorator__get_as_binary(self)
8581 
8582  def _set_from_binary(self, p):
8583  r"""_set_from_binary(_TrivialDecorator self, PyObject * p)"""
8584  return _IMP_kernel._TrivialDecorator__set_from_binary(self, p)
8585 
8586  def __getstate__(self):
8587  p = self._get_as_binary()
8588  if len(self.__dict__) > 1:
8589  d = self.__dict__.copy()
8590  del d['this']
8591  p = (d, p)
8592  return p
8593 
8594  def __setstate__(self, p):
8595  if not hasattr(self, 'this'):
8596  self.__init__()
8597  if isinstance(p, tuple):
8598  d, p = p
8599  self.__dict__.update(d)
8600  return self._set_from_binary(p)
8601 
8602  __swig_destroy__ = _IMP_kernel.delete__TrivialDecorator
8603 
8604 # Register _TrivialDecorator in _IMP_kernel:
8605 _IMP_kernel._TrivialDecorator_swigregister(_TrivialDecorator)
8606 class _TrivialDerivedDecorator(_TrivialDecorator):
8607  r"""Proxy of C++ IMP::internal::_TrivialDerivedDecorator class."""
8608 
8609  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8610 
8611  def __init__(self, *args):
8612  r"""
8613  __init__(_TrivialDerivedDecorator self) -> _TrivialDerivedDecorator
8614  __init__(_TrivialDerivedDecorator self, Model m, ParticleIndex id) -> _TrivialDerivedDecorator
8615  __init__(_TrivialDerivedDecorator self, _ParticleAdaptor d) -> _TrivialDerivedDecorator
8616  """
8617  _IMP_kernel._TrivialDerivedDecorator_swiginit(self, _IMP_kernel.new__TrivialDerivedDecorator(*args))
8618 
8619  def show(self, *args):
8620  r"""show(_TrivialDerivedDecorator self, _ostream out=std::cout)"""
8621  return _IMP_kernel._TrivialDerivedDecorator_show(self, *args)
8622 
8623  @staticmethod
8624  def setup_particle(*args):
8625  r"""
8626  setup_particle(Model m, ParticleIndex pi) -> _TrivialDerivedDecorator
8627  setup_particle(_ParticleAdaptor pa) -> _TrivialDerivedDecorator
8628  """
8629  return _IMP_kernel._TrivialDerivedDecorator_setup_particle(*args)
8630 
8631  @staticmethod
8632  def get_is_setup(*args):
8633  r"""
8634  get_is_setup(_ParticleAdaptor p) -> bool
8635  get_is_setup(Model m, ParticleIndex pi) -> bool
8636  """
8637  return _IMP_kernel._TrivialDerivedDecorator_get_is_setup(*args)
8638 
8639  def add_attribute(self, *args):
8640  r"""
8641  add_attribute(_TrivialDerivedDecorator self, FloatKey k, IMP::Float v, bool opt)
8642  add_attribute(_TrivialDerivedDecorator self, FloatKey a0, IMP::Float a1)
8643  add_attribute(_TrivialDerivedDecorator self, IntKey a0, IMP::Int a1)
8644  add_attribute(_TrivialDerivedDecorator self, FloatsKey a0, IMP::Floats a1)
8645  add_attribute(_TrivialDerivedDecorator self, IntsKey a0, IMP::Ints a1)
8646  add_attribute(_TrivialDerivedDecorator self, StringKey a0, IMP::String a1)
8647  add_attribute(_TrivialDerivedDecorator self, ParticleIndexKey a0, Particle a1)
8648  add_attribute(_TrivialDerivedDecorator self, ObjectKey a0, Object a1)
8649  add_attribute(_TrivialDerivedDecorator self, SparseFloatKey a0, IMP::Float a1)
8650  add_attribute(_TrivialDerivedDecorator self, SparseIntKey a0, IMP::Int a1)
8651  add_attribute(_TrivialDerivedDecorator self, SparseStringKey a0, IMP::String a1)
8652  add_attribute(_TrivialDerivedDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
8653  """
8654  return _IMP_kernel._TrivialDerivedDecorator_add_attribute(self, *args)
8655 
8656  def get_value(self, *args):
8657  r"""
8658  get_value(_TrivialDerivedDecorator self, FloatKey a0) -> IMP::Float
8659  get_value(_TrivialDerivedDecorator self, IntKey a0) -> IMP::Int
8660  get_value(_TrivialDerivedDecorator self, FloatsKey a0) -> IMP::Floats
8661  get_value(_TrivialDerivedDecorator self, IntsKey a0) -> IMP::Ints
8662  get_value(_TrivialDerivedDecorator self, StringKey a0) -> IMP::String
8663  get_value(_TrivialDerivedDecorator self, ParticleIndexKey a0) -> Particle
8664  get_value(_TrivialDerivedDecorator self, ObjectKey a0) -> Object
8665  get_value(_TrivialDerivedDecorator self, SparseFloatKey a0) -> IMP::Float
8666  get_value(_TrivialDerivedDecorator self, SparseIntKey a0) -> IMP::Int
8667  get_value(_TrivialDerivedDecorator self, SparseStringKey a0) -> IMP::String
8668  get_value(_TrivialDerivedDecorator self, SparseParticleIndexKey a0) -> ParticleIndex
8669  """
8670  return _IMP_kernel._TrivialDerivedDecorator_get_value(self, *args)
8671 
8672  def set_value(self, *args):
8673  r"""
8674  set_value(_TrivialDerivedDecorator self, FloatKey a0, IMP::Float a1)
8675  set_value(_TrivialDerivedDecorator self, IntKey a0, IMP::Int a1)
8676  set_value(_TrivialDerivedDecorator self, FloatsKey a0, IMP::Floats a1)
8677  set_value(_TrivialDerivedDecorator self, IntsKey a0, IMP::Ints a1)
8678  set_value(_TrivialDerivedDecorator self, StringKey a0, IMP::String a1)
8679  set_value(_TrivialDerivedDecorator self, ParticleIndexKey a0, Particle a1)
8680  set_value(_TrivialDerivedDecorator self, ObjectKey a0, Object a1)
8681  set_value(_TrivialDerivedDecorator self, SparseFloatKey a0, IMP::Float a1)
8682  set_value(_TrivialDerivedDecorator self, SparseIntKey a0, IMP::Int a1)
8683  set_value(_TrivialDerivedDecorator self, SparseStringKey a0, IMP::String a1)
8684  set_value(_TrivialDerivedDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
8685  """
8686  return _IMP_kernel._TrivialDerivedDecorator_set_value(self, *args)
8687 
8688  def remove_attribute(self, *args):
8689  r"""
8690  remove_attribute(_TrivialDerivedDecorator self, FloatKey a0)
8691  remove_attribute(_TrivialDerivedDecorator self, IntKey a0)
8692  remove_attribute(_TrivialDerivedDecorator self, FloatsKey a0)
8693  remove_attribute(_TrivialDerivedDecorator self, IntsKey a0)
8694  remove_attribute(_TrivialDerivedDecorator self, StringKey a0)
8695  remove_attribute(_TrivialDerivedDecorator self, ParticleIndexKey a0)
8696  remove_attribute(_TrivialDerivedDecorator self, ObjectKey a0)
8697  remove_attribute(_TrivialDerivedDecorator self, SparseFloatKey a0)
8698  remove_attribute(_TrivialDerivedDecorator self, SparseIntKey a0)
8699  remove_attribute(_TrivialDerivedDecorator self, SparseStringKey a0)
8700  remove_attribute(_TrivialDerivedDecorator self, SparseParticleIndexKey a0)
8701  """
8702  return _IMP_kernel._TrivialDerivedDecorator_remove_attribute(self, *args)
8703 
8704  def has_attribute(self, *args):
8705  r"""
8706  has_attribute(_TrivialDerivedDecorator self, FloatKey a0) -> bool
8707  has_attribute(_TrivialDerivedDecorator self, IntKey a0) -> bool
8708  has_attribute(_TrivialDerivedDecorator self, FloatsKey a0) -> bool
8709  has_attribute(_TrivialDerivedDecorator self, IntsKey a0) -> bool
8710  has_attribute(_TrivialDerivedDecorator self, StringKey a0) -> bool
8711  has_attribute(_TrivialDerivedDecorator self, ParticleIndexKey a0) -> bool
8712  has_attribute(_TrivialDerivedDecorator self, ObjectKey a0) -> bool
8713  has_attribute(_TrivialDerivedDecorator self, SparseFloatKey a0) -> bool
8714  has_attribute(_TrivialDerivedDecorator self, SparseIntKey a0) -> bool
8715  has_attribute(_TrivialDerivedDecorator self, SparseStringKey a0) -> bool
8716  has_attribute(_TrivialDerivedDecorator self, SparseParticleIndexKey a0) -> bool
8717  """
8718  return _IMP_kernel._TrivialDerivedDecorator_has_attribute(self, *args)
8719 
8720  def get_derivative(self, a0):
8721  r"""get_derivative(_TrivialDerivedDecorator self, FloatKey a0) -> double"""
8722  return _IMP_kernel._TrivialDerivedDecorator_get_derivative(self, a0)
8723 
8724  def get_name(self):
8725  r"""get_name(_TrivialDerivedDecorator self) -> std::string"""
8726  return _IMP_kernel._TrivialDerivedDecorator_get_name(self)
8727 
8728  def clear_caches(self):
8729  r"""clear_caches(_TrivialDerivedDecorator self)"""
8730  return _IMP_kernel._TrivialDerivedDecorator_clear_caches(self)
8731 
8732  def set_name(self, a0):
8733  r"""set_name(_TrivialDerivedDecorator self, std::string a0)"""
8734  return _IMP_kernel._TrivialDerivedDecorator_set_name(self, a0)
8735 
8736  def set_check_level(self, a0):
8737  r"""set_check_level(_TrivialDerivedDecorator self, IMP::CheckLevel a0)"""
8738  return _IMP_kernel._TrivialDerivedDecorator_set_check_level(self, a0)
8739 
8740  def add_to_derivative(self, a0, a1, a2):
8741  r"""add_to_derivative(_TrivialDerivedDecorator self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8742  return _IMP_kernel._TrivialDerivedDecorator_add_to_derivative(self, a0, a1, a2)
8743 
8744  def set_is_optimized(self, a0, a1):
8745  r"""set_is_optimized(_TrivialDerivedDecorator self, FloatKey a0, bool a1)"""
8746  return _IMP_kernel._TrivialDerivedDecorator_set_is_optimized(self, a0, a1)
8747 
8748  def get_is_optimized(self, a0):
8749  r"""get_is_optimized(_TrivialDerivedDecorator self, FloatKey a0) -> bool"""
8750  return _IMP_kernel._TrivialDerivedDecorator_get_is_optimized(self, a0)
8751 
8752  def get_check_level(self):
8753  r"""get_check_level(_TrivialDerivedDecorator self) -> IMP::CheckLevel"""
8754  return _IMP_kernel._TrivialDerivedDecorator_get_check_level(self)
8755 
8756  def __eq__(self, *args):
8757  r"""
8758  __eq__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
8759  __eq__(_TrivialDerivedDecorator self, Particle d) -> bool
8760  """
8761  return _IMP_kernel._TrivialDerivedDecorator___eq__(self, *args)
8762 
8763  def __ne__(self, *args):
8764  r"""
8765  __ne__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
8766  __ne__(_TrivialDerivedDecorator self, Particle d) -> bool
8767  """
8768  return _IMP_kernel._TrivialDerivedDecorator___ne__(self, *args)
8769 
8770  def __le__(self, *args):
8771  r"""
8772  __le__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
8773  __le__(_TrivialDerivedDecorator self, Particle d) -> bool
8774  """
8775  return _IMP_kernel._TrivialDerivedDecorator___le__(self, *args)
8776 
8777  def __lt__(self, *args):
8778  r"""
8779  __lt__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
8780  __lt__(_TrivialDerivedDecorator self, Particle d) -> bool
8781  """
8782  return _IMP_kernel._TrivialDerivedDecorator___lt__(self, *args)
8783 
8784  def __ge__(self, *args):
8785  r"""
8786  __ge__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
8787  __ge__(_TrivialDerivedDecorator self, Particle d) -> bool
8788  """
8789  return _IMP_kernel._TrivialDerivedDecorator___ge__(self, *args)
8790 
8791  def __gt__(self, *args):
8792  r"""
8793  __gt__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
8794  __gt__(_TrivialDerivedDecorator self, Particle d) -> bool
8795  """
8796  return _IMP_kernel._TrivialDerivedDecorator___gt__(self, *args)
8797 
8798  def __hash__(self):
8799  r"""__hash__(_TrivialDerivedDecorator self) -> std::size_t"""
8800  return _IMP_kernel._TrivialDerivedDecorator___hash__(self)
8801 
8802  def __str__(self):
8803  r"""__str__(_TrivialDerivedDecorator self) -> std::string"""
8804  return _IMP_kernel._TrivialDerivedDecorator___str__(self)
8805 
8806  def __repr__(self):
8807  r"""__repr__(_TrivialDerivedDecorator self) -> std::string"""
8808  return _IMP_kernel._TrivialDerivedDecorator___repr__(self)
8809 
8810  def _get_as_binary(self):
8811  r"""_get_as_binary(_TrivialDerivedDecorator self) -> PyObject *"""
8812  return _IMP_kernel._TrivialDerivedDecorator__get_as_binary(self)
8813 
8814  def _set_from_binary(self, p):
8815  r"""_set_from_binary(_TrivialDerivedDecorator self, PyObject * p)"""
8816  return _IMP_kernel._TrivialDerivedDecorator__set_from_binary(self, p)
8817 
8818  def __getstate__(self):
8819  p = self._get_as_binary()
8820  if len(self.__dict__) > 1:
8821  d = self.__dict__.copy()
8822  del d['this']
8823  p = (d, p)
8824  return p
8825 
8826  def __setstate__(self, p):
8827  if not hasattr(self, 'this'):
8828  self.__init__()
8829  if isinstance(p, tuple):
8830  d, p = p
8831  self.__dict__.update(d)
8832  return self._set_from_binary(p)
8833 
8834  __swig_destroy__ = _IMP_kernel.delete__TrivialDerivedDecorator
8835 
8836 # Register _TrivialDerivedDecorator in _IMP_kernel:
8837 _IMP_kernel._TrivialDerivedDecorator_swigregister(_TrivialDerivedDecorator)
8838 class _TrivialTraitsDecorator(Decorator):
8839  r"""Proxy of C++ IMP::internal::_TrivialTraitsDecorator class."""
8840 
8841  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8842 
8843  def get_decorator_traits(self):
8844  r"""get_decorator_traits(_TrivialTraitsDecorator self) -> StringKey"""
8845  return _IMP_kernel._TrivialTraitsDecorator_get_decorator_traits(self)
8846 
8847  @staticmethod
8848  def get_default_decorator_traits():
8849  r"""get_default_decorator_traits() -> StringKey"""
8850  return _IMP_kernel._TrivialTraitsDecorator_get_default_decorator_traits()
8851 
8852  def __init__(self, *args):
8853  r"""
8854  __init__(_TrivialTraitsDecorator self) -> _TrivialTraitsDecorator
8855  __init__(_TrivialTraitsDecorator self, Model m, ParticleIndex id, StringKey tr=get_default_key()) -> _TrivialTraitsDecorator
8856  __init__(_TrivialTraitsDecorator self, _ParticleAdaptor d, StringKey tr=get_default_key()) -> _TrivialTraitsDecorator
8857  """
8858  _IMP_kernel._TrivialTraitsDecorator_swiginit(self, _IMP_kernel.new__TrivialTraitsDecorator(*args))
8859 
8860  def show(self, *args):
8861  r"""show(_TrivialTraitsDecorator self, _ostream out=std::cout)"""
8862  return _IMP_kernel._TrivialTraitsDecorator_show(self, *args)
8863 
8864  @staticmethod
8865  def setup_particle(*args):
8866  r"""
8867  setup_particle(Model m, ParticleIndex pi, StringKey tr=IMP::internal::_TrivialTraitsDecorator::get_default_decorator_traits()) -> _TrivialTraitsDecorator
8868  setup_particle(_ParticleAdaptor d, StringKey tr=IMP::internal::_TrivialTraitsDecorator::get_default_decorator_traits()) -> _TrivialTraitsDecorator
8869  """
8870  return _IMP_kernel._TrivialTraitsDecorator_setup_particle(*args)
8871 
8872  @staticmethod
8873  def get_is_setup(*args):
8874  r"""
8875  get_is_setup(_ParticleAdaptor p, StringKey tr=get_default_key()) -> bool
8876  get_is_setup(Model m, ParticleIndex pi, StringKey k=get_default_key()) -> bool
8877  """
8878  return _IMP_kernel._TrivialTraitsDecorator_get_is_setup(*args)
8879 
8880  @staticmethod
8881  def get_default_key():
8882  r"""get_default_key() -> StringKey"""
8883  return _IMP_kernel._TrivialTraitsDecorator_get_default_key()
8884 
8885  def add_attribute(self, *args):
8886  r"""
8887  add_attribute(_TrivialTraitsDecorator self, FloatKey k, IMP::Float v, bool opt)
8888  add_attribute(_TrivialTraitsDecorator self, FloatKey a0, IMP::Float a1)
8889  add_attribute(_TrivialTraitsDecorator self, IntKey a0, IMP::Int a1)
8890  add_attribute(_TrivialTraitsDecorator self, FloatsKey a0, IMP::Floats a1)
8891  add_attribute(_TrivialTraitsDecorator self, IntsKey a0, IMP::Ints a1)
8892  add_attribute(_TrivialTraitsDecorator self, StringKey a0, IMP::String a1)
8893  add_attribute(_TrivialTraitsDecorator self, ParticleIndexKey a0, Particle a1)
8894  add_attribute(_TrivialTraitsDecorator self, ObjectKey a0, Object a1)
8895  add_attribute(_TrivialTraitsDecorator self, SparseFloatKey a0, IMP::Float a1)
8896  add_attribute(_TrivialTraitsDecorator self, SparseIntKey a0, IMP::Int a1)
8897  add_attribute(_TrivialTraitsDecorator self, SparseStringKey a0, IMP::String a1)
8898  add_attribute(_TrivialTraitsDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
8899  """
8900  return _IMP_kernel._TrivialTraitsDecorator_add_attribute(self, *args)
8901 
8902  def get_value(self, *args):
8903  r"""
8904  get_value(_TrivialTraitsDecorator self, FloatKey a0) -> IMP::Float
8905  get_value(_TrivialTraitsDecorator self, IntKey a0) -> IMP::Int
8906  get_value(_TrivialTraitsDecorator self, FloatsKey a0) -> IMP::Floats
8907  get_value(_TrivialTraitsDecorator self, IntsKey a0) -> IMP::Ints
8908  get_value(_TrivialTraitsDecorator self, StringKey a0) -> IMP::String
8909  get_value(_TrivialTraitsDecorator self, ParticleIndexKey a0) -> Particle
8910  get_value(_TrivialTraitsDecorator self, ObjectKey a0) -> Object
8911  get_value(_TrivialTraitsDecorator self, SparseFloatKey a0) -> IMP::Float
8912  get_value(_TrivialTraitsDecorator self, SparseIntKey a0) -> IMP::Int
8913  get_value(_TrivialTraitsDecorator self, SparseStringKey a0) -> IMP::String
8914  get_value(_TrivialTraitsDecorator self, SparseParticleIndexKey a0) -> ParticleIndex
8915  """
8916  return _IMP_kernel._TrivialTraitsDecorator_get_value(self, *args)
8917 
8918  def set_value(self, *args):
8919  r"""
8920  set_value(_TrivialTraitsDecorator self, FloatKey a0, IMP::Float a1)
8921  set_value(_TrivialTraitsDecorator self, IntKey a0, IMP::Int a1)
8922  set_value(_TrivialTraitsDecorator self, FloatsKey a0, IMP::Floats a1)
8923  set_value(_TrivialTraitsDecorator self, IntsKey a0, IMP::Ints a1)
8924  set_value(_TrivialTraitsDecorator self, StringKey a0, IMP::String a1)
8925  set_value(_TrivialTraitsDecorator self, ParticleIndexKey a0, Particle a1)
8926  set_value(_TrivialTraitsDecorator self, ObjectKey a0, Object a1)
8927  set_value(_TrivialTraitsDecorator self, SparseFloatKey a0, IMP::Float a1)
8928  set_value(_TrivialTraitsDecorator self, SparseIntKey a0, IMP::Int a1)
8929  set_value(_TrivialTraitsDecorator self, SparseStringKey a0, IMP::String a1)
8930  set_value(_TrivialTraitsDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
8931  """
8932  return _IMP_kernel._TrivialTraitsDecorator_set_value(self, *args)
8933 
8934  def remove_attribute(self, *args):
8935  r"""
8936  remove_attribute(_TrivialTraitsDecorator self, FloatKey a0)
8937  remove_attribute(_TrivialTraitsDecorator self, IntKey a0)
8938  remove_attribute(_TrivialTraitsDecorator self, FloatsKey a0)
8939  remove_attribute(_TrivialTraitsDecorator self, IntsKey a0)
8940  remove_attribute(_TrivialTraitsDecorator self, StringKey a0)
8941  remove_attribute(_TrivialTraitsDecorator self, ParticleIndexKey a0)
8942  remove_attribute(_TrivialTraitsDecorator self, ObjectKey a0)
8943  remove_attribute(_TrivialTraitsDecorator self, SparseFloatKey a0)
8944  remove_attribute(_TrivialTraitsDecorator self, SparseIntKey a0)
8945  remove_attribute(_TrivialTraitsDecorator self, SparseStringKey a0)
8946  remove_attribute(_TrivialTraitsDecorator self, SparseParticleIndexKey a0)
8947  """
8948  return _IMP_kernel._TrivialTraitsDecorator_remove_attribute(self, *args)
8949 
8950  def has_attribute(self, *args):
8951  r"""
8952  has_attribute(_TrivialTraitsDecorator self, FloatKey a0) -> bool
8953  has_attribute(_TrivialTraitsDecorator self, IntKey a0) -> bool
8954  has_attribute(_TrivialTraitsDecorator self, FloatsKey a0) -> bool
8955  has_attribute(_TrivialTraitsDecorator self, IntsKey a0) -> bool
8956  has_attribute(_TrivialTraitsDecorator self, StringKey a0) -> bool
8957  has_attribute(_TrivialTraitsDecorator self, ParticleIndexKey a0) -> bool
8958  has_attribute(_TrivialTraitsDecorator self, ObjectKey a0) -> bool
8959  has_attribute(_TrivialTraitsDecorator self, SparseFloatKey a0) -> bool
8960  has_attribute(_TrivialTraitsDecorator self, SparseIntKey a0) -> bool
8961  has_attribute(_TrivialTraitsDecorator self, SparseStringKey a0) -> bool
8962  has_attribute(_TrivialTraitsDecorator self, SparseParticleIndexKey a0) -> bool
8963  """
8964  return _IMP_kernel._TrivialTraitsDecorator_has_attribute(self, *args)
8965 
8966  def get_derivative(self, a0):
8967  r"""get_derivative(_TrivialTraitsDecorator self, FloatKey a0) -> double"""
8968  return _IMP_kernel._TrivialTraitsDecorator_get_derivative(self, a0)
8969 
8970  def get_name(self):
8971  r"""get_name(_TrivialTraitsDecorator self) -> std::string"""
8972  return _IMP_kernel._TrivialTraitsDecorator_get_name(self)
8973 
8974  def clear_caches(self):
8975  r"""clear_caches(_TrivialTraitsDecorator self)"""
8976  return _IMP_kernel._TrivialTraitsDecorator_clear_caches(self)
8977 
8978  def set_name(self, a0):
8979  r"""set_name(_TrivialTraitsDecorator self, std::string a0)"""
8980  return _IMP_kernel._TrivialTraitsDecorator_set_name(self, a0)
8981 
8982  def set_check_level(self, a0):
8983  r"""set_check_level(_TrivialTraitsDecorator self, IMP::CheckLevel a0)"""
8984  return _IMP_kernel._TrivialTraitsDecorator_set_check_level(self, a0)
8985 
8986  def add_to_derivative(self, a0, a1, a2):
8987  r"""add_to_derivative(_TrivialTraitsDecorator self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8988  return _IMP_kernel._TrivialTraitsDecorator_add_to_derivative(self, a0, a1, a2)
8989 
8990  def set_is_optimized(self, a0, a1):
8991  r"""set_is_optimized(_TrivialTraitsDecorator self, FloatKey a0, bool a1)"""
8992  return _IMP_kernel._TrivialTraitsDecorator_set_is_optimized(self, a0, a1)
8993 
8994  def get_is_optimized(self, a0):
8995  r"""get_is_optimized(_TrivialTraitsDecorator self, FloatKey a0) -> bool"""
8996  return _IMP_kernel._TrivialTraitsDecorator_get_is_optimized(self, a0)
8997 
8998  def get_check_level(self):
8999  r"""get_check_level(_TrivialTraitsDecorator self) -> IMP::CheckLevel"""
9000  return _IMP_kernel._TrivialTraitsDecorator_get_check_level(self)
9001 
9002  def __eq__(self, *args):
9003  r"""
9004  __eq__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
9005  __eq__(_TrivialTraitsDecorator self, Particle d) -> bool
9006  """
9007  return _IMP_kernel._TrivialTraitsDecorator___eq__(self, *args)
9008 
9009  def __ne__(self, *args):
9010  r"""
9011  __ne__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
9012  __ne__(_TrivialTraitsDecorator self, Particle d) -> bool
9013  """
9014  return _IMP_kernel._TrivialTraitsDecorator___ne__(self, *args)
9015 
9016  def __le__(self, *args):
9017  r"""
9018  __le__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
9019  __le__(_TrivialTraitsDecorator self, Particle d) -> bool
9020  """
9021  return _IMP_kernel._TrivialTraitsDecorator___le__(self, *args)
9022 
9023  def __lt__(self, *args):
9024  r"""
9025  __lt__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
9026  __lt__(_TrivialTraitsDecorator self, Particle d) -> bool
9027  """
9028  return _IMP_kernel._TrivialTraitsDecorator___lt__(self, *args)
9029 
9030  def __ge__(self, *args):
9031  r"""
9032  __ge__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
9033  __ge__(_TrivialTraitsDecorator self, Particle d) -> bool
9034  """
9035  return _IMP_kernel._TrivialTraitsDecorator___ge__(self, *args)
9036 
9037  def __gt__(self, *args):
9038  r"""
9039  __gt__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
9040  __gt__(_TrivialTraitsDecorator self, Particle d) -> bool
9041  """
9042  return _IMP_kernel._TrivialTraitsDecorator___gt__(self, *args)
9043 
9044  def __hash__(self):
9045  r"""__hash__(_TrivialTraitsDecorator self) -> std::size_t"""
9046  return _IMP_kernel._TrivialTraitsDecorator___hash__(self)
9047 
9048  def __str__(self):
9049  r"""__str__(_TrivialTraitsDecorator self) -> std::string"""
9050  return _IMP_kernel._TrivialTraitsDecorator___str__(self)
9051 
9052  def __repr__(self):
9053  r"""__repr__(_TrivialTraitsDecorator self) -> std::string"""
9054  return _IMP_kernel._TrivialTraitsDecorator___repr__(self)
9055  __swig_destroy__ = _IMP_kernel.delete__TrivialTraitsDecorator
9056 
9057 # Register _TrivialTraitsDecorator in _IMP_kernel:
9058 _IMP_kernel._TrivialTraitsDecorator_swigregister(_TrivialTraitsDecorator)
9059 
9060 def __lshift__(*args):
9061  r"""
9062  __lshift__(_ostream out, _TrivialDecorator n) -> _ostream
9063  __lshift__(_ostream out, _TrivialDerivedDecorator n) -> _ostream
9064  __lshift__(_ostream out, _TrivialTraitsDecorator n) -> _ostream
9065  """
9066  return _IMP_kernel.__lshift__(*args)
9067 class _ConstOptimizer(Optimizer):
9068  r"""Proxy of C++ IMP::internal::_ConstOptimizer class."""
9069 
9070  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9071 
9072  def __init__(self, *args):
9073  r"""
9074  __init__(_ConstOptimizer self, Model m) -> _ConstOptimizer
9075  __init__(_ConstOptimizer self) -> _ConstOptimizer
9076  """
9077  _IMP_kernel._ConstOptimizer_swiginit(self, _IMP_kernel.new__ConstOptimizer(*args))
9078 
9079  def do_optimize(self, max_steps):
9080  r"""do_optimize(_ConstOptimizer self, unsigned int max_steps) -> IMP::Float"""
9081  return _IMP_kernel._ConstOptimizer_do_optimize(self, max_steps)
9082 
9083  def get_version_info(self):
9084  r"""get_version_info(_ConstOptimizer self) -> VersionInfo"""
9085  return _IMP_kernel._ConstOptimizer_get_version_info(self)
9086  __swig_destroy__ = _IMP_kernel.delete__ConstOptimizer
9087 
9088  def __str__(self):
9089  r"""__str__(_ConstOptimizer self) -> std::string"""
9090  return _IMP_kernel._ConstOptimizer___str__(self)
9091 
9092  def __repr__(self):
9093  r"""__repr__(_ConstOptimizer self) -> std::string"""
9094  return _IMP_kernel._ConstOptimizer___repr__(self)
9095 
9096  @staticmethod
9097  def get_from(o):
9098  return _object_cast_to__ConstOptimizer(o)
9099 
9100 
9101  def _get_as_binary(self):
9102  r"""_get_as_binary(_ConstOptimizer self) -> PyObject *"""
9103  return _IMP_kernel._ConstOptimizer__get_as_binary(self)
9104 
9105  def _set_from_binary(self, p):
9106  r"""_set_from_binary(_ConstOptimizer self, PyObject * p)"""
9107  return _IMP_kernel._ConstOptimizer__set_from_binary(self, p)
9108 
9109  def __getstate__(self):
9110  p = self._get_as_binary()
9111  if len(self.__dict__) > 1:
9112  d = self.__dict__.copy()
9113  del d['this']
9114  p = (d, p)
9115  return p
9116 
9117  def __setstate__(self, p):
9118  if not hasattr(self, 'this'):
9119  self.__init__()
9120  if isinstance(p, tuple):
9121  d, p = p
9122  self.__dict__.update(d)
9123  return self._set_from_binary(p)
9124 
9125 
9126 # Register _ConstOptimizer in _IMP_kernel:
9127 _IMP_kernel._ConstOptimizer_swigregister(_ConstOptimizer)
9128 
9129 def get_particle(p):
9130  r"""get_particle(Particle p) -> Particle"""
9131  return _IMP_kernel.get_particle(p)
9132 
9133 def _decorator_test(p):
9134  r"""_decorator_test(Particle p)"""
9135  return _IMP_kernel._decorator_test(p)
9136 
9137 def _overloaded_decorator(*args):
9138  r"""
9139  _overloaded_decorator(_TrivialDecorator a) -> int
9140  _overloaded_decorator(_TrivialDerivedDecorator a) -> int
9141  """
9142  return _IMP_kernel._overloaded_decorator(*args)
9143 
9144 def _take_particles(*args):
9145  r"""
9146  _take_particles(IMP::Particles const & ps) -> unsigned int
9147  _take_particles(Model m, IMP::Particles const & ps) -> unsigned int
9148  _take_particles(Model m, IMP::Particles const & ps, TextOutput out) -> unsigned int
9149  """
9150  return _IMP_kernel._take_particles(*args)
9151 
9152 def _give_particles(m):
9153  r"""_give_particles(Model m) -> IMP::Particles const &"""
9154  return _IMP_kernel._give_particles(m)
9155 
9156 def _pass_particles(ps):
9157  r"""_pass_particles(IMP::Particles const & ps) -> IMP::Particles const &"""
9158  return _IMP_kernel._pass_particles(ps)
9159 
9160 def _pass_particle(ps):
9161  r"""_pass_particle(Particle ps) -> Particle"""
9162  return _IMP_kernel._pass_particle(ps)
9163 
9164 def _pass_particle_pair(pp):
9165  r"""_pass_particle_pair(IMP::ParticlePair const & pp) -> IMP::ParticlePair const &"""
9166  return _IMP_kernel._pass_particle_pair(pp)
9167 
9168 def _give_particles_copy(m):
9169  r"""_give_particles_copy(Model m) -> IMP::Particles"""
9170  return _IMP_kernel._give_particles_copy(m)
9171 
9172 def _pass_float_keys(input):
9173  r"""_pass_float_keys(IMP::FloatKeys const & input) -> IMP::FloatKeys"""
9174  return _IMP_kernel._pass_float_keys(input)
9175 
9176 def _pass(*args):
9177  r"""
9178  _pass(IMP::Particles const & p) -> IMP::Particles const
9179  _pass(IMP::Restraints const & p) -> IMP::Restraints const &
9180  """
9181  return _IMP_kernel._pass(*args)
9182 
9183 def _pass_decorators(p):
9184  r"""_pass_decorators(IMP::internal::_TrivialDecorators const & p) -> IMP::internal::_TrivialDecorators const &"""
9185  return _IMP_kernel._pass_decorators(p)
9186 
9187 def _pass_decorator_traits(p):
9188  r"""_pass_decorator_traits(IMP::internal::_TrivialTraitsDecorators const & p) -> IMP::internal::_TrivialTraitsDecorators const &"""
9189  return _IMP_kernel._pass_decorator_traits(p)
9190 
9191 def _pass_particle_pairs(p):
9192  r"""_pass_particle_pairs(IMP::ParticlePairsTemp const & p) -> IMP::ParticlePairsTemp"""
9193  return _IMP_kernel._pass_particle_pairs(p)
9194 
9195 def _pass_particle_index_pairs(p):
9196  r"""_pass_particle_index_pairs(IMP::ParticleIndexPairs const & p) -> IMP::ParticleIndexPairs"""
9197  return _IMP_kernel._pass_particle_index_pairs(p)
9198 
9199 def _pass_model_objects(p):
9200  r"""_pass_model_objects(IMP::ModelObjectsTemp const & p) -> IMP::ModelObjectsTemp"""
9201  return _IMP_kernel._pass_model_objects(p)
9202 
9203 def _pass_particles_temps(ps):
9204  r"""_pass_particles_temps(IMP::ParticlesTemps const & ps) -> IMP::ParticlesTemps"""
9205  return _IMP_kernel._pass_particles_temps(ps)
9206 
9207 def _test_overload(*args):
9208  r"""
9209  _test_overload(IMP::Particles const & ps) -> int
9210  _test_overload(IMP::Restraints const & ps) -> int
9211  """
9212  return _IMP_kernel._test_overload(*args)
9213 
9214 def _get_range(m, k):
9215  r"""_get_range(Model m, FloatKey k) -> IMP::FloatRange"""
9216  return _IMP_kernel._get_range(m, k)
9217 
9218 def _create_particles_from_pdb(name, m):
9219  r"""_create_particles_from_pdb(std::string name, Model m) -> IMP::ParticleIndexes"""
9220  return _IMP_kernel._create_particles_from_pdb(name, m)
9221 class _LogPairScore(PairScore):
9222  r"""Proxy of C++ IMP::internal::_LogPairScore class."""
9223 
9224  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9225  __repr__ = _swig_repr
9226 
9227  def __init__(self):
9228  r"""__init__(_LogPairScore self) -> _LogPairScore"""
9229  _IMP_kernel._LogPairScore_swiginit(self, _IMP_kernel.new__LogPairScore())
9230 
9231  def do_get_inputs(self, arg2, arg3):
9232  r"""do_get_inputs(_LogPairScore self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
9233  return _IMP_kernel._LogPairScore_do_get_inputs(self, arg2, arg3)
9234 
9235  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
9236  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"""
9237  return _IMP_kernel._LogPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
9238 
9239  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
9240  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"""
9241  return _IMP_kernel._LogPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
9242 
9243  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
9244  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"""
9245  return _IMP_kernel._LogPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
9246 
9247  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
9248  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"""
9249  return _IMP_kernel._LogPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
9250 
9251  def get_version_info(self):
9252  r"""get_version_info(_LogPairScore self) -> VersionInfo"""
9253  return _IMP_kernel._LogPairScore_get_version_info(self)
9254  __swig_destroy__ = _IMP_kernel.delete__LogPairScore
9255 
9256  def get_particle_pairs(self):
9257  r"""get_particle_pairs(_LogPairScore self) -> IMP::ParticlePairsTemp"""
9258  return _IMP_kernel._LogPairScore_get_particle_pairs(self)
9259 
9260  def clear(self):
9261  r"""clear(_LogPairScore self)"""
9262  return _IMP_kernel._LogPairScore_clear(self)
9263 
9264  def get_contains(self, pp):
9265  r"""get_contains(_LogPairScore self, IMP::ParticlePair const & pp) -> bool"""
9266  return _IMP_kernel._LogPairScore_get_contains(self, pp)
9267 
9268 # Register _LogPairScore in _IMP_kernel:
9269 _IMP_kernel._LogPairScore_swigregister(_LogPairScore)
9270 
9271 def _overloaded_particles(*args):
9272  r"""
9273  _overloaded_particles(Particle arg1)
9274  _overloaded_particles(IMP::Particles const & arg1)
9275  _overloaded_particles(IMP::ParticlesTemp const & arg1)
9276  _overloaded_particles(Model arg1, IMP::ParticleIndexes const & arg2)
9277  _overloaded_particles(IMP::internal::_TrivialDecorators const & arg1)
9278  _overloaded_particles(_TrivialDecorator arg1)
9279  """
9280  return _IMP_kernel._overloaded_particles(*args)
9281 class _ImplicitParticles(object):
9282  r"""Proxy of C++ IMP::internal::_ImplicitParticles class."""
9283 
9284  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9285  __repr__ = _swig_repr
9286 
9287  def __init__(self, *args):
9288  r"""
9289  __init__(_ImplicitParticles self, Particle arg2) -> _ImplicitParticles
9290  __init__(_ImplicitParticles self, IMP::Particles const & arg2) -> _ImplicitParticles
9291  __init__(_ImplicitParticles self, IMP::ParticlesTemp const & arg2) -> _ImplicitParticles
9292  __init__(_ImplicitParticles self, Model arg2, IMP::ParticleIndexes const & arg3) -> _ImplicitParticles
9293  __init__(_ImplicitParticles self, IMP::internal::_TrivialDecorators const & arg2) -> _ImplicitParticles
9294  __init__(_ImplicitParticles self, _TrivialDecorator arg2) -> _ImplicitParticles
9295  """
9296  _IMP_kernel._ImplicitParticles_swiginit(self, _IMP_kernel.new__ImplicitParticles(*args))
9297  __swig_destroy__ = _IMP_kernel.delete__ImplicitParticles
9298 
9299 # Register _ImplicitParticles in _IMP_kernel:
9300 _IMP_kernel._ImplicitParticles_swigregister(_ImplicitParticles)
9301 
9302 def _implicit_particles(arg1):
9303  r"""_implicit_particles(_ImplicitParticles arg1)"""
9304  return _IMP_kernel._implicit_particles(arg1)
9305 
9306 def _take_particle_adaptor(pa):
9307  r"""_take_particle_adaptor(_ParticleAdaptor pa) -> ParticleIndex"""
9308  return _IMP_kernel._take_particle_adaptor(pa)
9309 
9310 def _take_particle_indexes_adaptor(pa):
9311  r"""_take_particle_indexes_adaptor(_ParticleIndexesAdaptor pa) -> IMP::ParticleIndexes"""
9312  return _IMP_kernel._take_particle_indexes_adaptor(pa)
9313 class ScopedSetFloatAttribute(_RAII):
9314  r"""Proxy of C++ IMP::ScopedSetAttribute< IMP::FloatKey,IMP::Float > class."""
9315 
9316  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9317 
9318  def __init__(self, *args):
9319  r"""
9320  __init__(ScopedSetFloatAttribute self) -> ScopedSetFloatAttribute
9321  __init__(ScopedSetFloatAttribute self, Particle p, FloatKey key, double const & value) -> ScopedSetFloatAttribute
9322  """
9323  _IMP_kernel.ScopedSetFloatAttribute_swiginit(self, _IMP_kernel.new_ScopedSetFloatAttribute(*args))
9324 
9325  def set(self, p, key, value):
9326  r"""set(ScopedSetFloatAttribute self, Particle p, FloatKey key, double const & value)"""
9327  return _IMP_kernel.ScopedSetFloatAttribute_set(self, p, key, value)
9328 
9329  def reset(self):
9330  r"""reset(ScopedSetFloatAttribute self)"""
9331  return _IMP_kernel.ScopedSetFloatAttribute_reset(self)
9332  __swig_destroy__ = _IMP_kernel.delete_ScopedSetFloatAttribute
9333 
9334  def show(self, *args):
9335  r"""show(ScopedSetFloatAttribute self, _ostream out=std::cout)"""
9336  return _IMP_kernel.ScopedSetFloatAttribute_show(self, *args)
9337 
9338  def __str__(self):
9339  r"""__str__(ScopedSetFloatAttribute self) -> std::string"""
9340  return _IMP_kernel.ScopedSetFloatAttribute___str__(self)
9341 
9342  def __repr__(self):
9343  r"""__repr__(ScopedSetFloatAttribute self) -> std::string"""
9344  return _IMP_kernel.ScopedSetFloatAttribute___repr__(self)
9345 
9346 # Register ScopedSetFloatAttribute in _IMP_kernel:
9347 _IMP_kernel.ScopedSetFloatAttribute_swigregister(ScopedSetFloatAttribute)
9348 
9349 def _get_module_data_path(module, file_name):
9350  r"""_get_module_data_path(std::string module, std::string file_name) -> std::string"""
9351  return _IMP_kernel._get_module_data_path(module, file_name)
9352 
9353 def _get_module_example_path(module, file_name):
9354  r"""_get_module_example_path(std::string module, std::string file_name) -> std::string"""
9355  return _IMP_kernel._get_module_example_path(module, file_name)
9356 
9357 #used_modules=[]
9358 #def show_used_modules():
9359 # for m in used_modules:
9360 # print "%-20s %s" % (m.get_module(), m.get_version())
9361 
9362 # Ensure that Windows gets the PATH set to include anything in the library
9363 # search path
9364 if sys.platform == 'win32' and 'IMP_LD_PATH' in os.environ:
9365  dirs = os.environ['IMP_LD_PATH'].split(":")
9366  pathcomps = os.environ['PATH'].split(";")
9367  for d in dirs:
9368  if d not in pathcomps:
9369  os.environ['PATH'] = d + ';' + os.environ['PATH']
9370 
9371 
9372 
9373 import sys
9374 import os
9375 
9377  """Allow command line tools to easily implement multiple commands.
9378  Typically, an IMP command line tool will use an instance of this class
9379  to provide a consistent interface to multiple distinct commands
9380  from a single binary, rather than providing a potentially large
9381  number of binaries. This is similar to the way a number of common
9382  command line tools outside of IMP function (e.g. Git provides a single
9383  `git` tool which implements multiple commands - `git add`, `git commit`,
9384  `git push` and so on).
9385 
9386  Each command is implemented with a Python module of the same name
9387  that can be imported from the module (for example, if `module_name`
9388  is `IMP.foo`, the `bar` command is provided by the `IMP.foo.bar` Python
9389  module, which would usually be found as `modules/foo/pyext/src/bar.py`).
9390  Each such module should have a docstring and a `%main()` method
9391  that takes no arguments (the module should also call its `%main()` method
9392  if it is run directly, i.e. with something like
9393  `if __name__=="__main__": %main()`). The encompassing module
9394  (`IMP.foo` in the example) should define `_all_commands` as a Python
9395  list of all valid commands.
9396 
9397  See the `multifit` and `cnmultifit` command line tools for example
9398  usage.
9399  """
9400 
9401  def __init__(self, short_help, long_help, module_name):
9402  """Constructor.
9403  @param short_help A few words that describe the command line tool.
9404  @param long_help Longer text, used in the `help` command.
9405  @param module_name Name of the module (e.g. `IMP.foo`) that
9406  implements the commands.
9407  """
9408  self.short_help = short_help
9409  self.long_help = long_help
9410  self.module_name = module_name
9411  self._all_commands = self.import_module()._all_commands
9412  self._progname = os.path.basename(sys.argv[0])
9413 
9414  def main(self):
9415  """Call this method to act upon the user-provided command line"""
9416  if len(sys.argv) <= 1:
9417  print(self.short_help + " Use '%s help' for help." % self._progname)
9418  else:
9419  command = sys.argv[1]
9420  if command in ('help', '--help', '-h'):
9421  if len(sys.argv) == 3:
9422  self.show_command_help(sys.argv[2])
9423  else:
9424  self.show_help()
9425  elif command == '--version':
9426  self.show_version()
9427  elif command in self._all_commands:
9428  self.do_command(command)
9429  else:
9430  self.unknown_command(command)
9431 
9432  def import_module(self, mod=None):
9433  modname = self.module_name
9434  if mod is not None:
9435  modname += "." + mod
9436  return __import__(modname, {}, {}, [''])
9437 
9438  def unknown_command(self, command):
9439  print("Unknown command: '%s'" % command)
9440  print("Use '%s help' for help." % self._progname)
9441  sys.exit(1)
9442 
9443  def _get_version(self):
9444  return self.import_module().get_module_version()
9445 
9446  def show_version(self):
9447  print(self._progname + ' ' + self._get_version())
9448 
9449  def show_help(self):
9450  ver = self._get_version()
9451  print("%s, version %s." % (self._progname, ver))
9452  print(self.long_help + """
9453 
9454 This program is part of IMP, the Integrative Modeling Platform,
9455 which is %s.
9456 For additional information about IMP, see <https://integrativemodeling.org>.
9457 
9458 Usage: %s <command> [options] [args]
9459 
9460 Commands:""" % (get_copyright(), self._progname))
9461  commands = self._all_commands[:] + ['help']
9462  commands.sort()
9463  cmdlen = max([len(c) for c in commands])
9464  for c in commands:
9465  if c == 'help':
9466  doc = 'Get help on using %s.' % self._progname
9467  else:
9468  doc = self.import_module(c).__doc__ or "<no help>"
9469  c += ' ' * (cmdlen - len(c))
9470  print(' ' + c + ' ' + doc)
9471  print("""
9472 Use "%s help <command>" for detailed help on any command
9473  or "%s --version" to see the version number.""" % (self._progname,
9474  self._progname))
9475 
9476  def do_command(self, command):
9477  mod = self.import_module(command)
9478  sys.argv[0] = self._progname + ' ' + command
9479  del sys.argv[1]
9480  mod.main()
9481 
9482  def show_command_help(self, command):
9483  if command == 'help':
9484  self.show_help()
9485  elif command in self._all_commands or command == 'help':
9486  mod = self.import_module(command)
9487  sys.argv = [self._progname + ' ' + command, '--help']
9488  mod.main()
9489  else:
9490  self.unknown_command(command)
9491 
9492 
9493 
9494 
9495 def get_networkx_graph(ig):
9496  import networkx
9497  g = networkx.DiGraph()
9498  if len(ig.get_vertices()) == 0:
9499  return g
9500 
9501  class NodeWrapper:
9502 
9503  def __init__(self, p):
9504  self.p = p
9505 
9506  def __str__(self):
9507  return self.p.get_name()
9508 
9509  def __call__(self, name):
9510  return self.p.__call__(name)
9511 
9512  for vi in ig.get_vertices():
9513  n = ig.get_vertex_name(vi)
9514  g.add_node(NodeWrapper(n))
9515  for vi in ig.get_vertices():
9516  n = ig.get_vertex_name(vi)
9517  for ni in ig.get_out_neighbors(vi):
9518  nn = ig.get_vertex_name(ni)
9519  g.add_edge(NodeWrapper(n), NodeWrapper(nn))
9520  return g
9521 
9522 
9523 def show_altgraph(g):
9524  def clean(name):
9525  try:
9526  n0 = name.get_name()
9527  except:
9528  n0 = str(name)
9529  n1 = str(n0).replace('"', '')
9530  n2 = n1.replace("\n", '')
9531  return n2
9532  import altgraph
9533  from altgraph import Graph, Dot
9534  graph = Graph.Graph()
9535  for i, v in enumerate(g.get_vertices()):
9536  graph.add_node(i) # , node_data=g.get_vertex_name(v)
9537  for i, v in enumerate(g.get_vertices()):
9538  for n in g.get_out_neighbors(v):
9539  graph.add_edge(v, n)
9540  dot = Dot.Dot(graph) # , graph_type="digraph"
9541  for i, v in enumerate(g.get_vertices()):
9542  dot.node_style(i, label=clean(g.get_vertex_name(v)))
9543  dot.display()
9544 
9545 
9546 def show_graphviz(g):
9547  import subprocess
9548  tfn = create_temporary_file_name("graph", ".dot")
9549  tfon = create_temporary_file_name("graph", ".pdf")
9550  st = g.get_graphviz_string()
9551  with open(tfn, "w") as fh:
9552  fh.write(st)
9553  try:
9554  print("running dot")
9555  sp = subprocess.Popen(["dot", "-Tpdf", tfn, "-o" + tfon])
9556  sp.wait()
9557  except:
9558  import sys
9559  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")
9560  return
9561  import platform
9562  if platform.system() == "Darwin":
9563  cmd = ["open"]
9564  else:
9565  cmd = ["gv", "acroread", "xpdf"]
9566  success = False
9567  for c in cmd:
9568  print("launching viewer " + c)
9569  try:
9570  subprocess.check_call([c, tfon])
9571  success = True
9572  break
9573  except:
9574  pass
9575  if not success:
9576  print("Could not display file. It is saved at " + tfon)
9577  return tfon
9578 
9579 
9580 
9581 
9582 import functools
9583 import contextlib
9584 
9585 def deprecated_module(version, module, help_message):
9586  """Mark a Python module as deprecated.
9587  @note The `module` argument would normally be `__name__`.
9588  @see [deprecation support](@ref deprecation)."""
9590  "Module %s is deprecated. %s\n" % (module, help_message))
9591 
9592 def deprecated_object(version, help_message):
9593  """Python decorator to mark a class as deprecated.
9594  @see [deprecation support](@ref deprecation)."""
9595  def wrapper(obj):
9596  orig_init = obj.__init__
9597 # Don't try to copy __module__ since __init__ may not have it
9598 # (e.g. if we subclassed object but didn't override __init__)
9599  @functools.wraps(orig_init, ('__name__', '__doc__'))
9600  def __init__(obj, *args, **keys):
9601  handle_use_deprecated("Object %s is deprecated. %s\n"
9602  % (type(obj), help_message))
9603  orig_init(obj, *args, **keys)
9604  obj.__init__ = __init__
9605  return obj
9606  return wrapper
9607 
9608 def deprecated_method(version, help_message):
9609  """Python decorator to mark a method as deprecated.
9610  @see [deprecation support](@ref deprecation)."""
9611  def out_wrapper(obj):
9612  @functools.wraps(obj)
9613  def wrapper(cls, *args, **keys):
9614  handle_use_deprecated("Method %s in %s is deprecated. %s\n"
9615  % (obj.__name__, type(cls), help_message))
9616  return obj(cls, *args, **keys)
9617  return wrapper
9618  return out_wrapper
9619 
9620 def deprecated_function(version, help_message):
9621  """Python decorator to mark a function as deprecated.
9622  @see [deprecation support](@ref deprecation)."""
9623  def out_wrapper(obj):
9624  @functools.wraps(obj)
9625  def wrapper(*args, **keys):
9626  handle_use_deprecated("Function %s is deprecated. %s\n"
9627  % (obj.__name__, help_message))
9628  return obj(*args, **keys)
9629  return wrapper
9630  return out_wrapper
9631 
9632 @contextlib.contextmanager
9633 def allow_deprecated(allow=True):
9634  """Context manager to temporarily allow (or disallow) deprecated code.
9635  @see [deprecation support](@ref deprecation)."""
9637  set_deprecation_exceptions(not allow)
9638  yield
9640 
9641 
9642 def _get_all_flags(ntokens):
9643  r"""_get_all_flags(unsigned int ntokens) -> IMP::Strings"""
9644  return _IMP_kernel._get_all_flags(ntokens)
9645 
9646 def _print_internal_help(out, description):
9647  r"""_print_internal_help(_ostream out, std::string description)"""
9648  return _IMP_kernel._print_internal_help(out, description)
9649 
9650 
9651 import argparse
9652 import sys
9653 
9654 class _PassThroughAction(argparse.Action):
9655  """Pass an argument through to the IMP Boost parser"""
9656  def __call__(self, parser, namespace, values, option_string=None):
9657  parser._boost_command_line.append(option_string)
9658  if values != []:
9659  parser._boost_command_line.append(values)
9660 # Terminate processing immediately if necessary (otherwise argparse
9661 # may fail if we're missing positional arguments)
9662  if option_string in ('-h', '--help', '--help_advanced', '--version'):
9663  parser._handle_boost()
9664 
9665 
9666 class ArgumentParser(argparse.ArgumentParser):
9667  """IMP-specific subclass of argparse.ArgumentParser.
9668  This adds options common to all IMP applications
9669  (see IMP::setup_from_argv()).
9670  """
9671 
9672  def __init__(self, *args, **kwargs):
9673 # Don't add --help option (since the Boost option parser handles it)
9674  kwargs['add_help'] = False
9675  super().__init__(*args, **kwargs)
9676  for ntoken in (0, 1):
9677  flags = _get_all_flags(ntoken)
9678  for f in flags:
9679  arg = ['-h', '--help'] if f == 'help' else ['--' + f]
9680  self.add_argument(*arg, help=argparse.SUPPRESS,
9681  nargs=None if ntoken else 0,
9682  action=_PassThroughAction,
9683  default=argparse.SUPPRESS)
9684 
9685  def parse_args(self, args=None, namespace=None):
9686  """Parse the command line and return optional and positional arguments.
9687  This functions in the same way as the method in the base class
9688  argparse.ArgumentParser, except that it also processes optional
9689  arguments common to all IMP applications (these are not returned
9690  in `args`, but can be obtained in the usual way, e.g. by calling
9691  IMP::get_string_flag()).
9692  @returns args
9693  """
9694  self._boost_command_line = [sys.argv[0]]
9695  ret = super().parse_args(args, namespace)
9696  if len(self._boost_command_line) > 1:
9697  self._handle_boost()
9698  return ret
9699 
9700  def _get_description(self):
9701  return self.format_help() + "\nOptions common to all IMP applications:"
9702 
9703  def print_help(self, file=None):
9704  _print_internal_help(file if file else sys.stdout,
9705  self._get_description())
9706 
9707  def _handle_boost(self):
9708  setup_from_argv(self._boost_command_line,
9709  self._get_description(),
9710  '==SUPPRESS==', 0)
9711 
9712 class RandomNumberGenerator(object):
9713  r"""Proxy of C++ IMP::RandomNumberGenerator class."""
9714 
9715  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9716  __repr__ = _swig_repr
9717 
9718  def seed(self, x):
9719  r"""seed(RandomNumberGenerator self, int x)"""
9720  return _IMP_kernel.RandomNumberGenerator_seed(self, x)
9721 
9722  def __call__(self):
9723  r"""__call__(RandomNumberGenerator self) -> int"""
9724  return _IMP_kernel.RandomNumberGenerator___call__(self)
9725 
9726  def __init__(self):
9727  r"""__init__(RandomNumberGenerator self) -> RandomNumberGenerator"""
9728  _IMP_kernel.RandomNumberGenerator_swiginit(self, _IMP_kernel.new_RandomNumberGenerator())
9729  __swig_destroy__ = _IMP_kernel.delete_RandomNumberGenerator
9730 
9731 # Register RandomNumberGenerator in _IMP_kernel:
9732 _IMP_kernel.RandomNumberGenerator_swigregister(RandomNumberGenerator)
9733 
9734 def get_random_float_uniform(*args):
9735  r"""
9736  get_random_float_uniform() -> float
9737  get_random_float_uniform(float min, float max) -> float
9738  """
9739  return _IMP_kernel.get_random_float_uniform(*args)
9740 
9741 def get_random_double_uniform(*args):
9742  r"""
9743  get_random_double_uniform() -> double
9744  get_random_double_uniform(double min, double max) -> double
9745  """
9746  return _IMP_kernel.get_random_double_uniform(*args)
9747 
9748 def get_random_floats_normal(n, mean=0.0, stddev=1.0):
9749  r"""get_random_floats_normal(unsigned int n, float mean=0.0, float stddev=1.0) -> IMP::Vector< float,std::allocator< float > >"""
9750  return _IMP_kernel.get_random_floats_normal(n, mean, stddev)
9751 
9752 def get_random_doubles_normal(n, mean=0.0, stddev=1.0):
9753  r"""get_random_doubles_normal(unsigned int n, double mean=0.0, double stddev=1.0) -> IMP::Vector< double,std::allocator< double > >"""
9754  return _IMP_kernel.get_random_doubles_normal(n, mean, stddev)
9755 
9756 def get_random_floats_uniform(n):
9757  r"""get_random_floats_uniform(unsigned int n) -> IMP::Vector< float,std::allocator< float > >"""
9758  return _IMP_kernel.get_random_floats_uniform(n)
9759 
9760 def get_random_doubles_uniform(n):
9761  r"""get_random_doubles_uniform(unsigned int n) -> IMP::Vector< double,std::allocator< double > >"""
9762  return _IMP_kernel.get_random_doubles_uniform(n)
9763 
9764 def get_random_seed():
9765  r"""get_random_seed() -> boost::uint64_t"""
9766  return _IMP_kernel.get_random_seed()
9767 
9768 def _get_derivatives_numpy(m, k, m_pyobj, read_only):
9769  r"""_get_derivatives_numpy(Model m, FloatKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
9770  return _IMP_kernel._get_derivatives_numpy(m, k, m_pyobj, read_only)
9771 
9772 def _get_floats_numpy(m, k, m_pyobj, read_only):
9773  r"""_get_floats_numpy(Model m, FloatKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
9774  return _IMP_kernel._get_floats_numpy(m, k, m_pyobj, read_only)
9775 
9776 def _get_ints_numpy(m, k, m_pyobj, read_only):
9777  r"""_get_ints_numpy(Model m, IntKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
9778  return _IMP_kernel._get_ints_numpy(m, k, m_pyobj, read_only)
9779 
9780 def _get_vector3ds_numpy(m, k, m_pyobj, read_only):
9781  r"""_get_vector3ds_numpy(Model m, Vector3DKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
9782  return _IMP_kernel._get_vector3ds_numpy(m, k, m_pyobj, read_only)
9783 
9784 def _get_spheres_numpy(m, m_pyobj, read_only):
9785  r"""_get_spheres_numpy(Model m, PyObject * m_pyobj, bool read_only) -> PyObject *"""
9786  return _IMP_kernel._get_spheres_numpy(m, m_pyobj, read_only)
9787 
9788 def _get_sphere_derivatives_numpy(m, m_pyobj, read_only):
9789  r"""_get_sphere_derivatives_numpy(Model m, PyObject * m_pyobj, bool read_only) -> PyObject *"""
9790  return _IMP_kernel._get_sphere_derivatives_numpy(m, m_pyobj, read_only)
9791 
9792 try:
9793  import numpy
9794  ParticleIndex = numpy.intc
9795 except ImportError:
9796  pass
9797 
9798 
9799 def get_module_name():
9800  r"""get_module_name() -> std::string const"""
9801  return _IMP_kernel.get_module_name()
9802 
9803 def get_module_version():
9804  r"""get_module_version() -> std::string const"""
9805  return _IMP_kernel.get_module_version()
9806 
9807 def get_example_path(fname):
9808  r"""get_example_path(std::string fname) -> std::string"""
9809  return _IMP_kernel.get_example_path(fname)
9810 
9811 def get_data_path(fname):
9812  r"""get_data_path(std::string fname) -> std::string"""
9813  return _IMP_kernel.get_data_path(fname)
9814 
9815 from . import _version_check
9816 _version_check.check_version(get_module_version())
9817 __version__ = get_module_version()
9818 
9819 
9820 random_number_generator = cvar.random_number_generator
9821 
Particle * get_particle(ParticleIndex p) const
Get the particle from an index.
Definition: Model.h:496
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:5661
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:9376
CheckLevel get_check_level()
Get the current audit mode.
Definition: exception.h:80
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:9633
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:5683
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:843
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:9414
Key< 15 > SparseParticleIndexKey
The type used to identify sparse particle attributes in the Particles.
Definition: base_types.h:98
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:9585
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:172
bool get_bool_flag(std::string name)
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:9620
virtual ::IMP::VersionInfo get_version_info() const override
Get information about the module and version of the object.
Definition: Model.h:658
void remove_attribute(TypeKey attribute_key, ParticleIndex particle)
remove particle attribute with the specified key
Index< ParticleIndexTag > ParticleIndex
Definition: base_types.h:182
ParticlesTemp get_particles(Model *m, const ParticleIndexes &ps)
Get the particles from a list of indexes.
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:169
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:5706
void set_deprecation_warnings(bool tf)
Toggle printing of warnings on using deprecated classes.
def get_numpy
Get the model's attribute array for any type of Key k as a NumPy array.
Definition: __init__.py:5675
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:32
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)
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)
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:9608
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:9685
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
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:5700
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:9666
def get_derivatives_numpy
Get the model's attribute derivatives array for FloatKey k as a NumPy array.
Definition: __init__.py:5688
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:9592
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.
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.
Object(std::string name)
Construct an object with the given name.
Array< 2, WeakPointer< Particle >, Particle * > ParticlePair
Definition: base_types.h:163
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)
def __init__
Constructor.
Definition: __init__.py:9401
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:32
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:5693
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.