IMP logo
IMP Reference Guide  develop.50fdd7fa33,2025/08/31
The Integrative Modeling Platform
symmetry/__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.3.1
3 #
4 # Do not make changes to this file unless you know what you are doing - modify
5 # the SWIG interface file instead.
6 
7 
8 # This wrapper is part of IMP,
9 # Copyright 2007-2025 IMP Inventors. All rights reserved.
10 
11 
12 
13 
14 from sys import version_info as _swig_python_version_info
15 import _IMP_symmetry
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_SYMMETRY_SwigPyIterator(object):
67  r"""Proxy of C++ swig::IMP_SYMMETRY_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_symmetry.delete_IMP_SYMMETRY_SwigPyIterator
75 
76  def value(self):
77  r"""value(IMP_SYMMETRY_SwigPyIterator self) -> PyObject *"""
78  return _IMP_symmetry.IMP_SYMMETRY_SwigPyIterator_value(self)
79 
80  def incr(self, n=1):
81  r"""incr(IMP_SYMMETRY_SwigPyIterator self, size_t n=1) -> IMP_SYMMETRY_SwigPyIterator"""
82  return _IMP_symmetry.IMP_SYMMETRY_SwigPyIterator_incr(self, n)
83 
84  def decr(self, n=1):
85  r"""decr(IMP_SYMMETRY_SwigPyIterator self, size_t n=1) -> IMP_SYMMETRY_SwigPyIterator"""
86  return _IMP_symmetry.IMP_SYMMETRY_SwigPyIterator_decr(self, n)
87 
88  def distance(self, x):
89  r"""distance(IMP_SYMMETRY_SwigPyIterator self, IMP_SYMMETRY_SwigPyIterator x) -> ptrdiff_t"""
90  return _IMP_symmetry.IMP_SYMMETRY_SwigPyIterator_distance(self, x)
91 
92  def equal(self, x):
93  r"""equal(IMP_SYMMETRY_SwigPyIterator self, IMP_SYMMETRY_SwigPyIterator x) -> bool"""
94  return _IMP_symmetry.IMP_SYMMETRY_SwigPyIterator_equal(self, x)
95 
96  def copy(self):
97  r"""copy(IMP_SYMMETRY_SwigPyIterator self) -> IMP_SYMMETRY_SwigPyIterator"""
98  return _IMP_symmetry.IMP_SYMMETRY_SwigPyIterator_copy(self)
99 
100  def next(self):
101  r"""next(IMP_SYMMETRY_SwigPyIterator self) -> PyObject *"""
102  return _IMP_symmetry.IMP_SYMMETRY_SwigPyIterator_next(self)
103 
104  def __next__(self):
105  r"""__next__(IMP_SYMMETRY_SwigPyIterator self) -> PyObject *"""
106  return _IMP_symmetry.IMP_SYMMETRY_SwigPyIterator___next__(self)
107 
108  def previous(self):
109  r"""previous(IMP_SYMMETRY_SwigPyIterator self) -> PyObject *"""
110  return _IMP_symmetry.IMP_SYMMETRY_SwigPyIterator_previous(self)
111 
112  def advance(self, n):
113  r"""advance(IMP_SYMMETRY_SwigPyIterator self, ptrdiff_t n) -> IMP_SYMMETRY_SwigPyIterator"""
114  return _IMP_symmetry.IMP_SYMMETRY_SwigPyIterator_advance(self, n)
115 
116  def __eq__(self, x):
117  r"""__eq__(IMP_SYMMETRY_SwigPyIterator self, IMP_SYMMETRY_SwigPyIterator x) -> bool"""
118  return _IMP_symmetry.IMP_SYMMETRY_SwigPyIterator___eq__(self, x)
119 
120  def __ne__(self, x):
121  r"""__ne__(IMP_SYMMETRY_SwigPyIterator self, IMP_SYMMETRY_SwigPyIterator x) -> bool"""
122  return _IMP_symmetry.IMP_SYMMETRY_SwigPyIterator___ne__(self, x)
123 
124  def __iadd__(self, n):
125  r"""__iadd__(IMP_SYMMETRY_SwigPyIterator self, ptrdiff_t n) -> IMP_SYMMETRY_SwigPyIterator"""
126  return _IMP_symmetry.IMP_SYMMETRY_SwigPyIterator___iadd__(self, n)
127 
128  def __isub__(self, n):
129  r"""__isub__(IMP_SYMMETRY_SwigPyIterator self, ptrdiff_t n) -> IMP_SYMMETRY_SwigPyIterator"""
130  return _IMP_symmetry.IMP_SYMMETRY_SwigPyIterator___isub__(self, n)
131 
132  def __add__(self, n):
133  r"""__add__(IMP_SYMMETRY_SwigPyIterator self, ptrdiff_t n) -> IMP_SYMMETRY_SwigPyIterator"""
134  return _IMP_symmetry.IMP_SYMMETRY_SwigPyIterator___add__(self, n)
135 
136  def __sub__(self, *args):
137  r"""
138  __sub__(IMP_SYMMETRY_SwigPyIterator self, ptrdiff_t n) -> IMP_SYMMETRY_SwigPyIterator
139  __sub__(IMP_SYMMETRY_SwigPyIterator self, IMP_SYMMETRY_SwigPyIterator x) -> ptrdiff_t
140  """
141  return _IMP_symmetry.IMP_SYMMETRY_SwigPyIterator___sub__(self, *args)
142  def __iter__(self):
143  return self
144 
145 # Register IMP_SYMMETRY_SwigPyIterator in _IMP_symmetry:
146 _IMP_symmetry.IMP_SYMMETRY_SwigPyIterator_swigregister(IMP_SYMMETRY_SwigPyIterator)
147 
148 _value_types=[]
149 _object_types=[]
150 _raii_types=[]
151 _plural_types=[]
152 
153 IMP_DEBUG = _IMP_symmetry.IMP_DEBUG
154 
155 IMP_RELEASE = _IMP_symmetry.IMP_RELEASE
156 
157 IMP_SILENT = _IMP_symmetry.IMP_SILENT
158 
159 IMP_PROGRESS = _IMP_symmetry.IMP_PROGRESS
160 
161 IMP_TERSE = _IMP_symmetry.IMP_TERSE
162 
163 IMP_VERBOSE = _IMP_symmetry.IMP_VERBOSE
164 
165 IMP_MEMORY = _IMP_symmetry.IMP_MEMORY
166 
167 IMP_NONE = _IMP_symmetry.IMP_NONE
168 
169 IMP_USAGE = _IMP_symmetry.IMP_USAGE
170 
171 IMP_INTERNAL = _IMP_symmetry.IMP_INTERNAL
172 
173 IMP_KERNEL_HAS_LOG4CXX = _IMP_symmetry.IMP_KERNEL_HAS_LOG4CXX
174 
175 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_symmetry.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
176 
177 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_symmetry.IMP_COMPILER_HAS_DEBUG_VECTOR
178 
179 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_symmetry.IMP_COMPILER_HAS_RANDOM_SHUFFLE
180 
181 IMP_COMPILER_HAS_THREE_WAY = _IMP_symmetry.IMP_COMPILER_HAS_THREE_WAY
182 
183 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_symmetry.IMP_KERNEL_HAS_BOOST_RANDOM
184 
185 IMP_KERNEL_HAS_NUMPY = _IMP_symmetry.IMP_KERNEL_HAS_NUMPY
186 
187 IMP_KERNEL_HAS_BOOST_SYSTEM = _IMP_symmetry.IMP_KERNEL_HAS_BOOST_SYSTEM
188 
189 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_symmetry.IMP_KERNEL_HAS_GPERFTOOLS
190 
191 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_symmetry.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
192 
193 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_symmetry.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
194 
195 IMPKERNEL_SHOW_WARNINGS = _IMP_symmetry.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_symmetry._ostream_write(self, osa_buf)
236 
237 # Register _ostream in _IMP_symmetry:
238 _IMP_symmetry._ostream_swigregister(_ostream)
239 IMP_C_OPEN_BINARY = _IMP_symmetry.IMP_C_OPEN_BINARY
240 
241 import IMP
242 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_symmetry.IMP_CGAL_HAS_BOOST_FILESYSTEM
243 
244 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_symmetry.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
245 
246 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_symmetry.IMP_CGAL_HAS_BOOST_RANDOM
247 
248 IMP_CGAL_HAS_NUMPY = _IMP_symmetry.IMP_CGAL_HAS_NUMPY
249 
250 IMPCGAL_SHOW_WARNINGS = _IMP_symmetry.IMPCGAL_SHOW_WARNINGS
251 
252 import IMP.cgal
253 IMP_ALGEBRA_HAS_IMP_CGAL = _IMP_symmetry.IMP_ALGEBRA_HAS_IMP_CGAL
254 
255 IMP_ALGEBRA_HAS_BOOST_FILESYSTEM = _IMP_symmetry.IMP_ALGEBRA_HAS_BOOST_FILESYSTEM
256 
257 IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS = _IMP_symmetry.IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS
258 
259 IMP_ALGEBRA_HAS_BOOST_RANDOM = _IMP_symmetry.IMP_ALGEBRA_HAS_BOOST_RANDOM
260 
261 IMP_ALGEBRA_HAS_CGAL = _IMP_symmetry.IMP_ALGEBRA_HAS_CGAL
262 
263 IMP_ALGEBRA_HAS_NUMPY = _IMP_symmetry.IMP_ALGEBRA_HAS_NUMPY
264 
265 IMP_ALGEBRA_HAS_ANN = _IMP_symmetry.IMP_ALGEBRA_HAS_ANN
266 
267 IMPALGEBRA_SHOW_WARNINGS = _IMP_symmetry.IMPALGEBRA_SHOW_WARNINGS
268 
269 import IMP.algebra
270 IMP_DISPLAY_HAS_IMP_CGAL = _IMP_symmetry.IMP_DISPLAY_HAS_IMP_CGAL
271 
272 IMP_DISPLAY_HAS_BOOST_FILESYSTEM = _IMP_symmetry.IMP_DISPLAY_HAS_BOOST_FILESYSTEM
273 
274 IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS = _IMP_symmetry.IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS
275 
276 IMP_DISPLAY_HAS_BOOST_RANDOM = _IMP_symmetry.IMP_DISPLAY_HAS_BOOST_RANDOM
277 
278 IMP_DISPLAY_HAS_CGAL = _IMP_symmetry.IMP_DISPLAY_HAS_CGAL
279 
280 IMP_DISPLAY_HAS_NUMPY = _IMP_symmetry.IMP_DISPLAY_HAS_NUMPY
281 
282 IMPDISPLAY_SHOW_WARNINGS = _IMP_symmetry.IMPDISPLAY_SHOW_WARNINGS
283 
284 import IMP.display
285 IMP_SCORE_FUNCTOR_HAS_IMP_CGAL = _IMP_symmetry.IMP_SCORE_FUNCTOR_HAS_IMP_CGAL
286 
287 IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM = _IMP_symmetry.IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM
288 
289 IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS = _IMP_symmetry.IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS
290 
291 IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM = _IMP_symmetry.IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM
292 
293 IMP_SCORE_FUNCTOR_HAS_CGAL = _IMP_symmetry.IMP_SCORE_FUNCTOR_HAS_CGAL
294 
295 IMP_SCORE_FUNCTOR_HAS_HDF5 = _IMP_symmetry.IMP_SCORE_FUNCTOR_HAS_HDF5
296 
297 IMP_SCORE_FUNCTOR_HAS_NUMPY = _IMP_symmetry.IMP_SCORE_FUNCTOR_HAS_NUMPY
298 
299 IMPSCOREFUNCTOR_SHOW_WARNINGS = _IMP_symmetry.IMPSCOREFUNCTOR_SHOW_WARNINGS
300 
301 import IMP.score_functor
302 IMP_CORE_HAS_IMP_CGAL = _IMP_symmetry.IMP_CORE_HAS_IMP_CGAL
303 
304 IMP_CORE_HAS_IMP_KERNEL = _IMP_symmetry.IMP_CORE_HAS_IMP_KERNEL
305 
306 IMP_CORE_HAS_BOOST_FILESYSTEM = _IMP_symmetry.IMP_CORE_HAS_BOOST_FILESYSTEM
307 
308 IMP_CORE_HAS_BOOST_PROGRAMOPTIONS = _IMP_symmetry.IMP_CORE_HAS_BOOST_PROGRAMOPTIONS
309 
310 IMP_CORE_HAS_BOOST_RANDOM = _IMP_symmetry.IMP_CORE_HAS_BOOST_RANDOM
311 
312 IMP_CORE_HAS_CGAL = _IMP_symmetry.IMP_CORE_HAS_CGAL
313 
314 IMP_CORE_HAS_HDF5 = _IMP_symmetry.IMP_CORE_HAS_HDF5
315 
316 IMP_CORE_HAS_NUMPY = _IMP_symmetry.IMP_CORE_HAS_NUMPY
317 
318 IMPCORE_SHOW_WARNINGS = _IMP_symmetry.IMPCORE_SHOW_WARNINGS
319 
320 import IMP.core
321 IMP_SYMMETRY_HAS_IMP_CGAL = _IMP_symmetry.IMP_SYMMETRY_HAS_IMP_CGAL
322 
323 IMP_SYMMETRY_HAS_IMP_DISPLAY = _IMP_symmetry.IMP_SYMMETRY_HAS_IMP_DISPLAY
324 
325 IMP_SYMMETRY_HAS_IMP_KERNEL = _IMP_symmetry.IMP_SYMMETRY_HAS_IMP_KERNEL
326 
327 IMP_SYMMETRY_HAS_IMP_SCORE_FUNCTOR = _IMP_symmetry.IMP_SYMMETRY_HAS_IMP_SCORE_FUNCTOR
328 
329 IMP_SYMMETRY_HAS_BOOST_FILESYSTEM = _IMP_symmetry.IMP_SYMMETRY_HAS_BOOST_FILESYSTEM
330 
331 IMP_SYMMETRY_HAS_BOOST_PROGRAMOPTIONS = _IMP_symmetry.IMP_SYMMETRY_HAS_BOOST_PROGRAMOPTIONS
332 
333 IMP_SYMMETRY_HAS_BOOST_RANDOM = _IMP_symmetry.IMP_SYMMETRY_HAS_BOOST_RANDOM
334 
335 IMP_SYMMETRY_HAS_CGAL = _IMP_symmetry.IMP_SYMMETRY_HAS_CGAL
336 
337 IMP_SYMMETRY_HAS_HDF5 = _IMP_symmetry.IMP_SYMMETRY_HAS_HDF5
338 
339 IMP_SYMMETRY_HAS_NUMPY = _IMP_symmetry.IMP_SYMMETRY_HAS_NUMPY
340 
341 IMP_SYMMETRY_HAS_PYTHON_IHM = _IMP_symmetry.IMP_SYMMETRY_HAS_PYTHON_IHM
342 
343 IMPSYMMETRY_SHOW_WARNINGS = _IMP_symmetry.IMPSYMMETRY_SHOW_WARNINGS
344 
345 
346 _object_types.append("BallMover")
347 
348 
349 _object_types.append("RigidBodyMover")
350 
351 class BallMover(IMP.core.MonteCarloMover):
352  r"""Proxy of C++ IMP::symmetry::BallMover class."""
353 
354  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
355 
356  def __init__(self, p, ps, max_tr, ctrs, trs):
357  r"""__init__(BallMover self, Particle p, IMP::Particles ps, IMP::Float max_tr, IMP::algebra::Vector3Ds ctrs, IMP::algebra::Transformation3Ds trs) -> BallMover"""
358  _IMP_symmetry.BallMover_swiginit(self, _IMP_symmetry.new_BallMover(p, ps, max_tr, ctrs, trs))
359 
360  def get_version_info(self):
361  r"""get_version_info(BallMover self) -> VersionInfo"""
362  return _IMP_symmetry.BallMover_get_version_info(self)
363  __swig_destroy__ = _IMP_symmetry.delete_BallMover
364 
365  def __str__(self):
366  r"""__str__(BallMover self) -> std::string"""
367  return _IMP_symmetry.BallMover___str__(self)
368 
369  def __repr__(self):
370  r"""__repr__(BallMover self) -> std::string"""
371  return _IMP_symmetry.BallMover___repr__(self)
372 
373  @staticmethod
374  def get_from(o):
375  return _object_cast_to_BallMover(o)
376 
377 
378 # Register BallMover in _IMP_symmetry:
379 _IMP_symmetry.BallMover_swigregister(BallMover)
380 class RigidBodyMover(IMP.core.MonteCarloMover):
381  r"""Proxy of C++ IMP::symmetry::RigidBodyMover class."""
382 
383  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
384 
385  def __init__(self, d, ps, max_tr, max_ang, ctrs, trs):
386  r"""__init__(RigidBodyMover self, RigidBody d, IMP::Particles ps, IMP::Float max_tr, IMP::Float max_ang, IMP::algebra::Vector3Ds ctrs, IMP::algebra::Transformation3Ds trs) -> RigidBodyMover"""
387  _IMP_symmetry.RigidBodyMover_swiginit(self, _IMP_symmetry.new_RigidBodyMover(d, ps, max_tr, max_ang, ctrs, trs))
388 
389  def get_version_info(self):
390  r"""get_version_info(RigidBodyMover self) -> VersionInfo"""
391  return _IMP_symmetry.RigidBodyMover_get_version_info(self)
392  __swig_destroy__ = _IMP_symmetry.delete_RigidBodyMover
393 
394  def __str__(self):
395  r"""__str__(RigidBodyMover self) -> std::string"""
396  return _IMP_symmetry.RigidBodyMover___str__(self)
397 
398  def __repr__(self):
399  r"""__repr__(RigidBodyMover self) -> std::string"""
400  return _IMP_symmetry.RigidBodyMover___repr__(self)
401 
402  @staticmethod
403  def get_from(o):
404  return _object_cast_to_RigidBodyMover(o)
405 
406 
407 # Register RigidBodyMover in _IMP_symmetry:
408 _IMP_symmetry.RigidBodyMover_swigregister(RigidBodyMover)
409 
410 def get_module_name():
411  r"""get_module_name() -> std::string const"""
412  return _IMP_symmetry.get_module_name()
413 
414 def get_module_version():
415  r"""get_module_version() -> std::string const"""
416  return _IMP_symmetry.get_module_version()
417 
418 def get_example_path(fname):
419  r"""get_example_path(std::string fname) -> std::string"""
420  return _IMP_symmetry.get_example_path(fname)
421 
422 def get_data_path(fname):
423  r"""get_data_path(std::string fname) -> std::string"""
424  return _IMP_symmetry.get_data_path(fname)
425 
426 from . import _version_check
427 _version_check.check_version(get_module_version())
428 __version__ = get_module_version()
429 
430 
def get_data_path
Return the full path to one of this module's data files.
Make CGAL functionality available to IMP.
Composable functors to implement scores via compile-time composition.
def get_example_path
Return the full path to one of this module's example files.
def get_module_version
Return the version of this module, as a string.
A base class for classes which perturb particles.
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...
def get_module_name
Return the fully-qualified name of this module.
BallMover
Definition: BallMover.py:1
Output IMP model data in various file formats.