IMP logo
IMP Reference Guide  2.24.0
The Integrative Modeling Platform
example/__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.3.1
3 #
4 # Do not make changes to this file unless you know what you are doing - modify
5 # the SWIG interface file instead.
6 
7 
8 # This wrapper is part of IMP,
9 # Copyright 2007-2026 IMP Inventors. All rights reserved.
10 
11 
12 
13 
14 from sys import version_info as _swig_python_version_info
15 import _IMP_example
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_EXAMPLE_SwigPyIterator(object):
67  r"""Proxy of C++ swig::IMP_EXAMPLE_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_example.delete_IMP_EXAMPLE_SwigPyIterator
75 
76  def value(self):
77  r"""value(IMP_EXAMPLE_SwigPyIterator self) -> PyObject *"""
78  return _IMP_example.IMP_EXAMPLE_SwigPyIterator_value(self)
79 
80  def incr(self, n=1):
81  r"""incr(IMP_EXAMPLE_SwigPyIterator self, size_t n=1) -> IMP_EXAMPLE_SwigPyIterator"""
82  return _IMP_example.IMP_EXAMPLE_SwigPyIterator_incr(self, n)
83 
84  def decr(self, n=1):
85  r"""decr(IMP_EXAMPLE_SwigPyIterator self, size_t n=1) -> IMP_EXAMPLE_SwigPyIterator"""
86  return _IMP_example.IMP_EXAMPLE_SwigPyIterator_decr(self, n)
87 
88  def distance(self, x):
89  r"""distance(IMP_EXAMPLE_SwigPyIterator self, IMP_EXAMPLE_SwigPyIterator x) -> ptrdiff_t"""
90  return _IMP_example.IMP_EXAMPLE_SwigPyIterator_distance(self, x)
91 
92  def equal(self, x):
93  r"""equal(IMP_EXAMPLE_SwigPyIterator self, IMP_EXAMPLE_SwigPyIterator x) -> bool"""
94  return _IMP_example.IMP_EXAMPLE_SwigPyIterator_equal(self, x)
95 
96  def copy(self):
97  r"""copy(IMP_EXAMPLE_SwigPyIterator self) -> IMP_EXAMPLE_SwigPyIterator"""
98  return _IMP_example.IMP_EXAMPLE_SwigPyIterator_copy(self)
99 
100  def next(self):
101  r"""next(IMP_EXAMPLE_SwigPyIterator self) -> PyObject *"""
102  return _IMP_example.IMP_EXAMPLE_SwigPyIterator_next(self)
103 
104  def __next__(self):
105  r"""__next__(IMP_EXAMPLE_SwigPyIterator self) -> PyObject *"""
106  return _IMP_example.IMP_EXAMPLE_SwigPyIterator___next__(self)
107 
108  def previous(self):
109  r"""previous(IMP_EXAMPLE_SwigPyIterator self) -> PyObject *"""
110  return _IMP_example.IMP_EXAMPLE_SwigPyIterator_previous(self)
111 
112  def advance(self, n):
113  r"""advance(IMP_EXAMPLE_SwigPyIterator self, ptrdiff_t n) -> IMP_EXAMPLE_SwigPyIterator"""
114  return _IMP_example.IMP_EXAMPLE_SwigPyIterator_advance(self, n)
115 
116  def __eq__(self, x):
117  r"""__eq__(IMP_EXAMPLE_SwigPyIterator self, IMP_EXAMPLE_SwigPyIterator x) -> bool"""
118  return _IMP_example.IMP_EXAMPLE_SwigPyIterator___eq__(self, x)
119 
120  def __ne__(self, x):
121  r"""__ne__(IMP_EXAMPLE_SwigPyIterator self, IMP_EXAMPLE_SwigPyIterator x) -> bool"""
122  return _IMP_example.IMP_EXAMPLE_SwigPyIterator___ne__(self, x)
123 
124  def __iadd__(self, n):
125  r"""__iadd__(IMP_EXAMPLE_SwigPyIterator self, ptrdiff_t n) -> IMP_EXAMPLE_SwigPyIterator"""
126  return _IMP_example.IMP_EXAMPLE_SwigPyIterator___iadd__(self, n)
127 
128  def __isub__(self, n):
129  r"""__isub__(IMP_EXAMPLE_SwigPyIterator self, ptrdiff_t n) -> IMP_EXAMPLE_SwigPyIterator"""
130  return _IMP_example.IMP_EXAMPLE_SwigPyIterator___isub__(self, n)
131 
132  def __add__(self, n):
133  r"""__add__(IMP_EXAMPLE_SwigPyIterator self, ptrdiff_t n) -> IMP_EXAMPLE_SwigPyIterator"""
134  return _IMP_example.IMP_EXAMPLE_SwigPyIterator___add__(self, n)
135 
136  def __sub__(self, *args):
137  r"""
138  __sub__(IMP_EXAMPLE_SwigPyIterator self, ptrdiff_t n) -> IMP_EXAMPLE_SwigPyIterator
139  __sub__(IMP_EXAMPLE_SwigPyIterator self, IMP_EXAMPLE_SwigPyIterator x) -> ptrdiff_t
140  """
141  return _IMP_example.IMP_EXAMPLE_SwigPyIterator___sub__(self, *args)
142  def __iter__(self):
143  return self
144 
145 # Register IMP_EXAMPLE_SwigPyIterator in _IMP_example:
146 _IMP_example.IMP_EXAMPLE_SwigPyIterator_swigregister(IMP_EXAMPLE_SwigPyIterator)
147 
148 _value_types=[]
149 _object_types=[]
150 _raii_types=[]
151 _plural_types=[]
152 
153 IMP_DEBUG = _IMP_example.IMP_DEBUG
154 
155 IMP_RELEASE = _IMP_example.IMP_RELEASE
156 
157 IMP_SILENT = _IMP_example.IMP_SILENT
158 
159 IMP_PROGRESS = _IMP_example.IMP_PROGRESS
160 
161 IMP_TERSE = _IMP_example.IMP_TERSE
162 
163 IMP_VERBOSE = _IMP_example.IMP_VERBOSE
164 
165 IMP_MEMORY = _IMP_example.IMP_MEMORY
166 
167 IMP_NONE = _IMP_example.IMP_NONE
168 
169 IMP_USAGE = _IMP_example.IMP_USAGE
170 
171 IMP_INTERNAL = _IMP_example.IMP_INTERNAL
172 
173 IMP_KERNEL_HAS_LOG4CXX = _IMP_example.IMP_KERNEL_HAS_LOG4CXX
174 
175 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_example.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
176 
177 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_example.IMP_COMPILER_HAS_DEBUG_VECTOR
178 
179 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_example.IMP_COMPILER_HAS_RANDOM_SHUFFLE
180 
181 IMP_COMPILER_HAS_THREE_WAY = _IMP_example.IMP_COMPILER_HAS_THREE_WAY
182 
183 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_example.IMP_KERNEL_HAS_BOOST_RANDOM
184 
185 IMP_KERNEL_HAS_NUMPY = _IMP_example.IMP_KERNEL_HAS_NUMPY
186 
187 IMP_KERNEL_HAS_BOOST_SYSTEM = _IMP_example.IMP_KERNEL_HAS_BOOST_SYSTEM
188 
189 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_example.IMP_KERNEL_HAS_GPERFTOOLS
190 
191 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_example.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
192 
193 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_example.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
194 
195 IMPKERNEL_SHOW_WARNINGS = _IMP_example.IMPKERNEL_SHOW_WARNINGS
196 
197 
198 import sys
199 class _DirectorObjects:
200  """@internal Simple class to keep references to director objects
201  to prevent premature deletion."""
202  def __init__(self):
203  self._objects = []
204  def register(self, obj):
205  """Take a reference to a director object; will only work for
206  refcounted C++ classes"""
207  if hasattr(obj, 'get_ref_count'):
208  self._objects.append(obj)
209  def cleanup(self):
210  """Only drop our reference and allow cleanup by Python if no other
211  Python references exist (we hold 3 references: one in self._objects,
212  one in x, and one in the argument list for getrefcount) *and* no
213  other C++ references exist (the Python object always holds one)"""
214  objs = [x for x in self._objects if sys.getrefcount(x) > 3 \
215  or x.get_ref_count() > 1]
216 # Do in two steps so the references are kept until the end of the
217 # function (deleting references may trigger a fresh call to this method)
218  self._objects = objs
219  def get_object_count(self):
220  """Get number of director objects (useful for testing only)"""
221  return len(self._objects)
222 _director_objects = _DirectorObjects()
223 
224 class _ostream(object):
225  r"""Proxy of C++ std::ostream class."""
226 
227  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
228 
229  def __init__(self, *args, **kwargs):
230  raise AttributeError("No constructor defined")
231  __repr__ = _swig_repr
232 
233  def write(self, osa_buf):
234  r"""write(_ostream self, char const * osa_buf)"""
235  return _IMP_example._ostream_write(self, osa_buf)
236 
237 # Register _ostream in _IMP_example:
238 _IMP_example._ostream_swigregister(_ostream)
239 IMP_C_OPEN_BINARY = _IMP_example.IMP_C_OPEN_BINARY
240 
241 import IMP
242 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_example.IMP_CGAL_HAS_BOOST_FILESYSTEM
243 
244 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_example.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
245 
246 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_example.IMP_CGAL_HAS_BOOST_RANDOM
247 
248 IMP_CGAL_HAS_NUMPY = _IMP_example.IMP_CGAL_HAS_NUMPY
249 
250 IMPCGAL_SHOW_WARNINGS = _IMP_example.IMPCGAL_SHOW_WARNINGS
251 
252 import IMP.cgal
253 IMP_ALGEBRA_HAS_IMP_CGAL = _IMP_example.IMP_ALGEBRA_HAS_IMP_CGAL
254 
255 IMP_ALGEBRA_HAS_BOOST_FILESYSTEM = _IMP_example.IMP_ALGEBRA_HAS_BOOST_FILESYSTEM
256 
257 IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS = _IMP_example.IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS
258 
259 IMP_ALGEBRA_HAS_BOOST_RANDOM = _IMP_example.IMP_ALGEBRA_HAS_BOOST_RANDOM
260 
261 IMP_ALGEBRA_HAS_CGAL = _IMP_example.IMP_ALGEBRA_HAS_CGAL
262 
263 IMP_ALGEBRA_HAS_NUMPY = _IMP_example.IMP_ALGEBRA_HAS_NUMPY
264 
265 IMP_ALGEBRA_HAS_ANN = _IMP_example.IMP_ALGEBRA_HAS_ANN
266 
267 IMPALGEBRA_SHOW_WARNINGS = _IMP_example.IMPALGEBRA_SHOW_WARNINGS
268 
269 import IMP.algebra
270 IMP_DISPLAY_HAS_IMP_CGAL = _IMP_example.IMP_DISPLAY_HAS_IMP_CGAL
271 
272 IMP_DISPLAY_HAS_BOOST_FILESYSTEM = _IMP_example.IMP_DISPLAY_HAS_BOOST_FILESYSTEM
273 
274 IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS = _IMP_example.IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS
275 
276 IMP_DISPLAY_HAS_BOOST_RANDOM = _IMP_example.IMP_DISPLAY_HAS_BOOST_RANDOM
277 
278 IMP_DISPLAY_HAS_CGAL = _IMP_example.IMP_DISPLAY_HAS_CGAL
279 
280 IMP_DISPLAY_HAS_NUMPY = _IMP_example.IMP_DISPLAY_HAS_NUMPY
281 
282 IMPDISPLAY_SHOW_WARNINGS = _IMP_example.IMPDISPLAY_SHOW_WARNINGS
283 
284 import IMP.display
285 IMP_SCORE_FUNCTOR_HAS_IMP_CGAL = _IMP_example.IMP_SCORE_FUNCTOR_HAS_IMP_CGAL
286 
287 IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM = _IMP_example.IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM
288 
289 IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS = _IMP_example.IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS
290 
291 IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM = _IMP_example.IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM
292 
293 IMP_SCORE_FUNCTOR_HAS_CGAL = _IMP_example.IMP_SCORE_FUNCTOR_HAS_CGAL
294 
295 IMP_SCORE_FUNCTOR_HAS_HDF5 = _IMP_example.IMP_SCORE_FUNCTOR_HAS_HDF5
296 
297 IMP_SCORE_FUNCTOR_HAS_NUMPY = _IMP_example.IMP_SCORE_FUNCTOR_HAS_NUMPY
298 
299 IMPSCOREFUNCTOR_SHOW_WARNINGS = _IMP_example.IMPSCOREFUNCTOR_SHOW_WARNINGS
300 
301 import IMP.score_functor
302 IMP_STATISTICS_HAS_IMP_CGAL = _IMP_example.IMP_STATISTICS_HAS_IMP_CGAL
303 
304 IMP_STATISTICS_HAS_BOOST_FILESYSTEM = _IMP_example.IMP_STATISTICS_HAS_BOOST_FILESYSTEM
305 
306 IMP_STATISTICS_HAS_BOOST_PROGRAMOPTIONS = _IMP_example.IMP_STATISTICS_HAS_BOOST_PROGRAMOPTIONS
307 
308 IMP_STATISTICS_HAS_BOOST_RANDOM = _IMP_example.IMP_STATISTICS_HAS_BOOST_RANDOM
309 
310 IMP_STATISTICS_HAS_CGAL = _IMP_example.IMP_STATISTICS_HAS_CGAL
311 
312 IMP_STATISTICS_HAS_NUMPY = _IMP_example.IMP_STATISTICS_HAS_NUMPY
313 
314 IMPSTATISTICS_SHOW_WARNINGS = _IMP_example.IMPSTATISTICS_SHOW_WARNINGS
315 
316 import IMP.statistics
317 IMP_CORE_HAS_IMP_CGAL = _IMP_example.IMP_CORE_HAS_IMP_CGAL
318 
319 IMP_CORE_HAS_IMP_KERNEL = _IMP_example.IMP_CORE_HAS_IMP_KERNEL
320 
321 IMP_CORE_HAS_BOOST_FILESYSTEM = _IMP_example.IMP_CORE_HAS_BOOST_FILESYSTEM
322 
323 IMP_CORE_HAS_BOOST_PROGRAMOPTIONS = _IMP_example.IMP_CORE_HAS_BOOST_PROGRAMOPTIONS
324 
325 IMP_CORE_HAS_BOOST_RANDOM = _IMP_example.IMP_CORE_HAS_BOOST_RANDOM
326 
327 IMP_CORE_HAS_CGAL = _IMP_example.IMP_CORE_HAS_CGAL
328 
329 IMP_CORE_HAS_HDF5 = _IMP_example.IMP_CORE_HAS_HDF5
330 
331 IMP_CORE_HAS_NUMPY = _IMP_example.IMP_CORE_HAS_NUMPY
332 
333 IMPCORE_SHOW_WARNINGS = _IMP_example.IMPCORE_SHOW_WARNINGS
334 
335 import IMP.core
336 IMP_CONTAINER_HAS_IMP_ALGEBRA = _IMP_example.IMP_CONTAINER_HAS_IMP_ALGEBRA
337 
338 IMP_CONTAINER_HAS_IMP_CGAL = _IMP_example.IMP_CONTAINER_HAS_IMP_CGAL
339 
340 IMP_CONTAINER_HAS_IMP_DISPLAY = _IMP_example.IMP_CONTAINER_HAS_IMP_DISPLAY
341 
342 IMP_CONTAINER_HAS_IMP_KERNEL = _IMP_example.IMP_CONTAINER_HAS_IMP_KERNEL
343 
344 IMP_CONTAINER_HAS_IMP_SCORE_FUNCTOR = _IMP_example.IMP_CONTAINER_HAS_IMP_SCORE_FUNCTOR
345 
346 IMP_CONTAINER_HAS_BOOST_FILESYSTEM = _IMP_example.IMP_CONTAINER_HAS_BOOST_FILESYSTEM
347 
348 IMP_CONTAINER_HAS_BOOST_PROGRAMOPTIONS = _IMP_example.IMP_CONTAINER_HAS_BOOST_PROGRAMOPTIONS
349 
350 IMP_CONTAINER_HAS_BOOST_RANDOM = _IMP_example.IMP_CONTAINER_HAS_BOOST_RANDOM
351 
352 IMP_CONTAINER_HAS_CGAL = _IMP_example.IMP_CONTAINER_HAS_CGAL
353 
354 IMP_CONTAINER_HAS_HDF5 = _IMP_example.IMP_CONTAINER_HAS_HDF5
355 
356 IMP_CONTAINER_HAS_NUMPY = _IMP_example.IMP_CONTAINER_HAS_NUMPY
357 
358 IMP_CONTAINER_HAS_PYTHON_IHM = _IMP_example.IMP_CONTAINER_HAS_PYTHON_IHM
359 
360 IMP_CONTAINER_HAS_GOOGLE_DENSE_HASH_MAP = _IMP_example.IMP_CONTAINER_HAS_GOOGLE_DENSE_HASH_MAP
361 
362 IMP_CONTAINER_HAS_ROBIN_MAP = _IMP_example.IMP_CONTAINER_HAS_ROBIN_MAP
363 
364 IMPCONTAINER_SHOW_WARNINGS = _IMP_example.IMPCONTAINER_SHOW_WARNINGS
365 
366 import IMP.container
367 IMP_ATOM_HAS_IMP_CGAL = _IMP_example.IMP_ATOM_HAS_IMP_CGAL
368 
369 IMP_ATOM_HAS_IMP_KERNEL = _IMP_example.IMP_ATOM_HAS_IMP_KERNEL
370 
371 IMP_ATOM_HAS_IMP_SCORE_FUNCTOR = _IMP_example.IMP_ATOM_HAS_IMP_SCORE_FUNCTOR
372 
373 IMP_ATOM_HAS_BOOST_PROGRAMOPTIONS = _IMP_example.IMP_ATOM_HAS_BOOST_PROGRAMOPTIONS
374 
375 IMP_ATOM_HAS_BOOST_RANDOM = _IMP_example.IMP_ATOM_HAS_BOOST_RANDOM
376 
377 IMP_ATOM_HAS_BOOST_REGEX = _IMP_example.IMP_ATOM_HAS_BOOST_REGEX
378 
379 IMP_ATOM_HAS_CGAL = _IMP_example.IMP_ATOM_HAS_CGAL
380 
381 IMP_ATOM_HAS_HDF5 = _IMP_example.IMP_ATOM_HAS_HDF5
382 
383 IMP_ATOM_HAS_NUMPY = _IMP_example.IMP_ATOM_HAS_NUMPY
384 
385 IMP_ATOM_HAS_PYTHON_IHM = _IMP_example.IMP_ATOM_HAS_PYTHON_IHM
386 
387 IMPATOM_SHOW_WARNINGS = _IMP_example.IMPATOM_SHOW_WARNINGS
388 
389 IMP_ATOM_TYPE_INDEX = _IMP_example.IMP_ATOM_TYPE_INDEX
390 
391 IMP_RESIDUE_TYPE_INDEX = _IMP_example.IMP_RESIDUE_TYPE_INDEX
392 
393 IMP_HIERARCHY_TYPE_INDEX = _IMP_example.IMP_HIERARCHY_TYPE_INDEX
394 
395 IMP_CHAIN_TYPE_INDEX = _IMP_example.IMP_CHAIN_TYPE_INDEX
396 
397 import IMP.atom
398 IMP_EM_HAS_IMP_CGAL = _IMP_example.IMP_EM_HAS_IMP_CGAL
399 
400 IMP_EM_HAS_IMP_CONTAINER = _IMP_example.IMP_EM_HAS_IMP_CONTAINER
401 
402 IMP_EM_HAS_IMP_DISPLAY = _IMP_example.IMP_EM_HAS_IMP_DISPLAY
403 
404 IMP_EM_HAS_IMP_SCORE_FUNCTOR = _IMP_example.IMP_EM_HAS_IMP_SCORE_FUNCTOR
405 
406 IMP_EM_HAS_BOOST_FILESYSTEM = _IMP_example.IMP_EM_HAS_BOOST_FILESYSTEM
407 
408 IMP_EM_HAS_BOOST_PROGRAMOPTIONS = _IMP_example.IMP_EM_HAS_BOOST_PROGRAMOPTIONS
409 
410 IMP_EM_HAS_BOOST_RANDOM = _IMP_example.IMP_EM_HAS_BOOST_RANDOM
411 
412 IMP_EM_HAS_BOOST_REGEX = _IMP_example.IMP_EM_HAS_BOOST_REGEX
413 
414 IMP_EM_HAS_CGAL = _IMP_example.IMP_EM_HAS_CGAL
415 
416 IMP_EM_HAS_HDF5 = _IMP_example.IMP_EM_HAS_HDF5
417 
418 IMP_EM_HAS_NUMPY = _IMP_example.IMP_EM_HAS_NUMPY
419 
420 IMP_EM_HAS_PYTHON_IHM = _IMP_example.IMP_EM_HAS_PYTHON_IHM
421 
422 IMPEM_SHOW_WARNINGS = _IMP_example.IMPEM_SHOW_WARNINGS
423 
424 import IMP.em
425 IMP_SAXS_HAS_IMP_CGAL = _IMP_example.IMP_SAXS_HAS_IMP_CGAL
426 
427 IMP_SAXS_HAS_IMP_CONTAINER = _IMP_example.IMP_SAXS_HAS_IMP_CONTAINER
428 
429 IMP_SAXS_HAS_IMP_DISPLAY = _IMP_example.IMP_SAXS_HAS_IMP_DISPLAY
430 
431 IMP_SAXS_HAS_IMP_KERNEL = _IMP_example.IMP_SAXS_HAS_IMP_KERNEL
432 
433 IMP_SAXS_HAS_IMP_SCORE_FUNCTOR = _IMP_example.IMP_SAXS_HAS_IMP_SCORE_FUNCTOR
434 
435 IMP_SAXS_HAS_BOOST_FILESYSTEM = _IMP_example.IMP_SAXS_HAS_BOOST_FILESYSTEM
436 
437 IMP_SAXS_HAS_BOOST_PROGRAMOPTIONS = _IMP_example.IMP_SAXS_HAS_BOOST_PROGRAMOPTIONS
438 
439 IMP_SAXS_HAS_BOOST_RANDOM = _IMP_example.IMP_SAXS_HAS_BOOST_RANDOM
440 
441 IMP_SAXS_HAS_BOOST_REGEX = _IMP_example.IMP_SAXS_HAS_BOOST_REGEX
442 
443 IMP_SAXS_HAS_CGAL = _IMP_example.IMP_SAXS_HAS_CGAL
444 
445 IMP_SAXS_HAS_HDF5 = _IMP_example.IMP_SAXS_HAS_HDF5
446 
447 IMP_SAXS_HAS_NUMPY = _IMP_example.IMP_SAXS_HAS_NUMPY
448 
449 IMP_SAXS_HAS_PYTHON_IHM = _IMP_example.IMP_SAXS_HAS_PYTHON_IHM
450 
451 IMPSAXS_SHOW_WARNINGS = _IMP_example.IMPSAXS_SHOW_WARNINGS
452 
453 import IMP.saxs
454 IMP_ISD_HAS_IMP_CGAL = _IMP_example.IMP_ISD_HAS_IMP_CGAL
455 
456 IMP_ISD_HAS_IMP_DISPLAY = _IMP_example.IMP_ISD_HAS_IMP_DISPLAY
457 
458 IMP_ISD_HAS_IMP_SCORE_FUNCTOR = _IMP_example.IMP_ISD_HAS_IMP_SCORE_FUNCTOR
459 
460 IMP_ISD_HAS_BOOST_FILESYSTEM = _IMP_example.IMP_ISD_HAS_BOOST_FILESYSTEM
461 
462 IMP_ISD_HAS_BOOST_PROGRAMOPTIONS = _IMP_example.IMP_ISD_HAS_BOOST_PROGRAMOPTIONS
463 
464 IMP_ISD_HAS_BOOST_RANDOM = _IMP_example.IMP_ISD_HAS_BOOST_RANDOM
465 
466 IMP_ISD_HAS_BOOST_REGEX = _IMP_example.IMP_ISD_HAS_BOOST_REGEX
467 
468 IMP_ISD_HAS_CGAL = _IMP_example.IMP_ISD_HAS_CGAL
469 
470 IMP_ISD_HAS_HDF5 = _IMP_example.IMP_ISD_HAS_HDF5
471 
472 IMP_ISD_HAS_NUMPY = _IMP_example.IMP_ISD_HAS_NUMPY
473 
474 IMP_ISD_HAS_PYTHON_IHM = _IMP_example.IMP_ISD_HAS_PYTHON_IHM
475 
476 IMPISD_SHOW_WARNINGS = _IMP_example.IMPISD_SHOW_WARNINGS
477 
478 import IMP.isd
479 IMP_RMF_HAS_IMP_CGAL = _IMP_example.IMP_RMF_HAS_IMP_CGAL
480 
481 IMP_RMF_HAS_IMP_EM = _IMP_example.IMP_RMF_HAS_IMP_EM
482 
483 IMP_RMF_HAS_IMP_SAXS = _IMP_example.IMP_RMF_HAS_IMP_SAXS
484 
485 IMP_RMF_HAS_IMP_SCORE_FUNCTOR = _IMP_example.IMP_RMF_HAS_IMP_SCORE_FUNCTOR
486 
487 IMP_RMF_HAS_IMP_STATISTICS = _IMP_example.IMP_RMF_HAS_IMP_STATISTICS
488 
489 IMP_RMF_HAS_BOOST_FILESYSTEM = _IMP_example.IMP_RMF_HAS_BOOST_FILESYSTEM
490 
491 IMP_RMF_HAS_BOOST_PROGRAMOPTIONS = _IMP_example.IMP_RMF_HAS_BOOST_PROGRAMOPTIONS
492 
493 IMP_RMF_HAS_BOOST_RANDOM = _IMP_example.IMP_RMF_HAS_BOOST_RANDOM
494 
495 IMP_RMF_HAS_BOOST_REGEX = _IMP_example.IMP_RMF_HAS_BOOST_REGEX
496 
497 IMP_RMF_HAS_CGAL = _IMP_example.IMP_RMF_HAS_CGAL
498 
499 IMP_RMF_HAS_HDF5 = _IMP_example.IMP_RMF_HAS_HDF5
500 
501 IMP_RMF_HAS_NUMPY = _IMP_example.IMP_RMF_HAS_NUMPY
502 
503 IMP_RMF_HAS_PYTHON_IHM = _IMP_example.IMP_RMF_HAS_PYTHON_IHM
504 
505 IMPRMF_SHOW_WARNINGS = _IMP_example.IMPRMF_SHOW_WARNINGS
506 
507 import IMP.rmf
508 import RMF
509 IMP_DOMINO_HAS_IMP_ATOM = _IMP_example.IMP_DOMINO_HAS_IMP_ATOM
510 
511 IMP_DOMINO_HAS_IMP_CGAL = _IMP_example.IMP_DOMINO_HAS_IMP_CGAL
512 
513 IMP_DOMINO_HAS_IMP_EM = _IMP_example.IMP_DOMINO_HAS_IMP_EM
514 
515 IMP_DOMINO_HAS_IMP_ISD = _IMP_example.IMP_DOMINO_HAS_IMP_ISD
516 
517 IMP_DOMINO_HAS_IMP_KERNEL = _IMP_example.IMP_DOMINO_HAS_IMP_KERNEL
518 
519 IMP_DOMINO_HAS_IMP_RMF = _IMP_example.IMP_DOMINO_HAS_IMP_RMF
520 
521 IMP_DOMINO_HAS_IMP_SAXS = _IMP_example.IMP_DOMINO_HAS_IMP_SAXS
522 
523 IMP_DOMINO_HAS_IMP_SCORE_FUNCTOR = _IMP_example.IMP_DOMINO_HAS_IMP_SCORE_FUNCTOR
524 
525 IMP_DOMINO_HAS_BOOST_FILESYSTEM = _IMP_example.IMP_DOMINO_HAS_BOOST_FILESYSTEM
526 
527 IMP_DOMINO_HAS_BOOST_PROGRAMOPTIONS = _IMP_example.IMP_DOMINO_HAS_BOOST_PROGRAMOPTIONS
528 
529 IMP_DOMINO_HAS_BOOST_RANDOM = _IMP_example.IMP_DOMINO_HAS_BOOST_RANDOM
530 
531 IMP_DOMINO_HAS_BOOST_REGEX = _IMP_example.IMP_DOMINO_HAS_BOOST_REGEX
532 
533 IMP_DOMINO_HAS_CGAL = _IMP_example.IMP_DOMINO_HAS_CGAL
534 
535 IMP_DOMINO_HAS_HDF5 = _IMP_example.IMP_DOMINO_HAS_HDF5
536 
537 IMP_DOMINO_HAS_NUMPY = _IMP_example.IMP_DOMINO_HAS_NUMPY
538 
539 IMP_DOMINO_HAS_RMF = _IMP_example.IMP_DOMINO_HAS_RMF
540 
541 IMP_DOMINO_HAS_PYTHON_IHM = _IMP_example.IMP_DOMINO_HAS_PYTHON_IHM
542 
543 IMPDOMINO_SHOW_WARNINGS = _IMP_example.IMPDOMINO_SHOW_WARNINGS
544 
545 import RMF_HDF5
546 import IMP.domino
547 IMP_EXAMPLE_HAS_IMP_ALGEBRA = _IMP_example.IMP_EXAMPLE_HAS_IMP_ALGEBRA
548 
549 IMP_EXAMPLE_HAS_IMP_CGAL = _IMP_example.IMP_EXAMPLE_HAS_IMP_CGAL
550 
551 IMP_EXAMPLE_HAS_IMP_DISPLAY = _IMP_example.IMP_EXAMPLE_HAS_IMP_DISPLAY
552 
553 IMP_EXAMPLE_HAS_IMP_EM = _IMP_example.IMP_EXAMPLE_HAS_IMP_EM
554 
555 IMP_EXAMPLE_HAS_IMP_ISD = _IMP_example.IMP_EXAMPLE_HAS_IMP_ISD
556 
557 IMP_EXAMPLE_HAS_IMP_KERNEL = _IMP_example.IMP_EXAMPLE_HAS_IMP_KERNEL
558 
559 IMP_EXAMPLE_HAS_IMP_RMF = _IMP_example.IMP_EXAMPLE_HAS_IMP_RMF
560 
561 IMP_EXAMPLE_HAS_IMP_SAXS = _IMP_example.IMP_EXAMPLE_HAS_IMP_SAXS
562 
563 IMP_EXAMPLE_HAS_IMP_SCORE_FUNCTOR = _IMP_example.IMP_EXAMPLE_HAS_IMP_SCORE_FUNCTOR
564 
565 IMP_EXAMPLE_HAS_IMP_STATISTICS = _IMP_example.IMP_EXAMPLE_HAS_IMP_STATISTICS
566 
567 IMP_EXAMPLE_HAS_BOOST_FILESYSTEM = _IMP_example.IMP_EXAMPLE_HAS_BOOST_FILESYSTEM
568 
569 IMP_EXAMPLE_HAS_BOOST_GRAPH = _IMP_example.IMP_EXAMPLE_HAS_BOOST_GRAPH
570 
571 IMP_EXAMPLE_HAS_BOOST_PROGRAMOPTIONS = _IMP_example.IMP_EXAMPLE_HAS_BOOST_PROGRAMOPTIONS
572 
573 IMP_EXAMPLE_HAS_BOOST_RANDOM = _IMP_example.IMP_EXAMPLE_HAS_BOOST_RANDOM
574 
575 IMP_EXAMPLE_HAS_BOOST_REGEX = _IMP_example.IMP_EXAMPLE_HAS_BOOST_REGEX
576 
577 IMP_EXAMPLE_HAS_CGAL = _IMP_example.IMP_EXAMPLE_HAS_CGAL
578 
579 IMP_EXAMPLE_HAS_HDF5 = _IMP_example.IMP_EXAMPLE_HAS_HDF5
580 
581 IMP_EXAMPLE_HAS_NUMPY = _IMP_example.IMP_EXAMPLE_HAS_NUMPY
582 
583 IMP_EXAMPLE_HAS_RMF = _IMP_example.IMP_EXAMPLE_HAS_RMF
584 
585 IMP_EXAMPLE_HAS_PYTHON_IHM = _IMP_example.IMP_EXAMPLE_HAS_PYTHON_IHM
586 
587 IMP_EXAMPLE_HAS_EXAMPLEDEPENDENCY = _IMP_example.IMP_EXAMPLE_HAS_EXAMPLEDEPENDENCY
588 
589 IMPEXAMPLE_SHOW_WARNINGS = _IMP_example.IMPEXAMPLE_SHOW_WARNINGS
590 
591 
592 _object_types.append("ExampleRestraint")
593 
594 
595 def _object_cast_to_ExampleRestraint(o):
596  r"""_object_cast_to_ExampleRestraint(Object o) -> ExampleRestraint"""
597  return _IMP_example._object_cast_to_ExampleRestraint(o)
598 
599 def ExampleDecorators(l=[]):
600  return [ExampleDecorator(x) for x in l]
601 _plural_types.append("ExampleDecorators")
602 
603 
604 _value_types.append("ExampleDecorator")
605 
606 
607 _object_types.append("ExampleUnaryFunction")
608 
609 
610 def _object_cast_to_ExampleUnaryFunction(o):
611  r"""_object_cast_to_ExampleUnaryFunction(Object o) -> ExampleUnaryFunction"""
612  return _IMP_example._object_cast_to_ExampleUnaryFunction(o)
613 
614 _object_types.append("ExampleSingletonModifier")
615 
616 
617 def _object_cast_to_ExampleSingletonModifier(o):
618  r"""_object_cast_to_ExampleSingletonModifier(Object o) -> ExampleSingletonModifier"""
619  return _IMP_example._object_cast_to_ExampleSingletonModifier(o)
620 
621 _object_types.append("ExamplePairScore")
622 
623 
624 def _object_cast_to_ExamplePairScore(o):
625  r"""_object_cast_to_ExamplePairScore(Object o) -> ExamplePairScore"""
626  return _IMP_example._object_cast_to_ExamplePairScore(o)
627 
628 _object_types.append("ExampleSubsetFilterTable")
629 
630 
631 def _object_cast_to_ExampleSubsetFilterTable(o):
632  r"""_object_cast_to_ExampleSubsetFilterTable(Object o) -> ExampleSubsetFilterTable"""
633  return _IMP_example._object_cast_to_ExampleSubsetFilterTable(o)
634 
635 _object_types.append("ExampleConstraint")
636 
637 
638 def _object_cast_to_ExampleConstraint(o):
639  r"""_object_cast_to_ExampleConstraint(Object o) -> ExampleConstraint"""
640  return _IMP_example._object_cast_to_ExampleConstraint(o)
641 
642 _object_types.append("ExampleObject")
643 
644 
645 def _object_cast_to_ExampleObject(o):
646  r"""_object_cast_to_ExampleObject(Object o) -> ExampleObject"""
647  return _IMP_example._object_cast_to_ExampleObject(o)
648 
649 ExampleTemplateClass3Ds=list
650 _plural_types.append("ExampleTemplateClass3Ds")
651 _value_types.append("ExampleTemplateClass3D")
652 
653 
654 def create_model_and_particles():
655  m = IMP.Model()
658  IMP.algebra.Vector3D(10,10,10))
659  for i in range(0,100):
660  p = m.add_particle("p")
661  sc.add(p)
664  d.set_coordinates_are_optimized(True)
665  return (m, sc)
666 
667 
668 
670  """An example restraint written in Python.
671  This should be functionally equivalent to the C++ ExampleRestraint.
672  """
673  def __init__(self, m, p, k):
674  super().__init__(m, "PythonExampleRestraint%1%")
675  self.p, self.k = p, k
676 
678  """Pure Python implementation of the restraint"""
679  d = IMP.core.XYZ(self.get_model(), self.p)
680  score = .5 * self.k * d.get_z() * d.get_z()
681  if sa.get_derivative_accumulator():
682  deriv = self.k * d.get_z()
683  d.add_to_derivative(2, deriv, sa.get_derivative_accumulator())
684  sa.add_score(score)
685 
686  def _get_jax(self):
687  """Implementation of the restraint using JAX"""
688  import functools
689  def jax_restraint(X, k, pi):
690  xyz = X['xyz'][pi]
691  return 0.5 * k * xyz[2] * xyz[2]
692  f = functools.partial(jax_restraint, k=self.k, pi=self.p)
693  return self._wrap_jax(f)
694 
695  def do_get_inputs(self):
696  return [self.get_model().get_particle(self.p)]
697 
698 
699 
700 
702  """An example PairScore written in Python.
703  This should be functionally equivalent to the C++ ExamplePairScore.
704  """
705  def __init__(self, x0, k):
706  super().__init__()
707  self.x0, self.k = x0, k
708 
709  def evaluate_index(self, m, pip, da):
710  """Pure Python implementation of the score"""
711  d0 = IMP.core.XYZ(m, pip[0])
712  d1 = IMP.core.XYZ(m, pip[1])
713  diff = (d0.get_coordinates()
714  - d1.get_coordinates()).get_magnitude() - self.x0
715  score = .5 * self.k * diff * diff
716  if da:
717 # derivatives are requested
718  delta = d0.get_coordinates() - d1.get_coordinates()
719  udelta = delta.get_unit_vector()
720  dv = self.k * diff
721  d0.add_to_derivatives(udelta * dv, da)
722  d1.add_to_derivatives(-udelta * dv, da)
723  return score
724 
725  def do_get_inputs(self, m, pis):
726  return IMP.get_particles(m, pis)
727 
728 
729 
730 
732  """An example UnaryFunction written in Python.
733  This should be functionally equivalent to the C++ ExampleUnaryFunction.
734  """
735  def __init__(self, center, k):
736  super().__init__()
737  self.center, self.k = center, k
738 
739  def evaluate_with_derivative(self, feature):
740  return (self.evaluate(feature), self.k * (feature - self.center))
741 
742  def evaluate(self, feature):
743  return .5 * self.k * (feature - self.center) * (feature - self.center)
744 
745 
746 
747 
749  """An example Constraint written in Python.
750  This should be functionally equivalent to the C++ ExampleConstraint.
751  """
752 
753  k = None
754 
755  def __init__(self, p):
756  super().__init__(p.get_model(), "ExampleConstraint%1%")
757  self.p = p
758  if self.k is None:
759  PythonExampleConstraint.k = IMP.IntKey("Constraint key")
760  if not p.has_attribute(self.k):
761  p.add_attribute(self.k, 0)
762 
763  def do_update_attributes(self):
764  self.p.set_value(self.k, self.p.get_value(self.k) + 1)
765 
766  def do_update_derivatives(self, da):
767  pass
768 
769  def do_get_inputs(self):
770  return [self.p]
771 
772  def do_get_outputs(self):
773  return [self.p]
774 
775 
776 
777 
779  """An example SingletonModifier written in Python.
780  This should be functionally equivalent to the C++
781  ExampleSingletonModifier.
782  """
783 
784  def __init__(self, bb):
785  super().__init__("ExampleSingletonModifier%1%")
786  self.bb = bb
787 
788  def apply_index(self, m, pi):
789  d = IMP.core.XYZ(m, pi)
790  for i in range(3):
791 # shift the coordinate until it is in the box
792  while d.get_coordinate(i) < self.bb.get_corner(0)[i]:
793  d.set_coordinate(i,d.get_coordinate(i) + \
794  (self.bb.get_corner(1)[i] - self.bb.get_corner(0)[i]))
795  while d.get_coordinate(i) > self.bb.get_corner(1)[i]:
796  d.set_coordinate(i,d.get_coordinate(i) - \
797  (self.bb.get_corner(1)[i] - self.bb.get_corner(0)[i]))
798 
799  def do_get_inputs(self, m, pis):
800  return IMP.get_particles(m, pis)
801 
802  def do_get_outputs(self, m, pis):
803  return self.do_get_inputs(m, pis)
804 
805 
807  r"""Proxy of C++ IMP::example::ExampleRestraint class."""
808 
809  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
810 
811  def __init__(self, *args):
812  r"""
813  __init__(ExampleRestraint self, Model m, ParticleIndex p, double k) -> ExampleRestraint
814  __init__(ExampleRestraint self) -> ExampleRestraint
815  """
816  _IMP_example.ExampleRestraint_swiginit(self, _IMP_example.new_ExampleRestraint(*args))
817 
818  def get_force_constant(self):
819  r"""get_force_constant(ExampleRestraint self) -> double"""
820  return _IMP_example.ExampleRestraint_get_force_constant(self)
821 
822  def get_index(self):
823  r"""get_index(ExampleRestraint self) -> ParticleIndex"""
824  return _IMP_example.ExampleRestraint_get_index(self)
825 
826  def do_add_score_and_derivatives(self, sa):
827  r"""do_add_score_and_derivatives(ExampleRestraint self, ScoreAccumulator sa)"""
828  return _IMP_example.ExampleRestraint_do_add_score_and_derivatives(self, sa)
829 
830  def do_get_inputs(self):
831  r"""do_get_inputs(ExampleRestraint self) -> IMP::ModelObjectsTemp"""
832  return _IMP_example.ExampleRestraint_do_get_inputs(self)
833 
834  def get_version_info(self):
835  r"""get_version_info(ExampleRestraint self) -> VersionInfo"""
836  return _IMP_example.ExampleRestraint_get_version_info(self)
837  __swig_destroy__ = _IMP_example.delete_ExampleRestraint
838 
839  def __str__(self):
840  r"""__str__(ExampleRestraint self) -> std::string"""
841  return _IMP_example.ExampleRestraint___str__(self)
842 
843  def __repr__(self):
844  r"""__repr__(ExampleRestraint self) -> std::string"""
845  return _IMP_example.ExampleRestraint___repr__(self)
846 
847  @staticmethod
848  def get_from(o):
849  return _object_cast_to_ExampleRestraint(o)
850 
851 
852  def _get_as_binary(self):
853  r"""_get_as_binary(ExampleRestraint self) -> PyObject *"""
854  return _IMP_example.ExampleRestraint__get_as_binary(self)
855 
856  def _set_from_binary(self, p):
857  r"""_set_from_binary(ExampleRestraint self, PyObject * p)"""
858  return _IMP_example.ExampleRestraint__set_from_binary(self, p)
859 
860  def __getstate__(self):
861  p = self._get_as_binary()
862  if len(self.__dict__) > 1:
863  d = self.__dict__.copy()
864  del d['this']
865  p = (d, p)
866  return p
867 
868  def __setstate__(self, p):
869  if not hasattr(self, 'this'):
870  self.__init__()
871  if isinstance(p, tuple):
872  d, p = p
873  self.__dict__.update(d)
874  return self._set_from_binary(p)
875 
876 
877  def _get_jax(self):
878  """Implementation of the restraint using JAX"""
879  import functools
880  def jax_restraint(jm, k, pi):
881  xyz = jm['xyz'][pi]
882  return 0.5 * k * xyz[2] * xyz[2]
883  f = functools.partial(jax_restraint, k=self.get_force_constant(),
884  pi=self.get_index())
885  return self._wrap_jax(f)
886 
887 
888 # Register ExampleRestraint in _IMP_example:
889 _IMP_example.ExampleRestraint_swigregister(ExampleRestraint)
891  r"""Proxy of C++ IMP::example::ExampleDecorator class."""
892 
893  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
894 
895  def get_decorator_name(self):
896  r"""get_decorator_name(ExampleDecorator self) -> std::string"""
897  return _IMP_example.ExampleDecorator_get_decorator_name(self)
898 
899  def set_decorator_name(self, nm):
900  r"""set_decorator_name(ExampleDecorator self, std::string nm)"""
901  return _IMP_example.ExampleDecorator_set_decorator_name(self, nm)
902 
903  def __init__(self, *args):
904  r"""
905  __init__(ExampleDecorator self) -> ExampleDecorator
906  __init__(ExampleDecorator self, Model m, ParticleIndex id) -> ExampleDecorator
907  __init__(ExampleDecorator self, _ParticleAdaptor d) -> ExampleDecorator
908  """
909  _IMP_example.ExampleDecorator_swiginit(self, _IMP_example.new_ExampleDecorator(*args))
910 
911  @staticmethod
912  def get_is_setup(*args):
913  r"""
914  get_is_setup(Model m, ParticleIndex pi) -> bool
915  get_is_setup(_ParticleAdaptor p) -> bool
916  """
917  return _IMP_example.ExampleDecorator_get_is_setup(*args)
918 
919  def show(self, *args):
920  r"""show(ExampleDecorator self, _ostream out=std::cout)"""
921  return _IMP_example.ExampleDecorator_show(self, *args)
922 
923  @staticmethod
924  def setup_particle(*args):
925  r"""
926  setup_particle(Model m, ParticleIndex pi, std::string name) -> ExampleDecorator
927  setup_particle(_ParticleAdaptor pa, std::string name) -> ExampleDecorator
928  """
929  return _IMP_example.ExampleDecorator_setup_particle(*args)
930 
931  def add_attribute(self, *args):
932  r"""
933  add_attribute(ExampleDecorator self, FloatKey k, IMP::Float v, bool opt)
934  add_attribute(ExampleDecorator self, FloatKey a0, IMP::Float a1)
935  add_attribute(ExampleDecorator self, IntKey a0, IMP::Int a1)
936  add_attribute(ExampleDecorator self, FloatsKey a0, IMP::Floats a1)
937  add_attribute(ExampleDecorator self, IntsKey a0, IMP::Ints a1)
938  add_attribute(ExampleDecorator self, StringKey a0, IMP::String a1)
939  add_attribute(ExampleDecorator self, ParticleIndexKey a0, Particle a1)
940  add_attribute(ExampleDecorator self, ObjectKey a0, Object a1)
941  add_attribute(ExampleDecorator self, SparseFloatKey a0, IMP::Float a1)
942  add_attribute(ExampleDecorator self, SparseIntKey a0, IMP::Int a1)
943  add_attribute(ExampleDecorator self, SparseStringKey a0, IMP::String a1)
944  add_attribute(ExampleDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
945  """
946  return _IMP_example.ExampleDecorator_add_attribute(self, *args)
947 
948  def get_value(self, *args):
949  r"""
950  get_value(ExampleDecorator self, FloatKey a0) -> IMP::Float
951  get_value(ExampleDecorator self, IntKey a0) -> IMP::Int
952  get_value(ExampleDecorator self, FloatsKey a0) -> IMP::Floats
953  get_value(ExampleDecorator self, IntsKey a0) -> IMP::Ints
954  get_value(ExampleDecorator self, StringKey a0) -> IMP::String
955  get_value(ExampleDecorator self, ParticleIndexKey a0) -> Particle
956  get_value(ExampleDecorator self, ObjectKey a0) -> Object
957  get_value(ExampleDecorator self, SparseFloatKey a0) -> IMP::Float
958  get_value(ExampleDecorator self, SparseIntKey a0) -> IMP::Int
959  get_value(ExampleDecorator self, SparseStringKey a0) -> IMP::String
960  get_value(ExampleDecorator self, SparseParticleIndexKey a0) -> ParticleIndex
961  """
962  return _IMP_example.ExampleDecorator_get_value(self, *args)
963 
964  def set_value(self, *args):
965  r"""
966  set_value(ExampleDecorator self, FloatKey a0, IMP::Float a1)
967  set_value(ExampleDecorator self, IntKey a0, IMP::Int a1)
968  set_value(ExampleDecorator self, FloatsKey a0, IMP::Floats a1)
969  set_value(ExampleDecorator self, IntsKey a0, IMP::Ints a1)
970  set_value(ExampleDecorator self, StringKey a0, IMP::String a1)
971  set_value(ExampleDecorator self, ParticleIndexKey a0, Particle a1)
972  set_value(ExampleDecorator self, ObjectKey a0, Object a1)
973  set_value(ExampleDecorator self, SparseFloatKey a0, IMP::Float a1)
974  set_value(ExampleDecorator self, SparseIntKey a0, IMP::Int a1)
975  set_value(ExampleDecorator self, SparseStringKey a0, IMP::String a1)
976  set_value(ExampleDecorator self, SparseParticleIndexKey a0, ParticleIndex a1)
977  """
978  return _IMP_example.ExampleDecorator_set_value(self, *args)
979 
980  def remove_attribute(self, *args):
981  r"""
982  remove_attribute(ExampleDecorator self, FloatKey a0)
983  remove_attribute(ExampleDecorator self, IntKey a0)
984  remove_attribute(ExampleDecorator self, FloatsKey a0)
985  remove_attribute(ExampleDecorator self, IntsKey a0)
986  remove_attribute(ExampleDecorator self, StringKey a0)
987  remove_attribute(ExampleDecorator self, ParticleIndexKey a0)
988  remove_attribute(ExampleDecorator self, ObjectKey a0)
989  remove_attribute(ExampleDecorator self, SparseFloatKey a0)
990  remove_attribute(ExampleDecorator self, SparseIntKey a0)
991  remove_attribute(ExampleDecorator self, SparseStringKey a0)
992  remove_attribute(ExampleDecorator self, SparseParticleIndexKey a0)
993  """
994  return _IMP_example.ExampleDecorator_remove_attribute(self, *args)
995 
996  def has_attribute(self, *args):
997  r"""
998  has_attribute(ExampleDecorator self, FloatKey a0) -> bool
999  has_attribute(ExampleDecorator self, IntKey a0) -> bool
1000  has_attribute(ExampleDecorator self, FloatsKey a0) -> bool
1001  has_attribute(ExampleDecorator self, IntsKey a0) -> bool
1002  has_attribute(ExampleDecorator self, StringKey a0) -> bool
1003  has_attribute(ExampleDecorator self, ParticleIndexKey a0) -> bool
1004  has_attribute(ExampleDecorator self, ObjectKey a0) -> bool
1005  has_attribute(ExampleDecorator self, SparseFloatKey a0) -> bool
1006  has_attribute(ExampleDecorator self, SparseIntKey a0) -> bool
1007  has_attribute(ExampleDecorator self, SparseStringKey a0) -> bool
1008  has_attribute(ExampleDecorator self, SparseParticleIndexKey a0) -> bool
1009  """
1010  return _IMP_example.ExampleDecorator_has_attribute(self, *args)
1011 
1012  def get_derivative(self, a0):
1013  r"""get_derivative(ExampleDecorator self, FloatKey a0) -> double"""
1014  return _IMP_example.ExampleDecorator_get_derivative(self, a0)
1015 
1016  def get_name(self):
1017  r"""get_name(ExampleDecorator self) -> std::string"""
1018  return _IMP_example.ExampleDecorator_get_name(self)
1019 
1020  def clear_caches(self):
1021  r"""clear_caches(ExampleDecorator self)"""
1022  return _IMP_example.ExampleDecorator_clear_caches(self)
1023 
1024  def set_name(self, a0):
1025  r"""set_name(ExampleDecorator self, std::string a0)"""
1026  return _IMP_example.ExampleDecorator_set_name(self, a0)
1027 
1028  def set_check_level(self, a0):
1029  r"""set_check_level(ExampleDecorator self, IMP::CheckLevel a0)"""
1030  return _IMP_example.ExampleDecorator_set_check_level(self, a0)
1031 
1032  def add_to_derivative(self, a0, a1, a2):
1033  r"""add_to_derivative(ExampleDecorator self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
1034  return _IMP_example.ExampleDecorator_add_to_derivative(self, a0, a1, a2)
1035 
1036  def set_is_optimized(self, a0, a1):
1037  r"""set_is_optimized(ExampleDecorator self, FloatKey a0, bool a1)"""
1038  return _IMP_example.ExampleDecorator_set_is_optimized(self, a0, a1)
1039 
1040  def get_is_optimized(self, a0):
1041  r"""get_is_optimized(ExampleDecorator self, FloatKey a0) -> bool"""
1042  return _IMP_example.ExampleDecorator_get_is_optimized(self, a0)
1043 
1044  def get_check_level(self):
1045  r"""get_check_level(ExampleDecorator self) -> IMP::CheckLevel"""
1046  return _IMP_example.ExampleDecorator_get_check_level(self)
1047 
1048  def __eq__(self, *args):
1049  r"""
1050  __eq__(ExampleDecorator self, ExampleDecorator o) -> bool
1051  __eq__(ExampleDecorator self, Particle d) -> bool
1052  """
1053  return _IMP_example.ExampleDecorator___eq__(self, *args)
1054 
1055  def __ne__(self, *args):
1056  r"""
1057  __ne__(ExampleDecorator self, ExampleDecorator o) -> bool
1058  __ne__(ExampleDecorator self, Particle d) -> bool
1059  """
1060  return _IMP_example.ExampleDecorator___ne__(self, *args)
1061 
1062  def __le__(self, *args):
1063  r"""
1064  __le__(ExampleDecorator self, ExampleDecorator o) -> bool
1065  __le__(ExampleDecorator self, Particle d) -> bool
1066  """
1067  return _IMP_example.ExampleDecorator___le__(self, *args)
1068 
1069  def __lt__(self, *args):
1070  r"""
1071  __lt__(ExampleDecorator self, ExampleDecorator o) -> bool
1072  __lt__(ExampleDecorator self, Particle d) -> bool
1073  """
1074  return _IMP_example.ExampleDecorator___lt__(self, *args)
1075 
1076  def __ge__(self, *args):
1077  r"""
1078  __ge__(ExampleDecorator self, ExampleDecorator o) -> bool
1079  __ge__(ExampleDecorator self, Particle d) -> bool
1080  """
1081  return _IMP_example.ExampleDecorator___ge__(self, *args)
1082 
1083  def __gt__(self, *args):
1084  r"""
1085  __gt__(ExampleDecorator self, ExampleDecorator o) -> bool
1086  __gt__(ExampleDecorator self, Particle d) -> bool
1087  """
1088  return _IMP_example.ExampleDecorator___gt__(self, *args)
1089 
1090  def __hash__(self):
1091  r"""__hash__(ExampleDecorator self) -> std::size_t"""
1092  return _IMP_example.ExampleDecorator___hash__(self)
1093 
1094  def __str__(self):
1095  r"""__str__(ExampleDecorator self) -> std::string"""
1096  return _IMP_example.ExampleDecorator___str__(self)
1097 
1098  def __repr__(self):
1099  r"""__repr__(ExampleDecorator self) -> std::string"""
1100  return _IMP_example.ExampleDecorator___repr__(self)
1101 
1102  def _get_as_binary(self):
1103  r"""_get_as_binary(ExampleDecorator self) -> PyObject *"""
1104  return _IMP_example.ExampleDecorator__get_as_binary(self)
1105 
1106  def _set_from_binary(self, p):
1107  r"""_set_from_binary(ExampleDecorator self, PyObject * p)"""
1108  return _IMP_example.ExampleDecorator__set_from_binary(self, p)
1109 
1110  def __getstate__(self):
1111  p = self._get_as_binary()
1112  if len(self.__dict__) > 1:
1113  d = self.__dict__.copy()
1114  del d['this']
1115  p = (d, p)
1116  return p
1117 
1118  def __setstate__(self, p):
1119  if not hasattr(self, 'this'):
1120  self.__init__()
1121  if isinstance(p, tuple):
1122  d, p = p
1123  self.__dict__.update(d)
1124  return self._set_from_binary(p)
1125 
1126  __swig_destroy__ = _IMP_example.delete_ExampleDecorator
1127 
1128 # Register ExampleDecorator in _IMP_example:
1129 _IMP_example.ExampleDecorator_swigregister(ExampleDecorator)
1130 
1131 def __lshift__(out, n):
1132  r"""__lshift__(_ostream out, ExampleDecorator n) -> _ostream"""
1133  return _IMP_example.__lshift__(out, n)
1135  r"""Proxy of C++ IMP::example::ExampleUnaryFunction class."""
1136 
1137  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1138 
1139  def __init__(self, *args):
1140  r"""
1141  __init__(ExampleUnaryFunction self, IMP::Float center, IMP::Float k) -> ExampleUnaryFunction
1142  __init__(ExampleUnaryFunction self) -> ExampleUnaryFunction
1143  """
1144  _IMP_example.ExampleUnaryFunction_swiginit(self, _IMP_example.new_ExampleUnaryFunction(*args))
1145 
1146  def get_center(self):
1147  r"""get_center(ExampleUnaryFunction self) -> IMP::Float"""
1148  return _IMP_example.ExampleUnaryFunction_get_center(self)
1149 
1150  def get_force_constant(self):
1151  r"""get_force_constant(ExampleUnaryFunction self) -> IMP::Float"""
1152  return _IMP_example.ExampleUnaryFunction_get_force_constant(self)
1153 
1154  def get_version_info(self):
1155  r"""get_version_info(ExampleUnaryFunction self) -> VersionInfo"""
1156  return _IMP_example.ExampleUnaryFunction_get_version_info(self)
1157  __swig_destroy__ = _IMP_example.delete_ExampleUnaryFunction
1158 
1159  def __str__(self):
1160  r"""__str__(ExampleUnaryFunction self) -> std::string"""
1161  return _IMP_example.ExampleUnaryFunction___str__(self)
1162 
1163  def __repr__(self):
1164  r"""__repr__(ExampleUnaryFunction self) -> std::string"""
1165  return _IMP_example.ExampleUnaryFunction___repr__(self)
1166 
1167  @staticmethod
1168  def get_from(o):
1169  return _object_cast_to_ExampleUnaryFunction(o)
1170 
1171 
1172  def _get_as_binary(self):
1173  r"""_get_as_binary(ExampleUnaryFunction self) -> PyObject *"""
1174  return _IMP_example.ExampleUnaryFunction__get_as_binary(self)
1175 
1176  def _set_from_binary(self, p):
1177  r"""_set_from_binary(ExampleUnaryFunction self, PyObject * p)"""
1178  return _IMP_example.ExampleUnaryFunction__set_from_binary(self, p)
1179 
1180  def __getstate__(self):
1181  p = self._get_as_binary()
1182  if len(self.__dict__) > 1:
1183  d = self.__dict__.copy()
1184  del d['this']
1185  p = (d, p)
1186  return p
1187 
1188  def __setstate__(self, p):
1189  if not hasattr(self, 'this'):
1190  self.__init__()
1191  if isinstance(p, tuple):
1192  d, p = p
1193  self.__dict__.update(d)
1194  return self._set_from_binary(p)
1195 
1196 
1197  def _get_jax(self):
1198  """Implementation of the unary function using JA"""
1199  import functools
1200  def score(feature, center, k):
1201  return 0.5 * k * (feature - center) ** 2
1202  return functools.partial(score, center=self.get_center(),
1203  k=self.get_force_constant())
1204 
1205 
1206 # Register ExampleUnaryFunction in _IMP_example:
1207 _IMP_example.ExampleUnaryFunction_swigregister(ExampleUnaryFunction)
1208 class ExampleObject(IMP.Object):
1209  r"""Proxy of C++ IMP::example::ExampleObject class."""
1210 
1211  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1212 
1213  def __init__(self, *args):
1214  r"""
1215  __init__(ExampleObject self, IMP::Floats const & data) -> ExampleObject
1216  __init__(ExampleObject self) -> ExampleObject
1217  """
1218  _IMP_example.ExampleObject_swiginit(self, _IMP_example.new_ExampleObject(*args))
1219 
1220  def get_data(self, i):
1221  r"""get_data(ExampleObject self, unsigned int i) -> double"""
1222  return _IMP_example.ExampleObject_get_data(self, i)
1223 
1224  def get_version_info(self):
1225  r"""get_version_info(ExampleObject self) -> VersionInfo"""
1226  return _IMP_example.ExampleObject_get_version_info(self)
1227  __swig_destroy__ = _IMP_example.delete_ExampleObject
1228 
1229  def __str__(self):
1230  r"""__str__(ExampleObject self) -> std::string"""
1231  return _IMP_example.ExampleObject___str__(self)
1232 
1233  def __repr__(self):
1234  r"""__repr__(ExampleObject self) -> std::string"""
1235  return _IMP_example.ExampleObject___repr__(self)
1236 
1237  @staticmethod
1238  def get_from(o):
1239  return _object_cast_to_ExampleObject(o)
1240 
1241 
1242  def _get_as_binary(self):
1243  r"""_get_as_binary(ExampleObject self) -> PyObject *"""
1244  return _IMP_example.ExampleObject__get_as_binary(self)
1245 
1246  def _set_from_binary(self, p):
1247  r"""_set_from_binary(ExampleObject self, PyObject * p)"""
1248  return _IMP_example.ExampleObject__set_from_binary(self, p)
1249 
1250  def __getstate__(self):
1251  p = self._get_as_binary()
1252  if len(self.__dict__) > 1:
1253  d = self.__dict__.copy()
1254  del d['this']
1255  p = (d, p)
1256  return p
1257 
1258  def __setstate__(self, p):
1259  if not hasattr(self, 'this'):
1260  self.__init__()
1261  if isinstance(p, tuple):
1262  d, p = p
1263  self.__dict__.update(d)
1264  return self._set_from_binary(p)
1265 
1266 
1267 # Register ExampleObject in _IMP_example:
1268 _IMP_example.ExampleObject_swigregister(ExampleObject)
1270  r"""Proxy of C++ IMP::example::ExampleSingletonModifier class."""
1271 
1272  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1273 
1274  def __init__(self, *args):
1275  r"""
1276  __init__(ExampleSingletonModifier self, BoundingBox3D bb) -> ExampleSingletonModifier
1277  __init__(ExampleSingletonModifier self) -> ExampleSingletonModifier
1278  """
1279  _IMP_example.ExampleSingletonModifier_swiginit(self, _IMP_example.new_ExampleSingletonModifier(*args))
1280 
1281  def get_bounding_box(self):
1282  r"""get_bounding_box(ExampleSingletonModifier self) -> BoundingBox3D"""
1283  return _IMP_example.ExampleSingletonModifier_get_bounding_box(self)
1284 
1285  def do_get_inputs(self, m, pis):
1286  r"""do_get_inputs(ExampleSingletonModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
1287  return _IMP_example.ExampleSingletonModifier_do_get_inputs(self, m, pis)
1288 
1289  def do_get_outputs(self, m, pis):
1290  r"""do_get_outputs(ExampleSingletonModifier self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
1291  return _IMP_example.ExampleSingletonModifier_do_get_outputs(self, m, pis)
1292 
1293  def get_version_info(self):
1294  r"""get_version_info(ExampleSingletonModifier self) -> VersionInfo"""
1295  return _IMP_example.ExampleSingletonModifier_get_version_info(self)
1296  __swig_destroy__ = _IMP_example.delete_ExampleSingletonModifier
1297 
1298  def __str__(self):
1299  r"""__str__(ExampleSingletonModifier self) -> std::string"""
1300  return _IMP_example.ExampleSingletonModifier___str__(self)
1301 
1302  def __repr__(self):
1303  r"""__repr__(ExampleSingletonModifier self) -> std::string"""
1304  return _IMP_example.ExampleSingletonModifier___repr__(self)
1305 
1306  @staticmethod
1307  def get_from(o):
1308  return _object_cast_to_ExampleSingletonModifier(o)
1309 
1310 
1311  def _get_as_binary(self):
1312  r"""_get_as_binary(ExampleSingletonModifier self) -> PyObject *"""
1313  return _IMP_example.ExampleSingletonModifier__get_as_binary(self)
1314 
1315  def _set_from_binary(self, p):
1316  r"""_set_from_binary(ExampleSingletonModifier self, PyObject * p)"""
1317  return _IMP_example.ExampleSingletonModifier__set_from_binary(self, p)
1318 
1319  def __getstate__(self):
1320  p = self._get_as_binary()
1321  if len(self.__dict__) > 1:
1322  d = self.__dict__.copy()
1323  del d['this']
1324  p = (d, p)
1325  return p
1326 
1327  def __setstate__(self, p):
1328  if not hasattr(self, 'this'):
1329  self.__init__()
1330  if isinstance(p, tuple):
1331  d, p = p
1332  self.__dict__.update(d)
1333  return self._set_from_binary(p)
1334 
1335 
1336  def _get_jax(self, m, index=None):
1337  """Implementation of the modifier using JAX"""
1338  import functools
1339  import jax.numpy as jnp
1340  def apply_func(jm, indexes, box):
1341  jm['xyz'] = jm['xyz'].at[index].set(
1342  jnp.mod(jm['xyz'][index], box[1] - box[0]) + box[0])
1343  return jm
1344  box = jnp.array([self.get_bounding_box().get_corner(x)
1345  for x in range(2)])
1346  return self._wrap_jax(
1347  functools.partial(apply_func, box=box))
1348 
1349 
1350 # Register ExampleSingletonModifier in _IMP_example:
1351 _IMP_example.ExampleSingletonModifier_swigregister(ExampleSingletonModifier)
1353  r"""Proxy of C++ IMP::example::ExamplePairScore class."""
1354 
1355  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1356 
1357  def __init__(self, *args):
1358  r"""
1359  __init__(ExamplePairScore self, double x0, double k) -> ExamplePairScore
1360  __init__(ExamplePairScore self) -> ExamplePairScore
1361  """
1362  _IMP_example.ExamplePairScore_swiginit(self, _IMP_example.new_ExamplePairScore(*args))
1363 
1364  def get_mean(self):
1365  r"""get_mean(ExamplePairScore self) -> double"""
1366  return _IMP_example.ExamplePairScore_get_mean(self)
1367 
1368  def get_force_constant(self):
1369  r"""get_force_constant(ExamplePairScore self) -> double"""
1370  return _IMP_example.ExamplePairScore_get_force_constant(self)
1371 
1372  def do_get_inputs(self, m, pis):
1373  r"""do_get_inputs(ExamplePairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
1374  return _IMP_example.ExamplePairScore_do_get_inputs(self, m, pis)
1375 
1376  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
1377  r"""evaluate_indexes(ExamplePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
1378  return _IMP_example.ExamplePairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
1379 
1380  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
1381  r"""evaluate_indexes_scores(ExamplePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, DistBase score, bool all_indexes_checked=False) -> double"""
1382  return _IMP_example.ExamplePairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
1383 
1384  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
1385  r"""evaluate_indexes_delta(ExamplePairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, DistBase score, bool all_indexes_checked=False) -> double"""
1386  return _IMP_example.ExamplePairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
1387 
1388  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
1389  r"""evaluate_if_good_indexes(ExamplePairScore 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"""
1390  return _IMP_example.ExamplePairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
1391 
1392  def get_version_info(self):
1393  r"""get_version_info(ExamplePairScore self) -> VersionInfo"""
1394  return _IMP_example.ExamplePairScore_get_version_info(self)
1395  __swig_destroy__ = _IMP_example.delete_ExamplePairScore
1396 
1397  def __str__(self):
1398  r"""__str__(ExamplePairScore self) -> std::string"""
1399  return _IMP_example.ExamplePairScore___str__(self)
1400 
1401  def __repr__(self):
1402  r"""__repr__(ExamplePairScore self) -> std::string"""
1403  return _IMP_example.ExamplePairScore___repr__(self)
1404 
1405  @staticmethod
1406  def get_from(o):
1407  return _object_cast_to_ExamplePairScore(o)
1408 
1409 
1410  def _get_as_binary(self):
1411  r"""_get_as_binary(ExamplePairScore self) -> PyObject *"""
1412  return _IMP_example.ExamplePairScore__get_as_binary(self)
1413 
1414  def _set_from_binary(self, p):
1415  r"""_set_from_binary(ExamplePairScore self, PyObject * p)"""
1416  return _IMP_example.ExamplePairScore__set_from_binary(self, p)
1417 
1418  def __getstate__(self):
1419  p = self._get_as_binary()
1420  if len(self.__dict__) > 1:
1421  d = self.__dict__.copy()
1422  del d['this']
1423  p = (d, p)
1424  return p
1425 
1426  def __setstate__(self, p):
1427  if not hasattr(self, 'this'):
1428  self.__init__()
1429  if isinstance(p, tuple):
1430  d, p = p
1431  self.__dict__.update(d)
1432  return self._set_from_binary(p)
1433 
1434 
1435  def _get_jax(self):
1436  """Implementation of the score using JAX"""
1437  import jax.numpy as jnp
1438  import functools
1439  def pair_score(jm, indexes, x0, k):
1440  xyzs = jm['xyz'][indexes]
1441  diff = jnp.linalg.norm(xyzs[:,0] - xyzs[:,1], axis=1) - x0
1442  return 0.5 * k * diff * diff
1443  f = functools.partial(pair_score, x0=self.get_mean(),
1444  k=self.get_force_constant())
1445  return self._wrap_jax(f)
1446 
1447 
1448 # Register ExamplePairScore in _IMP_example:
1449 _IMP_example.ExamplePairScore_swigregister(ExamplePairScore)
1451  r"""Proxy of C++ IMP::example::ExampleSubsetFilterTable class."""
1452 
1453  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1454 
1455  def __init__(self, max_diff, pt):
1456  r"""__init__(ExampleSubsetFilterTable self, unsigned int max_diff, IMP::ParticlesTemp const & pt) -> ExampleSubsetFilterTable"""
1457  _IMP_example.ExampleSubsetFilterTable_swiginit(self, _IMP_example.new_ExampleSubsetFilterTable(max_diff, pt))
1458 
1459  def get_version_info(self):
1460  r"""get_version_info(ExampleSubsetFilterTable self) -> VersionInfo"""
1461  return _IMP_example.ExampleSubsetFilterTable_get_version_info(self)
1462  __swig_destroy__ = _IMP_example.delete_ExampleSubsetFilterTable
1463 
1464  def __str__(self):
1465  r"""__str__(ExampleSubsetFilterTable self) -> std::string"""
1466  return _IMP_example.ExampleSubsetFilterTable___str__(self)
1467 
1468  def __repr__(self):
1469  r"""__repr__(ExampleSubsetFilterTable self) -> std::string"""
1470  return _IMP_example.ExampleSubsetFilterTable___repr__(self)
1471 
1472  @staticmethod
1473  def get_from(o):
1474  return _object_cast_to_ExampleSubsetFilterTable(o)
1475 
1476 
1477 # Register ExampleSubsetFilterTable in _IMP_example:
1478 _IMP_example.ExampleSubsetFilterTable_swigregister(ExampleSubsetFilterTable)
1480  r"""Proxy of C++ IMP::example::ExampleConstraint class."""
1481 
1482  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1483 
1484  def __init__(self, *args):
1485  r"""
1486  __init__(ExampleConstraint self, Particle p) -> ExampleConstraint
1487  __init__(ExampleConstraint self) -> ExampleConstraint
1488  """
1489  _IMP_example.ExampleConstraint_swiginit(self, _IMP_example.new_ExampleConstraint(*args))
1490 
1491  def get_index(self):
1492  r"""get_index(ExampleConstraint self) -> ParticleIndex"""
1493  return _IMP_example.ExampleConstraint_get_index(self)
1494 
1495  def do_get_inputs(self):
1496  r"""do_get_inputs(ExampleConstraint self) -> IMP::ModelObjectsTemp"""
1497  return _IMP_example.ExampleConstraint_do_get_inputs(self)
1498 
1499  def do_get_outputs(self):
1500  r"""do_get_outputs(ExampleConstraint self) -> IMP::ModelObjectsTemp"""
1501  return _IMP_example.ExampleConstraint_do_get_outputs(self)
1502 
1503  @staticmethod
1504  def get_key():
1505  r"""get_key() -> IntKey"""
1506  return _IMP_example.ExampleConstraint_get_key()
1507 
1508  def get_version_info(self):
1509  r"""get_version_info(ExampleConstraint self) -> VersionInfo"""
1510  return _IMP_example.ExampleConstraint_get_version_info(self)
1511  __swig_destroy__ = _IMP_example.delete_ExampleConstraint
1512 
1513  def __str__(self):
1514  r"""__str__(ExampleConstraint self) -> std::string"""
1515  return _IMP_example.ExampleConstraint___str__(self)
1516 
1517  def __repr__(self):
1518  r"""__repr__(ExampleConstraint self) -> std::string"""
1519  return _IMP_example.ExampleConstraint___repr__(self)
1520 
1521  @staticmethod
1522  def get_from(o):
1523  return _object_cast_to_ExampleConstraint(o)
1524 
1525 
1526  def _get_as_binary(self):
1527  r"""_get_as_binary(ExampleConstraint self) -> PyObject *"""
1528  return _IMP_example.ExampleConstraint__get_as_binary(self)
1529 
1530  def _set_from_binary(self, p):
1531  r"""_set_from_binary(ExampleConstraint self, PyObject * p)"""
1532  return _IMP_example.ExampleConstraint__set_from_binary(self, p)
1533 
1534  def __getstate__(self):
1535  p = self._get_as_binary()
1536  if len(self.__dict__) > 1:
1537  d = self.__dict__.copy()
1538  del d['this']
1539  p = (d, p)
1540  return p
1541 
1542  def __setstate__(self, p):
1543  if not hasattr(self, 'this'):
1544  self.__init__()
1545  if isinstance(p, tuple):
1546  d, p = p
1547  self.__dict__.update(d)
1548  return self._set_from_binary(p)
1549 
1550 
1551  def _get_jax(self):
1552  """Implementation of the constraint using JAX"""
1553  import functools
1554  def apply_func(jm, key, index):
1555  jm[key] = jm[key].at[index].add(1)
1556  return jm
1557  key = self.get_key()
1558  f = functools.partial(apply_func, key=key.get_string(),
1559  index=self.get_index())
1560  return self._wrap_jax(f, keys=(key,))
1561 
1562 
1563 # Register ExampleConstraint in _IMP_example:
1564 _IMP_example.ExampleConstraint_swigregister(ExampleConstraint)
1565 
1566 def get_number_of_incidences(psa, psb, point_distance):
1567  r"""get_number_of_incidences(IMP::ParticlesTemp const & psa, IMP::ParticlesTemp const & psb, double point_distance) -> unsigned int"""
1568  return _IMP_example.get_number_of_incidences(psa, psb, point_distance)
1569 
1570 def create_chain_restraint(m, ps, length_factor, k, name):
1571  r"""create_chain_restraint(Model m, IMP::ParticleIndexes const & ps, double length_factor, double k, std::string name) -> Restraint"""
1572  return _IMP_example.create_chain_restraint(m, ps, length_factor, k, name)
1573 
1574 def create_excluded_volume(m, ps, k, name):
1575  r"""create_excluded_volume(Model m, IMP::ParticleIndexes const & ps, double k, std::string name) -> Restraint"""
1576  return _IMP_example.create_excluded_volume(m, ps, k, name)
1577 class ExampleTemplateClass3D(object):
1578  r"""Proxy of C++ IMP::example::ExampleTemplateClassD< 3 > class."""
1579 
1580  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1581 
1582  def __init__(self, *args):
1583  r"""
1584  __init__(ExampleTemplateClass3D self) -> ExampleTemplateClass3D
1585  __init__(ExampleTemplateClass3D self, Vector3D a, Vector3D b) -> ExampleTemplateClass3D
1586  """
1587  _IMP_example.ExampleTemplateClass3D_swiginit(self, _IMP_example.new_ExampleTemplateClass3D(*args))
1588 
1589  def get_point(self, i):
1590  r"""get_point(ExampleTemplateClass3D self, unsigned int i) -> Vector3D"""
1591  return _IMP_example.ExampleTemplateClass3D_get_point(self, i)
1592 
1593  def show(self, *args):
1594  r"""show(ExampleTemplateClass3D self, _ostream out=std::cout)"""
1595  return _IMP_example.ExampleTemplateClass3D_show(self, *args)
1596 
1597  def __str__(self):
1598  r"""__str__(ExampleTemplateClass3D self) -> std::string"""
1599  return _IMP_example.ExampleTemplateClass3D___str__(self)
1600 
1601  def __repr__(self):
1602  r"""__repr__(ExampleTemplateClass3D self) -> std::string"""
1603  return _IMP_example.ExampleTemplateClass3D___repr__(self)
1604  __swig_destroy__ = _IMP_example.delete_ExampleTemplateClass3D
1605 
1606 # Register ExampleTemplateClass3D in _IMP_example:
1607 _IMP_example.ExampleTemplateClass3D_swigregister(ExampleTemplateClass3D)
1608 
1609 def get_module_name():
1610  r"""get_module_name() -> std::string const"""
1611  return _IMP_example.get_module_name()
1612 
1613 def get_module_version():
1614  r"""get_module_version() -> std::string const"""
1615  return _IMP_example.get_module_version()
1616 
1617 def get_example_path(fname):
1618  r"""get_example_path(std::string fname) -> std::string"""
1619  return _IMP_example.get_example_path(fname)
1620 
1621 def get_data_path(fname):
1622  r"""get_data_path(std::string fname) -> std::string"""
1623  return _IMP_example.get_data_path(fname)
1624 
1625 from . import _version_check
1626 _version_check.check_version(get_module_version())
1627 __version__ = get_module_version()
1628 
1629 
unsigned int get_number_of_incidences(const ParticlesTemp &psa, const ParticlesTemp &psb, double point_distance)
Definition: counting.h:23
A base class for modifiers of ParticlesTemp.
Abstract class for scoring object(s) of type ParticleIndexPair.
Definition: PairScore.h:44
double get_mean(const cv::Mat &mat, const cvIntMat &mask)
virtual double evaluate(double feature) const
Calculate score with respect to the given feature.
Definition: UnaryFunction.h:35
An example PairScore written in Python.
An example SingletonModifier written in Python.
Various classes to hold sets of particles.
static XYZR setup_particle(Model *m, ParticleIndex pi)
Definition: XYZR.h:48
An example UnaryFunction written in Python.
Make CGAL functionality available to IMP.
A line segment templated on the dimension.
ParticlesTemp get_particles(Model *m, const ParticleIndexes &ps)
Get the particles from a list of indexes.
virtual void clear_caches()
Definition: Object.h:270
virtual ModelObjectsTemp do_get_outputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the outputs.
Composable functors to implement scores via compile-time composition.
Restraint * create_excluded_volume(Model *m, const ParticleIndexes &ps, double k, std::string name)
Vector3D get_random_vector_in(const Cylinder3D &c)
Generate a random vector in a cylinder with uniform density.
Code to compute statistical measures.
Implement a constraint on the Model.
Definition: Constraint.h:49
Class for storing model, its restraints, constraints, and particles.
Definition: Model.h:86
An example simple object which is reference counted.
Definition: ExampleObject.h:31
A simple decorator which adds a name to a particle.
An example Constraint written in Python.
def evaluate_index
Pure Python implementation of the score.
Ints get_index(const ParticlesTemp &particles, const Subset &subset, const Subsets &excluded)
Common base class for heavy weight IMP objects.
Definition: Object.h:111
Store a list of ParticleIndexes.
An example restraint written in Python.
virtual ModelObjectsTemp do_get_inputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the inputs.
Restrain a particle to be in the x,y plane.
Basic utilities for handling cryo-electron microscopy 3D density maps.
A decorator for a particle with x,y,z coordinates.
Definition: XYZ.h:30
Interface to specialized Particle types (e.g. atoms)
Definition: Decorator.h:119
virtual ModelObjectsTemp do_get_outputs() const =0
Basic functionality that is expected to be used by a wide variety of IMP users.
General purpose algebraic and geometric methods that are expected to be used by a wide variety of IMP...
virtual void apply_index(Model *m, ParticleIndex v) const =0
std::string get_module_version()
Return the version of this module, as a string.
virtual VersionInfo get_version_info() const
Get information about the module and version of the object.
Definition: Object.h:206
virtual DerivativePair evaluate_with_derivative(double feature) const
Calculate score and derivative with respect to the given feature.
Definition: UnaryFunction.h:50
VectorD< 3 > Vector3D
Definition: VectorD.h:408
def do_add_score_and_derivatives
Pure Python implementation of the restraint.
void set_check_level(CheckLevel l)
Apply a harmonic to the distance between two particles.
Restraint * create_chain_restraint(Model *m, const ParticleIndexes &ps, double length_factor, double k, std::string name)
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.
Model * get_model() const
Definition: ModelObject.h:64
A trivial constraint that just increments a counter.
Output IMP model data in various file formats.
Functionality for loading, creating, manipulating and scoring atomic structures.
std::string get_data_path(std::string file_name)
Return the full path to one of this module's data files.
Support for the RMF file format for storing hierarchical molecular data and markup.
Abstract single variable functor class for score functions.
Definition: UnaryFunction.h:27
virtual ModelObjectsTemp do_get_inputs() const =0
Divide-and-conquer inferential optimization in discrete space.
Support for small angle X-ray scattering (SAXS) data.
Inferential scoring building on methods developed as part of the Inferential Structure Determination ...
A restraint is a term in an IMP ScoringFunction.
Definition: Restraint.h:56