IMP logo
IMP Reference Guide  develop.1441b25730,2025/12/12
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-2025 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 _wrap_jax(self, score_func, keys=None):
4466  """Use in _get_jax() to wrap the JAX scoring function with other
4467  model- and restraint-specific information"""
4468  from IMP._jax_util import JaxInfo
4469  return JaxInfo(m=self.get_model(), score_func=score_func,
4470  weight=self.get_weight(), keys=keys)
4471 
4472 
4473  def __str__(self):
4474  r"""__str__(Restraint self) -> std::string"""
4475  return _IMP_kernel.Restraint___str__(self)
4476 
4477  def __repr__(self):
4478  r"""__repr__(Restraint self) -> std::string"""
4479  return _IMP_kernel.Restraint___repr__(self)
4480 
4481  @staticmethod
4482  def get_from(o):
4483  return _object_cast_to_Restraint(o)
4484 
4485 
4486  def do_show(self, out):
4487  pass
4488 
4489  @staticmethod
4490  def get_from(o):
4491  return _object_cast_to_Restraint(o)
4492 
4493  def __disown__(self):
4494  self.this.disown()
4495  _IMP_kernel.disown_Restraint(self)
4496  return weakref.proxy(self)
4497 
4498  def do_destroy(self):
4499  r"""do_destroy(Restraint self)"""
4500  return _IMP_kernel.Restraint_do_destroy(self)
4501 
4502  def handle_set_has_required_score_states(self, arg0):
4503  r"""handle_set_has_required_score_states(Restraint self, bool arg0)"""
4504  return _IMP_kernel.Restraint_handle_set_has_required_score_states(self, arg0)
4505 
4506  def do_get_inputs(self):
4507  r"""do_get_inputs(Restraint self) -> IMP::ModelObjectsTemp"""
4508  return _IMP_kernel.Restraint_do_get_inputs(self)
4509 
4510  def do_get_interactions(self):
4511  r"""do_get_interactions(Restraint self) -> IMP::ModelObjectsTemps"""
4512  return _IMP_kernel.Restraint_do_get_interactions(self)
4513 
4514 # Register Restraint in _IMP_kernel:
4515 _IMP_kernel.Restraint_swigregister(Restraint)
4516 class _RestraintsAdaptor(_InputAdaptor):
4517  r"""Proxy of C++ IMP::RestraintsAdaptor class."""
4518 
4519  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4520  __repr__ = _swig_repr
4521 
4522  def __init__(self, *args):
4523  r"""
4524  __init__(_RestraintsAdaptor self) -> _RestraintsAdaptor
4525  __init__(_RestraintsAdaptor self, IMP::Restraints const & sf) -> _RestraintsAdaptor
4526  __init__(_RestraintsAdaptor self, IMP::RestraintsTemp const & sf) -> _RestraintsAdaptor
4527  __init__(_RestraintsAdaptor self, Restraint sf) -> _RestraintsAdaptor
4528  """
4529  _IMP_kernel._RestraintsAdaptor_swiginit(self, _IMP_kernel.new__RestraintsAdaptor(*args))
4530  __swig_destroy__ = _IMP_kernel.delete__RestraintsAdaptor
4531 
4532 # Register _RestraintsAdaptor in _IMP_kernel:
4533 _IMP_kernel._RestraintsAdaptor_swigregister(_RestraintsAdaptor)
4534 class RestraintSet(Restraint):
4535  r"""Proxy of C++ IMP::RestraintSet class."""
4536 
4537  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4538 
4539  def __init__(self, *args):
4540  r"""
4541  __init__(RestraintSet self, Model m, double weight, std::string const & name="RestraintSet %1%") -> RestraintSet
4542  __init__(RestraintSet self, Model m, std::string const & name="RestraintSet %1%") -> RestraintSet
4543  __init__(RestraintSet self, IMP::RestraintsTemp const & rs, double weight, std::string const & name="RestraintSet %1%") -> RestraintSet
4544  __init__(RestraintSet self) -> RestraintSet
4545  """
4546  if self.__class__ == RestraintSet:
4547  _self = None
4548  else:
4549  _self = self
4550  _IMP_kernel.RestraintSet_swiginit(self, _IMP_kernel.new_RestraintSet(_self, *args))
4551 
4552  if self.__class__ != RestraintSet:
4553  _director_objects.register(self)
4554 
4555 
4556 
4557 
4558  def unprotected_evaluate(self, da):
4559  r"""unprotected_evaluate(RestraintSet self, DerivativeAccumulator da) -> double"""
4560  return _IMP_kernel.RestraintSet_unprotected_evaluate(self, da)
4561 
4562  def get_type_name(self):
4563  r"""get_type_name(RestraintSet self) -> std::string"""
4564  return _IMP_kernel.RestraintSet_get_type_name(self)
4565 
4566  def get_version_info(self):
4567  r"""get_version_info(RestraintSet self) -> VersionInfo"""
4568  return _IMP_kernel.RestraintSet_get_version_info(self)
4569  __swig_destroy__ = _IMP_kernel.delete_RestraintSet
4570  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)
4571  def __set_restraints(self, obj): _list_util.set_varlist(self.restraints, obj)
4572  def __del_restraints(self): _list_util.del_varlist(self.restraints)
4573  restraints = property(__get_restraints, __set_restraints, __del_restraints, doc="List of ##ucnames")
4574 
4575  def remove_restraint(self, d):
4576  r"""remove_restraint(RestraintSet self, Restraint d)"""
4577  return _IMP_kernel.RestraintSet_remove_restraint(self, d)
4578 
4579  def _python_index_restraint(self, d, start, stop):
4580  r"""_python_index_restraint(RestraintSet self, Restraint d, unsigned int start, unsigned int stop) -> unsigned int"""
4581  return _IMP_kernel.RestraintSet__python_index_restraint(self, d, start, stop)
4582 
4583  def remove_restraints(self, d):
4584  r"""remove_restraints(RestraintSet self, IMP::Restraints const & d)"""
4585  return _IMP_kernel.RestraintSet_remove_restraints(self, d)
4586 
4587  def set_restraints(self, ps):
4588  r"""set_restraints(RestraintSet self, IMP::Restraints const & ps)"""
4589  return _IMP_kernel.RestraintSet_set_restraints(self, ps)
4590 
4591  def set_restraints_order(self, objs):
4592  r"""set_restraints_order(RestraintSet self, IMP::Restraints const & objs)"""
4593  return _IMP_kernel.RestraintSet_set_restraints_order(self, objs)
4594 
4595  def add_restraint(self, obj):
4596  r"""add_restraint(RestraintSet self, Restraint obj) -> unsigned int"""
4597  return _IMP_kernel.RestraintSet_add_restraint(self, obj)
4598 
4599  def add_restraints(self, objs):
4600  r"""add_restraints(RestraintSet self, IMP::Restraints const & objs)"""
4601  return _IMP_kernel.RestraintSet_add_restraints(self, objs)
4602 
4603  def clear_restraints(self):
4604  r"""clear_restraints(RestraintSet self)"""
4605  return _IMP_kernel.RestraintSet_clear_restraints(self)
4606 
4607  def get_number_of_restraints(self):
4608  r"""get_number_of_restraints(RestraintSet self) -> unsigned int"""
4609  return _IMP_kernel.RestraintSet_get_number_of_restraints(self)
4610 
4611  def get_has_restraints(self):
4612  r"""get_has_restraints(RestraintSet self) -> bool"""
4613  return _IMP_kernel.RestraintSet_get_has_restraints(self)
4614 
4615  def get_restraint(self, i):
4616  r"""get_restraint(RestraintSet self, unsigned int i) -> Restraint"""
4617  return _IMP_kernel.RestraintSet_get_restraint(self, i)
4618 
4619  def get_restraints(self):
4620  r"""get_restraints(RestraintSet self) -> IMP::Restraints"""
4621  return _IMP_kernel.RestraintSet_get_restraints(self)
4622 
4623  def erase_restraint(self, i):
4624  r"""erase_restraint(RestraintSet self, unsigned int i)"""
4625  return _IMP_kernel.RestraintSet_erase_restraint(self, i)
4626 
4627  def reserve_restraints(self, sz):
4628  r"""reserve_restraints(RestraintSet self, unsigned int sz)"""
4629  return _IMP_kernel.RestraintSet_reserve_restraints(self, sz)
4630 
4631  def get_non_sets_and_sets(self):
4632  r"""get_non_sets_and_sets(RestraintSet self) -> std::pair< IMP::RestraintsTemp,IMP::RestraintSetsTemp >"""
4633  return _IMP_kernel.RestraintSet_get_non_sets_and_sets(self)
4634 
4635  def do_get_inputs(self):
4636  r"""do_get_inputs(RestraintSet self) -> IMP::ModelObjectsTemp"""
4637  return _IMP_kernel.RestraintSet_do_get_inputs(self)
4638 
4639  def create_scoring_function(self, *args):
4640  r"""create_scoring_function(RestraintSet self, double weight=1.0, double max=std::numeric_limits< double >::max()) -> ScoringFunction"""
4641  return _IMP_kernel.RestraintSet_create_scoring_function(self, *args)
4642 
4643  def get_last_score(self):
4644  r"""get_last_score(RestraintSet self) -> double"""
4645  return _IMP_kernel.RestraintSet_get_last_score(self)
4646 
4647  def __str__(self):
4648  r"""__str__(RestraintSet self) -> std::string"""
4649  return _IMP_kernel.RestraintSet___str__(self)
4650 
4651  def __repr__(self):
4652  r"""__repr__(RestraintSet self) -> std::string"""
4653  return _IMP_kernel.RestraintSet___repr__(self)
4654 
4655  @staticmethod
4656  def get_from(o):
4657  return _object_cast_to_RestraintSet(o)
4658 
4659 
4660  def do_show(self, out):
4661  pass
4662 
4663  @staticmethod
4664  def get_from(o):
4665  return _object_cast_to_RestraintSet(o)
4666 
4667 
4668  def _get_as_binary(self):
4669  r"""_get_as_binary(RestraintSet self) -> PyObject *"""
4670  return _IMP_kernel.RestraintSet__get_as_binary(self)
4671 
4672  def _set_from_binary(self, p):
4673  r"""_set_from_binary(RestraintSet self, PyObject * p)"""
4674  return _IMP_kernel.RestraintSet__set_from_binary(self, p)
4675 
4676  def __getstate__(self):
4677  p = self._get_as_binary()
4678  if len(self.__dict__) > 1:
4679  d = self.__dict__.copy()
4680  del d['this']
4681  p = (d, p)
4682  return p
4683 
4684  def __setstate__(self, p):
4685  if not hasattr(self, 'this'):
4686  self.__init__()
4687  if isinstance(p, tuple):
4688  d, p = p
4689  self.__dict__.update(d)
4690  return self._set_from_binary(p)
4691 
4692  def __disown__(self):
4693  self.this.disown()
4694  _IMP_kernel.disown_RestraintSet(self)
4695  return weakref.proxy(self)
4696 
4697  def do_destroy(self):
4698  r"""do_destroy(RestraintSet self)"""
4699  return _IMP_kernel.RestraintSet_do_destroy(self)
4700 
4701  def handle_set_has_required_score_states(self, arg0):
4702  r"""handle_set_has_required_score_states(RestraintSet self, bool arg0)"""
4703  return _IMP_kernel.RestraintSet_handle_set_has_required_score_states(self, arg0)
4704 
4705  def do_get_outputs(self):
4706  r"""do_get_outputs(RestraintSet self) -> IMP::ModelObjectsTemp"""
4707  return _IMP_kernel.RestraintSet_do_get_outputs(self)
4708 
4709  def do_get_interactions(self):
4710  r"""do_get_interactions(RestraintSet self) -> IMP::ModelObjectsTemps"""
4711  return _IMP_kernel.RestraintSet_do_get_interactions(self)
4712 
4713  def do_create_decomposition(self):
4714  r"""do_create_decomposition(RestraintSet self) -> IMP::Restraints"""
4715  return _IMP_kernel.RestraintSet_do_create_decomposition(self)
4716 
4717  def do_create_current_decomposition(self):
4718  r"""do_create_current_decomposition(RestraintSet self) -> IMP::Restraints"""
4719  return _IMP_kernel.RestraintSet_do_create_current_decomposition(self)
4720 
4721  def do_add_score_and_derivatives(self, sa):
4722  r"""do_add_score_and_derivatives(RestraintSet self, ScoreAccumulator sa)"""
4723  return _IMP_kernel.RestraintSet_do_add_score_and_derivatives(self, sa)
4724 
4725  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis):
4726  r"""do_add_score_and_derivatives_moved(RestraintSet self, ScoreAccumulator sa, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
4727  return _IMP_kernel.RestraintSet_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis)
4728 
4729 # Register RestraintSet in _IMP_kernel:
4730 _IMP_kernel.RestraintSet_swigregister(RestraintSet)
4731 
4732 def get_restraints(rs):
4733  r"""get_restraints(IMP::RestraintsTemp const & rs) -> IMP::RestraintsTemp"""
4734  return _IMP_kernel.get_restraints(rs)
4735 
4736 def _check_particle(p, a):
4737  if (not p.get_is_active()):
4738  raise ValueError("Inactive Particle")
4739  if (type(a)() == a):
4740  raise IndexError("Cannot use default Index")
4741  if (not p.has_attribute(a)):
4742  raise IndexError("Particle does not have attribute")
4743 
4744 class Particle(ModelObject):
4745  r"""Proxy of C++ IMP::Particle class."""
4746 
4747  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4748 
4749  def get_version_info(self):
4750  r"""get_version_info(Particle self) -> VersionInfo"""
4751  return _IMP_kernel.Particle_get_version_info(self)
4752  __swig_destroy__ = _IMP_kernel.delete_Particle
4753 
4754  def __init__(self, *args):
4755  r"""
4756  __init__(Particle self, Model m, std::string name) -> Particle
4757  __init__(Particle self, Model m) -> Particle
4758  __init__(Particle self) -> Particle
4759  """
4760  _IMP_kernel.Particle_swiginit(self, _IMP_kernel.new_Particle(*args))
4761 
4762  def get_float_keys(self):
4763  r"""get_float_keys(Particle self) -> IMP::FloatKeys"""
4764  return _IMP_kernel.Particle_get_float_keys(self)
4765 
4766  def get_floats_keys(self):
4767  r"""get_floats_keys(Particle self) -> IMP::FloatsKeys"""
4768  return _IMP_kernel.Particle_get_floats_keys(self)
4769 
4770  def get_int_keys(self):
4771  r"""get_int_keys(Particle self) -> IMP::IntKeys"""
4772  return _IMP_kernel.Particle_get_int_keys(self)
4773 
4774  def get_ints_keys(self):
4775  r"""get_ints_keys(Particle self) -> IMP::IntsKeys"""
4776  return _IMP_kernel.Particle_get_ints_keys(self)
4777 
4778  def get_string_keys(self):
4779  r"""get_string_keys(Particle self) -> IMP::StringKeys"""
4780  return _IMP_kernel.Particle_get_string_keys(self)
4781 
4782  def get_object_keys(self):
4783  r"""get_object_keys(Particle self) -> IMP::ObjectKeys"""
4784  return _IMP_kernel.Particle_get_object_keys(self)
4785 
4786  def add_cache_attribute(self, *args):
4787  r"""
4788  add_cache_attribute(Particle self, FloatKey name, IMP::Float value)
4789  add_cache_attribute(Particle self, FloatsKey name, IMP::Floats value)
4790  add_cache_attribute(Particle self, IntKey name, IMP::Int value)
4791  add_cache_attribute(Particle self, IntsKey name, IMP::Ints value)
4792  add_cache_attribute(Particle self, StringKey name, IMP::String value)
4793  add_cache_attribute(Particle self, ObjectKey name, Object value)
4794  add_cache_attribute(Particle self, IMP::WeakObjectKey name, Object value)
4795  """
4796  return _IMP_kernel.Particle_add_cache_attribute(self, *args)
4797 
4798  def get_weak_object_keys(self):
4799  r"""get_weak_object_keys(Particle self) -> IMP::WeakObjectKeys"""
4800  return _IMP_kernel.Particle_get_weak_object_keys(self)
4801 
4802  def add_to_derivative(self, key, value, da):
4803  r"""add_to_derivative(Particle self, FloatKey key, IMP::Float value, DerivativeAccumulator da)"""
4804  return _IMP_kernel.Particle_add_to_derivative(self, key, value, da)
4805 
4806  def set_is_optimized(self, k, tf):
4807  r"""set_is_optimized(Particle self, FloatKey k, bool tf)"""
4808  return _IMP_kernel.Particle_set_is_optimized(self, k, tf)
4809 
4810  def get_is_optimized(self, k):
4811  r"""get_is_optimized(Particle self, FloatKey k) -> bool"""
4812  return _IMP_kernel.Particle_get_is_optimized(self, k)
4813 
4814  def get_derivative(self, k):
4815  r"""get_derivative(Particle self, FloatKey k) -> IMP::Float"""
4816  return _IMP_kernel.Particle_get_derivative(self, k)
4817 
4818  def add_attribute(self, *args):
4819  r"""
4820  add_attribute(Particle self, FloatKey name, IMP::Float initial_value)
4821  add_attribute(Particle self, FloatsKey name, IMP::Floats initial_value)
4822  add_attribute(Particle self, IntKey name, IMP::Int initial_value)
4823  add_attribute(Particle self, IntsKey name, IMP::Ints initial_value)
4824  add_attribute(Particle self, StringKey name, IMP::String initial_value)
4825  add_attribute(Particle self, ObjectKey name, Object initial_value)
4826  add_attribute(Particle self, IMP::WeakObjectKey name, Object initial_value)
4827  add_attribute(Particle self, SparseStringKey name, IMP::String initial_value)
4828  add_attribute(Particle self, SparseIntKey name, IMP::Int initial_value)
4829  add_attribute(Particle self, SparseFloatKey name, IMP::Float initial_value)
4830  add_attribute(Particle self, SparseParticleIndexKey name, ParticleIndex initial_value)
4831  add_attribute(Particle self, FloatKey name, IMP::Float const initial_value, bool optimized)
4832  add_attribute(Particle self, ParticleIndexKey k, Particle v)
4833  """
4834  return _IMP_kernel.Particle_add_attribute(self, *args)
4835 
4836  def has_attribute(self, *args):
4837  r"""
4838  has_attribute(Particle self, FloatKey name) -> bool
4839  has_attribute(Particle self, FloatsKey name) -> bool
4840  has_attribute(Particle self, IntKey name) -> bool
4841  has_attribute(Particle self, IntsKey name) -> bool
4842  has_attribute(Particle self, StringKey name) -> bool
4843  has_attribute(Particle self, ObjectKey name) -> bool
4844  has_attribute(Particle self, IMP::WeakObjectKey name) -> bool
4845  has_attribute(Particle self, SparseStringKey name) -> bool
4846  has_attribute(Particle self, SparseIntKey name) -> bool
4847  has_attribute(Particle self, SparseFloatKey name) -> bool
4848  has_attribute(Particle self, SparseParticleIndexKey name) -> bool
4849  has_attribute(Particle self, ParticleIndexKey k) -> bool
4850  """
4851  return _IMP_kernel.Particle_has_attribute(self, *args)
4852 
4853  def set_value(self, *args):
4854  r"""
4855  set_value(Particle self, FloatKey name, IMP::Float value)
4856  set_value(Particle self, FloatsKey name, IMP::Floats value)
4857  set_value(Particle self, IntKey name, IMP::Int value)
4858  set_value(Particle self, IntsKey name, IMP::Ints value)
4859  set_value(Particle self, StringKey name, IMP::String value)
4860  set_value(Particle self, ObjectKey name, Object value)
4861  set_value(Particle self, IMP::WeakObjectKey name, Object value)
4862  set_value(Particle self, SparseStringKey name, IMP::String value)
4863  set_value(Particle self, SparseIntKey name, IMP::Int value)
4864  set_value(Particle self, SparseFloatKey name, IMP::Float value)
4865  set_value(Particle self, SparseParticleIndexKey name, ParticleIndex value)
4866  set_value(Particle self, ParticleIndexKey k, Particle v)
4867  """
4868  return _IMP_kernel.Particle_set_value(self, *args)
4869 
4870  def get_value(self, *args):
4871  r"""
4872  get_value(Particle self, FloatKey name) -> IMP::Float
4873  get_value(Particle self, FloatsKey name) -> IMP::Floats
4874  get_value(Particle self, IntKey name) -> IMP::Int
4875  get_value(Particle self, IntsKey name) -> IMP::Ints
4876  get_value(Particle self, StringKey name) -> IMP::String
4877  get_value(Particle self, ObjectKey name) -> Object
4878  get_value(Particle self, IMP::WeakObjectKey name) -> Object
4879  get_value(Particle self, SparseStringKey name) -> IMP::String
4880  get_value(Particle self, SparseIntKey name) -> IMP::Int
4881  get_value(Particle self, SparseFloatKey name) -> IMP::Float
4882  get_value(Particle self, SparseParticleIndexKey name) -> ParticleIndex
4883  get_value(Particle self, ParticleIndexKey k) -> Particle
4884  """
4885  return _IMP_kernel.Particle_get_value(self, *args)
4886 
4887  def remove_attribute(self, *args):
4888  r"""
4889  remove_attribute(Particle self, FloatKey name)
4890  remove_attribute(Particle self, FloatsKey name)
4891  remove_attribute(Particle self, IntKey name)
4892  remove_attribute(Particle self, IntsKey name)
4893  remove_attribute(Particle self, StringKey name)
4894  remove_attribute(Particle self, ObjectKey name)
4895  remove_attribute(Particle self, IMP::WeakObjectKey name)
4896  remove_attribute(Particle self, SparseStringKey name)
4897  remove_attribute(Particle self, SparseIntKey name)
4898  remove_attribute(Particle self, SparseFloatKey name)
4899  remove_attribute(Particle self, SparseParticleIndexKey name)
4900  remove_attribute(Particle self, ParticleIndexKey k)
4901  """
4902  return _IMP_kernel.Particle_remove_attribute(self, *args)
4903 
4904  def get_particle_keys(self):
4905  r"""get_particle_keys(Particle self) -> IMP::ParticleIndexKeys"""
4906  return _IMP_kernel.Particle_get_particle_keys(self)
4907 
4908  def show(self, *args):
4909  r"""show(Particle self, _ostream out=std::cout)"""
4910  return _IMP_kernel.Particle_show(self, *args)
4911 
4912  def get_is_active(self):
4913  r"""get_is_active(Particle self) -> bool"""
4914  return _IMP_kernel.Particle_get_is_active(self)
4915 
4916  def get_index(self):
4917  r"""get_index(Particle self) -> ParticleIndex"""
4918  return _IMP_kernel.Particle_get_index(self)
4919 
4920  def __eq__(self, *args):
4921  r"""
4922  __eq__(Particle self, Particle o) -> bool
4923  __eq__(Particle self, Decorator d) -> bool
4924  """
4925  return _IMP_kernel.Particle___eq__(self, *args)
4926 
4927  def __ne__(self, *args):
4928  r"""
4929  __ne__(Particle self, Particle o) -> bool
4930  __ne__(Particle self, Decorator d) -> bool
4931  """
4932  return _IMP_kernel.Particle___ne__(self, *args)
4933 
4934  def __le__(self, *args):
4935  r"""
4936  __le__(Particle self, Particle o) -> bool
4937  __le__(Particle self, Decorator d) -> bool
4938  """
4939  return _IMP_kernel.Particle___le__(self, *args)
4940 
4941  def __lt__(self, *args):
4942  r"""
4943  __lt__(Particle self, Particle o) -> bool
4944  __lt__(Particle self, Decorator d) -> bool
4945  """
4946  return _IMP_kernel.Particle___lt__(self, *args)
4947 
4948  def __ge__(self, *args):
4949  r"""
4950  __ge__(Particle self, Particle o) -> bool
4951  __ge__(Particle self, Decorator d) -> bool
4952  """
4953  return _IMP_kernel.Particle___ge__(self, *args)
4954 
4955  def __gt__(self, *args):
4956  r"""
4957  __gt__(Particle self, Particle o) -> bool
4958  __gt__(Particle self, Decorator d) -> bool
4959  """
4960  return _IMP_kernel.Particle___gt__(self, *args)
4961 
4962  __hash__ = ModelObject.__hash__
4963 
4964 
4965  def __str__(self):
4966  r"""__str__(Particle self) -> std::string"""
4967  return _IMP_kernel.Particle___str__(self)
4968 
4969  def __repr__(self):
4970  r"""__repr__(Particle self) -> std::string"""
4971  return _IMP_kernel.Particle___repr__(self)
4972 
4973  @staticmethod
4974  def get_from(o):
4975  return _object_cast_to_Particle(o)
4976 
4977 
4978  def _get_as_binary(self):
4979  r"""_get_as_binary(Particle self) -> PyObject *"""
4980  return _IMP_kernel.Particle__get_as_binary(self)
4981 
4982  def _set_from_binary(self, p):
4983  r"""_set_from_binary(Particle self, PyObject * p)"""
4984  return _IMP_kernel.Particle__set_from_binary(self, p)
4985 
4986  def __getstate__(self):
4987  p = self._get_as_binary()
4988  if len(self.__dict__) > 1:
4989  d = self.__dict__.copy()
4990  del d['this']
4991  p = (d, p)
4992  return p
4993 
4994  def __setstate__(self, p):
4995  if not hasattr(self, 'this'):
4996  self.__init__()
4997  if isinstance(p, tuple):
4998  d, p = p
4999  self.__dict__.update(d)
5000  return self._set_from_binary(p)
5001 
5002 
5003 # Register Particle in _IMP_kernel:
5004 _IMP_kernel.Particle_swigregister(Particle)
5005 class _ParticleAdaptor(_InputAdaptor):
5006  r"""Proxy of C++ IMP::ParticleAdaptor class."""
5007 
5008  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5009  __repr__ = _swig_repr
5010 
5011  def __init__(self, *args):
5012  r"""
5013  __init__(_ParticleAdaptor self) -> _ParticleAdaptor
5014  __init__(_ParticleAdaptor self, Particle p) -> _ParticleAdaptor
5015  __init__(_ParticleAdaptor self, Decorator d) -> _ParticleAdaptor
5016  """
5017  _IMP_kernel._ParticleAdaptor_swiginit(self, _IMP_kernel.new__ParticleAdaptor(*args))
5018 
5019  def get_model(self):
5020  r"""get_model(_ParticleAdaptor self) -> Model"""
5021  return _IMP_kernel._ParticleAdaptor_get_model(self)
5022 
5023  def get_particle_index(self):
5024  r"""get_particle_index(_ParticleAdaptor self) -> ParticleIndex"""
5025  return _IMP_kernel._ParticleAdaptor_get_particle_index(self)
5026  __swig_destroy__ = _IMP_kernel.delete__ParticleAdaptor
5027 
5028 # Register _ParticleAdaptor in _IMP_kernel:
5029 _IMP_kernel._ParticleAdaptor_swigregister(_ParticleAdaptor)
5030 class _DependencyGraphVertexIndex(object):
5031  r"""Proxy of C++ IMP::DependencyGraphVertexIndex class."""
5032 
5033  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5034  __repr__ = _swig_repr
5035 
5036  def __init__(self):
5037  r"""__init__(_DependencyGraphVertexIndex self) -> _DependencyGraphVertexIndex"""
5038  _IMP_kernel._DependencyGraphVertexIndex_swiginit(self, _IMP_kernel.new__DependencyGraphVertexIndex())
5039  __swig_destroy__ = _IMP_kernel.delete__DependencyGraphVertexIndex
5040 
5041 # Register _DependencyGraphVertexIndex in _IMP_kernel:
5042 _IMP_kernel._DependencyGraphVertexIndex_swigregister(_DependencyGraphVertexIndex)
5043 
5044 def show_as_graphviz(name, out):
5045  r"""show_as_graphviz(IMP::DependencyGraph const & name, TextOutput out)"""
5046  return _IMP_kernel.show_as_graphviz(name, out)
5047 
5048 def get_vertex_index(g):
5049  r"""get_vertex_index(IMP::DependencyGraph const & g) -> _DependencyGraphVertexIndex"""
5050  return _IMP_kernel.get_vertex_index(g)
5051 
5052 def get_dependency_graph(m):
5053  r"""get_dependency_graph(Model m) -> IMP::DependencyGraph"""
5054  return _IMP_kernel.get_dependency_graph(m)
5055 
5057  r"""get_pruned_dependency_graph(Model m) -> IMP::DependencyGraph"""
5058  return _IMP_kernel.get_pruned_dependency_graph(m)
5059 
5060 def get_dependent_particles(p, all, dg, index):
5061  r"""get_dependent_particles(ModelObject p, IMP::ModelObjectsTemp const & all, IMP::DependencyGraph const & dg, _DependencyGraphVertexIndex index) -> IMP::ParticlesTemp"""
5062  return _IMP_kernel.get_dependent_particles(p, all, dg, index)
5063 
5064 def get_required_score_states(*args):
5065  r"""
5066  get_required_score_states(IMP::ModelObjectsTemp const & mos, IMP::ScoreStatesTemp exclude=IMP::ScoreStatesTemp()) -> IMP::ScoreStatesTemp
5067  get_required_score_states(ModelObject p, IMP::ModelObjectsTemp const & all, IMP::DependencyGraph const & dg, _DependencyGraphVertexIndex index) -> IMP::ScoreStatesTemp
5068  get_required_score_states(Model m, ParticleIndex pi) -> IMP::ScoreStatesTemp
5069  """
5070  return _IMP_kernel.get_required_score_states(*args)
5071 class ScoringFunction(ModelObject):
5072  r"""Proxy of C++ IMP::ScoringFunction class."""
5073 
5074  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5075 
5076  def do_add_score_and_derivatives(self, sa, ss):
5077  r"""do_add_score_and_derivatives(ScoringFunction self, ScoreAccumulator sa, IMP::ScoreStatesTemp const & ss)"""
5078  return _IMP_kernel.ScoringFunction_do_add_score_and_derivatives(self, sa, ss)
5079 
5080  def do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss):
5081  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)"""
5082  return _IMP_kernel.ScoringFunction_do_add_score_and_derivatives_moved(self, sa, moved_pis, reset_pis, ss)
5083 
5084  def get_score_accumulator_if_below(self, deriv, max):
5085  r"""get_score_accumulator_if_below(ScoringFunction self, bool deriv, double max) -> ScoreAccumulator"""
5086  return _IMP_kernel.ScoringFunction_get_score_accumulator_if_below(self, deriv, max)
5087 
5088  def get_score_accumulator_if_good(self, deriv):
5089  r"""get_score_accumulator_if_good(ScoringFunction self, bool deriv) -> ScoreAccumulator"""
5090  return _IMP_kernel.ScoringFunction_get_score_accumulator_if_good(self, deriv)
5091 
5092  def get_score_accumulator(self, deriv):
5093  r"""get_score_accumulator(ScoringFunction self, bool deriv) -> ScoreAccumulator"""
5094  return _IMP_kernel.ScoringFunction_get_score_accumulator(self, deriv)
5095 
5096  def __init__(self, *args):
5097  r"""
5098  __init__(ScoringFunction self, Model m, std::string name) -> ScoringFunction
5099  __init__(ScoringFunction self) -> ScoringFunction
5100  """
5101  if self.__class__ == ScoringFunction:
5102  _self = None
5103  else:
5104  _self = self
5105  _IMP_kernel.ScoringFunction_swiginit(self, _IMP_kernel.new_ScoringFunction(_self, *args))
5106 
5107  if self.__class__ != ScoringFunction:
5108  _director_objects.register(self)
5109 
5110 
5111 
5112 
5113  def do_get_outputs(self):
5114  r"""do_get_outputs(ScoringFunction self) -> IMP::ModelObjectsTemp"""
5115  return _IMP_kernel.ScoringFunction_do_get_outputs(self)
5116 
5117  def evaluate(self, derivatives):
5118  r"""evaluate(ScoringFunction self, bool derivatives) -> double"""
5119  return _IMP_kernel.ScoringFunction_evaluate(self, derivatives)
5120 
5121  def evaluate_if_good(self, derivatives):
5122  r"""evaluate_if_good(ScoringFunction self, bool derivatives) -> double"""
5123  return _IMP_kernel.ScoringFunction_evaluate_if_good(self, derivatives)
5124 
5125  def evaluate_if_below(self, derivatives, max):
5126  r"""evaluate_if_below(ScoringFunction self, bool derivatives, double max) -> double"""
5127  return _IMP_kernel.ScoringFunction_evaluate_if_below(self, derivatives, max)
5128 
5129  def evaluate_moved(self, derivatives, moved_pis, reset_pis):
5130  r"""evaluate_moved(ScoringFunction self, bool derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double"""
5131  return _IMP_kernel.ScoringFunction_evaluate_moved(self, derivatives, moved_pis, reset_pis)
5132 
5133  def evaluate_moved_if_below(self, derivatives, moved_pis, reset_pis, max):
5134  r"""evaluate_moved_if_below(ScoringFunction self, bool derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis, double max) -> double"""
5135  return _IMP_kernel.ScoringFunction_evaluate_moved_if_below(self, derivatives, moved_pis, reset_pis, max)
5136 
5137  def evaluate_moved_if_good(self, derivatives, moved_pis, reset_pis):
5138  r"""evaluate_moved_if_good(ScoringFunction self, bool derivatives, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis) -> double"""
5139  return _IMP_kernel.ScoringFunction_evaluate_moved_if_good(self, derivatives, moved_pis, reset_pis)
5140 
5141  def get_had_good_score(self):
5142  r"""get_had_good_score(ScoringFunction self) -> bool"""
5143  return _IMP_kernel.ScoringFunction_get_had_good_score(self)
5144 
5145  def get_last_score(self):
5146  r"""get_last_score(ScoringFunction self) -> double"""
5147  return _IMP_kernel.ScoringFunction_get_last_score(self)
5148 
5149  def create_restraints(self):
5150  r"""create_restraints(ScoringFunction self) -> IMP::Restraints"""
5151  return _IMP_kernel.ScoringFunction_create_restraints(self)
5152 
5153  def __str__(self):
5154  r"""__str__(ScoringFunction self) -> std::string"""
5155  return _IMP_kernel.ScoringFunction___str__(self)
5156 
5157  def __repr__(self):
5158  r"""__repr__(ScoringFunction self) -> std::string"""
5159  return _IMP_kernel.ScoringFunction___repr__(self)
5160 
5161  @staticmethod
5162  def get_from(o):
5163  return _object_cast_to_ScoringFunction(o)
5164 
5165 
5166  def do_show(self, out):
5167  pass
5168 
5169  @staticmethod
5170  def get_from(o):
5171  return _object_cast_to_ScoringFunction(o)
5172 
5173  __swig_destroy__ = _IMP_kernel.delete_ScoringFunction
5174  def __disown__(self):
5175  self.this.disown()
5176  _IMP_kernel.disown_ScoringFunction(self)
5177  return weakref.proxy(self)
5178 
5179  def do_destroy(self):
5180  r"""do_destroy(ScoringFunction self)"""
5181  return _IMP_kernel.ScoringFunction_do_destroy(self)
5182 
5183  def handle_set_has_required_score_states(self, arg0):
5184  r"""handle_set_has_required_score_states(ScoringFunction self, bool arg0)"""
5185  return _IMP_kernel.ScoringFunction_handle_set_has_required_score_states(self, arg0)
5186 
5187  def do_get_inputs(self):
5188  r"""do_get_inputs(ScoringFunction self) -> IMP::ModelObjectsTemp"""
5189  return _IMP_kernel.ScoringFunction_do_get_inputs(self)
5190 
5191  def do_get_interactions(self):
5192  r"""do_get_interactions(ScoringFunction self) -> IMP::ModelObjectsTemps"""
5193  return _IMP_kernel.ScoringFunction_do_get_interactions(self)
5194 
5195 # Register ScoringFunction in _IMP_kernel:
5196 _IMP_kernel.ScoringFunction_swigregister(ScoringFunction)
5197 
5198 def create_decomposition(*args):
5199  r"""
5200  create_decomposition(IMP::RestraintsTemp const & rs) -> IMP::Restraints
5201  create_decomposition(ScoringFunction sf) -> IMP::ScoringFunctions
5202  """
5203  return _IMP_kernel.create_decomposition(*args)
5204 class _ScoringFunctionAdaptor(_InputAdaptor):
5205  r"""Proxy of C++ IMP::ScoringFunctionAdaptor class."""
5206 
5207  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5208  __repr__ = _swig_repr
5209 
5210  def __init__(self, *args):
5211  r"""
5212  __init__(_ScoringFunctionAdaptor self) -> _ScoringFunctionAdaptor
5213  __init__(_ScoringFunctionAdaptor self, ScoringFunction sf) -> _ScoringFunctionAdaptor
5214  __init__(_ScoringFunctionAdaptor self, IMP::RestraintsTemp const & sf) -> _ScoringFunctionAdaptor
5215  __init__(_ScoringFunctionAdaptor self, IMP::Restraints const & sf) -> _ScoringFunctionAdaptor
5216  __init__(_ScoringFunctionAdaptor self, Restraint sf) -> _ScoringFunctionAdaptor
5217  """
5218  _IMP_kernel._ScoringFunctionAdaptor_swiginit(self, _IMP_kernel.new__ScoringFunctionAdaptor(*args))
5219  __swig_destroy__ = _IMP_kernel.delete__ScoringFunctionAdaptor
5220 
5221 # Register _ScoringFunctionAdaptor in _IMP_kernel:
5222 _IMP_kernel._ScoringFunctionAdaptor_swigregister(_ScoringFunctionAdaptor)
5223 
5224 def show_restraint_hierarchy(*args):
5225  r"""show_restraint_hierarchy(_ScoringFunctionAdaptor rs, _ostream out=std::cout)"""
5226  return _IMP_kernel.show_restraint_hierarchy(*args)
5227 class Undecorator(Object):
5228  r"""Proxy of C++ IMP::Undecorator class."""
5229 
5230  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5231 
5232  def __init__(self, m, name):
5233  r"""__init__(Undecorator self, Model m, std::string name) -> Undecorator"""
5234  if self.__class__ == Undecorator:
5235  _self = None
5236  else:
5237  _self = self
5238  _IMP_kernel.Undecorator_swiginit(self, _IMP_kernel.new_Undecorator(_self, m, name))
5239 
5240  if self.__class__ != Undecorator:
5241  _director_objects.register(self)
5242 
5243 
5244 
5245 
5246  def teardown(self, pi):
5247  r"""teardown(Undecorator self, ParticleIndex pi)"""
5248  return _IMP_kernel.Undecorator_teardown(self, pi)
5249 
5250  def __str__(self):
5251  r"""__str__(Undecorator self) -> std::string"""
5252  return _IMP_kernel.Undecorator___str__(self)
5253 
5254  def __repr__(self):
5255  r"""__repr__(Undecorator self) -> std::string"""
5256  return _IMP_kernel.Undecorator___repr__(self)
5257 
5258  @staticmethod
5259  def get_from(o):
5260  return _object_cast_to_Undecorator(o)
5261 
5262 
5263  def do_show(self, out):
5264  pass
5265 
5266  @staticmethod
5267  def get_from(o):
5268  return _object_cast_to_Undecorator(o)
5269 
5270  __swig_destroy__ = _IMP_kernel.delete_Undecorator
5271  def __disown__(self):
5272  self.this.disown()
5273  _IMP_kernel.disown_Undecorator(self)
5274  return weakref.proxy(self)
5275 
5276  def do_destroy(self):
5277  r"""do_destroy(Undecorator self)"""
5278  return _IMP_kernel.Undecorator_do_destroy(self)
5279 
5280 # Register Undecorator in _IMP_kernel:
5281 _IMP_kernel.Undecorator_swigregister(Undecorator)
5282 class Model(Object):
5283  r"""Proxy of C++ IMP::Model class."""
5284 
5285  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5286 
5287  def __init__(self, *args):
5288  r"""__init__(Model self, std::string name="Model %1%") -> Model"""
5289  _IMP_kernel.Model_swiginit(self, _IMP_kernel.new_Model(*args))
5290 
5291  if self not in _models_set:
5292  _models_set.add(self)
5293 
5294 
5295 
5296 
5297  def clear_particle_caches(self, pi):
5298  r"""clear_particle_caches(Model self, ParticleIndex pi)"""
5299  return _IMP_kernel.Model_clear_particle_caches(self, pi)
5300 
5301  def add_particle(self, name):
5302  r"""add_particle(Model self, std::string name) -> ParticleIndex"""
5303  return _IMP_kernel.Model_add_particle(self, name)
5304 
5305  def get_particle_name(self, pi):
5306  r"""get_particle_name(Model self, ParticleIndex pi) -> std::string"""
5307  return _IMP_kernel.Model_get_particle_name(self, pi)
5308 
5309  def add_undecorator(self, pi, d):
5310  r"""add_undecorator(Model self, ParticleIndex pi, Undecorator d)"""
5311  return _IMP_kernel.Model_add_undecorator(self, pi, d)
5312 
5313  def get_dependent_restraints_uncached(self, pi):
5314  r"""get_dependent_restraints_uncached(Model self, ParticleIndex pi) -> IMP::RestraintsTemp"""
5315  return _IMP_kernel.Model_get_dependent_restraints_uncached(self, pi)
5316 
5317  def get_dependent_particles_uncached(self, pi):
5318  r"""get_dependent_particles_uncached(Model self, ParticleIndex pi) -> IMP::ParticlesTemp"""
5319  return _IMP_kernel.Model_get_dependent_particles_uncached(self, pi)
5320 
5321  def get_dependent_score_states_uncached(self, pi):
5322  r"""get_dependent_score_states_uncached(Model self, ParticleIndex pi) -> IMP::ScoreStatesTemp"""
5323  return _IMP_kernel.Model_get_dependent_score_states_uncached(self, pi)
5324  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)
5325  def __set_score_states(self, obj): _list_util.set_varlist(self.score_states, obj)
5326  def __del_score_states(self): _list_util.del_varlist(self.score_states)
5327  score_states = property(__get_score_states, __set_score_states, __del_score_states, doc="List of ##ucnames")
5328 
5329  def remove_score_state(self, d):
5330  r"""remove_score_state(Model self, ScoreState d)"""
5331  return _IMP_kernel.Model_remove_score_state(self, d)
5332 
5333  def _python_index_score_state(self, d, start, stop):
5334  r"""_python_index_score_state(Model self, ScoreState d, unsigned int start, unsigned int stop) -> unsigned int"""
5335  return _IMP_kernel.Model__python_index_score_state(self, d, start, stop)
5336 
5337  def remove_score_states(self, d):
5338  r"""remove_score_states(Model self, IMP::ScoreStates const & d)"""
5339  return _IMP_kernel.Model_remove_score_states(self, d)
5340 
5341  def set_score_states(self, ps):
5342  r"""set_score_states(Model self, IMP::ScoreStates const & ps)"""
5343  return _IMP_kernel.Model_set_score_states(self, ps)
5344 
5345  def set_score_states_order(self, objs):
5346  r"""set_score_states_order(Model self, IMP::ScoreStates const & objs)"""
5347  return _IMP_kernel.Model_set_score_states_order(self, objs)
5348 
5349  def add_score_state(self, obj):
5350  r"""add_score_state(Model self, ScoreState obj) -> unsigned int"""
5351  return _IMP_kernel.Model_add_score_state(self, obj)
5352 
5353  def add_score_states(self, objs):
5354  r"""add_score_states(Model self, IMP::ScoreStates const & objs)"""
5355  return _IMP_kernel.Model_add_score_states(self, objs)
5356 
5357  def clear_score_states(self):
5358  r"""clear_score_states(Model self)"""
5359  return _IMP_kernel.Model_clear_score_states(self)
5360 
5361  def get_number_of_score_states(self):
5362  r"""get_number_of_score_states(Model self) -> unsigned int"""
5363  return _IMP_kernel.Model_get_number_of_score_states(self)
5364 
5365  def get_has_score_states(self):
5366  r"""get_has_score_states(Model self) -> bool"""
5367  return _IMP_kernel.Model_get_has_score_states(self)
5368 
5369  def get_score_state(self, i):
5370  r"""get_score_state(Model self, unsigned int i) -> ScoreState"""
5371  return _IMP_kernel.Model_get_score_state(self, i)
5372 
5373  def get_score_states(self):
5374  r"""get_score_states(Model self) -> IMP::ScoreStates"""
5375  return _IMP_kernel.Model_get_score_states(self)
5376 
5377  def erase_score_state(self, i):
5378  r"""erase_score_state(Model self, unsigned int i)"""
5379  return _IMP_kernel.Model_erase_score_state(self, i)
5380 
5381  def reserve_score_states(self, sz):
5382  r"""reserve_score_states(Model self, unsigned int sz)"""
5383  return _IMP_kernel.Model_reserve_score_states(self, sz)
5384 
5385  def update(self):
5386  r"""update(Model self)"""
5387  return _IMP_kernel.Model_update(self)
5388 
5389  def add_cache_attribute(self, *args):
5390  r"""
5391  add_cache_attribute(Model self, FloatKey attribute_key, ParticleIndex particle, IMP::Float value)
5392  add_cache_attribute(Model self, IntKey attribute_key, ParticleIndex particle, IMP::Int value)
5393  add_cache_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle, IMP::Floats value)
5394  add_cache_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle, IMP::algebra::Vector3D value)
5395  add_cache_attribute(Model self, IntsKey attribute_key, ParticleIndex particle, IMP::Ints value)
5396  add_cache_attribute(Model self, StringKey attribute_key, ParticleIndex particle, IMP::String value)
5397  add_cache_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle, IMP::ParticleIndexes value)
5398  add_cache_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
5399  add_cache_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle, Object value)
5400  add_cache_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle, Object value)
5401  """
5402  return _IMP_kernel.Model_add_cache_attribute(self, *args)
5403 
5404  def add_attribute(self, *args):
5405  r"""
5406  add_attribute(Model self, FloatKey attribute_key, ParticleIndex particle, IMP::Float value)
5407  add_attribute(Model self, IntKey attribute_key, ParticleIndex particle, IMP::Int value)
5408  add_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle, IMP::Floats value)
5409  add_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle, IMP::algebra::Vector3D value)
5410  add_attribute(Model self, IntsKey attribute_key, ParticleIndex particle, IMP::Ints value)
5411  add_attribute(Model self, StringKey attribute_key, ParticleIndex particle, IMP::String value)
5412  add_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle, IMP::ParticleIndexes value)
5413  add_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
5414  add_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle, Object value)
5415  add_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle, Object value)
5416  add_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle, IMP::String value)
5417  add_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle, IMP::Int value)
5418  add_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle, IMP::Float value)
5419  add_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
5420  """
5421  return _IMP_kernel.Model_add_attribute(self, *args)
5422 
5423  def remove_attribute(self, *args):
5424  r"""
5425  remove_attribute(Model self, FloatKey attribute_key, ParticleIndex particle)
5426  remove_attribute(Model self, IntKey attribute_key, ParticleIndex particle)
5427  remove_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle)
5428  remove_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle)
5429  remove_attribute(Model self, IntsKey attribute_key, ParticleIndex particle)
5430  remove_attribute(Model self, StringKey attribute_key, ParticleIndex particle)
5431  remove_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle)
5432  remove_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle)
5433  remove_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle)
5434  remove_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle)
5435  remove_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle)
5436  remove_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle)
5437  remove_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle)
5438  remove_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle)
5439  """
5440  return _IMP_kernel.Model_remove_attribute(self, *args)
5441 
5442  def get_has_attribute(self, *args):
5443  r"""
5444  get_has_attribute(Model self, FloatKey attribute_key, ParticleIndex particle) -> bool
5445  get_has_attribute(Model self, IntKey attribute_key, ParticleIndex particle) -> bool
5446  get_has_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle) -> bool
5447  get_has_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle) -> bool
5448  get_has_attribute(Model self, IntsKey attribute_key, ParticleIndex particle) -> bool
5449  get_has_attribute(Model self, StringKey attribute_key, ParticleIndex particle) -> bool
5450  get_has_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle) -> bool
5451  get_has_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle) -> bool
5452  get_has_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle) -> bool
5453  get_has_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle) -> bool
5454  get_has_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle) -> bool
5455  get_has_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle) -> bool
5456  get_has_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle) -> bool
5457  get_has_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle) -> bool
5458  """
5459  return _IMP_kernel.Model_get_has_attribute(self, *args)
5460 
5461  def set_attribute(self, *args):
5462  r"""
5463  set_attribute(Model self, FloatKey attribute_key, ParticleIndex particle, IMP::Float value)
5464  set_attribute(Model self, IntKey attribute_key, ParticleIndex particle, IMP::Int value)
5465  set_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle, IMP::Floats value)
5466  set_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle, IMP::algebra::Vector3D value)
5467  set_attribute(Model self, IntsKey attribute_key, ParticleIndex particle, IMP::Ints value)
5468  set_attribute(Model self, StringKey attribute_key, ParticleIndex particle, IMP::String value)
5469  set_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle, IMP::ParticleIndexes value)
5470  set_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
5471  set_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle, Object value)
5472  set_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle, Object value)
5473  set_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle, IMP::String value)
5474  set_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle, IMP::Int value)
5475  set_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle, IMP::Float value)
5476  set_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle, ParticleIndex value)
5477  """
5478  return _IMP_kernel.Model_set_attribute(self, *args)
5479 
5480  def get_attribute(self, *args):
5481  r"""
5482  get_attribute(Model self, FloatKey attribute_key, ParticleIndex particle) -> IMP::Float
5483  get_attribute(Model self, IntKey attribute_key, ParticleIndex particle) -> IMP::Int
5484  get_attribute(Model self, FloatsKey attribute_key, ParticleIndex particle) -> IMP::Floats
5485  get_attribute(Model self, Vector3DKey attribute_key, ParticleIndex particle) -> IMP::algebra::Vector3D
5486  get_attribute(Model self, IntsKey attribute_key, ParticleIndex particle) -> IMP::Ints
5487  get_attribute(Model self, StringKey attribute_key, ParticleIndex particle) -> IMP::String
5488  get_attribute(Model self, ParticleIndexesKey attribute_key, ParticleIndex particle) -> IMP::ParticleIndexes
5489  get_attribute(Model self, ParticleIndexKey attribute_key, ParticleIndex particle) -> ParticleIndex
5490  get_attribute(Model self, ObjectKey attribute_key, ParticleIndex particle) -> Object
5491  get_attribute(Model self, IMP::WeakObjectKey attribute_key, ParticleIndex particle) -> Object
5492  get_attribute(Model self, SparseStringKey attribute_key, ParticleIndex particle) -> IMP::String
5493  get_attribute(Model self, SparseIntKey attribute_key, ParticleIndex particle) -> IMP::Int
5494  get_attribute(Model self, SparseFloatKey attribute_key, ParticleIndex particle) -> IMP::Float
5495  get_attribute(Model self, SparseParticleIndexKey attribute_key, ParticleIndex particle) -> ParticleIndex
5496  """
5497  return _IMP_kernel.Model_get_attribute(self, *args)
5498 
5499  def set_is_optimized(self, arg2, arg3, arg4):
5500  r"""set_is_optimized(Model self, FloatKey arg2, ParticleIndex arg3, bool arg4)"""
5501  return _IMP_kernel.Model_set_is_optimized(self, arg2, arg3, arg4)
5502 
5503  def add_to_derivative(self, k, particle, v, da):
5504  r"""add_to_derivative(Model self, FloatKey k, ParticleIndex particle, double v, DerivativeAccumulator da)"""
5505  return _IMP_kernel.Model_add_to_derivative(self, k, particle, v, da)
5506 
5507  def get_particle(self, p):
5508  r"""get_particle(Model self, ParticleIndex p) -> Particle"""
5509  return _IMP_kernel.Model_get_particle(self, p)
5510 
5511  def get_has_particle(self, p):
5512  r"""get_has_particle(Model self, ParticleIndex p) -> bool"""
5513  return _IMP_kernel.Model_get_has_particle(self, p)
5514 
5515  def get_particle_indexes(self):
5516  r"""get_particle_indexes(Model self) -> IMP::ParticleIndexes"""
5517  return _IMP_kernel.Model_get_particle_indexes(self)
5518 
5519  def get_model_objects(self):
5520  r"""get_model_objects(Model self) -> IMP::ModelObjectsTemp"""
5521  return _IMP_kernel.Model_get_model_objects(self)
5522 
5523  def remove_particle(self, pi):
5524  r"""remove_particle(Model self, ParticleIndex pi)"""
5525  return _IMP_kernel.Model_remove_particle(self, pi)
5526 
5527  def add_data(self, mk, o):
5528  r"""add_data(Model self, ModelKey mk, Object o)"""
5529  return _IMP_kernel.Model_add_data(self, mk, o)
5530 
5531  def get_data(self, mk):
5532  r"""get_data(Model self, ModelKey mk) -> Object"""
5533  return _IMP_kernel.Model_get_data(self, mk)
5534 
5535  def remove_data(self, mk):
5536  r"""remove_data(Model self, ModelKey mk)"""
5537  return _IMP_kernel.Model_remove_data(self, mk)
5538 
5539  def get_has_data(self, mk):
5540  r"""get_has_data(Model self, ModelKey mk) -> bool"""
5541  return _IMP_kernel.Model_get_has_data(self, mk)
5542 
5543  def get_age(self):
5544  r"""get_age(Model self) -> unsigned int"""
5545  return _IMP_kernel.Model_get_age(self)
5546 
5547  def get_trigger_last_updated(self, tk):
5548  r"""get_trigger_last_updated(Model self, TriggerKey tk) -> unsigned int"""
5549  return _IMP_kernel.Model_get_trigger_last_updated(self, tk)
5550 
5551  def set_trigger_updated(self, tk):
5552  r"""set_trigger_updated(Model self, TriggerKey tk)"""
5553  return _IMP_kernel.Model_set_trigger_updated(self, tk)
5554 
5555  def get_dependencies_updated(self):
5556  r"""get_dependencies_updated(Model self) -> unsigned int"""
5557  return _IMP_kernel.Model_get_dependencies_updated(self)
5558 
5559  def get_removed_particles_attributes_age(self):
5560  r"""get_removed_particles_attributes_age(Model self) -> unsigned int"""
5561  return _IMP_kernel.Model_get_removed_particles_attributes_age(self)
5562 
5563  def save_dependencies(self):
5564  r"""save_dependencies(Model self)"""
5565  return _IMP_kernel.Model_save_dependencies(self)
5566 
5567  def restore_dependencies(self):
5568  r"""restore_dependencies(Model self)"""
5569  return _IMP_kernel.Model_restore_dependencies(self)
5570 
5571  def get_particles_size(self):
5572  r"""get_particles_size(Model self) -> unsigned int"""
5573  return _IMP_kernel.Model_get_particles_size(self)
5574 
5575  def get_unique_id(self):
5576  r"""get_unique_id(Model self) -> uint32_t"""
5577  return _IMP_kernel.Model_get_unique_id(self)
5578 
5579  @staticmethod
5580  def get_by_unique_id(id):
5581  r"""get_by_unique_id(uint32_t id) -> Model"""
5582  return _IMP_kernel.Model_get_by_unique_id(id)
5583 
5584  def get_version_info(self):
5585  r"""get_version_info(Model self) -> VersionInfo"""
5586  return _IMP_kernel.Model_get_version_info(self)
5587  __swig_destroy__ = _IMP_kernel.delete_Model
5588  def __del__(self):
5589  r"""__del__(Model self)"""
5590 
5591  _director_objects.cleanup()
5592 
5593 
5594  pass
5595 
5596 
5597  def do_destroy(self):
5598  r"""do_destroy(Model self)"""
5599  return _IMP_kernel.Model_do_destroy(self)
5600 
5601  def __str__(self):
5602  r"""__str__(Model self) -> std::string"""
5603  return _IMP_kernel.Model___str__(self)
5604 
5605  def __repr__(self):
5606  r"""__repr__(Model self) -> std::string"""
5607  return _IMP_kernel.Model___repr__(self)
5608 
5609  @staticmethod
5610  def get_from(o):
5611  return _object_cast_to_Model(o)
5612 
5613 
5614  def _get_as_binary(self):
5615  r"""_get_as_binary(Model self) -> PyObject *"""
5616  return _IMP_kernel.Model__get_as_binary(self)
5617 
5618  def _set_from_binary(self, p):
5619  r"""_set_from_binary(Model self, PyObject * p)"""
5620  return _IMP_kernel.Model__set_from_binary(self, p)
5621 
5622  def __getstate__(self):
5623  p = self._get_as_binary()
5624  if len(self.__dict__) > 1:
5625  d = self.__dict__.copy()
5626  del d['this']
5627  p = (d, p)
5628  return p
5629 
5630  def __setstate__(self, p):
5631  if not hasattr(self, 'this'):
5632  self.__init__()
5633  if isinstance(p, tuple):
5634  d, p = p
5635  self.__dict__.update(d)
5636  return self._set_from_binary(p)
5637 
5638 
5639  def get_ints_numpy(self, k, read_only=False):
5640  """Get the model's attribute array for IntKey k as a NumPy array.
5641  The array is indexed by ParticleIndex; particles that don't have
5642  this attribute will either be off the end of the array or will have
5643  the value INT_MAX.
5644  This is a NumPy view that shares memory with the Model. Thus,
5645  any changes to values in this list will be reflected in the Model.
5646  Also, if the Model attribute array moves in memory (e.g. if particles
5647  or attributes are added) this array will be invalidated, so it is
5648  unsafe to keep it around long term.
5649  If read_only is set True, values in the array cannot be changed.
5650  """
5651  return _get_ints_numpy(self, k, self, read_only)
5652 
5653  def get_numpy(self, k, read_only=False):
5654  """Get the model's attribute array for any type of Key
5655  k as a NumPy array. See Model::get_ints_numpy() for more details."""
5656  _numpy_meth_map = {IntKey: _get_ints_numpy,
5657  FloatKey: _get_floats_numpy,
5658  Vector3DKey: _get_vector3ds_numpy}
5659  return _numpy_meth_map[type(k)](self, k, self, read_only)
5660 
5661  def get_floats_numpy(self, k, read_only=False):
5662  """Get the model's attribute array for FloatKey k as a NumPy array.
5663  See Model::get_ints_numpy() for more details."""
5664  return _get_floats_numpy(self, k, self, read_only)
5665 
5666  def get_derivatives_numpy(self, k, read_only=False):
5667  """Get the model's attribute derivatives array for FloatKey k
5668  as a NumPy array. See Model::get_ints_numpy() for more details."""
5669  return _get_derivatives_numpy(self, k, self, read_only)
5670 
5671  def get_vector3ds_numpy(self, k, read_only=False):
5672  """Get the model's attribute array for Vector3DKey k as a NumPy array.
5673  See Model::get_ints_numpy() for more details."""
5674  return _get_vector3ds_numpy(self, k, self, read_only)
5675 
5676  def get_spheres_numpy(self, read_only=False):
5677  """Get the model's XYZR attribute arrays as NumPy arrays.
5678  The attribute arrays for Cartesian coordinates and radii are
5679  stored separately from those for other FloatKeys. This function
5680  returns a tuple of two NumPy arrays, the first of coordinates and
5681  the second of radii. See Model::get_ints_numpy() for more details."""
5682  return _get_spheres_numpy(self, self, read_only)
5683 
5684  def get_sphere_derivatives_numpy(self, read_only=False):
5685  """Get the model's XYZR attribute derivatives arrays as NumPy arrays.
5686  See Model::get_ints_numpy() for more details."""
5687  return _get_sphere_derivatives_numpy(self, self, read_only)
5688 
5689 
5690 # Register Model in _IMP_kernel:
5691 _IMP_kernel.Model_swigregister(Model)
5692 class Decorator(_Value):
5693  r"""Proxy of C++ IMP::Decorator class."""
5694 
5695  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5696  __repr__ = _swig_repr
5697 
5698  def __init__(self, p):
5699  r"""__init__(Decorator self, _ParticleAdaptor p) -> Decorator"""
5700  _IMP_kernel.Decorator_swiginit(self, _IMP_kernel.new_Decorator(p))
5701 
5702  def __ne__(self, o):
5703  r"""__ne__(Decorator self, Object o) -> bool"""
5704  return _IMP_kernel.Decorator___ne__(self, o)
5705 
5706  def __lt__(self, o):
5707  r"""__lt__(Decorator self, Object o) -> bool"""
5708  return _IMP_kernel.Decorator___lt__(self, o)
5709 
5710  def __gt__(self, o):
5711  r"""__gt__(Decorator self, Object o) -> bool"""
5712  return _IMP_kernel.Decorator___gt__(self, o)
5713 
5714  def __ge__(self, o):
5715  r"""__ge__(Decorator self, Object o) -> bool"""
5716  return _IMP_kernel.Decorator___ge__(self, o)
5717 
5718  def __le__(self, o):
5719  r"""__le__(Decorator self, Object o) -> bool"""
5720  return _IMP_kernel.Decorator___le__(self, o)
5721 
5722  def get_particle(self):
5723  r"""get_particle(Decorator self) -> Particle"""
5724  return _IMP_kernel.Decorator_get_particle(self)
5725 
5726  def get_particle_index(self):
5727  r"""get_particle_index(Decorator self) -> ParticleIndex"""
5728  return _IMP_kernel.Decorator_get_particle_index(self)
5729 
5730  def get_model(self):
5731  m = _IMP_kernel.Decorator_get_model(self)
5732  if m in _models_set:
5733  m = _models_set_get(m)
5734  return m
5735 
5736 
5737 
5738  def get_is_valid(self):
5739  r"""get_is_valid(Decorator self) -> bool"""
5740  return _IMP_kernel.Decorator_get_is_valid(self)
5741 
5742  def __hash__(self):
5743  r"""__hash__(Decorator self) -> std::size_t"""
5744  return _IMP_kernel.Decorator___hash__(self)
5745 
5746  def __eq__(self, *args):
5747  r"""
5748  __eq__(Decorator self, Object o) -> bool
5749  __eq__(Decorator self, Decorator o) -> bool
5750  __eq__(Decorator self, Particle o) -> bool
5751  """
5752  return _IMP_kernel.Decorator___eq__(self, *args)
5753 
5754  def __bool__(self):
5755  r"""__bool__(Decorator self) -> bool"""
5756  return _IMP_kernel.Decorator___bool__(self)
5757  __swig_destroy__ = _IMP_kernel.delete_Decorator
5758 
5759 # Register Decorator in _IMP_kernel:
5760 _IMP_kernel.Decorator_swigregister(Decorator)
5761 
5762 def check_particle(m, pi):
5763  r"""check_particle(Model m, ParticleIndex pi)"""
5764  return _IMP_kernel.check_particle(m, pi)
5765 class UnaryFunction(Object):
5766  r"""Proxy of C++ IMP::UnaryFunction class."""
5767 
5768  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5769 
5770  def __init__(self, *args):
5771  r"""__init__(UnaryFunction self, std::string name="UnaryFunction%1%") -> UnaryFunction"""
5772  if self.__class__ == UnaryFunction:
5773  _self = None
5774  else:
5775  _self = self
5776  _IMP_kernel.UnaryFunction_swiginit(self, _IMP_kernel.new_UnaryFunction(_self, *args))
5777 
5778  if self.__class__ != UnaryFunction:
5779  _director_objects.register(self)
5780 
5781 
5782 
5783 
5784  def evaluate(self, feature):
5785  r"""evaluate(UnaryFunction self, double feature) -> double"""
5786  return _IMP_kernel.UnaryFunction_evaluate(self, feature)
5787 
5788  def evaluate_with_derivative(self, feature):
5789  r"""evaluate_with_derivative(UnaryFunction self, double feature) -> IMP::DerivativePair"""
5790  return _IMP_kernel.UnaryFunction_evaluate_with_derivative(self, feature)
5791  __swig_destroy__ = _IMP_kernel.delete_UnaryFunction
5792 
5793  def __str__(self):
5794  r"""__str__(UnaryFunction self) -> std::string"""
5795  return _IMP_kernel.UnaryFunction___str__(self)
5796 
5797  def __repr__(self):
5798  r"""__repr__(UnaryFunction self) -> std::string"""
5799  return _IMP_kernel.UnaryFunction___repr__(self)
5800 
5801  @staticmethod
5802  def get_from(o):
5803  return _object_cast_to_UnaryFunction(o)
5804 
5805 
5806  def do_show(self, out):
5807  pass
5808 
5809  @staticmethod
5810  def get_from(o):
5811  return _object_cast_to_UnaryFunction(o)
5812 
5813  def __disown__(self):
5814  self.this.disown()
5815  _IMP_kernel.disown_UnaryFunction(self)
5816  return weakref.proxy(self)
5817 
5818  def do_destroy(self):
5819  r"""do_destroy(UnaryFunction self)"""
5820  return _IMP_kernel.UnaryFunction_do_destroy(self)
5821 
5822 # Register UnaryFunction in _IMP_kernel:
5823 _IMP_kernel.UnaryFunction_swigregister(UnaryFunction)
5825  r"""Proxy of C++ IMP::OptimizerState class."""
5826 
5827  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5828 
5829  def __init__(self, *args):
5830  r"""
5831  __init__(OptimizerState self, Model m, std::string name) -> OptimizerState
5832  __init__(OptimizerState self) -> OptimizerState
5833  """
5834  if self.__class__ == OptimizerState:
5835  _self = None
5836  else:
5837  _self = self
5838  _IMP_kernel.OptimizerState_swiginit(self, _IMP_kernel.new_OptimizerState(_self, *args))
5839 
5840  if self.__class__ != OptimizerState:
5841  _director_objects.register(self)
5842 
5843 
5844 
5845 
5846  def update(self):
5847  r"""update(OptimizerState self)"""
5848  return _IMP_kernel.OptimizerState_update(self)
5849 
5850  def set_is_optimizing(self, arg0):
5851  r"""set_is_optimizing(OptimizerState self, bool arg0)"""
5852  return _IMP_kernel.OptimizerState_set_is_optimizing(self, arg0)
5853 
5854  def get_optimizer(self):
5855  r"""get_optimizer(OptimizerState self) -> Optimizer"""
5856  return _IMP_kernel.OptimizerState_get_optimizer(self)
5857 
5858  def set_period(self, p):
5859  r"""set_period(OptimizerState self, unsigned int p)"""
5860  return _IMP_kernel.OptimizerState_set_period(self, p)
5861 
5862  def get_period(self):
5863  r"""get_period(OptimizerState self) -> unsigned int"""
5864  return _IMP_kernel.OptimizerState_get_period(self)
5865 
5866  def reset(self):
5867  r"""reset(OptimizerState self)"""
5868  return _IMP_kernel.OptimizerState_reset(self)
5869 
5870  def update_always(self):
5871  r"""update_always(OptimizerState self)"""
5872  return _IMP_kernel.OptimizerState_update_always(self)
5873 
5874  def get_number_of_updates(self):
5875  r"""get_number_of_updates(OptimizerState self) -> unsigned int"""
5876  return _IMP_kernel.OptimizerState_get_number_of_updates(self)
5877 
5878  def set_number_of_updates(self, n):
5879  r"""set_number_of_updates(OptimizerState self, unsigned int n)"""
5880  return _IMP_kernel.OptimizerState_set_number_of_updates(self, n)
5881  __swig_destroy__ = _IMP_kernel.delete_OptimizerState
5882 
5883  def do_update(self, arg0):
5884  r"""do_update(OptimizerState self, unsigned int arg0)"""
5885  return _IMP_kernel.OptimizerState_do_update(self, arg0)
5886 
5887  def do_set_is_optimizing(self, arg0):
5888  r"""do_set_is_optimizing(OptimizerState self, bool arg0)"""
5889  return _IMP_kernel.OptimizerState_do_set_is_optimizing(self, arg0)
5890 
5891  def do_get_inputs(self):
5892  r"""do_get_inputs(OptimizerState self) -> IMP::ModelObjectsTemp"""
5893  return _IMP_kernel.OptimizerState_do_get_inputs(self)
5894 
5895  def do_get_outputs(self):
5896  r"""do_get_outputs(OptimizerState self) -> IMP::ModelObjectsTemp"""
5897  return _IMP_kernel.OptimizerState_do_get_outputs(self)
5898 
5899  def __str__(self):
5900  r"""__str__(OptimizerState self) -> std::string"""
5901  return _IMP_kernel.OptimizerState___str__(self)
5902 
5903  def __repr__(self):
5904  r"""__repr__(OptimizerState self) -> std::string"""
5905  return _IMP_kernel.OptimizerState___repr__(self)
5906 
5907  @staticmethod
5908  def get_from(o):
5909  return _object_cast_to_OptimizerState(o)
5910 
5911 
5912  def do_show(self, out):
5913  pass
5914 
5915  @staticmethod
5916  def get_from(o):
5917  return _object_cast_to_OptimizerState(o)
5918 
5919  def __disown__(self):
5920  self.this.disown()
5921  _IMP_kernel.disown_OptimizerState(self)
5922  return weakref.proxy(self)
5923 
5924  def do_destroy(self):
5925  r"""do_destroy(OptimizerState self)"""
5926  return _IMP_kernel.OptimizerState_do_destroy(self)
5927 
5928  def handle_set_has_required_score_states(self, arg0):
5929  r"""handle_set_has_required_score_states(OptimizerState self, bool arg0)"""
5930  return _IMP_kernel.OptimizerState_handle_set_has_required_score_states(self, arg0)
5931 
5932  def do_get_interactions(self):
5933  r"""do_get_interactions(OptimizerState self) -> IMP::ModelObjectsTemps"""
5934  return _IMP_kernel.OptimizerState_do_get_interactions(self)
5935 
5936 # Register OptimizerState in _IMP_kernel:
5937 _IMP_kernel.OptimizerState_swigregister(OptimizerState)
5938 class Refiner(_ParticleInputs, Object):
5939  r"""Proxy of C++ IMP::Refiner class."""
5940 
5941  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5942 
5943  def __init__(self, *args):
5944  r"""__init__(Refiner self, std::string name="Refiner %1%", bool is_by_ref=False) -> Refiner"""
5945  if self.__class__ == Refiner:
5946  _self = None
5947  else:
5948  _self = self
5949  _IMP_kernel.Refiner_swiginit(self, _IMP_kernel.new_Refiner(_self, *args))
5950 
5951  if self.__class__ != Refiner:
5952  _director_objects.register(self)
5953 
5954 
5955 
5956 
5957  def get_can_refine(self, arg0):
5958  r"""get_can_refine(Refiner self, Particle arg0) -> bool"""
5959  return _IMP_kernel.Refiner_get_can_refine(self, arg0)
5960 
5961  def get_refined_indexes(self, m, pi):
5962  r"""get_refined_indexes(Refiner self, Model m, ParticleIndex pi) -> IMP::ParticleIndexes"""
5963  return _IMP_kernel.Refiner_get_refined_indexes(self, m, pi)
5964 
5965  def get_refined_indexes_by_ref(self, m, pi):
5966  r"""get_refined_indexes_by_ref(Refiner self, Model m, ParticleIndex pi) -> IMP::ParticleIndexes const &"""
5967  return _IMP_kernel.Refiner_get_refined_indexes_by_ref(self, m, pi)
5968 
5969  def get_is_by_ref_supported(self):
5970  r"""get_is_by_ref_supported(Refiner self) -> bool"""
5971  return _IMP_kernel.Refiner_get_is_by_ref_supported(self)
5972 
5973  def get_refined(self, *args):
5974  r"""
5975  get_refined(Refiner self, Particle a) -> IMP::ParticlesTemp const
5976  get_refined(Refiner self, Particle a, unsigned int i) -> Particle
5977  """
5978  return _IMP_kernel.Refiner_get_refined(self, *args)
5979 
5980  def get_number_of_refined(self, a):
5981  r"""get_number_of_refined(Refiner self, Particle a) -> unsigned int"""
5982  return _IMP_kernel.Refiner_get_number_of_refined(self, a)
5983 
5984  def __str__(self):
5985  r"""__str__(Refiner self) -> std::string"""
5986  return _IMP_kernel.Refiner___str__(self)
5987 
5988  def __repr__(self):
5989  r"""__repr__(Refiner self) -> std::string"""
5990  return _IMP_kernel.Refiner___repr__(self)
5991 
5992  @staticmethod
5993  def get_from(o):
5994  return _object_cast_to_Refiner(o)
5995 
5996 
5997  def do_show(self, out):
5998  pass
5999 
6000  @staticmethod
6001  def get_from(o):
6002  return _object_cast_to_Refiner(o)
6003 
6004  __swig_destroy__ = _IMP_kernel.delete_Refiner
6005  def __disown__(self):
6006  self.this.disown()
6007  _IMP_kernel.disown_Refiner(self)
6008  return weakref.proxy(self)
6009 
6010  def do_get_inputs(self, m, pis):
6011  r"""do_get_inputs(Refiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6012  return _IMP_kernel.Refiner_do_get_inputs(self, m, pis)
6013 
6014  def do_destroy(self):
6015  r"""do_destroy(Refiner self)"""
6016  return _IMP_kernel.Refiner_do_destroy(self)
6017 
6018 # Register Refiner in _IMP_kernel:
6019 _IMP_kernel.Refiner_swigregister(Refiner)
6020 class Optimizer(ModelObject):
6021  r"""Proxy of C++ IMP::Optimizer class."""
6022 
6023  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6024 
6025  def set_is_optimizing_states(self, tf):
6026  r"""set_is_optimizing_states(Optimizer self, bool tf)"""
6027  return _IMP_kernel.Optimizer_set_is_optimizing_states(self, tf)
6028 
6029  def get_optimizer_state_inputs(self):
6030  r"""get_optimizer_state_inputs(Optimizer self) -> IMP::ModelObjectsTemp"""
6031  return _IMP_kernel.Optimizer_get_optimizer_state_inputs(self)
6032 
6033  def do_get_inputs(self):
6034  r"""do_get_inputs(Optimizer self) -> IMP::ModelObjectsTemp"""
6035  return _IMP_kernel.Optimizer_do_get_inputs(self)
6036 
6037  def do_get_outputs(self):
6038  r"""do_get_outputs(Optimizer self) -> IMP::ModelObjectsTemp"""
6039  return _IMP_kernel.Optimizer_do_get_outputs(self)
6040 
6041  def __init__(self, *args):
6042  r"""
6043  __init__(Optimizer self, Model m, std::string name="Optimizer %1%") -> Optimizer
6044  __init__(Optimizer self) -> Optimizer
6045  """
6046  if self.__class__ == Optimizer:
6047  _self = None
6048  else:
6049  _self = self
6050  _IMP_kernel.Optimizer_swiginit(self, _IMP_kernel.new_Optimizer(_self, *args))
6051 
6052  if self.__class__ != Optimizer:
6053  _director_objects.register(self)
6054 
6055 
6056 
6057 
6058  def optimize(self, max_steps):
6059  r"""optimize(Optimizer self, unsigned int max_steps) -> double"""
6060  return _IMP_kernel.Optimizer_optimize(self, max_steps)
6061 
6062  def set_stop_on_good_score(self, tf):
6063  r"""set_stop_on_good_score(Optimizer self, bool tf)"""
6064  return _IMP_kernel.Optimizer_set_stop_on_good_score(self, tf)
6065 
6066  def get_stop_on_good_score(self):
6067  r"""get_stop_on_good_score(Optimizer self) -> bool"""
6068  return _IMP_kernel.Optimizer_get_stop_on_good_score(self)
6069 
6070  def get_last_score(self):
6071  r"""get_last_score(Optimizer self) -> double"""
6072  return _IMP_kernel.Optimizer_get_last_score(self)
6073 
6074  def get_scoring_function(self):
6075  r"""get_scoring_function(Optimizer self) -> ScoringFunction"""
6076  return _IMP_kernel.Optimizer_get_scoring_function(self)
6077  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)
6078  def __set_optimizer_states(self, obj): _list_util.set_varlist(self.optimizer_states, obj)
6079  def __del_optimizer_states(self): _list_util.del_varlist(self.optimizer_states)
6080  optimizer_states = property(__get_optimizer_states, __set_optimizer_states, __del_optimizer_states, doc="List of ##ucnames")
6081 
6082  def remove_optimizer_state(self, d):
6083  r"""remove_optimizer_state(Optimizer self, OptimizerState d)"""
6084  return _IMP_kernel.Optimizer_remove_optimizer_state(self, d)
6085 
6086  def _python_index_optimizer_state(self, d, start, stop):
6087  r"""_python_index_optimizer_state(Optimizer self, OptimizerState d, unsigned int start, unsigned int stop) -> unsigned int"""
6088  return _IMP_kernel.Optimizer__python_index_optimizer_state(self, d, start, stop)
6089 
6090  def remove_optimizer_states(self, d):
6091  r"""remove_optimizer_states(Optimizer self, IMP::OptimizerStates const & d)"""
6092  return _IMP_kernel.Optimizer_remove_optimizer_states(self, d)
6093 
6094  def set_optimizer_states(self, ps):
6095  r"""set_optimizer_states(Optimizer self, IMP::OptimizerStates const & ps)"""
6096  return _IMP_kernel.Optimizer_set_optimizer_states(self, ps)
6097 
6098  def set_optimizer_states_order(self, objs):
6099  r"""set_optimizer_states_order(Optimizer self, IMP::OptimizerStates const & objs)"""
6100  return _IMP_kernel.Optimizer_set_optimizer_states_order(self, objs)
6101 
6102  def add_optimizer_state(self, obj):
6103  r"""add_optimizer_state(Optimizer self, OptimizerState obj) -> unsigned int"""
6104  return _IMP_kernel.Optimizer_add_optimizer_state(self, obj)
6105 
6106  def add_optimizer_states(self, objs):
6107  r"""add_optimizer_states(Optimizer self, IMP::OptimizerStates const & objs)"""
6108  return _IMP_kernel.Optimizer_add_optimizer_states(self, objs)
6109 
6110  def clear_optimizer_states(self):
6111  r"""clear_optimizer_states(Optimizer self)"""
6112  return _IMP_kernel.Optimizer_clear_optimizer_states(self)
6113 
6114  def get_number_of_optimizer_states(self):
6115  r"""get_number_of_optimizer_states(Optimizer self) -> unsigned int"""
6116  return _IMP_kernel.Optimizer_get_number_of_optimizer_states(self)
6117 
6118  def get_has_optimizer_states(self):
6119  r"""get_has_optimizer_states(Optimizer self) -> bool"""
6120  return _IMP_kernel.Optimizer_get_has_optimizer_states(self)
6121 
6122  def get_optimizer_state(self, i):
6123  r"""get_optimizer_state(Optimizer self, unsigned int i) -> OptimizerState"""
6124  return _IMP_kernel.Optimizer_get_optimizer_state(self, i)
6125 
6126  def get_optimizer_states(self):
6127  r"""get_optimizer_states(Optimizer self) -> IMP::OptimizerStates"""
6128  return _IMP_kernel.Optimizer_get_optimizer_states(self)
6129 
6130  def erase_optimizer_state(self, i):
6131  r"""erase_optimizer_state(Optimizer self, unsigned int i)"""
6132  return _IMP_kernel.Optimizer_erase_optimizer_state(self, i)
6133 
6134  def reserve_optimizer_states(self, sz):
6135  r"""reserve_optimizer_states(Optimizer self, unsigned int sz)"""
6136  return _IMP_kernel.Optimizer_reserve_optimizer_states(self, sz)
6137 
6138  def set_scoring_function(self, sf):
6139  r"""set_scoring_function(Optimizer self, _ScoringFunctionAdaptor sf)"""
6140  return _IMP_kernel.Optimizer_set_scoring_function(self, sf)
6141  __swig_destroy__ = _IMP_kernel.delete_Optimizer
6142  def __del__(self):
6143  r"""__del__(Optimizer self)"""
6144 
6145  _director_objects.cleanup()
6146 
6147 
6148  pass
6149 
6150 
6151  def do_optimize(self, ns):
6152  r"""do_optimize(Optimizer self, unsigned int ns) -> double"""
6153  return _IMP_kernel.Optimizer_do_optimize(self, ns)
6154 
6155  def update_states(self):
6156  r"""update_states(Optimizer self)"""
6157  return _IMP_kernel.Optimizer_update_states(self)
6158 
6159  def __str__(self):
6160  r"""__str__(Optimizer self) -> std::string"""
6161  return _IMP_kernel.Optimizer___str__(self)
6162 
6163  def __repr__(self):
6164  r"""__repr__(Optimizer self) -> std::string"""
6165  return _IMP_kernel.Optimizer___repr__(self)
6166 
6167  @staticmethod
6168  def get_from(o):
6169  return _object_cast_to_Optimizer(o)
6170 
6171 
6172  def do_show(self, out):
6173  pass
6174 
6175  @staticmethod
6176  def get_from(o):
6177  return _object_cast_to_Optimizer(o)
6178 
6179  def __disown__(self):
6180  self.this.disown()
6181  _IMP_kernel.disown_Optimizer(self)
6182  return weakref.proxy(self)
6183 
6184  def do_destroy(self):
6185  r"""do_destroy(Optimizer self)"""
6186  return _IMP_kernel.Optimizer_do_destroy(self)
6187 
6188  def handle_set_has_required_score_states(self, arg0):
6189  r"""handle_set_has_required_score_states(Optimizer self, bool arg0)"""
6190  return _IMP_kernel.Optimizer_handle_set_has_required_score_states(self, arg0)
6191 
6192  def do_get_interactions(self):
6193  r"""do_get_interactions(Optimizer self) -> IMP::ModelObjectsTemps"""
6194  return _IMP_kernel.Optimizer_do_get_interactions(self)
6195 
6196 # Register Optimizer in _IMP_kernel:
6197 _IMP_kernel.Optimizer_swigregister(Optimizer)
6199  r"""Proxy of C++ IMP::AttributeOptimizer class."""
6200 
6201  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6202 
6203  def __init__(self, *args):
6204  r"""
6205  __init__(AttributeOptimizer self, Model m, std::string name="Optimizer %1%") -> AttributeOptimizer
6206  __init__(AttributeOptimizer self) -> AttributeOptimizer
6207  """
6208  if self.__class__ == AttributeOptimizer:
6209  _self = None
6210  else:
6211  _self = self
6212  _IMP_kernel.AttributeOptimizer_swiginit(self, _IMP_kernel.new_AttributeOptimizer(_self, *args))
6213 
6214  if self.__class__ != AttributeOptimizer:
6215  _director_objects.register(self)
6216 
6217 
6218 
6219 
6220  def get_optimized_attributes(self):
6221  r"""get_optimized_attributes(AttributeOptimizer self) -> IMP::FloatIndexes"""
6222  return _IMP_kernel.AttributeOptimizer_get_optimized_attributes(self)
6223 
6224  def set_value(self, fi, v):
6225  r"""set_value(AttributeOptimizer self, FloatIndex fi, double v)"""
6226  return _IMP_kernel.AttributeOptimizer_set_value(self, fi, v)
6227 
6228  def get_value(self, fi):
6229  r"""get_value(AttributeOptimizer self, FloatIndex fi) -> IMP::Float"""
6230  return _IMP_kernel.AttributeOptimizer_get_value(self, fi)
6231 
6232  def get_derivative(self, fi):
6233  r"""get_derivative(AttributeOptimizer self, FloatIndex fi) -> IMP::Float"""
6234  return _IMP_kernel.AttributeOptimizer_get_derivative(self, fi)
6235 
6236  def get_width(self, k):
6237  r"""get_width(AttributeOptimizer self, FloatKey k) -> double"""
6238  return _IMP_kernel.AttributeOptimizer_get_width(self, k)
6239 
6240  def set_scaled_value(self, fi, v):
6241  r"""set_scaled_value(AttributeOptimizer self, FloatIndex fi, IMP::Float v)"""
6242  return _IMP_kernel.AttributeOptimizer_set_scaled_value(self, fi, v)
6243 
6244  def get_scaled_value(self, fi):
6245  r"""get_scaled_value(AttributeOptimizer self, FloatIndex fi) -> double"""
6246  return _IMP_kernel.AttributeOptimizer_get_scaled_value(self, fi)
6247 
6248  def get_scaled_derivative(self, fi):
6249  r"""get_scaled_derivative(AttributeOptimizer self, FloatIndex fi) -> double"""
6250  return _IMP_kernel.AttributeOptimizer_get_scaled_derivative(self, fi)
6251 
6252  def clear_range_cache(self):
6253  r"""clear_range_cache(AttributeOptimizer self)"""
6254  return _IMP_kernel.AttributeOptimizer_clear_range_cache(self)
6255 
6256  def __str__(self):
6257  r"""__str__(AttributeOptimizer self) -> std::string"""
6258  return _IMP_kernel.AttributeOptimizer___str__(self)
6259 
6260  def __repr__(self):
6261  r"""__repr__(AttributeOptimizer self) -> std::string"""
6262  return _IMP_kernel.AttributeOptimizer___repr__(self)
6263 
6264  @staticmethod
6265  def get_from(o):
6266  return _object_cast_to_AttributeOptimizer(o)
6267 
6268 
6269  def do_show(self, out):
6270  pass
6271 
6272  @staticmethod
6273  def get_from(o):
6274  return _object_cast_to_AttributeOptimizer(o)
6275 
6276  __swig_destroy__ = _IMP_kernel.delete_AttributeOptimizer
6277  def __disown__(self):
6278  self.this.disown()
6279  _IMP_kernel.disown_AttributeOptimizer(self)
6280  return weakref.proxy(self)
6281 
6282  def do_destroy(self):
6283  r"""do_destroy(AttributeOptimizer self)"""
6284  return _IMP_kernel.AttributeOptimizer_do_destroy(self)
6285 
6286  def handle_set_has_required_score_states(self, arg0):
6287  r"""handle_set_has_required_score_states(AttributeOptimizer self, bool arg0)"""
6288  return _IMP_kernel.AttributeOptimizer_handle_set_has_required_score_states(self, arg0)
6289 
6290  def do_get_inputs(self):
6291  r"""do_get_inputs(AttributeOptimizer self) -> IMP::ModelObjectsTemp"""
6292  return _IMP_kernel.AttributeOptimizer_do_get_inputs(self)
6293 
6294  def do_get_outputs(self):
6295  r"""do_get_outputs(AttributeOptimizer self) -> IMP::ModelObjectsTemp"""
6296  return _IMP_kernel.AttributeOptimizer_do_get_outputs(self)
6297 
6298  def do_get_interactions(self):
6299  r"""do_get_interactions(AttributeOptimizer self) -> IMP::ModelObjectsTemps"""
6300  return _IMP_kernel.AttributeOptimizer_do_get_interactions(self)
6301 
6302  def do_optimize(self, ns):
6303  r"""do_optimize(AttributeOptimizer self, unsigned int ns) -> double"""
6304  return _IMP_kernel.AttributeOptimizer_do_optimize(self, ns)
6305 
6306 # Register AttributeOptimizer in _IMP_kernel:
6307 _IMP_kernel.AttributeOptimizer_swigregister(AttributeOptimizer)
6308 class ConfigurationSet(Object):
6309  r"""Proxy of C++ IMP::ConfigurationSet class."""
6310 
6311  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6312 
6313  def __init__(self, *args):
6314  r"""__init__(ConfigurationSet self, Model m, std::string name="ConfigurationSet %1%") -> ConfigurationSet"""
6315  _IMP_kernel.ConfigurationSet_swiginit(self, _IMP_kernel.new_ConfigurationSet(*args))
6316 
6317  def save_configuration(self):
6318  r"""save_configuration(ConfigurationSet self)"""
6319  return _IMP_kernel.ConfigurationSet_save_configuration(self)
6320 
6321  def get_number_of_configurations(self):
6322  r"""get_number_of_configurations(ConfigurationSet self) -> unsigned int"""
6323  return _IMP_kernel.ConfigurationSet_get_number_of_configurations(self)
6324 
6325  def load_configuration(self, i):
6326  r"""load_configuration(ConfigurationSet self, int i)"""
6327  return _IMP_kernel.ConfigurationSet_load_configuration(self, i)
6328 
6329  def remove_configuration(self, i):
6330  r"""remove_configuration(ConfigurationSet self, unsigned int i)"""
6331  return _IMP_kernel.ConfigurationSet_remove_configuration(self, i)
6332 
6333  def get_model(self):
6334  r"""get_model(ConfigurationSet self) -> Model"""
6335  return _IMP_kernel.ConfigurationSet_get_model(self)
6336 
6337  def get_version_info(self):
6338  r"""get_version_info(ConfigurationSet self) -> VersionInfo"""
6339  return _IMP_kernel.ConfigurationSet_get_version_info(self)
6340  __swig_destroy__ = _IMP_kernel.delete_ConfigurationSet
6341 
6342  def __str__(self):
6343  r"""__str__(ConfigurationSet self) -> std::string"""
6344  return _IMP_kernel.ConfigurationSet___str__(self)
6345 
6346  def __repr__(self):
6347  r"""__repr__(ConfigurationSet self) -> std::string"""
6348  return _IMP_kernel.ConfigurationSet___repr__(self)
6349 
6350  @staticmethod
6351  def get_from(o):
6352  return _object_cast_to_ConfigurationSet(o)
6353 
6354 
6355 # Register ConfigurationSet in _IMP_kernel:
6356 _IMP_kernel.ConfigurationSet_swigregister(ConfigurationSet)
6358  r"""Proxy of C++ IMP::SaveToConfigurationSetOptimizerState class."""
6359 
6360  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6361 
6362  def __init__(self, cs):
6363  r"""__init__(SaveToConfigurationSetOptimizerState self, ConfigurationSet cs) -> SaveToConfigurationSetOptimizerState"""
6364  _IMP_kernel.SaveToConfigurationSetOptimizerState_swiginit(self, _IMP_kernel.new_SaveToConfigurationSetOptimizerState(cs))
6365 
6366  def get_version_info(self):
6367  r"""get_version_info(SaveToConfigurationSetOptimizerState self) -> VersionInfo"""
6368  return _IMP_kernel.SaveToConfigurationSetOptimizerState_get_version_info(self)
6369  __swig_destroy__ = _IMP_kernel.delete_SaveToConfigurationSetOptimizerState
6370 
6371  def __str__(self):
6372  r"""__str__(SaveToConfigurationSetOptimizerState self) -> std::string"""
6373  return _IMP_kernel.SaveToConfigurationSetOptimizerState___str__(self)
6374 
6375  def __repr__(self):
6376  r"""__repr__(SaveToConfigurationSetOptimizerState self) -> std::string"""
6377  return _IMP_kernel.SaveToConfigurationSetOptimizerState___repr__(self)
6378 
6379  @staticmethod
6380  def get_from(o):
6381  return _object_cast_to_SaveToConfigurationSetOptimizerState(o)
6382 
6383 
6384 # Register SaveToConfigurationSetOptimizerState in _IMP_kernel:
6385 _IMP_kernel.SaveToConfigurationSetOptimizerState_swigregister(SaveToConfigurationSetOptimizerState)
6386 class Configuration(Object):
6387  r"""Proxy of C++ IMP::Configuration class."""
6388 
6389  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6390 
6391  def __init__(self, *args):
6392  r"""
6393  __init__(Configuration self, Model m, std::string name="Configuration %1%") -> Configuration
6394  __init__(Configuration self, Model m, Configuration base, std::string name="Configuration %1%") -> Configuration
6395  """
6396  _IMP_kernel.Configuration_swiginit(self, _IMP_kernel.new_Configuration(*args))
6397 
6398  def load_configuration(self):
6399  r"""load_configuration(Configuration self)"""
6400  return _IMP_kernel.Configuration_load_configuration(self)
6401 
6402  def swap_configuration(self):
6403  r"""swap_configuration(Configuration self)"""
6404  return _IMP_kernel.Configuration_swap_configuration(self)
6405 
6406  def get_version_info(self):
6407  r"""get_version_info(Configuration self) -> VersionInfo"""
6408  return _IMP_kernel.Configuration_get_version_info(self)
6409  __swig_destroy__ = _IMP_kernel.delete_Configuration
6410 
6411  def __str__(self):
6412  r"""__str__(Configuration self) -> std::string"""
6413  return _IMP_kernel.Configuration___str__(self)
6414 
6415  def __repr__(self):
6416  r"""__repr__(Configuration self) -> std::string"""
6417  return _IMP_kernel.Configuration___repr__(self)
6418 
6419  @staticmethod
6420  def get_from(o):
6421  return _object_cast_to_Configuration(o)
6422 
6423 
6424 # Register Configuration in _IMP_kernel:
6425 _IMP_kernel.Configuration_swigregister(Configuration)
6426 class Sampler(Object):
6427  r"""Proxy of C++ IMP::Sampler class."""
6428 
6429  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6430 
6431  def __init__(self, *args):
6432  r"""__init__(Sampler self, Model m, std::string name="Sampler %1%") -> Sampler"""
6433  if self.__class__ == Sampler:
6434  _self = None
6435  else:
6436  _self = self
6437  _IMP_kernel.Sampler_swiginit(self, _IMP_kernel.new_Sampler(_self, *args))
6438 
6439  if self.__class__ != Sampler:
6440  _director_objects.register(self)
6441 
6442 
6443 
6444 
6445  def create_sample(self):
6446  r"""create_sample(Sampler self) -> ConfigurationSet"""
6447  return _IMP_kernel.Sampler_create_sample(self)
6448 
6449  def get_scoring_function(self):
6450  r"""get_scoring_function(Sampler self) -> ScoringFunction"""
6451  return _IMP_kernel.Sampler_get_scoring_function(self)
6452 
6453  def set_scoring_function(self, sf):
6454  r"""set_scoring_function(Sampler self, _ScoringFunctionAdaptor sf)"""
6455  return _IMP_kernel.Sampler_set_scoring_function(self, sf)
6456 
6457  def get_model(self):
6458  r"""get_model(Sampler self) -> Model"""
6459  return _IMP_kernel.Sampler_get_model(self)
6460 
6461  def do_sample(self):
6462  r"""do_sample(Sampler self) -> ConfigurationSet"""
6463  return _IMP_kernel.Sampler_do_sample(self)
6464  __swig_destroy__ = _IMP_kernel.delete_Sampler
6465 
6466  def __str__(self):
6467  r"""__str__(Sampler self) -> std::string"""
6468  return _IMP_kernel.Sampler___str__(self)
6469 
6470  def __repr__(self):
6471  r"""__repr__(Sampler self) -> std::string"""
6472  return _IMP_kernel.Sampler___repr__(self)
6473 
6474  @staticmethod
6475  def get_from(o):
6476  return _object_cast_to_Sampler(o)
6477 
6478 
6479  def do_show(self, out):
6480  pass
6481 
6482  @staticmethod
6483  def get_from(o):
6484  return _object_cast_to_Sampler(o)
6485 
6486  def __disown__(self):
6487  self.this.disown()
6488  _IMP_kernel.disown_Sampler(self)
6489  return weakref.proxy(self)
6490 
6491  def do_destroy(self):
6492  r"""do_destroy(Sampler self)"""
6493  return _IMP_kernel.Sampler_do_destroy(self)
6494 
6495 # Register Sampler in _IMP_kernel:
6496 _IMP_kernel.Sampler_swigregister(Sampler)
6497 class PairModifier(_ParticleInputs, _ParticleOutputs, Object):
6498  r"""Proxy of C++ IMP::PairModifier class."""
6499 
6500  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6501 
6502  def __init__(self, *args):
6503  r"""__init__(PairModifier self, std::string name="PairModifier %1%") -> PairModifier"""
6504  if self.__class__ == PairModifier:
6505  _self = None
6506  else:
6507  _self = self
6508  _IMP_kernel.PairModifier_swiginit(self, _IMP_kernel.new_PairModifier(_self, *args))
6509 
6510  if self.__class__ != PairModifier:
6511  _director_objects.register(self)
6512 
6513 
6514 
6515 
6516  def apply_index(self, m, v):
6517  r"""apply_index(PairModifier self, Model m, IMP::ParticleIndexPair const & v)"""
6518  return _IMP_kernel.PairModifier_apply_index(self, m, v)
6519 
6520  def apply_indexes(self, m, o, lower_bound, upper_bound):
6521  r"""apply_indexes(PairModifier self, Model m, IMP::ParticleIndexPairs const & o, unsigned int lower_bound, unsigned int upper_bound)"""
6522  return _IMP_kernel.PairModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
6523 
6524  def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
6525  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)"""
6526  return _IMP_kernel.PairModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
6527 
6528  def __str__(self):
6529  r"""__str__(PairModifier self) -> std::string"""
6530  return _IMP_kernel.PairModifier___str__(self)
6531 
6532  def __repr__(self):
6533  r"""__repr__(PairModifier self) -> std::string"""
6534  return _IMP_kernel.PairModifier___repr__(self)
6535 
6536  @staticmethod
6537  def get_from(o):
6538  return _object_cast_to_PairModifier(o)
6539 
6540 
6541  def do_show(self, out):
6542  pass
6543 
6544  @staticmethod
6545  def get_from(o):
6546  return _object_cast_to_PairModifier(o)
6547 
6548  __swig_destroy__ = _IMP_kernel.delete_PairModifier
6549  def __disown__(self):
6550  self.this.disown()
6551  _IMP_kernel.disown_PairModifier(self)
6552  return weakref.proxy(self)
6553 
6554  def do_get_inputs(self, m, pis):
6555  r"""do_get_inputs(PairModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6556  return _IMP_kernel.PairModifier_do_get_inputs(self, m, pis)
6557 
6558  def do_get_outputs(self, m, pis):
6559  r"""do_get_outputs(PairModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6560  return _IMP_kernel.PairModifier_do_get_outputs(self, m, pis)
6561 
6562  def do_destroy(self):
6563  r"""do_destroy(PairModifier self)"""
6564  return _IMP_kernel.PairModifier_do_destroy(self)
6565 
6566 # Register PairModifier in _IMP_kernel:
6567 _IMP_kernel.PairModifier_swigregister(PairModifier)
6568 class PairScore(_ParticleInputs, Object):
6569  r"""Proxy of C++ IMP::PairScore class."""
6570 
6571  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6572 
6573  def __init__(self, *args):
6574  r"""__init__(PairScore self, std::string name="PairScore %1%") -> PairScore"""
6575  if self.__class__ == PairScore:
6576  _self = None
6577  else:
6578  _self = self
6579  _IMP_kernel.PairScore_swiginit(self, _IMP_kernel.new_PairScore(_self, *args))
6580 
6581  if self.__class__ != PairScore:
6582  _director_objects.register(self)
6583 
6584 
6585 
6586 
6587  def evaluate_index(self, m, vt, da):
6588  r"""evaluate_index(PairScore self, Model m, IMP::ParticleIndexPair const & vt, DerivativeAccumulator da) -> double"""
6589  return _IMP_kernel.PairScore_evaluate_index(self, m, vt, da)
6590 
6591  def check_indexes(self, m, pis):
6592  r"""check_indexes(PairScore self, Model m, IMP::ParticleIndexes const & pis) -> bool"""
6593  return _IMP_kernel.PairScore_check_indexes(self, m, pis)
6594 
6595  def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
6596  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"""
6597  return _IMP_kernel.PairScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
6598 
6599  def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
6600  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"""
6601  return _IMP_kernel.PairScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
6602 
6603  def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
6604  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"""
6605  return _IMP_kernel.PairScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
6606 
6607  def evaluate_if_good_index(self, m, vt, da, max):
6608  r"""evaluate_if_good_index(PairScore self, Model m, IMP::ParticleIndexPair const & vt, DerivativeAccumulator da, double max) -> double"""
6609  return _IMP_kernel.PairScore_evaluate_if_good_index(self, m, vt, da, max)
6610 
6611  def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
6612  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"""
6613  return _IMP_kernel.PairScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
6614 
6615  def create_current_decomposition(self, m, vt):
6616  r"""create_current_decomposition(PairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
6617  return _IMP_kernel.PairScore_create_current_decomposition(self, m, vt)
6618 
6619  def do_create_current_decomposition(self, m, vt):
6620  r"""do_create_current_decomposition(PairScore self, Model m, IMP::ParticleIndexPair const & vt) -> IMP::Restraints"""
6621  return _IMP_kernel.PairScore_do_create_current_decomposition(self, m, vt)
6622  __swig_destroy__ = _IMP_kernel.delete_PairScore
6623 
6624  def __str__(self):
6625  r"""__str__(PairScore self) -> std::string"""
6626  return _IMP_kernel.PairScore___str__(self)
6627 
6628  def __repr__(self):
6629  r"""__repr__(PairScore self) -> std::string"""
6630  return _IMP_kernel.PairScore___repr__(self)
6631 
6632  @staticmethod
6633  def get_from(o):
6634  return _object_cast_to_PairScore(o)
6635 
6636 
6637  def do_show(self, out):
6638  pass
6639 
6640  @staticmethod
6641  def get_from(o):
6642  return _object_cast_to_PairScore(o)
6643 
6644  def __disown__(self):
6645  self.this.disown()
6646  _IMP_kernel.disown_PairScore(self)
6647  return weakref.proxy(self)
6648 
6649  def do_get_inputs(self, m, pis):
6650  r"""do_get_inputs(PairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6651  return _IMP_kernel.PairScore_do_get_inputs(self, m, pis)
6652 
6653  def do_destroy(self):
6654  r"""do_destroy(PairScore self)"""
6655  return _IMP_kernel.PairScore_do_destroy(self)
6656 
6657 # Register PairScore in _IMP_kernel:
6658 _IMP_kernel.PairScore_swigregister(PairScore)
6659 class PairPredicate(_ParticleInputs, Object):
6660  r"""Proxy of C++ IMP::PairPredicate class."""
6661 
6662  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6663 
6664  def __init__(self, *args):
6665  r"""__init__(PairPredicate self, std::string name="PairPredicate %1%") -> PairPredicate"""
6666  if self.__class__ == PairPredicate:
6667  _self = None
6668  else:
6669  _self = self
6670  _IMP_kernel.PairPredicate_swiginit(self, _IMP_kernel.new_PairPredicate(_self, *args))
6671 
6672  if self.__class__ != PairPredicate:
6673  _director_objects.register(self)
6674 
6675 
6676 
6677 
6678  def setup_for_get_value_index_in_batch(self, arg0):
6679  r"""setup_for_get_value_index_in_batch(PairPredicate self, Model arg0)"""
6680  return _IMP_kernel.PairPredicate_setup_for_get_value_index_in_batch(self, arg0)
6681 
6682  def get_value_index_in_batch(self, m, vt):
6683  r"""get_value_index_in_batch(PairPredicate self, Model m, IMP::ParticleIndexPair const & vt) -> int"""
6684  return _IMP_kernel.PairPredicate_get_value_index_in_batch(self, m, vt)
6685 
6686  def __call__(self, m, vt):
6687  r"""__call__(PairPredicate self, Model m, IMP::ParticleIndexPair const & vt) -> int"""
6688  return _IMP_kernel.PairPredicate___call__(self, m, vt)
6689 
6690  def get_value_index(self, *args):
6691  r"""
6692  get_value_index(PairPredicate self, Model m, IMP::ParticleIndexPair const & vt) -> int
6693  get_value_index(PairPredicate self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
6694  """
6695  return _IMP_kernel.PairPredicate_get_value_index(self, *args)
6696  __swig_destroy__ = _IMP_kernel.delete_PairPredicate
6697 
6698  def __str__(self):
6699  r"""__str__(PairPredicate self) -> std::string"""
6700  return _IMP_kernel.PairPredicate___str__(self)
6701 
6702  def __repr__(self):
6703  r"""__repr__(PairPredicate self) -> std::string"""
6704  return _IMP_kernel.PairPredicate___repr__(self)
6705 
6706  @staticmethod
6707  def get_from(o):
6708  return _object_cast_to_PairPredicate(o)
6709 
6710 
6711  def do_show(self, out):
6712  pass
6713 
6714  @staticmethod
6715  def get_from(o):
6716  return _object_cast_to_PairPredicate(o)
6717 
6718  def __disown__(self):
6719  self.this.disown()
6720  _IMP_kernel.disown_PairPredicate(self)
6721  return weakref.proxy(self)
6722 
6723  def do_get_inputs(self, m, pis):
6724  r"""do_get_inputs(PairPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6725  return _IMP_kernel.PairPredicate_do_get_inputs(self, m, pis)
6726 
6727  def do_destroy(self):
6728  r"""do_destroy(PairPredicate self)"""
6729  return _IMP_kernel.PairPredicate_do_destroy(self)
6730 
6731 # Register PairPredicate in _IMP_kernel:
6732 _IMP_kernel.PairPredicate_swigregister(PairPredicate)
6733 class PairContainer(Container):
6734  r"""Proxy of C++ IMP::PairContainer class."""
6735 
6736  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6737 
6738  def apply_generic(self, m):
6739  r"""apply_generic(PairContainer self, PairModifier m)"""
6740  return _IMP_kernel.PairContainer_apply_generic(self, m)
6741 
6742  def apply_generic_moved(self, m, moved_pis, reset_pis):
6743  r"""apply_generic_moved(PairContainer self, PairModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
6744  return _IMP_kernel.PairContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
6745 
6746  def apply(self, sm):
6747  r"""apply(PairContainer self, PairModifier sm)"""
6748  return _IMP_kernel.PairContainer_apply(self, sm)
6749 
6750  def apply_moved(self, sm, moved_pis, reset_pis):
6751  r"""apply_moved(PairContainer self, PairModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
6752  return _IMP_kernel.PairContainer_apply_moved(self, sm, moved_pis, reset_pis)
6753 
6754  def get_range_indexes(self):
6755  r"""get_range_indexes(PairContainer self) -> IMP::ParticleIndexPairs"""
6756  return _IMP_kernel.PairContainer_get_range_indexes(self)
6757 
6758  def get_contents(self):
6759  r"""get_contents(PairContainer self) -> IMP::ParticleIndexPairs const &"""
6760  return _IMP_kernel.PairContainer_get_contents(self)
6761 
6762  def get_indexes(self):
6763  r"""get_indexes(PairContainer self) -> IMP::ParticleIndexPairs"""
6764  return _IMP_kernel.PairContainer_get_indexes(self)
6765 
6766  def get(self, *args):
6767  r"""
6768  get(PairContainer self) -> IMP::ParticlePairsTemp
6769  get(PairContainer self, unsigned int i) -> IMP::ParticlePair
6770  """
6771  return _IMP_kernel.PairContainer_get(self, *args)
6772 
6773  def get_number(self):
6774  r"""get_number(PairContainer self) -> unsigned int"""
6775  return _IMP_kernel.PairContainer_get_number(self)
6776 
6777  def __init__(self, *args):
6778  r"""
6779  __init__(PairContainer self, Model m, std::string name="PairContainer %1%") -> PairContainer
6780  __init__(PairContainer self) -> PairContainer
6781  """
6782  if self.__class__ == PairContainer:
6783  _self = None
6784  else:
6785  _self = self
6786  _IMP_kernel.PairContainer_swiginit(self, _IMP_kernel.new_PairContainer(_self, *args))
6787 
6788  if self.__class__ != PairContainer:
6789  _director_objects.register(self)
6790 
6791 
6792 
6793 
6794  def do_apply(self, sm):
6795  r"""do_apply(PairContainer self, PairModifier sm)"""
6796  return _IMP_kernel.PairContainer_do_apply(self, sm)
6797 
6798  def do_apply_moved(self, sm, moved_pis, reset_pis):
6799  r"""do_apply_moved(PairContainer self, PairModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
6800  return _IMP_kernel.PairContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
6801 
6802  def do_get_provides_access(self):
6803  r"""do_get_provides_access(PairContainer self) -> bool"""
6804  return _IMP_kernel.PairContainer_do_get_provides_access(self)
6805  __swig_destroy__ = _IMP_kernel.delete_PairContainer
6806 
6807  def __str__(self):
6808  r"""__str__(PairContainer self) -> std::string"""
6809  return _IMP_kernel.PairContainer___str__(self)
6810 
6811  def __repr__(self):
6812  r"""__repr__(PairContainer self) -> std::string"""
6813  return _IMP_kernel.PairContainer___repr__(self)
6814 
6815  @staticmethod
6816  def get_from(o):
6817  return _object_cast_to_PairContainer(o)
6818 
6819 
6820  def do_show(self, out):
6821  pass
6822 
6823  @staticmethod
6824  def get_from(o):
6825  return _object_cast_to_PairContainer(o)
6826 
6827  def __disown__(self):
6828  self.this.disown()
6829  _IMP_kernel.disown_PairContainer(self)
6830  return weakref.proxy(self)
6831 
6832  def do_destroy(self):
6833  r"""do_destroy(PairContainer self)"""
6834  return _IMP_kernel.PairContainer_do_destroy(self)
6835 
6836  def handle_set_has_required_score_states(self, arg0):
6837  r"""handle_set_has_required_score_states(PairContainer self, bool arg0)"""
6838  return _IMP_kernel.PairContainer_handle_set_has_required_score_states(self, arg0)
6839 
6840  def do_get_inputs(self):
6841  r"""do_get_inputs(PairContainer self) -> IMP::ModelObjectsTemp"""
6842  return _IMP_kernel.PairContainer_do_get_inputs(self)
6843 
6844  def do_get_interactions(self):
6845  r"""do_get_interactions(PairContainer self) -> IMP::ModelObjectsTemps"""
6846  return _IMP_kernel.PairContainer_do_get_interactions(self)
6847 
6848  def do_get_contents_hash(self):
6849  r"""do_get_contents_hash(PairContainer self) -> std::size_t"""
6850  return _IMP_kernel.PairContainer_do_get_contents_hash(self)
6851 
6852 # Register PairContainer in _IMP_kernel:
6853 _IMP_kernel.PairContainer_swigregister(PairContainer)
6854 class _PairContainerAdaptor(_InputAdaptor):
6855  r"""Proxy of C++ IMP::PairContainerAdaptor class."""
6856 
6857  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6858  __repr__ = _swig_repr
6859 
6860  def __init__(self, *args):
6861  r"""
6862  __init__(_PairContainerAdaptor self) -> _PairContainerAdaptor
6863  __init__(_PairContainerAdaptor self, PairContainer c) -> _PairContainerAdaptor
6864  __init__(_PairContainerAdaptor self, IMP::ParticlePairsTemp const & t) -> _PairContainerAdaptor
6865  """
6866  _IMP_kernel._PairContainerAdaptor_swiginit(self, _IMP_kernel.new__PairContainerAdaptor(*args))
6867 
6868  def set_name_if_default(self, name):
6869  r"""set_name_if_default(_PairContainerAdaptor self, std::string name)"""
6870  return _IMP_kernel._PairContainerAdaptor_set_name_if_default(self, name)
6871  __swig_destroy__ = _IMP_kernel.delete__PairContainerAdaptor
6872 
6873 # Register _PairContainerAdaptor in _IMP_kernel:
6874 _IMP_kernel._PairContainerAdaptor_swigregister(_PairContainerAdaptor)
6875 class QuadModifier(_ParticleInputs, _ParticleOutputs, Object):
6876  r"""Proxy of C++ IMP::QuadModifier class."""
6877 
6878  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6879 
6880  def __init__(self, *args):
6881  r"""__init__(QuadModifier self, std::string name="QuadModifier %1%") -> QuadModifier"""
6882  if self.__class__ == QuadModifier:
6883  _self = None
6884  else:
6885  _self = self
6886  _IMP_kernel.QuadModifier_swiginit(self, _IMP_kernel.new_QuadModifier(_self, *args))
6887 
6888  if self.__class__ != QuadModifier:
6889  _director_objects.register(self)
6890 
6891 
6892 
6893 
6894  def apply_index(self, m, v):
6895  r"""apply_index(QuadModifier self, Model m, IMP::ParticleIndexQuad const & v)"""
6896  return _IMP_kernel.QuadModifier_apply_index(self, m, v)
6897 
6898  def apply_indexes(self, m, o, lower_bound, upper_bound):
6899  r"""apply_indexes(QuadModifier self, Model m, IMP::ParticleIndexQuads const & o, unsigned int lower_bound, unsigned int upper_bound)"""
6900  return _IMP_kernel.QuadModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
6901 
6902  def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
6903  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)"""
6904  return _IMP_kernel.QuadModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
6905 
6906  def __str__(self):
6907  r"""__str__(QuadModifier self) -> std::string"""
6908  return _IMP_kernel.QuadModifier___str__(self)
6909 
6910  def __repr__(self):
6911  r"""__repr__(QuadModifier self) -> std::string"""
6912  return _IMP_kernel.QuadModifier___repr__(self)
6913 
6914  @staticmethod
6915  def get_from(o):
6916  return _object_cast_to_QuadModifier(o)
6917 
6918 
6919  def do_show(self, out):
6920  pass
6921 
6922  @staticmethod
6923  def get_from(o):
6924  return _object_cast_to_QuadModifier(o)
6925 
6926  __swig_destroy__ = _IMP_kernel.delete_QuadModifier
6927  def __disown__(self):
6928  self.this.disown()
6929  _IMP_kernel.disown_QuadModifier(self)
6930  return weakref.proxy(self)
6931 
6932  def do_get_inputs(self, m, pis):
6933  r"""do_get_inputs(QuadModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6934  return _IMP_kernel.QuadModifier_do_get_inputs(self, m, pis)
6935 
6936  def do_get_outputs(self, m, pis):
6937  r"""do_get_outputs(QuadModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6938  return _IMP_kernel.QuadModifier_do_get_outputs(self, m, pis)
6939 
6940  def do_destroy(self):
6941  r"""do_destroy(QuadModifier self)"""
6942  return _IMP_kernel.QuadModifier_do_destroy(self)
6943 
6944 # Register QuadModifier in _IMP_kernel:
6945 _IMP_kernel.QuadModifier_swigregister(QuadModifier)
6946 class QuadScore(_ParticleInputs, Object):
6947  r"""Proxy of C++ IMP::QuadScore class."""
6948 
6949  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6950 
6951  def __init__(self, *args):
6952  r"""__init__(QuadScore self, std::string name="QuadScore %1%") -> QuadScore"""
6953  if self.__class__ == QuadScore:
6954  _self = None
6955  else:
6956  _self = self
6957  _IMP_kernel.QuadScore_swiginit(self, _IMP_kernel.new_QuadScore(_self, *args))
6958 
6959  if self.__class__ != QuadScore:
6960  _director_objects.register(self)
6961 
6962 
6963 
6964 
6965  def evaluate_index(self, m, vt, da):
6966  r"""evaluate_index(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt, DerivativeAccumulator da) -> double"""
6967  return _IMP_kernel.QuadScore_evaluate_index(self, m, vt, da)
6968 
6969  def check_indexes(self, m, pis):
6970  r"""check_indexes(QuadScore self, Model m, IMP::ParticleIndexes const & pis) -> bool"""
6971  return _IMP_kernel.QuadScore_check_indexes(self, m, pis)
6972 
6973  def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
6974  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"""
6975  return _IMP_kernel.QuadScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
6976 
6977  def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
6978  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"""
6979  return _IMP_kernel.QuadScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
6980 
6981  def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
6982  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"""
6983  return _IMP_kernel.QuadScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
6984 
6985  def evaluate_if_good_index(self, m, vt, da, max):
6986  r"""evaluate_if_good_index(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt, DerivativeAccumulator da, double max) -> double"""
6987  return _IMP_kernel.QuadScore_evaluate_if_good_index(self, m, vt, da, max)
6988 
6989  def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
6990  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"""
6991  return _IMP_kernel.QuadScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
6992 
6993  def create_current_decomposition(self, m, vt):
6994  r"""create_current_decomposition(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt) -> IMP::Restraints"""
6995  return _IMP_kernel.QuadScore_create_current_decomposition(self, m, vt)
6996 
6997  def do_create_current_decomposition(self, m, vt):
6998  r"""do_create_current_decomposition(QuadScore self, Model m, IMP::ParticleIndexQuad const & vt) -> IMP::Restraints"""
6999  return _IMP_kernel.QuadScore_do_create_current_decomposition(self, m, vt)
7000  __swig_destroy__ = _IMP_kernel.delete_QuadScore
7001 
7002  def __str__(self):
7003  r"""__str__(QuadScore self) -> std::string"""
7004  return _IMP_kernel.QuadScore___str__(self)
7005 
7006  def __repr__(self):
7007  r"""__repr__(QuadScore self) -> std::string"""
7008  return _IMP_kernel.QuadScore___repr__(self)
7009 
7010  @staticmethod
7011  def get_from(o):
7012  return _object_cast_to_QuadScore(o)
7013 
7014 
7015  def do_show(self, out):
7016  pass
7017 
7018  @staticmethod
7019  def get_from(o):
7020  return _object_cast_to_QuadScore(o)
7021 
7022  def __disown__(self):
7023  self.this.disown()
7024  _IMP_kernel.disown_QuadScore(self)
7025  return weakref.proxy(self)
7026 
7027  def do_get_inputs(self, m, pis):
7028  r"""do_get_inputs(QuadScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7029  return _IMP_kernel.QuadScore_do_get_inputs(self, m, pis)
7030 
7031  def do_destroy(self):
7032  r"""do_destroy(QuadScore self)"""
7033  return _IMP_kernel.QuadScore_do_destroy(self)
7034 
7035 # Register QuadScore in _IMP_kernel:
7036 _IMP_kernel.QuadScore_swigregister(QuadScore)
7037 class QuadPredicate(_ParticleInputs, Object):
7038  r"""Proxy of C++ IMP::QuadPredicate class."""
7039 
7040  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7041 
7042  def __init__(self, *args):
7043  r"""__init__(QuadPredicate self, std::string name="QuadPredicate %1%") -> QuadPredicate"""
7044  if self.__class__ == QuadPredicate:
7045  _self = None
7046  else:
7047  _self = self
7048  _IMP_kernel.QuadPredicate_swiginit(self, _IMP_kernel.new_QuadPredicate(_self, *args))
7049 
7050  if self.__class__ != QuadPredicate:
7051  _director_objects.register(self)
7052 
7053 
7054 
7055 
7056  def setup_for_get_value_index_in_batch(self, arg0):
7057  r"""setup_for_get_value_index_in_batch(QuadPredicate self, Model arg0)"""
7058  return _IMP_kernel.QuadPredicate_setup_for_get_value_index_in_batch(self, arg0)
7059 
7060  def get_value_index_in_batch(self, m, vt):
7061  r"""get_value_index_in_batch(QuadPredicate self, Model m, IMP::ParticleIndexQuad const & vt) -> int"""
7062  return _IMP_kernel.QuadPredicate_get_value_index_in_batch(self, m, vt)
7063 
7064  def __call__(self, m, vt):
7065  r"""__call__(QuadPredicate self, Model m, IMP::ParticleIndexQuad const & vt) -> int"""
7066  return _IMP_kernel.QuadPredicate___call__(self, m, vt)
7067 
7068  def get_value_index(self, *args):
7069  r"""
7070  get_value_index(QuadPredicate self, Model m, IMP::ParticleIndexQuad const & vt) -> int
7071  get_value_index(QuadPredicate self, Model m, IMP::ParticleIndexQuads const & o) -> IMP::Ints
7072  """
7073  return _IMP_kernel.QuadPredicate_get_value_index(self, *args)
7074  __swig_destroy__ = _IMP_kernel.delete_QuadPredicate
7075 
7076  def __str__(self):
7077  r"""__str__(QuadPredicate self) -> std::string"""
7078  return _IMP_kernel.QuadPredicate___str__(self)
7079 
7080  def __repr__(self):
7081  r"""__repr__(QuadPredicate self) -> std::string"""
7082  return _IMP_kernel.QuadPredicate___repr__(self)
7083 
7084  @staticmethod
7085  def get_from(o):
7086  return _object_cast_to_QuadPredicate(o)
7087 
7088 
7089  def do_show(self, out):
7090  pass
7091 
7092  @staticmethod
7093  def get_from(o):
7094  return _object_cast_to_QuadPredicate(o)
7095 
7096  def __disown__(self):
7097  self.this.disown()
7098  _IMP_kernel.disown_QuadPredicate(self)
7099  return weakref.proxy(self)
7100 
7101  def do_get_inputs(self, m, pis):
7102  r"""do_get_inputs(QuadPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7103  return _IMP_kernel.QuadPredicate_do_get_inputs(self, m, pis)
7104 
7105  def do_destroy(self):
7106  r"""do_destroy(QuadPredicate self)"""
7107  return _IMP_kernel.QuadPredicate_do_destroy(self)
7108 
7109 # Register QuadPredicate in _IMP_kernel:
7110 _IMP_kernel.QuadPredicate_swigregister(QuadPredicate)
7111 class QuadContainer(Container):
7112  r"""Proxy of C++ IMP::QuadContainer class."""
7113 
7114  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7115 
7116  def apply_generic(self, m):
7117  r"""apply_generic(QuadContainer self, QuadModifier m)"""
7118  return _IMP_kernel.QuadContainer_apply_generic(self, m)
7119 
7120  def apply_generic_moved(self, m, moved_pis, reset_pis):
7121  r"""apply_generic_moved(QuadContainer self, QuadModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7122  return _IMP_kernel.QuadContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
7123 
7124  def apply(self, sm):
7125  r"""apply(QuadContainer self, QuadModifier sm)"""
7126  return _IMP_kernel.QuadContainer_apply(self, sm)
7127 
7128  def apply_moved(self, sm, moved_pis, reset_pis):
7129  r"""apply_moved(QuadContainer self, QuadModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7130  return _IMP_kernel.QuadContainer_apply_moved(self, sm, moved_pis, reset_pis)
7131 
7132  def get_range_indexes(self):
7133  r"""get_range_indexes(QuadContainer self) -> IMP::ParticleIndexQuads"""
7134  return _IMP_kernel.QuadContainer_get_range_indexes(self)
7135 
7136  def get_contents(self):
7137  r"""get_contents(QuadContainer self) -> IMP::ParticleIndexQuads const &"""
7138  return _IMP_kernel.QuadContainer_get_contents(self)
7139 
7140  def get_indexes(self):
7141  r"""get_indexes(QuadContainer self) -> IMP::ParticleIndexQuads"""
7142  return _IMP_kernel.QuadContainer_get_indexes(self)
7143 
7144  def get(self, *args):
7145  r"""
7146  get(QuadContainer self) -> IMP::ParticleQuadsTemp
7147  get(QuadContainer self, unsigned int i) -> IMP::ParticleQuad
7148  """
7149  return _IMP_kernel.QuadContainer_get(self, *args)
7150 
7151  def get_number(self):
7152  r"""get_number(QuadContainer self) -> unsigned int"""
7153  return _IMP_kernel.QuadContainer_get_number(self)
7154 
7155  def __init__(self, *args):
7156  r"""
7157  __init__(QuadContainer self, Model m, std::string name="QuadContainer %1%") -> QuadContainer
7158  __init__(QuadContainer self) -> QuadContainer
7159  """
7160  if self.__class__ == QuadContainer:
7161  _self = None
7162  else:
7163  _self = self
7164  _IMP_kernel.QuadContainer_swiginit(self, _IMP_kernel.new_QuadContainer(_self, *args))
7165 
7166  if self.__class__ != QuadContainer:
7167  _director_objects.register(self)
7168 
7169 
7170 
7171 
7172  def do_apply(self, sm):
7173  r"""do_apply(QuadContainer self, QuadModifier sm)"""
7174  return _IMP_kernel.QuadContainer_do_apply(self, sm)
7175 
7176  def do_apply_moved(self, sm, moved_pis, reset_pis):
7177  r"""do_apply_moved(QuadContainer self, QuadModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7178  return _IMP_kernel.QuadContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
7179 
7180  def do_get_provides_access(self):
7181  r"""do_get_provides_access(QuadContainer self) -> bool"""
7182  return _IMP_kernel.QuadContainer_do_get_provides_access(self)
7183  __swig_destroy__ = _IMP_kernel.delete_QuadContainer
7184 
7185  def __str__(self):
7186  r"""__str__(QuadContainer self) -> std::string"""
7187  return _IMP_kernel.QuadContainer___str__(self)
7188 
7189  def __repr__(self):
7190  r"""__repr__(QuadContainer self) -> std::string"""
7191  return _IMP_kernel.QuadContainer___repr__(self)
7192 
7193  @staticmethod
7194  def get_from(o):
7195  return _object_cast_to_QuadContainer(o)
7196 
7197 
7198  def do_show(self, out):
7199  pass
7200 
7201  @staticmethod
7202  def get_from(o):
7203  return _object_cast_to_QuadContainer(o)
7204 
7205  def __disown__(self):
7206  self.this.disown()
7207  _IMP_kernel.disown_QuadContainer(self)
7208  return weakref.proxy(self)
7209 
7210  def do_destroy(self):
7211  r"""do_destroy(QuadContainer self)"""
7212  return _IMP_kernel.QuadContainer_do_destroy(self)
7213 
7214  def handle_set_has_required_score_states(self, arg0):
7215  r"""handle_set_has_required_score_states(QuadContainer self, bool arg0)"""
7216  return _IMP_kernel.QuadContainer_handle_set_has_required_score_states(self, arg0)
7217 
7218  def do_get_inputs(self):
7219  r"""do_get_inputs(QuadContainer self) -> IMP::ModelObjectsTemp"""
7220  return _IMP_kernel.QuadContainer_do_get_inputs(self)
7221 
7222  def do_get_interactions(self):
7223  r"""do_get_interactions(QuadContainer self) -> IMP::ModelObjectsTemps"""
7224  return _IMP_kernel.QuadContainer_do_get_interactions(self)
7225 
7226  def do_get_contents_hash(self):
7227  r"""do_get_contents_hash(QuadContainer self) -> std::size_t"""
7228  return _IMP_kernel.QuadContainer_do_get_contents_hash(self)
7229 
7230 # Register QuadContainer in _IMP_kernel:
7231 _IMP_kernel.QuadContainer_swigregister(QuadContainer)
7232 class _QuadContainerAdaptor(_InputAdaptor):
7233  r"""Proxy of C++ IMP::QuadContainerAdaptor class."""
7234 
7235  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7236  __repr__ = _swig_repr
7237 
7238  def __init__(self, *args):
7239  r"""
7240  __init__(_QuadContainerAdaptor self) -> _QuadContainerAdaptor
7241  __init__(_QuadContainerAdaptor self, QuadContainer c) -> _QuadContainerAdaptor
7242  __init__(_QuadContainerAdaptor self, IMP::ParticleQuadsTemp const & t) -> _QuadContainerAdaptor
7243  """
7244  _IMP_kernel._QuadContainerAdaptor_swiginit(self, _IMP_kernel.new__QuadContainerAdaptor(*args))
7245 
7246  def set_name_if_default(self, name):
7247  r"""set_name_if_default(_QuadContainerAdaptor self, std::string name)"""
7248  return _IMP_kernel._QuadContainerAdaptor_set_name_if_default(self, name)
7249  __swig_destroy__ = _IMP_kernel.delete__QuadContainerAdaptor
7250 
7251 # Register _QuadContainerAdaptor in _IMP_kernel:
7252 _IMP_kernel._QuadContainerAdaptor_swigregister(_QuadContainerAdaptor)
7253 class SingletonModifier(_ParticleInputs, _ParticleOutputs, Object):
7254  r"""Proxy of C++ IMP::SingletonModifier class."""
7255 
7256  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7257 
7258  def __init__(self, *args):
7259  r"""__init__(SingletonModifier self, std::string name="SingletonModifier %1%") -> SingletonModifier"""
7260  if self.__class__ == SingletonModifier:
7261  _self = None
7262  else:
7263  _self = self
7264  _IMP_kernel.SingletonModifier_swiginit(self, _IMP_kernel.new_SingletonModifier(_self, *args))
7265 
7266  if self.__class__ != SingletonModifier:
7267  _director_objects.register(self)
7268 
7269 
7270 
7271 
7272  def apply_index(self, m, v):
7273  r"""apply_index(SingletonModifier self, Model m, ParticleIndex v)"""
7274  return _IMP_kernel.SingletonModifier_apply_index(self, m, v)
7275 
7276  def apply_indexes(self, m, o, lower_bound, upper_bound):
7277  r"""apply_indexes(SingletonModifier self, Model m, IMP::ParticleIndexes const & o, unsigned int lower_bound, unsigned int upper_bound)"""
7278  return _IMP_kernel.SingletonModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
7279 
7280  def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
7281  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)"""
7282  return _IMP_kernel.SingletonModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
7283 
7284  def __str__(self):
7285  r"""__str__(SingletonModifier self) -> std::string"""
7286  return _IMP_kernel.SingletonModifier___str__(self)
7287 
7288  def __repr__(self):
7289  r"""__repr__(SingletonModifier self) -> std::string"""
7290  return _IMP_kernel.SingletonModifier___repr__(self)
7291 
7292  @staticmethod
7293  def get_from(o):
7294  return _object_cast_to_SingletonModifier(o)
7295 
7296 
7297  def do_show(self, out):
7298  pass
7299 
7300  @staticmethod
7301  def get_from(o):
7302  return _object_cast_to_SingletonModifier(o)
7303 
7304  __swig_destroy__ = _IMP_kernel.delete_SingletonModifier
7305  def __disown__(self):
7306  self.this.disown()
7307  _IMP_kernel.disown_SingletonModifier(self)
7308  return weakref.proxy(self)
7309 
7310  def do_get_inputs(self, m, pis):
7311  r"""do_get_inputs(SingletonModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7312  return _IMP_kernel.SingletonModifier_do_get_inputs(self, m, pis)
7313 
7314  def do_get_outputs(self, m, pis):
7315  r"""do_get_outputs(SingletonModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7316  return _IMP_kernel.SingletonModifier_do_get_outputs(self, m, pis)
7317 
7318  def do_destroy(self):
7319  r"""do_destroy(SingletonModifier self)"""
7320  return _IMP_kernel.SingletonModifier_do_destroy(self)
7321 
7322 # Register SingletonModifier in _IMP_kernel:
7323 _IMP_kernel.SingletonModifier_swigregister(SingletonModifier)
7324 class SingletonScore(_ParticleInputs, Object):
7325  r"""Proxy of C++ IMP::SingletonScore class."""
7326 
7327  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7328 
7329  def __init__(self, *args):
7330  r"""__init__(SingletonScore self, std::string name="SingletonScore %1%") -> SingletonScore"""
7331  if self.__class__ == SingletonScore:
7332  _self = None
7333  else:
7334  _self = self
7335  _IMP_kernel.SingletonScore_swiginit(self, _IMP_kernel.new_SingletonScore(_self, *args))
7336 
7337  if self.__class__ != SingletonScore:
7338  _director_objects.register(self)
7339 
7340 
7341 
7342 
7343  def evaluate_index(self, m, vt, da):
7344  r"""evaluate_index(SingletonScore self, Model m, ParticleIndex vt, DerivativeAccumulator da) -> double"""
7345  return _IMP_kernel.SingletonScore_evaluate_index(self, m, vt, da)
7346 
7347  def check_indexes(self, m, pis):
7348  r"""check_indexes(SingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> bool"""
7349  return _IMP_kernel.SingletonScore_check_indexes(self, m, pis)
7350 
7351  def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
7352  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"""
7353  return _IMP_kernel.SingletonScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
7354 
7355  def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7356  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"""
7357  return _IMP_kernel.SingletonScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
7358 
7359  def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
7360  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"""
7361  return _IMP_kernel.SingletonScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
7362 
7363  def evaluate_if_good_index(self, m, vt, da, max):
7364  r"""evaluate_if_good_index(SingletonScore self, Model m, ParticleIndex vt, DerivativeAccumulator da, double max) -> double"""
7365  return _IMP_kernel.SingletonScore_evaluate_if_good_index(self, m, vt, da, max)
7366 
7367  def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7368  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"""
7369  return _IMP_kernel.SingletonScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
7370 
7371  def create_current_decomposition(self, m, vt):
7372  r"""create_current_decomposition(SingletonScore self, Model m, ParticleIndex vt) -> IMP::Restraints"""
7373  return _IMP_kernel.SingletonScore_create_current_decomposition(self, m, vt)
7374 
7375  def do_create_current_decomposition(self, m, vt):
7376  r"""do_create_current_decomposition(SingletonScore self, Model m, ParticleIndex vt) -> IMP::Restraints"""
7377  return _IMP_kernel.SingletonScore_do_create_current_decomposition(self, m, vt)
7378  __swig_destroy__ = _IMP_kernel.delete_SingletonScore
7379 
7380  def __str__(self):
7381  r"""__str__(SingletonScore self) -> std::string"""
7382  return _IMP_kernel.SingletonScore___str__(self)
7383 
7384  def __repr__(self):
7385  r"""__repr__(SingletonScore self) -> std::string"""
7386  return _IMP_kernel.SingletonScore___repr__(self)
7387 
7388  @staticmethod
7389  def get_from(o):
7390  return _object_cast_to_SingletonScore(o)
7391 
7392 
7393  def do_show(self, out):
7394  pass
7395 
7396  @staticmethod
7397  def get_from(o):
7398  return _object_cast_to_SingletonScore(o)
7399 
7400  def __disown__(self):
7401  self.this.disown()
7402  _IMP_kernel.disown_SingletonScore(self)
7403  return weakref.proxy(self)
7404 
7405  def do_get_inputs(self, m, pis):
7406  r"""do_get_inputs(SingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7407  return _IMP_kernel.SingletonScore_do_get_inputs(self, m, pis)
7408 
7409  def do_destroy(self):
7410  r"""do_destroy(SingletonScore self)"""
7411  return _IMP_kernel.SingletonScore_do_destroy(self)
7412 
7413 # Register SingletonScore in _IMP_kernel:
7414 _IMP_kernel.SingletonScore_swigregister(SingletonScore)
7415 class SingletonPredicate(_ParticleInputs, Object):
7416  r"""Proxy of C++ IMP::SingletonPredicate class."""
7417 
7418  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7419 
7420  def __init__(self, *args):
7421  r"""__init__(SingletonPredicate self, std::string name="SingletonPredicate %1%") -> SingletonPredicate"""
7422  if self.__class__ == SingletonPredicate:
7423  _self = None
7424  else:
7425  _self = self
7426  _IMP_kernel.SingletonPredicate_swiginit(self, _IMP_kernel.new_SingletonPredicate(_self, *args))
7427 
7428  if self.__class__ != SingletonPredicate:
7429  _director_objects.register(self)
7430 
7431 
7432 
7433 
7434  def setup_for_get_value_index_in_batch(self, arg0):
7435  r"""setup_for_get_value_index_in_batch(SingletonPredicate self, Model arg0)"""
7436  return _IMP_kernel.SingletonPredicate_setup_for_get_value_index_in_batch(self, arg0)
7437 
7438  def get_value_index_in_batch(self, m, vt):
7439  r"""get_value_index_in_batch(SingletonPredicate self, Model m, ParticleIndex vt) -> int"""
7440  return _IMP_kernel.SingletonPredicate_get_value_index_in_batch(self, m, vt)
7441 
7442  def __call__(self, m, vt):
7443  r"""__call__(SingletonPredicate self, Model m, ParticleIndex vt) -> int"""
7444  return _IMP_kernel.SingletonPredicate___call__(self, m, vt)
7445 
7446  def get_value_index(self, *args):
7447  r"""
7448  get_value_index(SingletonPredicate self, Model m, ParticleIndex vt) -> int
7449  get_value_index(SingletonPredicate self, Model m, IMP::ParticleIndexes const & o) -> IMP::Ints
7450  """
7451  return _IMP_kernel.SingletonPredicate_get_value_index(self, *args)
7452  __swig_destroy__ = _IMP_kernel.delete_SingletonPredicate
7453 
7454  def __str__(self):
7455  r"""__str__(SingletonPredicate self) -> std::string"""
7456  return _IMP_kernel.SingletonPredicate___str__(self)
7457 
7458  def __repr__(self):
7459  r"""__repr__(SingletonPredicate self) -> std::string"""
7460  return _IMP_kernel.SingletonPredicate___repr__(self)
7461 
7462  @staticmethod
7463  def get_from(o):
7464  return _object_cast_to_SingletonPredicate(o)
7465 
7466 
7467  def do_show(self, out):
7468  pass
7469 
7470  @staticmethod
7471  def get_from(o):
7472  return _object_cast_to_SingletonPredicate(o)
7473 
7474  def __disown__(self):
7475  self.this.disown()
7476  _IMP_kernel.disown_SingletonPredicate(self)
7477  return weakref.proxy(self)
7478 
7479  def do_get_inputs(self, m, pis):
7480  r"""do_get_inputs(SingletonPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7481  return _IMP_kernel.SingletonPredicate_do_get_inputs(self, m, pis)
7482 
7483  def do_destroy(self):
7484  r"""do_destroy(SingletonPredicate self)"""
7485  return _IMP_kernel.SingletonPredicate_do_destroy(self)
7486 
7487 # Register SingletonPredicate in _IMP_kernel:
7488 _IMP_kernel.SingletonPredicate_swigregister(SingletonPredicate)
7490  r"""Proxy of C++ IMP::SingletonContainer class."""
7491 
7492  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7493 
7494  def apply_generic(self, m):
7495  r"""apply_generic(SingletonContainer self, SingletonModifier m)"""
7496  return _IMP_kernel.SingletonContainer_apply_generic(self, m)
7497 
7498  def apply_generic_moved(self, m, moved_pis, reset_pis):
7499  r"""apply_generic_moved(SingletonContainer self, SingletonModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7500  return _IMP_kernel.SingletonContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
7501 
7502  def apply(self, sm):
7503  r"""apply(SingletonContainer self, SingletonModifier sm)"""
7504  return _IMP_kernel.SingletonContainer_apply(self, sm)
7505 
7506  def apply_moved(self, sm, moved_pis, reset_pis):
7507  r"""apply_moved(SingletonContainer self, SingletonModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7508  return _IMP_kernel.SingletonContainer_apply_moved(self, sm, moved_pis, reset_pis)
7509 
7510  def get_range_indexes(self):
7511  r"""get_range_indexes(SingletonContainer self) -> IMP::ParticleIndexes"""
7512  return _IMP_kernel.SingletonContainer_get_range_indexes(self)
7513 
7514  def get_contents(self):
7515  r"""get_contents(SingletonContainer self) -> IMP::ParticleIndexes const &"""
7516  return _IMP_kernel.SingletonContainer_get_contents(self)
7517 
7518  def get_indexes(self):
7519  r"""get_indexes(SingletonContainer self) -> IMP::ParticleIndexes"""
7520  return _IMP_kernel.SingletonContainer_get_indexes(self)
7521 
7522  def get(self, *args):
7523  r"""
7524  get(SingletonContainer self) -> IMP::ParticlesTemp
7525  get(SingletonContainer self, unsigned int i) -> Particle
7526  """
7527  return _IMP_kernel.SingletonContainer_get(self, *args)
7528 
7529  def get_number(self):
7530  r"""get_number(SingletonContainer self) -> unsigned int"""
7531  return _IMP_kernel.SingletonContainer_get_number(self)
7532 
7533  def __init__(self, *args):
7534  r"""
7535  __init__(SingletonContainer self, Model m, std::string name="SingletonContainer %1%") -> SingletonContainer
7536  __init__(SingletonContainer self) -> SingletonContainer
7537  """
7538  if self.__class__ == SingletonContainer:
7539  _self = None
7540  else:
7541  _self = self
7542  _IMP_kernel.SingletonContainer_swiginit(self, _IMP_kernel.new_SingletonContainer(_self, *args))
7543 
7544  if self.__class__ != SingletonContainer:
7545  _director_objects.register(self)
7546 
7547 
7548 
7549 
7550  def do_apply(self, sm):
7551  r"""do_apply(SingletonContainer self, SingletonModifier sm)"""
7552  return _IMP_kernel.SingletonContainer_do_apply(self, sm)
7553 
7554  def do_apply_moved(self, sm, moved_pis, reset_pis):
7555  r"""do_apply_moved(SingletonContainer self, SingletonModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7556  return _IMP_kernel.SingletonContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
7557 
7558  def do_get_provides_access(self):
7559  r"""do_get_provides_access(SingletonContainer self) -> bool"""
7560  return _IMP_kernel.SingletonContainer_do_get_provides_access(self)
7561  __swig_destroy__ = _IMP_kernel.delete_SingletonContainer
7562 
7563  def __str__(self):
7564  r"""__str__(SingletonContainer self) -> std::string"""
7565  return _IMP_kernel.SingletonContainer___str__(self)
7566 
7567  def __repr__(self):
7568  r"""__repr__(SingletonContainer self) -> std::string"""
7569  return _IMP_kernel.SingletonContainer___repr__(self)
7570 
7571  @staticmethod
7572  def get_from(o):
7573  return _object_cast_to_SingletonContainer(o)
7574 
7575 
7576  def do_show(self, out):
7577  pass
7578 
7579  @staticmethod
7580  def get_from(o):
7581  return _object_cast_to_SingletonContainer(o)
7582 
7583  def __disown__(self):
7584  self.this.disown()
7585  _IMP_kernel.disown_SingletonContainer(self)
7586  return weakref.proxy(self)
7587 
7588  def do_destroy(self):
7589  r"""do_destroy(SingletonContainer self)"""
7590  return _IMP_kernel.SingletonContainer_do_destroy(self)
7591 
7592  def handle_set_has_required_score_states(self, arg0):
7593  r"""handle_set_has_required_score_states(SingletonContainer self, bool arg0)"""
7594  return _IMP_kernel.SingletonContainer_handle_set_has_required_score_states(self, arg0)
7595 
7596  def do_get_inputs(self):
7597  r"""do_get_inputs(SingletonContainer self) -> IMP::ModelObjectsTemp"""
7598  return _IMP_kernel.SingletonContainer_do_get_inputs(self)
7599 
7600  def do_get_interactions(self):
7601  r"""do_get_interactions(SingletonContainer self) -> IMP::ModelObjectsTemps"""
7602  return _IMP_kernel.SingletonContainer_do_get_interactions(self)
7603 
7604  def do_get_contents_hash(self):
7605  r"""do_get_contents_hash(SingletonContainer self) -> std::size_t"""
7606  return _IMP_kernel.SingletonContainer_do_get_contents_hash(self)
7607 
7608 # Register SingletonContainer in _IMP_kernel:
7609 _IMP_kernel.SingletonContainer_swigregister(SingletonContainer)
7610 class _SingletonContainerAdaptor(_InputAdaptor):
7611  r"""Proxy of C++ IMP::SingletonContainerAdaptor class."""
7612 
7613  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7614  __repr__ = _swig_repr
7615 
7616  def __init__(self, *args):
7617  r"""
7618  __init__(_SingletonContainerAdaptor self) -> _SingletonContainerAdaptor
7619  __init__(_SingletonContainerAdaptor self, SingletonContainer c) -> _SingletonContainerAdaptor
7620  __init__(_SingletonContainerAdaptor self, IMP::ParticlesTemp const & t) -> _SingletonContainerAdaptor
7621  """
7622  _IMP_kernel._SingletonContainerAdaptor_swiginit(self, _IMP_kernel.new__SingletonContainerAdaptor(*args))
7623 
7624  def set_name_if_default(self, name):
7625  r"""set_name_if_default(_SingletonContainerAdaptor self, std::string name)"""
7626  return _IMP_kernel._SingletonContainerAdaptor_set_name_if_default(self, name)
7627  __swig_destroy__ = _IMP_kernel.delete__SingletonContainerAdaptor
7628 
7629 # Register _SingletonContainerAdaptor in _IMP_kernel:
7630 _IMP_kernel._SingletonContainerAdaptor_swigregister(_SingletonContainerAdaptor)
7631 class TripletModifier(_ParticleInputs, _ParticleOutputs, Object):
7632  r"""Proxy of C++ IMP::TripletModifier class."""
7633 
7634  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7635 
7636  def __init__(self, *args):
7637  r"""__init__(TripletModifier self, std::string name="TripletModifier %1%") -> TripletModifier"""
7638  if self.__class__ == TripletModifier:
7639  _self = None
7640  else:
7641  _self = self
7642  _IMP_kernel.TripletModifier_swiginit(self, _IMP_kernel.new_TripletModifier(_self, *args))
7643 
7644  if self.__class__ != TripletModifier:
7645  _director_objects.register(self)
7646 
7647 
7648 
7649 
7650  def apply_index(self, m, v):
7651  r"""apply_index(TripletModifier self, Model m, IMP::ParticleIndexTriplet const & v)"""
7652  return _IMP_kernel.TripletModifier_apply_index(self, m, v)
7653 
7654  def apply_indexes(self, m, o, lower_bound, upper_bound):
7655  r"""apply_indexes(TripletModifier self, Model m, IMP::ParticleIndexTriplets const & o, unsigned int lower_bound, unsigned int upper_bound)"""
7656  return _IMP_kernel.TripletModifier_apply_indexes(self, m, o, lower_bound, upper_bound)
7657 
7658  def apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis):
7659  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)"""
7660  return _IMP_kernel.TripletModifier_apply_indexes_moved(self, m, o, lower_bound, upper_bound, moved_pis, reset_pis)
7661 
7662  def __str__(self):
7663  r"""__str__(TripletModifier self) -> std::string"""
7664  return _IMP_kernel.TripletModifier___str__(self)
7665 
7666  def __repr__(self):
7667  r"""__repr__(TripletModifier self) -> std::string"""
7668  return _IMP_kernel.TripletModifier___repr__(self)
7669 
7670  @staticmethod
7671  def get_from(o):
7672  return _object_cast_to_TripletModifier(o)
7673 
7674 
7675  def do_show(self, out):
7676  pass
7677 
7678  @staticmethod
7679  def get_from(o):
7680  return _object_cast_to_TripletModifier(o)
7681 
7682  __swig_destroy__ = _IMP_kernel.delete_TripletModifier
7683  def __disown__(self):
7684  self.this.disown()
7685  _IMP_kernel.disown_TripletModifier(self)
7686  return weakref.proxy(self)
7687 
7688  def do_get_inputs(self, m, pis):
7689  r"""do_get_inputs(TripletModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7690  return _IMP_kernel.TripletModifier_do_get_inputs(self, m, pis)
7691 
7692  def do_get_outputs(self, m, pis):
7693  r"""do_get_outputs(TripletModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7694  return _IMP_kernel.TripletModifier_do_get_outputs(self, m, pis)
7695 
7696  def do_destroy(self):
7697  r"""do_destroy(TripletModifier self)"""
7698  return _IMP_kernel.TripletModifier_do_destroy(self)
7699 
7700 # Register TripletModifier in _IMP_kernel:
7701 _IMP_kernel.TripletModifier_swigregister(TripletModifier)
7702 class TripletScore(_ParticleInputs, Object):
7703  r"""Proxy of C++ IMP::TripletScore class."""
7704 
7705  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7706 
7707  def __init__(self, *args):
7708  r"""__init__(TripletScore self, std::string name="TripletScore %1%") -> TripletScore"""
7709  if self.__class__ == TripletScore:
7710  _self = None
7711  else:
7712  _self = self
7713  _IMP_kernel.TripletScore_swiginit(self, _IMP_kernel.new_TripletScore(_self, *args))
7714 
7715  if self.__class__ != TripletScore:
7716  _director_objects.register(self)
7717 
7718 
7719 
7720 
7721  def evaluate_index(self, m, vt, da):
7722  r"""evaluate_index(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt, DerivativeAccumulator da) -> double"""
7723  return _IMP_kernel.TripletScore_evaluate_index(self, m, vt, da)
7724 
7725  def check_indexes(self, m, pis):
7726  r"""check_indexes(TripletScore self, Model m, IMP::ParticleIndexes const & pis) -> bool"""
7727  return _IMP_kernel.TripletScore_check_indexes(self, m, pis)
7728 
7729  def evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked=False):
7730  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"""
7731  return _IMP_kernel.TripletScore_evaluate_indexes(self, m, o, da, lower_bound, upper_bound, all_indexes_checked)
7732 
7733  def evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7734  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"""
7735  return _IMP_kernel.TripletScore_evaluate_indexes_scores(self, m, o, da, lower_bound, upper_bound, score, all_indexes_checked)
7736 
7737  def evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked=False):
7738  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"""
7739  return _IMP_kernel.TripletScore_evaluate_indexes_delta(self, m, o, da, indexes, score, all_indexes_checked)
7740 
7741  def evaluate_if_good_index(self, m, vt, da, max):
7742  r"""evaluate_if_good_index(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt, DerivativeAccumulator da, double max) -> double"""
7743  return _IMP_kernel.TripletScore_evaluate_if_good_index(self, m, vt, da, max)
7744 
7745  def evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7746  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"""
7747  return _IMP_kernel.TripletScore_evaluate_if_good_indexes(self, m, o, da, max, lower_bound, upper_bound, all_indexes_checked)
7748 
7749  def create_current_decomposition(self, m, vt):
7750  r"""create_current_decomposition(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt) -> IMP::Restraints"""
7751  return _IMP_kernel.TripletScore_create_current_decomposition(self, m, vt)
7752 
7753  def do_create_current_decomposition(self, m, vt):
7754  r"""do_create_current_decomposition(TripletScore self, Model m, IMP::ParticleIndexTriplet const & vt) -> IMP::Restraints"""
7755  return _IMP_kernel.TripletScore_do_create_current_decomposition(self, m, vt)
7756  __swig_destroy__ = _IMP_kernel.delete_TripletScore
7757 
7758  def __str__(self):
7759  r"""__str__(TripletScore self) -> std::string"""
7760  return _IMP_kernel.TripletScore___str__(self)
7761 
7762  def __repr__(self):
7763  r"""__repr__(TripletScore self) -> std::string"""
7764  return _IMP_kernel.TripletScore___repr__(self)
7765 
7766  @staticmethod
7767  def get_from(o):
7768  return _object_cast_to_TripletScore(o)
7769 
7770 
7771  def do_show(self, out):
7772  pass
7773 
7774  @staticmethod
7775  def get_from(o):
7776  return _object_cast_to_TripletScore(o)
7777 
7778  def __disown__(self):
7779  self.this.disown()
7780  _IMP_kernel.disown_TripletScore(self)
7781  return weakref.proxy(self)
7782 
7783  def do_get_inputs(self, m, pis):
7784  r"""do_get_inputs(TripletScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7785  return _IMP_kernel.TripletScore_do_get_inputs(self, m, pis)
7786 
7787  def do_destroy(self):
7788  r"""do_destroy(TripletScore self)"""
7789  return _IMP_kernel.TripletScore_do_destroy(self)
7790 
7791 # Register TripletScore in _IMP_kernel:
7792 _IMP_kernel.TripletScore_swigregister(TripletScore)
7793 class TripletPredicate(_ParticleInputs, Object):
7794  r"""Proxy of C++ IMP::TripletPredicate class."""
7795 
7796  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7797 
7798  def __init__(self, *args):
7799  r"""__init__(TripletPredicate self, std::string name="TripletPredicate %1%") -> TripletPredicate"""
7800  if self.__class__ == TripletPredicate:
7801  _self = None
7802  else:
7803  _self = self
7804  _IMP_kernel.TripletPredicate_swiginit(self, _IMP_kernel.new_TripletPredicate(_self, *args))
7805 
7806  if self.__class__ != TripletPredicate:
7807  _director_objects.register(self)
7808 
7809 
7810 
7811 
7812  def setup_for_get_value_index_in_batch(self, arg0):
7813  r"""setup_for_get_value_index_in_batch(TripletPredicate self, Model arg0)"""
7814  return _IMP_kernel.TripletPredicate_setup_for_get_value_index_in_batch(self, arg0)
7815 
7816  def get_value_index_in_batch(self, m, vt):
7817  r"""get_value_index_in_batch(TripletPredicate self, Model m, IMP::ParticleIndexTriplet const & vt) -> int"""
7818  return _IMP_kernel.TripletPredicate_get_value_index_in_batch(self, m, vt)
7819 
7820  def __call__(self, m, vt):
7821  r"""__call__(TripletPredicate self, Model m, IMP::ParticleIndexTriplet const & vt) -> int"""
7822  return _IMP_kernel.TripletPredicate___call__(self, m, vt)
7823 
7824  def get_value_index(self, *args):
7825  r"""
7826  get_value_index(TripletPredicate self, Model m, IMP::ParticleIndexTriplet const & vt) -> int
7827  get_value_index(TripletPredicate self, Model m, IMP::ParticleIndexTriplets const & o) -> IMP::Ints
7828  """
7829  return _IMP_kernel.TripletPredicate_get_value_index(self, *args)
7830  __swig_destroy__ = _IMP_kernel.delete_TripletPredicate
7831 
7832  def __str__(self):
7833  r"""__str__(TripletPredicate self) -> std::string"""
7834  return _IMP_kernel.TripletPredicate___str__(self)
7835 
7836  def __repr__(self):
7837  r"""__repr__(TripletPredicate self) -> std::string"""
7838  return _IMP_kernel.TripletPredicate___repr__(self)
7839 
7840  @staticmethod
7841  def get_from(o):
7842  return _object_cast_to_TripletPredicate(o)
7843 
7844 
7845  def do_show(self, out):
7846  pass
7847 
7848  @staticmethod
7849  def get_from(o):
7850  return _object_cast_to_TripletPredicate(o)
7851 
7852  def __disown__(self):
7853  self.this.disown()
7854  _IMP_kernel.disown_TripletPredicate(self)
7855  return weakref.proxy(self)
7856 
7857  def do_get_inputs(self, m, pis):
7858  r"""do_get_inputs(TripletPredicate self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7859  return _IMP_kernel.TripletPredicate_do_get_inputs(self, m, pis)
7860 
7861  def do_destroy(self):
7862  r"""do_destroy(TripletPredicate self)"""
7863  return _IMP_kernel.TripletPredicate_do_destroy(self)
7864 
7865 # Register TripletPredicate in _IMP_kernel:
7866 _IMP_kernel.TripletPredicate_swigregister(TripletPredicate)
7868  r"""Proxy of C++ IMP::TripletContainer class."""
7869 
7870  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7871 
7872  def apply_generic(self, m):
7873  r"""apply_generic(TripletContainer self, TripletModifier m)"""
7874  return _IMP_kernel.TripletContainer_apply_generic(self, m)
7875 
7876  def apply_generic_moved(self, m, moved_pis, reset_pis):
7877  r"""apply_generic_moved(TripletContainer self, TripletModifier m, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7878  return _IMP_kernel.TripletContainer_apply_generic_moved(self, m, moved_pis, reset_pis)
7879 
7880  def apply(self, sm):
7881  r"""apply(TripletContainer self, TripletModifier sm)"""
7882  return _IMP_kernel.TripletContainer_apply(self, sm)
7883 
7884  def apply_moved(self, sm, moved_pis, reset_pis):
7885  r"""apply_moved(TripletContainer self, TripletModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7886  return _IMP_kernel.TripletContainer_apply_moved(self, sm, moved_pis, reset_pis)
7887 
7888  def get_range_indexes(self):
7889  r"""get_range_indexes(TripletContainer self) -> IMP::ParticleIndexTriplets"""
7890  return _IMP_kernel.TripletContainer_get_range_indexes(self)
7891 
7892  def get_contents(self):
7893  r"""get_contents(TripletContainer self) -> IMP::ParticleIndexTriplets const &"""
7894  return _IMP_kernel.TripletContainer_get_contents(self)
7895 
7896  def get_indexes(self):
7897  r"""get_indexes(TripletContainer self) -> IMP::ParticleIndexTriplets"""
7898  return _IMP_kernel.TripletContainer_get_indexes(self)
7899 
7900  def get(self, *args):
7901  r"""
7902  get(TripletContainer self) -> IMP::ParticleTripletsTemp
7903  get(TripletContainer self, unsigned int i) -> IMP::ParticleTriplet
7904  """
7905  return _IMP_kernel.TripletContainer_get(self, *args)
7906 
7907  def get_number(self):
7908  r"""get_number(TripletContainer self) -> unsigned int"""
7909  return _IMP_kernel.TripletContainer_get_number(self)
7910 
7911  def __init__(self, *args):
7912  r"""
7913  __init__(TripletContainer self, Model m, std::string name="TripletContainer %1%") -> TripletContainer
7914  __init__(TripletContainer self) -> TripletContainer
7915  """
7916  if self.__class__ == TripletContainer:
7917  _self = None
7918  else:
7919  _self = self
7920  _IMP_kernel.TripletContainer_swiginit(self, _IMP_kernel.new_TripletContainer(_self, *args))
7921 
7922  if self.__class__ != TripletContainer:
7923  _director_objects.register(self)
7924 
7925 
7926 
7927 
7928  def do_apply(self, sm):
7929  r"""do_apply(TripletContainer self, TripletModifier sm)"""
7930  return _IMP_kernel.TripletContainer_do_apply(self, sm)
7931 
7932  def do_apply_moved(self, sm, moved_pis, reset_pis):
7933  r"""do_apply_moved(TripletContainer self, TripletModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
7934  return _IMP_kernel.TripletContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
7935 
7936  def do_get_provides_access(self):
7937  r"""do_get_provides_access(TripletContainer self) -> bool"""
7938  return _IMP_kernel.TripletContainer_do_get_provides_access(self)
7939  __swig_destroy__ = _IMP_kernel.delete_TripletContainer
7940 
7941  def __str__(self):
7942  r"""__str__(TripletContainer self) -> std::string"""
7943  return _IMP_kernel.TripletContainer___str__(self)
7944 
7945  def __repr__(self):
7946  r"""__repr__(TripletContainer self) -> std::string"""
7947  return _IMP_kernel.TripletContainer___repr__(self)
7948 
7949  @staticmethod
7950  def get_from(o):
7951  return _object_cast_to_TripletContainer(o)
7952 
7953 
7954  def do_show(self, out):
7955  pass
7956 
7957  @staticmethod
7958  def get_from(o):
7959  return _object_cast_to_TripletContainer(o)
7960 
7961  def __disown__(self):
7962  self.this.disown()
7963  _IMP_kernel.disown_TripletContainer(self)
7964  return weakref.proxy(self)
7965 
7966  def do_destroy(self):
7967  r"""do_destroy(TripletContainer self)"""
7968  return _IMP_kernel.TripletContainer_do_destroy(self)
7969 
7970  def handle_set_has_required_score_states(self, arg0):
7971  r"""handle_set_has_required_score_states(TripletContainer self, bool arg0)"""
7972  return _IMP_kernel.TripletContainer_handle_set_has_required_score_states(self, arg0)
7973 
7974  def do_get_inputs(self):
7975  r"""do_get_inputs(TripletContainer self) -> IMP::ModelObjectsTemp"""
7976  return _IMP_kernel.TripletContainer_do_get_inputs(self)
7977 
7978  def do_get_interactions(self):
7979  r"""do_get_interactions(TripletContainer self) -> IMP::ModelObjectsTemps"""
7980  return _IMP_kernel.TripletContainer_do_get_interactions(self)
7981 
7982  def do_get_contents_hash(self):
7983  r"""do_get_contents_hash(TripletContainer self) -> std::size_t"""
7984  return _IMP_kernel.TripletContainer_do_get_contents_hash(self)
7985 
7986 # Register TripletContainer in _IMP_kernel:
7987 _IMP_kernel.TripletContainer_swigregister(TripletContainer)
7988 class _TripletContainerAdaptor(_InputAdaptor):
7989  r"""Proxy of C++ IMP::TripletContainerAdaptor class."""
7990 
7991  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7992  __repr__ = _swig_repr
7993 
7994  def __init__(self, *args):
7995  r"""
7996  __init__(_TripletContainerAdaptor self) -> _TripletContainerAdaptor
7997  __init__(_TripletContainerAdaptor self, TripletContainer c) -> _TripletContainerAdaptor
7998  __init__(_TripletContainerAdaptor self, IMP::ParticleTripletsTemp const & t) -> _TripletContainerAdaptor
7999  """
8000  _IMP_kernel._TripletContainerAdaptor_swiginit(self, _IMP_kernel.new__TripletContainerAdaptor(*args))
8001 
8002  def set_name_if_default(self, name):
8003  r"""set_name_if_default(_TripletContainerAdaptor self, std::string name)"""
8004  return _IMP_kernel._TripletContainerAdaptor_set_name_if_default(self, name)
8005  __swig_destroy__ = _IMP_kernel.delete__TripletContainerAdaptor
8006 
8007 # Register _TripletContainerAdaptor in _IMP_kernel:
8008 _IMP_kernel._TripletContainerAdaptor_swigregister(_TripletContainerAdaptor)
8009 
8010 def write_particles_to_buffer(particles, keys):
8011  r"""write_particles_to_buffer(IMP::ParticlesTemp const & particles, IMP::FloatKeys const & keys) -> IMP::Vector< char,std::allocator< char > >"""
8012  return _IMP_kernel.write_particles_to_buffer(particles, keys)
8013 
8014 def read_particles_from_buffer(buffer, particles, keys):
8015  r"""read_particles_from_buffer(IMP::Vector< char,std::allocator< char > > const & buffer, IMP::ParticlesTemp const & particles, IMP::FloatKeys const & keys)"""
8016  return _IMP_kernel.read_particles_from_buffer(buffer, particles, keys)
8017 
8018 def get_particles(m, ps):
8019  r"""get_particles(Model m, IMP::ParticleIndexes const & ps) -> IMP::ParticlesTemp"""
8020  return _IMP_kernel.get_particles(m, ps)
8021 
8022 def get_indexes(*args):
8023  r"""
8024  get_indexes(IMP::ParticlesTemp const & ps) -> IMP::ParticleIndexes
8025  get_indexes(IMP::ParticlePairsTemp const & ps) -> IMP::ParticleIndexPairs
8026  """
8027  return _IMP_kernel.get_indexes(*args)
8028 class _ParticleIndexAdaptor(object):
8029  r"""Proxy of C++ IMP::ParticleIndexAdaptor class."""
8030 
8031  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8032  __repr__ = _swig_repr
8033 
8034  def __init__(self, *args):
8035  r"""
8036  __init__(_ParticleIndexAdaptor self, Particle p) -> _ParticleIndexAdaptor
8037  __init__(_ParticleIndexAdaptor self, ParticleIndex pi) -> _ParticleIndexAdaptor
8038  __init__(_ParticleIndexAdaptor self, Decorator d) -> _ParticleIndexAdaptor
8039  """
8040  _IMP_kernel._ParticleIndexAdaptor_swiginit(self, _IMP_kernel.new__ParticleIndexAdaptor(*args))
8041  __swig_destroy__ = _IMP_kernel.delete__ParticleIndexAdaptor
8042 
8043 # Register _ParticleIndexAdaptor in _IMP_kernel:
8044 _IMP_kernel._ParticleIndexAdaptor_swigregister(_ParticleIndexAdaptor)
8045 class _ParticleIndexesAdaptor(_InputAdaptor):
8046  r"""Proxy of C++ IMP::ParticleIndexesAdaptor class."""
8047 
8048  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8049  __repr__ = _swig_repr
8050 
8051  def __init__(self, *args):
8052  r"""
8053  __init__(_ParticleIndexesAdaptor self, IMP::ParticlesTemp const & ps) -> _ParticleIndexesAdaptor
8054  __init__(_ParticleIndexesAdaptor self, IMP::ParticleIndexes const & pi) -> _ParticleIndexesAdaptor
8055  __init__(_ParticleIndexesAdaptor self) -> _ParticleIndexesAdaptor
8056  """
8057  _IMP_kernel._ParticleIndexesAdaptor_swiginit(self, _IMP_kernel.new__ParticleIndexesAdaptor(*args))
8058  __swig_destroy__ = _IMP_kernel.delete__ParticleIndexesAdaptor
8059 
8060 # Register _ParticleIndexesAdaptor in _IMP_kernel:
8061 _IMP_kernel._ParticleIndexesAdaptor_swigregister(_ParticleIndexesAdaptor)
8062 class _ParticleIndexPairsAdaptor(object):
8063  r"""Proxy of C++ IMP::ParticleIndexPairsAdaptor class."""
8064 
8065  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8066  __repr__ = _swig_repr
8067 
8068  def __init__(self, *args):
8069  r"""
8070  __init__(_ParticleIndexPairsAdaptor self, IMP::ParticlePairsTemp const & ps) -> _ParticleIndexPairsAdaptor
8071  __init__(_ParticleIndexPairsAdaptor self, IMP::ParticleIndexPairs const & pi) -> _ParticleIndexPairsAdaptor
8072  __init__(_ParticleIndexPairsAdaptor self) -> _ParticleIndexPairsAdaptor
8073  """
8074  _IMP_kernel._ParticleIndexPairsAdaptor_swiginit(self, _IMP_kernel.new__ParticleIndexPairsAdaptor(*args))
8075  __swig_destroy__ = _IMP_kernel.delete__ParticleIndexPairsAdaptor
8076 
8077 # Register _ParticleIndexPairsAdaptor in _IMP_kernel:
8078 _IMP_kernel._ParticleIndexPairsAdaptor_swigregister(_ParticleIndexPairsAdaptor)
8079 class _ConstRestraint(Restraint):
8080  r"""Proxy of C++ IMP::internal::_ConstRestraint class."""
8081 
8082  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8083 
8084  def __init__(self, *args):
8085  r"""
8086  __init__(_ConstRestraint self, Model m, IMP::ParticleIndexes const & pis, double v) -> _ConstRestraint
8087  __init__(_ConstRestraint self) -> _ConstRestraint
8088  """
8089  _IMP_kernel._ConstRestraint_swiginit(self, _IMP_kernel.new__ConstRestraint(*args))
8090 
8091  def get_value(self):
8092  r"""get_value(_ConstRestraint self) -> double"""
8093  return _IMP_kernel._ConstRestraint_get_value(self)
8094 
8095  def do_create_decomposition(self):
8096  r"""do_create_decomposition(_ConstRestraint self) -> IMP::Restraints"""
8097  return _IMP_kernel._ConstRestraint_do_create_decomposition(self)
8098 
8099  def do_get_inputs(self):
8100  r"""do_get_inputs(_ConstRestraint self) -> IMP::ModelObjectsTemp"""
8101  return _IMP_kernel._ConstRestraint_do_get_inputs(self)
8102 
8103  def get_version_info(self):
8104  r"""get_version_info(_ConstRestraint self) -> VersionInfo"""
8105  return _IMP_kernel._ConstRestraint_get_version_info(self)
8106  __swig_destroy__ = _IMP_kernel.delete__ConstRestraint
8107 
8108  def _get_jax(self):
8109  value = self.get_value()
8110  return self._wrap_jax(lambda X: value)
8111 
8112 
8113  def __str__(self):
8114  r"""__str__(_ConstRestraint self) -> std::string"""
8115  return _IMP_kernel._ConstRestraint___str__(self)
8116 
8117  def __repr__(self):
8118  r"""__repr__(_ConstRestraint self) -> std::string"""
8119  return _IMP_kernel._ConstRestraint___repr__(self)
8120 
8121  @staticmethod
8122  def get_from(o):
8123  return _object_cast_to__ConstRestraint(o)
8124 
8125 
8126  def _get_as_binary(self):
8127  r"""_get_as_binary(_ConstRestraint self) -> PyObject *"""
8128  return _IMP_kernel._ConstRestraint__get_as_binary(self)
8129 
8130  def _set_from_binary(self, p):
8131  r"""_set_from_binary(_ConstRestraint self, PyObject * p)"""
8132  return _IMP_kernel._ConstRestraint__set_from_binary(self, p)
8133 
8134  def __getstate__(self):
8135  p = self._get_as_binary()
8136  if len(self.__dict__) > 1:
8137  d = self.__dict__.copy()
8138  del d['this']
8139  p = (d, p)
8140  return p
8141 
8142  def __setstate__(self, p):
8143  if not hasattr(self, 'this'):
8144  self.__init__()
8145  if isinstance(p, tuple):
8146  d, p = p
8147  self.__dict__.update(d)
8148  return self._set_from_binary(p)
8149 
8150 
8151 # Register _ConstRestraint in _IMP_kernel:
8152 _IMP_kernel._ConstRestraint_swigregister(_ConstRestraint)
8153 class _ConstSingletonScore(SingletonScore):
8154  r"""Proxy of C++ IMP::internal::_ConstSingletonScore class."""
8155 
8156  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8157 
8158  def __init__(self, *args):
8159  r"""
8160  __init__(_ConstSingletonScore self, double v) -> _ConstSingletonScore
8161  __init__(_ConstSingletonScore self) -> _ConstSingletonScore
8162  """
8163  _IMP_kernel._ConstSingletonScore_swiginit(self, _IMP_kernel.new__ConstSingletonScore(*args))
8164 
8165  def do_get_inputs(self, arg2, arg3):
8166  r"""do_get_inputs(_ConstSingletonScore self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
8167  return _IMP_kernel._ConstSingletonScore_do_get_inputs(self, arg2, arg3)
8168 
8169  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
8170  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"""
8171  return _IMP_kernel._ConstSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
8172 
8173  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
8174  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"""
8175  return _IMP_kernel._ConstSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
8176 
8177  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
8178  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"""
8179  return _IMP_kernel._ConstSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
8180 
8181  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
8182  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"""
8183  return _IMP_kernel._ConstSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
8184 
8185  def get_version_info(self):
8186  r"""get_version_info(_ConstSingletonScore self) -> VersionInfo"""
8187  return _IMP_kernel._ConstSingletonScore_get_version_info(self)
8188  __swig_destroy__ = _IMP_kernel.delete__ConstSingletonScore
8189 
8190  def __str__(self):
8191  r"""__str__(_ConstSingletonScore self) -> std::string"""
8192  return _IMP_kernel._ConstSingletonScore___str__(self)
8193 
8194  def __repr__(self):
8195  r"""__repr__(_ConstSingletonScore self) -> std::string"""
8196  return _IMP_kernel._ConstSingletonScore___repr__(self)
8197 
8198  @staticmethod
8199  def get_from(o):
8200  return _object_cast_to__ConstSingletonScore(o)
8201 
8202 
8203  def _get_as_binary(self):
8204  r"""_get_as_binary(_ConstSingletonScore self) -> PyObject *"""
8205  return _IMP_kernel._ConstSingletonScore__get_as_binary(self)
8206 
8207  def _set_from_binary(self, p):
8208  r"""_set_from_binary(_ConstSingletonScore self, PyObject * p)"""
8209  return _IMP_kernel._ConstSingletonScore__set_from_binary(self, p)
8210 
8211  def __getstate__(self):
8212  p = self._get_as_binary()
8213  if len(self.__dict__) > 1:
8214  d = self.__dict__.copy()
8215  del d['this']
8216  p = (d, p)
8217  return p
8218 
8219  def __setstate__(self, p):
8220  if not hasattr(self, 'this'):
8221  self.__init__()
8222  if isinstance(p, tuple):
8223  d, p = p
8224  self.__dict__.update(d)
8225  return self._set_from_binary(p)
8226 
8227 
8228 # Register _ConstSingletonScore in _IMP_kernel:
8229 _IMP_kernel._ConstSingletonScore_swigregister(_ConstSingletonScore)
8230 class _ConstPairScore(PairScore):
8231  r"""Proxy of C++ IMP::internal::_ConstPairScore class."""
8232 
8233  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8234 
8235  def __init__(self, *args):
8236  r"""
8237  __init__(_ConstPairScore self, double v) -> _ConstPairScore
8238  __init__(_ConstPairScore self) -> _ConstPairScore
8239  """
8240  _IMP_kernel._ConstPairScore_swiginit(self, _IMP_kernel.new__ConstPairScore(*args))
8241 
8242  def do_get_inputs(self, arg2, arg3):
8243  r"""do_get_inputs(_ConstPairScore self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
8244  return _IMP_kernel._ConstPairScore_do_get_inputs(self, arg2, arg3)
8245 
8246  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
8247  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"""
8248  return _IMP_kernel._ConstPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
8249 
8250  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
8251  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"""
8252  return _IMP_kernel._ConstPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
8253 
8254  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
8255  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"""
8256  return _IMP_kernel._ConstPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
8257 
8258  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
8259  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"""
8260  return _IMP_kernel._ConstPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
8261 
8262  def get_version_info(self):
8263  r"""get_version_info(_ConstPairScore self) -> VersionInfo"""
8264  return _IMP_kernel._ConstPairScore_get_version_info(self)
8265  __swig_destroy__ = _IMP_kernel.delete__ConstPairScore
8266 
8267  def __str__(self):
8268  r"""__str__(_ConstPairScore self) -> std::string"""
8269  return _IMP_kernel._ConstPairScore___str__(self)
8270 
8271  def __repr__(self):
8272  r"""__repr__(_ConstPairScore self) -> std::string"""
8273  return _IMP_kernel._ConstPairScore___repr__(self)
8274 
8275  @staticmethod
8276  def get_from(o):
8277  return _object_cast_to__ConstPairScore(o)
8278 
8279 
8280  def _get_as_binary(self):
8281  r"""_get_as_binary(_ConstPairScore self) -> PyObject *"""
8282  return _IMP_kernel._ConstPairScore__get_as_binary(self)
8283 
8284  def _set_from_binary(self, p):
8285  r"""_set_from_binary(_ConstPairScore self, PyObject * p)"""
8286  return _IMP_kernel._ConstPairScore__set_from_binary(self, p)
8287 
8288  def __getstate__(self):
8289  p = self._get_as_binary()
8290  if len(self.__dict__) > 1:
8291  d = self.__dict__.copy()
8292  del d['this']
8293  p = (d, p)
8294  return p
8295 
8296  def __setstate__(self, p):
8297  if not hasattr(self, 'this'):
8298  self.__init__()
8299  if isinstance(p, tuple):
8300  d, p = p
8301  self.__dict__.update(d)
8302  return self._set_from_binary(p)
8303 
8304 
8305 # Register _ConstPairScore in _IMP_kernel:
8306 _IMP_kernel._ConstPairScore_swigregister(_ConstPairScore)
8307 class _TrivialDecorator(Decorator):
8308  r"""Proxy of C++ IMP::internal::_TrivialDecorator class."""
8309 
8310  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8311 
8312  def __init__(self, *args):
8313  r"""
8314  __init__(_TrivialDecorator self) -> _TrivialDecorator
8315  __init__(_TrivialDecorator self, Model m, ParticleIndex id) -> _TrivialDecorator
8316  __init__(_TrivialDecorator self, _ParticleAdaptor d) -> _TrivialDecorator
8317  """
8318  _IMP_kernel._TrivialDecorator_swiginit(self, _IMP_kernel.new__TrivialDecorator(*args))
8319 
8320  def show(self, *args):
8321  r"""show(_TrivialDecorator self, _ostream out=std::cout)"""
8322  return _IMP_kernel._TrivialDecorator_show(self, *args)
8323 
8324  @staticmethod
8325  def setup_particle(*args):
8326  r"""
8327  setup_particle(Model m, ParticleIndex pi) -> _TrivialDecorator
8328  setup_particle(_ParticleAdaptor pa) -> _TrivialDecorator
8329  """
8330  return _IMP_kernel._TrivialDecorator_setup_particle(*args)
8331 
8332  @staticmethod
8333  def get_is_setup(*args):
8334  r"""
8335  get_is_setup(_ParticleAdaptor p) -> bool
8336  get_is_setup(Model m, ParticleIndex pi) -> bool
8337  """
8338  return _IMP_kernel._TrivialDecorator_get_is_setup(*args)
8339 
8340  def add_attribute(self, *args):
8341  r"""
8342  add_attribute(_TrivialDecorator self, FloatKey k, IMP::Float v, bool opt)
8343  add_attribute(_TrivialDecorator self, FloatKey a0, IMP::Float a1)
8344  add_attribute(_TrivialDecorator self, IntKey a0, IMP::Int a1)
8345  add_attribute(_TrivialDecorator self, FloatsKey a0, IMP::Floats a1)
8346  add_attribute(_TrivialDecorator self, IntsKey a0, IMP::Ints a1)
8347  add_attribute(_TrivialDecorator self, StringKey a0, IMP::String a1)
8348  add_attribute(_TrivialDecorator self, ParticleIndexKey a0, Particle a1)
8349  add_attribute(_TrivialDecorator self, ObjectKey a0, Object a1)
8350  add_attribute(_TrivialDecorator self, SparseFloatKey a0, IMP::Float a1)
8351  add_attribute(_TrivialDecorator self, SparseIntKey a0, IMP::Int a1)
8352  add_attribute(_TrivialDecorator self, SparseStringKey a0, IMP::String a1)
8353  add_attribute(_TrivialDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
8354  """
8355  return _IMP_kernel._TrivialDecorator_add_attribute(self, *args)
8356 
8357  def get_value(self, *args):
8358  r"""
8359  get_value(_TrivialDecorator self, FloatKey a0) -> IMP::Float
8360  get_value(_TrivialDecorator self, IntKey a0) -> IMP::Int
8361  get_value(_TrivialDecorator self, FloatsKey a0) -> IMP::Floats
8362  get_value(_TrivialDecorator self, IntsKey a0) -> IMP::Ints
8363  get_value(_TrivialDecorator self, StringKey a0) -> IMP::String
8364  get_value(_TrivialDecorator self, ParticleIndexKey a0) -> Particle
8365  get_value(_TrivialDecorator self, ObjectKey a0) -> Object
8366  get_value(_TrivialDecorator self, SparseFloatKey a0) -> IMP::Float
8367  get_value(_TrivialDecorator self, SparseIntKey a0) -> IMP::Int
8368  get_value(_TrivialDecorator self, SparseStringKey a0) -> IMP::String
8369  get_value(_TrivialDecorator self, SparseParticleIndexKey a0) -> ParticleIndex
8370  """
8371  return _IMP_kernel._TrivialDecorator_get_value(self, *args)
8372 
8373  def set_value(self, *args):
8374  r"""
8375  set_value(_TrivialDecorator self, FloatKey a0, IMP::Float a1)
8376  set_value(_TrivialDecorator self, IntKey a0, IMP::Int a1)
8377  set_value(_TrivialDecorator self, FloatsKey a0, IMP::Floats a1)
8378  set_value(_TrivialDecorator self, IntsKey a0, IMP::Ints a1)
8379  set_value(_TrivialDecorator self, StringKey a0, IMP::String a1)
8380  set_value(_TrivialDecorator self, ParticleIndexKey a0, Particle a1)
8381  set_value(_TrivialDecorator self, ObjectKey a0, Object a1)
8382  set_value(_TrivialDecorator self, SparseFloatKey a0, IMP::Float a1)
8383  set_value(_TrivialDecorator self, SparseIntKey a0, IMP::Int a1)
8384  set_value(_TrivialDecorator self, SparseStringKey a0, IMP::String a1)
8385  set_value(_TrivialDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
8386  """
8387  return _IMP_kernel._TrivialDecorator_set_value(self, *args)
8388 
8389  def remove_attribute(self, *args):
8390  r"""
8391  remove_attribute(_TrivialDecorator self, FloatKey a0)
8392  remove_attribute(_TrivialDecorator self, IntKey a0)
8393  remove_attribute(_TrivialDecorator self, FloatsKey a0)
8394  remove_attribute(_TrivialDecorator self, IntsKey a0)
8395  remove_attribute(_TrivialDecorator self, StringKey a0)
8396  remove_attribute(_TrivialDecorator self, ParticleIndexKey a0)
8397  remove_attribute(_TrivialDecorator self, ObjectKey a0)
8398  remove_attribute(_TrivialDecorator self, SparseFloatKey a0)
8399  remove_attribute(_TrivialDecorator self, SparseIntKey a0)
8400  remove_attribute(_TrivialDecorator self, SparseStringKey a0)
8401  remove_attribute(_TrivialDecorator self, SparseParticleIndexKey a0)
8402  """
8403  return _IMP_kernel._TrivialDecorator_remove_attribute(self, *args)
8404 
8405  def has_attribute(self, *args):
8406  r"""
8407  has_attribute(_TrivialDecorator self, FloatKey a0) -> bool
8408  has_attribute(_TrivialDecorator self, IntKey a0) -> bool
8409  has_attribute(_TrivialDecorator self, FloatsKey a0) -> bool
8410  has_attribute(_TrivialDecorator self, IntsKey a0) -> bool
8411  has_attribute(_TrivialDecorator self, StringKey a0) -> bool
8412  has_attribute(_TrivialDecorator self, ParticleIndexKey a0) -> bool
8413  has_attribute(_TrivialDecorator self, ObjectKey a0) -> bool
8414  has_attribute(_TrivialDecorator self, SparseFloatKey a0) -> bool
8415  has_attribute(_TrivialDecorator self, SparseIntKey a0) -> bool
8416  has_attribute(_TrivialDecorator self, SparseStringKey a0) -> bool
8417  has_attribute(_TrivialDecorator self, SparseParticleIndexKey a0) -> bool
8418  """
8419  return _IMP_kernel._TrivialDecorator_has_attribute(self, *args)
8420 
8421  def get_derivative(self, a0):
8422  r"""get_derivative(_TrivialDecorator self, FloatKey a0) -> double"""
8423  return _IMP_kernel._TrivialDecorator_get_derivative(self, a0)
8424 
8425  def get_name(self):
8426  r"""get_name(_TrivialDecorator self) -> std::string"""
8427  return _IMP_kernel._TrivialDecorator_get_name(self)
8428 
8429  def clear_caches(self):
8430  r"""clear_caches(_TrivialDecorator self)"""
8431  return _IMP_kernel._TrivialDecorator_clear_caches(self)
8432 
8433  def set_name(self, a0):
8434  r"""set_name(_TrivialDecorator self, std::string a0)"""
8435  return _IMP_kernel._TrivialDecorator_set_name(self, a0)
8436 
8437  def set_check_level(self, a0):
8438  r"""set_check_level(_TrivialDecorator self, IMP::CheckLevel a0)"""
8439  return _IMP_kernel._TrivialDecorator_set_check_level(self, a0)
8440 
8441  def add_to_derivative(self, a0, a1, a2):
8442  r"""add_to_derivative(_TrivialDecorator self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8443  return _IMP_kernel._TrivialDecorator_add_to_derivative(self, a0, a1, a2)
8444 
8445  def set_is_optimized(self, a0, a1):
8446  r"""set_is_optimized(_TrivialDecorator self, FloatKey a0, bool a1)"""
8447  return _IMP_kernel._TrivialDecorator_set_is_optimized(self, a0, a1)
8448 
8449  def get_is_optimized(self, a0):
8450  r"""get_is_optimized(_TrivialDecorator self, FloatKey a0) -> bool"""
8451  return _IMP_kernel._TrivialDecorator_get_is_optimized(self, a0)
8452 
8453  def get_check_level(self):
8454  r"""get_check_level(_TrivialDecorator self) -> IMP::CheckLevel"""
8455  return _IMP_kernel._TrivialDecorator_get_check_level(self)
8456 
8457  def __eq__(self, *args):
8458  r"""
8459  __eq__(_TrivialDecorator self, _TrivialDecorator o) -> bool
8460  __eq__(_TrivialDecorator self, Particle d) -> bool
8461  """
8462  return _IMP_kernel._TrivialDecorator___eq__(self, *args)
8463 
8464  def __ne__(self, *args):
8465  r"""
8466  __ne__(_TrivialDecorator self, _TrivialDecorator o) -> bool
8467  __ne__(_TrivialDecorator self, Particle d) -> bool
8468  """
8469  return _IMP_kernel._TrivialDecorator___ne__(self, *args)
8470 
8471  def __le__(self, *args):
8472  r"""
8473  __le__(_TrivialDecorator self, _TrivialDecorator o) -> bool
8474  __le__(_TrivialDecorator self, Particle d) -> bool
8475  """
8476  return _IMP_kernel._TrivialDecorator___le__(self, *args)
8477 
8478  def __lt__(self, *args):
8479  r"""
8480  __lt__(_TrivialDecorator self, _TrivialDecorator o) -> bool
8481  __lt__(_TrivialDecorator self, Particle d) -> bool
8482  """
8483  return _IMP_kernel._TrivialDecorator___lt__(self, *args)
8484 
8485  def __ge__(self, *args):
8486  r"""
8487  __ge__(_TrivialDecorator self, _TrivialDecorator o) -> bool
8488  __ge__(_TrivialDecorator self, Particle d) -> bool
8489  """
8490  return _IMP_kernel._TrivialDecorator___ge__(self, *args)
8491 
8492  def __gt__(self, *args):
8493  r"""
8494  __gt__(_TrivialDecorator self, _TrivialDecorator o) -> bool
8495  __gt__(_TrivialDecorator self, Particle d) -> bool
8496  """
8497  return _IMP_kernel._TrivialDecorator___gt__(self, *args)
8498 
8499  def __hash__(self):
8500  r"""__hash__(_TrivialDecorator self) -> std::size_t"""
8501  return _IMP_kernel._TrivialDecorator___hash__(self)
8502 
8503  def __str__(self):
8504  r"""__str__(_TrivialDecorator self) -> std::string"""
8505  return _IMP_kernel._TrivialDecorator___str__(self)
8506 
8507  def __repr__(self):
8508  r"""__repr__(_TrivialDecorator self) -> std::string"""
8509  return _IMP_kernel._TrivialDecorator___repr__(self)
8510 
8511  def _get_as_binary(self):
8512  r"""_get_as_binary(_TrivialDecorator self) -> PyObject *"""
8513  return _IMP_kernel._TrivialDecorator__get_as_binary(self)
8514 
8515  def _set_from_binary(self, p):
8516  r"""_set_from_binary(_TrivialDecorator self, PyObject * p)"""
8517  return _IMP_kernel._TrivialDecorator__set_from_binary(self, p)
8518 
8519  def __getstate__(self):
8520  p = self._get_as_binary()
8521  if len(self.__dict__) > 1:
8522  d = self.__dict__.copy()
8523  del d['this']
8524  p = (d, p)
8525  return p
8526 
8527  def __setstate__(self, p):
8528  if not hasattr(self, 'this'):
8529  self.__init__()
8530  if isinstance(p, tuple):
8531  d, p = p
8532  self.__dict__.update(d)
8533  return self._set_from_binary(p)
8534 
8535  __swig_destroy__ = _IMP_kernel.delete__TrivialDecorator
8536 
8537 # Register _TrivialDecorator in _IMP_kernel:
8538 _IMP_kernel._TrivialDecorator_swigregister(_TrivialDecorator)
8539 class _TrivialDerivedDecorator(_TrivialDecorator):
8540  r"""Proxy of C++ IMP::internal::_TrivialDerivedDecorator class."""
8541 
8542  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8543 
8544  def __init__(self, *args):
8545  r"""
8546  __init__(_TrivialDerivedDecorator self) -> _TrivialDerivedDecorator
8547  __init__(_TrivialDerivedDecorator self, Model m, ParticleIndex id) -> _TrivialDerivedDecorator
8548  __init__(_TrivialDerivedDecorator self, _ParticleAdaptor d) -> _TrivialDerivedDecorator
8549  """
8550  _IMP_kernel._TrivialDerivedDecorator_swiginit(self, _IMP_kernel.new__TrivialDerivedDecorator(*args))
8551 
8552  def show(self, *args):
8553  r"""show(_TrivialDerivedDecorator self, _ostream out=std::cout)"""
8554  return _IMP_kernel._TrivialDerivedDecorator_show(self, *args)
8555 
8556  @staticmethod
8557  def setup_particle(*args):
8558  r"""
8559  setup_particle(Model m, ParticleIndex pi) -> _TrivialDerivedDecorator
8560  setup_particle(_ParticleAdaptor pa) -> _TrivialDerivedDecorator
8561  """
8562  return _IMP_kernel._TrivialDerivedDecorator_setup_particle(*args)
8563 
8564  @staticmethod
8565  def get_is_setup(*args):
8566  r"""
8567  get_is_setup(_ParticleAdaptor p) -> bool
8568  get_is_setup(Model m, ParticleIndex pi) -> bool
8569  """
8570  return _IMP_kernel._TrivialDerivedDecorator_get_is_setup(*args)
8571 
8572  def add_attribute(self, *args):
8573  r"""
8574  add_attribute(_TrivialDerivedDecorator self, FloatKey k, IMP::Float v, bool opt)
8575  add_attribute(_TrivialDerivedDecorator self, FloatKey a0, IMP::Float a1)
8576  add_attribute(_TrivialDerivedDecorator self, IntKey a0, IMP::Int a1)
8577  add_attribute(_TrivialDerivedDecorator self, FloatsKey a0, IMP::Floats a1)
8578  add_attribute(_TrivialDerivedDecorator self, IntsKey a0, IMP::Ints a1)
8579  add_attribute(_TrivialDerivedDecorator self, StringKey a0, IMP::String a1)
8580  add_attribute(_TrivialDerivedDecorator self, ParticleIndexKey a0, Particle a1)
8581  add_attribute(_TrivialDerivedDecorator self, ObjectKey a0, Object a1)
8582  add_attribute(_TrivialDerivedDecorator self, SparseFloatKey a0, IMP::Float a1)
8583  add_attribute(_TrivialDerivedDecorator self, SparseIntKey a0, IMP::Int a1)
8584  add_attribute(_TrivialDerivedDecorator self, SparseStringKey a0, IMP::String a1)
8585  add_attribute(_TrivialDerivedDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
8586  """
8587  return _IMP_kernel._TrivialDerivedDecorator_add_attribute(self, *args)
8588 
8589  def get_value(self, *args):
8590  r"""
8591  get_value(_TrivialDerivedDecorator self, FloatKey a0) -> IMP::Float
8592  get_value(_TrivialDerivedDecorator self, IntKey a0) -> IMP::Int
8593  get_value(_TrivialDerivedDecorator self, FloatsKey a0) -> IMP::Floats
8594  get_value(_TrivialDerivedDecorator self, IntsKey a0) -> IMP::Ints
8595  get_value(_TrivialDerivedDecorator self, StringKey a0) -> IMP::String
8596  get_value(_TrivialDerivedDecorator self, ParticleIndexKey a0) -> Particle
8597  get_value(_TrivialDerivedDecorator self, ObjectKey a0) -> Object
8598  get_value(_TrivialDerivedDecorator self, SparseFloatKey a0) -> IMP::Float
8599  get_value(_TrivialDerivedDecorator self, SparseIntKey a0) -> IMP::Int
8600  get_value(_TrivialDerivedDecorator self, SparseStringKey a0) -> IMP::String
8601  get_value(_TrivialDerivedDecorator self, SparseParticleIndexKey a0) -> ParticleIndex
8602  """
8603  return _IMP_kernel._TrivialDerivedDecorator_get_value(self, *args)
8604 
8605  def set_value(self, *args):
8606  r"""
8607  set_value(_TrivialDerivedDecorator self, FloatKey a0, IMP::Float a1)
8608  set_value(_TrivialDerivedDecorator self, IntKey a0, IMP::Int a1)
8609  set_value(_TrivialDerivedDecorator self, FloatsKey a0, IMP::Floats a1)
8610  set_value(_TrivialDerivedDecorator self, IntsKey a0, IMP::Ints a1)
8611  set_value(_TrivialDerivedDecorator self, StringKey a0, IMP::String a1)
8612  set_value(_TrivialDerivedDecorator self, ParticleIndexKey a0, Particle a1)
8613  set_value(_TrivialDerivedDecorator self, ObjectKey a0, Object a1)
8614  set_value(_TrivialDerivedDecorator self, SparseFloatKey a0, IMP::Float a1)
8615  set_value(_TrivialDerivedDecorator self, SparseIntKey a0, IMP::Int a1)
8616  set_value(_TrivialDerivedDecorator self, SparseStringKey a0, IMP::String a1)
8617  set_value(_TrivialDerivedDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
8618  """
8619  return _IMP_kernel._TrivialDerivedDecorator_set_value(self, *args)
8620 
8621  def remove_attribute(self, *args):
8622  r"""
8623  remove_attribute(_TrivialDerivedDecorator self, FloatKey a0)
8624  remove_attribute(_TrivialDerivedDecorator self, IntKey a0)
8625  remove_attribute(_TrivialDerivedDecorator self, FloatsKey a0)
8626  remove_attribute(_TrivialDerivedDecorator self, IntsKey a0)
8627  remove_attribute(_TrivialDerivedDecorator self, StringKey a0)
8628  remove_attribute(_TrivialDerivedDecorator self, ParticleIndexKey a0)
8629  remove_attribute(_TrivialDerivedDecorator self, ObjectKey a0)
8630  remove_attribute(_TrivialDerivedDecorator self, SparseFloatKey a0)
8631  remove_attribute(_TrivialDerivedDecorator self, SparseIntKey a0)
8632  remove_attribute(_TrivialDerivedDecorator self, SparseStringKey a0)
8633  remove_attribute(_TrivialDerivedDecorator self, SparseParticleIndexKey a0)
8634  """
8635  return _IMP_kernel._TrivialDerivedDecorator_remove_attribute(self, *args)
8636 
8637  def has_attribute(self, *args):
8638  r"""
8639  has_attribute(_TrivialDerivedDecorator self, FloatKey a0) -> bool
8640  has_attribute(_TrivialDerivedDecorator self, IntKey a0) -> bool
8641  has_attribute(_TrivialDerivedDecorator self, FloatsKey a0) -> bool
8642  has_attribute(_TrivialDerivedDecorator self, IntsKey a0) -> bool
8643  has_attribute(_TrivialDerivedDecorator self, StringKey a0) -> bool
8644  has_attribute(_TrivialDerivedDecorator self, ParticleIndexKey a0) -> bool
8645  has_attribute(_TrivialDerivedDecorator self, ObjectKey a0) -> bool
8646  has_attribute(_TrivialDerivedDecorator self, SparseFloatKey a0) -> bool
8647  has_attribute(_TrivialDerivedDecorator self, SparseIntKey a0) -> bool
8648  has_attribute(_TrivialDerivedDecorator self, SparseStringKey a0) -> bool
8649  has_attribute(_TrivialDerivedDecorator self, SparseParticleIndexKey a0) -> bool
8650  """
8651  return _IMP_kernel._TrivialDerivedDecorator_has_attribute(self, *args)
8652 
8653  def get_derivative(self, a0):
8654  r"""get_derivative(_TrivialDerivedDecorator self, FloatKey a0) -> double"""
8655  return _IMP_kernel._TrivialDerivedDecorator_get_derivative(self, a0)
8656 
8657  def get_name(self):
8658  r"""get_name(_TrivialDerivedDecorator self) -> std::string"""
8659  return _IMP_kernel._TrivialDerivedDecorator_get_name(self)
8660 
8661  def clear_caches(self):
8662  r"""clear_caches(_TrivialDerivedDecorator self)"""
8663  return _IMP_kernel._TrivialDerivedDecorator_clear_caches(self)
8664 
8665  def set_name(self, a0):
8666  r"""set_name(_TrivialDerivedDecorator self, std::string a0)"""
8667  return _IMP_kernel._TrivialDerivedDecorator_set_name(self, a0)
8668 
8669  def set_check_level(self, a0):
8670  r"""set_check_level(_TrivialDerivedDecorator self, IMP::CheckLevel a0)"""
8671  return _IMP_kernel._TrivialDerivedDecorator_set_check_level(self, a0)
8672 
8673  def add_to_derivative(self, a0, a1, a2):
8674  r"""add_to_derivative(_TrivialDerivedDecorator self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8675  return _IMP_kernel._TrivialDerivedDecorator_add_to_derivative(self, a0, a1, a2)
8676 
8677  def set_is_optimized(self, a0, a1):
8678  r"""set_is_optimized(_TrivialDerivedDecorator self, FloatKey a0, bool a1)"""
8679  return _IMP_kernel._TrivialDerivedDecorator_set_is_optimized(self, a0, a1)
8680 
8681  def get_is_optimized(self, a0):
8682  r"""get_is_optimized(_TrivialDerivedDecorator self, FloatKey a0) -> bool"""
8683  return _IMP_kernel._TrivialDerivedDecorator_get_is_optimized(self, a0)
8684 
8685  def get_check_level(self):
8686  r"""get_check_level(_TrivialDerivedDecorator self) -> IMP::CheckLevel"""
8687  return _IMP_kernel._TrivialDerivedDecorator_get_check_level(self)
8688 
8689  def __eq__(self, *args):
8690  r"""
8691  __eq__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
8692  __eq__(_TrivialDerivedDecorator self, Particle d) -> bool
8693  """
8694  return _IMP_kernel._TrivialDerivedDecorator___eq__(self, *args)
8695 
8696  def __ne__(self, *args):
8697  r"""
8698  __ne__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
8699  __ne__(_TrivialDerivedDecorator self, Particle d) -> bool
8700  """
8701  return _IMP_kernel._TrivialDerivedDecorator___ne__(self, *args)
8702 
8703  def __le__(self, *args):
8704  r"""
8705  __le__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
8706  __le__(_TrivialDerivedDecorator self, Particle d) -> bool
8707  """
8708  return _IMP_kernel._TrivialDerivedDecorator___le__(self, *args)
8709 
8710  def __lt__(self, *args):
8711  r"""
8712  __lt__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
8713  __lt__(_TrivialDerivedDecorator self, Particle d) -> bool
8714  """
8715  return _IMP_kernel._TrivialDerivedDecorator___lt__(self, *args)
8716 
8717  def __ge__(self, *args):
8718  r"""
8719  __ge__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
8720  __ge__(_TrivialDerivedDecorator self, Particle d) -> bool
8721  """
8722  return _IMP_kernel._TrivialDerivedDecorator___ge__(self, *args)
8723 
8724  def __gt__(self, *args):
8725  r"""
8726  __gt__(_TrivialDerivedDecorator self, _TrivialDerivedDecorator o) -> bool
8727  __gt__(_TrivialDerivedDecorator self, Particle d) -> bool
8728  """
8729  return _IMP_kernel._TrivialDerivedDecorator___gt__(self, *args)
8730 
8731  def __hash__(self):
8732  r"""__hash__(_TrivialDerivedDecorator self) -> std::size_t"""
8733  return _IMP_kernel._TrivialDerivedDecorator___hash__(self)
8734 
8735  def __str__(self):
8736  r"""__str__(_TrivialDerivedDecorator self) -> std::string"""
8737  return _IMP_kernel._TrivialDerivedDecorator___str__(self)
8738 
8739  def __repr__(self):
8740  r"""__repr__(_TrivialDerivedDecorator self) -> std::string"""
8741  return _IMP_kernel._TrivialDerivedDecorator___repr__(self)
8742 
8743  def _get_as_binary(self):
8744  r"""_get_as_binary(_TrivialDerivedDecorator self) -> PyObject *"""
8745  return _IMP_kernel._TrivialDerivedDecorator__get_as_binary(self)
8746 
8747  def _set_from_binary(self, p):
8748  r"""_set_from_binary(_TrivialDerivedDecorator self, PyObject * p)"""
8749  return _IMP_kernel._TrivialDerivedDecorator__set_from_binary(self, p)
8750 
8751  def __getstate__(self):
8752  p = self._get_as_binary()
8753  if len(self.__dict__) > 1:
8754  d = self.__dict__.copy()
8755  del d['this']
8756  p = (d, p)
8757  return p
8758 
8759  def __setstate__(self, p):
8760  if not hasattr(self, 'this'):
8761  self.__init__()
8762  if isinstance(p, tuple):
8763  d, p = p
8764  self.__dict__.update(d)
8765  return self._set_from_binary(p)
8766 
8767  __swig_destroy__ = _IMP_kernel.delete__TrivialDerivedDecorator
8768 
8769 # Register _TrivialDerivedDecorator in _IMP_kernel:
8770 _IMP_kernel._TrivialDerivedDecorator_swigregister(_TrivialDerivedDecorator)
8771 class _TrivialTraitsDecorator(Decorator):
8772  r"""Proxy of C++ IMP::internal::_TrivialTraitsDecorator class."""
8773 
8774  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8775 
8776  def get_decorator_traits(self):
8777  r"""get_decorator_traits(_TrivialTraitsDecorator self) -> StringKey"""
8778  return _IMP_kernel._TrivialTraitsDecorator_get_decorator_traits(self)
8779 
8780  @staticmethod
8781  def get_default_decorator_traits():
8782  r"""get_default_decorator_traits() -> StringKey"""
8783  return _IMP_kernel._TrivialTraitsDecorator_get_default_decorator_traits()
8784 
8785  def __init__(self, *args):
8786  r"""
8787  __init__(_TrivialTraitsDecorator self) -> _TrivialTraitsDecorator
8788  __init__(_TrivialTraitsDecorator self, Model m, ParticleIndex id, StringKey tr=get_default_key()) -> _TrivialTraitsDecorator
8789  __init__(_TrivialTraitsDecorator self, _ParticleAdaptor d, StringKey tr=get_default_key()) -> _TrivialTraitsDecorator
8790  """
8791  _IMP_kernel._TrivialTraitsDecorator_swiginit(self, _IMP_kernel.new__TrivialTraitsDecorator(*args))
8792 
8793  def show(self, *args):
8794  r"""show(_TrivialTraitsDecorator self, _ostream out=std::cout)"""
8795  return _IMP_kernel._TrivialTraitsDecorator_show(self, *args)
8796 
8797  @staticmethod
8798  def setup_particle(*args):
8799  r"""
8800  setup_particle(Model m, ParticleIndex pi, StringKey tr=IMP::internal::_TrivialTraitsDecorator::get_default_decorator_traits()) -> _TrivialTraitsDecorator
8801  setup_particle(_ParticleAdaptor d, StringKey tr=IMP::internal::_TrivialTraitsDecorator::get_default_decorator_traits()) -> _TrivialTraitsDecorator
8802  """
8803  return _IMP_kernel._TrivialTraitsDecorator_setup_particle(*args)
8804 
8805  @staticmethod
8806  def get_is_setup(*args):
8807  r"""
8808  get_is_setup(_ParticleAdaptor p, StringKey tr=get_default_key()) -> bool
8809  get_is_setup(Model m, ParticleIndex pi, StringKey k=get_default_key()) -> bool
8810  """
8811  return _IMP_kernel._TrivialTraitsDecorator_get_is_setup(*args)
8812 
8813  @staticmethod
8814  def get_default_key():
8815  r"""get_default_key() -> StringKey"""
8816  return _IMP_kernel._TrivialTraitsDecorator_get_default_key()
8817 
8818  def add_attribute(self, *args):
8819  r"""
8820  add_attribute(_TrivialTraitsDecorator self, FloatKey k, IMP::Float v, bool opt)
8821  add_attribute(_TrivialTraitsDecorator self, FloatKey a0, IMP::Float a1)
8822  add_attribute(_TrivialTraitsDecorator self, IntKey a0, IMP::Int a1)
8823  add_attribute(_TrivialTraitsDecorator self, FloatsKey a0, IMP::Floats a1)
8824  add_attribute(_TrivialTraitsDecorator self, IntsKey a0, IMP::Ints a1)
8825  add_attribute(_TrivialTraitsDecorator self, StringKey a0, IMP::String a1)
8826  add_attribute(_TrivialTraitsDecorator self, ParticleIndexKey a0, Particle a1)
8827  add_attribute(_TrivialTraitsDecorator self, ObjectKey a0, Object a1)
8828  add_attribute(_TrivialTraitsDecorator self, SparseFloatKey a0, IMP::Float a1)
8829  add_attribute(_TrivialTraitsDecorator self, SparseIntKey a0, IMP::Int a1)
8830  add_attribute(_TrivialTraitsDecorator self, SparseStringKey a0, IMP::String a1)
8831  add_attribute(_TrivialTraitsDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
8832  """
8833  return _IMP_kernel._TrivialTraitsDecorator_add_attribute(self, *args)
8834 
8835  def get_value(self, *args):
8836  r"""
8837  get_value(_TrivialTraitsDecorator self, FloatKey a0) -> IMP::Float
8838  get_value(_TrivialTraitsDecorator self, IntKey a0) -> IMP::Int
8839  get_value(_TrivialTraitsDecorator self, FloatsKey a0) -> IMP::Floats
8840  get_value(_TrivialTraitsDecorator self, IntsKey a0) -> IMP::Ints
8841  get_value(_TrivialTraitsDecorator self, StringKey a0) -> IMP::String
8842  get_value(_TrivialTraitsDecorator self, ParticleIndexKey a0) -> Particle
8843  get_value(_TrivialTraitsDecorator self, ObjectKey a0) -> Object
8844  get_value(_TrivialTraitsDecorator self, SparseFloatKey a0) -> IMP::Float
8845  get_value(_TrivialTraitsDecorator self, SparseIntKey a0) -> IMP::Int
8846  get_value(_TrivialTraitsDecorator self, SparseStringKey a0) -> IMP::String
8847  get_value(_TrivialTraitsDecorator self, SparseParticleIndexKey a0) -> ParticleIndex
8848  """
8849  return _IMP_kernel._TrivialTraitsDecorator_get_value(self, *args)
8850 
8851  def set_value(self, *args):
8852  r"""
8853  set_value(_TrivialTraitsDecorator self, FloatKey a0, IMP::Float a1)
8854  set_value(_TrivialTraitsDecorator self, IntKey a0, IMP::Int a1)
8855  set_value(_TrivialTraitsDecorator self, FloatsKey a0, IMP::Floats a1)
8856  set_value(_TrivialTraitsDecorator self, IntsKey a0, IMP::Ints a1)
8857  set_value(_TrivialTraitsDecorator self, StringKey a0, IMP::String a1)
8858  set_value(_TrivialTraitsDecorator self, ParticleIndexKey a0, Particle a1)
8859  set_value(_TrivialTraitsDecorator self, ObjectKey a0, Object a1)
8860  set_value(_TrivialTraitsDecorator self, SparseFloatKey a0, IMP::Float a1)
8861  set_value(_TrivialTraitsDecorator self, SparseIntKey a0, IMP::Int a1)
8862  set_value(_TrivialTraitsDecorator self, SparseStringKey a0, IMP::String a1)
8863  set_value(_TrivialTraitsDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
8864  """
8865  return _IMP_kernel._TrivialTraitsDecorator_set_value(self, *args)
8866 
8867  def remove_attribute(self, *args):
8868  r"""
8869  remove_attribute(_TrivialTraitsDecorator self, FloatKey a0)
8870  remove_attribute(_TrivialTraitsDecorator self, IntKey a0)
8871  remove_attribute(_TrivialTraitsDecorator self, FloatsKey a0)
8872  remove_attribute(_TrivialTraitsDecorator self, IntsKey a0)
8873  remove_attribute(_TrivialTraitsDecorator self, StringKey a0)
8874  remove_attribute(_TrivialTraitsDecorator self, ParticleIndexKey a0)
8875  remove_attribute(_TrivialTraitsDecorator self, ObjectKey a0)
8876  remove_attribute(_TrivialTraitsDecorator self, SparseFloatKey a0)
8877  remove_attribute(_TrivialTraitsDecorator self, SparseIntKey a0)
8878  remove_attribute(_TrivialTraitsDecorator self, SparseStringKey a0)
8879  remove_attribute(_TrivialTraitsDecorator self, SparseParticleIndexKey a0)
8880  """
8881  return _IMP_kernel._TrivialTraitsDecorator_remove_attribute(self, *args)
8882 
8883  def has_attribute(self, *args):
8884  r"""
8885  has_attribute(_TrivialTraitsDecorator self, FloatKey a0) -> bool
8886  has_attribute(_TrivialTraitsDecorator self, IntKey a0) -> bool
8887  has_attribute(_TrivialTraitsDecorator self, FloatsKey a0) -> bool
8888  has_attribute(_TrivialTraitsDecorator self, IntsKey a0) -> bool
8889  has_attribute(_TrivialTraitsDecorator self, StringKey a0) -> bool
8890  has_attribute(_TrivialTraitsDecorator self, ParticleIndexKey a0) -> bool
8891  has_attribute(_TrivialTraitsDecorator self, ObjectKey a0) -> bool
8892  has_attribute(_TrivialTraitsDecorator self, SparseFloatKey a0) -> bool
8893  has_attribute(_TrivialTraitsDecorator self, SparseIntKey a0) -> bool
8894  has_attribute(_TrivialTraitsDecorator self, SparseStringKey a0) -> bool
8895  has_attribute(_TrivialTraitsDecorator self, SparseParticleIndexKey a0) -> bool
8896  """
8897  return _IMP_kernel._TrivialTraitsDecorator_has_attribute(self, *args)
8898 
8899  def get_derivative(self, a0):
8900  r"""get_derivative(_TrivialTraitsDecorator self, FloatKey a0) -> double"""
8901  return _IMP_kernel._TrivialTraitsDecorator_get_derivative(self, a0)
8902 
8903  def get_name(self):
8904  r"""get_name(_TrivialTraitsDecorator self) -> std::string"""
8905  return _IMP_kernel._TrivialTraitsDecorator_get_name(self)
8906 
8907  def clear_caches(self):
8908  r"""clear_caches(_TrivialTraitsDecorator self)"""
8909  return _IMP_kernel._TrivialTraitsDecorator_clear_caches(self)
8910 
8911  def set_name(self, a0):
8912  r"""set_name(_TrivialTraitsDecorator self, std::string a0)"""
8913  return _IMP_kernel._TrivialTraitsDecorator_set_name(self, a0)
8914 
8915  def set_check_level(self, a0):
8916  r"""set_check_level(_TrivialTraitsDecorator self, IMP::CheckLevel a0)"""
8917  return _IMP_kernel._TrivialTraitsDecorator_set_check_level(self, a0)
8918 
8919  def add_to_derivative(self, a0, a1, a2):
8920  r"""add_to_derivative(_TrivialTraitsDecorator self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8921  return _IMP_kernel._TrivialTraitsDecorator_add_to_derivative(self, a0, a1, a2)
8922 
8923  def set_is_optimized(self, a0, a1):
8924  r"""set_is_optimized(_TrivialTraitsDecorator self, FloatKey a0, bool a1)"""
8925  return _IMP_kernel._TrivialTraitsDecorator_set_is_optimized(self, a0, a1)
8926 
8927  def get_is_optimized(self, a0):
8928  r"""get_is_optimized(_TrivialTraitsDecorator self, FloatKey a0) -> bool"""
8929  return _IMP_kernel._TrivialTraitsDecorator_get_is_optimized(self, a0)
8930 
8931  def get_check_level(self):
8932  r"""get_check_level(_TrivialTraitsDecorator self) -> IMP::CheckLevel"""
8933  return _IMP_kernel._TrivialTraitsDecorator_get_check_level(self)
8934 
8935  def __eq__(self, *args):
8936  r"""
8937  __eq__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
8938  __eq__(_TrivialTraitsDecorator self, Particle d) -> bool
8939  """
8940  return _IMP_kernel._TrivialTraitsDecorator___eq__(self, *args)
8941 
8942  def __ne__(self, *args):
8943  r"""
8944  __ne__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
8945  __ne__(_TrivialTraitsDecorator self, Particle d) -> bool
8946  """
8947  return _IMP_kernel._TrivialTraitsDecorator___ne__(self, *args)
8948 
8949  def __le__(self, *args):
8950  r"""
8951  __le__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
8952  __le__(_TrivialTraitsDecorator self, Particle d) -> bool
8953  """
8954  return _IMP_kernel._TrivialTraitsDecorator___le__(self, *args)
8955 
8956  def __lt__(self, *args):
8957  r"""
8958  __lt__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
8959  __lt__(_TrivialTraitsDecorator self, Particle d) -> bool
8960  """
8961  return _IMP_kernel._TrivialTraitsDecorator___lt__(self, *args)
8962 
8963  def __ge__(self, *args):
8964  r"""
8965  __ge__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
8966  __ge__(_TrivialTraitsDecorator self, Particle d) -> bool
8967  """
8968  return _IMP_kernel._TrivialTraitsDecorator___ge__(self, *args)
8969 
8970  def __gt__(self, *args):
8971  r"""
8972  __gt__(_TrivialTraitsDecorator self, _TrivialTraitsDecorator o) -> bool
8973  __gt__(_TrivialTraitsDecorator self, Particle d) -> bool
8974  """
8975  return _IMP_kernel._TrivialTraitsDecorator___gt__(self, *args)
8976 
8977  def __hash__(self):
8978  r"""__hash__(_TrivialTraitsDecorator self) -> std::size_t"""
8979  return _IMP_kernel._TrivialTraitsDecorator___hash__(self)
8980 
8981  def __str__(self):
8982  r"""__str__(_TrivialTraitsDecorator self) -> std::string"""
8983  return _IMP_kernel._TrivialTraitsDecorator___str__(self)
8984 
8985  def __repr__(self):
8986  r"""__repr__(_TrivialTraitsDecorator self) -> std::string"""
8987  return _IMP_kernel._TrivialTraitsDecorator___repr__(self)
8988  __swig_destroy__ = _IMP_kernel.delete__TrivialTraitsDecorator
8989 
8990 # Register _TrivialTraitsDecorator in _IMP_kernel:
8991 _IMP_kernel._TrivialTraitsDecorator_swigregister(_TrivialTraitsDecorator)
8992 
8993 def __lshift__(*args):
8994  r"""
8995  __lshift__(_ostream out, _TrivialDecorator n) -> _ostream
8996  __lshift__(_ostream out, _TrivialDerivedDecorator n) -> _ostream
8997  __lshift__(_ostream out, _TrivialTraitsDecorator n) -> _ostream
8998  """
8999  return _IMP_kernel.__lshift__(*args)
9000 class _ConstOptimizer(Optimizer):
9001  r"""Proxy of C++ IMP::internal::_ConstOptimizer class."""
9002 
9003  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9004 
9005  def __init__(self, *args):
9006  r"""
9007  __init__(_ConstOptimizer self, Model m) -> _ConstOptimizer
9008  __init__(_ConstOptimizer self) -> _ConstOptimizer
9009  """
9010  _IMP_kernel._ConstOptimizer_swiginit(self, _IMP_kernel.new__ConstOptimizer(*args))
9011 
9012  def do_optimize(self, max_steps):
9013  r"""do_optimize(_ConstOptimizer self, unsigned int max_steps) -> IMP::Float"""
9014  return _IMP_kernel._ConstOptimizer_do_optimize(self, max_steps)
9015 
9016  def get_version_info(self):
9017  r"""get_version_info(_ConstOptimizer self) -> VersionInfo"""
9018  return _IMP_kernel._ConstOptimizer_get_version_info(self)
9019  __swig_destroy__ = _IMP_kernel.delete__ConstOptimizer
9020 
9021  def __str__(self):
9022  r"""__str__(_ConstOptimizer self) -> std::string"""
9023  return _IMP_kernel._ConstOptimizer___str__(self)
9024 
9025  def __repr__(self):
9026  r"""__repr__(_ConstOptimizer self) -> std::string"""
9027  return _IMP_kernel._ConstOptimizer___repr__(self)
9028 
9029  @staticmethod
9030  def get_from(o):
9031  return _object_cast_to__ConstOptimizer(o)
9032 
9033 
9034  def _get_as_binary(self):
9035  r"""_get_as_binary(_ConstOptimizer self) -> PyObject *"""
9036  return _IMP_kernel._ConstOptimizer__get_as_binary(self)
9037 
9038  def _set_from_binary(self, p):
9039  r"""_set_from_binary(_ConstOptimizer self, PyObject * p)"""
9040  return _IMP_kernel._ConstOptimizer__set_from_binary(self, p)
9041 
9042  def __getstate__(self):
9043  p = self._get_as_binary()
9044  if len(self.__dict__) > 1:
9045  d = self.__dict__.copy()
9046  del d['this']
9047  p = (d, p)
9048  return p
9049 
9050  def __setstate__(self, p):
9051  if not hasattr(self, 'this'):
9052  self.__init__()
9053  if isinstance(p, tuple):
9054  d, p = p
9055  self.__dict__.update(d)
9056  return self._set_from_binary(p)
9057 
9058 
9059 # Register _ConstOptimizer in _IMP_kernel:
9060 _IMP_kernel._ConstOptimizer_swigregister(_ConstOptimizer)
9061 
9062 def get_particle(p):
9063  r"""get_particle(Particle p) -> Particle"""
9064  return _IMP_kernel.get_particle(p)
9065 
9066 def _decorator_test(p):
9067  r"""_decorator_test(Particle p)"""
9068  return _IMP_kernel._decorator_test(p)
9069 
9070 def _overloaded_decorator(*args):
9071  r"""
9072  _overloaded_decorator(_TrivialDecorator a) -> int
9073  _overloaded_decorator(_TrivialDerivedDecorator a) -> int
9074  """
9075  return _IMP_kernel._overloaded_decorator(*args)
9076 
9077 def _take_particles(*args):
9078  r"""
9079  _take_particles(IMP::Particles const & ps) -> unsigned int
9080  _take_particles(Model m, IMP::Particles const & ps) -> unsigned int
9081  _take_particles(Model m, IMP::Particles const & ps, TextOutput out) -> unsigned int
9082  """
9083  return _IMP_kernel._take_particles(*args)
9084 
9085 def _give_particles(m):
9086  r"""_give_particles(Model m) -> IMP::Particles const &"""
9087  return _IMP_kernel._give_particles(m)
9088 
9089 def _pass_particles(ps):
9090  r"""_pass_particles(IMP::Particles const & ps) -> IMP::Particles const &"""
9091  return _IMP_kernel._pass_particles(ps)
9092 
9093 def _pass_particle(ps):
9094  r"""_pass_particle(Particle ps) -> Particle"""
9095  return _IMP_kernel._pass_particle(ps)
9096 
9097 def _pass_particle_pair(pp):
9098  r"""_pass_particle_pair(IMP::ParticlePair const & pp) -> IMP::ParticlePair const &"""
9099  return _IMP_kernel._pass_particle_pair(pp)
9100 
9101 def _give_particles_copy(m):
9102  r"""_give_particles_copy(Model m) -> IMP::Particles"""
9103  return _IMP_kernel._give_particles_copy(m)
9104 
9105 def _pass_float_keys(input):
9106  r"""_pass_float_keys(IMP::FloatKeys const & input) -> IMP::FloatKeys"""
9107  return _IMP_kernel._pass_float_keys(input)
9108 
9109 def _pass(*args):
9110  r"""
9111  _pass(IMP::Particles const & p) -> IMP::Particles const
9112  _pass(IMP::Restraints const & p) -> IMP::Restraints const &
9113  """
9114  return _IMP_kernel._pass(*args)
9115 
9116 def _pass_decorators(p):
9117  r"""_pass_decorators(IMP::internal::_TrivialDecorators const & p) -> IMP::internal::_TrivialDecorators const &"""
9118  return _IMP_kernel._pass_decorators(p)
9119 
9120 def _pass_decorator_traits(p):
9121  r"""_pass_decorator_traits(IMP::internal::_TrivialTraitsDecorators const & p) -> IMP::internal::_TrivialTraitsDecorators const &"""
9122  return _IMP_kernel._pass_decorator_traits(p)
9123 
9124 def _pass_particle_pairs(p):
9125  r"""_pass_particle_pairs(IMP::ParticlePairsTemp const & p) -> IMP::ParticlePairsTemp"""
9126  return _IMP_kernel._pass_particle_pairs(p)
9127 
9128 def _pass_particle_index_pairs(p):
9129  r"""_pass_particle_index_pairs(IMP::ParticleIndexPairs const & p) -> IMP::ParticleIndexPairs"""
9130  return _IMP_kernel._pass_particle_index_pairs(p)
9131 
9132 def _pass_model_objects(p):
9133  r"""_pass_model_objects(IMP::ModelObjectsTemp const & p) -> IMP::ModelObjectsTemp"""
9134  return _IMP_kernel._pass_model_objects(p)
9135 
9136 def _pass_particles_temps(ps):
9137  r"""_pass_particles_temps(IMP::ParticlesTemps const & ps) -> IMP::ParticlesTemps"""
9138  return _IMP_kernel._pass_particles_temps(ps)
9139 
9140 def _test_overload(*args):
9141  r"""
9142  _test_overload(IMP::Particles const & ps) -> int
9143  _test_overload(IMP::Restraints const & ps) -> int
9144  """
9145  return _IMP_kernel._test_overload(*args)
9146 
9147 def _get_range(m, k):
9148  r"""_get_range(Model m, FloatKey k) -> IMP::FloatRange"""
9149  return _IMP_kernel._get_range(m, k)
9150 
9151 def _create_particles_from_pdb(name, m):
9152  r"""_create_particles_from_pdb(std::string name, Model m) -> IMP::ParticleIndexes"""
9153  return _IMP_kernel._create_particles_from_pdb(name, m)
9154 class _LogPairScore(PairScore):
9155  r"""Proxy of C++ IMP::internal::_LogPairScore class."""
9156 
9157  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9158  __repr__ = _swig_repr
9159 
9160  def __init__(self):
9161  r"""__init__(_LogPairScore self) -> _LogPairScore"""
9162  _IMP_kernel._LogPairScore_swiginit(self, _IMP_kernel.new__LogPairScore())
9163 
9164  def do_get_inputs(self, arg2, arg3):
9165  r"""do_get_inputs(_LogPairScore self, Model arg2, IMP::ParticleIndexes const & arg3) -> IMP::ModelObjectsTemp"""
9166  return _IMP_kernel._LogPairScore_do_get_inputs(self, arg2, arg3)
9167 
9168  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
9169  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"""
9170  return _IMP_kernel._LogPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
9171 
9172  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
9173  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"""
9174  return _IMP_kernel._LogPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
9175 
9176  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
9177  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"""
9178  return _IMP_kernel._LogPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
9179 
9180  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
9181  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"""
9182  return _IMP_kernel._LogPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
9183 
9184  def get_version_info(self):
9185  r"""get_version_info(_LogPairScore self) -> VersionInfo"""
9186  return _IMP_kernel._LogPairScore_get_version_info(self)
9187  __swig_destroy__ = _IMP_kernel.delete__LogPairScore
9188 
9189  def get_particle_pairs(self):
9190  r"""get_particle_pairs(_LogPairScore self) -> IMP::ParticlePairsTemp"""
9191  return _IMP_kernel._LogPairScore_get_particle_pairs(self)
9192 
9193  def clear(self):
9194  r"""clear(_LogPairScore self)"""
9195  return _IMP_kernel._LogPairScore_clear(self)
9196 
9197  def get_contains(self, pp):
9198  r"""get_contains(_LogPairScore self, IMP::ParticlePair const & pp) -> bool"""
9199  return _IMP_kernel._LogPairScore_get_contains(self, pp)
9200 
9201 # Register _LogPairScore in _IMP_kernel:
9202 _IMP_kernel._LogPairScore_swigregister(_LogPairScore)
9203 
9204 def _overloaded_particles(*args):
9205  r"""
9206  _overloaded_particles(Particle arg1)
9207  _overloaded_particles(IMP::Particles const & arg1)
9208  _overloaded_particles(IMP::ParticlesTemp const & arg1)
9209  _overloaded_particles(Model arg1, IMP::ParticleIndexes const & arg2)
9210  _overloaded_particles(IMP::internal::_TrivialDecorators const & arg1)
9211  _overloaded_particles(_TrivialDecorator arg1)
9212  """
9213  return _IMP_kernel._overloaded_particles(*args)
9214 class _ImplicitParticles(object):
9215  r"""Proxy of C++ IMP::internal::_ImplicitParticles class."""
9216 
9217  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9218  __repr__ = _swig_repr
9219 
9220  def __init__(self, *args):
9221  r"""
9222  __init__(_ImplicitParticles self, Particle arg2) -> _ImplicitParticles
9223  __init__(_ImplicitParticles self, IMP::Particles const & arg2) -> _ImplicitParticles
9224  __init__(_ImplicitParticles self, IMP::ParticlesTemp const & arg2) -> _ImplicitParticles
9225  __init__(_ImplicitParticles self, Model arg2, IMP::ParticleIndexes const & arg3) -> _ImplicitParticles
9226  __init__(_ImplicitParticles self, IMP::internal::_TrivialDecorators const & arg2) -> _ImplicitParticles
9227  __init__(_ImplicitParticles self, _TrivialDecorator arg2) -> _ImplicitParticles
9228  """
9229  _IMP_kernel._ImplicitParticles_swiginit(self, _IMP_kernel.new__ImplicitParticles(*args))
9230  __swig_destroy__ = _IMP_kernel.delete__ImplicitParticles
9231 
9232 # Register _ImplicitParticles in _IMP_kernel:
9233 _IMP_kernel._ImplicitParticles_swigregister(_ImplicitParticles)
9234 
9235 def _implicit_particles(arg1):
9236  r"""_implicit_particles(_ImplicitParticles arg1)"""
9237  return _IMP_kernel._implicit_particles(arg1)
9238 
9239 def _take_particle_adaptor(pa):
9240  r"""_take_particle_adaptor(_ParticleAdaptor pa) -> ParticleIndex"""
9241  return _IMP_kernel._take_particle_adaptor(pa)
9242 
9243 def _take_particle_indexes_adaptor(pa):
9244  r"""_take_particle_indexes_adaptor(_ParticleIndexesAdaptor pa) -> IMP::ParticleIndexes"""
9245  return _IMP_kernel._take_particle_indexes_adaptor(pa)
9246 class ScopedSetFloatAttribute(_RAII):
9247  r"""Proxy of C++ IMP::ScopedSetAttribute< IMP::FloatKey,IMP::Float > class."""
9248 
9249  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9250 
9251  def __init__(self, *args):
9252  r"""
9253  __init__(ScopedSetFloatAttribute self) -> ScopedSetFloatAttribute
9254  __init__(ScopedSetFloatAttribute self, Particle p, FloatKey key, double const & value) -> ScopedSetFloatAttribute
9255  """
9256  _IMP_kernel.ScopedSetFloatAttribute_swiginit(self, _IMP_kernel.new_ScopedSetFloatAttribute(*args))
9257 
9258  def set(self, p, key, value):
9259  r"""set(ScopedSetFloatAttribute self, Particle p, FloatKey key, double const & value)"""
9260  return _IMP_kernel.ScopedSetFloatAttribute_set(self, p, key, value)
9261 
9262  def reset(self):
9263  r"""reset(ScopedSetFloatAttribute self)"""
9264  return _IMP_kernel.ScopedSetFloatAttribute_reset(self)
9265  __swig_destroy__ = _IMP_kernel.delete_ScopedSetFloatAttribute
9266 
9267  def show(self, *args):
9268  r"""show(ScopedSetFloatAttribute self, _ostream out=std::cout)"""
9269  return _IMP_kernel.ScopedSetFloatAttribute_show(self, *args)
9270 
9271  def __str__(self):
9272  r"""__str__(ScopedSetFloatAttribute self) -> std::string"""
9273  return _IMP_kernel.ScopedSetFloatAttribute___str__(self)
9274 
9275  def __repr__(self):
9276  r"""__repr__(ScopedSetFloatAttribute self) -> std::string"""
9277  return _IMP_kernel.ScopedSetFloatAttribute___repr__(self)
9278 
9279 # Register ScopedSetFloatAttribute in _IMP_kernel:
9280 _IMP_kernel.ScopedSetFloatAttribute_swigregister(ScopedSetFloatAttribute)
9281 
9282 def _get_module_data_path(module, file_name):
9283  r"""_get_module_data_path(std::string module, std::string file_name) -> std::string"""
9284  return _IMP_kernel._get_module_data_path(module, file_name)
9285 
9286 def _get_module_example_path(module, file_name):
9287  r"""_get_module_example_path(std::string module, std::string file_name) -> std::string"""
9288  return _IMP_kernel._get_module_example_path(module, file_name)
9289 
9290 #used_modules=[]
9291 #def show_used_modules():
9292 # for m in used_modules:
9293 # print "%-20s %s" % (m.get_module(), m.get_version())
9294 
9295 # Ensure that Windows gets the PATH set to include anything in the library
9296 # search path
9297 if sys.platform == 'win32' and 'IMP_LD_PATH' in os.environ:
9298  dirs = os.environ['IMP_LD_PATH'].split(":")
9299  pathcomps = os.environ['PATH'].split(";")
9300  for d in dirs:
9301  if d not in pathcomps:
9302  os.environ['PATH'] = d + ';' + os.environ['PATH']
9303 
9304 
9305 
9306 import sys
9307 import os
9308 
9310  """Allow command line tools to easily implement multiple commands.
9311  Typically, an IMP command line tool will use an instance of this class
9312  to provide a consistent interface to multiple distinct commands
9313  from a single binary, rather than providing a potentially large
9314  number of binaries. This is similar to the way a number of common
9315  command line tools outside of IMP function (e.g. Git provides a single
9316  `git` tool which implements multiple commands - `git add`, `git commit`,
9317  `git push` and so on).
9318 
9319  Each command is implemented with a Python module of the same name
9320  that can be imported from the module (for example, if `module_name`
9321  is `IMP.foo`, the `bar` command is provided by the `IMP.foo.bar` Python
9322  module, which would usually be found as `modules/foo/pyext/src/bar.py`).
9323  Each such module should have a docstring and a `%main()` method
9324  that takes no arguments (the module should also call its `%main()` method
9325  if it is run directly, i.e. with something like
9326  `if __name__=="__main__": %main()`). The encompassing module
9327  (`IMP.foo` in the example) should define `_all_commands` as a Python
9328  list of all valid commands.
9329 
9330  See the `multifit` and `cnmultifit` command line tools for example
9331  usage.
9332  """
9333 
9334  def __init__(self, short_help, long_help, module_name):
9335  """Constructor.
9336  @param short_help A few words that describe the command line tool.
9337  @param long_help Longer text, used in the `help` command.
9338  @param module_name Name of the module (e.g. `IMP.foo`) that
9339  implements the commands.
9340  """
9341  self.short_help = short_help
9342  self.long_help = long_help
9343  self.module_name = module_name
9344  self._all_commands = self.import_module()._all_commands
9345  self._progname = os.path.basename(sys.argv[0])
9346 
9347  def main(self):
9348  """Call this method to act upon the user-provided command line"""
9349  if len(sys.argv) <= 1:
9350  print(self.short_help + " Use '%s help' for help." % self._progname)
9351  else:
9352  command = sys.argv[1]
9353  if command in ('help', '--help', '-h'):
9354  if len(sys.argv) == 3:
9355  self.show_command_help(sys.argv[2])
9356  else:
9357  self.show_help()
9358  elif command == '--version':
9359  self.show_version()
9360  elif command in self._all_commands:
9361  self.do_command(command)
9362  else:
9363  self.unknown_command(command)
9364 
9365  def import_module(self, mod=None):
9366  modname = self.module_name
9367  if mod is not None:
9368  modname += "." + mod
9369  return __import__(modname, {}, {}, [''])
9370 
9371  def unknown_command(self, command):
9372  print("Unknown command: '%s'" % command)
9373  print("Use '%s help' for help." % self._progname)
9374  sys.exit(1)
9375 
9376  def _get_version(self):
9377  return self.import_module().get_module_version()
9378 
9379  def show_version(self):
9380  print(self._progname + ' ' + self._get_version())
9381 
9382  def show_help(self):
9383  ver = self._get_version()
9384  print("%s, version %s." % (self._progname, ver))
9385  print(self.long_help + """
9386 
9387 This program is part of IMP, the Integrative Modeling Platform,
9388 which is %s.
9389 For additional information about IMP, see <https://integrativemodeling.org>.
9390 
9391 Usage: %s <command> [options] [args]
9392 
9393 Commands:""" % (get_copyright(), self._progname))
9394  commands = self._all_commands[:] + ['help']
9395  commands.sort()
9396  cmdlen = max([len(c) for c in commands])
9397  for c in commands:
9398  if c == 'help':
9399  doc = 'Get help on using %s.' % self._progname
9400  else:
9401  doc = self.import_module(c).__doc__ or "<no help>"
9402  c += ' ' * (cmdlen - len(c))
9403  print(' ' + c + ' ' + doc)
9404  print("""
9405 Use "%s help <command>" for detailed help on any command
9406  or "%s --version" to see the version number.""" % (self._progname,
9407  self._progname))
9408 
9409  def do_command(self, command):
9410  mod = self.import_module(command)
9411  sys.argv[0] = self._progname + ' ' + command
9412  del sys.argv[1]
9413  mod.main()
9414 
9415  def show_command_help(self, command):
9416  if command == 'help':
9417  self.show_help()
9418  elif command in self._all_commands or command == 'help':
9419  mod = self.import_module(command)
9420  sys.argv = [self._progname + ' ' + command, '--help']
9421  mod.main()
9422  else:
9423  self.unknown_command(command)
9424 
9425 
9426 
9427 
9428 def get_networkx_graph(ig):
9429  import networkx
9430  g = networkx.DiGraph()
9431  if len(ig.get_vertices()) == 0:
9432  return g
9433 
9434  class NodeWrapper:
9435 
9436  def __init__(self, p):
9437  self.p = p
9438 
9439  def __str__(self):
9440  return self.p.get_name()
9441 
9442  def __call__(self, name):
9443  return self.p.__call__(name)
9444 
9445  for vi in ig.get_vertices():
9446  n = ig.get_vertex_name(vi)
9447  g.add_node(NodeWrapper(n))
9448  for vi in ig.get_vertices():
9449  n = ig.get_vertex_name(vi)
9450  for ni in ig.get_out_neighbors(vi):
9451  nn = ig.get_vertex_name(ni)
9452  g.add_edge(NodeWrapper(n), NodeWrapper(nn))
9453  return g
9454 
9455 
9456 def show_altgraph(g):
9457  def clean(name):
9458  try:
9459  n0 = name.get_name()
9460  except:
9461  n0 = str(name)
9462  n1 = str(n0).replace('"', '')
9463  n2 = n1.replace("\n", '')
9464  return n2
9465  import altgraph
9466  from altgraph import Graph, Dot
9467  graph = Graph.Graph()
9468  for i, v in enumerate(g.get_vertices()):
9469  graph.add_node(i) # , node_data=g.get_vertex_name(v)
9470  for i, v in enumerate(g.get_vertices()):
9471  for n in g.get_out_neighbors(v):
9472  graph.add_edge(v, n)
9473  dot = Dot.Dot(graph) # , graph_type="digraph"
9474  for i, v in enumerate(g.get_vertices()):
9475  dot.node_style(i, label=clean(g.get_vertex_name(v)))
9476  dot.display()
9477 
9478 
9479 def show_graphviz(g):
9480  import subprocess
9481  tfn = create_temporary_file_name("graph", ".dot")
9482  tfon = create_temporary_file_name("graph", ".pdf")
9483  st = g.get_graphviz_string()
9484  with open(tfn, "w") as fh:
9485  fh.write(st)
9486  try:
9487  print("running dot")
9488  sp = subprocess.Popen(["dot", "-Tpdf", tfn, "-o" + tfon])
9489  sp.wait()
9490  except:
9491  import sys
9492  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")
9493  return
9494  import platform
9495  if platform.system() == "Darwin":
9496  cmd = ["open"]
9497  else:
9498  cmd = ["gv", "acroread", "xpdf"]
9499  success = False
9500  for c in cmd:
9501  print("launching viewer " + c)
9502  try:
9503  subprocess.check_call([c, tfon])
9504  success = True
9505  break
9506  except:
9507  pass
9508  if not success:
9509  print("Could not display file. It is saved at " + tfon)
9510  return tfon
9511 
9512 
9513 
9514 
9515 import functools
9516 import contextlib
9517 
9518 def deprecated_module(version, module, help_message):
9519  """Mark a Python module as deprecated.
9520  @note The `module` argument would normally be `__name__`.
9521  @see [deprecation support](@ref deprecation)."""
9523  "Module %s is deprecated. %s\n" % (module, help_message))
9524 
9525 def deprecated_object(version, help_message):
9526  """Python decorator to mark a class as deprecated.
9527  @see [deprecation support](@ref deprecation)."""
9528  def wrapper(obj):
9529  orig_init = obj.__init__
9530 # Don't try to copy __module__ since __init__ may not have it
9531 # (e.g. if we subclassed object but didn't override __init__)
9532  @functools.wraps(orig_init, ('__name__', '__doc__'))
9533  def __init__(obj, *args, **keys):
9534  handle_use_deprecated("Object %s is deprecated. %s\n"
9535  % (type(obj), help_message))
9536  orig_init(obj, *args, **keys)
9537  obj.__init__ = __init__
9538  return obj
9539  return wrapper
9540 
9541 def deprecated_method(version, help_message):
9542  """Python decorator to mark a method as deprecated.
9543  @see [deprecation support](@ref deprecation)."""
9544  def out_wrapper(obj):
9545  @functools.wraps(obj)
9546  def wrapper(cls, *args, **keys):
9547  handle_use_deprecated("Method %s in %s is deprecated. %s\n"
9548  % (obj.__name__, type(cls), help_message))
9549  return obj(cls, *args, **keys)
9550  return wrapper
9551  return out_wrapper
9552 
9553 def deprecated_function(version, help_message):
9554  """Python decorator to mark a function as deprecated.
9555  @see [deprecation support](@ref deprecation)."""
9556  def out_wrapper(obj):
9557  @functools.wraps(obj)
9558  def wrapper(*args, **keys):
9559  handle_use_deprecated("Function %s is deprecated. %s\n"
9560  % (obj.__name__, help_message))
9561  return obj(*args, **keys)
9562  return wrapper
9563  return out_wrapper
9564 
9565 @contextlib.contextmanager
9566 def allow_deprecated(allow=True):
9567  """Context manager to temporarily allow (or disallow) deprecated code.
9568  @see [deprecation support](@ref deprecation)."""
9570  set_deprecation_exceptions(not allow)
9571  yield
9573 
9574 
9575 def _get_all_flags(ntokens):
9576  r"""_get_all_flags(unsigned int ntokens) -> IMP::Strings"""
9577  return _IMP_kernel._get_all_flags(ntokens)
9578 
9579 def _print_internal_help(out, description):
9580  r"""_print_internal_help(_ostream out, std::string description)"""
9581  return _IMP_kernel._print_internal_help(out, description)
9582 
9583 
9584 import argparse
9585 import sys
9586 
9587 class _PassThroughAction(argparse.Action):
9588  """Pass an argument through to the IMP Boost parser"""
9589  def __call__(self, parser, namespace, values, option_string=None):
9590  parser._boost_command_line.append(option_string)
9591  if values != []:
9592  parser._boost_command_line.append(values)
9593 # Terminate processing immediately if necessary (otherwise argparse
9594 # may fail if we're missing positional arguments)
9595  if option_string in ('-h', '--help', '--help_advanced', '--version'):
9596  parser._handle_boost()
9597 
9598 
9599 class ArgumentParser(argparse.ArgumentParser):
9600  """IMP-specific subclass of argparse.ArgumentParser.
9601  This adds options common to all IMP applications
9602  (see IMP::setup_from_argv()).
9603  """
9604 
9605  def __init__(self, *args, **kwargs):
9606 # Don't add --help option (since the Boost option parser handles it)
9607  kwargs['add_help'] = False
9608  super().__init__(*args, **kwargs)
9609  for ntoken in (0, 1):
9610  flags = _get_all_flags(ntoken)
9611  for f in flags:
9612  arg = ['-h', '--help'] if f == 'help' else ['--' + f]
9613  self.add_argument(*arg, help=argparse.SUPPRESS,
9614  nargs=None if ntoken else 0,
9615  action=_PassThroughAction,
9616  default=argparse.SUPPRESS)
9617 
9618  def parse_args(self, args=None, namespace=None):
9619  """Parse the command line and return optional and positional arguments.
9620  This functions in the same way as the method in the base class
9621  argparse.ArgumentParser, except that it also processes optional
9622  arguments common to all IMP applications (these are not returned
9623  in `args`, but can be obtained in the usual way, e.g. by calling
9624  IMP::get_string_flag()).
9625  @returns args
9626  """
9627  self._boost_command_line = [sys.argv[0]]
9628  ret = super().parse_args(args, namespace)
9629  if len(self._boost_command_line) > 1:
9630  self._handle_boost()
9631  return ret
9632 
9633  def _get_description(self):
9634  return self.format_help() + "\nOptions common to all IMP applications:"
9635 
9636  def print_help(self, file=None):
9637  _print_internal_help(file if file else sys.stdout,
9638  self._get_description())
9639 
9640  def _handle_boost(self):
9641  setup_from_argv(self._boost_command_line,
9642  self._get_description(),
9643  '==SUPPRESS==', 0)
9644 
9645 class RandomNumberGenerator(object):
9646  r"""Proxy of C++ IMP::RandomNumberGenerator class."""
9647 
9648  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9649  __repr__ = _swig_repr
9650 
9651  def seed(self, x):
9652  r"""seed(RandomNumberGenerator self, int x)"""
9653  return _IMP_kernel.RandomNumberGenerator_seed(self, x)
9654 
9655  def __call__(self):
9656  r"""__call__(RandomNumberGenerator self) -> int"""
9657  return _IMP_kernel.RandomNumberGenerator___call__(self)
9658 
9659  def __init__(self):
9660  r"""__init__(RandomNumberGenerator self) -> RandomNumberGenerator"""
9661  _IMP_kernel.RandomNumberGenerator_swiginit(self, _IMP_kernel.new_RandomNumberGenerator())
9662  __swig_destroy__ = _IMP_kernel.delete_RandomNumberGenerator
9663 
9664 # Register RandomNumberGenerator in _IMP_kernel:
9665 _IMP_kernel.RandomNumberGenerator_swigregister(RandomNumberGenerator)
9666 
9667 def get_random_float_uniform(*args):
9668  r"""
9669  get_random_float_uniform() -> float
9670  get_random_float_uniform(float min, float max) -> float
9671  """
9672  return _IMP_kernel.get_random_float_uniform(*args)
9673 
9674 def get_random_double_uniform(*args):
9675  r"""
9676  get_random_double_uniform() -> double
9677  get_random_double_uniform(double min, double max) -> double
9678  """
9679  return _IMP_kernel.get_random_double_uniform(*args)
9680 
9681 def get_random_floats_normal(n, mean=0.0, stddev=1.0):
9682  r"""get_random_floats_normal(unsigned int n, float mean=0.0, float stddev=1.0) -> IMP::Vector< float,std::allocator< float > >"""
9683  return _IMP_kernel.get_random_floats_normal(n, mean, stddev)
9684 
9685 def get_random_doubles_normal(n, mean=0.0, stddev=1.0):
9686  r"""get_random_doubles_normal(unsigned int n, double mean=0.0, double stddev=1.0) -> IMP::Vector< double,std::allocator< double > >"""
9687  return _IMP_kernel.get_random_doubles_normal(n, mean, stddev)
9688 
9689 def get_random_floats_uniform(n):
9690  r"""get_random_floats_uniform(unsigned int n) -> IMP::Vector< float,std::allocator< float > >"""
9691  return _IMP_kernel.get_random_floats_uniform(n)
9692 
9693 def get_random_doubles_uniform(n):
9694  r"""get_random_doubles_uniform(unsigned int n) -> IMP::Vector< double,std::allocator< double > >"""
9695  return _IMP_kernel.get_random_doubles_uniform(n)
9696 
9697 def get_random_seed():
9698  r"""get_random_seed() -> boost::uint64_t"""
9699  return _IMP_kernel.get_random_seed()
9700 
9701 def _get_derivatives_numpy(m, k, m_pyobj, read_only):
9702  r"""_get_derivatives_numpy(Model m, FloatKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
9703  return _IMP_kernel._get_derivatives_numpy(m, k, m_pyobj, read_only)
9704 
9705 def _get_floats_numpy(m, k, m_pyobj, read_only):
9706  r"""_get_floats_numpy(Model m, FloatKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
9707  return _IMP_kernel._get_floats_numpy(m, k, m_pyobj, read_only)
9708 
9709 def _get_ints_numpy(m, k, m_pyobj, read_only):
9710  r"""_get_ints_numpy(Model m, IntKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
9711  return _IMP_kernel._get_ints_numpy(m, k, m_pyobj, read_only)
9712 
9713 def _get_vector3ds_numpy(m, k, m_pyobj, read_only):
9714  r"""_get_vector3ds_numpy(Model m, Vector3DKey k, PyObject * m_pyobj, bool read_only) -> PyObject *"""
9715  return _IMP_kernel._get_vector3ds_numpy(m, k, m_pyobj, read_only)
9716 
9717 def _get_spheres_numpy(m, m_pyobj, read_only):
9718  r"""_get_spheres_numpy(Model m, PyObject * m_pyobj, bool read_only) -> PyObject *"""
9719  return _IMP_kernel._get_spheres_numpy(m, m_pyobj, read_only)
9720 
9721 def _get_sphere_derivatives_numpy(m, m_pyobj, read_only):
9722  r"""_get_sphere_derivatives_numpy(Model m, PyObject * m_pyobj, bool read_only) -> PyObject *"""
9723  return _IMP_kernel._get_sphere_derivatives_numpy(m, m_pyobj, read_only)
9724 
9725 try:
9726  import numpy
9727  ParticleIndex = numpy.intc
9728 except ImportError:
9729  pass
9730 
9731 
9732 def get_module_name():
9733  r"""get_module_name() -> std::string const"""
9734  return _IMP_kernel.get_module_name()
9735 
9736 def get_module_version():
9737  r"""get_module_version() -> std::string const"""
9738  return _IMP_kernel.get_module_version()
9739 
9740 def get_example_path(fname):
9741  r"""get_example_path(std::string fname) -> std::string"""
9742  return _IMP_kernel.get_example_path(fname)
9743 
9744 def get_data_path(fname):
9745  r"""get_data_path(std::string fname) -> std::string"""
9746  return _IMP_kernel.get_data_path(fname)
9747 
9748 from . import _version_check
9749 _version_check.check_version(get_module_version())
9750 __version__ = get_module_version()
9751 
9752 
9753 random_number_generator = cvar.random_number_generator
9754 
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:5639
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:9309
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:9566
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:5661
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:9347
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:9518
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:9553
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:5684
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:5653
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:9541
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:9618
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:5678
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:9599
def get_derivatives_numpy
Get the model's attribute derivatives array for FloatKey k as a NumPy array.
Definition: __init__.py:5666
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:9525
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:9334
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:5671
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.