IMP logo
IMP Reference Guide  develop.31a501ea3f,2026/01/29
The Integrative Modeling Platform
atom/__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_atom
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_ATOM_SwigPyIterator(object):
67  r"""Proxy of C++ swig::IMP_ATOM_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_atom.delete_IMP_ATOM_SwigPyIterator
75 
76  def value(self):
77  r"""value(IMP_ATOM_SwigPyIterator self) -> PyObject *"""
78  return _IMP_atom.IMP_ATOM_SwigPyIterator_value(self)
79 
80  def incr(self, n=1):
81  r"""incr(IMP_ATOM_SwigPyIterator self, size_t n=1) -> IMP_ATOM_SwigPyIterator"""
82  return _IMP_atom.IMP_ATOM_SwigPyIterator_incr(self, n)
83 
84  def decr(self, n=1):
85  r"""decr(IMP_ATOM_SwigPyIterator self, size_t n=1) -> IMP_ATOM_SwigPyIterator"""
86  return _IMP_atom.IMP_ATOM_SwigPyIterator_decr(self, n)
87 
88  def distance(self, x):
89  r"""distance(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> ptrdiff_t"""
90  return _IMP_atom.IMP_ATOM_SwigPyIterator_distance(self, x)
91 
92  def equal(self, x):
93  r"""equal(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> bool"""
94  return _IMP_atom.IMP_ATOM_SwigPyIterator_equal(self, x)
95 
96  def copy(self):
97  r"""copy(IMP_ATOM_SwigPyIterator self) -> IMP_ATOM_SwigPyIterator"""
98  return _IMP_atom.IMP_ATOM_SwigPyIterator_copy(self)
99 
100  def next(self):
101  r"""next(IMP_ATOM_SwigPyIterator self) -> PyObject *"""
102  return _IMP_atom.IMP_ATOM_SwigPyIterator_next(self)
103 
104  def __next__(self):
105  r"""__next__(IMP_ATOM_SwigPyIterator self) -> PyObject *"""
106  return _IMP_atom.IMP_ATOM_SwigPyIterator___next__(self)
107 
108  def previous(self):
109  r"""previous(IMP_ATOM_SwigPyIterator self) -> PyObject *"""
110  return _IMP_atom.IMP_ATOM_SwigPyIterator_previous(self)
111 
112  def advance(self, n):
113  r"""advance(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator"""
114  return _IMP_atom.IMP_ATOM_SwigPyIterator_advance(self, n)
115 
116  def __eq__(self, x):
117  r"""__eq__(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> bool"""
118  return _IMP_atom.IMP_ATOM_SwigPyIterator___eq__(self, x)
119 
120  def __ne__(self, x):
121  r"""__ne__(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> bool"""
122  return _IMP_atom.IMP_ATOM_SwigPyIterator___ne__(self, x)
123 
124  def __iadd__(self, n):
125  r"""__iadd__(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator"""
126  return _IMP_atom.IMP_ATOM_SwigPyIterator___iadd__(self, n)
127 
128  def __isub__(self, n):
129  r"""__isub__(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator"""
130  return _IMP_atom.IMP_ATOM_SwigPyIterator___isub__(self, n)
131 
132  def __add__(self, n):
133  r"""__add__(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator"""
134  return _IMP_atom.IMP_ATOM_SwigPyIterator___add__(self, n)
135 
136  def __sub__(self, *args):
137  r"""
138  __sub__(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator
139  __sub__(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> ptrdiff_t
140  """
141  return _IMP_atom.IMP_ATOM_SwigPyIterator___sub__(self, *args)
142  def __iter__(self):
143  return self
144 
145 # Register IMP_ATOM_SwigPyIterator in _IMP_atom:
146 _IMP_atom.IMP_ATOM_SwigPyIterator_swigregister(IMP_ATOM_SwigPyIterator)
147 
148 _value_types=[]
149 _object_types=[]
150 _raii_types=[]
151 _plural_types=[]
152 
153 IMP_DEBUG = _IMP_atom.IMP_DEBUG
154 
155 IMP_RELEASE = _IMP_atom.IMP_RELEASE
156 
157 IMP_SILENT = _IMP_atom.IMP_SILENT
158 
159 IMP_PROGRESS = _IMP_atom.IMP_PROGRESS
160 
161 IMP_TERSE = _IMP_atom.IMP_TERSE
162 
163 IMP_VERBOSE = _IMP_atom.IMP_VERBOSE
164 
165 IMP_MEMORY = _IMP_atom.IMP_MEMORY
166 
167 IMP_NONE = _IMP_atom.IMP_NONE
168 
169 IMP_USAGE = _IMP_atom.IMP_USAGE
170 
171 IMP_INTERNAL = _IMP_atom.IMP_INTERNAL
172 
173 IMP_KERNEL_HAS_LOG4CXX = _IMP_atom.IMP_KERNEL_HAS_LOG4CXX
174 
175 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_atom.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
176 
177 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_atom.IMP_COMPILER_HAS_DEBUG_VECTOR
178 
179 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_atom.IMP_COMPILER_HAS_RANDOM_SHUFFLE
180 
181 IMP_COMPILER_HAS_THREE_WAY = _IMP_atom.IMP_COMPILER_HAS_THREE_WAY
182 
183 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_atom.IMP_KERNEL_HAS_BOOST_RANDOM
184 
185 IMP_KERNEL_HAS_NUMPY = _IMP_atom.IMP_KERNEL_HAS_NUMPY
186 
187 IMP_KERNEL_HAS_BOOST_SYSTEM = _IMP_atom.IMP_KERNEL_HAS_BOOST_SYSTEM
188 
189 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_atom.IMP_KERNEL_HAS_GPERFTOOLS
190 
191 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_atom.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
192 
193 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_atom.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
194 
195 IMPKERNEL_SHOW_WARNINGS = _IMP_atom.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_atom._ostream_write(self, osa_buf)
236 
237 # Register _ostream in _IMP_atom:
238 _IMP_atom._ostream_swigregister(_ostream)
239 IMP_C_OPEN_BINARY = _IMP_atom.IMP_C_OPEN_BINARY
240 
241 import IMP
242 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_CGAL_HAS_BOOST_FILESYSTEM
243 
244 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
245 
246 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_atom.IMP_CGAL_HAS_BOOST_RANDOM
247 
248 IMP_CGAL_HAS_NUMPY = _IMP_atom.IMP_CGAL_HAS_NUMPY
249 
250 IMPCGAL_SHOW_WARNINGS = _IMP_atom.IMPCGAL_SHOW_WARNINGS
251 
252 import IMP.cgal
253 IMP_ALGEBRA_HAS_IMP_CGAL = _IMP_atom.IMP_ALGEBRA_HAS_IMP_CGAL
254 
255 IMP_ALGEBRA_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_ALGEBRA_HAS_BOOST_FILESYSTEM
256 
257 IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS
258 
259 IMP_ALGEBRA_HAS_BOOST_RANDOM = _IMP_atom.IMP_ALGEBRA_HAS_BOOST_RANDOM
260 
261 IMP_ALGEBRA_HAS_CGAL = _IMP_atom.IMP_ALGEBRA_HAS_CGAL
262 
263 IMP_ALGEBRA_HAS_NUMPY = _IMP_atom.IMP_ALGEBRA_HAS_NUMPY
264 
265 IMP_ALGEBRA_HAS_ANN = _IMP_atom.IMP_ALGEBRA_HAS_ANN
266 
267 IMPALGEBRA_SHOW_WARNINGS = _IMP_atom.IMPALGEBRA_SHOW_WARNINGS
268 
269 import IMP.algebra
270 IMP_DISPLAY_HAS_IMP_CGAL = _IMP_atom.IMP_DISPLAY_HAS_IMP_CGAL
271 
272 IMP_DISPLAY_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_DISPLAY_HAS_BOOST_FILESYSTEM
273 
274 IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS
275 
276 IMP_DISPLAY_HAS_BOOST_RANDOM = _IMP_atom.IMP_DISPLAY_HAS_BOOST_RANDOM
277 
278 IMP_DISPLAY_HAS_CGAL = _IMP_atom.IMP_DISPLAY_HAS_CGAL
279 
280 IMP_DISPLAY_HAS_NUMPY = _IMP_atom.IMP_DISPLAY_HAS_NUMPY
281 
282 IMPDISPLAY_SHOW_WARNINGS = _IMP_atom.IMPDISPLAY_SHOW_WARNINGS
283 
284 import IMP.display
285 IMP_SCORE_FUNCTOR_HAS_IMP_CGAL = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_IMP_CGAL
286 
287 IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM
288 
289 IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS
290 
291 IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM
292 
293 IMP_SCORE_FUNCTOR_HAS_CGAL = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_CGAL
294 
295 IMP_SCORE_FUNCTOR_HAS_HDF5 = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_HDF5
296 
297 IMP_SCORE_FUNCTOR_HAS_NUMPY = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_NUMPY
298 
299 IMPSCOREFUNCTOR_SHOW_WARNINGS = _IMP_atom.IMPSCOREFUNCTOR_SHOW_WARNINGS
300 
301 import IMP.score_functor
302 IMP_CORE_HAS_IMP_CGAL = _IMP_atom.IMP_CORE_HAS_IMP_CGAL
303 
304 IMP_CORE_HAS_IMP_KERNEL = _IMP_atom.IMP_CORE_HAS_IMP_KERNEL
305 
306 IMP_CORE_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_CORE_HAS_BOOST_FILESYSTEM
307 
308 IMP_CORE_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_CORE_HAS_BOOST_PROGRAMOPTIONS
309 
310 IMP_CORE_HAS_BOOST_RANDOM = _IMP_atom.IMP_CORE_HAS_BOOST_RANDOM
311 
312 IMP_CORE_HAS_CGAL = _IMP_atom.IMP_CORE_HAS_CGAL
313 
314 IMP_CORE_HAS_HDF5 = _IMP_atom.IMP_CORE_HAS_HDF5
315 
316 IMP_CORE_HAS_NUMPY = _IMP_atom.IMP_CORE_HAS_NUMPY
317 
318 IMPCORE_SHOW_WARNINGS = _IMP_atom.IMPCORE_SHOW_WARNINGS
319 
320 import IMP.core
321 IMP_CONTAINER_HAS_IMP_ALGEBRA = _IMP_atom.IMP_CONTAINER_HAS_IMP_ALGEBRA
322 
323 IMP_CONTAINER_HAS_IMP_CGAL = _IMP_atom.IMP_CONTAINER_HAS_IMP_CGAL
324 
325 IMP_CONTAINER_HAS_IMP_DISPLAY = _IMP_atom.IMP_CONTAINER_HAS_IMP_DISPLAY
326 
327 IMP_CONTAINER_HAS_IMP_KERNEL = _IMP_atom.IMP_CONTAINER_HAS_IMP_KERNEL
328 
329 IMP_CONTAINER_HAS_IMP_SCORE_FUNCTOR = _IMP_atom.IMP_CONTAINER_HAS_IMP_SCORE_FUNCTOR
330 
331 IMP_CONTAINER_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_CONTAINER_HAS_BOOST_FILESYSTEM
332 
333 IMP_CONTAINER_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_CONTAINER_HAS_BOOST_PROGRAMOPTIONS
334 
335 IMP_CONTAINER_HAS_BOOST_RANDOM = _IMP_atom.IMP_CONTAINER_HAS_BOOST_RANDOM
336 
337 IMP_CONTAINER_HAS_CGAL = _IMP_atom.IMP_CONTAINER_HAS_CGAL
338 
339 IMP_CONTAINER_HAS_HDF5 = _IMP_atom.IMP_CONTAINER_HAS_HDF5
340 
341 IMP_CONTAINER_HAS_NUMPY = _IMP_atom.IMP_CONTAINER_HAS_NUMPY
342 
343 IMP_CONTAINER_HAS_PYTHON_IHM = _IMP_atom.IMP_CONTAINER_HAS_PYTHON_IHM
344 
345 IMP_CONTAINER_HAS_GOOGLE_DENSE_HASH_MAP = _IMP_atom.IMP_CONTAINER_HAS_GOOGLE_DENSE_HASH_MAP
346 
347 IMP_CONTAINER_HAS_ROBIN_MAP = _IMP_atom.IMP_CONTAINER_HAS_ROBIN_MAP
348 
349 IMPCONTAINER_SHOW_WARNINGS = _IMP_atom.IMPCONTAINER_SHOW_WARNINGS
350 
351 import IMP.container
352 IMP_ATOM_HAS_IMP_CGAL = _IMP_atom.IMP_ATOM_HAS_IMP_CGAL
353 
354 IMP_ATOM_HAS_IMP_KERNEL = _IMP_atom.IMP_ATOM_HAS_IMP_KERNEL
355 
356 IMP_ATOM_HAS_IMP_SCORE_FUNCTOR = _IMP_atom.IMP_ATOM_HAS_IMP_SCORE_FUNCTOR
357 
358 IMP_ATOM_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_ATOM_HAS_BOOST_PROGRAMOPTIONS
359 
360 IMP_ATOM_HAS_BOOST_RANDOM = _IMP_atom.IMP_ATOM_HAS_BOOST_RANDOM
361 
362 IMP_ATOM_HAS_BOOST_REGEX = _IMP_atom.IMP_ATOM_HAS_BOOST_REGEX
363 
364 IMP_ATOM_HAS_CGAL = _IMP_atom.IMP_ATOM_HAS_CGAL
365 
366 IMP_ATOM_HAS_HDF5 = _IMP_atom.IMP_ATOM_HAS_HDF5
367 
368 IMP_ATOM_HAS_NUMPY = _IMP_atom.IMP_ATOM_HAS_NUMPY
369 
370 IMP_ATOM_HAS_PYTHON_IHM = _IMP_atom.IMP_ATOM_HAS_PYTHON_IHM
371 
372 IMPATOM_SHOW_WARNINGS = _IMP_atom.IMPATOM_SHOW_WARNINGS
373 
374 IMP_ATOM_TYPE_INDEX = _IMP_atom.IMP_ATOM_TYPE_INDEX
375 
376 IMP_RESIDUE_TYPE_INDEX = _IMP_atom.IMP_RESIDUE_TYPE_INDEX
377 
378 IMP_HIERARCHY_TYPE_INDEX = _IMP_atom.IMP_HIERARCHY_TYPE_INDEX
379 
380 IMP_CHAIN_TYPE_INDEX = _IMP_atom.IMP_CHAIN_TYPE_INDEX
381 
383  r"""Proxy of C++ IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex > class."""
384 
385  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
386  __repr__ = _swig_repr
387 
388  def __init__(self):
389  r"""__init__(HierarchyTree self) -> HierarchyTree"""
390  _IMP_atom.HierarchyTree_swiginit(self, _IMP_atom.new_HierarchyTree())
391 
392  def get_graph(self):
393  r"""get_graph(HierarchyTree self) -> IMP::atom::HierarchyTree const &"""
394  return _IMP_atom.HierarchyTree_get_graph(self)
395 
396  def get_vertices(self):
397  r"""get_vertices(HierarchyTree self) -> IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptors"""
398  return _IMP_atom.HierarchyTree_get_vertices(self)
399 
400  def get_vertex_name(self, i):
401  r"""get_vertex_name(HierarchyTree self, IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptor i) -> Hierarchy"""
402  return _IMP_atom.HierarchyTree_get_vertex_name(self, i)
403 
404  def get_in_neighbors(self, v):
405  r"""get_in_neighbors(HierarchyTree self, IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptor v) -> IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptors"""
406  return _IMP_atom.HierarchyTree_get_in_neighbors(self, v)
407 
408  def get_out_neighbors(self, v):
409  r"""get_out_neighbors(HierarchyTree self, IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptor v) -> IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptors"""
410  return _IMP_atom.HierarchyTree_get_out_neighbors(self, v)
411 
412  def show_graphviz(self, *args):
413  r"""show_graphviz(HierarchyTree self, _ostream out=std::cout)"""
414  return _IMP_atom.HierarchyTree_show_graphviz(self, *args)
415 
416  def get_graphviz_string(self):
417  r"""get_graphviz_string(HierarchyTree self) -> std::string"""
418  return _IMP_atom.HierarchyTree_get_graphviz_string(self)
419 
420  def add_edge(self, v0, v1):
421  r"""add_edge(HierarchyTree self, IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptor v0, IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptor v1)"""
422  return _IMP_atom.HierarchyTree_add_edge(self, v0, v1)
423 
424  def add_vertex(self, l):
425  r"""add_vertex(HierarchyTree self, Hierarchy l) -> IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptor"""
426  return _IMP_atom.HierarchyTree_add_vertex(self, l)
427 
428  def remove_vertex(self, l):
429  r"""remove_vertex(HierarchyTree self, IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptor l)"""
430  return _IMP_atom.HierarchyTree_remove_vertex(self, l)
431  __swig_destroy__ = _IMP_atom.delete_HierarchyTree
432 
433 # Register HierarchyTree in _IMP_atom:
434 _IMP_atom.HierarchyTree_swigregister(HierarchyTree)
435 
436 _value_types.append("HierarchyTree")
437 
438 
439 PDBRecords=list
440 _plural_types.append("PDBRecords")
441 _value_types.append("PDBRecord")
442 
443 
444 _object_types.append("LennardJonesType")
445 
446 
447 def _object_cast_to_LennardJonesType(o):
448  r"""_object_cast_to_LennardJonesType(Object o) -> LennardJonesType"""
449  return _IMP_atom._object_cast_to_LennardJonesType(o)
450 
451 _object_types.append("PDBSelector")
452 
453 
454 def _object_cast_to_PDBSelector(o):
455  r"""_object_cast_to_PDBSelector(Object o) -> PDBSelector"""
456  return _IMP_atom._object_cast_to_PDBSelector(o)
457 
458 def Angles(l=[]):
459  return [Angle(x) for x in l]
460 _plural_types.append("Angles")
461 
462 
463 _value_types.append("Angle")
464 
465 
466 def Atoms(l=[]):
467  return [Atom(x) for x in l]
468 _plural_types.append("Atoms")
469 
470 
471 _value_types.append("Atom")
472 
473 
474 def Bonds(l=[]):
475  return [Bond(x) for x in l]
476 _plural_types.append("Bonds")
477 
478 
479 _value_types.append("Bond")
480 
481 
482 def Bondeds(l=[]):
483  return [Bonded(x) for x in l]
484 _plural_types.append("Bondeds")
485 
486 
487 _value_types.append("Bonded")
488 
489 
490 def CHARMMAtomList(l=[]):
491  return [CHARMMAtom(x) for x in l]
492 _plural_types.append("CHARMMAtomList")
493 
494 
495 _value_types.append("CHARMMAtom")
496 
497 
498 def Chains(l=[]):
499  return [Chain(x) for x in l]
500 _plural_types.append("Chains")
501 
502 
503 _value_types.append("Chain")
504 
505 
506 def CenterOfMasses(l=[]):
507  return [CenterOfMass(x) for x in l]
508 _plural_types.append("CenterOfMasses")
509 
510 
511 _value_types.append("CenterOfMass")
512 
513 
514 def Chargeds(l=[]):
515  return [Charged(x) for x in l]
516 _plural_types.append("Chargeds")
517 
518 
519 _value_types.append("Charged")
520 
521 
522 def Diffusions(l=[]):
523  return [Diffusion(x) for x in l]
524 _plural_types.append("Diffusions")
525 
526 
527 _value_types.append("Diffusion")
528 
529 
530 def RigidBodyDiffusions(l=[]):
531  return [RigidBodyDiffusion(x) for x in l]
532 _plural_types.append("RigidBodyDiffusions")
533 
534 
535 _value_types.append("RigidBodyDiffusion")
536 
537 
538 def TAMDParticles(l=[]):
539  return [TAMDParticle(x) for x in l]
540 _plural_types.append("TAMDParticles")
541 
542 
543 _value_types.append("TAMDParticle")
544 
545 
546 def TAMDCentroids(l=[]):
547  return [TAMDCentroid(x) for x in l]
548 _plural_types.append("TAMDCentroids")
549 
550 
551 _value_types.append("TAMDCentroid")
552 
553 
554 def Dihedrals(l=[]):
555  return [Dihedral(x) for x in l]
556 _plural_types.append("Dihedrals")
557 
558 
559 _value_types.append("Dihedral")
560 
561 
562 def Domains(l=[]):
563  return [Domain(x) for x in l]
564 _plural_types.append("Domains")
565 
566 
567 _value_types.append("Domain")
568 
569 
570 def Fragments(l=[]):
571  return [Fragment(x) for x in l]
572 _plural_types.append("Fragments")
573 
574 
575 _value_types.append("Fragment")
576 
577 
578 def Hierarchies(l=[]):
579  return [Hierarchy(x) for x in l]
580 _plural_types.append("Hierarchies")
581 
582 
583 _value_types.append("Hierarchy")
584 
585 
586 def LennardJonesTypeds(l=[]):
587  return [LennardJonesTyped(x) for x in l]
588 _plural_types.append("LennardJonesTypeds")
589 
590 
591 _value_types.append("LennardJonesTyped")
592 
593 
594 def Masses(l=[]):
595  return [Mass(x) for x in l]
596 _plural_types.append("Masses")
597 
598 
599 _value_types.append("Mass")
600 
601 
602 def LinearVelocities(l=[]):
603  return [LinearVelocity(x) for x in l]
604 _plural_types.append("LinearVelocities")
605 
606 
607 _value_types.append("LinearVelocity")
608 
609 
610 def AngularVelocities(l=[]):
611  return [AngularVelocity(x) for x in l]
612 _plural_types.append("AngularVelocities")
613 
614 
615 _value_types.append("AngularVelocity")
616 
617 
618 def Molecules(l=[]):
619  return [Molecule(x) for x in l]
620 _plural_types.append("Molecules")
621 
622 
623 _value_types.append("Molecule")
624 
625 
626 def Residues(l=[]):
627  return [Residue(x) for x in l]
628 _plural_types.append("Residues")
629 
630 
631 _value_types.append("Residue")
632 
633 
634 def Representations(l=[]):
635  return [Representation(x) for x in l]
636 _plural_types.append("Representations")
637 
638 
639 _value_types.append("Representation")
640 
641 
642 def States(l=[]):
643  return [State(x) for x in l]
644 _plural_types.append("States")
645 
646 
647 _value_types.append("State")
648 
649 
650 def Copies(l=[]):
651  return [Copy(x) for x in l]
652 _plural_types.append("Copies")
653 
654 
655 _value_types.append("Copy")
656 
657 
658 def SecondaryStructureResidues(l=[]):
659  return [SecondaryStructureResidue(x) for x in l]
660 _plural_types.append("SecondaryStructureResidues")
661 
662 
663 _value_types.append("SecondaryStructureResidue")
664 
665 
666 def StructureSources(l=[]):
667  return [StructureSource(x) for x in l]
668 _plural_types.append("StructureSources")
669 
670 
671 _value_types.append("StructureSource")
672 
673 
674 _object_types.append("Simulator")
675 
676 
677 def _object_cast_to_Simulator(o):
678  r"""_object_cast_to_Simulator(Object o) -> Simulator"""
679  return _IMP_atom._object_cast_to_Simulator(o)
680 
681 _object_types.append("ATOMPDBSelector")
682 
683 
684 def _object_cast_to_ATOMPDBSelector(o):
685  r"""_object_cast_to_ATOMPDBSelector(Object o) -> ATOMPDBSelector"""
686  return _IMP_atom._object_cast_to_ATOMPDBSelector(o)
687 
688 _object_types.append("AllMol2Selector")
689 
690 
691 def _object_cast_to_AllMol2Selector(o):
692  r"""_object_cast_to_AllMol2Selector(Object o) -> AllMol2Selector"""
693  return _IMP_atom._object_cast_to_AllMol2Selector(o)
694 
695 _object_types.append("AllPDBSelector")
696 
697 
698 def _object_cast_to_AllPDBSelector(o):
699  r"""_object_cast_to_AllPDBSelector(Object o) -> AllPDBSelector"""
700  return _IMP_atom._object_cast_to_AllPDBSelector(o)
701 
702 _object_types.append("AndPDBSelector")
703 
704 
705 def _object_cast_to_AndPDBSelector(o):
706  r"""_object_cast_to_AndPDBSelector(Object o) -> AndPDBSelector"""
707  return _IMP_atom._object_cast_to_AndPDBSelector(o)
708 
709 _object_types.append("XorPDBSelector")
710 
711 
712 def _object_cast_to_XorPDBSelector(o):
713  r"""_object_cast_to_XorPDBSelector(Object o) -> XorPDBSelector"""
714  return _IMP_atom._object_cast_to_XorPDBSelector(o)
715 
716 _object_types.append("ResidueTypePDBSelector")
717 
718 
719 def _object_cast_to_ResidueTypePDBSelector(o):
720  r"""_object_cast_to_ResidueTypePDBSelector(Object o) -> ResidueTypePDBSelector"""
721  return _IMP_atom._object_cast_to_ResidueTypePDBSelector(o)
722 
723 _object_types.append("AtomTypePDBSelector")
724 
725 
726 def _object_cast_to_AtomTypePDBSelector(o):
727  r"""_object_cast_to_AtomTypePDBSelector(Object o) -> AtomTypePDBSelector"""
728  return _IMP_atom._object_cast_to_AtomTypePDBSelector(o)
729 
730 _object_types.append("AngleSingletonScore")
731 
732 
733 def _object_cast_to_AngleSingletonScore(o):
734  r"""_object_cast_to_AngleSingletonScore(Object o) -> AngleSingletonScore"""
735  return _IMP_atom._object_cast_to_AngleSingletonScore(o)
736 
737 _object_types.append("BondEndpointsRefiner")
738 
739 
740 def _object_cast_to_BondEndpointsRefiner(o):
741  r"""_object_cast_to_BondEndpointsRefiner(Object o) -> BondEndpointsRefiner"""
742  return _IMP_atom._object_cast_to_BondEndpointsRefiner(o)
743 
744 _object_types.append("BondPairContainer")
745 
746 
747 def _object_cast_to_BondPairContainer(o):
748  r"""_object_cast_to_BondPairContainer(Object o) -> BondPairContainer"""
749  return _IMP_atom._object_cast_to_BondPairContainer(o)
750 
751 _object_types.append("BondSingletonScore")
752 
753 
754 def _object_cast_to_BondSingletonScore(o):
755  r"""_object_cast_to_BondSingletonScore(Object o) -> BondSingletonScore"""
756  return _IMP_atom._object_cast_to_BondSingletonScore(o)
757 
758 _object_types.append("BondedPairFilter")
759 
760 
761 def _object_cast_to_BondedPairFilter(o):
762  r"""_object_cast_to_BondedPairFilter(Object o) -> BondedPairFilter"""
763  return _IMP_atom._object_cast_to_BondedPairFilter(o)
764 
765 _object_types.append("BrownianDynamics")
766 
767 
768 def _object_cast_to_BrownianDynamics(o):
769  r"""_object_cast_to_BrownianDynamics(Object o) -> BrownianDynamics"""
770  return _IMP_atom._object_cast_to_BrownianDynamics(o)
771 
772 _object_types.append("BrownianDynamicsTAMD")
773 
774 
775 def _object_cast_to_BrownianDynamicsTAMD(o):
776  r"""_object_cast_to_BrownianDynamicsTAMD(Object o) -> BrownianDynamicsTAMD"""
777  return _IMP_atom._object_cast_to_BrownianDynamicsTAMD(o)
778 
779 _object_types.append("CAlphaPDBSelector")
780 
781 
782 def _object_cast_to_CAlphaPDBSelector(o):
783  r"""_object_cast_to_CAlphaPDBSelector(Object o) -> CAlphaPDBSelector"""
784  return _IMP_atom._object_cast_to_CAlphaPDBSelector(o)
785 
786 _object_types.append("CBetaPDBSelector")
787 
788 
789 def _object_cast_to_CBetaPDBSelector(o):
790  r"""_object_cast_to_CBetaPDBSelector(Object o) -> CBetaPDBSelector"""
791  return _IMP_atom._object_cast_to_CBetaPDBSelector(o)
792 
793 _object_types.append("BackbonePDBSelector")
794 
795 
796 def _object_cast_to_BackbonePDBSelector(o):
797  r"""_object_cast_to_BackbonePDBSelector(Object o) -> BackbonePDBSelector"""
798  return _IMP_atom._object_cast_to_BackbonePDBSelector(o)
799 
800 _object_types.append("CHARMMParameters")
801 
802 
803 def _object_cast_to_CHARMMParameters(o):
804  r"""_object_cast_to_CHARMMParameters(Object o) -> CHARMMParameters"""
805  return _IMP_atom._object_cast_to_CHARMMParameters(o)
806 
807 _object_types.append("CHARMMResidueTopology")
808 
809 
810 def _object_cast_to_CHARMMResidueTopology(o):
811  r"""_object_cast_to_CHARMMResidueTopology(Object o) -> CHARMMResidueTopology"""
812  return _IMP_atom._object_cast_to_CHARMMResidueTopology(o)
813 
814 _object_types.append("CHARMMSegmentTopology")
815 
816 
817 def _object_cast_to_CHARMMSegmentTopology(o):
818  r"""_object_cast_to_CHARMMSegmentTopology(Object o) -> CHARMMSegmentTopology"""
819  return _IMP_atom._object_cast_to_CHARMMSegmentTopology(o)
820 
821 _object_types.append("CHARMMStereochemistryRestraint")
822 
823 
824 def _object_cast_to_CHARMMStereochemistryRestraint(o):
825  r"""_object_cast_to_CHARMMStereochemistryRestraint(Object o) -> CHARMMStereochemistryRestraint"""
826  return _IMP_atom._object_cast_to_CHARMMStereochemistryRestraint(o)
827 
828 _object_types.append("CHARMMTopology")
829 
830 
831 def _object_cast_to_CHARMMTopology(o):
832  r"""_object_cast_to_CHARMMTopology(Object o) -> CHARMMTopology"""
833  return _IMP_atom._object_cast_to_CHARMMTopology(o)
834 
835 _object_types.append("CPDBSelector")
836 
837 
838 def _object_cast_to_CPDBSelector(o):
839  r"""_object_cast_to_CPDBSelector(Object o) -> CPDBSelector"""
840  return _IMP_atom._object_cast_to_CPDBSelector(o)
841 
842 _object_types.append("ChainPDBSelector")
843 
844 
845 def _object_cast_to_ChainPDBSelector(o):
846  r"""_object_cast_to_ChainPDBSelector(Object o) -> ChainPDBSelector"""
847  return _IMP_atom._object_cast_to_ChainPDBSelector(o)
848 
849 _object_types.append("CoulombPairScore")
850 
851 
852 def _object_cast_to_CoulombPairScore(o):
853  r"""_object_cast_to_CoulombPairScore(Object o) -> CoulombPairScore"""
854  return _IMP_atom._object_cast_to_CoulombPairScore(o)
855 
856 _object_types.append("CoverBond")
857 
858 
859 def _object_cast_to_CoverBond(o):
860  r"""_object_cast_to_CoverBond(Object o) -> CoverBond"""
861  return _IMP_atom._object_cast_to_CoverBond(o)
862 
863 _object_types.append("DihedralSingletonScore")
864 
865 
866 def _object_cast_to_DihedralSingletonScore(o):
867  r"""_object_cast_to_DihedralSingletonScore(Object o) -> DihedralSingletonScore"""
868  return _IMP_atom._object_cast_to_DihedralSingletonScore(o)
869 
870 _object_types.append("DopePairScore")
871 
872 
873 def _object_cast_to_DopePairScore(o):
874  r"""_object_cast_to_DopePairScore(Object o) -> DopePairScore"""
875  return _IMP_atom._object_cast_to_DopePairScore(o)
876 
877 _object_types.append("LoopStatisticalPairScore")
878 
879 
880 def _object_cast_to_LoopStatisticalPairScore(o):
881  r"""_object_cast_to_LoopStatisticalPairScore(Object o) -> LoopStatisticalPairScore"""
882  return _IMP_atom._object_cast_to_LoopStatisticalPairScore(o)
883 
884 _object_types.append("OrientedSoapPairScore")
885 
886 
887 def _object_cast_to_OrientedSoapPairScore(o):
888  r"""_object_cast_to_OrientedSoapPairScore(Object o) -> OrientedSoapPairScore"""
889  return _IMP_atom._object_cast_to_OrientedSoapPairScore(o)
890 
891 _object_types.append("EzRestraint")
892 
893 
894 def _object_cast_to_EzRestraint(o):
895  r"""_object_cast_to_EzRestraint(Object o) -> EzRestraint"""
896  return _IMP_atom._object_cast_to_EzRestraint(o)
897 
898 _object_types.append("ForceFieldParameters")
899 
900 
901 def _object_cast_to_ForceFieldParameters(o):
902  r"""_object_cast_to_ForceFieldParameters(Object o) -> ForceFieldParameters"""
903  return _IMP_atom._object_cast_to_ForceFieldParameters(o)
904 
905 _object_types.append("ForceSwitch")
906 
907 
908 def _object_cast_to_ForceSwitch(o):
909  r"""_object_cast_to_ForceSwitch(Object o) -> ForceSwitch"""
910  return _IMP_atom._object_cast_to_ForceSwitch(o)
911 
912 _object_types.append("HydrogenPDBSelector")
913 
914 
915 def _object_cast_to_HydrogenPDBSelector(o):
916  r"""_object_cast_to_HydrogenPDBSelector(Object o) -> HydrogenPDBSelector"""
917  return _IMP_atom._object_cast_to_HydrogenPDBSelector(o)
918 
919 _object_types.append("ImproperSingletonScore")
920 
921 
922 def _object_cast_to_ImproperSingletonScore(o):
923  r"""_object_cast_to_ImproperSingletonScore(Object o) -> ImproperSingletonScore"""
924  return _IMP_atom._object_cast_to_ImproperSingletonScore(o)
925 
926 _object_types.append("_LennardJonesTypedPairScore")
927 
928 
929 def _object_cast_to__LennardJonesTypedPairScore(o):
930  r"""_object_cast_to__LennardJonesTypedPairScore(Object o) -> _LennardJonesTypedPairScore"""
931  return _IMP_atom._object_cast_to__LennardJonesTypedPairScore(o)
932 
933 _object_types.append("_SwitchedLennardJonesTypedPairScore")
934 
935 
936 def _object_cast_to__SwitchedLennardJonesTypedPairScore(o):
937  r"""_object_cast_to__SwitchedLennardJonesTypedPairScore(Object o) -> _SwitchedLennardJonesTypedPairScore"""
938  return _IMP_atom._object_cast_to__SwitchedLennardJonesTypedPairScore(o)
939 
940 _object_types.append("Mol2Selector")
941 
942 
943 def _object_cast_to_Mol2Selector(o):
944  r"""_object_cast_to_Mol2Selector(Object o) -> Mol2Selector"""
945  return _IMP_atom._object_cast_to_Mol2Selector(o)
946 
947 _object_types.append("MolecularDynamics")
948 
949 
950 def _object_cast_to_MolecularDynamics(o):
951  r"""_object_cast_to_MolecularDynamics(Object o) -> MolecularDynamics"""
952  return _IMP_atom._object_cast_to_MolecularDynamics(o)
953 
954 _object_types.append("NPDBSelector")
955 
956 
957 def _object_cast_to_NPDBSelector(o):
958  r"""_object_cast_to_NPDBSelector(Object o) -> NPDBSelector"""
959  return _IMP_atom._object_cast_to_NPDBSelector(o)
960 
961 _object_types.append("NonAlternativePDBSelector")
962 
963 
964 def _object_cast_to_NonAlternativePDBSelector(o):
965  r"""_object_cast_to_NonAlternativePDBSelector(Object o) -> NonAlternativePDBSelector"""
966  return _IMP_atom._object_cast_to_NonAlternativePDBSelector(o)
967 
968 _object_types.append("NonHydrogenMol2Selector")
969 
970 
971 def _object_cast_to_NonHydrogenMol2Selector(o):
972  r"""_object_cast_to_NonHydrogenMol2Selector(Object o) -> NonHydrogenMol2Selector"""
973  return _IMP_atom._object_cast_to_NonHydrogenMol2Selector(o)
974 
975 _object_types.append("NonHydrogenPDBSelector")
976 
977 
978 def _object_cast_to_NonHydrogenPDBSelector(o):
979  r"""_object_cast_to_NonHydrogenPDBSelector(Object o) -> NonHydrogenPDBSelector"""
980  return _IMP_atom._object_cast_to_NonHydrogenPDBSelector(o)
981 
982 _object_types.append("NonWaterNonHydrogenPDBSelector")
983 
984 
985 def _object_cast_to_NonWaterNonHydrogenPDBSelector(o):
986  r"""_object_cast_to_NonWaterNonHydrogenPDBSelector(Object o) -> NonWaterNonHydrogenPDBSelector"""
987  return _IMP_atom._object_cast_to_NonWaterNonHydrogenPDBSelector(o)
988 
989 _object_types.append("NonWaterPDBSelector")
990 
991 
992 def _object_cast_to_NonWaterPDBSelector(o):
993  r"""_object_cast_to_NonWaterPDBSelector(Object o) -> NonWaterPDBSelector"""
994  return _IMP_atom._object_cast_to_NonWaterPDBSelector(o)
995 
996 _object_types.append("NotPDBSelector")
997 
998 
999 def _object_cast_to_NotPDBSelector(o):
1000  r"""_object_cast_to_NotPDBSelector(Object o) -> NotPDBSelector"""
1001  return _IMP_atom._object_cast_to_NotPDBSelector(o)
1002 
1003 _object_types.append("OrPDBSelector")
1004 
1005 
1006 def _object_cast_to_OrPDBSelector(o):
1007  r"""_object_cast_to_OrPDBSelector(Object o) -> OrPDBSelector"""
1008  return _IMP_atom._object_cast_to_OrPDBSelector(o)
1009 
1010 _object_types.append("PPDBSelector")
1011 
1012 
1013 def _object_cast_to_PPDBSelector(o):
1014  r"""_object_cast_to_PPDBSelector(Object o) -> PPDBSelector"""
1015  return _IMP_atom._object_cast_to_PPDBSelector(o)
1016 
1017 _object_types.append("ProteinLigandAtomPairScore")
1018 
1019 
1020 def _object_cast_to_ProteinLigandAtomPairScore(o):
1021  r"""_object_cast_to_ProteinLigandAtomPairScore(Object o) -> ProteinLigandAtomPairScore"""
1022  return _IMP_atom._object_cast_to_ProteinLigandAtomPairScore(o)
1023 
1024 _object_types.append("ProteinLigandRestraint")
1025 
1026 
1027 def _object_cast_to_ProteinLigandRestraint(o):
1028  r"""_object_cast_to_ProteinLigandRestraint(Object o) -> ProteinLigandRestraint"""
1029  return _IMP_atom._object_cast_to_ProteinLigandRestraint(o)
1030 
1031 _object_types.append("SameResiduePairFilter")
1032 
1033 
1034 def _object_cast_to_SameResiduePairFilter(o):
1035  r"""_object_cast_to_SameResiduePairFilter(Object o) -> SameResiduePairFilter"""
1036  return _IMP_atom._object_cast_to_SameResiduePairFilter(o)
1037 
1038 _object_types.append("SoapPairFilter")
1039 
1040 
1041 def _object_cast_to_SoapPairFilter(o):
1042  r"""_object_cast_to_SoapPairFilter(Object o) -> SoapPairFilter"""
1043  return _IMP_atom._object_cast_to_SoapPairFilter(o)
1044 
1045 _object_types.append("SmoothingFunction")
1046 
1047 
1048 def _object_cast_to_SmoothingFunction(o):
1049  r"""_object_cast_to_SmoothingFunction(Object o) -> SmoothingFunction"""
1050  return _IMP_atom._object_cast_to_SmoothingFunction(o)
1051 
1052 _object_types.append("StereochemistryPairFilter")
1053 
1054 
1055 def _object_cast_to_StereochemistryPairFilter(o):
1056  r"""_object_cast_to_StereochemistryPairFilter(Object o) -> StereochemistryPairFilter"""
1057  return _IMP_atom._object_cast_to_StereochemistryPairFilter(o)
1058 
1059 _object_types.append("VelocityScalingOptimizerState")
1060 
1061 
1062 def _object_cast_to_VelocityScalingOptimizerState(o):
1063  r"""_object_cast_to_VelocityScalingOptimizerState(Object o) -> VelocityScalingOptimizerState"""
1064  return _IMP_atom._object_cast_to_VelocityScalingOptimizerState(o)
1065 
1066 _object_types.append("WaterPDBSelector")
1067 
1068 
1069 def _object_cast_to_WaterPDBSelector(o):
1070  r"""_object_cast_to_WaterPDBSelector(Object o) -> WaterPDBSelector"""
1071  return _IMP_atom._object_cast_to_WaterPDBSelector(o)
1072 
1073 _object_types.append("WritePDBOptimizerState")
1074 
1075 
1076 def _object_cast_to_WritePDBOptimizerState(o):
1077  r"""_object_cast_to_WritePDBOptimizerState(Object o) -> WritePDBOptimizerState"""
1078  return _IMP_atom._object_cast_to_WritePDBOptimizerState(o)
1079 
1080 AtomTypes=list
1081 _plural_types.append("AtomTypes")
1082 _value_types.append("AtomType")
1083 
1084 
1085 CHARMMAtomTopologies=list
1086 _plural_types.append("CHARMMAtomTopologies")
1087 _value_types.append("CHARMMAtomTopology")
1088 
1089 
1090 CHARMMBondEndpoints=list
1091 _plural_types.append("CHARMMBondEndpoints")
1092 _value_types.append("CHARMMBondEndpoint")
1093 
1094 
1095 CHARMMBondParametersList=list
1096 _plural_types.append("CHARMMBondParametersList")
1097 _value_types.append("CHARMMBondParameters")
1098 
1099 
1100 CHARMMDihedralParametersList=list
1101 _plural_types.append("CHARMMDihedralParametersList")
1102 _value_types.append("CHARMMDihedralParameters")
1103 
1104 
1105 _object_types.append("CHARMMIdealResidueTopology")
1106 
1107 
1108 def _object_cast_to_CHARMMIdealResidueTopology(o):
1109  r"""_object_cast_to_CHARMMIdealResidueTopology(Object o) -> CHARMMIdealResidueTopology"""
1110  return _IMP_atom._object_cast_to_CHARMMIdealResidueTopology(o)
1111 
1112 CHARMMInternalCoordinates=list
1113 _plural_types.append("CHARMMInternalCoordinates")
1114 _value_types.append("CHARMMInternalCoordinate")
1115 
1116 
1117 _object_types.append("CHARMMPatch")
1118 
1119 
1120 def _object_cast_to_CHARMMPatch(o):
1121  r"""_object_cast_to_CHARMMPatch(Object o) -> CHARMMPatch"""
1122  return _IMP_atom._object_cast_to_CHARMMPatch(o)
1123 
1124 _object_types.append("CHARMMResidueTopologyBase")
1125 
1126 
1127 def _object_cast_to_CHARMMResidueTopologyBase(o):
1128  r"""_object_cast_to_CHARMMResidueTopologyBase(Object o) -> CHARMMResidueTopologyBase"""
1129  return _IMP_atom._object_cast_to_CHARMMResidueTopologyBase(o)
1130 
1131 ResidueTypes=list
1132 _plural_types.append("ResidueTypes")
1133 _value_types.append("ResidueType")
1134 
1135 
1136 ChainTypes=list
1137 _plural_types.append("ChainTypes")
1138 _value_types.append("ChainType")
1139 
1140 
1141 Selections=list
1142 _plural_types.append("Selections")
1143 _value_types.append("Selection")
1144 
1145 
1146 _object_types.append("RemoveRigidMotionOptimizerState")
1147 
1148 
1149 def _object_cast_to_RemoveRigidMotionOptimizerState(o):
1150  r"""_object_cast_to_RemoveRigidMotionOptimizerState(Object o) -> RemoveRigidMotionOptimizerState"""
1151  return _IMP_atom._object_cast_to_RemoveRigidMotionOptimizerState(o)
1152 
1153 _object_types.append("BerendsenThermostatOptimizerState")
1154 
1155 
1156 def _object_cast_to_BerendsenThermostatOptimizerState(o):
1157  r"""_object_cast_to_BerendsenThermostatOptimizerState(Object o) -> BerendsenThermostatOptimizerState"""
1158  return _IMP_atom._object_cast_to_BerendsenThermostatOptimizerState(o)
1159 
1160 _object_types.append("LangevinThermostatOptimizerState")
1161 
1162 
1163 def _object_cast_to_LangevinThermostatOptimizerState(o):
1164  r"""_object_cast_to_LangevinThermostatOptimizerState(Object o) -> LangevinThermostatOptimizerState"""
1165  return _IMP_atom._object_cast_to_LangevinThermostatOptimizerState(o)
1166 
1167 _object_types.append("SelectionGeometry")
1168 
1169 
1170 def _object_cast_to_SelectionGeometry(o):
1171  r"""_object_cast_to_SelectionGeometry(Object o) -> SelectionGeometry"""
1172  return _IMP_atom._object_cast_to_SelectionGeometry(o)
1173 
1174 _object_types.append("HierarchyGeometry")
1175 
1176 
1177 def _object_cast_to_HierarchyGeometry(o):
1178  r"""_object_cast_to_HierarchyGeometry(Object o) -> HierarchyGeometry"""
1179  return _IMP_atom._object_cast_to_HierarchyGeometry(o)
1180 
1181 _object_types.append("HierarchiesGeometry")
1182 
1183 
1184 def _object_cast_to_HierarchiesGeometry(o):
1185  r"""_object_cast_to_HierarchiesGeometry(Object o) -> HierarchiesGeometry"""
1186  return _IMP_atom._object_cast_to_HierarchiesGeometry(o)
1187 
1188 _object_types.append("BondGeometry")
1189 
1190 
1191 def _object_cast_to_BondGeometry(o):
1192  r"""_object_cast_to_BondGeometry(Object o) -> BondGeometry"""
1193  return _IMP_atom._object_cast_to_BondGeometry(o)
1194 
1195 _object_types.append("BondsGeometry")
1196 
1197 
1198 def _object_cast_to_BondsGeometry(o):
1199  r"""_object_cast_to_BondsGeometry(Object o) -> BondsGeometry"""
1200  return _IMP_atom._object_cast_to_BondsGeometry(o)
1201 
1202 _object_types.append("CAAngleRestraint")
1203 
1204 
1205 def _object_cast_to_CAAngleRestraint(o):
1206  r"""_object_cast_to_CAAngleRestraint(Object o) -> CAAngleRestraint"""
1207  return _IMP_atom._object_cast_to_CAAngleRestraint(o)
1208 
1209 _object_types.append("CADihedralRestraint")
1210 
1211 
1212 def _object_cast_to_CADihedralRestraint(o):
1213  r"""_object_cast_to_CADihedralRestraint(Object o) -> CADihedralRestraint"""
1214  return _IMP_atom._object_cast_to_CADihedralRestraint(o)
1215 
1216 _object_types.append("HelixRestraint")
1217 
1218 
1219 def _object_cast_to_HelixRestraint(o):
1220  r"""_object_cast_to_HelixRestraint(Object o) -> HelixRestraint"""
1221  return _IMP_atom._object_cast_to_HelixRestraint(o)
1222 
1223 CHARMMDihedrals=list
1224 _plural_types.append("CHARMMDihedrals")
1225 _value_types.append("CHARMMDihedral")
1226 
1227 
1228 CHARMMBonds=list
1229 _plural_types.append("CHARMMBonds")
1230 _value_types.append("CHARMMBond")
1231 
1232 
1233 CHARMMAngles=list
1234 _plural_types.append("CHARMMAngles")
1235 _value_types.append("CHARMMAngle")
1236 
1237 class Bond(IMP.Decorator):
1238  r"""Proxy of C++ IMP::atom::Bond class."""
1239 
1240  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1241 
1242  def __init__(self, *args):
1243  r"""
1244  __init__(Bond self) -> Bond
1245  __init__(Bond self, Model m, ParticleIndex id) -> Bond
1246  __init__(Bond self, _ParticleAdaptor d) -> Bond
1247  """
1248  _IMP_atom.Bond_swiginit(self, _IMP_atom.new_Bond(*args))
1249 
1250  def show(self, *args):
1251  r"""show(Bond self, _ostream out=std::cout)"""
1252  return _IMP_atom.Bond_show(self, *args)
1253 
1254  @staticmethod
1255  def get_is_setup(*args):
1256  r"""
1257  get_is_setup(_ParticleAdaptor p) -> bool
1258  get_is_setup(Model m, ParticleIndex pi) -> bool
1259  """
1260  return _IMP_atom.Bond_get_is_setup(*args)
1261  UNKNOWN = _IMP_atom.Bond_UNKNOWN
1262 
1263  NONBIOLOGICAL = _IMP_atom.Bond_NONBIOLOGICAL
1264 
1265  SINGLE = _IMP_atom.Bond_SINGLE
1266 
1267  DOUBLE = _IMP_atom.Bond_DOUBLE
1268 
1269  TRIPLE = _IMP_atom.Bond_TRIPLE
1270 
1271  HYDROGEN = _IMP_atom.Bond_HYDROGEN
1272 
1273  SALT = _IMP_atom.Bond_SALT
1274 
1275  PEPTIDE = _IMP_atom.Bond_PEPTIDE
1276 
1277  AMIDE = _IMP_atom.Bond_AMIDE
1278 
1279  AROMATIC = _IMP_atom.Bond_AROMATIC
1280 
1281 
1282  def get_bonded(self, i):
1283  r"""get_bonded(Bond self, unsigned int i) -> Bonded"""
1284  return _IMP_atom.Bond_get_bonded(self, i)
1285 
1286  def get_type(self):
1287  r"""get_type(Bond self) -> IMP::Int"""
1288  return _IMP_atom.Bond_get_type(self)
1289 
1290  def set_type(self, t):
1291  r"""set_type(Bond self, IMP::Int t)"""
1292  return _IMP_atom.Bond_set_type(self, t)
1293 
1294  def get_order(self):
1295  r"""get_order(Bond self) -> IMP::Int"""
1296  return _IMP_atom.Bond_get_order(self)
1297 
1298  def set_order(self, t):
1299  r"""set_order(Bond self, IMP::Int t)"""
1300  return _IMP_atom.Bond_set_order(self, t)
1301 
1302  def get_length(self):
1303  r"""get_length(Bond self) -> IMP::Float"""
1304  return _IMP_atom.Bond_get_length(self)
1305 
1306  def set_length(self, t):
1307  r"""set_length(Bond self, IMP::Float t)"""
1308  return _IMP_atom.Bond_set_length(self, t)
1309 
1310  def get_stiffness(self):
1311  r"""get_stiffness(Bond self) -> IMP::Float"""
1312  return _IMP_atom.Bond_get_stiffness(self)
1313 
1314  def set_stiffness(self, t):
1315  r"""set_stiffness(Bond self, IMP::Float t)"""
1316  return _IMP_atom.Bond_set_stiffness(self, t)
1317 
1318  @staticmethod
1319  def get_length_key():
1320  r"""get_length_key() -> FloatKey"""
1321  return _IMP_atom.Bond_get_length_key()
1322 
1323  def add_attribute(self, *args):
1324  r"""
1325  add_attribute(Bond self, FloatKey k, IMP::Float v, bool opt)
1326  add_attribute(Bond self, FloatKey a0, IMP::Float a1)
1327  add_attribute(Bond self, IntKey a0, IMP::Int a1)
1328  add_attribute(Bond self, FloatsKey a0, IMP::Floats a1)
1329  add_attribute(Bond self, IntsKey a0, IMP::Ints a1)
1330  add_attribute(Bond self, StringKey a0, IMP::String a1)
1331  add_attribute(Bond self, ParticleIndexKey a0, Particle a1)
1332  add_attribute(Bond self, ObjectKey a0, Object a1)
1333  add_attribute(Bond self, SparseFloatKey a0, IMP::Float a1)
1334  add_attribute(Bond self, SparseIntKey a0, IMP::Int a1)
1335  add_attribute(Bond self, SparseStringKey a0, IMP::String a1)
1336  add_attribute(Bond self, SparseParticleIndexKey a0, ParticleIndex a1)
1337  """
1338  return _IMP_atom.Bond_add_attribute(self, *args)
1339 
1340  def get_value(self, *args):
1341  r"""
1342  get_value(Bond self, FloatKey a0) -> IMP::Float
1343  get_value(Bond self, IntKey a0) -> IMP::Int
1344  get_value(Bond self, FloatsKey a0) -> IMP::Floats
1345  get_value(Bond self, IntsKey a0) -> IMP::Ints
1346  get_value(Bond self, StringKey a0) -> IMP::String
1347  get_value(Bond self, ParticleIndexKey a0) -> Particle
1348  get_value(Bond self, ObjectKey a0) -> Object
1349  get_value(Bond self, SparseFloatKey a0) -> IMP::Float
1350  get_value(Bond self, SparseIntKey a0) -> IMP::Int
1351  get_value(Bond self, SparseStringKey a0) -> IMP::String
1352  get_value(Bond self, SparseParticleIndexKey a0) -> ParticleIndex
1353  """
1354  return _IMP_atom.Bond_get_value(self, *args)
1355 
1356  def set_value(self, *args):
1357  r"""
1358  set_value(Bond self, FloatKey a0, IMP::Float a1)
1359  set_value(Bond self, IntKey a0, IMP::Int a1)
1360  set_value(Bond self, FloatsKey a0, IMP::Floats a1)
1361  set_value(Bond self, IntsKey a0, IMP::Ints a1)
1362  set_value(Bond self, StringKey a0, IMP::String a1)
1363  set_value(Bond self, ParticleIndexKey a0, Particle a1)
1364  set_value(Bond self, ObjectKey a0, Object a1)
1365  set_value(Bond self, SparseFloatKey a0, IMP::Float a1)
1366  set_value(Bond self, SparseIntKey a0, IMP::Int a1)
1367  set_value(Bond self, SparseStringKey a0, IMP::String a1)
1368  set_value(Bond self, SparseParticleIndexKey a0, ParticleIndex a1)
1369  """
1370  return _IMP_atom.Bond_set_value(self, *args)
1371 
1372  def remove_attribute(self, *args):
1373  r"""
1374  remove_attribute(Bond self, FloatKey a0)
1375  remove_attribute(Bond self, IntKey a0)
1376  remove_attribute(Bond self, FloatsKey a0)
1377  remove_attribute(Bond self, IntsKey a0)
1378  remove_attribute(Bond self, StringKey a0)
1379  remove_attribute(Bond self, ParticleIndexKey a0)
1380  remove_attribute(Bond self, ObjectKey a0)
1381  remove_attribute(Bond self, SparseFloatKey a0)
1382  remove_attribute(Bond self, SparseIntKey a0)
1383  remove_attribute(Bond self, SparseStringKey a0)
1384  remove_attribute(Bond self, SparseParticleIndexKey a0)
1385  """
1386  return _IMP_atom.Bond_remove_attribute(self, *args)
1387 
1388  def has_attribute(self, *args):
1389  r"""
1390  has_attribute(Bond self, FloatKey a0) -> bool
1391  has_attribute(Bond self, IntKey a0) -> bool
1392  has_attribute(Bond self, FloatsKey a0) -> bool
1393  has_attribute(Bond self, IntsKey a0) -> bool
1394  has_attribute(Bond self, StringKey a0) -> bool
1395  has_attribute(Bond self, ParticleIndexKey a0) -> bool
1396  has_attribute(Bond self, ObjectKey a0) -> bool
1397  has_attribute(Bond self, SparseFloatKey a0) -> bool
1398  has_attribute(Bond self, SparseIntKey a0) -> bool
1399  has_attribute(Bond self, SparseStringKey a0) -> bool
1400  has_attribute(Bond self, SparseParticleIndexKey a0) -> bool
1401  """
1402  return _IMP_atom.Bond_has_attribute(self, *args)
1403 
1404  def get_derivative(self, a0):
1405  r"""get_derivative(Bond self, FloatKey a0) -> double"""
1406  return _IMP_atom.Bond_get_derivative(self, a0)
1407 
1408  def get_name(self):
1409  r"""get_name(Bond self) -> std::string"""
1410  return _IMP_atom.Bond_get_name(self)
1411 
1412  def clear_caches(self):
1413  r"""clear_caches(Bond self)"""
1414  return _IMP_atom.Bond_clear_caches(self)
1415 
1416  def set_name(self, a0):
1417  r"""set_name(Bond self, std::string a0)"""
1418  return _IMP_atom.Bond_set_name(self, a0)
1419 
1420  def set_check_level(self, a0):
1421  r"""set_check_level(Bond self, IMP::CheckLevel a0)"""
1422  return _IMP_atom.Bond_set_check_level(self, a0)
1423 
1424  def add_to_derivative(self, a0, a1, a2):
1425  r"""add_to_derivative(Bond self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
1426  return _IMP_atom.Bond_add_to_derivative(self, a0, a1, a2)
1427 
1428  def set_is_optimized(self, a0, a1):
1429  r"""set_is_optimized(Bond self, FloatKey a0, bool a1)"""
1430  return _IMP_atom.Bond_set_is_optimized(self, a0, a1)
1431 
1432  def get_is_optimized(self, a0):
1433  r"""get_is_optimized(Bond self, FloatKey a0) -> bool"""
1434  return _IMP_atom.Bond_get_is_optimized(self, a0)
1435 
1436  def get_check_level(self):
1437  r"""get_check_level(Bond self) -> IMP::CheckLevel"""
1438  return _IMP_atom.Bond_get_check_level(self)
1439 
1440  def __eq__(self, *args):
1441  r"""
1442  __eq__(Bond self, Bond o) -> bool
1443  __eq__(Bond self, Particle d) -> bool
1444  """
1445  return _IMP_atom.Bond___eq__(self, *args)
1446 
1447  def __ne__(self, *args):
1448  r"""
1449  __ne__(Bond self, Bond o) -> bool
1450  __ne__(Bond self, Particle d) -> bool
1451  """
1452  return _IMP_atom.Bond___ne__(self, *args)
1453 
1454  def __le__(self, *args):
1455  r"""
1456  __le__(Bond self, Bond o) -> bool
1457  __le__(Bond self, Particle d) -> bool
1458  """
1459  return _IMP_atom.Bond___le__(self, *args)
1460 
1461  def __lt__(self, *args):
1462  r"""
1463  __lt__(Bond self, Bond o) -> bool
1464  __lt__(Bond self, Particle d) -> bool
1465  """
1466  return _IMP_atom.Bond___lt__(self, *args)
1467 
1468  def __ge__(self, *args):
1469  r"""
1470  __ge__(Bond self, Bond o) -> bool
1471  __ge__(Bond self, Particle d) -> bool
1472  """
1473  return _IMP_atom.Bond___ge__(self, *args)
1474 
1475  def __gt__(self, *args):
1476  r"""
1477  __gt__(Bond self, Bond o) -> bool
1478  __gt__(Bond self, Particle d) -> bool
1479  """
1480  return _IMP_atom.Bond___gt__(self, *args)
1481 
1482  def __hash__(self):
1483  r"""__hash__(Bond self) -> std::size_t"""
1484  return _IMP_atom.Bond___hash__(self)
1485 
1486  def __str__(self):
1487  r"""__str__(Bond self) -> std::string"""
1488  return _IMP_atom.Bond___str__(self)
1489 
1490  def __repr__(self):
1491  r"""__repr__(Bond self) -> std::string"""
1492  return _IMP_atom.Bond___repr__(self)
1493 
1494  def _get_as_binary(self):
1495  r"""_get_as_binary(Bond self) -> PyObject *"""
1496  return _IMP_atom.Bond__get_as_binary(self)
1497 
1498  def _set_from_binary(self, p):
1499  r"""_set_from_binary(Bond self, PyObject * p)"""
1500  return _IMP_atom.Bond__set_from_binary(self, p)
1501 
1502  def __getstate__(self):
1503  p = self._get_as_binary()
1504  if len(self.__dict__) > 1:
1505  d = self.__dict__.copy()
1506  del d['this']
1507  p = (d, p)
1508  return p
1509 
1510  def __setstate__(self, p):
1511  if not hasattr(self, 'this'):
1512  self.__init__()
1513  if isinstance(p, tuple):
1514  d, p = p
1515  self.__dict__.update(d)
1516  return self._set_from_binary(p)
1517 
1518  __swig_destroy__ = _IMP_atom.delete_Bond
1519 
1520 # Register Bond in _IMP_atom:
1521 _IMP_atom.Bond_swigregister(Bond)
1522 class Bonded(IMP.Decorator):
1523  r"""Proxy of C++ IMP::atom::Bonded class."""
1524 
1525  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1526 
1527  def __init__(self, *args):
1528  r"""
1529  __init__(Bonded self) -> Bonded
1530  __init__(Bonded self, Model m, ParticleIndex id) -> Bonded
1531  __init__(Bonded self, _ParticleAdaptor d) -> Bonded
1532  """
1533  _IMP_atom.Bonded_swiginit(self, _IMP_atom.new_Bonded(*args))
1534 
1535  def show(self, *args):
1536  r"""show(Bonded self, _ostream out=std::cout)"""
1537  return _IMP_atom.Bonded_show(self, *args)
1538 
1539  @staticmethod
1540  def setup_particle(*args):
1541  r"""
1542  setup_particle(Model m, ParticleIndex pi) -> Bonded
1543  setup_particle(_ParticleAdaptor pa) -> Bonded
1544  """
1545  return _IMP_atom.Bonded_setup_particle(*args)
1546 
1547  @staticmethod
1548  def get_is_setup(*args):
1549  r"""
1550  get_is_setup(_ParticleAdaptor p) -> bool
1551  get_is_setup(Model m, ParticleIndex pi) -> bool
1552  """
1553  return _IMP_atom.Bonded_get_is_setup(*args)
1554 
1555  def get_number_of_bonds(self):
1556  r"""get_number_of_bonds(Bonded self) -> unsigned int"""
1557  return _IMP_atom.Bonded_get_number_of_bonds(self)
1558 
1559  def get_bond_indexes(self):
1560  r"""get_bond_indexes(Bonded self) -> IMP::ParticleIndexes"""
1561  return _IMP_atom.Bonded_get_bond_indexes(self)
1562 
1563  def get_bond(self, i):
1564  r"""get_bond(Bonded self, unsigned int i) -> Bond"""
1565  return _IMP_atom.Bonded_get_bond(self, i)
1566 
1567  def get_bonded(self, i):
1568  r"""get_bonded(Bonded self, unsigned int i) -> Bonded"""
1569  return _IMP_atom.Bonded_get_bonded(self, i)
1570 
1571  def add_attribute(self, *args):
1572  r"""
1573  add_attribute(Bonded self, FloatKey k, IMP::Float v, bool opt)
1574  add_attribute(Bonded self, FloatKey a0, IMP::Float a1)
1575  add_attribute(Bonded self, IntKey a0, IMP::Int a1)
1576  add_attribute(Bonded self, FloatsKey a0, IMP::Floats a1)
1577  add_attribute(Bonded self, IntsKey a0, IMP::Ints a1)
1578  add_attribute(Bonded self, StringKey a0, IMP::String a1)
1579  add_attribute(Bonded self, ParticleIndexKey a0, Particle a1)
1580  add_attribute(Bonded self, ObjectKey a0, Object a1)
1581  add_attribute(Bonded self, SparseFloatKey a0, IMP::Float a1)
1582  add_attribute(Bonded self, SparseIntKey a0, IMP::Int a1)
1583  add_attribute(Bonded self, SparseStringKey a0, IMP::String a1)
1584  add_attribute(Bonded self, SparseParticleIndexKey a0, ParticleIndex a1)
1585  """
1586  return _IMP_atom.Bonded_add_attribute(self, *args)
1587 
1588  def get_value(self, *args):
1589  r"""
1590  get_value(Bonded self, FloatKey a0) -> IMP::Float
1591  get_value(Bonded self, IntKey a0) -> IMP::Int
1592  get_value(Bonded self, FloatsKey a0) -> IMP::Floats
1593  get_value(Bonded self, IntsKey a0) -> IMP::Ints
1594  get_value(Bonded self, StringKey a0) -> IMP::String
1595  get_value(Bonded self, ParticleIndexKey a0) -> Particle
1596  get_value(Bonded self, ObjectKey a0) -> Object
1597  get_value(Bonded self, SparseFloatKey a0) -> IMP::Float
1598  get_value(Bonded self, SparseIntKey a0) -> IMP::Int
1599  get_value(Bonded self, SparseStringKey a0) -> IMP::String
1600  get_value(Bonded self, SparseParticleIndexKey a0) -> ParticleIndex
1601  """
1602  return _IMP_atom.Bonded_get_value(self, *args)
1603 
1604  def set_value(self, *args):
1605  r"""
1606  set_value(Bonded self, FloatKey a0, IMP::Float a1)
1607  set_value(Bonded self, IntKey a0, IMP::Int a1)
1608  set_value(Bonded self, FloatsKey a0, IMP::Floats a1)
1609  set_value(Bonded self, IntsKey a0, IMP::Ints a1)
1610  set_value(Bonded self, StringKey a0, IMP::String a1)
1611  set_value(Bonded self, ParticleIndexKey a0, Particle a1)
1612  set_value(Bonded self, ObjectKey a0, Object a1)
1613  set_value(Bonded self, SparseFloatKey a0, IMP::Float a1)
1614  set_value(Bonded self, SparseIntKey a0, IMP::Int a1)
1615  set_value(Bonded self, SparseStringKey a0, IMP::String a1)
1616  set_value(Bonded self, SparseParticleIndexKey a0, ParticleIndex a1)
1617  """
1618  return _IMP_atom.Bonded_set_value(self, *args)
1619 
1620  def remove_attribute(self, *args):
1621  r"""
1622  remove_attribute(Bonded self, FloatKey a0)
1623  remove_attribute(Bonded self, IntKey a0)
1624  remove_attribute(Bonded self, FloatsKey a0)
1625  remove_attribute(Bonded self, IntsKey a0)
1626  remove_attribute(Bonded self, StringKey a0)
1627  remove_attribute(Bonded self, ParticleIndexKey a0)
1628  remove_attribute(Bonded self, ObjectKey a0)
1629  remove_attribute(Bonded self, SparseFloatKey a0)
1630  remove_attribute(Bonded self, SparseIntKey a0)
1631  remove_attribute(Bonded self, SparseStringKey a0)
1632  remove_attribute(Bonded self, SparseParticleIndexKey a0)
1633  """
1634  return _IMP_atom.Bonded_remove_attribute(self, *args)
1635 
1636  def has_attribute(self, *args):
1637  r"""
1638  has_attribute(Bonded self, FloatKey a0) -> bool
1639  has_attribute(Bonded self, IntKey a0) -> bool
1640  has_attribute(Bonded self, FloatsKey a0) -> bool
1641  has_attribute(Bonded self, IntsKey a0) -> bool
1642  has_attribute(Bonded self, StringKey a0) -> bool
1643  has_attribute(Bonded self, ParticleIndexKey a0) -> bool
1644  has_attribute(Bonded self, ObjectKey a0) -> bool
1645  has_attribute(Bonded self, SparseFloatKey a0) -> bool
1646  has_attribute(Bonded self, SparseIntKey a0) -> bool
1647  has_attribute(Bonded self, SparseStringKey a0) -> bool
1648  has_attribute(Bonded self, SparseParticleIndexKey a0) -> bool
1649  """
1650  return _IMP_atom.Bonded_has_attribute(self, *args)
1651 
1652  def get_derivative(self, a0):
1653  r"""get_derivative(Bonded self, FloatKey a0) -> double"""
1654  return _IMP_atom.Bonded_get_derivative(self, a0)
1655 
1656  def get_name(self):
1657  r"""get_name(Bonded self) -> std::string"""
1658  return _IMP_atom.Bonded_get_name(self)
1659 
1660  def clear_caches(self):
1661  r"""clear_caches(Bonded self)"""
1662  return _IMP_atom.Bonded_clear_caches(self)
1663 
1664  def set_name(self, a0):
1665  r"""set_name(Bonded self, std::string a0)"""
1666  return _IMP_atom.Bonded_set_name(self, a0)
1667 
1668  def set_check_level(self, a0):
1669  r"""set_check_level(Bonded self, IMP::CheckLevel a0)"""
1670  return _IMP_atom.Bonded_set_check_level(self, a0)
1671 
1672  def add_to_derivative(self, a0, a1, a2):
1673  r"""add_to_derivative(Bonded self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
1674  return _IMP_atom.Bonded_add_to_derivative(self, a0, a1, a2)
1675 
1676  def set_is_optimized(self, a0, a1):
1677  r"""set_is_optimized(Bonded self, FloatKey a0, bool a1)"""
1678  return _IMP_atom.Bonded_set_is_optimized(self, a0, a1)
1679 
1680  def get_is_optimized(self, a0):
1681  r"""get_is_optimized(Bonded self, FloatKey a0) -> bool"""
1682  return _IMP_atom.Bonded_get_is_optimized(self, a0)
1683 
1684  def get_check_level(self):
1685  r"""get_check_level(Bonded self) -> IMP::CheckLevel"""
1686  return _IMP_atom.Bonded_get_check_level(self)
1687 
1688  def __eq__(self, *args):
1689  r"""
1690  __eq__(Bonded self, Bonded o) -> bool
1691  __eq__(Bonded self, Particle d) -> bool
1692  """
1693  return _IMP_atom.Bonded___eq__(self, *args)
1694 
1695  def __ne__(self, *args):
1696  r"""
1697  __ne__(Bonded self, Bonded o) -> bool
1698  __ne__(Bonded self, Particle d) -> bool
1699  """
1700  return _IMP_atom.Bonded___ne__(self, *args)
1701 
1702  def __le__(self, *args):
1703  r"""
1704  __le__(Bonded self, Bonded o) -> bool
1705  __le__(Bonded self, Particle d) -> bool
1706  """
1707  return _IMP_atom.Bonded___le__(self, *args)
1708 
1709  def __lt__(self, *args):
1710  r"""
1711  __lt__(Bonded self, Bonded o) -> bool
1712  __lt__(Bonded self, Particle d) -> bool
1713  """
1714  return _IMP_atom.Bonded___lt__(self, *args)
1715 
1716  def __ge__(self, *args):
1717  r"""
1718  __ge__(Bonded self, Bonded o) -> bool
1719  __ge__(Bonded self, Particle d) -> bool
1720  """
1721  return _IMP_atom.Bonded___ge__(self, *args)
1722 
1723  def __gt__(self, *args):
1724  r"""
1725  __gt__(Bonded self, Bonded o) -> bool
1726  __gt__(Bonded self, Particle d) -> bool
1727  """
1728  return _IMP_atom.Bonded___gt__(self, *args)
1729 
1730  def __hash__(self):
1731  r"""__hash__(Bonded self) -> std::size_t"""
1732  return _IMP_atom.Bonded___hash__(self)
1733 
1734  def __str__(self):
1735  r"""__str__(Bonded self) -> std::string"""
1736  return _IMP_atom.Bonded___str__(self)
1737 
1738  def __repr__(self):
1739  r"""__repr__(Bonded self) -> std::string"""
1740  return _IMP_atom.Bonded___repr__(self)
1741 
1742  def _get_as_binary(self):
1743  r"""_get_as_binary(Bonded self) -> PyObject *"""
1744  return _IMP_atom.Bonded__get_as_binary(self)
1745 
1746  def _set_from_binary(self, p):
1747  r"""_set_from_binary(Bonded self, PyObject * p)"""
1748  return _IMP_atom.Bonded__set_from_binary(self, p)
1749 
1750  def __getstate__(self):
1751  p = self._get_as_binary()
1752  if len(self.__dict__) > 1:
1753  d = self.__dict__.copy()
1754  del d['this']
1755  p = (d, p)
1756  return p
1757 
1758  def __setstate__(self, p):
1759  if not hasattr(self, 'this'):
1760  self.__init__()
1761  if isinstance(p, tuple):
1762  d, p = p
1763  self.__dict__.update(d)
1764  return self._set_from_binary(p)
1765 
1766  __swig_destroy__ = _IMP_atom.delete_Bonded
1767 
1768 # Register Bonded in _IMP_atom:
1769 _IMP_atom.Bonded_swigregister(Bonded)
1770 
1771 def create_custom_bond(a, b, length, stiffness=-1):
1772  r"""create_custom_bond(Bonded a, Bonded b, IMP::Float length, IMP::Float stiffness=-1) -> Bond"""
1773  return _IMP_atom.create_custom_bond(a, b, length, stiffness)
1774 
1775 def create_bond(*args):
1776  r"""
1777  create_bond(Bonded a, Bonded b, IMP::Int t) -> Bond
1778  create_bond(Bonded a, Bonded b, Bond o) -> Bond
1779  """
1780  return _IMP_atom.create_bond(*args)
1781 
1782 def destroy_bond(b):
1783  r"""destroy_bond(Bond b)"""
1784  return _IMP_atom.destroy_bond(b)
1785 
1786 def get_bond(a, b):
1787  r"""get_bond(Bonded a, Bonded b) -> Bond"""
1788  return _IMP_atom.get_bond(a, b)
1789 class BondGeometry(IMP.display.SingletonGeometry):
1790  r"""Proxy of C++ IMP::atom::BondGeometry class."""
1791 
1792  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1793 
1794  def __init__(self, *args):
1795  r"""
1796  __init__(BondGeometry self, Particle p) -> BondGeometry
1797  __init__(BondGeometry self, Bond d) -> BondGeometry
1798  """
1799  _IMP_atom.BondGeometry_swiginit(self, _IMP_atom.new_BondGeometry(*args))
1800 
1801  def get_version_info(self):
1802  r"""get_version_info(BondGeometry self) -> VersionInfo"""
1803  return _IMP_atom.BondGeometry_get_version_info(self)
1804  __swig_destroy__ = _IMP_atom.delete_BondGeometry
1805 
1806  def __str__(self):
1807  r"""__str__(BondGeometry self) -> std::string"""
1808  return _IMP_atom.BondGeometry___str__(self)
1809 
1810  def __repr__(self):
1811  r"""__repr__(BondGeometry self) -> std::string"""
1812  return _IMP_atom.BondGeometry___repr__(self)
1813 
1814  @staticmethod
1815  def get_from(o):
1816  return _object_cast_to_BondGeometry(o)
1817 
1818 
1819 # Register BondGeometry in _IMP_atom:
1820 _IMP_atom.BondGeometry_swigregister(BondGeometry)
1821 class BondsGeometry(IMP.display.SingletonsGeometry):
1822  r"""Proxy of C++ IMP::atom::BondsGeometry class."""
1823 
1824  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1825 
1826  def __init__(self, sc):
1827  r"""__init__(BondsGeometry self, SingletonContainer sc) -> BondsGeometry"""
1828  _IMP_atom.BondsGeometry_swiginit(self, _IMP_atom.new_BondsGeometry(sc))
1829 
1830  def get_version_info(self):
1831  r"""get_version_info(BondsGeometry self) -> VersionInfo"""
1832  return _IMP_atom.BondsGeometry_get_version_info(self)
1833  __swig_destroy__ = _IMP_atom.delete_BondsGeometry
1834 
1835  def __str__(self):
1836  r"""__str__(BondsGeometry self) -> std::string"""
1837  return _IMP_atom.BondsGeometry___str__(self)
1838 
1839  def __repr__(self):
1840  r"""__repr__(BondsGeometry self) -> std::string"""
1841  return _IMP_atom.BondsGeometry___repr__(self)
1842 
1843  @staticmethod
1844  def get_from(o):
1845  return _object_cast_to_BondsGeometry(o)
1846 
1847 
1848 # Register BondsGeometry in _IMP_atom:
1849 _IMP_atom.BondsGeometry_swigregister(BondsGeometry)
1850 class Hierarchy(IMP.core.Hierarchy):
1851  r"""Proxy of C++ IMP::atom::Hierarchy class."""
1852 
1853  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1854 
1855  def __init__(self, *args):
1856  r"""
1857  __init__(Hierarchy self, Model m, ParticleIndex pi) -> Hierarchy
1858  __init__(Hierarchy self, _ParticleAdaptor pi) -> Hierarchy
1859  __init__(Hierarchy self) -> Hierarchy
1860  __init__(Hierarchy self, Hierarchy h) -> Hierarchy
1861  """
1862  _IMP_atom.Hierarchy_swiginit(self, _IMP_atom.new_Hierarchy(*args))
1863 
1864  @staticmethod
1865  def setup_particle(*args):
1866  r"""
1867  setup_particle(Particle p, _ParticleIndexesAdaptor children) -> Hierarchy
1868  setup_particle(Particle p) -> Hierarchy
1869  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor children=IMP::ParticleIndexesAdaptor()) -> Hierarchy
1870  """
1871  return _IMP_atom.Hierarchy_setup_particle(*args)
1872 
1873  @staticmethod
1874  def get_is_setup(*args):
1875  r"""
1876  get_is_setup(Particle p) -> bool
1877  get_is_setup(Model m, ParticleIndex p) -> bool
1878  """
1879  return _IMP_atom.Hierarchy_get_is_setup(*args)
1880 
1881  def get_is_valid(self, print_info=False):
1882  r"""get_is_valid(Hierarchy self, bool print_info=False) -> bool"""
1883  return _IMP_atom.Hierarchy_get_is_valid(self, print_info)
1884 
1885  def add_child(self, o):
1886  r"""add_child(Hierarchy self, Hierarchy o)"""
1887  return _IMP_atom.Hierarchy_add_child(self, o)
1888 
1889  def get_child(self, i):
1890  r"""get_child(Hierarchy self, unsigned int i) -> Hierarchy"""
1891  return _IMP_atom.Hierarchy_get_child(self, i)
1892 
1893  def get_children(self):
1894  r"""get_children(Hierarchy self) -> IMP::atom::Hierarchies"""
1895  return _IMP_atom.Hierarchy_get_children(self)
1896 
1897  def get_parent(self):
1898  r"""get_parent(Hierarchy self) -> Hierarchy"""
1899  return _IMP_atom.Hierarchy_get_parent(self)
1900 
1901  @staticmethod
1902  def get_traits():
1903  r"""get_traits() -> HierarchyTraits"""
1904  return _IMP_atom.Hierarchy_get_traits()
1905 
1906  def show(self, *args):
1907  r"""
1908  show(Hierarchy self, _ostream out, std::string delimiter)
1909  show(Hierarchy self, _ostream out=std::cout)
1910  """
1911  return _IMP_atom.Hierarchy_show(self, *args)
1912 
1913  def add_attribute(self, *args):
1914  r"""
1915  add_attribute(Hierarchy self, FloatKey k, IMP::Float v, bool opt)
1916  add_attribute(Hierarchy self, FloatKey a0, IMP::Float a1)
1917  add_attribute(Hierarchy self, IntKey a0, IMP::Int a1)
1918  add_attribute(Hierarchy self, FloatsKey a0, IMP::Floats a1)
1919  add_attribute(Hierarchy self, IntsKey a0, IMP::Ints a1)
1920  add_attribute(Hierarchy self, StringKey a0, IMP::String a1)
1921  add_attribute(Hierarchy self, ParticleIndexKey a0, Particle a1)
1922  add_attribute(Hierarchy self, ObjectKey a0, Object a1)
1923  add_attribute(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
1924  add_attribute(Hierarchy self, SparseIntKey a0, IMP::Int a1)
1925  add_attribute(Hierarchy self, SparseStringKey a0, IMP::String a1)
1926  add_attribute(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
1927  """
1928  return _IMP_atom.Hierarchy_add_attribute(self, *args)
1929 
1930  def get_value(self, *args):
1931  r"""
1932  get_value(Hierarchy self, FloatKey a0) -> IMP::Float
1933  get_value(Hierarchy self, IntKey a0) -> IMP::Int
1934  get_value(Hierarchy self, FloatsKey a0) -> IMP::Floats
1935  get_value(Hierarchy self, IntsKey a0) -> IMP::Ints
1936  get_value(Hierarchy self, StringKey a0) -> IMP::String
1937  get_value(Hierarchy self, ParticleIndexKey a0) -> Particle
1938  get_value(Hierarchy self, ObjectKey a0) -> Object
1939  get_value(Hierarchy self, SparseFloatKey a0) -> IMP::Float
1940  get_value(Hierarchy self, SparseIntKey a0) -> IMP::Int
1941  get_value(Hierarchy self, SparseStringKey a0) -> IMP::String
1942  get_value(Hierarchy self, SparseParticleIndexKey a0) -> ParticleIndex
1943  """
1944  return _IMP_atom.Hierarchy_get_value(self, *args)
1945 
1946  def set_value(self, *args):
1947  r"""
1948  set_value(Hierarchy self, FloatKey a0, IMP::Float a1)
1949  set_value(Hierarchy self, IntKey a0, IMP::Int a1)
1950  set_value(Hierarchy self, FloatsKey a0, IMP::Floats a1)
1951  set_value(Hierarchy self, IntsKey a0, IMP::Ints a1)
1952  set_value(Hierarchy self, StringKey a0, IMP::String a1)
1953  set_value(Hierarchy self, ParticleIndexKey a0, Particle a1)
1954  set_value(Hierarchy self, ObjectKey a0, Object a1)
1955  set_value(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
1956  set_value(Hierarchy self, SparseIntKey a0, IMP::Int a1)
1957  set_value(Hierarchy self, SparseStringKey a0, IMP::String a1)
1958  set_value(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
1959  """
1960  return _IMP_atom.Hierarchy_set_value(self, *args)
1961 
1962  def remove_attribute(self, *args):
1963  r"""
1964  remove_attribute(Hierarchy self, FloatKey a0)
1965  remove_attribute(Hierarchy self, IntKey a0)
1966  remove_attribute(Hierarchy self, FloatsKey a0)
1967  remove_attribute(Hierarchy self, IntsKey a0)
1968  remove_attribute(Hierarchy self, StringKey a0)
1969  remove_attribute(Hierarchy self, ParticleIndexKey a0)
1970  remove_attribute(Hierarchy self, ObjectKey a0)
1971  remove_attribute(Hierarchy self, SparseFloatKey a0)
1972  remove_attribute(Hierarchy self, SparseIntKey a0)
1973  remove_attribute(Hierarchy self, SparseStringKey a0)
1974  remove_attribute(Hierarchy self, SparseParticleIndexKey a0)
1975  """
1976  return _IMP_atom.Hierarchy_remove_attribute(self, *args)
1977 
1978  def has_attribute(self, *args):
1979  r"""
1980  has_attribute(Hierarchy self, FloatKey a0) -> bool
1981  has_attribute(Hierarchy self, IntKey a0) -> bool
1982  has_attribute(Hierarchy self, FloatsKey a0) -> bool
1983  has_attribute(Hierarchy self, IntsKey a0) -> bool
1984  has_attribute(Hierarchy self, StringKey a0) -> bool
1985  has_attribute(Hierarchy self, ParticleIndexKey a0) -> bool
1986  has_attribute(Hierarchy self, ObjectKey a0) -> bool
1987  has_attribute(Hierarchy self, SparseFloatKey a0) -> bool
1988  has_attribute(Hierarchy self, SparseIntKey a0) -> bool
1989  has_attribute(Hierarchy self, SparseStringKey a0) -> bool
1990  has_attribute(Hierarchy self, SparseParticleIndexKey a0) -> bool
1991  """
1992  return _IMP_atom.Hierarchy_has_attribute(self, *args)
1993 
1994  def get_derivative(self, a0):
1995  r"""get_derivative(Hierarchy self, FloatKey a0) -> double"""
1996  return _IMP_atom.Hierarchy_get_derivative(self, a0)
1997 
1998  def get_name(self):
1999  r"""get_name(Hierarchy self) -> std::string"""
2000  return _IMP_atom.Hierarchy_get_name(self)
2001 
2002  def clear_caches(self):
2003  r"""clear_caches(Hierarchy self)"""
2004  return _IMP_atom.Hierarchy_clear_caches(self)
2005 
2006  def set_name(self, a0):
2007  r"""set_name(Hierarchy self, std::string a0)"""
2008  return _IMP_atom.Hierarchy_set_name(self, a0)
2009 
2010  def set_check_level(self, a0):
2011  r"""set_check_level(Hierarchy self, IMP::CheckLevel a0)"""
2012  return _IMP_atom.Hierarchy_set_check_level(self, a0)
2013 
2014  def add_to_derivative(self, a0, a1, a2):
2015  r"""add_to_derivative(Hierarchy self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2016  return _IMP_atom.Hierarchy_add_to_derivative(self, a0, a1, a2)
2017 
2018  def set_is_optimized(self, a0, a1):
2019  r"""set_is_optimized(Hierarchy self, FloatKey a0, bool a1)"""
2020  return _IMP_atom.Hierarchy_set_is_optimized(self, a0, a1)
2021 
2022  def get_is_optimized(self, a0):
2023  r"""get_is_optimized(Hierarchy self, FloatKey a0) -> bool"""
2024  return _IMP_atom.Hierarchy_get_is_optimized(self, a0)
2025 
2026  def get_check_level(self):
2027  r"""get_check_level(Hierarchy self) -> IMP::CheckLevel"""
2028  return _IMP_atom.Hierarchy_get_check_level(self)
2029 
2030  def __eq__(self, *args):
2031  r"""
2032  __eq__(Hierarchy self, Hierarchy o) -> bool
2033  __eq__(Hierarchy self, Particle d) -> bool
2034  """
2035  return _IMP_atom.Hierarchy___eq__(self, *args)
2036 
2037  def __ne__(self, *args):
2038  r"""
2039  __ne__(Hierarchy self, Hierarchy o) -> bool
2040  __ne__(Hierarchy self, Particle d) -> bool
2041  """
2042  return _IMP_atom.Hierarchy___ne__(self, *args)
2043 
2044  def __le__(self, *args):
2045  r"""
2046  __le__(Hierarchy self, Hierarchy o) -> bool
2047  __le__(Hierarchy self, Particle d) -> bool
2048  """
2049  return _IMP_atom.Hierarchy___le__(self, *args)
2050 
2051  def __lt__(self, *args):
2052  r"""
2053  __lt__(Hierarchy self, Hierarchy o) -> bool
2054  __lt__(Hierarchy self, Particle d) -> bool
2055  """
2056  return _IMP_atom.Hierarchy___lt__(self, *args)
2057 
2058  def __ge__(self, *args):
2059  r"""
2060  __ge__(Hierarchy self, Hierarchy o) -> bool
2061  __ge__(Hierarchy self, Particle d) -> bool
2062  """
2063  return _IMP_atom.Hierarchy___ge__(self, *args)
2064 
2065  def __gt__(self, *args):
2066  r"""
2067  __gt__(Hierarchy self, Hierarchy o) -> bool
2068  __gt__(Hierarchy self, Particle d) -> bool
2069  """
2070  return _IMP_atom.Hierarchy___gt__(self, *args)
2071 
2072  def __hash__(self):
2073  r"""__hash__(Hierarchy self) -> std::size_t"""
2074  return _IMP_atom.Hierarchy___hash__(self)
2075 
2076  def __str__(self):
2077  r"""__str__(Hierarchy self) -> std::string"""
2078  return _IMP_atom.Hierarchy___str__(self)
2079 
2080  def __repr__(self):
2081  r"""__repr__(Hierarchy self) -> std::string"""
2082  return _IMP_atom.Hierarchy___repr__(self)
2083 
2084  def _get_as_binary(self):
2085  r"""_get_as_binary(Hierarchy self) -> PyObject *"""
2086  return _IMP_atom.Hierarchy__get_as_binary(self)
2087 
2088  def _set_from_binary(self, p):
2089  r"""_set_from_binary(Hierarchy self, PyObject * p)"""
2090  return _IMP_atom.Hierarchy__set_from_binary(self, p)
2091 
2092  def __getstate__(self):
2093  p = self._get_as_binary()
2094  if len(self.__dict__) > 1:
2095  d = self.__dict__.copy()
2096  del d['this']
2097  p = (d, p)
2098  return p
2099 
2100  def __setstate__(self, p):
2101  if not hasattr(self, 'this'):
2102  self.__init__()
2103  if isinstance(p, tuple):
2104  d, p = p
2105  self.__dict__.update(d)
2106  return self._set_from_binary(p)
2107 
2108  __swig_destroy__ = _IMP_atom.delete_Hierarchy
2109 
2110 # Register Hierarchy in _IMP_atom:
2111 _IMP_atom.Hierarchy_swigregister(Hierarchy)
2112 ATOM_TYPE = _IMP_atom.ATOM_TYPE
2113 
2114 RESIDUE_TYPE = _IMP_atom.RESIDUE_TYPE
2115 
2116 CHAIN_TYPE = _IMP_atom.CHAIN_TYPE
2117 
2118 MOLECULE_TYPE = _IMP_atom.MOLECULE_TYPE
2119 
2120 DOMAIN_TYPE = _IMP_atom.DOMAIN_TYPE
2121 
2122 FRAGMENT_TYPE = _IMP_atom.FRAGMENT_TYPE
2123 
2124 XYZ_TYPE = _IMP_atom.XYZ_TYPE
2125 
2126 XYZR_TYPE = _IMP_atom.XYZR_TYPE
2127 
2128 MASS_TYPE = _IMP_atom.MASS_TYPE
2129 
2130 STATE_TYPE = _IMP_atom.STATE_TYPE
2131 
2132 
2133 def get_by_type(mhd, t):
2134  r"""get_by_type(Hierarchy mhd, IMP::atom::GetByType t) -> IMP::atom::Hierarchies"""
2135  return _IMP_atom.get_by_type(mhd, t)
2136 
2137 def create_fragment(ps):
2138  r"""create_fragment(IMP::atom::Hierarchies const & ps) -> Hierarchy"""
2139  return _IMP_atom.create_fragment(ps)
2140 
2141 def get_internal_bonds(mhd, with_representations=False):
2142  r"""get_internal_bonds(Hierarchy mhd, bool with_representations=False) -> IMP::atom::Bonds"""
2143  return _IMP_atom.get_internal_bonds(mhd, with_representations)
2144 
2145 def get_root(h):
2146  r"""get_root(Hierarchy h) -> Hierarchy"""
2147  return _IMP_atom.get_root(h)
2148 
2149 def show(*args):
2150  r"""show(Hierarchy h, _ostream out=std::cout)"""
2151  return _IMP_atom.show(*args)
2152 
2153 def create_rigid_body(*args):
2154  r"""
2155  create_rigid_body(IMP::atom::Hierarchies const & h, std::string name=std::string("created rigid body")) -> RigidBody
2156  create_rigid_body(Hierarchy h) -> RigidBody
2157  """
2158  return _IMP_atom.create_rigid_body(*args)
2159 
2160 def create_compatible_rigid_body(h, reference):
2161  r"""create_compatible_rigid_body(Hierarchy h, Hierarchy reference) -> RigidBody"""
2162  return _IMP_atom.create_compatible_rigid_body(h, reference)
2163 
2164 def get_is_heterogen(h):
2165  r"""get_is_heterogen(Hierarchy h) -> bool"""
2166  return _IMP_atom.get_is_heterogen(h)
2167 
2168 def create_clone(d):
2169  r"""create_clone(Hierarchy d) -> Hierarchy"""
2170  return _IMP_atom.create_clone(d)
2171 
2172 def create_clone_one(d):
2173  r"""create_clone_one(Hierarchy d) -> Hierarchy"""
2174  return _IMP_atom.create_clone_one(d)
2175 
2176 def destroy(d):
2177  r"""destroy(Hierarchy d)"""
2178  return _IMP_atom.destroy(d)
2179 
2180 def get_bounding_box(h):
2181  r"""get_bounding_box(Hierarchy h) -> BoundingBox3D"""
2182  return _IMP_atom.get_bounding_box(h)
2183 
2184 def get_bounding_sphere(h):
2185  r"""get_bounding_sphere(Hierarchy h) -> Sphere3D"""
2186  return _IMP_atom.get_bounding_sphere(h)
2187 class Angle(IMP.Decorator):
2188  r"""Proxy of C++ IMP::atom::Angle class."""
2189 
2190  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2191 
2192  def __init__(self, *args):
2193  r"""
2194  __init__(Angle self) -> Angle
2195  __init__(Angle self, Model m, ParticleIndex id) -> Angle
2196  __init__(Angle self, _ParticleAdaptor d) -> Angle
2197  """
2198  _IMP_atom.Angle_swiginit(self, _IMP_atom.new_Angle(*args))
2199 
2200  def show(self, *args):
2201  r"""show(Angle self, _ostream out=std::cout)"""
2202  return _IMP_atom.Angle_show(self, *args)
2203 
2204  @staticmethod
2205  def setup_particle(*args):
2206  r"""
2207  setup_particle(Model m, ParticleIndex pi, XYZ a, XYZ b, XYZ c) -> Angle
2208  setup_particle(_ParticleAdaptor pa, XYZ a, XYZ b, XYZ c) -> Angle
2209  """
2210  return _IMP_atom.Angle_setup_particle(*args)
2211 
2212  @staticmethod
2213  def get_is_setup(*args):
2214  r"""
2215  get_is_setup(_ParticleAdaptor p) -> bool
2216  get_is_setup(Model m, ParticleIndex pi) -> bool
2217  """
2218  return _IMP_atom.Angle_get_is_setup(*args)
2219 
2220  def get_particle(self, *args):
2221  r"""
2222  get_particle(Angle self) -> Particle
2223  get_particle(Angle self, unsigned int i) -> Particle
2224  """
2225  return _IMP_atom.Angle_get_particle(self, *args)
2226 
2227  def get_ideal(self):
2228  r"""get_ideal(Angle self) -> IMP::Float"""
2229  return _IMP_atom.Angle_get_ideal(self)
2230 
2231  def set_ideal(self, t):
2232  r"""set_ideal(Angle self, IMP::Float t)"""
2233  return _IMP_atom.Angle_set_ideal(self, t)
2234 
2235  def get_stiffness(self):
2236  r"""get_stiffness(Angle self) -> IMP::Float"""
2237  return _IMP_atom.Angle_get_stiffness(self)
2238 
2239  def set_stiffness(self, t):
2240  r"""set_stiffness(Angle self, IMP::Float t)"""
2241  return _IMP_atom.Angle_set_stiffness(self, t)
2242 
2243  @staticmethod
2244  def get_particle_key(i):
2245  r"""get_particle_key(unsigned int i) -> ParticleIndexKey"""
2246  return _IMP_atom.Angle_get_particle_key(i)
2247 
2248  @staticmethod
2249  def get_ideal_key():
2250  r"""get_ideal_key() -> FloatKey"""
2251  return _IMP_atom.Angle_get_ideal_key()
2252 
2253  @staticmethod
2254  def get_stiffness_key():
2255  r"""get_stiffness_key() -> FloatKey"""
2256  return _IMP_atom.Angle_get_stiffness_key()
2257 
2258  def add_attribute(self, *args):
2259  r"""
2260  add_attribute(Angle self, FloatKey k, IMP::Float v, bool opt)
2261  add_attribute(Angle self, FloatKey a0, IMP::Float a1)
2262  add_attribute(Angle self, IntKey a0, IMP::Int a1)
2263  add_attribute(Angle self, FloatsKey a0, IMP::Floats a1)
2264  add_attribute(Angle self, IntsKey a0, IMP::Ints a1)
2265  add_attribute(Angle self, StringKey a0, IMP::String a1)
2266  add_attribute(Angle self, ParticleIndexKey a0, Particle a1)
2267  add_attribute(Angle self, ObjectKey a0, Object a1)
2268  add_attribute(Angle self, SparseFloatKey a0, IMP::Float a1)
2269  add_attribute(Angle self, SparseIntKey a0, IMP::Int a1)
2270  add_attribute(Angle self, SparseStringKey a0, IMP::String a1)
2271  add_attribute(Angle self, SparseParticleIndexKey a0, ParticleIndex a1)
2272  """
2273  return _IMP_atom.Angle_add_attribute(self, *args)
2274 
2275  def get_value(self, *args):
2276  r"""
2277  get_value(Angle self, FloatKey a0) -> IMP::Float
2278  get_value(Angle self, IntKey a0) -> IMP::Int
2279  get_value(Angle self, FloatsKey a0) -> IMP::Floats
2280  get_value(Angle self, IntsKey a0) -> IMP::Ints
2281  get_value(Angle self, StringKey a0) -> IMP::String
2282  get_value(Angle self, ParticleIndexKey a0) -> Particle
2283  get_value(Angle self, ObjectKey a0) -> Object
2284  get_value(Angle self, SparseFloatKey a0) -> IMP::Float
2285  get_value(Angle self, SparseIntKey a0) -> IMP::Int
2286  get_value(Angle self, SparseStringKey a0) -> IMP::String
2287  get_value(Angle self, SparseParticleIndexKey a0) -> ParticleIndex
2288  """
2289  return _IMP_atom.Angle_get_value(self, *args)
2290 
2291  def set_value(self, *args):
2292  r"""
2293  set_value(Angle self, FloatKey a0, IMP::Float a1)
2294  set_value(Angle self, IntKey a0, IMP::Int a1)
2295  set_value(Angle self, FloatsKey a0, IMP::Floats a1)
2296  set_value(Angle self, IntsKey a0, IMP::Ints a1)
2297  set_value(Angle self, StringKey a0, IMP::String a1)
2298  set_value(Angle self, ParticleIndexKey a0, Particle a1)
2299  set_value(Angle self, ObjectKey a0, Object a1)
2300  set_value(Angle self, SparseFloatKey a0, IMP::Float a1)
2301  set_value(Angle self, SparseIntKey a0, IMP::Int a1)
2302  set_value(Angle self, SparseStringKey a0, IMP::String a1)
2303  set_value(Angle self, SparseParticleIndexKey a0, ParticleIndex a1)
2304  """
2305  return _IMP_atom.Angle_set_value(self, *args)
2306 
2307  def remove_attribute(self, *args):
2308  r"""
2309  remove_attribute(Angle self, FloatKey a0)
2310  remove_attribute(Angle self, IntKey a0)
2311  remove_attribute(Angle self, FloatsKey a0)
2312  remove_attribute(Angle self, IntsKey a0)
2313  remove_attribute(Angle self, StringKey a0)
2314  remove_attribute(Angle self, ParticleIndexKey a0)
2315  remove_attribute(Angle self, ObjectKey a0)
2316  remove_attribute(Angle self, SparseFloatKey a0)
2317  remove_attribute(Angle self, SparseIntKey a0)
2318  remove_attribute(Angle self, SparseStringKey a0)
2319  remove_attribute(Angle self, SparseParticleIndexKey a0)
2320  """
2321  return _IMP_atom.Angle_remove_attribute(self, *args)
2322 
2323  def has_attribute(self, *args):
2324  r"""
2325  has_attribute(Angle self, FloatKey a0) -> bool
2326  has_attribute(Angle self, IntKey a0) -> bool
2327  has_attribute(Angle self, FloatsKey a0) -> bool
2328  has_attribute(Angle self, IntsKey a0) -> bool
2329  has_attribute(Angle self, StringKey a0) -> bool
2330  has_attribute(Angle self, ParticleIndexKey a0) -> bool
2331  has_attribute(Angle self, ObjectKey a0) -> bool
2332  has_attribute(Angle self, SparseFloatKey a0) -> bool
2333  has_attribute(Angle self, SparseIntKey a0) -> bool
2334  has_attribute(Angle self, SparseStringKey a0) -> bool
2335  has_attribute(Angle self, SparseParticleIndexKey a0) -> bool
2336  """
2337  return _IMP_atom.Angle_has_attribute(self, *args)
2338 
2339  def get_derivative(self, a0):
2340  r"""get_derivative(Angle self, FloatKey a0) -> double"""
2341  return _IMP_atom.Angle_get_derivative(self, a0)
2342 
2343  def get_name(self):
2344  r"""get_name(Angle self) -> std::string"""
2345  return _IMP_atom.Angle_get_name(self)
2346 
2347  def clear_caches(self):
2348  r"""clear_caches(Angle self)"""
2349  return _IMP_atom.Angle_clear_caches(self)
2350 
2351  def set_name(self, a0):
2352  r"""set_name(Angle self, std::string a0)"""
2353  return _IMP_atom.Angle_set_name(self, a0)
2354 
2355  def set_check_level(self, a0):
2356  r"""set_check_level(Angle self, IMP::CheckLevel a0)"""
2357  return _IMP_atom.Angle_set_check_level(self, a0)
2358 
2359  def add_to_derivative(self, a0, a1, a2):
2360  r"""add_to_derivative(Angle self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2361  return _IMP_atom.Angle_add_to_derivative(self, a0, a1, a2)
2362 
2363  def set_is_optimized(self, a0, a1):
2364  r"""set_is_optimized(Angle self, FloatKey a0, bool a1)"""
2365  return _IMP_atom.Angle_set_is_optimized(self, a0, a1)
2366 
2367  def get_is_optimized(self, a0):
2368  r"""get_is_optimized(Angle self, FloatKey a0) -> bool"""
2369  return _IMP_atom.Angle_get_is_optimized(self, a0)
2370 
2371  def get_check_level(self):
2372  r"""get_check_level(Angle self) -> IMP::CheckLevel"""
2373  return _IMP_atom.Angle_get_check_level(self)
2374 
2375  def __eq__(self, *args):
2376  r"""
2377  __eq__(Angle self, Angle o) -> bool
2378  __eq__(Angle self, Particle d) -> bool
2379  """
2380  return _IMP_atom.Angle___eq__(self, *args)
2381 
2382  def __ne__(self, *args):
2383  r"""
2384  __ne__(Angle self, Angle o) -> bool
2385  __ne__(Angle self, Particle d) -> bool
2386  """
2387  return _IMP_atom.Angle___ne__(self, *args)
2388 
2389  def __le__(self, *args):
2390  r"""
2391  __le__(Angle self, Angle o) -> bool
2392  __le__(Angle self, Particle d) -> bool
2393  """
2394  return _IMP_atom.Angle___le__(self, *args)
2395 
2396  def __lt__(self, *args):
2397  r"""
2398  __lt__(Angle self, Angle o) -> bool
2399  __lt__(Angle self, Particle d) -> bool
2400  """
2401  return _IMP_atom.Angle___lt__(self, *args)
2402 
2403  def __ge__(self, *args):
2404  r"""
2405  __ge__(Angle self, Angle o) -> bool
2406  __ge__(Angle self, Particle d) -> bool
2407  """
2408  return _IMP_atom.Angle___ge__(self, *args)
2409 
2410  def __gt__(self, *args):
2411  r"""
2412  __gt__(Angle self, Angle o) -> bool
2413  __gt__(Angle self, Particle d) -> bool
2414  """
2415  return _IMP_atom.Angle___gt__(self, *args)
2416 
2417  def __hash__(self):
2418  r"""__hash__(Angle self) -> std::size_t"""
2419  return _IMP_atom.Angle___hash__(self)
2420 
2421  def __str__(self):
2422  r"""__str__(Angle self) -> std::string"""
2423  return _IMP_atom.Angle___str__(self)
2424 
2425  def __repr__(self):
2426  r"""__repr__(Angle self) -> std::string"""
2427  return _IMP_atom.Angle___repr__(self)
2428 
2429  def _get_as_binary(self):
2430  r"""_get_as_binary(Angle self) -> PyObject *"""
2431  return _IMP_atom.Angle__get_as_binary(self)
2432 
2433  def _set_from_binary(self, p):
2434  r"""_set_from_binary(Angle self, PyObject * p)"""
2435  return _IMP_atom.Angle__set_from_binary(self, p)
2436 
2437  def __getstate__(self):
2438  p = self._get_as_binary()
2439  if len(self.__dict__) > 1:
2440  d = self.__dict__.copy()
2441  del d['this']
2442  p = (d, p)
2443  return p
2444 
2445  def __setstate__(self, p):
2446  if not hasattr(self, 'this'):
2447  self.__init__()
2448  if isinstance(p, tuple):
2449  d, p = p
2450  self.__dict__.update(d)
2451  return self._set_from_binary(p)
2452 
2453  __swig_destroy__ = _IMP_atom.delete_Angle
2454 
2455 # Register Angle in _IMP_atom:
2456 _IMP_atom.Angle_swigregister(Angle)
2457 class Dihedral(IMP.Decorator):
2458  r"""Proxy of C++ IMP::atom::Dihedral class."""
2459 
2460  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2461 
2462  def __init__(self, *args):
2463  r"""
2464  __init__(Dihedral self) -> Dihedral
2465  __init__(Dihedral self, Model m, ParticleIndex id) -> Dihedral
2466  __init__(Dihedral self, _ParticleAdaptor d) -> Dihedral
2467  """
2468  _IMP_atom.Dihedral_swiginit(self, _IMP_atom.new_Dihedral(*args))
2469 
2470  def show(self, *args):
2471  r"""show(Dihedral self, _ostream out=std::cout)"""
2472  return _IMP_atom.Dihedral_show(self, *args)
2473 
2474  @staticmethod
2475  def setup_particle(*args):
2476  r"""
2477  setup_particle(Model m, ParticleIndex pi, XYZ a, XYZ b, XYZ c, XYZ d) -> Dihedral
2478  setup_particle(_ParticleAdaptor pa, XYZ a, XYZ b, XYZ c, XYZ d) -> Dihedral
2479  """
2480  return _IMP_atom.Dihedral_setup_particle(*args)
2481 
2482  @staticmethod
2483  def get_is_setup(*args):
2484  r"""
2485  get_is_setup(_ParticleAdaptor p) -> bool
2486  get_is_setup(Model m, ParticleIndex pi) -> bool
2487  """
2488  return _IMP_atom.Dihedral_get_is_setup(*args)
2489 
2490  def get_particle(self, *args):
2491  r"""
2492  get_particle(Dihedral self) -> Particle
2493  get_particle(Dihedral self, unsigned int i) -> Particle
2494  """
2495  return _IMP_atom.Dihedral_get_particle(self, *args)
2496 
2497  def get_ideal(self):
2498  r"""get_ideal(Dihedral self) -> IMP::Float"""
2499  return _IMP_atom.Dihedral_get_ideal(self)
2500 
2501  def set_ideal(self, t):
2502  r"""set_ideal(Dihedral self, IMP::Float t)"""
2503  return _IMP_atom.Dihedral_set_ideal(self, t)
2504 
2505  def get_multiplicity(self):
2506  r"""get_multiplicity(Dihedral self) -> IMP::Int"""
2507  return _IMP_atom.Dihedral_get_multiplicity(self)
2508 
2509  def set_multiplicity(self, t):
2510  r"""set_multiplicity(Dihedral self, IMP::Int t)"""
2511  return _IMP_atom.Dihedral_set_multiplicity(self, t)
2512 
2513  def get_stiffness(self):
2514  r"""get_stiffness(Dihedral self) -> IMP::Float"""
2515  return _IMP_atom.Dihedral_get_stiffness(self)
2516 
2517  def set_stiffness(self, t):
2518  r"""set_stiffness(Dihedral self, IMP::Float t)"""
2519  return _IMP_atom.Dihedral_set_stiffness(self, t)
2520 
2521  @staticmethod
2522  def get_particle_key(i):
2523  r"""get_particle_key(unsigned int i) -> ParticleIndexKey"""
2524  return _IMP_atom.Dihedral_get_particle_key(i)
2525 
2526  @staticmethod
2527  def get_ideal_key():
2528  r"""get_ideal_key() -> FloatKey"""
2529  return _IMP_atom.Dihedral_get_ideal_key()
2530 
2531  @staticmethod
2532  def get_multiplicity_key():
2533  r"""get_multiplicity_key() -> IntKey"""
2534  return _IMP_atom.Dihedral_get_multiplicity_key()
2535 
2536  @staticmethod
2537  def get_stiffness_key():
2538  r"""get_stiffness_key() -> FloatKey"""
2539  return _IMP_atom.Dihedral_get_stiffness_key()
2540 
2541  def add_attribute(self, *args):
2542  r"""
2543  add_attribute(Dihedral self, FloatKey k, IMP::Float v, bool opt)
2544  add_attribute(Dihedral self, FloatKey a0, IMP::Float a1)
2545  add_attribute(Dihedral self, IntKey a0, IMP::Int a1)
2546  add_attribute(Dihedral self, FloatsKey a0, IMP::Floats a1)
2547  add_attribute(Dihedral self, IntsKey a0, IMP::Ints a1)
2548  add_attribute(Dihedral self, StringKey a0, IMP::String a1)
2549  add_attribute(Dihedral self, ParticleIndexKey a0, Particle a1)
2550  add_attribute(Dihedral self, ObjectKey a0, Object a1)
2551  add_attribute(Dihedral self, SparseFloatKey a0, IMP::Float a1)
2552  add_attribute(Dihedral self, SparseIntKey a0, IMP::Int a1)
2553  add_attribute(Dihedral self, SparseStringKey a0, IMP::String a1)
2554  add_attribute(Dihedral self, SparseParticleIndexKey a0, ParticleIndex a1)
2555  """
2556  return _IMP_atom.Dihedral_add_attribute(self, *args)
2557 
2558  def get_value(self, *args):
2559  r"""
2560  get_value(Dihedral self, FloatKey a0) -> IMP::Float
2561  get_value(Dihedral self, IntKey a0) -> IMP::Int
2562  get_value(Dihedral self, FloatsKey a0) -> IMP::Floats
2563  get_value(Dihedral self, IntsKey a0) -> IMP::Ints
2564  get_value(Dihedral self, StringKey a0) -> IMP::String
2565  get_value(Dihedral self, ParticleIndexKey a0) -> Particle
2566  get_value(Dihedral self, ObjectKey a0) -> Object
2567  get_value(Dihedral self, SparseFloatKey a0) -> IMP::Float
2568  get_value(Dihedral self, SparseIntKey a0) -> IMP::Int
2569  get_value(Dihedral self, SparseStringKey a0) -> IMP::String
2570  get_value(Dihedral self, SparseParticleIndexKey a0) -> ParticleIndex
2571  """
2572  return _IMP_atom.Dihedral_get_value(self, *args)
2573 
2574  def set_value(self, *args):
2575  r"""
2576  set_value(Dihedral self, FloatKey a0, IMP::Float a1)
2577  set_value(Dihedral self, IntKey a0, IMP::Int a1)
2578  set_value(Dihedral self, FloatsKey a0, IMP::Floats a1)
2579  set_value(Dihedral self, IntsKey a0, IMP::Ints a1)
2580  set_value(Dihedral self, StringKey a0, IMP::String a1)
2581  set_value(Dihedral self, ParticleIndexKey a0, Particle a1)
2582  set_value(Dihedral self, ObjectKey a0, Object a1)
2583  set_value(Dihedral self, SparseFloatKey a0, IMP::Float a1)
2584  set_value(Dihedral self, SparseIntKey a0, IMP::Int a1)
2585  set_value(Dihedral self, SparseStringKey a0, IMP::String a1)
2586  set_value(Dihedral self, SparseParticleIndexKey a0, ParticleIndex a1)
2587  """
2588  return _IMP_atom.Dihedral_set_value(self, *args)
2589 
2590  def remove_attribute(self, *args):
2591  r"""
2592  remove_attribute(Dihedral self, FloatKey a0)
2593  remove_attribute(Dihedral self, IntKey a0)
2594  remove_attribute(Dihedral self, FloatsKey a0)
2595  remove_attribute(Dihedral self, IntsKey a0)
2596  remove_attribute(Dihedral self, StringKey a0)
2597  remove_attribute(Dihedral self, ParticleIndexKey a0)
2598  remove_attribute(Dihedral self, ObjectKey a0)
2599  remove_attribute(Dihedral self, SparseFloatKey a0)
2600  remove_attribute(Dihedral self, SparseIntKey a0)
2601  remove_attribute(Dihedral self, SparseStringKey a0)
2602  remove_attribute(Dihedral self, SparseParticleIndexKey a0)
2603  """
2604  return _IMP_atom.Dihedral_remove_attribute(self, *args)
2605 
2606  def has_attribute(self, *args):
2607  r"""
2608  has_attribute(Dihedral self, FloatKey a0) -> bool
2609  has_attribute(Dihedral self, IntKey a0) -> bool
2610  has_attribute(Dihedral self, FloatsKey a0) -> bool
2611  has_attribute(Dihedral self, IntsKey a0) -> bool
2612  has_attribute(Dihedral self, StringKey a0) -> bool
2613  has_attribute(Dihedral self, ParticleIndexKey a0) -> bool
2614  has_attribute(Dihedral self, ObjectKey a0) -> bool
2615  has_attribute(Dihedral self, SparseFloatKey a0) -> bool
2616  has_attribute(Dihedral self, SparseIntKey a0) -> bool
2617  has_attribute(Dihedral self, SparseStringKey a0) -> bool
2618  has_attribute(Dihedral self, SparseParticleIndexKey a0) -> bool
2619  """
2620  return _IMP_atom.Dihedral_has_attribute(self, *args)
2621 
2622  def get_derivative(self, a0):
2623  r"""get_derivative(Dihedral self, FloatKey a0) -> double"""
2624  return _IMP_atom.Dihedral_get_derivative(self, a0)
2625 
2626  def get_name(self):
2627  r"""get_name(Dihedral self) -> std::string"""
2628  return _IMP_atom.Dihedral_get_name(self)
2629 
2630  def clear_caches(self):
2631  r"""clear_caches(Dihedral self)"""
2632  return _IMP_atom.Dihedral_clear_caches(self)
2633 
2634  def set_name(self, a0):
2635  r"""set_name(Dihedral self, std::string a0)"""
2636  return _IMP_atom.Dihedral_set_name(self, a0)
2637 
2638  def set_check_level(self, a0):
2639  r"""set_check_level(Dihedral self, IMP::CheckLevel a0)"""
2640  return _IMP_atom.Dihedral_set_check_level(self, a0)
2641 
2642  def add_to_derivative(self, a0, a1, a2):
2643  r"""add_to_derivative(Dihedral self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2644  return _IMP_atom.Dihedral_add_to_derivative(self, a0, a1, a2)
2645 
2646  def set_is_optimized(self, a0, a1):
2647  r"""set_is_optimized(Dihedral self, FloatKey a0, bool a1)"""
2648  return _IMP_atom.Dihedral_set_is_optimized(self, a0, a1)
2649 
2650  def get_is_optimized(self, a0):
2651  r"""get_is_optimized(Dihedral self, FloatKey a0) -> bool"""
2652  return _IMP_atom.Dihedral_get_is_optimized(self, a0)
2653 
2654  def get_check_level(self):
2655  r"""get_check_level(Dihedral self) -> IMP::CheckLevel"""
2656  return _IMP_atom.Dihedral_get_check_level(self)
2657 
2658  def __eq__(self, *args):
2659  r"""
2660  __eq__(Dihedral self, Dihedral o) -> bool
2661  __eq__(Dihedral self, Particle d) -> bool
2662  """
2663  return _IMP_atom.Dihedral___eq__(self, *args)
2664 
2665  def __ne__(self, *args):
2666  r"""
2667  __ne__(Dihedral self, Dihedral o) -> bool
2668  __ne__(Dihedral self, Particle d) -> bool
2669  """
2670  return _IMP_atom.Dihedral___ne__(self, *args)
2671 
2672  def __le__(self, *args):
2673  r"""
2674  __le__(Dihedral self, Dihedral o) -> bool
2675  __le__(Dihedral self, Particle d) -> bool
2676  """
2677  return _IMP_atom.Dihedral___le__(self, *args)
2678 
2679  def __lt__(self, *args):
2680  r"""
2681  __lt__(Dihedral self, Dihedral o) -> bool
2682  __lt__(Dihedral self, Particle d) -> bool
2683  """
2684  return _IMP_atom.Dihedral___lt__(self, *args)
2685 
2686  def __ge__(self, *args):
2687  r"""
2688  __ge__(Dihedral self, Dihedral o) -> bool
2689  __ge__(Dihedral self, Particle d) -> bool
2690  """
2691  return _IMP_atom.Dihedral___ge__(self, *args)
2692 
2693  def __gt__(self, *args):
2694  r"""
2695  __gt__(Dihedral self, Dihedral o) -> bool
2696  __gt__(Dihedral self, Particle d) -> bool
2697  """
2698  return _IMP_atom.Dihedral___gt__(self, *args)
2699 
2700  def __hash__(self):
2701  r"""__hash__(Dihedral self) -> std::size_t"""
2702  return _IMP_atom.Dihedral___hash__(self)
2703 
2704  def __str__(self):
2705  r"""__str__(Dihedral self) -> std::string"""
2706  return _IMP_atom.Dihedral___str__(self)
2707 
2708  def __repr__(self):
2709  r"""__repr__(Dihedral self) -> std::string"""
2710  return _IMP_atom.Dihedral___repr__(self)
2711 
2712  def _get_as_binary(self):
2713  r"""_get_as_binary(Dihedral self) -> PyObject *"""
2714  return _IMP_atom.Dihedral__get_as_binary(self)
2715 
2716  def _set_from_binary(self, p):
2717  r"""_set_from_binary(Dihedral self, PyObject * p)"""
2718  return _IMP_atom.Dihedral__set_from_binary(self, p)
2719 
2720  def __getstate__(self):
2721  p = self._get_as_binary()
2722  if len(self.__dict__) > 1:
2723  d = self.__dict__.copy()
2724  del d['this']
2725  p = (d, p)
2726  return p
2727 
2728  def __setstate__(self, p):
2729  if not hasattr(self, 'this'):
2730  self.__init__()
2731  if isinstance(p, tuple):
2732  d, p = p
2733  self.__dict__.update(d)
2734  return self._set_from_binary(p)
2735 
2736  __swig_destroy__ = _IMP_atom.delete_Dihedral
2737 
2738 # Register Dihedral in _IMP_atom:
2739 _IMP_atom.Dihedral_swigregister(Dihedral)
2740 class SmoothingFunction(IMP.Object):
2741  r"""Proxy of C++ IMP::atom::SmoothingFunction class."""
2742 
2743  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2744 
2745  def __init__(self, *args, **kwargs):
2746  raise AttributeError("No constructor defined - class is abstract")
2747 
2748  def __call__(self, *args):
2749  r"""
2750  __call__(SmoothingFunction self, double score, double distance) -> double
2751  __call__(SmoothingFunction self, double score, double deriv, double distance) -> IMP::DerivativePair
2752  """
2753  return _IMP_atom.SmoothingFunction___call__(self, *args)
2754  __swig_destroy__ = _IMP_atom.delete_SmoothingFunction
2755 
2756  def __str__(self):
2757  r"""__str__(SmoothingFunction self) -> std::string"""
2758  return _IMP_atom.SmoothingFunction___str__(self)
2759 
2760  def __repr__(self):
2761  r"""__repr__(SmoothingFunction self) -> std::string"""
2762  return _IMP_atom.SmoothingFunction___repr__(self)
2763 
2764  @staticmethod
2765  def get_from(o):
2766  return _object_cast_to_SmoothingFunction(o)
2767 
2768 
2769 # Register SmoothingFunction in _IMP_atom:
2770 _IMP_atom.SmoothingFunction_swigregister(SmoothingFunction)
2771 class ForceSwitch(SmoothingFunction):
2772  r"""Proxy of C++ IMP::atom::ForceSwitch class."""
2773 
2774  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2775 
2776  def __init__(self, min_distance, max_distance):
2777  r"""__init__(ForceSwitch self, double min_distance, double max_distance) -> ForceSwitch"""
2778  _IMP_atom.ForceSwitch_swiginit(self, _IMP_atom.new_ForceSwitch(min_distance, max_distance))
2779 
2780  def get_min_distance(self):
2781  r"""get_min_distance(ForceSwitch self) -> double"""
2782  return _IMP_atom.ForceSwitch_get_min_distance(self)
2783 
2784  def get_max_distance(self):
2785  r"""get_max_distance(ForceSwitch self) -> double"""
2786  return _IMP_atom.ForceSwitch_get_max_distance(self)
2787 
2788  def __call__(self, *args):
2789  r"""
2790  __call__(ForceSwitch self, double score, double distance) -> double
2791  __call__(ForceSwitch self, double score, double deriv, double distance) -> IMP::DerivativePair
2792  """
2793  return _IMP_atom.ForceSwitch___call__(self, *args)
2794 
2795  def get_version_info(self):
2796  r"""get_version_info(ForceSwitch self) -> VersionInfo"""
2797  return _IMP_atom.ForceSwitch_get_version_info(self)
2798  __swig_destroy__ = _IMP_atom.delete_ForceSwitch
2799 
2800  def __str__(self):
2801  r"""__str__(ForceSwitch self) -> std::string"""
2802  return _IMP_atom.ForceSwitch___str__(self)
2803 
2804  def __repr__(self):
2805  r"""__repr__(ForceSwitch self) -> std::string"""
2806  return _IMP_atom.ForceSwitch___repr__(self)
2807 
2808  @staticmethod
2809  def get_from(o):
2810  return _object_cast_to_ForceSwitch(o)
2811 
2812 
2813  def _get_jax(self):
2814  import jax.lax
2815  min_distance = self.get_min_distance()
2816  max_distance = self.get_max_distance()
2817  dist_dif = max_distance - min_distance
2818  value_prefactor = 1.0 / (dist_dif * dist_dif * dist_dif)
2819  deriv_prefactor = 6.0 * value_prefactor
2820  def mid_range_score(d):
2821  x = max_distance - d
2822  return (value_prefactor * x * x *
2823  (max_distance + 2.0 * d - 3.0 * min_distance))
2824  def not_short_range_score(d):
2825  return jax.lax.cond(d > max_distance, lambda d: 0.0,
2826  mid_range_score, d)
2827  def jax_func(score, d):
2828  factor = jax.lax.cond(d <= min_distance, lambda d: 1.0,
2829  not_short_range_score, d)
2830  return score * factor
2831  return jax_func
2832 
2833 
2834 # Register ForceSwitch in _IMP_atom:
2835 _IMP_atom.ForceSwitch_swigregister(ForceSwitch)
2836 class AngleSingletonScore(IMP.SingletonScore):
2837  r"""Proxy of C++ IMP::atom::AngleSingletonScore class."""
2838 
2839  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2840 
2841  def __init__(self, f):
2842  r"""__init__(AngleSingletonScore self, UnaryFunction f) -> AngleSingletonScore"""
2843  _IMP_atom.AngleSingletonScore_swiginit(self, _IMP_atom.new_AngleSingletonScore(f))
2844 
2845  def do_get_inputs(self, m, pis):
2846  r"""do_get_inputs(AngleSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
2847  return _IMP_atom.AngleSingletonScore_do_get_inputs(self, m, pis)
2848 
2849  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
2850  r"""evaluate_indexes(AngleSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
2851  return _IMP_atom.AngleSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
2852 
2853  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
2854  r"""evaluate_indexes_scores(AngleSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
2855  return _IMP_atom.AngleSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
2856 
2857  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
2858  r"""evaluate_indexes_delta(AngleSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
2859  return _IMP_atom.AngleSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
2860 
2861  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
2862  r"""evaluate_if_good_indexes(AngleSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
2863  return _IMP_atom.AngleSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
2864 
2865  def get_version_info(self):
2866  r"""get_version_info(AngleSingletonScore self) -> VersionInfo"""
2867  return _IMP_atom.AngleSingletonScore_get_version_info(self)
2868  __swig_destroy__ = _IMP_atom.delete_AngleSingletonScore
2869 
2870  def __str__(self):
2871  r"""__str__(AngleSingletonScore self) -> std::string"""
2872  return _IMP_atom.AngleSingletonScore___str__(self)
2873 
2874  def __repr__(self):
2875  r"""__repr__(AngleSingletonScore self) -> std::string"""
2876  return _IMP_atom.AngleSingletonScore___repr__(self)
2877 
2878  @staticmethod
2879  def get_from(o):
2880  return _object_cast_to_AngleSingletonScore(o)
2881 
2882 
2883 # Register AngleSingletonScore in _IMP_atom:
2884 _IMP_atom.AngleSingletonScore_swigregister(AngleSingletonScore)
2885 class BondEndpointsRefiner(IMP.Refiner):
2886  r"""Proxy of C++ IMP::atom::BondEndpointsRefiner class."""
2887 
2888  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2889 
2890  def __init__(self):
2891  r"""__init__(BondEndpointsRefiner self) -> BondEndpointsRefiner"""
2892  _IMP_atom.BondEndpointsRefiner_swiginit(self, _IMP_atom.new_BondEndpointsRefiner())
2893 
2894  def do_get_inputs(self, m, pis):
2895  r"""do_get_inputs(BondEndpointsRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
2896  return _IMP_atom.BondEndpointsRefiner_do_get_inputs(self, m, pis)
2897 
2898  def get_version_info(self):
2899  r"""get_version_info(BondEndpointsRefiner self) -> VersionInfo"""
2900  return _IMP_atom.BondEndpointsRefiner_get_version_info(self)
2901  __swig_destroy__ = _IMP_atom.delete_BondEndpointsRefiner
2902 
2903  def __str__(self):
2904  r"""__str__(BondEndpointsRefiner self) -> std::string"""
2905  return _IMP_atom.BondEndpointsRefiner___str__(self)
2906 
2907  def __repr__(self):
2908  r"""__repr__(BondEndpointsRefiner self) -> std::string"""
2909  return _IMP_atom.BondEndpointsRefiner___repr__(self)
2910 
2911  @staticmethod
2912  def get_from(o):
2913  return _object_cast_to_BondEndpointsRefiner(o)
2914 
2915 
2916 # Register BondEndpointsRefiner in _IMP_atom:
2917 _IMP_atom.BondEndpointsRefiner_swigregister(BondEndpointsRefiner)
2918 class BondPairContainer(IMP.PairContainer):
2919  r"""Proxy of C++ IMP::atom::BondPairContainer class."""
2920 
2921  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2922 
2923  def __init__(self, sc):
2924  r"""__init__(BondPairContainer self, SingletonContainer sc) -> BondPairContainer"""
2925  _IMP_atom.BondPairContainer_swiginit(self, _IMP_atom.new_BondPairContainer(sc))
2926 
2927  def do_get_inputs(self):
2928  r"""do_get_inputs(BondPairContainer self) -> IMP::ModelObjectsTemp"""
2929  return _IMP_atom.BondPairContainer_do_get_inputs(self)
2930 
2931  def do_apply(self, sm):
2932  r"""do_apply(BondPairContainer self, PairModifier sm)"""
2933  return _IMP_atom.BondPairContainer_do_apply(self, sm)
2934 
2935  def do_apply_moved(self, sm, moved_pis, reset_pis):
2936  r"""do_apply_moved(BondPairContainer self, PairModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
2937  return _IMP_atom.BondPairContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
2938 
2939  def get_version_info(self):
2940  r"""get_version_info(BondPairContainer self) -> VersionInfo"""
2941  return _IMP_atom.BondPairContainer_get_version_info(self)
2942  __swig_destroy__ = _IMP_atom.delete_BondPairContainer
2943 
2944  def __str__(self):
2945  r"""__str__(BondPairContainer self) -> std::string"""
2946  return _IMP_atom.BondPairContainer___str__(self)
2947 
2948  def __repr__(self):
2949  r"""__repr__(BondPairContainer self) -> std::string"""
2950  return _IMP_atom.BondPairContainer___repr__(self)
2951 
2952  @staticmethod
2953  def get_from(o):
2954  return _object_cast_to_BondPairContainer(o)
2955 
2956 
2957 # Register BondPairContainer in _IMP_atom:
2958 _IMP_atom.BondPairContainer_swigregister(BondPairContainer)
2959 class BondSingletonScore(IMP.SingletonScore):
2960  r"""Proxy of C++ IMP::atom::BondSingletonScore class."""
2961 
2962  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2963 
2964  def __init__(self, f):
2965  r"""__init__(BondSingletonScore self, UnaryFunction f) -> BondSingletonScore"""
2966  _IMP_atom.BondSingletonScore_swiginit(self, _IMP_atom.new_BondSingletonScore(f))
2967 
2968  def get_unary_function(self):
2969  r"""get_unary_function(BondSingletonScore self) -> UnaryFunction"""
2970  return _IMP_atom.BondSingletonScore_get_unary_function(self)
2971 
2972  def do_get_inputs(self, m, pis):
2973  r"""do_get_inputs(BondSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
2974  return _IMP_atom.BondSingletonScore_do_get_inputs(self, m, pis)
2975 
2976  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
2977  r"""evaluate_indexes(BondSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
2978  return _IMP_atom.BondSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
2979 
2980  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
2981  r"""evaluate_indexes_scores(BondSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
2982  return _IMP_atom.BondSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
2983 
2984  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
2985  r"""evaluate_indexes_delta(BondSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
2986  return _IMP_atom.BondSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
2987 
2988  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
2989  r"""evaluate_if_good_indexes(BondSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
2990  return _IMP_atom.BondSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
2991 
2992  def get_version_info(self):
2993  r"""get_version_info(BondSingletonScore self) -> VersionInfo"""
2994  return _IMP_atom.BondSingletonScore_get_version_info(self)
2995  __swig_destroy__ = _IMP_atom.delete_BondSingletonScore
2996 
2997  def __str__(self):
2998  r"""__str__(BondSingletonScore self) -> std::string"""
2999  return _IMP_atom.BondSingletonScore___str__(self)
3000 
3001  def __repr__(self):
3002  r"""__repr__(BondSingletonScore self) -> std::string"""
3003  return _IMP_atom.BondSingletonScore___repr__(self)
3004 
3005  @staticmethod
3006  def get_from(o):
3007  return _object_cast_to_BondSingletonScore(o)
3008 
3009 
3010 # Register BondSingletonScore in _IMP_atom:
3011 _IMP_atom.BondSingletonScore_swigregister(BondSingletonScore)
3012 class DihedralSingletonScore(IMP.SingletonScore):
3013  r"""Proxy of C++ IMP::atom::DihedralSingletonScore class."""
3014 
3015  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3016 
3017  def __init__(self):
3018  r"""__init__(DihedralSingletonScore self) -> DihedralSingletonScore"""
3019  _IMP_atom.DihedralSingletonScore_swiginit(self, _IMP_atom.new_DihedralSingletonScore())
3020 
3021  def do_get_inputs(self, m, pis):
3022  r"""do_get_inputs(DihedralSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3023  return _IMP_atom.DihedralSingletonScore_do_get_inputs(self, m, pis)
3024 
3025  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
3026  r"""evaluate_indexes(DihedralSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
3027  return _IMP_atom.DihedralSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
3028 
3029  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
3030  r"""evaluate_indexes_scores(DihedralSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
3031  return _IMP_atom.DihedralSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
3032 
3033  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
3034  r"""evaluate_indexes_delta(DihedralSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
3035  return _IMP_atom.DihedralSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
3036 
3037  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
3038  r"""evaluate_if_good_indexes(DihedralSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
3039  return _IMP_atom.DihedralSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
3040 
3041  def get_version_info(self):
3042  r"""get_version_info(DihedralSingletonScore self) -> VersionInfo"""
3043  return _IMP_atom.DihedralSingletonScore_get_version_info(self)
3044  __swig_destroy__ = _IMP_atom.delete_DihedralSingletonScore
3045 
3046  def __str__(self):
3047  r"""__str__(DihedralSingletonScore self) -> std::string"""
3048  return _IMP_atom.DihedralSingletonScore___str__(self)
3049 
3050  def __repr__(self):
3051  r"""__repr__(DihedralSingletonScore self) -> std::string"""
3052  return _IMP_atom.DihedralSingletonScore___repr__(self)
3053 
3054  @staticmethod
3055  def get_from(o):
3056  return _object_cast_to_DihedralSingletonScore(o)
3057 
3058 
3059  def _get_as_binary(self):
3060  r"""_get_as_binary(DihedralSingletonScore self) -> PyObject *"""
3061  return _IMP_atom.DihedralSingletonScore__get_as_binary(self)
3062 
3063  def _set_from_binary(self, p):
3064  r"""_set_from_binary(DihedralSingletonScore self, PyObject * p)"""
3065  return _IMP_atom.DihedralSingletonScore__set_from_binary(self, p)
3066 
3067  def __getstate__(self):
3068  p = self._get_as_binary()
3069  if len(self.__dict__) > 1:
3070  d = self.__dict__.copy()
3071  del d['this']
3072  p = (d, p)
3073  return p
3074 
3075  def __setstate__(self, p):
3076  if not hasattr(self, 'this'):
3077  self.__init__()
3078  if isinstance(p, tuple):
3079  d, p = p
3080  self.__dict__.update(d)
3081  return self._set_from_binary(p)
3082 
3083 
3084 # Register DihedralSingletonScore in _IMP_atom:
3085 _IMP_atom.DihedralSingletonScore_swigregister(DihedralSingletonScore)
3086 class ImproperSingletonScore(IMP.SingletonScore):
3087  r"""Proxy of C++ IMP::atom::ImproperSingletonScore class."""
3088 
3089  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3090 
3091  def __init__(self, f):
3092  r"""__init__(ImproperSingletonScore self, UnaryFunction f) -> ImproperSingletonScore"""
3093  _IMP_atom.ImproperSingletonScore_swiginit(self, _IMP_atom.new_ImproperSingletonScore(f))
3094 
3095  def do_get_inputs(self, m, pis):
3096  r"""do_get_inputs(ImproperSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3097  return _IMP_atom.ImproperSingletonScore_do_get_inputs(self, m, pis)
3098 
3099  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
3100  r"""evaluate_indexes(ImproperSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
3101  return _IMP_atom.ImproperSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
3102 
3103  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
3104  r"""evaluate_indexes_scores(ImproperSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
3105  return _IMP_atom.ImproperSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
3106 
3107  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
3108  r"""evaluate_indexes_delta(ImproperSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
3109  return _IMP_atom.ImproperSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
3110 
3111  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
3112  r"""evaluate_if_good_indexes(ImproperSingletonScore self, Model m, IMP::ParticleIndexes const & p, DerivativeAccumulator da, double max, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
3113  return _IMP_atom.ImproperSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
3114 
3115  def get_version_info(self):
3116  r"""get_version_info(ImproperSingletonScore self) -> VersionInfo"""
3117  return _IMP_atom.ImproperSingletonScore_get_version_info(self)
3118  __swig_destroy__ = _IMP_atom.delete_ImproperSingletonScore
3119 
3120  def __str__(self):
3121  r"""__str__(ImproperSingletonScore self) -> std::string"""
3122  return _IMP_atom.ImproperSingletonScore___str__(self)
3123 
3124  def __repr__(self):
3125  r"""__repr__(ImproperSingletonScore self) -> std::string"""
3126  return _IMP_atom.ImproperSingletonScore___repr__(self)
3127 
3128  @staticmethod
3129  def get_from(o):
3130  return _object_cast_to_ImproperSingletonScore(o)
3131 
3132 
3133 # Register ImproperSingletonScore in _IMP_atom:
3134 _IMP_atom.ImproperSingletonScore_swigregister(ImproperSingletonScore)
3135 class CenterOfMass(IMP.Decorator):
3136  r"""Proxy of C++ IMP::atom::CenterOfMass class."""
3137 
3138  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3139 
3140  def get_constraint(self):
3141  r"""get_constraint(CenterOfMass self) -> Constraint"""
3142  return _IMP_atom.CenterOfMass_get_constraint(self)
3143 
3144  def get_mass(self):
3145  r"""get_mass(CenterOfMass self) -> IMP::Float"""
3146  return _IMP_atom.CenterOfMass_get_mass(self)
3147 
3148  def get_coordinate(self, i):
3149  r"""get_coordinate(CenterOfMass self, int i) -> IMP::Float"""
3150  return _IMP_atom.CenterOfMass_get_coordinate(self, i)
3151 
3152  def get_coordinates(self):
3153  r"""get_coordinates(CenterOfMass self) -> Vector3D"""
3154  return _IMP_atom.CenterOfMass_get_coordinates(self)
3155 
3156  def __init__(self, *args):
3157  r"""
3158  __init__(CenterOfMass self) -> CenterOfMass
3159  __init__(CenterOfMass self, Model m, ParticleIndex id) -> CenterOfMass
3160  __init__(CenterOfMass self, _ParticleAdaptor d) -> CenterOfMass
3161  """
3162  _IMP_atom.CenterOfMass_swiginit(self, _IMP_atom.new_CenterOfMass(*args))
3163 
3164  def show(self, *args):
3165  r"""show(CenterOfMass self, _ostream out=std::cout)"""
3166  return _IMP_atom.CenterOfMass_show(self, *args)
3167 
3168  @staticmethod
3169  def setup_particle(*args):
3170  r"""
3171  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> CenterOfMass
3172  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> CenterOfMass
3173  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> CenterOfMass
3174  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> CenterOfMass
3175  """
3176  return _IMP_atom.CenterOfMass_setup_particle(*args)
3177 
3178  @staticmethod
3179  def teardown_particle(com):
3180  r"""teardown_particle(CenterOfMass com)"""
3181  return _IMP_atom.CenterOfMass_teardown_particle(com)
3182 
3183  @staticmethod
3184  def get_is_setup(*args):
3185  r"""
3186  get_is_setup(_ParticleAdaptor p) -> bool
3187  get_is_setup(Model m, ParticleIndex pi) -> bool
3188  """
3189  return _IMP_atom.CenterOfMass_get_is_setup(*args)
3190 
3191  def add_attribute(self, *args):
3192  r"""
3193  add_attribute(CenterOfMass self, FloatKey k, IMP::Float v, bool opt)
3194  add_attribute(CenterOfMass self, FloatKey a0, IMP::Float a1)
3195  add_attribute(CenterOfMass self, IntKey a0, IMP::Int a1)
3196  add_attribute(CenterOfMass self, FloatsKey a0, IMP::Floats a1)
3197  add_attribute(CenterOfMass self, IntsKey a0, IMP::Ints a1)
3198  add_attribute(CenterOfMass self, StringKey a0, IMP::String a1)
3199  add_attribute(CenterOfMass self, ParticleIndexKey a0, Particle a1)
3200  add_attribute(CenterOfMass self, ObjectKey a0, Object a1)
3201  add_attribute(CenterOfMass self, SparseFloatKey a0, IMP::Float a1)
3202  add_attribute(CenterOfMass self, SparseIntKey a0, IMP::Int a1)
3203  add_attribute(CenterOfMass self, SparseStringKey a0, IMP::String a1)
3204  add_attribute(CenterOfMass self, SparseParticleIndexKey a0, ParticleIndex a1)
3205  """
3206  return _IMP_atom.CenterOfMass_add_attribute(self, *args)
3207 
3208  def get_value(self, *args):
3209  r"""
3210  get_value(CenterOfMass self, FloatKey a0) -> IMP::Float
3211  get_value(CenterOfMass self, IntKey a0) -> IMP::Int
3212  get_value(CenterOfMass self, FloatsKey a0) -> IMP::Floats
3213  get_value(CenterOfMass self, IntsKey a0) -> IMP::Ints
3214  get_value(CenterOfMass self, StringKey a0) -> IMP::String
3215  get_value(CenterOfMass self, ParticleIndexKey a0) -> Particle
3216  get_value(CenterOfMass self, ObjectKey a0) -> Object
3217  get_value(CenterOfMass self, SparseFloatKey a0) -> IMP::Float
3218  get_value(CenterOfMass self, SparseIntKey a0) -> IMP::Int
3219  get_value(CenterOfMass self, SparseStringKey a0) -> IMP::String
3220  get_value(CenterOfMass self, SparseParticleIndexKey a0) -> ParticleIndex
3221  """
3222  return _IMP_atom.CenterOfMass_get_value(self, *args)
3223 
3224  def set_value(self, *args):
3225  r"""
3226  set_value(CenterOfMass self, FloatKey a0, IMP::Float a1)
3227  set_value(CenterOfMass self, IntKey a0, IMP::Int a1)
3228  set_value(CenterOfMass self, FloatsKey a0, IMP::Floats a1)
3229  set_value(CenterOfMass self, IntsKey a0, IMP::Ints a1)
3230  set_value(CenterOfMass self, StringKey a0, IMP::String a1)
3231  set_value(CenterOfMass self, ParticleIndexKey a0, Particle a1)
3232  set_value(CenterOfMass self, ObjectKey a0, Object a1)
3233  set_value(CenterOfMass self, SparseFloatKey a0, IMP::Float a1)
3234  set_value(CenterOfMass self, SparseIntKey a0, IMP::Int a1)
3235  set_value(CenterOfMass self, SparseStringKey a0, IMP::String a1)
3236  set_value(CenterOfMass self, SparseParticleIndexKey a0, ParticleIndex a1)
3237  """
3238  return _IMP_atom.CenterOfMass_set_value(self, *args)
3239 
3240  def remove_attribute(self, *args):
3241  r"""
3242  remove_attribute(CenterOfMass self, FloatKey a0)
3243  remove_attribute(CenterOfMass self, IntKey a0)
3244  remove_attribute(CenterOfMass self, FloatsKey a0)
3245  remove_attribute(CenterOfMass self, IntsKey a0)
3246  remove_attribute(CenterOfMass self, StringKey a0)
3247  remove_attribute(CenterOfMass self, ParticleIndexKey a0)
3248  remove_attribute(CenterOfMass self, ObjectKey a0)
3249  remove_attribute(CenterOfMass self, SparseFloatKey a0)
3250  remove_attribute(CenterOfMass self, SparseIntKey a0)
3251  remove_attribute(CenterOfMass self, SparseStringKey a0)
3252  remove_attribute(CenterOfMass self, SparseParticleIndexKey a0)
3253  """
3254  return _IMP_atom.CenterOfMass_remove_attribute(self, *args)
3255 
3256  def has_attribute(self, *args):
3257  r"""
3258  has_attribute(CenterOfMass self, FloatKey a0) -> bool
3259  has_attribute(CenterOfMass self, IntKey a0) -> bool
3260  has_attribute(CenterOfMass self, FloatsKey a0) -> bool
3261  has_attribute(CenterOfMass self, IntsKey a0) -> bool
3262  has_attribute(CenterOfMass self, StringKey a0) -> bool
3263  has_attribute(CenterOfMass self, ParticleIndexKey a0) -> bool
3264  has_attribute(CenterOfMass self, ObjectKey a0) -> bool
3265  has_attribute(CenterOfMass self, SparseFloatKey a0) -> bool
3266  has_attribute(CenterOfMass self, SparseIntKey a0) -> bool
3267  has_attribute(CenterOfMass self, SparseStringKey a0) -> bool
3268  has_attribute(CenterOfMass self, SparseParticleIndexKey a0) -> bool
3269  """
3270  return _IMP_atom.CenterOfMass_has_attribute(self, *args)
3271 
3272  def get_derivative(self, a0):
3273  r"""get_derivative(CenterOfMass self, FloatKey a0) -> double"""
3274  return _IMP_atom.CenterOfMass_get_derivative(self, a0)
3275 
3276  def get_name(self):
3277  r"""get_name(CenterOfMass self) -> std::string"""
3278  return _IMP_atom.CenterOfMass_get_name(self)
3279 
3280  def clear_caches(self):
3281  r"""clear_caches(CenterOfMass self)"""
3282  return _IMP_atom.CenterOfMass_clear_caches(self)
3283 
3284  def set_name(self, a0):
3285  r"""set_name(CenterOfMass self, std::string a0)"""
3286  return _IMP_atom.CenterOfMass_set_name(self, a0)
3287 
3288  def set_check_level(self, a0):
3289  r"""set_check_level(CenterOfMass self, IMP::CheckLevel a0)"""
3290  return _IMP_atom.CenterOfMass_set_check_level(self, a0)
3291 
3292  def add_to_derivative(self, a0, a1, a2):
3293  r"""add_to_derivative(CenterOfMass self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3294  return _IMP_atom.CenterOfMass_add_to_derivative(self, a0, a1, a2)
3295 
3296  def set_is_optimized(self, a0, a1):
3297  r"""set_is_optimized(CenterOfMass self, FloatKey a0, bool a1)"""
3298  return _IMP_atom.CenterOfMass_set_is_optimized(self, a0, a1)
3299 
3300  def get_is_optimized(self, a0):
3301  r"""get_is_optimized(CenterOfMass self, FloatKey a0) -> bool"""
3302  return _IMP_atom.CenterOfMass_get_is_optimized(self, a0)
3303 
3304  def get_check_level(self):
3305  r"""get_check_level(CenterOfMass self) -> IMP::CheckLevel"""
3306  return _IMP_atom.CenterOfMass_get_check_level(self)
3307 
3308  def __eq__(self, *args):
3309  r"""
3310  __eq__(CenterOfMass self, CenterOfMass o) -> bool
3311  __eq__(CenterOfMass self, Particle d) -> bool
3312  """
3313  return _IMP_atom.CenterOfMass___eq__(self, *args)
3314 
3315  def __ne__(self, *args):
3316  r"""
3317  __ne__(CenterOfMass self, CenterOfMass o) -> bool
3318  __ne__(CenterOfMass self, Particle d) -> bool
3319  """
3320  return _IMP_atom.CenterOfMass___ne__(self, *args)
3321 
3322  def __le__(self, *args):
3323  r"""
3324  __le__(CenterOfMass self, CenterOfMass o) -> bool
3325  __le__(CenterOfMass self, Particle d) -> bool
3326  """
3327  return _IMP_atom.CenterOfMass___le__(self, *args)
3328 
3329  def __lt__(self, *args):
3330  r"""
3331  __lt__(CenterOfMass self, CenterOfMass o) -> bool
3332  __lt__(CenterOfMass self, Particle d) -> bool
3333  """
3334  return _IMP_atom.CenterOfMass___lt__(self, *args)
3335 
3336  def __ge__(self, *args):
3337  r"""
3338  __ge__(CenterOfMass self, CenterOfMass o) -> bool
3339  __ge__(CenterOfMass self, Particle d) -> bool
3340  """
3341  return _IMP_atom.CenterOfMass___ge__(self, *args)
3342 
3343  def __gt__(self, *args):
3344  r"""
3345  __gt__(CenterOfMass self, CenterOfMass o) -> bool
3346  __gt__(CenterOfMass self, Particle d) -> bool
3347  """
3348  return _IMP_atom.CenterOfMass___gt__(self, *args)
3349 
3350  def __hash__(self):
3351  r"""__hash__(CenterOfMass self) -> std::size_t"""
3352  return _IMP_atom.CenterOfMass___hash__(self)
3353 
3354  def __str__(self):
3355  r"""__str__(CenterOfMass self) -> std::string"""
3356  return _IMP_atom.CenterOfMass___str__(self)
3357 
3358  def __repr__(self):
3359  r"""__repr__(CenterOfMass self) -> std::string"""
3360  return _IMP_atom.CenterOfMass___repr__(self)
3361 
3362  def _get_as_binary(self):
3363  r"""_get_as_binary(CenterOfMass self) -> PyObject *"""
3364  return _IMP_atom.CenterOfMass__get_as_binary(self)
3365 
3366  def _set_from_binary(self, p):
3367  r"""_set_from_binary(CenterOfMass self, PyObject * p)"""
3368  return _IMP_atom.CenterOfMass__set_from_binary(self, p)
3369 
3370  def __getstate__(self):
3371  p = self._get_as_binary()
3372  if len(self.__dict__) > 1:
3373  d = self.__dict__.copy()
3374  del d['this']
3375  p = (d, p)
3376  return p
3377 
3378  def __setstate__(self, p):
3379  if not hasattr(self, 'this'):
3380  self.__init__()
3381  if isinstance(p, tuple):
3382  d, p = p
3383  self.__dict__.update(d)
3384  return self._set_from_binary(p)
3385 
3386  __swig_destroy__ = _IMP_atom.delete_CenterOfMass
3387 
3388 # Register CenterOfMass in _IMP_atom:
3389 _IMP_atom.CenterOfMass_swigregister(CenterOfMass)
3390 class CoverBond(IMP.SingletonModifier):
3391  r"""Proxy of C++ IMP::atom::CoverBond class."""
3392 
3393  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3394 
3395  def __init__(self):
3396  r"""__init__(CoverBond self) -> CoverBond"""
3397  _IMP_atom.CoverBond_swiginit(self, _IMP_atom.new_CoverBond())
3398 
3399  def do_get_inputs(self, m, pis):
3400  r"""do_get_inputs(CoverBond self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3401  return _IMP_atom.CoverBond_do_get_inputs(self, m, pis)
3402 
3403  def do_get_outputs(self, m, pis):
3404  r"""do_get_outputs(CoverBond self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3405  return _IMP_atom.CoverBond_do_get_outputs(self, m, pis)
3406 
3407  def get_version_info(self):
3408  r"""get_version_info(CoverBond self) -> VersionInfo"""
3409  return _IMP_atom.CoverBond_get_version_info(self)
3410  __swig_destroy__ = _IMP_atom.delete_CoverBond
3411 
3412  def __str__(self):
3413  r"""__str__(CoverBond self) -> std::string"""
3414  return _IMP_atom.CoverBond___str__(self)
3415 
3416  def __repr__(self):
3417  r"""__repr__(CoverBond self) -> std::string"""
3418  return _IMP_atom.CoverBond___repr__(self)
3419 
3420  @staticmethod
3421  def get_from(o):
3422  return _object_cast_to_CoverBond(o)
3423 
3424 
3425 # Register CoverBond in _IMP_atom:
3426 _IMP_atom.CoverBond_swigregister(CoverBond)
3427 class Simulator(IMP.Optimizer):
3428  r"""Proxy of C++ IMP::atom::Simulator class."""
3429 
3430  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3431 
3432  def __init__(self, *args):
3433  r"""__init__(Simulator self, Model m, std::string name="Simulator %1%", double wave_factor=1.0) -> Simulator"""
3434  if self.__class__ == Simulator:
3435  _self = None
3436  else:
3437  _self = self
3438  _IMP_atom.Simulator_swiginit(self, _IMP_atom.new_Simulator(_self, *args))
3439 
3440  if self.__class__ != Simulator:
3441  _director_objects.register(self)
3442 
3443 
3444 
3445 
3446  def simulate(self, time_in_fs):
3447  r"""simulate(Simulator self, double time_in_fs) -> double"""
3448  return _IMP_atom.Simulator_simulate(self, time_in_fs)
3449 
3450  def simulate_wave(self, time_in_fs, max_time_step_factor=10.0, base=1.5):
3451  r"""simulate_wave(Simulator self, double time_in_fs, double max_time_step_factor=10.0, double base=1.5) -> double"""
3452  return _IMP_atom.Simulator_simulate_wave(self, time_in_fs, max_time_step_factor, base)
3453 
3454  def get_temperature(self):
3455  r"""get_temperature(Simulator self) -> double"""
3456  return _IMP_atom.Simulator_get_temperature(self)
3457 
3458  def set_temperature(self, d):
3459  r"""set_temperature(Simulator self, double d)"""
3460  return _IMP_atom.Simulator_set_temperature(self, d)
3461 
3462  def set_maximum_time_step(self, ts):
3463  r"""set_maximum_time_step(Simulator self, double ts)"""
3464  return _IMP_atom.Simulator_set_maximum_time_step(self, ts)
3465 
3466  def get_maximum_time_step(self):
3467  r"""get_maximum_time_step(Simulator self) -> double"""
3468  return _IMP_atom.Simulator_get_maximum_time_step(self)
3469 
3470  def get_last_time_step(self):
3471  r"""get_last_time_step(Simulator self) -> double"""
3472  return _IMP_atom.Simulator_get_last_time_step(self)
3473 
3474  def set_time_step(self, ts):
3475  r"""set_time_step(Simulator self, double ts)"""
3476  return _IMP_atom.Simulator_set_time_step(self, ts)
3477 
3478  def get_kt(self):
3479  r"""get_kt(Simulator self) -> double"""
3480  return _IMP_atom.Simulator_get_kt(self)
3481 
3482  def get_current_time(self):
3483  r"""get_current_time(Simulator self) -> double"""
3484  return _IMP_atom.Simulator_get_current_time(self)
3485 
3486  def set_current_time(self, ct):
3487  r"""set_current_time(Simulator self, double ct)"""
3488  return _IMP_atom.Simulator_set_current_time(self, ct)
3489 
3490  def get_simulation_particles(self):
3491  r"""get_simulation_particles(Simulator self) -> IMP::ParticlesTemp"""
3492  return _IMP_atom.Simulator_get_simulation_particles(self)
3493 
3494  def get_simulation_particle_indexes(self):
3495  r"""get_simulation_particle_indexes(Simulator self) -> IMP::ParticleIndexes"""
3496  return _IMP_atom.Simulator_get_simulation_particle_indexes(self)
3497  def __get_particles(self): return IMP._list_util.VarList(getdimfunc=self.get_number_of_particles, getfunc=self.get_particle, erasefunc=self.erase_particle, appendfunc=self.add_particle, extendfunc=self.add_particles, clearfunc=self.clear_particles, indexfunc=self._python_index_particle)
3498  def __set_particles(self, obj): IMP._list_util.set_varlist(self.particles, obj)
3499  def __del_particles(self): IMP._list_util.del_varlist(self.particles)
3500  particles = property(__get_particles, __set_particles, __del_particles, doc="List of ##ucnames")
3501 
3502  def remove_particle(self, d):
3503  r"""remove_particle(Simulator self, Particle d)"""
3504  return _IMP_atom.Simulator_remove_particle(self, d)
3505 
3506  def _python_index_particle(self, d, start, stop):
3507  r"""_python_index_particle(Simulator self, Particle d, unsigned int start, unsigned int stop) -> unsigned int"""
3508  return _IMP_atom.Simulator__python_index_particle(self, d, start, stop)
3509 
3510  def remove_particles(self, d):
3511  r"""remove_particles(Simulator self, IMP::Particles const & d)"""
3512  return _IMP_atom.Simulator_remove_particles(self, d)
3513 
3514  def set_particles(self, ps):
3515  r"""set_particles(Simulator self, IMP::Particles const & ps)"""
3516  return _IMP_atom.Simulator_set_particles(self, ps)
3517 
3518  def set_particles_order(self, objs):
3519  r"""set_particles_order(Simulator self, IMP::Particles const & objs)"""
3520  return _IMP_atom.Simulator_set_particles_order(self, objs)
3521 
3522  def add_particle(self, obj):
3523  r"""add_particle(Simulator self, Particle obj) -> unsigned int"""
3524  return _IMP_atom.Simulator_add_particle(self, obj)
3525 
3526  def add_particles(self, objs):
3527  r"""add_particles(Simulator self, IMP::Particles const & objs)"""
3528  return _IMP_atom.Simulator_add_particles(self, objs)
3529 
3530  def clear_particles(self):
3531  r"""clear_particles(Simulator self)"""
3532  return _IMP_atom.Simulator_clear_particles(self)
3533 
3534  def get_number_of_particles(self):
3535  r"""get_number_of_particles(Simulator self) -> unsigned int"""
3536  return _IMP_atom.Simulator_get_number_of_particles(self)
3537 
3538  def get_has_particles(self):
3539  r"""get_has_particles(Simulator self) -> bool"""
3540  return _IMP_atom.Simulator_get_has_particles(self)
3541 
3542  def get_particle(self, i):
3543  r"""get_particle(Simulator self, unsigned int i) -> Particle"""
3544  return _IMP_atom.Simulator_get_particle(self, i)
3545 
3546  def get_particles(self):
3547  r"""get_particles(Simulator self) -> IMP::Particles"""
3548  return _IMP_atom.Simulator_get_particles(self)
3549 
3550  def erase_particle(self, i):
3551  r"""erase_particle(Simulator self, unsigned int i)"""
3552  return _IMP_atom.Simulator_erase_particle(self, i)
3553 
3554  def reserve_particles(self, sz):
3555  r"""reserve_particles(Simulator self, unsigned int sz)"""
3556  return _IMP_atom.Simulator_reserve_particles(self, sz)
3557 
3558  def do_optimize(self, max_steps):
3559  r"""do_optimize(Simulator self, unsigned int max_steps) -> IMP::Float"""
3560  return _IMP_atom.Simulator_do_optimize(self, max_steps)
3561 
3562  def setup(self, arg0):
3563  r"""setup(Simulator self, IMP::ParticleIndexes const & arg0)"""
3564  return _IMP_atom.Simulator_setup(self, arg0)
3565 
3566  def do_step(self, sc, dt):
3567  r"""do_step(Simulator self, IMP::ParticleIndexes const & sc, double dt) -> double"""
3568  return _IMP_atom.Simulator_do_step(self, sc, dt)
3569 
3570  def get_is_simulation_particle(self, p):
3571  r"""get_is_simulation_particle(Simulator self, ParticleIndex p) -> bool"""
3572  return _IMP_atom.Simulator_get_is_simulation_particle(self, p)
3573 
3574  def do_simulate(self, time):
3575  r"""do_simulate(Simulator self, double time) -> double"""
3576  return _IMP_atom.Simulator_do_simulate(self, time)
3577 
3578  def do_simulate_wave(self, time_in_fs, max_time_step_factor=10.0, base=1.5):
3579  r"""do_simulate_wave(Simulator self, double time_in_fs, double max_time_step_factor=10.0, double base=1.5) -> double"""
3580  return _IMP_atom.Simulator_do_simulate_wave(self, time_in_fs, max_time_step_factor, base)
3581 
3582  def __str__(self):
3583  r"""__str__(Simulator self) -> std::string"""
3584  return _IMP_atom.Simulator___str__(self)
3585 
3586  def __repr__(self):
3587  r"""__repr__(Simulator self) -> std::string"""
3588  return _IMP_atom.Simulator___repr__(self)
3589 
3590  @staticmethod
3591  def get_from(o):
3592  return _object_cast_to_Simulator(o)
3593 
3594 
3595  def do_show(self, out):
3596  pass
3597 
3598  @staticmethod
3599  def get_from(o):
3600  return _object_cast_to_Simulator(o)
3601 
3602  __swig_destroy__ = _IMP_atom.delete_Simulator
3603  def __disown__(self):
3604  self.this.disown()
3605  _IMP_atom.disown_Simulator(self)
3606  return weakref.proxy(self)
3607 
3608  def do_destroy(self):
3609  r"""do_destroy(Simulator self)"""
3610  return _IMP_atom.Simulator_do_destroy(self)
3611 
3612  def handle_set_has_required_score_states(self, arg0):
3613  r"""handle_set_has_required_score_states(Simulator self, bool arg0)"""
3614  return _IMP_atom.Simulator_handle_set_has_required_score_states(self, arg0)
3615 
3616  def do_get_inputs(self):
3617  r"""do_get_inputs(Simulator self) -> IMP::ModelObjectsTemp"""
3618  return _IMP_atom.Simulator_do_get_inputs(self)
3619 
3620  def do_get_outputs(self):
3621  r"""do_get_outputs(Simulator self) -> IMP::ModelObjectsTemp"""
3622  return _IMP_atom.Simulator_do_get_outputs(self)
3623 
3624  def do_get_interactions(self):
3625  r"""do_get_interactions(Simulator self) -> IMP::ModelObjectsTemps"""
3626  return _IMP_atom.Simulator_do_get_interactions(self)
3627 
3628 # Register Simulator in _IMP_atom:
3629 _IMP_atom.Simulator_swigregister(Simulator)
3630 IMP_ATOM_DEFAULT_BD_RANDOM_POOL_SIZE = _IMP_atom.IMP_ATOM_DEFAULT_BD_RANDOM_POOL_SIZE
3631 
3632 class BrownianDynamics(Simulator):
3633  r"""Proxy of C++ IMP::atom::BrownianDynamics class."""
3634 
3635  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3636 
3637  def __init__(self, *args):
3638  r"""__init__(BrownianDynamics self, Model m, std::string name="BrownianDynamics%1%", double wave_factor=1.0, unsigned int random_pool_size=10000) -> BrownianDynamics"""
3639  _IMP_atom.BrownianDynamics_swiginit(self, _IMP_atom.new_BrownianDynamics(*args))
3640 
3641  def set_maximum_move(self, ms_in_A):
3642  r"""set_maximum_move(BrownianDynamics self, double ms_in_A)"""
3643  return _IMP_atom.BrownianDynamics_set_maximum_move(self, ms_in_A)
3644 
3645  def set_use_stochastic_runge_kutta(self, tf):
3646  r"""set_use_stochastic_runge_kutta(BrownianDynamics self, bool tf)"""
3647  return _IMP_atom.BrownianDynamics_set_use_stochastic_runge_kutta(self, tf)
3648 
3649  def get_version_info(self):
3650  r"""get_version_info(BrownianDynamics self) -> VersionInfo"""
3651  return _IMP_atom.BrownianDynamics_get_version_info(self)
3652  __swig_destroy__ = _IMP_atom.delete_BrownianDynamics
3653 
3654  def __str__(self):
3655  r"""__str__(BrownianDynamics self) -> std::string"""
3656  return _IMP_atom.BrownianDynamics___str__(self)
3657 
3658  def __repr__(self):
3659  r"""__repr__(BrownianDynamics self) -> std::string"""
3660  return _IMP_atom.BrownianDynamics___repr__(self)
3661 
3662  @staticmethod
3663  def get_from(o):
3664  return _object_cast_to_BrownianDynamics(o)
3665 
3666 
3667 # Register BrownianDynamics in _IMP_atom:
3668 _IMP_atom.BrownianDynamics_swigregister(BrownianDynamics)
3669 
3671  r"""get_maximum_time_step_estimate(BrownianDynamics bd) -> double"""
3672  return _IMP_atom.get_maximum_time_step_estimate(bd)
3673 
3674 def get_harmonic_sigma(D, f):
3675  r"""get_harmonic_sigma(double D, double f) -> double"""
3676  return _IMP_atom.get_harmonic_sigma(D, f)
3677 class BrownianDynamicsTAMD(BrownianDynamics):
3678  r"""Proxy of C++ IMP::atom::BrownianDynamicsTAMD class."""
3679 
3680  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3681 
3682  def __init__(self, *args):
3683  r"""__init__(BrownianDynamicsTAMD self, Model m, std::string name="BrownianDynamicsTAMD%1%", double wave_factor=1.0) -> BrownianDynamicsTAMD"""
3684  _IMP_atom.BrownianDynamicsTAMD_swiginit(self, _IMP_atom.new_BrownianDynamicsTAMD(*args))
3685 
3686  def __str__(self):
3687  r"""__str__(BrownianDynamicsTAMD self) -> std::string"""
3688  return _IMP_atom.BrownianDynamicsTAMD___str__(self)
3689 
3690  def __repr__(self):
3691  r"""__repr__(BrownianDynamicsTAMD self) -> std::string"""
3692  return _IMP_atom.BrownianDynamicsTAMD___repr__(self)
3693 
3694  @staticmethod
3695  def get_from(o):
3696  return _object_cast_to_BrownianDynamicsTAMD(o)
3697 
3698  __swig_destroy__ = _IMP_atom.delete_BrownianDynamicsTAMD
3699 
3700 # Register BrownianDynamicsTAMD in _IMP_atom:
3701 _IMP_atom.BrownianDynamicsTAMD_swigregister(BrownianDynamicsTAMD)
3702 class Diffusion(IMP.core.XYZ):
3703  r"""Proxy of C++ IMP::atom::Diffusion class."""
3704 
3705  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3706 
3707  def __init__(self, *args):
3708  r"""
3709  __init__(Diffusion self) -> Diffusion
3710  __init__(Diffusion self, Model m, ParticleIndex id) -> Diffusion
3711  __init__(Diffusion self, _ParticleAdaptor d) -> Diffusion
3712  """
3713  _IMP_atom.Diffusion_swiginit(self, _IMP_atom.new_Diffusion(*args))
3714 
3715  def show(self, *args):
3716  r"""show(Diffusion self, _ostream out=std::cout)"""
3717  return _IMP_atom.Diffusion_show(self, *args)
3718 
3719  @staticmethod
3720  def setup_particle(*args):
3721  r"""
3722  setup_particle(Model m, ParticleIndex pi, IMP::Float D) -> Diffusion
3723  setup_particle(_ParticleAdaptor pa, IMP::Float D) -> Diffusion
3724  setup_particle(Model m, ParticleIndex pi, Vector3D v, IMP::Float D) -> Diffusion
3725  setup_particle(_ParticleAdaptor pa, Vector3D v, IMP::Float D) -> Diffusion
3726  setup_particle(Model m, ParticleIndex pi) -> Diffusion
3727  setup_particle(_ParticleAdaptor pa) -> Diffusion
3728  """
3729  return _IMP_atom.Diffusion_setup_particle(*args)
3730 
3731  @staticmethod
3732  def get_is_setup(*args):
3733  r"""
3734  get_is_setup(_ParticleAdaptor p) -> bool
3735  get_is_setup(Model m, ParticleIndex p) -> bool
3736  """
3737  return _IMP_atom.Diffusion_get_is_setup(*args)
3738 
3739  def set_diffusion_coefficient(self, d):
3740  r"""set_diffusion_coefficient(Diffusion self, double d)"""
3741  return _IMP_atom.Diffusion_set_diffusion_coefficient(self, d)
3742 
3743  def get_diffusion_coefficient(self):
3744  r"""get_diffusion_coefficient(Diffusion self) -> double"""
3745  return _IMP_atom.Diffusion_get_diffusion_coefficient(self)
3746 
3747  @staticmethod
3748  def get_diffusion_coefficient_key():
3749  r"""get_diffusion_coefficient_key() -> FloatKey"""
3750  return _IMP_atom.Diffusion_get_diffusion_coefficient_key()
3751 
3752  def add_attribute(self, *args):
3753  r"""
3754  add_attribute(Diffusion self, FloatKey k, IMP::Float v, bool opt)
3755  add_attribute(Diffusion self, FloatKey a0, IMP::Float a1)
3756  add_attribute(Diffusion self, IntKey a0, IMP::Int a1)
3757  add_attribute(Diffusion self, FloatsKey a0, IMP::Floats a1)
3758  add_attribute(Diffusion self, IntsKey a0, IMP::Ints a1)
3759  add_attribute(Diffusion self, StringKey a0, IMP::String a1)
3760  add_attribute(Diffusion self, ParticleIndexKey a0, Particle a1)
3761  add_attribute(Diffusion self, ObjectKey a0, Object a1)
3762  add_attribute(Diffusion self, SparseFloatKey a0, IMP::Float a1)
3763  add_attribute(Diffusion self, SparseIntKey a0, IMP::Int a1)
3764  add_attribute(Diffusion self, SparseStringKey a0, IMP::String a1)
3765  add_attribute(Diffusion self, SparseParticleIndexKey a0, ParticleIndex a1)
3766  """
3767  return _IMP_atom.Diffusion_add_attribute(self, *args)
3768 
3769  def get_value(self, *args):
3770  r"""
3771  get_value(Diffusion self, FloatKey a0) -> IMP::Float
3772  get_value(Diffusion self, IntKey a0) -> IMP::Int
3773  get_value(Diffusion self, FloatsKey a0) -> IMP::Floats
3774  get_value(Diffusion self, IntsKey a0) -> IMP::Ints
3775  get_value(Diffusion self, StringKey a0) -> IMP::String
3776  get_value(Diffusion self, ParticleIndexKey a0) -> Particle
3777  get_value(Diffusion self, ObjectKey a0) -> Object
3778  get_value(Diffusion self, SparseFloatKey a0) -> IMP::Float
3779  get_value(Diffusion self, SparseIntKey a0) -> IMP::Int
3780  get_value(Diffusion self, SparseStringKey a0) -> IMP::String
3781  get_value(Diffusion self, SparseParticleIndexKey a0) -> ParticleIndex
3782  """
3783  return _IMP_atom.Diffusion_get_value(self, *args)
3784 
3785  def set_value(self, *args):
3786  r"""
3787  set_value(Diffusion self, FloatKey a0, IMP::Float a1)
3788  set_value(Diffusion self, IntKey a0, IMP::Int a1)
3789  set_value(Diffusion self, FloatsKey a0, IMP::Floats a1)
3790  set_value(Diffusion self, IntsKey a0, IMP::Ints a1)
3791  set_value(Diffusion self, StringKey a0, IMP::String a1)
3792  set_value(Diffusion self, ParticleIndexKey a0, Particle a1)
3793  set_value(Diffusion self, ObjectKey a0, Object a1)
3794  set_value(Diffusion self, SparseFloatKey a0, IMP::Float a1)
3795  set_value(Diffusion self, SparseIntKey a0, IMP::Int a1)
3796  set_value(Diffusion self, SparseStringKey a0, IMP::String a1)
3797  set_value(Diffusion self, SparseParticleIndexKey a0, ParticleIndex a1)
3798  """
3799  return _IMP_atom.Diffusion_set_value(self, *args)
3800 
3801  def remove_attribute(self, *args):
3802  r"""
3803  remove_attribute(Diffusion self, FloatKey a0)
3804  remove_attribute(Diffusion self, IntKey a0)
3805  remove_attribute(Diffusion self, FloatsKey a0)
3806  remove_attribute(Diffusion self, IntsKey a0)
3807  remove_attribute(Diffusion self, StringKey a0)
3808  remove_attribute(Diffusion self, ParticleIndexKey a0)
3809  remove_attribute(Diffusion self, ObjectKey a0)
3810  remove_attribute(Diffusion self, SparseFloatKey a0)
3811  remove_attribute(Diffusion self, SparseIntKey a0)
3812  remove_attribute(Diffusion self, SparseStringKey a0)
3813  remove_attribute(Diffusion self, SparseParticleIndexKey a0)
3814  """
3815  return _IMP_atom.Diffusion_remove_attribute(self, *args)
3816 
3817  def has_attribute(self, *args):
3818  r"""
3819  has_attribute(Diffusion self, FloatKey a0) -> bool
3820  has_attribute(Diffusion self, IntKey a0) -> bool
3821  has_attribute(Diffusion self, FloatsKey a0) -> bool
3822  has_attribute(Diffusion self, IntsKey a0) -> bool
3823  has_attribute(Diffusion self, StringKey a0) -> bool
3824  has_attribute(Diffusion self, ParticleIndexKey a0) -> bool
3825  has_attribute(Diffusion self, ObjectKey a0) -> bool
3826  has_attribute(Diffusion self, SparseFloatKey a0) -> bool
3827  has_attribute(Diffusion self, SparseIntKey a0) -> bool
3828  has_attribute(Diffusion self, SparseStringKey a0) -> bool
3829  has_attribute(Diffusion self, SparseParticleIndexKey a0) -> bool
3830  """
3831  return _IMP_atom.Diffusion_has_attribute(self, *args)
3832 
3833  def get_derivative(self, a0):
3834  r"""get_derivative(Diffusion self, FloatKey a0) -> double"""
3835  return _IMP_atom.Diffusion_get_derivative(self, a0)
3836 
3837  def get_name(self):
3838  r"""get_name(Diffusion self) -> std::string"""
3839  return _IMP_atom.Diffusion_get_name(self)
3840 
3841  def clear_caches(self):
3842  r"""clear_caches(Diffusion self)"""
3843  return _IMP_atom.Diffusion_clear_caches(self)
3844 
3845  def set_name(self, a0):
3846  r"""set_name(Diffusion self, std::string a0)"""
3847  return _IMP_atom.Diffusion_set_name(self, a0)
3848 
3849  def set_check_level(self, a0):
3850  r"""set_check_level(Diffusion self, IMP::CheckLevel a0)"""
3851  return _IMP_atom.Diffusion_set_check_level(self, a0)
3852 
3853  def add_to_derivative(self, a0, a1, a2):
3854  r"""add_to_derivative(Diffusion self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3855  return _IMP_atom.Diffusion_add_to_derivative(self, a0, a1, a2)
3856 
3857  def set_is_optimized(self, a0, a1):
3858  r"""set_is_optimized(Diffusion self, FloatKey a0, bool a1)"""
3859  return _IMP_atom.Diffusion_set_is_optimized(self, a0, a1)
3860 
3861  def get_is_optimized(self, a0):
3862  r"""get_is_optimized(Diffusion self, FloatKey a0) -> bool"""
3863  return _IMP_atom.Diffusion_get_is_optimized(self, a0)
3864 
3865  def get_check_level(self):
3866  r"""get_check_level(Diffusion self) -> IMP::CheckLevel"""
3867  return _IMP_atom.Diffusion_get_check_level(self)
3868 
3869  def __eq__(self, *args):
3870  r"""
3871  __eq__(Diffusion self, Diffusion o) -> bool
3872  __eq__(Diffusion self, Particle d) -> bool
3873  """
3874  return _IMP_atom.Diffusion___eq__(self, *args)
3875 
3876  def __ne__(self, *args):
3877  r"""
3878  __ne__(Diffusion self, Diffusion o) -> bool
3879  __ne__(Diffusion self, Particle d) -> bool
3880  """
3881  return _IMP_atom.Diffusion___ne__(self, *args)
3882 
3883  def __le__(self, *args):
3884  r"""
3885  __le__(Diffusion self, Diffusion o) -> bool
3886  __le__(Diffusion self, Particle d) -> bool
3887  """
3888  return _IMP_atom.Diffusion___le__(self, *args)
3889 
3890  def __lt__(self, *args):
3891  r"""
3892  __lt__(Diffusion self, Diffusion o) -> bool
3893  __lt__(Diffusion self, Particle d) -> bool
3894  """
3895  return _IMP_atom.Diffusion___lt__(self, *args)
3896 
3897  def __ge__(self, *args):
3898  r"""
3899  __ge__(Diffusion self, Diffusion o) -> bool
3900  __ge__(Diffusion self, Particle d) -> bool
3901  """
3902  return _IMP_atom.Diffusion___ge__(self, *args)
3903 
3904  def __gt__(self, *args):
3905  r"""
3906  __gt__(Diffusion self, Diffusion o) -> bool
3907  __gt__(Diffusion self, Particle d) -> bool
3908  """
3909  return _IMP_atom.Diffusion___gt__(self, *args)
3910 
3911  def __hash__(self):
3912  r"""__hash__(Diffusion self) -> std::size_t"""
3913  return _IMP_atom.Diffusion___hash__(self)
3914 
3915  def __str__(self):
3916  r"""__str__(Diffusion self) -> std::string"""
3917  return _IMP_atom.Diffusion___str__(self)
3918 
3919  def __repr__(self):
3920  r"""__repr__(Diffusion self) -> std::string"""
3921  return _IMP_atom.Diffusion___repr__(self)
3922 
3923  def _get_as_binary(self):
3924  r"""_get_as_binary(Diffusion self) -> PyObject *"""
3925  return _IMP_atom.Diffusion__get_as_binary(self)
3926 
3927  def _set_from_binary(self, p):
3928  r"""_set_from_binary(Diffusion self, PyObject * p)"""
3929  return _IMP_atom.Diffusion__set_from_binary(self, p)
3930 
3931  def __getstate__(self):
3932  p = self._get_as_binary()
3933  if len(self.__dict__) > 1:
3934  d = self.__dict__.copy()
3935  del d['this']
3936  p = (d, p)
3937  return p
3938 
3939  def __setstate__(self, p):
3940  if not hasattr(self, 'this'):
3941  self.__init__()
3942  if isinstance(p, tuple):
3943  d, p = p
3944  self.__dict__.update(d)
3945  return self._set_from_binary(p)
3946 
3947  __swig_destroy__ = _IMP_atom.delete_Diffusion
3948 
3949 # Register Diffusion in _IMP_atom:
3950 _IMP_atom.Diffusion_swigregister(Diffusion)
3951 
3952 def get_diffusion_coefficient_from_cm2_per_second(din):
3953  r"""get_diffusion_coefficient_from_cm2_per_second(double din) -> double"""
3954  return _IMP_atom.get_diffusion_coefficient_from_cm2_per_second(din)
3955 class RigidBodyDiffusion(Diffusion):
3956  r"""Proxy of C++ IMP::atom::RigidBodyDiffusion class."""
3957 
3958  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3959 
3960  def __init__(self, *args):
3961  r"""
3962  __init__(RigidBodyDiffusion self) -> RigidBodyDiffusion
3963  __init__(RigidBodyDiffusion self, Model m, ParticleIndex id) -> RigidBodyDiffusion
3964  __init__(RigidBodyDiffusion self, _ParticleAdaptor d) -> RigidBodyDiffusion
3965  """
3966  _IMP_atom.RigidBodyDiffusion_swiginit(self, _IMP_atom.new_RigidBodyDiffusion(*args))
3967 
3968  def show(self, *args):
3969  r"""show(RigidBodyDiffusion self, _ostream out=std::cout)"""
3970  return _IMP_atom.RigidBodyDiffusion_show(self, *args)
3971 
3972  @staticmethod
3973  def setup_particle(*args):
3974  r"""
3975  setup_particle(Model m, ParticleIndex pi) -> RigidBodyDiffusion
3976  setup_particle(_ParticleAdaptor pa) -> RigidBodyDiffusion
3977  """
3978  return _IMP_atom.RigidBodyDiffusion_setup_particle(*args)
3979 
3981  r"""get_rotational_diffusion_coefficient(RigidBodyDiffusion self) -> double"""
3982  return _IMP_atom.RigidBodyDiffusion_get_rotational_diffusion_coefficient(self)
3983 
3984  def set_rotational_diffusion_coefficient(self, d):
3985  r"""set_rotational_diffusion_coefficient(RigidBodyDiffusion self, double d)"""
3986  return _IMP_atom.RigidBodyDiffusion_set_rotational_diffusion_coefficient(self, d)
3987 
3988  @staticmethod
3989  def get_is_setup(*args):
3990  r"""
3991  get_is_setup(_ParticleAdaptor p) -> bool
3992  get_is_setup(Model m, ParticleIndex p) -> bool
3993  """
3994  return _IMP_atom.RigidBodyDiffusion_get_is_setup(*args)
3995 
3996  @staticmethod
3997  def get_rotational_diffusion_coefficient_key():
3998  r"""get_rotational_diffusion_coefficient_key() -> FloatKey"""
3999  return _IMP_atom.RigidBodyDiffusion_get_rotational_diffusion_coefficient_key()
4000 
4001  def add_attribute(self, *args):
4002  r"""
4003  add_attribute(RigidBodyDiffusion self, FloatKey k, IMP::Float v, bool opt)
4004  add_attribute(RigidBodyDiffusion self, FloatKey a0, IMP::Float a1)
4005  add_attribute(RigidBodyDiffusion self, IntKey a0, IMP::Int a1)
4006  add_attribute(RigidBodyDiffusion self, FloatsKey a0, IMP::Floats a1)
4007  add_attribute(RigidBodyDiffusion self, IntsKey a0, IMP::Ints a1)
4008  add_attribute(RigidBodyDiffusion self, StringKey a0, IMP::String a1)
4009  add_attribute(RigidBodyDiffusion self, ParticleIndexKey a0, Particle a1)
4010  add_attribute(RigidBodyDiffusion self, ObjectKey a0, Object a1)
4011  add_attribute(RigidBodyDiffusion self, SparseFloatKey a0, IMP::Float a1)
4012  add_attribute(RigidBodyDiffusion self, SparseIntKey a0, IMP::Int a1)
4013  add_attribute(RigidBodyDiffusion self, SparseStringKey a0, IMP::String a1)
4014  add_attribute(RigidBodyDiffusion self, SparseParticleIndexKey a0, ParticleIndex a1)
4015  """
4016  return _IMP_atom.RigidBodyDiffusion_add_attribute(self, *args)
4017 
4018  def get_value(self, *args):
4019  r"""
4020  get_value(RigidBodyDiffusion self, FloatKey a0) -> IMP::Float
4021  get_value(RigidBodyDiffusion self, IntKey a0) -> IMP::Int
4022  get_value(RigidBodyDiffusion self, FloatsKey a0) -> IMP::Floats
4023  get_value(RigidBodyDiffusion self, IntsKey a0) -> IMP::Ints
4024  get_value(RigidBodyDiffusion self, StringKey a0) -> IMP::String
4025  get_value(RigidBodyDiffusion self, ParticleIndexKey a0) -> Particle
4026  get_value(RigidBodyDiffusion self, ObjectKey a0) -> Object
4027  get_value(RigidBodyDiffusion self, SparseFloatKey a0) -> IMP::Float
4028  get_value(RigidBodyDiffusion self, SparseIntKey a0) -> IMP::Int
4029  get_value(RigidBodyDiffusion self, SparseStringKey a0) -> IMP::String
4030  get_value(RigidBodyDiffusion self, SparseParticleIndexKey a0) -> ParticleIndex
4031  """
4032  return _IMP_atom.RigidBodyDiffusion_get_value(self, *args)
4033 
4034  def set_value(self, *args):
4035  r"""
4036  set_value(RigidBodyDiffusion self, FloatKey a0, IMP::Float a1)
4037  set_value(RigidBodyDiffusion self, IntKey a0, IMP::Int a1)
4038  set_value(RigidBodyDiffusion self, FloatsKey a0, IMP::Floats a1)
4039  set_value(RigidBodyDiffusion self, IntsKey a0, IMP::Ints a1)
4040  set_value(RigidBodyDiffusion self, StringKey a0, IMP::String a1)
4041  set_value(RigidBodyDiffusion self, ParticleIndexKey a0, Particle a1)
4042  set_value(RigidBodyDiffusion self, ObjectKey a0, Object a1)
4043  set_value(RigidBodyDiffusion self, SparseFloatKey a0, IMP::Float a1)
4044  set_value(RigidBodyDiffusion self, SparseIntKey a0, IMP::Int a1)
4045  set_value(RigidBodyDiffusion self, SparseStringKey a0, IMP::String a1)
4046  set_value(RigidBodyDiffusion self, SparseParticleIndexKey a0, ParticleIndex a1)
4047  """
4048  return _IMP_atom.RigidBodyDiffusion_set_value(self, *args)
4049 
4050  def remove_attribute(self, *args):
4051  r"""
4052  remove_attribute(RigidBodyDiffusion self, FloatKey a0)
4053  remove_attribute(RigidBodyDiffusion self, IntKey a0)
4054  remove_attribute(RigidBodyDiffusion self, FloatsKey a0)
4055  remove_attribute(RigidBodyDiffusion self, IntsKey a0)
4056  remove_attribute(RigidBodyDiffusion self, StringKey a0)
4057  remove_attribute(RigidBodyDiffusion self, ParticleIndexKey a0)
4058  remove_attribute(RigidBodyDiffusion self, ObjectKey a0)
4059  remove_attribute(RigidBodyDiffusion self, SparseFloatKey a0)
4060  remove_attribute(RigidBodyDiffusion self, SparseIntKey a0)
4061  remove_attribute(RigidBodyDiffusion self, SparseStringKey a0)
4062  remove_attribute(RigidBodyDiffusion self, SparseParticleIndexKey a0)
4063  """
4064  return _IMP_atom.RigidBodyDiffusion_remove_attribute(self, *args)
4065 
4066  def has_attribute(self, *args):
4067  r"""
4068  has_attribute(RigidBodyDiffusion self, FloatKey a0) -> bool
4069  has_attribute(RigidBodyDiffusion self, IntKey a0) -> bool
4070  has_attribute(RigidBodyDiffusion self, FloatsKey a0) -> bool
4071  has_attribute(RigidBodyDiffusion self, IntsKey a0) -> bool
4072  has_attribute(RigidBodyDiffusion self, StringKey a0) -> bool
4073  has_attribute(RigidBodyDiffusion self, ParticleIndexKey a0) -> bool
4074  has_attribute(RigidBodyDiffusion self, ObjectKey a0) -> bool
4075  has_attribute(RigidBodyDiffusion self, SparseFloatKey a0) -> bool
4076  has_attribute(RigidBodyDiffusion self, SparseIntKey a0) -> bool
4077  has_attribute(RigidBodyDiffusion self, SparseStringKey a0) -> bool
4078  has_attribute(RigidBodyDiffusion self, SparseParticleIndexKey a0) -> bool
4079  """
4080  return _IMP_atom.RigidBodyDiffusion_has_attribute(self, *args)
4081 
4082  def get_derivative(self, a0):
4083  r"""get_derivative(RigidBodyDiffusion self, FloatKey a0) -> double"""
4084  return _IMP_atom.RigidBodyDiffusion_get_derivative(self, a0)
4085 
4086  def get_name(self):
4087  r"""get_name(RigidBodyDiffusion self) -> std::string"""
4088  return _IMP_atom.RigidBodyDiffusion_get_name(self)
4089 
4090  def clear_caches(self):
4091  r"""clear_caches(RigidBodyDiffusion self)"""
4092  return _IMP_atom.RigidBodyDiffusion_clear_caches(self)
4093 
4094  def set_name(self, a0):
4095  r"""set_name(RigidBodyDiffusion self, std::string a0)"""
4096  return _IMP_atom.RigidBodyDiffusion_set_name(self, a0)
4097 
4098  def set_check_level(self, a0):
4099  r"""set_check_level(RigidBodyDiffusion self, IMP::CheckLevel a0)"""
4100  return _IMP_atom.RigidBodyDiffusion_set_check_level(self, a0)
4101 
4102  def add_to_derivative(self, a0, a1, a2):
4103  r"""add_to_derivative(RigidBodyDiffusion self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4104  return _IMP_atom.RigidBodyDiffusion_add_to_derivative(self, a0, a1, a2)
4105 
4106  def set_is_optimized(self, a0, a1):
4107  r"""set_is_optimized(RigidBodyDiffusion self, FloatKey a0, bool a1)"""
4108  return _IMP_atom.RigidBodyDiffusion_set_is_optimized(self, a0, a1)
4109 
4110  def get_is_optimized(self, a0):
4111  r"""get_is_optimized(RigidBodyDiffusion self, FloatKey a0) -> bool"""
4112  return _IMP_atom.RigidBodyDiffusion_get_is_optimized(self, a0)
4113 
4114  def get_check_level(self):
4115  r"""get_check_level(RigidBodyDiffusion self) -> IMP::CheckLevel"""
4116  return _IMP_atom.RigidBodyDiffusion_get_check_level(self)
4117 
4118  def __eq__(self, *args):
4119  r"""
4120  __eq__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4121  __eq__(RigidBodyDiffusion self, Particle d) -> bool
4122  """
4123  return _IMP_atom.RigidBodyDiffusion___eq__(self, *args)
4124 
4125  def __ne__(self, *args):
4126  r"""
4127  __ne__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4128  __ne__(RigidBodyDiffusion self, Particle d) -> bool
4129  """
4130  return _IMP_atom.RigidBodyDiffusion___ne__(self, *args)
4131 
4132  def __le__(self, *args):
4133  r"""
4134  __le__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4135  __le__(RigidBodyDiffusion self, Particle d) -> bool
4136  """
4137  return _IMP_atom.RigidBodyDiffusion___le__(self, *args)
4138 
4139  def __lt__(self, *args):
4140  r"""
4141  __lt__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4142  __lt__(RigidBodyDiffusion self, Particle d) -> bool
4143  """
4144  return _IMP_atom.RigidBodyDiffusion___lt__(self, *args)
4145 
4146  def __ge__(self, *args):
4147  r"""
4148  __ge__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4149  __ge__(RigidBodyDiffusion self, Particle d) -> bool
4150  """
4151  return _IMP_atom.RigidBodyDiffusion___ge__(self, *args)
4152 
4153  def __gt__(self, *args):
4154  r"""
4155  __gt__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4156  __gt__(RigidBodyDiffusion self, Particle d) -> bool
4157  """
4158  return _IMP_atom.RigidBodyDiffusion___gt__(self, *args)
4159 
4160  def __hash__(self):
4161  r"""__hash__(RigidBodyDiffusion self) -> std::size_t"""
4162  return _IMP_atom.RigidBodyDiffusion___hash__(self)
4163 
4164  def __str__(self):
4165  r"""__str__(RigidBodyDiffusion self) -> std::string"""
4166  return _IMP_atom.RigidBodyDiffusion___str__(self)
4167 
4168  def __repr__(self):
4169  r"""__repr__(RigidBodyDiffusion self) -> std::string"""
4170  return _IMP_atom.RigidBodyDiffusion___repr__(self)
4171 
4172  def _get_as_binary(self):
4173  r"""_get_as_binary(RigidBodyDiffusion self) -> PyObject *"""
4174  return _IMP_atom.RigidBodyDiffusion__get_as_binary(self)
4175 
4176  def _set_from_binary(self, p):
4177  r"""_set_from_binary(RigidBodyDiffusion self, PyObject * p)"""
4178  return _IMP_atom.RigidBodyDiffusion__set_from_binary(self, p)
4179 
4180  def __getstate__(self):
4181  p = self._get_as_binary()
4182  if len(self.__dict__) > 1:
4183  d = self.__dict__.copy()
4184  del d['this']
4185  p = (d, p)
4186  return p
4187 
4188  def __setstate__(self, p):
4189  if not hasattr(self, 'this'):
4190  self.__init__()
4191  if isinstance(p, tuple):
4192  d, p = p
4193  self.__dict__.update(d)
4194  return self._set_from_binary(p)
4195 
4196  __swig_destroy__ = _IMP_atom.delete_RigidBodyDiffusion
4197 
4198 # Register RigidBodyDiffusion in _IMP_atom:
4199 _IMP_atom.RigidBodyDiffusion_swigregister(RigidBodyDiffusion)
4200 class TAMDParticle(IMP.Decorator):
4201  r"""Proxy of C++ IMP::atom::TAMDParticle class."""
4202 
4203  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4204 
4205  def __init__(self, *args):
4206  r"""
4207  __init__(TAMDParticle self) -> TAMDParticle
4208  __init__(TAMDParticle self, Model m, ParticleIndex id) -> TAMDParticle
4209  __init__(TAMDParticle self, _ParticleAdaptor d) -> TAMDParticle
4210  """
4211  _IMP_atom.TAMDParticle_swiginit(self, _IMP_atom.new_TAMDParticle(*args))
4212 
4213  def show(self, *args):
4214  r"""show(TAMDParticle self, _ostream out=std::cout)"""
4215  return _IMP_atom.TAMDParticle_show(self, *args)
4216 
4217  @staticmethod
4218  def setup_particle(*args):
4219  r"""
4220  setup_particle(Model m, ParticleIndex pi, ParticleIndex pi_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
4221  setup_particle(_ParticleAdaptor pa, ParticleIndex pi_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
4222  setup_particle(Model m, ParticleIndex pi, Particle p_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
4223  setup_particle(_ParticleAdaptor pa, Particle p_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
4224  """
4225  return _IMP_atom.TAMDParticle_setup_particle(*args)
4226 
4227  @staticmethod
4228  def get_is_setup(*args):
4229  r"""
4230  get_is_setup(_ParticleAdaptor p) -> bool
4231  get_is_setup(Model m, ParticleIndex p) -> bool
4232  """
4233  return _IMP_atom.TAMDParticle_get_is_setup(*args)
4234 
4235  def get_reference_particle_index(self):
4236  r"""get_reference_particle_index(TAMDParticle self) -> ParticleIndex"""
4237  return _IMP_atom.TAMDParticle_get_reference_particle_index(self)
4238 
4239  def set_temperature_scale_factor(self, tsf):
4240  r"""set_temperature_scale_factor(TAMDParticle self, float tsf)"""
4241  return _IMP_atom.TAMDParticle_set_temperature_scale_factor(self, tsf)
4242 
4243  def get_temperature_scale_factor(self):
4244  r"""get_temperature_scale_factor(TAMDParticle self) -> double"""
4245  return _IMP_atom.TAMDParticle_get_temperature_scale_factor(self)
4246 
4247  def set_friction_scale_factor(self, tsf):
4248  r"""set_friction_scale_factor(TAMDParticle self, float tsf)"""
4249  return _IMP_atom.TAMDParticle_set_friction_scale_factor(self, tsf)
4250 
4251  def get_friction_scale_factor(self):
4252  r"""get_friction_scale_factor(TAMDParticle self) -> double"""
4253  return _IMP_atom.TAMDParticle_get_friction_scale_factor(self)
4254 
4255  def update_coordinates_from_ref(self):
4256  r"""update_coordinates_from_ref(TAMDParticle self)"""
4257  return _IMP_atom.TAMDParticle_update_coordinates_from_ref(self)
4258 
4259  @staticmethod
4260  def get_temperature_scale_factor_key():
4261  r"""get_temperature_scale_factor_key() -> FloatKey"""
4262  return _IMP_atom.TAMDParticle_get_temperature_scale_factor_key()
4263 
4264  @staticmethod
4265  def get_friction_scale_factor_key():
4266  r"""get_friction_scale_factor_key() -> FloatKey"""
4267  return _IMP_atom.TAMDParticle_get_friction_scale_factor_key()
4268 
4269  @staticmethod
4270  def get_reference_particle_index_key():
4271  r"""get_reference_particle_index_key() -> ParticleIndexKey"""
4272  return _IMP_atom.TAMDParticle_get_reference_particle_index_key()
4273 
4274  def add_attribute(self, *args):
4275  r"""
4276  add_attribute(TAMDParticle self, FloatKey k, IMP::Float v, bool opt)
4277  add_attribute(TAMDParticle self, FloatKey a0, IMP::Float a1)
4278  add_attribute(TAMDParticle self, IntKey a0, IMP::Int a1)
4279  add_attribute(TAMDParticle self, FloatsKey a0, IMP::Floats a1)
4280  add_attribute(TAMDParticle self, IntsKey a0, IMP::Ints a1)
4281  add_attribute(TAMDParticle self, StringKey a0, IMP::String a1)
4282  add_attribute(TAMDParticle self, ParticleIndexKey a0, Particle a1)
4283  add_attribute(TAMDParticle self, ObjectKey a0, Object a1)
4284  add_attribute(TAMDParticle self, SparseFloatKey a0, IMP::Float a1)
4285  add_attribute(TAMDParticle self, SparseIntKey a0, IMP::Int a1)
4286  add_attribute(TAMDParticle self, SparseStringKey a0, IMP::String a1)
4287  add_attribute(TAMDParticle self, SparseParticleIndexKey a0, ParticleIndex a1)
4288  """
4289  return _IMP_atom.TAMDParticle_add_attribute(self, *args)
4290 
4291  def get_value(self, *args):
4292  r"""
4293  get_value(TAMDParticle self, FloatKey a0) -> IMP::Float
4294  get_value(TAMDParticle self, IntKey a0) -> IMP::Int
4295  get_value(TAMDParticle self, FloatsKey a0) -> IMP::Floats
4296  get_value(TAMDParticle self, IntsKey a0) -> IMP::Ints
4297  get_value(TAMDParticle self, StringKey a0) -> IMP::String
4298  get_value(TAMDParticle self, ParticleIndexKey a0) -> Particle
4299  get_value(TAMDParticle self, ObjectKey a0) -> Object
4300  get_value(TAMDParticle self, SparseFloatKey a0) -> IMP::Float
4301  get_value(TAMDParticle self, SparseIntKey a0) -> IMP::Int
4302  get_value(TAMDParticle self, SparseStringKey a0) -> IMP::String
4303  get_value(TAMDParticle self, SparseParticleIndexKey a0) -> ParticleIndex
4304  """
4305  return _IMP_atom.TAMDParticle_get_value(self, *args)
4306 
4307  def set_value(self, *args):
4308  r"""
4309  set_value(TAMDParticle self, FloatKey a0, IMP::Float a1)
4310  set_value(TAMDParticle self, IntKey a0, IMP::Int a1)
4311  set_value(TAMDParticle self, FloatsKey a0, IMP::Floats a1)
4312  set_value(TAMDParticle self, IntsKey a0, IMP::Ints a1)
4313  set_value(TAMDParticle self, StringKey a0, IMP::String a1)
4314  set_value(TAMDParticle self, ParticleIndexKey a0, Particle a1)
4315  set_value(TAMDParticle self, ObjectKey a0, Object a1)
4316  set_value(TAMDParticle self, SparseFloatKey a0, IMP::Float a1)
4317  set_value(TAMDParticle self, SparseIntKey a0, IMP::Int a1)
4318  set_value(TAMDParticle self, SparseStringKey a0, IMP::String a1)
4319  set_value(TAMDParticle self, SparseParticleIndexKey a0, ParticleIndex a1)
4320  """
4321  return _IMP_atom.TAMDParticle_set_value(self, *args)
4322 
4323  def remove_attribute(self, *args):
4324  r"""
4325  remove_attribute(TAMDParticle self, FloatKey a0)
4326  remove_attribute(TAMDParticle self, IntKey a0)
4327  remove_attribute(TAMDParticle self, FloatsKey a0)
4328  remove_attribute(TAMDParticle self, IntsKey a0)
4329  remove_attribute(TAMDParticle self, StringKey a0)
4330  remove_attribute(TAMDParticle self, ParticleIndexKey a0)
4331  remove_attribute(TAMDParticle self, ObjectKey a0)
4332  remove_attribute(TAMDParticle self, SparseFloatKey a0)
4333  remove_attribute(TAMDParticle self, SparseIntKey a0)
4334  remove_attribute(TAMDParticle self, SparseStringKey a0)
4335  remove_attribute(TAMDParticle self, SparseParticleIndexKey a0)
4336  """
4337  return _IMP_atom.TAMDParticle_remove_attribute(self, *args)
4338 
4339  def has_attribute(self, *args):
4340  r"""
4341  has_attribute(TAMDParticle self, FloatKey a0) -> bool
4342  has_attribute(TAMDParticle self, IntKey a0) -> bool
4343  has_attribute(TAMDParticle self, FloatsKey a0) -> bool
4344  has_attribute(TAMDParticle self, IntsKey a0) -> bool
4345  has_attribute(TAMDParticle self, StringKey a0) -> bool
4346  has_attribute(TAMDParticle self, ParticleIndexKey a0) -> bool
4347  has_attribute(TAMDParticle self, ObjectKey a0) -> bool
4348  has_attribute(TAMDParticle self, SparseFloatKey a0) -> bool
4349  has_attribute(TAMDParticle self, SparseIntKey a0) -> bool
4350  has_attribute(TAMDParticle self, SparseStringKey a0) -> bool
4351  has_attribute(TAMDParticle self, SparseParticleIndexKey a0) -> bool
4352  """
4353  return _IMP_atom.TAMDParticle_has_attribute(self, *args)
4354 
4355  def get_derivative(self, a0):
4356  r"""get_derivative(TAMDParticle self, FloatKey a0) -> double"""
4357  return _IMP_atom.TAMDParticle_get_derivative(self, a0)
4358 
4359  def get_name(self):
4360  r"""get_name(TAMDParticle self) -> std::string"""
4361  return _IMP_atom.TAMDParticle_get_name(self)
4362 
4363  def clear_caches(self):
4364  r"""clear_caches(TAMDParticle self)"""
4365  return _IMP_atom.TAMDParticle_clear_caches(self)
4366 
4367  def set_name(self, a0):
4368  r"""set_name(TAMDParticle self, std::string a0)"""
4369  return _IMP_atom.TAMDParticle_set_name(self, a0)
4370 
4371  def set_check_level(self, a0):
4372  r"""set_check_level(TAMDParticle self, IMP::CheckLevel a0)"""
4373  return _IMP_atom.TAMDParticle_set_check_level(self, a0)
4374 
4375  def add_to_derivative(self, a0, a1, a2):
4376  r"""add_to_derivative(TAMDParticle self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4377  return _IMP_atom.TAMDParticle_add_to_derivative(self, a0, a1, a2)
4378 
4379  def set_is_optimized(self, a0, a1):
4380  r"""set_is_optimized(TAMDParticle self, FloatKey a0, bool a1)"""
4381  return _IMP_atom.TAMDParticle_set_is_optimized(self, a0, a1)
4382 
4383  def get_is_optimized(self, a0):
4384  r"""get_is_optimized(TAMDParticle self, FloatKey a0) -> bool"""
4385  return _IMP_atom.TAMDParticle_get_is_optimized(self, a0)
4386 
4387  def get_check_level(self):
4388  r"""get_check_level(TAMDParticle self) -> IMP::CheckLevel"""
4389  return _IMP_atom.TAMDParticle_get_check_level(self)
4390 
4391  def __eq__(self, *args):
4392  r"""
4393  __eq__(TAMDParticle self, TAMDParticle o) -> bool
4394  __eq__(TAMDParticle self, Particle d) -> bool
4395  """
4396  return _IMP_atom.TAMDParticle___eq__(self, *args)
4397 
4398  def __ne__(self, *args):
4399  r"""
4400  __ne__(TAMDParticle self, TAMDParticle o) -> bool
4401  __ne__(TAMDParticle self, Particle d) -> bool
4402  """
4403  return _IMP_atom.TAMDParticle___ne__(self, *args)
4404 
4405  def __le__(self, *args):
4406  r"""
4407  __le__(TAMDParticle self, TAMDParticle o) -> bool
4408  __le__(TAMDParticle self, Particle d) -> bool
4409  """
4410  return _IMP_atom.TAMDParticle___le__(self, *args)
4411 
4412  def __lt__(self, *args):
4413  r"""
4414  __lt__(TAMDParticle self, TAMDParticle o) -> bool
4415  __lt__(TAMDParticle self, Particle d) -> bool
4416  """
4417  return _IMP_atom.TAMDParticle___lt__(self, *args)
4418 
4419  def __ge__(self, *args):
4420  r"""
4421  __ge__(TAMDParticle self, TAMDParticle o) -> bool
4422  __ge__(TAMDParticle self, Particle d) -> bool
4423  """
4424  return _IMP_atom.TAMDParticle___ge__(self, *args)
4425 
4426  def __gt__(self, *args):
4427  r"""
4428  __gt__(TAMDParticle self, TAMDParticle o) -> bool
4429  __gt__(TAMDParticle self, Particle d) -> bool
4430  """
4431  return _IMP_atom.TAMDParticle___gt__(self, *args)
4432 
4433  def __hash__(self):
4434  r"""__hash__(TAMDParticle self) -> std::size_t"""
4435  return _IMP_atom.TAMDParticle___hash__(self)
4436 
4437  def __str__(self):
4438  r"""__str__(TAMDParticle self) -> std::string"""
4439  return _IMP_atom.TAMDParticle___str__(self)
4440 
4441  def __repr__(self):
4442  r"""__repr__(TAMDParticle self) -> std::string"""
4443  return _IMP_atom.TAMDParticle___repr__(self)
4444 
4445  def _get_as_binary(self):
4446  r"""_get_as_binary(TAMDParticle self) -> PyObject *"""
4447  return _IMP_atom.TAMDParticle__get_as_binary(self)
4448 
4449  def _set_from_binary(self, p):
4450  r"""_set_from_binary(TAMDParticle self, PyObject * p)"""
4451  return _IMP_atom.TAMDParticle__set_from_binary(self, p)
4452 
4453  def __getstate__(self):
4454  p = self._get_as_binary()
4455  if len(self.__dict__) > 1:
4456  d = self.__dict__.copy()
4457  del d['this']
4458  p = (d, p)
4459  return p
4460 
4461  def __setstate__(self, p):
4462  if not hasattr(self, 'this'):
4463  self.__init__()
4464  if isinstance(p, tuple):
4465  d, p = p
4466  self.__dict__.update(d)
4467  return self._set_from_binary(p)
4468 
4469  __swig_destroy__ = _IMP_atom.delete_TAMDParticle
4470 
4471 # Register TAMDParticle in _IMP_atom:
4472 _IMP_atom.TAMDParticle_swigregister(TAMDParticle)
4473 class Charged(IMP.core.XYZ):
4474  r"""Proxy of C++ IMP::atom::Charged class."""
4475 
4476  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4477 
4478  def __init__(self, *args):
4479  r"""
4480  __init__(Charged self) -> Charged
4481  __init__(Charged self, Model m, ParticleIndex id) -> Charged
4482  __init__(Charged self, _ParticleAdaptor d) -> Charged
4483  """
4484  _IMP_atom.Charged_swiginit(self, _IMP_atom.new_Charged(*args))
4485 
4486  def show(self, *args):
4487  r"""show(Charged self, _ostream out=std::cout)"""
4488  return _IMP_atom.Charged_show(self, *args)
4489 
4490  @staticmethod
4491  def setup_particle(*args):
4492  r"""
4493  setup_particle(Model m, ParticleIndex pi, IMP::Float charge) -> Charged
4494  setup_particle(_ParticleAdaptor pa, IMP::Float charge) -> Charged
4495  setup_particle(Model m, ParticleIndex pi, Vector3D v, IMP::Float charge) -> Charged
4496  setup_particle(_ParticleAdaptor pa, Vector3D v, IMP::Float charge) -> Charged
4497  """
4498  return _IMP_atom.Charged_setup_particle(*args)
4499 
4500  def get_charge(self):
4501  r"""get_charge(Charged self) -> IMP::Float"""
4502  return _IMP_atom.Charged_get_charge(self)
4503 
4504  def set_charge(self, t):
4505  r"""set_charge(Charged self, IMP::Float t)"""
4506  return _IMP_atom.Charged_set_charge(self, t)
4507 
4508  @staticmethod
4509  def get_is_setup(*args):
4510  r"""
4511  get_is_setup(_ParticleAdaptor p) -> bool
4512  get_is_setup(Model m, ParticleIndex pi) -> bool
4513  """
4514  return _IMP_atom.Charged_get_is_setup(*args)
4515 
4516  @staticmethod
4517  def get_charge_key():
4518  r"""get_charge_key() -> FloatKey"""
4519  return _IMP_atom.Charged_get_charge_key()
4520 
4521  def add_attribute(self, *args):
4522  r"""
4523  add_attribute(Charged self, FloatKey k, IMP::Float v, bool opt)
4524  add_attribute(Charged self, FloatKey a0, IMP::Float a1)
4525  add_attribute(Charged self, IntKey a0, IMP::Int a1)
4526  add_attribute(Charged self, FloatsKey a0, IMP::Floats a1)
4527  add_attribute(Charged self, IntsKey a0, IMP::Ints a1)
4528  add_attribute(Charged self, StringKey a0, IMP::String a1)
4529  add_attribute(Charged self, ParticleIndexKey a0, Particle a1)
4530  add_attribute(Charged self, ObjectKey a0, Object a1)
4531  add_attribute(Charged self, SparseFloatKey a0, IMP::Float a1)
4532  add_attribute(Charged self, SparseIntKey a0, IMP::Int a1)
4533  add_attribute(Charged self, SparseStringKey a0, IMP::String a1)
4534  add_attribute(Charged self, SparseParticleIndexKey a0, ParticleIndex a1)
4535  """
4536  return _IMP_atom.Charged_add_attribute(self, *args)
4537 
4538  def get_value(self, *args):
4539  r"""
4540  get_value(Charged self, FloatKey a0) -> IMP::Float
4541  get_value(Charged self, IntKey a0) -> IMP::Int
4542  get_value(Charged self, FloatsKey a0) -> IMP::Floats
4543  get_value(Charged self, IntsKey a0) -> IMP::Ints
4544  get_value(Charged self, StringKey a0) -> IMP::String
4545  get_value(Charged self, ParticleIndexKey a0) -> Particle
4546  get_value(Charged self, ObjectKey a0) -> Object
4547  get_value(Charged self, SparseFloatKey a0) -> IMP::Float
4548  get_value(Charged self, SparseIntKey a0) -> IMP::Int
4549  get_value(Charged self, SparseStringKey a0) -> IMP::String
4550  get_value(Charged self, SparseParticleIndexKey a0) -> ParticleIndex
4551  """
4552  return _IMP_atom.Charged_get_value(self, *args)
4553 
4554  def set_value(self, *args):
4555  r"""
4556  set_value(Charged self, FloatKey a0, IMP::Float a1)
4557  set_value(Charged self, IntKey a0, IMP::Int a1)
4558  set_value(Charged self, FloatsKey a0, IMP::Floats a1)
4559  set_value(Charged self, IntsKey a0, IMP::Ints a1)
4560  set_value(Charged self, StringKey a0, IMP::String a1)
4561  set_value(Charged self, ParticleIndexKey a0, Particle a1)
4562  set_value(Charged self, ObjectKey a0, Object a1)
4563  set_value(Charged self, SparseFloatKey a0, IMP::Float a1)
4564  set_value(Charged self, SparseIntKey a0, IMP::Int a1)
4565  set_value(Charged self, SparseStringKey a0, IMP::String a1)
4566  set_value(Charged self, SparseParticleIndexKey a0, ParticleIndex a1)
4567  """
4568  return _IMP_atom.Charged_set_value(self, *args)
4569 
4570  def remove_attribute(self, *args):
4571  r"""
4572  remove_attribute(Charged self, FloatKey a0)
4573  remove_attribute(Charged self, IntKey a0)
4574  remove_attribute(Charged self, FloatsKey a0)
4575  remove_attribute(Charged self, IntsKey a0)
4576  remove_attribute(Charged self, StringKey a0)
4577  remove_attribute(Charged self, ParticleIndexKey a0)
4578  remove_attribute(Charged self, ObjectKey a0)
4579  remove_attribute(Charged self, SparseFloatKey a0)
4580  remove_attribute(Charged self, SparseIntKey a0)
4581  remove_attribute(Charged self, SparseStringKey a0)
4582  remove_attribute(Charged self, SparseParticleIndexKey a0)
4583  """
4584  return _IMP_atom.Charged_remove_attribute(self, *args)
4585 
4586  def has_attribute(self, *args):
4587  r"""
4588  has_attribute(Charged self, FloatKey a0) -> bool
4589  has_attribute(Charged self, IntKey a0) -> bool
4590  has_attribute(Charged self, FloatsKey a0) -> bool
4591  has_attribute(Charged self, IntsKey a0) -> bool
4592  has_attribute(Charged self, StringKey a0) -> bool
4593  has_attribute(Charged self, ParticleIndexKey a0) -> bool
4594  has_attribute(Charged self, ObjectKey a0) -> bool
4595  has_attribute(Charged self, SparseFloatKey a0) -> bool
4596  has_attribute(Charged self, SparseIntKey a0) -> bool
4597  has_attribute(Charged self, SparseStringKey a0) -> bool
4598  has_attribute(Charged self, SparseParticleIndexKey a0) -> bool
4599  """
4600  return _IMP_atom.Charged_has_attribute(self, *args)
4601 
4602  def get_derivative(self, a0):
4603  r"""get_derivative(Charged self, FloatKey a0) -> double"""
4604  return _IMP_atom.Charged_get_derivative(self, a0)
4605 
4606  def get_name(self):
4607  r"""get_name(Charged self) -> std::string"""
4608  return _IMP_atom.Charged_get_name(self)
4609 
4610  def clear_caches(self):
4611  r"""clear_caches(Charged self)"""
4612  return _IMP_atom.Charged_clear_caches(self)
4613 
4614  def set_name(self, a0):
4615  r"""set_name(Charged self, std::string a0)"""
4616  return _IMP_atom.Charged_set_name(self, a0)
4617 
4618  def set_check_level(self, a0):
4619  r"""set_check_level(Charged self, IMP::CheckLevel a0)"""
4620  return _IMP_atom.Charged_set_check_level(self, a0)
4621 
4622  def add_to_derivative(self, a0, a1, a2):
4623  r"""add_to_derivative(Charged self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4624  return _IMP_atom.Charged_add_to_derivative(self, a0, a1, a2)
4625 
4626  def set_is_optimized(self, a0, a1):
4627  r"""set_is_optimized(Charged self, FloatKey a0, bool a1)"""
4628  return _IMP_atom.Charged_set_is_optimized(self, a0, a1)
4629 
4630  def get_is_optimized(self, a0):
4631  r"""get_is_optimized(Charged self, FloatKey a0) -> bool"""
4632  return _IMP_atom.Charged_get_is_optimized(self, a0)
4633 
4634  def get_check_level(self):
4635  r"""get_check_level(Charged self) -> IMP::CheckLevel"""
4636  return _IMP_atom.Charged_get_check_level(self)
4637 
4638  def __eq__(self, *args):
4639  r"""
4640  __eq__(Charged self, Charged o) -> bool
4641  __eq__(Charged self, Particle d) -> bool
4642  """
4643  return _IMP_atom.Charged___eq__(self, *args)
4644 
4645  def __ne__(self, *args):
4646  r"""
4647  __ne__(Charged self, Charged o) -> bool
4648  __ne__(Charged self, Particle d) -> bool
4649  """
4650  return _IMP_atom.Charged___ne__(self, *args)
4651 
4652  def __le__(self, *args):
4653  r"""
4654  __le__(Charged self, Charged o) -> bool
4655  __le__(Charged self, Particle d) -> bool
4656  """
4657  return _IMP_atom.Charged___le__(self, *args)
4658 
4659  def __lt__(self, *args):
4660  r"""
4661  __lt__(Charged self, Charged o) -> bool
4662  __lt__(Charged self, Particle d) -> bool
4663  """
4664  return _IMP_atom.Charged___lt__(self, *args)
4665 
4666  def __ge__(self, *args):
4667  r"""
4668  __ge__(Charged self, Charged o) -> bool
4669  __ge__(Charged self, Particle d) -> bool
4670  """
4671  return _IMP_atom.Charged___ge__(self, *args)
4672 
4673  def __gt__(self, *args):
4674  r"""
4675  __gt__(Charged self, Charged o) -> bool
4676  __gt__(Charged self, Particle d) -> bool
4677  """
4678  return _IMP_atom.Charged___gt__(self, *args)
4679 
4680  def __hash__(self):
4681  r"""__hash__(Charged self) -> std::size_t"""
4682  return _IMP_atom.Charged___hash__(self)
4683 
4684  def __str__(self):
4685  r"""__str__(Charged self) -> std::string"""
4686  return _IMP_atom.Charged___str__(self)
4687 
4688  def __repr__(self):
4689  r"""__repr__(Charged self) -> std::string"""
4690  return _IMP_atom.Charged___repr__(self)
4691 
4692  def _get_as_binary(self):
4693  r"""_get_as_binary(Charged self) -> PyObject *"""
4694  return _IMP_atom.Charged__get_as_binary(self)
4695 
4696  def _set_from_binary(self, p):
4697  r"""_set_from_binary(Charged self, PyObject * p)"""
4698  return _IMP_atom.Charged__set_from_binary(self, p)
4699 
4700  def __getstate__(self):
4701  p = self._get_as_binary()
4702  if len(self.__dict__) > 1:
4703  d = self.__dict__.copy()
4704  del d['this']
4705  p = (d, p)
4706  return p
4707 
4708  def __setstate__(self, p):
4709  if not hasattr(self, 'this'):
4710  self.__init__()
4711  if isinstance(p, tuple):
4712  d, p = p
4713  self.__dict__.update(d)
4714  return self._set_from_binary(p)
4715 
4716  __swig_destroy__ = _IMP_atom.delete_Charged
4717 
4718 # Register Charged in _IMP_atom:
4719 _IMP_atom.Charged_swigregister(Charged)
4720 class CoulombPairScore(IMP.PairScore):
4721  r"""Proxy of C++ IMP::atom::CoulombPairScore class."""
4722 
4723  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4724 
4725  def __init__(self, f):
4726  r"""__init__(CoulombPairScore self, SmoothingFunction f) -> CoulombPairScore"""
4727  _IMP_atom.CoulombPairScore_swiginit(self, _IMP_atom.new_CoulombPairScore(f))
4728 
4729  def set_relative_dielectric(self, relative_dielectric):
4730  r"""set_relative_dielectric(CoulombPairScore self, double relative_dielectric)"""
4731  return _IMP_atom.CoulombPairScore_set_relative_dielectric(self, relative_dielectric)
4732 
4733  def get_relative_dielectric(self):
4734  r"""get_relative_dielectric(CoulombPairScore self) -> double"""
4735  return _IMP_atom.CoulombPairScore_get_relative_dielectric(self)
4736 
4737  def get_smoothing_function(self):
4738  r"""get_smoothing_function(CoulombPairScore self) -> SmoothingFunction"""
4739  return _IMP_atom.CoulombPairScore_get_smoothing_function(self)
4740 
4741  def do_get_inputs(self, m, pis):
4742  r"""do_get_inputs(CoulombPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4743  return _IMP_atom.CoulombPairScore_do_get_inputs(self, m, pis)
4744 
4745  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4746  r"""evaluate_indexes(CoulombPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
4747  return _IMP_atom.CoulombPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4748 
4749  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4750  r"""evaluate_indexes_scores(CoulombPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
4751  return _IMP_atom.CoulombPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4752 
4753  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4754  r"""evaluate_indexes_delta(CoulombPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
4755  return _IMP_atom.CoulombPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4756 
4757  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4758  r"""evaluate_if_good_indexes(CoulombPairScore 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"""
4759  return _IMP_atom.CoulombPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4760 
4761  def get_version_info(self):
4762  r"""get_version_info(CoulombPairScore self) -> VersionInfo"""
4763  return _IMP_atom.CoulombPairScore_get_version_info(self)
4764  __swig_destroy__ = _IMP_atom.delete_CoulombPairScore
4765 
4766  def __str__(self):
4767  r"""__str__(CoulombPairScore self) -> std::string"""
4768  return _IMP_atom.CoulombPairScore___str__(self)
4769 
4770  def __repr__(self):
4771  r"""__repr__(CoulombPairScore self) -> std::string"""
4772  return _IMP_atom.CoulombPairScore___repr__(self)
4773 
4774  @staticmethod
4775  def get_from(o):
4776  return _object_cast_to_CoulombPairScore(o)
4777 
4778 
4779  def _get_jax(self):
4780  import math
4781  import jax
4782  import jax.numpy as jnp
4783  # 1 / (4pi * epsilon) * conversion factor to get score in kcal/mol
4784  # if distances are in angstroms
4785  avogadro = 6.02214179e23 # /mole
4786  electron_charge = 1.6021892e-19 # Coulomb
4787  permittivity_vacuum = 8.854187818e-12 # C/V/m
4788  kcal2joule = 4186.8
4789  factor = (avogadro * electron_charge * electron_charge *
4790  1.0e10 / permittivity_vacuum / kcal2joule /
4791  (4.0 * math.pi * self.get_relative_dielectric()))
4792  sf = self.get_smoothing_function().get_derived_object()
4793  # Function operates on a single distance + score; make it work on
4794  # an array instead using jax.vmap
4795  smoothing_function = jax.vmap(sf._get_jax())
4796  def jax_pair_score(jm, indexes):
4797  xyzs = jm['xyz'][indexes]
4798  qs = jm['charge'][indexes]
4799  diff = xyzs[:,0] - xyzs[:,1]
4800  drs = jnp.linalg.norm(diff, axis=1)
4801  scores = factor * jnp.prod(qs, axis=1) / drs
4802  return smoothing_function(scores, drs)
4803  return self._wrap_jax(jax_pair_score, keys=[Charged.get_charge_key()])
4804 
4805 
4806 # Register CoulombPairScore in _IMP_atom:
4807 _IMP_atom.CoulombPairScore_swigregister(CoulombPairScore)
4808 class Domain(Hierarchy):
4809  r"""Proxy of C++ IMP::atom::Domain class."""
4810 
4811  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4812 
4813  def set_index_range(self, ir):
4814  r"""set_index_range(Domain self, IMP::IntRange ir)"""
4815  return _IMP_atom.Domain_set_index_range(self, ir)
4816 
4817  def get_index_range(self):
4818  r"""get_index_range(Domain self) -> IMP::IntRange"""
4819  return _IMP_atom.Domain_get_index_range(self)
4820 
4821  def __init__(self, *args):
4822  r"""
4823  __init__(Domain self) -> Domain
4824  __init__(Domain self, Model m, ParticleIndex id) -> Domain
4825  __init__(Domain self, _ParticleAdaptor d) -> Domain
4826  """
4827  _IMP_atom.Domain_swiginit(self, _IMP_atom.new_Domain(*args))
4828 
4829  @staticmethod
4830  def get_is_setup(*args):
4831  r"""
4832  get_is_setup(Model m, ParticleIndex pi) -> bool
4833  get_is_setup(_ParticleAdaptor p) -> bool
4834  """
4835  return _IMP_atom.Domain_get_is_setup(*args)
4836 
4837  def show(self, *args):
4838  r"""show(Domain self, _ostream out=std::cout)"""
4839  return _IMP_atom.Domain_show(self, *args)
4840 
4841  @staticmethod
4842  def setup_particle(*args):
4843  r"""
4844  setup_particle(Model m, ParticleIndex pi, Domain other) -> Domain
4845  setup_particle(_ParticleAdaptor pa, Domain other) -> Domain
4846  setup_particle(Model m, ParticleIndex pi, IMP::IntRange residues) -> Domain
4847  setup_particle(_ParticleAdaptor pa, IMP::IntRange residues) -> Domain
4848  """
4849  return _IMP_atom.Domain_setup_particle(*args)
4850 
4851  def add_attribute(self, *args):
4852  r"""
4853  add_attribute(Domain self, FloatKey k, IMP::Float v, bool opt)
4854  add_attribute(Domain self, FloatKey a0, IMP::Float a1)
4855  add_attribute(Domain self, IntKey a0, IMP::Int a1)
4856  add_attribute(Domain self, FloatsKey a0, IMP::Floats a1)
4857  add_attribute(Domain self, IntsKey a0, IMP::Ints a1)
4858  add_attribute(Domain self, StringKey a0, IMP::String a1)
4859  add_attribute(Domain self, ParticleIndexKey a0, Particle a1)
4860  add_attribute(Domain self, ObjectKey a0, Object a1)
4861  add_attribute(Domain self, SparseFloatKey a0, IMP::Float a1)
4862  add_attribute(Domain self, SparseIntKey a0, IMP::Int a1)
4863  add_attribute(Domain self, SparseStringKey a0, IMP::String a1)
4864  add_attribute(Domain self, SparseParticleIndexKey a0, ParticleIndex a1)
4865  """
4866  return _IMP_atom.Domain_add_attribute(self, *args)
4867 
4868  def get_value(self, *args):
4869  r"""
4870  get_value(Domain self, FloatKey a0) -> IMP::Float
4871  get_value(Domain self, IntKey a0) -> IMP::Int
4872  get_value(Domain self, FloatsKey a0) -> IMP::Floats
4873  get_value(Domain self, IntsKey a0) -> IMP::Ints
4874  get_value(Domain self, StringKey a0) -> IMP::String
4875  get_value(Domain self, ParticleIndexKey a0) -> Particle
4876  get_value(Domain self, ObjectKey a0) -> Object
4877  get_value(Domain self, SparseFloatKey a0) -> IMP::Float
4878  get_value(Domain self, SparseIntKey a0) -> IMP::Int
4879  get_value(Domain self, SparseStringKey a0) -> IMP::String
4880  get_value(Domain self, SparseParticleIndexKey a0) -> ParticleIndex
4881  """
4882  return _IMP_atom.Domain_get_value(self, *args)
4883 
4884  def set_value(self, *args):
4885  r"""
4886  set_value(Domain self, FloatKey a0, IMP::Float a1)
4887  set_value(Domain self, IntKey a0, IMP::Int a1)
4888  set_value(Domain self, FloatsKey a0, IMP::Floats a1)
4889  set_value(Domain self, IntsKey a0, IMP::Ints a1)
4890  set_value(Domain self, StringKey a0, IMP::String a1)
4891  set_value(Domain self, ParticleIndexKey a0, Particle a1)
4892  set_value(Domain self, ObjectKey a0, Object a1)
4893  set_value(Domain self, SparseFloatKey a0, IMP::Float a1)
4894  set_value(Domain self, SparseIntKey a0, IMP::Int a1)
4895  set_value(Domain self, SparseStringKey a0, IMP::String a1)
4896  set_value(Domain self, SparseParticleIndexKey a0, ParticleIndex a1)
4897  """
4898  return _IMP_atom.Domain_set_value(self, *args)
4899 
4900  def remove_attribute(self, *args):
4901  r"""
4902  remove_attribute(Domain self, FloatKey a0)
4903  remove_attribute(Domain self, IntKey a0)
4904  remove_attribute(Domain self, FloatsKey a0)
4905  remove_attribute(Domain self, IntsKey a0)
4906  remove_attribute(Domain self, StringKey a0)
4907  remove_attribute(Domain self, ParticleIndexKey a0)
4908  remove_attribute(Domain self, ObjectKey a0)
4909  remove_attribute(Domain self, SparseFloatKey a0)
4910  remove_attribute(Domain self, SparseIntKey a0)
4911  remove_attribute(Domain self, SparseStringKey a0)
4912  remove_attribute(Domain self, SparseParticleIndexKey a0)
4913  """
4914  return _IMP_atom.Domain_remove_attribute(self, *args)
4915 
4916  def has_attribute(self, *args):
4917  r"""
4918  has_attribute(Domain self, FloatKey a0) -> bool
4919  has_attribute(Domain self, IntKey a0) -> bool
4920  has_attribute(Domain self, FloatsKey a0) -> bool
4921  has_attribute(Domain self, IntsKey a0) -> bool
4922  has_attribute(Domain self, StringKey a0) -> bool
4923  has_attribute(Domain self, ParticleIndexKey a0) -> bool
4924  has_attribute(Domain self, ObjectKey a0) -> bool
4925  has_attribute(Domain self, SparseFloatKey a0) -> bool
4926  has_attribute(Domain self, SparseIntKey a0) -> bool
4927  has_attribute(Domain self, SparseStringKey a0) -> bool
4928  has_attribute(Domain self, SparseParticleIndexKey a0) -> bool
4929  """
4930  return _IMP_atom.Domain_has_attribute(self, *args)
4931 
4932  def get_derivative(self, a0):
4933  r"""get_derivative(Domain self, FloatKey a0) -> double"""
4934  return _IMP_atom.Domain_get_derivative(self, a0)
4935 
4936  def get_name(self):
4937  r"""get_name(Domain self) -> std::string"""
4938  return _IMP_atom.Domain_get_name(self)
4939 
4940  def clear_caches(self):
4941  r"""clear_caches(Domain self)"""
4942  return _IMP_atom.Domain_clear_caches(self)
4943 
4944  def set_name(self, a0):
4945  r"""set_name(Domain self, std::string a0)"""
4946  return _IMP_atom.Domain_set_name(self, a0)
4947 
4948  def set_check_level(self, a0):
4949  r"""set_check_level(Domain self, IMP::CheckLevel a0)"""
4950  return _IMP_atom.Domain_set_check_level(self, a0)
4951 
4952  def add_to_derivative(self, a0, a1, a2):
4953  r"""add_to_derivative(Domain self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4954  return _IMP_atom.Domain_add_to_derivative(self, a0, a1, a2)
4955 
4956  def set_is_optimized(self, a0, a1):
4957  r"""set_is_optimized(Domain self, FloatKey a0, bool a1)"""
4958  return _IMP_atom.Domain_set_is_optimized(self, a0, a1)
4959 
4960  def get_is_optimized(self, a0):
4961  r"""get_is_optimized(Domain self, FloatKey a0) -> bool"""
4962  return _IMP_atom.Domain_get_is_optimized(self, a0)
4963 
4964  def get_check_level(self):
4965  r"""get_check_level(Domain self) -> IMP::CheckLevel"""
4966  return _IMP_atom.Domain_get_check_level(self)
4967 
4968  def __eq__(self, *args):
4969  r"""
4970  __eq__(Domain self, Domain o) -> bool
4971  __eq__(Domain self, Particle d) -> bool
4972  """
4973  return _IMP_atom.Domain___eq__(self, *args)
4974 
4975  def __ne__(self, *args):
4976  r"""
4977  __ne__(Domain self, Domain o) -> bool
4978  __ne__(Domain self, Particle d) -> bool
4979  """
4980  return _IMP_atom.Domain___ne__(self, *args)
4981 
4982  def __le__(self, *args):
4983  r"""
4984  __le__(Domain self, Domain o) -> bool
4985  __le__(Domain self, Particle d) -> bool
4986  """
4987  return _IMP_atom.Domain___le__(self, *args)
4988 
4989  def __lt__(self, *args):
4990  r"""
4991  __lt__(Domain self, Domain o) -> bool
4992  __lt__(Domain self, Particle d) -> bool
4993  """
4994  return _IMP_atom.Domain___lt__(self, *args)
4995 
4996  def __ge__(self, *args):
4997  r"""
4998  __ge__(Domain self, Domain o) -> bool
4999  __ge__(Domain self, Particle d) -> bool
5000  """
5001  return _IMP_atom.Domain___ge__(self, *args)
5002 
5003  def __gt__(self, *args):
5004  r"""
5005  __gt__(Domain self, Domain o) -> bool
5006  __gt__(Domain self, Particle d) -> bool
5007  """
5008  return _IMP_atom.Domain___gt__(self, *args)
5009 
5010  def __hash__(self):
5011  r"""__hash__(Domain self) -> std::size_t"""
5012  return _IMP_atom.Domain___hash__(self)
5013 
5014  def __str__(self):
5015  r"""__str__(Domain self) -> std::string"""
5016  return _IMP_atom.Domain___str__(self)
5017 
5018  def __repr__(self):
5019  r"""__repr__(Domain self) -> std::string"""
5020  return _IMP_atom.Domain___repr__(self)
5021 
5022  def _get_as_binary(self):
5023  r"""_get_as_binary(Domain self) -> PyObject *"""
5024  return _IMP_atom.Domain__get_as_binary(self)
5025 
5026  def _set_from_binary(self, p):
5027  r"""_set_from_binary(Domain self, PyObject * p)"""
5028  return _IMP_atom.Domain__set_from_binary(self, p)
5029 
5030  def __getstate__(self):
5031  p = self._get_as_binary()
5032  if len(self.__dict__) > 1:
5033  d = self.__dict__.copy()
5034  del d['this']
5035  p = (d, p)
5036  return p
5037 
5038  def __setstate__(self, p):
5039  if not hasattr(self, 'this'):
5040  self.__init__()
5041  if isinstance(p, tuple):
5042  d, p = p
5043  self.__dict__.update(d)
5044  return self._set_from_binary(p)
5045 
5046  __swig_destroy__ = _IMP_atom.delete_Domain
5047 
5048 # Register Domain in _IMP_atom:
5049 _IMP_atom.Domain_swigregister(Domain)
5050 class LennardJonesType(IMP.Object):
5051  r"""Proxy of C++ IMP::atom::LennardJonesType class."""
5052 
5053  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5054 
5055  def __init__(self, *args):
5056  r"""__init__(LennardJonesType self, double well_depth, double radius, std::string name="LennardJonesType%1%") -> LennardJonesType"""
5057  _IMP_atom.LennardJonesType_swiginit(self, _IMP_atom.new_LennardJonesType(*args))
5058 
5059  def get_well_depth(self):
5060  r"""get_well_depth(LennardJonesType self) -> double"""
5061  return _IMP_atom.LennardJonesType_get_well_depth(self)
5062 
5063  def set_well_depth(self, d):
5064  r"""set_well_depth(LennardJonesType self, double d)"""
5065  return _IMP_atom.LennardJonesType_set_well_depth(self, d)
5066 
5067  def get_radius(self):
5068  r"""get_radius(LennardJonesType self) -> double"""
5069  return _IMP_atom.LennardJonesType_get_radius(self)
5070 
5071  def set_radius(self, r):
5072  r"""set_radius(LennardJonesType self, double r)"""
5073  return _IMP_atom.LennardJonesType_set_radius(self, r)
5074 
5075  def get_index(self):
5076  r"""get_index(LennardJonesType self) -> int"""
5077  return _IMP_atom.LennardJonesType_get_index(self)
5078 
5079  def get_version_info(self):
5080  r"""get_version_info(LennardJonesType self) -> VersionInfo"""
5081  return _IMP_atom.LennardJonesType_get_version_info(self)
5082  __swig_destroy__ = _IMP_atom.delete_LennardJonesType
5083 
5084  def __str__(self):
5085  r"""__str__(LennardJonesType self) -> std::string"""
5086  return _IMP_atom.LennardJonesType___str__(self)
5087 
5088  def __repr__(self):
5089  r"""__repr__(LennardJonesType self) -> std::string"""
5090  return _IMP_atom.LennardJonesType___repr__(self)
5091 
5092  @staticmethod
5093  def get_from(o):
5094  return _object_cast_to_LennardJonesType(o)
5095 
5096 
5097 # Register LennardJonesType in _IMP_atom:
5098 _IMP_atom.LennardJonesType_swigregister(LennardJonesType)
5099 class LennardJonesTyped(IMP.core.XYZ):
5100  r"""Proxy of C++ IMP::atom::LennardJonesTyped class."""
5101 
5102  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5103 
5104  def __init__(self, *args):
5105  r"""
5106  __init__(LennardJonesTyped self) -> LennardJonesTyped
5107  __init__(LennardJonesTyped self, Model m, ParticleIndex id) -> LennardJonesTyped
5108  __init__(LennardJonesTyped self, _ParticleAdaptor d) -> LennardJonesTyped
5109  """
5110  _IMP_atom.LennardJonesTyped_swiginit(self, _IMP_atom.new_LennardJonesTyped(*args))
5111 
5112  def show(self, *args):
5113  r"""show(LennardJonesTyped self, _ostream out=std::cout)"""
5114  return _IMP_atom.LennardJonesTyped_show(self, *args)
5115 
5116  @staticmethod
5117  def setup_particle(*args):
5118  r"""
5119  setup_particle(Model m, ParticleIndex pi, LennardJonesType type) -> LennardJonesTyped
5120  setup_particle(_ParticleAdaptor pa, LennardJonesType type) -> LennardJonesTyped
5121  """
5122  return _IMP_atom.LennardJonesTyped_setup_particle(*args)
5123 
5124  @staticmethod
5125  def get_is_setup(*args):
5126  r"""
5127  get_is_setup(_ParticleAdaptor p) -> bool
5128  get_is_setup(Model m, ParticleIndex pi) -> bool
5129  """
5130  return _IMP_atom.LennardJonesTyped_get_is_setup(*args)
5131 
5132  def set_type(self, type):
5133  r"""set_type(LennardJonesTyped self, LennardJonesType type)"""
5134  return _IMP_atom.LennardJonesTyped_set_type(self, type)
5135 
5136  def get_type(self):
5137  r"""get_type(LennardJonesTyped self) -> LennardJonesType"""
5138  return _IMP_atom.LennardJonesTyped_get_type(self)
5139 
5140  def get_index(self):
5141  r"""get_index(LennardJonesTyped self) -> int"""
5142  return _IMP_atom.LennardJonesTyped_get_index(self)
5143 
5144  def get_well_depth(self):
5145  r"""get_well_depth(LennardJonesTyped self) -> double"""
5146  return _IMP_atom.LennardJonesTyped_get_well_depth(self)
5147 
5148  def get_radius(self):
5149  r"""get_radius(LennardJonesTyped self) -> double"""
5150  return _IMP_atom.LennardJonesTyped_get_radius(self)
5151 
5152  @staticmethod
5153  def get_type_key():
5154  r"""get_type_key() -> IntKey"""
5155  return _IMP_atom.LennardJonesTyped_get_type_key()
5156 
5157  def add_attribute(self, *args):
5158  r"""
5159  add_attribute(LennardJonesTyped self, FloatKey k, IMP::Float v, bool opt)
5160  add_attribute(LennardJonesTyped self, FloatKey a0, IMP::Float a1)
5161  add_attribute(LennardJonesTyped self, IntKey a0, IMP::Int a1)
5162  add_attribute(LennardJonesTyped self, FloatsKey a0, IMP::Floats a1)
5163  add_attribute(LennardJonesTyped self, IntsKey a0, IMP::Ints a1)
5164  add_attribute(LennardJonesTyped self, StringKey a0, IMP::String a1)
5165  add_attribute(LennardJonesTyped self, ParticleIndexKey a0, Particle a1)
5166  add_attribute(LennardJonesTyped self, ObjectKey a0, Object a1)
5167  add_attribute(LennardJonesTyped self, SparseFloatKey a0, IMP::Float a1)
5168  add_attribute(LennardJonesTyped self, SparseIntKey a0, IMP::Int a1)
5169  add_attribute(LennardJonesTyped self, SparseStringKey a0, IMP::String a1)
5170  add_attribute(LennardJonesTyped self, SparseParticleIndexKey a0, ParticleIndex a1)
5171  """
5172  return _IMP_atom.LennardJonesTyped_add_attribute(self, *args)
5173 
5174  def get_value(self, *args):
5175  r"""
5176  get_value(LennardJonesTyped self, FloatKey a0) -> IMP::Float
5177  get_value(LennardJonesTyped self, IntKey a0) -> IMP::Int
5178  get_value(LennardJonesTyped self, FloatsKey a0) -> IMP::Floats
5179  get_value(LennardJonesTyped self, IntsKey a0) -> IMP::Ints
5180  get_value(LennardJonesTyped self, StringKey a0) -> IMP::String
5181  get_value(LennardJonesTyped self, ParticleIndexKey a0) -> Particle
5182  get_value(LennardJonesTyped self, ObjectKey a0) -> Object
5183  get_value(LennardJonesTyped self, SparseFloatKey a0) -> IMP::Float
5184  get_value(LennardJonesTyped self, SparseIntKey a0) -> IMP::Int
5185  get_value(LennardJonesTyped self, SparseStringKey a0) -> IMP::String
5186  get_value(LennardJonesTyped self, SparseParticleIndexKey a0) -> ParticleIndex
5187  """
5188  return _IMP_atom.LennardJonesTyped_get_value(self, *args)
5189 
5190  def set_value(self, *args):
5191  r"""
5192  set_value(LennardJonesTyped self, FloatKey a0, IMP::Float a1)
5193  set_value(LennardJonesTyped self, IntKey a0, IMP::Int a1)
5194  set_value(LennardJonesTyped self, FloatsKey a0, IMP::Floats a1)
5195  set_value(LennardJonesTyped self, IntsKey a0, IMP::Ints a1)
5196  set_value(LennardJonesTyped self, StringKey a0, IMP::String a1)
5197  set_value(LennardJonesTyped self, ParticleIndexKey a0, Particle a1)
5198  set_value(LennardJonesTyped self, ObjectKey a0, Object a1)
5199  set_value(LennardJonesTyped self, SparseFloatKey a0, IMP::Float a1)
5200  set_value(LennardJonesTyped self, SparseIntKey a0, IMP::Int a1)
5201  set_value(LennardJonesTyped self, SparseStringKey a0, IMP::String a1)
5202  set_value(LennardJonesTyped self, SparseParticleIndexKey a0, ParticleIndex a1)
5203  """
5204  return _IMP_atom.LennardJonesTyped_set_value(self, *args)
5205 
5206  def remove_attribute(self, *args):
5207  r"""
5208  remove_attribute(LennardJonesTyped self, FloatKey a0)
5209  remove_attribute(LennardJonesTyped self, IntKey a0)
5210  remove_attribute(LennardJonesTyped self, FloatsKey a0)
5211  remove_attribute(LennardJonesTyped self, IntsKey a0)
5212  remove_attribute(LennardJonesTyped self, StringKey a0)
5213  remove_attribute(LennardJonesTyped self, ParticleIndexKey a0)
5214  remove_attribute(LennardJonesTyped self, ObjectKey a0)
5215  remove_attribute(LennardJonesTyped self, SparseFloatKey a0)
5216  remove_attribute(LennardJonesTyped self, SparseIntKey a0)
5217  remove_attribute(LennardJonesTyped self, SparseStringKey a0)
5218  remove_attribute(LennardJonesTyped self, SparseParticleIndexKey a0)
5219  """
5220  return _IMP_atom.LennardJonesTyped_remove_attribute(self, *args)
5221 
5222  def has_attribute(self, *args):
5223  r"""
5224  has_attribute(LennardJonesTyped self, FloatKey a0) -> bool
5225  has_attribute(LennardJonesTyped self, IntKey a0) -> bool
5226  has_attribute(LennardJonesTyped self, FloatsKey a0) -> bool
5227  has_attribute(LennardJonesTyped self, IntsKey a0) -> bool
5228  has_attribute(LennardJonesTyped self, StringKey a0) -> bool
5229  has_attribute(LennardJonesTyped self, ParticleIndexKey a0) -> bool
5230  has_attribute(LennardJonesTyped self, ObjectKey a0) -> bool
5231  has_attribute(LennardJonesTyped self, SparseFloatKey a0) -> bool
5232  has_attribute(LennardJonesTyped self, SparseIntKey a0) -> bool
5233  has_attribute(LennardJonesTyped self, SparseStringKey a0) -> bool
5234  has_attribute(LennardJonesTyped self, SparseParticleIndexKey a0) -> bool
5235  """
5236  return _IMP_atom.LennardJonesTyped_has_attribute(self, *args)
5237 
5238  def get_derivative(self, a0):
5239  r"""get_derivative(LennardJonesTyped self, FloatKey a0) -> double"""
5240  return _IMP_atom.LennardJonesTyped_get_derivative(self, a0)
5241 
5242  def get_name(self):
5243  r"""get_name(LennardJonesTyped self) -> std::string"""
5244  return _IMP_atom.LennardJonesTyped_get_name(self)
5245 
5246  def clear_caches(self):
5247  r"""clear_caches(LennardJonesTyped self)"""
5248  return _IMP_atom.LennardJonesTyped_clear_caches(self)
5249 
5250  def set_name(self, a0):
5251  r"""set_name(LennardJonesTyped self, std::string a0)"""
5252  return _IMP_atom.LennardJonesTyped_set_name(self, a0)
5253 
5254  def set_check_level(self, a0):
5255  r"""set_check_level(LennardJonesTyped self, IMP::CheckLevel a0)"""
5256  return _IMP_atom.LennardJonesTyped_set_check_level(self, a0)
5257 
5258  def add_to_derivative(self, a0, a1, a2):
5259  r"""add_to_derivative(LennardJonesTyped self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5260  return _IMP_atom.LennardJonesTyped_add_to_derivative(self, a0, a1, a2)
5261 
5262  def set_is_optimized(self, a0, a1):
5263  r"""set_is_optimized(LennardJonesTyped self, FloatKey a0, bool a1)"""
5264  return _IMP_atom.LennardJonesTyped_set_is_optimized(self, a0, a1)
5265 
5266  def get_is_optimized(self, a0):
5267  r"""get_is_optimized(LennardJonesTyped self, FloatKey a0) -> bool"""
5268  return _IMP_atom.LennardJonesTyped_get_is_optimized(self, a0)
5269 
5270  def get_check_level(self):
5271  r"""get_check_level(LennardJonesTyped self) -> IMP::CheckLevel"""
5272  return _IMP_atom.LennardJonesTyped_get_check_level(self)
5273 
5274  def __eq__(self, *args):
5275  r"""
5276  __eq__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5277  __eq__(LennardJonesTyped self, Particle d) -> bool
5278  """
5279  return _IMP_atom.LennardJonesTyped___eq__(self, *args)
5280 
5281  def __ne__(self, *args):
5282  r"""
5283  __ne__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5284  __ne__(LennardJonesTyped self, Particle d) -> bool
5285  """
5286  return _IMP_atom.LennardJonesTyped___ne__(self, *args)
5287 
5288  def __le__(self, *args):
5289  r"""
5290  __le__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5291  __le__(LennardJonesTyped self, Particle d) -> bool
5292  """
5293  return _IMP_atom.LennardJonesTyped___le__(self, *args)
5294 
5295  def __lt__(self, *args):
5296  r"""
5297  __lt__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5298  __lt__(LennardJonesTyped self, Particle d) -> bool
5299  """
5300  return _IMP_atom.LennardJonesTyped___lt__(self, *args)
5301 
5302  def __ge__(self, *args):
5303  r"""
5304  __ge__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5305  __ge__(LennardJonesTyped self, Particle d) -> bool
5306  """
5307  return _IMP_atom.LennardJonesTyped___ge__(self, *args)
5308 
5309  def __gt__(self, *args):
5310  r"""
5311  __gt__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5312  __gt__(LennardJonesTyped self, Particle d) -> bool
5313  """
5314  return _IMP_atom.LennardJonesTyped___gt__(self, *args)
5315 
5316  def __hash__(self):
5317  r"""__hash__(LennardJonesTyped self) -> std::size_t"""
5318  return _IMP_atom.LennardJonesTyped___hash__(self)
5319 
5320  def __str__(self):
5321  r"""__str__(LennardJonesTyped self) -> std::string"""
5322  return _IMP_atom.LennardJonesTyped___str__(self)
5323 
5324  def __repr__(self):
5325  r"""__repr__(LennardJonesTyped self) -> std::string"""
5326  return _IMP_atom.LennardJonesTyped___repr__(self)
5327 
5328  def _get_as_binary(self):
5329  r"""_get_as_binary(LennardJonesTyped self) -> PyObject *"""
5330  return _IMP_atom.LennardJonesTyped__get_as_binary(self)
5331 
5332  def _set_from_binary(self, p):
5333  r"""_set_from_binary(LennardJonesTyped self, PyObject * p)"""
5334  return _IMP_atom.LennardJonesTyped__set_from_binary(self, p)
5335 
5336  def __getstate__(self):
5337  p = self._get_as_binary()
5338  if len(self.__dict__) > 1:
5339  d = self.__dict__.copy()
5340  del d['this']
5341  p = (d, p)
5342  return p
5343 
5344  def __setstate__(self, p):
5345  if not hasattr(self, 'this'):
5346  self.__init__()
5347  if isinstance(p, tuple):
5348  d, p = p
5349  self.__dict__.update(d)
5350  return self._set_from_binary(p)
5351 
5352  __swig_destroy__ = _IMP_atom.delete_LennardJonesTyped
5353 
5354 # Register LennardJonesTyped in _IMP_atom:
5355 _IMP_atom.LennardJonesTyped_swigregister(LennardJonesTyped)
5356 class LinearVelocity(IMP.Decorator):
5357  r"""Proxy of C++ IMP::atom::LinearVelocity class."""
5358 
5359  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5360 
5361  @staticmethod
5362  def get_velocity_key():
5363  r"""get_velocity_key() -> Vector3DKey"""
5364  return _IMP_atom.LinearVelocity_get_velocity_key()
5365 
5366  def __init__(self, *args):
5367  r"""
5368  __init__(LinearVelocity self) -> LinearVelocity
5369  __init__(LinearVelocity self, Model m, ParticleIndex id) -> LinearVelocity
5370  __init__(LinearVelocity self, _ParticleAdaptor d) -> LinearVelocity
5371  """
5372  _IMP_atom.LinearVelocity_swiginit(self, _IMP_atom.new_LinearVelocity(*args))
5373 
5374  @staticmethod
5375  def get_is_setup(*args):
5376  r"""
5377  get_is_setup(Model m, ParticleIndex pi) -> bool
5378  get_is_setup(_ParticleAdaptor p) -> bool
5379  """
5380  return _IMP_atom.LinearVelocity_get_is_setup(*args)
5381 
5382  def show(self, *args):
5383  r"""show(LinearVelocity self, _ostream out=std::cout)"""
5384  return _IMP_atom.LinearVelocity_show(self, *args)
5385 
5386  @staticmethod
5387  def setup_particle(*args):
5388  r"""
5389  setup_particle(Model m, ParticleIndex pi) -> LinearVelocity
5390  setup_particle(_ParticleAdaptor pa) -> LinearVelocity
5391  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> LinearVelocity
5392  setup_particle(_ParticleAdaptor pa, Vector3D v) -> LinearVelocity
5393  """
5394  return _IMP_atom.LinearVelocity_setup_particle(*args)
5395 
5396  def set_velocity(self, v):
5397  r"""set_velocity(LinearVelocity self, Vector3D v)"""
5398  return _IMP_atom.LinearVelocity_set_velocity(self, v)
5399 
5400  def get_velocity(self):
5401  r"""get_velocity(LinearVelocity self) -> Vector3D"""
5402  return _IMP_atom.LinearVelocity_get_velocity(self)
5403 
5404  def add_attribute(self, *args):
5405  r"""
5406  add_attribute(LinearVelocity self, FloatKey k, IMP::Float v, bool opt)
5407  add_attribute(LinearVelocity self, FloatKey a0, IMP::Float a1)
5408  add_attribute(LinearVelocity self, IntKey a0, IMP::Int a1)
5409  add_attribute(LinearVelocity self, FloatsKey a0, IMP::Floats a1)
5410  add_attribute(LinearVelocity self, IntsKey a0, IMP::Ints a1)
5411  add_attribute(LinearVelocity self, StringKey a0, IMP::String a1)
5412  add_attribute(LinearVelocity self, ParticleIndexKey a0, Particle a1)
5413  add_attribute(LinearVelocity self, ObjectKey a0, Object a1)
5414  add_attribute(LinearVelocity self, SparseFloatKey a0, IMP::Float a1)
5415  add_attribute(LinearVelocity self, SparseIntKey a0, IMP::Int a1)
5416  add_attribute(LinearVelocity self, SparseStringKey a0, IMP::String a1)
5417  add_attribute(LinearVelocity self, SparseParticleIndexKey a0, ParticleIndex a1)
5418  """
5419  return _IMP_atom.LinearVelocity_add_attribute(self, *args)
5420 
5421  def get_value(self, *args):
5422  r"""
5423  get_value(LinearVelocity self, FloatKey a0) -> IMP::Float
5424  get_value(LinearVelocity self, IntKey a0) -> IMP::Int
5425  get_value(LinearVelocity self, FloatsKey a0) -> IMP::Floats
5426  get_value(LinearVelocity self, IntsKey a0) -> IMP::Ints
5427  get_value(LinearVelocity self, StringKey a0) -> IMP::String
5428  get_value(LinearVelocity self, ParticleIndexKey a0) -> Particle
5429  get_value(LinearVelocity self, ObjectKey a0) -> Object
5430  get_value(LinearVelocity self, SparseFloatKey a0) -> IMP::Float
5431  get_value(LinearVelocity self, SparseIntKey a0) -> IMP::Int
5432  get_value(LinearVelocity self, SparseStringKey a0) -> IMP::String
5433  get_value(LinearVelocity self, SparseParticleIndexKey a0) -> ParticleIndex
5434  """
5435  return _IMP_atom.LinearVelocity_get_value(self, *args)
5436 
5437  def set_value(self, *args):
5438  r"""
5439  set_value(LinearVelocity self, FloatKey a0, IMP::Float a1)
5440  set_value(LinearVelocity self, IntKey a0, IMP::Int a1)
5441  set_value(LinearVelocity self, FloatsKey a0, IMP::Floats a1)
5442  set_value(LinearVelocity self, IntsKey a0, IMP::Ints a1)
5443  set_value(LinearVelocity self, StringKey a0, IMP::String a1)
5444  set_value(LinearVelocity self, ParticleIndexKey a0, Particle a1)
5445  set_value(LinearVelocity self, ObjectKey a0, Object a1)
5446  set_value(LinearVelocity self, SparseFloatKey a0, IMP::Float a1)
5447  set_value(LinearVelocity self, SparseIntKey a0, IMP::Int a1)
5448  set_value(LinearVelocity self, SparseStringKey a0, IMP::String a1)
5449  set_value(LinearVelocity self, SparseParticleIndexKey a0, ParticleIndex a1)
5450  """
5451  return _IMP_atom.LinearVelocity_set_value(self, *args)
5452 
5453  def remove_attribute(self, *args):
5454  r"""
5455  remove_attribute(LinearVelocity self, FloatKey a0)
5456  remove_attribute(LinearVelocity self, IntKey a0)
5457  remove_attribute(LinearVelocity self, FloatsKey a0)
5458  remove_attribute(LinearVelocity self, IntsKey a0)
5459  remove_attribute(LinearVelocity self, StringKey a0)
5460  remove_attribute(LinearVelocity self, ParticleIndexKey a0)
5461  remove_attribute(LinearVelocity self, ObjectKey a0)
5462  remove_attribute(LinearVelocity self, SparseFloatKey a0)
5463  remove_attribute(LinearVelocity self, SparseIntKey a0)
5464  remove_attribute(LinearVelocity self, SparseStringKey a0)
5465  remove_attribute(LinearVelocity self, SparseParticleIndexKey a0)
5466  """
5467  return _IMP_atom.LinearVelocity_remove_attribute(self, *args)
5468 
5469  def has_attribute(self, *args):
5470  r"""
5471  has_attribute(LinearVelocity self, FloatKey a0) -> bool
5472  has_attribute(LinearVelocity self, IntKey a0) -> bool
5473  has_attribute(LinearVelocity self, FloatsKey a0) -> bool
5474  has_attribute(LinearVelocity self, IntsKey a0) -> bool
5475  has_attribute(LinearVelocity self, StringKey a0) -> bool
5476  has_attribute(LinearVelocity self, ParticleIndexKey a0) -> bool
5477  has_attribute(LinearVelocity self, ObjectKey a0) -> bool
5478  has_attribute(LinearVelocity self, SparseFloatKey a0) -> bool
5479  has_attribute(LinearVelocity self, SparseIntKey a0) -> bool
5480  has_attribute(LinearVelocity self, SparseStringKey a0) -> bool
5481  has_attribute(LinearVelocity self, SparseParticleIndexKey a0) -> bool
5482  """
5483  return _IMP_atom.LinearVelocity_has_attribute(self, *args)
5484 
5485  def get_derivative(self, a0):
5486  r"""get_derivative(LinearVelocity self, FloatKey a0) -> double"""
5487  return _IMP_atom.LinearVelocity_get_derivative(self, a0)
5488 
5489  def get_name(self):
5490  r"""get_name(LinearVelocity self) -> std::string"""
5491  return _IMP_atom.LinearVelocity_get_name(self)
5492 
5493  def clear_caches(self):
5494  r"""clear_caches(LinearVelocity self)"""
5495  return _IMP_atom.LinearVelocity_clear_caches(self)
5496 
5497  def set_name(self, a0):
5498  r"""set_name(LinearVelocity self, std::string a0)"""
5499  return _IMP_atom.LinearVelocity_set_name(self, a0)
5500 
5501  def set_check_level(self, a0):
5502  r"""set_check_level(LinearVelocity self, IMP::CheckLevel a0)"""
5503  return _IMP_atom.LinearVelocity_set_check_level(self, a0)
5504 
5505  def add_to_derivative(self, a0, a1, a2):
5506  r"""add_to_derivative(LinearVelocity self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5507  return _IMP_atom.LinearVelocity_add_to_derivative(self, a0, a1, a2)
5508 
5509  def set_is_optimized(self, a0, a1):
5510  r"""set_is_optimized(LinearVelocity self, FloatKey a0, bool a1)"""
5511  return _IMP_atom.LinearVelocity_set_is_optimized(self, a0, a1)
5512 
5513  def get_is_optimized(self, a0):
5514  r"""get_is_optimized(LinearVelocity self, FloatKey a0) -> bool"""
5515  return _IMP_atom.LinearVelocity_get_is_optimized(self, a0)
5516 
5517  def get_check_level(self):
5518  r"""get_check_level(LinearVelocity self) -> IMP::CheckLevel"""
5519  return _IMP_atom.LinearVelocity_get_check_level(self)
5520 
5521  def __eq__(self, *args):
5522  r"""
5523  __eq__(LinearVelocity self, LinearVelocity o) -> bool
5524  __eq__(LinearVelocity self, Particle d) -> bool
5525  """
5526  return _IMP_atom.LinearVelocity___eq__(self, *args)
5527 
5528  def __ne__(self, *args):
5529  r"""
5530  __ne__(LinearVelocity self, LinearVelocity o) -> bool
5531  __ne__(LinearVelocity self, Particle d) -> bool
5532  """
5533  return _IMP_atom.LinearVelocity___ne__(self, *args)
5534 
5535  def __le__(self, *args):
5536  r"""
5537  __le__(LinearVelocity self, LinearVelocity o) -> bool
5538  __le__(LinearVelocity self, Particle d) -> bool
5539  """
5540  return _IMP_atom.LinearVelocity___le__(self, *args)
5541 
5542  def __lt__(self, *args):
5543  r"""
5544  __lt__(LinearVelocity self, LinearVelocity o) -> bool
5545  __lt__(LinearVelocity self, Particle d) -> bool
5546  """
5547  return _IMP_atom.LinearVelocity___lt__(self, *args)
5548 
5549  def __ge__(self, *args):
5550  r"""
5551  __ge__(LinearVelocity self, LinearVelocity o) -> bool
5552  __ge__(LinearVelocity self, Particle d) -> bool
5553  """
5554  return _IMP_atom.LinearVelocity___ge__(self, *args)
5555 
5556  def __gt__(self, *args):
5557  r"""
5558  __gt__(LinearVelocity self, LinearVelocity o) -> bool
5559  __gt__(LinearVelocity self, Particle d) -> bool
5560  """
5561  return _IMP_atom.LinearVelocity___gt__(self, *args)
5562 
5563  def __hash__(self):
5564  r"""__hash__(LinearVelocity self) -> std::size_t"""
5565  return _IMP_atom.LinearVelocity___hash__(self)
5566 
5567  def __str__(self):
5568  r"""__str__(LinearVelocity self) -> std::string"""
5569  return _IMP_atom.LinearVelocity___str__(self)
5570 
5571  def __repr__(self):
5572  r"""__repr__(LinearVelocity self) -> std::string"""
5573  return _IMP_atom.LinearVelocity___repr__(self)
5574 
5575  def _get_as_binary(self):
5576  r"""_get_as_binary(LinearVelocity self) -> PyObject *"""
5577  return _IMP_atom.LinearVelocity__get_as_binary(self)
5578 
5579  def _set_from_binary(self, p):
5580  r"""_set_from_binary(LinearVelocity self, PyObject * p)"""
5581  return _IMP_atom.LinearVelocity__set_from_binary(self, p)
5582 
5583  def __getstate__(self):
5584  p = self._get_as_binary()
5585  if len(self.__dict__) > 1:
5586  d = self.__dict__.copy()
5587  del d['this']
5588  p = (d, p)
5589  return p
5590 
5591  def __setstate__(self, p):
5592  if not hasattr(self, 'this'):
5593  self.__init__()
5594  if isinstance(p, tuple):
5595  d, p = p
5596  self.__dict__.update(d)
5597  return self._set_from_binary(p)
5598 
5599  __swig_destroy__ = _IMP_atom.delete_LinearVelocity
5600 
5601 # Register LinearVelocity in _IMP_atom:
5602 _IMP_atom.LinearVelocity_swigregister(LinearVelocity)
5603 class AngularVelocity(IMP.Decorator):
5604  r"""Proxy of C++ IMP::atom::AngularVelocity class."""
5605 
5606  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5607 
5608  def __init__(self, *args):
5609  r"""
5610  __init__(AngularVelocity self) -> AngularVelocity
5611  __init__(AngularVelocity self, Model m, ParticleIndex id) -> AngularVelocity
5612  __init__(AngularVelocity self, _ParticleAdaptor d) -> AngularVelocity
5613  """
5614  _IMP_atom.AngularVelocity_swiginit(self, _IMP_atom.new_AngularVelocity(*args))
5615 
5616  @staticmethod
5617  def get_is_setup(*args):
5618  r"""
5619  get_is_setup(Model m, ParticleIndex pi) -> bool
5620  get_is_setup(_ParticleAdaptor p) -> bool
5621  """
5622  return _IMP_atom.AngularVelocity_get_is_setup(*args)
5623 
5624  def show(self, *args):
5625  r"""show(AngularVelocity self, _ostream out=std::cout)"""
5626  return _IMP_atom.AngularVelocity_show(self, *args)
5627 
5628  @staticmethod
5629  def setup_particle(*args):
5630  r"""
5631  setup_particle(Model m, ParticleIndex pi) -> AngularVelocity
5632  setup_particle(_ParticleAdaptor pa) -> AngularVelocity
5633  setup_particle(Model m, ParticleIndex pi, Vector4D v) -> AngularVelocity
5634  setup_particle(_ParticleAdaptor pa, Vector4D v) -> AngularVelocity
5635  """
5636  return _IMP_atom.AngularVelocity_setup_particle(*args)
5637 
5638  def set_velocity(self, v):
5639  r"""set_velocity(AngularVelocity self, Vector4D v)"""
5640  return _IMP_atom.AngularVelocity_set_velocity(self, v)
5641 
5642  def get_velocity(self):
5643  r"""get_velocity(AngularVelocity self) -> Vector4D"""
5644  return _IMP_atom.AngularVelocity_get_velocity(self)
5645 
5646  def add_attribute(self, *args):
5647  r"""
5648  add_attribute(AngularVelocity self, FloatKey k, IMP::Float v, bool opt)
5649  add_attribute(AngularVelocity self, FloatKey a0, IMP::Float a1)
5650  add_attribute(AngularVelocity self, IntKey a0, IMP::Int a1)
5651  add_attribute(AngularVelocity self, FloatsKey a0, IMP::Floats a1)
5652  add_attribute(AngularVelocity self, IntsKey a0, IMP::Ints a1)
5653  add_attribute(AngularVelocity self, StringKey a0, IMP::String a1)
5654  add_attribute(AngularVelocity self, ParticleIndexKey a0, Particle a1)
5655  add_attribute(AngularVelocity self, ObjectKey a0, Object a1)
5656  add_attribute(AngularVelocity self, SparseFloatKey a0, IMP::Float a1)
5657  add_attribute(AngularVelocity self, SparseIntKey a0, IMP::Int a1)
5658  add_attribute(AngularVelocity self, SparseStringKey a0, IMP::String a1)
5659  add_attribute(AngularVelocity self, SparseParticleIndexKey a0, ParticleIndex a1)
5660  """
5661  return _IMP_atom.AngularVelocity_add_attribute(self, *args)
5662 
5663  def get_value(self, *args):
5664  r"""
5665  get_value(AngularVelocity self, FloatKey a0) -> IMP::Float
5666  get_value(AngularVelocity self, IntKey a0) -> IMP::Int
5667  get_value(AngularVelocity self, FloatsKey a0) -> IMP::Floats
5668  get_value(AngularVelocity self, IntsKey a0) -> IMP::Ints
5669  get_value(AngularVelocity self, StringKey a0) -> IMP::String
5670  get_value(AngularVelocity self, ParticleIndexKey a0) -> Particle
5671  get_value(AngularVelocity self, ObjectKey a0) -> Object
5672  get_value(AngularVelocity self, SparseFloatKey a0) -> IMP::Float
5673  get_value(AngularVelocity self, SparseIntKey a0) -> IMP::Int
5674  get_value(AngularVelocity self, SparseStringKey a0) -> IMP::String
5675  get_value(AngularVelocity self, SparseParticleIndexKey a0) -> ParticleIndex
5676  """
5677  return _IMP_atom.AngularVelocity_get_value(self, *args)
5678 
5679  def set_value(self, *args):
5680  r"""
5681  set_value(AngularVelocity self, FloatKey a0, IMP::Float a1)
5682  set_value(AngularVelocity self, IntKey a0, IMP::Int a1)
5683  set_value(AngularVelocity self, FloatsKey a0, IMP::Floats a1)
5684  set_value(AngularVelocity self, IntsKey a0, IMP::Ints a1)
5685  set_value(AngularVelocity self, StringKey a0, IMP::String a1)
5686  set_value(AngularVelocity self, ParticleIndexKey a0, Particle a1)
5687  set_value(AngularVelocity self, ObjectKey a0, Object a1)
5688  set_value(AngularVelocity self, SparseFloatKey a0, IMP::Float a1)
5689  set_value(AngularVelocity self, SparseIntKey a0, IMP::Int a1)
5690  set_value(AngularVelocity self, SparseStringKey a0, IMP::String a1)
5691  set_value(AngularVelocity self, SparseParticleIndexKey a0, ParticleIndex a1)
5692  """
5693  return _IMP_atom.AngularVelocity_set_value(self, *args)
5694 
5695  def remove_attribute(self, *args):
5696  r"""
5697  remove_attribute(AngularVelocity self, FloatKey a0)
5698  remove_attribute(AngularVelocity self, IntKey a0)
5699  remove_attribute(AngularVelocity self, FloatsKey a0)
5700  remove_attribute(AngularVelocity self, IntsKey a0)
5701  remove_attribute(AngularVelocity self, StringKey a0)
5702  remove_attribute(AngularVelocity self, ParticleIndexKey a0)
5703  remove_attribute(AngularVelocity self, ObjectKey a0)
5704  remove_attribute(AngularVelocity self, SparseFloatKey a0)
5705  remove_attribute(AngularVelocity self, SparseIntKey a0)
5706  remove_attribute(AngularVelocity self, SparseStringKey a0)
5707  remove_attribute(AngularVelocity self, SparseParticleIndexKey a0)
5708  """
5709  return _IMP_atom.AngularVelocity_remove_attribute(self, *args)
5710 
5711  def has_attribute(self, *args):
5712  r"""
5713  has_attribute(AngularVelocity self, FloatKey a0) -> bool
5714  has_attribute(AngularVelocity self, IntKey a0) -> bool
5715  has_attribute(AngularVelocity self, FloatsKey a0) -> bool
5716  has_attribute(AngularVelocity self, IntsKey a0) -> bool
5717  has_attribute(AngularVelocity self, StringKey a0) -> bool
5718  has_attribute(AngularVelocity self, ParticleIndexKey a0) -> bool
5719  has_attribute(AngularVelocity self, ObjectKey a0) -> bool
5720  has_attribute(AngularVelocity self, SparseFloatKey a0) -> bool
5721  has_attribute(AngularVelocity self, SparseIntKey a0) -> bool
5722  has_attribute(AngularVelocity self, SparseStringKey a0) -> bool
5723  has_attribute(AngularVelocity self, SparseParticleIndexKey a0) -> bool
5724  """
5725  return _IMP_atom.AngularVelocity_has_attribute(self, *args)
5726 
5727  def get_derivative(self, a0):
5728  r"""get_derivative(AngularVelocity self, FloatKey a0) -> double"""
5729  return _IMP_atom.AngularVelocity_get_derivative(self, a0)
5730 
5731  def get_name(self):
5732  r"""get_name(AngularVelocity self) -> std::string"""
5733  return _IMP_atom.AngularVelocity_get_name(self)
5734 
5735  def clear_caches(self):
5736  r"""clear_caches(AngularVelocity self)"""
5737  return _IMP_atom.AngularVelocity_clear_caches(self)
5738 
5739  def set_name(self, a0):
5740  r"""set_name(AngularVelocity self, std::string a0)"""
5741  return _IMP_atom.AngularVelocity_set_name(self, a0)
5742 
5743  def set_check_level(self, a0):
5744  r"""set_check_level(AngularVelocity self, IMP::CheckLevel a0)"""
5745  return _IMP_atom.AngularVelocity_set_check_level(self, a0)
5746 
5747  def add_to_derivative(self, a0, a1, a2):
5748  r"""add_to_derivative(AngularVelocity self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5749  return _IMP_atom.AngularVelocity_add_to_derivative(self, a0, a1, a2)
5750 
5751  def set_is_optimized(self, a0, a1):
5752  r"""set_is_optimized(AngularVelocity self, FloatKey a0, bool a1)"""
5753  return _IMP_atom.AngularVelocity_set_is_optimized(self, a0, a1)
5754 
5755  def get_is_optimized(self, a0):
5756  r"""get_is_optimized(AngularVelocity self, FloatKey a0) -> bool"""
5757  return _IMP_atom.AngularVelocity_get_is_optimized(self, a0)
5758 
5759  def get_check_level(self):
5760  r"""get_check_level(AngularVelocity self) -> IMP::CheckLevel"""
5761  return _IMP_atom.AngularVelocity_get_check_level(self)
5762 
5763  def __eq__(self, *args):
5764  r"""
5765  __eq__(AngularVelocity self, AngularVelocity o) -> bool
5766  __eq__(AngularVelocity self, Particle d) -> bool
5767  """
5768  return _IMP_atom.AngularVelocity___eq__(self, *args)
5769 
5770  def __ne__(self, *args):
5771  r"""
5772  __ne__(AngularVelocity self, AngularVelocity o) -> bool
5773  __ne__(AngularVelocity self, Particle d) -> bool
5774  """
5775  return _IMP_atom.AngularVelocity___ne__(self, *args)
5776 
5777  def __le__(self, *args):
5778  r"""
5779  __le__(AngularVelocity self, AngularVelocity o) -> bool
5780  __le__(AngularVelocity self, Particle d) -> bool
5781  """
5782  return _IMP_atom.AngularVelocity___le__(self, *args)
5783 
5784  def __lt__(self, *args):
5785  r"""
5786  __lt__(AngularVelocity self, AngularVelocity o) -> bool
5787  __lt__(AngularVelocity self, Particle d) -> bool
5788  """
5789  return _IMP_atom.AngularVelocity___lt__(self, *args)
5790 
5791  def __ge__(self, *args):
5792  r"""
5793  __ge__(AngularVelocity self, AngularVelocity o) -> bool
5794  __ge__(AngularVelocity self, Particle d) -> bool
5795  """
5796  return _IMP_atom.AngularVelocity___ge__(self, *args)
5797 
5798  def __gt__(self, *args):
5799  r"""
5800  __gt__(AngularVelocity self, AngularVelocity o) -> bool
5801  __gt__(AngularVelocity self, Particle d) -> bool
5802  """
5803  return _IMP_atom.AngularVelocity___gt__(self, *args)
5804 
5805  def __hash__(self):
5806  r"""__hash__(AngularVelocity self) -> std::size_t"""
5807  return _IMP_atom.AngularVelocity___hash__(self)
5808 
5809  def __str__(self):
5810  r"""__str__(AngularVelocity self) -> std::string"""
5811  return _IMP_atom.AngularVelocity___str__(self)
5812 
5813  def __repr__(self):
5814  r"""__repr__(AngularVelocity self) -> std::string"""
5815  return _IMP_atom.AngularVelocity___repr__(self)
5816 
5817  def _get_as_binary(self):
5818  r"""_get_as_binary(AngularVelocity self) -> PyObject *"""
5819  return _IMP_atom.AngularVelocity__get_as_binary(self)
5820 
5821  def _set_from_binary(self, p):
5822  r"""_set_from_binary(AngularVelocity self, PyObject * p)"""
5823  return _IMP_atom.AngularVelocity__set_from_binary(self, p)
5824 
5825  def __getstate__(self):
5826  p = self._get_as_binary()
5827  if len(self.__dict__) > 1:
5828  d = self.__dict__.copy()
5829  del d['this']
5830  p = (d, p)
5831  return p
5832 
5833  def __setstate__(self, p):
5834  if not hasattr(self, 'this'):
5835  self.__init__()
5836  if isinstance(p, tuple):
5837  d, p = p
5838  self.__dict__.update(d)
5839  return self._set_from_binary(p)
5840 
5841  __swig_destroy__ = _IMP_atom.delete_AngularVelocity
5842 
5843 # Register AngularVelocity in _IMP_atom:
5844 _IMP_atom.AngularVelocity_swigregister(AngularVelocity)
5845 class MolecularDynamics(Simulator):
5846  r"""Proxy of C++ IMP::atom::MolecularDynamics class."""
5847 
5848  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5849 
5850  def __init__(self, m):
5851  r"""__init__(MolecularDynamics self, Model m) -> MolecularDynamics"""
5852  _IMP_atom.MolecularDynamics_swiginit(self, _IMP_atom.new_MolecularDynamics(m))
5853 
5854  def get_kinetic_energy(self):
5855  r"""get_kinetic_energy(MolecularDynamics self) -> IMP::Float"""
5856  return _IMP_atom.MolecularDynamics_get_kinetic_energy(self)
5857 
5858  def get_kinetic_temperature(self, ekinetic):
5859  r"""get_kinetic_temperature(MolecularDynamics self, IMP::Float ekinetic) -> IMP::Float"""
5860  return _IMP_atom.MolecularDynamics_get_kinetic_temperature(self, ekinetic)
5861 
5862  def set_velocity_cap(self, velocity_cap):
5863  r"""set_velocity_cap(MolecularDynamics self, IMP::Float velocity_cap)"""
5864  return _IMP_atom.MolecularDynamics_set_velocity_cap(self, velocity_cap)
5865 
5866  def get_velocity_cap(self):
5867  r"""get_velocity_cap(MolecularDynamics self) -> IMP::Float"""
5868  return _IMP_atom.MolecularDynamics_get_velocity_cap(self)
5869 
5870  def get_degrees_of_freedom(self):
5871  r"""get_degrees_of_freedom(MolecularDynamics self) -> int"""
5872  return _IMP_atom.MolecularDynamics_get_degrees_of_freedom(self)
5873 
5874  def assign_velocities(self, temperature):
5875  r"""assign_velocities(MolecularDynamics self, IMP::Float temperature)"""
5876  return _IMP_atom.MolecularDynamics_assign_velocities(self, temperature)
5877 
5878  def setup(self, ps):
5879  r"""setup(MolecularDynamics self, IMP::ParticleIndexes const & ps)"""
5880  return _IMP_atom.MolecularDynamics_setup(self, ps)
5881 
5882  def do_step(self, sc, dt):
5883  r"""do_step(MolecularDynamics self, IMP::ParticleIndexes const & sc, double dt) -> double"""
5884  return _IMP_atom.MolecularDynamics_do_step(self, sc, dt)
5885 
5886  def get_is_simulation_particle(self, p):
5887  r"""get_is_simulation_particle(MolecularDynamics self, ParticleIndex p) -> bool"""
5888  return _IMP_atom.MolecularDynamics_get_is_simulation_particle(self, p)
5889 
5890  def get_version_info(self):
5891  r"""get_version_info(MolecularDynamics self) -> VersionInfo"""
5892  return _IMP_atom.MolecularDynamics_get_version_info(self)
5893  __swig_destroy__ = _IMP_atom.delete_MolecularDynamics
5894 
5895  def __str__(self):
5896  r"""__str__(MolecularDynamics self) -> std::string"""
5897  return _IMP_atom.MolecularDynamics___str__(self)
5898 
5899  def __repr__(self):
5900  r"""__repr__(MolecularDynamics self) -> std::string"""
5901  return _IMP_atom.MolecularDynamics___repr__(self)
5902 
5903  @staticmethod
5904  def get_from(o):
5905  return _object_cast_to_MolecularDynamics(o)
5906 
5907 
5908  def _get_jax(self):
5909  from IMP.atom._jax_util import _MDJAXInfo
5910  return _MDJAXInfo(self)
5911 
5912  def _optimize_jax(self, max_steps):
5913  import IMP.atom._jax_util
5914  return IMP.atom._jax_util._md_optimize(self, max_steps)
5915 
5916 
5917 # Register MolecularDynamics in _IMP_atom:
5918 _IMP_atom.MolecularDynamics_swigregister(MolecularDynamics)
5919 class VelocityScalingOptimizerState(IMP.OptimizerState):
5920  r"""Proxy of C++ IMP::atom::VelocityScalingOptimizerState class."""
5921 
5922  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5923 
5924  def __init__(self, m, pis, temperature):
5925  r"""__init__(VelocityScalingOptimizerState self, Model m, _ParticleIndexesAdaptor pis, double temperature) -> VelocityScalingOptimizerState"""
5926  _IMP_atom.VelocityScalingOptimizerState_swiginit(self, _IMP_atom.new_VelocityScalingOptimizerState(m, pis, temperature))
5927 
5928  def set_particles(self, pis):
5929  r"""set_particles(VelocityScalingOptimizerState self, IMP::Particles const & pis)"""
5930  return _IMP_atom.VelocityScalingOptimizerState_set_particles(self, pis)
5931 
5932  def set_temperature(self, temperature):
5933  r"""set_temperature(VelocityScalingOptimizerState self, IMP::Float temperature)"""
5934  return _IMP_atom.VelocityScalingOptimizerState_set_temperature(self, temperature)
5935 
5936  def get_temperature(self):
5937  r"""get_temperature(VelocityScalingOptimizerState self) -> IMP::Float"""
5938  return _IMP_atom.VelocityScalingOptimizerState_get_temperature(self)
5939 
5940  def rescale_velocities(self):
5941  r"""rescale_velocities(VelocityScalingOptimizerState self)"""
5942  return _IMP_atom.VelocityScalingOptimizerState_rescale_velocities(self)
5943 
5944  def get_version_info(self):
5945  r"""get_version_info(VelocityScalingOptimizerState self) -> VersionInfo"""
5946  return _IMP_atom.VelocityScalingOptimizerState_get_version_info(self)
5947  __swig_destroy__ = _IMP_atom.delete_VelocityScalingOptimizerState
5948 
5949  def __str__(self):
5950  r"""__str__(VelocityScalingOptimizerState self) -> std::string"""
5951  return _IMP_atom.VelocityScalingOptimizerState___str__(self)
5952 
5953  def __repr__(self):
5954  r"""__repr__(VelocityScalingOptimizerState self) -> std::string"""
5955  return _IMP_atom.VelocityScalingOptimizerState___repr__(self)
5956 
5957  @staticmethod
5958  def get_from(o):
5959  return _object_cast_to_VelocityScalingOptimizerState(o)
5960 
5961 
5962  def _get_jax(self, state_index):
5963  import jax.lax
5964  import jax.numpy as jnp
5965  temperature = self.get_temperature()
5966 
5967  def scale_velocities(md, tkinetic):
5968  scale = jnp.sqrt(temperature / tkinetic)
5969  linvel = md.jm['linvel'].at[md.simulation_indexes]
5970  md.jm['linvel'] = linvel.multiply(scale)
5971  return md
5972 
5973  def apply_func(md):
5974  ekinetic = md.get_kinetic_energy()
5975  tkinetic = md.get_kinetic_temperature(ekinetic)
5976  return jax.lax.cond(tkinetic > 1e-8, scale_velocities,
5977  lambda md, tk: md, md, tkinetic)
5978  return self._wrap_jax(lambda x: x, apply_func)
5979 
5980 
5981 # Register VelocityScalingOptimizerState in _IMP_atom:
5982 _IMP_atom.VelocityScalingOptimizerState_swigregister(VelocityScalingOptimizerState)
5983 class Fragment(Hierarchy):
5984  r"""Proxy of C++ IMP::atom::Fragment class."""
5985 
5986  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5987 
5988  def set_residue_indexes(self, o):
5989  r"""set_residue_indexes(Fragment self, IMP::Ints o)"""
5990  return _IMP_atom.Fragment_set_residue_indexes(self, o)
5991 
5992  def get_residue_indexes(self):
5993  r"""get_residue_indexes(Fragment self) -> IMP::Ints"""
5994  return _IMP_atom.Fragment_get_residue_indexes(self)
5995 
5996  def get_contains_residue(self, rindex):
5997  r"""get_contains_residue(Fragment self, int rindex) -> bool"""
5998  return _IMP_atom.Fragment_get_contains_residue(self, rindex)
5999 
6000  def get_contains_any_sorted_residue(self, rinds):
6001  r"""get_contains_any_sorted_residue(Fragment self, IMP::Ints const & rinds) -> bool"""
6002  return _IMP_atom.Fragment_get_contains_any_sorted_residue(self, rinds)
6003 
6004  def __init__(self, *args):
6005  r"""
6006  __init__(Fragment self) -> Fragment
6007  __init__(Fragment self, Model m, ParticleIndex id) -> Fragment
6008  __init__(Fragment self, _ParticleAdaptor d) -> Fragment
6009  """
6010  _IMP_atom.Fragment_swiginit(self, _IMP_atom.new_Fragment(*args))
6011 
6012  @staticmethod
6013  def get_is_setup(*args):
6014  r"""
6015  get_is_setup(Model m, ParticleIndex pi) -> bool
6016  get_is_setup(_ParticleAdaptor p) -> bool
6017  """
6018  return _IMP_atom.Fragment_get_is_setup(*args)
6019 
6020  def show(self, *args):
6021  r"""show(Fragment self, _ostream out=std::cout)"""
6022  return _IMP_atom.Fragment_show(self, *args)
6023 
6024  @staticmethod
6025  def setup_particle(*args):
6026  r"""
6027  setup_particle(Model m, ParticleIndex pi) -> Fragment
6028  setup_particle(_ParticleAdaptor pa) -> Fragment
6029  setup_particle(Model m, ParticleIndex pi, Fragment other) -> Fragment
6030  setup_particle(_ParticleAdaptor pa, Fragment other) -> Fragment
6031  setup_particle(Model m, ParticleIndex pi, IMP::Ints residue_indexes) -> Fragment
6032  setup_particle(_ParticleAdaptor pa, IMP::Ints residue_indexes) -> Fragment
6033  """
6034  return _IMP_atom.Fragment_setup_particle(*args)
6035 
6036  def add_attribute(self, *args):
6037  r"""
6038  add_attribute(Fragment self, FloatKey k, IMP::Float v, bool opt)
6039  add_attribute(Fragment self, FloatKey a0, IMP::Float a1)
6040  add_attribute(Fragment self, IntKey a0, IMP::Int a1)
6041  add_attribute(Fragment self, FloatsKey a0, IMP::Floats a1)
6042  add_attribute(Fragment self, IntsKey a0, IMP::Ints a1)
6043  add_attribute(Fragment self, StringKey a0, IMP::String a1)
6044  add_attribute(Fragment self, ParticleIndexKey a0, Particle a1)
6045  add_attribute(Fragment self, ObjectKey a0, Object a1)
6046  add_attribute(Fragment self, SparseFloatKey a0, IMP::Float a1)
6047  add_attribute(Fragment self, SparseIntKey a0, IMP::Int a1)
6048  add_attribute(Fragment self, SparseStringKey a0, IMP::String a1)
6049  add_attribute(Fragment self, SparseParticleIndexKey a0, ParticleIndex a1)
6050  """
6051  return _IMP_atom.Fragment_add_attribute(self, *args)
6052 
6053  def get_value(self, *args):
6054  r"""
6055  get_value(Fragment self, FloatKey a0) -> IMP::Float
6056  get_value(Fragment self, IntKey a0) -> IMP::Int
6057  get_value(Fragment self, FloatsKey a0) -> IMP::Floats
6058  get_value(Fragment self, IntsKey a0) -> IMP::Ints
6059  get_value(Fragment self, StringKey a0) -> IMP::String
6060  get_value(Fragment self, ParticleIndexKey a0) -> Particle
6061  get_value(Fragment self, ObjectKey a0) -> Object
6062  get_value(Fragment self, SparseFloatKey a0) -> IMP::Float
6063  get_value(Fragment self, SparseIntKey a0) -> IMP::Int
6064  get_value(Fragment self, SparseStringKey a0) -> IMP::String
6065  get_value(Fragment self, SparseParticleIndexKey a0) -> ParticleIndex
6066  """
6067  return _IMP_atom.Fragment_get_value(self, *args)
6068 
6069  def set_value(self, *args):
6070  r"""
6071  set_value(Fragment self, FloatKey a0, IMP::Float a1)
6072  set_value(Fragment self, IntKey a0, IMP::Int a1)
6073  set_value(Fragment self, FloatsKey a0, IMP::Floats a1)
6074  set_value(Fragment self, IntsKey a0, IMP::Ints a1)
6075  set_value(Fragment self, StringKey a0, IMP::String a1)
6076  set_value(Fragment self, ParticleIndexKey a0, Particle a1)
6077  set_value(Fragment self, ObjectKey a0, Object a1)
6078  set_value(Fragment self, SparseFloatKey a0, IMP::Float a1)
6079  set_value(Fragment self, SparseIntKey a0, IMP::Int a1)
6080  set_value(Fragment self, SparseStringKey a0, IMP::String a1)
6081  set_value(Fragment self, SparseParticleIndexKey a0, ParticleIndex a1)
6082  """
6083  return _IMP_atom.Fragment_set_value(self, *args)
6084 
6085  def remove_attribute(self, *args):
6086  r"""
6087  remove_attribute(Fragment self, FloatKey a0)
6088  remove_attribute(Fragment self, IntKey a0)
6089  remove_attribute(Fragment self, FloatsKey a0)
6090  remove_attribute(Fragment self, IntsKey a0)
6091  remove_attribute(Fragment self, StringKey a0)
6092  remove_attribute(Fragment self, ParticleIndexKey a0)
6093  remove_attribute(Fragment self, ObjectKey a0)
6094  remove_attribute(Fragment self, SparseFloatKey a0)
6095  remove_attribute(Fragment self, SparseIntKey a0)
6096  remove_attribute(Fragment self, SparseStringKey a0)
6097  remove_attribute(Fragment self, SparseParticleIndexKey a0)
6098  """
6099  return _IMP_atom.Fragment_remove_attribute(self, *args)
6100 
6101  def has_attribute(self, *args):
6102  r"""
6103  has_attribute(Fragment self, FloatKey a0) -> bool
6104  has_attribute(Fragment self, IntKey a0) -> bool
6105  has_attribute(Fragment self, FloatsKey a0) -> bool
6106  has_attribute(Fragment self, IntsKey a0) -> bool
6107  has_attribute(Fragment self, StringKey a0) -> bool
6108  has_attribute(Fragment self, ParticleIndexKey a0) -> bool
6109  has_attribute(Fragment self, ObjectKey a0) -> bool
6110  has_attribute(Fragment self, SparseFloatKey a0) -> bool
6111  has_attribute(Fragment self, SparseIntKey a0) -> bool
6112  has_attribute(Fragment self, SparseStringKey a0) -> bool
6113  has_attribute(Fragment self, SparseParticleIndexKey a0) -> bool
6114  """
6115  return _IMP_atom.Fragment_has_attribute(self, *args)
6116 
6117  def get_derivative(self, a0):
6118  r"""get_derivative(Fragment self, FloatKey a0) -> double"""
6119  return _IMP_atom.Fragment_get_derivative(self, a0)
6120 
6121  def get_name(self):
6122  r"""get_name(Fragment self) -> std::string"""
6123  return _IMP_atom.Fragment_get_name(self)
6124 
6125  def clear_caches(self):
6126  r"""clear_caches(Fragment self)"""
6127  return _IMP_atom.Fragment_clear_caches(self)
6128 
6129  def set_name(self, a0):
6130  r"""set_name(Fragment self, std::string a0)"""
6131  return _IMP_atom.Fragment_set_name(self, a0)
6132 
6133  def set_check_level(self, a0):
6134  r"""set_check_level(Fragment self, IMP::CheckLevel a0)"""
6135  return _IMP_atom.Fragment_set_check_level(self, a0)
6136 
6137  def add_to_derivative(self, a0, a1, a2):
6138  r"""add_to_derivative(Fragment self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
6139  return _IMP_atom.Fragment_add_to_derivative(self, a0, a1, a2)
6140 
6141  def set_is_optimized(self, a0, a1):
6142  r"""set_is_optimized(Fragment self, FloatKey a0, bool a1)"""
6143  return _IMP_atom.Fragment_set_is_optimized(self, a0, a1)
6144 
6145  def get_is_optimized(self, a0):
6146  r"""get_is_optimized(Fragment self, FloatKey a0) -> bool"""
6147  return _IMP_atom.Fragment_get_is_optimized(self, a0)
6148 
6149  def get_check_level(self):
6150  r"""get_check_level(Fragment self) -> IMP::CheckLevel"""
6151  return _IMP_atom.Fragment_get_check_level(self)
6152 
6153  def __eq__(self, *args):
6154  r"""
6155  __eq__(Fragment self, Fragment o) -> bool
6156  __eq__(Fragment self, Particle d) -> bool
6157  """
6158  return _IMP_atom.Fragment___eq__(self, *args)
6159 
6160  def __ne__(self, *args):
6161  r"""
6162  __ne__(Fragment self, Fragment o) -> bool
6163  __ne__(Fragment self, Particle d) -> bool
6164  """
6165  return _IMP_atom.Fragment___ne__(self, *args)
6166 
6167  def __le__(self, *args):
6168  r"""
6169  __le__(Fragment self, Fragment o) -> bool
6170  __le__(Fragment self, Particle d) -> bool
6171  """
6172  return _IMP_atom.Fragment___le__(self, *args)
6173 
6174  def __lt__(self, *args):
6175  r"""
6176  __lt__(Fragment self, Fragment o) -> bool
6177  __lt__(Fragment self, Particle d) -> bool
6178  """
6179  return _IMP_atom.Fragment___lt__(self, *args)
6180 
6181  def __ge__(self, *args):
6182  r"""
6183  __ge__(Fragment self, Fragment o) -> bool
6184  __ge__(Fragment self, Particle d) -> bool
6185  """
6186  return _IMP_atom.Fragment___ge__(self, *args)
6187 
6188  def __gt__(self, *args):
6189  r"""
6190  __gt__(Fragment self, Fragment o) -> bool
6191  __gt__(Fragment self, Particle d) -> bool
6192  """
6193  return _IMP_atom.Fragment___gt__(self, *args)
6194 
6195  def __hash__(self):
6196  r"""__hash__(Fragment self) -> std::size_t"""
6197  return _IMP_atom.Fragment___hash__(self)
6198 
6199  def __str__(self):
6200  r"""__str__(Fragment self) -> std::string"""
6201  return _IMP_atom.Fragment___str__(self)
6202 
6203  def __repr__(self):
6204  r"""__repr__(Fragment self) -> std::string"""
6205  return _IMP_atom.Fragment___repr__(self)
6206 
6207  def _get_as_binary(self):
6208  r"""_get_as_binary(Fragment self) -> PyObject *"""
6209  return _IMP_atom.Fragment__get_as_binary(self)
6210 
6211  def _set_from_binary(self, p):
6212  r"""_set_from_binary(Fragment self, PyObject * p)"""
6213  return _IMP_atom.Fragment__set_from_binary(self, p)
6214 
6215  def __getstate__(self):
6216  p = self._get_as_binary()
6217  if len(self.__dict__) > 1:
6218  d = self.__dict__.copy()
6219  del d['this']
6220  p = (d, p)
6221  return p
6222 
6223  def __setstate__(self, p):
6224  if not hasattr(self, 'this'):
6225  self.__init__()
6226  if isinstance(p, tuple):
6227  d, p = p
6228  self.__dict__.update(d)
6229  return self._set_from_binary(p)
6230 
6231  __swig_destroy__ = _IMP_atom.delete_Fragment
6232 
6233 # Register Fragment in _IMP_atom:
6234 _IMP_atom.Fragment_swigregister(Fragment)
6235 class StereochemistryPairFilter(IMP.PairPredicate):
6236  r"""Proxy of C++ IMP::atom::StereochemistryPairFilter class."""
6237 
6238  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6239 
6240  def __init__(self):
6241  r"""__init__(StereochemistryPairFilter self) -> StereochemistryPairFilter"""
6242  _IMP_atom.StereochemistryPairFilter_swiginit(self, _IMP_atom.new_StereochemistryPairFilter())
6243 
6244  def set_bonds(self, bonds):
6245  r"""set_bonds(StereochemistryPairFilter self, IMP::Particles const & bonds)"""
6246  return _IMP_atom.StereochemistryPairFilter_set_bonds(self, bonds)
6247 
6248  def set_angles(self, angles):
6249  r"""set_angles(StereochemistryPairFilter self, IMP::Particles const & angles)"""
6250  return _IMP_atom.StereochemistryPairFilter_set_angles(self, angles)
6251 
6252  def set_dihedrals(self, dihedrals):
6253  r"""set_dihedrals(StereochemistryPairFilter self, IMP::Particles const & dihedrals)"""
6254  return _IMP_atom.StereochemistryPairFilter_set_dihedrals(self, dihedrals)
6255 
6256  def do_get_inputs(self, m, pis):
6257  r"""do_get_inputs(StereochemistryPairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6258  return _IMP_atom.StereochemistryPairFilter_do_get_inputs(self, m, pis)
6259 
6260  def get_value(self, *args):
6261  r"""
6262  get_value(StereochemistryPairFilter self, IMP::ParticlePair const & a) -> int
6263  get_value(StereochemistryPairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
6264  """
6265  return _IMP_atom.StereochemistryPairFilter_get_value(self, *args)
6266 
6267  def get_value_index(self, *args):
6268  r"""
6269  get_value_index(StereochemistryPairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
6270  get_value_index(StereochemistryPairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
6271  """
6272  return _IMP_atom.StereochemistryPairFilter_get_value_index(self, *args)
6273 
6274  def get_version_info(self):
6275  r"""get_version_info(StereochemistryPairFilter self) -> VersionInfo"""
6276  return _IMP_atom.StereochemistryPairFilter_get_version_info(self)
6277  __swig_destroy__ = _IMP_atom.delete_StereochemistryPairFilter
6278 
6279  def __str__(self):
6280  r"""__str__(StereochemistryPairFilter self) -> std::string"""
6281  return _IMP_atom.StereochemistryPairFilter___str__(self)
6282 
6283  def __repr__(self):
6284  r"""__repr__(StereochemistryPairFilter self) -> std::string"""
6285  return _IMP_atom.StereochemistryPairFilter___repr__(self)
6286 
6287  @staticmethod
6288  def get_from(o):
6289  return _object_cast_to_StereochemistryPairFilter(o)
6290 
6291 
6292 # Register StereochemistryPairFilter in _IMP_atom:
6293 _IMP_atom.StereochemistryPairFilter_swigregister(StereochemistryPairFilter)
6294 class SoapPairFilter(IMP.PairPredicate):
6295  r"""Proxy of C++ IMP::atom::SoapPairFilter class."""
6296 
6297  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6298 
6299  def __init__(self, library):
6300  r"""__init__(SoapPairFilter self, std::string library) -> SoapPairFilter"""
6301  _IMP_atom.SoapPairFilter_swiginit(self, _IMP_atom.new_SoapPairFilter(library))
6302 
6303  def do_get_inputs(self, m, pis):
6304  r"""do_get_inputs(SoapPairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6305  return _IMP_atom.SoapPairFilter_do_get_inputs(self, m, pis)
6306 
6307  def get_value(self, *args):
6308  r"""
6309  get_value(SoapPairFilter self, IMP::ParticlePair const & a) -> int
6310  get_value(SoapPairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
6311  """
6312  return _IMP_atom.SoapPairFilter_get_value(self, *args)
6313 
6314  def get_value_index(self, *args):
6315  r"""
6316  get_value_index(SoapPairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
6317  get_value_index(SoapPairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
6318  """
6319  return _IMP_atom.SoapPairFilter_get_value_index(self, *args)
6320 
6321  def get_version_info(self):
6322  r"""get_version_info(SoapPairFilter self) -> VersionInfo"""
6323  return _IMP_atom.SoapPairFilter_get_version_info(self)
6324  __swig_destroy__ = _IMP_atom.delete_SoapPairFilter
6325 
6326  def __str__(self):
6327  r"""__str__(SoapPairFilter self) -> std::string"""
6328  return _IMP_atom.SoapPairFilter___str__(self)
6329 
6330  def __repr__(self):
6331  r"""__repr__(SoapPairFilter self) -> std::string"""
6332  return _IMP_atom.SoapPairFilter___repr__(self)
6333 
6334  @staticmethod
6335  def get_from(o):
6336  return _object_cast_to_SoapPairFilter(o)
6337 
6338 
6339 # Register SoapPairFilter in _IMP_atom:
6340 _IMP_atom.SoapPairFilter_swigregister(SoapPairFilter)
6341 class Mass(IMP.Decorator):
6342  r"""Proxy of C++ IMP::atom::Mass class."""
6343 
6344  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6345 
6346  def get_mass(self):
6347  r"""get_mass(Mass self) -> IMP::Float"""
6348  return _IMP_atom.Mass_get_mass(self)
6349 
6350  def set_mass(self, d):
6351  r"""set_mass(Mass self, IMP::Float d)"""
6352  return _IMP_atom.Mass_set_mass(self, d)
6353 
6354  def __init__(self, *args):
6355  r"""
6356  __init__(Mass self) -> Mass
6357  __init__(Mass self, Model m, ParticleIndex id) -> Mass
6358  __init__(Mass self, _ParticleAdaptor d) -> Mass
6359  """
6360  _IMP_atom.Mass_swiginit(self, _IMP_atom.new_Mass(*args))
6361 
6362  @staticmethod
6363  def get_is_setup(*args):
6364  r"""
6365  get_is_setup(Model m, ParticleIndex pi) -> bool
6366  get_is_setup(_ParticleAdaptor p) -> bool
6367  """
6368  return _IMP_atom.Mass_get_is_setup(*args)
6369 
6370  def show(self, *args):
6371  r"""show(Mass self, _ostream out=std::cout)"""
6372  return _IMP_atom.Mass_show(self, *args)
6373 
6374  @staticmethod
6375  def setup_particle(*args):
6376  r"""
6377  setup_particle(Model m, ParticleIndex pi, IMP::Float mass) -> Mass
6378  setup_particle(_ParticleAdaptor pa, IMP::Float mass) -> Mass
6379  setup_particle(Model m, ParticleIndex pi, Mass other) -> Mass
6380  setup_particle(_ParticleAdaptor pa, Mass other) -> Mass
6381  """
6382  return _IMP_atom.Mass_setup_particle(*args)
6383 
6384  @staticmethod
6385  def get_mass_key():
6386  r"""get_mass_key() -> FloatKey"""
6387  return _IMP_atom.Mass_get_mass_key()
6388 
6389  def add_attribute(self, *args):
6390  r"""
6391  add_attribute(Mass self, FloatKey k, IMP::Float v, bool opt)
6392  add_attribute(Mass self, FloatKey a0, IMP::Float a1)
6393  add_attribute(Mass self, IntKey a0, IMP::Int a1)
6394  add_attribute(Mass self, FloatsKey a0, IMP::Floats a1)
6395  add_attribute(Mass self, IntsKey a0, IMP::Ints a1)
6396  add_attribute(Mass self, StringKey a0, IMP::String a1)
6397  add_attribute(Mass self, ParticleIndexKey a0, Particle a1)
6398  add_attribute(Mass self, ObjectKey a0, Object a1)
6399  add_attribute(Mass self, SparseFloatKey a0, IMP::Float a1)
6400  add_attribute(Mass self, SparseIntKey a0, IMP::Int a1)
6401  add_attribute(Mass self, SparseStringKey a0, IMP::String a1)
6402  add_attribute(Mass self, SparseParticleIndexKey a0, ParticleIndex a1)
6403  """
6404  return _IMP_atom.Mass_add_attribute(self, *args)
6405 
6406  def get_value(self, *args):
6407  r"""
6408  get_value(Mass self, FloatKey a0) -> IMP::Float
6409  get_value(Mass self, IntKey a0) -> IMP::Int
6410  get_value(Mass self, FloatsKey a0) -> IMP::Floats
6411  get_value(Mass self, IntsKey a0) -> IMP::Ints
6412  get_value(Mass self, StringKey a0) -> IMP::String
6413  get_value(Mass self, ParticleIndexKey a0) -> Particle
6414  get_value(Mass self, ObjectKey a0) -> Object
6415  get_value(Mass self, SparseFloatKey a0) -> IMP::Float
6416  get_value(Mass self, SparseIntKey a0) -> IMP::Int
6417  get_value(Mass self, SparseStringKey a0) -> IMP::String
6418  get_value(Mass self, SparseParticleIndexKey a0) -> ParticleIndex
6419  """
6420  return _IMP_atom.Mass_get_value(self, *args)
6421 
6422  def set_value(self, *args):
6423  r"""
6424  set_value(Mass self, FloatKey a0, IMP::Float a1)
6425  set_value(Mass self, IntKey a0, IMP::Int a1)
6426  set_value(Mass self, FloatsKey a0, IMP::Floats a1)
6427  set_value(Mass self, IntsKey a0, IMP::Ints a1)
6428  set_value(Mass self, StringKey a0, IMP::String a1)
6429  set_value(Mass self, ParticleIndexKey a0, Particle a1)
6430  set_value(Mass self, ObjectKey a0, Object a1)
6431  set_value(Mass self, SparseFloatKey a0, IMP::Float a1)
6432  set_value(Mass self, SparseIntKey a0, IMP::Int a1)
6433  set_value(Mass self, SparseStringKey a0, IMP::String a1)
6434  set_value(Mass self, SparseParticleIndexKey a0, ParticleIndex a1)
6435  """
6436  return _IMP_atom.Mass_set_value(self, *args)
6437 
6438  def remove_attribute(self, *args):
6439  r"""
6440  remove_attribute(Mass self, FloatKey a0)
6441  remove_attribute(Mass self, IntKey a0)
6442  remove_attribute(Mass self, FloatsKey a0)
6443  remove_attribute(Mass self, IntsKey a0)
6444  remove_attribute(Mass self, StringKey a0)
6445  remove_attribute(Mass self, ParticleIndexKey a0)
6446  remove_attribute(Mass self, ObjectKey a0)
6447  remove_attribute(Mass self, SparseFloatKey a0)
6448  remove_attribute(Mass self, SparseIntKey a0)
6449  remove_attribute(Mass self, SparseStringKey a0)
6450  remove_attribute(Mass self, SparseParticleIndexKey a0)
6451  """
6452  return _IMP_atom.Mass_remove_attribute(self, *args)
6453 
6454  def has_attribute(self, *args):
6455  r"""
6456  has_attribute(Mass self, FloatKey a0) -> bool
6457  has_attribute(Mass self, IntKey a0) -> bool
6458  has_attribute(Mass self, FloatsKey a0) -> bool
6459  has_attribute(Mass self, IntsKey a0) -> bool
6460  has_attribute(Mass self, StringKey a0) -> bool
6461  has_attribute(Mass self, ParticleIndexKey a0) -> bool
6462  has_attribute(Mass self, ObjectKey a0) -> bool
6463  has_attribute(Mass self, SparseFloatKey a0) -> bool
6464  has_attribute(Mass self, SparseIntKey a0) -> bool
6465  has_attribute(Mass self, SparseStringKey a0) -> bool
6466  has_attribute(Mass self, SparseParticleIndexKey a0) -> bool
6467  """
6468  return _IMP_atom.Mass_has_attribute(self, *args)
6469 
6470  def get_derivative(self, a0):
6471  r"""get_derivative(Mass self, FloatKey a0) -> double"""
6472  return _IMP_atom.Mass_get_derivative(self, a0)
6473 
6474  def get_name(self):
6475  r"""get_name(Mass self) -> std::string"""
6476  return _IMP_atom.Mass_get_name(self)
6477 
6478  def clear_caches(self):
6479  r"""clear_caches(Mass self)"""
6480  return _IMP_atom.Mass_clear_caches(self)
6481 
6482  def set_name(self, a0):
6483  r"""set_name(Mass self, std::string a0)"""
6484  return _IMP_atom.Mass_set_name(self, a0)
6485 
6486  def set_check_level(self, a0):
6487  r"""set_check_level(Mass self, IMP::CheckLevel a0)"""
6488  return _IMP_atom.Mass_set_check_level(self, a0)
6489 
6490  def add_to_derivative(self, a0, a1, a2):
6491  r"""add_to_derivative(Mass self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
6492  return _IMP_atom.Mass_add_to_derivative(self, a0, a1, a2)
6493 
6494  def set_is_optimized(self, a0, a1):
6495  r"""set_is_optimized(Mass self, FloatKey a0, bool a1)"""
6496  return _IMP_atom.Mass_set_is_optimized(self, a0, a1)
6497 
6498  def get_is_optimized(self, a0):
6499  r"""get_is_optimized(Mass self, FloatKey a0) -> bool"""
6500  return _IMP_atom.Mass_get_is_optimized(self, a0)
6501 
6502  def get_check_level(self):
6503  r"""get_check_level(Mass self) -> IMP::CheckLevel"""
6504  return _IMP_atom.Mass_get_check_level(self)
6505 
6506  def __eq__(self, *args):
6507  r"""
6508  __eq__(Mass self, Mass o) -> bool
6509  __eq__(Mass self, Particle d) -> bool
6510  """
6511  return _IMP_atom.Mass___eq__(self, *args)
6512 
6513  def __ne__(self, *args):
6514  r"""
6515  __ne__(Mass self, Mass o) -> bool
6516  __ne__(Mass self, Particle d) -> bool
6517  """
6518  return _IMP_atom.Mass___ne__(self, *args)
6519 
6520  def __le__(self, *args):
6521  r"""
6522  __le__(Mass self, Mass o) -> bool
6523  __le__(Mass self, Particle d) -> bool
6524  """
6525  return _IMP_atom.Mass___le__(self, *args)
6526 
6527  def __lt__(self, *args):
6528  r"""
6529  __lt__(Mass self, Mass o) -> bool
6530  __lt__(Mass self, Particle d) -> bool
6531  """
6532  return _IMP_atom.Mass___lt__(self, *args)
6533 
6534  def __ge__(self, *args):
6535  r"""
6536  __ge__(Mass self, Mass o) -> bool
6537  __ge__(Mass self, Particle d) -> bool
6538  """
6539  return _IMP_atom.Mass___ge__(self, *args)
6540 
6541  def __gt__(self, *args):
6542  r"""
6543  __gt__(Mass self, Mass o) -> bool
6544  __gt__(Mass self, Particle d) -> bool
6545  """
6546  return _IMP_atom.Mass___gt__(self, *args)
6547 
6548  def __hash__(self):
6549  r"""__hash__(Mass self) -> std::size_t"""
6550  return _IMP_atom.Mass___hash__(self)
6551 
6552  def __str__(self):
6553  r"""__str__(Mass self) -> std::string"""
6554  return _IMP_atom.Mass___str__(self)
6555 
6556  def __repr__(self):
6557  r"""__repr__(Mass self) -> std::string"""
6558  return _IMP_atom.Mass___repr__(self)
6559 
6560  def _get_as_binary(self):
6561  r"""_get_as_binary(Mass self) -> PyObject *"""
6562  return _IMP_atom.Mass__get_as_binary(self)
6563 
6564  def _set_from_binary(self, p):
6565  r"""_set_from_binary(Mass self, PyObject * p)"""
6566  return _IMP_atom.Mass__set_from_binary(self, p)
6567 
6568  def __getstate__(self):
6569  p = self._get_as_binary()
6570  if len(self.__dict__) > 1:
6571  d = self.__dict__.copy()
6572  del d['this']
6573  p = (d, p)
6574  return p
6575 
6576  def __setstate__(self, p):
6577  if not hasattr(self, 'this'):
6578  self.__init__()
6579  if isinstance(p, tuple):
6580  d, p = p
6581  self.__dict__.update(d)
6582  return self._set_from_binary(p)
6583 
6584  __swig_destroy__ = _IMP_atom.delete_Mass
6585 
6586 # Register Mass in _IMP_atom:
6587 _IMP_atom.Mass_swigregister(Mass)
6588 class BondedPairFilter(IMP.PairPredicate):
6589  r"""Proxy of C++ IMP::atom::BondedPairFilter class."""
6590 
6591  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6592 
6593  def __init__(self):
6594  r"""__init__(BondedPairFilter self) -> BondedPairFilter"""
6595  _IMP_atom.BondedPairFilter_swiginit(self, _IMP_atom.new_BondedPairFilter())
6596 
6597  def do_get_inputs(self, m, pis):
6598  r"""do_get_inputs(BondedPairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6599  return _IMP_atom.BondedPairFilter_do_get_inputs(self, m, pis)
6600 
6601  def get_value(self, *args):
6602  r"""
6603  get_value(BondedPairFilter self, IMP::ParticlePair const & a) -> int
6604  get_value(BondedPairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
6605  """
6606  return _IMP_atom.BondedPairFilter_get_value(self, *args)
6607 
6608  def get_value_index(self, *args):
6609  r"""
6610  get_value_index(BondedPairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
6611  get_value_index(BondedPairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
6612  """
6613  return _IMP_atom.BondedPairFilter_get_value_index(self, *args)
6614 
6615  def get_version_info(self):
6616  r"""get_version_info(BondedPairFilter self) -> VersionInfo"""
6617  return _IMP_atom.BondedPairFilter_get_version_info(self)
6618  __swig_destroy__ = _IMP_atom.delete_BondedPairFilter
6619 
6620  def __str__(self):
6621  r"""__str__(BondedPairFilter self) -> std::string"""
6622  return _IMP_atom.BondedPairFilter___str__(self)
6623 
6624  def __repr__(self):
6625  r"""__repr__(BondedPairFilter self) -> std::string"""
6626  return _IMP_atom.BondedPairFilter___repr__(self)
6627 
6628  @staticmethod
6629  def get_from(o):
6630  return _object_cast_to_BondedPairFilter(o)
6631 
6632 
6633 # Register BondedPairFilter in _IMP_atom:
6634 _IMP_atom.BondedPairFilter_swigregister(BondedPairFilter)
6635 class Mol2Selector(IMP.Object):
6636  r"""Proxy of C++ IMP::atom::Mol2Selector class."""
6637 
6638  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6639 
6640  def __init__(self, *args, **kwargs):
6641  raise AttributeError("No constructor defined - class is abstract")
6642 
6643  def get_is_selected(self, atom_line):
6644  r"""get_is_selected(Mol2Selector self, std::string const & atom_line) -> bool"""
6645  return _IMP_atom.Mol2Selector_get_is_selected(self, atom_line)
6646  __swig_destroy__ = _IMP_atom.delete_Mol2Selector
6647 
6648  def __str__(self):
6649  r"""__str__(Mol2Selector self) -> std::string"""
6650  return _IMP_atom.Mol2Selector___str__(self)
6651 
6652  def __repr__(self):
6653  r"""__repr__(Mol2Selector self) -> std::string"""
6654  return _IMP_atom.Mol2Selector___repr__(self)
6655 
6656  @staticmethod
6657  def get_from(o):
6658  return _object_cast_to_Mol2Selector(o)
6659 
6660 
6661 # Register Mol2Selector in _IMP_atom:
6662 _IMP_atom.Mol2Selector_swigregister(Mol2Selector)
6663 class AllMol2Selector(Mol2Selector):
6664  r"""Proxy of C++ IMP::atom::AllMol2Selector class."""
6665 
6666  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6667 
6668  def __str__(self):
6669  r"""__str__(AllMol2Selector self) -> std::string"""
6670  return _IMP_atom.AllMol2Selector___str__(self)
6671 
6672  def __repr__(self):
6673  r"""__repr__(AllMol2Selector self) -> std::string"""
6674  return _IMP_atom.AllMol2Selector___repr__(self)
6675 
6676  @staticmethod
6677  def get_from(o):
6678  return _object_cast_to_AllMol2Selector(o)
6679 
6680 
6681  def __init__(self):
6682  r"""__init__(AllMol2Selector self) -> AllMol2Selector"""
6683  _IMP_atom.AllMol2Selector_swiginit(self, _IMP_atom.new_AllMol2Selector())
6684  __swig_destroy__ = _IMP_atom.delete_AllMol2Selector
6685 
6686 # Register AllMol2Selector in _IMP_atom:
6687 _IMP_atom.AllMol2Selector_swigregister(AllMol2Selector)
6688 class NonHydrogenMol2Selector(Mol2Selector):
6689  r"""Proxy of C++ IMP::atom::NonHydrogenMol2Selector class."""
6690 
6691  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6692 
6693  def __str__(self):
6694  r"""__str__(NonHydrogenMol2Selector self) -> std::string"""
6695  return _IMP_atom.NonHydrogenMol2Selector___str__(self)
6696 
6697  def __repr__(self):
6698  r"""__repr__(NonHydrogenMol2Selector self) -> std::string"""
6699  return _IMP_atom.NonHydrogenMol2Selector___repr__(self)
6700 
6701  @staticmethod
6702  def get_from(o):
6703  return _object_cast_to_NonHydrogenMol2Selector(o)
6704 
6705 
6706  def __init__(self):
6707  r"""__init__(NonHydrogenMol2Selector self) -> NonHydrogenMol2Selector"""
6708  _IMP_atom.NonHydrogenMol2Selector_swiginit(self, _IMP_atom.new_NonHydrogenMol2Selector())
6709  __swig_destroy__ = _IMP_atom.delete_NonHydrogenMol2Selector
6710 
6711 # Register NonHydrogenMol2Selector in _IMP_atom:
6712 _IMP_atom.NonHydrogenMol2Selector_swigregister(NonHydrogenMol2Selector)
6713 
6714 def read_mol2(mol2_file, model, mol2sel=None):
6715  r"""read_mol2(TextInput mol2_file, Model model, Mol2Selector mol2sel=None) -> Hierarchy"""
6716  return _IMP_atom.read_mol2(mol2_file, model, mol2sel)
6717 
6718 def write_mol2(rhd, file_name):
6719  r"""write_mol2(Hierarchy rhd, TextOutput file_name)"""
6720  return _IMP_atom.write_mol2(rhd, file_name)
6721 class SecondaryStructureResidue(IMP.Decorator):
6722  r"""Proxy of C++ IMP::atom::SecondaryStructureResidue class."""
6723 
6724  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6725 
6726  def __init__(self, *args):
6727  r"""
6728  __init__(SecondaryStructureResidue self) -> SecondaryStructureResidue
6729  __init__(SecondaryStructureResidue self, Model m, ParticleIndex id) -> SecondaryStructureResidue
6730  __init__(SecondaryStructureResidue self, _ParticleAdaptor d) -> SecondaryStructureResidue
6731  """
6732  _IMP_atom.SecondaryStructureResidue_swiginit(self, _IMP_atom.new_SecondaryStructureResidue(*args))
6733 
6734  def show(self, *args):
6735  r"""show(SecondaryStructureResidue self, _ostream out=std::cout)"""
6736  return _IMP_atom.SecondaryStructureResidue_show(self, *args)
6737 
6738  @staticmethod
6739  def setup_particle(*args):
6740  r"""
6741  setup_particle(Model m, ParticleIndex pi, IMP::Float prob_helix, IMP::Float prob_strand, IMP::Float prob_coil) -> SecondaryStructureResidue
6742  setup_particle(_ParticleAdaptor pa, IMP::Float prob_helix, IMP::Float prob_strand, IMP::Float prob_coil) -> SecondaryStructureResidue
6743  setup_particle(Particle res_p) -> SecondaryStructureResidue
6744  """
6745  return _IMP_atom.SecondaryStructureResidue_setup_particle(*args)
6746 
6747  @staticmethod
6748  def get_is_setup(*args):
6749  r"""
6750  get_is_setup(_ParticleAdaptor p) -> bool
6751  get_is_setup(Model m, ParticleIndex pi) -> bool
6752  """
6753  return _IMP_atom.SecondaryStructureResidue_get_is_setup(*args)
6754 
6755  def get_particle(self):
6756  r"""get_particle(SecondaryStructureResidue self) -> Particle"""
6757  return _IMP_atom.SecondaryStructureResidue_get_particle(self)
6758 
6759  def get_all_probabilities(self):
6760  r"""get_all_probabilities(SecondaryStructureResidue self) -> IMP::Floats"""
6761  return _IMP_atom.SecondaryStructureResidue_get_all_probabilities(self)
6762 
6763  def get_prob_helix(self):
6764  r"""get_prob_helix(SecondaryStructureResidue self) -> IMP::Float"""
6765  return _IMP_atom.SecondaryStructureResidue_get_prob_helix(self)
6766 
6767  def set_prob_helix(self, t):
6768  r"""set_prob_helix(SecondaryStructureResidue self, IMP::Float t)"""
6769  return _IMP_atom.SecondaryStructureResidue_set_prob_helix(self, t)
6770 
6771  def get_prob_strand(self):
6772  r"""get_prob_strand(SecondaryStructureResidue self) -> IMP::Float"""
6773  return _IMP_atom.SecondaryStructureResidue_get_prob_strand(self)
6774 
6775  def set_prob_strand(self, t):
6776  r"""set_prob_strand(SecondaryStructureResidue self, IMP::Float t)"""
6777  return _IMP_atom.SecondaryStructureResidue_set_prob_strand(self, t)
6778 
6779  def get_prob_coil(self):
6780  r"""get_prob_coil(SecondaryStructureResidue self) -> IMP::Float"""
6781  return _IMP_atom.SecondaryStructureResidue_get_prob_coil(self)
6782 
6783  def set_prob_coil(self, t):
6784  r"""set_prob_coil(SecondaryStructureResidue self, IMP::Float t)"""
6785  return _IMP_atom.SecondaryStructureResidue_set_prob_coil(self, t)
6786 
6787  @staticmethod
6788  def get_prob_helix_key():
6789  r"""get_prob_helix_key() -> FloatKey"""
6790  return _IMP_atom.SecondaryStructureResidue_get_prob_helix_key()
6791 
6792  @staticmethod
6793  def get_prob_strand_key():
6794  r"""get_prob_strand_key() -> FloatKey"""
6795  return _IMP_atom.SecondaryStructureResidue_get_prob_strand_key()
6796 
6797  @staticmethod
6798  def get_prob_coil_key():
6799  r"""get_prob_coil_key() -> FloatKey"""
6800  return _IMP_atom.SecondaryStructureResidue_get_prob_coil_key()
6801 
6802  def add_attribute(self, *args):
6803  r"""
6804  add_attribute(SecondaryStructureResidue self, FloatKey k, IMP::Float v, bool opt)
6805  add_attribute(SecondaryStructureResidue self, FloatKey a0, IMP::Float a1)
6806  add_attribute(SecondaryStructureResidue self, IntKey a0, IMP::Int a1)
6807  add_attribute(SecondaryStructureResidue self, FloatsKey a0, IMP::Floats a1)
6808  add_attribute(SecondaryStructureResidue self, IntsKey a0, IMP::Ints a1)
6809  add_attribute(SecondaryStructureResidue self, StringKey a0, IMP::String a1)
6810  add_attribute(SecondaryStructureResidue self, ParticleIndexKey a0, Particle a1)
6811  add_attribute(SecondaryStructureResidue self, ObjectKey a0, Object a1)
6812  add_attribute(SecondaryStructureResidue self, SparseFloatKey a0, IMP::Float a1)
6813  add_attribute(SecondaryStructureResidue self, SparseIntKey a0, IMP::Int a1)
6814  add_attribute(SecondaryStructureResidue self, SparseStringKey a0, IMP::String a1)
6815  add_attribute(SecondaryStructureResidue self, SparseParticleIndexKey a0, ParticleIndex a1)
6816  """
6817  return _IMP_atom.SecondaryStructureResidue_add_attribute(self, *args)
6818 
6819  def get_value(self, *args):
6820  r"""
6821  get_value(SecondaryStructureResidue self, FloatKey a0) -> IMP::Float
6822  get_value(SecondaryStructureResidue self, IntKey a0) -> IMP::Int
6823  get_value(SecondaryStructureResidue self, FloatsKey a0) -> IMP::Floats
6824  get_value(SecondaryStructureResidue self, IntsKey a0) -> IMP::Ints
6825  get_value(SecondaryStructureResidue self, StringKey a0) -> IMP::String
6826  get_value(SecondaryStructureResidue self, ParticleIndexKey a0) -> Particle
6827  get_value(SecondaryStructureResidue self, ObjectKey a0) -> Object
6828  get_value(SecondaryStructureResidue self, SparseFloatKey a0) -> IMP::Float
6829  get_value(SecondaryStructureResidue self, SparseIntKey a0) -> IMP::Int
6830  get_value(SecondaryStructureResidue self, SparseStringKey a0) -> IMP::String
6831  get_value(SecondaryStructureResidue self, SparseParticleIndexKey a0) -> ParticleIndex
6832  """
6833  return _IMP_atom.SecondaryStructureResidue_get_value(self, *args)
6834 
6835  def set_value(self, *args):
6836  r"""
6837  set_value(SecondaryStructureResidue self, FloatKey a0, IMP::Float a1)
6838  set_value(SecondaryStructureResidue self, IntKey a0, IMP::Int a1)
6839  set_value(SecondaryStructureResidue self, FloatsKey a0, IMP::Floats a1)
6840  set_value(SecondaryStructureResidue self, IntsKey a0, IMP::Ints a1)
6841  set_value(SecondaryStructureResidue self, StringKey a0, IMP::String a1)
6842  set_value(SecondaryStructureResidue self, ParticleIndexKey a0, Particle a1)
6843  set_value(SecondaryStructureResidue self, ObjectKey a0, Object a1)
6844  set_value(SecondaryStructureResidue self, SparseFloatKey a0, IMP::Float a1)
6845  set_value(SecondaryStructureResidue self, SparseIntKey a0, IMP::Int a1)
6846  set_value(SecondaryStructureResidue self, SparseStringKey a0, IMP::String a1)
6847  set_value(SecondaryStructureResidue self, SparseParticleIndexKey a0, ParticleIndex a1)
6848  """
6849  return _IMP_atom.SecondaryStructureResidue_set_value(self, *args)
6850 
6851  def remove_attribute(self, *args):
6852  r"""
6853  remove_attribute(SecondaryStructureResidue self, FloatKey a0)
6854  remove_attribute(SecondaryStructureResidue self, IntKey a0)
6855  remove_attribute(SecondaryStructureResidue self, FloatsKey a0)
6856  remove_attribute(SecondaryStructureResidue self, IntsKey a0)
6857  remove_attribute(SecondaryStructureResidue self, StringKey a0)
6858  remove_attribute(SecondaryStructureResidue self, ParticleIndexKey a0)
6859  remove_attribute(SecondaryStructureResidue self, ObjectKey a0)
6860  remove_attribute(SecondaryStructureResidue self, SparseFloatKey a0)
6861  remove_attribute(SecondaryStructureResidue self, SparseIntKey a0)
6862  remove_attribute(SecondaryStructureResidue self, SparseStringKey a0)
6863  remove_attribute(SecondaryStructureResidue self, SparseParticleIndexKey a0)
6864  """
6865  return _IMP_atom.SecondaryStructureResidue_remove_attribute(self, *args)
6866 
6867  def has_attribute(self, *args):
6868  r"""
6869  has_attribute(SecondaryStructureResidue self, FloatKey a0) -> bool
6870  has_attribute(SecondaryStructureResidue self, IntKey a0) -> bool
6871  has_attribute(SecondaryStructureResidue self, FloatsKey a0) -> bool
6872  has_attribute(SecondaryStructureResidue self, IntsKey a0) -> bool
6873  has_attribute(SecondaryStructureResidue self, StringKey a0) -> bool
6874  has_attribute(SecondaryStructureResidue self, ParticleIndexKey a0) -> bool
6875  has_attribute(SecondaryStructureResidue self, ObjectKey a0) -> bool
6876  has_attribute(SecondaryStructureResidue self, SparseFloatKey a0) -> bool
6877  has_attribute(SecondaryStructureResidue self, SparseIntKey a0) -> bool
6878  has_attribute(SecondaryStructureResidue self, SparseStringKey a0) -> bool
6879  has_attribute(SecondaryStructureResidue self, SparseParticleIndexKey a0) -> bool
6880  """
6881  return _IMP_atom.SecondaryStructureResidue_has_attribute(self, *args)
6882 
6883  def get_derivative(self, a0):
6884  r"""get_derivative(SecondaryStructureResidue self, FloatKey a0) -> double"""
6885  return _IMP_atom.SecondaryStructureResidue_get_derivative(self, a0)
6886 
6887  def get_name(self):
6888  r"""get_name(SecondaryStructureResidue self) -> std::string"""
6889  return _IMP_atom.SecondaryStructureResidue_get_name(self)
6890 
6891  def clear_caches(self):
6892  r"""clear_caches(SecondaryStructureResidue self)"""
6893  return _IMP_atom.SecondaryStructureResidue_clear_caches(self)
6894 
6895  def set_name(self, a0):
6896  r"""set_name(SecondaryStructureResidue self, std::string a0)"""
6897  return _IMP_atom.SecondaryStructureResidue_set_name(self, a0)
6898 
6899  def set_check_level(self, a0):
6900  r"""set_check_level(SecondaryStructureResidue self, IMP::CheckLevel a0)"""
6901  return _IMP_atom.SecondaryStructureResidue_set_check_level(self, a0)
6902 
6903  def add_to_derivative(self, a0, a1, a2):
6904  r"""add_to_derivative(SecondaryStructureResidue self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
6905  return _IMP_atom.SecondaryStructureResidue_add_to_derivative(self, a0, a1, a2)
6906 
6907  def set_is_optimized(self, a0, a1):
6908  r"""set_is_optimized(SecondaryStructureResidue self, FloatKey a0, bool a1)"""
6909  return _IMP_atom.SecondaryStructureResidue_set_is_optimized(self, a0, a1)
6910 
6911  def get_is_optimized(self, a0):
6912  r"""get_is_optimized(SecondaryStructureResidue self, FloatKey a0) -> bool"""
6913  return _IMP_atom.SecondaryStructureResidue_get_is_optimized(self, a0)
6914 
6915  def get_check_level(self):
6916  r"""get_check_level(SecondaryStructureResidue self) -> IMP::CheckLevel"""
6917  return _IMP_atom.SecondaryStructureResidue_get_check_level(self)
6918 
6919  def __eq__(self, *args):
6920  r"""
6921  __eq__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
6922  __eq__(SecondaryStructureResidue self, Particle d) -> bool
6923  """
6924  return _IMP_atom.SecondaryStructureResidue___eq__(self, *args)
6925 
6926  def __ne__(self, *args):
6927  r"""
6928  __ne__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
6929  __ne__(SecondaryStructureResidue self, Particle d) -> bool
6930  """
6931  return _IMP_atom.SecondaryStructureResidue___ne__(self, *args)
6932 
6933  def __le__(self, *args):
6934  r"""
6935  __le__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
6936  __le__(SecondaryStructureResidue self, Particle d) -> bool
6937  """
6938  return _IMP_atom.SecondaryStructureResidue___le__(self, *args)
6939 
6940  def __lt__(self, *args):
6941  r"""
6942  __lt__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
6943  __lt__(SecondaryStructureResidue self, Particle d) -> bool
6944  """
6945  return _IMP_atom.SecondaryStructureResidue___lt__(self, *args)
6946 
6947  def __ge__(self, *args):
6948  r"""
6949  __ge__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
6950  __ge__(SecondaryStructureResidue self, Particle d) -> bool
6951  """
6952  return _IMP_atom.SecondaryStructureResidue___ge__(self, *args)
6953 
6954  def __gt__(self, *args):
6955  r"""
6956  __gt__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
6957  __gt__(SecondaryStructureResidue self, Particle d) -> bool
6958  """
6959  return _IMP_atom.SecondaryStructureResidue___gt__(self, *args)
6960 
6961  def __hash__(self):
6962  r"""__hash__(SecondaryStructureResidue self) -> std::size_t"""
6963  return _IMP_atom.SecondaryStructureResidue___hash__(self)
6964 
6965  def __str__(self):
6966  r"""__str__(SecondaryStructureResidue self) -> std::string"""
6967  return _IMP_atom.SecondaryStructureResidue___str__(self)
6968 
6969  def __repr__(self):
6970  r"""__repr__(SecondaryStructureResidue self) -> std::string"""
6971  return _IMP_atom.SecondaryStructureResidue___repr__(self)
6972 
6973  def _get_as_binary(self):
6974  r"""_get_as_binary(SecondaryStructureResidue self) -> PyObject *"""
6975  return _IMP_atom.SecondaryStructureResidue__get_as_binary(self)
6976 
6977  def _set_from_binary(self, p):
6978  r"""_set_from_binary(SecondaryStructureResidue self, PyObject * p)"""
6979  return _IMP_atom.SecondaryStructureResidue__set_from_binary(self, p)
6980 
6981  def __getstate__(self):
6982  p = self._get_as_binary()
6983  if len(self.__dict__) > 1:
6984  d = self.__dict__.copy()
6985  del d['this']
6986  p = (d, p)
6987  return p
6988 
6989  def __setstate__(self, p):
6990  if not hasattr(self, 'this'):
6991  self.__init__()
6992  if isinstance(p, tuple):
6993  d, p = p
6994  self.__dict__.update(d)
6995  return self._set_from_binary(p)
6996 
6997  __swig_destroy__ = _IMP_atom.delete_SecondaryStructureResidue
6998 
6999 # Register SecondaryStructureResidue in _IMP_atom:
7000 _IMP_atom.SecondaryStructureResidue_swigregister(SecondaryStructureResidue)
7001 
7002 def setup_coarse_secondary_structure_residue(ssr_ps, mdl, winner_takes_all_per_res=False):
7003  r"""setup_coarse_secondary_structure_residue(IMP::Particles const & ssr_ps, Model mdl, bool winner_takes_all_per_res=False) -> SecondaryStructureResidue"""
7004  return _IMP_atom.setup_coarse_secondary_structure_residue(ssr_ps, mdl, winner_takes_all_per_res)
7005 
7006 def setup_coarse_secondary_structure_residues(ssr_ps, mdl, coarse_factor, start_res_num, winner_takes_all_per_res=False):
7007  r"""setup_coarse_secondary_structure_residues(IMP::Particles const & ssr_ps, Model mdl, int coarse_factor, int start_res_num, bool winner_takes_all_per_res=False) -> IMP::atom::SecondaryStructureResidues"""
7008  return _IMP_atom.setup_coarse_secondary_structure_residues(ssr_ps, mdl, coarse_factor, start_res_num, winner_takes_all_per_res)
7009 
7010 def get_secondary_structure_match_score(ssr1, ssr2):
7011  r"""get_secondary_structure_match_score(SecondaryStructureResidue ssr1, SecondaryStructureResidue ssr2) -> IMP::Float"""
7012  return _IMP_atom.get_secondary_structure_match_score(ssr1, ssr2)
7013 
7014 def read_psipred(*args):
7015  r"""
7016  read_psipred(TextInput inf, Model mdl) -> IMP::atom::SecondaryStructureResidues
7017  read_psipred(TextInput inf, IMP::Particles ps) -> IMP::atom::SecondaryStructureResidues
7018  """
7019  return _IMP_atom.read_psipred(*args)
7020 class _ADopeBase(IMP.PairScore):
7021  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::Dope > class."""
7022 
7023  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7024  __repr__ = _swig_repr
7025 
7026  def __init__(self, *args):
7027  r"""
7028  __init__(_ADopeBase self, Dope t0, std::string name="FunctorDistancePairScore %1%") -> _ADopeBase
7029  __init__(_ADopeBase self) -> _ADopeBase
7030  """
7031  _IMP_atom._ADopeBase_swiginit(self, _IMP_atom.new__ADopeBase(*args))
7032 
7033  def do_get_inputs(self, m, pis):
7034  r"""do_get_inputs(_ADopeBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7035  return _IMP_atom._ADopeBase_do_get_inputs(self, m, pis)
7036 
7037  def get_score_functor(self, *args):
7038  r"""
7039  get_score_functor(_ADopeBase self) -> Dope
7040  get_score_functor(_ADopeBase self) -> Dope
7041  """
7042  return _IMP_atom._ADopeBase_get_score_functor(self, *args)
7043 
7044  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7045  r"""evaluate_indexes(_ADopeBase self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
7046  return _IMP_atom._ADopeBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7047 
7048  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7049  r"""evaluate_indexes_scores(_ADopeBase self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
7050  return _IMP_atom._ADopeBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7051 
7052  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7053  r"""evaluate_indexes_delta(_ADopeBase self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
7054  return _IMP_atom._ADopeBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7055 
7056  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7057  r"""evaluate_if_good_indexes(_ADopeBase 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"""
7058  return _IMP_atom._ADopeBase_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7059 
7060  def get_version_info(self):
7061  r"""get_version_info(_ADopeBase self) -> VersionInfo"""
7062  return _IMP_atom._ADopeBase_get_version_info(self)
7063  __swig_destroy__ = _IMP_atom.delete__ADopeBase
7064 
7065 # Register _ADopeBase in _IMP_atom:
7066 _IMP_atom._ADopeBase_swigregister(_ADopeBase)
7067 class _BDopeBase(IMP.PairScore):
7068  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::Statistical< IMP::atom::DopeType,false,true,false > > class."""
7069 
7070  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7071  __repr__ = _swig_repr
7072 
7073  def __init__(self, *args):
7074  r"""
7075  __init__(_BDopeBase self, IMP::score_functor::DistancePairScore< IMP::score_functor::Statistical< IMP::atom::DopeType,false,true,false > >::DistanceScore const & t0, std::string name="FunctorDistancePairScore %1%") -> _BDopeBase
7076  __init__(_BDopeBase self) -> _BDopeBase
7077  """
7078  _IMP_atom._BDopeBase_swiginit(self, _IMP_atom.new__BDopeBase(*args))
7079 
7080  def do_get_inputs(self, m, pis):
7081  r"""do_get_inputs(_BDopeBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7082  return _IMP_atom._BDopeBase_do_get_inputs(self, m, pis)
7083 
7084  def get_score_functor(self, *args):
7085  r"""
7086  get_score_functor(_BDopeBase self) -> _DopeBase
7087  get_score_functor(_BDopeBase self) -> _DopeBase
7088  """
7089  return _IMP_atom._BDopeBase_get_score_functor(self, *args)
7090 
7091  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7092  r"""evaluate_indexes(_BDopeBase self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
7093  return _IMP_atom._BDopeBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7094 
7095  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7096  r"""evaluate_indexes_scores(_BDopeBase self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
7097  return _IMP_atom._BDopeBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7098 
7099  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7100  r"""evaluate_indexes_delta(_BDopeBase self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
7101  return _IMP_atom._BDopeBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7102 
7103  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7104  r"""evaluate_if_good_indexes(_BDopeBase 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"""
7105  return _IMP_atom._BDopeBase_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7106 
7107  def get_version_info(self):
7108  r"""get_version_info(_BDopeBase self) -> VersionInfo"""
7109  return _IMP_atom._BDopeBase_get_version_info(self)
7110  __swig_destroy__ = _IMP_atom.delete__BDopeBase
7111 
7112 # Register _BDopeBase in _IMP_atom:
7113 _IMP_atom._BDopeBase_swigregister(_BDopeBase)
7114 class _ALoopStatisticalBase(IMP.PairScore):
7115  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::LoopStatistical > class."""
7116 
7117  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7118  __repr__ = _swig_repr
7119 
7120  def __init__(self, *args):
7121  r"""
7122  __init__(_ALoopStatisticalBase self, LoopStatistical t0, std::string name="FunctorDistancePairScore %1%") -> _ALoopStatisticalBase
7123  __init__(_ALoopStatisticalBase self) -> _ALoopStatisticalBase
7124  """
7125  _IMP_atom._ALoopStatisticalBase_swiginit(self, _IMP_atom.new__ALoopStatisticalBase(*args))
7126 
7127  def do_get_inputs(self, m, pis):
7128  r"""do_get_inputs(_ALoopStatisticalBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7129  return _IMP_atom._ALoopStatisticalBase_do_get_inputs(self, m, pis)
7130 
7131  def get_score_functor(self, *args):
7132  r"""
7133  get_score_functor(_ALoopStatisticalBase self) -> LoopStatistical
7134  get_score_functor(_ALoopStatisticalBase self) -> LoopStatistical
7135  """
7136  return _IMP_atom._ALoopStatisticalBase_get_score_functor(self, *args)
7137 
7138  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7139  r"""evaluate_indexes(_ALoopStatisticalBase self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
7140  return _IMP_atom._ALoopStatisticalBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7141 
7142  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7143  r"""evaluate_indexes_scores(_ALoopStatisticalBase self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
7144  return _IMP_atom._ALoopStatisticalBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7145 
7146  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7147  r"""evaluate_indexes_delta(_ALoopStatisticalBase self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
7148  return _IMP_atom._ALoopStatisticalBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7149 
7150  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7151  r"""evaluate_if_good_indexes(_ALoopStatisticalBase 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"""
7152  return _IMP_atom._ALoopStatisticalBase_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7153 
7154  def get_version_info(self):
7155  r"""get_version_info(_ALoopStatisticalBase self) -> VersionInfo"""
7156  return _IMP_atom._ALoopStatisticalBase_get_version_info(self)
7157  __swig_destroy__ = _IMP_atom.delete__ALoopStatisticalBase
7158 
7159 # Register _ALoopStatisticalBase in _IMP_atom:
7160 _IMP_atom._ALoopStatisticalBase_swigregister(_ALoopStatisticalBase)
7161 class _BLoopStatisticalBase(IMP.PairScore):
7162  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::Statistical< IMP::atom::LoopStatisticalType,false,true,false > > class."""
7163 
7164  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7165  __repr__ = _swig_repr
7166 
7167  def __init__(self, *args):
7168  r"""
7169  __init__(_BLoopStatisticalBase self, IMP::score_functor::DistancePairScore< IMP::score_functor::Statistical< IMP::atom::LoopStatisticalType,false,true,false > >::DistanceScore const & t0, std::string name="FunctorDistancePairScore %1%") -> _BLoopStatisticalBase
7170  __init__(_BLoopStatisticalBase self) -> _BLoopStatisticalBase
7171  """
7172  _IMP_atom._BLoopStatisticalBase_swiginit(self, _IMP_atom.new__BLoopStatisticalBase(*args))
7173 
7174  def do_get_inputs(self, m, pis):
7175  r"""do_get_inputs(_BLoopStatisticalBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7176  return _IMP_atom._BLoopStatisticalBase_do_get_inputs(self, m, pis)
7177 
7178  def get_score_functor(self, *args):
7179  r"""
7180  get_score_functor(_BLoopStatisticalBase self) -> _LoopStatisticalBase
7181  get_score_functor(_BLoopStatisticalBase self) -> _LoopStatisticalBase
7182  """
7183  return _IMP_atom._BLoopStatisticalBase_get_score_functor(self, *args)
7184 
7185  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7186  r"""evaluate_indexes(_BLoopStatisticalBase self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
7187  return _IMP_atom._BLoopStatisticalBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7188 
7189  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7190  r"""evaluate_indexes_scores(_BLoopStatisticalBase self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
7191  return _IMP_atom._BLoopStatisticalBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7192 
7193  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7194  r"""evaluate_indexes_delta(_BLoopStatisticalBase self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
7195  return _IMP_atom._BLoopStatisticalBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7196 
7197  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7198  r"""evaluate_if_good_indexes(_BLoopStatisticalBase 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"""
7199  return _IMP_atom._BLoopStatisticalBase_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7200 
7201  def get_version_info(self):
7202  r"""get_version_info(_BLoopStatisticalBase self) -> VersionInfo"""
7203  return _IMP_atom._BLoopStatisticalBase_get_version_info(self)
7204  __swig_destroy__ = _IMP_atom.delete__BLoopStatisticalBase
7205 
7206 # Register _BLoopStatisticalBase in _IMP_atom:
7207 _IMP_atom._BLoopStatisticalBase_swigregister(_BLoopStatisticalBase)
7208 class _OrientedSoapBase(IMP.PairScore):
7209  r"""Proxy of C++ IMP::score_functor::DistancePairScoreWithCache< IMP::score_functor::OrientedSoap > class."""
7210 
7211  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7212  __repr__ = _swig_repr
7213 
7214  def __init__(self, *args):
7215  r"""__init__(_OrientedSoapBase self, IMP::score_functor::DistancePairScoreWithCache< IMP::score_functor::OrientedSoap >::DistanceScore const & t0, std::string name="FunctorDistancePairScoreWithCache %1%") -> _OrientedSoapBase"""
7216  _IMP_atom._OrientedSoapBase_swiginit(self, _IMP_atom.new__OrientedSoapBase(*args))
7217 
7218  def do_get_inputs(self, m, pis):
7219  r"""do_get_inputs(_OrientedSoapBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7220  return _IMP_atom._OrientedSoapBase_do_get_inputs(self, m, pis)
7221 
7222  def get_score_functor(self):
7223  r"""get_score_functor(_OrientedSoapBase self) -> IMP::score_functor::OrientedSoap &"""
7224  return _IMP_atom._OrientedSoapBase_get_score_functor(self)
7225 
7226  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7227  r"""evaluate_indexes(_OrientedSoapBase self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
7228  return _IMP_atom._OrientedSoapBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7229 
7230  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7231  r"""evaluate_indexes_scores(_OrientedSoapBase self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
7232  return _IMP_atom._OrientedSoapBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7233 
7234  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7235  r"""evaluate_indexes_delta(_OrientedSoapBase self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
7236  return _IMP_atom._OrientedSoapBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7237 
7238  def get_version_info(self):
7239  r"""get_version_info(_OrientedSoapBase self) -> VersionInfo"""
7240  return _IMP_atom._OrientedSoapBase_get_version_info(self)
7241  __swig_destroy__ = _IMP_atom.delete__OrientedSoapBase
7242 
7243 # Register _OrientedSoapBase in _IMP_atom:
7244 _IMP_atom._OrientedSoapBase_swigregister(_OrientedSoapBase)
7245 class _SPSFTB(IMP.PairScore):
7246  r"""Proxy of C++ IMP::score_functor::DistancePairScore< score_functor::Statistical< IMP::atom::ProteinLigandType,true,false > > class."""
7247 
7248  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7249  __repr__ = _swig_repr
7250 
7251  def __init__(self, *args):
7252  r"""
7253  __init__(_SPSFTB self, IMP::score_functor::DistancePairScore< IMP::score_functor::Statistical< IMP::atom::ProteinLigandType,true,false > >::DistanceScore const & t0, std::string name="FunctorDistancePairScore %1%") -> _SPSFTB
7254  __init__(_SPSFTB self) -> _SPSFTB
7255  """
7256  _IMP_atom._SPSFTB_swiginit(self, _IMP_atom.new__SPSFTB(*args))
7257 
7258  def do_get_inputs(self, m, pis):
7259  r"""do_get_inputs(_SPSFTB self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7260  return _IMP_atom._SPSFTB_do_get_inputs(self, m, pis)
7261 
7262  def get_score_functor(self, *args):
7263  r"""
7264  get_score_functor(_SPSFTB self) -> IMP::score_functor::Statistical< IMP::atom::ProteinLigandType,true,false,false >
7265  get_score_functor(_SPSFTB self) -> IMP::score_functor::Statistical< IMP::atom::ProteinLigandType,true,false,false > const &
7266  """
7267  return _IMP_atom._SPSFTB_get_score_functor(self, *args)
7268 
7269  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7270  r"""evaluate_indexes(_SPSFTB self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
7271  return _IMP_atom._SPSFTB_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7272 
7273  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7274  r"""evaluate_indexes_scores(_SPSFTB self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
7275  return _IMP_atom._SPSFTB_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7276 
7277  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7278  r"""evaluate_indexes_delta(_SPSFTB self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
7279  return _IMP_atom._SPSFTB_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7280 
7281  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7282  r"""evaluate_if_good_indexes(_SPSFTB 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"""
7283  return _IMP_atom._SPSFTB_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7284 
7285  def get_version_info(self):
7286  r"""get_version_info(_SPSFTB self) -> VersionInfo"""
7287  return _IMP_atom._SPSFTB_get_version_info(self)
7288  __swig_destroy__ = _IMP_atom.delete__SPSFTB
7289 
7290 # Register _SPSFTB in _IMP_atom:
7291 _IMP_atom._SPSFTB_swigregister(_SPSFTB)
7292 class _SPSTF(_SPSFTB):
7293  r"""Proxy of C++ IMP::core::StatisticalPairScore< IMP::atom::ProteinLigandType,true,false > class."""
7294 
7295  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7296  __repr__ = _swig_repr
7297 
7298  def __init__(self, *args):
7299  r"""
7300  __init__(_SPSTF self, IntKey k, double threshold, TextInput data_file) -> _SPSTF
7301  __init__(_SPSTF self, IntKey k, double threshold, TextInput data_file, unsigned int shift) -> _SPSTF
7302  """
7303  _IMP_atom._SPSTF_swiginit(self, _IMP_atom.new__SPSTF(*args))
7304  __swig_destroy__ = _IMP_atom.delete__SPSTF
7305 
7306 # Register _SPSTF in _IMP_atom:
7307 _IMP_atom._SPSTF_swigregister(_SPSTF)
7308 class _SPSFT(_BDopeBase):
7309  r"""Proxy of C++ IMP::core::StatisticalPairScore< IMP::atom::DopeType,false,true > class."""
7310 
7311  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7312  __repr__ = _swig_repr
7313 
7314  def __init__(self, *args):
7315  r"""
7316  __init__(_SPSFT self, IntKey k, double threshold, TextInput data_file) -> _SPSFT
7317  __init__(_SPSFT self, IntKey k, double threshold, TextInput data_file, unsigned int shift) -> _SPSFT
7318  """
7319  _IMP_atom._SPSFT_swiginit(self, _IMP_atom.new__SPSFT(*args))
7320  __swig_destroy__ = _IMP_atom.delete__SPSFT
7321 
7322 # Register _SPSFT in _IMP_atom:
7323 _IMP_atom._SPSFT_swigregister(_SPSFT)
7324 class _SPSFTL(_BLoopStatisticalBase):
7325  r"""Proxy of C++ IMP::core::StatisticalPairScore< IMP::atom::LoopStatisticalType,false,true > class."""
7326 
7327  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7328  __repr__ = _swig_repr
7329 
7330  def __init__(self, *args):
7331  r"""
7332  __init__(_SPSFTL self, IntKey k, double threshold, TextInput data_file) -> _SPSFTL
7333  __init__(_SPSFTL self, IntKey k, double threshold, TextInput data_file, unsigned int shift) -> _SPSFTL
7334  """
7335  _IMP_atom._SPSFTL_swiginit(self, _IMP_atom.new__SPSFTL(*args))
7336  __swig_destroy__ = _IMP_atom.delete__SPSFTL
7337 
7338 # Register _SPSFTL in _IMP_atom:
7339 _IMP_atom._SPSFTL_swigregister(_SPSFTL)
7340 class ProteinLigandAtomPairScore(_SPSTF):
7341  r"""Proxy of C++ IMP::atom::ProteinLigandAtomPairScore class."""
7342 
7343  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7344 
7345  def __init__(self, *args):
7346  r"""
7347  __init__(ProteinLigandAtomPairScore self, double threshold=std::numeric_limits< double >::max()) -> ProteinLigandAtomPairScore
7348  __init__(ProteinLigandAtomPairScore self, double threshold, TextInput data_file) -> ProteinLigandAtomPairScore
7349  """
7350  _IMP_atom.ProteinLigandAtomPairScore_swiginit(self, _IMP_atom.new_ProteinLigandAtomPairScore(*args))
7351 
7352  def get_maximum_distance(self):
7353  r"""get_maximum_distance(ProteinLigandAtomPairScore self) -> double"""
7354  return _IMP_atom.ProteinLigandAtomPairScore_get_maximum_distance(self)
7355 
7356  def __str__(self):
7357  r"""__str__(ProteinLigandAtomPairScore self) -> std::string"""
7358  return _IMP_atom.ProteinLigandAtomPairScore___str__(self)
7359 
7360  def __repr__(self):
7361  r"""__repr__(ProteinLigandAtomPairScore self) -> std::string"""
7362  return _IMP_atom.ProteinLigandAtomPairScore___repr__(self)
7363 
7364  @staticmethod
7365  def get_from(o):
7366  return _object_cast_to_ProteinLigandAtomPairScore(o)
7367 
7368  __swig_destroy__ = _IMP_atom.delete_ProteinLigandAtomPairScore
7369 
7370 # Register ProteinLigandAtomPairScore in _IMP_atom:
7371 _IMP_atom.ProteinLigandAtomPairScore_swigregister(ProteinLigandAtomPairScore)
7372 class ProteinLigandRestraint(IMP.container.PairsRestraint):
7373  r"""Proxy of C++ IMP::atom::ProteinLigandRestraint class."""
7374 
7375  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7376 
7377  def __init__(self, *args):
7378  r"""
7379  __init__(ProteinLigandRestraint self, Hierarchy protein, Hierarchy ligand, double threshold=std::numeric_limits< double >::max()) -> ProteinLigandRestraint
7380  __init__(ProteinLigandRestraint self, Hierarchy protein, Hierarchy ligand, double threshold, TextInput data_file) -> ProteinLigandRestraint
7381  """
7382  _IMP_atom.ProteinLigandRestraint_swiginit(self, _IMP_atom.new_ProteinLigandRestraint(*args))
7383 
7384  def __str__(self):
7385  r"""__str__(ProteinLigandRestraint self) -> std::string"""
7386  return _IMP_atom.ProteinLigandRestraint___str__(self)
7387 
7388  def __repr__(self):
7389  r"""__repr__(ProteinLigandRestraint self) -> std::string"""
7390  return _IMP_atom.ProteinLigandRestraint___repr__(self)
7391 
7392  @staticmethod
7393  def get_from(o):
7394  return _object_cast_to_ProteinLigandRestraint(o)
7395 
7396  __swig_destroy__ = _IMP_atom.delete_ProteinLigandRestraint
7397 
7398 # Register ProteinLigandRestraint in _IMP_atom:
7399 _IMP_atom.ProteinLigandRestraint_swigregister(ProteinLigandRestraint)
7400 
7402  r"""add_protein_ligand_score_data(Hierarchy h)"""
7403  return _IMP_atom.add_protein_ligand_score_data(h)
7404 class AtomType(IMP._Value):
7405  r"""Proxy of C++ IMP::Key< 8974343 > class."""
7406 
7407  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7408 
7409  def __init__(self, *args):
7410  r"""
7411  __init__(AtomType self) -> AtomType
7412  __init__(AtomType self, std::string const & c, bool is_implicit_add_permitted=True) -> AtomType
7413  __init__(AtomType self, unsigned int i) -> AtomType
7414  """
7415  _IMP_atom.AtomType_swiginit(self, _IMP_atom.new_AtomType(*args))
7416 
7417  @staticmethod
7418  def add_key(sc):
7419  r"""add_key(std::string sc) -> unsigned int"""
7420  return _IMP_atom.AtomType_add_key(sc)
7421 
7422  @staticmethod
7423  def get_key_exists(sc):
7424  r"""get_key_exists(std::string sc) -> bool"""
7425  return _IMP_atom.AtomType_get_key_exists(sc)
7426 
7427  def get_string(self):
7428  r"""get_string(AtomType self) -> std::string const"""
7429  return _IMP_atom.AtomType_get_string(self)
7430 
7431  def __cmp__(self, o):
7432  r"""__cmp__(AtomType self, AtomType o) -> int"""
7433  return _IMP_atom.AtomType___cmp__(self, o)
7434 
7435  def __eq__(self, o):
7436  r"""__eq__(AtomType self, AtomType o) -> bool"""
7437  return _IMP_atom.AtomType___eq__(self, o)
7438 
7439  def __ne__(self, o):
7440  r"""__ne__(AtomType self, AtomType o) -> bool"""
7441  return _IMP_atom.AtomType___ne__(self, o)
7442 
7443  def __lt__(self, o):
7444  r"""__lt__(AtomType self, AtomType o) -> bool"""
7445  return _IMP_atom.AtomType___lt__(self, o)
7446 
7447  def __gt__(self, o):
7448  r"""__gt__(AtomType self, AtomType o) -> bool"""
7449  return _IMP_atom.AtomType___gt__(self, o)
7450 
7451  def __ge__(self, o):
7452  r"""__ge__(AtomType self, AtomType o) -> bool"""
7453  return _IMP_atom.AtomType___ge__(self, o)
7454 
7455  def __le__(self, o):
7456  r"""__le__(AtomType self, AtomType o) -> bool"""
7457  return _IMP_atom.AtomType___le__(self, o)
7458 
7459  def __hash__(self):
7460  r"""__hash__(AtomType self) -> std::size_t"""
7461  return _IMP_atom.AtomType___hash__(self)
7462 
7463  def show(self, *args):
7464  r"""show(AtomType self, _ostream out=std::cout)"""
7465  return _IMP_atom.AtomType_show(self, *args)
7466 
7467  @staticmethod
7468  def add_alias(old_key, new_name):
7469  r"""add_alias(AtomType old_key, std::string new_name) -> AtomType"""
7470  return _IMP_atom.AtomType_add_alias(old_key, new_name)
7471 
7472  @staticmethod
7473  def get_number_of_keys():
7474  r"""get_number_of_keys() -> unsigned int"""
7475  return _IMP_atom.AtomType_get_number_of_keys()
7476 
7477  def get_index(self):
7478  r"""get_index(AtomType self) -> unsigned int"""
7479  return _IMP_atom.AtomType_get_index(self)
7480 
7481  @staticmethod
7482  def show_all(out):
7483  r"""show_all(_ostream out)"""
7484  return _IMP_atom.AtomType_show_all(out)
7485 
7486  @staticmethod
7487  def get_all_strings():
7488  r"""get_all_strings() -> IMP::Vector< std::string >"""
7489  return _IMP_atom.AtomType_get_all_strings()
7490 
7491  @staticmethod
7492  def get_number_unique():
7493  r"""get_number_unique() -> unsigned int"""
7494  return _IMP_atom.AtomType_get_number_unique()
7495 
7496  def __str__(self):
7497  r"""__str__(AtomType self) -> std::string"""
7498  return _IMP_atom.AtomType___str__(self)
7499 
7500  def __repr__(self):
7501  r"""__repr__(AtomType self) -> std::string"""
7502  return _IMP_atom.AtomType___repr__(self)
7503  __swig_destroy__ = _IMP_atom.delete_AtomType
7504 
7505 # Register AtomType in _IMP_atom:
7506 _IMP_atom.AtomType_swigregister(AtomType)
7507 class ResidueType(IMP._Value):
7508  r"""Proxy of C++ IMP::Key< 90784334 > class."""
7509 
7510  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7511 
7512  def __init__(self, *args):
7513  r"""
7514  __init__(ResidueType self) -> ResidueType
7515  __init__(ResidueType self, std::string const & c, bool is_implicit_add_permitted=True) -> ResidueType
7516  __init__(ResidueType self, unsigned int i) -> ResidueType
7517  """
7518  _IMP_atom.ResidueType_swiginit(self, _IMP_atom.new_ResidueType(*args))
7519 
7520  @staticmethod
7521  def add_key(sc):
7522  r"""add_key(std::string sc) -> unsigned int"""
7523  return _IMP_atom.ResidueType_add_key(sc)
7524 
7525  @staticmethod
7526  def get_key_exists(sc):
7527  r"""get_key_exists(std::string sc) -> bool"""
7528  return _IMP_atom.ResidueType_get_key_exists(sc)
7529 
7530  def get_string(self):
7531  r"""get_string(ResidueType self) -> std::string const"""
7532  return _IMP_atom.ResidueType_get_string(self)
7533 
7534  def __cmp__(self, o):
7535  r"""__cmp__(ResidueType self, ResidueType o) -> int"""
7536  return _IMP_atom.ResidueType___cmp__(self, o)
7537 
7538  def __eq__(self, o):
7539  r"""__eq__(ResidueType self, ResidueType o) -> bool"""
7540  return _IMP_atom.ResidueType___eq__(self, o)
7541 
7542  def __ne__(self, o):
7543  r"""__ne__(ResidueType self, ResidueType o) -> bool"""
7544  return _IMP_atom.ResidueType___ne__(self, o)
7545 
7546  def __lt__(self, o):
7547  r"""__lt__(ResidueType self, ResidueType o) -> bool"""
7548  return _IMP_atom.ResidueType___lt__(self, o)
7549 
7550  def __gt__(self, o):
7551  r"""__gt__(ResidueType self, ResidueType o) -> bool"""
7552  return _IMP_atom.ResidueType___gt__(self, o)
7553 
7554  def __ge__(self, o):
7555  r"""__ge__(ResidueType self, ResidueType o) -> bool"""
7556  return _IMP_atom.ResidueType___ge__(self, o)
7557 
7558  def __le__(self, o):
7559  r"""__le__(ResidueType self, ResidueType o) -> bool"""
7560  return _IMP_atom.ResidueType___le__(self, o)
7561 
7562  def __hash__(self):
7563  r"""__hash__(ResidueType self) -> std::size_t"""
7564  return _IMP_atom.ResidueType___hash__(self)
7565 
7566  def show(self, *args):
7567  r"""show(ResidueType self, _ostream out=std::cout)"""
7568  return _IMP_atom.ResidueType_show(self, *args)
7569 
7570  @staticmethod
7571  def add_alias(old_key, new_name):
7572  r"""add_alias(ResidueType old_key, std::string new_name) -> ResidueType"""
7573  return _IMP_atom.ResidueType_add_alias(old_key, new_name)
7574 
7575  @staticmethod
7576  def get_number_of_keys():
7577  r"""get_number_of_keys() -> unsigned int"""
7578  return _IMP_atom.ResidueType_get_number_of_keys()
7579 
7580  def get_index(self):
7581  r"""get_index(ResidueType self) -> unsigned int"""
7582  return _IMP_atom.ResidueType_get_index(self)
7583 
7584  @staticmethod
7585  def show_all(out):
7586  r"""show_all(_ostream out)"""
7587  return _IMP_atom.ResidueType_show_all(out)
7588 
7589  @staticmethod
7590  def get_all_strings():
7591  r"""get_all_strings() -> IMP::Vector< std::string >"""
7592  return _IMP_atom.ResidueType_get_all_strings()
7593 
7594  @staticmethod
7595  def get_number_unique():
7596  r"""get_number_unique() -> unsigned int"""
7597  return _IMP_atom.ResidueType_get_number_unique()
7598 
7599  def __str__(self):
7600  r"""__str__(ResidueType self) -> std::string"""
7601  return _IMP_atom.ResidueType___str__(self)
7602 
7603  def __repr__(self):
7604  r"""__repr__(ResidueType self) -> std::string"""
7605  return _IMP_atom.ResidueType___repr__(self)
7606  __swig_destroy__ = _IMP_atom.delete_ResidueType
7607 
7608 # Register ResidueType in _IMP_atom:
7609 _IMP_atom.ResidueType_swigregister(ResidueType)
7610 class ChainType(IMP._Value):
7611  r"""Proxy of C++ IMP::Key< 90784336 > class."""
7612 
7613  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7614 
7615  def __init__(self, *args):
7616  r"""
7617  __init__(ChainType self) -> ChainType
7618  __init__(ChainType self, std::string const & c, bool is_implicit_add_permitted=True) -> ChainType
7619  __init__(ChainType self, unsigned int i) -> ChainType
7620  """
7621  _IMP_atom.ChainType_swiginit(self, _IMP_atom.new_ChainType(*args))
7622 
7623  @staticmethod
7624  def add_key(sc):
7625  r"""add_key(std::string sc) -> unsigned int"""
7626  return _IMP_atom.ChainType_add_key(sc)
7627 
7628  @staticmethod
7629  def get_key_exists(sc):
7630  r"""get_key_exists(std::string sc) -> bool"""
7631  return _IMP_atom.ChainType_get_key_exists(sc)
7632 
7633  def get_string(self):
7634  r"""get_string(ChainType self) -> std::string const"""
7635  return _IMP_atom.ChainType_get_string(self)
7636 
7637  def __cmp__(self, o):
7638  r"""__cmp__(ChainType self, ChainType o) -> int"""
7639  return _IMP_atom.ChainType___cmp__(self, o)
7640 
7641  def __eq__(self, o):
7642  r"""__eq__(ChainType self, ChainType o) -> bool"""
7643  return _IMP_atom.ChainType___eq__(self, o)
7644 
7645  def __ne__(self, o):
7646  r"""__ne__(ChainType self, ChainType o) -> bool"""
7647  return _IMP_atom.ChainType___ne__(self, o)
7648 
7649  def __lt__(self, o):
7650  r"""__lt__(ChainType self, ChainType o) -> bool"""
7651  return _IMP_atom.ChainType___lt__(self, o)
7652 
7653  def __gt__(self, o):
7654  r"""__gt__(ChainType self, ChainType o) -> bool"""
7655  return _IMP_atom.ChainType___gt__(self, o)
7656 
7657  def __ge__(self, o):
7658  r"""__ge__(ChainType self, ChainType o) -> bool"""
7659  return _IMP_atom.ChainType___ge__(self, o)
7660 
7661  def __le__(self, o):
7662  r"""__le__(ChainType self, ChainType o) -> bool"""
7663  return _IMP_atom.ChainType___le__(self, o)
7664 
7665  def __hash__(self):
7666  r"""__hash__(ChainType self) -> std::size_t"""
7667  return _IMP_atom.ChainType___hash__(self)
7668 
7669  def show(self, *args):
7670  r"""show(ChainType self, _ostream out=std::cout)"""
7671  return _IMP_atom.ChainType_show(self, *args)
7672 
7673  @staticmethod
7674  def add_alias(old_key, new_name):
7675  r"""add_alias(ChainType old_key, std::string new_name) -> ChainType"""
7676  return _IMP_atom.ChainType_add_alias(old_key, new_name)
7677 
7678  @staticmethod
7679  def get_number_of_keys():
7680  r"""get_number_of_keys() -> unsigned int"""
7681  return _IMP_atom.ChainType_get_number_of_keys()
7682 
7683  def get_index(self):
7684  r"""get_index(ChainType self) -> unsigned int"""
7685  return _IMP_atom.ChainType_get_index(self)
7686 
7687  @staticmethod
7688  def show_all(out):
7689  r"""show_all(_ostream out)"""
7690  return _IMP_atom.ChainType_show_all(out)
7691 
7692  @staticmethod
7693  def get_all_strings():
7694  r"""get_all_strings() -> IMP::Vector< std::string >"""
7695  return _IMP_atom.ChainType_get_all_strings()
7696 
7697  @staticmethod
7698  def get_number_unique():
7699  r"""get_number_unique() -> unsigned int"""
7700  return _IMP_atom.ChainType_get_number_unique()
7701 
7702  def __str__(self):
7703  r"""__str__(ChainType self) -> std::string"""
7704  return _IMP_atom.ChainType___str__(self)
7705 
7706  def __repr__(self):
7707  r"""__repr__(ChainType self) -> std::string"""
7708  return _IMP_atom.ChainType___repr__(self)
7709  __swig_destroy__ = _IMP_atom.delete_ChainType
7710 
7711 # Register ChainType in _IMP_atom:
7712 _IMP_atom.ChainType_swigregister(ChainType)
7713 UNKNOWN_ELEMENT = _IMP_atom.UNKNOWN_ELEMENT
7714 
7715 OH = _IMP_atom.OH
7716 
7717 H2O = _IMP_atom.H2O
7718 
7719 H = _IMP_atom.H
7720 
7721 He = _IMP_atom.He
7722 
7723 Li = _IMP_atom.Li
7724 
7725 Be = _IMP_atom.Be
7726 
7727 B = _IMP_atom.B
7728 
7729 C = _IMP_atom.C
7730 
7731 N = _IMP_atom.N
7732 
7733 O = _IMP_atom.O
7734 
7735 F = _IMP_atom.F
7736 
7737 Ne = _IMP_atom.Ne
7738 
7739 Na = _IMP_atom.Na
7740 
7741 Mg = _IMP_atom.Mg
7742 
7743 Al = _IMP_atom.Al
7744 
7745 Si = _IMP_atom.Si
7746 
7747 P = _IMP_atom.P
7748 
7749 S = _IMP_atom.S
7750 
7751 Cl = _IMP_atom.Cl
7752 
7753 Ar = _IMP_atom.Ar
7754 
7755 K = _IMP_atom.K
7756 
7757 Ca = _IMP_atom.Ca
7758 
7759 Sc = _IMP_atom.Sc
7760 
7761 Ti = _IMP_atom.Ti
7762 
7763 V = _IMP_atom.V
7764 
7765 Cr = _IMP_atom.Cr
7766 
7767 Mn = _IMP_atom.Mn
7768 
7769 Fe = _IMP_atom.Fe
7770 
7771 Co = _IMP_atom.Co
7772 
7773 Ni = _IMP_atom.Ni
7774 
7775 Cu = _IMP_atom.Cu
7776 
7777 Zn = _IMP_atom.Zn
7778 
7779 Ga = _IMP_atom.Ga
7780 
7781 Ge = _IMP_atom.Ge
7782 
7783 As = _IMP_atom.As
7784 
7785 Se = _IMP_atom.Se
7786 
7787 Br = _IMP_atom.Br
7788 
7789 Kr = _IMP_atom.Kr
7790 
7791 Rb = _IMP_atom.Rb
7792 
7793 Sr = _IMP_atom.Sr
7794 
7795 Y = _IMP_atom.Y
7796 
7797 Zr = _IMP_atom.Zr
7798 
7799 Nb = _IMP_atom.Nb
7800 
7801 Mo = _IMP_atom.Mo
7802 
7803 Tc = _IMP_atom.Tc
7804 
7805 Ru = _IMP_atom.Ru
7806 
7807 Rh = _IMP_atom.Rh
7808 
7809 Pd = _IMP_atom.Pd
7810 
7811 Ag = _IMP_atom.Ag
7812 
7813 Cd = _IMP_atom.Cd
7814 
7815 In = _IMP_atom.In
7816 
7817 Sn = _IMP_atom.Sn
7818 
7819 Sb = _IMP_atom.Sb
7820 
7821 Te = _IMP_atom.Te
7822 
7823 I = _IMP_atom.I
7824 
7825 Xe = _IMP_atom.Xe
7826 
7827 Cs = _IMP_atom.Cs
7828 
7829 Ba = _IMP_atom.Ba
7830 
7831 La = _IMP_atom.La
7832 
7833 Ce = _IMP_atom.Ce
7834 
7835 Pr = _IMP_atom.Pr
7836 
7837 Nd = _IMP_atom.Nd
7838 
7839 Pm = _IMP_atom.Pm
7840 
7841 Sm = _IMP_atom.Sm
7842 
7843 Eu = _IMP_atom.Eu
7844 
7845 Gd = _IMP_atom.Gd
7846 
7847 Tb = _IMP_atom.Tb
7848 
7849 Dy = _IMP_atom.Dy
7850 
7851 Ho = _IMP_atom.Ho
7852 
7853 Er = _IMP_atom.Er
7854 
7855 Tm = _IMP_atom.Tm
7856 
7857 Yb = _IMP_atom.Yb
7858 
7859 Lu = _IMP_atom.Lu
7860 
7861 Hf = _IMP_atom.Hf
7862 
7863 Ta = _IMP_atom.Ta
7864 
7865 W = _IMP_atom.W
7866 
7867 Re = _IMP_atom.Re
7868 
7869 Os = _IMP_atom.Os
7870 
7871 Ir = _IMP_atom.Ir
7872 
7873 Pt = _IMP_atom.Pt
7874 
7875 Au = _IMP_atom.Au
7876 
7877 Hg = _IMP_atom.Hg
7878 
7879 Tl = _IMP_atom.Tl
7880 
7881 Pb = _IMP_atom.Pb
7882 
7883 Bi = _IMP_atom.Bi
7884 
7885 Po = _IMP_atom.Po
7886 
7887 At = _IMP_atom.At
7888 
7889 Rn = _IMP_atom.Rn
7890 
7891 Fr = _IMP_atom.Fr
7892 
7893 Ra = _IMP_atom.Ra
7894 
7895 Ac = _IMP_atom.Ac
7896 
7897 Th = _IMP_atom.Th
7898 
7899 Pa = _IMP_atom.Pa
7900 
7901 U = _IMP_atom.U
7902 
7903 Np = _IMP_atom.Np
7904 
7905 Pu = _IMP_atom.Pu
7906 
7907 Am = _IMP_atom.Am
7908 
7909 Cm = _IMP_atom.Cm
7910 
7911 Bk = _IMP_atom.Bk
7912 
7913 Cf = _IMP_atom.Cf
7914 
7915 Es = _IMP_atom.Es
7916 
7917 Fm = _IMP_atom.Fm
7918 
7919 Md = _IMP_atom.Md
7920 
7921 No = _IMP_atom.No
7922 
7923 Lr = _IMP_atom.Lr
7924 
7925 Db = _IMP_atom.Db
7926 
7927 Jl = _IMP_atom.Jl
7928 
7929 Rf = _IMP_atom.Rf
7930 
7931 NUMBER_OF_ELEMENTS = _IMP_atom.NUMBER_OF_ELEMENTS
7932 
7933 
7934 def hash_value(e):
7935  r"""hash_value(IMP::atom::Element e) -> size_t"""
7936  return _IMP_atom.hash_value(e)
7937 class ElementTable(object):
7938  r"""Proxy of C++ IMP::atom::ElementTable class."""
7939 
7940  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7941  __repr__ = _swig_repr
7942 
7943  def __init__(self):
7944  r"""__init__(ElementTable self) -> ElementTable"""
7945  _IMP_atom.ElementTable_swiginit(self, _IMP_atom.new_ElementTable())
7946 
7947  def get_element(self, s):
7948  r"""get_element(ElementTable self, std::string const & s) -> IMP::atom::Element"""
7949  return _IMP_atom.ElementTable_get_element(self, s)
7950 
7951  def get_name(self, e):
7952  r"""get_name(ElementTable self, IMP::atom::Element e) -> std::string"""
7953  return _IMP_atom.ElementTable_get_name(self, e)
7954 
7955  def get_mass(self, e):
7956  r"""get_mass(ElementTable self, IMP::atom::Element e) -> IMP::Float"""
7957  return _IMP_atom.ElementTable_get_mass(self, e)
7958  __swig_destroy__ = _IMP_atom.delete_ElementTable
7959 
7960 # Register ElementTable in _IMP_atom:
7961 _IMP_atom.ElementTable_swigregister(ElementTable)
7962 
7963 def get_element_table():
7964  r"""get_element_table() -> ElementTable"""
7965  return _IMP_atom.get_element_table()
7966 class Atom(Hierarchy):
7967  r"""Proxy of C++ IMP::atom::Atom class."""
7968 
7969  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7970 
7971  def __init__(self, *args):
7972  r"""
7973  __init__(Atom self) -> Atom
7974  __init__(Atom self, Model m, ParticleIndex id) -> Atom
7975  __init__(Atom self, _ParticleAdaptor d) -> Atom
7976  """
7977  _IMP_atom.Atom_swiginit(self, _IMP_atom.new_Atom(*args))
7978 
7979  def show(self, *args):
7980  r"""show(Atom self, _ostream out=std::cout)"""
7981  return _IMP_atom.Atom_show(self, *args)
7982 
7983  @staticmethod
7984  def setup_particle(*args):
7985  r"""
7986  setup_particle(Model m, ParticleIndex pi, Atom other) -> Atom
7987  setup_particle(_ParticleAdaptor pa, Atom other) -> Atom
7988  setup_particle(Model m, ParticleIndex pi, AtomType atom_type) -> Atom
7989  setup_particle(_ParticleAdaptor pa, AtomType atom_type) -> Atom
7990  """
7991  return _IMP_atom.Atom_setup_particle(*args)
7992 
7993  @staticmethod
7994  def get_is_setup(*args):
7995  r"""
7996  get_is_setup(_ParticleAdaptor p) -> bool
7997  get_is_setup(Model m, ParticleIndex pi) -> bool
7998  """
7999  return _IMP_atom.Atom_get_is_setup(*args)
8000 
8001  def get_atom_type(self):
8002  r"""get_atom_type(Atom self) -> AtomType"""
8003  return _IMP_atom.Atom_get_atom_type(self)
8004 
8005  def set_atom_type(self, t):
8006  r"""set_atom_type(Atom self, AtomType t)"""
8007  return _IMP_atom.Atom_set_atom_type(self, t)
8008 
8009  def get_element(self):
8010  r"""get_element(Atom self) -> IMP::atom::Element"""
8011  return _IMP_atom.Atom_get_element(self)
8012 
8013  def set_element(self, e):
8014  r"""set_element(Atom self, IMP::atom::Element e)"""
8015  return _IMP_atom.Atom_set_element(self, e)
8016 
8017  def get_occupancy(self):
8018  r"""get_occupancy(Atom self) -> double"""
8019  return _IMP_atom.Atom_get_occupancy(self)
8020 
8021  def set_occupancy(self, occupancy):
8022  r"""set_occupancy(Atom self, double occupancy)"""
8023  return _IMP_atom.Atom_set_occupancy(self, occupancy)
8024 
8025  def get_temperature_factor(self):
8026  r"""get_temperature_factor(Atom self) -> double"""
8027  return _IMP_atom.Atom_get_temperature_factor(self)
8028 
8029  def set_temperature_factor(self, tempFactor):
8030  r"""set_temperature_factor(Atom self, double tempFactor)"""
8031  return _IMP_atom.Atom_set_temperature_factor(self, tempFactor)
8032 
8033  def get_input_index(self):
8034  r"""get_input_index(Atom self) -> IMP::Int"""
8035  return _IMP_atom.Atom_get_input_index(self)
8036 
8037  def set_input_index(self, t):
8038  r"""set_input_index(Atom self, IMP::Int t)"""
8039  return _IMP_atom.Atom_set_input_index(self, t)
8040 
8041  @staticmethod
8042  def get_atom_type_key():
8043  r"""get_atom_type_key() -> IntKey"""
8044  return _IMP_atom.Atom_get_atom_type_key()
8045 
8046  @staticmethod
8047  def get_element_key():
8048  r"""get_element_key() -> IntKey"""
8049  return _IMP_atom.Atom_get_element_key()
8050 
8051  @staticmethod
8052  def get_input_index_key():
8053  r"""get_input_index_key() -> IntKey"""
8054  return _IMP_atom.Atom_get_input_index_key()
8055 
8056  @staticmethod
8057  def get_occupancy_key():
8058  r"""get_occupancy_key() -> FloatKey"""
8059  return _IMP_atom.Atom_get_occupancy_key()
8060 
8061  @staticmethod
8062  def get_temperature_factor_key():
8063  r"""get_temperature_factor_key() -> FloatKey"""
8064  return _IMP_atom.Atom_get_temperature_factor_key()
8065 
8066  def add_attribute(self, *args):
8067  r"""
8068  add_attribute(Atom self, FloatKey k, IMP::Float v, bool opt)
8069  add_attribute(Atom self, FloatKey a0, IMP::Float a1)
8070  add_attribute(Atom self, IntKey a0, IMP::Int a1)
8071  add_attribute(Atom self, FloatsKey a0, IMP::Floats a1)
8072  add_attribute(Atom self, IntsKey a0, IMP::Ints a1)
8073  add_attribute(Atom self, StringKey a0, IMP::String a1)
8074  add_attribute(Atom self, ParticleIndexKey a0, Particle a1)
8075  add_attribute(Atom self, ObjectKey a0, Object a1)
8076  add_attribute(Atom self, SparseFloatKey a0, IMP::Float a1)
8077  add_attribute(Atom self, SparseIntKey a0, IMP::Int a1)
8078  add_attribute(Atom self, SparseStringKey a0, IMP::String a1)
8079  add_attribute(Atom self, SparseParticleIndexKey a0, ParticleIndex a1)
8080  """
8081  return _IMP_atom.Atom_add_attribute(self, *args)
8082 
8083  def get_value(self, *args):
8084  r"""
8085  get_value(Atom self, FloatKey a0) -> IMP::Float
8086  get_value(Atom self, IntKey a0) -> IMP::Int
8087  get_value(Atom self, FloatsKey a0) -> IMP::Floats
8088  get_value(Atom self, IntsKey a0) -> IMP::Ints
8089  get_value(Atom self, StringKey a0) -> IMP::String
8090  get_value(Atom self, ParticleIndexKey a0) -> Particle
8091  get_value(Atom self, ObjectKey a0) -> Object
8092  get_value(Atom self, SparseFloatKey a0) -> IMP::Float
8093  get_value(Atom self, SparseIntKey a0) -> IMP::Int
8094  get_value(Atom self, SparseStringKey a0) -> IMP::String
8095  get_value(Atom self, SparseParticleIndexKey a0) -> ParticleIndex
8096  """
8097  return _IMP_atom.Atom_get_value(self, *args)
8098 
8099  def set_value(self, *args):
8100  r"""
8101  set_value(Atom self, FloatKey a0, IMP::Float a1)
8102  set_value(Atom self, IntKey a0, IMP::Int a1)
8103  set_value(Atom self, FloatsKey a0, IMP::Floats a1)
8104  set_value(Atom self, IntsKey a0, IMP::Ints a1)
8105  set_value(Atom self, StringKey a0, IMP::String a1)
8106  set_value(Atom self, ParticleIndexKey a0, Particle a1)
8107  set_value(Atom self, ObjectKey a0, Object a1)
8108  set_value(Atom self, SparseFloatKey a0, IMP::Float a1)
8109  set_value(Atom self, SparseIntKey a0, IMP::Int a1)
8110  set_value(Atom self, SparseStringKey a0, IMP::String a1)
8111  set_value(Atom self, SparseParticleIndexKey a0, ParticleIndex a1)
8112  """
8113  return _IMP_atom.Atom_set_value(self, *args)
8114 
8115  def remove_attribute(self, *args):
8116  r"""
8117  remove_attribute(Atom self, FloatKey a0)
8118  remove_attribute(Atom self, IntKey a0)
8119  remove_attribute(Atom self, FloatsKey a0)
8120  remove_attribute(Atom self, IntsKey a0)
8121  remove_attribute(Atom self, StringKey a0)
8122  remove_attribute(Atom self, ParticleIndexKey a0)
8123  remove_attribute(Atom self, ObjectKey a0)
8124  remove_attribute(Atom self, SparseFloatKey a0)
8125  remove_attribute(Atom self, SparseIntKey a0)
8126  remove_attribute(Atom self, SparseStringKey a0)
8127  remove_attribute(Atom self, SparseParticleIndexKey a0)
8128  """
8129  return _IMP_atom.Atom_remove_attribute(self, *args)
8130 
8131  def has_attribute(self, *args):
8132  r"""
8133  has_attribute(Atom self, FloatKey a0) -> bool
8134  has_attribute(Atom self, IntKey a0) -> bool
8135  has_attribute(Atom self, FloatsKey a0) -> bool
8136  has_attribute(Atom self, IntsKey a0) -> bool
8137  has_attribute(Atom self, StringKey a0) -> bool
8138  has_attribute(Atom self, ParticleIndexKey a0) -> bool
8139  has_attribute(Atom self, ObjectKey a0) -> bool
8140  has_attribute(Atom self, SparseFloatKey a0) -> bool
8141  has_attribute(Atom self, SparseIntKey a0) -> bool
8142  has_attribute(Atom self, SparseStringKey a0) -> bool
8143  has_attribute(Atom self, SparseParticleIndexKey a0) -> bool
8144  """
8145  return _IMP_atom.Atom_has_attribute(self, *args)
8146 
8147  def get_derivative(self, a0):
8148  r"""get_derivative(Atom self, FloatKey a0) -> double"""
8149  return _IMP_atom.Atom_get_derivative(self, a0)
8150 
8151  def get_name(self):
8152  r"""get_name(Atom self) -> std::string"""
8153  return _IMP_atom.Atom_get_name(self)
8154 
8155  def clear_caches(self):
8156  r"""clear_caches(Atom self)"""
8157  return _IMP_atom.Atom_clear_caches(self)
8158 
8159  def set_name(self, a0):
8160  r"""set_name(Atom self, std::string a0)"""
8161  return _IMP_atom.Atom_set_name(self, a0)
8162 
8163  def set_check_level(self, a0):
8164  r"""set_check_level(Atom self, IMP::CheckLevel a0)"""
8165  return _IMP_atom.Atom_set_check_level(self, a0)
8166 
8167  def add_to_derivative(self, a0, a1, a2):
8168  r"""add_to_derivative(Atom self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8169  return _IMP_atom.Atom_add_to_derivative(self, a0, a1, a2)
8170 
8171  def set_is_optimized(self, a0, a1):
8172  r"""set_is_optimized(Atom self, FloatKey a0, bool a1)"""
8173  return _IMP_atom.Atom_set_is_optimized(self, a0, a1)
8174 
8175  def get_is_optimized(self, a0):
8176  r"""get_is_optimized(Atom self, FloatKey a0) -> bool"""
8177  return _IMP_atom.Atom_get_is_optimized(self, a0)
8178 
8179  def get_check_level(self):
8180  r"""get_check_level(Atom self) -> IMP::CheckLevel"""
8181  return _IMP_atom.Atom_get_check_level(self)
8182 
8183  def __eq__(self, *args):
8184  r"""
8185  __eq__(Atom self, Atom o) -> bool
8186  __eq__(Atom self, Particle d) -> bool
8187  """
8188  return _IMP_atom.Atom___eq__(self, *args)
8189 
8190  def __ne__(self, *args):
8191  r"""
8192  __ne__(Atom self, Atom o) -> bool
8193  __ne__(Atom self, Particle d) -> bool
8194  """
8195  return _IMP_atom.Atom___ne__(self, *args)
8196 
8197  def __le__(self, *args):
8198  r"""
8199  __le__(Atom self, Atom o) -> bool
8200  __le__(Atom self, Particle d) -> bool
8201  """
8202  return _IMP_atom.Atom___le__(self, *args)
8203 
8204  def __lt__(self, *args):
8205  r"""
8206  __lt__(Atom self, Atom o) -> bool
8207  __lt__(Atom self, Particle d) -> bool
8208  """
8209  return _IMP_atom.Atom___lt__(self, *args)
8210 
8211  def __ge__(self, *args):
8212  r"""
8213  __ge__(Atom self, Atom o) -> bool
8214  __ge__(Atom self, Particle d) -> bool
8215  """
8216  return _IMP_atom.Atom___ge__(self, *args)
8217 
8218  def __gt__(self, *args):
8219  r"""
8220  __gt__(Atom self, Atom o) -> bool
8221  __gt__(Atom self, Particle d) -> bool
8222  """
8223  return _IMP_atom.Atom___gt__(self, *args)
8224 
8225  def __hash__(self):
8226  r"""__hash__(Atom self) -> std::size_t"""
8227  return _IMP_atom.Atom___hash__(self)
8228 
8229  def __str__(self):
8230  r"""__str__(Atom self) -> std::string"""
8231  return _IMP_atom.Atom___str__(self)
8232 
8233  def __repr__(self):
8234  r"""__repr__(Atom self) -> std::string"""
8235  return _IMP_atom.Atom___repr__(self)
8236 
8237  def _get_as_binary(self):
8238  r"""_get_as_binary(Atom self) -> PyObject *"""
8239  return _IMP_atom.Atom__get_as_binary(self)
8240 
8241  def _set_from_binary(self, p):
8242  r"""_set_from_binary(Atom self, PyObject * p)"""
8243  return _IMP_atom.Atom__set_from_binary(self, p)
8244 
8245  def __getstate__(self):
8246  p = self._get_as_binary()
8247  if len(self.__dict__) > 1:
8248  d = self.__dict__.copy()
8249  del d['this']
8250  p = (d, p)
8251  return p
8252 
8253  def __setstate__(self, p):
8254  if not hasattr(self, 'this'):
8255  self.__init__()
8256  if isinstance(p, tuple):
8257  d, p = p
8258  self.__dict__.update(d)
8259  return self._set_from_binary(p)
8260 
8261  __swig_destroy__ = _IMP_atom.delete_Atom
8262 
8263 # Register Atom in _IMP_atom:
8264 _IMP_atom.Atom_swigregister(Atom)
8265 cvar = _IMP_atom.cvar
8266 AT_UNKNOWN = cvar.AT_UNKNOWN
8267 AT_N = cvar.AT_N
8268 AT_CA = cvar.AT_CA
8269 AT_C = cvar.AT_C
8270 AT_O = cvar.AT_O
8271 AT_H = cvar.AT_H
8272 AT_H1 = cvar.AT_H1
8273 AT_H2 = cvar.AT_H2
8274 AT_H3 = cvar.AT_H3
8275 AT_HA = cvar.AT_HA
8276 AT_HA1 = cvar.AT_HA1
8277 AT_HA2 = cvar.AT_HA2
8278 AT_HA3 = cvar.AT_HA3
8279 AT_CB = cvar.AT_CB
8280 AT_HB = cvar.AT_HB
8281 AT_HB1 = cvar.AT_HB1
8282 AT_HB2 = cvar.AT_HB2
8283 AT_HB3 = cvar.AT_HB3
8284 AT_OXT = cvar.AT_OXT
8285 AT_CH3 = cvar.AT_CH3
8286 AT_CH = cvar.AT_CH
8287 AT_CG = cvar.AT_CG
8288 AT_CG1 = cvar.AT_CG1
8289 AT_CG2 = cvar.AT_CG2
8290 AT_HG = cvar.AT_HG
8291 AT_HG1 = cvar.AT_HG1
8292 AT_HG2 = cvar.AT_HG2
8293 AT_HG3 = cvar.AT_HG3
8294 AT_HG11 = cvar.AT_HG11
8295 AT_HG21 = cvar.AT_HG21
8296 AT_HG31 = cvar.AT_HG31
8297 AT_HG12 = cvar.AT_HG12
8298 AT_HG13 = cvar.AT_HG13
8299 AT_HG22 = cvar.AT_HG22
8300 AT_HG23 = cvar.AT_HG23
8301 AT_HG32 = cvar.AT_HG32
8302 AT_OG = cvar.AT_OG
8303 AT_OG1 = cvar.AT_OG1
8304 AT_SG = cvar.AT_SG
8305 AT_CD = cvar.AT_CD
8306 AT_CD1 = cvar.AT_CD1
8307 AT_CD2 = cvar.AT_CD2
8308 AT_HD = cvar.AT_HD
8309 AT_HD1 = cvar.AT_HD1
8310 AT_HD2 = cvar.AT_HD2
8311 AT_HD3 = cvar.AT_HD3
8312 AT_HD11 = cvar.AT_HD11
8313 AT_HD21 = cvar.AT_HD21
8314 AT_HD31 = cvar.AT_HD31
8315 AT_HD12 = cvar.AT_HD12
8316 AT_HD13 = cvar.AT_HD13
8317 AT_HD22 = cvar.AT_HD22
8318 AT_HD23 = cvar.AT_HD23
8319 AT_HD32 = cvar.AT_HD32
8320 AT_SD = cvar.AT_SD
8321 AT_OD1 = cvar.AT_OD1
8322 AT_OD2 = cvar.AT_OD2
8323 AT_ND1 = cvar.AT_ND1
8324 AT_ND2 = cvar.AT_ND2
8325 AT_CE = cvar.AT_CE
8326 AT_CE1 = cvar.AT_CE1
8327 AT_CE2 = cvar.AT_CE2
8328 AT_CE3 = cvar.AT_CE3
8329 AT_HE = cvar.AT_HE
8330 AT_HE1 = cvar.AT_HE1
8331 AT_HE2 = cvar.AT_HE2
8332 AT_HE3 = cvar.AT_HE3
8333 AT_HE21 = cvar.AT_HE21
8334 AT_HE22 = cvar.AT_HE22
8335 AT_OE1 = cvar.AT_OE1
8336 AT_OE2 = cvar.AT_OE2
8337 AT_NE = cvar.AT_NE
8338 AT_NE1 = cvar.AT_NE1
8339 AT_NE2 = cvar.AT_NE2
8340 AT_CZ = cvar.AT_CZ
8341 AT_CZ2 = cvar.AT_CZ2
8342 AT_CZ3 = cvar.AT_CZ3
8343 AT_NZ = cvar.AT_NZ
8344 AT_HZ = cvar.AT_HZ
8345 AT_HZ1 = cvar.AT_HZ1
8346 AT_HZ2 = cvar.AT_HZ2
8347 AT_HZ3 = cvar.AT_HZ3
8348 AT_CH2 = cvar.AT_CH2
8349 AT_NH1 = cvar.AT_NH1
8350 AT_NH2 = cvar.AT_NH2
8351 AT_OH = cvar.AT_OH
8352 AT_HH = cvar.AT_HH
8353 AT_HH11 = cvar.AT_HH11
8354 AT_HH21 = cvar.AT_HH21
8355 AT_HH2 = cvar.AT_HH2
8356 AT_HH12 = cvar.AT_HH12
8357 AT_HH22 = cvar.AT_HH22
8358 AT_HH13 = cvar.AT_HH13
8359 AT_HH23 = cvar.AT_HH23
8360 AT_HH33 = cvar.AT_HH33
8361 AT_P = cvar.AT_P
8362 AT_OP1 = cvar.AT_OP1
8363 AT_OP2 = cvar.AT_OP2
8364 AT_OP3 = cvar.AT_OP3
8365 AT_O5p = cvar.AT_O5p
8366 AT_C5p = cvar.AT_C5p
8367 AT_H5p = cvar.AT_H5p
8368 AT_H5pp = cvar.AT_H5pp
8369 AT_C4p = cvar.AT_C4p
8370 AT_H4p = cvar.AT_H4p
8371 AT_O4p = cvar.AT_O4p
8372 AT_C1p = cvar.AT_C1p
8373 AT_H1p = cvar.AT_H1p
8374 AT_C3p = cvar.AT_C3p
8375 AT_H3p = cvar.AT_H3p
8376 AT_O3p = cvar.AT_O3p
8377 AT_C2p = cvar.AT_C2p
8378 AT_H2p = cvar.AT_H2p
8379 AT_H2pp = cvar.AT_H2pp
8380 AT_O2p = cvar.AT_O2p
8381 AT_HO2p = cvar.AT_HO2p
8382 AT_N9 = cvar.AT_N9
8383 AT_C8 = cvar.AT_C8
8384 AT_H8 = cvar.AT_H8
8385 AT_N7 = cvar.AT_N7
8386 AT_C5 = cvar.AT_C5
8387 AT_C4 = cvar.AT_C4
8388 AT_N3 = cvar.AT_N3
8389 AT_C2 = cvar.AT_C2
8390 AT_N1 = cvar.AT_N1
8391 AT_C6 = cvar.AT_C6
8392 AT_N6 = cvar.AT_N6
8393 AT_H61 = cvar.AT_H61
8394 AT_H62 = cvar.AT_H62
8395 AT_O6 = cvar.AT_O6
8396 AT_N2 = cvar.AT_N2
8397 AT_NT = cvar.AT_NT
8398 AT_H21 = cvar.AT_H21
8399 AT_H22 = cvar.AT_H22
8400 AT_H6 = cvar.AT_H6
8401 AT_H5 = cvar.AT_H5
8402 AT_O2 = cvar.AT_O2
8403 AT_N4 = cvar.AT_N4
8404 AT_H41 = cvar.AT_H41
8405 AT_H42 = cvar.AT_H42
8406 AT_O4 = cvar.AT_O4
8407 AT_C7 = cvar.AT_C7
8408 AT_H71 = cvar.AT_H71
8409 AT_H72 = cvar.AT_H72
8410 AT_H73 = cvar.AT_H73
8411 AT_O1A = cvar.AT_O1A
8412 AT_O2A = cvar.AT_O2A
8413 AT_O3A = cvar.AT_O3A
8414 AT_O1B = cvar.AT_O1B
8415 AT_O2B = cvar.AT_O2B
8416 AT_O3B = cvar.AT_O3B
8417 AT_CAY = cvar.AT_CAY
8418 AT_CY = cvar.AT_CY
8419 AT_OY = cvar.AT_OY
8420 AT_CAT = cvar.AT_CAT
8421 
8422 
8423 def get_residue(*args):
8424  r"""
8425  get_residue(Hierarchy mhd, unsigned int index) -> Hierarchy
8426  get_residue(Atom d, bool nothrow=False) -> Residue
8427  """
8428  return _IMP_atom.get_residue(*args)
8429 
8430 def get_atom(rd, at):
8431  r"""get_atom(Residue rd, AtomType at) -> Atom"""
8432  return _IMP_atom.get_atom(rd, at)
8433 
8434 def add_atom_type(name, e):
8435  r"""add_atom_type(std::string name, IMP::atom::Element e) -> AtomType"""
8436  return _IMP_atom.add_atom_type(name, e)
8437 
8438 def get_element_for_atom_type(at):
8439  r"""get_element_for_atom_type(AtomType at) -> IMP::atom::Element"""
8440  return _IMP_atom.get_element_for_atom_type(at)
8441 
8442 def get_atom_type_exists(name):
8443  r"""get_atom_type_exists(std::string name) -> bool"""
8444  return _IMP_atom.get_atom_type_exists(name)
8445 class Residue(Hierarchy):
8446  r"""Proxy of C++ IMP::atom::Residue class."""
8447 
8448  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8449 
8450  def __init__(self, *args):
8451  r"""
8452  __init__(Residue self) -> Residue
8453  __init__(Residue self, Model m, ParticleIndex id) -> Residue
8454  __init__(Residue self, _ParticleAdaptor d) -> Residue
8455  """
8456  _IMP_atom.Residue_swiginit(self, _IMP_atom.new_Residue(*args))
8457 
8458  def show(self, *args):
8459  r"""show(Residue self, _ostream out=std::cout)"""
8460  return _IMP_atom.Residue_show(self, *args)
8461 
8462  @staticmethod
8463  def setup_particle(*args):
8464  r"""
8465  setup_particle(Model m, ParticleIndex pi, ResidueType t, int index, int insertion_code) -> Residue
8466  setup_particle(_ParticleAdaptor pa, ResidueType t, int index, int insertion_code) -> Residue
8467  setup_particle(Model m, ParticleIndex pi, ResidueType t, int index) -> Residue
8468  setup_particle(_ParticleAdaptor pa, ResidueType t, int index) -> Residue
8469  setup_particle(Model m, ParticleIndex pi, ResidueType t) -> Residue
8470  setup_particle(_ParticleAdaptor pa, ResidueType t) -> Residue
8471  setup_particle(Model m, ParticleIndex pi, Residue other) -> Residue
8472  setup_particle(_ParticleAdaptor pa, Residue other) -> Residue
8473  """
8474  return _IMP_atom.Residue_setup_particle(*args)
8475 
8476  @staticmethod
8477  def get_is_setup(*args):
8478  r"""
8479  get_is_setup(_ParticleAdaptor p) -> bool
8480  get_is_setup(Model m, ParticleIndex pi) -> bool
8481  """
8482  return _IMP_atom.Residue_get_is_setup(*args)
8483 
8484  def get_residue_type(self):
8485  r"""get_residue_type(Residue self) -> ResidueType"""
8486  return _IMP_atom.Residue_get_residue_type(self)
8487 
8488  def set_residue_type(self, t):
8489  r"""set_residue_type(Residue self, ResidueType t)"""
8490  return _IMP_atom.Residue_set_residue_type(self, t)
8491 
8492  def get_is_protein(self):
8493  r"""get_is_protein(Residue self) -> bool"""
8494  return _IMP_atom.Residue_get_is_protein(self)
8495 
8496  def get_is_dna(self):
8497  r"""get_is_dna(Residue self) -> bool"""
8498  return _IMP_atom.Residue_get_is_dna(self)
8499 
8500  def get_is_rna(self):
8501  r"""get_is_rna(Residue self) -> bool"""
8502  return _IMP_atom.Residue_get_is_rna(self)
8503 
8504  def get_index(self):
8505  r"""get_index(Residue self) -> IMP::Int"""
8506  return _IMP_atom.Residue_get_index(self)
8507 
8508  def set_index(self, t):
8509  r"""set_index(Residue self, IMP::Int t)"""
8510  return _IMP_atom.Residue_set_index(self, t)
8511 
8512  def get_insertion_code(self):
8513  r"""get_insertion_code(Residue self) -> char"""
8514  return _IMP_atom.Residue_get_insertion_code(self)
8515 
8516  def set_insertion_code(self, insertion_code):
8517  r"""set_insertion_code(Residue self, char insertion_code)"""
8518  return _IMP_atom.Residue_set_insertion_code(self, insertion_code)
8519 
8520  @staticmethod
8521  def get_index_key():
8522  r"""get_index_key() -> IntKey"""
8523  return _IMP_atom.Residue_get_index_key()
8524 
8525  @staticmethod
8526  def get_residue_type_key():
8527  r"""get_residue_type_key() -> IntKey"""
8528  return _IMP_atom.Residue_get_residue_type_key()
8529 
8530  @staticmethod
8531  def get_insertion_code_key():
8532  r"""get_insertion_code_key() -> IntKey"""
8533  return _IMP_atom.Residue_get_insertion_code_key()
8534 
8535  @staticmethod
8536  def get_type_changed_key():
8537  r"""get_type_changed_key() -> TriggerKey"""
8538  return _IMP_atom.Residue_get_type_changed_key()
8539 
8540  def add_attribute(self, *args):
8541  r"""
8542  add_attribute(Residue self, FloatKey k, IMP::Float v, bool opt)
8543  add_attribute(Residue self, FloatKey a0, IMP::Float a1)
8544  add_attribute(Residue self, IntKey a0, IMP::Int a1)
8545  add_attribute(Residue self, FloatsKey a0, IMP::Floats a1)
8546  add_attribute(Residue self, IntsKey a0, IMP::Ints a1)
8547  add_attribute(Residue self, StringKey a0, IMP::String a1)
8548  add_attribute(Residue self, ParticleIndexKey a0, Particle a1)
8549  add_attribute(Residue self, ObjectKey a0, Object a1)
8550  add_attribute(Residue self, SparseFloatKey a0, IMP::Float a1)
8551  add_attribute(Residue self, SparseIntKey a0, IMP::Int a1)
8552  add_attribute(Residue self, SparseStringKey a0, IMP::String a1)
8553  add_attribute(Residue self, SparseParticleIndexKey a0, ParticleIndex a1)
8554  """
8555  return _IMP_atom.Residue_add_attribute(self, *args)
8556 
8557  def get_value(self, *args):
8558  r"""
8559  get_value(Residue self, FloatKey a0) -> IMP::Float
8560  get_value(Residue self, IntKey a0) -> IMP::Int
8561  get_value(Residue self, FloatsKey a0) -> IMP::Floats
8562  get_value(Residue self, IntsKey a0) -> IMP::Ints
8563  get_value(Residue self, StringKey a0) -> IMP::String
8564  get_value(Residue self, ParticleIndexKey a0) -> Particle
8565  get_value(Residue self, ObjectKey a0) -> Object
8566  get_value(Residue self, SparseFloatKey a0) -> IMP::Float
8567  get_value(Residue self, SparseIntKey a0) -> IMP::Int
8568  get_value(Residue self, SparseStringKey a0) -> IMP::String
8569  get_value(Residue self, SparseParticleIndexKey a0) -> ParticleIndex
8570  """
8571  return _IMP_atom.Residue_get_value(self, *args)
8572 
8573  def set_value(self, *args):
8574  r"""
8575  set_value(Residue self, FloatKey a0, IMP::Float a1)
8576  set_value(Residue self, IntKey a0, IMP::Int a1)
8577  set_value(Residue self, FloatsKey a0, IMP::Floats a1)
8578  set_value(Residue self, IntsKey a0, IMP::Ints a1)
8579  set_value(Residue self, StringKey a0, IMP::String a1)
8580  set_value(Residue self, ParticleIndexKey a0, Particle a1)
8581  set_value(Residue self, ObjectKey a0, Object a1)
8582  set_value(Residue self, SparseFloatKey a0, IMP::Float a1)
8583  set_value(Residue self, SparseIntKey a0, IMP::Int a1)
8584  set_value(Residue self, SparseStringKey a0, IMP::String a1)
8585  set_value(Residue self, SparseParticleIndexKey a0, ParticleIndex a1)
8586  """
8587  return _IMP_atom.Residue_set_value(self, *args)
8588 
8589  def remove_attribute(self, *args):
8590  r"""
8591  remove_attribute(Residue self, FloatKey a0)
8592  remove_attribute(Residue self, IntKey a0)
8593  remove_attribute(Residue self, FloatsKey a0)
8594  remove_attribute(Residue self, IntsKey a0)
8595  remove_attribute(Residue self, StringKey a0)
8596  remove_attribute(Residue self, ParticleIndexKey a0)
8597  remove_attribute(Residue self, ObjectKey a0)
8598  remove_attribute(Residue self, SparseFloatKey a0)
8599  remove_attribute(Residue self, SparseIntKey a0)
8600  remove_attribute(Residue self, SparseStringKey a0)
8601  remove_attribute(Residue self, SparseParticleIndexKey a0)
8602  """
8603  return _IMP_atom.Residue_remove_attribute(self, *args)
8604 
8605  def has_attribute(self, *args):
8606  r"""
8607  has_attribute(Residue self, FloatKey a0) -> bool
8608  has_attribute(Residue self, IntKey a0) -> bool
8609  has_attribute(Residue self, FloatsKey a0) -> bool
8610  has_attribute(Residue self, IntsKey a0) -> bool
8611  has_attribute(Residue self, StringKey a0) -> bool
8612  has_attribute(Residue self, ParticleIndexKey a0) -> bool
8613  has_attribute(Residue self, ObjectKey a0) -> bool
8614  has_attribute(Residue self, SparseFloatKey a0) -> bool
8615  has_attribute(Residue self, SparseIntKey a0) -> bool
8616  has_attribute(Residue self, SparseStringKey a0) -> bool
8617  has_attribute(Residue self, SparseParticleIndexKey a0) -> bool
8618  """
8619  return _IMP_atom.Residue_has_attribute(self, *args)
8620 
8621  def get_derivative(self, a0):
8622  r"""get_derivative(Residue self, FloatKey a0) -> double"""
8623  return _IMP_atom.Residue_get_derivative(self, a0)
8624 
8625  def get_name(self):
8626  r"""get_name(Residue self) -> std::string"""
8627  return _IMP_atom.Residue_get_name(self)
8628 
8629  def clear_caches(self):
8630  r"""clear_caches(Residue self)"""
8631  return _IMP_atom.Residue_clear_caches(self)
8632 
8633  def set_name(self, a0):
8634  r"""set_name(Residue self, std::string a0)"""
8635  return _IMP_atom.Residue_set_name(self, a0)
8636 
8637  def set_check_level(self, a0):
8638  r"""set_check_level(Residue self, IMP::CheckLevel a0)"""
8639  return _IMP_atom.Residue_set_check_level(self, a0)
8640 
8641  def add_to_derivative(self, a0, a1, a2):
8642  r"""add_to_derivative(Residue self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8643  return _IMP_atom.Residue_add_to_derivative(self, a0, a1, a2)
8644 
8645  def set_is_optimized(self, a0, a1):
8646  r"""set_is_optimized(Residue self, FloatKey a0, bool a1)"""
8647  return _IMP_atom.Residue_set_is_optimized(self, a0, a1)
8648 
8649  def get_is_optimized(self, a0):
8650  r"""get_is_optimized(Residue self, FloatKey a0) -> bool"""
8651  return _IMP_atom.Residue_get_is_optimized(self, a0)
8652 
8653  def get_check_level(self):
8654  r"""get_check_level(Residue self) -> IMP::CheckLevel"""
8655  return _IMP_atom.Residue_get_check_level(self)
8656 
8657  def __eq__(self, *args):
8658  r"""
8659  __eq__(Residue self, Residue o) -> bool
8660  __eq__(Residue self, Particle d) -> bool
8661  """
8662  return _IMP_atom.Residue___eq__(self, *args)
8663 
8664  def __ne__(self, *args):
8665  r"""
8666  __ne__(Residue self, Residue o) -> bool
8667  __ne__(Residue self, Particle d) -> bool
8668  """
8669  return _IMP_atom.Residue___ne__(self, *args)
8670 
8671  def __le__(self, *args):
8672  r"""
8673  __le__(Residue self, Residue o) -> bool
8674  __le__(Residue self, Particle d) -> bool
8675  """
8676  return _IMP_atom.Residue___le__(self, *args)
8677 
8678  def __lt__(self, *args):
8679  r"""
8680  __lt__(Residue self, Residue o) -> bool
8681  __lt__(Residue self, Particle d) -> bool
8682  """
8683  return _IMP_atom.Residue___lt__(self, *args)
8684 
8685  def __ge__(self, *args):
8686  r"""
8687  __ge__(Residue self, Residue o) -> bool
8688  __ge__(Residue self, Particle d) -> bool
8689  """
8690  return _IMP_atom.Residue___ge__(self, *args)
8691 
8692  def __gt__(self, *args):
8693  r"""
8694  __gt__(Residue self, Residue o) -> bool
8695  __gt__(Residue self, Particle d) -> bool
8696  """
8697  return _IMP_atom.Residue___gt__(self, *args)
8698 
8699  def __hash__(self):
8700  r"""__hash__(Residue self) -> std::size_t"""
8701  return _IMP_atom.Residue___hash__(self)
8702 
8703  def __str__(self):
8704  r"""__str__(Residue self) -> std::string"""
8705  return _IMP_atom.Residue___str__(self)
8706 
8707  def __repr__(self):
8708  r"""__repr__(Residue self) -> std::string"""
8709  return _IMP_atom.Residue___repr__(self)
8710 
8711  def _get_as_binary(self):
8712  r"""_get_as_binary(Residue self) -> PyObject *"""
8713  return _IMP_atom.Residue__get_as_binary(self)
8714 
8715  def _set_from_binary(self, p):
8716  r"""_set_from_binary(Residue self, PyObject * p)"""
8717  return _IMP_atom.Residue__set_from_binary(self, p)
8718 
8719  def __getstate__(self):
8720  p = self._get_as_binary()
8721  if len(self.__dict__) > 1:
8722  d = self.__dict__.copy()
8723  del d['this']
8724  p = (d, p)
8725  return p
8726 
8727  def __setstate__(self, p):
8728  if not hasattr(self, 'this'):
8729  self.__init__()
8730  if isinstance(p, tuple):
8731  d, p = p
8732  self.__dict__.update(d)
8733  return self._set_from_binary(p)
8734 
8735  __swig_destroy__ = _IMP_atom.delete_Residue
8736 
8737 # Register Residue in _IMP_atom:
8738 _IMP_atom.Residue_swigregister(Residue)
8739 UNK = cvar.UNK
8740 GLY = cvar.GLY
8741 ALA = cvar.ALA
8742 VAL = cvar.VAL
8743 LEU = cvar.LEU
8744 ILE = cvar.ILE
8745 SER = cvar.SER
8746 THR = cvar.THR
8747 CYS = cvar.CYS
8748 MET = cvar.MET
8749 PRO = cvar.PRO
8750 ASP = cvar.ASP
8751 ASN = cvar.ASN
8752 GLU = cvar.GLU
8753 GLN = cvar.GLN
8754 LYS = cvar.LYS
8755 ARG = cvar.ARG
8756 HIS = cvar.HIS
8757 PHE = cvar.PHE
8758 TYR = cvar.TYR
8759 TRP = cvar.TRP
8760 ACE = cvar.ACE
8761 NH2 = cvar.NH2
8762 MSE = cvar.MSE
8763 ADE = cvar.ADE
8764 URA = cvar.URA
8765 CYT = cvar.CYT
8766 GUA = cvar.GUA
8767 THY = cvar.THY
8768 DADE = cvar.DADE
8769 DURA = cvar.DURA
8770 DCYT = cvar.DCYT
8771 DGUA = cvar.DGUA
8772 DTHY = cvar.DTHY
8773 HOH = cvar.HOH
8774 HEME = cvar.HEME
8775 POP = cvar.POP
8776 
8777 
8778 def get_next_residue(rd):
8779  r"""get_next_residue(Residue rd) -> Hierarchy"""
8780  return _IMP_atom.get_next_residue(rd)
8781 
8782 def get_previous_residue(rd):
8783  r"""get_previous_residue(Residue rd) -> Hierarchy"""
8784  return _IMP_atom.get_previous_residue(rd)
8785 
8786 def get_one_letter_code(c):
8787  r"""get_one_letter_code(ResidueType c) -> char"""
8788  return _IMP_atom.get_one_letter_code(c)
8789 BALLS = _IMP_atom.BALLS
8790 
8791 DENSITIES = _IMP_atom.DENSITIES
8792 
8793 class Representation(Hierarchy):
8794  r"""Proxy of C++ IMP::atom::Representation class."""
8795 
8796  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8797 
8798  @staticmethod
8799  def setup_particle(*args):
8800  r"""
8801  setup_particle(Model m, ParticleIndex pi) -> Representation
8802  setup_particle(_ParticleAdaptor pa) -> Representation
8803  setup_particle(Model m, ParticleIndex pi, double resolution) -> Representation
8804  setup_particle(_ParticleAdaptor pa, double resolution) -> Representation
8805  setup_particle(Model m, ParticleIndex pi, Representation other) -> Representation
8806  setup_particle(_ParticleAdaptor pa, Representation other) -> Representation
8807  """
8808  return _IMP_atom.Representation_setup_particle(*args)
8809 
8810  def __init__(self, *args):
8811  r"""
8812  __init__(Representation self) -> Representation
8813  __init__(Representation self, Model m, ParticleIndex id) -> Representation
8814  __init__(Representation self, _ParticleAdaptor d) -> Representation
8815  """
8816  _IMP_atom.Representation_swiginit(self, _IMP_atom.new_Representation(*args))
8817 
8818  def show(self, *args):
8819  r"""show(Representation self, _ostream out=std::cout)"""
8820  return _IMP_atom.Representation_show(self, *args)
8821 
8822  @staticmethod
8823  def get_is_setup(*args):
8824  r"""
8825  get_is_setup(_ParticleAdaptor p) -> bool
8826  get_is_setup(Model m, ParticleIndex pi) -> bool
8827  """
8828  return _IMP_atom.Representation_get_is_setup(*args)
8829 
8830  def get_representation(self, *args):
8831  r"""get_representation(Representation self, double resolution, IMP::atom::RepresentationType type=BALLS) -> Hierarchy"""
8832  return _IMP_atom.Representation_get_representation(self, *args)
8833 
8834  def get_representations(self, *args):
8835  r"""get_representations(Representation self, IMP::atom::RepresentationType type=BALLS) -> IMP::atom::Hierarchies"""
8836  return _IMP_atom.Representation_get_representations(self, *args)
8837 
8838  def add_representation(self, *args):
8839  r"""add_representation(Representation self, _ParticleIndexAdaptor rep, IMP::atom::RepresentationType type=BALLS, double resolution=-1)"""
8840  return _IMP_atom.Representation_add_representation(self, *args)
8841 
8842  def get_resolutions(self, *args):
8843  r"""get_resolutions(Representation self, IMP::atom::RepresentationType type=BALLS) -> IMP::Floats"""
8844  return _IMP_atom.Representation_get_resolutions(self, *args)
8845 
8846  def remove_representation(self, rep):
8847  r"""remove_representation(Representation self, _ParticleIndexAdaptor rep)"""
8848  return _IMP_atom.Representation_remove_representation(self, rep)
8849 
8850  def update_parents(self):
8851  r"""update_parents(Representation self)"""
8852  return _IMP_atom.Representation_update_parents(self)
8853 
8854  def add_attribute(self, *args):
8855  r"""
8856  add_attribute(Representation self, FloatKey k, IMP::Float v, bool opt)
8857  add_attribute(Representation self, FloatKey a0, IMP::Float a1)
8858  add_attribute(Representation self, IntKey a0, IMP::Int a1)
8859  add_attribute(Representation self, FloatsKey a0, IMP::Floats a1)
8860  add_attribute(Representation self, IntsKey a0, IMP::Ints a1)
8861  add_attribute(Representation self, StringKey a0, IMP::String a1)
8862  add_attribute(Representation self, ParticleIndexKey a0, Particle a1)
8863  add_attribute(Representation self, ObjectKey a0, Object a1)
8864  add_attribute(Representation self, SparseFloatKey a0, IMP::Float a1)
8865  add_attribute(Representation self, SparseIntKey a0, IMP::Int a1)
8866  add_attribute(Representation self, SparseStringKey a0, IMP::String a1)
8867  add_attribute(Representation self, SparseParticleIndexKey a0, ParticleIndex a1)
8868  """
8869  return _IMP_atom.Representation_add_attribute(self, *args)
8870 
8871  def get_value(self, *args):
8872  r"""
8873  get_value(Representation self, FloatKey a0) -> IMP::Float
8874  get_value(Representation self, IntKey a0) -> IMP::Int
8875  get_value(Representation self, FloatsKey a0) -> IMP::Floats
8876  get_value(Representation self, IntsKey a0) -> IMP::Ints
8877  get_value(Representation self, StringKey a0) -> IMP::String
8878  get_value(Representation self, ParticleIndexKey a0) -> Particle
8879  get_value(Representation self, ObjectKey a0) -> Object
8880  get_value(Representation self, SparseFloatKey a0) -> IMP::Float
8881  get_value(Representation self, SparseIntKey a0) -> IMP::Int
8882  get_value(Representation self, SparseStringKey a0) -> IMP::String
8883  get_value(Representation self, SparseParticleIndexKey a0) -> ParticleIndex
8884  """
8885  return _IMP_atom.Representation_get_value(self, *args)
8886 
8887  def set_value(self, *args):
8888  r"""
8889  set_value(Representation self, FloatKey a0, IMP::Float a1)
8890  set_value(Representation self, IntKey a0, IMP::Int a1)
8891  set_value(Representation self, FloatsKey a0, IMP::Floats a1)
8892  set_value(Representation self, IntsKey a0, IMP::Ints a1)
8893  set_value(Representation self, StringKey a0, IMP::String a1)
8894  set_value(Representation self, ParticleIndexKey a0, Particle a1)
8895  set_value(Representation self, ObjectKey a0, Object a1)
8896  set_value(Representation self, SparseFloatKey a0, IMP::Float a1)
8897  set_value(Representation self, SparseIntKey a0, IMP::Int a1)
8898  set_value(Representation self, SparseStringKey a0, IMP::String a1)
8899  set_value(Representation self, SparseParticleIndexKey a0, ParticleIndex a1)
8900  """
8901  return _IMP_atom.Representation_set_value(self, *args)
8902 
8903  def remove_attribute(self, *args):
8904  r"""
8905  remove_attribute(Representation self, FloatKey a0)
8906  remove_attribute(Representation self, IntKey a0)
8907  remove_attribute(Representation self, FloatsKey a0)
8908  remove_attribute(Representation self, IntsKey a0)
8909  remove_attribute(Representation self, StringKey a0)
8910  remove_attribute(Representation self, ParticleIndexKey a0)
8911  remove_attribute(Representation self, ObjectKey a0)
8912  remove_attribute(Representation self, SparseFloatKey a0)
8913  remove_attribute(Representation self, SparseIntKey a0)
8914  remove_attribute(Representation self, SparseStringKey a0)
8915  remove_attribute(Representation self, SparseParticleIndexKey a0)
8916  """
8917  return _IMP_atom.Representation_remove_attribute(self, *args)
8918 
8919  def has_attribute(self, *args):
8920  r"""
8921  has_attribute(Representation self, FloatKey a0) -> bool
8922  has_attribute(Representation self, IntKey a0) -> bool
8923  has_attribute(Representation self, FloatsKey a0) -> bool
8924  has_attribute(Representation self, IntsKey a0) -> bool
8925  has_attribute(Representation self, StringKey a0) -> bool
8926  has_attribute(Representation self, ParticleIndexKey a0) -> bool
8927  has_attribute(Representation self, ObjectKey a0) -> bool
8928  has_attribute(Representation self, SparseFloatKey a0) -> bool
8929  has_attribute(Representation self, SparseIntKey a0) -> bool
8930  has_attribute(Representation self, SparseStringKey a0) -> bool
8931  has_attribute(Representation self, SparseParticleIndexKey a0) -> bool
8932  """
8933  return _IMP_atom.Representation_has_attribute(self, *args)
8934 
8935  def get_derivative(self, a0):
8936  r"""get_derivative(Representation self, FloatKey a0) -> double"""
8937  return _IMP_atom.Representation_get_derivative(self, a0)
8938 
8939  def get_name(self):
8940  r"""get_name(Representation self) -> std::string"""
8941  return _IMP_atom.Representation_get_name(self)
8942 
8943  def clear_caches(self):
8944  r"""clear_caches(Representation self)"""
8945  return _IMP_atom.Representation_clear_caches(self)
8946 
8947  def set_name(self, a0):
8948  r"""set_name(Representation self, std::string a0)"""
8949  return _IMP_atom.Representation_set_name(self, a0)
8950 
8951  def set_check_level(self, a0):
8952  r"""set_check_level(Representation self, IMP::CheckLevel a0)"""
8953  return _IMP_atom.Representation_set_check_level(self, a0)
8954 
8955  def add_to_derivative(self, a0, a1, a2):
8956  r"""add_to_derivative(Representation self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8957  return _IMP_atom.Representation_add_to_derivative(self, a0, a1, a2)
8958 
8959  def set_is_optimized(self, a0, a1):
8960  r"""set_is_optimized(Representation self, FloatKey a0, bool a1)"""
8961  return _IMP_atom.Representation_set_is_optimized(self, a0, a1)
8962 
8963  def get_is_optimized(self, a0):
8964  r"""get_is_optimized(Representation self, FloatKey a0) -> bool"""
8965  return _IMP_atom.Representation_get_is_optimized(self, a0)
8966 
8967  def get_check_level(self):
8968  r"""get_check_level(Representation self) -> IMP::CheckLevel"""
8969  return _IMP_atom.Representation_get_check_level(self)
8970 
8971  def __eq__(self, *args):
8972  r"""
8973  __eq__(Representation self, Representation o) -> bool
8974  __eq__(Representation self, Particle d) -> bool
8975  """
8976  return _IMP_atom.Representation___eq__(self, *args)
8977 
8978  def __ne__(self, *args):
8979  r"""
8980  __ne__(Representation self, Representation o) -> bool
8981  __ne__(Representation self, Particle d) -> bool
8982  """
8983  return _IMP_atom.Representation___ne__(self, *args)
8984 
8985  def __le__(self, *args):
8986  r"""
8987  __le__(Representation self, Representation o) -> bool
8988  __le__(Representation self, Particle d) -> bool
8989  """
8990  return _IMP_atom.Representation___le__(self, *args)
8991 
8992  def __lt__(self, *args):
8993  r"""
8994  __lt__(Representation self, Representation o) -> bool
8995  __lt__(Representation self, Particle d) -> bool
8996  """
8997  return _IMP_atom.Representation___lt__(self, *args)
8998 
8999  def __ge__(self, *args):
9000  r"""
9001  __ge__(Representation self, Representation o) -> bool
9002  __ge__(Representation self, Particle d) -> bool
9003  """
9004  return _IMP_atom.Representation___ge__(self, *args)
9005 
9006  def __gt__(self, *args):
9007  r"""
9008  __gt__(Representation self, Representation o) -> bool
9009  __gt__(Representation self, Particle d) -> bool
9010  """
9011  return _IMP_atom.Representation___gt__(self, *args)
9012 
9013  def __hash__(self):
9014  r"""__hash__(Representation self) -> std::size_t"""
9015  return _IMP_atom.Representation___hash__(self)
9016 
9017  def __str__(self):
9018  r"""__str__(Representation self) -> std::string"""
9019  return _IMP_atom.Representation___str__(self)
9020 
9021  def __repr__(self):
9022  r"""__repr__(Representation self) -> std::string"""
9023  return _IMP_atom.Representation___repr__(self)
9024 
9025  def _get_as_binary(self):
9026  r"""_get_as_binary(Representation self) -> PyObject *"""
9027  return _IMP_atom.Representation__get_as_binary(self)
9028 
9029  def _set_from_binary(self, p):
9030  r"""_set_from_binary(Representation self, PyObject * p)"""
9031  return _IMP_atom.Representation__set_from_binary(self, p)
9032 
9033  def __getstate__(self):
9034  p = self._get_as_binary()
9035  if len(self.__dict__) > 1:
9036  d = self.__dict__.copy()
9037  del d['this']
9038  p = (d, p)
9039  return p
9040 
9041  def __setstate__(self, p):
9042  if not hasattr(self, 'this'):
9043  self.__init__()
9044  if isinstance(p, tuple):
9045  d, p = p
9046  self.__dict__.update(d)
9047  return self._set_from_binary(p)
9048 
9049  __swig_destroy__ = _IMP_atom.delete_Representation
9050 
9051 # Register Representation in _IMP_atom:
9052 _IMP_atom.Representation_swigregister(Representation)
9053 ALL_RESOLUTIONS = cvar.ALL_RESOLUTIONS
9054 
9055 
9056 def get_resolution(*args):
9057  r"""
9058  get_resolution(Model m, ParticleIndex pi) -> double
9059  get_resolution(Hierarchy h) -> double
9060  """
9061  return _IMP_atom.get_resolution(*args)
9062 
9063 def get_representation(h, nothrow=False):
9064  r"""get_representation(Hierarchy h, bool nothrow=False) -> Representation"""
9065  return _IMP_atom.get_representation(h, nothrow)
9066 
9067 def show_with_representations(*args):
9068  r"""show_with_representations(Hierarchy h, _ostream out=std::cout)"""
9069  return _IMP_atom.show_with_representations(*args)
9070 class State(Hierarchy):
9071  r"""Proxy of C++ IMP::atom::State class."""
9072 
9073  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9074 
9075  @staticmethod
9076  def setup_particle(*args):
9077  r"""
9078  setup_particle(Model m, ParticleIndex pi, unsigned int index) -> State
9079  setup_particle(_ParticleAdaptor pa, unsigned int index) -> State
9080  setup_particle(Model m, ParticleIndex pi, State other) -> State
9081  setup_particle(_ParticleAdaptor pa, State other) -> State
9082  """
9083  return _IMP_atom.State_setup_particle(*args)
9084 
9085  def __init__(self, *args):
9086  r"""
9087  __init__(State self) -> State
9088  __init__(State self, Model m, ParticleIndex id) -> State
9089  __init__(State self, _ParticleAdaptor d) -> State
9090  """
9091  _IMP_atom.State_swiginit(self, _IMP_atom.new_State(*args))
9092 
9093  def show(self, *args):
9094  r"""show(State self, _ostream out=std::cout)"""
9095  return _IMP_atom.State_show(self, *args)
9096 
9097  @staticmethod
9098  def get_is_setup(*args):
9099  r"""
9100  get_is_setup(_ParticleAdaptor p) -> bool
9101  get_is_setup(Model m, ParticleIndex pi) -> bool
9102  """
9103  return _IMP_atom.State_get_is_setup(*args)
9104 
9105  def get_state_index(self):
9106  r"""get_state_index(State self) -> unsigned int"""
9107  return _IMP_atom.State_get_state_index(self)
9108 
9109  def add_attribute(self, *args):
9110  r"""
9111  add_attribute(State self, FloatKey k, IMP::Float v, bool opt)
9112  add_attribute(State self, FloatKey a0, IMP::Float a1)
9113  add_attribute(State self, IntKey a0, IMP::Int a1)
9114  add_attribute(State self, FloatsKey a0, IMP::Floats a1)
9115  add_attribute(State self, IntsKey a0, IMP::Ints a1)
9116  add_attribute(State self, StringKey a0, IMP::String a1)
9117  add_attribute(State self, ParticleIndexKey a0, Particle a1)
9118  add_attribute(State self, ObjectKey a0, Object a1)
9119  add_attribute(State self, SparseFloatKey a0, IMP::Float a1)
9120  add_attribute(State self, SparseIntKey a0, IMP::Int a1)
9121  add_attribute(State self, SparseStringKey a0, IMP::String a1)
9122  add_attribute(State self, SparseParticleIndexKey a0, ParticleIndex a1)
9123  """
9124  return _IMP_atom.State_add_attribute(self, *args)
9125 
9126  def get_value(self, *args):
9127  r"""
9128  get_value(State self, FloatKey a0) -> IMP::Float
9129  get_value(State self, IntKey a0) -> IMP::Int
9130  get_value(State self, FloatsKey a0) -> IMP::Floats
9131  get_value(State self, IntsKey a0) -> IMP::Ints
9132  get_value(State self, StringKey a0) -> IMP::String
9133  get_value(State self, ParticleIndexKey a0) -> Particle
9134  get_value(State self, ObjectKey a0) -> Object
9135  get_value(State self, SparseFloatKey a0) -> IMP::Float
9136  get_value(State self, SparseIntKey a0) -> IMP::Int
9137  get_value(State self, SparseStringKey a0) -> IMP::String
9138  get_value(State self, SparseParticleIndexKey a0) -> ParticleIndex
9139  """
9140  return _IMP_atom.State_get_value(self, *args)
9141 
9142  def set_value(self, *args):
9143  r"""
9144  set_value(State self, FloatKey a0, IMP::Float a1)
9145  set_value(State self, IntKey a0, IMP::Int a1)
9146  set_value(State self, FloatsKey a0, IMP::Floats a1)
9147  set_value(State self, IntsKey a0, IMP::Ints a1)
9148  set_value(State self, StringKey a0, IMP::String a1)
9149  set_value(State self, ParticleIndexKey a0, Particle a1)
9150  set_value(State self, ObjectKey a0, Object a1)
9151  set_value(State self, SparseFloatKey a0, IMP::Float a1)
9152  set_value(State self, SparseIntKey a0, IMP::Int a1)
9153  set_value(State self, SparseStringKey a0, IMP::String a1)
9154  set_value(State self, SparseParticleIndexKey a0, ParticleIndex a1)
9155  """
9156  return _IMP_atom.State_set_value(self, *args)
9157 
9158  def remove_attribute(self, *args):
9159  r"""
9160  remove_attribute(State self, FloatKey a0)
9161  remove_attribute(State self, IntKey a0)
9162  remove_attribute(State self, FloatsKey a0)
9163  remove_attribute(State self, IntsKey a0)
9164  remove_attribute(State self, StringKey a0)
9165  remove_attribute(State self, ParticleIndexKey a0)
9166  remove_attribute(State self, ObjectKey a0)
9167  remove_attribute(State self, SparseFloatKey a0)
9168  remove_attribute(State self, SparseIntKey a0)
9169  remove_attribute(State self, SparseStringKey a0)
9170  remove_attribute(State self, SparseParticleIndexKey a0)
9171  """
9172  return _IMP_atom.State_remove_attribute(self, *args)
9173 
9174  def has_attribute(self, *args):
9175  r"""
9176  has_attribute(State self, FloatKey a0) -> bool
9177  has_attribute(State self, IntKey a0) -> bool
9178  has_attribute(State self, FloatsKey a0) -> bool
9179  has_attribute(State self, IntsKey a0) -> bool
9180  has_attribute(State self, StringKey a0) -> bool
9181  has_attribute(State self, ParticleIndexKey a0) -> bool
9182  has_attribute(State self, ObjectKey a0) -> bool
9183  has_attribute(State self, SparseFloatKey a0) -> bool
9184  has_attribute(State self, SparseIntKey a0) -> bool
9185  has_attribute(State self, SparseStringKey a0) -> bool
9186  has_attribute(State self, SparseParticleIndexKey a0) -> bool
9187  """
9188  return _IMP_atom.State_has_attribute(self, *args)
9189 
9190  def get_derivative(self, a0):
9191  r"""get_derivative(State self, FloatKey a0) -> double"""
9192  return _IMP_atom.State_get_derivative(self, a0)
9193 
9194  def get_name(self):
9195  r"""get_name(State self) -> std::string"""
9196  return _IMP_atom.State_get_name(self)
9197 
9198  def clear_caches(self):
9199  r"""clear_caches(State self)"""
9200  return _IMP_atom.State_clear_caches(self)
9201 
9202  def set_name(self, a0):
9203  r"""set_name(State self, std::string a0)"""
9204  return _IMP_atom.State_set_name(self, a0)
9205 
9206  def set_check_level(self, a0):
9207  r"""set_check_level(State self, IMP::CheckLevel a0)"""
9208  return _IMP_atom.State_set_check_level(self, a0)
9209 
9210  def add_to_derivative(self, a0, a1, a2):
9211  r"""add_to_derivative(State self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9212  return _IMP_atom.State_add_to_derivative(self, a0, a1, a2)
9213 
9214  def set_is_optimized(self, a0, a1):
9215  r"""set_is_optimized(State self, FloatKey a0, bool a1)"""
9216  return _IMP_atom.State_set_is_optimized(self, a0, a1)
9217 
9218  def get_is_optimized(self, a0):
9219  r"""get_is_optimized(State self, FloatKey a0) -> bool"""
9220  return _IMP_atom.State_get_is_optimized(self, a0)
9221 
9222  def get_check_level(self):
9223  r"""get_check_level(State self) -> IMP::CheckLevel"""
9224  return _IMP_atom.State_get_check_level(self)
9225 
9226  def __eq__(self, *args):
9227  r"""
9228  __eq__(State self, State o) -> bool
9229  __eq__(State self, Particle d) -> bool
9230  """
9231  return _IMP_atom.State___eq__(self, *args)
9232 
9233  def __ne__(self, *args):
9234  r"""
9235  __ne__(State self, State o) -> bool
9236  __ne__(State self, Particle d) -> bool
9237  """
9238  return _IMP_atom.State___ne__(self, *args)
9239 
9240  def __le__(self, *args):
9241  r"""
9242  __le__(State self, State o) -> bool
9243  __le__(State self, Particle d) -> bool
9244  """
9245  return _IMP_atom.State___le__(self, *args)
9246 
9247  def __lt__(self, *args):
9248  r"""
9249  __lt__(State self, State o) -> bool
9250  __lt__(State self, Particle d) -> bool
9251  """
9252  return _IMP_atom.State___lt__(self, *args)
9253 
9254  def __ge__(self, *args):
9255  r"""
9256  __ge__(State self, State o) -> bool
9257  __ge__(State self, Particle d) -> bool
9258  """
9259  return _IMP_atom.State___ge__(self, *args)
9260 
9261  def __gt__(self, *args):
9262  r"""
9263  __gt__(State self, State o) -> bool
9264  __gt__(State self, Particle d) -> bool
9265  """
9266  return _IMP_atom.State___gt__(self, *args)
9267 
9268  def __hash__(self):
9269  r"""__hash__(State self) -> std::size_t"""
9270  return _IMP_atom.State___hash__(self)
9271 
9272  def __str__(self):
9273  r"""__str__(State self) -> std::string"""
9274  return _IMP_atom.State___str__(self)
9275 
9276  def __repr__(self):
9277  r"""__repr__(State self) -> std::string"""
9278  return _IMP_atom.State___repr__(self)
9279 
9280  def _get_as_binary(self):
9281  r"""_get_as_binary(State self) -> PyObject *"""
9282  return _IMP_atom.State__get_as_binary(self)
9283 
9284  def _set_from_binary(self, p):
9285  r"""_set_from_binary(State self, PyObject * p)"""
9286  return _IMP_atom.State__set_from_binary(self, p)
9287 
9288  def __getstate__(self):
9289  p = self._get_as_binary()
9290  if len(self.__dict__) > 1:
9291  d = self.__dict__.copy()
9292  del d['this']
9293  p = (d, p)
9294  return p
9295 
9296  def __setstate__(self, p):
9297  if not hasattr(self, 'this'):
9298  self.__init__()
9299  if isinstance(p, tuple):
9300  d, p = p
9301  self.__dict__.update(d)
9302  return self._set_from_binary(p)
9303 
9304  __swig_destroy__ = _IMP_atom.delete_State
9305 
9306 # Register State in _IMP_atom:
9307 _IMP_atom.State_swigregister(State)
9308 
9309 def get_state_index(h):
9310  r"""get_state_index(Hierarchy h) -> int"""
9311  return _IMP_atom.get_state_index(h)
9312 
9313 def get_phi_dihedral_atoms(rd):
9314  r"""get_phi_dihedral_atoms(Residue rd) -> IMP::atom::Atoms"""
9315  return _IMP_atom.get_phi_dihedral_atoms(rd)
9316 
9317 def get_psi_dihedral_atoms(rd):
9318  r"""get_psi_dihedral_atoms(Residue rd) -> IMP::atom::Atoms"""
9319  return _IMP_atom.get_psi_dihedral_atoms(rd)
9320 
9321 def get_omega_dihedral_atoms(rd):
9322  r"""get_omega_dihedral_atoms(Residue rd) -> IMP::atom::Atoms"""
9323  return _IMP_atom.get_omega_dihedral_atoms(rd)
9324 
9326  r"""get_chi_dihedral_atom_types(ResidueType rt) -> IMP::Vector< IMP::atom::AtomTypes >"""
9327  return _IMP_atom.get_chi_dihedral_atom_types(rt)
9328 
9329 def get_chi_dihedral_atoms(rd):
9330  r"""get_chi_dihedral_atoms(Residue rd) -> IMP::Vector< IMP::atom::Atoms >"""
9331  return _IMP_atom.get_chi_dihedral_atoms(rd)
9332 
9334  r"""get_chi_dihedral_particle_indexes(Residue rd) -> IMP::ParticleIndexQuads"""
9335  return _IMP_atom.get_chi_dihedral_particle_indexes(rd)
9336 class Molecule(Hierarchy):
9337  r"""Proxy of C++ IMP::atom::Molecule class."""
9338 
9339  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9340 
9341  def __init__(self, *args):
9342  r"""
9343  __init__(Molecule self) -> Molecule
9344  __init__(Molecule self, Model m, ParticleIndex id) -> Molecule
9345  __init__(Molecule self, _ParticleAdaptor d) -> Molecule
9346  """
9347  _IMP_atom.Molecule_swiginit(self, _IMP_atom.new_Molecule(*args))
9348 
9349  def show(self, *args):
9350  r"""show(Molecule self, _ostream out=std::cout)"""
9351  return _IMP_atom.Molecule_show(self, *args)
9352 
9353  @staticmethod
9354  def setup_particle(*args):
9355  r"""
9356  setup_particle(Model m, ParticleIndex pi) -> Molecule
9357  setup_particle(_ParticleAdaptor pa) -> Molecule
9358  setup_particle(Model m, ParticleIndex pi, Molecule other) -> Molecule
9359  setup_particle(_ParticleAdaptor pa, Molecule other) -> Molecule
9360  """
9361  return _IMP_atom.Molecule_setup_particle(*args)
9362 
9363  @staticmethod
9364  def get_is_setup(*args):
9365  r"""
9366  get_is_setup(_ParticleAdaptor p) -> bool
9367  get_is_setup(Model m, ParticleIndex pi) -> bool
9368  """
9369  return _IMP_atom.Molecule_get_is_setup(*args)
9370 
9371  def add_attribute(self, *args):
9372  r"""
9373  add_attribute(Molecule self, FloatKey k, IMP::Float v, bool opt)
9374  add_attribute(Molecule self, FloatKey a0, IMP::Float a1)
9375  add_attribute(Molecule self, IntKey a0, IMP::Int a1)
9376  add_attribute(Molecule self, FloatsKey a0, IMP::Floats a1)
9377  add_attribute(Molecule self, IntsKey a0, IMP::Ints a1)
9378  add_attribute(Molecule self, StringKey a0, IMP::String a1)
9379  add_attribute(Molecule self, ParticleIndexKey a0, Particle a1)
9380  add_attribute(Molecule self, ObjectKey a0, Object a1)
9381  add_attribute(Molecule self, SparseFloatKey a0, IMP::Float a1)
9382  add_attribute(Molecule self, SparseIntKey a0, IMP::Int a1)
9383  add_attribute(Molecule self, SparseStringKey a0, IMP::String a1)
9384  add_attribute(Molecule self, SparseParticleIndexKey a0, ParticleIndex a1)
9385  """
9386  return _IMP_atom.Molecule_add_attribute(self, *args)
9387 
9388  def get_value(self, *args):
9389  r"""
9390  get_value(Molecule self, FloatKey a0) -> IMP::Float
9391  get_value(Molecule self, IntKey a0) -> IMP::Int
9392  get_value(Molecule self, FloatsKey a0) -> IMP::Floats
9393  get_value(Molecule self, IntsKey a0) -> IMP::Ints
9394  get_value(Molecule self, StringKey a0) -> IMP::String
9395  get_value(Molecule self, ParticleIndexKey a0) -> Particle
9396  get_value(Molecule self, ObjectKey a0) -> Object
9397  get_value(Molecule self, SparseFloatKey a0) -> IMP::Float
9398  get_value(Molecule self, SparseIntKey a0) -> IMP::Int
9399  get_value(Molecule self, SparseStringKey a0) -> IMP::String
9400  get_value(Molecule self, SparseParticleIndexKey a0) -> ParticleIndex
9401  """
9402  return _IMP_atom.Molecule_get_value(self, *args)
9403 
9404  def set_value(self, *args):
9405  r"""
9406  set_value(Molecule self, FloatKey a0, IMP::Float a1)
9407  set_value(Molecule self, IntKey a0, IMP::Int a1)
9408  set_value(Molecule self, FloatsKey a0, IMP::Floats a1)
9409  set_value(Molecule self, IntsKey a0, IMP::Ints a1)
9410  set_value(Molecule self, StringKey a0, IMP::String a1)
9411  set_value(Molecule self, ParticleIndexKey a0, Particle a1)
9412  set_value(Molecule self, ObjectKey a0, Object a1)
9413  set_value(Molecule self, SparseFloatKey a0, IMP::Float a1)
9414  set_value(Molecule self, SparseIntKey a0, IMP::Int a1)
9415  set_value(Molecule self, SparseStringKey a0, IMP::String a1)
9416  set_value(Molecule self, SparseParticleIndexKey a0, ParticleIndex a1)
9417  """
9418  return _IMP_atom.Molecule_set_value(self, *args)
9419 
9420  def remove_attribute(self, *args):
9421  r"""
9422  remove_attribute(Molecule self, FloatKey a0)
9423  remove_attribute(Molecule self, IntKey a0)
9424  remove_attribute(Molecule self, FloatsKey a0)
9425  remove_attribute(Molecule self, IntsKey a0)
9426  remove_attribute(Molecule self, StringKey a0)
9427  remove_attribute(Molecule self, ParticleIndexKey a0)
9428  remove_attribute(Molecule self, ObjectKey a0)
9429  remove_attribute(Molecule self, SparseFloatKey a0)
9430  remove_attribute(Molecule self, SparseIntKey a0)
9431  remove_attribute(Molecule self, SparseStringKey a0)
9432  remove_attribute(Molecule self, SparseParticleIndexKey a0)
9433  """
9434  return _IMP_atom.Molecule_remove_attribute(self, *args)
9435 
9436  def has_attribute(self, *args):
9437  r"""
9438  has_attribute(Molecule self, FloatKey a0) -> bool
9439  has_attribute(Molecule self, IntKey a0) -> bool
9440  has_attribute(Molecule self, FloatsKey a0) -> bool
9441  has_attribute(Molecule self, IntsKey a0) -> bool
9442  has_attribute(Molecule self, StringKey a0) -> bool
9443  has_attribute(Molecule self, ParticleIndexKey a0) -> bool
9444  has_attribute(Molecule self, ObjectKey a0) -> bool
9445  has_attribute(Molecule self, SparseFloatKey a0) -> bool
9446  has_attribute(Molecule self, SparseIntKey a0) -> bool
9447  has_attribute(Molecule self, SparseStringKey a0) -> bool
9448  has_attribute(Molecule self, SparseParticleIndexKey a0) -> bool
9449  """
9450  return _IMP_atom.Molecule_has_attribute(self, *args)
9451 
9452  def get_derivative(self, a0):
9453  r"""get_derivative(Molecule self, FloatKey a0) -> double"""
9454  return _IMP_atom.Molecule_get_derivative(self, a0)
9455 
9456  def get_name(self):
9457  r"""get_name(Molecule self) -> std::string"""
9458  return _IMP_atom.Molecule_get_name(self)
9459 
9460  def clear_caches(self):
9461  r"""clear_caches(Molecule self)"""
9462  return _IMP_atom.Molecule_clear_caches(self)
9463 
9464  def set_name(self, a0):
9465  r"""set_name(Molecule self, std::string a0)"""
9466  return _IMP_atom.Molecule_set_name(self, a0)
9467 
9468  def set_check_level(self, a0):
9469  r"""set_check_level(Molecule self, IMP::CheckLevel a0)"""
9470  return _IMP_atom.Molecule_set_check_level(self, a0)
9471 
9472  def add_to_derivative(self, a0, a1, a2):
9473  r"""add_to_derivative(Molecule self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9474  return _IMP_atom.Molecule_add_to_derivative(self, a0, a1, a2)
9475 
9476  def set_is_optimized(self, a0, a1):
9477  r"""set_is_optimized(Molecule self, FloatKey a0, bool a1)"""
9478  return _IMP_atom.Molecule_set_is_optimized(self, a0, a1)
9479 
9480  def get_is_optimized(self, a0):
9481  r"""get_is_optimized(Molecule self, FloatKey a0) -> bool"""
9482  return _IMP_atom.Molecule_get_is_optimized(self, a0)
9483 
9484  def get_check_level(self):
9485  r"""get_check_level(Molecule self) -> IMP::CheckLevel"""
9486  return _IMP_atom.Molecule_get_check_level(self)
9487 
9488  def __eq__(self, *args):
9489  r"""
9490  __eq__(Molecule self, Molecule o) -> bool
9491  __eq__(Molecule self, Particle d) -> bool
9492  """
9493  return _IMP_atom.Molecule___eq__(self, *args)
9494 
9495  def __ne__(self, *args):
9496  r"""
9497  __ne__(Molecule self, Molecule o) -> bool
9498  __ne__(Molecule self, Particle d) -> bool
9499  """
9500  return _IMP_atom.Molecule___ne__(self, *args)
9501 
9502  def __le__(self, *args):
9503  r"""
9504  __le__(Molecule self, Molecule o) -> bool
9505  __le__(Molecule self, Particle d) -> bool
9506  """
9507  return _IMP_atom.Molecule___le__(self, *args)
9508 
9509  def __lt__(self, *args):
9510  r"""
9511  __lt__(Molecule self, Molecule o) -> bool
9512  __lt__(Molecule self, Particle d) -> bool
9513  """
9514  return _IMP_atom.Molecule___lt__(self, *args)
9515 
9516  def __ge__(self, *args):
9517  r"""
9518  __ge__(Molecule self, Molecule o) -> bool
9519  __ge__(Molecule self, Particle d) -> bool
9520  """
9521  return _IMP_atom.Molecule___ge__(self, *args)
9522 
9523  def __gt__(self, *args):
9524  r"""
9525  __gt__(Molecule self, Molecule o) -> bool
9526  __gt__(Molecule self, Particle d) -> bool
9527  """
9528  return _IMP_atom.Molecule___gt__(self, *args)
9529 
9530  def __hash__(self):
9531  r"""__hash__(Molecule self) -> std::size_t"""
9532  return _IMP_atom.Molecule___hash__(self)
9533 
9534  def __str__(self):
9535  r"""__str__(Molecule self) -> std::string"""
9536  return _IMP_atom.Molecule___str__(self)
9537 
9538  def __repr__(self):
9539  r"""__repr__(Molecule self) -> std::string"""
9540  return _IMP_atom.Molecule___repr__(self)
9541 
9542  def _get_as_binary(self):
9543  r"""_get_as_binary(Molecule self) -> PyObject *"""
9544  return _IMP_atom.Molecule__get_as_binary(self)
9545 
9546  def _set_from_binary(self, p):
9547  r"""_set_from_binary(Molecule self, PyObject * p)"""
9548  return _IMP_atom.Molecule__set_from_binary(self, p)
9549 
9550  def __getstate__(self):
9551  p = self._get_as_binary()
9552  if len(self.__dict__) > 1:
9553  d = self.__dict__.copy()
9554  del d['this']
9555  p = (d, p)
9556  return p
9557 
9558  def __setstate__(self, p):
9559  if not hasattr(self, 'this'):
9560  self.__init__()
9561  if isinstance(p, tuple):
9562  d, p = p
9563  self.__dict__.update(d)
9564  return self._set_from_binary(p)
9565 
9566  __swig_destroy__ = _IMP_atom.delete_Molecule
9567 
9568 # Register Molecule in _IMP_atom:
9569 _IMP_atom.Molecule_swigregister(Molecule)
9570 
9571 def get_molecule_name(h):
9572  r"""get_molecule_name(Hierarchy h) -> std::string"""
9573  return _IMP_atom.get_molecule_name(h)
9574 class Copy(Molecule):
9575  r"""Proxy of C++ IMP::atom::Copy class."""
9576 
9577  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9578 
9579  @staticmethod
9580  def get_copy_index_key():
9581  r"""get_copy_index_key() -> IntKey"""
9582  return _IMP_atom.Copy_get_copy_index_key()
9583 
9584  def __init__(self, *args):
9585  r"""
9586  __init__(Copy self) -> Copy
9587  __init__(Copy self, Model m, ParticleIndex id) -> Copy
9588  __init__(Copy self, _ParticleAdaptor d) -> Copy
9589  """
9590  _IMP_atom.Copy_swiginit(self, _IMP_atom.new_Copy(*args))
9591 
9592  def show(self, *args):
9593  r"""show(Copy self, _ostream out=std::cout)"""
9594  return _IMP_atom.Copy_show(self, *args)
9595 
9596  @staticmethod
9597  def setup_particle(*args):
9598  r"""
9599  setup_particle(Model m, ParticleIndex pi, IMP::Int number) -> Copy
9600  setup_particle(_ParticleAdaptor pa, IMP::Int number) -> Copy
9601  """
9602  return _IMP_atom.Copy_setup_particle(*args)
9603 
9604  @staticmethod
9605  def get_is_setup(*args):
9606  r"""
9607  get_is_setup(_ParticleAdaptor p) -> bool
9608  get_is_setup(Model m, ParticleIndex pi) -> bool
9609  """
9610  return _IMP_atom.Copy_get_is_setup(*args)
9611 
9612  def get_copy_index(self):
9613  r"""get_copy_index(Copy self) -> int"""
9614  return _IMP_atom.Copy_get_copy_index(self)
9615 
9616  def add_attribute(self, *args):
9617  r"""
9618  add_attribute(Copy self, FloatKey k, IMP::Float v, bool opt)
9619  add_attribute(Copy self, FloatKey a0, IMP::Float a1)
9620  add_attribute(Copy self, IntKey a0, IMP::Int a1)
9621  add_attribute(Copy self, FloatsKey a0, IMP::Floats a1)
9622  add_attribute(Copy self, IntsKey a0, IMP::Ints a1)
9623  add_attribute(Copy self, StringKey a0, IMP::String a1)
9624  add_attribute(Copy self, ParticleIndexKey a0, Particle a1)
9625  add_attribute(Copy self, ObjectKey a0, Object a1)
9626  add_attribute(Copy self, SparseFloatKey a0, IMP::Float a1)
9627  add_attribute(Copy self, SparseIntKey a0, IMP::Int a1)
9628  add_attribute(Copy self, SparseStringKey a0, IMP::String a1)
9629  add_attribute(Copy self, SparseParticleIndexKey a0, ParticleIndex a1)
9630  """
9631  return _IMP_atom.Copy_add_attribute(self, *args)
9632 
9633  def get_value(self, *args):
9634  r"""
9635  get_value(Copy self, FloatKey a0) -> IMP::Float
9636  get_value(Copy self, IntKey a0) -> IMP::Int
9637  get_value(Copy self, FloatsKey a0) -> IMP::Floats
9638  get_value(Copy self, IntsKey a0) -> IMP::Ints
9639  get_value(Copy self, StringKey a0) -> IMP::String
9640  get_value(Copy self, ParticleIndexKey a0) -> Particle
9641  get_value(Copy self, ObjectKey a0) -> Object
9642  get_value(Copy self, SparseFloatKey a0) -> IMP::Float
9643  get_value(Copy self, SparseIntKey a0) -> IMP::Int
9644  get_value(Copy self, SparseStringKey a0) -> IMP::String
9645  get_value(Copy self, SparseParticleIndexKey a0) -> ParticleIndex
9646  """
9647  return _IMP_atom.Copy_get_value(self, *args)
9648 
9649  def set_value(self, *args):
9650  r"""
9651  set_value(Copy self, FloatKey a0, IMP::Float a1)
9652  set_value(Copy self, IntKey a0, IMP::Int a1)
9653  set_value(Copy self, FloatsKey a0, IMP::Floats a1)
9654  set_value(Copy self, IntsKey a0, IMP::Ints a1)
9655  set_value(Copy self, StringKey a0, IMP::String a1)
9656  set_value(Copy self, ParticleIndexKey a0, Particle a1)
9657  set_value(Copy self, ObjectKey a0, Object a1)
9658  set_value(Copy self, SparseFloatKey a0, IMP::Float a1)
9659  set_value(Copy self, SparseIntKey a0, IMP::Int a1)
9660  set_value(Copy self, SparseStringKey a0, IMP::String a1)
9661  set_value(Copy self, SparseParticleIndexKey a0, ParticleIndex a1)
9662  """
9663  return _IMP_atom.Copy_set_value(self, *args)
9664 
9665  def remove_attribute(self, *args):
9666  r"""
9667  remove_attribute(Copy self, FloatKey a0)
9668  remove_attribute(Copy self, IntKey a0)
9669  remove_attribute(Copy self, FloatsKey a0)
9670  remove_attribute(Copy self, IntsKey a0)
9671  remove_attribute(Copy self, StringKey a0)
9672  remove_attribute(Copy self, ParticleIndexKey a0)
9673  remove_attribute(Copy self, ObjectKey a0)
9674  remove_attribute(Copy self, SparseFloatKey a0)
9675  remove_attribute(Copy self, SparseIntKey a0)
9676  remove_attribute(Copy self, SparseStringKey a0)
9677  remove_attribute(Copy self, SparseParticleIndexKey a0)
9678  """
9679  return _IMP_atom.Copy_remove_attribute(self, *args)
9680 
9681  def has_attribute(self, *args):
9682  r"""
9683  has_attribute(Copy self, FloatKey a0) -> bool
9684  has_attribute(Copy self, IntKey a0) -> bool
9685  has_attribute(Copy self, FloatsKey a0) -> bool
9686  has_attribute(Copy self, IntsKey a0) -> bool
9687  has_attribute(Copy self, StringKey a0) -> bool
9688  has_attribute(Copy self, ParticleIndexKey a0) -> bool
9689  has_attribute(Copy self, ObjectKey a0) -> bool
9690  has_attribute(Copy self, SparseFloatKey a0) -> bool
9691  has_attribute(Copy self, SparseIntKey a0) -> bool
9692  has_attribute(Copy self, SparseStringKey a0) -> bool
9693  has_attribute(Copy self, SparseParticleIndexKey a0) -> bool
9694  """
9695  return _IMP_atom.Copy_has_attribute(self, *args)
9696 
9697  def get_derivative(self, a0):
9698  r"""get_derivative(Copy self, FloatKey a0) -> double"""
9699  return _IMP_atom.Copy_get_derivative(self, a0)
9700 
9701  def get_name(self):
9702  r"""get_name(Copy self) -> std::string"""
9703  return _IMP_atom.Copy_get_name(self)
9704 
9705  def clear_caches(self):
9706  r"""clear_caches(Copy self)"""
9707  return _IMP_atom.Copy_clear_caches(self)
9708 
9709  def set_name(self, a0):
9710  r"""set_name(Copy self, std::string a0)"""
9711  return _IMP_atom.Copy_set_name(self, a0)
9712 
9713  def set_check_level(self, a0):
9714  r"""set_check_level(Copy self, IMP::CheckLevel a0)"""
9715  return _IMP_atom.Copy_set_check_level(self, a0)
9716 
9717  def add_to_derivative(self, a0, a1, a2):
9718  r"""add_to_derivative(Copy self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9719  return _IMP_atom.Copy_add_to_derivative(self, a0, a1, a2)
9720 
9721  def set_is_optimized(self, a0, a1):
9722  r"""set_is_optimized(Copy self, FloatKey a0, bool a1)"""
9723  return _IMP_atom.Copy_set_is_optimized(self, a0, a1)
9724 
9725  def get_is_optimized(self, a0):
9726  r"""get_is_optimized(Copy self, FloatKey a0) -> bool"""
9727  return _IMP_atom.Copy_get_is_optimized(self, a0)
9728 
9729  def get_check_level(self):
9730  r"""get_check_level(Copy self) -> IMP::CheckLevel"""
9731  return _IMP_atom.Copy_get_check_level(self)
9732 
9733  def __eq__(self, *args):
9734  r"""
9735  __eq__(Copy self, Copy o) -> bool
9736  __eq__(Copy self, Particle d) -> bool
9737  """
9738  return _IMP_atom.Copy___eq__(self, *args)
9739 
9740  def __ne__(self, *args):
9741  r"""
9742  __ne__(Copy self, Copy o) -> bool
9743  __ne__(Copy self, Particle d) -> bool
9744  """
9745  return _IMP_atom.Copy___ne__(self, *args)
9746 
9747  def __le__(self, *args):
9748  r"""
9749  __le__(Copy self, Copy o) -> bool
9750  __le__(Copy self, Particle d) -> bool
9751  """
9752  return _IMP_atom.Copy___le__(self, *args)
9753 
9754  def __lt__(self, *args):
9755  r"""
9756  __lt__(Copy self, Copy o) -> bool
9757  __lt__(Copy self, Particle d) -> bool
9758  """
9759  return _IMP_atom.Copy___lt__(self, *args)
9760 
9761  def __ge__(self, *args):
9762  r"""
9763  __ge__(Copy self, Copy o) -> bool
9764  __ge__(Copy self, Particle d) -> bool
9765  """
9766  return _IMP_atom.Copy___ge__(self, *args)
9767 
9768  def __gt__(self, *args):
9769  r"""
9770  __gt__(Copy self, Copy o) -> bool
9771  __gt__(Copy self, Particle d) -> bool
9772  """
9773  return _IMP_atom.Copy___gt__(self, *args)
9774 
9775  def __hash__(self):
9776  r"""__hash__(Copy self) -> std::size_t"""
9777  return _IMP_atom.Copy___hash__(self)
9778 
9779  def __str__(self):
9780  r"""__str__(Copy self) -> std::string"""
9781  return _IMP_atom.Copy___str__(self)
9782 
9783  def __repr__(self):
9784  r"""__repr__(Copy self) -> std::string"""
9785  return _IMP_atom.Copy___repr__(self)
9786 
9787  def _get_as_binary(self):
9788  r"""_get_as_binary(Copy self) -> PyObject *"""
9789  return _IMP_atom.Copy__get_as_binary(self)
9790 
9791  def _set_from_binary(self, p):
9792  r"""_set_from_binary(Copy self, PyObject * p)"""
9793  return _IMP_atom.Copy__set_from_binary(self, p)
9794 
9795  def __getstate__(self):
9796  p = self._get_as_binary()
9797  if len(self.__dict__) > 1:
9798  d = self.__dict__.copy()
9799  del d['this']
9800  p = (d, p)
9801  return p
9802 
9803  def __setstate__(self, p):
9804  if not hasattr(self, 'this'):
9805  self.__init__()
9806  if isinstance(p, tuple):
9807  d, p = p
9808  self.__dict__.update(d)
9809  return self._set_from_binary(p)
9810 
9811  __swig_destroy__ = _IMP_atom.delete_Copy
9812 
9813 # Register Copy in _IMP_atom:
9814 _IMP_atom.Copy_swigregister(Copy)
9815 
9816 def get_copy_index(h):
9817  r"""get_copy_index(Hierarchy h) -> int"""
9818  return _IMP_atom.get_copy_index(h)
9819 class Chain(Hierarchy):
9820  r"""Proxy of C++ IMP::atom::Chain class."""
9821 
9822  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9823 
9824  def __init__(self, *args):
9825  r"""
9826  __init__(Chain self) -> Chain
9827  __init__(Chain self, Model m, ParticleIndex id) -> Chain
9828  __init__(Chain self, _ParticleAdaptor d) -> Chain
9829  """
9830  _IMP_atom.Chain_swiginit(self, _IMP_atom.new_Chain(*args))
9831 
9832  def show(self, *args):
9833  r"""show(Chain self, _ostream out=std::cout)"""
9834  return _IMP_atom.Chain_show(self, *args)
9835 
9836  @staticmethod
9837  def setup_particle(*args):
9838  r"""
9839  setup_particle(Model m, ParticleIndex pi, std::string id) -> Chain
9840  setup_particle(_ParticleAdaptor pa, std::string id) -> Chain
9841  setup_particle(Model m, ParticleIndex pi, char id) -> Chain
9842  setup_particle(_ParticleAdaptor pa, char id) -> Chain
9843  setup_particle(Model m, ParticleIndex pi, Chain other) -> Chain
9844  setup_particle(_ParticleAdaptor pa, Chain other) -> Chain
9845  """
9846  return _IMP_atom.Chain_setup_particle(*args)
9847 
9848  @staticmethod
9849  def get_is_setup(*args):
9850  r"""
9851  get_is_setup(_ParticleAdaptor p) -> bool
9852  get_is_setup(Model m, ParticleIndex pi) -> bool
9853  """
9854  return _IMP_atom.Chain_get_is_setup(*args)
9855 
9856  def get_id(self):
9857  r"""get_id(Chain self) -> std::string"""
9858  return _IMP_atom.Chain_get_id(self)
9859 
9860  def set_id(self, c):
9861  r"""set_id(Chain self, std::string c)"""
9862  return _IMP_atom.Chain_set_id(self, c)
9863 
9864  def get_label_asym_id(self):
9865  r"""get_label_asym_id(Chain self) -> std::string"""
9866  return _IMP_atom.Chain_get_label_asym_id(self)
9867 
9868  def set_label_asym_id(self, c):
9869  r"""set_label_asym_id(Chain self, std::string c)"""
9870  return _IMP_atom.Chain_set_label_asym_id(self, c)
9871 
9872  def get_sequence(self):
9873  r"""get_sequence(Chain self) -> std::string"""
9874  return _IMP_atom.Chain_get_sequence(self)
9875 
9876  def set_sequence(self, sequence):
9877  r"""set_sequence(Chain self, std::string sequence)"""
9878  return _IMP_atom.Chain_set_sequence(self, sequence)
9879 
9880  def get_sequence_offset(self):
9881  r"""get_sequence_offset(Chain self) -> int"""
9882  return _IMP_atom.Chain_get_sequence_offset(self)
9883 
9884  def set_sequence_offset(self, offset):
9885  r"""set_sequence_offset(Chain self, int offset)"""
9886  return _IMP_atom.Chain_set_sequence_offset(self, offset)
9887 
9888  def get_uniprot_accession(self):
9889  r"""get_uniprot_accession(Chain self) -> std::string"""
9890  return _IMP_atom.Chain_get_uniprot_accession(self)
9891 
9892  def set_uniprot_accession(self, accession):
9893  r"""set_uniprot_accession(Chain self, std::string accession)"""
9894  return _IMP_atom.Chain_set_uniprot_accession(self, accession)
9895 
9896  def get_chain_type(self):
9897  r"""get_chain_type(Chain self) -> ChainType"""
9898  return _IMP_atom.Chain_get_chain_type(self)
9899 
9900  def set_chain_type(self, t):
9901  r"""set_chain_type(Chain self, ChainType t)"""
9902  return _IMP_atom.Chain_set_chain_type(self, t)
9903 
9904  @staticmethod
9905  def get_id_key():
9906  r"""get_id_key() -> SparseStringKey"""
9907  return _IMP_atom.Chain_get_id_key()
9908 
9909  @staticmethod
9910  def get_label_asym_id_key():
9911  r"""get_label_asym_id_key() -> SparseStringKey"""
9912  return _IMP_atom.Chain_get_label_asym_id_key()
9913 
9914  @staticmethod
9915  def get_sequence_key():
9916  r"""get_sequence_key() -> SparseStringKey"""
9917  return _IMP_atom.Chain_get_sequence_key()
9918 
9919  @staticmethod
9920  def get_sequence_offset_key():
9921  r"""get_sequence_offset_key() -> SparseIntKey"""
9922  return _IMP_atom.Chain_get_sequence_offset_key()
9923 
9924  @staticmethod
9925  def get_uniprot_accession_key():
9926  r"""get_uniprot_accession_key() -> SparseStringKey"""
9927  return _IMP_atom.Chain_get_uniprot_accession_key()
9928 
9929  @staticmethod
9930  def get_chain_type_key():
9931  r"""get_chain_type_key() -> SparseIntKey"""
9932  return _IMP_atom.Chain_get_chain_type_key()
9933 
9934  def add_attribute(self, *args):
9935  r"""
9936  add_attribute(Chain self, FloatKey k, IMP::Float v, bool opt)
9937  add_attribute(Chain self, FloatKey a0, IMP::Float a1)
9938  add_attribute(Chain self, IntKey a0, IMP::Int a1)
9939  add_attribute(Chain self, FloatsKey a0, IMP::Floats a1)
9940  add_attribute(Chain self, IntsKey a0, IMP::Ints a1)
9941  add_attribute(Chain self, StringKey a0, IMP::String a1)
9942  add_attribute(Chain self, ParticleIndexKey a0, Particle a1)
9943  add_attribute(Chain self, ObjectKey a0, Object a1)
9944  add_attribute(Chain self, SparseFloatKey a0, IMP::Float a1)
9945  add_attribute(Chain self, SparseIntKey a0, IMP::Int a1)
9946  add_attribute(Chain self, SparseStringKey a0, IMP::String a1)
9947  add_attribute(Chain self, SparseParticleIndexKey a0, ParticleIndex a1)
9948  """
9949  return _IMP_atom.Chain_add_attribute(self, *args)
9950 
9951  def get_value(self, *args):
9952  r"""
9953  get_value(Chain self, FloatKey a0) -> IMP::Float
9954  get_value(Chain self, IntKey a0) -> IMP::Int
9955  get_value(Chain self, FloatsKey a0) -> IMP::Floats
9956  get_value(Chain self, IntsKey a0) -> IMP::Ints
9957  get_value(Chain self, StringKey a0) -> IMP::String
9958  get_value(Chain self, ParticleIndexKey a0) -> Particle
9959  get_value(Chain self, ObjectKey a0) -> Object
9960  get_value(Chain self, SparseFloatKey a0) -> IMP::Float
9961  get_value(Chain self, SparseIntKey a0) -> IMP::Int
9962  get_value(Chain self, SparseStringKey a0) -> IMP::String
9963  get_value(Chain self, SparseParticleIndexKey a0) -> ParticleIndex
9964  """
9965  return _IMP_atom.Chain_get_value(self, *args)
9966 
9967  def set_value(self, *args):
9968  r"""
9969  set_value(Chain self, FloatKey a0, IMP::Float a1)
9970  set_value(Chain self, IntKey a0, IMP::Int a1)
9971  set_value(Chain self, FloatsKey a0, IMP::Floats a1)
9972  set_value(Chain self, IntsKey a0, IMP::Ints a1)
9973  set_value(Chain self, StringKey a0, IMP::String a1)
9974  set_value(Chain self, ParticleIndexKey a0, Particle a1)
9975  set_value(Chain self, ObjectKey a0, Object a1)
9976  set_value(Chain self, SparseFloatKey a0, IMP::Float a1)
9977  set_value(Chain self, SparseIntKey a0, IMP::Int a1)
9978  set_value(Chain self, SparseStringKey a0, IMP::String a1)
9979  set_value(Chain self, SparseParticleIndexKey a0, ParticleIndex a1)
9980  """
9981  return _IMP_atom.Chain_set_value(self, *args)
9982 
9983  def remove_attribute(self, *args):
9984  r"""
9985  remove_attribute(Chain self, FloatKey a0)
9986  remove_attribute(Chain self, IntKey a0)
9987  remove_attribute(Chain self, FloatsKey a0)
9988  remove_attribute(Chain self, IntsKey a0)
9989  remove_attribute(Chain self, StringKey a0)
9990  remove_attribute(Chain self, ParticleIndexKey a0)
9991  remove_attribute(Chain self, ObjectKey a0)
9992  remove_attribute(Chain self, SparseFloatKey a0)
9993  remove_attribute(Chain self, SparseIntKey a0)
9994  remove_attribute(Chain self, SparseStringKey a0)
9995  remove_attribute(Chain self, SparseParticleIndexKey a0)
9996  """
9997  return _IMP_atom.Chain_remove_attribute(self, *args)
9998 
9999  def has_attribute(self, *args):
10000  r"""
10001  has_attribute(Chain self, FloatKey a0) -> bool
10002  has_attribute(Chain self, IntKey a0) -> bool
10003  has_attribute(Chain self, FloatsKey a0) -> bool
10004  has_attribute(Chain self, IntsKey a0) -> bool
10005  has_attribute(Chain self, StringKey a0) -> bool
10006  has_attribute(Chain self, ParticleIndexKey a0) -> bool
10007  has_attribute(Chain self, ObjectKey a0) -> bool
10008  has_attribute(Chain self, SparseFloatKey a0) -> bool
10009  has_attribute(Chain self, SparseIntKey a0) -> bool
10010  has_attribute(Chain self, SparseStringKey a0) -> bool
10011  has_attribute(Chain self, SparseParticleIndexKey a0) -> bool
10012  """
10013  return _IMP_atom.Chain_has_attribute(self, *args)
10014 
10015  def get_derivative(self, a0):
10016  r"""get_derivative(Chain self, FloatKey a0) -> double"""
10017  return _IMP_atom.Chain_get_derivative(self, a0)
10018 
10019  def get_name(self):
10020  r"""get_name(Chain self) -> std::string"""
10021  return _IMP_atom.Chain_get_name(self)
10022 
10023  def clear_caches(self):
10024  r"""clear_caches(Chain self)"""
10025  return _IMP_atom.Chain_clear_caches(self)
10026 
10027  def set_name(self, a0):
10028  r"""set_name(Chain self, std::string a0)"""
10029  return _IMP_atom.Chain_set_name(self, a0)
10030 
10031  def set_check_level(self, a0):
10032  r"""set_check_level(Chain self, IMP::CheckLevel a0)"""
10033  return _IMP_atom.Chain_set_check_level(self, a0)
10034 
10035  def add_to_derivative(self, a0, a1, a2):
10036  r"""add_to_derivative(Chain self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
10037  return _IMP_atom.Chain_add_to_derivative(self, a0, a1, a2)
10038 
10039  def set_is_optimized(self, a0, a1):
10040  r"""set_is_optimized(Chain self, FloatKey a0, bool a1)"""
10041  return _IMP_atom.Chain_set_is_optimized(self, a0, a1)
10042 
10043  def get_is_optimized(self, a0):
10044  r"""get_is_optimized(Chain self, FloatKey a0) -> bool"""
10045  return _IMP_atom.Chain_get_is_optimized(self, a0)
10046 
10047  def get_check_level(self):
10048  r"""get_check_level(Chain self) -> IMP::CheckLevel"""
10049  return _IMP_atom.Chain_get_check_level(self)
10050 
10051  def __eq__(self, *args):
10052  r"""
10053  __eq__(Chain self, Chain o) -> bool
10054  __eq__(Chain self, Particle d) -> bool
10055  """
10056  return _IMP_atom.Chain___eq__(self, *args)
10057 
10058  def __ne__(self, *args):
10059  r"""
10060  __ne__(Chain self, Chain o) -> bool
10061  __ne__(Chain self, Particle d) -> bool
10062  """
10063  return _IMP_atom.Chain___ne__(self, *args)
10064 
10065  def __le__(self, *args):
10066  r"""
10067  __le__(Chain self, Chain o) -> bool
10068  __le__(Chain self, Particle d) -> bool
10069  """
10070  return _IMP_atom.Chain___le__(self, *args)
10071 
10072  def __lt__(self, *args):
10073  r"""
10074  __lt__(Chain self, Chain o) -> bool
10075  __lt__(Chain self, Particle d) -> bool
10076  """
10077  return _IMP_atom.Chain___lt__(self, *args)
10078 
10079  def __ge__(self, *args):
10080  r"""
10081  __ge__(Chain self, Chain o) -> bool
10082  __ge__(Chain self, Particle d) -> bool
10083  """
10084  return _IMP_atom.Chain___ge__(self, *args)
10085 
10086  def __gt__(self, *args):
10087  r"""
10088  __gt__(Chain self, Chain o) -> bool
10089  __gt__(Chain self, Particle d) -> bool
10090  """
10091  return _IMP_atom.Chain___gt__(self, *args)
10092 
10093  def __hash__(self):
10094  r"""__hash__(Chain self) -> std::size_t"""
10095  return _IMP_atom.Chain___hash__(self)
10096 
10097  def __str__(self):
10098  r"""__str__(Chain self) -> std::string"""
10099  return _IMP_atom.Chain___str__(self)
10100 
10101  def __repr__(self):
10102  r"""__repr__(Chain self) -> std::string"""
10103  return _IMP_atom.Chain___repr__(self)
10104 
10105  def _get_as_binary(self):
10106  r"""_get_as_binary(Chain self) -> PyObject *"""
10107  return _IMP_atom.Chain__get_as_binary(self)
10108 
10109  def _set_from_binary(self, p):
10110  r"""_set_from_binary(Chain self, PyObject * p)"""
10111  return _IMP_atom.Chain__set_from_binary(self, p)
10112 
10113  def __getstate__(self):
10114  p = self._get_as_binary()
10115  if len(self.__dict__) > 1:
10116  d = self.__dict__.copy()
10117  del d['this']
10118  p = (d, p)
10119  return p
10120 
10121  def __setstate__(self, p):
10122  if not hasattr(self, 'this'):
10123  self.__init__()
10124  if isinstance(p, tuple):
10125  d, p = p
10126  self.__dict__.update(d)
10127  return self._set_from_binary(p)
10128 
10129  __swig_destroy__ = _IMP_atom.delete_Chain
10130 
10131 # Register Chain in _IMP_atom:
10132 _IMP_atom.Chain_swigregister(Chain)
10133 UnknownChainType = cvar.UnknownChainType
10134 DPolypeptide = cvar.DPolypeptide
10135 LPolypeptide = cvar.LPolypeptide
10136 Polydeoxyribonucleotide = cvar.Polydeoxyribonucleotide
10137 Polyribonucleotide = cvar.Polyribonucleotide
10138 DPolysaccharide = cvar.DPolysaccharide
10139 LPolysaccharide = cvar.LPolysaccharide
10140 Protein = cvar.Protein
10141 DNA = cvar.DNA
10142 RNA = cvar.RNA
10143 
10144 
10145 def get_chain(h):
10146  r"""get_chain(Hierarchy h) -> Chain"""
10147  return _IMP_atom.get_chain(h)
10148 
10149 def get_chain_id(h):
10150  r"""get_chain_id(Hierarchy h) -> std::string"""
10151  return _IMP_atom.get_chain_id(h)
10152 class Selection(IMP._ParticleIndexesAdaptor):
10153  r"""Proxy of C++ IMP::atom::Selection class."""
10154 
10155  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10156  NONE = _IMP_atom.Selection_NONE
10157 
10158  C = _IMP_atom.Selection_C
10159 
10160  N = _IMP_atom.Selection_N
10161 
10162 
10163  def __init__(self, *args):
10164  r"""
10165  __init__(Selection self) -> Selection
10166  __init__(Selection self, Hierarchy h) -> Selection
10167  __init__(Selection self, Particle h) -> Selection
10168  __init__(Selection self, Model m, IMP::ParticleIndexes const & pis) -> Selection
10169  __init__(Selection self, IMP::ParticlesTemp const & h) -> Selection
10170  """
10171  _IMP_atom.Selection_swiginit(self, _IMP_atom.new_Selection(*args))
10172 
10173  def create_clone(self):
10174  r"""create_clone(Selection self) -> Selection"""
10175  return _IMP_atom.Selection_create_clone(self)
10176 
10177  def get_hierarchies(self):
10178  r"""get_hierarchies(Selection self) -> IMP::atom::Hierarchies"""
10179  return _IMP_atom.Selection_get_hierarchies(self)
10180 
10181  def set_molecules(self, mols):
10182  r"""set_molecules(Selection self, IMP::Strings mols)"""
10183  return _IMP_atom.Selection_set_molecules(self, mols)
10184 
10185  def set_resolution(self, r):
10186  r"""set_resolution(Selection self, double r)"""
10187  return _IMP_atom.Selection_set_resolution(self, r)
10188 
10189  def set_representation_type(self, t):
10190  r"""set_representation_type(Selection self, IMP::atom::RepresentationType t)"""
10191  return _IMP_atom.Selection_set_representation_type(self, t)
10192 
10193  def set_state_index(self, state):
10194  r"""set_state_index(Selection self, int state)"""
10195  return _IMP_atom.Selection_set_state_index(self, state)
10196 
10197  def set_state_indexes(self, states):
10198  r"""set_state_indexes(Selection self, IMP::Ints states)"""
10199  return _IMP_atom.Selection_set_state_indexes(self, states)
10200 
10201  def set_terminus(self, t):
10202  r"""set_terminus(Selection self, IMP::atom::Selection::Terminus t)"""
10203  return _IMP_atom.Selection_set_terminus(self, t)
10204 
10205  def set_element(self, e):
10206  r"""set_element(Selection self, IMP::atom::Element e)"""
10207  return _IMP_atom.Selection_set_element(self, e)
10208 
10209  def set_chain_ids(self, chains):
10210  r"""set_chain_ids(Selection self, IMP::Strings chains)"""
10211  return _IMP_atom.Selection_set_chain_ids(self, chains)
10212 
10213  def set_chains(self, chains):
10214  r"""set_chains(Selection self, IMP::Strings chains)"""
10215  return _IMP_atom.Selection_set_chains(self, chains)
10216 
10217  def set_residue_indexes(self, indexes):
10218  r"""set_residue_indexes(Selection self, IMP::Ints indexes)"""
10219  return _IMP_atom.Selection_set_residue_indexes(self, indexes)
10220 
10221  def set_atom_types(self, types):
10222  r"""set_atom_types(Selection self, IMP::atom::AtomTypes types)"""
10223  return _IMP_atom.Selection_set_atom_types(self, types)
10224 
10225  def set_residue_types(self, types):
10226  r"""set_residue_types(Selection self, IMP::atom::ResidueTypes types)"""
10227  return _IMP_atom.Selection_set_residue_types(self, types)
10228 
10229  def set_domains(self, names):
10230  r"""set_domains(Selection self, IMP::Strings names)"""
10231  return _IMP_atom.Selection_set_domains(self, names)
10232 
10233  def set_molecule(self, mol):
10234  r"""set_molecule(Selection self, std::string mol)"""
10235  return _IMP_atom.Selection_set_molecule(self, mol)
10236 
10237  def set_chain_id(self, c):
10238  r"""set_chain_id(Selection self, std::string c)"""
10239  return _IMP_atom.Selection_set_chain_id(self, c)
10240 
10241  def set_chain(self, c):
10242  r"""set_chain(Selection self, std::string c)"""
10243  return _IMP_atom.Selection_set_chain(self, c)
10244 
10245  def set_residue_index(self, i):
10246  r"""set_residue_index(Selection self, int i)"""
10247  return _IMP_atom.Selection_set_residue_index(self, i)
10248 
10249  def set_atom_type(self, types):
10250  r"""set_atom_type(Selection self, AtomType types)"""
10251  return _IMP_atom.Selection_set_atom_type(self, types)
10252 
10253  def set_residue_type(self, type):
10254  r"""set_residue_type(Selection self, ResidueType type)"""
10255  return _IMP_atom.Selection_set_residue_type(self, type)
10256 
10257  def set_domain(self, name):
10258  r"""set_domain(Selection self, std::string name)"""
10259  return _IMP_atom.Selection_set_domain(self, name)
10260 
10261  def set_copy_index(self, copy):
10262  r"""set_copy_index(Selection self, unsigned int copy)"""
10263  return _IMP_atom.Selection_set_copy_index(self, copy)
10264 
10265  def set_copy_indexes(self, copies):
10266  r"""set_copy_indexes(Selection self, IMP::Ints copies)"""
10267  return _IMP_atom.Selection_set_copy_indexes(self, copies)
10268 
10269  def set_particle_type(self, t):
10270  r"""set_particle_type(Selection self, ParticleType t)"""
10271  return _IMP_atom.Selection_set_particle_type(self, t)
10272 
10273  def set_particle_types(self, t):
10274  r"""set_particle_types(Selection self, IMP::core::ParticleTypes t)"""
10275  return _IMP_atom.Selection_set_particle_types(self, t)
10276 
10277  def set_hierarchy_types(self, types):
10278  r"""set_hierarchy_types(Selection self, IMP::Ints types)"""
10279  return _IMP_atom.Selection_set_hierarchy_types(self, types)
10280 
10281  def set_intersection(self, s):
10282  r"""set_intersection(Selection self, Selection s)"""
10283  return _IMP_atom.Selection_set_intersection(self, s)
10284 
10285  def set_union(self, s):
10286  r"""set_union(Selection self, Selection s)"""
10287  return _IMP_atom.Selection_set_union(self, s)
10288 
10289  def set_symmetric_difference(self, s):
10290  r"""set_symmetric_difference(Selection self, Selection s)"""
10291  return _IMP_atom.Selection_set_symmetric_difference(self, s)
10292 
10293  def set_difference(self, s):
10294  r"""set_difference(Selection self, Selection s)"""
10295  return _IMP_atom.Selection_set_difference(self, s)
10296 
10297  def get_selected_particles(self, with_representation=True):
10298  r"""get_selected_particles(Selection self, bool with_representation=True) -> IMP::ParticlesTemp"""
10299  return _IMP_atom.Selection_get_selected_particles(self, with_representation)
10300 
10301  def get_selected_particle_indexes(self, with_representation=True):
10302  r"""get_selected_particle_indexes(Selection self, bool with_representation=True) -> IMP::ParticleIndexes"""
10303  return _IMP_atom.Selection_get_selected_particle_indexes(self, with_representation)
10304 
10305  def show(self, *args):
10306  r"""show(Selection self, _ostream out=std::cout)"""
10307  return _IMP_atom.Selection_show(self, *args)
10308 
10309  def __str__(self):
10310  r"""__str__(Selection self) -> std::string"""
10311  return _IMP_atom.Selection___str__(self)
10312 
10313  def __repr__(self):
10314  r"""__repr__(Selection self) -> std::string"""
10315  return _IMP_atom.Selection___repr__(self)
10316 
10317  def __init__(self, hierarchy=None,
10318  hierarchies=None, **params):
10319  if hierarchy and hierarchies:
10320  raise RuntimeError("You can't pass both hierarchy and hierarchies to Selection")
10321  if hierarchy:
10322  this = _IMP_atom.new_Selection(hierarchy)
10323  try: self.this.append(this)
10324  except: self.this = this
10325  elif hierarchies:
10326  this = _IMP_atom.new_Selection(hierarchies)
10327  try: self.this.append(this)
10328  except: self.this = this
10329  else:
10330  raise ValueError("Either hierarchy or hierarchies must be provided.")
10331  for k in params.keys():
10332  eval("self.set_%s(params[k])"%k)
10333 
10334  def union(self, s):
10335  news = self.create_clone()
10336  news.union_update(s)
10337  return news
10338  def intersection(self, s):
10339  news = self.create_clone()
10340  news.intersection_update(s)
10341  return news
10342  def symmetric_difference(self, s):
10343  news = self.create_clone()
10344  news.symmetric_difference_update(s)
10345  return news
10346  def difference(self, s):
10347  news = self.create_clone()
10348  news.difference_update(s)
10349  return news
10350  def union_update(self, s):
10351  self.set_union(s)
10352  return self
10353  def intersection_update(self, s):
10354  self.set_intersection(s)
10355  return self
10356  def symmetric_difference_update(self, s):
10357  self.set_symmetric_difference(s)
10358  return self
10359  def difference_update(self, s):
10360  self.set_difference(s)
10361  return self
10362  __or__ = union
10363  __and__ = intersection
10364  __xor__ = symmetric_difference
10365  __sub__ = difference
10366  __ior__ = union_update
10367  __iand__ = intersection_update
10368  __ixor__ = symmetric_difference_update
10369  __isub__ = difference_update
10370 
10371  __swig_destroy__ = _IMP_atom.delete_Selection
10372 
10373 # Register Selection in _IMP_atom:
10374 _IMP_atom.Selection_swigregister(Selection)
10375 
10376 def create_distance_restraint(*args):
10377  r"""create_distance_restraint(Selection n0, Selection n1, double x0, double k, std::string name="Distance%1%") -> Restraint"""
10378  return _IMP_atom.create_distance_restraint(*args)
10379 
10381  r"""
10382  create_connectivity_restraint(IMP::atom::Selections const & s, double k, std::string name="Connectivity%1%") -> Restraint
10383  create_connectivity_restraint(IMP::atom::Selections const & s, double x0, double k, std::string name="Connectivity%1%") -> Restraint
10384  """
10385  return _IMP_atom.create_connectivity_restraint(*args)
10386 
10388  r"""
10389  create_internal_connectivity_restraint(Selection s, double k, std::string name="Connectivity%1%") -> Restraint
10390  create_internal_connectivity_restraint(Selection s, double x0, double k, std::string name="Connectivity%1%") -> Restraint
10391  """
10392  return _IMP_atom.create_internal_connectivity_restraint(*args)
10393 
10394 def create_cover(*args):
10395  r"""create_cover(Selection s, std::string name=std::string()) -> XYZR"""
10396  return _IMP_atom.create_cover(*args)
10397 
10398 def get_mass(*args):
10399  r"""
10400  get_mass(ResidueType c) -> double
10401  get_mass(Selection s) -> double
10402  """
10403  return _IMP_atom.get_mass(*args)
10404 
10405 def get_volume(s):
10406  r"""get_volume(Selection s) -> double"""
10407  return _IMP_atom.get_volume(s)
10408 
10409 def get_surface_area(s):
10410  r"""get_surface_area(Selection s) -> double"""
10411  return _IMP_atom.get_surface_area(s)
10412 
10413 def get_leaves(*args):
10414  r"""
10415  get_leaves(Hierarchy h) -> IMP::atom::Hierarchies
10416  get_leaves(IMP::atom::Hierarchies const & h) -> IMP::atom::Hierarchies
10417  get_leaves(Selection h) -> IMP::atom::Hierarchies
10418  """
10419  return _IMP_atom.get_leaves(*args)
10420 class SelectionGeometry(IMP.display.Geometry):
10421  r"""Proxy of C++ IMP::atom::SelectionGeometry class."""
10422 
10423  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10424 
10425  def __init__(self, *args):
10426  r"""__init__(SelectionGeometry self, Selection d, std::string name="Selection") -> SelectionGeometry"""
10427  _IMP_atom.SelectionGeometry_swiginit(self, _IMP_atom.new_SelectionGeometry(*args))
10428 
10429  def get_version_info(self):
10430  r"""get_version_info(SelectionGeometry self) -> VersionInfo"""
10431  return _IMP_atom.SelectionGeometry_get_version_info(self)
10432  __swig_destroy__ = _IMP_atom.delete_SelectionGeometry
10433 
10434  def __str__(self):
10435  r"""__str__(SelectionGeometry self) -> std::string"""
10436  return _IMP_atom.SelectionGeometry___str__(self)
10437 
10438  def __repr__(self):
10439  r"""__repr__(SelectionGeometry self) -> std::string"""
10440  return _IMP_atom.SelectionGeometry___repr__(self)
10441 
10442  @staticmethod
10443  def get_from(o):
10444  return _object_cast_to_SelectionGeometry(o)
10445 
10446 
10447 # Register SelectionGeometry in _IMP_atom:
10448 _IMP_atom.SelectionGeometry_swigregister(SelectionGeometry)
10449 
10450 def get_rmsd(*args):
10451  r"""
10452  get_rmsd(IMP::core::XYZs const & s0, IMP::core::XYZs const & s1) -> double
10453  get_rmsd(Selection s0, Selection s1) -> double
10454  """
10455  return _IMP_atom.get_rmsd(*args)
10456 
10457 def get_rmsd_transforming_first(*args):
10458  r"""
10459  get_rmsd_transforming_first(Transformation3D tr, IMP::core::XYZs const & s0, IMP::core::XYZs const & s1) -> double
10460  get_rmsd_transforming_first(Transformation3D tr, Selection s0, Selection s1) -> double
10461  """
10462  return _IMP_atom.get_rmsd_transforming_first(*args)
10463 
10464 def get_placement_score(source, target):
10465  r"""get_placement_score(IMP::core::XYZs const & source, IMP::core::XYZs const & target) -> IMP::FloatPair"""
10466  return _IMP_atom.get_placement_score(source, target)
10467 
10468 def get_component_placement_score(ref1, ref2, mdl1, mdl2):
10469  r"""get_component_placement_score(IMP::core::XYZs const & ref1, IMP::core::XYZs const & ref2, IMP::core::XYZs const & mdl1, IMP::core::XYZs const & mdl2) -> IMP::FloatPair"""
10470  return _IMP_atom.get_component_placement_score(ref1, ref2, mdl1, mdl2)
10471 
10472 def get_pairwise_rmsd_score(ref1, ref2, mdl1, mdl2):
10473  r"""get_pairwise_rmsd_score(IMP::core::XYZs const & ref1, IMP::core::XYZs const & ref2, IMP::core::XYZs const & mdl1, IMP::core::XYZs const & mdl2) -> double"""
10474  return _IMP_atom.get_pairwise_rmsd_score(ref1, ref2, mdl1, mdl2)
10475 
10476 def get_radius_of_gyration(*args):
10477  r"""
10478  get_radius_of_gyration(Selection s) -> double
10479  get_radius_of_gyration(IMP::ParticlesTemp const & ps, bool weighted=True) -> double
10480  """
10481  return _IMP_atom.get_radius_of_gyration(*args)
10482 class ForceFieldParameters(IMP.Object):
10483  r"""Proxy of C++ IMP::atom::ForceFieldParameters class."""
10484 
10485  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10486 
10487  def __init__(self):
10488  r"""__init__(ForceFieldParameters self) -> ForceFieldParameters"""
10489  _IMP_atom.ForceFieldParameters_swiginit(self, _IMP_atom.new_ForceFieldParameters())
10490 
10491  def get_radius(self, atom):
10492  r"""get_radius(ForceFieldParameters self, Atom atom) -> IMP::Float"""
10493  return _IMP_atom.ForceFieldParameters_get_radius(self, atom)
10494 
10495  def get_epsilon(self, atom):
10496  r"""get_epsilon(ForceFieldParameters self, Atom atom) -> IMP::Float"""
10497  return _IMP_atom.ForceFieldParameters_get_epsilon(self, atom)
10498 
10499  def add_radii(self, *args):
10500  r"""add_radii(ForceFieldParameters self, Hierarchy mhd, double scale=1.0, FloatKey radius_key=IMP::FloatKey("radius"))"""
10501  return _IMP_atom.ForceFieldParameters_add_radii(self, *args)
10502 
10503  def add_lennard_jones_types(self, mhd):
10504  r"""add_lennard_jones_types(ForceFieldParameters self, Hierarchy mhd)"""
10505  return _IMP_atom.ForceFieldParameters_add_lennard_jones_types(self, mhd)
10506 
10507  def add_bonds(self, mhd):
10508  r"""add_bonds(ForceFieldParameters self, Hierarchy mhd)"""
10509  return _IMP_atom.ForceFieldParameters_add_bonds(self, mhd)
10510  __swig_destroy__ = _IMP_atom.delete_ForceFieldParameters
10511 
10512  def __str__(self):
10513  r"""__str__(ForceFieldParameters self) -> std::string"""
10514  return _IMP_atom.ForceFieldParameters___str__(self)
10515 
10516  def __repr__(self):
10517  r"""__repr__(ForceFieldParameters self) -> std::string"""
10518  return _IMP_atom.ForceFieldParameters___repr__(self)
10519 
10520  @staticmethod
10521  def get_from(o):
10522  return _object_cast_to_ForceFieldParameters(o)
10523 
10524 
10525 # Register ForceFieldParameters in _IMP_atom:
10526 _IMP_atom.ForceFieldParameters_swigregister(ForceFieldParameters)
10527 class CHARMMAtomTopology(object):
10528  r"""Proxy of C++ IMP::atom::CHARMMAtomTopology class."""
10529 
10530  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10531 
10532  def __init__(self, *args):
10533  r"""
10534  __init__(CHARMMAtomTopology self) -> CHARMMAtomTopology
10535  __init__(CHARMMAtomTopology self, std::string name) -> CHARMMAtomTopology
10536  __init__(CHARMMAtomTopology self, std::string name, CHARMMAtomTopology other) -> CHARMMAtomTopology
10537  """
10538  _IMP_atom.CHARMMAtomTopology_swiginit(self, _IMP_atom.new_CHARMMAtomTopology(*args))
10539 
10540  def get_name(self):
10541  r"""get_name(CHARMMAtomTopology self) -> std::string"""
10542  return _IMP_atom.CHARMMAtomTopology_get_name(self)
10543 
10544  def get_charmm_type(self):
10545  r"""get_charmm_type(CHARMMAtomTopology self) -> std::string"""
10546  return _IMP_atom.CHARMMAtomTopology_get_charmm_type(self)
10547 
10548  def get_charge(self):
10549  r"""get_charge(CHARMMAtomTopology self) -> double"""
10550  return _IMP_atom.CHARMMAtomTopology_get_charge(self)
10551 
10552  def set_charmm_type(self, charmm_type):
10553  r"""set_charmm_type(CHARMMAtomTopology self, std::string charmm_type)"""
10554  return _IMP_atom.CHARMMAtomTopology_set_charmm_type(self, charmm_type)
10555 
10556  def set_charge(self, charge):
10557  r"""set_charge(CHARMMAtomTopology self, double charge)"""
10558  return _IMP_atom.CHARMMAtomTopology_set_charge(self, charge)
10559 
10560  def show(self, *args):
10561  r"""show(CHARMMAtomTopology self, _ostream out=std::cout)"""
10562  return _IMP_atom.CHARMMAtomTopology_show(self, *args)
10563 
10564  def __str__(self):
10565  r"""__str__(CHARMMAtomTopology self) -> std::string"""
10566  return _IMP_atom.CHARMMAtomTopology___str__(self)
10567 
10568  def __repr__(self):
10569  r"""__repr__(CHARMMAtomTopology self) -> std::string"""
10570  return _IMP_atom.CHARMMAtomTopology___repr__(self)
10571 
10572  def _get_as_binary(self):
10573  r"""_get_as_binary(CHARMMAtomTopology self) -> PyObject *"""
10574  return _IMP_atom.CHARMMAtomTopology__get_as_binary(self)
10575 
10576  def _set_from_binary(self, p):
10577  r"""_set_from_binary(CHARMMAtomTopology self, PyObject * p)"""
10578  return _IMP_atom.CHARMMAtomTopology__set_from_binary(self, p)
10579 
10580  def __getstate__(self):
10581  p = self._get_as_binary()
10582  if len(self.__dict__) > 1:
10583  d = self.__dict__.copy()
10584  del d['this']
10585  p = (d, p)
10586  return p
10587 
10588  def __setstate__(self, p):
10589  if not hasattr(self, 'this'):
10590  self.__init__()
10591  if isinstance(p, tuple):
10592  d, p = p
10593  self.__dict__.update(d)
10594  return self._set_from_binary(p)
10595 
10596  __swig_destroy__ = _IMP_atom.delete_CHARMMAtomTopology
10597 
10598 # Register CHARMMAtomTopology in _IMP_atom:
10599 _IMP_atom.CHARMMAtomTopology_swigregister(CHARMMAtomTopology)
10600 class CHARMMBondEndpoint(object):
10601  r"""Proxy of C++ IMP::atom::CHARMMBondEndpoint class."""
10602 
10603  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10604 
10605  def __init__(self, atom_name, residue=None):
10606  r"""__init__(CHARMMBondEndpoint self, std::string atom_name, CHARMMResidueTopology residue=None) -> CHARMMBondEndpoint"""
10607  _IMP_atom.CHARMMBondEndpoint_swiginit(self, _IMP_atom.new_CHARMMBondEndpoint(atom_name, residue))
10608 
10609  def get_atom_name(self):
10610  r"""get_atom_name(CHARMMBondEndpoint self) -> std::string"""
10611  return _IMP_atom.CHARMMBondEndpoint_get_atom_name(self)
10612 
10613  def get_atom(self, current_residue, previous_residue, next_residue, resmap):
10614  r"""get_atom(CHARMMBondEndpoint self, CHARMMResidueTopology current_residue, CHARMMResidueTopology previous_residue, CHARMMResidueTopology next_residue, std::map< IMP::atom::CHARMMResidueTopology const *,IMP::atom::Hierarchy > const & resmap) -> Atom"""
10615  return _IMP_atom.CHARMMBondEndpoint_get_atom(self, current_residue, previous_residue, next_residue, resmap)
10616 
10617  def show(self, *args):
10618  r"""show(CHARMMBondEndpoint self, _ostream out=std::cout)"""
10619  return _IMP_atom.CHARMMBondEndpoint_show(self, *args)
10620 
10621  def __str__(self):
10622  r"""__str__(CHARMMBondEndpoint self) -> std::string"""
10623  return _IMP_atom.CHARMMBondEndpoint___str__(self)
10624 
10625  def __repr__(self):
10626  r"""__repr__(CHARMMBondEndpoint self) -> std::string"""
10627  return _IMP_atom.CHARMMBondEndpoint___repr__(self)
10628  __swig_destroy__ = _IMP_atom.delete_CHARMMBondEndpoint
10629 
10630 # Register CHARMMBondEndpoint in _IMP_atom:
10631 _IMP_atom.CHARMMBondEndpoint_swigregister(CHARMMBondEndpoint)
10632 class CHARMMDihedral(object):
10633  r"""Proxy of C++ IMP::atom::CHARMMConnection< 4 > class."""
10634 
10635  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10636  __repr__ = _swig_repr
10637 
10638  def __init__(self, atoms):
10639  r"""__init__(CHARMMDihedral self, IMP::Strings const & atoms) -> CHARMMDihedral"""
10640  _IMP_atom.CHARMMDihedral_swiginit(self, _IMP_atom.new_CHARMMDihedral(atoms))
10641 
10642  def get_endpoint(self, i):
10643  r"""get_endpoint(CHARMMDihedral self, unsigned int i) -> CHARMMBondEndpoint"""
10644  return _IMP_atom.CHARMMDihedral_get_endpoint(self, i)
10645 
10646  def get_contains_atom(self, name):
10647  r"""get_contains_atom(CHARMMDihedral self, std::string name) -> bool"""
10648  return _IMP_atom.CHARMMDihedral_get_contains_atom(self, name)
10649 
10650  def show(self, *args):
10651  r"""show(CHARMMDihedral self, _ostream out=std::cout)"""
10652  return _IMP_atom.CHARMMDihedral_show(self, *args)
10653  __swig_destroy__ = _IMP_atom.delete_CHARMMDihedral
10654 
10655 # Register CHARMMDihedral in _IMP_atom:
10656 _IMP_atom.CHARMMDihedral_swigregister(CHARMMDihedral)
10657 class CHARMMInternalCoordinate(CHARMMDihedral):
10658  r"""Proxy of C++ IMP::atom::CHARMMInternalCoordinate class."""
10659 
10660  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10661 
10662  def __init__(self, *args):
10663  r"""
10664  __init__(CHARMMInternalCoordinate self, IMP::Strings const & atoms, float first_distance, float first_angle, float dihedral, float second_angle, float second_distance, bool improper) -> CHARMMInternalCoordinate
10665  __init__(CHARMMInternalCoordinate self, IMP::Vector< IMP::atom::CHARMMBondEndpoint > const endpoints, float first_distance, float first_angle, float dihedral, float second_angle, float second_distance, bool improper) -> CHARMMInternalCoordinate
10666  """
10667  _IMP_atom.CHARMMInternalCoordinate_swiginit(self, _IMP_atom.new_CHARMMInternalCoordinate(*args))
10668 
10669  def get_first_distance(self):
10670  r"""get_first_distance(CHARMMInternalCoordinate self) -> float"""
10671  return _IMP_atom.CHARMMInternalCoordinate_get_first_distance(self)
10672 
10673  def get_second_distance(self):
10674  r"""get_second_distance(CHARMMInternalCoordinate self) -> float"""
10675  return _IMP_atom.CHARMMInternalCoordinate_get_second_distance(self)
10676 
10677  def get_first_angle(self):
10678  r"""get_first_angle(CHARMMInternalCoordinate self) -> float"""
10679  return _IMP_atom.CHARMMInternalCoordinate_get_first_angle(self)
10680 
10681  def get_second_angle(self):
10682  r"""get_second_angle(CHARMMInternalCoordinate self) -> float"""
10683  return _IMP_atom.CHARMMInternalCoordinate_get_second_angle(self)
10684 
10685  def get_dihedral(self):
10686  r"""get_dihedral(CHARMMInternalCoordinate self) -> float"""
10687  return _IMP_atom.CHARMMInternalCoordinate_get_dihedral(self)
10688 
10689  def get_improper(self):
10690  r"""get_improper(CHARMMInternalCoordinate self) -> bool"""
10691  return _IMP_atom.CHARMMInternalCoordinate_get_improper(self)
10692 
10693  def show(self, *args):
10694  r"""show(CHARMMInternalCoordinate self, _ostream out=std::cout)"""
10695  return _IMP_atom.CHARMMInternalCoordinate_show(self, *args)
10696 
10697  def __str__(self):
10698  r"""__str__(CHARMMInternalCoordinate self) -> std::string"""
10699  return _IMP_atom.CHARMMInternalCoordinate___str__(self)
10700 
10701  def __repr__(self):
10702  r"""__repr__(CHARMMInternalCoordinate self) -> std::string"""
10703  return _IMP_atom.CHARMMInternalCoordinate___repr__(self)
10704  __swig_destroy__ = _IMP_atom.delete_CHARMMInternalCoordinate
10705 
10706 # Register CHARMMInternalCoordinate in _IMP_atom:
10707 _IMP_atom.CHARMMInternalCoordinate_swigregister(CHARMMInternalCoordinate)
10708 class CHARMMResidueTopologyBase(IMP.Object):
10709  r"""Proxy of C++ IMP::atom::CHARMMResidueTopologyBase class."""
10710 
10711  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10712 
10713  def __init__(self, *args, **kwargs):
10714  raise AttributeError("No constructor defined")
10715 
10716  def get_type(self):
10717  r"""get_type(CHARMMResidueTopologyBase self) -> std::string"""
10718  return _IMP_atom.CHARMMResidueTopologyBase_get_type(self)
10719 
10720  def get_number_of_atoms(self):
10721  r"""get_number_of_atoms(CHARMMResidueTopologyBase self) -> unsigned int"""
10722  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_atoms(self)
10723 
10724  def add_atom(self, atom):
10725  r"""add_atom(CHARMMResidueTopologyBase self, CHARMMAtomTopology atom)"""
10726  return _IMP_atom.CHARMMResidueTopologyBase_add_atom(self, atom)
10727 
10728  def get_atom(self, *args):
10729  r"""
10730  get_atom(CHARMMResidueTopologyBase self, unsigned int i) -> CHARMMAtomTopology
10731  get_atom(CHARMMResidueTopologyBase self, AtomType type) -> CHARMMAtomTopology
10732  get_atom(CHARMMResidueTopologyBase self, std::string name) -> CHARMMAtomTopology
10733  """
10734  return _IMP_atom.CHARMMResidueTopologyBase_get_atom(self, *args)
10735 
10736  def get_number_of_bonds(self):
10737  r"""get_number_of_bonds(CHARMMResidueTopologyBase self) -> unsigned int"""
10738  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_bonds(self)
10739 
10740  def add_bond(self, bond):
10741  r"""add_bond(CHARMMResidueTopologyBase self, CHARMMBond bond)"""
10742  return _IMP_atom.CHARMMResidueTopologyBase_add_bond(self, bond)
10743 
10744  def get_number_of_angles(self):
10745  r"""get_number_of_angles(CHARMMResidueTopologyBase self) -> unsigned int"""
10746  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_angles(self)
10747 
10748  def add_angle(self, bond):
10749  r"""add_angle(CHARMMResidueTopologyBase self, CHARMMAngle bond)"""
10750  return _IMP_atom.CHARMMResidueTopologyBase_add_angle(self, bond)
10751 
10752  def get_number_of_dihedrals(self):
10753  r"""get_number_of_dihedrals(CHARMMResidueTopologyBase self) -> unsigned int"""
10754  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_dihedrals(self)
10755 
10756  def add_dihedral(self, bond):
10757  r"""add_dihedral(CHARMMResidueTopologyBase self, CHARMMDihedral bond)"""
10758  return _IMP_atom.CHARMMResidueTopologyBase_add_dihedral(self, bond)
10759 
10760  def get_number_of_impropers(self):
10761  r"""get_number_of_impropers(CHARMMResidueTopologyBase self) -> unsigned int"""
10762  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_impropers(self)
10763 
10764  def add_improper(self, bond):
10765  r"""add_improper(CHARMMResidueTopologyBase self, CHARMMDihedral bond)"""
10766  return _IMP_atom.CHARMMResidueTopologyBase_add_improper(self, bond)
10767 
10768  def get_number_of_internal_coordinates(self):
10769  r"""get_number_of_internal_coordinates(CHARMMResidueTopologyBase self) -> unsigned int"""
10770  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_internal_coordinates(self)
10771 
10772  def add_internal_coordinate(self, ic):
10773  r"""add_internal_coordinate(CHARMMResidueTopologyBase self, CHARMMInternalCoordinate ic)"""
10774  return _IMP_atom.CHARMMResidueTopologyBase_add_internal_coordinate(self, ic)
10775 
10776  def get_internal_coordinate(self, index):
10777  r"""get_internal_coordinate(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMInternalCoordinate"""
10778  return _IMP_atom.CHARMMResidueTopologyBase_get_internal_coordinate(self, index)
10779 
10780  def get_bond(self, index):
10781  r"""get_bond(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMBond"""
10782  return _IMP_atom.CHARMMResidueTopologyBase_get_bond(self, index)
10783 
10784  def get_angle(self, index):
10785  r"""get_angle(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMAngle"""
10786  return _IMP_atom.CHARMMResidueTopologyBase_get_angle(self, index)
10787 
10788  def get_dihedral(self, index):
10789  r"""get_dihedral(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMDihedral"""
10790  return _IMP_atom.CHARMMResidueTopologyBase_get_dihedral(self, index)
10791 
10792  def get_improper(self, index):
10793  r"""get_improper(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMDihedral"""
10794  return _IMP_atom.CHARMMResidueTopologyBase_get_improper(self, index)
10795 
10796  def get_version_info(self):
10797  r"""get_version_info(CHARMMResidueTopologyBase self) -> VersionInfo"""
10798  return _IMP_atom.CHARMMResidueTopologyBase_get_version_info(self)
10799  __swig_destroy__ = _IMP_atom.delete_CHARMMResidueTopologyBase
10800 
10801  def __str__(self):
10802  r"""__str__(CHARMMResidueTopologyBase self) -> std::string"""
10803  return _IMP_atom.CHARMMResidueTopologyBase___str__(self)
10804 
10805  def __repr__(self):
10806  r"""__repr__(CHARMMResidueTopologyBase self) -> std::string"""
10807  return _IMP_atom.CHARMMResidueTopologyBase___repr__(self)
10808 
10809  @staticmethod
10810  def get_from(o):
10811  return _object_cast_to_CHARMMResidueTopologyBase(o)
10812 
10813 
10814 # Register CHARMMResidueTopologyBase in _IMP_atom:
10815 _IMP_atom.CHARMMResidueTopologyBase_swigregister(CHARMMResidueTopologyBase)
10816 class CHARMMIdealResidueTopology(CHARMMResidueTopologyBase):
10817  r"""Proxy of C++ IMP::atom::CHARMMIdealResidueTopology class."""
10818 
10819  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10820 
10821  def __init__(self, *args):
10822  r"""
10823  __init__(CHARMMIdealResidueTopology self, std::string type) -> CHARMMIdealResidueTopology
10824  __init__(CHARMMIdealResidueTopology self, ResidueType type) -> CHARMMIdealResidueTopology
10825  """
10826  _IMP_atom.CHARMMIdealResidueTopology_swiginit(self, _IMP_atom.new_CHARMMIdealResidueTopology(*args))
10827 
10828  def remove_atom(self, name):
10829  r"""remove_atom(CHARMMIdealResidueTopology self, std::string name)"""
10830  return _IMP_atom.CHARMMIdealResidueTopology_remove_atom(self, name)
10831 
10832  def set_default_first_patch(self, patch):
10833  r"""set_default_first_patch(CHARMMIdealResidueTopology self, std::string patch)"""
10834  return _IMP_atom.CHARMMIdealResidueTopology_set_default_first_patch(self, patch)
10835 
10836  def set_default_last_patch(self, patch):
10837  r"""set_default_last_patch(CHARMMIdealResidueTopology self, std::string patch)"""
10838  return _IMP_atom.CHARMMIdealResidueTopology_set_default_last_patch(self, patch)
10839 
10840  def get_default_first_patch(self):
10841  r"""get_default_first_patch(CHARMMIdealResidueTopology self) -> std::string"""
10842  return _IMP_atom.CHARMMIdealResidueTopology_get_default_first_patch(self)
10843 
10844  def get_default_last_patch(self):
10845  r"""get_default_last_patch(CHARMMIdealResidueTopology self) -> std::string"""
10846  return _IMP_atom.CHARMMIdealResidueTopology_get_default_last_patch(self)
10847  __swig_destroy__ = _IMP_atom.delete_CHARMMIdealResidueTopology
10848 
10849  def __str__(self):
10850  r"""__str__(CHARMMIdealResidueTopology self) -> std::string"""
10851  return _IMP_atom.CHARMMIdealResidueTopology___str__(self)
10852 
10853  def __repr__(self):
10854  r"""__repr__(CHARMMIdealResidueTopology self) -> std::string"""
10855  return _IMP_atom.CHARMMIdealResidueTopology___repr__(self)
10856 
10857  @staticmethod
10858  def get_from(o):
10859  return _object_cast_to_CHARMMIdealResidueTopology(o)
10860 
10861 
10862 # Register CHARMMIdealResidueTopology in _IMP_atom:
10863 _IMP_atom.CHARMMIdealResidueTopology_swigregister(CHARMMIdealResidueTopology)
10864 class CHARMMPatch(CHARMMResidueTopologyBase):
10865  r"""Proxy of C++ IMP::atom::CHARMMPatch class."""
10866 
10867  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10868 
10869  def __init__(self, type):
10870  r"""__init__(CHARMMPatch self, std::string type) -> CHARMMPatch"""
10871  _IMP_atom.CHARMMPatch_swiginit(self, _IMP_atom.new_CHARMMPatch(type))
10872 
10873  def add_removed_atom(self, name):
10874  r"""add_removed_atom(CHARMMPatch self, std::string name)"""
10875  return _IMP_atom.CHARMMPatch_add_removed_atom(self, name)
10876 
10877  def get_number_of_removed_atoms(self):
10878  r"""get_number_of_removed_atoms(CHARMMPatch self) -> unsigned int"""
10879  return _IMP_atom.CHARMMPatch_get_number_of_removed_atoms(self)
10880 
10881  def get_removed_atom(self, i):
10882  r"""get_removed_atom(CHARMMPatch self, unsigned int i) -> std::string"""
10883  return _IMP_atom.CHARMMPatch_get_removed_atom(self, i)
10884 
10885  def apply(self, *args):
10886  r"""
10887  apply(CHARMMPatch self, CHARMMResidueTopology res)
10888  apply(CHARMMPatch self, CHARMMResidueTopology res1, CHARMMResidueTopology res2)
10889  """
10890  return _IMP_atom.CHARMMPatch_apply(self, *args)
10891  __swig_destroy__ = _IMP_atom.delete_CHARMMPatch
10892 
10893  def __str__(self):
10894  r"""__str__(CHARMMPatch self) -> std::string"""
10895  return _IMP_atom.CHARMMPatch___str__(self)
10896 
10897  def __repr__(self):
10898  r"""__repr__(CHARMMPatch self) -> std::string"""
10899  return _IMP_atom.CHARMMPatch___repr__(self)
10900 
10901  @staticmethod
10902  def get_from(o):
10903  return _object_cast_to_CHARMMPatch(o)
10904 
10905 
10906 # Register CHARMMPatch in _IMP_atom:
10907 _IMP_atom.CHARMMPatch_swigregister(CHARMMPatch)
10908 class CHARMMResidueTopology(CHARMMIdealResidueTopology):
10909  r"""Proxy of C++ IMP::atom::CHARMMResidueTopology class."""
10910 
10911  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10912 
10913  def __init__(self, *args):
10914  r"""
10915  __init__(CHARMMResidueTopology self, ResidueType type) -> CHARMMResidueTopology
10916  __init__(CHARMMResidueTopology self, CHARMMIdealResidueTopology ideal) -> CHARMMResidueTopology
10917  """
10918  _IMP_atom.CHARMMResidueTopology_swiginit(self, _IMP_atom.new_CHARMMResidueTopology(*args))
10919 
10920  def get_patched(self):
10921  r"""get_patched(CHARMMResidueTopology self) -> bool"""
10922  return _IMP_atom.CHARMMResidueTopology_get_patched(self)
10923 
10924  def set_patched(self, patched):
10925  r"""set_patched(CHARMMResidueTopology self, bool patched)"""
10926  return _IMP_atom.CHARMMResidueTopology_set_patched(self, patched)
10927  __swig_destroy__ = _IMP_atom.delete_CHARMMResidueTopology
10928 
10929  def __str__(self):
10930  r"""__str__(CHARMMResidueTopology self) -> std::string"""
10931  return _IMP_atom.CHARMMResidueTopology___str__(self)
10932 
10933  def __repr__(self):
10934  r"""__repr__(CHARMMResidueTopology self) -> std::string"""
10935  return _IMP_atom.CHARMMResidueTopology___repr__(self)
10936 
10937  @staticmethod
10938  def get_from(o):
10939  return _object_cast_to_CHARMMResidueTopology(o)
10940 
10941 
10942 # Register CHARMMResidueTopology in _IMP_atom:
10943 _IMP_atom.CHARMMResidueTopology_swigregister(CHARMMResidueTopology)
10944 class CHARMMAtom(Atom):
10945  r"""Proxy of C++ IMP::atom::CHARMMAtom class."""
10946 
10947  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10948 
10949  def __init__(self, *args):
10950  r"""
10951  __init__(CHARMMAtom self) -> CHARMMAtom
10952  __init__(CHARMMAtom self, Model m, ParticleIndex id) -> CHARMMAtom
10953  __init__(CHARMMAtom self, _ParticleAdaptor d) -> CHARMMAtom
10954  """
10955  _IMP_atom.CHARMMAtom_swiginit(self, _IMP_atom.new_CHARMMAtom(*args))
10956 
10957  def show(self, *args):
10958  r"""show(CHARMMAtom self, _ostream out=std::cout)"""
10959  return _IMP_atom.CHARMMAtom_show(self, *args)
10960 
10961  @staticmethod
10962  def setup_particle(*args):
10963  r"""
10964  setup_particle(Model m, ParticleIndex pi, IMP::String charmm_type) -> CHARMMAtom
10965  setup_particle(_ParticleAdaptor pa, IMP::String charmm_type) -> CHARMMAtom
10966  """
10967  return _IMP_atom.CHARMMAtom_setup_particle(*args)
10968 
10969  def get_charmm_type(self):
10970  r"""get_charmm_type(CHARMMAtom self) -> IMP::String"""
10971  return _IMP_atom.CHARMMAtom_get_charmm_type(self)
10972 
10973  def set_charmm_type(self, t):
10974  r"""set_charmm_type(CHARMMAtom self, IMP::String t)"""
10975  return _IMP_atom.CHARMMAtom_set_charmm_type(self, t)
10976 
10977  @staticmethod
10978  def get_is_setup(*args):
10979  r"""
10980  get_is_setup(_ParticleAdaptor p) -> bool
10981  get_is_setup(Model m, ParticleIndex pi) -> bool
10982  """
10983  return _IMP_atom.CHARMMAtom_get_is_setup(*args)
10984 
10985  @staticmethod
10986  def get_charmm_type_key():
10987  r"""get_charmm_type_key() -> StringKey"""
10988  return _IMP_atom.CHARMMAtom_get_charmm_type_key()
10989 
10990  def add_attribute(self, *args):
10991  r"""
10992  add_attribute(CHARMMAtom self, FloatKey k, IMP::Float v, bool opt)
10993  add_attribute(CHARMMAtom self, FloatKey a0, IMP::Float a1)
10994  add_attribute(CHARMMAtom self, IntKey a0, IMP::Int a1)
10995  add_attribute(CHARMMAtom self, FloatsKey a0, IMP::Floats a1)
10996  add_attribute(CHARMMAtom self, IntsKey a0, IMP::Ints a1)
10997  add_attribute(CHARMMAtom self, StringKey a0, IMP::String a1)
10998  add_attribute(CHARMMAtom self, ParticleIndexKey a0, Particle a1)
10999  add_attribute(CHARMMAtom self, ObjectKey a0, Object a1)
11000  add_attribute(CHARMMAtom self, SparseFloatKey a0, IMP::Float a1)
11001  add_attribute(CHARMMAtom self, SparseIntKey a0, IMP::Int a1)
11002  add_attribute(CHARMMAtom self, SparseStringKey a0, IMP::String a1)
11003  add_attribute(CHARMMAtom self, SparseParticleIndexKey a0, ParticleIndex a1)
11004  """
11005  return _IMP_atom.CHARMMAtom_add_attribute(self, *args)
11006 
11007  def get_value(self, *args):
11008  r"""
11009  get_value(CHARMMAtom self, FloatKey a0) -> IMP::Float
11010  get_value(CHARMMAtom self, IntKey a0) -> IMP::Int
11011  get_value(CHARMMAtom self, FloatsKey a0) -> IMP::Floats
11012  get_value(CHARMMAtom self, IntsKey a0) -> IMP::Ints
11013  get_value(CHARMMAtom self, StringKey a0) -> IMP::String
11014  get_value(CHARMMAtom self, ParticleIndexKey a0) -> Particle
11015  get_value(CHARMMAtom self, ObjectKey a0) -> Object
11016  get_value(CHARMMAtom self, SparseFloatKey a0) -> IMP::Float
11017  get_value(CHARMMAtom self, SparseIntKey a0) -> IMP::Int
11018  get_value(CHARMMAtom self, SparseStringKey a0) -> IMP::String
11019  get_value(CHARMMAtom self, SparseParticleIndexKey a0) -> ParticleIndex
11020  """
11021  return _IMP_atom.CHARMMAtom_get_value(self, *args)
11022 
11023  def set_value(self, *args):
11024  r"""
11025  set_value(CHARMMAtom self, FloatKey a0, IMP::Float a1)
11026  set_value(CHARMMAtom self, IntKey a0, IMP::Int a1)
11027  set_value(CHARMMAtom self, FloatsKey a0, IMP::Floats a1)
11028  set_value(CHARMMAtom self, IntsKey a0, IMP::Ints a1)
11029  set_value(CHARMMAtom self, StringKey a0, IMP::String a1)
11030  set_value(CHARMMAtom self, ParticleIndexKey a0, Particle a1)
11031  set_value(CHARMMAtom self, ObjectKey a0, Object a1)
11032  set_value(CHARMMAtom self, SparseFloatKey a0, IMP::Float a1)
11033  set_value(CHARMMAtom self, SparseIntKey a0, IMP::Int a1)
11034  set_value(CHARMMAtom self, SparseStringKey a0, IMP::String a1)
11035  set_value(CHARMMAtom self, SparseParticleIndexKey a0, ParticleIndex a1)
11036  """
11037  return _IMP_atom.CHARMMAtom_set_value(self, *args)
11038 
11039  def remove_attribute(self, *args):
11040  r"""
11041  remove_attribute(CHARMMAtom self, FloatKey a0)
11042  remove_attribute(CHARMMAtom self, IntKey a0)
11043  remove_attribute(CHARMMAtom self, FloatsKey a0)
11044  remove_attribute(CHARMMAtom self, IntsKey a0)
11045  remove_attribute(CHARMMAtom self, StringKey a0)
11046  remove_attribute(CHARMMAtom self, ParticleIndexKey a0)
11047  remove_attribute(CHARMMAtom self, ObjectKey a0)
11048  remove_attribute(CHARMMAtom self, SparseFloatKey a0)
11049  remove_attribute(CHARMMAtom self, SparseIntKey a0)
11050  remove_attribute(CHARMMAtom self, SparseStringKey a0)
11051  remove_attribute(CHARMMAtom self, SparseParticleIndexKey a0)
11052  """
11053  return _IMP_atom.CHARMMAtom_remove_attribute(self, *args)
11054 
11055  def has_attribute(self, *args):
11056  r"""
11057  has_attribute(CHARMMAtom self, FloatKey a0) -> bool
11058  has_attribute(CHARMMAtom self, IntKey a0) -> bool
11059  has_attribute(CHARMMAtom self, FloatsKey a0) -> bool
11060  has_attribute(CHARMMAtom self, IntsKey a0) -> bool
11061  has_attribute(CHARMMAtom self, StringKey a0) -> bool
11062  has_attribute(CHARMMAtom self, ParticleIndexKey a0) -> bool
11063  has_attribute(CHARMMAtom self, ObjectKey a0) -> bool
11064  has_attribute(CHARMMAtom self, SparseFloatKey a0) -> bool
11065  has_attribute(CHARMMAtom self, SparseIntKey a0) -> bool
11066  has_attribute(CHARMMAtom self, SparseStringKey a0) -> bool
11067  has_attribute(CHARMMAtom self, SparseParticleIndexKey a0) -> bool
11068  """
11069  return _IMP_atom.CHARMMAtom_has_attribute(self, *args)
11070 
11071  def get_derivative(self, a0):
11072  r"""get_derivative(CHARMMAtom self, FloatKey a0) -> double"""
11073  return _IMP_atom.CHARMMAtom_get_derivative(self, a0)
11074 
11075  def get_name(self):
11076  r"""get_name(CHARMMAtom self) -> std::string"""
11077  return _IMP_atom.CHARMMAtom_get_name(self)
11078 
11079  def clear_caches(self):
11080  r"""clear_caches(CHARMMAtom self)"""
11081  return _IMP_atom.CHARMMAtom_clear_caches(self)
11082 
11083  def set_name(self, a0):
11084  r"""set_name(CHARMMAtom self, std::string a0)"""
11085  return _IMP_atom.CHARMMAtom_set_name(self, a0)
11086 
11087  def set_check_level(self, a0):
11088  r"""set_check_level(CHARMMAtom self, IMP::CheckLevel a0)"""
11089  return _IMP_atom.CHARMMAtom_set_check_level(self, a0)
11090 
11091  def add_to_derivative(self, a0, a1, a2):
11092  r"""add_to_derivative(CHARMMAtom self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
11093  return _IMP_atom.CHARMMAtom_add_to_derivative(self, a0, a1, a2)
11094 
11095  def set_is_optimized(self, a0, a1):
11096  r"""set_is_optimized(CHARMMAtom self, FloatKey a0, bool a1)"""
11097  return _IMP_atom.CHARMMAtom_set_is_optimized(self, a0, a1)
11098 
11099  def get_is_optimized(self, a0):
11100  r"""get_is_optimized(CHARMMAtom self, FloatKey a0) -> bool"""
11101  return _IMP_atom.CHARMMAtom_get_is_optimized(self, a0)
11102 
11103  def get_check_level(self):
11104  r"""get_check_level(CHARMMAtom self) -> IMP::CheckLevel"""
11105  return _IMP_atom.CHARMMAtom_get_check_level(self)
11106 
11107  def __eq__(self, *args):
11108  r"""
11109  __eq__(CHARMMAtom self, CHARMMAtom o) -> bool
11110  __eq__(CHARMMAtom self, Particle d) -> bool
11111  """
11112  return _IMP_atom.CHARMMAtom___eq__(self, *args)
11113 
11114  def __ne__(self, *args):
11115  r"""
11116  __ne__(CHARMMAtom self, CHARMMAtom o) -> bool
11117  __ne__(CHARMMAtom self, Particle d) -> bool
11118  """
11119  return _IMP_atom.CHARMMAtom___ne__(self, *args)
11120 
11121  def __le__(self, *args):
11122  r"""
11123  __le__(CHARMMAtom self, CHARMMAtom o) -> bool
11124  __le__(CHARMMAtom self, Particle d) -> bool
11125  """
11126  return _IMP_atom.CHARMMAtom___le__(self, *args)
11127 
11128  def __lt__(self, *args):
11129  r"""
11130  __lt__(CHARMMAtom self, CHARMMAtom o) -> bool
11131  __lt__(CHARMMAtom self, Particle d) -> bool
11132  """
11133  return _IMP_atom.CHARMMAtom___lt__(self, *args)
11134 
11135  def __ge__(self, *args):
11136  r"""
11137  __ge__(CHARMMAtom self, CHARMMAtom o) -> bool
11138  __ge__(CHARMMAtom self, Particle d) -> bool
11139  """
11140  return _IMP_atom.CHARMMAtom___ge__(self, *args)
11141 
11142  def __gt__(self, *args):
11143  r"""
11144  __gt__(CHARMMAtom self, CHARMMAtom o) -> bool
11145  __gt__(CHARMMAtom self, Particle d) -> bool
11146  """
11147  return _IMP_atom.CHARMMAtom___gt__(self, *args)
11148 
11149  def __hash__(self):
11150  r"""__hash__(CHARMMAtom self) -> std::size_t"""
11151  return _IMP_atom.CHARMMAtom___hash__(self)
11152 
11153  def __str__(self):
11154  r"""__str__(CHARMMAtom self) -> std::string"""
11155  return _IMP_atom.CHARMMAtom___str__(self)
11156 
11157  def __repr__(self):
11158  r"""__repr__(CHARMMAtom self) -> std::string"""
11159  return _IMP_atom.CHARMMAtom___repr__(self)
11160 
11161  def _get_as_binary(self):
11162  r"""_get_as_binary(CHARMMAtom self) -> PyObject *"""
11163  return _IMP_atom.CHARMMAtom__get_as_binary(self)
11164 
11165  def _set_from_binary(self, p):
11166  r"""_set_from_binary(CHARMMAtom self, PyObject * p)"""
11167  return _IMP_atom.CHARMMAtom__set_from_binary(self, p)
11168 
11169  def __getstate__(self):
11170  p = self._get_as_binary()
11171  if len(self.__dict__) > 1:
11172  d = self.__dict__.copy()
11173  del d['this']
11174  p = (d, p)
11175  return p
11176 
11177  def __setstate__(self, p):
11178  if not hasattr(self, 'this'):
11179  self.__init__()
11180  if isinstance(p, tuple):
11181  d, p = p
11182  self.__dict__.update(d)
11183  return self._set_from_binary(p)
11184 
11185  __swig_destroy__ = _IMP_atom.delete_CHARMMAtom
11186 
11187 # Register CHARMMAtom in _IMP_atom:
11188 _IMP_atom.CHARMMAtom_swigregister(CHARMMAtom)
11189 
11190 def get_charmm_untyped_atoms(hierarchy):
11191  r"""get_charmm_untyped_atoms(Hierarchy hierarchy) -> IMP::atom::Atoms"""
11192  return _IMP_atom.get_charmm_untyped_atoms(hierarchy)
11193 
11194 def remove_charmm_untyped_atoms(hierarchy):
11195  r"""remove_charmm_untyped_atoms(Hierarchy hierarchy)"""
11196  return _IMP_atom.remove_charmm_untyped_atoms(hierarchy)
11197 class CHARMMBondParameters(object):
11198  r"""Proxy of C++ IMP::atom::CHARMMBondParameters class."""
11199 
11200  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11201  force_constant = property(_IMP_atom.CHARMMBondParameters_force_constant_get, _IMP_atom.CHARMMBondParameters_force_constant_set, doc=r"""force_constant : double""")
11202  ideal = property(_IMP_atom.CHARMMBondParameters_ideal_get, _IMP_atom.CHARMMBondParameters_ideal_set, doc=r"""ideal : double""")
11203 
11204  def __init__(self):
11205  r"""__init__(CHARMMBondParameters self) -> CHARMMBondParameters"""
11206  _IMP_atom.CHARMMBondParameters_swiginit(self, _IMP_atom.new_CHARMMBondParameters())
11207 
11208  def show(self, *args):
11209  r"""show(CHARMMBondParameters self, _ostream out=std::cout)"""
11210  return _IMP_atom.CHARMMBondParameters_show(self, *args)
11211 
11212  def __str__(self):
11213  r"""__str__(CHARMMBondParameters self) -> std::string"""
11214  return _IMP_atom.CHARMMBondParameters___str__(self)
11215 
11216  def __repr__(self):
11217  r"""__repr__(CHARMMBondParameters self) -> std::string"""
11218  return _IMP_atom.CHARMMBondParameters___repr__(self)
11219 
11220  def _get_as_binary(self):
11221  r"""_get_as_binary(CHARMMBondParameters self) -> PyObject *"""
11222  return _IMP_atom.CHARMMBondParameters__get_as_binary(self)
11223 
11224  def _set_from_binary(self, p):
11225  r"""_set_from_binary(CHARMMBondParameters self, PyObject * p)"""
11226  return _IMP_atom.CHARMMBondParameters__set_from_binary(self, p)
11227 
11228  def __getstate__(self):
11229  p = self._get_as_binary()
11230  if len(self.__dict__) > 1:
11231  d = self.__dict__.copy()
11232  del d['this']
11233  p = (d, p)
11234  return p
11235 
11236  def __setstate__(self, p):
11237  if not hasattr(self, 'this'):
11238  self.__init__()
11239  if isinstance(p, tuple):
11240  d, p = p
11241  self.__dict__.update(d)
11242  return self._set_from_binary(p)
11243 
11244  __swig_destroy__ = _IMP_atom.delete_CHARMMBondParameters
11245 
11246 # Register CHARMMBondParameters in _IMP_atom:
11247 _IMP_atom.CHARMMBondParameters_swigregister(CHARMMBondParameters)
11248 class CHARMMDihedralParameters(object):
11249  r"""Proxy of C++ IMP::atom::CHARMMDihedralParameters class."""
11250 
11251  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11252  force_constant = property(_IMP_atom.CHARMMDihedralParameters_force_constant_get, _IMP_atom.CHARMMDihedralParameters_force_constant_set, doc=r"""force_constant : double""")
11253  multiplicity = property(_IMP_atom.CHARMMDihedralParameters_multiplicity_get, _IMP_atom.CHARMMDihedralParameters_multiplicity_set, doc=r"""multiplicity : int""")
11254  ideal = property(_IMP_atom.CHARMMDihedralParameters_ideal_get, _IMP_atom.CHARMMDihedralParameters_ideal_set, doc=r"""ideal : double""")
11255 
11256  def __init__(self):
11257  r"""__init__(CHARMMDihedralParameters self) -> CHARMMDihedralParameters"""
11258  _IMP_atom.CHARMMDihedralParameters_swiginit(self, _IMP_atom.new_CHARMMDihedralParameters())
11259 
11260  def show(self, *args):
11261  r"""show(CHARMMDihedralParameters self, _ostream out=std::cout)"""
11262  return _IMP_atom.CHARMMDihedralParameters_show(self, *args)
11263 
11264  def __str__(self):
11265  r"""__str__(CHARMMDihedralParameters self) -> std::string"""
11266  return _IMP_atom.CHARMMDihedralParameters___str__(self)
11267 
11268  def __repr__(self):
11269  r"""__repr__(CHARMMDihedralParameters self) -> std::string"""
11270  return _IMP_atom.CHARMMDihedralParameters___repr__(self)
11271 
11272  def _get_as_binary(self):
11273  r"""_get_as_binary(CHARMMDihedralParameters self) -> PyObject *"""
11274  return _IMP_atom.CHARMMDihedralParameters__get_as_binary(self)
11275 
11276  def _set_from_binary(self, p):
11277  r"""_set_from_binary(CHARMMDihedralParameters self, PyObject * p)"""
11278  return _IMP_atom.CHARMMDihedralParameters__set_from_binary(self, p)
11279 
11280  def __getstate__(self):
11281  p = self._get_as_binary()
11282  if len(self.__dict__) > 1:
11283  d = self.__dict__.copy()
11284  del d['this']
11285  p = (d, p)
11286  return p
11287 
11288  def __setstate__(self, p):
11289  if not hasattr(self, 'this'):
11290  self.__init__()
11291  if isinstance(p, tuple):
11292  d, p = p
11293  self.__dict__.update(d)
11294  return self._set_from_binary(p)
11295 
11296  __swig_destroy__ = _IMP_atom.delete_CHARMMDihedralParameters
11297 
11298 # Register CHARMMDihedralParameters in _IMP_atom:
11299 _IMP_atom.CHARMMDihedralParameters_swigregister(CHARMMDihedralParameters)
11300 class CHARMMParameters(ForceFieldParameters):
11301  r"""Proxy of C++ IMP::atom::CHARMMParameters class."""
11302 
11303  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11304 
11305  def __init__(self, *args):
11306  r"""__init__(CHARMMParameters self, TextInput topology_file_name, TextInput par_file_name=IMP::TextInput(), bool translate_names_to_pdb=False) -> CHARMMParameters"""
11307  _IMP_atom.CHARMMParameters_swiginit(self, _IMP_atom.new_CHARMMParameters(*args))
11308 
11309  def add_residue_topology(self, res):
11310  r"""add_residue_topology(CHARMMParameters self, CHARMMIdealResidueTopology res)"""
11311  return _IMP_atom.CHARMMParameters_add_residue_topology(self, res)
11312 
11313  def get_residue_topology(self, type):
11314  r"""get_residue_topology(CHARMMParameters self, ResidueType type) -> CHARMMIdealResidueTopology"""
11315  return _IMP_atom.CHARMMParameters_get_residue_topology(self, type)
11316 
11317  def add_patch(self, patch):
11318  r"""add_patch(CHARMMParameters self, CHARMMPatch patch)"""
11319  return _IMP_atom.CHARMMParameters_add_patch(self, patch)
11320 
11321  def get_patch(self, name):
11322  r"""get_patch(CHARMMParameters self, std::string name) -> CHARMMPatch"""
11323  return _IMP_atom.CHARMMParameters_get_patch(self, name)
11324 
11325  def create_topology(self, hierarchy):
11326  r"""create_topology(CHARMMParameters self, Hierarchy hierarchy) -> CHARMMTopology"""
11327  return _IMP_atom.CHARMMParameters_create_topology(self, hierarchy)
11328 
11329  def get_bond_parameters(self, type1, type2):
11330  r"""get_bond_parameters(CHARMMParameters self, std::string type1, std::string type2) -> CHARMMBondParameters"""
11331  return _IMP_atom.CHARMMParameters_get_bond_parameters(self, type1, type2)
11332 
11333  def get_angle_parameters(self, type1, type2, type3):
11334  r"""get_angle_parameters(CHARMMParameters self, std::string type1, std::string type2, std::string type3) -> CHARMMBondParameters"""
11335  return _IMP_atom.CHARMMParameters_get_angle_parameters(self, type1, type2, type3)
11336 
11337  def get_dihedral_parameters(self, type1, type2, type3, type4):
11338  r"""get_dihedral_parameters(CHARMMParameters self, std::string type1, std::string type2, std::string type3, std::string type4) -> IMP::atom::CHARMMDihedralParametersList"""
11339  return _IMP_atom.CHARMMParameters_get_dihedral_parameters(self, type1, type2, type3, type4)
11340 
11341  def get_improper_parameters(self, type1, type2, type3, type4):
11342  r"""get_improper_parameters(CHARMMParameters self, std::string type1, std::string type2, std::string type3, std::string type4) -> CHARMMDihedralParameters"""
11343  return _IMP_atom.CHARMMParameters_get_improper_parameters(self, type1, type2, type3, type4)
11344 
11345  def create_angles(self, bonds):
11346  r"""create_angles(CHARMMParameters self, IMP::Particles bonds) -> IMP::Particles"""
11347  return _IMP_atom.CHARMMParameters_create_angles(self, bonds)
11348 
11349  def create_dihedrals(self, bonds):
11350  r"""create_dihedrals(CHARMMParameters self, IMP::Particles bonds) -> IMP::Particles"""
11351  return _IMP_atom.CHARMMParameters_create_dihedrals(self, bonds)
11352 
11353  def get_version_info(self):
11354  r"""get_version_info(CHARMMParameters self) -> VersionInfo"""
11355  return _IMP_atom.CHARMMParameters_get_version_info(self)
11356  __swig_destroy__ = _IMP_atom.delete_CHARMMParameters
11357 
11358  def __str__(self):
11359  r"""__str__(CHARMMParameters self) -> std::string"""
11360  return _IMP_atom.CHARMMParameters___str__(self)
11361 
11362  def __repr__(self):
11363  r"""__repr__(CHARMMParameters self) -> std::string"""
11364  return _IMP_atom.CHARMMParameters___repr__(self)
11365 
11366  @staticmethod
11367  def get_from(o):
11368  return _object_cast_to_CHARMMParameters(o)
11369 
11370 
11371 # Register CHARMMParameters in _IMP_atom:
11372 _IMP_atom.CHARMMParameters_swigregister(CHARMMParameters)
11373 
11375  r"""get_heavy_atom_CHARMM_parameters() -> CHARMMParameters"""
11376  return _IMP_atom.get_heavy_atom_CHARMM_parameters()
11377 
11379  r"""get_all_atom_CHARMM_parameters() -> CHARMMParameters"""
11380  return _IMP_atom.get_all_atom_CHARMM_parameters()
11381 class CHARMMSegmentTopology(IMP.Object):
11382  r"""Proxy of C++ IMP::atom::CHARMMSegmentTopology class."""
11383 
11384  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11385  def __get_residues(self): return IMP._list_util.VarList(getdimfunc=self.get_number_of_residues, getfunc=self.get_residue, erasefunc=self.erase_residue, appendfunc=self.add_residue, extendfunc=self.add_residues, clearfunc=self.clear_residues, indexfunc=self._python_index_residue)
11386  def __set_residues(self, obj): IMP._list_util.set_varlist(self.residues, obj)
11387  def __del_residues(self): IMP._list_util.del_varlist(self.residues)
11388  residues = property(__get_residues, __set_residues, __del_residues, doc="List of ##ucnames")
11389 
11390  def remove_residue(self, d):
11391  r"""remove_residue(CHARMMSegmentTopology self, CHARMMResidueTopology d)"""
11392  return _IMP_atom.CHARMMSegmentTopology_remove_residue(self, d)
11393 
11394  def _python_index_residue(self, d, start, stop):
11395  r"""_python_index_residue(CHARMMSegmentTopology self, CHARMMResidueTopology d, unsigned int start, unsigned int stop) -> unsigned int"""
11396  return _IMP_atom.CHARMMSegmentTopology__python_index_residue(self, d, start, stop)
11397 
11398  def remove_residues(self, d):
11399  r"""remove_residues(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & d)"""
11400  return _IMP_atom.CHARMMSegmentTopology_remove_residues(self, d)
11401 
11402  def set_residues(self, ps):
11403  r"""set_residues(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & ps)"""
11404  return _IMP_atom.CHARMMSegmentTopology_set_residues(self, ps)
11405 
11406  def set_residues_order(self, objs):
11407  r"""set_residues_order(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & objs)"""
11408  return _IMP_atom.CHARMMSegmentTopology_set_residues_order(self, objs)
11409 
11410  def add_residue(self, obj):
11411  r"""add_residue(CHARMMSegmentTopology self, CHARMMResidueTopology obj) -> unsigned int"""
11412  return _IMP_atom.CHARMMSegmentTopology_add_residue(self, obj)
11413 
11414  def add_residues(self, objs):
11415  r"""add_residues(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & objs)"""
11416  return _IMP_atom.CHARMMSegmentTopology_add_residues(self, objs)
11417 
11418  def clear_residues(self):
11419  r"""clear_residues(CHARMMSegmentTopology self)"""
11420  return _IMP_atom.CHARMMSegmentTopology_clear_residues(self)
11421 
11422  def get_number_of_residues(self):
11423  r"""get_number_of_residues(CHARMMSegmentTopology self) -> unsigned int"""
11424  return _IMP_atom.CHARMMSegmentTopology_get_number_of_residues(self)
11425 
11426  def get_has_residues(self):
11427  r"""get_has_residues(CHARMMSegmentTopology self) -> bool"""
11428  return _IMP_atom.CHARMMSegmentTopology_get_has_residues(self)
11429 
11430  def get_residue(self, i):
11431  r"""get_residue(CHARMMSegmentTopology self, unsigned int i) -> CHARMMResidueTopology"""
11432  return _IMP_atom.CHARMMSegmentTopology_get_residue(self, i)
11433 
11434  def get_residues(self):
11435  r"""get_residues(CHARMMSegmentTopology self) -> IMP::atom::CHARMMResidueTopologies"""
11436  return _IMP_atom.CHARMMSegmentTopology_get_residues(self)
11437 
11438  def erase_residue(self, i):
11439  r"""erase_residue(CHARMMSegmentTopology self, unsigned int i)"""
11440  return _IMP_atom.CHARMMSegmentTopology_erase_residue(self, i)
11441 
11442  def reserve_residues(self, sz):
11443  r"""reserve_residues(CHARMMSegmentTopology self, unsigned int sz)"""
11444  return _IMP_atom.CHARMMSegmentTopology_reserve_residues(self, sz)
11445 
11446  def get_version_info(self):
11447  r"""get_version_info(CHARMMSegmentTopology self) -> VersionInfo"""
11448  return _IMP_atom.CHARMMSegmentTopology_get_version_info(self)
11449  __swig_destroy__ = _IMP_atom.delete_CHARMMSegmentTopology
11450 
11451  def __init__(self, *args):
11452  r"""__init__(CHARMMSegmentTopology self, std::string name="CHARMM segment topology %1%") -> CHARMMSegmentTopology"""
11453  _IMP_atom.CHARMMSegmentTopology_swiginit(self, _IMP_atom.new_CHARMMSegmentTopology(*args))
11454 
11455  def apply_default_patches(self, ff):
11456  r"""apply_default_patches(CHARMMSegmentTopology self, CHARMMParameters ff)"""
11457  return _IMP_atom.CHARMMSegmentTopology_apply_default_patches(self, ff)
11458 
11459  def __str__(self):
11460  r"""__str__(CHARMMSegmentTopology self) -> std::string"""
11461  return _IMP_atom.CHARMMSegmentTopology___str__(self)
11462 
11463  def __repr__(self):
11464  r"""__repr__(CHARMMSegmentTopology self) -> std::string"""
11465  return _IMP_atom.CHARMMSegmentTopology___repr__(self)
11466 
11467  @staticmethod
11468  def get_from(o):
11469  return _object_cast_to_CHARMMSegmentTopology(o)
11470 
11471 
11472 # Register CHARMMSegmentTopology in _IMP_atom:
11473 _IMP_atom.CHARMMSegmentTopology_swigregister(CHARMMSegmentTopology)
11474 class CHARMMTopology(IMP.Object):
11475  r"""Proxy of C++ IMP::atom::CHARMMTopology class."""
11476 
11477  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11478 
11479  def __init__(self, *args):
11480  r"""__init__(CHARMMTopology self, CHARMMParameters force_field, std::string name="CHARMM topology %1%") -> CHARMMTopology"""
11481  _IMP_atom.CHARMMTopology_swiginit(self, _IMP_atom.new_CHARMMTopology(*args))
11482 
11483  def get_parameters(self):
11484  r"""get_parameters(CHARMMTopology self) -> CHARMMParameters"""
11485  return _IMP_atom.CHARMMTopology_get_parameters(self)
11486 
11487  def add_sequence(self, sequence):
11488  r"""add_sequence(CHARMMTopology self, std::string sequence)"""
11489  return _IMP_atom.CHARMMTopology_add_sequence(self, sequence)
11490 
11491  def apply_default_patches(self):
11492  r"""apply_default_patches(CHARMMTopology self)"""
11493  return _IMP_atom.CHARMMTopology_apply_default_patches(self)
11494 
11495  def create_hierarchy(self, model):
11496  r"""create_hierarchy(CHARMMTopology self, Model model) -> Hierarchy"""
11497  return _IMP_atom.CHARMMTopology_create_hierarchy(self, model)
11498 
11499  def add_atom_types(self, hierarchy):
11500  r"""add_atom_types(CHARMMTopology self, Hierarchy hierarchy)"""
11501  return _IMP_atom.CHARMMTopology_add_atom_types(self, hierarchy)
11502 
11503  def add_coordinates(self, hierarchy):
11504  r"""add_coordinates(CHARMMTopology self, Hierarchy hierarchy)"""
11505  return _IMP_atom.CHARMMTopology_add_coordinates(self, hierarchy)
11506 
11507  def add_missing_atoms(self, hierarchy):
11508  r"""add_missing_atoms(CHARMMTopology self, Hierarchy hierarchy)"""
11509  return _IMP_atom.CHARMMTopology_add_missing_atoms(self, hierarchy)
11510 
11511  def setup_hierarchy(self, hierarchy):
11512  r"""setup_hierarchy(CHARMMTopology self, Hierarchy hierarchy)"""
11513  return _IMP_atom.CHARMMTopology_setup_hierarchy(self, hierarchy)
11514 
11515  def add_charges(self, hierarchy):
11516  r"""add_charges(CHARMMTopology self, Hierarchy hierarchy)"""
11517  return _IMP_atom.CHARMMTopology_add_charges(self, hierarchy)
11518 
11519  def add_bonds(self, hierarchy):
11520  r"""add_bonds(CHARMMTopology self, Hierarchy hierarchy) -> IMP::Particles"""
11521  return _IMP_atom.CHARMMTopology_add_bonds(self, hierarchy)
11522 
11523  def add_dihedrals(self, hierarchy):
11524  r"""add_dihedrals(CHARMMTopology self, Hierarchy hierarchy) -> IMP::Particles"""
11525  return _IMP_atom.CHARMMTopology_add_dihedrals(self, hierarchy)
11526 
11527  def add_impropers(self, hierarchy):
11528  r"""add_impropers(CHARMMTopology self, Hierarchy hierarchy) -> IMP::Particles"""
11529  return _IMP_atom.CHARMMTopology_add_impropers(self, hierarchy)
11530  def __get_segments(self): return IMP._list_util.VarList(getdimfunc=self.get_number_of_segments, getfunc=self.get_segment, erasefunc=self.erase_segment, appendfunc=self.add_segment, extendfunc=self.add_segments, clearfunc=self.clear_segments, indexfunc=self._python_index_segment)
11531  def __set_segments(self, obj): IMP._list_util.set_varlist(self.segments, obj)
11532  def __del_segments(self): IMP._list_util.del_varlist(self.segments)
11533  segments = property(__get_segments, __set_segments, __del_segments, doc="List of ##ucnames")
11534 
11535  def remove_segment(self, d):
11536  r"""remove_segment(CHARMMTopology self, CHARMMSegmentTopology d)"""
11537  return _IMP_atom.CHARMMTopology_remove_segment(self, d)
11538 
11539  def _python_index_segment(self, d, start, stop):
11540  r"""_python_index_segment(CHARMMTopology self, CHARMMSegmentTopology d, unsigned int start, unsigned int stop) -> unsigned int"""
11541  return _IMP_atom.CHARMMTopology__python_index_segment(self, d, start, stop)
11542 
11543  def remove_segments(self, d):
11544  r"""remove_segments(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & d)"""
11545  return _IMP_atom.CHARMMTopology_remove_segments(self, d)
11546 
11547  def set_segments(self, ps):
11548  r"""set_segments(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & ps)"""
11549  return _IMP_atom.CHARMMTopology_set_segments(self, ps)
11550 
11551  def set_segments_order(self, objs):
11552  r"""set_segments_order(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & objs)"""
11553  return _IMP_atom.CHARMMTopology_set_segments_order(self, objs)
11554 
11555  def add_segment(self, obj):
11556  r"""add_segment(CHARMMTopology self, CHARMMSegmentTopology obj) -> unsigned int"""
11557  return _IMP_atom.CHARMMTopology_add_segment(self, obj)
11558 
11559  def add_segments(self, objs):
11560  r"""add_segments(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & objs)"""
11561  return _IMP_atom.CHARMMTopology_add_segments(self, objs)
11562 
11563  def clear_segments(self):
11564  r"""clear_segments(CHARMMTopology self)"""
11565  return _IMP_atom.CHARMMTopology_clear_segments(self)
11566 
11567  def get_number_of_segments(self):
11568  r"""get_number_of_segments(CHARMMTopology self) -> unsigned int"""
11569  return _IMP_atom.CHARMMTopology_get_number_of_segments(self)
11570 
11571  def get_has_segments(self):
11572  r"""get_has_segments(CHARMMTopology self) -> bool"""
11573  return _IMP_atom.CHARMMTopology_get_has_segments(self)
11574 
11575  def get_segment(self, i):
11576  r"""get_segment(CHARMMTopology self, unsigned int i) -> CHARMMSegmentTopology"""
11577  return _IMP_atom.CHARMMTopology_get_segment(self, i)
11578 
11579  def get_segments(self):
11580  r"""get_segments(CHARMMTopology self) -> IMP::atom::CHARMMSegmentTopologies"""
11581  return _IMP_atom.CHARMMTopology_get_segments(self)
11582 
11583  def erase_segment(self, i):
11584  r"""erase_segment(CHARMMTopology self, unsigned int i)"""
11585  return _IMP_atom.CHARMMTopology_erase_segment(self, i)
11586 
11587  def reserve_segments(self, sz):
11588  r"""reserve_segments(CHARMMTopology self, unsigned int sz)"""
11589  return _IMP_atom.CHARMMTopology_reserve_segments(self, sz)
11590 
11591  def get_version_info(self):
11592  r"""get_version_info(CHARMMTopology self) -> VersionInfo"""
11593  return _IMP_atom.CHARMMTopology_get_version_info(self)
11594  __swig_destroy__ = _IMP_atom.delete_CHARMMTopology
11595 
11596  def __str__(self):
11597  r"""__str__(CHARMMTopology self) -> std::string"""
11598  return _IMP_atom.CHARMMTopology___str__(self)
11599 
11600  def __repr__(self):
11601  r"""__repr__(CHARMMTopology self) -> std::string"""
11602  return _IMP_atom.CHARMMTopology___repr__(self)
11603 
11604  @staticmethod
11605  def get_from(o):
11606  return _object_cast_to_CHARMMTopology(o)
11607 
11608 
11609 # Register CHARMMTopology in _IMP_atom:
11610 _IMP_atom.CHARMMTopology_swigregister(CHARMMTopology)
11611 class CHARMMStereochemistryRestraint(IMP.Restraint):
11612  r"""Proxy of C++ IMP::atom::CHARMMStereochemistryRestraint class."""
11613 
11614  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11615 
11616  def __init__(self, *args):
11617  r"""
11618  __init__(CHARMMStereochemistryRestraint self, Hierarchy h, CHARMMTopology topology) -> CHARMMStereochemistryRestraint
11619  __init__(CHARMMStereochemistryRestraint self, Hierarchy h, CHARMMTopology topology, IMP::ParticlesTemp limit_to_these_particles) -> CHARMMStereochemistryRestraint
11620  """
11621  _IMP_atom.CHARMMStereochemistryRestraint_swiginit(self, _IMP_atom.new_CHARMMStereochemistryRestraint(*args))
11622 
11623  def get_pair_filter(self):
11624  r"""get_pair_filter(CHARMMStereochemistryRestraint self) -> StereochemistryPairFilter"""
11625  return _IMP_atom.CHARMMStereochemistryRestraint_get_pair_filter(self)
11626 
11627  def get_full_pair_filter(self):
11628  r"""get_full_pair_filter(CHARMMStereochemistryRestraint self) -> StereochemistryPairFilter"""
11629  return _IMP_atom.CHARMMStereochemistryRestraint_get_full_pair_filter(self)
11630 
11631  def do_get_inputs(self):
11632  r"""do_get_inputs(CHARMMStereochemistryRestraint self) -> IMP::ModelObjectsTemp"""
11633  return _IMP_atom.CHARMMStereochemistryRestraint_do_get_inputs(self)
11634 
11635  def get_version_info(self):
11636  r"""get_version_info(CHARMMStereochemistryRestraint self) -> VersionInfo"""
11637  return _IMP_atom.CHARMMStereochemistryRestraint_get_version_info(self)
11638  __swig_destroy__ = _IMP_atom.delete_CHARMMStereochemistryRestraint
11639 
11640  def __str__(self):
11641  r"""__str__(CHARMMStereochemistryRestraint self) -> std::string"""
11642  return _IMP_atom.CHARMMStereochemistryRestraint___str__(self)
11643 
11644  def __repr__(self):
11645  r"""__repr__(CHARMMStereochemistryRestraint self) -> std::string"""
11646  return _IMP_atom.CHARMMStereochemistryRestraint___repr__(self)
11647 
11648  @staticmethod
11649  def get_from(o):
11650  return _object_cast_to_CHARMMStereochemistryRestraint(o)
11651 
11652 
11653 # Register CHARMMStereochemistryRestraint in _IMP_atom:
11654 _IMP_atom.CHARMMStereochemistryRestraint_swigregister(CHARMMStereochemistryRestraint)
11655 
11656 def add_bonds(*args):
11657  r"""add_bonds(Hierarchy d, ForceFieldParameters ffp=IMP::atom::get_all_atom_CHARMM_parameters())"""
11658  return _IMP_atom.add_bonds(*args)
11659 
11660 def add_radii(*args):
11661  r"""add_radii(Hierarchy d, ForceFieldParameters ffp=IMP::atom::get_all_atom_CHARMM_parameters(), FloatKey radius_key=IMP::FloatKey("radius"))"""
11662  return _IMP_atom.add_radii(*args)
11663 ALBER = _IMP_atom.ALBER
11664 
11665 HARPAZ = _IMP_atom.HARPAZ
11666 
11667 ANDERSSON = _IMP_atom.ANDERSSON
11668 
11669 TSAI = _IMP_atom.TSAI
11670 
11671 QUILLIN = _IMP_atom.QUILLIN
11672 
11673 SQUIRE = _IMP_atom.SQUIRE
11674 
11675 
11676 def get_protein_density_from_reference(densityReference):
11677  r"""get_protein_density_from_reference(IMP::atom::ProteinDensityReference densityReference) -> double"""
11678  return _IMP_atom.get_protein_density_from_reference(densityReference)
11679 
11680 def get_volume_from_mass(*args):
11681  r"""get_volume_from_mass(double m, IMP::atom::ProteinDensityReference ref=ALBER) -> double"""
11682  return _IMP_atom.get_volume_from_mass(*args)
11683 
11684 def get_mass_from_volume(*args):
11685  r"""get_mass_from_volume(double v, IMP::atom::ProteinDensityReference ref=ALBER) -> double"""
11686  return _IMP_atom.get_mass_from_volume(*args)
11687 
11689  r"""get_mass_from_number_of_residues(unsigned int num_aa) -> double"""
11690  return _IMP_atom.get_mass_from_number_of_residues(num_aa)
11691 
11693  r"""get_volume_from_residue_type(ResidueType rt) -> double"""
11694  return _IMP_atom.get_volume_from_residue_type(rt)
11695 
11696 def get_molarity(n, volume):
11697  r"""get_molarity(double n, double volume) -> double"""
11698  return _IMP_atom.get_molarity(n, volume)
11699 
11700 def get_kd(na, nb, nab, volume):
11701  r"""get_kd(double na, double nb, double nab, double volume) -> double"""
11702  return _IMP_atom.get_kd(na, nb, nab, volume)
11703 
11704 def get_einstein_diffusion_coefficient(r, temp=-1):
11705  r"""get_einstein_diffusion_coefficient(double r, double temp=-1) -> double"""
11706  return _IMP_atom.get_einstein_diffusion_coefficient(r, temp)
11707 
11709  r"""get_einstein_rotational_diffusion_coefficient(double r, double temp=-1) -> double"""
11710  return _IMP_atom.get_einstein_rotational_diffusion_coefficient(r, temp)
11711 
11712 def get_diffusion_length(*args):
11713  r"""
11714  get_diffusion_length(double D, double t) -> double
11715  get_diffusion_length(double D, double force, double t, double temp=-1) -> double
11716  """
11717  return _IMP_atom.get_diffusion_length(*args)
11718 
11719 def get_diffusion_angle(D, dtfs):
11720  r"""get_diffusion_angle(double D, double dtfs) -> double"""
11721  return _IMP_atom.get_diffusion_angle(D, dtfs)
11722 
11723 def get_diffusion_coefficient(*args):
11724  r"""
11725  get_diffusion_coefficient(IMP::algebra::Vector3Ds const & displacements, double dt) -> double
11726  get_diffusion_coefficient(IMP::algebra::Vector3Ds const & displacements, IMP::Floats const & dts) -> double
11727  """
11728  return _IMP_atom.get_diffusion_coefficient(*args)
11729 
11730 def get_rotational_diffusion_coefficient(orientations, dt):
11731  r"""get_rotational_diffusion_coefficient(IMP::algebra::Rotation3Ds const & orientations, double dt) -> double"""
11732  return _IMP_atom.get_rotational_diffusion_coefficient(orientations, dt)
11733 
11734 def get_energy_in_femto_joules(energy_in_kcal_per_mol):
11735  r"""get_energy_in_femto_joules(double energy_in_kcal_per_mol) -> double"""
11736  return _IMP_atom.get_energy_in_femto_joules(energy_in_kcal_per_mol)
11737 
11738 def get_force_in_femto_newtons(force_in_kcal_per_mol_per_angstrom):
11739  r"""get_force_in_femto_newtons(double force_in_kcal_per_mol_per_angstrom) -> double"""
11740  return _IMP_atom.get_force_in_femto_newtons(force_in_kcal_per_mol_per_angstrom)
11741 
11742 def get_spring_constant_in_femto_newtons_per_angstrom(k_in_kcal_per_mol_per_angstrom_square):
11743  r"""get_spring_constant_in_femto_newtons_per_angstrom(double k_in_kcal_per_mol_per_angstrom_square) -> double"""
11744  return _IMP_atom.get_spring_constant_in_femto_newtons_per_angstrom(k_in_kcal_per_mol_per_angstrom_square)
11745 class EzRestraint(IMP.Restraint):
11746  r"""Proxy of C++ IMP::atom::EzRestraint class."""
11747 
11748  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11749 
11750  def __init__(self, m, ps):
11751  r"""__init__(EzRestraint self, Model m, _ParticleIndexesAdaptor ps) -> EzRestraint"""
11752  _IMP_atom.EzRestraint_swiginit(self, _IMP_atom.new_EzRestraint(m, ps))
11753 
11754  def get_version_info(self):
11755  r"""get_version_info(EzRestraint self) -> VersionInfo"""
11756  return _IMP_atom.EzRestraint_get_version_info(self)
11757  __swig_destroy__ = _IMP_atom.delete_EzRestraint
11758 
11759  def __str__(self):
11760  r"""__str__(EzRestraint self) -> std::string"""
11761  return _IMP_atom.EzRestraint___str__(self)
11762 
11763  def __repr__(self):
11764  r"""__repr__(EzRestraint self) -> std::string"""
11765  return _IMP_atom.EzRestraint___repr__(self)
11766 
11767  @staticmethod
11768  def get_from(o):
11769  return _object_cast_to_EzRestraint(o)
11770 
11771 
11772 # Register EzRestraint in _IMP_atom:
11773 _IMP_atom.EzRestraint_swigregister(EzRestraint)
11774 
11775 def create_protein(*args):
11776  r"""
11777  create_protein(Model m, std::string name, double target_radius, int number_of_residues, int first_residue_index=0, double volume=-1, bool ismol=True) -> Hierarchy
11778  create_protein(Model m, std::string name, double target_radius, IMP::Ints const domain_boundaries) -> Hierarchy
11779  """
11780  return _IMP_atom.create_protein(*args)
11781 
11783  r"""
11784  create_simplified_along_backbone(Hierarchy input, int num_res, bool keep_detailed=False) -> Hierarchy
11785  create_simplified_along_backbone(Chain input, IMP::IntRanges const & residue_segments, bool keep_detailed=False) -> Hierarchy
11786  """
11787  return _IMP_atom.create_simplified_along_backbone(*args)
11788 
11789 def create_simplified_from_volume(h, resolution):
11790  r"""create_simplified_from_volume(Hierarchy h, double resolution) -> Hierarchy"""
11791  return _IMP_atom.create_simplified_from_volume(h, resolution)
11792 
11793 def create_simplified_assembly_from_volume(h, resolution):
11794  r"""create_simplified_assembly_from_volume(Hierarchy h, double resolution) -> Hierarchy"""
11795  return _IMP_atom.create_simplified_assembly_from_volume(h, resolution)
11796 
11797 def get_residue_indexes(h):
11798  r"""get_residue_indexes(Hierarchy h) -> IMP::Ints"""
11799  return _IMP_atom.get_residue_indexes(h)
11800 
11801 def get_residue_type(*args):
11802  r"""
11803  get_residue_type(char c) -> ResidueType
11804  get_residue_type(Hierarchy h) -> ResidueType
11805  """
11806  return _IMP_atom.get_residue_type(*args)
11807 
11808 def get_atom_type(h):
11809  r"""get_atom_type(Hierarchy h) -> AtomType"""
11810  return _IMP_atom.get_atom_type(h)
11811 
11812 def get_domain_name(h):
11813  r"""get_domain_name(Hierarchy h) -> std::string"""
11814  return _IMP_atom.get_domain_name(h)
11815 
11817  r"""
11818  create_excluded_volume_restraint(IMP::atom::Selections const & s) -> Restraint
11819  create_excluded_volume_restraint(IMP::atom::Hierarchies const & hs, double resolution=-1) -> Restraint
11820  """
11821  return _IMP_atom.create_excluded_volume_restraint(*args)
11822 
11823 def setup_as_approximation(*args):
11824  r"""
11825  setup_as_approximation(Particle h, IMP::ParticlesTemp const & other, double resolution=-1)
11826  setup_as_approximation(Hierarchy h, double resolution=-1)
11827  """
11828  return _IMP_atom.setup_as_approximation(*args)
11829 class _HierarchyTreeVertexIndex(object):
11830  r"""Proxy of C++ IMP::atom::HierarchyTreeVertexIndex class."""
11831 
11832  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11833  __repr__ = _swig_repr
11834 
11835  def __init__(self):
11836  r"""__init__(_HierarchyTreeVertexIndex self) -> _HierarchyTreeVertexIndex"""
11837  _IMP_atom._HierarchyTreeVertexIndex_swiginit(self, _IMP_atom.new__HierarchyTreeVertexIndex())
11838  __swig_destroy__ = _IMP_atom.delete__HierarchyTreeVertexIndex
11839 
11840 # Register _HierarchyTreeVertexIndex in _IMP_atom:
11841 _IMP_atom._HierarchyTreeVertexIndex_swigregister(_HierarchyTreeVertexIndex)
11842 
11843 def show_as_graphviz(name, out):
11844  r"""show_as_graphviz(IMP::atom::HierarchyTree const & name, TextOutput out)"""
11845  return _IMP_atom.show_as_graphviz(name, out)
11846 
11847 def get_vertex_index(g):
11848  r"""get_vertex_index(IMP::atom::HierarchyTree const & g) -> _HierarchyTreeVertexIndex"""
11849  return _IMP_atom.get_vertex_index(g)
11850 
11851 def get_hierarchy_tree(h):
11852  r"""get_hierarchy_tree(Hierarchy h) -> IMP::atom::HierarchyTree"""
11853  return _IMP_atom.get_hierarchy_tree(h)
11854 class HierarchyGeometry(IMP.display.SingletonGeometry):
11855  r"""Proxy of C++ IMP::atom::HierarchyGeometry class."""
11856 
11857  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11858 
11859  def __init__(self, d, resolution=0):
11860  r"""__init__(HierarchyGeometry self, Hierarchy d, double resolution=0) -> HierarchyGeometry"""
11861  _IMP_atom.HierarchyGeometry_swiginit(self, _IMP_atom.new_HierarchyGeometry(d, resolution))
11862 
11863  def get_version_info(self):
11864  r"""get_version_info(HierarchyGeometry self) -> VersionInfo"""
11865  return _IMP_atom.HierarchyGeometry_get_version_info(self)
11866  __swig_destroy__ = _IMP_atom.delete_HierarchyGeometry
11867 
11868  def __str__(self):
11869  r"""__str__(HierarchyGeometry self) -> std::string"""
11870  return _IMP_atom.HierarchyGeometry___str__(self)
11871 
11872  def __repr__(self):
11873  r"""__repr__(HierarchyGeometry self) -> std::string"""
11874  return _IMP_atom.HierarchyGeometry___repr__(self)
11875 
11876  @staticmethod
11877  def get_from(o):
11878  return _object_cast_to_HierarchyGeometry(o)
11879 
11880 
11881 # Register HierarchyGeometry in _IMP_atom:
11882 _IMP_atom.HierarchyGeometry_swigregister(HierarchyGeometry)
11883 class HierarchiesGeometry(IMP.display.SingletonsGeometry):
11884  r"""Proxy of C++ IMP::atom::HierarchiesGeometry class."""
11885 
11886  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11887 
11888  def __init__(self, sc, resolution=-1):
11889  r"""__init__(HierarchiesGeometry self, SingletonContainer sc, double resolution=-1) -> HierarchiesGeometry"""
11890  _IMP_atom.HierarchiesGeometry_swiginit(self, _IMP_atom.new_HierarchiesGeometry(sc, resolution))
11891 
11892  def get_version_info(self):
11893  r"""get_version_info(HierarchiesGeometry self) -> VersionInfo"""
11894  return _IMP_atom.HierarchiesGeometry_get_version_info(self)
11895  __swig_destroy__ = _IMP_atom.delete_HierarchiesGeometry
11896 
11897  def __str__(self):
11898  r"""__str__(HierarchiesGeometry self) -> std::string"""
11899  return _IMP_atom.HierarchiesGeometry___str__(self)
11900 
11901  def __repr__(self):
11902  r"""__repr__(HierarchiesGeometry self) -> std::string"""
11903  return _IMP_atom.HierarchiesGeometry___repr__(self)
11904 
11905  @staticmethod
11906  def get_from(o):
11907  return _object_cast_to_HierarchiesGeometry(o)
11908 
11909 
11910 # Register HierarchiesGeometry in _IMP_atom:
11911 _IMP_atom.HierarchiesGeometry_swigregister(HierarchiesGeometry)
11912 
11913 def transform(*args):
11914  r"""
11915  transform(Hierarchy h, Transformation3D tr)
11916  transform(Hierarchy h, Transformation3D tr)
11917  """
11918  return _IMP_atom.transform(*args)
11919 class DopePairScore(_ADopeBase):
11920  r"""Proxy of C++ IMP::atom::DopePairScore class."""
11921 
11922  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11923 
11924  def __init__(self, *args):
11925  r"""
11926  __init__(DopePairScore self, double threshold=std::numeric_limits< double >::max()) -> DopePairScore
11927  __init__(DopePairScore self, double threshold, TextInput data_file) -> DopePairScore
11928  """
11929  _IMP_atom.DopePairScore_swiginit(self, _IMP_atom.new_DopePairScore(*args))
11930 
11931  def __str__(self):
11932  r"""__str__(DopePairScore self) -> std::string"""
11933  return _IMP_atom.DopePairScore___str__(self)
11934 
11935  def __repr__(self):
11936  r"""__repr__(DopePairScore self) -> std::string"""
11937  return _IMP_atom.DopePairScore___repr__(self)
11938 
11939  @staticmethod
11940  def get_from(o):
11941  return _object_cast_to_DopePairScore(o)
11942 
11943  __swig_destroy__ = _IMP_atom.delete_DopePairScore
11944 
11945 # Register DopePairScore in _IMP_atom:
11946 _IMP_atom.DopePairScore_swigregister(DopePairScore)
11947 
11948 def add_dope_score_data(h):
11949  r"""add_dope_score_data(Hierarchy h)"""
11950  return _IMP_atom.add_dope_score_data(h)
11951 class LoopStatisticalPairScore(_ALoopStatisticalBase):
11952  r"""Proxy of C++ IMP::atom::LoopStatisticalPairScore class."""
11953 
11954  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11955 
11956  def __init__(self, *args):
11957  r"""
11958  __init__(LoopStatisticalPairScore self, double threshold=std::numeric_limits< double >::max()) -> LoopStatisticalPairScore
11959  __init__(LoopStatisticalPairScore self, double threshold, TextInput data_file) -> LoopStatisticalPairScore
11960  """
11961  _IMP_atom.LoopStatisticalPairScore_swiginit(self, _IMP_atom.new_LoopStatisticalPairScore(*args))
11962 
11963  def __str__(self):
11964  r"""__str__(LoopStatisticalPairScore self) -> std::string"""
11965  return _IMP_atom.LoopStatisticalPairScore___str__(self)
11966 
11967  def __repr__(self):
11968  r"""__repr__(LoopStatisticalPairScore self) -> std::string"""
11969  return _IMP_atom.LoopStatisticalPairScore___repr__(self)
11970 
11971  @staticmethod
11972  def get_from(o):
11973  return _object_cast_to_LoopStatisticalPairScore(o)
11974 
11975  __swig_destroy__ = _IMP_atom.delete_LoopStatisticalPairScore
11976 
11977 # Register LoopStatisticalPairScore in _IMP_atom:
11978 _IMP_atom.LoopStatisticalPairScore_swigregister(LoopStatisticalPairScore)
11979 
11981  r"""add_loop_statistical_score_data(Hierarchy h)"""
11982  return _IMP_atom.add_loop_statistical_score_data(h)
11983 class OrientedSoapPairScore(_OrientedSoapBase):
11984  r"""Proxy of C++ IMP::atom::OrientedSoapPairScore class."""
11985 
11986  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11987 
11988  def __init__(self, library):
11989  r"""__init__(OrientedSoapPairScore self, std::string library) -> OrientedSoapPairScore"""
11990  _IMP_atom.OrientedSoapPairScore_swiginit(self, _IMP_atom.new_OrientedSoapPairScore(library))
11991 
11992  def get_pair_filter(self):
11993  r"""get_pair_filter(OrientedSoapPairScore self) -> SoapPairFilter"""
11994  return _IMP_atom.OrientedSoapPairScore_get_pair_filter(self)
11995 
11996  def __str__(self):
11997  r"""__str__(OrientedSoapPairScore self) -> std::string"""
11998  return _IMP_atom.OrientedSoapPairScore___str__(self)
11999 
12000  def __repr__(self):
12001  r"""__repr__(OrientedSoapPairScore self) -> std::string"""
12002  return _IMP_atom.OrientedSoapPairScore___repr__(self)
12003 
12004  @staticmethod
12005  def get_from(o):
12006  return _object_cast_to_OrientedSoapPairScore(o)
12007 
12008  __swig_destroy__ = _IMP_atom.delete_OrientedSoapPairScore
12009 
12010 # Register OrientedSoapPairScore in _IMP_atom:
12011 _IMP_atom.OrientedSoapPairScore_swigregister(OrientedSoapPairScore)
12012 class SameResiduePairFilter(IMP.PairPredicate):
12013  r"""Proxy of C++ IMP::atom::SameResiduePairFilter class."""
12014 
12015  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12016 
12017  def __init__(self):
12018  r"""__init__(SameResiduePairFilter self) -> SameResiduePairFilter"""
12019  _IMP_atom.SameResiduePairFilter_swiginit(self, _IMP_atom.new_SameResiduePairFilter())
12020 
12021  def do_get_inputs(self, m, pis):
12022  r"""do_get_inputs(SameResiduePairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12023  return _IMP_atom.SameResiduePairFilter_do_get_inputs(self, m, pis)
12024 
12025  def get_value(self, *args):
12026  r"""
12027  get_value(SameResiduePairFilter self, IMP::ParticlePair const & a) -> int
12028  get_value(SameResiduePairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12029  """
12030  return _IMP_atom.SameResiduePairFilter_get_value(self, *args)
12031 
12032  def get_value_index(self, *args):
12033  r"""
12034  get_value_index(SameResiduePairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
12035  get_value_index(SameResiduePairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12036  """
12037  return _IMP_atom.SameResiduePairFilter_get_value_index(self, *args)
12038 
12039  def get_version_info(self):
12040  r"""get_version_info(SameResiduePairFilter self) -> VersionInfo"""
12041  return _IMP_atom.SameResiduePairFilter_get_version_info(self)
12042  __swig_destroy__ = _IMP_atom.delete_SameResiduePairFilter
12043 
12044  def __str__(self):
12045  r"""__str__(SameResiduePairFilter self) -> std::string"""
12046  return _IMP_atom.SameResiduePairFilter___str__(self)
12047 
12048  def __repr__(self):
12049  r"""__repr__(SameResiduePairFilter self) -> std::string"""
12050  return _IMP_atom.SameResiduePairFilter___repr__(self)
12051 
12052  @staticmethod
12053  def get_from(o):
12054  return _object_cast_to_SameResiduePairFilter(o)
12055 
12056 
12057 # Register SameResiduePairFilter in _IMP_atom:
12058 _IMP_atom.SameResiduePairFilter_swigregister(SameResiduePairFilter)
12059 class RemoveRigidMotionOptimizerState(IMP.OptimizerState):
12060  r"""Proxy of C++ IMP::atom::RemoveRigidMotionOptimizerState class."""
12061 
12062  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12063 
12064  def __init__(self, m, pis):
12065  r"""__init__(RemoveRigidMotionOptimizerState self, Model m, _ParticleIndexesAdaptor pis) -> RemoveRigidMotionOptimizerState"""
12066  _IMP_atom.RemoveRigidMotionOptimizerState_swiginit(self, _IMP_atom.new_RemoveRigidMotionOptimizerState(m, pis))
12067 
12068  def set_particles(self, pis):
12069  r"""set_particles(RemoveRigidMotionOptimizerState self, IMP::Particles const & pis)"""
12070  return _IMP_atom.RemoveRigidMotionOptimizerState_set_particles(self, pis)
12071 
12072  def remove_rigid_motion(self):
12073  r"""remove_rigid_motion(RemoveRigidMotionOptimizerState self)"""
12074  return _IMP_atom.RemoveRigidMotionOptimizerState_remove_rigid_motion(self)
12075 
12076  def get_version_info(self):
12077  r"""get_version_info(RemoveRigidMotionOptimizerState self) -> VersionInfo"""
12078  return _IMP_atom.RemoveRigidMotionOptimizerState_get_version_info(self)
12079  __swig_destroy__ = _IMP_atom.delete_RemoveRigidMotionOptimizerState
12080 
12081  def __str__(self):
12082  r"""__str__(RemoveRigidMotionOptimizerState self) -> std::string"""
12083  return _IMP_atom.RemoveRigidMotionOptimizerState___str__(self)
12084 
12085  def __repr__(self):
12086  r"""__repr__(RemoveRigidMotionOptimizerState self) -> std::string"""
12087  return _IMP_atom.RemoveRigidMotionOptimizerState___repr__(self)
12088 
12089  @staticmethod
12090  def get_from(o):
12091  return _object_cast_to_RemoveRigidMotionOptimizerState(o)
12092 
12093 
12094 # Register RemoveRigidMotionOptimizerState in _IMP_atom:
12095 _IMP_atom.RemoveRigidMotionOptimizerState_swigregister(RemoveRigidMotionOptimizerState)
12096 class BerendsenThermostatOptimizerState(IMP.OptimizerState):
12097  r"""Proxy of C++ IMP::atom::BerendsenThermostatOptimizerState class."""
12098 
12099  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12100 
12101  def __init__(self, pis, temperature, tau):
12102  r"""__init__(BerendsenThermostatOptimizerState self, IMP::Particles const & pis, double temperature, double tau) -> BerendsenThermostatOptimizerState"""
12103  _IMP_atom.BerendsenThermostatOptimizerState_swiginit(self, _IMP_atom.new_BerendsenThermostatOptimizerState(pis, temperature, tau))
12104 
12105  def set_particles(self, pis):
12106  r"""set_particles(BerendsenThermostatOptimizerState self, IMP::Particles const & pis)"""
12107  return _IMP_atom.BerendsenThermostatOptimizerState_set_particles(self, pis)
12108 
12109  def get_temperature(self):
12110  r"""get_temperature(BerendsenThermostatOptimizerState self) -> double"""
12111  return _IMP_atom.BerendsenThermostatOptimizerState_get_temperature(self)
12112 
12113  def get_tau(self):
12114  r"""get_tau(BerendsenThermostatOptimizerState self) -> double"""
12115  return _IMP_atom.BerendsenThermostatOptimizerState_get_tau(self)
12116 
12117  def set_temperature(self, temperature):
12118  r"""set_temperature(BerendsenThermostatOptimizerState self, double temperature)"""
12119  return _IMP_atom.BerendsenThermostatOptimizerState_set_temperature(self, temperature)
12120 
12121  def set_tau(self, tau):
12122  r"""set_tau(BerendsenThermostatOptimizerState self, double tau)"""
12123  return _IMP_atom.BerendsenThermostatOptimizerState_set_tau(self, tau)
12124 
12125  def rescale_velocities(self):
12126  r"""rescale_velocities(BerendsenThermostatOptimizerState self)"""
12127  return _IMP_atom.BerendsenThermostatOptimizerState_rescale_velocities(self)
12128 
12129  def get_version_info(self):
12130  r"""get_version_info(BerendsenThermostatOptimizerState self) -> VersionInfo"""
12131  return _IMP_atom.BerendsenThermostatOptimizerState_get_version_info(self)
12132  __swig_destroy__ = _IMP_atom.delete_BerendsenThermostatOptimizerState
12133 
12134  def __str__(self):
12135  r"""__str__(BerendsenThermostatOptimizerState self) -> std::string"""
12136  return _IMP_atom.BerendsenThermostatOptimizerState___str__(self)
12137 
12138  def __repr__(self):
12139  r"""__repr__(BerendsenThermostatOptimizerState self) -> std::string"""
12140  return _IMP_atom.BerendsenThermostatOptimizerState___repr__(self)
12141 
12142  @staticmethod
12143  def get_from(o):
12144  return _object_cast_to_BerendsenThermostatOptimizerState(o)
12145 
12146 
12147 # Register BerendsenThermostatOptimizerState in _IMP_atom:
12148 _IMP_atom.BerendsenThermostatOptimizerState_swigregister(BerendsenThermostatOptimizerState)
12149 class LangevinThermostatOptimizerState(IMP.OptimizerState):
12150  r"""Proxy of C++ IMP::atom::LangevinThermostatOptimizerState class."""
12151 
12152  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12153 
12154  def __init__(self, m, pis, temperature, gamma):
12155  r"""__init__(LangevinThermostatOptimizerState self, Model m, _ParticleIndexesAdaptor pis, double temperature, double gamma) -> LangevinThermostatOptimizerState"""
12156  _IMP_atom.LangevinThermostatOptimizerState_swiginit(self, _IMP_atom.new_LangevinThermostatOptimizerState(m, pis, temperature, gamma))
12157 
12158  def set_particles(self, pis):
12159  r"""set_particles(LangevinThermostatOptimizerState self, IMP::Particles const & pis)"""
12160  return _IMP_atom.LangevinThermostatOptimizerState_set_particles(self, pis)
12161 
12162  def get_temperature(self):
12163  r"""get_temperature(LangevinThermostatOptimizerState self) -> double"""
12164  return _IMP_atom.LangevinThermostatOptimizerState_get_temperature(self)
12165 
12166  def get_gamma(self):
12167  r"""get_gamma(LangevinThermostatOptimizerState self) -> double"""
12168  return _IMP_atom.LangevinThermostatOptimizerState_get_gamma(self)
12169 
12170  def set_temperature(self, temperature):
12171  r"""set_temperature(LangevinThermostatOptimizerState self, double temperature)"""
12172  return _IMP_atom.LangevinThermostatOptimizerState_set_temperature(self, temperature)
12173 
12174  def set_gamma(self, gamma):
12175  r"""set_gamma(LangevinThermostatOptimizerState self, double gamma)"""
12176  return _IMP_atom.LangevinThermostatOptimizerState_set_gamma(self, gamma)
12177 
12178  def rescale_velocities(self):
12179  r"""rescale_velocities(LangevinThermostatOptimizerState self)"""
12180  return _IMP_atom.LangevinThermostatOptimizerState_rescale_velocities(self)
12181 
12182  def get_version_info(self):
12183  r"""get_version_info(LangevinThermostatOptimizerState self) -> VersionInfo"""
12184  return _IMP_atom.LangevinThermostatOptimizerState_get_version_info(self)
12185  __swig_destroy__ = _IMP_atom.delete_LangevinThermostatOptimizerState
12186 
12187  def __str__(self):
12188  r"""__str__(LangevinThermostatOptimizerState self) -> std::string"""
12189  return _IMP_atom.LangevinThermostatOptimizerState___str__(self)
12190 
12191  def __repr__(self):
12192  r"""__repr__(LangevinThermostatOptimizerState self) -> std::string"""
12193  return _IMP_atom.LangevinThermostatOptimizerState___repr__(self)
12194 
12195  @staticmethod
12196  def get_from(o):
12197  return _object_cast_to_LangevinThermostatOptimizerState(o)
12198 
12199 
12200 # Register LangevinThermostatOptimizerState in _IMP_atom:
12201 _IMP_atom.LangevinThermostatOptimizerState_swigregister(LangevinThermostatOptimizerState)
12202 class PDBRecord(IMP._Value):
12203  r"""Proxy of C++ IMP::atom::PDBRecord class."""
12204 
12205  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12206 
12207  def __init__(self):
12208  r"""__init__(PDBRecord self) -> PDBRecord"""
12209  _IMP_atom.PDBRecord_swiginit(self, _IMP_atom.new_PDBRecord())
12210 
12211  def get_alt_loc_indicator(self):
12212  r"""get_alt_loc_indicator(PDBRecord self) -> std::string"""
12213  return _IMP_atom.PDBRecord_get_alt_loc_indicator(self)
12214 
12215  def get_is_atom(self):
12216  r"""get_is_atom(PDBRecord self) -> bool"""
12217  return _IMP_atom.PDBRecord_get_is_atom(self)
12218 
12219  def get_trimmed_atom_name(self):
12220  r"""get_trimmed_atom_name(PDBRecord self) -> std::string"""
12221  return _IMP_atom.PDBRecord_get_trimmed_atom_name(self)
12222 
12223  def get_padded_atom_name(self):
12224  r"""get_padded_atom_name(PDBRecord self) -> std::string"""
12225  return _IMP_atom.PDBRecord_get_padded_atom_name(self)
12226 
12227  def get_residue_name(self):
12228  r"""get_residue_name(PDBRecord self) -> std::string"""
12229  return _IMP_atom.PDBRecord_get_residue_name(self)
12230 
12231  def get_chain_id(self):
12232  r"""get_chain_id(PDBRecord self) -> std::string"""
12233  return _IMP_atom.PDBRecord_get_chain_id(self)
12234 
12235  def get_element(self):
12236  r"""get_element(PDBRecord self) -> std::string"""
12237  return _IMP_atom.PDBRecord_get_element(self)
12238 
12239  def show(self, *args):
12240  r"""show(PDBRecord self, _ostream out=std::cout)"""
12241  return _IMP_atom.PDBRecord_show(self, *args)
12242 
12243  def __str__(self):
12244  r"""__str__(PDBRecord self) -> std::string"""
12245  return _IMP_atom.PDBRecord___str__(self)
12246 
12247  def __repr__(self):
12248  r"""__repr__(PDBRecord self) -> std::string"""
12249  return _IMP_atom.PDBRecord___repr__(self)
12250  __swig_destroy__ = _IMP_atom.delete_PDBRecord
12251 
12252 # Register PDBRecord in _IMP_atom:
12253 _IMP_atom.PDBRecord_swigregister(PDBRecord)
12254 class PDBSelector(IMP.Object):
12255  r"""Proxy of C++ IMP::atom::PDBSelector class."""
12256 
12257  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12258 
12259  def __init__(self, name):
12260  r"""__init__(PDBSelector self, std::string name) -> PDBSelector"""
12261  if self.__class__ == PDBSelector:
12262  _self = None
12263  else:
12264  _self = self
12265  _IMP_atom.PDBSelector_swiginit(self, _IMP_atom.new_PDBSelector(_self, name))
12266 
12267  if self.__class__ != PDBSelector:
12268  _director_objects.register(self)
12269 
12270 
12271 
12272 
12273  def get_is_selected(self, record):
12274  r"""get_is_selected(PDBSelector self, PDBRecord record) -> bool"""
12275  return _IMP_atom.PDBSelector_get_is_selected(self, record)
12276  __swig_destroy__ = _IMP_atom.delete_PDBSelector
12277 
12278  def __str__(self):
12279  r"""__str__(PDBSelector self) -> std::string"""
12280  return _IMP_atom.PDBSelector___str__(self)
12281 
12282  def __repr__(self):
12283  r"""__repr__(PDBSelector self) -> std::string"""
12284  return _IMP_atom.PDBSelector___repr__(self)
12285 
12286  @staticmethod
12287  def get_from(o):
12288  return _object_cast_to_PDBSelector(o)
12289 
12290 
12291  def do_show(self, out):
12292  pass
12293 
12294  @staticmethod
12295  def get_from(o):
12296  return _object_cast_to_PDBSelector(o)
12297 
12298 
12299  def __and__(self, s):
12300  return AndPDBSelector(self, s)
12301  def __or__(self, s):
12302  return OrPDBSelector(self, s)
12303  def __xor__(self, s):
12304  return XorPDBSelector(self, s)
12305  def __invert__(self):
12306  return NotPDBSelector(self)
12307  def __sub__(self, s):
12308  return AndPDBSelector(self, NotPDBSelector(s))
12309 
12310  def __disown__(self):
12311  self.this.disown()
12312  _IMP_atom.disown_PDBSelector(self)
12313  return weakref.proxy(self)
12314 
12315  def do_destroy(self):
12316  r"""do_destroy(PDBSelector self)"""
12317  return _IMP_atom.PDBSelector_do_destroy(self)
12318 
12319 # Register PDBSelector in _IMP_atom:
12320 _IMP_atom.PDBSelector_swigregister(PDBSelector)
12321 class NonAlternativePDBSelector(PDBSelector):
12322  r"""Proxy of C++ IMP::atom::NonAlternativePDBSelector class."""
12323 
12324  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12325 
12326  def __init__(self, *args):
12327  r"""__init__(NonAlternativePDBSelector self, std::string name="NonAlternativePDBSelector%1%") -> NonAlternativePDBSelector"""
12328  _IMP_atom.NonAlternativePDBSelector_swiginit(self, _IMP_atom.new_NonAlternativePDBSelector(*args))
12329 
12330  def get_version_info(self):
12331  r"""get_version_info(NonAlternativePDBSelector self) -> VersionInfo"""
12332  return _IMP_atom.NonAlternativePDBSelector_get_version_info(self)
12333  __swig_destroy__ = _IMP_atom.delete_NonAlternativePDBSelector
12334 
12335  def __str__(self):
12336  r"""__str__(NonAlternativePDBSelector self) -> std::string"""
12337  return _IMP_atom.NonAlternativePDBSelector___str__(self)
12338 
12339  def __repr__(self):
12340  r"""__repr__(NonAlternativePDBSelector self) -> std::string"""
12341  return _IMP_atom.NonAlternativePDBSelector___repr__(self)
12342 
12343  @staticmethod
12344  def get_from(o):
12345  return _object_cast_to_NonAlternativePDBSelector(o)
12346 
12347 
12348 # Register NonAlternativePDBSelector in _IMP_atom:
12349 _IMP_atom.NonAlternativePDBSelector_swigregister(NonAlternativePDBSelector)
12350 class ATOMPDBSelector(NonAlternativePDBSelector):
12351  r"""Proxy of C++ IMP::atom::ATOMPDBSelector class."""
12352 
12353  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12354 
12355  def __init__(self, *args):
12356  r"""__init__(ATOMPDBSelector self, std::string name="ATOMPDBSelector%1%") -> ATOMPDBSelector"""
12357  _IMP_atom.ATOMPDBSelector_swiginit(self, _IMP_atom.new_ATOMPDBSelector(*args))
12358  __swig_destroy__ = _IMP_atom.delete_ATOMPDBSelector
12359 
12360  def __str__(self):
12361  r"""__str__(ATOMPDBSelector self) -> std::string"""
12362  return _IMP_atom.ATOMPDBSelector___str__(self)
12363 
12364  def __repr__(self):
12365  r"""__repr__(ATOMPDBSelector self) -> std::string"""
12366  return _IMP_atom.ATOMPDBSelector___repr__(self)
12367 
12368  @staticmethod
12369  def get_from(o):
12370  return _object_cast_to_ATOMPDBSelector(o)
12371 
12372 
12373 # Register ATOMPDBSelector in _IMP_atom:
12374 _IMP_atom.ATOMPDBSelector_swigregister(ATOMPDBSelector)
12375 class CAlphaPDBSelector(NonAlternativePDBSelector):
12376  r"""Proxy of C++ IMP::atom::CAlphaPDBSelector class."""
12377 
12378  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12379 
12380  def __init__(self, *args):
12381  r"""__init__(CAlphaPDBSelector self, std::string name="CAlphaPDBSelector%1%") -> CAlphaPDBSelector"""
12382  _IMP_atom.CAlphaPDBSelector_swiginit(self, _IMP_atom.new_CAlphaPDBSelector(*args))
12383  __swig_destroy__ = _IMP_atom.delete_CAlphaPDBSelector
12384 
12385  def __str__(self):
12386  r"""__str__(CAlphaPDBSelector self) -> std::string"""
12387  return _IMP_atom.CAlphaPDBSelector___str__(self)
12388 
12389  def __repr__(self):
12390  r"""__repr__(CAlphaPDBSelector self) -> std::string"""
12391  return _IMP_atom.CAlphaPDBSelector___repr__(self)
12392 
12393  @staticmethod
12394  def get_from(o):
12395  return _object_cast_to_CAlphaPDBSelector(o)
12396 
12397 
12398 # Register CAlphaPDBSelector in _IMP_atom:
12399 _IMP_atom.CAlphaPDBSelector_swigregister(CAlphaPDBSelector)
12400 class CBetaPDBSelector(NonAlternativePDBSelector):
12401  r"""Proxy of C++ IMP::atom::CBetaPDBSelector class."""
12402 
12403  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12404 
12405  def __init__(self, *args):
12406  r"""__init__(CBetaPDBSelector self, std::string name="CBetaPDBSelector%1%") -> CBetaPDBSelector"""
12407  _IMP_atom.CBetaPDBSelector_swiginit(self, _IMP_atom.new_CBetaPDBSelector(*args))
12408  __swig_destroy__ = _IMP_atom.delete_CBetaPDBSelector
12409 
12410  def __str__(self):
12411  r"""__str__(CBetaPDBSelector self) -> std::string"""
12412  return _IMP_atom.CBetaPDBSelector___str__(self)
12413 
12414  def __repr__(self):
12415  r"""__repr__(CBetaPDBSelector self) -> std::string"""
12416  return _IMP_atom.CBetaPDBSelector___repr__(self)
12417 
12418  @staticmethod
12419  def get_from(o):
12420  return _object_cast_to_CBetaPDBSelector(o)
12421 
12422 
12423 # Register CBetaPDBSelector in _IMP_atom:
12424 _IMP_atom.CBetaPDBSelector_swigregister(CBetaPDBSelector)
12425 class AtomTypePDBSelector(PDBSelector):
12426  r"""Proxy of C++ IMP::atom::AtomTypePDBSelector class."""
12427 
12428  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12429 
12430  def __init__(self, *args):
12431  r"""__init__(AtomTypePDBSelector self, IMP::Strings atom_types, std::string name="AtomTypePDBSelector%1%") -> AtomTypePDBSelector"""
12432  _IMP_atom.AtomTypePDBSelector_swiginit(self, _IMP_atom.new_AtomTypePDBSelector(*args))
12433 
12434  def get_version_info(self):
12435  r"""get_version_info(AtomTypePDBSelector self) -> VersionInfo"""
12436  return _IMP_atom.AtomTypePDBSelector_get_version_info(self)
12437  __swig_destroy__ = _IMP_atom.delete_AtomTypePDBSelector
12438 
12439  def __str__(self):
12440  r"""__str__(AtomTypePDBSelector self) -> std::string"""
12441  return _IMP_atom.AtomTypePDBSelector___str__(self)
12442 
12443  def __repr__(self):
12444  r"""__repr__(AtomTypePDBSelector self) -> std::string"""
12445  return _IMP_atom.AtomTypePDBSelector___repr__(self)
12446 
12447  @staticmethod
12448  def get_from(o):
12449  return _object_cast_to_AtomTypePDBSelector(o)
12450 
12451 
12452 # Register AtomTypePDBSelector in _IMP_atom:
12453 _IMP_atom.AtomTypePDBSelector_swigregister(AtomTypePDBSelector)
12454 class ResidueTypePDBSelector(PDBSelector):
12455  r"""Proxy of C++ IMP::atom::ResidueTypePDBSelector class."""
12456 
12457  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12458 
12459  def __init__(self, *args):
12460  r"""__init__(ResidueTypePDBSelector self, IMP::Strings residue_types, std::string name="ResidueTypePDBSelector%1%") -> ResidueTypePDBSelector"""
12461  _IMP_atom.ResidueTypePDBSelector_swiginit(self, _IMP_atom.new_ResidueTypePDBSelector(*args))
12462 
12463  def get_version_info(self):
12464  r"""get_version_info(ResidueTypePDBSelector self) -> VersionInfo"""
12465  return _IMP_atom.ResidueTypePDBSelector_get_version_info(self)
12466  __swig_destroy__ = _IMP_atom.delete_ResidueTypePDBSelector
12467 
12468  def __str__(self):
12469  r"""__str__(ResidueTypePDBSelector self) -> std::string"""
12470  return _IMP_atom.ResidueTypePDBSelector___str__(self)
12471 
12472  def __repr__(self):
12473  r"""__repr__(ResidueTypePDBSelector self) -> std::string"""
12474  return _IMP_atom.ResidueTypePDBSelector___repr__(self)
12475 
12476  @staticmethod
12477  def get_from(o):
12478  return _object_cast_to_ResidueTypePDBSelector(o)
12479 
12480 
12481 # Register ResidueTypePDBSelector in _IMP_atom:
12482 _IMP_atom.ResidueTypePDBSelector_swigregister(ResidueTypePDBSelector)
12483 class CPDBSelector(NonAlternativePDBSelector):
12484  r"""Proxy of C++ IMP::atom::CPDBSelector class."""
12485 
12486  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12487 
12488  def __init__(self, *args):
12489  r"""__init__(CPDBSelector self, std::string name="CPDBSelector%1%") -> CPDBSelector"""
12490  _IMP_atom.CPDBSelector_swiginit(self, _IMP_atom.new_CPDBSelector(*args))
12491  __swig_destroy__ = _IMP_atom.delete_CPDBSelector
12492 
12493  def __str__(self):
12494  r"""__str__(CPDBSelector self) -> std::string"""
12495  return _IMP_atom.CPDBSelector___str__(self)
12496 
12497  def __repr__(self):
12498  r"""__repr__(CPDBSelector self) -> std::string"""
12499  return _IMP_atom.CPDBSelector___repr__(self)
12500 
12501  @staticmethod
12502  def get_from(o):
12503  return _object_cast_to_CPDBSelector(o)
12504 
12505 
12506 # Register CPDBSelector in _IMP_atom:
12507 _IMP_atom.CPDBSelector_swigregister(CPDBSelector)
12508 class NPDBSelector(NonAlternativePDBSelector):
12509  r"""Proxy of C++ IMP::atom::NPDBSelector class."""
12510 
12511  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12512 
12513  def __init__(self, *args):
12514  r"""__init__(NPDBSelector self, std::string name="NPDBSelector%1%") -> NPDBSelector"""
12515  _IMP_atom.NPDBSelector_swiginit(self, _IMP_atom.new_NPDBSelector(*args))
12516  __swig_destroy__ = _IMP_atom.delete_NPDBSelector
12517 
12518  def __str__(self):
12519  r"""__str__(NPDBSelector self) -> std::string"""
12520  return _IMP_atom.NPDBSelector___str__(self)
12521 
12522  def __repr__(self):
12523  r"""__repr__(NPDBSelector self) -> std::string"""
12524  return _IMP_atom.NPDBSelector___repr__(self)
12525 
12526  @staticmethod
12527  def get_from(o):
12528  return _object_cast_to_NPDBSelector(o)
12529 
12530 
12531 # Register NPDBSelector in _IMP_atom:
12532 _IMP_atom.NPDBSelector_swigregister(NPDBSelector)
12533 class AllPDBSelector(PDBSelector):
12534  r"""Proxy of C++ IMP::atom::AllPDBSelector class."""
12535 
12536  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12537 
12538  def __init__(self, *args):
12539  r"""__init__(AllPDBSelector self, std::string name="AllPDBSelector%1%") -> AllPDBSelector"""
12540  _IMP_atom.AllPDBSelector_swiginit(self, _IMP_atom.new_AllPDBSelector(*args))
12541 
12542  def get_version_info(self):
12543  r"""get_version_info(AllPDBSelector self) -> VersionInfo"""
12544  return _IMP_atom.AllPDBSelector_get_version_info(self)
12545  __swig_destroy__ = _IMP_atom.delete_AllPDBSelector
12546 
12547  def __str__(self):
12548  r"""__str__(AllPDBSelector self) -> std::string"""
12549  return _IMP_atom.AllPDBSelector___str__(self)
12550 
12551  def __repr__(self):
12552  r"""__repr__(AllPDBSelector self) -> std::string"""
12553  return _IMP_atom.AllPDBSelector___repr__(self)
12554 
12555  @staticmethod
12556  def get_from(o):
12557  return _object_cast_to_AllPDBSelector(o)
12558 
12559 
12560 # Register AllPDBSelector in _IMP_atom:
12561 _IMP_atom.AllPDBSelector_swigregister(AllPDBSelector)
12562 class ChainPDBSelector(NonAlternativePDBSelector):
12563  r"""Proxy of C++ IMP::atom::ChainPDBSelector class."""
12564 
12565  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12566  __swig_destroy__ = _IMP_atom.delete_ChainPDBSelector
12567 
12568  def __init__(self, *args):
12569  r"""__init__(ChainPDBSelector self, IMP::Strings chains, std::string name="ChainPDBSelector%1%") -> ChainPDBSelector"""
12570  _IMP_atom.ChainPDBSelector_swiginit(self, _IMP_atom.new_ChainPDBSelector(*args))
12571 
12572  def __str__(self):
12573  r"""__str__(ChainPDBSelector self) -> std::string"""
12574  return _IMP_atom.ChainPDBSelector___str__(self)
12575 
12576  def __repr__(self):
12577  r"""__repr__(ChainPDBSelector self) -> std::string"""
12578  return _IMP_atom.ChainPDBSelector___repr__(self)
12579 
12580  @staticmethod
12581  def get_from(o):
12582  return _object_cast_to_ChainPDBSelector(o)
12583 
12584 
12585 # Register ChainPDBSelector in _IMP_atom:
12586 _IMP_atom.ChainPDBSelector_swigregister(ChainPDBSelector)
12587 class WaterPDBSelector(NonAlternativePDBSelector):
12588  r"""Proxy of C++ IMP::atom::WaterPDBSelector class."""
12589 
12590  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12591 
12592  def __init__(self, *args):
12593  r"""__init__(WaterPDBSelector self, std::string name="WaterPDBSelector%1%") -> WaterPDBSelector"""
12594  _IMP_atom.WaterPDBSelector_swiginit(self, _IMP_atom.new_WaterPDBSelector(*args))
12595  __swig_destroy__ = _IMP_atom.delete_WaterPDBSelector
12596 
12597  def __str__(self):
12598  r"""__str__(WaterPDBSelector self) -> std::string"""
12599  return _IMP_atom.WaterPDBSelector___str__(self)
12600 
12601  def __repr__(self):
12602  r"""__repr__(WaterPDBSelector self) -> std::string"""
12603  return _IMP_atom.WaterPDBSelector___repr__(self)
12604 
12605  @staticmethod
12606  def get_from(o):
12607  return _object_cast_to_WaterPDBSelector(o)
12608 
12609 
12610 # Register WaterPDBSelector in _IMP_atom:
12611 _IMP_atom.WaterPDBSelector_swigregister(WaterPDBSelector)
12612 class HydrogenPDBSelector(NonAlternativePDBSelector):
12613  r"""Proxy of C++ IMP::atom::HydrogenPDBSelector class."""
12614 
12615  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12616 
12617  def __init__(self, *args):
12618  r"""__init__(HydrogenPDBSelector self, std::string name="HydrogenPDBSelector%1%") -> HydrogenPDBSelector"""
12619  _IMP_atom.HydrogenPDBSelector_swiginit(self, _IMP_atom.new_HydrogenPDBSelector(*args))
12620  __swig_destroy__ = _IMP_atom.delete_HydrogenPDBSelector
12621 
12622  def __str__(self):
12623  r"""__str__(HydrogenPDBSelector self) -> std::string"""
12624  return _IMP_atom.HydrogenPDBSelector___str__(self)
12625 
12626  def __repr__(self):
12627  r"""__repr__(HydrogenPDBSelector self) -> std::string"""
12628  return _IMP_atom.HydrogenPDBSelector___repr__(self)
12629 
12630  @staticmethod
12631  def get_from(o):
12632  return _object_cast_to_HydrogenPDBSelector(o)
12633 
12634 
12635 # Register HydrogenPDBSelector in _IMP_atom:
12636 _IMP_atom.HydrogenPDBSelector_swigregister(HydrogenPDBSelector)
12637 class NonWaterNonHydrogenPDBSelector(NonAlternativePDBSelector):
12638  r"""Proxy of C++ IMP::atom::NonWaterNonHydrogenPDBSelector class."""
12639 
12640  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12641  __swig_destroy__ = _IMP_atom.delete_NonWaterNonHydrogenPDBSelector
12642 
12643  def __init__(self, *args):
12644  r"""
12645  __init__(NonWaterNonHydrogenPDBSelector self, std::string name) -> NonWaterNonHydrogenPDBSelector
12646  __init__(NonWaterNonHydrogenPDBSelector self) -> NonWaterNonHydrogenPDBSelector
12647  """
12648  _IMP_atom.NonWaterNonHydrogenPDBSelector_swiginit(self, _IMP_atom.new_NonWaterNonHydrogenPDBSelector(*args))
12649 
12650  def __str__(self):
12651  r"""__str__(NonWaterNonHydrogenPDBSelector self) -> std::string"""
12652  return _IMP_atom.NonWaterNonHydrogenPDBSelector___str__(self)
12653 
12654  def __repr__(self):
12655  r"""__repr__(NonWaterNonHydrogenPDBSelector self) -> std::string"""
12656  return _IMP_atom.NonWaterNonHydrogenPDBSelector___repr__(self)
12657 
12658  @staticmethod
12659  def get_from(o):
12660  return _object_cast_to_NonWaterNonHydrogenPDBSelector(o)
12661 
12662 
12663 # Register NonWaterNonHydrogenPDBSelector in _IMP_atom:
12664 _IMP_atom.NonWaterNonHydrogenPDBSelector_swigregister(NonWaterNonHydrogenPDBSelector)
12665 class NonHydrogenPDBSelector(NonAlternativePDBSelector):
12666  r"""Proxy of C++ IMP::atom::NonHydrogenPDBSelector class."""
12667 
12668  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12669  __swig_destroy__ = _IMP_atom.delete_NonHydrogenPDBSelector
12670 
12671  def __init__(self, *args):
12672  r"""
12673  __init__(NonHydrogenPDBSelector self, std::string name) -> NonHydrogenPDBSelector
12674  __init__(NonHydrogenPDBSelector self) -> NonHydrogenPDBSelector
12675  """
12676  _IMP_atom.NonHydrogenPDBSelector_swiginit(self, _IMP_atom.new_NonHydrogenPDBSelector(*args))
12677 
12678  def __str__(self):
12679  r"""__str__(NonHydrogenPDBSelector self) -> std::string"""
12680  return _IMP_atom.NonHydrogenPDBSelector___str__(self)
12681 
12682  def __repr__(self):
12683  r"""__repr__(NonHydrogenPDBSelector self) -> std::string"""
12684  return _IMP_atom.NonHydrogenPDBSelector___repr__(self)
12685 
12686  @staticmethod
12687  def get_from(o):
12688  return _object_cast_to_NonHydrogenPDBSelector(o)
12689 
12690 
12691 # Register NonHydrogenPDBSelector in _IMP_atom:
12692 _IMP_atom.NonHydrogenPDBSelector_swigregister(NonHydrogenPDBSelector)
12693 class NonWaterPDBSelector(NonAlternativePDBSelector):
12694  r"""Proxy of C++ IMP::atom::NonWaterPDBSelector class."""
12695 
12696  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12697  __swig_destroy__ = _IMP_atom.delete_NonWaterPDBSelector
12698 
12699  def __init__(self, *args):
12700  r"""
12701  __init__(NonWaterPDBSelector self, std::string name) -> NonWaterPDBSelector
12702  __init__(NonWaterPDBSelector self) -> NonWaterPDBSelector
12703  """
12704  _IMP_atom.NonWaterPDBSelector_swiginit(self, _IMP_atom.new_NonWaterPDBSelector(*args))
12705 
12706  def __str__(self):
12707  r"""__str__(NonWaterPDBSelector self) -> std::string"""
12708  return _IMP_atom.NonWaterPDBSelector___str__(self)
12709 
12710  def __repr__(self):
12711  r"""__repr__(NonWaterPDBSelector self) -> std::string"""
12712  return _IMP_atom.NonWaterPDBSelector___repr__(self)
12713 
12714  @staticmethod
12715  def get_from(o):
12716  return _object_cast_to_NonWaterPDBSelector(o)
12717 
12718 
12719 # Register NonWaterPDBSelector in _IMP_atom:
12720 _IMP_atom.NonWaterPDBSelector_swigregister(NonWaterPDBSelector)
12721 class BackbonePDBSelector(NonWaterNonHydrogenPDBSelector):
12722  r"""Proxy of C++ IMP::atom::BackbonePDBSelector class."""
12723 
12724  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12725 
12726  def __init__(self, *args):
12727  r"""__init__(BackbonePDBSelector self, std::string name="BackbonePDBSelector%1%") -> BackbonePDBSelector"""
12728  _IMP_atom.BackbonePDBSelector_swiginit(self, _IMP_atom.new_BackbonePDBSelector(*args))
12729  __swig_destroy__ = _IMP_atom.delete_BackbonePDBSelector
12730 
12731  def __str__(self):
12732  r"""__str__(BackbonePDBSelector self) -> std::string"""
12733  return _IMP_atom.BackbonePDBSelector___str__(self)
12734 
12735  def __repr__(self):
12736  r"""__repr__(BackbonePDBSelector self) -> std::string"""
12737  return _IMP_atom.BackbonePDBSelector___repr__(self)
12738 
12739  @staticmethod
12740  def get_from(o):
12741  return _object_cast_to_BackbonePDBSelector(o)
12742 
12743 
12744 # Register BackbonePDBSelector in _IMP_atom:
12745 _IMP_atom.BackbonePDBSelector_swigregister(BackbonePDBSelector)
12746 class PPDBSelector(NonAlternativePDBSelector):
12747  r"""Proxy of C++ IMP::atom::PPDBSelector class."""
12748 
12749  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12750 
12751  def __init__(self, *args):
12752  r"""__init__(PPDBSelector self, std::string name="PPDBSelector%1%") -> PPDBSelector"""
12753  _IMP_atom.PPDBSelector_swiginit(self, _IMP_atom.new_PPDBSelector(*args))
12754  __swig_destroy__ = _IMP_atom.delete_PPDBSelector
12755 
12756  def __str__(self):
12757  r"""__str__(PPDBSelector self) -> std::string"""
12758  return _IMP_atom.PPDBSelector___str__(self)
12759 
12760  def __repr__(self):
12761  r"""__repr__(PPDBSelector self) -> std::string"""
12762  return _IMP_atom.PPDBSelector___repr__(self)
12763 
12764  @staticmethod
12765  def get_from(o):
12766  return _object_cast_to_PPDBSelector(o)
12767 
12768 
12769 # Register PPDBSelector in _IMP_atom:
12770 _IMP_atom.PPDBSelector_swigregister(PPDBSelector)
12771 class AndPDBSelector(PDBSelector):
12772  r"""Proxy of C++ IMP::atom::AndPDBSelector class."""
12773 
12774  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12775 
12776  def get_version_info(self):
12777  r"""get_version_info(AndPDBSelector self) -> VersionInfo"""
12778  return _IMP_atom.AndPDBSelector_get_version_info(self)
12779  __swig_destroy__ = _IMP_atom.delete_AndPDBSelector
12780 
12781  def __init__(self, a, b):
12782  r"""__init__(AndPDBSelector self, PDBSelector a, PDBSelector b) -> AndPDBSelector"""
12783  _IMP_atom.AndPDBSelector_swiginit(self, _IMP_atom.new_AndPDBSelector(a, b))
12784 
12785  def __str__(self):
12786  r"""__str__(AndPDBSelector self) -> std::string"""
12787  return _IMP_atom.AndPDBSelector___str__(self)
12788 
12789  def __repr__(self):
12790  r"""__repr__(AndPDBSelector self) -> std::string"""
12791  return _IMP_atom.AndPDBSelector___repr__(self)
12792 
12793  @staticmethod
12794  def get_from(o):
12795  return _object_cast_to_AndPDBSelector(o)
12796 
12797 
12798 # Register AndPDBSelector in _IMP_atom:
12799 _IMP_atom.AndPDBSelector_swigregister(AndPDBSelector)
12800 class OrPDBSelector(PDBSelector):
12801  r"""Proxy of C++ IMP::atom::OrPDBSelector class."""
12802 
12803  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12804 
12805  def get_version_info(self):
12806  r"""get_version_info(OrPDBSelector self) -> VersionInfo"""
12807  return _IMP_atom.OrPDBSelector_get_version_info(self)
12808  __swig_destroy__ = _IMP_atom.delete_OrPDBSelector
12809 
12810  def __init__(self, a, b):
12811  r"""__init__(OrPDBSelector self, PDBSelector a, PDBSelector b) -> OrPDBSelector"""
12812  _IMP_atom.OrPDBSelector_swiginit(self, _IMP_atom.new_OrPDBSelector(a, b))
12813 
12814  def __str__(self):
12815  r"""__str__(OrPDBSelector self) -> std::string"""
12816  return _IMP_atom.OrPDBSelector___str__(self)
12817 
12818  def __repr__(self):
12819  r"""__repr__(OrPDBSelector self) -> std::string"""
12820  return _IMP_atom.OrPDBSelector___repr__(self)
12821 
12822  @staticmethod
12823  def get_from(o):
12824  return _object_cast_to_OrPDBSelector(o)
12825 
12826 
12827 # Register OrPDBSelector in _IMP_atom:
12828 _IMP_atom.OrPDBSelector_swigregister(OrPDBSelector)
12829 class XorPDBSelector(PDBSelector):
12830  r"""Proxy of C++ IMP::atom::XorPDBSelector class."""
12831 
12832  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12833 
12834  def get_version_info(self):
12835  r"""get_version_info(XorPDBSelector self) -> VersionInfo"""
12836  return _IMP_atom.XorPDBSelector_get_version_info(self)
12837  __swig_destroy__ = _IMP_atom.delete_XorPDBSelector
12838 
12839  def __init__(self, a, b):
12840  r"""__init__(XorPDBSelector self, PDBSelector a, PDBSelector b) -> XorPDBSelector"""
12841  _IMP_atom.XorPDBSelector_swiginit(self, _IMP_atom.new_XorPDBSelector(a, b))
12842 
12843  def __str__(self):
12844  r"""__str__(XorPDBSelector self) -> std::string"""
12845  return _IMP_atom.XorPDBSelector___str__(self)
12846 
12847  def __repr__(self):
12848  r"""__repr__(XorPDBSelector self) -> std::string"""
12849  return _IMP_atom.XorPDBSelector___repr__(self)
12850 
12851  @staticmethod
12852  def get_from(o):
12853  return _object_cast_to_XorPDBSelector(o)
12854 
12855 
12856 # Register XorPDBSelector in _IMP_atom:
12857 _IMP_atom.XorPDBSelector_swigregister(XorPDBSelector)
12858 class NotPDBSelector(PDBSelector):
12859  r"""Proxy of C++ IMP::atom::NotPDBSelector class."""
12860 
12861  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12862 
12863  def get_version_info(self):
12864  r"""get_version_info(NotPDBSelector self) -> VersionInfo"""
12865  return _IMP_atom.NotPDBSelector_get_version_info(self)
12866  __swig_destroy__ = _IMP_atom.delete_NotPDBSelector
12867 
12868  def __init__(self, a):
12869  r"""__init__(NotPDBSelector self, PDBSelector a) -> NotPDBSelector"""
12870  _IMP_atom.NotPDBSelector_swiginit(self, _IMP_atom.new_NotPDBSelector(a))
12871 
12872  def __str__(self):
12873  r"""__str__(NotPDBSelector self) -> std::string"""
12874  return _IMP_atom.NotPDBSelector___str__(self)
12875 
12876  def __repr__(self):
12877  r"""__repr__(NotPDBSelector self) -> std::string"""
12878  return _IMP_atom.NotPDBSelector___repr__(self)
12879 
12880  @staticmethod
12881  def get_from(o):
12882  return _object_cast_to_NotPDBSelector(o)
12883 
12884 
12885 # Register NotPDBSelector in _IMP_atom:
12886 _IMP_atom.NotPDBSelector_swigregister(NotPDBSelector)
12887 
12888 def get_default_pdb_selector():
12889  r"""get_default_pdb_selector() -> PDBSelector"""
12890  return _IMP_atom.get_default_pdb_selector()
12891 
12892 def read_pdb(*args):
12893  r"""
12894  read_pdb(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool select_first_model=True, bool no_radii=False) -> Hierarchy
12895  read_pdb(TextInput input, int model, Hierarchy h)
12896  """
12897  return _IMP_atom.read_pdb(*args)
12898 
12899 def read_multimodel_pdb(*args):
12900  r"""read_multimodel_pdb(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
12901  return _IMP_atom.read_multimodel_pdb(*args)
12902 
12903 def write_pdb(mhd, out, model=1):
12904  r"""write_pdb(Selection mhd, TextOutput out, unsigned int model=1)"""
12905  return _IMP_atom.write_pdb(mhd, out, model)
12906 
12907 def write_pdb_of_c_alphas(mhd, out, model=1):
12908  r"""write_pdb_of_c_alphas(Selection mhd, TextOutput out, unsigned int model=1)"""
12909  return _IMP_atom.write_pdb_of_c_alphas(mhd, out, model)
12910 
12911 def write_multimodel_pdb(mhd, out):
12912  r"""write_multimodel_pdb(IMP::atom::Hierarchies const & mhd, TextOutput out)"""
12913  return _IMP_atom.write_multimodel_pdb(mhd, out)
12914 
12915 def get_pdb_string(*args):
12916  r"""get_pdb_string(Vector3D v, int index=-1, AtomType at=AT_CA, ResidueType rt=ALA, char chain=' ', int res_index=1, char res_icode=' ', double occupancy=1.00, double tempFactor=0.00, IMP::atom::Element e=C) -> std::string"""
12917  return _IMP_atom.get_pdb_string(*args)
12918 
12919 def get_pdb_conect_record_string(arg1, arg2):
12920  r"""get_pdb_conect_record_string(int arg1, int arg2) -> std::string"""
12921  return _IMP_atom.get_pdb_conect_record_string(arg1, arg2)
12922 class WritePDBOptimizerState(IMP.OptimizerState):
12923  r"""Proxy of C++ IMP::atom::WritePDBOptimizerState class."""
12924 
12925  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12926 
12927  def __init__(self, *args):
12928  r"""
12929  __init__(WritePDBOptimizerState self, Model m, _ParticleIndexesAdaptor pis, std::string filename) -> WritePDBOptimizerState
12930  __init__(WritePDBOptimizerState self, IMP::atom::Hierarchies const mh, std::string filename) -> WritePDBOptimizerState
12931  __init__(WritePDBOptimizerState self) -> WritePDBOptimizerState
12932  """
12933  _IMP_atom.WritePDBOptimizerState_swiginit(self, _IMP_atom.new_WritePDBOptimizerState(*args))
12934 
12935  def get_version_info(self):
12936  r"""get_version_info(WritePDBOptimizerState self) -> VersionInfo"""
12937  return _IMP_atom.WritePDBOptimizerState_get_version_info(self)
12938  __swig_destroy__ = _IMP_atom.delete_WritePDBOptimizerState
12939 
12940  def __str__(self):
12941  r"""__str__(WritePDBOptimizerState self) -> std::string"""
12942  return _IMP_atom.WritePDBOptimizerState___str__(self)
12943 
12944  def __repr__(self):
12945  r"""__repr__(WritePDBOptimizerState self) -> std::string"""
12946  return _IMP_atom.WritePDBOptimizerState___repr__(self)
12947 
12948  @staticmethod
12949  def get_from(o):
12950  return _object_cast_to_WritePDBOptimizerState(o)
12951 
12952 
12953  def _get_as_binary(self):
12954  r"""_get_as_binary(WritePDBOptimizerState self) -> PyObject *"""
12955  return _IMP_atom.WritePDBOptimizerState__get_as_binary(self)
12956 
12957  def _set_from_binary(self, p):
12958  r"""_set_from_binary(WritePDBOptimizerState self, PyObject * p)"""
12959  return _IMP_atom.WritePDBOptimizerState__set_from_binary(self, p)
12960 
12961  def __getstate__(self):
12962  p = self._get_as_binary()
12963  if len(self.__dict__) > 1:
12964  d = self.__dict__.copy()
12965  del d['this']
12966  p = (d, p)
12967  return p
12968 
12969  def __setstate__(self, p):
12970  if not hasattr(self, 'this'):
12971  self.__init__()
12972  if isinstance(p, tuple):
12973  d, p = p
12974  self.__dict__.update(d)
12975  return self._set_from_binary(p)
12976 
12977 
12978 # Register WritePDBOptimizerState in _IMP_atom:
12979 _IMP_atom.WritePDBOptimizerState_swigregister(WritePDBOptimizerState)
12980 
12981 def read_multimodel_mmcif(*args):
12982  r"""read_multimodel_mmcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
12983  return _IMP_atom.read_multimodel_mmcif(*args)
12984 
12985 def read_mmcif(*args):
12986  r"""read_mmcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool select_first_model=True, bool noradii=False) -> Hierarchy"""
12987  return _IMP_atom.read_mmcif(*args)
12988 
12989 def read_multimodel_bcif(*args):
12990  r"""read_multimodel_bcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
12991  return _IMP_atom.read_multimodel_bcif(*args)
12992 
12993 def read_bcif(*args):
12994  r"""read_bcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool select_first_model=True, bool noradii=False) -> Hierarchy"""
12995  return _IMP_atom.read_bcif(*args)
12996 
12997 def read_pdb_any(*args):
12998  r"""read_pdb_any(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool select_first_model=True, bool noradii=False) -> Hierarchy"""
12999  return _IMP_atom.read_pdb_any(*args)
13000 
13001 def read_multimodel_pdb_any(*args):
13002  r"""read_multimodel_pdb_any(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
13003  return _IMP_atom.read_multimodel_pdb_any(*args)
13004 
13005 def get_kt(T):
13006  r"""get_kt(double T) -> double"""
13007  return _IMP_atom.get_kt(T)
13008 class CAAngleRestraint(IMP.Restraint):
13009  r"""Proxy of C++ IMP::atom::CAAngleRestraint class."""
13010 
13011  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13012 
13013  def __init__(self, m, p1, p2, p3, phi0, score):
13014  r"""__init__(CAAngleRestraint self, Model m, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3, IMP::Floats phi0, IMP::Floats score) -> CAAngleRestraint"""
13015  _IMP_atom.CAAngleRestraint_swiginit(self, _IMP_atom.new_CAAngleRestraint(m, p1, p2, p3, phi0, score))
13016 
13017  def do_get_inputs(self):
13018  r"""do_get_inputs(CAAngleRestraint self) -> IMP::ModelObjectsTemp"""
13019  return _IMP_atom.CAAngleRestraint_do_get_inputs(self)
13020 
13021  def get_version_info(self):
13022  r"""get_version_info(CAAngleRestraint self) -> VersionInfo"""
13023  return _IMP_atom.CAAngleRestraint_get_version_info(self)
13024  __swig_destroy__ = _IMP_atom.delete_CAAngleRestraint
13025 
13026  def __str__(self):
13027  r"""__str__(CAAngleRestraint self) -> std::string"""
13028  return _IMP_atom.CAAngleRestraint___str__(self)
13029 
13030  def __repr__(self):
13031  r"""__repr__(CAAngleRestraint self) -> std::string"""
13032  return _IMP_atom.CAAngleRestraint___repr__(self)
13033 
13034  @staticmethod
13035  def get_from(o):
13036  return _object_cast_to_CAAngleRestraint(o)
13037 
13038 
13039 # Register CAAngleRestraint in _IMP_atom:
13040 _IMP_atom.CAAngleRestraint_swigregister(CAAngleRestraint)
13041 class CADihedralRestraint(IMP.Restraint):
13042  r"""Proxy of C++ IMP::atom::CADihedralRestraint class."""
13043 
13044  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13045 
13046  def __init__(self, m, p1, p2, p3, p4, p5, phi0, phi1, score):
13047  r"""__init__(CADihedralRestraint self, Model m, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3, _ParticleIndexAdaptor p4, _ParticleIndexAdaptor p5, IMP::Floats phi0, IMP::Floats phi1, IMP::Floats score) -> CADihedralRestraint"""
13048  _IMP_atom.CADihedralRestraint_swiginit(self, _IMP_atom.new_CADihedralRestraint(m, p1, p2, p3, p4, p5, phi0, phi1, score))
13049 
13050  def do_get_inputs(self):
13051  r"""do_get_inputs(CADihedralRestraint self) -> IMP::ModelObjectsTemp"""
13052  return _IMP_atom.CADihedralRestraint_do_get_inputs(self)
13053 
13054  def get_version_info(self):
13055  r"""get_version_info(CADihedralRestraint self) -> VersionInfo"""
13056  return _IMP_atom.CADihedralRestraint_get_version_info(self)
13057  __swig_destroy__ = _IMP_atom.delete_CADihedralRestraint
13058 
13059  def __str__(self):
13060  r"""__str__(CADihedralRestraint self) -> std::string"""
13061  return _IMP_atom.CADihedralRestraint___str__(self)
13062 
13063  def __repr__(self):
13064  r"""__repr__(CADihedralRestraint self) -> std::string"""
13065  return _IMP_atom.CADihedralRestraint___repr__(self)
13066 
13067  @staticmethod
13068  def get_from(o):
13069  return _object_cast_to_CADihedralRestraint(o)
13070 
13071 
13072 # Register CADihedralRestraint in _IMP_atom:
13073 _IMP_atom.CADihedralRestraint_swigregister(CADihedralRestraint)
13074 class StructureSource(IMP.Decorator):
13075  r"""Proxy of C++ IMP::atom::StructureSource class."""
13076 
13077  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13078 
13079  def get_source_id(self):
13080  r"""get_source_id(StructureSource self) -> std::string"""
13081  return _IMP_atom.StructureSource_get_source_id(self)
13082 
13083  def get_source_chain_id(self):
13084  r"""get_source_chain_id(StructureSource self) -> std::string"""
13085  return _IMP_atom.StructureSource_get_source_chain_id(self)
13086 
13087  def set_source_id(self, source_id):
13088  r"""set_source_id(StructureSource self, std::string source_id)"""
13089  return _IMP_atom.StructureSource_set_source_id(self, source_id)
13090 
13091  def set_source_chain_id(self, source_chain_id):
13092  r"""set_source_chain_id(StructureSource self, std::string source_chain_id)"""
13093  return _IMP_atom.StructureSource_set_source_chain_id(self, source_chain_id)
13094 
13095  def __init__(self, *args):
13096  r"""
13097  __init__(StructureSource self) -> StructureSource
13098  __init__(StructureSource self, Model m, ParticleIndex id) -> StructureSource
13099  __init__(StructureSource self, _ParticleAdaptor d) -> StructureSource
13100  """
13101  _IMP_atom.StructureSource_swiginit(self, _IMP_atom.new_StructureSource(*args))
13102 
13103  @staticmethod
13104  def get_is_setup(*args):
13105  r"""
13106  get_is_setup(Model m, ParticleIndex pi) -> bool
13107  get_is_setup(_ParticleAdaptor p) -> bool
13108  """
13109  return _IMP_atom.StructureSource_get_is_setup(*args)
13110 
13111  def show(self, *args):
13112  r"""show(StructureSource self, _ostream out=std::cout)"""
13113  return _IMP_atom.StructureSource_show(self, *args)
13114 
13115  @staticmethod
13116  def setup_particle(*args):
13117  r"""
13118  setup_particle(Model m, ParticleIndex pi, std::string source_id, std::string source_chain_id) -> StructureSource
13119  setup_particle(_ParticleAdaptor pa, std::string source_id, std::string source_chain_id) -> StructureSource
13120  """
13121  return _IMP_atom.StructureSource_setup_particle(*args)
13122 
13123  def add_attribute(self, *args):
13124  r"""
13125  add_attribute(StructureSource self, FloatKey k, IMP::Float v, bool opt)
13126  add_attribute(StructureSource self, FloatKey a0, IMP::Float a1)
13127  add_attribute(StructureSource self, IntKey a0, IMP::Int a1)
13128  add_attribute(StructureSource self, FloatsKey a0, IMP::Floats a1)
13129  add_attribute(StructureSource self, IntsKey a0, IMP::Ints a1)
13130  add_attribute(StructureSource self, StringKey a0, IMP::String a1)
13131  add_attribute(StructureSource self, ParticleIndexKey a0, Particle a1)
13132  add_attribute(StructureSource self, ObjectKey a0, Object a1)
13133  add_attribute(StructureSource self, SparseFloatKey a0, IMP::Float a1)
13134  add_attribute(StructureSource self, SparseIntKey a0, IMP::Int a1)
13135  add_attribute(StructureSource self, SparseStringKey a0, IMP::String a1)
13136  add_attribute(StructureSource self, SparseParticleIndexKey a0, ParticleIndex a1)
13137  """
13138  return _IMP_atom.StructureSource_add_attribute(self, *args)
13139 
13140  def get_value(self, *args):
13141  r"""
13142  get_value(StructureSource self, FloatKey a0) -> IMP::Float
13143  get_value(StructureSource self, IntKey a0) -> IMP::Int
13144  get_value(StructureSource self, FloatsKey a0) -> IMP::Floats
13145  get_value(StructureSource self, IntsKey a0) -> IMP::Ints
13146  get_value(StructureSource self, StringKey a0) -> IMP::String
13147  get_value(StructureSource self, ParticleIndexKey a0) -> Particle
13148  get_value(StructureSource self, ObjectKey a0) -> Object
13149  get_value(StructureSource self, SparseFloatKey a0) -> IMP::Float
13150  get_value(StructureSource self, SparseIntKey a0) -> IMP::Int
13151  get_value(StructureSource self, SparseStringKey a0) -> IMP::String
13152  get_value(StructureSource self, SparseParticleIndexKey a0) -> ParticleIndex
13153  """
13154  return _IMP_atom.StructureSource_get_value(self, *args)
13155 
13156  def set_value(self, *args):
13157  r"""
13158  set_value(StructureSource self, FloatKey a0, IMP::Float a1)
13159  set_value(StructureSource self, IntKey a0, IMP::Int a1)
13160  set_value(StructureSource self, FloatsKey a0, IMP::Floats a1)
13161  set_value(StructureSource self, IntsKey a0, IMP::Ints a1)
13162  set_value(StructureSource self, StringKey a0, IMP::String a1)
13163  set_value(StructureSource self, ParticleIndexKey a0, Particle a1)
13164  set_value(StructureSource self, ObjectKey a0, Object a1)
13165  set_value(StructureSource self, SparseFloatKey a0, IMP::Float a1)
13166  set_value(StructureSource self, SparseIntKey a0, IMP::Int a1)
13167  set_value(StructureSource self, SparseStringKey a0, IMP::String a1)
13168  set_value(StructureSource self, SparseParticleIndexKey a0, ParticleIndex a1)
13169  """
13170  return _IMP_atom.StructureSource_set_value(self, *args)
13171 
13172  def remove_attribute(self, *args):
13173  r"""
13174  remove_attribute(StructureSource self, FloatKey a0)
13175  remove_attribute(StructureSource self, IntKey a0)
13176  remove_attribute(StructureSource self, FloatsKey a0)
13177  remove_attribute(StructureSource self, IntsKey a0)
13178  remove_attribute(StructureSource self, StringKey a0)
13179  remove_attribute(StructureSource self, ParticleIndexKey a0)
13180  remove_attribute(StructureSource self, ObjectKey a0)
13181  remove_attribute(StructureSource self, SparseFloatKey a0)
13182  remove_attribute(StructureSource self, SparseIntKey a0)
13183  remove_attribute(StructureSource self, SparseStringKey a0)
13184  remove_attribute(StructureSource self, SparseParticleIndexKey a0)
13185  """
13186  return _IMP_atom.StructureSource_remove_attribute(self, *args)
13187 
13188  def has_attribute(self, *args):
13189  r"""
13190  has_attribute(StructureSource self, FloatKey a0) -> bool
13191  has_attribute(StructureSource self, IntKey a0) -> bool
13192  has_attribute(StructureSource self, FloatsKey a0) -> bool
13193  has_attribute(StructureSource self, IntsKey a0) -> bool
13194  has_attribute(StructureSource self, StringKey a0) -> bool
13195  has_attribute(StructureSource self, ParticleIndexKey a0) -> bool
13196  has_attribute(StructureSource self, ObjectKey a0) -> bool
13197  has_attribute(StructureSource self, SparseFloatKey a0) -> bool
13198  has_attribute(StructureSource self, SparseIntKey a0) -> bool
13199  has_attribute(StructureSource self, SparseStringKey a0) -> bool
13200  has_attribute(StructureSource self, SparseParticleIndexKey a0) -> bool
13201  """
13202  return _IMP_atom.StructureSource_has_attribute(self, *args)
13203 
13204  def get_derivative(self, a0):
13205  r"""get_derivative(StructureSource self, FloatKey a0) -> double"""
13206  return _IMP_atom.StructureSource_get_derivative(self, a0)
13207 
13208  def get_name(self):
13209  r"""get_name(StructureSource self) -> std::string"""
13210  return _IMP_atom.StructureSource_get_name(self)
13211 
13212  def clear_caches(self):
13213  r"""clear_caches(StructureSource self)"""
13214  return _IMP_atom.StructureSource_clear_caches(self)
13215 
13216  def set_name(self, a0):
13217  r"""set_name(StructureSource self, std::string a0)"""
13218  return _IMP_atom.StructureSource_set_name(self, a0)
13219 
13220  def set_check_level(self, a0):
13221  r"""set_check_level(StructureSource self, IMP::CheckLevel a0)"""
13222  return _IMP_atom.StructureSource_set_check_level(self, a0)
13223 
13224  def add_to_derivative(self, a0, a1, a2):
13225  r"""add_to_derivative(StructureSource self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
13226  return _IMP_atom.StructureSource_add_to_derivative(self, a0, a1, a2)
13227 
13228  def set_is_optimized(self, a0, a1):
13229  r"""set_is_optimized(StructureSource self, FloatKey a0, bool a1)"""
13230  return _IMP_atom.StructureSource_set_is_optimized(self, a0, a1)
13231 
13232  def get_is_optimized(self, a0):
13233  r"""get_is_optimized(StructureSource self, FloatKey a0) -> bool"""
13234  return _IMP_atom.StructureSource_get_is_optimized(self, a0)
13235 
13236  def get_check_level(self):
13237  r"""get_check_level(StructureSource self) -> IMP::CheckLevel"""
13238  return _IMP_atom.StructureSource_get_check_level(self)
13239 
13240  def __eq__(self, *args):
13241  r"""
13242  __eq__(StructureSource self, StructureSource o) -> bool
13243  __eq__(StructureSource self, Particle d) -> bool
13244  """
13245  return _IMP_atom.StructureSource___eq__(self, *args)
13246 
13247  def __ne__(self, *args):
13248  r"""
13249  __ne__(StructureSource self, StructureSource o) -> bool
13250  __ne__(StructureSource self, Particle d) -> bool
13251  """
13252  return _IMP_atom.StructureSource___ne__(self, *args)
13253 
13254  def __le__(self, *args):
13255  r"""
13256  __le__(StructureSource self, StructureSource o) -> bool
13257  __le__(StructureSource self, Particle d) -> bool
13258  """
13259  return _IMP_atom.StructureSource___le__(self, *args)
13260 
13261  def __lt__(self, *args):
13262  r"""
13263  __lt__(StructureSource self, StructureSource o) -> bool
13264  __lt__(StructureSource self, Particle d) -> bool
13265  """
13266  return _IMP_atom.StructureSource___lt__(self, *args)
13267 
13268  def __ge__(self, *args):
13269  r"""
13270  __ge__(StructureSource self, StructureSource o) -> bool
13271  __ge__(StructureSource self, Particle d) -> bool
13272  """
13273  return _IMP_atom.StructureSource___ge__(self, *args)
13274 
13275  def __gt__(self, *args):
13276  r"""
13277  __gt__(StructureSource self, StructureSource o) -> bool
13278  __gt__(StructureSource self, Particle d) -> bool
13279  """
13280  return _IMP_atom.StructureSource___gt__(self, *args)
13281 
13282  def __hash__(self):
13283  r"""__hash__(StructureSource self) -> std::size_t"""
13284  return _IMP_atom.StructureSource___hash__(self)
13285 
13286  def __str__(self):
13287  r"""__str__(StructureSource self) -> std::string"""
13288  return _IMP_atom.StructureSource___str__(self)
13289 
13290  def __repr__(self):
13291  r"""__repr__(StructureSource self) -> std::string"""
13292  return _IMP_atom.StructureSource___repr__(self)
13293 
13294  def _get_as_binary(self):
13295  r"""_get_as_binary(StructureSource self) -> PyObject *"""
13296  return _IMP_atom.StructureSource__get_as_binary(self)
13297 
13298  def _set_from_binary(self, p):
13299  r"""_set_from_binary(StructureSource self, PyObject * p)"""
13300  return _IMP_atom.StructureSource__set_from_binary(self, p)
13301 
13302  def __getstate__(self):
13303  p = self._get_as_binary()
13304  if len(self.__dict__) > 1:
13305  d = self.__dict__.copy()
13306  del d['this']
13307  p = (d, p)
13308  return p
13309 
13310  def __setstate__(self, p):
13311  if not hasattr(self, 'this'):
13312  self.__init__()
13313  if isinstance(p, tuple):
13314  d, p = p
13315  self.__dict__.update(d)
13316  return self._set_from_binary(p)
13317 
13318  __swig_destroy__ = _IMP_atom.delete_StructureSource
13319 
13320 # Register StructureSource in _IMP_atom:
13321 _IMP_atom.StructureSource_swigregister(StructureSource)
13322 
13323 def __lshift__(*args):
13324  r"""
13325  __lshift__(_ostream out, Bonded n) -> _ostream
13326  __lshift__(_ostream out, Bond n) -> _ostream
13327  __lshift__(_ostream out, Hierarchy n) -> _ostream
13328  __lshift__(_ostream out, Angle n) -> _ostream
13329  __lshift__(_ostream out, Dihedral n) -> _ostream
13330  __lshift__(_ostream out, CenterOfMass n) -> _ostream
13331  __lshift__(_ostream out, Diffusion n) -> _ostream
13332  __lshift__(_ostream out, RigidBodyDiffusion n) -> _ostream
13333  __lshift__(_ostream out, TAMDParticle n) -> _ostream
13334  __lshift__(_ostream out, Charged n) -> _ostream
13335  __lshift__(_ostream out, Domain n) -> _ostream
13336  __lshift__(_ostream out, LennardJonesTyped n) -> _ostream
13337  __lshift__(_ostream out, Fragment n) -> _ostream
13338  __lshift__(_ostream out, SecondaryStructureResidue n) -> _ostream
13339  __lshift__(_ostream out, Atom n) -> _ostream
13340  __lshift__(_ostream out, Residue n) -> _ostream
13341  __lshift__(_ostream out, Representation n) -> _ostream
13342  __lshift__(_ostream out, State n) -> _ostream
13343  __lshift__(_ostream out, Molecule n) -> _ostream
13344  __lshift__(_ostream out, Copy n) -> _ostream
13345  __lshift__(_ostream out, Chain n) -> _ostream
13346  __lshift__(_ostream out, StructureSource n) -> _ostream
13347  """
13348  return _IMP_atom.__lshift__(*args)
13349 class HelixRestraint(IMP.Restraint):
13350  r"""Proxy of C++ IMP::atom::HelixRestraint class."""
13351 
13352  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13353 
13354  def __init__(self, rs, ideal=True):
13355  r"""__init__(HelixRestraint self, IMP::atom::Residues rs, bool ideal=True) -> HelixRestraint"""
13356  _IMP_atom.HelixRestraint_swiginit(self, _IMP_atom.new_HelixRestraint(rs, ideal))
13357 
13358  def get_number_of_bonds(self):
13359  r"""get_number_of_bonds(HelixRestraint self) -> int"""
13360  return _IMP_atom.HelixRestraint_get_number_of_bonds(self)
13361 
13362  def get_number_of_dihedrals(self):
13363  r"""get_number_of_dihedrals(HelixRestraint self) -> int"""
13364  return _IMP_atom.HelixRestraint_get_number_of_dihedrals(self)
13365 
13366  def do_get_inputs(self):
13367  r"""do_get_inputs(HelixRestraint self) -> IMP::ModelObjectsTemp"""
13368  return _IMP_atom.HelixRestraint_do_get_inputs(self)
13369 
13370  def get_version_info(self):
13371  r"""get_version_info(HelixRestraint self) -> VersionInfo"""
13372  return _IMP_atom.HelixRestraint_get_version_info(self)
13373  __swig_destroy__ = _IMP_atom.delete_HelixRestraint
13374 
13375  def __str__(self):
13376  r"""__str__(HelixRestraint self) -> std::string"""
13377  return _IMP_atom.HelixRestraint___str__(self)
13378 
13379  def __repr__(self):
13380  r"""__repr__(HelixRestraint self) -> std::string"""
13381  return _IMP_atom.HelixRestraint___repr__(self)
13382 
13383  @staticmethod
13384  def get_from(o):
13385  return _object_cast_to_HelixRestraint(o)
13386 
13387 
13388 # Register HelixRestraint in _IMP_atom:
13389 _IMP_atom.HelixRestraint_swigregister(HelixRestraint)
13390 
13392  r"""get_transformation_aligning_first_to_second(Selection s1, Selection s2) -> Transformation3D"""
13393  return _IMP_atom.get_transformation_aligning_first_to_second(s1, s2)
13394 
13395 def show_molecular_hierarchy(*args):
13396  r"""show_molecular_hierarchy(Hierarchy h, _ostream out=std::cout) -> _ostream"""
13397  return _IMP_atom.show_molecular_hierarchy(*args)
13398 class CHARMMBond(object):
13399  r"""Proxy of C++ IMP::atom::CHARMMConnection< 2 > class."""
13400 
13401  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13402  __repr__ = _swig_repr
13403 
13404  def __init__(self, atoms):
13405  r"""__init__(CHARMMBond self, IMP::Strings const & atoms) -> CHARMMBond"""
13406  _IMP_atom.CHARMMBond_swiginit(self, _IMP_atom.new_CHARMMBond(atoms))
13407 
13408  def get_endpoint(self, i):
13409  r"""get_endpoint(CHARMMBond self, unsigned int i) -> CHARMMBondEndpoint"""
13410  return _IMP_atom.CHARMMBond_get_endpoint(self, i)
13411 
13412  def get_contains_atom(self, name):
13413  r"""get_contains_atom(CHARMMBond self, std::string name) -> bool"""
13414  return _IMP_atom.CHARMMBond_get_contains_atom(self, name)
13415 
13416  def show(self, *args):
13417  r"""show(CHARMMBond self, _ostream out=std::cout)"""
13418  return _IMP_atom.CHARMMBond_show(self, *args)
13419  __swig_destroy__ = _IMP_atom.delete_CHARMMBond
13420 
13421 # Register CHARMMBond in _IMP_atom:
13422 _IMP_atom.CHARMMBond_swigregister(CHARMMBond)
13423 class CHARMMAngle(object):
13424  r"""Proxy of C++ IMP::atom::CHARMMConnection< 3 > class."""
13425 
13426  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13427  __repr__ = _swig_repr
13428 
13429  def __init__(self, atoms):
13430  r"""__init__(CHARMMAngle self, IMP::Strings const & atoms) -> CHARMMAngle"""
13431  _IMP_atom.CHARMMAngle_swiginit(self, _IMP_atom.new_CHARMMAngle(atoms))
13432 
13433  def get_endpoint(self, i):
13434  r"""get_endpoint(CHARMMAngle self, unsigned int i) -> CHARMMBondEndpoint"""
13435  return _IMP_atom.CHARMMAngle_get_endpoint(self, i)
13436 
13437  def get_contains_atom(self, name):
13438  r"""get_contains_atom(CHARMMAngle self, std::string name) -> bool"""
13439  return _IMP_atom.CHARMMAngle_get_contains_atom(self, name)
13440 
13441  def show(self, *args):
13442  r"""show(CHARMMAngle self, _ostream out=std::cout)"""
13443  return _IMP_atom.CHARMMAngle_show(self, *args)
13444  __swig_destroy__ = _IMP_atom.delete_CHARMMAngle
13445 
13446 # Register CHARMMAngle in _IMP_atom:
13447 _IMP_atom.CHARMMAngle_swigregister(CHARMMAngle)
13448 
13449 def _get_native_overlap_cpp(m1, m2, threshold):
13450  r"""_get_native_overlap_cpp(IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m1, IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m2, double threshold) -> double"""
13451  return _IMP_atom._get_native_overlap_cpp(m1, m2, threshold)
13452 
13453 def _get_drmsd_cpp(m0, m1):
13454  r"""_get_drmsd_cpp(IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m0, IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m1) -> double"""
13455  return _IMP_atom._get_drmsd_cpp(m0, m1)
13456 
13457 def _get_drmsd_Q_cpp(m0, m1, threshold):
13458  r"""_get_drmsd_Q_cpp(IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m0, IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m1, double threshold) -> double"""
13459  return _IMP_atom._get_drmsd_Q_cpp(m0, m1, threshold)
13460 
13461 def _get_drms_cpp(m1, m2):
13462  r"""_get_drms_cpp(IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m1, IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m2) -> double"""
13463  return _IMP_atom._get_drms_cpp(m1, m2)
13464 
13465 def _get_rigid_bodies_drms_cpp(m1, m2, ranges):
13466  r"""_get_rigid_bodies_drms_cpp(IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m1, IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m2, IMP::IntRanges const & ranges) -> double"""
13467  return _IMP_atom._get_rigid_bodies_drms_cpp(m1, m2, ranges)
13468 
13469 def get_native_overlap(a, b, d):
13470  va= [IMP.algebra.get_vector(x) for x in a]
13471  vb= [IMP.algebra.get_vector(x) for x in b]
13472  return _get_native_overlap_cpp(va, vb, d)
13473 
13474 def get_drmsd(a, b):
13475  va= [IMP.algebra.get_vector(x) for x in a]
13476  vb= [IMP.algebra.get_vector(x) for x in b]
13477  return _get_drmsd_cpp(va, vb)
13478 
13479 def get_drms(a, b):
13480  va= [IMP.algebra.get_vector(x) for x in a]
13481  vb= [IMP.algebra.get_vector(x) for x in b]
13482  return _get_drms_cpp(va, vb)
13483 
13484 def get_drmsd_Q(a, b, t):
13485  va= [IMP.algebra.get_vector(x) for x in a]
13486  vb= [IMP.algebra.get_vector(x) for x in b]
13487  return _get_drmsd_Q_cpp(va, vb, t)
13488 
13489 def get_rigid_bodies_drms(a, b, ranges):
13490  va= [IMP.algebra.get_vector(x) for x in a]
13491  vb= [IMP.algebra.get_vector(x) for x in b]
13492 #rs = [IMP.IntRange(r[0],r[1]) for r in ranges]
13493  return _get_rigid_bodies_drms_cpp(va, vb, ranges)
13494 
13495 
13496 class _LennardJonesTypedPairScore(IMP.PairScore):
13497  r"""Proxy of C++ IMP::atom::LennardJonesTypedPairScore< IMP::atom::SmoothingFunction > class."""
13498 
13499  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13500  __repr__ = _swig_repr
13501 
13502  def __init__(self, f):
13503  r"""__init__(_LennardJonesTypedPairScore self, SmoothingFunction f) -> _LennardJonesTypedPairScore"""
13504  _IMP_atom._LennardJonesTypedPairScore_swiginit(self, _IMP_atom.new__LennardJonesTypedPairScore(f))
13505 
13506  def set_repulsive_weight(self, repulsive_weight):
13507  r"""set_repulsive_weight(_LennardJonesTypedPairScore self, double repulsive_weight)"""
13508  return _IMP_atom._LennardJonesTypedPairScore_set_repulsive_weight(self, repulsive_weight)
13509 
13510  def get_repulsive_weight(self):
13511  r"""get_repulsive_weight(_LennardJonesTypedPairScore self) -> double"""
13512  return _IMP_atom._LennardJonesTypedPairScore_get_repulsive_weight(self)
13513 
13514  def set_attractive_weight(self, attractive_weight):
13515  r"""set_attractive_weight(_LennardJonesTypedPairScore self, double attractive_weight)"""
13516  return _IMP_atom._LennardJonesTypedPairScore_set_attractive_weight(self, attractive_weight)
13517 
13518  def get_attractive_weight(self):
13519  r"""get_attractive_weight(_LennardJonesTypedPairScore self) -> double"""
13520  return _IMP_atom._LennardJonesTypedPairScore_get_attractive_weight(self)
13521 
13522  def do_get_inputs(self, m, pis):
13523  r"""do_get_inputs(_LennardJonesTypedPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13524  return _IMP_atom._LennardJonesTypedPairScore_do_get_inputs(self, m, pis)
13525 
13526  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
13527  r"""evaluate_indexes(_LennardJonesTypedPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
13528  return _IMP_atom._LennardJonesTypedPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
13529 
13530  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
13531  r"""evaluate_indexes_scores(_LennardJonesTypedPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
13532  return _IMP_atom._LennardJonesTypedPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
13533 
13534  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
13535  r"""evaluate_indexes_delta(_LennardJonesTypedPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
13536  return _IMP_atom._LennardJonesTypedPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
13537 
13538  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
13539  r"""evaluate_if_good_indexes(_LennardJonesTypedPairScore 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"""
13540  return _IMP_atom._LennardJonesTypedPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
13541 
13542  def get_version_info(self):
13543  r"""get_version_info(_LennardJonesTypedPairScore self) -> VersionInfo"""
13544  return _IMP_atom._LennardJonesTypedPairScore_get_version_info(self)
13545  __swig_destroy__ = _IMP_atom.delete__LennardJonesTypedPairScore
13546 
13547  @staticmethod
13548  def get_from(o):
13549  return _object_cast_to__LennardJonesTypedPairScore(o)
13550 
13551 
13552 # Register _LennardJonesTypedPairScore in _IMP_atom:
13553 _IMP_atom._LennardJonesTypedPairScore_swigregister(_LennardJonesTypedPairScore)
13554 class _SwitchedLennardJonesTypedPairScore(IMP.PairScore):
13555  r"""Proxy of C++ IMP::atom::LennardJonesTypedPairScore< IMP::atom::ForceSwitch > class."""
13556 
13557  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13558  __repr__ = _swig_repr
13559 
13560  def __init__(self, f):
13561  r"""__init__(_SwitchedLennardJonesTypedPairScore self, ForceSwitch f) -> _SwitchedLennardJonesTypedPairScore"""
13562  _IMP_atom._SwitchedLennardJonesTypedPairScore_swiginit(self, _IMP_atom.new__SwitchedLennardJonesTypedPairScore(f))
13563 
13564  def set_repulsive_weight(self, repulsive_weight):
13565  r"""set_repulsive_weight(_SwitchedLennardJonesTypedPairScore self, double repulsive_weight)"""
13566  return _IMP_atom._SwitchedLennardJonesTypedPairScore_set_repulsive_weight(self, repulsive_weight)
13567 
13568  def get_repulsive_weight(self):
13569  r"""get_repulsive_weight(_SwitchedLennardJonesTypedPairScore self) -> double"""
13570  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_repulsive_weight(self)
13571 
13572  def set_attractive_weight(self, attractive_weight):
13573  r"""set_attractive_weight(_SwitchedLennardJonesTypedPairScore self, double attractive_weight)"""
13574  return _IMP_atom._SwitchedLennardJonesTypedPairScore_set_attractive_weight(self, attractive_weight)
13575 
13576  def get_attractive_weight(self):
13577  r"""get_attractive_weight(_SwitchedLennardJonesTypedPairScore self) -> double"""
13578  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_attractive_weight(self)
13579 
13580  def do_get_inputs(self, m, pis):
13581  r"""do_get_inputs(_SwitchedLennardJonesTypedPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13582  return _IMP_atom._SwitchedLennardJonesTypedPairScore_do_get_inputs(self, m, pis)
13583 
13584  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
13585  r"""evaluate_indexes(_SwitchedLennardJonesTypedPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, bool all_indexes_checked=False) -> double"""
13586  return _IMP_atom._SwitchedLennardJonesTypedPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
13587 
13588  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
13589  r"""evaluate_indexes_scores(_SwitchedLennardJonesTypedPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, unsigned int lower_bound, unsigned int upper_bound, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
13590  return _IMP_atom._SwitchedLennardJonesTypedPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
13591 
13592  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
13593  r"""evaluate_indexes_delta(_SwitchedLennardJonesTypedPairScore self, Model m, IMP::ParticleIndexPairs const & p, DerivativeAccumulator da, std::vector< unsigned int,std::allocator< unsigned int > > const & indexes, std::vector< double,std::allocator< double > > & score, bool all_indexes_checked=False) -> double"""
13594  return _IMP_atom._SwitchedLennardJonesTypedPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
13595 
13596  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
13597  r"""evaluate_if_good_indexes(_SwitchedLennardJonesTypedPairScore 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"""
13598  return _IMP_atom._SwitchedLennardJonesTypedPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
13599 
13600  def get_version_info(self):
13601  r"""get_version_info(_SwitchedLennardJonesTypedPairScore self) -> VersionInfo"""
13602  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_version_info(self)
13603  __swig_destroy__ = _IMP_atom.delete__SwitchedLennardJonesTypedPairScore
13604 
13605  @staticmethod
13606  def get_from(o):
13607  return _object_cast_to__SwitchedLennardJonesTypedPairScore(o)
13608 
13609 
13610 # Register _SwitchedLennardJonesTypedPairScore in _IMP_atom:
13611 _IMP_atom._SwitchedLennardJonesTypedPairScore_swigregister(_SwitchedLennardJonesTypedPairScore)
13612 
13613 class LennardJonesTypedPairScore(_SwitchedLennardJonesTypedPairScore.__bases__[0]):
13614  def __init__(self, f):
13615  if isinstance(f, ForceSwitch):
13616  p = _SwitchedLennardJonesTypedPairScore(f)
13617  else:
13618  p = _LennardJonesTypedPairScore(f)
13619  self.__dict__['_proxied'] = p
13620  def __getattr__(self, key):
13621  return getattr(self._proxied, key)
13622  def __setattr__(self, key, val):
13623  return setattr(self._proxied, key, val)
13624 
13625  @staticmethod
13626  def get_from(o):
13627  try:
13628  p = _SwitchedLennardJonesTypedPairScore.get_from(o)
13629  except ValueError:
13630  p = _LennardJonesTypedPairScore.get_from(o)
13631  obj = object.__new__(LennardJonesTypedPairScore)
13632  obj.__dict__['_proxied'] = p
13633  return obj
13634 
13635 
13636 def get_module_name():
13637  r"""get_module_name() -> std::string const"""
13638  return _IMP_atom.get_module_name()
13639 
13640 def get_module_version():
13641  r"""get_module_version() -> std::string const"""
13642  return _IMP_atom.get_module_version()
13643 
13644 def get_example_path(fname):
13645  r"""get_example_path(std::string fname) -> std::string"""
13646  return _IMP_atom.get_example_path(fname)
13647 
13648 def get_data_path(fname):
13649  r"""get_data_path(std::string fname) -> std::string"""
13650  return _IMP_atom.get_data_path(fname)
13651 
13652 from . import _version_check
13653 _version_check.check_version(get_module_version())
13654 __version__ = get_module_version()
13655 
13656 
A base class for geometry contained in particles.
A base class for modifiers of ParticlesTemp.
AtomType add_atom_type(std::string name, Element e)
Create a new AtomType.
double get_kt(double T)
Return kT for a given temperature in units of [kcal/mol].
double get_volume_from_residue_type(ResidueType rt)
Return an estimate for the volume of a given residue.
Abstract class for scoring object(s) of type ParticleIndexPair.
Definition: PairScore.h:44
A shared container for Pairs.
Definition: PairContainer.h:39
CHARMMParameters * get_heavy_atom_CHARMM_parameters()
double get_einstein_rotational_diffusion_coefficient(double r, double temp=-1)
Hierarchy read_mmcif(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector(), bool select_first_model=true)
Read all the molecules in the first model of the mmCIF file.
Float get_secondary_structure_match_score(SecondaryStructureResidue ssr1, SecondaryStructureResidue ssr2)
Compares the secondary structure probabilities of two residues.
double get_rigid_bodies_drms(const Vector3DsOrXYZs0 &m1, const Vector3DsOrXYZs1 &m2, const IMP::IntRanges &ranges)
DRMS between two sets of rigid bodies.
Chain get_chain(Hierarchy h)
Get the containing chain or Chain() if there is none.
CheckLevel get_check_level()
Get the current audit mode.
Definition: exception.h:80
Vector< AtomTypes > get_chi_dihedral_atom_types(ResidueType rt)
setup
Definition: setup.py:1
Atoms get_phi_dihedral_atoms(Residue rd)
Return the atoms comprising the phi dihedral.
void show_molecular_hierarchy(Hierarchy h)
Print out the molecular hierarchy.
double get_drms(const Vector3DsOrXYZs0 &m1, const Vector3DsOrXYZs1 &m2)
Hierarchies read_multimodel_pdb_any(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector())
Read all models from the PDB-like file.
Definition: mmcif.h:86
void remove_charmm_untyped_atoms(Hierarchy hierarchy)
Remove any atom from the Hierarchy that does not have a CHARMM type.
Hierarchies read_multimodel_bcif(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector())
Read all models from the BinaryCIF file.
double get_protein_density_from_reference(ProteinDensityReference densityReference)
void show_with_representations(Hierarchy h, std::ostream &out=std::cout)
Traverse through the tree and show atom info, including representations.
Hierarchy create_simplified_from_volume(Hierarchy h, double resolution)
void add_particles(RMF::FileHandle fh, const ParticlesTemp &hs)
double get_spring_constant_in_femto_newtons_per_angstrom(double k_in_kcal_per_mol_per_angstrom_square)
Convert spring constant from kcal/mol/A^2 to femtonewton/A.
double get_native_overlap(const Vector3DsOrXYZs0 &m1, const Vector3DsOrXYZs1 &m2, double threshold)
Computes the native overlap between two sets of 3D points.
Various classes to hold sets of particles.
The base class for geometry.
IMP::core::RigidBody create_compatible_rigid_body(Hierarchy h, Hierarchy reference)
Rigidify a molecule or collection of molecules.
Hierarchy create_simplified_along_backbone(Hierarchy input, int num_res, bool keep_detailed=false)
double get_drmsd(const Vector3DsOrXYZs0 &m0, const Vector3DsOrXYZs1 &m1)
Calculate distance the root mean square deviation between two sets of 3D points.
Definition: atom/distance.h:49
Vector< VectorD< D > > get_vertices(const BoundingBoxD< D > &bb)
Return a list of the 2^D bounding points for the bounding box.
Definition: BoundingBoxD.h:281
double get_mass(ResidueType c)
Get the mass from the residue type.
void add_radii(Hierarchy d, const ForceFieldParameters *ffp=get_all_atom_CHARMM_parameters(), FloatKey radius_key=FloatKey("radius"))
Add vdW radius from given force field.
A base class for geometry from a set of particles.
double get_dihedral(XYZ a, XYZ b, XYZ c, XYZ d)
Compute the dihedral angle (in radians) between the four particles.
double get_mass_from_number_of_residues(unsigned int num_aa)
Estimate the mass of a protein from the number of amino acids.
Make CGAL functionality available to IMP.
Provenance create_clone(Provenance p)
Clone provenance (including previous provenance)
Atoms get_omega_dihedral_atoms(Residue rd)
Return the atoms comprising the omega dihedral.
ParticleIndexQuads get_chi_dihedral_particle_indexes(Residue rd)
void write_pdb(const Selection &mhd, TextOutput out, unsigned int model=1)
void setup_as_approximation(Particle *h, const ParticlesTemp &other)
ParticlesTemp get_particles(Model *m, const ParticleIndexes &ps)
Get the particles from a list of indexes.
double get_mass_from_volume(double v, ProteinDensityReference ref=ALBER)
Estimate the mass of a protein from its volume.
void destroy_bond(Bond b)
Destroy the bond connecting two particles.
HierarchyTree get_hierarchy_tree(Hierarchy h)
Get a graph for the passed Hierarchy.
void add_particle(RMF::FileHandle fh, Particle *hs)
Atoms get_charmm_untyped_atoms(Hierarchy hierarchy)
Get all atoms in the Hierarchy that do not have CHARMM types.
std::string get_data_path(std::string file_name)
Return the full path to one of this module's data files.
char get_one_letter_code(ResidueType c)
Get the 1-letter amino acid code from the residue type.
Atom get_atom(Residue rd, AtomType at)
Return a particle atom from the residue.
Composable functors to implement scores via compile-time composition.
double get_angle(const Line3D &a, const Line3D &b)
Get angle in radians between two lines around their closest points.
Hierarchy read_bcif(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector(), bool select_first_model=true)
Read all the molecules in the first model of the BinaryCIF file.
Restraint * create_excluded_volume_restraint(const Hierarchies &hs, double resolution=-1)
Bond create_custom_bond(Bonded a, Bonded b, Float length, Float stiffness=-1)
Connect the two wrapped particles by a custom bond.
void write_pdb_of_c_alphas(const Selection &mhd, TextOutput out, unsigned int model=1)
Write a hierarchy to a PDB as C_alpha atoms.
Hierarchies read_multimodel_mmcif(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector())
Read all models from the mmCIF file.
double get_kd(double na, double nb, double nab, double volume)
Definition: estimates.h:101
double get_diffusion_angle(double D, double dtfs)
IMP::algebra::Transformation3D get_transformation_aligning_first_to_second(const Vector3DsOrXYZs0 &source, const Vector3DsOrXYZs1 &target)
Compute the rigid transform bringing the first point set to the second.
bool get_atom_type_exists(std::string name)
Return true if that atom type already exists.
Hierarchy read_pdb_any(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector(), bool select_first_model=true)
Read all the molecules in the first model of the PDB-like file.
Definition: mmcif.h:61
double get_volume(const BoundingBoxD< D > &bb)
See BoundingBoxD.
Definition: BoundingBoxD.h:170
FloatPair get_component_placement_score(const core::XYZs &ref1, const core::XYZs &ref2, const core::XYZs &mdl1, const core::XYZs &mdl2)
Measure the difference between two placements of the same set of points.
void transform(Hierarchy h, const algebra::Transformation3D &tr)
Transform a hierarchy. This is aware of rigid bodies.
core::XYZR create_cover(const Selection &s, std::string name=std::string())
double get_volume_from_mass(double m, ProteinDensityReference ref=ALBER)
Estimate the volume of a protein from its mass.
Ints get_index(const ParticlesTemp &particles, const Subset &subset, const Subsets &excluded)
Common base class for heavy weight IMP objects.
Definition: Object.h:111
Hierarchy create_protein(Model *m, std::string name, double target_radius, int number_of_residues, int first_residue_index=0, double volume=-1)
Create a coarse grained molecule.
Atoms get_psi_dihedral_atoms(Residue rd)
Return the atoms comprising the psi dihedral.
Abstract class for scoring object(s) of type ParticleIndex.
ParticlesTemp get_order(const Subset &s, const SubsetFilterTables &sft)
Bond create_bond(Bonded a, Bonded b, Int t)
Connect the two wrapped particles by a bond.
double get_rotational_diffusion_coefficient(const algebra::Rotation3Ds &orientations, double dt)
Base class for all optimizers.
Definition: Optimizer.h:48
double get_rmsd(const Vector3DsOrXYZs0 &m1, const Vector3DsOrXYZs1 &m2)
Hierarchy get_previous_residue(Residue rd)
Return the residue from the same chain with one lower index.
SecondaryStructureResidue setup_coarse_secondary_structure_residue(const Particles &ssr_ps, Model *mdl, bool winner_takes_all_per_res=false)
Coarsen some SecondaryStructureResidues.
double get_molarity(double n, double volume)
Definition: estimates.h:92
boost::graph HierarchyTree
A graph for representing a Hierarchy so you can view it nicely.
Hierarchy read_mol2(TextInput mol2_file, Model *model, Mol2Selector *mol2sel=nullptr)
Create a hierarchy from a Mol2 file.
double get_radius_of_gyration(const Vector3Ds &ps)
Return the radius of gyration of a set of points.
Definition: Vector3D.h:77
A decorator for a particle with x,y,z coordinates.
Definition: XYZ.h:30
void add_loop_statistical_score_data(atom::Hierarchy h)
Restraint * create_internal_connectivity_restraint(const Selection &s, double k, std::string name="Connectivity%1%")
Create a restraint connecting the selection.
void write_mol2(Hierarchy rhd, TextOutput file_name)
Write a ligand hierarchy as a mol2 file.
Hierarchy read_pdb(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector(), bool select_first_model=true)
Read all the molecules in the first model of the PDB file.
int get_state_index(Hierarchy h)
Walk up the hierarchy to find the current state.
SecondaryStructureResidues setup_coarse_secondary_structure_residues(const Particles &ssr_ps, Model *mdl, int coarse_factor, int start_res_num, bool winner_takes_all_per_res=false)
void add_protein_ligand_score_data(Hierarchy h)
Interface to specialized Particle types (e.g. atoms)
Definition: Decorator.h:119
std::string get_molecule_name(Hierarchy h)
std::ostream & show(Hierarchy h, std::ostream &out=std::cout)
Print the hierarchy using a given decorator to display each node.
Vector< Atoms > get_chi_dihedral_atoms(Residue rd)
double get_pairwise_rmsd_score(const core::XYZs &ref1, const core::XYZs &ref2, const core::XYZs &mdl1, const core::XYZs &mdl2)
Measure the RMSD between two placements of the same set of points.
double get_force_in_femto_newtons(double force_in_kcal_per_mol_per_angstrom)
Convert force from kcal/mol/A to femtonewtons.
Basic functionality that is expected to be used by a wide variety of IMP users.
Abstract predicate function.
Definition: PairPredicate.h:31
General purpose algebraic and geometric methods that are expected to be used by a wide variety of IMP...
Hierarchies read_multimodel_pdb(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector())
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.
Residue get_residue(Atom d, bool nothrow=false)
Return the Residue containing this atom.
Shared optimizer state that is invoked upon commitment of new coordinates.
Hierarchy get_root(Hierarchy h)
Return the root of the hierarchy.
Abstract class to implement hierarchical methods.
Definition: Refiner.h:34
void add_dope_score_data(atom::Hierarchy h)
Bond get_bond(Bonded a, Bonded b)
Get the bond between two particles.
std::string show_graphviz(Graph g)
Restraint * create_distance_restraint(const Selection &n0, const Selection &n1, double x0, double k, std::string name="Distance%1%")
Representation get_representation(Hierarchy h, bool nothrow=false)
Return the Representation object containing this hierarchy.
FloatPair get_placement_score(const core::XYZs &source, const core::XYZs &target)
Measure the difference between two placements of the same set of points.
void write_multimodel_pdb(const Hierarchies &mhd, TextOutput out)
int get_copy_index(Hierarchy h)
Walk up the hierarchy to find the current copy index.
A decorator for helping deal with a generalized hierarchy.
double get_maximum_time_step_estimate(BrownianDynamics *bd)
double get_diffusion_coefficient(const algebra::Vector3Ds &displacements, double dt)
double get_surface_area(const Geometry &)
Compute the surface area of any volumetric object.
double get_resolution(Model *m, ParticleIndex pi)
Estimate the resolution of the hierarchy as used by Representation.
double get_rmsd_transforming_first(const Transformation3D &tr, const Vector3DsOrXYZs0 &m1, const Vector3DsOrXYZs1 &m2)
Calculate the root mean square deviation between two sets of 3D points.
Hierarchy create_simplified_assembly_from_volume(Hierarchy h, double resolution)
Output IMP model data in various file formats.
std::string get_chain_id(Hierarchy h)
Walk up the hierarchy to determine the chain id.
IMP::core::RigidBody create_rigid_body(const Hierarchies &h, std::string name=std::string("created rigid body"))
Rigidify a molecule or collection of molecules.
CHARMMParameters * get_all_atom_CHARMM_parameters()
Hierarchies get_leaves(const Selection &h)
double get_einstein_diffusion_coefficient(double r, double temp=-1)
double get_drmsd_Q(const Vector3DsOrXYZs0 &m0, const Vector3DsOrXYZs1 &m1, double threshold)
Definition: atom/distance.h:85
DensityMap * get_segment(DensityMap *map_to_segment, int nx_start, int nx_end, int ny_start, int ny_end, int nz_start, int nz_end)
Get a segment of the map according to xyz indexes.
Applies a PairScore to each Pair in a list.
Hierarchy get_next_residue(Residue rd)
Return the residue from the same chain with one higher index.
Restraint * create_connectivity_restraint(const Selections &s, double k, std::string name="Connectivity%1%")
Create a restraint connecting the selections.
void add_bonds(Hierarchy d, const ForceFieldParameters *ffp=get_all_atom_CHARMM_parameters())
Add bonds using definitions from given force field parameters.
void set_check_level(CheckLevel tf)
Control runtime checks in the code.
Definition: exception.h:72
double get_diffusion_length(double D, double t)
std::string get_module_version()
Return the version of this module, as a string.
A restraint is a term in an IMP ScoringFunction.
Definition: Restraint.h:56