17 import builtins
as __builtin__
21 strthis =
"proxy of " + self.this.__repr__()
22 except __builtin__.Exception:
24 return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
27 def _swig_setattr_nondynamic_instance_variable(set):
28 def set_instance_attr(self, name, value):
30 set(self, name, value)
31 elif name ==
"thisown":
33 elif hasattr(self, name)
and isinstance(getattr(type(self), name), property):
34 set(self, name, value)
36 raise AttributeError(
"You cannot add instance attributes to %s" % self)
37 return set_instance_attr
40 def _swig_setattr_nondynamic_class_variable(set):
41 def set_class_attr(cls, name, value):
42 if hasattr(cls, name)
and not isinstance(getattr(cls, name), property):
45 raise AttributeError(
"You cannot add class attributes to %s" % cls)
49 class _SwigNonDynamicMeta(type):
50 """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
51 __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
56 class IMP_GSL_SwigPyIterator(object):
57 r"""Proxy of C++ swig::IMP_GSL_SwigPyIterator class."""
59 thisown = property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
"The membership flag")
61 def __init__(self, *args, **kwargs):
62 raise AttributeError(
"No constructor defined - class is abstract")
64 __swig_destroy__ = _IMP_gsl.delete_IMP_GSL_SwigPyIterator
67 r"""value(IMP_GSL_SwigPyIterator self) -> PyObject *"""
68 return _IMP_gsl.IMP_GSL_SwigPyIterator_value(self)
71 r"""incr(IMP_GSL_SwigPyIterator self, size_t n=1) -> IMP_GSL_SwigPyIterator"""
72 return _IMP_gsl.IMP_GSL_SwigPyIterator_incr(self, n)
75 r"""decr(IMP_GSL_SwigPyIterator self, size_t n=1) -> IMP_GSL_SwigPyIterator"""
76 return _IMP_gsl.IMP_GSL_SwigPyIterator_decr(self, n)
78 def distance(self, x):
79 r"""distance(IMP_GSL_SwigPyIterator self, IMP_GSL_SwigPyIterator x) -> ptrdiff_t"""
80 return _IMP_gsl.IMP_GSL_SwigPyIterator_distance(self, x)
83 r"""equal(IMP_GSL_SwigPyIterator self, IMP_GSL_SwigPyIterator x) -> bool"""
84 return _IMP_gsl.IMP_GSL_SwigPyIterator_equal(self, x)
87 r"""copy(IMP_GSL_SwigPyIterator self) -> IMP_GSL_SwigPyIterator"""
88 return _IMP_gsl.IMP_GSL_SwigPyIterator_copy(self)
91 r"""__next__(IMP_GSL_SwigPyIterator self) -> PyObject *"""
92 return _IMP_gsl.IMP_GSL_SwigPyIterator___next__(self)
95 r"""previous(IMP_GSL_SwigPyIterator self) -> PyObject *"""
96 return _IMP_gsl.IMP_GSL_SwigPyIterator_previous(self)
99 r"""advance(IMP_GSL_SwigPyIterator self, ptrdiff_t n) -> IMP_GSL_SwigPyIterator"""
100 return _IMP_gsl.IMP_GSL_SwigPyIterator_advance(self, n)
103 r"""__eq__(IMP_GSL_SwigPyIterator self, IMP_GSL_SwigPyIterator x) -> bool"""
104 return _IMP_gsl.IMP_GSL_SwigPyIterator___eq__(self, x)
107 r"""__ne__(IMP_GSL_SwigPyIterator self, IMP_GSL_SwigPyIterator x) -> bool"""
108 return _IMP_gsl.IMP_GSL_SwigPyIterator___ne__(self, x)
110 def __iadd__(self, n):
111 r"""__iadd__(IMP_GSL_SwigPyIterator self, ptrdiff_t n) -> IMP_GSL_SwigPyIterator"""
112 return _IMP_gsl.IMP_GSL_SwigPyIterator___iadd__(self, n)
114 def __isub__(self, n):
115 r"""__isub__(IMP_GSL_SwigPyIterator self, ptrdiff_t n) -> IMP_GSL_SwigPyIterator"""
116 return _IMP_gsl.IMP_GSL_SwigPyIterator___isub__(self, n)
118 def __add__(self, n):
119 r"""__add__(IMP_GSL_SwigPyIterator self, ptrdiff_t n) -> IMP_GSL_SwigPyIterator"""
120 return _IMP_gsl.IMP_GSL_SwigPyIterator___add__(self, n)
122 def __sub__(self, *args):
124 __sub__(IMP_GSL_SwigPyIterator self, ptrdiff_t n) -> IMP_GSL_SwigPyIterator
125 __sub__(IMP_GSL_SwigPyIterator self, IMP_GSL_SwigPyIterator x) -> ptrdiff_t
127 return _IMP_gsl.IMP_GSL_SwigPyIterator___sub__(self, *args)
132 _IMP_gsl.IMP_GSL_SwigPyIterator_swigregister(IMP_GSL_SwigPyIterator)
139 IMP_DEBUG = _IMP_gsl.IMP_DEBUG
141 IMP_RELEASE = _IMP_gsl.IMP_RELEASE
143 IMP_SILENT = _IMP_gsl.IMP_SILENT
145 IMP_PROGRESS = _IMP_gsl.IMP_PROGRESS
147 IMP_TERSE = _IMP_gsl.IMP_TERSE
149 IMP_VERBOSE = _IMP_gsl.IMP_VERBOSE
151 IMP_MEMORY = _IMP_gsl.IMP_MEMORY
153 IMP_NONE = _IMP_gsl.IMP_NONE
155 IMP_USAGE = _IMP_gsl.IMP_USAGE
157 IMP_INTERNAL = _IMP_gsl.IMP_INTERNAL
159 IMP_KERNEL_HAS_LOG4CXX = _IMP_gsl.IMP_KERNEL_HAS_LOG4CXX
161 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_gsl.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
163 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_gsl.IMP_COMPILER_HAS_DEBUG_VECTOR
165 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_gsl.IMP_COMPILER_HAS_RANDOM_SHUFFLE
167 IMP_COMPILER_HAS_THREE_WAY = _IMP_gsl.IMP_COMPILER_HAS_THREE_WAY
169 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_gsl.IMP_KERNEL_HAS_BOOST_RANDOM
171 IMP_KERNEL_HAS_NUMPY = _IMP_gsl.IMP_KERNEL_HAS_NUMPY
173 IMP_KERNEL_HAS_BOOST_SYSTEM = _IMP_gsl.IMP_KERNEL_HAS_BOOST_SYSTEM
175 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_gsl.IMP_KERNEL_HAS_GPERFTOOLS
177 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_gsl.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
179 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_gsl.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
181 IMPKERNEL_SHOW_WARNINGS = _IMP_gsl.IMPKERNEL_SHOW_WARNINGS
185 class _DirectorObjects:
186 """@internal Simple class to keep references to director objects
187 to prevent premature deletion."""
190 def register(self, obj):
191 """Take a reference to a director object; will only work for
192 refcounted C++ classes"""
193 if hasattr(obj,
'get_ref_count'):
194 self._objects.append(obj)
196 """Only drop our reference and allow cleanup by Python if no other
197 Python references exist (we hold 3 references: one in self._objects,
198 one in x, and one in the argument list for getrefcount) *and* no
199 other C++ references exist (the Python object always holds one)"""
200 objs = [x
for x
in self._objects
if sys.getrefcount(x) > 3 \
201 or x.get_ref_count() > 1]
205 def get_object_count(self):
206 """Get number of director objects (useful for testing only)"""
207 return len(self._objects)
208 _director_objects = _DirectorObjects()
210 class _ostream(object):
211 r"""Proxy of C++ std::ostream class."""
213 thisown = property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
"The membership flag")
215 def __init__(self, *args, **kwargs):
216 raise AttributeError(
"No constructor defined")
217 __repr__ = _swig_repr
219 def write(self, osa_buf):
220 r"""write(_ostream self, char const * osa_buf)"""
221 return _IMP_gsl._ostream_write(self, osa_buf)
224 _IMP_gsl._ostream_swigregister(_ostream)
225 IMP_C_OPEN_BINARY = _IMP_gsl.IMP_C_OPEN_BINARY
228 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_gsl.IMP_CGAL_HAS_BOOST_FILESYSTEM
230 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_gsl.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
232 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_gsl.IMP_CGAL_HAS_BOOST_RANDOM
234 IMP_CGAL_HAS_NUMPY = _IMP_gsl.IMP_CGAL_HAS_NUMPY
236 IMPCGAL_SHOW_WARNINGS = _IMP_gsl.IMPCGAL_SHOW_WARNINGS
239 IMP_ALGEBRA_HAS_IMP_CGAL = _IMP_gsl.IMP_ALGEBRA_HAS_IMP_CGAL
241 IMP_ALGEBRA_HAS_BOOST_FILESYSTEM = _IMP_gsl.IMP_ALGEBRA_HAS_BOOST_FILESYSTEM
243 IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS = _IMP_gsl.IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS
245 IMP_ALGEBRA_HAS_BOOST_RANDOM = _IMP_gsl.IMP_ALGEBRA_HAS_BOOST_RANDOM
247 IMP_ALGEBRA_HAS_CGAL = _IMP_gsl.IMP_ALGEBRA_HAS_CGAL
249 IMP_ALGEBRA_HAS_NUMPY = _IMP_gsl.IMP_ALGEBRA_HAS_NUMPY
251 IMP_ALGEBRA_HAS_ANN = _IMP_gsl.IMP_ALGEBRA_HAS_ANN
253 IMPALGEBRA_SHOW_WARNINGS = _IMP_gsl.IMPALGEBRA_SHOW_WARNINGS
256 IMP_GSL_HAS_IMP_CGAL = _IMP_gsl.IMP_GSL_HAS_IMP_CGAL
258 IMP_GSL_HAS_BOOST_FILESYSTEM = _IMP_gsl.IMP_GSL_HAS_BOOST_FILESYSTEM
260 IMP_GSL_HAS_BOOST_PROGRAMOPTIONS = _IMP_gsl.IMP_GSL_HAS_BOOST_PROGRAMOPTIONS
262 IMP_GSL_HAS_BOOST_RANDOM = _IMP_gsl.IMP_GSL_HAS_BOOST_RANDOM
264 IMP_GSL_HAS_CGAL = _IMP_gsl.IMP_GSL_HAS_CGAL
266 IMP_GSL_HAS_NUMPY = _IMP_gsl.IMP_GSL_HAS_NUMPY
268 IMPGSL_SHOW_WARNINGS = _IMP_gsl.IMPGSL_SHOW_WARNINGS
271 _object_types.append(
"GSLOptimizer")
274 def _object_cast_to_GSLOptimizer(o):
275 r"""_object_cast_to_GSLOptimizer(Object o) -> GSLOptimizer"""
276 return _IMP_gsl._object_cast_to_GSLOptimizer(o)
278 _object_types.append(
"ConjugateGradients")
281 def _object_cast_to_ConjugateGradients(o):
282 r"""_object_cast_to_ConjugateGradients(Object o) -> ConjugateGradients"""
283 return _IMP_gsl._object_cast_to_ConjugateGradients(o)
285 _object_types.append(
"QuasiNewton")
288 def _object_cast_to_QuasiNewton(o):
289 r"""_object_cast_to_QuasiNewton(Object o) -> QuasiNewton"""
290 return _IMP_gsl._object_cast_to_QuasiNewton(o)
292 _object_types.append(
"Simplex")
295 def _object_cast_to_Simplex(o):
296 r"""_object_cast_to_Simplex(Object o) -> Simplex"""
297 return _IMP_gsl._object_cast_to_Simplex(o)
299 r"""Proxy of C++ IMP::gsl::GSLOptimizer class."""
301 thisown = property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
"The membership flag")
303 def __init__(self, m):
304 r"""__init__(GSLOptimizer self, Model m) -> GSLOptimizer"""
305 if self.__class__ == GSLOptimizer:
309 _IMP_gsl.GSLOptimizer_swiginit(self, _IMP_gsl.new_GSLOptimizer(_self, m))
311 if self.__class__ != GSLOptimizer:
312 _director_objects.register(self)
316 __swig_destroy__ = _IMP_gsl.delete_GSLOptimizer
318 def set_stop_score(self, d):
319 r"""set_stop_score(GSLOptimizer self, double d)"""
320 return _IMP_gsl.GSLOptimizer_set_stop_score(self, d)
323 r"""__str__(GSLOptimizer self) -> std::string"""
324 return _IMP_gsl.GSLOptimizer___str__(self)
327 r"""__repr__(GSLOptimizer self) -> std::string"""
328 return _IMP_gsl.GSLOptimizer___repr__(self)
332 return _object_cast_to_GSLOptimizer(o)
335 def do_show(self, out):
340 return _object_cast_to_GSLOptimizer(o)
342 def __disown__(self):
344 _IMP_gsl.disown_GSLOptimizer(self)
345 return weakref.proxy(self)
348 r"""do_destroy(GSLOptimizer self)"""
349 return _IMP_gsl.GSLOptimizer_do_destroy(self)
351 def handle_set_has_required_score_states(self, arg0):
352 r"""handle_set_has_required_score_states(GSLOptimizer self, bool arg0)"""
353 return _IMP_gsl.GSLOptimizer_handle_set_has_required_score_states(self, arg0)
356 r"""do_get_inputs(GSLOptimizer self) -> IMP::ModelObjectsTemp"""
357 return _IMP_gsl.GSLOptimizer_do_get_inputs(self)
360 r"""do_get_outputs(GSLOptimizer self) -> IMP::ModelObjectsTemp"""
361 return _IMP_gsl.GSLOptimizer_do_get_outputs(self)
363 def do_get_interactions(self):
364 r"""do_get_interactions(GSLOptimizer self) -> IMP::ModelObjectsTemps"""
365 return _IMP_gsl.GSLOptimizer_do_get_interactions(self)
367 def do_optimize(self, ns):
368 r"""do_optimize(GSLOptimizer self, unsigned int ns) -> double"""
369 return _IMP_gsl.GSLOptimizer_do_optimize(self, ns)
372 _IMP_gsl.GSLOptimizer_swigregister(GSLOptimizer)
373 class ConjugateGradients(GSLOptimizer):
374 r"""Proxy of C++ IMP::gsl::ConjugateGradients class."""
376 thisown = property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
"The membership flag")
378 def __init__(self, m):
379 r"""__init__(ConjugateGradients self, Model m) -> ConjugateGradients"""
380 _IMP_gsl.ConjugateGradients_swiginit(self, _IMP_gsl.new_ConjugateGradients(m))
382 def set_threshold(self, mg):
383 r"""set_threshold(ConjugateGradients self, double mg)"""
384 return _IMP_gsl.ConjugateGradients_set_threshold(self, mg)
386 def do_optimize(self, max_steps):
387 r"""do_optimize(ConjugateGradients self, unsigned int max_steps) -> IMP::Float"""
388 return _IMP_gsl.ConjugateGradients_do_optimize(self, max_steps)
391 r"""get_version_info(ConjugateGradients self) -> VersionInfo"""
392 return _IMP_gsl.ConjugateGradients_get_version_info(self)
393 __swig_destroy__ = _IMP_gsl.delete_ConjugateGradients
396 r"""__str__(ConjugateGradients self) -> std::string"""
397 return _IMP_gsl.ConjugateGradients___str__(self)
400 r"""__repr__(ConjugateGradients self) -> std::string"""
401 return _IMP_gsl.ConjugateGradients___repr__(self)
405 return _object_cast_to_ConjugateGradients(o)
409 _IMP_gsl.ConjugateGradients_swigregister(ConjugateGradients)
410 class QuasiNewton(GSLOptimizer):
411 r"""Proxy of C++ IMP::gsl::QuasiNewton class."""
413 thisown = property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
"The membership flag")
415 def __init__(self, m):
416 r"""__init__(QuasiNewton self, Model m) -> QuasiNewton"""
417 _IMP_gsl.QuasiNewton_swiginit(self, _IMP_gsl.new_QuasiNewton(m))
419 def set_initial_step(self, length):
420 r"""set_initial_step(QuasiNewton self, double length)"""
421 return _IMP_gsl.QuasiNewton_set_initial_step(self, length)
423 def set_line_step(self, d):
424 r"""set_line_step(QuasiNewton self, double d)"""
425 return _IMP_gsl.QuasiNewton_set_line_step(self, d)
427 def set_minimum_gradient(self, d):
428 r"""set_minimum_gradient(QuasiNewton self, double d)"""
429 return _IMP_gsl.QuasiNewton_set_minimum_gradient(self, d)
431 def do_optimize(self, max_steps):
432 r"""do_optimize(QuasiNewton self, unsigned int max_steps) -> IMP::Float"""
433 return _IMP_gsl.QuasiNewton_do_optimize(self, max_steps)
436 r"""get_version_info(QuasiNewton self) -> VersionInfo"""
437 return _IMP_gsl.QuasiNewton_get_version_info(self)
438 __swig_destroy__ = _IMP_gsl.delete_QuasiNewton
441 r"""__str__(QuasiNewton self) -> std::string"""
442 return _IMP_gsl.QuasiNewton___str__(self)
445 r"""__repr__(QuasiNewton self) -> std::string"""
446 return _IMP_gsl.QuasiNewton___repr__(self)
450 return _object_cast_to_QuasiNewton(o)
454 _IMP_gsl.QuasiNewton_swigregister(QuasiNewton)
455 class Simplex(GSLOptimizer):
456 r"""Proxy of C++ IMP::gsl::Simplex class."""
458 thisown = property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
"The membership flag")
460 def __init__(self, m):
461 r"""__init__(Simplex self, Model m) -> Simplex"""
462 _IMP_gsl.Simplex_swiginit(self, _IMP_gsl.new_Simplex(m))
464 def set_initial_length(self, length):
465 r"""set_initial_length(Simplex self, double length)"""
466 return _IMP_gsl.Simplex_set_initial_length(self, length)
468 def set_minimum_size(self, d):
469 r"""set_minimum_size(Simplex self, double d)"""
470 return _IMP_gsl.Simplex_set_minimum_size(self, d)
472 def do_optimize(self, max_steps):
473 r"""do_optimize(Simplex self, unsigned int max_steps) -> IMP::Float"""
474 return _IMP_gsl.Simplex_do_optimize(self, max_steps)
477 r"""get_version_info(Simplex self) -> VersionInfo"""
478 return _IMP_gsl.Simplex_get_version_info(self)
479 __swig_destroy__ = _IMP_gsl.delete_Simplex
482 r"""__str__(Simplex self) -> std::string"""
483 return _IMP_gsl.Simplex___str__(self)
486 r"""__repr__(Simplex self) -> std::string"""
487 return _IMP_gsl.Simplex___repr__(self)
491 return _object_cast_to_Simplex(o)
495 _IMP_gsl.Simplex_swigregister(Simplex)
497 def get_module_name():
498 r"""get_module_name() -> std::string const"""
499 return _IMP_gsl.get_module_name()
502 r"""get_module_version() -> std::string const"""
503 return _IMP_gsl.get_module_version()
506 r"""get_example_path(std::string fname) -> std::string"""
507 return _IMP_gsl.get_example_path(fname)
510 r"""get_data_path(std::string fname) -> std::string"""
511 return _IMP_gsl.get_data_path(fname)
513 from .
import _version_check
Make CGAL functionality available to IMP.
virtual ModelObjectsTemp do_get_outputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the outputs.
virtual void do_destroy()
virtual ModelObjectsTemp do_get_inputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the inputs.
Base class for optimizers that act on individual attributes.
General purpose algebraic and geometric methods that are expected to be used by a wide variety of IMP...
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.
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.
std::string get_data_path(std::string file_name)
Return the full path to one of this module's data files.