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