IMP logo
IMP Reference Guide  develop.50fdd7fa33,2025/08/31
The Integrative Modeling Platform
scratch/__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_scratch
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_SCRATCH_SwigPyIterator(object):
67  r"""Proxy of C++ swig::IMP_SCRATCH_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_scratch.delete_IMP_SCRATCH_SwigPyIterator
75 
76  def value(self):
77  r"""value(IMP_SCRATCH_SwigPyIterator self) -> PyObject *"""
78  return _IMP_scratch.IMP_SCRATCH_SwigPyIterator_value(self)
79 
80  def incr(self, n=1):
81  r"""incr(IMP_SCRATCH_SwigPyIterator self, size_t n=1) -> IMP_SCRATCH_SwigPyIterator"""
82  return _IMP_scratch.IMP_SCRATCH_SwigPyIterator_incr(self, n)
83 
84  def decr(self, n=1):
85  r"""decr(IMP_SCRATCH_SwigPyIterator self, size_t n=1) -> IMP_SCRATCH_SwigPyIterator"""
86  return _IMP_scratch.IMP_SCRATCH_SwigPyIterator_decr(self, n)
87 
88  def distance(self, x):
89  r"""distance(IMP_SCRATCH_SwigPyIterator self, IMP_SCRATCH_SwigPyIterator x) -> ptrdiff_t"""
90  return _IMP_scratch.IMP_SCRATCH_SwigPyIterator_distance(self, x)
91 
92  def equal(self, x):
93  r"""equal(IMP_SCRATCH_SwigPyIterator self, IMP_SCRATCH_SwigPyIterator x) -> bool"""
94  return _IMP_scratch.IMP_SCRATCH_SwigPyIterator_equal(self, x)
95 
96  def copy(self):
97  r"""copy(IMP_SCRATCH_SwigPyIterator self) -> IMP_SCRATCH_SwigPyIterator"""
98  return _IMP_scratch.IMP_SCRATCH_SwigPyIterator_copy(self)
99 
100  def next(self):
101  r"""next(IMP_SCRATCH_SwigPyIterator self) -> PyObject *"""
102  return _IMP_scratch.IMP_SCRATCH_SwigPyIterator_next(self)
103 
104  def __next__(self):
105  r"""__next__(IMP_SCRATCH_SwigPyIterator self) -> PyObject *"""
106  return _IMP_scratch.IMP_SCRATCH_SwigPyIterator___next__(self)
107 
108  def previous(self):
109  r"""previous(IMP_SCRATCH_SwigPyIterator self) -> PyObject *"""
110  return _IMP_scratch.IMP_SCRATCH_SwigPyIterator_previous(self)
111 
112  def advance(self, n):
113  r"""advance(IMP_SCRATCH_SwigPyIterator self, ptrdiff_t n) -> IMP_SCRATCH_SwigPyIterator"""
114  return _IMP_scratch.IMP_SCRATCH_SwigPyIterator_advance(self, n)
115 
116  def __eq__(self, x):
117  r"""__eq__(IMP_SCRATCH_SwigPyIterator self, IMP_SCRATCH_SwigPyIterator x) -> bool"""
118  return _IMP_scratch.IMP_SCRATCH_SwigPyIterator___eq__(self, x)
119 
120  def __ne__(self, x):
121  r"""__ne__(IMP_SCRATCH_SwigPyIterator self, IMP_SCRATCH_SwigPyIterator x) -> bool"""
122  return _IMP_scratch.IMP_SCRATCH_SwigPyIterator___ne__(self, x)
123 
124  def __iadd__(self, n):
125  r"""__iadd__(IMP_SCRATCH_SwigPyIterator self, ptrdiff_t n) -> IMP_SCRATCH_SwigPyIterator"""
126  return _IMP_scratch.IMP_SCRATCH_SwigPyIterator___iadd__(self, n)
127 
128  def __isub__(self, n):
129  r"""__isub__(IMP_SCRATCH_SwigPyIterator self, ptrdiff_t n) -> IMP_SCRATCH_SwigPyIterator"""
130  return _IMP_scratch.IMP_SCRATCH_SwigPyIterator___isub__(self, n)
131 
132  def __add__(self, n):
133  r"""__add__(IMP_SCRATCH_SwigPyIterator self, ptrdiff_t n) -> IMP_SCRATCH_SwigPyIterator"""
134  return _IMP_scratch.IMP_SCRATCH_SwigPyIterator___add__(self, n)
135 
136  def __sub__(self, *args):
137  r"""
138  __sub__(IMP_SCRATCH_SwigPyIterator self, ptrdiff_t n) -> IMP_SCRATCH_SwigPyIterator
139  __sub__(IMP_SCRATCH_SwigPyIterator self, IMP_SCRATCH_SwigPyIterator x) -> ptrdiff_t
140  """
141  return _IMP_scratch.IMP_SCRATCH_SwigPyIterator___sub__(self, *args)
142  def __iter__(self):
143  return self
144 
145 # Register IMP_SCRATCH_SwigPyIterator in _IMP_scratch:
146 _IMP_scratch.IMP_SCRATCH_SwigPyIterator_swigregister(IMP_SCRATCH_SwigPyIterator)
147 
148 _value_types=[]
149 _object_types=[]
150 _raii_types=[]
151 _plural_types=[]
152 
153 IMP_DEBUG = _IMP_scratch.IMP_DEBUG
154 
155 IMP_RELEASE = _IMP_scratch.IMP_RELEASE
156 
157 IMP_SILENT = _IMP_scratch.IMP_SILENT
158 
159 IMP_PROGRESS = _IMP_scratch.IMP_PROGRESS
160 
161 IMP_TERSE = _IMP_scratch.IMP_TERSE
162 
163 IMP_VERBOSE = _IMP_scratch.IMP_VERBOSE
164 
165 IMP_MEMORY = _IMP_scratch.IMP_MEMORY
166 
167 IMP_NONE = _IMP_scratch.IMP_NONE
168 
169 IMP_USAGE = _IMP_scratch.IMP_USAGE
170 
171 IMP_INTERNAL = _IMP_scratch.IMP_INTERNAL
172 
173 IMP_KERNEL_HAS_LOG4CXX = _IMP_scratch.IMP_KERNEL_HAS_LOG4CXX
174 
175 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_scratch.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
176 
177 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_scratch.IMP_COMPILER_HAS_DEBUG_VECTOR
178 
179 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_scratch.IMP_COMPILER_HAS_RANDOM_SHUFFLE
180 
181 IMP_COMPILER_HAS_THREE_WAY = _IMP_scratch.IMP_COMPILER_HAS_THREE_WAY
182 
183 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_scratch.IMP_KERNEL_HAS_BOOST_RANDOM
184 
185 IMP_KERNEL_HAS_NUMPY = _IMP_scratch.IMP_KERNEL_HAS_NUMPY
186 
187 IMP_KERNEL_HAS_BOOST_SYSTEM = _IMP_scratch.IMP_KERNEL_HAS_BOOST_SYSTEM
188 
189 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_scratch.IMP_KERNEL_HAS_GPERFTOOLS
190 
191 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_scratch.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
192 
193 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_scratch.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
194 
195 IMPKERNEL_SHOW_WARNINGS = _IMP_scratch.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_scratch._ostream_write(self, osa_buf)
236 
237 # Register _ostream in _IMP_scratch:
238 _IMP_scratch._ostream_swigregister(_ostream)
239 IMP_C_OPEN_BINARY = _IMP_scratch.IMP_C_OPEN_BINARY
240 
241 import IMP
242 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_scratch.IMP_CGAL_HAS_BOOST_FILESYSTEM
243 
244 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_scratch.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
245 
246 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_scratch.IMP_CGAL_HAS_BOOST_RANDOM
247 
248 IMP_CGAL_HAS_NUMPY = _IMP_scratch.IMP_CGAL_HAS_NUMPY
249 
250 IMPCGAL_SHOW_WARNINGS = _IMP_scratch.IMPCGAL_SHOW_WARNINGS
251 
252 import IMP.cgal
253 IMP_ALGEBRA_HAS_IMP_CGAL = _IMP_scratch.IMP_ALGEBRA_HAS_IMP_CGAL
254 
255 IMP_ALGEBRA_HAS_BOOST_FILESYSTEM = _IMP_scratch.IMP_ALGEBRA_HAS_BOOST_FILESYSTEM
256 
257 IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS = _IMP_scratch.IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS
258 
259 IMP_ALGEBRA_HAS_BOOST_RANDOM = _IMP_scratch.IMP_ALGEBRA_HAS_BOOST_RANDOM
260 
261 IMP_ALGEBRA_HAS_CGAL = _IMP_scratch.IMP_ALGEBRA_HAS_CGAL
262 
263 IMP_ALGEBRA_HAS_NUMPY = _IMP_scratch.IMP_ALGEBRA_HAS_NUMPY
264 
265 IMP_ALGEBRA_HAS_ANN = _IMP_scratch.IMP_ALGEBRA_HAS_ANN
266 
267 IMPALGEBRA_SHOW_WARNINGS = _IMP_scratch.IMPALGEBRA_SHOW_WARNINGS
268 
269 import IMP.algebra
270 IMP_DISPLAY_HAS_IMP_CGAL = _IMP_scratch.IMP_DISPLAY_HAS_IMP_CGAL
271 
272 IMP_DISPLAY_HAS_BOOST_FILESYSTEM = _IMP_scratch.IMP_DISPLAY_HAS_BOOST_FILESYSTEM
273 
274 IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS = _IMP_scratch.IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS
275 
276 IMP_DISPLAY_HAS_BOOST_RANDOM = _IMP_scratch.IMP_DISPLAY_HAS_BOOST_RANDOM
277 
278 IMP_DISPLAY_HAS_CGAL = _IMP_scratch.IMP_DISPLAY_HAS_CGAL
279 
280 IMP_DISPLAY_HAS_NUMPY = _IMP_scratch.IMP_DISPLAY_HAS_NUMPY
281 
282 IMPDISPLAY_SHOW_WARNINGS = _IMP_scratch.IMPDISPLAY_SHOW_WARNINGS
283 
284 import IMP.display
285 IMP_SCORE_FUNCTOR_HAS_IMP_CGAL = _IMP_scratch.IMP_SCORE_FUNCTOR_HAS_IMP_CGAL
286 
287 IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM = _IMP_scratch.IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM
288 
289 IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS = _IMP_scratch.IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS
290 
291 IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM = _IMP_scratch.IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM
292 
293 IMP_SCORE_FUNCTOR_HAS_CGAL = _IMP_scratch.IMP_SCORE_FUNCTOR_HAS_CGAL
294 
295 IMP_SCORE_FUNCTOR_HAS_HDF5 = _IMP_scratch.IMP_SCORE_FUNCTOR_HAS_HDF5
296 
297 IMP_SCORE_FUNCTOR_HAS_NUMPY = _IMP_scratch.IMP_SCORE_FUNCTOR_HAS_NUMPY
298 
299 IMPSCOREFUNCTOR_SHOW_WARNINGS = _IMP_scratch.IMPSCOREFUNCTOR_SHOW_WARNINGS
300 
301 import IMP.score_functor
302 IMP_CORE_HAS_IMP_CGAL = _IMP_scratch.IMP_CORE_HAS_IMP_CGAL
303 
304 IMP_CORE_HAS_IMP_KERNEL = _IMP_scratch.IMP_CORE_HAS_IMP_KERNEL
305 
306 IMP_CORE_HAS_BOOST_FILESYSTEM = _IMP_scratch.IMP_CORE_HAS_BOOST_FILESYSTEM
307 
308 IMP_CORE_HAS_BOOST_PROGRAMOPTIONS = _IMP_scratch.IMP_CORE_HAS_BOOST_PROGRAMOPTIONS
309 
310 IMP_CORE_HAS_BOOST_RANDOM = _IMP_scratch.IMP_CORE_HAS_BOOST_RANDOM
311 
312 IMP_CORE_HAS_CGAL = _IMP_scratch.IMP_CORE_HAS_CGAL
313 
314 IMP_CORE_HAS_HDF5 = _IMP_scratch.IMP_CORE_HAS_HDF5
315 
316 IMP_CORE_HAS_NUMPY = _IMP_scratch.IMP_CORE_HAS_NUMPY
317 
318 IMPCORE_SHOW_WARNINGS = _IMP_scratch.IMPCORE_SHOW_WARNINGS
319 
320 import IMP.core
321 IMP_CONTAINER_HAS_IMP_ALGEBRA = _IMP_scratch.IMP_CONTAINER_HAS_IMP_ALGEBRA
322 
323 IMP_CONTAINER_HAS_IMP_CGAL = _IMP_scratch.IMP_CONTAINER_HAS_IMP_CGAL
324 
325 IMP_CONTAINER_HAS_IMP_DISPLAY = _IMP_scratch.IMP_CONTAINER_HAS_IMP_DISPLAY
326 
327 IMP_CONTAINER_HAS_IMP_KERNEL = _IMP_scratch.IMP_CONTAINER_HAS_IMP_KERNEL
328 
329 IMP_CONTAINER_HAS_IMP_SCORE_FUNCTOR = _IMP_scratch.IMP_CONTAINER_HAS_IMP_SCORE_FUNCTOR
330 
331 IMP_CONTAINER_HAS_BOOST_FILESYSTEM = _IMP_scratch.IMP_CONTAINER_HAS_BOOST_FILESYSTEM
332 
333 IMP_CONTAINER_HAS_BOOST_PROGRAMOPTIONS = _IMP_scratch.IMP_CONTAINER_HAS_BOOST_PROGRAMOPTIONS
334 
335 IMP_CONTAINER_HAS_BOOST_RANDOM = _IMP_scratch.IMP_CONTAINER_HAS_BOOST_RANDOM
336 
337 IMP_CONTAINER_HAS_CGAL = _IMP_scratch.IMP_CONTAINER_HAS_CGAL
338 
339 IMP_CONTAINER_HAS_HDF5 = _IMP_scratch.IMP_CONTAINER_HAS_HDF5
340 
341 IMP_CONTAINER_HAS_NUMPY = _IMP_scratch.IMP_CONTAINER_HAS_NUMPY
342 
343 IMP_CONTAINER_HAS_PYTHON_IHM = _IMP_scratch.IMP_CONTAINER_HAS_PYTHON_IHM
344 
345 IMP_CONTAINER_HAS_GOOGLE_DENSE_HASH_MAP = _IMP_scratch.IMP_CONTAINER_HAS_GOOGLE_DENSE_HASH_MAP
346 
347 IMP_CONTAINER_HAS_ROBIN_MAP = _IMP_scratch.IMP_CONTAINER_HAS_ROBIN_MAP
348 
349 IMPCONTAINER_SHOW_WARNINGS = _IMP_scratch.IMPCONTAINER_SHOW_WARNINGS
350 
351 import IMP.container
352 IMP_SCRATCH_HAS_IMP_ALGEBRA = _IMP_scratch.IMP_SCRATCH_HAS_IMP_ALGEBRA
353 
354 IMP_SCRATCH_HAS_IMP_CGAL = _IMP_scratch.IMP_SCRATCH_HAS_IMP_CGAL
355 
356 IMP_SCRATCH_HAS_IMP_DISPLAY = _IMP_scratch.IMP_SCRATCH_HAS_IMP_DISPLAY
357 
358 IMP_SCRATCH_HAS_IMP_KERNEL = _IMP_scratch.IMP_SCRATCH_HAS_IMP_KERNEL
359 
360 IMP_SCRATCH_HAS_IMP_SCORE_FUNCTOR = _IMP_scratch.IMP_SCRATCH_HAS_IMP_SCORE_FUNCTOR
361 
362 IMP_SCRATCH_HAS_BOOST_FILESYSTEM = _IMP_scratch.IMP_SCRATCH_HAS_BOOST_FILESYSTEM
363 
364 IMP_SCRATCH_HAS_BOOST_PROGRAMOPTIONS = _IMP_scratch.IMP_SCRATCH_HAS_BOOST_PROGRAMOPTIONS
365 
366 IMP_SCRATCH_HAS_BOOST_RANDOM = _IMP_scratch.IMP_SCRATCH_HAS_BOOST_RANDOM
367 
368 IMP_SCRATCH_HAS_CGAL = _IMP_scratch.IMP_SCRATCH_HAS_CGAL
369 
370 IMP_SCRATCH_HAS_HDF5 = _IMP_scratch.IMP_SCRATCH_HAS_HDF5
371 
372 IMP_SCRATCH_HAS_NUMPY = _IMP_scratch.IMP_SCRATCH_HAS_NUMPY
373 
374 IMP_SCRATCH_HAS_PYTHON_IHM = _IMP_scratch.IMP_SCRATCH_HAS_PYTHON_IHM
375 
376 IMPSCRATCH_SHOW_WARNINGS = _IMP_scratch.IMPSCRATCH_SHOW_WARNINGS
377 
378 
379 def get_module_name():
380  r"""get_module_name() -> std::string const"""
381  return _IMP_scratch.get_module_name()
382 
383 def get_module_version():
384  r"""get_module_version() -> std::string const"""
385  return _IMP_scratch.get_module_version()
386 
387 def get_example_path(fname):
388  r"""get_example_path(std::string fname) -> std::string"""
389  return _IMP_scratch.get_example_path(fname)
390 
391 def get_data_path(fname):
392  r"""get_data_path(std::string fname) -> std::string"""
393  return _IMP_scratch.get_data_path(fname)
394 
395 from . import _version_check
396 _version_check.check_version(get_module_version())
397 __version__ = get_module_version()
398 
399 
def get_data_path
Return the full path to one of this module's data files.
def get_module_version
Return the version of this module, as a string.
def get_example_path
Return the full path to one of this module's example files.
Various classes to hold sets of particles.
Make CGAL functionality available to IMP.
Composable functors to implement scores via compile-time composition.
def get_module_name
Return the fully-qualified name of this module.
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...
Output IMP model data in various file formats.