IMP logo
IMP Reference Guide  develop.db6c671c01,2026/10/13
The Integrative Modeling Platform
atom/__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.5.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 import functools
14 
15 
16 
17 import typing
18 import _IMP_atom
19 
20 import builtins as __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 class _SwigNonDynamicMeta(type):
53  """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
54  __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
55 
56 
57 import weakref
58 
59 class IMP_ATOM_SwigPyIterator(object):
60  r"""Proxy of C++ swig::IMP_ATOM_SwigPyIterator class."""
61 
62  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
63 
64  def __init__(self, *args, **kwargs):
65  raise AttributeError("No constructor defined - class is abstract")
66  __repr__ = _swig_repr
67  __swig_destroy__ = _IMP_atom.delete_IMP_ATOM_SwigPyIterator
68 
69  def value(self):
70  r"""value(IMP_ATOM_SwigPyIterator self) -> PyObject *"""
71  return _IMP_atom.IMP_ATOM_SwigPyIterator_value(self)
72 
73  def incr(self, n=1):
74  r"""incr(IMP_ATOM_SwigPyIterator self, size_t n=1) -> IMP_ATOM_SwigPyIterator"""
75  return _IMP_atom.IMP_ATOM_SwigPyIterator_incr(self, n)
76 
77  def decr(self, n=1):
78  r"""decr(IMP_ATOM_SwigPyIterator self, size_t n=1) -> IMP_ATOM_SwigPyIterator"""
79  return _IMP_atom.IMP_ATOM_SwigPyIterator_decr(self, n)
80 
81  def distance(self, x):
82  r"""distance(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> ptrdiff_t"""
83  return _IMP_atom.IMP_ATOM_SwigPyIterator_distance(self, x)
84 
85  def equal(self, x):
86  r"""equal(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> bool"""
87  return _IMP_atom.IMP_ATOM_SwigPyIterator_equal(self, x)
88 
89  def copy(self):
90  r"""copy(IMP_ATOM_SwigPyIterator self) -> IMP_ATOM_SwigPyIterator"""
91  return _IMP_atom.IMP_ATOM_SwigPyIterator_copy(self)
92 
93  def __next__(self):
94  r"""__next__(IMP_ATOM_SwigPyIterator self) -> PyObject *"""
95  return _IMP_atom.IMP_ATOM_SwigPyIterator___next__(self)
96 
97  def previous(self):
98  r"""previous(IMP_ATOM_SwigPyIterator self) -> PyObject *"""
99  return _IMP_atom.IMP_ATOM_SwigPyIterator_previous(self)
100 
101  def advance(self, n):
102  r"""advance(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator"""
103  return _IMP_atom.IMP_ATOM_SwigPyIterator_advance(self, n)
104 
105  def __eq__(self, x):
106  r"""__eq__(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> bool"""
107  return _IMP_atom.IMP_ATOM_SwigPyIterator___eq__(self, x)
108 
109  def __ne__(self, x):
110  r"""__ne__(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> bool"""
111  return _IMP_atom.IMP_ATOM_SwigPyIterator___ne__(self, x)
112 
113  def __iadd__(self, n):
114  r"""__iadd__(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator"""
115  return _IMP_atom.IMP_ATOM_SwigPyIterator___iadd__(self, n)
116 
117  def __isub__(self, n):
118  r"""__isub__(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator"""
119  return _IMP_atom.IMP_ATOM_SwigPyIterator___isub__(self, n)
120 
121  def __add__(self, n):
122  r"""__add__(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator"""
123  return _IMP_atom.IMP_ATOM_SwigPyIterator___add__(self, n)
124 
125  def __sub__(self, *args):
126  r"""
127  __sub__(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator
128  __sub__(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> ptrdiff_t
129  """
130  return _IMP_atom.IMP_ATOM_SwigPyIterator___sub__(self, *args)
131  def __iter__(self):
132  return self
133 
134 # Register IMP_ATOM_SwigPyIterator in _IMP_atom:
135 _IMP_atom.IMP_ATOM_SwigPyIterator_swigregister(IMP_ATOM_SwigPyIterator)
136 
137 _value_types=[]
138 _object_types=[]
139 _raii_types=[]
140 _plural_types=[]
141 
142 IMP_DEBUG = _IMP_atom.IMP_DEBUG
143 
144 IMP_RELEASE = _IMP_atom.IMP_RELEASE
145 
146 IMP_SILENT = _IMP_atom.IMP_SILENT
147 
148 IMP_PROGRESS = _IMP_atom.IMP_PROGRESS
149 
150 IMP_TERSE = _IMP_atom.IMP_TERSE
151 
152 IMP_VERBOSE = _IMP_atom.IMP_VERBOSE
153 
154 IMP_MEMORY = _IMP_atom.IMP_MEMORY
155 
156 IMP_NONE = _IMP_atom.IMP_NONE
157 
158 IMP_USAGE = _IMP_atom.IMP_USAGE
159 
160 IMP_INTERNAL = _IMP_atom.IMP_INTERNAL
161 
162 IMP_KERNEL_HAS_LOG4CXX = _IMP_atom.IMP_KERNEL_HAS_LOG4CXX
163 
164 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_atom.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
165 
166 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_atom.IMP_COMPILER_HAS_DEBUG_VECTOR
167 
168 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_atom.IMP_COMPILER_HAS_RANDOM_SHUFFLE
169 
170 IMP_COMPILER_HAS_THREE_WAY = _IMP_atom.IMP_COMPILER_HAS_THREE_WAY
171 
172 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_atom.IMP_KERNEL_HAS_BOOST_RANDOM
173 
174 IMP_KERNEL_HAS_NUMPY = _IMP_atom.IMP_KERNEL_HAS_NUMPY
175 
176 IMP_KERNEL_HAS_BOOST_SYSTEM = _IMP_atom.IMP_KERNEL_HAS_BOOST_SYSTEM
177 
178 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_atom.IMP_KERNEL_HAS_GPERFTOOLS
179 
180 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_atom.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
181 
182 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_atom.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
183 
184 IMPKERNEL_SHOW_WARNINGS = _IMP_atom.IMPKERNEL_SHOW_WARNINGS
185 
186 
187 import sys
188 class _DirectorObjects:
189  """@internal Simple class to keep references to director objects
190  to prevent premature deletion."""
191  def __init__(self):
192  self._objects = []
193  def register(self, obj):
194  """Take a reference to a director object; will only work for
195  refcounted C++ classes"""
196  if hasattr(obj, 'get_ref_count'):
197  self._objects.append(obj)
198  def cleanup(self):
199  """Only drop our reference and allow cleanup by Python if no other
200  Python references exist (we hold 3 references: one in self._objects,
201  one in x, and one in the argument list for getrefcount) *and* no
202  other C++ references exist (the Python object always holds one)"""
203  objs = [x for x in self._objects if sys.getrefcount(x) > 3 \
204  or x.get_ref_count() > 1]
205 # Do in two steps so the references are kept until the end of the
206 # function (deleting references may trigger a fresh call to this method)
207  self._objects = objs
208  def get_object_count(self):
209  """Get number of director objects (useful for testing only)"""
210  return len(self._objects)
211 _director_objects = _DirectorObjects()
212 
213 class _ostream(object):
214  r"""Proxy of C++ std::ostream class."""
215 
216  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
217 
218  def __init__(self, *args, **kwargs):
219  raise AttributeError("No constructor defined")
220  __repr__ = _swig_repr
221 
222  def write(self, osa_buf):
223  r"""write(_ostream self, char const * osa_buf)"""
224  return _IMP_atom._ostream_write(self, osa_buf)
225 
226 # Register _ostream in _IMP_atom:
227 _IMP_atom._ostream_swigregister(_ostream)
228 IMP_C_OPEN_BINARY = _IMP_atom.IMP_C_OPEN_BINARY
229 
230 import IMP
231 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_CGAL_HAS_BOOST_FILESYSTEM
232 
233 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
234 
235 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_atom.IMP_CGAL_HAS_BOOST_RANDOM
236 
237 IMP_CGAL_HAS_NUMPY = _IMP_atom.IMP_CGAL_HAS_NUMPY
238 
239 IMPCGAL_SHOW_WARNINGS = _IMP_atom.IMPCGAL_SHOW_WARNINGS
240 
241 import IMP.cgal
242 IMP_ALGEBRA_HAS_IMP_CGAL = _IMP_atom.IMP_ALGEBRA_HAS_IMP_CGAL
243 
244 IMP_ALGEBRA_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_ALGEBRA_HAS_BOOST_FILESYSTEM
245 
246 IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS
247 
248 IMP_ALGEBRA_HAS_BOOST_RANDOM = _IMP_atom.IMP_ALGEBRA_HAS_BOOST_RANDOM
249 
250 IMP_ALGEBRA_HAS_CGAL = _IMP_atom.IMP_ALGEBRA_HAS_CGAL
251 
252 IMP_ALGEBRA_HAS_NUMPY = _IMP_atom.IMP_ALGEBRA_HAS_NUMPY
253 
254 IMP_ALGEBRA_HAS_ANN = _IMP_atom.IMP_ALGEBRA_HAS_ANN
255 
256 IMPALGEBRA_SHOW_WARNINGS = _IMP_atom.IMPALGEBRA_SHOW_WARNINGS
257 
258 import IMP.algebra
259 IMP_DISPLAY_HAS_IMP_CGAL = _IMP_atom.IMP_DISPLAY_HAS_IMP_CGAL
260 
261 IMP_DISPLAY_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_DISPLAY_HAS_BOOST_FILESYSTEM
262 
263 IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS
264 
265 IMP_DISPLAY_HAS_BOOST_RANDOM = _IMP_atom.IMP_DISPLAY_HAS_BOOST_RANDOM
266 
267 IMP_DISPLAY_HAS_CGAL = _IMP_atom.IMP_DISPLAY_HAS_CGAL
268 
269 IMP_DISPLAY_HAS_NUMPY = _IMP_atom.IMP_DISPLAY_HAS_NUMPY
270 
271 IMPDISPLAY_SHOW_WARNINGS = _IMP_atom.IMPDISPLAY_SHOW_WARNINGS
272 
273 import IMP.display
274 IMP_SCORE_FUNCTOR_HAS_IMP_CGAL = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_IMP_CGAL
275 
276 IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM
277 
278 IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS
279 
280 IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM
281 
282 IMP_SCORE_FUNCTOR_HAS_CGAL = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_CGAL
283 
284 IMP_SCORE_FUNCTOR_HAS_HDF5 = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_HDF5
285 
286 IMP_SCORE_FUNCTOR_HAS_NUMPY = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_NUMPY
287 
288 IMPSCOREFUNCTOR_SHOW_WARNINGS = _IMP_atom.IMPSCOREFUNCTOR_SHOW_WARNINGS
289 
290 import IMP.score_functor
291 IMP_CORE_HAS_IMP_CGAL = _IMP_atom.IMP_CORE_HAS_IMP_CGAL
292 
293 IMP_CORE_HAS_IMP_KERNEL = _IMP_atom.IMP_CORE_HAS_IMP_KERNEL
294 
295 IMP_CORE_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_CORE_HAS_BOOST_FILESYSTEM
296 
297 IMP_CORE_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_CORE_HAS_BOOST_PROGRAMOPTIONS
298 
299 IMP_CORE_HAS_BOOST_RANDOM = _IMP_atom.IMP_CORE_HAS_BOOST_RANDOM
300 
301 IMP_CORE_HAS_CGAL = _IMP_atom.IMP_CORE_HAS_CGAL
302 
303 IMP_CORE_HAS_HDF5 = _IMP_atom.IMP_CORE_HAS_HDF5
304 
305 IMP_CORE_HAS_NUMPY = _IMP_atom.IMP_CORE_HAS_NUMPY
306 
307 IMPCORE_SHOW_WARNINGS = _IMP_atom.IMPCORE_SHOW_WARNINGS
308 
309 import IMP.core
310 IMP_CONTAINER_HAS_IMP_ALGEBRA = _IMP_atom.IMP_CONTAINER_HAS_IMP_ALGEBRA
311 
312 IMP_CONTAINER_HAS_IMP_CGAL = _IMP_atom.IMP_CONTAINER_HAS_IMP_CGAL
313 
314 IMP_CONTAINER_HAS_IMP_DISPLAY = _IMP_atom.IMP_CONTAINER_HAS_IMP_DISPLAY
315 
316 IMP_CONTAINER_HAS_IMP_KERNEL = _IMP_atom.IMP_CONTAINER_HAS_IMP_KERNEL
317 
318 IMP_CONTAINER_HAS_IMP_SCORE_FUNCTOR = _IMP_atom.IMP_CONTAINER_HAS_IMP_SCORE_FUNCTOR
319 
320 IMP_CONTAINER_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_CONTAINER_HAS_BOOST_FILESYSTEM
321 
322 IMP_CONTAINER_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_CONTAINER_HAS_BOOST_PROGRAMOPTIONS
323 
324 IMP_CONTAINER_HAS_BOOST_RANDOM = _IMP_atom.IMP_CONTAINER_HAS_BOOST_RANDOM
325 
326 IMP_CONTAINER_HAS_CGAL = _IMP_atom.IMP_CONTAINER_HAS_CGAL
327 
328 IMP_CONTAINER_HAS_HDF5 = _IMP_atom.IMP_CONTAINER_HAS_HDF5
329 
330 IMP_CONTAINER_HAS_NUMPY = _IMP_atom.IMP_CONTAINER_HAS_NUMPY
331 
332 IMP_CONTAINER_HAS_PYTHON_IHM = _IMP_atom.IMP_CONTAINER_HAS_PYTHON_IHM
333 
334 IMP_CONTAINER_HAS_GOOGLE_DENSE_HASH_MAP = _IMP_atom.IMP_CONTAINER_HAS_GOOGLE_DENSE_HASH_MAP
335 
336 IMP_CONTAINER_HAS_ROBIN_MAP = _IMP_atom.IMP_CONTAINER_HAS_ROBIN_MAP
337 
338 IMPCONTAINER_SHOW_WARNINGS = _IMP_atom.IMPCONTAINER_SHOW_WARNINGS
339 
340 import IMP.container
341 IMP_ATOM_HAS_IMP_CGAL = _IMP_atom.IMP_ATOM_HAS_IMP_CGAL
342 
343 IMP_ATOM_HAS_IMP_KERNEL = _IMP_atom.IMP_ATOM_HAS_IMP_KERNEL
344 
345 IMP_ATOM_HAS_IMP_SCORE_FUNCTOR = _IMP_atom.IMP_ATOM_HAS_IMP_SCORE_FUNCTOR
346 
347 IMP_ATOM_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_ATOM_HAS_BOOST_PROGRAMOPTIONS
348 
349 IMP_ATOM_HAS_BOOST_RANDOM = _IMP_atom.IMP_ATOM_HAS_BOOST_RANDOM
350 
351 IMP_ATOM_HAS_BOOST_REGEX = _IMP_atom.IMP_ATOM_HAS_BOOST_REGEX
352 
353 IMP_ATOM_HAS_CGAL = _IMP_atom.IMP_ATOM_HAS_CGAL
354 
355 IMP_ATOM_HAS_HDF5 = _IMP_atom.IMP_ATOM_HAS_HDF5
356 
357 IMP_ATOM_HAS_NUMPY = _IMP_atom.IMP_ATOM_HAS_NUMPY
358 
359 IMP_ATOM_HAS_PYTHON_IHM = _IMP_atom.IMP_ATOM_HAS_PYTHON_IHM
360 
361 IMPATOM_SHOW_WARNINGS = _IMP_atom.IMPATOM_SHOW_WARNINGS
362 
363 IMP_ATOM_TYPE_INDEX = _IMP_atom.IMP_ATOM_TYPE_INDEX
364 
365 IMP_RESIDUE_TYPE_INDEX = _IMP_atom.IMP_RESIDUE_TYPE_INDEX
366 
367 IMP_HIERARCHY_TYPE_INDEX = _IMP_atom.IMP_HIERARCHY_TYPE_INDEX
368 
369 IMP_CHAIN_TYPE_INDEX = _IMP_atom.IMP_CHAIN_TYPE_INDEX
370 
372  r"""Proxy of C++ IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex > class."""
373 
374  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
375  __repr__ = _swig_repr
376 
377  def __init__(self):
378  r"""__init__(HierarchyTree self) -> HierarchyTree"""
379  _IMP_atom.HierarchyTree_swiginit(self, _IMP_atom.new_HierarchyTree())
380 
381  def get_graph(self):
382  r"""get_graph(HierarchyTree self) -> IMP::atom::HierarchyTree const &"""
383  return _IMP_atom.HierarchyTree_get_graph(self)
384 
385  def get_vertices(self):
386  r"""get_vertices(HierarchyTree self) -> IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptors"""
387  return _IMP_atom.HierarchyTree_get_vertices(self)
388 
389  def get_vertex_name(self, i):
390  r"""get_vertex_name(HierarchyTree self, IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptor i) -> Hierarchy"""
391  return _IMP_atom.HierarchyTree_get_vertex_name(self, i)
392 
393  def get_in_neighbors(self, v):
394  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"""
395  return _IMP_atom.HierarchyTree_get_in_neighbors(self, v)
396 
397  def get_out_neighbors(self, v):
398  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"""
399  return _IMP_atom.HierarchyTree_get_out_neighbors(self, v)
400 
401  def show_graphviz(self, *args):
402  r"""show_graphviz(HierarchyTree self, _ostream out=std::cout)"""
403  return _IMP_atom.HierarchyTree_show_graphviz(self, *args)
404 
405  def get_graphviz_string(self):
406  r"""get_graphviz_string(HierarchyTree self) -> std::string"""
407  return _IMP_atom.HierarchyTree_get_graphviz_string(self)
408 
409  def add_edge(self, v0, v1):
410  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)"""
411  return _IMP_atom.HierarchyTree_add_edge(self, v0, v1)
412 
413  def add_vertex(self, l):
414  r"""add_vertex(HierarchyTree self, Hierarchy l) -> IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptor"""
415  return _IMP_atom.HierarchyTree_add_vertex(self, l)
416 
417  def remove_vertex(self, l):
418  r"""remove_vertex(HierarchyTree self, IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptor l)"""
419  return _IMP_atom.HierarchyTree_remove_vertex(self, l)
420  __swig_destroy__ = _IMP_atom.delete_HierarchyTree
421 
422 # Register HierarchyTree in _IMP_atom:
423 _IMP_atom.HierarchyTree_swigregister(HierarchyTree)
424 
425 _value_types.append("HierarchyTree")
426 
427 
428 PDBRecords=list
429 _plural_types.append("PDBRecords")
430 _value_types.append("PDBRecord")
431 
432 
433 _object_types.append("LennardJonesType")
434 
435 
436 def _object_cast_to_LennardJonesType(o):
437  r"""_object_cast_to_LennardJonesType(Object o) -> LennardJonesType"""
438  return _IMP_atom._object_cast_to_LennardJonesType(o)
439 
440 _object_types.append("PDBSelector")
441 
442 
443 def _object_cast_to_PDBSelector(o):
444  r"""_object_cast_to_PDBSelector(Object o) -> PDBSelector"""
445  return _IMP_atom._object_cast_to_PDBSelector(o)
446 
447 def Angles(l=[]):
448  return [Angle(x) for x in l]
449 _plural_types.append("Angles")
450 
451 
452 _value_types.append("Angle")
453 
454 
455 def Atoms(l=[]):
456  return [Atom(x) for x in l]
457 _plural_types.append("Atoms")
458 
459 
460 _value_types.append("Atom")
461 
462 
463 def Bonds(l=[]):
464  return [Bond(x) for x in l]
465 _plural_types.append("Bonds")
466 
467 
468 _value_types.append("Bond")
469 
470 
471 def Bondeds(l=[]):
472  return [Bonded(x) for x in l]
473 _plural_types.append("Bondeds")
474 
475 
476 _value_types.append("Bonded")
477 
478 
479 def CHARMMAtomList(l=[]):
480  return [CHARMMAtom(x) for x in l]
481 _plural_types.append("CHARMMAtomList")
482 
483 
484 _value_types.append("CHARMMAtom")
485 
486 
487 def Chains(l=[]):
488  return [Chain(x) for x in l]
489 _plural_types.append("Chains")
490 
491 
492 _value_types.append("Chain")
493 
494 
495 def CenterOfMasses(l=[]):
496  return [CenterOfMass(x) for x in l]
497 _plural_types.append("CenterOfMasses")
498 
499 
500 _value_types.append("CenterOfMass")
501 
502 
503 def Chargeds(l=[]):
504  return [Charged(x) for x in l]
505 _plural_types.append("Chargeds")
506 
507 
508 _value_types.append("Charged")
509 
510 
511 def Diffusions(l=[]):
512  return [Diffusion(x) for x in l]
513 _plural_types.append("Diffusions")
514 
515 
516 _value_types.append("Diffusion")
517 
518 
519 def RigidBodyDiffusions(l=[]):
520  return [RigidBodyDiffusion(x) for x in l]
521 _plural_types.append("RigidBodyDiffusions")
522 
523 
524 _value_types.append("RigidBodyDiffusion")
525 
526 
527 def TAMDParticles(l=[]):
528  return [TAMDParticle(x) for x in l]
529 _plural_types.append("TAMDParticles")
530 
531 
532 _value_types.append("TAMDParticle")
533 
534 
535 def TAMDCentroids(l=[]):
536  return [TAMDCentroid(x) for x in l]
537 _plural_types.append("TAMDCentroids")
538 
539 
540 _value_types.append("TAMDCentroid")
541 
542 
543 def Dihedrals(l=[]):
544  return [Dihedral(x) for x in l]
545 _plural_types.append("Dihedrals")
546 
547 
548 _value_types.append("Dihedral")
549 
550 
551 def Domains(l=[]):
552  return [Domain(x) for x in l]
553 _plural_types.append("Domains")
554 
555 
556 _value_types.append("Domain")
557 
558 
559 def Fragments(l=[]):
560  return [Fragment(x) for x in l]
561 _plural_types.append("Fragments")
562 
563 
564 _value_types.append("Fragment")
565 
566 
567 def Hierarchies(l=[]):
568  return [Hierarchy(x) for x in l]
569 _plural_types.append("Hierarchies")
570 
571 
572 _value_types.append("Hierarchy")
573 
574 
575 def LennardJonesTypeds(l=[]):
576  return [LennardJonesTyped(x) for x in l]
577 _plural_types.append("LennardJonesTypeds")
578 
579 
580 _value_types.append("LennardJonesTyped")
581 
582 
583 def Masses(l=[]):
584  return [Mass(x) for x in l]
585 _plural_types.append("Masses")
586 
587 
588 _value_types.append("Mass")
589 
590 
591 def LinearVelocities(l=[]):
592  return [LinearVelocity(x) for x in l]
593 _plural_types.append("LinearVelocities")
594 
595 
596 _value_types.append("LinearVelocity")
597 
598 
599 def AngularVelocities(l=[]):
600  return [AngularVelocity(x) for x in l]
601 _plural_types.append("AngularVelocities")
602 
603 
604 _value_types.append("AngularVelocity")
605 
606 
607 def Molecules(l=[]):
608  return [Molecule(x) for x in l]
609 _plural_types.append("Molecules")
610 
611 
612 _value_types.append("Molecule")
613 
614 
615 def Residues(l=[]):
616  return [Residue(x) for x in l]
617 _plural_types.append("Residues")
618 
619 
620 _value_types.append("Residue")
621 
622 
623 def Representations(l=[]):
624  return [Representation(x) for x in l]
625 _plural_types.append("Representations")
626 
627 
628 _value_types.append("Representation")
629 
630 
631 def States(l=[]):
632  return [State(x) for x in l]
633 _plural_types.append("States")
634 
635 
636 _value_types.append("State")
637 
638 
639 def Copies(l=[]):
640  return [Copy(x) for x in l]
641 _plural_types.append("Copies")
642 
643 
644 _value_types.append("Copy")
645 
646 
647 def SecondaryStructureResidues(l=[]):
648  return [SecondaryStructureResidue(x) for x in l]
649 _plural_types.append("SecondaryStructureResidues")
650 
651 
652 _value_types.append("SecondaryStructureResidue")
653 
654 
655 def StructureSources(l=[]):
656  return [StructureSource(x) for x in l]
657 _plural_types.append("StructureSources")
658 
659 
660 _value_types.append("StructureSource")
661 
662 
663 _object_types.append("Simulator")
664 
665 
666 def _object_cast_to_Simulator(o):
667  r"""_object_cast_to_Simulator(Object o) -> Simulator"""
668  return _IMP_atom._object_cast_to_Simulator(o)
669 
670 _object_types.append("ATOMPDBSelector")
671 
672 
673 def _object_cast_to_ATOMPDBSelector(o):
674  r"""_object_cast_to_ATOMPDBSelector(Object o) -> ATOMPDBSelector"""
675  return _IMP_atom._object_cast_to_ATOMPDBSelector(o)
676 
677 _object_types.append("AllMol2Selector")
678 
679 
680 def _object_cast_to_AllMol2Selector(o):
681  r"""_object_cast_to_AllMol2Selector(Object o) -> AllMol2Selector"""
682  return _IMP_atom._object_cast_to_AllMol2Selector(o)
683 
684 _object_types.append("AllPDBSelector")
685 
686 
687 def _object_cast_to_AllPDBSelector(o):
688  r"""_object_cast_to_AllPDBSelector(Object o) -> AllPDBSelector"""
689  return _IMP_atom._object_cast_to_AllPDBSelector(o)
690 
691 _object_types.append("AndPDBSelector")
692 
693 
694 def _object_cast_to_AndPDBSelector(o):
695  r"""_object_cast_to_AndPDBSelector(Object o) -> AndPDBSelector"""
696  return _IMP_atom._object_cast_to_AndPDBSelector(o)
697 
698 _object_types.append("XorPDBSelector")
699 
700 
701 def _object_cast_to_XorPDBSelector(o):
702  r"""_object_cast_to_XorPDBSelector(Object o) -> XorPDBSelector"""
703  return _IMP_atom._object_cast_to_XorPDBSelector(o)
704 
705 _object_types.append("ResidueTypePDBSelector")
706 
707 
708 def _object_cast_to_ResidueTypePDBSelector(o):
709  r"""_object_cast_to_ResidueTypePDBSelector(Object o) -> ResidueTypePDBSelector"""
710  return _IMP_atom._object_cast_to_ResidueTypePDBSelector(o)
711 
712 _object_types.append("AtomTypePDBSelector")
713 
714 
715 def _object_cast_to_AtomTypePDBSelector(o):
716  r"""_object_cast_to_AtomTypePDBSelector(Object o) -> AtomTypePDBSelector"""
717  return _IMP_atom._object_cast_to_AtomTypePDBSelector(o)
718 
719 _object_types.append("AngleSingletonScore")
720 
721 
722 def _object_cast_to_AngleSingletonScore(o):
723  r"""_object_cast_to_AngleSingletonScore(Object o) -> AngleSingletonScore"""
724  return _IMP_atom._object_cast_to_AngleSingletonScore(o)
725 
726 _object_types.append("BondEndpointsRefiner")
727 
728 
729 def _object_cast_to_BondEndpointsRefiner(o):
730  r"""_object_cast_to_BondEndpointsRefiner(Object o) -> BondEndpointsRefiner"""
731  return _IMP_atom._object_cast_to_BondEndpointsRefiner(o)
732 
733 _object_types.append("BondPairContainer")
734 
735 
736 def _object_cast_to_BondPairContainer(o):
737  r"""_object_cast_to_BondPairContainer(Object o) -> BondPairContainer"""
738  return _IMP_atom._object_cast_to_BondPairContainer(o)
739 
740 _object_types.append("BondSingletonScore")
741 
742 
743 def _object_cast_to_BondSingletonScore(o):
744  r"""_object_cast_to_BondSingletonScore(Object o) -> BondSingletonScore"""
745  return _IMP_atom._object_cast_to_BondSingletonScore(o)
746 
747 _object_types.append("BondedPairFilter")
748 
749 
750 def _object_cast_to_BondedPairFilter(o):
751  r"""_object_cast_to_BondedPairFilter(Object o) -> BondedPairFilter"""
752  return _IMP_atom._object_cast_to_BondedPairFilter(o)
753 
754 _object_types.append("BrownianDynamics")
755 
756 
757 def _object_cast_to_BrownianDynamics(o):
758  r"""_object_cast_to_BrownianDynamics(Object o) -> BrownianDynamics"""
759  return _IMP_atom._object_cast_to_BrownianDynamics(o)
760 
761 _object_types.append("BrownianDynamicsTAMD")
762 
763 
764 def _object_cast_to_BrownianDynamicsTAMD(o):
765  r"""_object_cast_to_BrownianDynamicsTAMD(Object o) -> BrownianDynamicsTAMD"""
766  return _IMP_atom._object_cast_to_BrownianDynamicsTAMD(o)
767 
768 _object_types.append("CAlphaPDBSelector")
769 
770 
771 def _object_cast_to_CAlphaPDBSelector(o):
772  r"""_object_cast_to_CAlphaPDBSelector(Object o) -> CAlphaPDBSelector"""
773  return _IMP_atom._object_cast_to_CAlphaPDBSelector(o)
774 
775 _object_types.append("CBetaPDBSelector")
776 
777 
778 def _object_cast_to_CBetaPDBSelector(o):
779  r"""_object_cast_to_CBetaPDBSelector(Object o) -> CBetaPDBSelector"""
780  return _IMP_atom._object_cast_to_CBetaPDBSelector(o)
781 
782 _object_types.append("BackbonePDBSelector")
783 
784 
785 def _object_cast_to_BackbonePDBSelector(o):
786  r"""_object_cast_to_BackbonePDBSelector(Object o) -> BackbonePDBSelector"""
787  return _IMP_atom._object_cast_to_BackbonePDBSelector(o)
788 
789 _object_types.append("CHARMMParameters")
790 
791 
792 def _object_cast_to_CHARMMParameters(o):
793  r"""_object_cast_to_CHARMMParameters(Object o) -> CHARMMParameters"""
794  return _IMP_atom._object_cast_to_CHARMMParameters(o)
795 
796 _object_types.append("CHARMMResidueTopology")
797 
798 
799 def _object_cast_to_CHARMMResidueTopology(o):
800  r"""_object_cast_to_CHARMMResidueTopology(Object o) -> CHARMMResidueTopology"""
801  return _IMP_atom._object_cast_to_CHARMMResidueTopology(o)
802 
803 _object_types.append("CHARMMSegmentTopology")
804 
805 
806 def _object_cast_to_CHARMMSegmentTopology(o):
807  r"""_object_cast_to_CHARMMSegmentTopology(Object o) -> CHARMMSegmentTopology"""
808  return _IMP_atom._object_cast_to_CHARMMSegmentTopology(o)
809 
810 _object_types.append("CHARMMStereochemistryRestraint")
811 
812 
813 def _object_cast_to_CHARMMStereochemistryRestraint(o):
814  r"""_object_cast_to_CHARMMStereochemistryRestraint(Object o) -> CHARMMStereochemistryRestraint"""
815  return _IMP_atom._object_cast_to_CHARMMStereochemistryRestraint(o)
816 
817 _object_types.append("CHARMMTopology")
818 
819 
820 def _object_cast_to_CHARMMTopology(o):
821  r"""_object_cast_to_CHARMMTopology(Object o) -> CHARMMTopology"""
822  return _IMP_atom._object_cast_to_CHARMMTopology(o)
823 
824 _object_types.append("CPDBSelector")
825 
826 
827 def _object_cast_to_CPDBSelector(o):
828  r"""_object_cast_to_CPDBSelector(Object o) -> CPDBSelector"""
829  return _IMP_atom._object_cast_to_CPDBSelector(o)
830 
831 _object_types.append("ChainPDBSelector")
832 
833 
834 def _object_cast_to_ChainPDBSelector(o):
835  r"""_object_cast_to_ChainPDBSelector(Object o) -> ChainPDBSelector"""
836  return _IMP_atom._object_cast_to_ChainPDBSelector(o)
837 
838 _object_types.append("CoulombPairScore")
839 
840 
841 def _object_cast_to_CoulombPairScore(o):
842  r"""_object_cast_to_CoulombPairScore(Object o) -> CoulombPairScore"""
843  return _IMP_atom._object_cast_to_CoulombPairScore(o)
844 
845 _object_types.append("CoverBond")
846 
847 
848 def _object_cast_to_CoverBond(o):
849  r"""_object_cast_to_CoverBond(Object o) -> CoverBond"""
850  return _IMP_atom._object_cast_to_CoverBond(o)
851 
852 _object_types.append("DihedralSingletonScore")
853 
854 
855 def _object_cast_to_DihedralSingletonScore(o):
856  r"""_object_cast_to_DihedralSingletonScore(Object o) -> DihedralSingletonScore"""
857  return _IMP_atom._object_cast_to_DihedralSingletonScore(o)
858 
859 _object_types.append("DopePairScore")
860 
861 
862 def _object_cast_to_DopePairScore(o):
863  r"""_object_cast_to_DopePairScore(Object o) -> DopePairScore"""
864  return _IMP_atom._object_cast_to_DopePairScore(o)
865 
866 _object_types.append("LoopStatisticalPairScore")
867 
868 
869 def _object_cast_to_LoopStatisticalPairScore(o):
870  r"""_object_cast_to_LoopStatisticalPairScore(Object o) -> LoopStatisticalPairScore"""
871  return _IMP_atom._object_cast_to_LoopStatisticalPairScore(o)
872 
873 _object_types.append("OrientedSoapPairScore")
874 
875 
876 def _object_cast_to_OrientedSoapPairScore(o):
877  r"""_object_cast_to_OrientedSoapPairScore(Object o) -> OrientedSoapPairScore"""
878  return _IMP_atom._object_cast_to_OrientedSoapPairScore(o)
879 
880 _object_types.append("EzRestraint")
881 
882 
883 def _object_cast_to_EzRestraint(o):
884  r"""_object_cast_to_EzRestraint(Object o) -> EzRestraint"""
885  return _IMP_atom._object_cast_to_EzRestraint(o)
886 
887 _object_types.append("ForceFieldParameters")
888 
889 
890 def _object_cast_to_ForceFieldParameters(o):
891  r"""_object_cast_to_ForceFieldParameters(Object o) -> ForceFieldParameters"""
892  return _IMP_atom._object_cast_to_ForceFieldParameters(o)
893 
894 _object_types.append("ForceSwitch")
895 
896 
897 def _object_cast_to_ForceSwitch(o):
898  r"""_object_cast_to_ForceSwitch(Object o) -> ForceSwitch"""
899  return _IMP_atom._object_cast_to_ForceSwitch(o)
900 
901 _object_types.append("HydrogenPDBSelector")
902 
903 
904 def _object_cast_to_HydrogenPDBSelector(o):
905  r"""_object_cast_to_HydrogenPDBSelector(Object o) -> HydrogenPDBSelector"""
906  return _IMP_atom._object_cast_to_HydrogenPDBSelector(o)
907 
908 _object_types.append("ImproperSingletonScore")
909 
910 
911 def _object_cast_to_ImproperSingletonScore(o):
912  r"""_object_cast_to_ImproperSingletonScore(Object o) -> ImproperSingletonScore"""
913  return _IMP_atom._object_cast_to_ImproperSingletonScore(o)
914 
915 _object_types.append("_LennardJonesTypedPairScore")
916 
917 
918 def _object_cast_to__LennardJonesTypedPairScore(o):
919  r"""_object_cast_to__LennardJonesTypedPairScore(Object o) -> _LennardJonesTypedPairScore"""
920  return _IMP_atom._object_cast_to__LennardJonesTypedPairScore(o)
921 
922 _object_types.append("_SwitchedLennardJonesTypedPairScore")
923 
924 
925 def _object_cast_to__SwitchedLennardJonesTypedPairScore(o):
926  r"""_object_cast_to__SwitchedLennardJonesTypedPairScore(Object o) -> _SwitchedLennardJonesTypedPairScore"""
927  return _IMP_atom._object_cast_to__SwitchedLennardJonesTypedPairScore(o)
928 
929 _object_types.append("Mol2Selector")
930 
931 
932 def _object_cast_to_Mol2Selector(o):
933  r"""_object_cast_to_Mol2Selector(Object o) -> Mol2Selector"""
934  return _IMP_atom._object_cast_to_Mol2Selector(o)
935 
936 _object_types.append("MolecularDynamics")
937 
938 
939 def _object_cast_to_MolecularDynamics(o):
940  r"""_object_cast_to_MolecularDynamics(Object o) -> MolecularDynamics"""
941  return _IMP_atom._object_cast_to_MolecularDynamics(o)
942 
943 _object_types.append("NPDBSelector")
944 
945 
946 def _object_cast_to_NPDBSelector(o):
947  r"""_object_cast_to_NPDBSelector(Object o) -> NPDBSelector"""
948  return _IMP_atom._object_cast_to_NPDBSelector(o)
949 
950 _object_types.append("NonAlternativePDBSelector")
951 
952 
953 def _object_cast_to_NonAlternativePDBSelector(o):
954  r"""_object_cast_to_NonAlternativePDBSelector(Object o) -> NonAlternativePDBSelector"""
955  return _IMP_atom._object_cast_to_NonAlternativePDBSelector(o)
956 
957 _object_types.append("NonHydrogenMol2Selector")
958 
959 
960 def _object_cast_to_NonHydrogenMol2Selector(o):
961  r"""_object_cast_to_NonHydrogenMol2Selector(Object o) -> NonHydrogenMol2Selector"""
962  return _IMP_atom._object_cast_to_NonHydrogenMol2Selector(o)
963 
964 _object_types.append("NonHydrogenPDBSelector")
965 
966 
967 def _object_cast_to_NonHydrogenPDBSelector(o):
968  r"""_object_cast_to_NonHydrogenPDBSelector(Object o) -> NonHydrogenPDBSelector"""
969  return _IMP_atom._object_cast_to_NonHydrogenPDBSelector(o)
970 
971 _object_types.append("NonWaterNonHydrogenPDBSelector")
972 
973 
974 def _object_cast_to_NonWaterNonHydrogenPDBSelector(o):
975  r"""_object_cast_to_NonWaterNonHydrogenPDBSelector(Object o) -> NonWaterNonHydrogenPDBSelector"""
976  return _IMP_atom._object_cast_to_NonWaterNonHydrogenPDBSelector(o)
977 
978 _object_types.append("NonWaterPDBSelector")
979 
980 
981 def _object_cast_to_NonWaterPDBSelector(o):
982  r"""_object_cast_to_NonWaterPDBSelector(Object o) -> NonWaterPDBSelector"""
983  return _IMP_atom._object_cast_to_NonWaterPDBSelector(o)
984 
985 _object_types.append("NotPDBSelector")
986 
987 
988 def _object_cast_to_NotPDBSelector(o):
989  r"""_object_cast_to_NotPDBSelector(Object o) -> NotPDBSelector"""
990  return _IMP_atom._object_cast_to_NotPDBSelector(o)
991 
992 _object_types.append("OrPDBSelector")
993 
994 
995 def _object_cast_to_OrPDBSelector(o):
996  r"""_object_cast_to_OrPDBSelector(Object o) -> OrPDBSelector"""
997  return _IMP_atom._object_cast_to_OrPDBSelector(o)
998 
999 _object_types.append("PPDBSelector")
1000 
1001 
1002 def _object_cast_to_PPDBSelector(o):
1003  r"""_object_cast_to_PPDBSelector(Object o) -> PPDBSelector"""
1004  return _IMP_atom._object_cast_to_PPDBSelector(o)
1005 
1006 _object_types.append("ResidueRangePDBSelector")
1007 
1008 
1009 def _object_cast_to_ResidueRangePDBSelector(o):
1010  r"""_object_cast_to_ResidueRangePDBSelector(Object o) -> ResidueRangePDBSelector"""
1011  return _IMP_atom._object_cast_to_ResidueRangePDBSelector(o)
1012 
1013 _object_types.append("ProteinLigandAtomPairScore")
1014 
1015 
1016 def _object_cast_to_ProteinLigandAtomPairScore(o):
1017  r"""_object_cast_to_ProteinLigandAtomPairScore(Object o) -> ProteinLigandAtomPairScore"""
1018  return _IMP_atom._object_cast_to_ProteinLigandAtomPairScore(o)
1019 
1020 _object_types.append("ProteinLigandRestraint")
1021 
1022 
1023 def _object_cast_to_ProteinLigandRestraint(o):
1024  r"""_object_cast_to_ProteinLigandRestraint(Object o) -> ProteinLigandRestraint"""
1025  return _IMP_atom._object_cast_to_ProteinLigandRestraint(o)
1026 
1027 _object_types.append("SameResiduePairFilter")
1028 
1029 
1030 def _object_cast_to_SameResiduePairFilter(o):
1031  r"""_object_cast_to_SameResiduePairFilter(Object o) -> SameResiduePairFilter"""
1032  return _IMP_atom._object_cast_to_SameResiduePairFilter(o)
1033 
1034 _object_types.append("SoapPairFilter")
1035 
1036 
1037 def _object_cast_to_SoapPairFilter(o):
1038  r"""_object_cast_to_SoapPairFilter(Object o) -> SoapPairFilter"""
1039  return _IMP_atom._object_cast_to_SoapPairFilter(o)
1040 
1041 _object_types.append("SmoothingFunction")
1042 
1043 
1044 def _object_cast_to_SmoothingFunction(o):
1045  r"""_object_cast_to_SmoothingFunction(Object o) -> SmoothingFunction"""
1046  return _IMP_atom._object_cast_to_SmoothingFunction(o)
1047 
1048 _object_types.append("StereochemistryPairFilter")
1049 
1050 
1051 def _object_cast_to_StereochemistryPairFilter(o):
1052  r"""_object_cast_to_StereochemistryPairFilter(Object o) -> StereochemistryPairFilter"""
1053  return _IMP_atom._object_cast_to_StereochemistryPairFilter(o)
1054 
1055 _object_types.append("VelocityScalingOptimizerState")
1056 
1057 
1058 def _object_cast_to_VelocityScalingOptimizerState(o):
1059  r"""_object_cast_to_VelocityScalingOptimizerState(Object o) -> VelocityScalingOptimizerState"""
1060  return _IMP_atom._object_cast_to_VelocityScalingOptimizerState(o)
1061 
1062 _object_types.append("WaterPDBSelector")
1063 
1064 
1065 def _object_cast_to_WaterPDBSelector(o):
1066  r"""_object_cast_to_WaterPDBSelector(Object o) -> WaterPDBSelector"""
1067  return _IMP_atom._object_cast_to_WaterPDBSelector(o)
1068 
1069 _object_types.append("WritePDBOptimizerState")
1070 
1071 
1072 def _object_cast_to_WritePDBOptimizerState(o):
1073  r"""_object_cast_to_WritePDBOptimizerState(Object o) -> WritePDBOptimizerState"""
1074  return _IMP_atom._object_cast_to_WritePDBOptimizerState(o)
1075 
1076 AtomTypes=list
1077 _plural_types.append("AtomTypes")
1078 _value_types.append("AtomType")
1079 
1080 
1081 CHARMMAtomTopologies=list
1082 _plural_types.append("CHARMMAtomTopologies")
1083 _value_types.append("CHARMMAtomTopology")
1084 
1085 
1086 CHARMMBondEndpoints=list
1087 _plural_types.append("CHARMMBondEndpoints")
1088 _value_types.append("CHARMMBondEndpoint")
1089 
1090 
1091 CHARMMBondParametersList=list
1092 _plural_types.append("CHARMMBondParametersList")
1093 _value_types.append("CHARMMBondParameters")
1094 
1095 
1096 CHARMMDihedralParametersList=list
1097 _plural_types.append("CHARMMDihedralParametersList")
1098 _value_types.append("CHARMMDihedralParameters")
1099 
1100 
1101 _object_types.append("CHARMMIdealResidueTopology")
1102 
1103 
1104 def _object_cast_to_CHARMMIdealResidueTopology(o):
1105  r"""_object_cast_to_CHARMMIdealResidueTopology(Object o) -> CHARMMIdealResidueTopology"""
1106  return _IMP_atom._object_cast_to_CHARMMIdealResidueTopology(o)
1107 
1108 CHARMMInternalCoordinates=list
1109 _plural_types.append("CHARMMInternalCoordinates")
1110 _value_types.append("CHARMMInternalCoordinate")
1111 
1112 
1113 _object_types.append("CHARMMPatch")
1114 
1115 
1116 def _object_cast_to_CHARMMPatch(o):
1117  r"""_object_cast_to_CHARMMPatch(Object o) -> CHARMMPatch"""
1118  return _IMP_atom._object_cast_to_CHARMMPatch(o)
1119 
1120 _object_types.append("CHARMMResidueTopologyBase")
1121 
1122 
1123 def _object_cast_to_CHARMMResidueTopologyBase(o):
1124  r"""_object_cast_to_CHARMMResidueTopologyBase(Object o) -> CHARMMResidueTopologyBase"""
1125  return _IMP_atom._object_cast_to_CHARMMResidueTopologyBase(o)
1126 
1127 ResidueTypes=list
1128 _plural_types.append("ResidueTypes")
1129 _value_types.append("ResidueType")
1130 
1131 
1132 ChainTypes=list
1133 _plural_types.append("ChainTypes")
1134 _value_types.append("ChainType")
1135 
1136 
1137 Selections=list
1138 _plural_types.append("Selections")
1139 _value_types.append("Selection")
1140 
1141 
1142 _object_types.append("RemoveRigidMotionOptimizerState")
1143 
1144 
1145 def _object_cast_to_RemoveRigidMotionOptimizerState(o):
1146  r"""_object_cast_to_RemoveRigidMotionOptimizerState(Object o) -> RemoveRigidMotionOptimizerState"""
1147  return _IMP_atom._object_cast_to_RemoveRigidMotionOptimizerState(o)
1148 
1149 _object_types.append("BerendsenThermostatOptimizerState")
1150 
1151 
1152 def _object_cast_to_BerendsenThermostatOptimizerState(o):
1153  r"""_object_cast_to_BerendsenThermostatOptimizerState(Object o) -> BerendsenThermostatOptimizerState"""
1154  return _IMP_atom._object_cast_to_BerendsenThermostatOptimizerState(o)
1155 
1156 _object_types.append("LangevinThermostatOptimizerState")
1157 
1158 
1159 def _object_cast_to_LangevinThermostatOptimizerState(o):
1160  r"""_object_cast_to_LangevinThermostatOptimizerState(Object o) -> LangevinThermostatOptimizerState"""
1161  return _IMP_atom._object_cast_to_LangevinThermostatOptimizerState(o)
1162 
1163 _object_types.append("SelectionGeometry")
1164 
1165 
1166 def _object_cast_to_SelectionGeometry(o):
1167  r"""_object_cast_to_SelectionGeometry(Object o) -> SelectionGeometry"""
1168  return _IMP_atom._object_cast_to_SelectionGeometry(o)
1169 
1170 _object_types.append("HierarchyGeometry")
1171 
1172 
1173 def _object_cast_to_HierarchyGeometry(o):
1174  r"""_object_cast_to_HierarchyGeometry(Object o) -> HierarchyGeometry"""
1175  return _IMP_atom._object_cast_to_HierarchyGeometry(o)
1176 
1177 _object_types.append("HierarchiesGeometry")
1178 
1179 
1180 def _object_cast_to_HierarchiesGeometry(o):
1181  r"""_object_cast_to_HierarchiesGeometry(Object o) -> HierarchiesGeometry"""
1182  return _IMP_atom._object_cast_to_HierarchiesGeometry(o)
1183 
1184 _object_types.append("BondGeometry")
1185 
1186 
1187 def _object_cast_to_BondGeometry(o):
1188  r"""_object_cast_to_BondGeometry(Object o) -> BondGeometry"""
1189  return _IMP_atom._object_cast_to_BondGeometry(o)
1190 
1191 _object_types.append("BondsGeometry")
1192 
1193 
1194 def _object_cast_to_BondsGeometry(o):
1195  r"""_object_cast_to_BondsGeometry(Object o) -> BondsGeometry"""
1196  return _IMP_atom._object_cast_to_BondsGeometry(o)
1197 
1198 _object_types.append("CAAngleRestraint")
1199 
1200 
1201 def _object_cast_to_CAAngleRestraint(o):
1202  r"""_object_cast_to_CAAngleRestraint(Object o) -> CAAngleRestraint"""
1203  return _IMP_atom._object_cast_to_CAAngleRestraint(o)
1204 
1205 _object_types.append("CADihedralRestraint")
1206 
1207 
1208 def _object_cast_to_CADihedralRestraint(o):
1209  r"""_object_cast_to_CADihedralRestraint(Object o) -> CADihedralRestraint"""
1210  return _IMP_atom._object_cast_to_CADihedralRestraint(o)
1211 
1212 _object_types.append("HelixRestraint")
1213 
1214 
1215 def _object_cast_to_HelixRestraint(o):
1216  r"""_object_cast_to_HelixRestraint(Object o) -> HelixRestraint"""
1217  return _IMP_atom._object_cast_to_HelixRestraint(o)
1218 
1219 CHARMMDihedrals=list
1220 _plural_types.append("CHARMMDihedrals")
1221 _value_types.append("CHARMMDihedral")
1222 
1223 
1224 CHARMMBonds=list
1225 _plural_types.append("CHARMMBonds")
1226 _value_types.append("CHARMMBond")
1227 
1228 
1229 CHARMMAngles=list
1230 _plural_types.append("CHARMMAngles")
1231 _value_types.append("CHARMMAngle")
1232 
1233 class Bond(IMP.Decorator):
1234  r"""Proxy of C++ IMP::atom::Bond class."""
1235 
1236  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1237 
1238  def __init__(self, *args):
1239  r"""
1240  __init__(Bond self) -> Bond
1241  __init__(Bond self, Model m, ParticleIndex id) -> Bond
1242  __init__(Bond self, _ParticleAdaptor d) -> Bond
1243  """
1244  _IMP_atom.Bond_swiginit(self, _IMP_atom.new_Bond(*args))
1245 
1246  def show(self, *args):
1247  r"""show(Bond self, _ostream out=std::cout)"""
1248  return _IMP_atom.Bond_show(self, *args)
1249 
1250  @staticmethod
1251  def get_is_setup(*args):
1252  r"""
1253  get_is_setup(_ParticleAdaptor p) -> bool
1254  get_is_setup(Model m, ParticleIndex pi) -> bool
1255  """
1256  return _IMP_atom.Bond_get_is_setup(*args)
1257  UNKNOWN = _IMP_atom.Bond_UNKNOWN
1258 
1259  NONBIOLOGICAL = _IMP_atom.Bond_NONBIOLOGICAL
1260 
1261  SINGLE = _IMP_atom.Bond_SINGLE
1262 
1263  DOUBLE = _IMP_atom.Bond_DOUBLE
1264 
1265  TRIPLE = _IMP_atom.Bond_TRIPLE
1266 
1267  HYDROGEN = _IMP_atom.Bond_HYDROGEN
1268 
1269  SALT = _IMP_atom.Bond_SALT
1270 
1271  PEPTIDE = _IMP_atom.Bond_PEPTIDE
1272 
1273  AMIDE = _IMP_atom.Bond_AMIDE
1274 
1275  AROMATIC = _IMP_atom.Bond_AROMATIC
1276 
1277 
1278  def get_bonded(self, i):
1279  r"""get_bonded(Bond self, unsigned int i) -> Bonded"""
1280  return _IMP_atom.Bond_get_bonded(self, i)
1281 
1282  def get_type(self):
1283  r"""get_type(Bond self) -> IMP::Int"""
1284  return _IMP_atom.Bond_get_type(self)
1285 
1286  def set_type(self, t):
1287  r"""set_type(Bond self, IMP::Int t)"""
1288  return _IMP_atom.Bond_set_type(self, t)
1289 
1290  def get_order(self):
1291  r"""get_order(Bond self) -> IMP::Int"""
1292  return _IMP_atom.Bond_get_order(self)
1293 
1294  def set_order(self, t):
1295  r"""set_order(Bond self, IMP::Int t)"""
1296  return _IMP_atom.Bond_set_order(self, t)
1297 
1298  def get_length(self):
1299  r"""get_length(Bond self) -> IMP::Float"""
1300  return _IMP_atom.Bond_get_length(self)
1301 
1302  def set_length(self, t):
1303  r"""set_length(Bond self, IMP::Float t)"""
1304  return _IMP_atom.Bond_set_length(self, t)
1305 
1306  def get_stiffness(self):
1307  r"""get_stiffness(Bond self) -> IMP::Float"""
1308  return _IMP_atom.Bond_get_stiffness(self)
1309 
1310  def set_stiffness(self, t):
1311  r"""set_stiffness(Bond self, IMP::Float t)"""
1312  return _IMP_atom.Bond_set_stiffness(self, t)
1313 
1314  @staticmethod
1315  def get_length_key():
1316  r"""get_length_key() -> FloatKey"""
1317  return _IMP_atom.Bond_get_length_key()
1318 
1319  def add_attribute(self, *args):
1320  r"""
1321  add_attribute(Bond self, FloatKey k, IMP::Float v, bool opt)
1322  add_attribute(Bond self, FloatKey a0, IMP::Float a1)
1323  add_attribute(Bond self, IntKey a0, IMP::Int a1)
1324  add_attribute(Bond self, FloatsKey a0, IMP::Floats a1)
1325  add_attribute(Bond self, IntsKey a0, IMP::Ints a1)
1326  add_attribute(Bond self, StringKey a0, IMP::String a1)
1327  add_attribute(Bond self, ParticleIndexKey a0, Particle a1)
1328  add_attribute(Bond self, ObjectKey a0, Object a1)
1329  add_attribute(Bond self, SparseFloatKey a0, IMP::Float a1)
1330  add_attribute(Bond self, SparseIntKey a0, IMP::Int a1)
1331  add_attribute(Bond self, SparseStringKey a0, IMP::String a1)
1332  add_attribute(Bond self, SparseParticleIndexKey a0, ParticleIndex a1)
1333  """
1334  return _IMP_atom.Bond_add_attribute(self, *args)
1335 
1336  def get_value(self, *args):
1337  r"""
1338  get_value(Bond self, FloatKey a0) -> IMP::Float
1339  get_value(Bond self, IntKey a0) -> IMP::Int
1340  get_value(Bond self, FloatsKey a0) -> IMP::Floats
1341  get_value(Bond self, IntsKey a0) -> IMP::Ints
1342  get_value(Bond self, StringKey a0) -> IMP::String
1343  get_value(Bond self, ParticleIndexKey a0) -> Particle
1344  get_value(Bond self, ObjectKey a0) -> Object
1345  get_value(Bond self, SparseFloatKey a0) -> IMP::Float
1346  get_value(Bond self, SparseIntKey a0) -> IMP::Int
1347  get_value(Bond self, SparseStringKey a0) -> IMP::String
1348  get_value(Bond self, SparseParticleIndexKey a0) -> ParticleIndex
1349  """
1350  return _IMP_atom.Bond_get_value(self, *args)
1351 
1352  def set_value(self, *args):
1353  r"""
1354  set_value(Bond self, FloatKey a0, IMP::Float a1)
1355  set_value(Bond self, IntKey a0, IMP::Int a1)
1356  set_value(Bond self, FloatsKey a0, IMP::Floats a1)
1357  set_value(Bond self, IntsKey a0, IMP::Ints a1)
1358  set_value(Bond self, StringKey a0, IMP::String a1)
1359  set_value(Bond self, ParticleIndexKey a0, Particle a1)
1360  set_value(Bond self, ObjectKey a0, Object a1)
1361  set_value(Bond self, SparseFloatKey a0, IMP::Float a1)
1362  set_value(Bond self, SparseIntKey a0, IMP::Int a1)
1363  set_value(Bond self, SparseStringKey a0, IMP::String a1)
1364  set_value(Bond self, SparseParticleIndexKey a0, ParticleIndex a1)
1365  """
1366  return _IMP_atom.Bond_set_value(self, *args)
1367 
1368  def remove_attribute(self, *args):
1369  r"""
1370  remove_attribute(Bond self, FloatKey a0)
1371  remove_attribute(Bond self, IntKey a0)
1372  remove_attribute(Bond self, FloatsKey a0)
1373  remove_attribute(Bond self, IntsKey a0)
1374  remove_attribute(Bond self, StringKey a0)
1375  remove_attribute(Bond self, ParticleIndexKey a0)
1376  remove_attribute(Bond self, ObjectKey a0)
1377  remove_attribute(Bond self, SparseFloatKey a0)
1378  remove_attribute(Bond self, SparseIntKey a0)
1379  remove_attribute(Bond self, SparseStringKey a0)
1380  remove_attribute(Bond self, SparseParticleIndexKey a0)
1381  """
1382  return _IMP_atom.Bond_remove_attribute(self, *args)
1383 
1384  def has_attribute(self, *args):
1385  r"""
1386  has_attribute(Bond self, FloatKey a0) -> bool
1387  has_attribute(Bond self, IntKey a0) -> bool
1388  has_attribute(Bond self, FloatsKey a0) -> bool
1389  has_attribute(Bond self, IntsKey a0) -> bool
1390  has_attribute(Bond self, StringKey a0) -> bool
1391  has_attribute(Bond self, ParticleIndexKey a0) -> bool
1392  has_attribute(Bond self, ObjectKey a0) -> bool
1393  has_attribute(Bond self, SparseFloatKey a0) -> bool
1394  has_attribute(Bond self, SparseIntKey a0) -> bool
1395  has_attribute(Bond self, SparseStringKey a0) -> bool
1396  has_attribute(Bond self, SparseParticleIndexKey a0) -> bool
1397  """
1398  return _IMP_atom.Bond_has_attribute(self, *args)
1399 
1400  def get_derivative(self, a0):
1401  r"""get_derivative(Bond self, FloatKey a0) -> double"""
1402  return _IMP_atom.Bond_get_derivative(self, a0)
1403 
1404  def get_name(self):
1405  r"""get_name(Bond self) -> std::string"""
1406  return _IMP_atom.Bond_get_name(self)
1407 
1408  def clear_caches(self):
1409  r"""clear_caches(Bond self)"""
1410  return _IMP_atom.Bond_clear_caches(self)
1411 
1412  def set_name(self, a0):
1413  r"""set_name(Bond self, std::string a0)"""
1414  return _IMP_atom.Bond_set_name(self, a0)
1415 
1416  def set_check_level(self, a0):
1417  r"""set_check_level(Bond self, IMP::CheckLevel a0)"""
1418  return _IMP_atom.Bond_set_check_level(self, a0)
1419 
1420  def add_to_derivative(self, a0, a1, a2):
1421  r"""add_to_derivative(Bond self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
1422  return _IMP_atom.Bond_add_to_derivative(self, a0, a1, a2)
1423 
1424  def set_is_optimized(self, a0, a1):
1425  r"""set_is_optimized(Bond self, FloatKey a0, bool a1)"""
1426  return _IMP_atom.Bond_set_is_optimized(self, a0, a1)
1427 
1428  def get_is_optimized(self, a0):
1429  r"""get_is_optimized(Bond self, FloatKey a0) -> bool"""
1430  return _IMP_atom.Bond_get_is_optimized(self, a0)
1431 
1432  def get_check_level(self):
1433  r"""get_check_level(Bond self) -> IMP::CheckLevel"""
1434  return _IMP_atom.Bond_get_check_level(self)
1435 
1436  def __eq__(self, *args):
1437  r"""
1438  __eq__(Bond self, Bond o) -> bool
1439  __eq__(Bond self, Particle d) -> bool
1440  """
1441  return _IMP_atom.Bond___eq__(self, *args)
1442 
1443  def __ne__(self, *args):
1444  r"""
1445  __ne__(Bond self, Bond o) -> bool
1446  __ne__(Bond self, Particle d) -> bool
1447  """
1448  return _IMP_atom.Bond___ne__(self, *args)
1449 
1450  def __le__(self, *args):
1451  r"""
1452  __le__(Bond self, Bond o) -> bool
1453  __le__(Bond self, Particle d) -> bool
1454  """
1455  return _IMP_atom.Bond___le__(self, *args)
1456 
1457  def __lt__(self, *args):
1458  r"""
1459  __lt__(Bond self, Bond o) -> bool
1460  __lt__(Bond self, Particle d) -> bool
1461  """
1462  return _IMP_atom.Bond___lt__(self, *args)
1463 
1464  def __ge__(self, *args):
1465  r"""
1466  __ge__(Bond self, Bond o) -> bool
1467  __ge__(Bond self, Particle d) -> bool
1468  """
1469  return _IMP_atom.Bond___ge__(self, *args)
1470 
1471  def __gt__(self, *args):
1472  r"""
1473  __gt__(Bond self, Bond o) -> bool
1474  __gt__(Bond self, Particle d) -> bool
1475  """
1476  return _IMP_atom.Bond___gt__(self, *args)
1477 
1478  def __hash__(self):
1479  r"""__hash__(Bond self) -> std::size_t"""
1480  return _IMP_atom.Bond___hash__(self)
1481 
1482  def __str__(self):
1483  r"""__str__(Bond self) -> std::string"""
1484  return _IMP_atom.Bond___str__(self)
1485 
1486  def __repr__(self):
1487  r"""__repr__(Bond self) -> std::string"""
1488  return _IMP_atom.Bond___repr__(self)
1489 
1490  def _get_as_binary(self):
1491  r"""_get_as_binary(Bond self) -> PyObject *"""
1492  return _IMP_atom.Bond__get_as_binary(self)
1493 
1494  def _set_from_binary(self, p):
1495  r"""_set_from_binary(Bond self, PyObject * p)"""
1496  return _IMP_atom.Bond__set_from_binary(self, p)
1497 
1498  def __getstate__(self):
1499  p = self._get_as_binary()
1500  if len(self.__dict__) > 1:
1501  d = self.__dict__.copy()
1502  del d['this']
1503  p = (d, p)
1504  return p
1505 
1506  def __setstate__(self, p):
1507  if not hasattr(self, 'this'):
1508  self.__init__()
1509  if isinstance(p, tuple):
1510  d, p = p
1511  self.__dict__.update(d)
1512  return self._set_from_binary(p)
1513 
1514  __swig_destroy__ = _IMP_atom.delete_Bond
1515 
1516 # Register Bond in _IMP_atom:
1517 _IMP_atom.Bond_swigregister(Bond)
1518 class Bonded(IMP.Decorator):
1519  r"""Proxy of C++ IMP::atom::Bonded class."""
1520 
1521  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1522 
1523  def __init__(self, *args):
1524  r"""
1525  __init__(Bonded self) -> Bonded
1526  __init__(Bonded self, Model m, ParticleIndex id) -> Bonded
1527  __init__(Bonded self, _ParticleAdaptor d) -> Bonded
1528  """
1529  _IMP_atom.Bonded_swiginit(self, _IMP_atom.new_Bonded(*args))
1530 
1531  def show(self, *args):
1532  r"""show(Bonded self, _ostream out=std::cout)"""
1533  return _IMP_atom.Bonded_show(self, *args)
1534 
1535  @staticmethod
1536  def setup_particle(*args):
1537  r"""
1538  setup_particle(Model m, ParticleIndex pi) -> Bonded
1539  setup_particle(_ParticleAdaptor pa) -> Bonded
1540  """
1541  return _IMP_atom.Bonded_setup_particle(*args)
1542 
1543  @staticmethod
1544  def get_is_setup(*args):
1545  r"""
1546  get_is_setup(_ParticleAdaptor p) -> bool
1547  get_is_setup(Model m, ParticleIndex pi) -> bool
1548  """
1549  return _IMP_atom.Bonded_get_is_setup(*args)
1550 
1551  def get_number_of_bonds(self):
1552  r"""get_number_of_bonds(Bonded self) -> unsigned int"""
1553  return _IMP_atom.Bonded_get_number_of_bonds(self)
1554 
1555  def get_bond_indexes(self):
1556  r"""get_bond_indexes(Bonded self) -> IMP::ParticleIndexes"""
1557  return _IMP_atom.Bonded_get_bond_indexes(self)
1558 
1559  def get_bond(self, i):
1560  r"""get_bond(Bonded self, unsigned int i) -> Bond"""
1561  return _IMP_atom.Bonded_get_bond(self, i)
1562 
1563  def get_bonded(self, i):
1564  r"""get_bonded(Bonded self, unsigned int i) -> Bonded"""
1565  return _IMP_atom.Bonded_get_bonded(self, i)
1566 
1567  def add_attribute(self, *args):
1568  r"""
1569  add_attribute(Bonded self, FloatKey k, IMP::Float v, bool opt)
1570  add_attribute(Bonded self, FloatKey a0, IMP::Float a1)
1571  add_attribute(Bonded self, IntKey a0, IMP::Int a1)
1572  add_attribute(Bonded self, FloatsKey a0, IMP::Floats a1)
1573  add_attribute(Bonded self, IntsKey a0, IMP::Ints a1)
1574  add_attribute(Bonded self, StringKey a0, IMP::String a1)
1575  add_attribute(Bonded self, ParticleIndexKey a0, Particle a1)
1576  add_attribute(Bonded self, ObjectKey a0, Object a1)
1577  add_attribute(Bonded self, SparseFloatKey a0, IMP::Float a1)
1578  add_attribute(Bonded self, SparseIntKey a0, IMP::Int a1)
1579  add_attribute(Bonded self, SparseStringKey a0, IMP::String a1)
1580  add_attribute(Bonded self, SparseParticleIndexKey a0, ParticleIndex a1)
1581  """
1582  return _IMP_atom.Bonded_add_attribute(self, *args)
1583 
1584  def get_value(self, *args):
1585  r"""
1586  get_value(Bonded self, FloatKey a0) -> IMP::Float
1587  get_value(Bonded self, IntKey a0) -> IMP::Int
1588  get_value(Bonded self, FloatsKey a0) -> IMP::Floats
1589  get_value(Bonded self, IntsKey a0) -> IMP::Ints
1590  get_value(Bonded self, StringKey a0) -> IMP::String
1591  get_value(Bonded self, ParticleIndexKey a0) -> Particle
1592  get_value(Bonded self, ObjectKey a0) -> Object
1593  get_value(Bonded self, SparseFloatKey a0) -> IMP::Float
1594  get_value(Bonded self, SparseIntKey a0) -> IMP::Int
1595  get_value(Bonded self, SparseStringKey a0) -> IMP::String
1596  get_value(Bonded self, SparseParticleIndexKey a0) -> ParticleIndex
1597  """
1598  return _IMP_atom.Bonded_get_value(self, *args)
1599 
1600  def set_value(self, *args):
1601  r"""
1602  set_value(Bonded self, FloatKey a0, IMP::Float a1)
1603  set_value(Bonded self, IntKey a0, IMP::Int a1)
1604  set_value(Bonded self, FloatsKey a0, IMP::Floats a1)
1605  set_value(Bonded self, IntsKey a0, IMP::Ints a1)
1606  set_value(Bonded self, StringKey a0, IMP::String a1)
1607  set_value(Bonded self, ParticleIndexKey a0, Particle a1)
1608  set_value(Bonded self, ObjectKey a0, Object a1)
1609  set_value(Bonded self, SparseFloatKey a0, IMP::Float a1)
1610  set_value(Bonded self, SparseIntKey a0, IMP::Int a1)
1611  set_value(Bonded self, SparseStringKey a0, IMP::String a1)
1612  set_value(Bonded self, SparseParticleIndexKey a0, ParticleIndex a1)
1613  """
1614  return _IMP_atom.Bonded_set_value(self, *args)
1615 
1616  def remove_attribute(self, *args):
1617  r"""
1618  remove_attribute(Bonded self, FloatKey a0)
1619  remove_attribute(Bonded self, IntKey a0)
1620  remove_attribute(Bonded self, FloatsKey a0)
1621  remove_attribute(Bonded self, IntsKey a0)
1622  remove_attribute(Bonded self, StringKey a0)
1623  remove_attribute(Bonded self, ParticleIndexKey a0)
1624  remove_attribute(Bonded self, ObjectKey a0)
1625  remove_attribute(Bonded self, SparseFloatKey a0)
1626  remove_attribute(Bonded self, SparseIntKey a0)
1627  remove_attribute(Bonded self, SparseStringKey a0)
1628  remove_attribute(Bonded self, SparseParticleIndexKey a0)
1629  """
1630  return _IMP_atom.Bonded_remove_attribute(self, *args)
1631 
1632  def has_attribute(self, *args):
1633  r"""
1634  has_attribute(Bonded self, FloatKey a0) -> bool
1635  has_attribute(Bonded self, IntKey a0) -> bool
1636  has_attribute(Bonded self, FloatsKey a0) -> bool
1637  has_attribute(Bonded self, IntsKey a0) -> bool
1638  has_attribute(Bonded self, StringKey a0) -> bool
1639  has_attribute(Bonded self, ParticleIndexKey a0) -> bool
1640  has_attribute(Bonded self, ObjectKey a0) -> bool
1641  has_attribute(Bonded self, SparseFloatKey a0) -> bool
1642  has_attribute(Bonded self, SparseIntKey a0) -> bool
1643  has_attribute(Bonded self, SparseStringKey a0) -> bool
1644  has_attribute(Bonded self, SparseParticleIndexKey a0) -> bool
1645  """
1646  return _IMP_atom.Bonded_has_attribute(self, *args)
1647 
1648  def get_derivative(self, a0):
1649  r"""get_derivative(Bonded self, FloatKey a0) -> double"""
1650  return _IMP_atom.Bonded_get_derivative(self, a0)
1651 
1652  def get_name(self):
1653  r"""get_name(Bonded self) -> std::string"""
1654  return _IMP_atom.Bonded_get_name(self)
1655 
1656  def clear_caches(self):
1657  r"""clear_caches(Bonded self)"""
1658  return _IMP_atom.Bonded_clear_caches(self)
1659 
1660  def set_name(self, a0):
1661  r"""set_name(Bonded self, std::string a0)"""
1662  return _IMP_atom.Bonded_set_name(self, a0)
1663 
1664  def set_check_level(self, a0):
1665  r"""set_check_level(Bonded self, IMP::CheckLevel a0)"""
1666  return _IMP_atom.Bonded_set_check_level(self, a0)
1667 
1668  def add_to_derivative(self, a0, a1, a2):
1669  r"""add_to_derivative(Bonded self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
1670  return _IMP_atom.Bonded_add_to_derivative(self, a0, a1, a2)
1671 
1672  def set_is_optimized(self, a0, a1):
1673  r"""set_is_optimized(Bonded self, FloatKey a0, bool a1)"""
1674  return _IMP_atom.Bonded_set_is_optimized(self, a0, a1)
1675 
1676  def get_is_optimized(self, a0):
1677  r"""get_is_optimized(Bonded self, FloatKey a0) -> bool"""
1678  return _IMP_atom.Bonded_get_is_optimized(self, a0)
1679 
1680  def get_check_level(self):
1681  r"""get_check_level(Bonded self) -> IMP::CheckLevel"""
1682  return _IMP_atom.Bonded_get_check_level(self)
1683 
1684  def __eq__(self, *args):
1685  r"""
1686  __eq__(Bonded self, Bonded o) -> bool
1687  __eq__(Bonded self, Particle d) -> bool
1688  """
1689  return _IMP_atom.Bonded___eq__(self, *args)
1690 
1691  def __ne__(self, *args):
1692  r"""
1693  __ne__(Bonded self, Bonded o) -> bool
1694  __ne__(Bonded self, Particle d) -> bool
1695  """
1696  return _IMP_atom.Bonded___ne__(self, *args)
1697 
1698  def __le__(self, *args):
1699  r"""
1700  __le__(Bonded self, Bonded o) -> bool
1701  __le__(Bonded self, Particle d) -> bool
1702  """
1703  return _IMP_atom.Bonded___le__(self, *args)
1704 
1705  def __lt__(self, *args):
1706  r"""
1707  __lt__(Bonded self, Bonded o) -> bool
1708  __lt__(Bonded self, Particle d) -> bool
1709  """
1710  return _IMP_atom.Bonded___lt__(self, *args)
1711 
1712  def __ge__(self, *args):
1713  r"""
1714  __ge__(Bonded self, Bonded o) -> bool
1715  __ge__(Bonded self, Particle d) -> bool
1716  """
1717  return _IMP_atom.Bonded___ge__(self, *args)
1718 
1719  def __gt__(self, *args):
1720  r"""
1721  __gt__(Bonded self, Bonded o) -> bool
1722  __gt__(Bonded self, Particle d) -> bool
1723  """
1724  return _IMP_atom.Bonded___gt__(self, *args)
1725 
1726  def __hash__(self):
1727  r"""__hash__(Bonded self) -> std::size_t"""
1728  return _IMP_atom.Bonded___hash__(self)
1729 
1730  def __str__(self):
1731  r"""__str__(Bonded self) -> std::string"""
1732  return _IMP_atom.Bonded___str__(self)
1733 
1734  def __repr__(self):
1735  r"""__repr__(Bonded self) -> std::string"""
1736  return _IMP_atom.Bonded___repr__(self)
1737 
1738  def _get_as_binary(self):
1739  r"""_get_as_binary(Bonded self) -> PyObject *"""
1740  return _IMP_atom.Bonded__get_as_binary(self)
1741 
1742  def _set_from_binary(self, p):
1743  r"""_set_from_binary(Bonded self, PyObject * p)"""
1744  return _IMP_atom.Bonded__set_from_binary(self, p)
1745 
1746  def __getstate__(self):
1747  p = self._get_as_binary()
1748  if len(self.__dict__) > 1:
1749  d = self.__dict__.copy()
1750  del d['this']
1751  p = (d, p)
1752  return p
1753 
1754  def __setstate__(self, p):
1755  if not hasattr(self, 'this'):
1756  self.__init__()
1757  if isinstance(p, tuple):
1758  d, p = p
1759  self.__dict__.update(d)
1760  return self._set_from_binary(p)
1761 
1762  __swig_destroy__ = _IMP_atom.delete_Bonded
1763 
1764 # Register Bonded in _IMP_atom:
1765 _IMP_atom.Bonded_swigregister(Bonded)
1766 
1767 def create_custom_bond(a, b, length, stiffness=-1):
1768  r"""create_custom_bond(Bonded a, Bonded b, IMP::Float length, IMP::Float stiffness=-1) -> Bond"""
1769  return _IMP_atom.create_custom_bond(a, b, length, stiffness)
1770 
1771 def create_bond(*args):
1772  r"""
1773  create_bond(Bonded a, Bonded b, IMP::Int t) -> Bond
1774  create_bond(Bonded a, Bonded b, Bond o) -> Bond
1775  """
1776  return _IMP_atom.create_bond(*args)
1777 
1778 def destroy_bond(b):
1779  r"""destroy_bond(Bond b)"""
1780  return _IMP_atom.destroy_bond(b)
1781 
1782 def get_bond(a, b):
1783  r"""get_bond(Bonded a, Bonded b) -> Bond"""
1784  return _IMP_atom.get_bond(a, b)
1785 class BondGeometry(IMP.display.SingletonGeometry):
1786  r"""Proxy of C++ IMP::atom::BondGeometry class."""
1787 
1788  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1789 
1790  def __init__(self, *args):
1791  r"""
1792  __init__(BondGeometry self, Particle p) -> BondGeometry
1793  __init__(BondGeometry self, Bond d) -> BondGeometry
1794  """
1795  _IMP_atom.BondGeometry_swiginit(self, _IMP_atom.new_BondGeometry(*args))
1796 
1797  def get_version_info(self):
1798  r"""get_version_info(BondGeometry self) -> VersionInfo"""
1799  return _IMP_atom.BondGeometry_get_version_info(self)
1800  __swig_destroy__ = _IMP_atom.delete_BondGeometry
1801 
1802  def __str__(self):
1803  r"""__str__(BondGeometry self) -> std::string"""
1804  return _IMP_atom.BondGeometry___str__(self)
1805 
1806  def __repr__(self):
1807  r"""__repr__(BondGeometry self) -> std::string"""
1808  return _IMP_atom.BondGeometry___repr__(self)
1809 
1810  @staticmethod
1811  def get_from(o):
1812  return _object_cast_to_BondGeometry(o)
1813 
1814 
1815 # Register BondGeometry in _IMP_atom:
1816 _IMP_atom.BondGeometry_swigregister(BondGeometry)
1817 class BondsGeometry(IMP.display.SingletonsGeometry):
1818  r"""Proxy of C++ IMP::atom::BondsGeometry class."""
1819 
1820  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1821 
1822  def __init__(self, sc):
1823  r"""__init__(BondsGeometry self, SingletonContainer sc) -> BondsGeometry"""
1824  _IMP_atom.BondsGeometry_swiginit(self, _IMP_atom.new_BondsGeometry(sc))
1825 
1826  def get_version_info(self):
1827  r"""get_version_info(BondsGeometry self) -> VersionInfo"""
1828  return _IMP_atom.BondsGeometry_get_version_info(self)
1829  __swig_destroy__ = _IMP_atom.delete_BondsGeometry
1830 
1831  def __str__(self):
1832  r"""__str__(BondsGeometry self) -> std::string"""
1833  return _IMP_atom.BondsGeometry___str__(self)
1834 
1835  def __repr__(self):
1836  r"""__repr__(BondsGeometry self) -> std::string"""
1837  return _IMP_atom.BondsGeometry___repr__(self)
1838 
1839  @staticmethod
1840  def get_from(o):
1841  return _object_cast_to_BondsGeometry(o)
1842 
1843 
1844 # Register BondsGeometry in _IMP_atom:
1845 _IMP_atom.BondsGeometry_swigregister(BondsGeometry)
1846 class Hierarchy(IMP.core.Hierarchy):
1847  r"""Proxy of C++ IMP::atom::Hierarchy class."""
1848 
1849  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1850 
1851  def __init__(self, *args):
1852  r"""
1853  __init__(Hierarchy self, Model m, ParticleIndex pi) -> Hierarchy
1854  __init__(Hierarchy self, _ParticleAdaptor pi) -> Hierarchy
1855  __init__(Hierarchy self) -> Hierarchy
1856  __init__(Hierarchy self, Hierarchy h) -> Hierarchy
1857  """
1858  _IMP_atom.Hierarchy_swiginit(self, _IMP_atom.new_Hierarchy(*args))
1859 
1860  @staticmethod
1861  def setup_particle(*args):
1862  r"""
1863  setup_particle(Particle p, _ParticleIndexesAdaptor children) -> Hierarchy
1864  setup_particle(Particle p) -> Hierarchy
1865  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor children=IMP::ParticleIndexesAdaptor()) -> Hierarchy
1866  """
1867  return _IMP_atom.Hierarchy_setup_particle(*args)
1868 
1869  @staticmethod
1870  def get_is_setup(*args):
1871  r"""
1872  get_is_setup(Particle p) -> bool
1873  get_is_setup(Model m, ParticleIndex p) -> bool
1874  """
1875  return _IMP_atom.Hierarchy_get_is_setup(*args)
1876 
1877  def get_is_valid(self, print_info=False):
1878  r"""get_is_valid(Hierarchy self, bool print_info=False) -> bool"""
1879  return _IMP_atom.Hierarchy_get_is_valid(self, print_info)
1880 
1881  def add_child(self, o):
1882  r"""add_child(Hierarchy self, Hierarchy o)"""
1883  return _IMP_atom.Hierarchy_add_child(self, o)
1884 
1885  def get_child(self, i):
1886  r"""get_child(Hierarchy self, unsigned int i) -> Hierarchy"""
1887  return _IMP_atom.Hierarchy_get_child(self, i)
1888 
1889  def get_children(self):
1890  r"""get_children(Hierarchy self) -> IMP::atom::Hierarchies"""
1891  return _IMP_atom.Hierarchy_get_children(self)
1892 
1893  def get_parent(self):
1894  r"""get_parent(Hierarchy self) -> Hierarchy"""
1895  return _IMP_atom.Hierarchy_get_parent(self)
1896 
1897  @staticmethod
1898  def get_traits():
1899  r"""get_traits() -> HierarchyTraits"""
1900  return _IMP_atom.Hierarchy_get_traits()
1901 
1902  def show(self, *args):
1903  r"""
1904  show(Hierarchy self, _ostream out, std::string delimiter)
1905  show(Hierarchy self, _ostream out=std::cout)
1906  """
1907  return _IMP_atom.Hierarchy_show(self, *args)
1908 
1909  def add_attribute(self, *args):
1910  r"""
1911  add_attribute(Hierarchy self, FloatKey k, IMP::Float v, bool opt)
1912  add_attribute(Hierarchy self, FloatKey a0, IMP::Float a1)
1913  add_attribute(Hierarchy self, IntKey a0, IMP::Int a1)
1914  add_attribute(Hierarchy self, FloatsKey a0, IMP::Floats a1)
1915  add_attribute(Hierarchy self, IntsKey a0, IMP::Ints a1)
1916  add_attribute(Hierarchy self, StringKey a0, IMP::String a1)
1917  add_attribute(Hierarchy self, ParticleIndexKey a0, Particle a1)
1918  add_attribute(Hierarchy self, ObjectKey a0, Object a1)
1919  add_attribute(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
1920  add_attribute(Hierarchy self, SparseIntKey a0, IMP::Int a1)
1921  add_attribute(Hierarchy self, SparseStringKey a0, IMP::String a1)
1922  add_attribute(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
1923  """
1924  return _IMP_atom.Hierarchy_add_attribute(self, *args)
1925 
1926  def get_value(self, *args):
1927  r"""
1928  get_value(Hierarchy self, FloatKey a0) -> IMP::Float
1929  get_value(Hierarchy self, IntKey a0) -> IMP::Int
1930  get_value(Hierarchy self, FloatsKey a0) -> IMP::Floats
1931  get_value(Hierarchy self, IntsKey a0) -> IMP::Ints
1932  get_value(Hierarchy self, StringKey a0) -> IMP::String
1933  get_value(Hierarchy self, ParticleIndexKey a0) -> Particle
1934  get_value(Hierarchy self, ObjectKey a0) -> Object
1935  get_value(Hierarchy self, SparseFloatKey a0) -> IMP::Float
1936  get_value(Hierarchy self, SparseIntKey a0) -> IMP::Int
1937  get_value(Hierarchy self, SparseStringKey a0) -> IMP::String
1938  get_value(Hierarchy self, SparseParticleIndexKey a0) -> ParticleIndex
1939  """
1940  return _IMP_atom.Hierarchy_get_value(self, *args)
1941 
1942  def set_value(self, *args):
1943  r"""
1944  set_value(Hierarchy self, FloatKey a0, IMP::Float a1)
1945  set_value(Hierarchy self, IntKey a0, IMP::Int a1)
1946  set_value(Hierarchy self, FloatsKey a0, IMP::Floats a1)
1947  set_value(Hierarchy self, IntsKey a0, IMP::Ints a1)
1948  set_value(Hierarchy self, StringKey a0, IMP::String a1)
1949  set_value(Hierarchy self, ParticleIndexKey a0, Particle a1)
1950  set_value(Hierarchy self, ObjectKey a0, Object a1)
1951  set_value(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
1952  set_value(Hierarchy self, SparseIntKey a0, IMP::Int a1)
1953  set_value(Hierarchy self, SparseStringKey a0, IMP::String a1)
1954  set_value(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
1955  """
1956  return _IMP_atom.Hierarchy_set_value(self, *args)
1957 
1958  def remove_attribute(self, *args):
1959  r"""
1960  remove_attribute(Hierarchy self, FloatKey a0)
1961  remove_attribute(Hierarchy self, IntKey a0)
1962  remove_attribute(Hierarchy self, FloatsKey a0)
1963  remove_attribute(Hierarchy self, IntsKey a0)
1964  remove_attribute(Hierarchy self, StringKey a0)
1965  remove_attribute(Hierarchy self, ParticleIndexKey a0)
1966  remove_attribute(Hierarchy self, ObjectKey a0)
1967  remove_attribute(Hierarchy self, SparseFloatKey a0)
1968  remove_attribute(Hierarchy self, SparseIntKey a0)
1969  remove_attribute(Hierarchy self, SparseStringKey a0)
1970  remove_attribute(Hierarchy self, SparseParticleIndexKey a0)
1971  """
1972  return _IMP_atom.Hierarchy_remove_attribute(self, *args)
1973 
1974  def has_attribute(self, *args):
1975  r"""
1976  has_attribute(Hierarchy self, FloatKey a0) -> bool
1977  has_attribute(Hierarchy self, IntKey a0) -> bool
1978  has_attribute(Hierarchy self, FloatsKey a0) -> bool
1979  has_attribute(Hierarchy self, IntsKey a0) -> bool
1980  has_attribute(Hierarchy self, StringKey a0) -> bool
1981  has_attribute(Hierarchy self, ParticleIndexKey a0) -> bool
1982  has_attribute(Hierarchy self, ObjectKey a0) -> bool
1983  has_attribute(Hierarchy self, SparseFloatKey a0) -> bool
1984  has_attribute(Hierarchy self, SparseIntKey a0) -> bool
1985  has_attribute(Hierarchy self, SparseStringKey a0) -> bool
1986  has_attribute(Hierarchy self, SparseParticleIndexKey a0) -> bool
1987  """
1988  return _IMP_atom.Hierarchy_has_attribute(self, *args)
1989 
1990  def get_derivative(self, a0):
1991  r"""get_derivative(Hierarchy self, FloatKey a0) -> double"""
1992  return _IMP_atom.Hierarchy_get_derivative(self, a0)
1993 
1994  def get_name(self):
1995  r"""get_name(Hierarchy self) -> std::string"""
1996  return _IMP_atom.Hierarchy_get_name(self)
1997 
1998  def clear_caches(self):
1999  r"""clear_caches(Hierarchy self)"""
2000  return _IMP_atom.Hierarchy_clear_caches(self)
2001 
2002  def set_name(self, a0):
2003  r"""set_name(Hierarchy self, std::string a0)"""
2004  return _IMP_atom.Hierarchy_set_name(self, a0)
2005 
2006  def set_check_level(self, a0):
2007  r"""set_check_level(Hierarchy self, IMP::CheckLevel a0)"""
2008  return _IMP_atom.Hierarchy_set_check_level(self, a0)
2009 
2010  def add_to_derivative(self, a0, a1, a2):
2011  r"""add_to_derivative(Hierarchy self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2012  return _IMP_atom.Hierarchy_add_to_derivative(self, a0, a1, a2)
2013 
2014  def set_is_optimized(self, a0, a1):
2015  r"""set_is_optimized(Hierarchy self, FloatKey a0, bool a1)"""
2016  return _IMP_atom.Hierarchy_set_is_optimized(self, a0, a1)
2017 
2018  def get_is_optimized(self, a0):
2019  r"""get_is_optimized(Hierarchy self, FloatKey a0) -> bool"""
2020  return _IMP_atom.Hierarchy_get_is_optimized(self, a0)
2021 
2022  def get_check_level(self):
2023  r"""get_check_level(Hierarchy self) -> IMP::CheckLevel"""
2024  return _IMP_atom.Hierarchy_get_check_level(self)
2025 
2026  def __eq__(self, *args):
2027  r"""
2028  __eq__(Hierarchy self, Hierarchy o) -> bool
2029  __eq__(Hierarchy self, Particle d) -> bool
2030  """
2031  return _IMP_atom.Hierarchy___eq__(self, *args)
2032 
2033  def __ne__(self, *args):
2034  r"""
2035  __ne__(Hierarchy self, Hierarchy o) -> bool
2036  __ne__(Hierarchy self, Particle d) -> bool
2037  """
2038  return _IMP_atom.Hierarchy___ne__(self, *args)
2039 
2040  def __le__(self, *args):
2041  r"""
2042  __le__(Hierarchy self, Hierarchy o) -> bool
2043  __le__(Hierarchy self, Particle d) -> bool
2044  """
2045  return _IMP_atom.Hierarchy___le__(self, *args)
2046 
2047  def __lt__(self, *args):
2048  r"""
2049  __lt__(Hierarchy self, Hierarchy o) -> bool
2050  __lt__(Hierarchy self, Particle d) -> bool
2051  """
2052  return _IMP_atom.Hierarchy___lt__(self, *args)
2053 
2054  def __ge__(self, *args):
2055  r"""
2056  __ge__(Hierarchy self, Hierarchy o) -> bool
2057  __ge__(Hierarchy self, Particle d) -> bool
2058  """
2059  return _IMP_atom.Hierarchy___ge__(self, *args)
2060 
2061  def __gt__(self, *args):
2062  r"""
2063  __gt__(Hierarchy self, Hierarchy o) -> bool
2064  __gt__(Hierarchy self, Particle d) -> bool
2065  """
2066  return _IMP_atom.Hierarchy___gt__(self, *args)
2067 
2068  def __hash__(self):
2069  r"""__hash__(Hierarchy self) -> std::size_t"""
2070  return _IMP_atom.Hierarchy___hash__(self)
2071 
2072  def __str__(self):
2073  r"""__str__(Hierarchy self) -> std::string"""
2074  return _IMP_atom.Hierarchy___str__(self)
2075 
2076  def __repr__(self):
2077  r"""__repr__(Hierarchy self) -> std::string"""
2078  return _IMP_atom.Hierarchy___repr__(self)
2079 
2080  def _get_as_binary(self):
2081  r"""_get_as_binary(Hierarchy self) -> PyObject *"""
2082  return _IMP_atom.Hierarchy__get_as_binary(self)
2083 
2084  def _set_from_binary(self, p):
2085  r"""_set_from_binary(Hierarchy self, PyObject * p)"""
2086  return _IMP_atom.Hierarchy__set_from_binary(self, p)
2087 
2088  def __getstate__(self):
2089  p = self._get_as_binary()
2090  if len(self.__dict__) > 1:
2091  d = self.__dict__.copy()
2092  del d['this']
2093  p = (d, p)
2094  return p
2095 
2096  def __setstate__(self, p):
2097  if not hasattr(self, 'this'):
2098  self.__init__()
2099  if isinstance(p, tuple):
2100  d, p = p
2101  self.__dict__.update(d)
2102  return self._set_from_binary(p)
2103 
2104  __swig_destroy__ = _IMP_atom.delete_Hierarchy
2105 
2106 # Register Hierarchy in _IMP_atom:
2107 _IMP_atom.Hierarchy_swigregister(Hierarchy)
2108 ATOM_TYPE = _IMP_atom.ATOM_TYPE
2109 
2110 RESIDUE_TYPE = _IMP_atom.RESIDUE_TYPE
2111 
2112 CHAIN_TYPE = _IMP_atom.CHAIN_TYPE
2113 
2114 MOLECULE_TYPE = _IMP_atom.MOLECULE_TYPE
2115 
2116 DOMAIN_TYPE = _IMP_atom.DOMAIN_TYPE
2117 
2118 FRAGMENT_TYPE = _IMP_atom.FRAGMENT_TYPE
2119 
2120 XYZ_TYPE = _IMP_atom.XYZ_TYPE
2121 
2122 XYZR_TYPE = _IMP_atom.XYZR_TYPE
2123 
2124 MASS_TYPE = _IMP_atom.MASS_TYPE
2125 
2126 STATE_TYPE = _IMP_atom.STATE_TYPE
2127 
2128 
2129 def get_by_type(mhd, t):
2130  r"""get_by_type(Hierarchy mhd, IMP::atom::GetByType t) -> IMP::atom::Hierarchies"""
2131  return _IMP_atom.get_by_type(mhd, t)
2132 
2133 def create_fragment(ps):
2134  r"""create_fragment(IMP::atom::Hierarchies const & ps) -> Hierarchy"""
2135  return _IMP_atom.create_fragment(ps)
2136 
2137 def get_internal_bonds(mhd, with_representations=False):
2138  r"""get_internal_bonds(Hierarchy mhd, bool with_representations=False) -> IMP::atom::Bonds"""
2139  return _IMP_atom.get_internal_bonds(mhd, with_representations)
2140 
2141 def get_root(h):
2142  r"""get_root(Hierarchy h) -> Hierarchy"""
2143  return _IMP_atom.get_root(h)
2144 
2145 def show(*args):
2146  r"""show(Hierarchy h, _ostream out=std::cout)"""
2147  return _IMP_atom.show(*args)
2148 
2149 def create_rigid_body(*args):
2150  r"""
2151  create_rigid_body(IMP::atom::Hierarchies const & h, std::string name=std::string("created rigid body")) -> RigidBody
2152  create_rigid_body(Hierarchy h) -> RigidBody
2153  """
2154  return _IMP_atom.create_rigid_body(*args)
2155 
2156 def create_compatible_rigid_body(h, reference):
2157  r"""create_compatible_rigid_body(Hierarchy h, Hierarchy reference) -> RigidBody"""
2158  return _IMP_atom.create_compatible_rigid_body(h, reference)
2159 
2160 def get_is_heterogen(h):
2161  r"""get_is_heterogen(Hierarchy h) -> bool"""
2162  return _IMP_atom.get_is_heterogen(h)
2163 
2164 def create_clone(d, m=None):
2165  r"""create_clone(Hierarchy d, Model m=None) -> Hierarchy"""
2166  return _IMP_atom.create_clone(d, m)
2167 
2168 def create_clone_one(d, m=None):
2169  r"""create_clone_one(Hierarchy d, Model m=None) -> Hierarchy"""
2170  return _IMP_atom.create_clone_one(d, m)
2171 
2172 def destroy(d):
2173  r"""destroy(Hierarchy d)"""
2174  return _IMP_atom.destroy(d)
2175 
2176 def get_bounding_box(h):
2177  r"""get_bounding_box(Hierarchy h) -> BoundingBox3D"""
2178  return _IMP_atom.get_bounding_box(h)
2179 
2180 def get_bounding_sphere(h):
2181  r"""get_bounding_sphere(Hierarchy h) -> Sphere3D"""
2182  return _IMP_atom.get_bounding_sphere(h)
2183 class Angle(IMP.Decorator):
2184  r"""Proxy of C++ IMP::atom::Angle class."""
2185 
2186  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2187 
2188  def __init__(self, *args):
2189  r"""
2190  __init__(Angle self) -> Angle
2191  __init__(Angle self, Model m, ParticleIndex id) -> Angle
2192  __init__(Angle self, _ParticleAdaptor d) -> Angle
2193  """
2194  _IMP_atom.Angle_swiginit(self, _IMP_atom.new_Angle(*args))
2195 
2196  def show(self, *args):
2197  r"""show(Angle self, _ostream out=std::cout)"""
2198  return _IMP_atom.Angle_show(self, *args)
2199 
2200  @staticmethod
2201  def setup_particle(*args):
2202  r"""
2203  setup_particle(Model m, ParticleIndex pi, XYZ a, XYZ b, XYZ c) -> Angle
2204  setup_particle(_ParticleAdaptor pa, XYZ a, XYZ b, XYZ c) -> Angle
2205  """
2206  return _IMP_atom.Angle_setup_particle(*args)
2207 
2208  @staticmethod
2209  def get_is_setup(*args):
2210  r"""
2211  get_is_setup(_ParticleAdaptor p) -> bool
2212  get_is_setup(Model m, ParticleIndex pi) -> bool
2213  """
2214  return _IMP_atom.Angle_get_is_setup(*args)
2215 
2216  def get_particle(self, *args):
2217  r"""
2218  get_particle(Angle self) -> Particle
2219  get_particle(Angle self, unsigned int i) -> Particle
2220  """
2221  return _IMP_atom.Angle_get_particle(self, *args)
2222 
2223  def get_ideal(self):
2224  r"""get_ideal(Angle self) -> IMP::Float"""
2225  return _IMP_atom.Angle_get_ideal(self)
2226 
2227  def set_ideal(self, t):
2228  r"""set_ideal(Angle self, IMP::Float t)"""
2229  return _IMP_atom.Angle_set_ideal(self, t)
2230 
2231  def get_stiffness(self):
2232  r"""get_stiffness(Angle self) -> IMP::Float"""
2233  return _IMP_atom.Angle_get_stiffness(self)
2234 
2235  def set_stiffness(self, t):
2236  r"""set_stiffness(Angle self, IMP::Float t)"""
2237  return _IMP_atom.Angle_set_stiffness(self, t)
2238 
2239  @staticmethod
2240  def get_particle_key(i):
2241  r"""get_particle_key(unsigned int i) -> ParticleIndexKey"""
2242  return _IMP_atom.Angle_get_particle_key(i)
2243 
2244  @staticmethod
2245  def get_ideal_key():
2246  r"""get_ideal_key() -> FloatKey"""
2247  return _IMP_atom.Angle_get_ideal_key()
2248 
2249  @staticmethod
2250  def get_stiffness_key():
2251  r"""get_stiffness_key() -> FloatKey"""
2252  return _IMP_atom.Angle_get_stiffness_key()
2253 
2254  def add_attribute(self, *args):
2255  r"""
2256  add_attribute(Angle self, FloatKey k, IMP::Float v, bool opt)
2257  add_attribute(Angle self, FloatKey a0, IMP::Float a1)
2258  add_attribute(Angle self, IntKey a0, IMP::Int a1)
2259  add_attribute(Angle self, FloatsKey a0, IMP::Floats a1)
2260  add_attribute(Angle self, IntsKey a0, IMP::Ints a1)
2261  add_attribute(Angle self, StringKey a0, IMP::String a1)
2262  add_attribute(Angle self, ParticleIndexKey a0, Particle a1)
2263  add_attribute(Angle self, ObjectKey a0, Object a1)
2264  add_attribute(Angle self, SparseFloatKey a0, IMP::Float a1)
2265  add_attribute(Angle self, SparseIntKey a0, IMP::Int a1)
2266  add_attribute(Angle self, SparseStringKey a0, IMP::String a1)
2267  add_attribute(Angle self, SparseParticleIndexKey a0, ParticleIndex a1)
2268  """
2269  return _IMP_atom.Angle_add_attribute(self, *args)
2270 
2271  def get_value(self, *args):
2272  r"""
2273  get_value(Angle self, FloatKey a0) -> IMP::Float
2274  get_value(Angle self, IntKey a0) -> IMP::Int
2275  get_value(Angle self, FloatsKey a0) -> IMP::Floats
2276  get_value(Angle self, IntsKey a0) -> IMP::Ints
2277  get_value(Angle self, StringKey a0) -> IMP::String
2278  get_value(Angle self, ParticleIndexKey a0) -> Particle
2279  get_value(Angle self, ObjectKey a0) -> Object
2280  get_value(Angle self, SparseFloatKey a0) -> IMP::Float
2281  get_value(Angle self, SparseIntKey a0) -> IMP::Int
2282  get_value(Angle self, SparseStringKey a0) -> IMP::String
2283  get_value(Angle self, SparseParticleIndexKey a0) -> ParticleIndex
2284  """
2285  return _IMP_atom.Angle_get_value(self, *args)
2286 
2287  def set_value(self, *args):
2288  r"""
2289  set_value(Angle self, FloatKey a0, IMP::Float a1)
2290  set_value(Angle self, IntKey a0, IMP::Int a1)
2291  set_value(Angle self, FloatsKey a0, IMP::Floats a1)
2292  set_value(Angle self, IntsKey a0, IMP::Ints a1)
2293  set_value(Angle self, StringKey a0, IMP::String a1)
2294  set_value(Angle self, ParticleIndexKey a0, Particle a1)
2295  set_value(Angle self, ObjectKey a0, Object a1)
2296  set_value(Angle self, SparseFloatKey a0, IMP::Float a1)
2297  set_value(Angle self, SparseIntKey a0, IMP::Int a1)
2298  set_value(Angle self, SparseStringKey a0, IMP::String a1)
2299  set_value(Angle self, SparseParticleIndexKey a0, ParticleIndex a1)
2300  """
2301  return _IMP_atom.Angle_set_value(self, *args)
2302 
2303  def remove_attribute(self, *args):
2304  r"""
2305  remove_attribute(Angle self, FloatKey a0)
2306  remove_attribute(Angle self, IntKey a0)
2307  remove_attribute(Angle self, FloatsKey a0)
2308  remove_attribute(Angle self, IntsKey a0)
2309  remove_attribute(Angle self, StringKey a0)
2310  remove_attribute(Angle self, ParticleIndexKey a0)
2311  remove_attribute(Angle self, ObjectKey a0)
2312  remove_attribute(Angle self, SparseFloatKey a0)
2313  remove_attribute(Angle self, SparseIntKey a0)
2314  remove_attribute(Angle self, SparseStringKey a0)
2315  remove_attribute(Angle self, SparseParticleIndexKey a0)
2316  """
2317  return _IMP_atom.Angle_remove_attribute(self, *args)
2318 
2319  def has_attribute(self, *args):
2320  r"""
2321  has_attribute(Angle self, FloatKey a0) -> bool
2322  has_attribute(Angle self, IntKey a0) -> bool
2323  has_attribute(Angle self, FloatsKey a0) -> bool
2324  has_attribute(Angle self, IntsKey a0) -> bool
2325  has_attribute(Angle self, StringKey a0) -> bool
2326  has_attribute(Angle self, ParticleIndexKey a0) -> bool
2327  has_attribute(Angle self, ObjectKey a0) -> bool
2328  has_attribute(Angle self, SparseFloatKey a0) -> bool
2329  has_attribute(Angle self, SparseIntKey a0) -> bool
2330  has_attribute(Angle self, SparseStringKey a0) -> bool
2331  has_attribute(Angle self, SparseParticleIndexKey a0) -> bool
2332  """
2333  return _IMP_atom.Angle_has_attribute(self, *args)
2334 
2335  def get_derivative(self, a0):
2336  r"""get_derivative(Angle self, FloatKey a0) -> double"""
2337  return _IMP_atom.Angle_get_derivative(self, a0)
2338 
2339  def get_name(self):
2340  r"""get_name(Angle self) -> std::string"""
2341  return _IMP_atom.Angle_get_name(self)
2342 
2343  def clear_caches(self):
2344  r"""clear_caches(Angle self)"""
2345  return _IMP_atom.Angle_clear_caches(self)
2346 
2347  def set_name(self, a0):
2348  r"""set_name(Angle self, std::string a0)"""
2349  return _IMP_atom.Angle_set_name(self, a0)
2350 
2351  def set_check_level(self, a0):
2352  r"""set_check_level(Angle self, IMP::CheckLevel a0)"""
2353  return _IMP_atom.Angle_set_check_level(self, a0)
2354 
2355  def add_to_derivative(self, a0, a1, a2):
2356  r"""add_to_derivative(Angle self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2357  return _IMP_atom.Angle_add_to_derivative(self, a0, a1, a2)
2358 
2359  def set_is_optimized(self, a0, a1):
2360  r"""set_is_optimized(Angle self, FloatKey a0, bool a1)"""
2361  return _IMP_atom.Angle_set_is_optimized(self, a0, a1)
2362 
2363  def get_is_optimized(self, a0):
2364  r"""get_is_optimized(Angle self, FloatKey a0) -> bool"""
2365  return _IMP_atom.Angle_get_is_optimized(self, a0)
2366 
2367  def get_check_level(self):
2368  r"""get_check_level(Angle self) -> IMP::CheckLevel"""
2369  return _IMP_atom.Angle_get_check_level(self)
2370 
2371  def __eq__(self, *args):
2372  r"""
2373  __eq__(Angle self, Angle o) -> bool
2374  __eq__(Angle self, Particle d) -> bool
2375  """
2376  return _IMP_atom.Angle___eq__(self, *args)
2377 
2378  def __ne__(self, *args):
2379  r"""
2380  __ne__(Angle self, Angle o) -> bool
2381  __ne__(Angle self, Particle d) -> bool
2382  """
2383  return _IMP_atom.Angle___ne__(self, *args)
2384 
2385  def __le__(self, *args):
2386  r"""
2387  __le__(Angle self, Angle o) -> bool
2388  __le__(Angle self, Particle d) -> bool
2389  """
2390  return _IMP_atom.Angle___le__(self, *args)
2391 
2392  def __lt__(self, *args):
2393  r"""
2394  __lt__(Angle self, Angle o) -> bool
2395  __lt__(Angle self, Particle d) -> bool
2396  """
2397  return _IMP_atom.Angle___lt__(self, *args)
2398 
2399  def __ge__(self, *args):
2400  r"""
2401  __ge__(Angle self, Angle o) -> bool
2402  __ge__(Angle self, Particle d) -> bool
2403  """
2404  return _IMP_atom.Angle___ge__(self, *args)
2405 
2406  def __gt__(self, *args):
2407  r"""
2408  __gt__(Angle self, Angle o) -> bool
2409  __gt__(Angle self, Particle d) -> bool
2410  """
2411  return _IMP_atom.Angle___gt__(self, *args)
2412 
2413  def __hash__(self):
2414  r"""__hash__(Angle self) -> std::size_t"""
2415  return _IMP_atom.Angle___hash__(self)
2416 
2417  def __str__(self):
2418  r"""__str__(Angle self) -> std::string"""
2419  return _IMP_atom.Angle___str__(self)
2420 
2421  def __repr__(self):
2422  r"""__repr__(Angle self) -> std::string"""
2423  return _IMP_atom.Angle___repr__(self)
2424 
2425  def _get_as_binary(self):
2426  r"""_get_as_binary(Angle self) -> PyObject *"""
2427  return _IMP_atom.Angle__get_as_binary(self)
2428 
2429  def _set_from_binary(self, p):
2430  r"""_set_from_binary(Angle self, PyObject * p)"""
2431  return _IMP_atom.Angle__set_from_binary(self, p)
2432 
2433  def __getstate__(self):
2434  p = self._get_as_binary()
2435  if len(self.__dict__) > 1:
2436  d = self.__dict__.copy()
2437  del d['this']
2438  p = (d, p)
2439  return p
2440 
2441  def __setstate__(self, p):
2442  if not hasattr(self, 'this'):
2443  self.__init__()
2444  if isinstance(p, tuple):
2445  d, p = p
2446  self.__dict__.update(d)
2447  return self._set_from_binary(p)
2448 
2449  __swig_destroy__ = _IMP_atom.delete_Angle
2450 
2451 # Register Angle in _IMP_atom:
2452 _IMP_atom.Angle_swigregister(Angle)
2453 class Dihedral(IMP.Decorator):
2454  r"""Proxy of C++ IMP::atom::Dihedral class."""
2455 
2456  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2457 
2458  def __init__(self, *args):
2459  r"""
2460  __init__(Dihedral self) -> Dihedral
2461  __init__(Dihedral self, Model m, ParticleIndex id) -> Dihedral
2462  __init__(Dihedral self, _ParticleAdaptor d) -> Dihedral
2463  """
2464  _IMP_atom.Dihedral_swiginit(self, _IMP_atom.new_Dihedral(*args))
2465 
2466  def show(self, *args):
2467  r"""show(Dihedral self, _ostream out=std::cout)"""
2468  return _IMP_atom.Dihedral_show(self, *args)
2469 
2470  @staticmethod
2471  def setup_particle(*args):
2472  r"""
2473  setup_particle(Model m, ParticleIndex pi, XYZ a, XYZ b, XYZ c, XYZ d) -> Dihedral
2474  setup_particle(_ParticleAdaptor pa, XYZ a, XYZ b, XYZ c, XYZ d) -> Dihedral
2475  """
2476  return _IMP_atom.Dihedral_setup_particle(*args)
2477 
2478  @staticmethod
2479  def get_is_setup(*args):
2480  r"""
2481  get_is_setup(_ParticleAdaptor p) -> bool
2482  get_is_setup(Model m, ParticleIndex pi) -> bool
2483  """
2484  return _IMP_atom.Dihedral_get_is_setup(*args)
2485 
2486  def get_particle(self, *args):
2487  r"""
2488  get_particle(Dihedral self) -> Particle
2489  get_particle(Dihedral self, unsigned int i) -> Particle
2490  """
2491  return _IMP_atom.Dihedral_get_particle(self, *args)
2492 
2493  def get_ideal(self):
2494  r"""get_ideal(Dihedral self) -> IMP::Float"""
2495  return _IMP_atom.Dihedral_get_ideal(self)
2496 
2497  def set_ideal(self, t):
2498  r"""set_ideal(Dihedral self, IMP::Float t)"""
2499  return _IMP_atom.Dihedral_set_ideal(self, t)
2500 
2501  def get_multiplicity(self):
2502  r"""get_multiplicity(Dihedral self) -> IMP::Int"""
2503  return _IMP_atom.Dihedral_get_multiplicity(self)
2504 
2505  def set_multiplicity(self, t):
2506  r"""set_multiplicity(Dihedral self, IMP::Int t)"""
2507  return _IMP_atom.Dihedral_set_multiplicity(self, t)
2508 
2509  def get_stiffness(self):
2510  r"""get_stiffness(Dihedral self) -> IMP::Float"""
2511  return _IMP_atom.Dihedral_get_stiffness(self)
2512 
2513  def set_stiffness(self, t):
2514  r"""set_stiffness(Dihedral self, IMP::Float t)"""
2515  return _IMP_atom.Dihedral_set_stiffness(self, t)
2516 
2517  @staticmethod
2518  def get_particle_key(i):
2519  r"""get_particle_key(unsigned int i) -> ParticleIndexKey"""
2520  return _IMP_atom.Dihedral_get_particle_key(i)
2521 
2522  @staticmethod
2523  def get_ideal_key():
2524  r"""get_ideal_key() -> FloatKey"""
2525  return _IMP_atom.Dihedral_get_ideal_key()
2526 
2527  @staticmethod
2528  def get_multiplicity_key():
2529  r"""get_multiplicity_key() -> IntKey"""
2530  return _IMP_atom.Dihedral_get_multiplicity_key()
2531 
2532  @staticmethod
2533  def get_stiffness_key():
2534  r"""get_stiffness_key() -> FloatKey"""
2535  return _IMP_atom.Dihedral_get_stiffness_key()
2536 
2537  def add_attribute(self, *args):
2538  r"""
2539  add_attribute(Dihedral self, FloatKey k, IMP::Float v, bool opt)
2540  add_attribute(Dihedral self, FloatKey a0, IMP::Float a1)
2541  add_attribute(Dihedral self, IntKey a0, IMP::Int a1)
2542  add_attribute(Dihedral self, FloatsKey a0, IMP::Floats a1)
2543  add_attribute(Dihedral self, IntsKey a0, IMP::Ints a1)
2544  add_attribute(Dihedral self, StringKey a0, IMP::String a1)
2545  add_attribute(Dihedral self, ParticleIndexKey a0, Particle a1)
2546  add_attribute(Dihedral self, ObjectKey a0, Object a1)
2547  add_attribute(Dihedral self, SparseFloatKey a0, IMP::Float a1)
2548  add_attribute(Dihedral self, SparseIntKey a0, IMP::Int a1)
2549  add_attribute(Dihedral self, SparseStringKey a0, IMP::String a1)
2550  add_attribute(Dihedral self, SparseParticleIndexKey a0, ParticleIndex a1)
2551  """
2552  return _IMP_atom.Dihedral_add_attribute(self, *args)
2553 
2554  def get_value(self, *args):
2555  r"""
2556  get_value(Dihedral self, FloatKey a0) -> IMP::Float
2557  get_value(Dihedral self, IntKey a0) -> IMP::Int
2558  get_value(Dihedral self, FloatsKey a0) -> IMP::Floats
2559  get_value(Dihedral self, IntsKey a0) -> IMP::Ints
2560  get_value(Dihedral self, StringKey a0) -> IMP::String
2561  get_value(Dihedral self, ParticleIndexKey a0) -> Particle
2562  get_value(Dihedral self, ObjectKey a0) -> Object
2563  get_value(Dihedral self, SparseFloatKey a0) -> IMP::Float
2564  get_value(Dihedral self, SparseIntKey a0) -> IMP::Int
2565  get_value(Dihedral self, SparseStringKey a0) -> IMP::String
2566  get_value(Dihedral self, SparseParticleIndexKey a0) -> ParticleIndex
2567  """
2568  return _IMP_atom.Dihedral_get_value(self, *args)
2569 
2570  def set_value(self, *args):
2571  r"""
2572  set_value(Dihedral self, FloatKey a0, IMP::Float a1)
2573  set_value(Dihedral self, IntKey a0, IMP::Int a1)
2574  set_value(Dihedral self, FloatsKey a0, IMP::Floats a1)
2575  set_value(Dihedral self, IntsKey a0, IMP::Ints a1)
2576  set_value(Dihedral self, StringKey a0, IMP::String a1)
2577  set_value(Dihedral self, ParticleIndexKey a0, Particle a1)
2578  set_value(Dihedral self, ObjectKey a0, Object a1)
2579  set_value(Dihedral self, SparseFloatKey a0, IMP::Float a1)
2580  set_value(Dihedral self, SparseIntKey a0, IMP::Int a1)
2581  set_value(Dihedral self, SparseStringKey a0, IMP::String a1)
2582  set_value(Dihedral self, SparseParticleIndexKey a0, ParticleIndex a1)
2583  """
2584  return _IMP_atom.Dihedral_set_value(self, *args)
2585 
2586  def remove_attribute(self, *args):
2587  r"""
2588  remove_attribute(Dihedral self, FloatKey a0)
2589  remove_attribute(Dihedral self, IntKey a0)
2590  remove_attribute(Dihedral self, FloatsKey a0)
2591  remove_attribute(Dihedral self, IntsKey a0)
2592  remove_attribute(Dihedral self, StringKey a0)
2593  remove_attribute(Dihedral self, ParticleIndexKey a0)
2594  remove_attribute(Dihedral self, ObjectKey a0)
2595  remove_attribute(Dihedral self, SparseFloatKey a0)
2596  remove_attribute(Dihedral self, SparseIntKey a0)
2597  remove_attribute(Dihedral self, SparseStringKey a0)
2598  remove_attribute(Dihedral self, SparseParticleIndexKey a0)
2599  """
2600  return _IMP_atom.Dihedral_remove_attribute(self, *args)
2601 
2602  def has_attribute(self, *args):
2603  r"""
2604  has_attribute(Dihedral self, FloatKey a0) -> bool
2605  has_attribute(Dihedral self, IntKey a0) -> bool
2606  has_attribute(Dihedral self, FloatsKey a0) -> bool
2607  has_attribute(Dihedral self, IntsKey a0) -> bool
2608  has_attribute(Dihedral self, StringKey a0) -> bool
2609  has_attribute(Dihedral self, ParticleIndexKey a0) -> bool
2610  has_attribute(Dihedral self, ObjectKey a0) -> bool
2611  has_attribute(Dihedral self, SparseFloatKey a0) -> bool
2612  has_attribute(Dihedral self, SparseIntKey a0) -> bool
2613  has_attribute(Dihedral self, SparseStringKey a0) -> bool
2614  has_attribute(Dihedral self, SparseParticleIndexKey a0) -> bool
2615  """
2616  return _IMP_atom.Dihedral_has_attribute(self, *args)
2617 
2618  def get_derivative(self, a0):
2619  r"""get_derivative(Dihedral self, FloatKey a0) -> double"""
2620  return _IMP_atom.Dihedral_get_derivative(self, a0)
2621 
2622  def get_name(self):
2623  r"""get_name(Dihedral self) -> std::string"""
2624  return _IMP_atom.Dihedral_get_name(self)
2625 
2626  def clear_caches(self):
2627  r"""clear_caches(Dihedral self)"""
2628  return _IMP_atom.Dihedral_clear_caches(self)
2629 
2630  def set_name(self, a0):
2631  r"""set_name(Dihedral self, std::string a0)"""
2632  return _IMP_atom.Dihedral_set_name(self, a0)
2633 
2634  def set_check_level(self, a0):
2635  r"""set_check_level(Dihedral self, IMP::CheckLevel a0)"""
2636  return _IMP_atom.Dihedral_set_check_level(self, a0)
2637 
2638  def add_to_derivative(self, a0, a1, a2):
2639  r"""add_to_derivative(Dihedral self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2640  return _IMP_atom.Dihedral_add_to_derivative(self, a0, a1, a2)
2641 
2642  def set_is_optimized(self, a0, a1):
2643  r"""set_is_optimized(Dihedral self, FloatKey a0, bool a1)"""
2644  return _IMP_atom.Dihedral_set_is_optimized(self, a0, a1)
2645 
2646  def get_is_optimized(self, a0):
2647  r"""get_is_optimized(Dihedral self, FloatKey a0) -> bool"""
2648  return _IMP_atom.Dihedral_get_is_optimized(self, a0)
2649 
2650  def get_check_level(self):
2651  r"""get_check_level(Dihedral self) -> IMP::CheckLevel"""
2652  return _IMP_atom.Dihedral_get_check_level(self)
2653 
2654  def __eq__(self, *args):
2655  r"""
2656  __eq__(Dihedral self, Dihedral o) -> bool
2657  __eq__(Dihedral self, Particle d) -> bool
2658  """
2659  return _IMP_atom.Dihedral___eq__(self, *args)
2660 
2661  def __ne__(self, *args):
2662  r"""
2663  __ne__(Dihedral self, Dihedral o) -> bool
2664  __ne__(Dihedral self, Particle d) -> bool
2665  """
2666  return _IMP_atom.Dihedral___ne__(self, *args)
2667 
2668  def __le__(self, *args):
2669  r"""
2670  __le__(Dihedral self, Dihedral o) -> bool
2671  __le__(Dihedral self, Particle d) -> bool
2672  """
2673  return _IMP_atom.Dihedral___le__(self, *args)
2674 
2675  def __lt__(self, *args):
2676  r"""
2677  __lt__(Dihedral self, Dihedral o) -> bool
2678  __lt__(Dihedral self, Particle d) -> bool
2679  """
2680  return _IMP_atom.Dihedral___lt__(self, *args)
2681 
2682  def __ge__(self, *args):
2683  r"""
2684  __ge__(Dihedral self, Dihedral o) -> bool
2685  __ge__(Dihedral self, Particle d) -> bool
2686  """
2687  return _IMP_atom.Dihedral___ge__(self, *args)
2688 
2689  def __gt__(self, *args):
2690  r"""
2691  __gt__(Dihedral self, Dihedral o) -> bool
2692  __gt__(Dihedral self, Particle d) -> bool
2693  """
2694  return _IMP_atom.Dihedral___gt__(self, *args)
2695 
2696  def __hash__(self):
2697  r"""__hash__(Dihedral self) -> std::size_t"""
2698  return _IMP_atom.Dihedral___hash__(self)
2699 
2700  def __str__(self):
2701  r"""__str__(Dihedral self) -> std::string"""
2702  return _IMP_atom.Dihedral___str__(self)
2703 
2704  def __repr__(self):
2705  r"""__repr__(Dihedral self) -> std::string"""
2706  return _IMP_atom.Dihedral___repr__(self)
2707 
2708  def _get_as_binary(self):
2709  r"""_get_as_binary(Dihedral self) -> PyObject *"""
2710  return _IMP_atom.Dihedral__get_as_binary(self)
2711 
2712  def _set_from_binary(self, p):
2713  r"""_set_from_binary(Dihedral self, PyObject * p)"""
2714  return _IMP_atom.Dihedral__set_from_binary(self, p)
2715 
2716  def __getstate__(self):
2717  p = self._get_as_binary()
2718  if len(self.__dict__) > 1:
2719  d = self.__dict__.copy()
2720  del d['this']
2721  p = (d, p)
2722  return p
2723 
2724  def __setstate__(self, p):
2725  if not hasattr(self, 'this'):
2726  self.__init__()
2727  if isinstance(p, tuple):
2728  d, p = p
2729  self.__dict__.update(d)
2730  return self._set_from_binary(p)
2731 
2732  __swig_destroy__ = _IMP_atom.delete_Dihedral
2733 
2734 # Register Dihedral in _IMP_atom:
2735 _IMP_atom.Dihedral_swigregister(Dihedral)
2736 class SmoothingFunction(IMP.Object):
2737  r"""Proxy of C++ IMP::atom::SmoothingFunction class."""
2738 
2739  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2740 
2741  def __init__(self, *args, **kwargs):
2742  raise AttributeError("No constructor defined - class is abstract")
2743 
2744  def __call__(self, *args):
2745  r"""
2746  __call__(SmoothingFunction self, double score, double distance) -> double
2747  __call__(SmoothingFunction self, double score, double deriv, double distance) -> IMP::DerivativePair
2748  """
2749  return _IMP_atom.SmoothingFunction___call__(self, *args)
2750  __swig_destroy__ = _IMP_atom.delete_SmoothingFunction
2751 
2752  def __str__(self):
2753  r"""__str__(SmoothingFunction self) -> std::string"""
2754  return _IMP_atom.SmoothingFunction___str__(self)
2755 
2756  def __repr__(self):
2757  r"""__repr__(SmoothingFunction self) -> std::string"""
2758  return _IMP_atom.SmoothingFunction___repr__(self)
2759 
2760  @staticmethod
2761  def get_from(o):
2762  return _object_cast_to_SmoothingFunction(o)
2763 
2764 
2765 # Register SmoothingFunction in _IMP_atom:
2766 _IMP_atom.SmoothingFunction_swigregister(SmoothingFunction)
2767 class ForceSwitch(SmoothingFunction):
2768  r"""Proxy of C++ IMP::atom::ForceSwitch class."""
2769 
2770  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2771 
2772  def __init__(self, min_distance, max_distance):
2773  r"""__init__(ForceSwitch self, double min_distance, double max_distance) -> ForceSwitch"""
2774  _IMP_atom.ForceSwitch_swiginit(self, _IMP_atom.new_ForceSwitch(min_distance, max_distance))
2775 
2776  def get_min_distance(self):
2777  r"""get_min_distance(ForceSwitch self) -> double"""
2778  return _IMP_atom.ForceSwitch_get_min_distance(self)
2779 
2780  def get_max_distance(self):
2781  r"""get_max_distance(ForceSwitch self) -> double"""
2782  return _IMP_atom.ForceSwitch_get_max_distance(self)
2783 
2784  def __call__(self, *args):
2785  r"""
2786  __call__(ForceSwitch self, double score, double distance) -> double
2787  __call__(ForceSwitch self, double score, double deriv, double distance) -> IMP::DerivativePair
2788  """
2789  return _IMP_atom.ForceSwitch___call__(self, *args)
2790 
2791  def get_version_info(self):
2792  r"""get_version_info(ForceSwitch self) -> VersionInfo"""
2793  return _IMP_atom.ForceSwitch_get_version_info(self)
2794  __swig_destroy__ = _IMP_atom.delete_ForceSwitch
2795 
2796  def __str__(self):
2797  r"""__str__(ForceSwitch self) -> std::string"""
2798  return _IMP_atom.ForceSwitch___str__(self)
2799 
2800  def __repr__(self):
2801  r"""__repr__(ForceSwitch self) -> std::string"""
2802  return _IMP_atom.ForceSwitch___repr__(self)
2803 
2804  @staticmethod
2805  def get_from(o):
2806  return _object_cast_to_ForceSwitch(o)
2807 
2808 
2809  def _get_jax(self):
2810  import jax.lax
2811  min_distance = self.get_min_distance()
2812  max_distance = self.get_max_distance()
2813  dist_dif = max_distance - min_distance
2814  value_prefactor = 1.0 / (dist_dif * dist_dif * dist_dif)
2815  deriv_prefactor = 6.0 * value_prefactor
2816  def mid_range_score(d):
2817  x = max_distance - d
2818  return (value_prefactor * x * x *
2819  (max_distance + 2.0 * d - 3.0 * min_distance))
2820  def not_short_range_score(d):
2821  return jax.lax.cond(d > max_distance, lambda d: 0.0,
2822  mid_range_score, d)
2823  def jax_func(score, d):
2824  factor = jax.lax.cond(d <= min_distance, lambda d: 1.0,
2825  not_short_range_score, d)
2826  return score * factor
2827  return jax_func
2828 
2829 
2830 # Register ForceSwitch in _IMP_atom:
2831 _IMP_atom.ForceSwitch_swigregister(ForceSwitch)
2832 class AngleSingletonScore(IMP.SingletonScore):
2833  r"""Proxy of C++ IMP::atom::AngleSingletonScore class."""
2834 
2835  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2836 
2837  def __init__(self, f):
2838  r"""__init__(AngleSingletonScore self, UnaryFunction f) -> AngleSingletonScore"""
2839  _IMP_atom.AngleSingletonScore_swiginit(self, _IMP_atom.new_AngleSingletonScore(f))
2840 
2841  def get_unary_function(self):
2842  r"""get_unary_function(AngleSingletonScore self) -> UnaryFunction"""
2843  return _IMP_atom.AngleSingletonScore_get_unary_function(self)
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  def _get_jax(self, m, indexes, space):
2884  import jax.numpy as jnp
2885  import IMP.core._jax_util
2886  from IMP.atom._jax_util import _get_angles
2887  def score(jm, angles, uf):
2888  xyzs = jm['xyz'][angles.bonded_indexes]
2889  rij = xyzs[:,0] - xyzs[:,1]
2890  rkj = xyzs[:,2] - xyzs[:,1]
2891  angle = IMP.core._jax_util._angle(rij, rkj)
2892  angle_diff = IMP.core._jax_util._get_angle_difference(
2893  angle, angles.ideal)
2894  return uf(angles.stiffness * angle_diff)
2895  uf = self.get_unary_function().get_derived_object()
2896  f = functools.partial(score, angles=_get_angles(m, indexes),
2897  uf=uf._get_jax())
2898  return self._wrap_jax(m, f)
2899 
2900 
2901 # Register AngleSingletonScore in _IMP_atom:
2902 _IMP_atom.AngleSingletonScore_swigregister(AngleSingletonScore)
2903 class BondEndpointsRefiner(IMP.Refiner):
2904  r"""Proxy of C++ IMP::atom::BondEndpointsRefiner class."""
2905 
2906  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2907 
2908  def __init__(self):
2909  r"""__init__(BondEndpointsRefiner self) -> BondEndpointsRefiner"""
2910  _IMP_atom.BondEndpointsRefiner_swiginit(self, _IMP_atom.new_BondEndpointsRefiner())
2911 
2912  def do_get_inputs(self, m, pis):
2913  r"""do_get_inputs(BondEndpointsRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
2914  return _IMP_atom.BondEndpointsRefiner_do_get_inputs(self, m, pis)
2915 
2916  def get_version_info(self):
2917  r"""get_version_info(BondEndpointsRefiner self) -> VersionInfo"""
2918  return _IMP_atom.BondEndpointsRefiner_get_version_info(self)
2919  __swig_destroy__ = _IMP_atom.delete_BondEndpointsRefiner
2920 
2921  def __str__(self):
2922  r"""__str__(BondEndpointsRefiner self) -> std::string"""
2923  return _IMP_atom.BondEndpointsRefiner___str__(self)
2924 
2925  def __repr__(self):
2926  r"""__repr__(BondEndpointsRefiner self) -> std::string"""
2927  return _IMP_atom.BondEndpointsRefiner___repr__(self)
2928 
2929  @staticmethod
2930  def get_from(o):
2931  return _object_cast_to_BondEndpointsRefiner(o)
2932 
2933 
2934 # Register BondEndpointsRefiner in _IMP_atom:
2935 _IMP_atom.BondEndpointsRefiner_swigregister(BondEndpointsRefiner)
2936 class BondPairContainer(IMP.PairContainer):
2937  r"""Proxy of C++ IMP::atom::BondPairContainer class."""
2938 
2939  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2940 
2941  def __init__(self, sc):
2942  r"""__init__(BondPairContainer self, SingletonContainer sc) -> BondPairContainer"""
2943  _IMP_atom.BondPairContainer_swiginit(self, _IMP_atom.new_BondPairContainer(sc))
2944 
2945  def do_get_inputs(self):
2946  r"""do_get_inputs(BondPairContainer self) -> IMP::ModelObjectsTemp"""
2947  return _IMP_atom.BondPairContainer_do_get_inputs(self)
2948 
2949  def do_apply(self, sm):
2950  r"""do_apply(BondPairContainer self, PairModifier sm)"""
2951  return _IMP_atom.BondPairContainer_do_apply(self, sm)
2952 
2953  def do_apply_moved(self, sm, moved_pis, reset_pis):
2954  r"""do_apply_moved(BondPairContainer self, PairModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
2955  return _IMP_atom.BondPairContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
2956 
2957  def get_version_info(self):
2958  r"""get_version_info(BondPairContainer self) -> VersionInfo"""
2959  return _IMP_atom.BondPairContainer_get_version_info(self)
2960  __swig_destroy__ = _IMP_atom.delete_BondPairContainer
2961 
2962  def __str__(self):
2963  r"""__str__(BondPairContainer self) -> std::string"""
2964  return _IMP_atom.BondPairContainer___str__(self)
2965 
2966  def __repr__(self):
2967  r"""__repr__(BondPairContainer self) -> std::string"""
2968  return _IMP_atom.BondPairContainer___repr__(self)
2969 
2970  @staticmethod
2971  def get_from(o):
2972  return _object_cast_to_BondPairContainer(o)
2973 
2974 
2975 # Register BondPairContainer in _IMP_atom:
2976 _IMP_atom.BondPairContainer_swigregister(BondPairContainer)
2977 class BondSingletonScore(IMP.SingletonScore):
2978  r"""Proxy of C++ IMP::atom::BondSingletonScore class."""
2979 
2980  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2981 
2982  def __init__(self, f):
2983  r"""__init__(BondSingletonScore self, UnaryFunction f) -> BondSingletonScore"""
2984  _IMP_atom.BondSingletonScore_swiginit(self, _IMP_atom.new_BondSingletonScore(f))
2985 
2986  def get_unary_function(self):
2987  r"""get_unary_function(BondSingletonScore self) -> UnaryFunction"""
2988  return _IMP_atom.BondSingletonScore_get_unary_function(self)
2989 
2990  def do_get_inputs(self, m, pis):
2991  r"""do_get_inputs(BondSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
2992  return _IMP_atom.BondSingletonScore_do_get_inputs(self, m, pis)
2993 
2994  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
2995  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"""
2996  return _IMP_atom.BondSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
2997 
2998  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
2999  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"""
3000  return _IMP_atom.BondSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
3001 
3002  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
3003  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"""
3004  return _IMP_atom.BondSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
3005 
3006  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
3007  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"""
3008  return _IMP_atom.BondSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
3009 
3010  def get_version_info(self):
3011  r"""get_version_info(BondSingletonScore self) -> VersionInfo"""
3012  return _IMP_atom.BondSingletonScore_get_version_info(self)
3013  __swig_destroy__ = _IMP_atom.delete_BondSingletonScore
3014 
3015  def __str__(self):
3016  r"""__str__(BondSingletonScore self) -> std::string"""
3017  return _IMP_atom.BondSingletonScore___str__(self)
3018 
3019  def __repr__(self):
3020  r"""__repr__(BondSingletonScore self) -> std::string"""
3021  return _IMP_atom.BondSingletonScore___repr__(self)
3022 
3023  @staticmethod
3024  def get_from(o):
3025  return _object_cast_to_BondSingletonScore(o)
3026 
3027 
3028  def _get_jax(self, m, indexes, space):
3029  import jax.numpy as jnp
3030  from IMP.atom._jax_util import _get_bonds
3031  def score(jm, bonds, uf):
3032  xyzs = jm['xyz'][bonds.bonded_indexes]
3033  diff = xyzs[:,0] - xyzs[:,1]
3034  drs = space.distance(diff)
3035  return uf(bonds.stiffness * (drs - bonds.length))
3036  uf = self.get_unary_function().get_derived_object()
3037  f = functools.partial(score, bonds=_get_bonds(m, indexes),
3038  uf=uf._get_jax())
3039  return self._wrap_jax(m, f)
3040 
3041 
3042 # Register BondSingletonScore in _IMP_atom:
3043 _IMP_atom.BondSingletonScore_swigregister(BondSingletonScore)
3044 class DihedralSingletonScore(IMP.SingletonScore):
3045  r"""Proxy of C++ IMP::atom::DihedralSingletonScore class."""
3046 
3047  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3048 
3049  def __init__(self):
3050  r"""__init__(DihedralSingletonScore self) -> DihedralSingletonScore"""
3051  _IMP_atom.DihedralSingletonScore_swiginit(self, _IMP_atom.new_DihedralSingletonScore())
3052 
3053  def do_get_inputs(self, m, pis):
3054  r"""do_get_inputs(DihedralSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3055  return _IMP_atom.DihedralSingletonScore_do_get_inputs(self, m, pis)
3056 
3057  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
3058  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"""
3059  return _IMP_atom.DihedralSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
3060 
3061  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
3062  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"""
3063  return _IMP_atom.DihedralSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
3064 
3065  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
3066  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"""
3067  return _IMP_atom.DihedralSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
3068 
3069  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
3070  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"""
3071  return _IMP_atom.DihedralSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
3072 
3073  def get_version_info(self):
3074  r"""get_version_info(DihedralSingletonScore self) -> VersionInfo"""
3075  return _IMP_atom.DihedralSingletonScore_get_version_info(self)
3076  __swig_destroy__ = _IMP_atom.delete_DihedralSingletonScore
3077 
3078  def __str__(self):
3079  r"""__str__(DihedralSingletonScore self) -> std::string"""
3080  return _IMP_atom.DihedralSingletonScore___str__(self)
3081 
3082  def __repr__(self):
3083  r"""__repr__(DihedralSingletonScore self) -> std::string"""
3084  return _IMP_atom.DihedralSingletonScore___repr__(self)
3085 
3086  @staticmethod
3087  def get_from(o):
3088  return _object_cast_to_DihedralSingletonScore(o)
3089 
3090 
3091  def _get_as_binary(self):
3092  r"""_get_as_binary(DihedralSingletonScore self) -> PyObject *"""
3093  return _IMP_atom.DihedralSingletonScore__get_as_binary(self)
3094 
3095  def _set_from_binary(self, p):
3096  r"""_set_from_binary(DihedralSingletonScore self, PyObject * p)"""
3097  return _IMP_atom.DihedralSingletonScore__set_from_binary(self, p)
3098 
3099  def __getstate__(self):
3100  p = self._get_as_binary()
3101  if len(self.__dict__) > 1:
3102  d = self.__dict__.copy()
3103  del d['this']
3104  p = (d, p)
3105  return p
3106 
3107  def __setstate__(self, p):
3108  if not hasattr(self, 'this'):
3109  self.__init__()
3110  if isinstance(p, tuple):
3111  d, p = p
3112  self.__dict__.update(d)
3113  return self._set_from_binary(p)
3114 
3115 
3116  def _get_jax(self, m, indexes, space):
3117  import jax.numpy as jnp
3118  import IMP.core._jax_util
3119  from IMP.atom._jax_util import _get_dihedrals
3120  def score(jm, dihedrals):
3121  xyzs = jm['xyz'][dihedrals.bonded_indexes]
3122  rij = xyzs[:,0] - xyzs[:,1]
3123  rkj = xyzs[:,2] - xyzs[:,1]
3124  rkl = xyzs[:,2] - xyzs[:,3]
3125  dihedral = IMP.core._jax_util._dihedral(rij, rkj, rkl)
3126  b = 0.5 * dihedrals.stiffness * jnp.abs(dihedrals.stiffness)
3127  return jnp.abs(b) + b * jnp.cos(dihedral * dihedrals.multiplicity
3128  + dihedrals.ideal)
3129  f = functools.partial(score, dihedrals=_get_dihedrals(m, indexes))
3130  return self._wrap_jax(m, f)
3131 
3132 
3133 # Register DihedralSingletonScore in _IMP_atom:
3134 _IMP_atom.DihedralSingletonScore_swigregister(DihedralSingletonScore)
3135 class ImproperSingletonScore(IMP.SingletonScore):
3136  r"""Proxy of C++ IMP::atom::ImproperSingletonScore class."""
3137 
3138  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3139 
3140  def __init__(self, f):
3141  r"""__init__(ImproperSingletonScore self, UnaryFunction f) -> ImproperSingletonScore"""
3142  _IMP_atom.ImproperSingletonScore_swiginit(self, _IMP_atom.new_ImproperSingletonScore(f))
3143 
3144  def get_unary_function(self):
3145  r"""get_unary_function(ImproperSingletonScore self) -> UnaryFunction"""
3146  return _IMP_atom.ImproperSingletonScore_get_unary_function(self)
3147 
3148  def do_get_inputs(self, m, pis):
3149  r"""do_get_inputs(ImproperSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3150  return _IMP_atom.ImproperSingletonScore_do_get_inputs(self, m, pis)
3151 
3152  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
3153  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"""
3154  return _IMP_atom.ImproperSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
3155 
3156  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
3157  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"""
3158  return _IMP_atom.ImproperSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
3159 
3160  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
3161  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"""
3162  return _IMP_atom.ImproperSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
3163 
3164  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
3165  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"""
3166  return _IMP_atom.ImproperSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
3167 
3168  def get_version_info(self):
3169  r"""get_version_info(ImproperSingletonScore self) -> VersionInfo"""
3170  return _IMP_atom.ImproperSingletonScore_get_version_info(self)
3171  __swig_destroy__ = _IMP_atom.delete_ImproperSingletonScore
3172 
3173  def __str__(self):
3174  r"""__str__(ImproperSingletonScore self) -> std::string"""
3175  return _IMP_atom.ImproperSingletonScore___str__(self)
3176 
3177  def __repr__(self):
3178  r"""__repr__(ImproperSingletonScore self) -> std::string"""
3179  return _IMP_atom.ImproperSingletonScore___repr__(self)
3180 
3181  @staticmethod
3182  def get_from(o):
3183  return _object_cast_to_ImproperSingletonScore(o)
3184 
3185 
3186  def _get_jax(self, m, indexes, space):
3187  import jax.numpy as jnp
3188  import IMP.core._jax_util
3189  from IMP.atom._jax_util import _get_dihedrals
3190  def score(jm, dihedrals, uf):
3191  xyzs = jm['xyz'][dihedrals.bonded_indexes]
3192  rij = xyzs[:,0] - xyzs[:,1]
3193  rkj = xyzs[:,2] - xyzs[:,1]
3194  rkl = xyzs[:,2] - xyzs[:,3]
3195  dihedral = IMP.core._jax_util._dihedral(rij, rkj, rkl)
3196  angle_diff = IMP.core._jax_util._get_angle_difference(
3197  dihedral, dihedrals.ideal)
3198  return uf(dihedrals.stiffness * angle_diff)
3199  uf = self.get_unary_function().get_derived_object()
3200  f = functools.partial(score, dihedrals=_get_dihedrals(m, indexes),
3201  uf=uf._get_jax())
3202  return self._wrap_jax(m, f)
3203 
3204 
3205 # Register ImproperSingletonScore in _IMP_atom:
3206 _IMP_atom.ImproperSingletonScore_swigregister(ImproperSingletonScore)
3207 class CenterOfMass(IMP.Decorator):
3208  r"""Proxy of C++ IMP::atom::CenterOfMass class."""
3209 
3210  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3211 
3212  def get_constraint(self):
3213  r"""get_constraint(CenterOfMass self) -> Constraint"""
3214  return _IMP_atom.CenterOfMass_get_constraint(self)
3215 
3216  def get_mass(self):
3217  r"""get_mass(CenterOfMass self) -> IMP::Float"""
3218  return _IMP_atom.CenterOfMass_get_mass(self)
3219 
3220  def get_coordinate(self, i):
3221  r"""get_coordinate(CenterOfMass self, int i) -> IMP::Float"""
3222  return _IMP_atom.CenterOfMass_get_coordinate(self, i)
3223 
3224  def get_coordinates(self):
3225  r"""get_coordinates(CenterOfMass self) -> Vector3D"""
3226  return _IMP_atom.CenterOfMass_get_coordinates(self)
3227 
3228  def __init__(self, *args):
3229  r"""
3230  __init__(CenterOfMass self) -> CenterOfMass
3231  __init__(CenterOfMass self, Model m, ParticleIndex id) -> CenterOfMass
3232  __init__(CenterOfMass self, _ParticleAdaptor d) -> CenterOfMass
3233  """
3234  _IMP_atom.CenterOfMass_swiginit(self, _IMP_atom.new_CenterOfMass(*args))
3235 
3236  def show(self, *args):
3237  r"""show(CenterOfMass self, _ostream out=std::cout)"""
3238  return _IMP_atom.CenterOfMass_show(self, *args)
3239 
3240  @staticmethod
3241  def setup_particle(*args):
3242  r"""
3243  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> CenterOfMass
3244  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> CenterOfMass
3245  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> CenterOfMass
3246  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> CenterOfMass
3247  """
3248  return _IMP_atom.CenterOfMass_setup_particle(*args)
3249 
3250  @staticmethod
3251  def teardown_particle(com):
3252  r"""teardown_particle(CenterOfMass com)"""
3253  return _IMP_atom.CenterOfMass_teardown_particle(com)
3254 
3255  @staticmethod
3256  def get_is_setup(*args):
3257  r"""
3258  get_is_setup(_ParticleAdaptor p) -> bool
3259  get_is_setup(Model m, ParticleIndex pi) -> bool
3260  """
3261  return _IMP_atom.CenterOfMass_get_is_setup(*args)
3262 
3263  def add_attribute(self, *args):
3264  r"""
3265  add_attribute(CenterOfMass self, FloatKey k, IMP::Float v, bool opt)
3266  add_attribute(CenterOfMass self, FloatKey a0, IMP::Float a1)
3267  add_attribute(CenterOfMass self, IntKey a0, IMP::Int a1)
3268  add_attribute(CenterOfMass self, FloatsKey a0, IMP::Floats a1)
3269  add_attribute(CenterOfMass self, IntsKey a0, IMP::Ints a1)
3270  add_attribute(CenterOfMass self, StringKey a0, IMP::String a1)
3271  add_attribute(CenterOfMass self, ParticleIndexKey a0, Particle a1)
3272  add_attribute(CenterOfMass self, ObjectKey a0, Object a1)
3273  add_attribute(CenterOfMass self, SparseFloatKey a0, IMP::Float a1)
3274  add_attribute(CenterOfMass self, SparseIntKey a0, IMP::Int a1)
3275  add_attribute(CenterOfMass self, SparseStringKey a0, IMP::String a1)
3276  add_attribute(CenterOfMass self, SparseParticleIndexKey a0, ParticleIndex a1)
3277  """
3278  return _IMP_atom.CenterOfMass_add_attribute(self, *args)
3279 
3280  def get_value(self, *args):
3281  r"""
3282  get_value(CenterOfMass self, FloatKey a0) -> IMP::Float
3283  get_value(CenterOfMass self, IntKey a0) -> IMP::Int
3284  get_value(CenterOfMass self, FloatsKey a0) -> IMP::Floats
3285  get_value(CenterOfMass self, IntsKey a0) -> IMP::Ints
3286  get_value(CenterOfMass self, StringKey a0) -> IMP::String
3287  get_value(CenterOfMass self, ParticleIndexKey a0) -> Particle
3288  get_value(CenterOfMass self, ObjectKey a0) -> Object
3289  get_value(CenterOfMass self, SparseFloatKey a0) -> IMP::Float
3290  get_value(CenterOfMass self, SparseIntKey a0) -> IMP::Int
3291  get_value(CenterOfMass self, SparseStringKey a0) -> IMP::String
3292  get_value(CenterOfMass self, SparseParticleIndexKey a0) -> ParticleIndex
3293  """
3294  return _IMP_atom.CenterOfMass_get_value(self, *args)
3295 
3296  def set_value(self, *args):
3297  r"""
3298  set_value(CenterOfMass self, FloatKey a0, IMP::Float a1)
3299  set_value(CenterOfMass self, IntKey a0, IMP::Int a1)
3300  set_value(CenterOfMass self, FloatsKey a0, IMP::Floats a1)
3301  set_value(CenterOfMass self, IntsKey a0, IMP::Ints a1)
3302  set_value(CenterOfMass self, StringKey a0, IMP::String a1)
3303  set_value(CenterOfMass self, ParticleIndexKey a0, Particle a1)
3304  set_value(CenterOfMass self, ObjectKey a0, Object a1)
3305  set_value(CenterOfMass self, SparseFloatKey a0, IMP::Float a1)
3306  set_value(CenterOfMass self, SparseIntKey a0, IMP::Int a1)
3307  set_value(CenterOfMass self, SparseStringKey a0, IMP::String a1)
3308  set_value(CenterOfMass self, SparseParticleIndexKey a0, ParticleIndex a1)
3309  """
3310  return _IMP_atom.CenterOfMass_set_value(self, *args)
3311 
3312  def remove_attribute(self, *args):
3313  r"""
3314  remove_attribute(CenterOfMass self, FloatKey a0)
3315  remove_attribute(CenterOfMass self, IntKey a0)
3316  remove_attribute(CenterOfMass self, FloatsKey a0)
3317  remove_attribute(CenterOfMass self, IntsKey a0)
3318  remove_attribute(CenterOfMass self, StringKey a0)
3319  remove_attribute(CenterOfMass self, ParticleIndexKey a0)
3320  remove_attribute(CenterOfMass self, ObjectKey a0)
3321  remove_attribute(CenterOfMass self, SparseFloatKey a0)
3322  remove_attribute(CenterOfMass self, SparseIntKey a0)
3323  remove_attribute(CenterOfMass self, SparseStringKey a0)
3324  remove_attribute(CenterOfMass self, SparseParticleIndexKey a0)
3325  """
3326  return _IMP_atom.CenterOfMass_remove_attribute(self, *args)
3327 
3328  def has_attribute(self, *args):
3329  r"""
3330  has_attribute(CenterOfMass self, FloatKey a0) -> bool
3331  has_attribute(CenterOfMass self, IntKey a0) -> bool
3332  has_attribute(CenterOfMass self, FloatsKey a0) -> bool
3333  has_attribute(CenterOfMass self, IntsKey a0) -> bool
3334  has_attribute(CenterOfMass self, StringKey a0) -> bool
3335  has_attribute(CenterOfMass self, ParticleIndexKey a0) -> bool
3336  has_attribute(CenterOfMass self, ObjectKey a0) -> bool
3337  has_attribute(CenterOfMass self, SparseFloatKey a0) -> bool
3338  has_attribute(CenterOfMass self, SparseIntKey a0) -> bool
3339  has_attribute(CenterOfMass self, SparseStringKey a0) -> bool
3340  has_attribute(CenterOfMass self, SparseParticleIndexKey a0) -> bool
3341  """
3342  return _IMP_atom.CenterOfMass_has_attribute(self, *args)
3343 
3344  def get_derivative(self, a0):
3345  r"""get_derivative(CenterOfMass self, FloatKey a0) -> double"""
3346  return _IMP_atom.CenterOfMass_get_derivative(self, a0)
3347 
3348  def get_name(self):
3349  r"""get_name(CenterOfMass self) -> std::string"""
3350  return _IMP_atom.CenterOfMass_get_name(self)
3351 
3352  def clear_caches(self):
3353  r"""clear_caches(CenterOfMass self)"""
3354  return _IMP_atom.CenterOfMass_clear_caches(self)
3355 
3356  def set_name(self, a0):
3357  r"""set_name(CenterOfMass self, std::string a0)"""
3358  return _IMP_atom.CenterOfMass_set_name(self, a0)
3359 
3360  def set_check_level(self, a0):
3361  r"""set_check_level(CenterOfMass self, IMP::CheckLevel a0)"""
3362  return _IMP_atom.CenterOfMass_set_check_level(self, a0)
3363 
3364  def add_to_derivative(self, a0, a1, a2):
3365  r"""add_to_derivative(CenterOfMass self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3366  return _IMP_atom.CenterOfMass_add_to_derivative(self, a0, a1, a2)
3367 
3368  def set_is_optimized(self, a0, a1):
3369  r"""set_is_optimized(CenterOfMass self, FloatKey a0, bool a1)"""
3370  return _IMP_atom.CenterOfMass_set_is_optimized(self, a0, a1)
3371 
3372  def get_is_optimized(self, a0):
3373  r"""get_is_optimized(CenterOfMass self, FloatKey a0) -> bool"""
3374  return _IMP_atom.CenterOfMass_get_is_optimized(self, a0)
3375 
3376  def get_check_level(self):
3377  r"""get_check_level(CenterOfMass self) -> IMP::CheckLevel"""
3378  return _IMP_atom.CenterOfMass_get_check_level(self)
3379 
3380  def __eq__(self, *args):
3381  r"""
3382  __eq__(CenterOfMass self, CenterOfMass o) -> bool
3383  __eq__(CenterOfMass self, Particle d) -> bool
3384  """
3385  return _IMP_atom.CenterOfMass___eq__(self, *args)
3386 
3387  def __ne__(self, *args):
3388  r"""
3389  __ne__(CenterOfMass self, CenterOfMass o) -> bool
3390  __ne__(CenterOfMass self, Particle d) -> bool
3391  """
3392  return _IMP_atom.CenterOfMass___ne__(self, *args)
3393 
3394  def __le__(self, *args):
3395  r"""
3396  __le__(CenterOfMass self, CenterOfMass o) -> bool
3397  __le__(CenterOfMass self, Particle d) -> bool
3398  """
3399  return _IMP_atom.CenterOfMass___le__(self, *args)
3400 
3401  def __lt__(self, *args):
3402  r"""
3403  __lt__(CenterOfMass self, CenterOfMass o) -> bool
3404  __lt__(CenterOfMass self, Particle d) -> bool
3405  """
3406  return _IMP_atom.CenterOfMass___lt__(self, *args)
3407 
3408  def __ge__(self, *args):
3409  r"""
3410  __ge__(CenterOfMass self, CenterOfMass o) -> bool
3411  __ge__(CenterOfMass self, Particle d) -> bool
3412  """
3413  return _IMP_atom.CenterOfMass___ge__(self, *args)
3414 
3415  def __gt__(self, *args):
3416  r"""
3417  __gt__(CenterOfMass self, CenterOfMass o) -> bool
3418  __gt__(CenterOfMass self, Particle d) -> bool
3419  """
3420  return _IMP_atom.CenterOfMass___gt__(self, *args)
3421 
3422  def __hash__(self):
3423  r"""__hash__(CenterOfMass self) -> std::size_t"""
3424  return _IMP_atom.CenterOfMass___hash__(self)
3425 
3426  def __str__(self):
3427  r"""__str__(CenterOfMass self) -> std::string"""
3428  return _IMP_atom.CenterOfMass___str__(self)
3429 
3430  def __repr__(self):
3431  r"""__repr__(CenterOfMass self) -> std::string"""
3432  return _IMP_atom.CenterOfMass___repr__(self)
3433 
3434  def _get_as_binary(self):
3435  r"""_get_as_binary(CenterOfMass self) -> PyObject *"""
3436  return _IMP_atom.CenterOfMass__get_as_binary(self)
3437 
3438  def _set_from_binary(self, p):
3439  r"""_set_from_binary(CenterOfMass self, PyObject * p)"""
3440  return _IMP_atom.CenterOfMass__set_from_binary(self, p)
3441 
3442  def __getstate__(self):
3443  p = self._get_as_binary()
3444  if len(self.__dict__) > 1:
3445  d = self.__dict__.copy()
3446  del d['this']
3447  p = (d, p)
3448  return p
3449 
3450  def __setstate__(self, p):
3451  if not hasattr(self, 'this'):
3452  self.__init__()
3453  if isinstance(p, tuple):
3454  d, p = p
3455  self.__dict__.update(d)
3456  return self._set_from_binary(p)
3457 
3458  __swig_destroy__ = _IMP_atom.delete_CenterOfMass
3459 
3460 # Register CenterOfMass in _IMP_atom:
3461 _IMP_atom.CenterOfMass_swigregister(CenterOfMass)
3462 class CoverBond(IMP.SingletonModifier):
3463  r"""Proxy of C++ IMP::atom::CoverBond class."""
3464 
3465  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3466 
3467  def __init__(self):
3468  r"""__init__(CoverBond self) -> CoverBond"""
3469  _IMP_atom.CoverBond_swiginit(self, _IMP_atom.new_CoverBond())
3470 
3471  def do_get_inputs(self, m, pis):
3472  r"""do_get_inputs(CoverBond self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3473  return _IMP_atom.CoverBond_do_get_inputs(self, m, pis)
3474 
3475  def do_get_outputs(self, m, pis):
3476  r"""do_get_outputs(CoverBond self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3477  return _IMP_atom.CoverBond_do_get_outputs(self, m, pis)
3478 
3479  def get_version_info(self):
3480  r"""get_version_info(CoverBond self) -> VersionInfo"""
3481  return _IMP_atom.CoverBond_get_version_info(self)
3482  __swig_destroy__ = _IMP_atom.delete_CoverBond
3483 
3484  def __str__(self):
3485  r"""__str__(CoverBond self) -> std::string"""
3486  return _IMP_atom.CoverBond___str__(self)
3487 
3488  def __repr__(self):
3489  r"""__repr__(CoverBond self) -> std::string"""
3490  return _IMP_atom.CoverBond___repr__(self)
3491 
3492  @staticmethod
3493  def get_from(o):
3494  return _object_cast_to_CoverBond(o)
3495 
3496 
3497 # Register CoverBond in _IMP_atom:
3498 _IMP_atom.CoverBond_swigregister(CoverBond)
3499 class Simulator(IMP.Optimizer):
3500  r"""Proxy of C++ IMP::atom::Simulator class."""
3501 
3502  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3503 
3504  def __init__(self, *args):
3505  r"""
3506  __init__(Simulator self, Model m, std::string name="Simulator %1%", double wave_factor=1.0) -> Simulator
3507  __init__(Simulator self) -> Simulator
3508  """
3509  if self.__class__ == Simulator:
3510  _self = None
3511  else:
3512  _self = self
3513  _IMP_atom.Simulator_swiginit(self, _IMP_atom.new_Simulator(_self, *args))
3514 
3515  if self.__class__ != Simulator:
3516  _director_objects.register(self)
3517 
3518 
3519 
3520 
3521  def simulate(self, time_in_fs):
3522  r"""simulate(Simulator self, double time_in_fs) -> double"""
3523  return _IMP_atom.Simulator_simulate(self, time_in_fs)
3524 
3525  def simulate_wave(self, time_in_fs, max_time_step_factor=10.0, base=1.5):
3526  r"""simulate_wave(Simulator self, double time_in_fs, double max_time_step_factor=10.0, double base=1.5) -> double"""
3527  return _IMP_atom.Simulator_simulate_wave(self, time_in_fs, max_time_step_factor, base)
3528 
3529  def get_temperature(self):
3530  r"""get_temperature(Simulator self) -> double"""
3531  return _IMP_atom.Simulator_get_temperature(self)
3532 
3533  def set_temperature(self, d):
3534  r"""set_temperature(Simulator self, double d)"""
3535  return _IMP_atom.Simulator_set_temperature(self, d)
3536 
3537  def set_maximum_time_step(self, ts):
3538  r"""set_maximum_time_step(Simulator self, double ts)"""
3539  return _IMP_atom.Simulator_set_maximum_time_step(self, ts)
3540 
3541  def get_maximum_time_step(self):
3542  r"""get_maximum_time_step(Simulator self) -> double"""
3543  return _IMP_atom.Simulator_get_maximum_time_step(self)
3544 
3545  def get_last_time_step(self):
3546  r"""get_last_time_step(Simulator self) -> double"""
3547  return _IMP_atom.Simulator_get_last_time_step(self)
3548 
3549  def set_time_step(self, ts):
3550  r"""set_time_step(Simulator self, double ts)"""
3551  return _IMP_atom.Simulator_set_time_step(self, ts)
3552 
3553  def get_kt(self):
3554  r"""get_kt(Simulator self) -> double"""
3555  return _IMP_atom.Simulator_get_kt(self)
3556 
3557  def get_current_time(self):
3558  r"""get_current_time(Simulator self) -> double"""
3559  return _IMP_atom.Simulator_get_current_time(self)
3560 
3561  def set_current_time(self, ct):
3562  r"""set_current_time(Simulator self, double ct)"""
3563  return _IMP_atom.Simulator_set_current_time(self, ct)
3564 
3565  def get_simulation_particles(self):
3566  r"""get_simulation_particles(Simulator self) -> IMP::ParticlesTemp"""
3567  return _IMP_atom.Simulator_get_simulation_particles(self)
3568 
3569  def get_simulation_particle_indexes(self):
3570  r"""get_simulation_particle_indexes(Simulator self) -> IMP::ParticleIndexes"""
3571  return _IMP_atom.Simulator_get_simulation_particle_indexes(self)
3572  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)
3573  def __set_particles(self, obj): IMP._list_util.set_varlist(self.particles, obj)
3574  def __del_particles(self): IMP._list_util.del_varlist(self.particles)
3575  particles = property(__get_particles, __set_particles, __del_particles, doc="List of ##ucnames")
3576 
3577  def remove_particle(self, d):
3578  r"""remove_particle(Simulator self, Particle d)"""
3579  return _IMP_atom.Simulator_remove_particle(self, d)
3580 
3581  def _python_index_particle(self, d, start, stop):
3582  r"""_python_index_particle(Simulator self, Particle d, unsigned int start, unsigned int stop) -> unsigned int"""
3583  return _IMP_atom.Simulator__python_index_particle(self, d, start, stop)
3584 
3585  def remove_particles(self, d):
3586  r"""remove_particles(Simulator self, IMP::Particles const & d)"""
3587  return _IMP_atom.Simulator_remove_particles(self, d)
3588 
3589  def set_particles(self, ps):
3590  r"""set_particles(Simulator self, IMP::Particles const & ps)"""
3591  return _IMP_atom.Simulator_set_particles(self, ps)
3592 
3593  def set_particles_order(self, objs):
3594  r"""set_particles_order(Simulator self, IMP::Particles const & objs)"""
3595  return _IMP_atom.Simulator_set_particles_order(self, objs)
3596 
3597  def add_particle(self, obj):
3598  r"""add_particle(Simulator self, Particle obj) -> unsigned int"""
3599  return _IMP_atom.Simulator_add_particle(self, obj)
3600 
3601  def add_particles(self, objs):
3602  r"""add_particles(Simulator self, IMP::Particles const & objs)"""
3603  return _IMP_atom.Simulator_add_particles(self, objs)
3604 
3605  def clear_particles(self):
3606  r"""clear_particles(Simulator self)"""
3607  return _IMP_atom.Simulator_clear_particles(self)
3608 
3609  def get_number_of_particles(self):
3610  r"""get_number_of_particles(Simulator self) -> unsigned int"""
3611  return _IMP_atom.Simulator_get_number_of_particles(self)
3612 
3613  def get_has_particles(self):
3614  r"""get_has_particles(Simulator self) -> bool"""
3615  return _IMP_atom.Simulator_get_has_particles(self)
3616 
3617  def get_particle(self, i):
3618  r"""get_particle(Simulator self, unsigned int i) -> Particle"""
3619  return _IMP_atom.Simulator_get_particle(self, i)
3620 
3621  def get_particles(self):
3622  r"""get_particles(Simulator self) -> IMP::Particles"""
3623  return _IMP_atom.Simulator_get_particles(self)
3624 
3625  def erase_particle(self, i):
3626  r"""erase_particle(Simulator self, unsigned int i)"""
3627  return _IMP_atom.Simulator_erase_particle(self, i)
3628 
3629  def reserve_particles(self, sz):
3630  r"""reserve_particles(Simulator self, unsigned int sz)"""
3631  return _IMP_atom.Simulator_reserve_particles(self, sz)
3632 
3633  def do_optimize(self, max_steps):
3634  r"""do_optimize(Simulator self, unsigned int max_steps) -> IMP::Float"""
3635  return _IMP_atom.Simulator_do_optimize(self, max_steps)
3636 
3637  def setup(self, arg0):
3638  r"""setup(Simulator self, IMP::ParticleIndexes const & arg0)"""
3639  return _IMP_atom.Simulator_setup(self, arg0)
3640 
3641  def do_step(self, sc, dt):
3642  r"""do_step(Simulator self, IMP::ParticleIndexes const & sc, double dt) -> double"""
3643  return _IMP_atom.Simulator_do_step(self, sc, dt)
3644 
3645  def get_is_simulation_particle(self, p):
3646  r"""get_is_simulation_particle(Simulator self, ParticleIndex p) -> bool"""
3647  return _IMP_atom.Simulator_get_is_simulation_particle(self, p)
3648 
3649  def do_simulate(self, time):
3650  r"""do_simulate(Simulator self, double time) -> double"""
3651  return _IMP_atom.Simulator_do_simulate(self, time)
3652 
3653  def do_simulate_wave(self, time_in_fs, max_time_step_factor=10.0, base=1.5):
3654  r"""do_simulate_wave(Simulator self, double time_in_fs, double max_time_step_factor=10.0, double base=1.5) -> double"""
3655  return _IMP_atom.Simulator_do_simulate_wave(self, time_in_fs, max_time_step_factor, base)
3656 
3657  def __str__(self):
3658  r"""__str__(Simulator self) -> std::string"""
3659  return _IMP_atom.Simulator___str__(self)
3660 
3661  def __repr__(self):
3662  r"""__repr__(Simulator self) -> std::string"""
3663  return _IMP_atom.Simulator___repr__(self)
3664 
3665  @staticmethod
3666  def get_from(o):
3667  return _object_cast_to_Simulator(o)
3668 
3669 
3670  def do_show(self, out):
3671  pass
3672 
3673  @staticmethod
3674  def get_from(o):
3675  return _object_cast_to_Simulator(o)
3676 
3677  __swig_destroy__ = _IMP_atom.delete_Simulator
3678  def __disown__(self):
3679  self.this.disown()
3680  _IMP_atom.disown_Simulator(self)
3681  return weakref.proxy(self)
3682 
3683  def do_destroy(self):
3684  r"""do_destroy(Simulator self)"""
3685  return _IMP_atom.Simulator_do_destroy(self)
3686 
3687  def handle_set_has_required_score_states(self, arg0):
3688  r"""handle_set_has_required_score_states(Simulator self, bool arg0)"""
3689  return _IMP_atom.Simulator_handle_set_has_required_score_states(self, arg0)
3690 
3691  def do_get_inputs(self):
3692  r"""do_get_inputs(Simulator self) -> IMP::ModelObjectsTemp"""
3693  return _IMP_atom.Simulator_do_get_inputs(self)
3694 
3695  def do_get_outputs(self):
3696  r"""do_get_outputs(Simulator self) -> IMP::ModelObjectsTemp"""
3697  return _IMP_atom.Simulator_do_get_outputs(self)
3698 
3699  def do_get_interactions(self):
3700  r"""do_get_interactions(Simulator self) -> IMP::ModelObjectsTemps"""
3701  return _IMP_atom.Simulator_do_get_interactions(self)
3702 
3703 # Register Simulator in _IMP_atom:
3704 _IMP_atom.Simulator_swigregister(Simulator)
3705 IMP_ATOM_DEFAULT_BD_RANDOM_POOL_SIZE = _IMP_atom.IMP_ATOM_DEFAULT_BD_RANDOM_POOL_SIZE
3706 
3707 class BrownianDynamics(Simulator):
3708  r"""Proxy of C++ IMP::atom::BrownianDynamics class."""
3709 
3710  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3711 
3712  def __init__(self, *args):
3713  r"""__init__(BrownianDynamics self, Model m, std::string name="BrownianDynamics%1%", double wave_factor=1.0, unsigned int random_pool_size=10000) -> BrownianDynamics"""
3714  _IMP_atom.BrownianDynamics_swiginit(self, _IMP_atom.new_BrownianDynamics(*args))
3715 
3716  def set_maximum_move(self, ms_in_A):
3717  r"""set_maximum_move(BrownianDynamics self, double ms_in_A)"""
3718  return _IMP_atom.BrownianDynamics_set_maximum_move(self, ms_in_A)
3719 
3720  def set_use_stochastic_runge_kutta(self, tf):
3721  r"""set_use_stochastic_runge_kutta(BrownianDynamics self, bool tf)"""
3722  return _IMP_atom.BrownianDynamics_set_use_stochastic_runge_kutta(self, tf)
3723 
3724  def get_version_info(self):
3725  r"""get_version_info(BrownianDynamics self) -> VersionInfo"""
3726  return _IMP_atom.BrownianDynamics_get_version_info(self)
3727  __swig_destroy__ = _IMP_atom.delete_BrownianDynamics
3728 
3729  def __str__(self):
3730  r"""__str__(BrownianDynamics self) -> std::string"""
3731  return _IMP_atom.BrownianDynamics___str__(self)
3732 
3733  def __repr__(self):
3734  r"""__repr__(BrownianDynamics self) -> std::string"""
3735  return _IMP_atom.BrownianDynamics___repr__(self)
3736 
3737  @staticmethod
3738  def get_from(o):
3739  return _object_cast_to_BrownianDynamics(o)
3740 
3741 
3742 # Register BrownianDynamics in _IMP_atom:
3743 _IMP_atom.BrownianDynamics_swigregister(BrownianDynamics)
3744 
3746  r"""get_maximum_time_step_estimate(BrownianDynamics bd) -> double"""
3747  return _IMP_atom.get_maximum_time_step_estimate(bd)
3748 
3749 def get_harmonic_sigma(D, f):
3750  r"""get_harmonic_sigma(double D, double f) -> double"""
3751  return _IMP_atom.get_harmonic_sigma(D, f)
3752 class BrownianDynamicsTAMD(BrownianDynamics):
3753  r"""Proxy of C++ IMP::atom::BrownianDynamicsTAMD class."""
3754 
3755  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3756 
3757  def __init__(self, *args):
3758  r"""__init__(BrownianDynamicsTAMD self, Model m, std::string name="BrownianDynamicsTAMD%1%", double wave_factor=1.0) -> BrownianDynamicsTAMD"""
3759  _IMP_atom.BrownianDynamicsTAMD_swiginit(self, _IMP_atom.new_BrownianDynamicsTAMD(*args))
3760 
3761  def __str__(self):
3762  r"""__str__(BrownianDynamicsTAMD self) -> std::string"""
3763  return _IMP_atom.BrownianDynamicsTAMD___str__(self)
3764 
3765  def __repr__(self):
3766  r"""__repr__(BrownianDynamicsTAMD self) -> std::string"""
3767  return _IMP_atom.BrownianDynamicsTAMD___repr__(self)
3768 
3769  @staticmethod
3770  def get_from(o):
3771  return _object_cast_to_BrownianDynamicsTAMD(o)
3772 
3773  __swig_destroy__ = _IMP_atom.delete_BrownianDynamicsTAMD
3774 
3775 # Register BrownianDynamicsTAMD in _IMP_atom:
3776 _IMP_atom.BrownianDynamicsTAMD_swigregister(BrownianDynamicsTAMD)
3777 class Diffusion(IMP.core.XYZ):
3778  r"""Proxy of C++ IMP::atom::Diffusion class."""
3779 
3780  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3781 
3782  def __init__(self, *args):
3783  r"""
3784  __init__(Diffusion self) -> Diffusion
3785  __init__(Diffusion self, Model m, ParticleIndex id) -> Diffusion
3786  __init__(Diffusion self, _ParticleAdaptor d) -> Diffusion
3787  """
3788  _IMP_atom.Diffusion_swiginit(self, _IMP_atom.new_Diffusion(*args))
3789 
3790  def show(self, *args):
3791  r"""show(Diffusion self, _ostream out=std::cout)"""
3792  return _IMP_atom.Diffusion_show(self, *args)
3793 
3794  @staticmethod
3795  def setup_particle(*args):
3796  r"""
3797  setup_particle(Model m, ParticleIndex pi, IMP::Float D) -> Diffusion
3798  setup_particle(_ParticleAdaptor pa, IMP::Float D) -> Diffusion
3799  setup_particle(Model m, ParticleIndex pi, Vector3D v, IMP::Float D) -> Diffusion
3800  setup_particle(_ParticleAdaptor pa, Vector3D v, IMP::Float D) -> Diffusion
3801  setup_particle(Model m, ParticleIndex pi) -> Diffusion
3802  setup_particle(_ParticleAdaptor pa) -> Diffusion
3803  """
3804  return _IMP_atom.Diffusion_setup_particle(*args)
3805 
3806  @staticmethod
3807  def get_is_setup(*args):
3808  r"""
3809  get_is_setup(_ParticleAdaptor p) -> bool
3810  get_is_setup(Model m, ParticleIndex p) -> bool
3811  """
3812  return _IMP_atom.Diffusion_get_is_setup(*args)
3813 
3814  def set_diffusion_coefficient(self, d):
3815  r"""set_diffusion_coefficient(Diffusion self, double d)"""
3816  return _IMP_atom.Diffusion_set_diffusion_coefficient(self, d)
3817 
3818  def get_diffusion_coefficient(self):
3819  r"""get_diffusion_coefficient(Diffusion self) -> double"""
3820  return _IMP_atom.Diffusion_get_diffusion_coefficient(self)
3821 
3822  @staticmethod
3823  def get_diffusion_coefficient_key():
3824  r"""get_diffusion_coefficient_key() -> FloatKey"""
3825  return _IMP_atom.Diffusion_get_diffusion_coefficient_key()
3826 
3827  def add_attribute(self, *args):
3828  r"""
3829  add_attribute(Diffusion self, FloatKey k, IMP::Float v, bool opt)
3830  add_attribute(Diffusion self, FloatKey a0, IMP::Float a1)
3831  add_attribute(Diffusion self, IntKey a0, IMP::Int a1)
3832  add_attribute(Diffusion self, FloatsKey a0, IMP::Floats a1)
3833  add_attribute(Diffusion self, IntsKey a0, IMP::Ints a1)
3834  add_attribute(Diffusion self, StringKey a0, IMP::String a1)
3835  add_attribute(Diffusion self, ParticleIndexKey a0, Particle a1)
3836  add_attribute(Diffusion self, ObjectKey a0, Object a1)
3837  add_attribute(Diffusion self, SparseFloatKey a0, IMP::Float a1)
3838  add_attribute(Diffusion self, SparseIntKey a0, IMP::Int a1)
3839  add_attribute(Diffusion self, SparseStringKey a0, IMP::String a1)
3840  add_attribute(Diffusion self, SparseParticleIndexKey a0, ParticleIndex a1)
3841  """
3842  return _IMP_atom.Diffusion_add_attribute(self, *args)
3843 
3844  def get_value(self, *args):
3845  r"""
3846  get_value(Diffusion self, FloatKey a0) -> IMP::Float
3847  get_value(Diffusion self, IntKey a0) -> IMP::Int
3848  get_value(Diffusion self, FloatsKey a0) -> IMP::Floats
3849  get_value(Diffusion self, IntsKey a0) -> IMP::Ints
3850  get_value(Diffusion self, StringKey a0) -> IMP::String
3851  get_value(Diffusion self, ParticleIndexKey a0) -> Particle
3852  get_value(Diffusion self, ObjectKey a0) -> Object
3853  get_value(Diffusion self, SparseFloatKey a0) -> IMP::Float
3854  get_value(Diffusion self, SparseIntKey a0) -> IMP::Int
3855  get_value(Diffusion self, SparseStringKey a0) -> IMP::String
3856  get_value(Diffusion self, SparseParticleIndexKey a0) -> ParticleIndex
3857  """
3858  return _IMP_atom.Diffusion_get_value(self, *args)
3859 
3860  def set_value(self, *args):
3861  r"""
3862  set_value(Diffusion self, FloatKey a0, IMP::Float a1)
3863  set_value(Diffusion self, IntKey a0, IMP::Int a1)
3864  set_value(Diffusion self, FloatsKey a0, IMP::Floats a1)
3865  set_value(Diffusion self, IntsKey a0, IMP::Ints a1)
3866  set_value(Diffusion self, StringKey a0, IMP::String a1)
3867  set_value(Diffusion self, ParticleIndexKey a0, Particle a1)
3868  set_value(Diffusion self, ObjectKey a0, Object a1)
3869  set_value(Diffusion self, SparseFloatKey a0, IMP::Float a1)
3870  set_value(Diffusion self, SparseIntKey a0, IMP::Int a1)
3871  set_value(Diffusion self, SparseStringKey a0, IMP::String a1)
3872  set_value(Diffusion self, SparseParticleIndexKey a0, ParticleIndex a1)
3873  """
3874  return _IMP_atom.Diffusion_set_value(self, *args)
3875 
3876  def remove_attribute(self, *args):
3877  r"""
3878  remove_attribute(Diffusion self, FloatKey a0)
3879  remove_attribute(Diffusion self, IntKey a0)
3880  remove_attribute(Diffusion self, FloatsKey a0)
3881  remove_attribute(Diffusion self, IntsKey a0)
3882  remove_attribute(Diffusion self, StringKey a0)
3883  remove_attribute(Diffusion self, ParticleIndexKey a0)
3884  remove_attribute(Diffusion self, ObjectKey a0)
3885  remove_attribute(Diffusion self, SparseFloatKey a0)
3886  remove_attribute(Diffusion self, SparseIntKey a0)
3887  remove_attribute(Diffusion self, SparseStringKey a0)
3888  remove_attribute(Diffusion self, SparseParticleIndexKey a0)
3889  """
3890  return _IMP_atom.Diffusion_remove_attribute(self, *args)
3891 
3892  def has_attribute(self, *args):
3893  r"""
3894  has_attribute(Diffusion self, FloatKey a0) -> bool
3895  has_attribute(Diffusion self, IntKey a0) -> bool
3896  has_attribute(Diffusion self, FloatsKey a0) -> bool
3897  has_attribute(Diffusion self, IntsKey a0) -> bool
3898  has_attribute(Diffusion self, StringKey a0) -> bool
3899  has_attribute(Diffusion self, ParticleIndexKey a0) -> bool
3900  has_attribute(Diffusion self, ObjectKey a0) -> bool
3901  has_attribute(Diffusion self, SparseFloatKey a0) -> bool
3902  has_attribute(Diffusion self, SparseIntKey a0) -> bool
3903  has_attribute(Diffusion self, SparseStringKey a0) -> bool
3904  has_attribute(Diffusion self, SparseParticleIndexKey a0) -> bool
3905  """
3906  return _IMP_atom.Diffusion_has_attribute(self, *args)
3907 
3908  def get_derivative(self, a0):
3909  r"""get_derivative(Diffusion self, FloatKey a0) -> double"""
3910  return _IMP_atom.Diffusion_get_derivative(self, a0)
3911 
3912  def get_name(self):
3913  r"""get_name(Diffusion self) -> std::string"""
3914  return _IMP_atom.Diffusion_get_name(self)
3915 
3916  def clear_caches(self):
3917  r"""clear_caches(Diffusion self)"""
3918  return _IMP_atom.Diffusion_clear_caches(self)
3919 
3920  def set_name(self, a0):
3921  r"""set_name(Diffusion self, std::string a0)"""
3922  return _IMP_atom.Diffusion_set_name(self, a0)
3923 
3924  def set_check_level(self, a0):
3925  r"""set_check_level(Diffusion self, IMP::CheckLevel a0)"""
3926  return _IMP_atom.Diffusion_set_check_level(self, a0)
3927 
3928  def add_to_derivative(self, a0, a1, a2):
3929  r"""add_to_derivative(Diffusion self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3930  return _IMP_atom.Diffusion_add_to_derivative(self, a0, a1, a2)
3931 
3932  def set_is_optimized(self, a0, a1):
3933  r"""set_is_optimized(Diffusion self, FloatKey a0, bool a1)"""
3934  return _IMP_atom.Diffusion_set_is_optimized(self, a0, a1)
3935 
3936  def get_is_optimized(self, a0):
3937  r"""get_is_optimized(Diffusion self, FloatKey a0) -> bool"""
3938  return _IMP_atom.Diffusion_get_is_optimized(self, a0)
3939 
3940  def get_check_level(self):
3941  r"""get_check_level(Diffusion self) -> IMP::CheckLevel"""
3942  return _IMP_atom.Diffusion_get_check_level(self)
3943 
3944  def __eq__(self, *args):
3945  r"""
3946  __eq__(Diffusion self, Diffusion o) -> bool
3947  __eq__(Diffusion self, Particle d) -> bool
3948  """
3949  return _IMP_atom.Diffusion___eq__(self, *args)
3950 
3951  def __ne__(self, *args):
3952  r"""
3953  __ne__(Diffusion self, Diffusion o) -> bool
3954  __ne__(Diffusion self, Particle d) -> bool
3955  """
3956  return _IMP_atom.Diffusion___ne__(self, *args)
3957 
3958  def __le__(self, *args):
3959  r"""
3960  __le__(Diffusion self, Diffusion o) -> bool
3961  __le__(Diffusion self, Particle d) -> bool
3962  """
3963  return _IMP_atom.Diffusion___le__(self, *args)
3964 
3965  def __lt__(self, *args):
3966  r"""
3967  __lt__(Diffusion self, Diffusion o) -> bool
3968  __lt__(Diffusion self, Particle d) -> bool
3969  """
3970  return _IMP_atom.Diffusion___lt__(self, *args)
3971 
3972  def __ge__(self, *args):
3973  r"""
3974  __ge__(Diffusion self, Diffusion o) -> bool
3975  __ge__(Diffusion self, Particle d) -> bool
3976  """
3977  return _IMP_atom.Diffusion___ge__(self, *args)
3978 
3979  def __gt__(self, *args):
3980  r"""
3981  __gt__(Diffusion self, Diffusion o) -> bool
3982  __gt__(Diffusion self, Particle d) -> bool
3983  """
3984  return _IMP_atom.Diffusion___gt__(self, *args)
3985 
3986  def __hash__(self):
3987  r"""__hash__(Diffusion self) -> std::size_t"""
3988  return _IMP_atom.Diffusion___hash__(self)
3989 
3990  def __str__(self):
3991  r"""__str__(Diffusion self) -> std::string"""
3992  return _IMP_atom.Diffusion___str__(self)
3993 
3994  def __repr__(self):
3995  r"""__repr__(Diffusion self) -> std::string"""
3996  return _IMP_atom.Diffusion___repr__(self)
3997 
3998  def _get_as_binary(self):
3999  r"""_get_as_binary(Diffusion self) -> PyObject *"""
4000  return _IMP_atom.Diffusion__get_as_binary(self)
4001 
4002  def _set_from_binary(self, p):
4003  r"""_set_from_binary(Diffusion self, PyObject * p)"""
4004  return _IMP_atom.Diffusion__set_from_binary(self, p)
4005 
4006  def __getstate__(self):
4007  p = self._get_as_binary()
4008  if len(self.__dict__) > 1:
4009  d = self.__dict__.copy()
4010  del d['this']
4011  p = (d, p)
4012  return p
4013 
4014  def __setstate__(self, p):
4015  if not hasattr(self, 'this'):
4016  self.__init__()
4017  if isinstance(p, tuple):
4018  d, p = p
4019  self.__dict__.update(d)
4020  return self._set_from_binary(p)
4021 
4022  __swig_destroy__ = _IMP_atom.delete_Diffusion
4023 
4024 # Register Diffusion in _IMP_atom:
4025 _IMP_atom.Diffusion_swigregister(Diffusion)
4026 
4027 def get_diffusion_coefficient_from_cm2_per_second(din):
4028  r"""get_diffusion_coefficient_from_cm2_per_second(double din) -> double"""
4029  return _IMP_atom.get_diffusion_coefficient_from_cm2_per_second(din)
4030 class RigidBodyDiffusion(Diffusion):
4031  r"""Proxy of C++ IMP::atom::RigidBodyDiffusion class."""
4032 
4033  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4034 
4035  def __init__(self, *args):
4036  r"""
4037  __init__(RigidBodyDiffusion self) -> RigidBodyDiffusion
4038  __init__(RigidBodyDiffusion self, Model m, ParticleIndex id) -> RigidBodyDiffusion
4039  __init__(RigidBodyDiffusion self, _ParticleAdaptor d) -> RigidBodyDiffusion
4040  """
4041  _IMP_atom.RigidBodyDiffusion_swiginit(self, _IMP_atom.new_RigidBodyDiffusion(*args))
4042 
4043  def show(self, *args):
4044  r"""show(RigidBodyDiffusion self, _ostream out=std::cout)"""
4045  return _IMP_atom.RigidBodyDiffusion_show(self, *args)
4046 
4047  @staticmethod
4048  def setup_particle(*args):
4049  r"""
4050  setup_particle(Model m, ParticleIndex pi) -> RigidBodyDiffusion
4051  setup_particle(_ParticleAdaptor pa) -> RigidBodyDiffusion
4052  """
4053  return _IMP_atom.RigidBodyDiffusion_setup_particle(*args)
4054 
4056  r"""get_rotational_diffusion_coefficient(RigidBodyDiffusion self) -> double"""
4057  return _IMP_atom.RigidBodyDiffusion_get_rotational_diffusion_coefficient(self)
4058 
4059  def set_rotational_diffusion_coefficient(self, d):
4060  r"""set_rotational_diffusion_coefficient(RigidBodyDiffusion self, double d)"""
4061  return _IMP_atom.RigidBodyDiffusion_set_rotational_diffusion_coefficient(self, d)
4062 
4063  @staticmethod
4064  def get_is_setup(*args):
4065  r"""
4066  get_is_setup(_ParticleAdaptor p) -> bool
4067  get_is_setup(Model m, ParticleIndex p) -> bool
4068  """
4069  return _IMP_atom.RigidBodyDiffusion_get_is_setup(*args)
4070 
4071  @staticmethod
4072  def get_rotational_diffusion_coefficient_key():
4073  r"""get_rotational_diffusion_coefficient_key() -> FloatKey"""
4074  return _IMP_atom.RigidBodyDiffusion_get_rotational_diffusion_coefficient_key()
4075 
4076  def add_attribute(self, *args):
4077  r"""
4078  add_attribute(RigidBodyDiffusion self, FloatKey k, IMP::Float v, bool opt)
4079  add_attribute(RigidBodyDiffusion self, FloatKey a0, IMP::Float a1)
4080  add_attribute(RigidBodyDiffusion self, IntKey a0, IMP::Int a1)
4081  add_attribute(RigidBodyDiffusion self, FloatsKey a0, IMP::Floats a1)
4082  add_attribute(RigidBodyDiffusion self, IntsKey a0, IMP::Ints a1)
4083  add_attribute(RigidBodyDiffusion self, StringKey a0, IMP::String a1)
4084  add_attribute(RigidBodyDiffusion self, ParticleIndexKey a0, Particle a1)
4085  add_attribute(RigidBodyDiffusion self, ObjectKey a0, Object a1)
4086  add_attribute(RigidBodyDiffusion self, SparseFloatKey a0, IMP::Float a1)
4087  add_attribute(RigidBodyDiffusion self, SparseIntKey a0, IMP::Int a1)
4088  add_attribute(RigidBodyDiffusion self, SparseStringKey a0, IMP::String a1)
4089  add_attribute(RigidBodyDiffusion self, SparseParticleIndexKey a0, ParticleIndex a1)
4090  """
4091  return _IMP_atom.RigidBodyDiffusion_add_attribute(self, *args)
4092 
4093  def get_value(self, *args):
4094  r"""
4095  get_value(RigidBodyDiffusion self, FloatKey a0) -> IMP::Float
4096  get_value(RigidBodyDiffusion self, IntKey a0) -> IMP::Int
4097  get_value(RigidBodyDiffusion self, FloatsKey a0) -> IMP::Floats
4098  get_value(RigidBodyDiffusion self, IntsKey a0) -> IMP::Ints
4099  get_value(RigidBodyDiffusion self, StringKey a0) -> IMP::String
4100  get_value(RigidBodyDiffusion self, ParticleIndexKey a0) -> Particle
4101  get_value(RigidBodyDiffusion self, ObjectKey a0) -> Object
4102  get_value(RigidBodyDiffusion self, SparseFloatKey a0) -> IMP::Float
4103  get_value(RigidBodyDiffusion self, SparseIntKey a0) -> IMP::Int
4104  get_value(RigidBodyDiffusion self, SparseStringKey a0) -> IMP::String
4105  get_value(RigidBodyDiffusion self, SparseParticleIndexKey a0) -> ParticleIndex
4106  """
4107  return _IMP_atom.RigidBodyDiffusion_get_value(self, *args)
4108 
4109  def set_value(self, *args):
4110  r"""
4111  set_value(RigidBodyDiffusion self, FloatKey a0, IMP::Float a1)
4112  set_value(RigidBodyDiffusion self, IntKey a0, IMP::Int a1)
4113  set_value(RigidBodyDiffusion self, FloatsKey a0, IMP::Floats a1)
4114  set_value(RigidBodyDiffusion self, IntsKey a0, IMP::Ints a1)
4115  set_value(RigidBodyDiffusion self, StringKey a0, IMP::String a1)
4116  set_value(RigidBodyDiffusion self, ParticleIndexKey a0, Particle a1)
4117  set_value(RigidBodyDiffusion self, ObjectKey a0, Object a1)
4118  set_value(RigidBodyDiffusion self, SparseFloatKey a0, IMP::Float a1)
4119  set_value(RigidBodyDiffusion self, SparseIntKey a0, IMP::Int a1)
4120  set_value(RigidBodyDiffusion self, SparseStringKey a0, IMP::String a1)
4121  set_value(RigidBodyDiffusion self, SparseParticleIndexKey a0, ParticleIndex a1)
4122  """
4123  return _IMP_atom.RigidBodyDiffusion_set_value(self, *args)
4124 
4125  def remove_attribute(self, *args):
4126  r"""
4127  remove_attribute(RigidBodyDiffusion self, FloatKey a0)
4128  remove_attribute(RigidBodyDiffusion self, IntKey a0)
4129  remove_attribute(RigidBodyDiffusion self, FloatsKey a0)
4130  remove_attribute(RigidBodyDiffusion self, IntsKey a0)
4131  remove_attribute(RigidBodyDiffusion self, StringKey a0)
4132  remove_attribute(RigidBodyDiffusion self, ParticleIndexKey a0)
4133  remove_attribute(RigidBodyDiffusion self, ObjectKey a0)
4134  remove_attribute(RigidBodyDiffusion self, SparseFloatKey a0)
4135  remove_attribute(RigidBodyDiffusion self, SparseIntKey a0)
4136  remove_attribute(RigidBodyDiffusion self, SparseStringKey a0)
4137  remove_attribute(RigidBodyDiffusion self, SparseParticleIndexKey a0)
4138  """
4139  return _IMP_atom.RigidBodyDiffusion_remove_attribute(self, *args)
4140 
4141  def has_attribute(self, *args):
4142  r"""
4143  has_attribute(RigidBodyDiffusion self, FloatKey a0) -> bool
4144  has_attribute(RigidBodyDiffusion self, IntKey a0) -> bool
4145  has_attribute(RigidBodyDiffusion self, FloatsKey a0) -> bool
4146  has_attribute(RigidBodyDiffusion self, IntsKey a0) -> bool
4147  has_attribute(RigidBodyDiffusion self, StringKey a0) -> bool
4148  has_attribute(RigidBodyDiffusion self, ParticleIndexKey a0) -> bool
4149  has_attribute(RigidBodyDiffusion self, ObjectKey a0) -> bool
4150  has_attribute(RigidBodyDiffusion self, SparseFloatKey a0) -> bool
4151  has_attribute(RigidBodyDiffusion self, SparseIntKey a0) -> bool
4152  has_attribute(RigidBodyDiffusion self, SparseStringKey a0) -> bool
4153  has_attribute(RigidBodyDiffusion self, SparseParticleIndexKey a0) -> bool
4154  """
4155  return _IMP_atom.RigidBodyDiffusion_has_attribute(self, *args)
4156 
4157  def get_derivative(self, a0):
4158  r"""get_derivative(RigidBodyDiffusion self, FloatKey a0) -> double"""
4159  return _IMP_atom.RigidBodyDiffusion_get_derivative(self, a0)
4160 
4161  def get_name(self):
4162  r"""get_name(RigidBodyDiffusion self) -> std::string"""
4163  return _IMP_atom.RigidBodyDiffusion_get_name(self)
4164 
4165  def clear_caches(self):
4166  r"""clear_caches(RigidBodyDiffusion self)"""
4167  return _IMP_atom.RigidBodyDiffusion_clear_caches(self)
4168 
4169  def set_name(self, a0):
4170  r"""set_name(RigidBodyDiffusion self, std::string a0)"""
4171  return _IMP_atom.RigidBodyDiffusion_set_name(self, a0)
4172 
4173  def set_check_level(self, a0):
4174  r"""set_check_level(RigidBodyDiffusion self, IMP::CheckLevel a0)"""
4175  return _IMP_atom.RigidBodyDiffusion_set_check_level(self, a0)
4176 
4177  def add_to_derivative(self, a0, a1, a2):
4178  r"""add_to_derivative(RigidBodyDiffusion self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4179  return _IMP_atom.RigidBodyDiffusion_add_to_derivative(self, a0, a1, a2)
4180 
4181  def set_is_optimized(self, a0, a1):
4182  r"""set_is_optimized(RigidBodyDiffusion self, FloatKey a0, bool a1)"""
4183  return _IMP_atom.RigidBodyDiffusion_set_is_optimized(self, a0, a1)
4184 
4185  def get_is_optimized(self, a0):
4186  r"""get_is_optimized(RigidBodyDiffusion self, FloatKey a0) -> bool"""
4187  return _IMP_atom.RigidBodyDiffusion_get_is_optimized(self, a0)
4188 
4189  def get_check_level(self):
4190  r"""get_check_level(RigidBodyDiffusion self) -> IMP::CheckLevel"""
4191  return _IMP_atom.RigidBodyDiffusion_get_check_level(self)
4192 
4193  def __eq__(self, *args):
4194  r"""
4195  __eq__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4196  __eq__(RigidBodyDiffusion self, Particle d) -> bool
4197  """
4198  return _IMP_atom.RigidBodyDiffusion___eq__(self, *args)
4199 
4200  def __ne__(self, *args):
4201  r"""
4202  __ne__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4203  __ne__(RigidBodyDiffusion self, Particle d) -> bool
4204  """
4205  return _IMP_atom.RigidBodyDiffusion___ne__(self, *args)
4206 
4207  def __le__(self, *args):
4208  r"""
4209  __le__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4210  __le__(RigidBodyDiffusion self, Particle d) -> bool
4211  """
4212  return _IMP_atom.RigidBodyDiffusion___le__(self, *args)
4213 
4214  def __lt__(self, *args):
4215  r"""
4216  __lt__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4217  __lt__(RigidBodyDiffusion self, Particle d) -> bool
4218  """
4219  return _IMP_atom.RigidBodyDiffusion___lt__(self, *args)
4220 
4221  def __ge__(self, *args):
4222  r"""
4223  __ge__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4224  __ge__(RigidBodyDiffusion self, Particle d) -> bool
4225  """
4226  return _IMP_atom.RigidBodyDiffusion___ge__(self, *args)
4227 
4228  def __gt__(self, *args):
4229  r"""
4230  __gt__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4231  __gt__(RigidBodyDiffusion self, Particle d) -> bool
4232  """
4233  return _IMP_atom.RigidBodyDiffusion___gt__(self, *args)
4234 
4235  def __hash__(self):
4236  r"""__hash__(RigidBodyDiffusion self) -> std::size_t"""
4237  return _IMP_atom.RigidBodyDiffusion___hash__(self)
4238 
4239  def __str__(self):
4240  r"""__str__(RigidBodyDiffusion self) -> std::string"""
4241  return _IMP_atom.RigidBodyDiffusion___str__(self)
4242 
4243  def __repr__(self):
4244  r"""__repr__(RigidBodyDiffusion self) -> std::string"""
4245  return _IMP_atom.RigidBodyDiffusion___repr__(self)
4246 
4247  def _get_as_binary(self):
4248  r"""_get_as_binary(RigidBodyDiffusion self) -> PyObject *"""
4249  return _IMP_atom.RigidBodyDiffusion__get_as_binary(self)
4250 
4251  def _set_from_binary(self, p):
4252  r"""_set_from_binary(RigidBodyDiffusion self, PyObject * p)"""
4253  return _IMP_atom.RigidBodyDiffusion__set_from_binary(self, p)
4254 
4255  def __getstate__(self):
4256  p = self._get_as_binary()
4257  if len(self.__dict__) > 1:
4258  d = self.__dict__.copy()
4259  del d['this']
4260  p = (d, p)
4261  return p
4262 
4263  def __setstate__(self, p):
4264  if not hasattr(self, 'this'):
4265  self.__init__()
4266  if isinstance(p, tuple):
4267  d, p = p
4268  self.__dict__.update(d)
4269  return self._set_from_binary(p)
4270 
4271  __swig_destroy__ = _IMP_atom.delete_RigidBodyDiffusion
4272 
4273 # Register RigidBodyDiffusion in _IMP_atom:
4274 _IMP_atom.RigidBodyDiffusion_swigregister(RigidBodyDiffusion)
4275 class TAMDParticle(IMP.Decorator):
4276  r"""Proxy of C++ IMP::atom::TAMDParticle class."""
4277 
4278  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4279 
4280  def __init__(self, *args):
4281  r"""
4282  __init__(TAMDParticle self) -> TAMDParticle
4283  __init__(TAMDParticle self, Model m, ParticleIndex id) -> TAMDParticle
4284  __init__(TAMDParticle self, _ParticleAdaptor d) -> TAMDParticle
4285  """
4286  _IMP_atom.TAMDParticle_swiginit(self, _IMP_atom.new_TAMDParticle(*args))
4287 
4288  def show(self, *args):
4289  r"""show(TAMDParticle self, _ostream out=std::cout)"""
4290  return _IMP_atom.TAMDParticle_show(self, *args)
4291 
4292  @staticmethod
4293  def setup_particle(*args):
4294  r"""
4295  setup_particle(Model m, ParticleIndex pi, ParticleIndex pi_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
4296  setup_particle(_ParticleAdaptor pa, ParticleIndex pi_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
4297  setup_particle(Model m, ParticleIndex pi, Particle p_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
4298  setup_particle(_ParticleAdaptor pa, Particle p_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
4299  """
4300  return _IMP_atom.TAMDParticle_setup_particle(*args)
4301 
4302  @staticmethod
4303  def get_is_setup(*args):
4304  r"""
4305  get_is_setup(_ParticleAdaptor p) -> bool
4306  get_is_setup(Model m, ParticleIndex p) -> bool
4307  """
4308  return _IMP_atom.TAMDParticle_get_is_setup(*args)
4309 
4310  def get_reference_particle_index(self):
4311  r"""get_reference_particle_index(TAMDParticle self) -> ParticleIndex"""
4312  return _IMP_atom.TAMDParticle_get_reference_particle_index(self)
4313 
4314  def set_temperature_scale_factor(self, tsf):
4315  r"""set_temperature_scale_factor(TAMDParticle self, float tsf)"""
4316  return _IMP_atom.TAMDParticle_set_temperature_scale_factor(self, tsf)
4317 
4318  def get_temperature_scale_factor(self):
4319  r"""get_temperature_scale_factor(TAMDParticle self) -> double"""
4320  return _IMP_atom.TAMDParticle_get_temperature_scale_factor(self)
4321 
4322  def set_friction_scale_factor(self, tsf):
4323  r"""set_friction_scale_factor(TAMDParticle self, float tsf)"""
4324  return _IMP_atom.TAMDParticle_set_friction_scale_factor(self, tsf)
4325 
4326  def get_friction_scale_factor(self):
4327  r"""get_friction_scale_factor(TAMDParticle self) -> double"""
4328  return _IMP_atom.TAMDParticle_get_friction_scale_factor(self)
4329 
4330  def update_coordinates_from_ref(self):
4331  r"""update_coordinates_from_ref(TAMDParticle self)"""
4332  return _IMP_atom.TAMDParticle_update_coordinates_from_ref(self)
4333 
4334  @staticmethod
4335  def get_temperature_scale_factor_key():
4336  r"""get_temperature_scale_factor_key() -> FloatKey"""
4337  return _IMP_atom.TAMDParticle_get_temperature_scale_factor_key()
4338 
4339  @staticmethod
4340  def get_friction_scale_factor_key():
4341  r"""get_friction_scale_factor_key() -> FloatKey"""
4342  return _IMP_atom.TAMDParticle_get_friction_scale_factor_key()
4343 
4344  @staticmethod
4345  def get_reference_particle_index_key():
4346  r"""get_reference_particle_index_key() -> ParticleIndexKey"""
4347  return _IMP_atom.TAMDParticle_get_reference_particle_index_key()
4348 
4349  def add_attribute(self, *args):
4350  r"""
4351  add_attribute(TAMDParticle self, FloatKey k, IMP::Float v, bool opt)
4352  add_attribute(TAMDParticle self, FloatKey a0, IMP::Float a1)
4353  add_attribute(TAMDParticle self, IntKey a0, IMP::Int a1)
4354  add_attribute(TAMDParticle self, FloatsKey a0, IMP::Floats a1)
4355  add_attribute(TAMDParticle self, IntsKey a0, IMP::Ints a1)
4356  add_attribute(TAMDParticle self, StringKey a0, IMP::String a1)
4357  add_attribute(TAMDParticle self, ParticleIndexKey a0, Particle a1)
4358  add_attribute(TAMDParticle self, ObjectKey a0, Object a1)
4359  add_attribute(TAMDParticle self, SparseFloatKey a0, IMP::Float a1)
4360  add_attribute(TAMDParticle self, SparseIntKey a0, IMP::Int a1)
4361  add_attribute(TAMDParticle self, SparseStringKey a0, IMP::String a1)
4362  add_attribute(TAMDParticle self, SparseParticleIndexKey a0, ParticleIndex a1)
4363  """
4364  return _IMP_atom.TAMDParticle_add_attribute(self, *args)
4365 
4366  def get_value(self, *args):
4367  r"""
4368  get_value(TAMDParticle self, FloatKey a0) -> IMP::Float
4369  get_value(TAMDParticle self, IntKey a0) -> IMP::Int
4370  get_value(TAMDParticle self, FloatsKey a0) -> IMP::Floats
4371  get_value(TAMDParticle self, IntsKey a0) -> IMP::Ints
4372  get_value(TAMDParticle self, StringKey a0) -> IMP::String
4373  get_value(TAMDParticle self, ParticleIndexKey a0) -> Particle
4374  get_value(TAMDParticle self, ObjectKey a0) -> Object
4375  get_value(TAMDParticle self, SparseFloatKey a0) -> IMP::Float
4376  get_value(TAMDParticle self, SparseIntKey a0) -> IMP::Int
4377  get_value(TAMDParticle self, SparseStringKey a0) -> IMP::String
4378  get_value(TAMDParticle self, SparseParticleIndexKey a0) -> ParticleIndex
4379  """
4380  return _IMP_atom.TAMDParticle_get_value(self, *args)
4381 
4382  def set_value(self, *args):
4383  r"""
4384  set_value(TAMDParticle self, FloatKey a0, IMP::Float a1)
4385  set_value(TAMDParticle self, IntKey a0, IMP::Int a1)
4386  set_value(TAMDParticle self, FloatsKey a0, IMP::Floats a1)
4387  set_value(TAMDParticle self, IntsKey a0, IMP::Ints a1)
4388  set_value(TAMDParticle self, StringKey a0, IMP::String a1)
4389  set_value(TAMDParticle self, ParticleIndexKey a0, Particle a1)
4390  set_value(TAMDParticle self, ObjectKey a0, Object a1)
4391  set_value(TAMDParticle self, SparseFloatKey a0, IMP::Float a1)
4392  set_value(TAMDParticle self, SparseIntKey a0, IMP::Int a1)
4393  set_value(TAMDParticle self, SparseStringKey a0, IMP::String a1)
4394  set_value(TAMDParticle self, SparseParticleIndexKey a0, ParticleIndex a1)
4395  """
4396  return _IMP_atom.TAMDParticle_set_value(self, *args)
4397 
4398  def remove_attribute(self, *args):
4399  r"""
4400  remove_attribute(TAMDParticle self, FloatKey a0)
4401  remove_attribute(TAMDParticle self, IntKey a0)
4402  remove_attribute(TAMDParticle self, FloatsKey a0)
4403  remove_attribute(TAMDParticle self, IntsKey a0)
4404  remove_attribute(TAMDParticle self, StringKey a0)
4405  remove_attribute(TAMDParticle self, ParticleIndexKey a0)
4406  remove_attribute(TAMDParticle self, ObjectKey a0)
4407  remove_attribute(TAMDParticle self, SparseFloatKey a0)
4408  remove_attribute(TAMDParticle self, SparseIntKey a0)
4409  remove_attribute(TAMDParticle self, SparseStringKey a0)
4410  remove_attribute(TAMDParticle self, SparseParticleIndexKey a0)
4411  """
4412  return _IMP_atom.TAMDParticle_remove_attribute(self, *args)
4413 
4414  def has_attribute(self, *args):
4415  r"""
4416  has_attribute(TAMDParticle self, FloatKey a0) -> bool
4417  has_attribute(TAMDParticle self, IntKey a0) -> bool
4418  has_attribute(TAMDParticle self, FloatsKey a0) -> bool
4419  has_attribute(TAMDParticle self, IntsKey a0) -> bool
4420  has_attribute(TAMDParticle self, StringKey a0) -> bool
4421  has_attribute(TAMDParticle self, ParticleIndexKey a0) -> bool
4422  has_attribute(TAMDParticle self, ObjectKey a0) -> bool
4423  has_attribute(TAMDParticle self, SparseFloatKey a0) -> bool
4424  has_attribute(TAMDParticle self, SparseIntKey a0) -> bool
4425  has_attribute(TAMDParticle self, SparseStringKey a0) -> bool
4426  has_attribute(TAMDParticle self, SparseParticleIndexKey a0) -> bool
4427  """
4428  return _IMP_atom.TAMDParticle_has_attribute(self, *args)
4429 
4430  def get_derivative(self, a0):
4431  r"""get_derivative(TAMDParticle self, FloatKey a0) -> double"""
4432  return _IMP_atom.TAMDParticle_get_derivative(self, a0)
4433 
4434  def get_name(self):
4435  r"""get_name(TAMDParticle self) -> std::string"""
4436  return _IMP_atom.TAMDParticle_get_name(self)
4437 
4438  def clear_caches(self):
4439  r"""clear_caches(TAMDParticle self)"""
4440  return _IMP_atom.TAMDParticle_clear_caches(self)
4441 
4442  def set_name(self, a0):
4443  r"""set_name(TAMDParticle self, std::string a0)"""
4444  return _IMP_atom.TAMDParticle_set_name(self, a0)
4445 
4446  def set_check_level(self, a0):
4447  r"""set_check_level(TAMDParticle self, IMP::CheckLevel a0)"""
4448  return _IMP_atom.TAMDParticle_set_check_level(self, a0)
4449 
4450  def add_to_derivative(self, a0, a1, a2):
4451  r"""add_to_derivative(TAMDParticle self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4452  return _IMP_atom.TAMDParticle_add_to_derivative(self, a0, a1, a2)
4453 
4454  def set_is_optimized(self, a0, a1):
4455  r"""set_is_optimized(TAMDParticle self, FloatKey a0, bool a1)"""
4456  return _IMP_atom.TAMDParticle_set_is_optimized(self, a0, a1)
4457 
4458  def get_is_optimized(self, a0):
4459  r"""get_is_optimized(TAMDParticle self, FloatKey a0) -> bool"""
4460  return _IMP_atom.TAMDParticle_get_is_optimized(self, a0)
4461 
4462  def get_check_level(self):
4463  r"""get_check_level(TAMDParticle self) -> IMP::CheckLevel"""
4464  return _IMP_atom.TAMDParticle_get_check_level(self)
4465 
4466  def __eq__(self, *args):
4467  r"""
4468  __eq__(TAMDParticle self, TAMDParticle o) -> bool
4469  __eq__(TAMDParticle self, Particle d) -> bool
4470  """
4471  return _IMP_atom.TAMDParticle___eq__(self, *args)
4472 
4473  def __ne__(self, *args):
4474  r"""
4475  __ne__(TAMDParticle self, TAMDParticle o) -> bool
4476  __ne__(TAMDParticle self, Particle d) -> bool
4477  """
4478  return _IMP_atom.TAMDParticle___ne__(self, *args)
4479 
4480  def __le__(self, *args):
4481  r"""
4482  __le__(TAMDParticle self, TAMDParticle o) -> bool
4483  __le__(TAMDParticle self, Particle d) -> bool
4484  """
4485  return _IMP_atom.TAMDParticle___le__(self, *args)
4486 
4487  def __lt__(self, *args):
4488  r"""
4489  __lt__(TAMDParticle self, TAMDParticle o) -> bool
4490  __lt__(TAMDParticle self, Particle d) -> bool
4491  """
4492  return _IMP_atom.TAMDParticle___lt__(self, *args)
4493 
4494  def __ge__(self, *args):
4495  r"""
4496  __ge__(TAMDParticle self, TAMDParticle o) -> bool
4497  __ge__(TAMDParticle self, Particle d) -> bool
4498  """
4499  return _IMP_atom.TAMDParticle___ge__(self, *args)
4500 
4501  def __gt__(self, *args):
4502  r"""
4503  __gt__(TAMDParticle self, TAMDParticle o) -> bool
4504  __gt__(TAMDParticle self, Particle d) -> bool
4505  """
4506  return _IMP_atom.TAMDParticle___gt__(self, *args)
4507 
4508  def __hash__(self):
4509  r"""__hash__(TAMDParticle self) -> std::size_t"""
4510  return _IMP_atom.TAMDParticle___hash__(self)
4511 
4512  def __str__(self):
4513  r"""__str__(TAMDParticle self) -> std::string"""
4514  return _IMP_atom.TAMDParticle___str__(self)
4515 
4516  def __repr__(self):
4517  r"""__repr__(TAMDParticle self) -> std::string"""
4518  return _IMP_atom.TAMDParticle___repr__(self)
4519 
4520  def _get_as_binary(self):
4521  r"""_get_as_binary(TAMDParticle self) -> PyObject *"""
4522  return _IMP_atom.TAMDParticle__get_as_binary(self)
4523 
4524  def _set_from_binary(self, p):
4525  r"""_set_from_binary(TAMDParticle self, PyObject * p)"""
4526  return _IMP_atom.TAMDParticle__set_from_binary(self, p)
4527 
4528  def __getstate__(self):
4529  p = self._get_as_binary()
4530  if len(self.__dict__) > 1:
4531  d = self.__dict__.copy()
4532  del d['this']
4533  p = (d, p)
4534  return p
4535 
4536  def __setstate__(self, p):
4537  if not hasattr(self, 'this'):
4538  self.__init__()
4539  if isinstance(p, tuple):
4540  d, p = p
4541  self.__dict__.update(d)
4542  return self._set_from_binary(p)
4543 
4544  __swig_destroy__ = _IMP_atom.delete_TAMDParticle
4545 
4546 # Register TAMDParticle in _IMP_atom:
4547 _IMP_atom.TAMDParticle_swigregister(TAMDParticle)
4548 class Charged(IMP.core.XYZ):
4549  r"""Proxy of C++ IMP::atom::Charged class."""
4550 
4551  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4552 
4553  def __init__(self, *args):
4554  r"""
4555  __init__(Charged self) -> Charged
4556  __init__(Charged self, Model m, ParticleIndex id) -> Charged
4557  __init__(Charged self, _ParticleAdaptor d) -> Charged
4558  """
4559  _IMP_atom.Charged_swiginit(self, _IMP_atom.new_Charged(*args))
4560 
4561  def show(self, *args):
4562  r"""show(Charged self, _ostream out=std::cout)"""
4563  return _IMP_atom.Charged_show(self, *args)
4564 
4565  @staticmethod
4566  def setup_particle(*args):
4567  r"""
4568  setup_particle(Model m, ParticleIndex pi, IMP::Float charge) -> Charged
4569  setup_particle(_ParticleAdaptor pa, IMP::Float charge) -> Charged
4570  setup_particle(Model m, ParticleIndex pi, Vector3D v, IMP::Float charge) -> Charged
4571  setup_particle(_ParticleAdaptor pa, Vector3D v, IMP::Float charge) -> Charged
4572  """
4573  return _IMP_atom.Charged_setup_particle(*args)
4574 
4575  def get_charge(self):
4576  r"""get_charge(Charged self) -> IMP::Float"""
4577  return _IMP_atom.Charged_get_charge(self)
4578 
4579  def set_charge(self, t):
4580  r"""set_charge(Charged self, IMP::Float t)"""
4581  return _IMP_atom.Charged_set_charge(self, t)
4582 
4583  @staticmethod
4584  def get_is_setup(*args):
4585  r"""
4586  get_is_setup(_ParticleAdaptor p) -> bool
4587  get_is_setup(Model m, ParticleIndex pi) -> bool
4588  """
4589  return _IMP_atom.Charged_get_is_setup(*args)
4590 
4591  @staticmethod
4592  def get_charge_key():
4593  r"""get_charge_key() -> FloatKey"""
4594  return _IMP_atom.Charged_get_charge_key()
4595 
4596  def add_attribute(self, *args):
4597  r"""
4598  add_attribute(Charged self, FloatKey k, IMP::Float v, bool opt)
4599  add_attribute(Charged self, FloatKey a0, IMP::Float a1)
4600  add_attribute(Charged self, IntKey a0, IMP::Int a1)
4601  add_attribute(Charged self, FloatsKey a0, IMP::Floats a1)
4602  add_attribute(Charged self, IntsKey a0, IMP::Ints a1)
4603  add_attribute(Charged self, StringKey a0, IMP::String a1)
4604  add_attribute(Charged self, ParticleIndexKey a0, Particle a1)
4605  add_attribute(Charged self, ObjectKey a0, Object a1)
4606  add_attribute(Charged self, SparseFloatKey a0, IMP::Float a1)
4607  add_attribute(Charged self, SparseIntKey a0, IMP::Int a1)
4608  add_attribute(Charged self, SparseStringKey a0, IMP::String a1)
4609  add_attribute(Charged self, SparseParticleIndexKey a0, ParticleIndex a1)
4610  """
4611  return _IMP_atom.Charged_add_attribute(self, *args)
4612 
4613  def get_value(self, *args):
4614  r"""
4615  get_value(Charged self, FloatKey a0) -> IMP::Float
4616  get_value(Charged self, IntKey a0) -> IMP::Int
4617  get_value(Charged self, FloatsKey a0) -> IMP::Floats
4618  get_value(Charged self, IntsKey a0) -> IMP::Ints
4619  get_value(Charged self, StringKey a0) -> IMP::String
4620  get_value(Charged self, ParticleIndexKey a0) -> Particle
4621  get_value(Charged self, ObjectKey a0) -> Object
4622  get_value(Charged self, SparseFloatKey a0) -> IMP::Float
4623  get_value(Charged self, SparseIntKey a0) -> IMP::Int
4624  get_value(Charged self, SparseStringKey a0) -> IMP::String
4625  get_value(Charged self, SparseParticleIndexKey a0) -> ParticleIndex
4626  """
4627  return _IMP_atom.Charged_get_value(self, *args)
4628 
4629  def set_value(self, *args):
4630  r"""
4631  set_value(Charged self, FloatKey a0, IMP::Float a1)
4632  set_value(Charged self, IntKey a0, IMP::Int a1)
4633  set_value(Charged self, FloatsKey a0, IMP::Floats a1)
4634  set_value(Charged self, IntsKey a0, IMP::Ints a1)
4635  set_value(Charged self, StringKey a0, IMP::String a1)
4636  set_value(Charged self, ParticleIndexKey a0, Particle a1)
4637  set_value(Charged self, ObjectKey a0, Object a1)
4638  set_value(Charged self, SparseFloatKey a0, IMP::Float a1)
4639  set_value(Charged self, SparseIntKey a0, IMP::Int a1)
4640  set_value(Charged self, SparseStringKey a0, IMP::String a1)
4641  set_value(Charged self, SparseParticleIndexKey a0, ParticleIndex a1)
4642  """
4643  return _IMP_atom.Charged_set_value(self, *args)
4644 
4645  def remove_attribute(self, *args):
4646  r"""
4647  remove_attribute(Charged self, FloatKey a0)
4648  remove_attribute(Charged self, IntKey a0)
4649  remove_attribute(Charged self, FloatsKey a0)
4650  remove_attribute(Charged self, IntsKey a0)
4651  remove_attribute(Charged self, StringKey a0)
4652  remove_attribute(Charged self, ParticleIndexKey a0)
4653  remove_attribute(Charged self, ObjectKey a0)
4654  remove_attribute(Charged self, SparseFloatKey a0)
4655  remove_attribute(Charged self, SparseIntKey a0)
4656  remove_attribute(Charged self, SparseStringKey a0)
4657  remove_attribute(Charged self, SparseParticleIndexKey a0)
4658  """
4659  return _IMP_atom.Charged_remove_attribute(self, *args)
4660 
4661  def has_attribute(self, *args):
4662  r"""
4663  has_attribute(Charged self, FloatKey a0) -> bool
4664  has_attribute(Charged self, IntKey a0) -> bool
4665  has_attribute(Charged self, FloatsKey a0) -> bool
4666  has_attribute(Charged self, IntsKey a0) -> bool
4667  has_attribute(Charged self, StringKey a0) -> bool
4668  has_attribute(Charged self, ParticleIndexKey a0) -> bool
4669  has_attribute(Charged self, ObjectKey a0) -> bool
4670  has_attribute(Charged self, SparseFloatKey a0) -> bool
4671  has_attribute(Charged self, SparseIntKey a0) -> bool
4672  has_attribute(Charged self, SparseStringKey a0) -> bool
4673  has_attribute(Charged self, SparseParticleIndexKey a0) -> bool
4674  """
4675  return _IMP_atom.Charged_has_attribute(self, *args)
4676 
4677  def get_derivative(self, a0):
4678  r"""get_derivative(Charged self, FloatKey a0) -> double"""
4679  return _IMP_atom.Charged_get_derivative(self, a0)
4680 
4681  def get_name(self):
4682  r"""get_name(Charged self) -> std::string"""
4683  return _IMP_atom.Charged_get_name(self)
4684 
4685  def clear_caches(self):
4686  r"""clear_caches(Charged self)"""
4687  return _IMP_atom.Charged_clear_caches(self)
4688 
4689  def set_name(self, a0):
4690  r"""set_name(Charged self, std::string a0)"""
4691  return _IMP_atom.Charged_set_name(self, a0)
4692 
4693  def set_check_level(self, a0):
4694  r"""set_check_level(Charged self, IMP::CheckLevel a0)"""
4695  return _IMP_atom.Charged_set_check_level(self, a0)
4696 
4697  def add_to_derivative(self, a0, a1, a2):
4698  r"""add_to_derivative(Charged self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4699  return _IMP_atom.Charged_add_to_derivative(self, a0, a1, a2)
4700 
4701  def set_is_optimized(self, a0, a1):
4702  r"""set_is_optimized(Charged self, FloatKey a0, bool a1)"""
4703  return _IMP_atom.Charged_set_is_optimized(self, a0, a1)
4704 
4705  def get_is_optimized(self, a0):
4706  r"""get_is_optimized(Charged self, FloatKey a0) -> bool"""
4707  return _IMP_atom.Charged_get_is_optimized(self, a0)
4708 
4709  def get_check_level(self):
4710  r"""get_check_level(Charged self) -> IMP::CheckLevel"""
4711  return _IMP_atom.Charged_get_check_level(self)
4712 
4713  def __eq__(self, *args):
4714  r"""
4715  __eq__(Charged self, Charged o) -> bool
4716  __eq__(Charged self, Particle d) -> bool
4717  """
4718  return _IMP_atom.Charged___eq__(self, *args)
4719 
4720  def __ne__(self, *args):
4721  r"""
4722  __ne__(Charged self, Charged o) -> bool
4723  __ne__(Charged self, Particle d) -> bool
4724  """
4725  return _IMP_atom.Charged___ne__(self, *args)
4726 
4727  def __le__(self, *args):
4728  r"""
4729  __le__(Charged self, Charged o) -> bool
4730  __le__(Charged self, Particle d) -> bool
4731  """
4732  return _IMP_atom.Charged___le__(self, *args)
4733 
4734  def __lt__(self, *args):
4735  r"""
4736  __lt__(Charged self, Charged o) -> bool
4737  __lt__(Charged self, Particle d) -> bool
4738  """
4739  return _IMP_atom.Charged___lt__(self, *args)
4740 
4741  def __ge__(self, *args):
4742  r"""
4743  __ge__(Charged self, Charged o) -> bool
4744  __ge__(Charged self, Particle d) -> bool
4745  """
4746  return _IMP_atom.Charged___ge__(self, *args)
4747 
4748  def __gt__(self, *args):
4749  r"""
4750  __gt__(Charged self, Charged o) -> bool
4751  __gt__(Charged self, Particle d) -> bool
4752  """
4753  return _IMP_atom.Charged___gt__(self, *args)
4754 
4755  def __hash__(self):
4756  r"""__hash__(Charged self) -> std::size_t"""
4757  return _IMP_atom.Charged___hash__(self)
4758 
4759  def __str__(self):
4760  r"""__str__(Charged self) -> std::string"""
4761  return _IMP_atom.Charged___str__(self)
4762 
4763  def __repr__(self):
4764  r"""__repr__(Charged self) -> std::string"""
4765  return _IMP_atom.Charged___repr__(self)
4766 
4767  def _get_as_binary(self):
4768  r"""_get_as_binary(Charged self) -> PyObject *"""
4769  return _IMP_atom.Charged__get_as_binary(self)
4770 
4771  def _set_from_binary(self, p):
4772  r"""_set_from_binary(Charged self, PyObject * p)"""
4773  return _IMP_atom.Charged__set_from_binary(self, p)
4774 
4775  def __getstate__(self):
4776  p = self._get_as_binary()
4777  if len(self.__dict__) > 1:
4778  d = self.__dict__.copy()
4779  del d['this']
4780  p = (d, p)
4781  return p
4782 
4783  def __setstate__(self, p):
4784  if not hasattr(self, 'this'):
4785  self.__init__()
4786  if isinstance(p, tuple):
4787  d, p = p
4788  self.__dict__.update(d)
4789  return self._set_from_binary(p)
4790 
4791  __swig_destroy__ = _IMP_atom.delete_Charged
4792 
4793 # Register Charged in _IMP_atom:
4794 _IMP_atom.Charged_swigregister(Charged)
4795 class CoulombPairScore(IMP.PairScore):
4796  r"""Proxy of C++ IMP::atom::CoulombPairScore class."""
4797 
4798  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4799 
4800  def __init__(self, f):
4801  r"""__init__(CoulombPairScore self, SmoothingFunction f) -> CoulombPairScore"""
4802  _IMP_atom.CoulombPairScore_swiginit(self, _IMP_atom.new_CoulombPairScore(f))
4803 
4804  def set_relative_dielectric(self, relative_dielectric):
4805  r"""set_relative_dielectric(CoulombPairScore self, double relative_dielectric)"""
4806  return _IMP_atom.CoulombPairScore_set_relative_dielectric(self, relative_dielectric)
4807 
4808  def get_relative_dielectric(self):
4809  r"""get_relative_dielectric(CoulombPairScore self) -> double"""
4810  return _IMP_atom.CoulombPairScore_get_relative_dielectric(self)
4811 
4812  def get_smoothing_function(self):
4813  r"""get_smoothing_function(CoulombPairScore self) -> SmoothingFunction"""
4814  return _IMP_atom.CoulombPairScore_get_smoothing_function(self)
4815 
4816  def do_get_inputs(self, m, pis):
4817  r"""do_get_inputs(CoulombPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4818  return _IMP_atom.CoulombPairScore_do_get_inputs(self, m, pis)
4819 
4820  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4821  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"""
4822  return _IMP_atom.CoulombPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4823 
4824  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4825  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"""
4826  return _IMP_atom.CoulombPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4827 
4828  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4829  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"""
4830  return _IMP_atom.CoulombPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4831 
4832  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4833  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"""
4834  return _IMP_atom.CoulombPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4835 
4836  def get_version_info(self):
4837  r"""get_version_info(CoulombPairScore self) -> VersionInfo"""
4838  return _IMP_atom.CoulombPairScore_get_version_info(self)
4839  __swig_destroy__ = _IMP_atom.delete_CoulombPairScore
4840 
4841  def __str__(self):
4842  r"""__str__(CoulombPairScore self) -> std::string"""
4843  return _IMP_atom.CoulombPairScore___str__(self)
4844 
4845  def __repr__(self):
4846  r"""__repr__(CoulombPairScore self) -> std::string"""
4847  return _IMP_atom.CoulombPairScore___repr__(self)
4848 
4849  @staticmethod
4850  def get_from(o):
4851  return _object_cast_to_CoulombPairScore(o)
4852 
4853 
4854  def _get_jax(self, m, indexes, space):
4855  import math
4856  import jax
4857  import jax.numpy as jnp
4858  # 1 / (4pi * epsilon) * conversion factor to get score in kcal/mol
4859  # if distances are in angstroms
4860  avogadro = 6.02214179e23 # /mole
4861  electron_charge = 1.6021892e-19 # Coulomb
4862  permittivity_vacuum = 8.854187818e-12 # C/V/m
4863  kcal2joule = 4186.8
4864  factor = (avogadro * electron_charge * electron_charge *
4865  1.0e10 / permittivity_vacuum / kcal2joule /
4866  (4.0 * math.pi * self.get_relative_dielectric()))
4867  sf = self.get_smoothing_function().get_derived_object()
4868  # Function operates on a single distance + score; make it work on
4869  # an array instead using jax.vmap
4870  smoothing_function = jax.vmap(sf._get_jax())
4871  def score(jm):
4872  xyzs = jm['xyz'][indexes]
4873  qs = jm['charge'][indexes]
4874  diff = xyzs[:,0] - xyzs[:,1]
4875  drs = space.distance(diff)
4876  scores = factor * jnp.prod(qs, axis=1) / drs
4877  return smoothing_function(scores, drs)
4878  return self._wrap_jax(m, score, keys=[Charged.get_charge_key()])
4879 
4880 
4881 # Register CoulombPairScore in _IMP_atom:
4882 _IMP_atom.CoulombPairScore_swigregister(CoulombPairScore)
4883 class Domain(Hierarchy):
4884  r"""Proxy of C++ IMP::atom::Domain class."""
4885 
4886  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4887 
4888  def set_index_range(self, ir):
4889  r"""set_index_range(Domain self, IMP::IntRange ir)"""
4890  return _IMP_atom.Domain_set_index_range(self, ir)
4891 
4892  def get_index_range(self):
4893  r"""get_index_range(Domain self) -> IMP::IntRange"""
4894  return _IMP_atom.Domain_get_index_range(self)
4895 
4896  def __init__(self, *args):
4897  r"""
4898  __init__(Domain self) -> Domain
4899  __init__(Domain self, Model m, ParticleIndex id) -> Domain
4900  __init__(Domain self, _ParticleAdaptor d) -> Domain
4901  """
4902  _IMP_atom.Domain_swiginit(self, _IMP_atom.new_Domain(*args))
4903 
4904  @staticmethod
4905  def get_is_setup(*args):
4906  r"""
4907  get_is_setup(Model m, ParticleIndex pi) -> bool
4908  get_is_setup(_ParticleAdaptor p) -> bool
4909  """
4910  return _IMP_atom.Domain_get_is_setup(*args)
4911 
4912  def show(self, *args):
4913  r"""show(Domain self, _ostream out=std::cout)"""
4914  return _IMP_atom.Domain_show(self, *args)
4915 
4916  @staticmethod
4917  def setup_particle(*args):
4918  r"""
4919  setup_particle(Model m, ParticleIndex pi, Domain other) -> Domain
4920  setup_particle(_ParticleAdaptor pa, Domain other) -> Domain
4921  setup_particle(Model m, ParticleIndex pi, IMP::IntRange residues) -> Domain
4922  setup_particle(_ParticleAdaptor pa, IMP::IntRange residues) -> Domain
4923  """
4924  return _IMP_atom.Domain_setup_particle(*args)
4925 
4926  def add_attribute(self, *args):
4927  r"""
4928  add_attribute(Domain self, FloatKey k, IMP::Float v, bool opt)
4929  add_attribute(Domain self, FloatKey a0, IMP::Float a1)
4930  add_attribute(Domain self, IntKey a0, IMP::Int a1)
4931  add_attribute(Domain self, FloatsKey a0, IMP::Floats a1)
4932  add_attribute(Domain self, IntsKey a0, IMP::Ints a1)
4933  add_attribute(Domain self, StringKey a0, IMP::String a1)
4934  add_attribute(Domain self, ParticleIndexKey a0, Particle a1)
4935  add_attribute(Domain self, ObjectKey a0, Object a1)
4936  add_attribute(Domain self, SparseFloatKey a0, IMP::Float a1)
4937  add_attribute(Domain self, SparseIntKey a0, IMP::Int a1)
4938  add_attribute(Domain self, SparseStringKey a0, IMP::String a1)
4939  add_attribute(Domain self, SparseParticleIndexKey a0, ParticleIndex a1)
4940  """
4941  return _IMP_atom.Domain_add_attribute(self, *args)
4942 
4943  def get_value(self, *args):
4944  r"""
4945  get_value(Domain self, FloatKey a0) -> IMP::Float
4946  get_value(Domain self, IntKey a0) -> IMP::Int
4947  get_value(Domain self, FloatsKey a0) -> IMP::Floats
4948  get_value(Domain self, IntsKey a0) -> IMP::Ints
4949  get_value(Domain self, StringKey a0) -> IMP::String
4950  get_value(Domain self, ParticleIndexKey a0) -> Particle
4951  get_value(Domain self, ObjectKey a0) -> Object
4952  get_value(Domain self, SparseFloatKey a0) -> IMP::Float
4953  get_value(Domain self, SparseIntKey a0) -> IMP::Int
4954  get_value(Domain self, SparseStringKey a0) -> IMP::String
4955  get_value(Domain self, SparseParticleIndexKey a0) -> ParticleIndex
4956  """
4957  return _IMP_atom.Domain_get_value(self, *args)
4958 
4959  def set_value(self, *args):
4960  r"""
4961  set_value(Domain self, FloatKey a0, IMP::Float a1)
4962  set_value(Domain self, IntKey a0, IMP::Int a1)
4963  set_value(Domain self, FloatsKey a0, IMP::Floats a1)
4964  set_value(Domain self, IntsKey a0, IMP::Ints a1)
4965  set_value(Domain self, StringKey a0, IMP::String a1)
4966  set_value(Domain self, ParticleIndexKey a0, Particle a1)
4967  set_value(Domain self, ObjectKey a0, Object a1)
4968  set_value(Domain self, SparseFloatKey a0, IMP::Float a1)
4969  set_value(Domain self, SparseIntKey a0, IMP::Int a1)
4970  set_value(Domain self, SparseStringKey a0, IMP::String a1)
4971  set_value(Domain self, SparseParticleIndexKey a0, ParticleIndex a1)
4972  """
4973  return _IMP_atom.Domain_set_value(self, *args)
4974 
4975  def remove_attribute(self, *args):
4976  r"""
4977  remove_attribute(Domain self, FloatKey a0)
4978  remove_attribute(Domain self, IntKey a0)
4979  remove_attribute(Domain self, FloatsKey a0)
4980  remove_attribute(Domain self, IntsKey a0)
4981  remove_attribute(Domain self, StringKey a0)
4982  remove_attribute(Domain self, ParticleIndexKey a0)
4983  remove_attribute(Domain self, ObjectKey a0)
4984  remove_attribute(Domain self, SparseFloatKey a0)
4985  remove_attribute(Domain self, SparseIntKey a0)
4986  remove_attribute(Domain self, SparseStringKey a0)
4987  remove_attribute(Domain self, SparseParticleIndexKey a0)
4988  """
4989  return _IMP_atom.Domain_remove_attribute(self, *args)
4990 
4991  def has_attribute(self, *args):
4992  r"""
4993  has_attribute(Domain self, FloatKey a0) -> bool
4994  has_attribute(Domain self, IntKey a0) -> bool
4995  has_attribute(Domain self, FloatsKey a0) -> bool
4996  has_attribute(Domain self, IntsKey a0) -> bool
4997  has_attribute(Domain self, StringKey a0) -> bool
4998  has_attribute(Domain self, ParticleIndexKey a0) -> bool
4999  has_attribute(Domain self, ObjectKey a0) -> bool
5000  has_attribute(Domain self, SparseFloatKey a0) -> bool
5001  has_attribute(Domain self, SparseIntKey a0) -> bool
5002  has_attribute(Domain self, SparseStringKey a0) -> bool
5003  has_attribute(Domain self, SparseParticleIndexKey a0) -> bool
5004  """
5005  return _IMP_atom.Domain_has_attribute(self, *args)
5006 
5007  def get_derivative(self, a0):
5008  r"""get_derivative(Domain self, FloatKey a0) -> double"""
5009  return _IMP_atom.Domain_get_derivative(self, a0)
5010 
5011  def get_name(self):
5012  r"""get_name(Domain self) -> std::string"""
5013  return _IMP_atom.Domain_get_name(self)
5014 
5015  def clear_caches(self):
5016  r"""clear_caches(Domain self)"""
5017  return _IMP_atom.Domain_clear_caches(self)
5018 
5019  def set_name(self, a0):
5020  r"""set_name(Domain self, std::string a0)"""
5021  return _IMP_atom.Domain_set_name(self, a0)
5022 
5023  def set_check_level(self, a0):
5024  r"""set_check_level(Domain self, IMP::CheckLevel a0)"""
5025  return _IMP_atom.Domain_set_check_level(self, a0)
5026 
5027  def add_to_derivative(self, a0, a1, a2):
5028  r"""add_to_derivative(Domain self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5029  return _IMP_atom.Domain_add_to_derivative(self, a0, a1, a2)
5030 
5031  def set_is_optimized(self, a0, a1):
5032  r"""set_is_optimized(Domain self, FloatKey a0, bool a1)"""
5033  return _IMP_atom.Domain_set_is_optimized(self, a0, a1)
5034 
5035  def get_is_optimized(self, a0):
5036  r"""get_is_optimized(Domain self, FloatKey a0) -> bool"""
5037  return _IMP_atom.Domain_get_is_optimized(self, a0)
5038 
5039  def get_check_level(self):
5040  r"""get_check_level(Domain self) -> IMP::CheckLevel"""
5041  return _IMP_atom.Domain_get_check_level(self)
5042 
5043  def __eq__(self, *args):
5044  r"""
5045  __eq__(Domain self, Domain o) -> bool
5046  __eq__(Domain self, Particle d) -> bool
5047  """
5048  return _IMP_atom.Domain___eq__(self, *args)
5049 
5050  def __ne__(self, *args):
5051  r"""
5052  __ne__(Domain self, Domain o) -> bool
5053  __ne__(Domain self, Particle d) -> bool
5054  """
5055  return _IMP_atom.Domain___ne__(self, *args)
5056 
5057  def __le__(self, *args):
5058  r"""
5059  __le__(Domain self, Domain o) -> bool
5060  __le__(Domain self, Particle d) -> bool
5061  """
5062  return _IMP_atom.Domain___le__(self, *args)
5063 
5064  def __lt__(self, *args):
5065  r"""
5066  __lt__(Domain self, Domain o) -> bool
5067  __lt__(Domain self, Particle d) -> bool
5068  """
5069  return _IMP_atom.Domain___lt__(self, *args)
5070 
5071  def __ge__(self, *args):
5072  r"""
5073  __ge__(Domain self, Domain o) -> bool
5074  __ge__(Domain self, Particle d) -> bool
5075  """
5076  return _IMP_atom.Domain___ge__(self, *args)
5077 
5078  def __gt__(self, *args):
5079  r"""
5080  __gt__(Domain self, Domain o) -> bool
5081  __gt__(Domain self, Particle d) -> bool
5082  """
5083  return _IMP_atom.Domain___gt__(self, *args)
5084 
5085  def __hash__(self):
5086  r"""__hash__(Domain self) -> std::size_t"""
5087  return _IMP_atom.Domain___hash__(self)
5088 
5089  def __str__(self):
5090  r"""__str__(Domain self) -> std::string"""
5091  return _IMP_atom.Domain___str__(self)
5092 
5093  def __repr__(self):
5094  r"""__repr__(Domain self) -> std::string"""
5095  return _IMP_atom.Domain___repr__(self)
5096 
5097  def _get_as_binary(self):
5098  r"""_get_as_binary(Domain self) -> PyObject *"""
5099  return _IMP_atom.Domain__get_as_binary(self)
5100 
5101  def _set_from_binary(self, p):
5102  r"""_set_from_binary(Domain self, PyObject * p)"""
5103  return _IMP_atom.Domain__set_from_binary(self, p)
5104 
5105  def __getstate__(self):
5106  p = self._get_as_binary()
5107  if len(self.__dict__) > 1:
5108  d = self.__dict__.copy()
5109  del d['this']
5110  p = (d, p)
5111  return p
5112 
5113  def __setstate__(self, p):
5114  if not hasattr(self, 'this'):
5115  self.__init__()
5116  if isinstance(p, tuple):
5117  d, p = p
5118  self.__dict__.update(d)
5119  return self._set_from_binary(p)
5120 
5121  __swig_destroy__ = _IMP_atom.delete_Domain
5122 
5123 # Register Domain in _IMP_atom:
5124 _IMP_atom.Domain_swigregister(Domain)
5125 class LennardJonesType(IMP.Object):
5126  r"""Proxy of C++ IMP::atom::LennardJonesType class."""
5127 
5128  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5129 
5130  def __init__(self, *args):
5131  r"""__init__(LennardJonesType self, double well_depth, double radius, std::string name="LennardJonesType%1%") -> LennardJonesType"""
5132  _IMP_atom.LennardJonesType_swiginit(self, _IMP_atom.new_LennardJonesType(*args))
5133 
5134  def get_well_depth(self):
5135  r"""get_well_depth(LennardJonesType self) -> double"""
5136  return _IMP_atom.LennardJonesType_get_well_depth(self)
5137 
5138  def set_well_depth(self, d):
5139  r"""set_well_depth(LennardJonesType self, double d)"""
5140  return _IMP_atom.LennardJonesType_set_well_depth(self, d)
5141 
5142  def get_radius(self):
5143  r"""get_radius(LennardJonesType self) -> double"""
5144  return _IMP_atom.LennardJonesType_get_radius(self)
5145 
5146  def set_radius(self, r):
5147  r"""set_radius(LennardJonesType self, double r)"""
5148  return _IMP_atom.LennardJonesType_set_radius(self, r)
5149 
5150  def get_index(self):
5151  r"""get_index(LennardJonesType self) -> int"""
5152  return _IMP_atom.LennardJonesType_get_index(self)
5153 
5154  def get_version_info(self):
5155  r"""get_version_info(LennardJonesType self) -> VersionInfo"""
5156  return _IMP_atom.LennardJonesType_get_version_info(self)
5157  __swig_destroy__ = _IMP_atom.delete_LennardJonesType
5158 
5159  def __str__(self):
5160  r"""__str__(LennardJonesType self) -> std::string"""
5161  return _IMP_atom.LennardJonesType___str__(self)
5162 
5163  def __repr__(self):
5164  r"""__repr__(LennardJonesType self) -> std::string"""
5165  return _IMP_atom.LennardJonesType___repr__(self)
5166 
5167  @staticmethod
5168  def get_from(o):
5169  return _object_cast_to_LennardJonesType(o)
5170 
5171 
5172 # Register LennardJonesType in _IMP_atom:
5173 _IMP_atom.LennardJonesType_swigregister(LennardJonesType)
5174 class LennardJonesTyped(IMP.core.XYZ):
5175  r"""Proxy of C++ IMP::atom::LennardJonesTyped class."""
5176 
5177  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5178 
5179  def __init__(self, *args):
5180  r"""
5181  __init__(LennardJonesTyped self) -> LennardJonesTyped
5182  __init__(LennardJonesTyped self, Model m, ParticleIndex id) -> LennardJonesTyped
5183  __init__(LennardJonesTyped self, _ParticleAdaptor d) -> LennardJonesTyped
5184  """
5185  _IMP_atom.LennardJonesTyped_swiginit(self, _IMP_atom.new_LennardJonesTyped(*args))
5186 
5187  def show(self, *args):
5188  r"""show(LennardJonesTyped self, _ostream out=std::cout)"""
5189  return _IMP_atom.LennardJonesTyped_show(self, *args)
5190 
5191  @staticmethod
5192  def setup_particle(*args):
5193  r"""
5194  setup_particle(Model m, ParticleIndex pi, LennardJonesType type) -> LennardJonesTyped
5195  setup_particle(_ParticleAdaptor pa, LennardJonesType type) -> LennardJonesTyped
5196  """
5197  return _IMP_atom.LennardJonesTyped_setup_particle(*args)
5198 
5199  @staticmethod
5200  def get_is_setup(*args):
5201  r"""
5202  get_is_setup(_ParticleAdaptor p) -> bool
5203  get_is_setup(Model m, ParticleIndex pi) -> bool
5204  """
5205  return _IMP_atom.LennardJonesTyped_get_is_setup(*args)
5206 
5207  def set_type(self, type):
5208  r"""set_type(LennardJonesTyped self, LennardJonesType type)"""
5209  return _IMP_atom.LennardJonesTyped_set_type(self, type)
5210 
5211  def get_type(self):
5212  r"""get_type(LennardJonesTyped self) -> LennardJonesType"""
5213  return _IMP_atom.LennardJonesTyped_get_type(self)
5214 
5215  def get_index(self):
5216  r"""get_index(LennardJonesTyped self) -> int"""
5217  return _IMP_atom.LennardJonesTyped_get_index(self)
5218 
5219  def get_well_depth(self):
5220  r"""get_well_depth(LennardJonesTyped self) -> double"""
5221  return _IMP_atom.LennardJonesTyped_get_well_depth(self)
5222 
5223  def get_radius(self):
5224  r"""get_radius(LennardJonesTyped self) -> double"""
5225  return _IMP_atom.LennardJonesTyped_get_radius(self)
5226 
5227  @staticmethod
5228  def get_type_key():
5229  r"""get_type_key() -> IntKey"""
5230  return _IMP_atom.LennardJonesTyped_get_type_key()
5231 
5232  def add_attribute(self, *args):
5233  r"""
5234  add_attribute(LennardJonesTyped self, FloatKey k, IMP::Float v, bool opt)
5235  add_attribute(LennardJonesTyped self, FloatKey a0, IMP::Float a1)
5236  add_attribute(LennardJonesTyped self, IntKey a0, IMP::Int a1)
5237  add_attribute(LennardJonesTyped self, FloatsKey a0, IMP::Floats a1)
5238  add_attribute(LennardJonesTyped self, IntsKey a0, IMP::Ints a1)
5239  add_attribute(LennardJonesTyped self, StringKey a0, IMP::String a1)
5240  add_attribute(LennardJonesTyped self, ParticleIndexKey a0, Particle a1)
5241  add_attribute(LennardJonesTyped self, ObjectKey a0, Object a1)
5242  add_attribute(LennardJonesTyped self, SparseFloatKey a0, IMP::Float a1)
5243  add_attribute(LennardJonesTyped self, SparseIntKey a0, IMP::Int a1)
5244  add_attribute(LennardJonesTyped self, SparseStringKey a0, IMP::String a1)
5245  add_attribute(LennardJonesTyped self, SparseParticleIndexKey a0, ParticleIndex a1)
5246  """
5247  return _IMP_atom.LennardJonesTyped_add_attribute(self, *args)
5248 
5249  def get_value(self, *args):
5250  r"""
5251  get_value(LennardJonesTyped self, FloatKey a0) -> IMP::Float
5252  get_value(LennardJonesTyped self, IntKey a0) -> IMP::Int
5253  get_value(LennardJonesTyped self, FloatsKey a0) -> IMP::Floats
5254  get_value(LennardJonesTyped self, IntsKey a0) -> IMP::Ints
5255  get_value(LennardJonesTyped self, StringKey a0) -> IMP::String
5256  get_value(LennardJonesTyped self, ParticleIndexKey a0) -> Particle
5257  get_value(LennardJonesTyped self, ObjectKey a0) -> Object
5258  get_value(LennardJonesTyped self, SparseFloatKey a0) -> IMP::Float
5259  get_value(LennardJonesTyped self, SparseIntKey a0) -> IMP::Int
5260  get_value(LennardJonesTyped self, SparseStringKey a0) -> IMP::String
5261  get_value(LennardJonesTyped self, SparseParticleIndexKey a0) -> ParticleIndex
5262  """
5263  return _IMP_atom.LennardJonesTyped_get_value(self, *args)
5264 
5265  def set_value(self, *args):
5266  r"""
5267  set_value(LennardJonesTyped self, FloatKey a0, IMP::Float a1)
5268  set_value(LennardJonesTyped self, IntKey a0, IMP::Int a1)
5269  set_value(LennardJonesTyped self, FloatsKey a0, IMP::Floats a1)
5270  set_value(LennardJonesTyped self, IntsKey a0, IMP::Ints a1)
5271  set_value(LennardJonesTyped self, StringKey a0, IMP::String a1)
5272  set_value(LennardJonesTyped self, ParticleIndexKey a0, Particle a1)
5273  set_value(LennardJonesTyped self, ObjectKey a0, Object a1)
5274  set_value(LennardJonesTyped self, SparseFloatKey a0, IMP::Float a1)
5275  set_value(LennardJonesTyped self, SparseIntKey a0, IMP::Int a1)
5276  set_value(LennardJonesTyped self, SparseStringKey a0, IMP::String a1)
5277  set_value(LennardJonesTyped self, SparseParticleIndexKey a0, ParticleIndex a1)
5278  """
5279  return _IMP_atom.LennardJonesTyped_set_value(self, *args)
5280 
5281  def remove_attribute(self, *args):
5282  r"""
5283  remove_attribute(LennardJonesTyped self, FloatKey a0)
5284  remove_attribute(LennardJonesTyped self, IntKey a0)
5285  remove_attribute(LennardJonesTyped self, FloatsKey a0)
5286  remove_attribute(LennardJonesTyped self, IntsKey a0)
5287  remove_attribute(LennardJonesTyped self, StringKey a0)
5288  remove_attribute(LennardJonesTyped self, ParticleIndexKey a0)
5289  remove_attribute(LennardJonesTyped self, ObjectKey a0)
5290  remove_attribute(LennardJonesTyped self, SparseFloatKey a0)
5291  remove_attribute(LennardJonesTyped self, SparseIntKey a0)
5292  remove_attribute(LennardJonesTyped self, SparseStringKey a0)
5293  remove_attribute(LennardJonesTyped self, SparseParticleIndexKey a0)
5294  """
5295  return _IMP_atom.LennardJonesTyped_remove_attribute(self, *args)
5296 
5297  def has_attribute(self, *args):
5298  r"""
5299  has_attribute(LennardJonesTyped self, FloatKey a0) -> bool
5300  has_attribute(LennardJonesTyped self, IntKey a0) -> bool
5301  has_attribute(LennardJonesTyped self, FloatsKey a0) -> bool
5302  has_attribute(LennardJonesTyped self, IntsKey a0) -> bool
5303  has_attribute(LennardJonesTyped self, StringKey a0) -> bool
5304  has_attribute(LennardJonesTyped self, ParticleIndexKey a0) -> bool
5305  has_attribute(LennardJonesTyped self, ObjectKey a0) -> bool
5306  has_attribute(LennardJonesTyped self, SparseFloatKey a0) -> bool
5307  has_attribute(LennardJonesTyped self, SparseIntKey a0) -> bool
5308  has_attribute(LennardJonesTyped self, SparseStringKey a0) -> bool
5309  has_attribute(LennardJonesTyped self, SparseParticleIndexKey a0) -> bool
5310  """
5311  return _IMP_atom.LennardJonesTyped_has_attribute(self, *args)
5312 
5313  def get_derivative(self, a0):
5314  r"""get_derivative(LennardJonesTyped self, FloatKey a0) -> double"""
5315  return _IMP_atom.LennardJonesTyped_get_derivative(self, a0)
5316 
5317  def get_name(self):
5318  r"""get_name(LennardJonesTyped self) -> std::string"""
5319  return _IMP_atom.LennardJonesTyped_get_name(self)
5320 
5321  def clear_caches(self):
5322  r"""clear_caches(LennardJonesTyped self)"""
5323  return _IMP_atom.LennardJonesTyped_clear_caches(self)
5324 
5325  def set_name(self, a0):
5326  r"""set_name(LennardJonesTyped self, std::string a0)"""
5327  return _IMP_atom.LennardJonesTyped_set_name(self, a0)
5328 
5329  def set_check_level(self, a0):
5330  r"""set_check_level(LennardJonesTyped self, IMP::CheckLevel a0)"""
5331  return _IMP_atom.LennardJonesTyped_set_check_level(self, a0)
5332 
5333  def add_to_derivative(self, a0, a1, a2):
5334  r"""add_to_derivative(LennardJonesTyped self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5335  return _IMP_atom.LennardJonesTyped_add_to_derivative(self, a0, a1, a2)
5336 
5337  def set_is_optimized(self, a0, a1):
5338  r"""set_is_optimized(LennardJonesTyped self, FloatKey a0, bool a1)"""
5339  return _IMP_atom.LennardJonesTyped_set_is_optimized(self, a0, a1)
5340 
5341  def get_is_optimized(self, a0):
5342  r"""get_is_optimized(LennardJonesTyped self, FloatKey a0) -> bool"""
5343  return _IMP_atom.LennardJonesTyped_get_is_optimized(self, a0)
5344 
5345  def get_check_level(self):
5346  r"""get_check_level(LennardJonesTyped self) -> IMP::CheckLevel"""
5347  return _IMP_atom.LennardJonesTyped_get_check_level(self)
5348 
5349  def __eq__(self, *args):
5350  r"""
5351  __eq__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5352  __eq__(LennardJonesTyped self, Particle d) -> bool
5353  """
5354  return _IMP_atom.LennardJonesTyped___eq__(self, *args)
5355 
5356  def __ne__(self, *args):
5357  r"""
5358  __ne__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5359  __ne__(LennardJonesTyped self, Particle d) -> bool
5360  """
5361  return _IMP_atom.LennardJonesTyped___ne__(self, *args)
5362 
5363  def __le__(self, *args):
5364  r"""
5365  __le__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5366  __le__(LennardJonesTyped self, Particle d) -> bool
5367  """
5368  return _IMP_atom.LennardJonesTyped___le__(self, *args)
5369 
5370  def __lt__(self, *args):
5371  r"""
5372  __lt__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5373  __lt__(LennardJonesTyped self, Particle d) -> bool
5374  """
5375  return _IMP_atom.LennardJonesTyped___lt__(self, *args)
5376 
5377  def __ge__(self, *args):
5378  r"""
5379  __ge__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5380  __ge__(LennardJonesTyped self, Particle d) -> bool
5381  """
5382  return _IMP_atom.LennardJonesTyped___ge__(self, *args)
5383 
5384  def __gt__(self, *args):
5385  r"""
5386  __gt__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5387  __gt__(LennardJonesTyped self, Particle d) -> bool
5388  """
5389  return _IMP_atom.LennardJonesTyped___gt__(self, *args)
5390 
5391  def __hash__(self):
5392  r"""__hash__(LennardJonesTyped self) -> std::size_t"""
5393  return _IMP_atom.LennardJonesTyped___hash__(self)
5394 
5395  def __str__(self):
5396  r"""__str__(LennardJonesTyped self) -> std::string"""
5397  return _IMP_atom.LennardJonesTyped___str__(self)
5398 
5399  def __repr__(self):
5400  r"""__repr__(LennardJonesTyped self) -> std::string"""
5401  return _IMP_atom.LennardJonesTyped___repr__(self)
5402 
5403  def _get_as_binary(self):
5404  r"""_get_as_binary(LennardJonesTyped self) -> PyObject *"""
5405  return _IMP_atom.LennardJonesTyped__get_as_binary(self)
5406 
5407  def _set_from_binary(self, p):
5408  r"""_set_from_binary(LennardJonesTyped self, PyObject * p)"""
5409  return _IMP_atom.LennardJonesTyped__set_from_binary(self, p)
5410 
5411  def __getstate__(self):
5412  p = self._get_as_binary()
5413  if len(self.__dict__) > 1:
5414  d = self.__dict__.copy()
5415  del d['this']
5416  p = (d, p)
5417  return p
5418 
5419  def __setstate__(self, p):
5420  if not hasattr(self, 'this'):
5421  self.__init__()
5422  if isinstance(p, tuple):
5423  d, p = p
5424  self.__dict__.update(d)
5425  return self._set_from_binary(p)
5426 
5427  __swig_destroy__ = _IMP_atom.delete_LennardJonesTyped
5428 
5429 # Register LennardJonesTyped in _IMP_atom:
5430 _IMP_atom.LennardJonesTyped_swigregister(LennardJonesTyped)
5431 class LinearVelocity(IMP.Decorator):
5432  r"""Proxy of C++ IMP::atom::LinearVelocity class."""
5433 
5434  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5435 
5436  @staticmethod
5437  def get_velocity_key():
5438  r"""get_velocity_key() -> Vector3DKey"""
5439  return _IMP_atom.LinearVelocity_get_velocity_key()
5440 
5441  def __init__(self, *args):
5442  r"""
5443  __init__(LinearVelocity self) -> LinearVelocity
5444  __init__(LinearVelocity self, Model m, ParticleIndex id) -> LinearVelocity
5445  __init__(LinearVelocity self, _ParticleAdaptor d) -> LinearVelocity
5446  """
5447  _IMP_atom.LinearVelocity_swiginit(self, _IMP_atom.new_LinearVelocity(*args))
5448 
5449  @staticmethod
5450  def get_is_setup(*args):
5451  r"""
5452  get_is_setup(Model m, ParticleIndex pi) -> bool
5453  get_is_setup(_ParticleAdaptor p) -> bool
5454  """
5455  return _IMP_atom.LinearVelocity_get_is_setup(*args)
5456 
5457  def show(self, *args):
5458  r"""show(LinearVelocity self, _ostream out=std::cout)"""
5459  return _IMP_atom.LinearVelocity_show(self, *args)
5460 
5461  @staticmethod
5462  def setup_particle(*args):
5463  r"""
5464  setup_particle(Model m, ParticleIndex pi) -> LinearVelocity
5465  setup_particle(_ParticleAdaptor pa) -> LinearVelocity
5466  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> LinearVelocity
5467  setup_particle(_ParticleAdaptor pa, Vector3D v) -> LinearVelocity
5468  """
5469  return _IMP_atom.LinearVelocity_setup_particle(*args)
5470 
5471  def set_velocity(self, v):
5472  r"""set_velocity(LinearVelocity self, Vector3D v)"""
5473  return _IMP_atom.LinearVelocity_set_velocity(self, v)
5474 
5475  def get_velocity(self):
5476  r"""get_velocity(LinearVelocity self) -> Vector3D"""
5477  return _IMP_atom.LinearVelocity_get_velocity(self)
5478 
5479  def add_attribute(self, *args):
5480  r"""
5481  add_attribute(LinearVelocity self, FloatKey k, IMP::Float v, bool opt)
5482  add_attribute(LinearVelocity self, FloatKey a0, IMP::Float a1)
5483  add_attribute(LinearVelocity self, IntKey a0, IMP::Int a1)
5484  add_attribute(LinearVelocity self, FloatsKey a0, IMP::Floats a1)
5485  add_attribute(LinearVelocity self, IntsKey a0, IMP::Ints a1)
5486  add_attribute(LinearVelocity self, StringKey a0, IMP::String a1)
5487  add_attribute(LinearVelocity self, ParticleIndexKey a0, Particle a1)
5488  add_attribute(LinearVelocity self, ObjectKey a0, Object a1)
5489  add_attribute(LinearVelocity self, SparseFloatKey a0, IMP::Float a1)
5490  add_attribute(LinearVelocity self, SparseIntKey a0, IMP::Int a1)
5491  add_attribute(LinearVelocity self, SparseStringKey a0, IMP::String a1)
5492  add_attribute(LinearVelocity self, SparseParticleIndexKey a0, ParticleIndex a1)
5493  """
5494  return _IMP_atom.LinearVelocity_add_attribute(self, *args)
5495 
5496  def get_value(self, *args):
5497  r"""
5498  get_value(LinearVelocity self, FloatKey a0) -> IMP::Float
5499  get_value(LinearVelocity self, IntKey a0) -> IMP::Int
5500  get_value(LinearVelocity self, FloatsKey a0) -> IMP::Floats
5501  get_value(LinearVelocity self, IntsKey a0) -> IMP::Ints
5502  get_value(LinearVelocity self, StringKey a0) -> IMP::String
5503  get_value(LinearVelocity self, ParticleIndexKey a0) -> Particle
5504  get_value(LinearVelocity self, ObjectKey a0) -> Object
5505  get_value(LinearVelocity self, SparseFloatKey a0) -> IMP::Float
5506  get_value(LinearVelocity self, SparseIntKey a0) -> IMP::Int
5507  get_value(LinearVelocity self, SparseStringKey a0) -> IMP::String
5508  get_value(LinearVelocity self, SparseParticleIndexKey a0) -> ParticleIndex
5509  """
5510  return _IMP_atom.LinearVelocity_get_value(self, *args)
5511 
5512  def set_value(self, *args):
5513  r"""
5514  set_value(LinearVelocity self, FloatKey a0, IMP::Float a1)
5515  set_value(LinearVelocity self, IntKey a0, IMP::Int a1)
5516  set_value(LinearVelocity self, FloatsKey a0, IMP::Floats a1)
5517  set_value(LinearVelocity self, IntsKey a0, IMP::Ints a1)
5518  set_value(LinearVelocity self, StringKey a0, IMP::String a1)
5519  set_value(LinearVelocity self, ParticleIndexKey a0, Particle a1)
5520  set_value(LinearVelocity self, ObjectKey a0, Object a1)
5521  set_value(LinearVelocity self, SparseFloatKey a0, IMP::Float a1)
5522  set_value(LinearVelocity self, SparseIntKey a0, IMP::Int a1)
5523  set_value(LinearVelocity self, SparseStringKey a0, IMP::String a1)
5524  set_value(LinearVelocity self, SparseParticleIndexKey a0, ParticleIndex a1)
5525  """
5526  return _IMP_atom.LinearVelocity_set_value(self, *args)
5527 
5528  def remove_attribute(self, *args):
5529  r"""
5530  remove_attribute(LinearVelocity self, FloatKey a0)
5531  remove_attribute(LinearVelocity self, IntKey a0)
5532  remove_attribute(LinearVelocity self, FloatsKey a0)
5533  remove_attribute(LinearVelocity self, IntsKey a0)
5534  remove_attribute(LinearVelocity self, StringKey a0)
5535  remove_attribute(LinearVelocity self, ParticleIndexKey a0)
5536  remove_attribute(LinearVelocity self, ObjectKey a0)
5537  remove_attribute(LinearVelocity self, SparseFloatKey a0)
5538  remove_attribute(LinearVelocity self, SparseIntKey a0)
5539  remove_attribute(LinearVelocity self, SparseStringKey a0)
5540  remove_attribute(LinearVelocity self, SparseParticleIndexKey a0)
5541  """
5542  return _IMP_atom.LinearVelocity_remove_attribute(self, *args)
5543 
5544  def has_attribute(self, *args):
5545  r"""
5546  has_attribute(LinearVelocity self, FloatKey a0) -> bool
5547  has_attribute(LinearVelocity self, IntKey a0) -> bool
5548  has_attribute(LinearVelocity self, FloatsKey a0) -> bool
5549  has_attribute(LinearVelocity self, IntsKey a0) -> bool
5550  has_attribute(LinearVelocity self, StringKey a0) -> bool
5551  has_attribute(LinearVelocity self, ParticleIndexKey a0) -> bool
5552  has_attribute(LinearVelocity self, ObjectKey a0) -> bool
5553  has_attribute(LinearVelocity self, SparseFloatKey a0) -> bool
5554  has_attribute(LinearVelocity self, SparseIntKey a0) -> bool
5555  has_attribute(LinearVelocity self, SparseStringKey a0) -> bool
5556  has_attribute(LinearVelocity self, SparseParticleIndexKey a0) -> bool
5557  """
5558  return _IMP_atom.LinearVelocity_has_attribute(self, *args)
5559 
5560  def get_derivative(self, a0):
5561  r"""get_derivative(LinearVelocity self, FloatKey a0) -> double"""
5562  return _IMP_atom.LinearVelocity_get_derivative(self, a0)
5563 
5564  def get_name(self):
5565  r"""get_name(LinearVelocity self) -> std::string"""
5566  return _IMP_atom.LinearVelocity_get_name(self)
5567 
5568  def clear_caches(self):
5569  r"""clear_caches(LinearVelocity self)"""
5570  return _IMP_atom.LinearVelocity_clear_caches(self)
5571 
5572  def set_name(self, a0):
5573  r"""set_name(LinearVelocity self, std::string a0)"""
5574  return _IMP_atom.LinearVelocity_set_name(self, a0)
5575 
5576  def set_check_level(self, a0):
5577  r"""set_check_level(LinearVelocity self, IMP::CheckLevel a0)"""
5578  return _IMP_atom.LinearVelocity_set_check_level(self, a0)
5579 
5580  def add_to_derivative(self, a0, a1, a2):
5581  r"""add_to_derivative(LinearVelocity self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5582  return _IMP_atom.LinearVelocity_add_to_derivative(self, a0, a1, a2)
5583 
5584  def set_is_optimized(self, a0, a1):
5585  r"""set_is_optimized(LinearVelocity self, FloatKey a0, bool a1)"""
5586  return _IMP_atom.LinearVelocity_set_is_optimized(self, a0, a1)
5587 
5588  def get_is_optimized(self, a0):
5589  r"""get_is_optimized(LinearVelocity self, FloatKey a0) -> bool"""
5590  return _IMP_atom.LinearVelocity_get_is_optimized(self, a0)
5591 
5592  def get_check_level(self):
5593  r"""get_check_level(LinearVelocity self) -> IMP::CheckLevel"""
5594  return _IMP_atom.LinearVelocity_get_check_level(self)
5595 
5596  def __eq__(self, *args):
5597  r"""
5598  __eq__(LinearVelocity self, LinearVelocity o) -> bool
5599  __eq__(LinearVelocity self, Particle d) -> bool
5600  """
5601  return _IMP_atom.LinearVelocity___eq__(self, *args)
5602 
5603  def __ne__(self, *args):
5604  r"""
5605  __ne__(LinearVelocity self, LinearVelocity o) -> bool
5606  __ne__(LinearVelocity self, Particle d) -> bool
5607  """
5608  return _IMP_atom.LinearVelocity___ne__(self, *args)
5609 
5610  def __le__(self, *args):
5611  r"""
5612  __le__(LinearVelocity self, LinearVelocity o) -> bool
5613  __le__(LinearVelocity self, Particle d) -> bool
5614  """
5615  return _IMP_atom.LinearVelocity___le__(self, *args)
5616 
5617  def __lt__(self, *args):
5618  r"""
5619  __lt__(LinearVelocity self, LinearVelocity o) -> bool
5620  __lt__(LinearVelocity self, Particle d) -> bool
5621  """
5622  return _IMP_atom.LinearVelocity___lt__(self, *args)
5623 
5624  def __ge__(self, *args):
5625  r"""
5626  __ge__(LinearVelocity self, LinearVelocity o) -> bool
5627  __ge__(LinearVelocity self, Particle d) -> bool
5628  """
5629  return _IMP_atom.LinearVelocity___ge__(self, *args)
5630 
5631  def __gt__(self, *args):
5632  r"""
5633  __gt__(LinearVelocity self, LinearVelocity o) -> bool
5634  __gt__(LinearVelocity self, Particle d) -> bool
5635  """
5636  return _IMP_atom.LinearVelocity___gt__(self, *args)
5637 
5638  def __hash__(self):
5639  r"""__hash__(LinearVelocity self) -> std::size_t"""
5640  return _IMP_atom.LinearVelocity___hash__(self)
5641 
5642  def __str__(self):
5643  r"""__str__(LinearVelocity self) -> std::string"""
5644  return _IMP_atom.LinearVelocity___str__(self)
5645 
5646  def __repr__(self):
5647  r"""__repr__(LinearVelocity self) -> std::string"""
5648  return _IMP_atom.LinearVelocity___repr__(self)
5649 
5650  def _get_as_binary(self):
5651  r"""_get_as_binary(LinearVelocity self) -> PyObject *"""
5652  return _IMP_atom.LinearVelocity__get_as_binary(self)
5653 
5654  def _set_from_binary(self, p):
5655  r"""_set_from_binary(LinearVelocity self, PyObject * p)"""
5656  return _IMP_atom.LinearVelocity__set_from_binary(self, p)
5657 
5658  def __getstate__(self):
5659  p = self._get_as_binary()
5660  if len(self.__dict__) > 1:
5661  d = self.__dict__.copy()
5662  del d['this']
5663  p = (d, p)
5664  return p
5665 
5666  def __setstate__(self, p):
5667  if not hasattr(self, 'this'):
5668  self.__init__()
5669  if isinstance(p, tuple):
5670  d, p = p
5671  self.__dict__.update(d)
5672  return self._set_from_binary(p)
5673 
5674  __swig_destroy__ = _IMP_atom.delete_LinearVelocity
5675 
5676 # Register LinearVelocity in _IMP_atom:
5677 _IMP_atom.LinearVelocity_swigregister(LinearVelocity)
5678 class AngularVelocity(IMP.Decorator):
5679  r"""Proxy of C++ IMP::atom::AngularVelocity class."""
5680 
5681  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5682 
5683  def __init__(self, *args):
5684  r"""
5685  __init__(AngularVelocity self) -> AngularVelocity
5686  __init__(AngularVelocity self, Model m, ParticleIndex id) -> AngularVelocity
5687  __init__(AngularVelocity self, _ParticleAdaptor d) -> AngularVelocity
5688  """
5689  _IMP_atom.AngularVelocity_swiginit(self, _IMP_atom.new_AngularVelocity(*args))
5690 
5691  @staticmethod
5692  def get_is_setup(*args):
5693  r"""
5694  get_is_setup(Model m, ParticleIndex pi) -> bool
5695  get_is_setup(_ParticleAdaptor p) -> bool
5696  """
5697  return _IMP_atom.AngularVelocity_get_is_setup(*args)
5698 
5699  def show(self, *args):
5700  r"""show(AngularVelocity self, _ostream out=std::cout)"""
5701  return _IMP_atom.AngularVelocity_show(self, *args)
5702 
5703  @staticmethod
5704  def setup_particle(*args):
5705  r"""
5706  setup_particle(Model m, ParticleIndex pi) -> AngularVelocity
5707  setup_particle(_ParticleAdaptor pa) -> AngularVelocity
5708  setup_particle(Model m, ParticleIndex pi, Vector4D v) -> AngularVelocity
5709  setup_particle(_ParticleAdaptor pa, Vector4D v) -> AngularVelocity
5710  """
5711  return _IMP_atom.AngularVelocity_setup_particle(*args)
5712 
5713  def set_velocity(self, v):
5714  r"""set_velocity(AngularVelocity self, Vector4D v)"""
5715  return _IMP_atom.AngularVelocity_set_velocity(self, v)
5716 
5717  def get_velocity(self):
5718  r"""get_velocity(AngularVelocity self) -> Vector4D"""
5719  return _IMP_atom.AngularVelocity_get_velocity(self)
5720 
5721  def add_attribute(self, *args):
5722  r"""
5723  add_attribute(AngularVelocity self, FloatKey k, IMP::Float v, bool opt)
5724  add_attribute(AngularVelocity self, FloatKey a0, IMP::Float a1)
5725  add_attribute(AngularVelocity self, IntKey a0, IMP::Int a1)
5726  add_attribute(AngularVelocity self, FloatsKey a0, IMP::Floats a1)
5727  add_attribute(AngularVelocity self, IntsKey a0, IMP::Ints a1)
5728  add_attribute(AngularVelocity self, StringKey a0, IMP::String a1)
5729  add_attribute(AngularVelocity self, ParticleIndexKey a0, Particle a1)
5730  add_attribute(AngularVelocity self, ObjectKey a0, Object a1)
5731  add_attribute(AngularVelocity self, SparseFloatKey a0, IMP::Float a1)
5732  add_attribute(AngularVelocity self, SparseIntKey a0, IMP::Int a1)
5733  add_attribute(AngularVelocity self, SparseStringKey a0, IMP::String a1)
5734  add_attribute(AngularVelocity self, SparseParticleIndexKey a0, ParticleIndex a1)
5735  """
5736  return _IMP_atom.AngularVelocity_add_attribute(self, *args)
5737 
5738  def get_value(self, *args):
5739  r"""
5740  get_value(AngularVelocity self, FloatKey a0) -> IMP::Float
5741  get_value(AngularVelocity self, IntKey a0) -> IMP::Int
5742  get_value(AngularVelocity self, FloatsKey a0) -> IMP::Floats
5743  get_value(AngularVelocity self, IntsKey a0) -> IMP::Ints
5744  get_value(AngularVelocity self, StringKey a0) -> IMP::String
5745  get_value(AngularVelocity self, ParticleIndexKey a0) -> Particle
5746  get_value(AngularVelocity self, ObjectKey a0) -> Object
5747  get_value(AngularVelocity self, SparseFloatKey a0) -> IMP::Float
5748  get_value(AngularVelocity self, SparseIntKey a0) -> IMP::Int
5749  get_value(AngularVelocity self, SparseStringKey a0) -> IMP::String
5750  get_value(AngularVelocity self, SparseParticleIndexKey a0) -> ParticleIndex
5751  """
5752  return _IMP_atom.AngularVelocity_get_value(self, *args)
5753 
5754  def set_value(self, *args):
5755  r"""
5756  set_value(AngularVelocity self, FloatKey a0, IMP::Float a1)
5757  set_value(AngularVelocity self, IntKey a0, IMP::Int a1)
5758  set_value(AngularVelocity self, FloatsKey a0, IMP::Floats a1)
5759  set_value(AngularVelocity self, IntsKey a0, IMP::Ints a1)
5760  set_value(AngularVelocity self, StringKey a0, IMP::String a1)
5761  set_value(AngularVelocity self, ParticleIndexKey a0, Particle a1)
5762  set_value(AngularVelocity self, ObjectKey a0, Object a1)
5763  set_value(AngularVelocity self, SparseFloatKey a0, IMP::Float a1)
5764  set_value(AngularVelocity self, SparseIntKey a0, IMP::Int a1)
5765  set_value(AngularVelocity self, SparseStringKey a0, IMP::String a1)
5766  set_value(AngularVelocity self, SparseParticleIndexKey a0, ParticleIndex a1)
5767  """
5768  return _IMP_atom.AngularVelocity_set_value(self, *args)
5769 
5770  def remove_attribute(self, *args):
5771  r"""
5772  remove_attribute(AngularVelocity self, FloatKey a0)
5773  remove_attribute(AngularVelocity self, IntKey a0)
5774  remove_attribute(AngularVelocity self, FloatsKey a0)
5775  remove_attribute(AngularVelocity self, IntsKey a0)
5776  remove_attribute(AngularVelocity self, StringKey a0)
5777  remove_attribute(AngularVelocity self, ParticleIndexKey a0)
5778  remove_attribute(AngularVelocity self, ObjectKey a0)
5779  remove_attribute(AngularVelocity self, SparseFloatKey a0)
5780  remove_attribute(AngularVelocity self, SparseIntKey a0)
5781  remove_attribute(AngularVelocity self, SparseStringKey a0)
5782  remove_attribute(AngularVelocity self, SparseParticleIndexKey a0)
5783  """
5784  return _IMP_atom.AngularVelocity_remove_attribute(self, *args)
5785 
5786  def has_attribute(self, *args):
5787  r"""
5788  has_attribute(AngularVelocity self, FloatKey a0) -> bool
5789  has_attribute(AngularVelocity self, IntKey a0) -> bool
5790  has_attribute(AngularVelocity self, FloatsKey a0) -> bool
5791  has_attribute(AngularVelocity self, IntsKey a0) -> bool
5792  has_attribute(AngularVelocity self, StringKey a0) -> bool
5793  has_attribute(AngularVelocity self, ParticleIndexKey a0) -> bool
5794  has_attribute(AngularVelocity self, ObjectKey a0) -> bool
5795  has_attribute(AngularVelocity self, SparseFloatKey a0) -> bool
5796  has_attribute(AngularVelocity self, SparseIntKey a0) -> bool
5797  has_attribute(AngularVelocity self, SparseStringKey a0) -> bool
5798  has_attribute(AngularVelocity self, SparseParticleIndexKey a0) -> bool
5799  """
5800  return _IMP_atom.AngularVelocity_has_attribute(self, *args)
5801 
5802  def get_derivative(self, a0):
5803  r"""get_derivative(AngularVelocity self, FloatKey a0) -> double"""
5804  return _IMP_atom.AngularVelocity_get_derivative(self, a0)
5805 
5806  def get_name(self):
5807  r"""get_name(AngularVelocity self) -> std::string"""
5808  return _IMP_atom.AngularVelocity_get_name(self)
5809 
5810  def clear_caches(self):
5811  r"""clear_caches(AngularVelocity self)"""
5812  return _IMP_atom.AngularVelocity_clear_caches(self)
5813 
5814  def set_name(self, a0):
5815  r"""set_name(AngularVelocity self, std::string a0)"""
5816  return _IMP_atom.AngularVelocity_set_name(self, a0)
5817 
5818  def set_check_level(self, a0):
5819  r"""set_check_level(AngularVelocity self, IMP::CheckLevel a0)"""
5820  return _IMP_atom.AngularVelocity_set_check_level(self, a0)
5821 
5822  def add_to_derivative(self, a0, a1, a2):
5823  r"""add_to_derivative(AngularVelocity self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5824  return _IMP_atom.AngularVelocity_add_to_derivative(self, a0, a1, a2)
5825 
5826  def set_is_optimized(self, a0, a1):
5827  r"""set_is_optimized(AngularVelocity self, FloatKey a0, bool a1)"""
5828  return _IMP_atom.AngularVelocity_set_is_optimized(self, a0, a1)
5829 
5830  def get_is_optimized(self, a0):
5831  r"""get_is_optimized(AngularVelocity self, FloatKey a0) -> bool"""
5832  return _IMP_atom.AngularVelocity_get_is_optimized(self, a0)
5833 
5834  def get_check_level(self):
5835  r"""get_check_level(AngularVelocity self) -> IMP::CheckLevel"""
5836  return _IMP_atom.AngularVelocity_get_check_level(self)
5837 
5838  def __eq__(self, *args):
5839  r"""
5840  __eq__(AngularVelocity self, AngularVelocity o) -> bool
5841  __eq__(AngularVelocity self, Particle d) -> bool
5842  """
5843  return _IMP_atom.AngularVelocity___eq__(self, *args)
5844 
5845  def __ne__(self, *args):
5846  r"""
5847  __ne__(AngularVelocity self, AngularVelocity o) -> bool
5848  __ne__(AngularVelocity self, Particle d) -> bool
5849  """
5850  return _IMP_atom.AngularVelocity___ne__(self, *args)
5851 
5852  def __le__(self, *args):
5853  r"""
5854  __le__(AngularVelocity self, AngularVelocity o) -> bool
5855  __le__(AngularVelocity self, Particle d) -> bool
5856  """
5857  return _IMP_atom.AngularVelocity___le__(self, *args)
5858 
5859  def __lt__(self, *args):
5860  r"""
5861  __lt__(AngularVelocity self, AngularVelocity o) -> bool
5862  __lt__(AngularVelocity self, Particle d) -> bool
5863  """
5864  return _IMP_atom.AngularVelocity___lt__(self, *args)
5865 
5866  def __ge__(self, *args):
5867  r"""
5868  __ge__(AngularVelocity self, AngularVelocity o) -> bool
5869  __ge__(AngularVelocity self, Particle d) -> bool
5870  """
5871  return _IMP_atom.AngularVelocity___ge__(self, *args)
5872 
5873  def __gt__(self, *args):
5874  r"""
5875  __gt__(AngularVelocity self, AngularVelocity o) -> bool
5876  __gt__(AngularVelocity self, Particle d) -> bool
5877  """
5878  return _IMP_atom.AngularVelocity___gt__(self, *args)
5879 
5880  def __hash__(self):
5881  r"""__hash__(AngularVelocity self) -> std::size_t"""
5882  return _IMP_atom.AngularVelocity___hash__(self)
5883 
5884  def __str__(self):
5885  r"""__str__(AngularVelocity self) -> std::string"""
5886  return _IMP_atom.AngularVelocity___str__(self)
5887 
5888  def __repr__(self):
5889  r"""__repr__(AngularVelocity self) -> std::string"""
5890  return _IMP_atom.AngularVelocity___repr__(self)
5891 
5892  def _get_as_binary(self):
5893  r"""_get_as_binary(AngularVelocity self) -> PyObject *"""
5894  return _IMP_atom.AngularVelocity__get_as_binary(self)
5895 
5896  def _set_from_binary(self, p):
5897  r"""_set_from_binary(AngularVelocity self, PyObject * p)"""
5898  return _IMP_atom.AngularVelocity__set_from_binary(self, p)
5899 
5900  def __getstate__(self):
5901  p = self._get_as_binary()
5902  if len(self.__dict__) > 1:
5903  d = self.__dict__.copy()
5904  del d['this']
5905  p = (d, p)
5906  return p
5907 
5908  def __setstate__(self, p):
5909  if not hasattr(self, 'this'):
5910  self.__init__()
5911  if isinstance(p, tuple):
5912  d, p = p
5913  self.__dict__.update(d)
5914  return self._set_from_binary(p)
5915 
5916  __swig_destroy__ = _IMP_atom.delete_AngularVelocity
5917 
5918 # Register AngularVelocity in _IMP_atom:
5919 _IMP_atom.AngularVelocity_swigregister(AngularVelocity)
5920 class MolecularDynamics(Simulator):
5921  r"""Proxy of C++ IMP::atom::MolecularDynamics class."""
5922 
5923  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5924 
5925  def __init__(self, *args):
5926  r"""
5927  __init__(MolecularDynamics self, Model m) -> MolecularDynamics
5928  __init__(MolecularDynamics self) -> MolecularDynamics
5929  """
5930  _IMP_atom.MolecularDynamics_swiginit(self, _IMP_atom.new_MolecularDynamics(*args))
5931 
5932  def get_kinetic_energy(self):
5933  r"""get_kinetic_energy(MolecularDynamics self) -> IMP::Float"""
5934  return _IMP_atom.MolecularDynamics_get_kinetic_energy(self)
5935 
5936  def get_kinetic_temperature(self, ekinetic):
5937  r"""get_kinetic_temperature(MolecularDynamics self, IMP::Float ekinetic) -> IMP::Float"""
5938  return _IMP_atom.MolecularDynamics_get_kinetic_temperature(self, ekinetic)
5939 
5940  def set_velocity_cap(self, velocity_cap):
5941  r"""set_velocity_cap(MolecularDynamics self, IMP::Float velocity_cap)"""
5942  return _IMP_atom.MolecularDynamics_set_velocity_cap(self, velocity_cap)
5943 
5944  def get_velocity_cap(self):
5945  r"""get_velocity_cap(MolecularDynamics self) -> IMP::Float"""
5946  return _IMP_atom.MolecularDynamics_get_velocity_cap(self)
5947 
5948  def get_degrees_of_freedom(self):
5949  r"""get_degrees_of_freedom(MolecularDynamics self) -> int"""
5950  return _IMP_atom.MolecularDynamics_get_degrees_of_freedom(self)
5951 
5952  def assign_velocities(self, temperature):
5953  r"""assign_velocities(MolecularDynamics self, IMP::Float temperature)"""
5954  return _IMP_atom.MolecularDynamics_assign_velocities(self, temperature)
5955 
5956  def setup(self, ps):
5957  r"""setup(MolecularDynamics self, IMP::ParticleIndexes const & ps)"""
5958  return _IMP_atom.MolecularDynamics_setup(self, ps)
5959 
5960  def do_step(self, sc, dt):
5961  r"""do_step(MolecularDynamics self, IMP::ParticleIndexes const & sc, double dt) -> double"""
5962  return _IMP_atom.MolecularDynamics_do_step(self, sc, dt)
5963 
5964  def get_is_simulation_particle(self, p):
5965  r"""get_is_simulation_particle(MolecularDynamics self, ParticleIndex p) -> bool"""
5966  return _IMP_atom.MolecularDynamics_get_is_simulation_particle(self, p)
5967 
5968  def get_version_info(self):
5969  r"""get_version_info(MolecularDynamics self) -> VersionInfo"""
5970  return _IMP_atom.MolecularDynamics_get_version_info(self)
5971  __swig_destroy__ = _IMP_atom.delete_MolecularDynamics
5972 
5973  def __str__(self):
5974  r"""__str__(MolecularDynamics self) -> std::string"""
5975  return _IMP_atom.MolecularDynamics___str__(self)
5976 
5977  def __repr__(self):
5978  r"""__repr__(MolecularDynamics self) -> std::string"""
5979  return _IMP_atom.MolecularDynamics___repr__(self)
5980 
5981  @staticmethod
5982  def get_from(o):
5983  return _object_cast_to_MolecularDynamics(o)
5984 
5985 
5986  def _get_as_binary(self):
5987  r"""_get_as_binary(MolecularDynamics self) -> PyObject *"""
5988  return _IMP_atom.MolecularDynamics__get_as_binary(self)
5989 
5990  def _set_from_binary(self, p):
5991  r"""_set_from_binary(MolecularDynamics self, PyObject * p)"""
5992  return _IMP_atom.MolecularDynamics__set_from_binary(self, p)
5993 
5994  def __getstate__(self):
5995  p = self._get_as_binary()
5996  if len(self.__dict__) > 1:
5997  d = self.__dict__.copy()
5998  del d['this']
5999  p = (d, p)
6000  return p
6001 
6002  def __setstate__(self, p):
6003  if not hasattr(self, 'this'):
6004  self.__init__()
6005  if isinstance(p, tuple):
6006  d, p = p
6007  self.__dict__.update(d)
6008  return self._set_from_binary(p)
6009 
6010 
6011  def _get_jax(self, space=None):
6012  from IMP.atom._jax_util import _MDJAXInfo
6013  return _MDJAXInfo(self, space)
6014 
6015  def _get_jax_optimizer(self, max_steps, space=None):
6016  import IMP.atom._jax_util
6017  return IMP.atom._jax_util._MDJAXOptimizer(self, max_steps, space)
6018 
6019  def _optimize_jax(self, max_steps, space=None):
6020  opt = self._get_jax_optimizer(max_steps, space=space)
6021  score, md_state = opt.optimize(opt.get_initial_state())
6022  return score
6023 
6024 
6025 # Register MolecularDynamics in _IMP_atom:
6026 _IMP_atom.MolecularDynamics_swigregister(MolecularDynamics)
6027 class VelocityScalingOptimizerState(IMP.OptimizerState):
6028  r"""Proxy of C++ IMP::atom::VelocityScalingOptimizerState class."""
6029 
6030  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6031 
6032  def __init__(self, m, pis, temperature):
6033  r"""__init__(VelocityScalingOptimizerState self, Model m, _ParticleIndexesAdaptor pis, double temperature) -> VelocityScalingOptimizerState"""
6034  _IMP_atom.VelocityScalingOptimizerState_swiginit(self, _IMP_atom.new_VelocityScalingOptimizerState(m, pis, temperature))
6035 
6036  def set_particles(self, pis):
6037  r"""set_particles(VelocityScalingOptimizerState self, IMP::Particles const & pis)"""
6038  return _IMP_atom.VelocityScalingOptimizerState_set_particles(self, pis)
6039 
6040  def set_temperature(self, temperature):
6041  r"""set_temperature(VelocityScalingOptimizerState self, IMP::Float temperature)"""
6042  return _IMP_atom.VelocityScalingOptimizerState_set_temperature(self, temperature)
6043 
6044  def get_particles(self):
6045  r"""get_particles(VelocityScalingOptimizerState self) -> IMP::Particles"""
6046  return _IMP_atom.VelocityScalingOptimizerState_get_particles(self)
6047 
6048  def get_temperature(self):
6049  r"""get_temperature(VelocityScalingOptimizerState self) -> IMP::Float"""
6050  return _IMP_atom.VelocityScalingOptimizerState_get_temperature(self)
6051 
6052  def rescale_velocities(self):
6053  r"""rescale_velocities(VelocityScalingOptimizerState self)"""
6054  return _IMP_atom.VelocityScalingOptimizerState_rescale_velocities(self)
6055 
6056  def get_version_info(self):
6057  r"""get_version_info(VelocityScalingOptimizerState self) -> VersionInfo"""
6058  return _IMP_atom.VelocityScalingOptimizerState_get_version_info(self)
6059  __swig_destroy__ = _IMP_atom.delete_VelocityScalingOptimizerState
6060 
6061  def __str__(self):
6062  r"""__str__(VelocityScalingOptimizerState self) -> std::string"""
6063  return _IMP_atom.VelocityScalingOptimizerState___str__(self)
6064 
6065  def __repr__(self):
6066  r"""__repr__(VelocityScalingOptimizerState self) -> std::string"""
6067  return _IMP_atom.VelocityScalingOptimizerState___repr__(self)
6068 
6069  @staticmethod
6070  def get_from(o):
6071  return _object_cast_to_VelocityScalingOptimizerState(o)
6072 
6073 
6074  def _get_jax(self, state_index):
6075  import jax.lax
6076  import jax.numpy as jnp
6077  temperature = self.get_temperature()
6078  indexes = jnp.asarray(IMP.get_indexes(self.get_particles()))
6079 
6080  def scale_velocities(md, tkinetic):
6081  scale = jnp.sqrt(temperature / tkinetic)
6082  linvel = md.jm['linvel'].at[indexes]
6083  md.jm['linvel'] = linvel.multiply(scale)
6084  return md
6085 
6086  def apply_func(md):
6087  ekinetic = md.get_kinetic_energy()
6088  tkinetic = md.get_kinetic_temperature(ekinetic)
6089  return jax.lax.cond(tkinetic > 1e-8, scale_velocities,
6090  lambda md, tk: md, md, tkinetic)
6091  return self._wrap_jax(lambda x: x, apply_func)
6092 
6093 
6094 # Register VelocityScalingOptimizerState in _IMP_atom:
6095 _IMP_atom.VelocityScalingOptimizerState_swigregister(VelocityScalingOptimizerState)
6096 class Fragment(Hierarchy):
6097  r"""Proxy of C++ IMP::atom::Fragment class."""
6098 
6099  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6100 
6101  def set_residue_indexes(self, o):
6102  r"""set_residue_indexes(Fragment self, IMP::Ints o)"""
6103  return _IMP_atom.Fragment_set_residue_indexes(self, o)
6104 
6105  def get_residue_indexes(self):
6106  r"""get_residue_indexes(Fragment self) -> IMP::Ints"""
6107  return _IMP_atom.Fragment_get_residue_indexes(self)
6108 
6109  def get_contains_residue(self, rindex):
6110  r"""get_contains_residue(Fragment self, int rindex) -> bool"""
6111  return _IMP_atom.Fragment_get_contains_residue(self, rindex)
6112 
6113  def get_contains_any_sorted_residue(self, rinds):
6114  r"""get_contains_any_sorted_residue(Fragment self, IMP::Ints const & rinds) -> bool"""
6115  return _IMP_atom.Fragment_get_contains_any_sorted_residue(self, rinds)
6116 
6117  def __init__(self, *args):
6118  r"""
6119  __init__(Fragment self) -> Fragment
6120  __init__(Fragment self, Model m, ParticleIndex id) -> Fragment
6121  __init__(Fragment self, _ParticleAdaptor d) -> Fragment
6122  """
6123  _IMP_atom.Fragment_swiginit(self, _IMP_atom.new_Fragment(*args))
6124 
6125  @staticmethod
6126  def get_is_setup(*args):
6127  r"""
6128  get_is_setup(Model m, ParticleIndex pi) -> bool
6129  get_is_setup(_ParticleAdaptor p) -> bool
6130  """
6131  return _IMP_atom.Fragment_get_is_setup(*args)
6132 
6133  def show(self, *args):
6134  r"""show(Fragment self, _ostream out=std::cout)"""
6135  return _IMP_atom.Fragment_show(self, *args)
6136 
6137  @staticmethod
6138  def setup_particle(*args):
6139  r"""
6140  setup_particle(Model m, ParticleIndex pi) -> Fragment
6141  setup_particle(_ParticleAdaptor pa) -> Fragment
6142  setup_particle(Model m, ParticleIndex pi, Fragment other) -> Fragment
6143  setup_particle(_ParticleAdaptor pa, Fragment other) -> Fragment
6144  setup_particle(Model m, ParticleIndex pi, IMP::Ints residue_indexes) -> Fragment
6145  setup_particle(_ParticleAdaptor pa, IMP::Ints residue_indexes) -> Fragment
6146  """
6147  return _IMP_atom.Fragment_setup_particle(*args)
6148 
6149  def add_attribute(self, *args):
6150  r"""
6151  add_attribute(Fragment self, FloatKey k, IMP::Float v, bool opt)
6152  add_attribute(Fragment self, FloatKey a0, IMP::Float a1)
6153  add_attribute(Fragment self, IntKey a0, IMP::Int a1)
6154  add_attribute(Fragment self, FloatsKey a0, IMP::Floats a1)
6155  add_attribute(Fragment self, IntsKey a0, IMP::Ints a1)
6156  add_attribute(Fragment self, StringKey a0, IMP::String a1)
6157  add_attribute(Fragment self, ParticleIndexKey a0, Particle a1)
6158  add_attribute(Fragment self, ObjectKey a0, Object a1)
6159  add_attribute(Fragment self, SparseFloatKey a0, IMP::Float a1)
6160  add_attribute(Fragment self, SparseIntKey a0, IMP::Int a1)
6161  add_attribute(Fragment self, SparseStringKey a0, IMP::String a1)
6162  add_attribute(Fragment self, SparseParticleIndexKey a0, ParticleIndex a1)
6163  """
6164  return _IMP_atom.Fragment_add_attribute(self, *args)
6165 
6166  def get_value(self, *args):
6167  r"""
6168  get_value(Fragment self, FloatKey a0) -> IMP::Float
6169  get_value(Fragment self, IntKey a0) -> IMP::Int
6170  get_value(Fragment self, FloatsKey a0) -> IMP::Floats
6171  get_value(Fragment self, IntsKey a0) -> IMP::Ints
6172  get_value(Fragment self, StringKey a0) -> IMP::String
6173  get_value(Fragment self, ParticleIndexKey a0) -> Particle
6174  get_value(Fragment self, ObjectKey a0) -> Object
6175  get_value(Fragment self, SparseFloatKey a0) -> IMP::Float
6176  get_value(Fragment self, SparseIntKey a0) -> IMP::Int
6177  get_value(Fragment self, SparseStringKey a0) -> IMP::String
6178  get_value(Fragment self, SparseParticleIndexKey a0) -> ParticleIndex
6179  """
6180  return _IMP_atom.Fragment_get_value(self, *args)
6181 
6182  def set_value(self, *args):
6183  r"""
6184  set_value(Fragment self, FloatKey a0, IMP::Float a1)
6185  set_value(Fragment self, IntKey a0, IMP::Int a1)
6186  set_value(Fragment self, FloatsKey a0, IMP::Floats a1)
6187  set_value(Fragment self, IntsKey a0, IMP::Ints a1)
6188  set_value(Fragment self, StringKey a0, IMP::String a1)
6189  set_value(Fragment self, ParticleIndexKey a0, Particle a1)
6190  set_value(Fragment self, ObjectKey a0, Object a1)
6191  set_value(Fragment self, SparseFloatKey a0, IMP::Float a1)
6192  set_value(Fragment self, SparseIntKey a0, IMP::Int a1)
6193  set_value(Fragment self, SparseStringKey a0, IMP::String a1)
6194  set_value(Fragment self, SparseParticleIndexKey a0, ParticleIndex a1)
6195  """
6196  return _IMP_atom.Fragment_set_value(self, *args)
6197 
6198  def remove_attribute(self, *args):
6199  r"""
6200  remove_attribute(Fragment self, FloatKey a0)
6201  remove_attribute(Fragment self, IntKey a0)
6202  remove_attribute(Fragment self, FloatsKey a0)
6203  remove_attribute(Fragment self, IntsKey a0)
6204  remove_attribute(Fragment self, StringKey a0)
6205  remove_attribute(Fragment self, ParticleIndexKey a0)
6206  remove_attribute(Fragment self, ObjectKey a0)
6207  remove_attribute(Fragment self, SparseFloatKey a0)
6208  remove_attribute(Fragment self, SparseIntKey a0)
6209  remove_attribute(Fragment self, SparseStringKey a0)
6210  remove_attribute(Fragment self, SparseParticleIndexKey a0)
6211  """
6212  return _IMP_atom.Fragment_remove_attribute(self, *args)
6213 
6214  def has_attribute(self, *args):
6215  r"""
6216  has_attribute(Fragment self, FloatKey a0) -> bool
6217  has_attribute(Fragment self, IntKey a0) -> bool
6218  has_attribute(Fragment self, FloatsKey a0) -> bool
6219  has_attribute(Fragment self, IntsKey a0) -> bool
6220  has_attribute(Fragment self, StringKey a0) -> bool
6221  has_attribute(Fragment self, ParticleIndexKey a0) -> bool
6222  has_attribute(Fragment self, ObjectKey a0) -> bool
6223  has_attribute(Fragment self, SparseFloatKey a0) -> bool
6224  has_attribute(Fragment self, SparseIntKey a0) -> bool
6225  has_attribute(Fragment self, SparseStringKey a0) -> bool
6226  has_attribute(Fragment self, SparseParticleIndexKey a0) -> bool
6227  """
6228  return _IMP_atom.Fragment_has_attribute(self, *args)
6229 
6230  def get_derivative(self, a0):
6231  r"""get_derivative(Fragment self, FloatKey a0) -> double"""
6232  return _IMP_atom.Fragment_get_derivative(self, a0)
6233 
6234  def get_name(self):
6235  r"""get_name(Fragment self) -> std::string"""
6236  return _IMP_atom.Fragment_get_name(self)
6237 
6238  def clear_caches(self):
6239  r"""clear_caches(Fragment self)"""
6240  return _IMP_atom.Fragment_clear_caches(self)
6241 
6242  def set_name(self, a0):
6243  r"""set_name(Fragment self, std::string a0)"""
6244  return _IMP_atom.Fragment_set_name(self, a0)
6245 
6246  def set_check_level(self, a0):
6247  r"""set_check_level(Fragment self, IMP::CheckLevel a0)"""
6248  return _IMP_atom.Fragment_set_check_level(self, a0)
6249 
6250  def add_to_derivative(self, a0, a1, a2):
6251  r"""add_to_derivative(Fragment self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
6252  return _IMP_atom.Fragment_add_to_derivative(self, a0, a1, a2)
6253 
6254  def set_is_optimized(self, a0, a1):
6255  r"""set_is_optimized(Fragment self, FloatKey a0, bool a1)"""
6256  return _IMP_atom.Fragment_set_is_optimized(self, a0, a1)
6257 
6258  def get_is_optimized(self, a0):
6259  r"""get_is_optimized(Fragment self, FloatKey a0) -> bool"""
6260  return _IMP_atom.Fragment_get_is_optimized(self, a0)
6261 
6262  def get_check_level(self):
6263  r"""get_check_level(Fragment self) -> IMP::CheckLevel"""
6264  return _IMP_atom.Fragment_get_check_level(self)
6265 
6266  def __eq__(self, *args):
6267  r"""
6268  __eq__(Fragment self, Fragment o) -> bool
6269  __eq__(Fragment self, Particle d) -> bool
6270  """
6271  return _IMP_atom.Fragment___eq__(self, *args)
6272 
6273  def __ne__(self, *args):
6274  r"""
6275  __ne__(Fragment self, Fragment o) -> bool
6276  __ne__(Fragment self, Particle d) -> bool
6277  """
6278  return _IMP_atom.Fragment___ne__(self, *args)
6279 
6280  def __le__(self, *args):
6281  r"""
6282  __le__(Fragment self, Fragment o) -> bool
6283  __le__(Fragment self, Particle d) -> bool
6284  """
6285  return _IMP_atom.Fragment___le__(self, *args)
6286 
6287  def __lt__(self, *args):
6288  r"""
6289  __lt__(Fragment self, Fragment o) -> bool
6290  __lt__(Fragment self, Particle d) -> bool
6291  """
6292  return _IMP_atom.Fragment___lt__(self, *args)
6293 
6294  def __ge__(self, *args):
6295  r"""
6296  __ge__(Fragment self, Fragment o) -> bool
6297  __ge__(Fragment self, Particle d) -> bool
6298  """
6299  return _IMP_atom.Fragment___ge__(self, *args)
6300 
6301  def __gt__(self, *args):
6302  r"""
6303  __gt__(Fragment self, Fragment o) -> bool
6304  __gt__(Fragment self, Particle d) -> bool
6305  """
6306  return _IMP_atom.Fragment___gt__(self, *args)
6307 
6308  def __hash__(self):
6309  r"""__hash__(Fragment self) -> std::size_t"""
6310  return _IMP_atom.Fragment___hash__(self)
6311 
6312  def __str__(self):
6313  r"""__str__(Fragment self) -> std::string"""
6314  return _IMP_atom.Fragment___str__(self)
6315 
6316  def __repr__(self):
6317  r"""__repr__(Fragment self) -> std::string"""
6318  return _IMP_atom.Fragment___repr__(self)
6319 
6320  def _get_as_binary(self):
6321  r"""_get_as_binary(Fragment self) -> PyObject *"""
6322  return _IMP_atom.Fragment__get_as_binary(self)
6323 
6324  def _set_from_binary(self, p):
6325  r"""_set_from_binary(Fragment self, PyObject * p)"""
6326  return _IMP_atom.Fragment__set_from_binary(self, p)
6327 
6328  def __getstate__(self):
6329  p = self._get_as_binary()
6330  if len(self.__dict__) > 1:
6331  d = self.__dict__.copy()
6332  del d['this']
6333  p = (d, p)
6334  return p
6335 
6336  def __setstate__(self, p):
6337  if not hasattr(self, 'this'):
6338  self.__init__()
6339  if isinstance(p, tuple):
6340  d, p = p
6341  self.__dict__.update(d)
6342  return self._set_from_binary(p)
6343 
6344  __swig_destroy__ = _IMP_atom.delete_Fragment
6345 
6346 # Register Fragment in _IMP_atom:
6347 _IMP_atom.Fragment_swigregister(Fragment)
6348 class StereochemistryPairFilter(IMP.PairPredicate):
6349  r"""Proxy of C++ IMP::atom::StereochemistryPairFilter class."""
6350 
6351  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6352 
6353  def __init__(self):
6354  r"""__init__(StereochemistryPairFilter self) -> StereochemistryPairFilter"""
6355  _IMP_atom.StereochemistryPairFilter_swiginit(self, _IMP_atom.new_StereochemistryPairFilter())
6356 
6357  def set_bonds(self, bonds):
6358  r"""set_bonds(StereochemistryPairFilter self, IMP::Particles const & bonds)"""
6359  return _IMP_atom.StereochemistryPairFilter_set_bonds(self, bonds)
6360 
6361  def set_angles(self, angles):
6362  r"""set_angles(StereochemistryPairFilter self, IMP::Particles const & angles)"""
6363  return _IMP_atom.StereochemistryPairFilter_set_angles(self, angles)
6364 
6365  def set_dihedrals(self, dihedrals):
6366  r"""set_dihedrals(StereochemistryPairFilter self, IMP::Particles const & dihedrals)"""
6367  return _IMP_atom.StereochemistryPairFilter_set_dihedrals(self, dihedrals)
6368 
6369  def do_get_inputs(self, m, pis):
6370  r"""do_get_inputs(StereochemistryPairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6371  return _IMP_atom.StereochemistryPairFilter_do_get_inputs(self, m, pis)
6372 
6373  def get_value(self, *args):
6374  r"""
6375  get_value(StereochemistryPairFilter self, IMP::ParticlePair const & a) -> int
6376  get_value(StereochemistryPairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
6377  """
6378  return _IMP_atom.StereochemistryPairFilter_get_value(self, *args)
6379 
6380  def get_value_index(self, *args):
6381  r"""
6382  get_value_index(StereochemistryPairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
6383  get_value_index(StereochemistryPairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
6384  """
6385  return _IMP_atom.StereochemistryPairFilter_get_value_index(self, *args)
6386 
6387  def get_version_info(self):
6388  r"""get_version_info(StereochemistryPairFilter self) -> VersionInfo"""
6389  return _IMP_atom.StereochemistryPairFilter_get_version_info(self)
6390  __swig_destroy__ = _IMP_atom.delete_StereochemistryPairFilter
6391 
6392  def __str__(self):
6393  r"""__str__(StereochemistryPairFilter self) -> std::string"""
6394  return _IMP_atom.StereochemistryPairFilter___str__(self)
6395 
6396  def __repr__(self):
6397  r"""__repr__(StereochemistryPairFilter self) -> std::string"""
6398  return _IMP_atom.StereochemistryPairFilter___repr__(self)
6399 
6400  @staticmethod
6401  def get_from(o):
6402  return _object_cast_to_StereochemistryPairFilter(o)
6403 
6404 
6405 # Register StereochemistryPairFilter in _IMP_atom:
6406 _IMP_atom.StereochemistryPairFilter_swigregister(StereochemistryPairFilter)
6407 class SoapPairFilter(IMP.PairPredicate):
6408  r"""Proxy of C++ IMP::atom::SoapPairFilter class."""
6409 
6410  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6411 
6412  def __init__(self, library):
6413  r"""__init__(SoapPairFilter self, std::string library) -> SoapPairFilter"""
6414  _IMP_atom.SoapPairFilter_swiginit(self, _IMP_atom.new_SoapPairFilter(library))
6415 
6416  def do_get_inputs(self, m, pis):
6417  r"""do_get_inputs(SoapPairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6418  return _IMP_atom.SoapPairFilter_do_get_inputs(self, m, pis)
6419 
6420  def get_value(self, *args):
6421  r"""
6422  get_value(SoapPairFilter self, IMP::ParticlePair const & a) -> int
6423  get_value(SoapPairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
6424  """
6425  return _IMP_atom.SoapPairFilter_get_value(self, *args)
6426 
6427  def get_value_index(self, *args):
6428  r"""
6429  get_value_index(SoapPairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
6430  get_value_index(SoapPairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
6431  """
6432  return _IMP_atom.SoapPairFilter_get_value_index(self, *args)
6433 
6434  def get_version_info(self):
6435  r"""get_version_info(SoapPairFilter self) -> VersionInfo"""
6436  return _IMP_atom.SoapPairFilter_get_version_info(self)
6437  __swig_destroy__ = _IMP_atom.delete_SoapPairFilter
6438 
6439  def __str__(self):
6440  r"""__str__(SoapPairFilter self) -> std::string"""
6441  return _IMP_atom.SoapPairFilter___str__(self)
6442 
6443  def __repr__(self):
6444  r"""__repr__(SoapPairFilter self) -> std::string"""
6445  return _IMP_atom.SoapPairFilter___repr__(self)
6446 
6447  @staticmethod
6448  def get_from(o):
6449  return _object_cast_to_SoapPairFilter(o)
6450 
6451 
6452 # Register SoapPairFilter in _IMP_atom:
6453 _IMP_atom.SoapPairFilter_swigregister(SoapPairFilter)
6454 class Mass(IMP.Decorator):
6455  r"""Proxy of C++ IMP::atom::Mass class."""
6456 
6457  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6458 
6459  def get_mass(self):
6460  r"""get_mass(Mass self) -> IMP::Float"""
6461  return _IMP_atom.Mass_get_mass(self)
6462 
6463  def set_mass(self, d):
6464  r"""set_mass(Mass self, IMP::Float d)"""
6465  return _IMP_atom.Mass_set_mass(self, d)
6466 
6467  def __init__(self, *args):
6468  r"""
6469  __init__(Mass self) -> Mass
6470  __init__(Mass self, Model m, ParticleIndex id) -> Mass
6471  __init__(Mass self, _ParticleAdaptor d) -> Mass
6472  """
6473  _IMP_atom.Mass_swiginit(self, _IMP_atom.new_Mass(*args))
6474 
6475  @staticmethod
6476  def get_is_setup(*args):
6477  r"""
6478  get_is_setup(Model m, ParticleIndex pi) -> bool
6479  get_is_setup(_ParticleAdaptor p) -> bool
6480  """
6481  return _IMP_atom.Mass_get_is_setup(*args)
6482 
6483  def show(self, *args):
6484  r"""show(Mass self, _ostream out=std::cout)"""
6485  return _IMP_atom.Mass_show(self, *args)
6486 
6487  @staticmethod
6488  def setup_particle(*args):
6489  r"""
6490  setup_particle(Model m, ParticleIndex pi, IMP::Float mass) -> Mass
6491  setup_particle(_ParticleAdaptor pa, IMP::Float mass) -> Mass
6492  setup_particle(Model m, ParticleIndex pi, Mass other) -> Mass
6493  setup_particle(_ParticleAdaptor pa, Mass other) -> Mass
6494  """
6495  return _IMP_atom.Mass_setup_particle(*args)
6496 
6497  @staticmethod
6498  def get_mass_key():
6499  r"""get_mass_key() -> FloatKey"""
6500  return _IMP_atom.Mass_get_mass_key()
6501 
6502  def add_attribute(self, *args):
6503  r"""
6504  add_attribute(Mass self, FloatKey k, IMP::Float v, bool opt)
6505  add_attribute(Mass self, FloatKey a0, IMP::Float a1)
6506  add_attribute(Mass self, IntKey a0, IMP::Int a1)
6507  add_attribute(Mass self, FloatsKey a0, IMP::Floats a1)
6508  add_attribute(Mass self, IntsKey a0, IMP::Ints a1)
6509  add_attribute(Mass self, StringKey a0, IMP::String a1)
6510  add_attribute(Mass self, ParticleIndexKey a0, Particle a1)
6511  add_attribute(Mass self, ObjectKey a0, Object a1)
6512  add_attribute(Mass self, SparseFloatKey a0, IMP::Float a1)
6513  add_attribute(Mass self, SparseIntKey a0, IMP::Int a1)
6514  add_attribute(Mass self, SparseStringKey a0, IMP::String a1)
6515  add_attribute(Mass self, SparseParticleIndexKey a0, ParticleIndex a1)
6516  """
6517  return _IMP_atom.Mass_add_attribute(self, *args)
6518 
6519  def get_value(self, *args):
6520  r"""
6521  get_value(Mass self, FloatKey a0) -> IMP::Float
6522  get_value(Mass self, IntKey a0) -> IMP::Int
6523  get_value(Mass self, FloatsKey a0) -> IMP::Floats
6524  get_value(Mass self, IntsKey a0) -> IMP::Ints
6525  get_value(Mass self, StringKey a0) -> IMP::String
6526  get_value(Mass self, ParticleIndexKey a0) -> Particle
6527  get_value(Mass self, ObjectKey a0) -> Object
6528  get_value(Mass self, SparseFloatKey a0) -> IMP::Float
6529  get_value(Mass self, SparseIntKey a0) -> IMP::Int
6530  get_value(Mass self, SparseStringKey a0) -> IMP::String
6531  get_value(Mass self, SparseParticleIndexKey a0) -> ParticleIndex
6532  """
6533  return _IMP_atom.Mass_get_value(self, *args)
6534 
6535  def set_value(self, *args):
6536  r"""
6537  set_value(Mass self, FloatKey a0, IMP::Float a1)
6538  set_value(Mass self, IntKey a0, IMP::Int a1)
6539  set_value(Mass self, FloatsKey a0, IMP::Floats a1)
6540  set_value(Mass self, IntsKey a0, IMP::Ints a1)
6541  set_value(Mass self, StringKey a0, IMP::String a1)
6542  set_value(Mass self, ParticleIndexKey a0, Particle a1)
6543  set_value(Mass self, ObjectKey a0, Object a1)
6544  set_value(Mass self, SparseFloatKey a0, IMP::Float a1)
6545  set_value(Mass self, SparseIntKey a0, IMP::Int a1)
6546  set_value(Mass self, SparseStringKey a0, IMP::String a1)
6547  set_value(Mass self, SparseParticleIndexKey a0, ParticleIndex a1)
6548  """
6549  return _IMP_atom.Mass_set_value(self, *args)
6550 
6551  def remove_attribute(self, *args):
6552  r"""
6553  remove_attribute(Mass self, FloatKey a0)
6554  remove_attribute(Mass self, IntKey a0)
6555  remove_attribute(Mass self, FloatsKey a0)
6556  remove_attribute(Mass self, IntsKey a0)
6557  remove_attribute(Mass self, StringKey a0)
6558  remove_attribute(Mass self, ParticleIndexKey a0)
6559  remove_attribute(Mass self, ObjectKey a0)
6560  remove_attribute(Mass self, SparseFloatKey a0)
6561  remove_attribute(Mass self, SparseIntKey a0)
6562  remove_attribute(Mass self, SparseStringKey a0)
6563  remove_attribute(Mass self, SparseParticleIndexKey a0)
6564  """
6565  return _IMP_atom.Mass_remove_attribute(self, *args)
6566 
6567  def has_attribute(self, *args):
6568  r"""
6569  has_attribute(Mass self, FloatKey a0) -> bool
6570  has_attribute(Mass self, IntKey a0) -> bool
6571  has_attribute(Mass self, FloatsKey a0) -> bool
6572  has_attribute(Mass self, IntsKey a0) -> bool
6573  has_attribute(Mass self, StringKey a0) -> bool
6574  has_attribute(Mass self, ParticleIndexKey a0) -> bool
6575  has_attribute(Mass self, ObjectKey a0) -> bool
6576  has_attribute(Mass self, SparseFloatKey a0) -> bool
6577  has_attribute(Mass self, SparseIntKey a0) -> bool
6578  has_attribute(Mass self, SparseStringKey a0) -> bool
6579  has_attribute(Mass self, SparseParticleIndexKey a0) -> bool
6580  """
6581  return _IMP_atom.Mass_has_attribute(self, *args)
6582 
6583  def get_derivative(self, a0):
6584  r"""get_derivative(Mass self, FloatKey a0) -> double"""
6585  return _IMP_atom.Mass_get_derivative(self, a0)
6586 
6587  def get_name(self):
6588  r"""get_name(Mass self) -> std::string"""
6589  return _IMP_atom.Mass_get_name(self)
6590 
6591  def clear_caches(self):
6592  r"""clear_caches(Mass self)"""
6593  return _IMP_atom.Mass_clear_caches(self)
6594 
6595  def set_name(self, a0):
6596  r"""set_name(Mass self, std::string a0)"""
6597  return _IMP_atom.Mass_set_name(self, a0)
6598 
6599  def set_check_level(self, a0):
6600  r"""set_check_level(Mass self, IMP::CheckLevel a0)"""
6601  return _IMP_atom.Mass_set_check_level(self, a0)
6602 
6603  def add_to_derivative(self, a0, a1, a2):
6604  r"""add_to_derivative(Mass self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
6605  return _IMP_atom.Mass_add_to_derivative(self, a0, a1, a2)
6606 
6607  def set_is_optimized(self, a0, a1):
6608  r"""set_is_optimized(Mass self, FloatKey a0, bool a1)"""
6609  return _IMP_atom.Mass_set_is_optimized(self, a0, a1)
6610 
6611  def get_is_optimized(self, a0):
6612  r"""get_is_optimized(Mass self, FloatKey a0) -> bool"""
6613  return _IMP_atom.Mass_get_is_optimized(self, a0)
6614 
6615  def get_check_level(self):
6616  r"""get_check_level(Mass self) -> IMP::CheckLevel"""
6617  return _IMP_atom.Mass_get_check_level(self)
6618 
6619  def __eq__(self, *args):
6620  r"""
6621  __eq__(Mass self, Mass o) -> bool
6622  __eq__(Mass self, Particle d) -> bool
6623  """
6624  return _IMP_atom.Mass___eq__(self, *args)
6625 
6626  def __ne__(self, *args):
6627  r"""
6628  __ne__(Mass self, Mass o) -> bool
6629  __ne__(Mass self, Particle d) -> bool
6630  """
6631  return _IMP_atom.Mass___ne__(self, *args)
6632 
6633  def __le__(self, *args):
6634  r"""
6635  __le__(Mass self, Mass o) -> bool
6636  __le__(Mass self, Particle d) -> bool
6637  """
6638  return _IMP_atom.Mass___le__(self, *args)
6639 
6640  def __lt__(self, *args):
6641  r"""
6642  __lt__(Mass self, Mass o) -> bool
6643  __lt__(Mass self, Particle d) -> bool
6644  """
6645  return _IMP_atom.Mass___lt__(self, *args)
6646 
6647  def __ge__(self, *args):
6648  r"""
6649  __ge__(Mass self, Mass o) -> bool
6650  __ge__(Mass self, Particle d) -> bool
6651  """
6652  return _IMP_atom.Mass___ge__(self, *args)
6653 
6654  def __gt__(self, *args):
6655  r"""
6656  __gt__(Mass self, Mass o) -> bool
6657  __gt__(Mass self, Particle d) -> bool
6658  """
6659  return _IMP_atom.Mass___gt__(self, *args)
6660 
6661  def __hash__(self):
6662  r"""__hash__(Mass self) -> std::size_t"""
6663  return _IMP_atom.Mass___hash__(self)
6664 
6665  def __str__(self):
6666  r"""__str__(Mass self) -> std::string"""
6667  return _IMP_atom.Mass___str__(self)
6668 
6669  def __repr__(self):
6670  r"""__repr__(Mass self) -> std::string"""
6671  return _IMP_atom.Mass___repr__(self)
6672 
6673  def _get_as_binary(self):
6674  r"""_get_as_binary(Mass self) -> PyObject *"""
6675  return _IMP_atom.Mass__get_as_binary(self)
6676 
6677  def _set_from_binary(self, p):
6678  r"""_set_from_binary(Mass self, PyObject * p)"""
6679  return _IMP_atom.Mass__set_from_binary(self, p)
6680 
6681  def __getstate__(self):
6682  p = self._get_as_binary()
6683  if len(self.__dict__) > 1:
6684  d = self.__dict__.copy()
6685  del d['this']
6686  p = (d, p)
6687  return p
6688 
6689  def __setstate__(self, p):
6690  if not hasattr(self, 'this'):
6691  self.__init__()
6692  if isinstance(p, tuple):
6693  d, p = p
6694  self.__dict__.update(d)
6695  return self._set_from_binary(p)
6696 
6697  __swig_destroy__ = _IMP_atom.delete_Mass
6698 
6699 # Register Mass in _IMP_atom:
6700 _IMP_atom.Mass_swigregister(Mass)
6701 class BondedPairFilter(IMP.PairPredicate):
6702  r"""Proxy of C++ IMP::atom::BondedPairFilter class."""
6703 
6704  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6705 
6706  def __init__(self):
6707  r"""__init__(BondedPairFilter self) -> BondedPairFilter"""
6708  _IMP_atom.BondedPairFilter_swiginit(self, _IMP_atom.new_BondedPairFilter())
6709 
6710  def do_get_inputs(self, m, pis):
6711  r"""do_get_inputs(BondedPairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6712  return _IMP_atom.BondedPairFilter_do_get_inputs(self, m, pis)
6713 
6714  def get_value(self, *args):
6715  r"""
6716  get_value(BondedPairFilter self, IMP::ParticlePair const & a) -> int
6717  get_value(BondedPairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
6718  """
6719  return _IMP_atom.BondedPairFilter_get_value(self, *args)
6720 
6721  def get_value_index(self, *args):
6722  r"""
6723  get_value_index(BondedPairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
6724  get_value_index(BondedPairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
6725  """
6726  return _IMP_atom.BondedPairFilter_get_value_index(self, *args)
6727 
6728  def get_version_info(self):
6729  r"""get_version_info(BondedPairFilter self) -> VersionInfo"""
6730  return _IMP_atom.BondedPairFilter_get_version_info(self)
6731  __swig_destroy__ = _IMP_atom.delete_BondedPairFilter
6732 
6733  def __str__(self):
6734  r"""__str__(BondedPairFilter self) -> std::string"""
6735  return _IMP_atom.BondedPairFilter___str__(self)
6736 
6737  def __repr__(self):
6738  r"""__repr__(BondedPairFilter self) -> std::string"""
6739  return _IMP_atom.BondedPairFilter___repr__(self)
6740 
6741  @staticmethod
6742  def get_from(o):
6743  return _object_cast_to_BondedPairFilter(o)
6744 
6745 
6746 # Register BondedPairFilter in _IMP_atom:
6747 _IMP_atom.BondedPairFilter_swigregister(BondedPairFilter)
6748 class Mol2Selector(IMP.Object):
6749  r"""Proxy of C++ IMP::atom::Mol2Selector class."""
6750 
6751  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6752 
6753  def __init__(self, *args, **kwargs):
6754  raise AttributeError("No constructor defined - class is abstract")
6755 
6756  def get_is_selected(self, atom_line):
6757  r"""get_is_selected(Mol2Selector self, std::string const & atom_line) -> bool"""
6758  return _IMP_atom.Mol2Selector_get_is_selected(self, atom_line)
6759  __swig_destroy__ = _IMP_atom.delete_Mol2Selector
6760 
6761  def __str__(self):
6762  r"""__str__(Mol2Selector self) -> std::string"""
6763  return _IMP_atom.Mol2Selector___str__(self)
6764 
6765  def __repr__(self):
6766  r"""__repr__(Mol2Selector self) -> std::string"""
6767  return _IMP_atom.Mol2Selector___repr__(self)
6768 
6769  @staticmethod
6770  def get_from(o):
6771  return _object_cast_to_Mol2Selector(o)
6772 
6773 
6774 # Register Mol2Selector in _IMP_atom:
6775 _IMP_atom.Mol2Selector_swigregister(Mol2Selector)
6776 class AllMol2Selector(Mol2Selector):
6777  r"""Proxy of C++ IMP::atom::AllMol2Selector class."""
6778 
6779  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6780 
6781  def __str__(self):
6782  r"""__str__(AllMol2Selector self) -> std::string"""
6783  return _IMP_atom.AllMol2Selector___str__(self)
6784 
6785  def __repr__(self):
6786  r"""__repr__(AllMol2Selector self) -> std::string"""
6787  return _IMP_atom.AllMol2Selector___repr__(self)
6788 
6789  @staticmethod
6790  def get_from(o):
6791  return _object_cast_to_AllMol2Selector(o)
6792 
6793 
6794  def __init__(self):
6795  r"""__init__(AllMol2Selector self) -> AllMol2Selector"""
6796  _IMP_atom.AllMol2Selector_swiginit(self, _IMP_atom.new_AllMol2Selector())
6797  __swig_destroy__ = _IMP_atom.delete_AllMol2Selector
6798 
6799 # Register AllMol2Selector in _IMP_atom:
6800 _IMP_atom.AllMol2Selector_swigregister(AllMol2Selector)
6801 class NonHydrogenMol2Selector(Mol2Selector):
6802  r"""Proxy of C++ IMP::atom::NonHydrogenMol2Selector class."""
6803 
6804  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6805 
6806  def __str__(self):
6807  r"""__str__(NonHydrogenMol2Selector self) -> std::string"""
6808  return _IMP_atom.NonHydrogenMol2Selector___str__(self)
6809 
6810  def __repr__(self):
6811  r"""__repr__(NonHydrogenMol2Selector self) -> std::string"""
6812  return _IMP_atom.NonHydrogenMol2Selector___repr__(self)
6813 
6814  @staticmethod
6815  def get_from(o):
6816  return _object_cast_to_NonHydrogenMol2Selector(o)
6817 
6818 
6819  def __init__(self):
6820  r"""__init__(NonHydrogenMol2Selector self) -> NonHydrogenMol2Selector"""
6821  _IMP_atom.NonHydrogenMol2Selector_swiginit(self, _IMP_atom.new_NonHydrogenMol2Selector())
6822  __swig_destroy__ = _IMP_atom.delete_NonHydrogenMol2Selector
6823 
6824 # Register NonHydrogenMol2Selector in _IMP_atom:
6825 _IMP_atom.NonHydrogenMol2Selector_swigregister(NonHydrogenMol2Selector)
6826 
6827 def read_mol2(mol2_file, model, mol2sel=None):
6828  r"""read_mol2(TextInput mol2_file, Model model, Mol2Selector mol2sel=None) -> Hierarchy"""
6829  return _IMP_atom.read_mol2(mol2_file, model, mol2sel)
6830 
6831 def write_mol2(rhd, file_name):
6832  r"""write_mol2(Hierarchy rhd, TextOutput file_name)"""
6833  return _IMP_atom.write_mol2(rhd, file_name)
6834 class SecondaryStructureResidue(IMP.Decorator):
6835  r"""Proxy of C++ IMP::atom::SecondaryStructureResidue class."""
6836 
6837  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6838 
6839  def __init__(self, *args):
6840  r"""
6841  __init__(SecondaryStructureResidue self) -> SecondaryStructureResidue
6842  __init__(SecondaryStructureResidue self, Model m, ParticleIndex id) -> SecondaryStructureResidue
6843  __init__(SecondaryStructureResidue self, _ParticleAdaptor d) -> SecondaryStructureResidue
6844  """
6845  _IMP_atom.SecondaryStructureResidue_swiginit(self, _IMP_atom.new_SecondaryStructureResidue(*args))
6846 
6847  def show(self, *args):
6848  r"""show(SecondaryStructureResidue self, _ostream out=std::cout)"""
6849  return _IMP_atom.SecondaryStructureResidue_show(self, *args)
6850 
6851  @staticmethod
6852  def setup_particle(*args):
6853  r"""
6854  setup_particle(Model m, ParticleIndex pi, IMP::Float prob_helix, IMP::Float prob_strand, IMP::Float prob_coil) -> SecondaryStructureResidue
6855  setup_particle(_ParticleAdaptor pa, IMP::Float prob_helix, IMP::Float prob_strand, IMP::Float prob_coil) -> SecondaryStructureResidue
6856  setup_particle(Particle res_p) -> SecondaryStructureResidue
6857  """
6858  return _IMP_atom.SecondaryStructureResidue_setup_particle(*args)
6859 
6860  @staticmethod
6861  def get_is_setup(*args):
6862  r"""
6863  get_is_setup(_ParticleAdaptor p) -> bool
6864  get_is_setup(Model m, ParticleIndex pi) -> bool
6865  """
6866  return _IMP_atom.SecondaryStructureResidue_get_is_setup(*args)
6867 
6868  def get_particle(self):
6869  r"""get_particle(SecondaryStructureResidue self) -> Particle"""
6870  return _IMP_atom.SecondaryStructureResidue_get_particle(self)
6871 
6872  def get_all_probabilities(self):
6873  r"""get_all_probabilities(SecondaryStructureResidue self) -> IMP::Floats"""
6874  return _IMP_atom.SecondaryStructureResidue_get_all_probabilities(self)
6875 
6876  def get_prob_helix(self):
6877  r"""get_prob_helix(SecondaryStructureResidue self) -> IMP::Float"""
6878  return _IMP_atom.SecondaryStructureResidue_get_prob_helix(self)
6879 
6880  def set_prob_helix(self, t):
6881  r"""set_prob_helix(SecondaryStructureResidue self, IMP::Float t)"""
6882  return _IMP_atom.SecondaryStructureResidue_set_prob_helix(self, t)
6883 
6884  def get_prob_strand(self):
6885  r"""get_prob_strand(SecondaryStructureResidue self) -> IMP::Float"""
6886  return _IMP_atom.SecondaryStructureResidue_get_prob_strand(self)
6887 
6888  def set_prob_strand(self, t):
6889  r"""set_prob_strand(SecondaryStructureResidue self, IMP::Float t)"""
6890  return _IMP_atom.SecondaryStructureResidue_set_prob_strand(self, t)
6891 
6892  def get_prob_coil(self):
6893  r"""get_prob_coil(SecondaryStructureResidue self) -> IMP::Float"""
6894  return _IMP_atom.SecondaryStructureResidue_get_prob_coil(self)
6895 
6896  def set_prob_coil(self, t):
6897  r"""set_prob_coil(SecondaryStructureResidue self, IMP::Float t)"""
6898  return _IMP_atom.SecondaryStructureResidue_set_prob_coil(self, t)
6899 
6900  @staticmethod
6901  def get_prob_helix_key():
6902  r"""get_prob_helix_key() -> FloatKey"""
6903  return _IMP_atom.SecondaryStructureResidue_get_prob_helix_key()
6904 
6905  @staticmethod
6906  def get_prob_strand_key():
6907  r"""get_prob_strand_key() -> FloatKey"""
6908  return _IMP_atom.SecondaryStructureResidue_get_prob_strand_key()
6909 
6910  @staticmethod
6911  def get_prob_coil_key():
6912  r"""get_prob_coil_key() -> FloatKey"""
6913  return _IMP_atom.SecondaryStructureResidue_get_prob_coil_key()
6914 
6915  def add_attribute(self, *args):
6916  r"""
6917  add_attribute(SecondaryStructureResidue self, FloatKey k, IMP::Float v, bool opt)
6918  add_attribute(SecondaryStructureResidue self, FloatKey a0, IMP::Float a1)
6919  add_attribute(SecondaryStructureResidue self, IntKey a0, IMP::Int a1)
6920  add_attribute(SecondaryStructureResidue self, FloatsKey a0, IMP::Floats a1)
6921  add_attribute(SecondaryStructureResidue self, IntsKey a0, IMP::Ints a1)
6922  add_attribute(SecondaryStructureResidue self, StringKey a0, IMP::String a1)
6923  add_attribute(SecondaryStructureResidue self, ParticleIndexKey a0, Particle a1)
6924  add_attribute(SecondaryStructureResidue self, ObjectKey a0, Object a1)
6925  add_attribute(SecondaryStructureResidue self, SparseFloatKey a0, IMP::Float a1)
6926  add_attribute(SecondaryStructureResidue self, SparseIntKey a0, IMP::Int a1)
6927  add_attribute(SecondaryStructureResidue self, SparseStringKey a0, IMP::String a1)
6928  add_attribute(SecondaryStructureResidue self, SparseParticleIndexKey a0, ParticleIndex a1)
6929  """
6930  return _IMP_atom.SecondaryStructureResidue_add_attribute(self, *args)
6931 
6932  def get_value(self, *args):
6933  r"""
6934  get_value(SecondaryStructureResidue self, FloatKey a0) -> IMP::Float
6935  get_value(SecondaryStructureResidue self, IntKey a0) -> IMP::Int
6936  get_value(SecondaryStructureResidue self, FloatsKey a0) -> IMP::Floats
6937  get_value(SecondaryStructureResidue self, IntsKey a0) -> IMP::Ints
6938  get_value(SecondaryStructureResidue self, StringKey a0) -> IMP::String
6939  get_value(SecondaryStructureResidue self, ParticleIndexKey a0) -> Particle
6940  get_value(SecondaryStructureResidue self, ObjectKey a0) -> Object
6941  get_value(SecondaryStructureResidue self, SparseFloatKey a0) -> IMP::Float
6942  get_value(SecondaryStructureResidue self, SparseIntKey a0) -> IMP::Int
6943  get_value(SecondaryStructureResidue self, SparseStringKey a0) -> IMP::String
6944  get_value(SecondaryStructureResidue self, SparseParticleIndexKey a0) -> ParticleIndex
6945  """
6946  return _IMP_atom.SecondaryStructureResidue_get_value(self, *args)
6947 
6948  def set_value(self, *args):
6949  r"""
6950  set_value(SecondaryStructureResidue self, FloatKey a0, IMP::Float a1)
6951  set_value(SecondaryStructureResidue self, IntKey a0, IMP::Int a1)
6952  set_value(SecondaryStructureResidue self, FloatsKey a0, IMP::Floats a1)
6953  set_value(SecondaryStructureResidue self, IntsKey a0, IMP::Ints a1)
6954  set_value(SecondaryStructureResidue self, StringKey a0, IMP::String a1)
6955  set_value(SecondaryStructureResidue self, ParticleIndexKey a0, Particle a1)
6956  set_value(SecondaryStructureResidue self, ObjectKey a0, Object a1)
6957  set_value(SecondaryStructureResidue self, SparseFloatKey a0, IMP::Float a1)
6958  set_value(SecondaryStructureResidue self, SparseIntKey a0, IMP::Int a1)
6959  set_value(SecondaryStructureResidue self, SparseStringKey a0, IMP::String a1)
6960  set_value(SecondaryStructureResidue self, SparseParticleIndexKey a0, ParticleIndex a1)
6961  """
6962  return _IMP_atom.SecondaryStructureResidue_set_value(self, *args)
6963 
6964  def remove_attribute(self, *args):
6965  r"""
6966  remove_attribute(SecondaryStructureResidue self, FloatKey a0)
6967  remove_attribute(SecondaryStructureResidue self, IntKey a0)
6968  remove_attribute(SecondaryStructureResidue self, FloatsKey a0)
6969  remove_attribute(SecondaryStructureResidue self, IntsKey a0)
6970  remove_attribute(SecondaryStructureResidue self, StringKey a0)
6971  remove_attribute(SecondaryStructureResidue self, ParticleIndexKey a0)
6972  remove_attribute(SecondaryStructureResidue self, ObjectKey a0)
6973  remove_attribute(SecondaryStructureResidue self, SparseFloatKey a0)
6974  remove_attribute(SecondaryStructureResidue self, SparseIntKey a0)
6975  remove_attribute(SecondaryStructureResidue self, SparseStringKey a0)
6976  remove_attribute(SecondaryStructureResidue self, SparseParticleIndexKey a0)
6977  """
6978  return _IMP_atom.SecondaryStructureResidue_remove_attribute(self, *args)
6979 
6980  def has_attribute(self, *args):
6981  r"""
6982  has_attribute(SecondaryStructureResidue self, FloatKey a0) -> bool
6983  has_attribute(SecondaryStructureResidue self, IntKey a0) -> bool
6984  has_attribute(SecondaryStructureResidue self, FloatsKey a0) -> bool
6985  has_attribute(SecondaryStructureResidue self, IntsKey a0) -> bool
6986  has_attribute(SecondaryStructureResidue self, StringKey a0) -> bool
6987  has_attribute(SecondaryStructureResidue self, ParticleIndexKey a0) -> bool
6988  has_attribute(SecondaryStructureResidue self, ObjectKey a0) -> bool
6989  has_attribute(SecondaryStructureResidue self, SparseFloatKey a0) -> bool
6990  has_attribute(SecondaryStructureResidue self, SparseIntKey a0) -> bool
6991  has_attribute(SecondaryStructureResidue self, SparseStringKey a0) -> bool
6992  has_attribute(SecondaryStructureResidue self, SparseParticleIndexKey a0) -> bool
6993  """
6994  return _IMP_atom.SecondaryStructureResidue_has_attribute(self, *args)
6995 
6996  def get_derivative(self, a0):
6997  r"""get_derivative(SecondaryStructureResidue self, FloatKey a0) -> double"""
6998  return _IMP_atom.SecondaryStructureResidue_get_derivative(self, a0)
6999 
7000  def get_name(self):
7001  r"""get_name(SecondaryStructureResidue self) -> std::string"""
7002  return _IMP_atom.SecondaryStructureResidue_get_name(self)
7003 
7004  def clear_caches(self):
7005  r"""clear_caches(SecondaryStructureResidue self)"""
7006  return _IMP_atom.SecondaryStructureResidue_clear_caches(self)
7007 
7008  def set_name(self, a0):
7009  r"""set_name(SecondaryStructureResidue self, std::string a0)"""
7010  return _IMP_atom.SecondaryStructureResidue_set_name(self, a0)
7011 
7012  def set_check_level(self, a0):
7013  r"""set_check_level(SecondaryStructureResidue self, IMP::CheckLevel a0)"""
7014  return _IMP_atom.SecondaryStructureResidue_set_check_level(self, a0)
7015 
7016  def add_to_derivative(self, a0, a1, a2):
7017  r"""add_to_derivative(SecondaryStructureResidue self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
7018  return _IMP_atom.SecondaryStructureResidue_add_to_derivative(self, a0, a1, a2)
7019 
7020  def set_is_optimized(self, a0, a1):
7021  r"""set_is_optimized(SecondaryStructureResidue self, FloatKey a0, bool a1)"""
7022  return _IMP_atom.SecondaryStructureResidue_set_is_optimized(self, a0, a1)
7023 
7024  def get_is_optimized(self, a0):
7025  r"""get_is_optimized(SecondaryStructureResidue self, FloatKey a0) -> bool"""
7026  return _IMP_atom.SecondaryStructureResidue_get_is_optimized(self, a0)
7027 
7028  def get_check_level(self):
7029  r"""get_check_level(SecondaryStructureResidue self) -> IMP::CheckLevel"""
7030  return _IMP_atom.SecondaryStructureResidue_get_check_level(self)
7031 
7032  def __eq__(self, *args):
7033  r"""
7034  __eq__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
7035  __eq__(SecondaryStructureResidue self, Particle d) -> bool
7036  """
7037  return _IMP_atom.SecondaryStructureResidue___eq__(self, *args)
7038 
7039  def __ne__(self, *args):
7040  r"""
7041  __ne__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
7042  __ne__(SecondaryStructureResidue self, Particle d) -> bool
7043  """
7044  return _IMP_atom.SecondaryStructureResidue___ne__(self, *args)
7045 
7046  def __le__(self, *args):
7047  r"""
7048  __le__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
7049  __le__(SecondaryStructureResidue self, Particle d) -> bool
7050  """
7051  return _IMP_atom.SecondaryStructureResidue___le__(self, *args)
7052 
7053  def __lt__(self, *args):
7054  r"""
7055  __lt__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
7056  __lt__(SecondaryStructureResidue self, Particle d) -> bool
7057  """
7058  return _IMP_atom.SecondaryStructureResidue___lt__(self, *args)
7059 
7060  def __ge__(self, *args):
7061  r"""
7062  __ge__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
7063  __ge__(SecondaryStructureResidue self, Particle d) -> bool
7064  """
7065  return _IMP_atom.SecondaryStructureResidue___ge__(self, *args)
7066 
7067  def __gt__(self, *args):
7068  r"""
7069  __gt__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
7070  __gt__(SecondaryStructureResidue self, Particle d) -> bool
7071  """
7072  return _IMP_atom.SecondaryStructureResidue___gt__(self, *args)
7073 
7074  def __hash__(self):
7075  r"""__hash__(SecondaryStructureResidue self) -> std::size_t"""
7076  return _IMP_atom.SecondaryStructureResidue___hash__(self)
7077 
7078  def __str__(self):
7079  r"""__str__(SecondaryStructureResidue self) -> std::string"""
7080  return _IMP_atom.SecondaryStructureResidue___str__(self)
7081 
7082  def __repr__(self):
7083  r"""__repr__(SecondaryStructureResidue self) -> std::string"""
7084  return _IMP_atom.SecondaryStructureResidue___repr__(self)
7085 
7086  def _get_as_binary(self):
7087  r"""_get_as_binary(SecondaryStructureResidue self) -> PyObject *"""
7088  return _IMP_atom.SecondaryStructureResidue__get_as_binary(self)
7089 
7090  def _set_from_binary(self, p):
7091  r"""_set_from_binary(SecondaryStructureResidue self, PyObject * p)"""
7092  return _IMP_atom.SecondaryStructureResidue__set_from_binary(self, p)
7093 
7094  def __getstate__(self):
7095  p = self._get_as_binary()
7096  if len(self.__dict__) > 1:
7097  d = self.__dict__.copy()
7098  del d['this']
7099  p = (d, p)
7100  return p
7101 
7102  def __setstate__(self, p):
7103  if not hasattr(self, 'this'):
7104  self.__init__()
7105  if isinstance(p, tuple):
7106  d, p = p
7107  self.__dict__.update(d)
7108  return self._set_from_binary(p)
7109 
7110  __swig_destroy__ = _IMP_atom.delete_SecondaryStructureResidue
7111 
7112 # Register SecondaryStructureResidue in _IMP_atom:
7113 _IMP_atom.SecondaryStructureResidue_swigregister(SecondaryStructureResidue)
7114 
7115 def setup_coarse_secondary_structure_residue(ssr_ps, mdl, winner_takes_all_per_res=False):
7116  r"""setup_coarse_secondary_structure_residue(IMP::Particles const & ssr_ps, Model mdl, bool winner_takes_all_per_res=False) -> SecondaryStructureResidue"""
7117  return _IMP_atom.setup_coarse_secondary_structure_residue(ssr_ps, mdl, winner_takes_all_per_res)
7118 
7119 def setup_coarse_secondary_structure_residues(ssr_ps, mdl, coarse_factor, start_res_num, winner_takes_all_per_res=False):
7120  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"""
7121  return _IMP_atom.setup_coarse_secondary_structure_residues(ssr_ps, mdl, coarse_factor, start_res_num, winner_takes_all_per_res)
7122 
7123 def get_secondary_structure_match_score(ssr1, ssr2):
7124  r"""get_secondary_structure_match_score(SecondaryStructureResidue ssr1, SecondaryStructureResidue ssr2) -> IMP::Float"""
7125  return _IMP_atom.get_secondary_structure_match_score(ssr1, ssr2)
7126 
7127 def read_psipred(*args):
7128  r"""
7129  read_psipred(TextInput inf, Model mdl) -> IMP::atom::SecondaryStructureResidues
7130  read_psipred(TextInput inf, IMP::Particles ps) -> IMP::atom::SecondaryStructureResidues
7131  """
7132  return _IMP_atom.read_psipred(*args)
7133 class _ADopeBase(IMP.PairScore):
7134  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::Dope > class."""
7135 
7136  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7137  __repr__ = _swig_repr
7138 
7139  def __init__(self, *args):
7140  r"""
7141  __init__(_ADopeBase self, Dope t0, std::string name="FunctorDistancePairScore %1%") -> _ADopeBase
7142  __init__(_ADopeBase self) -> _ADopeBase
7143  """
7144  _IMP_atom._ADopeBase_swiginit(self, _IMP_atom.new__ADopeBase(*args))
7145 
7146  def do_get_inputs(self, m, pis):
7147  r"""do_get_inputs(_ADopeBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7148  return _IMP_atom._ADopeBase_do_get_inputs(self, m, pis)
7149 
7150  def get_score_functor(self, *args):
7151  r"""
7152  get_score_functor(_ADopeBase self) -> Dope
7153  get_score_functor(_ADopeBase self) -> Dope
7154  """
7155  return _IMP_atom._ADopeBase_get_score_functor(self, *args)
7156 
7157  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7158  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"""
7159  return _IMP_atom._ADopeBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7160 
7161  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7162  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"""
7163  return _IMP_atom._ADopeBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7164 
7165  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7166  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"""
7167  return _IMP_atom._ADopeBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7168 
7169  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7170  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"""
7171  return _IMP_atom._ADopeBase_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7172 
7173  def get_version_info(self):
7174  r"""get_version_info(_ADopeBase self) -> VersionInfo"""
7175  return _IMP_atom._ADopeBase_get_version_info(self)
7176  __swig_destroy__ = _IMP_atom.delete__ADopeBase
7177 
7178 # Register _ADopeBase in _IMP_atom:
7179 _IMP_atom._ADopeBase_swigregister(_ADopeBase)
7180 class _BDopeBase(IMP.PairScore):
7181  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::Statistical< IMP::atom::DopeType,false,true,false > > class."""
7182 
7183  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7184  __repr__ = _swig_repr
7185 
7186  def __init__(self, *args):
7187  r"""
7188  __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
7189  __init__(_BDopeBase self) -> _BDopeBase
7190  """
7191  _IMP_atom._BDopeBase_swiginit(self, _IMP_atom.new__BDopeBase(*args))
7192 
7193  def do_get_inputs(self, m, pis):
7194  r"""do_get_inputs(_BDopeBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7195  return _IMP_atom._BDopeBase_do_get_inputs(self, m, pis)
7196 
7197  def get_score_functor(self, *args):
7198  r"""
7199  get_score_functor(_BDopeBase self) -> _DopeBase
7200  get_score_functor(_BDopeBase self) -> _DopeBase
7201  """
7202  return _IMP_atom._BDopeBase_get_score_functor(self, *args)
7203 
7204  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7205  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"""
7206  return _IMP_atom._BDopeBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7207 
7208  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7209  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"""
7210  return _IMP_atom._BDopeBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7211 
7212  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7213  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"""
7214  return _IMP_atom._BDopeBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7215 
7216  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7217  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"""
7218  return _IMP_atom._BDopeBase_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7219 
7220  def get_version_info(self):
7221  r"""get_version_info(_BDopeBase self) -> VersionInfo"""
7222  return _IMP_atom._BDopeBase_get_version_info(self)
7223  __swig_destroy__ = _IMP_atom.delete__BDopeBase
7224 
7225 # Register _BDopeBase in _IMP_atom:
7226 _IMP_atom._BDopeBase_swigregister(_BDopeBase)
7227 class _ALoopStatisticalBase(IMP.PairScore):
7228  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::LoopStatistical > class."""
7229 
7230  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7231  __repr__ = _swig_repr
7232 
7233  def __init__(self, *args):
7234  r"""
7235  __init__(_ALoopStatisticalBase self, LoopStatistical t0, std::string name="FunctorDistancePairScore %1%") -> _ALoopStatisticalBase
7236  __init__(_ALoopStatisticalBase self) -> _ALoopStatisticalBase
7237  """
7238  _IMP_atom._ALoopStatisticalBase_swiginit(self, _IMP_atom.new__ALoopStatisticalBase(*args))
7239 
7240  def do_get_inputs(self, m, pis):
7241  r"""do_get_inputs(_ALoopStatisticalBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7242  return _IMP_atom._ALoopStatisticalBase_do_get_inputs(self, m, pis)
7243 
7244  def get_score_functor(self, *args):
7245  r"""
7246  get_score_functor(_ALoopStatisticalBase self) -> LoopStatistical
7247  get_score_functor(_ALoopStatisticalBase self) -> LoopStatistical
7248  """
7249  return _IMP_atom._ALoopStatisticalBase_get_score_functor(self, *args)
7250 
7251  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7252  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"""
7253  return _IMP_atom._ALoopStatisticalBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7254 
7255  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7256  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"""
7257  return _IMP_atom._ALoopStatisticalBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7258 
7259  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7260  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"""
7261  return _IMP_atom._ALoopStatisticalBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7262 
7263  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7264  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"""
7265  return _IMP_atom._ALoopStatisticalBase_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7266 
7267  def get_version_info(self):
7268  r"""get_version_info(_ALoopStatisticalBase self) -> VersionInfo"""
7269  return _IMP_atom._ALoopStatisticalBase_get_version_info(self)
7270  __swig_destroy__ = _IMP_atom.delete__ALoopStatisticalBase
7271 
7272 # Register _ALoopStatisticalBase in _IMP_atom:
7273 _IMP_atom._ALoopStatisticalBase_swigregister(_ALoopStatisticalBase)
7274 class _BLoopStatisticalBase(IMP.PairScore):
7275  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::Statistical< IMP::atom::LoopStatisticalType,false,true,false > > class."""
7276 
7277  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7278  __repr__ = _swig_repr
7279 
7280  def __init__(self, *args):
7281  r"""
7282  __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
7283  __init__(_BLoopStatisticalBase self) -> _BLoopStatisticalBase
7284  """
7285  _IMP_atom._BLoopStatisticalBase_swiginit(self, _IMP_atom.new__BLoopStatisticalBase(*args))
7286 
7287  def do_get_inputs(self, m, pis):
7288  r"""do_get_inputs(_BLoopStatisticalBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7289  return _IMP_atom._BLoopStatisticalBase_do_get_inputs(self, m, pis)
7290 
7291  def get_score_functor(self, *args):
7292  r"""
7293  get_score_functor(_BLoopStatisticalBase self) -> _LoopStatisticalBase
7294  get_score_functor(_BLoopStatisticalBase self) -> _LoopStatisticalBase
7295  """
7296  return _IMP_atom._BLoopStatisticalBase_get_score_functor(self, *args)
7297 
7298  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7299  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"""
7300  return _IMP_atom._BLoopStatisticalBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7301 
7302  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7303  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"""
7304  return _IMP_atom._BLoopStatisticalBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7305 
7306  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7307  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"""
7308  return _IMP_atom._BLoopStatisticalBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7309 
7310  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7311  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"""
7312  return _IMP_atom._BLoopStatisticalBase_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7313 
7314  def get_version_info(self):
7315  r"""get_version_info(_BLoopStatisticalBase self) -> VersionInfo"""
7316  return _IMP_atom._BLoopStatisticalBase_get_version_info(self)
7317  __swig_destroy__ = _IMP_atom.delete__BLoopStatisticalBase
7318 
7319 # Register _BLoopStatisticalBase in _IMP_atom:
7320 _IMP_atom._BLoopStatisticalBase_swigregister(_BLoopStatisticalBase)
7321 class _OrientedSoapBase(IMP.PairScore):
7322  r"""Proxy of C++ IMP::score_functor::DistancePairScoreWithCache< IMP::score_functor::OrientedSoap > class."""
7323 
7324  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7325  __repr__ = _swig_repr
7326 
7327  def __init__(self, *args):
7328  r"""__init__(_OrientedSoapBase self, IMP::score_functor::DistancePairScoreWithCache< IMP::score_functor::OrientedSoap >::DistanceScore const & t0, std::string name="FunctorDistancePairScoreWithCache %1%") -> _OrientedSoapBase"""
7329  _IMP_atom._OrientedSoapBase_swiginit(self, _IMP_atom.new__OrientedSoapBase(*args))
7330 
7331  def do_get_inputs(self, m, pis):
7332  r"""do_get_inputs(_OrientedSoapBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7333  return _IMP_atom._OrientedSoapBase_do_get_inputs(self, m, pis)
7334 
7335  def get_score_functor(self):
7336  r"""get_score_functor(_OrientedSoapBase self) -> IMP::score_functor::OrientedSoap &"""
7337  return _IMP_atom._OrientedSoapBase_get_score_functor(self)
7338 
7339  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7340  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"""
7341  return _IMP_atom._OrientedSoapBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7342 
7343  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7344  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"""
7345  return _IMP_atom._OrientedSoapBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7346 
7347  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7348  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"""
7349  return _IMP_atom._OrientedSoapBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7350 
7351  def get_version_info(self):
7352  r"""get_version_info(_OrientedSoapBase self) -> VersionInfo"""
7353  return _IMP_atom._OrientedSoapBase_get_version_info(self)
7354  __swig_destroy__ = _IMP_atom.delete__OrientedSoapBase
7355 
7356 # Register _OrientedSoapBase in _IMP_atom:
7357 _IMP_atom._OrientedSoapBase_swigregister(_OrientedSoapBase)
7358 class _SPSFTB(IMP.PairScore):
7359  r"""Proxy of C++ IMP::score_functor::DistancePairScore< score_functor::Statistical< IMP::atom::ProteinLigandType,true,false > > class."""
7360 
7361  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7362  __repr__ = _swig_repr
7363 
7364  def __init__(self, *args):
7365  r"""
7366  __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
7367  __init__(_SPSFTB self) -> _SPSFTB
7368  """
7369  _IMP_atom._SPSFTB_swiginit(self, _IMP_atom.new__SPSFTB(*args))
7370 
7371  def do_get_inputs(self, m, pis):
7372  r"""do_get_inputs(_SPSFTB self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7373  return _IMP_atom._SPSFTB_do_get_inputs(self, m, pis)
7374 
7375  def get_score_functor(self, *args):
7376  r"""
7377  get_score_functor(_SPSFTB self) -> IMP::score_functor::Statistical< IMP::atom::ProteinLigandType,true,false,false >
7378  get_score_functor(_SPSFTB self) -> IMP::score_functor::Statistical< IMP::atom::ProteinLigandType,true,false,false > const &
7379  """
7380  return _IMP_atom._SPSFTB_get_score_functor(self, *args)
7381 
7382  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7383  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"""
7384  return _IMP_atom._SPSFTB_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7385 
7386  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7387  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"""
7388  return _IMP_atom._SPSFTB_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7389 
7390  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7391  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"""
7392  return _IMP_atom._SPSFTB_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7393 
7394  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7395  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"""
7396  return _IMP_atom._SPSFTB_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7397 
7398  def get_version_info(self):
7399  r"""get_version_info(_SPSFTB self) -> VersionInfo"""
7400  return _IMP_atom._SPSFTB_get_version_info(self)
7401  __swig_destroy__ = _IMP_atom.delete__SPSFTB
7402 
7403 # Register _SPSFTB in _IMP_atom:
7404 _IMP_atom._SPSFTB_swigregister(_SPSFTB)
7405 class _SPSTF(_SPSFTB):
7406  r"""Proxy of C++ IMP::core::StatisticalPairScore< IMP::atom::ProteinLigandType,true,false > class."""
7407 
7408  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7409  __repr__ = _swig_repr
7410 
7411  def __init__(self, *args):
7412  r"""
7413  __init__(_SPSTF self, IntKey k, double threshold, TextInput data_file) -> _SPSTF
7414  __init__(_SPSTF self, IntKey k, double threshold, TextInput data_file, unsigned int shift) -> _SPSTF
7415  """
7416  _IMP_atom._SPSTF_swiginit(self, _IMP_atom.new__SPSTF(*args))
7417  __swig_destroy__ = _IMP_atom.delete__SPSTF
7418 
7419 # Register _SPSTF in _IMP_atom:
7420 _IMP_atom._SPSTF_swigregister(_SPSTF)
7421 class _SPSFT(_BDopeBase):
7422  r"""Proxy of C++ IMP::core::StatisticalPairScore< IMP::atom::DopeType,false,true > class."""
7423 
7424  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7425  __repr__ = _swig_repr
7426 
7427  def __init__(self, *args):
7428  r"""
7429  __init__(_SPSFT self, IntKey k, double threshold, TextInput data_file) -> _SPSFT
7430  __init__(_SPSFT self, IntKey k, double threshold, TextInput data_file, unsigned int shift) -> _SPSFT
7431  """
7432  _IMP_atom._SPSFT_swiginit(self, _IMP_atom.new__SPSFT(*args))
7433  __swig_destroy__ = _IMP_atom.delete__SPSFT
7434 
7435 # Register _SPSFT in _IMP_atom:
7436 _IMP_atom._SPSFT_swigregister(_SPSFT)
7437 class _SPSFTL(_BLoopStatisticalBase):
7438  r"""Proxy of C++ IMP::core::StatisticalPairScore< IMP::atom::LoopStatisticalType,false,true > class."""
7439 
7440  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7441  __repr__ = _swig_repr
7442 
7443  def __init__(self, *args):
7444  r"""
7445  __init__(_SPSFTL self, IntKey k, double threshold, TextInput data_file) -> _SPSFTL
7446  __init__(_SPSFTL self, IntKey k, double threshold, TextInput data_file, unsigned int shift) -> _SPSFTL
7447  """
7448  _IMP_atom._SPSFTL_swiginit(self, _IMP_atom.new__SPSFTL(*args))
7449  __swig_destroy__ = _IMP_atom.delete__SPSFTL
7450 
7451 # Register _SPSFTL in _IMP_atom:
7452 _IMP_atom._SPSFTL_swigregister(_SPSFTL)
7453 class ProteinLigandAtomPairScore(_SPSTF):
7454  r"""Proxy of C++ IMP::atom::ProteinLigandAtomPairScore class."""
7455 
7456  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7457 
7458  def __init__(self, *args):
7459  r"""
7460  __init__(ProteinLigandAtomPairScore self, double threshold=std::numeric_limits< double >::max()) -> ProteinLigandAtomPairScore
7461  __init__(ProteinLigandAtomPairScore self, double threshold, TextInput data_file) -> ProteinLigandAtomPairScore
7462  """
7463  _IMP_atom.ProteinLigandAtomPairScore_swiginit(self, _IMP_atom.new_ProteinLigandAtomPairScore(*args))
7464 
7465  def get_maximum_distance(self):
7466  r"""get_maximum_distance(ProteinLigandAtomPairScore self) -> double"""
7467  return _IMP_atom.ProteinLigandAtomPairScore_get_maximum_distance(self)
7468 
7469  def __str__(self):
7470  r"""__str__(ProteinLigandAtomPairScore self) -> std::string"""
7471  return _IMP_atom.ProteinLigandAtomPairScore___str__(self)
7472 
7473  def __repr__(self):
7474  r"""__repr__(ProteinLigandAtomPairScore self) -> std::string"""
7475  return _IMP_atom.ProteinLigandAtomPairScore___repr__(self)
7476 
7477  @staticmethod
7478  def get_from(o):
7479  return _object_cast_to_ProteinLigandAtomPairScore(o)
7480 
7481  __swig_destroy__ = _IMP_atom.delete_ProteinLigandAtomPairScore
7482 
7483 # Register ProteinLigandAtomPairScore in _IMP_atom:
7484 _IMP_atom.ProteinLigandAtomPairScore_swigregister(ProteinLigandAtomPairScore)
7485 class ProteinLigandRestraint(IMP.container.PairsRestraint):
7486  r"""Proxy of C++ IMP::atom::ProteinLigandRestraint class."""
7487 
7488  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7489 
7490  def __init__(self, *args):
7491  r"""
7492  __init__(ProteinLigandRestraint self, Hierarchy protein, Hierarchy ligand, double threshold=std::numeric_limits< double >::max()) -> ProteinLigandRestraint
7493  __init__(ProteinLigandRestraint self, Hierarchy protein, Hierarchy ligand, double threshold, TextInput data_file) -> ProteinLigandRestraint
7494  """
7495  _IMP_atom.ProteinLigandRestraint_swiginit(self, _IMP_atom.new_ProteinLigandRestraint(*args))
7496 
7497  def __str__(self):
7498  r"""__str__(ProteinLigandRestraint self) -> std::string"""
7499  return _IMP_atom.ProteinLigandRestraint___str__(self)
7500 
7501  def __repr__(self):
7502  r"""__repr__(ProteinLigandRestraint self) -> std::string"""
7503  return _IMP_atom.ProteinLigandRestraint___repr__(self)
7504 
7505  @staticmethod
7506  def get_from(o):
7507  return _object_cast_to_ProteinLigandRestraint(o)
7508 
7509  __swig_destroy__ = _IMP_atom.delete_ProteinLigandRestraint
7510 
7511 # Register ProteinLigandRestraint in _IMP_atom:
7512 _IMP_atom.ProteinLigandRestraint_swigregister(ProteinLigandRestraint)
7513 
7515  r"""add_protein_ligand_score_data(Hierarchy h)"""
7516  return _IMP_atom.add_protein_ligand_score_data(h)
7517 class AtomType(IMP._Value):
7518  r"""Proxy of C++ IMP::Key< 8974343 > class."""
7519 
7520  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7521 
7522  def __init__(self, *args):
7523  r"""
7524  __init__(AtomType self) -> AtomType
7525  __init__(AtomType self, std::string const & c, bool is_implicit_add_permitted=True) -> AtomType
7526  __init__(AtomType self, unsigned int i) -> AtomType
7527  """
7528  _IMP_atom.AtomType_swiginit(self, _IMP_atom.new_AtomType(*args))
7529 
7530  @staticmethod
7531  def add_key(sc):
7532  r"""add_key(std::string sc) -> unsigned int"""
7533  return _IMP_atom.AtomType_add_key(sc)
7534 
7535  @staticmethod
7536  def get_key_exists(sc):
7537  r"""get_key_exists(std::string sc) -> bool"""
7538  return _IMP_atom.AtomType_get_key_exists(sc)
7539 
7540  def get_string(self):
7541  r"""get_string(AtomType self) -> std::string const"""
7542  return _IMP_atom.AtomType_get_string(self)
7543 
7544  def __cmp__(self, o):
7545  r"""__cmp__(AtomType self, AtomType o) -> int"""
7546  return _IMP_atom.AtomType___cmp__(self, o)
7547 
7548  def __eq__(self, o):
7549  r"""__eq__(AtomType self, AtomType o) -> bool"""
7550  return _IMP_atom.AtomType___eq__(self, o)
7551 
7552  def __ne__(self, o):
7553  r"""__ne__(AtomType self, AtomType o) -> bool"""
7554  return _IMP_atom.AtomType___ne__(self, o)
7555 
7556  def __lt__(self, o):
7557  r"""__lt__(AtomType self, AtomType o) -> bool"""
7558  return _IMP_atom.AtomType___lt__(self, o)
7559 
7560  def __gt__(self, o):
7561  r"""__gt__(AtomType self, AtomType o) -> bool"""
7562  return _IMP_atom.AtomType___gt__(self, o)
7563 
7564  def __ge__(self, o):
7565  r"""__ge__(AtomType self, AtomType o) -> bool"""
7566  return _IMP_atom.AtomType___ge__(self, o)
7567 
7568  def __le__(self, o):
7569  r"""__le__(AtomType self, AtomType o) -> bool"""
7570  return _IMP_atom.AtomType___le__(self, o)
7571 
7572  def __hash__(self):
7573  r"""__hash__(AtomType self) -> std::size_t"""
7574  return _IMP_atom.AtomType___hash__(self)
7575 
7576  def show(self, *args):
7577  r"""show(AtomType self, _ostream out=std::cout)"""
7578  return _IMP_atom.AtomType_show(self, *args)
7579 
7580  @staticmethod
7581  def add_alias(old_key, new_name):
7582  r"""add_alias(AtomType old_key, std::string new_name) -> AtomType"""
7583  return _IMP_atom.AtomType_add_alias(old_key, new_name)
7584 
7585  @staticmethod
7586  def get_number_of_keys():
7587  r"""get_number_of_keys() -> unsigned int"""
7588  return _IMP_atom.AtomType_get_number_of_keys()
7589 
7590  def get_index(self):
7591  r"""get_index(AtomType self) -> unsigned int"""
7592  return _IMP_atom.AtomType_get_index(self)
7593 
7594  @staticmethod
7595  def show_all(out):
7596  r"""show_all(_ostream out)"""
7597  return _IMP_atom.AtomType_show_all(out)
7598 
7599  @staticmethod
7600  def get_all_strings():
7601  r"""get_all_strings() -> IMP::Vector< std::string >"""
7602  return _IMP_atom.AtomType_get_all_strings()
7603 
7604  @staticmethod
7605  def get_number_unique():
7606  r"""get_number_unique() -> unsigned int"""
7607  return _IMP_atom.AtomType_get_number_unique()
7608 
7609  def __str__(self):
7610  r"""__str__(AtomType self) -> std::string"""
7611  return _IMP_atom.AtomType___str__(self)
7612 
7613  def __repr__(self):
7614  r"""__repr__(AtomType self) -> std::string"""
7615  return _IMP_atom.AtomType___repr__(self)
7616  __swig_destroy__ = _IMP_atom.delete_AtomType
7617 
7618 # Register AtomType in _IMP_atom:
7619 _IMP_atom.AtomType_swigregister(AtomType)
7620 class ResidueType(IMP._Value):
7621  r"""Proxy of C++ IMP::Key< 90784334 > class."""
7622 
7623  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7624 
7625  def __init__(self, *args):
7626  r"""
7627  __init__(ResidueType self) -> ResidueType
7628  __init__(ResidueType self, std::string const & c, bool is_implicit_add_permitted=True) -> ResidueType
7629  __init__(ResidueType self, unsigned int i) -> ResidueType
7630  """
7631  _IMP_atom.ResidueType_swiginit(self, _IMP_atom.new_ResidueType(*args))
7632 
7633  @staticmethod
7634  def add_key(sc):
7635  r"""add_key(std::string sc) -> unsigned int"""
7636  return _IMP_atom.ResidueType_add_key(sc)
7637 
7638  @staticmethod
7639  def get_key_exists(sc):
7640  r"""get_key_exists(std::string sc) -> bool"""
7641  return _IMP_atom.ResidueType_get_key_exists(sc)
7642 
7643  def get_string(self):
7644  r"""get_string(ResidueType self) -> std::string const"""
7645  return _IMP_atom.ResidueType_get_string(self)
7646 
7647  def __cmp__(self, o):
7648  r"""__cmp__(ResidueType self, ResidueType o) -> int"""
7649  return _IMP_atom.ResidueType___cmp__(self, o)
7650 
7651  def __eq__(self, o):
7652  r"""__eq__(ResidueType self, ResidueType o) -> bool"""
7653  return _IMP_atom.ResidueType___eq__(self, o)
7654 
7655  def __ne__(self, o):
7656  r"""__ne__(ResidueType self, ResidueType o) -> bool"""
7657  return _IMP_atom.ResidueType___ne__(self, o)
7658 
7659  def __lt__(self, o):
7660  r"""__lt__(ResidueType self, ResidueType o) -> bool"""
7661  return _IMP_atom.ResidueType___lt__(self, o)
7662 
7663  def __gt__(self, o):
7664  r"""__gt__(ResidueType self, ResidueType o) -> bool"""
7665  return _IMP_atom.ResidueType___gt__(self, o)
7666 
7667  def __ge__(self, o):
7668  r"""__ge__(ResidueType self, ResidueType o) -> bool"""
7669  return _IMP_atom.ResidueType___ge__(self, o)
7670 
7671  def __le__(self, o):
7672  r"""__le__(ResidueType self, ResidueType o) -> bool"""
7673  return _IMP_atom.ResidueType___le__(self, o)
7674 
7675  def __hash__(self):
7676  r"""__hash__(ResidueType self) -> std::size_t"""
7677  return _IMP_atom.ResidueType___hash__(self)
7678 
7679  def show(self, *args):
7680  r"""show(ResidueType self, _ostream out=std::cout)"""
7681  return _IMP_atom.ResidueType_show(self, *args)
7682 
7683  @staticmethod
7684  def add_alias(old_key, new_name):
7685  r"""add_alias(ResidueType old_key, std::string new_name) -> ResidueType"""
7686  return _IMP_atom.ResidueType_add_alias(old_key, new_name)
7687 
7688  @staticmethod
7689  def get_number_of_keys():
7690  r"""get_number_of_keys() -> unsigned int"""
7691  return _IMP_atom.ResidueType_get_number_of_keys()
7692 
7693  def get_index(self):
7694  r"""get_index(ResidueType self) -> unsigned int"""
7695  return _IMP_atom.ResidueType_get_index(self)
7696 
7697  @staticmethod
7698  def show_all(out):
7699  r"""show_all(_ostream out)"""
7700  return _IMP_atom.ResidueType_show_all(out)
7701 
7702  @staticmethod
7703  def get_all_strings():
7704  r"""get_all_strings() -> IMP::Vector< std::string >"""
7705  return _IMP_atom.ResidueType_get_all_strings()
7706 
7707  @staticmethod
7708  def get_number_unique():
7709  r"""get_number_unique() -> unsigned int"""
7710  return _IMP_atom.ResidueType_get_number_unique()
7711 
7712  def __str__(self):
7713  r"""__str__(ResidueType self) -> std::string"""
7714  return _IMP_atom.ResidueType___str__(self)
7715 
7716  def __repr__(self):
7717  r"""__repr__(ResidueType self) -> std::string"""
7718  return _IMP_atom.ResidueType___repr__(self)
7719  __swig_destroy__ = _IMP_atom.delete_ResidueType
7720 
7721 # Register ResidueType in _IMP_atom:
7722 _IMP_atom.ResidueType_swigregister(ResidueType)
7723 class ChainType(IMP._Value):
7724  r"""Proxy of C++ IMP::Key< 90784336 > class."""
7725 
7726  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7727 
7728  def __init__(self, *args):
7729  r"""
7730  __init__(ChainType self) -> ChainType
7731  __init__(ChainType self, std::string const & c, bool is_implicit_add_permitted=True) -> ChainType
7732  __init__(ChainType self, unsigned int i) -> ChainType
7733  """
7734  _IMP_atom.ChainType_swiginit(self, _IMP_atom.new_ChainType(*args))
7735 
7736  @staticmethod
7737  def add_key(sc):
7738  r"""add_key(std::string sc) -> unsigned int"""
7739  return _IMP_atom.ChainType_add_key(sc)
7740 
7741  @staticmethod
7742  def get_key_exists(sc):
7743  r"""get_key_exists(std::string sc) -> bool"""
7744  return _IMP_atom.ChainType_get_key_exists(sc)
7745 
7746  def get_string(self):
7747  r"""get_string(ChainType self) -> std::string const"""
7748  return _IMP_atom.ChainType_get_string(self)
7749 
7750  def __cmp__(self, o):
7751  r"""__cmp__(ChainType self, ChainType o) -> int"""
7752  return _IMP_atom.ChainType___cmp__(self, o)
7753 
7754  def __eq__(self, o):
7755  r"""__eq__(ChainType self, ChainType o) -> bool"""
7756  return _IMP_atom.ChainType___eq__(self, o)
7757 
7758  def __ne__(self, o):
7759  r"""__ne__(ChainType self, ChainType o) -> bool"""
7760  return _IMP_atom.ChainType___ne__(self, o)
7761 
7762  def __lt__(self, o):
7763  r"""__lt__(ChainType self, ChainType o) -> bool"""
7764  return _IMP_atom.ChainType___lt__(self, o)
7765 
7766  def __gt__(self, o):
7767  r"""__gt__(ChainType self, ChainType o) -> bool"""
7768  return _IMP_atom.ChainType___gt__(self, o)
7769 
7770  def __ge__(self, o):
7771  r"""__ge__(ChainType self, ChainType o) -> bool"""
7772  return _IMP_atom.ChainType___ge__(self, o)
7773 
7774  def __le__(self, o):
7775  r"""__le__(ChainType self, ChainType o) -> bool"""
7776  return _IMP_atom.ChainType___le__(self, o)
7777 
7778  def __hash__(self):
7779  r"""__hash__(ChainType self) -> std::size_t"""
7780  return _IMP_atom.ChainType___hash__(self)
7781 
7782  def show(self, *args):
7783  r"""show(ChainType self, _ostream out=std::cout)"""
7784  return _IMP_atom.ChainType_show(self, *args)
7785 
7786  @staticmethod
7787  def add_alias(old_key, new_name):
7788  r"""add_alias(ChainType old_key, std::string new_name) -> ChainType"""
7789  return _IMP_atom.ChainType_add_alias(old_key, new_name)
7790 
7791  @staticmethod
7792  def get_number_of_keys():
7793  r"""get_number_of_keys() -> unsigned int"""
7794  return _IMP_atom.ChainType_get_number_of_keys()
7795 
7796  def get_index(self):
7797  r"""get_index(ChainType self) -> unsigned int"""
7798  return _IMP_atom.ChainType_get_index(self)
7799 
7800  @staticmethod
7801  def show_all(out):
7802  r"""show_all(_ostream out)"""
7803  return _IMP_atom.ChainType_show_all(out)
7804 
7805  @staticmethod
7806  def get_all_strings():
7807  r"""get_all_strings() -> IMP::Vector< std::string >"""
7808  return _IMP_atom.ChainType_get_all_strings()
7809 
7810  @staticmethod
7811  def get_number_unique():
7812  r"""get_number_unique() -> unsigned int"""
7813  return _IMP_atom.ChainType_get_number_unique()
7814 
7815  def __str__(self):
7816  r"""__str__(ChainType self) -> std::string"""
7817  return _IMP_atom.ChainType___str__(self)
7818 
7819  def __repr__(self):
7820  r"""__repr__(ChainType self) -> std::string"""
7821  return _IMP_atom.ChainType___repr__(self)
7822  __swig_destroy__ = _IMP_atom.delete_ChainType
7823 
7824 # Register ChainType in _IMP_atom:
7825 _IMP_atom.ChainType_swigregister(ChainType)
7826 UNKNOWN_ELEMENT = _IMP_atom.UNKNOWN_ELEMENT
7827 
7828 OH = _IMP_atom.OH
7829 
7830 H2O = _IMP_atom.H2O
7831 
7832 H = _IMP_atom.H
7833 
7834 He = _IMP_atom.He
7835 
7836 Li = _IMP_atom.Li
7837 
7838 Be = _IMP_atom.Be
7839 
7840 B = _IMP_atom.B
7841 
7842 C = _IMP_atom.C
7843 
7844 N = _IMP_atom.N
7845 
7846 O = _IMP_atom.O
7847 
7848 F = _IMP_atom.F
7849 
7850 Ne = _IMP_atom.Ne
7851 
7852 Na = _IMP_atom.Na
7853 
7854 Mg = _IMP_atom.Mg
7855 
7856 Al = _IMP_atom.Al
7857 
7858 Si = _IMP_atom.Si
7859 
7860 P = _IMP_atom.P
7861 
7862 S = _IMP_atom.S
7863 
7864 Cl = _IMP_atom.Cl
7865 
7866 Ar = _IMP_atom.Ar
7867 
7868 K = _IMP_atom.K
7869 
7870 Ca = _IMP_atom.Ca
7871 
7872 Sc = _IMP_atom.Sc
7873 
7874 Ti = _IMP_atom.Ti
7875 
7876 V = _IMP_atom.V
7877 
7878 Cr = _IMP_atom.Cr
7879 
7880 Mn = _IMP_atom.Mn
7881 
7882 Fe = _IMP_atom.Fe
7883 
7884 Co = _IMP_atom.Co
7885 
7886 Ni = _IMP_atom.Ni
7887 
7888 Cu = _IMP_atom.Cu
7889 
7890 Zn = _IMP_atom.Zn
7891 
7892 Ga = _IMP_atom.Ga
7893 
7894 Ge = _IMP_atom.Ge
7895 
7896 As = _IMP_atom.As
7897 
7898 Se = _IMP_atom.Se
7899 
7900 Br = _IMP_atom.Br
7901 
7902 Kr = _IMP_atom.Kr
7903 
7904 Rb = _IMP_atom.Rb
7905 
7906 Sr = _IMP_atom.Sr
7907 
7908 Y = _IMP_atom.Y
7909 
7910 Zr = _IMP_atom.Zr
7911 
7912 Nb = _IMP_atom.Nb
7913 
7914 Mo = _IMP_atom.Mo
7915 
7916 Tc = _IMP_atom.Tc
7917 
7918 Ru = _IMP_atom.Ru
7919 
7920 Rh = _IMP_atom.Rh
7921 
7922 Pd = _IMP_atom.Pd
7923 
7924 Ag = _IMP_atom.Ag
7925 
7926 Cd = _IMP_atom.Cd
7927 
7928 In = _IMP_atom.In
7929 
7930 Sn = _IMP_atom.Sn
7931 
7932 Sb = _IMP_atom.Sb
7933 
7934 Te = _IMP_atom.Te
7935 
7936 I = _IMP_atom.I
7937 
7938 Xe = _IMP_atom.Xe
7939 
7940 Cs = _IMP_atom.Cs
7941 
7942 Ba = _IMP_atom.Ba
7943 
7944 La = _IMP_atom.La
7945 
7946 Ce = _IMP_atom.Ce
7947 
7948 Pr = _IMP_atom.Pr
7949 
7950 Nd = _IMP_atom.Nd
7951 
7952 Pm = _IMP_atom.Pm
7953 
7954 Sm = _IMP_atom.Sm
7955 
7956 Eu = _IMP_atom.Eu
7957 
7958 Gd = _IMP_atom.Gd
7959 
7960 Tb = _IMP_atom.Tb
7961 
7962 Dy = _IMP_atom.Dy
7963 
7964 Ho = _IMP_atom.Ho
7965 
7966 Er = _IMP_atom.Er
7967 
7968 Tm = _IMP_atom.Tm
7969 
7970 Yb = _IMP_atom.Yb
7971 
7972 Lu = _IMP_atom.Lu
7973 
7974 Hf = _IMP_atom.Hf
7975 
7976 Ta = _IMP_atom.Ta
7977 
7978 W = _IMP_atom.W
7979 
7980 Re = _IMP_atom.Re
7981 
7982 Os = _IMP_atom.Os
7983 
7984 Ir = _IMP_atom.Ir
7985 
7986 Pt = _IMP_atom.Pt
7987 
7988 Au = _IMP_atom.Au
7989 
7990 Hg = _IMP_atom.Hg
7991 
7992 Tl = _IMP_atom.Tl
7993 
7994 Pb = _IMP_atom.Pb
7995 
7996 Bi = _IMP_atom.Bi
7997 
7998 Po = _IMP_atom.Po
7999 
8000 At = _IMP_atom.At
8001 
8002 Rn = _IMP_atom.Rn
8003 
8004 Fr = _IMP_atom.Fr
8005 
8006 Ra = _IMP_atom.Ra
8007 
8008 Ac = _IMP_atom.Ac
8009 
8010 Th = _IMP_atom.Th
8011 
8012 Pa = _IMP_atom.Pa
8013 
8014 U = _IMP_atom.U
8015 
8016 Np = _IMP_atom.Np
8017 
8018 Pu = _IMP_atom.Pu
8019 
8020 Am = _IMP_atom.Am
8021 
8022 Cm = _IMP_atom.Cm
8023 
8024 Bk = _IMP_atom.Bk
8025 
8026 Cf = _IMP_atom.Cf
8027 
8028 Es = _IMP_atom.Es
8029 
8030 Fm = _IMP_atom.Fm
8031 
8032 Md = _IMP_atom.Md
8033 
8034 No = _IMP_atom.No
8035 
8036 Lr = _IMP_atom.Lr
8037 
8038 Db = _IMP_atom.Db
8039 
8040 Jl = _IMP_atom.Jl
8041 
8042 Rf = _IMP_atom.Rf
8043 
8044 NUMBER_OF_ELEMENTS = _IMP_atom.NUMBER_OF_ELEMENTS
8045 
8046 
8047 def hash_value(e):
8048  r"""hash_value(IMP::atom::Element e) -> size_t"""
8049  return _IMP_atom.hash_value(e)
8050 class ElementTable(object):
8051  r"""Proxy of C++ IMP::atom::ElementTable class."""
8052 
8053  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8054  __repr__ = _swig_repr
8055 
8056  def __init__(self):
8057  r"""__init__(ElementTable self) -> ElementTable"""
8058  _IMP_atom.ElementTable_swiginit(self, _IMP_atom.new_ElementTable())
8059 
8060  def get_element(self, s):
8061  r"""get_element(ElementTable self, std::string const & s) -> IMP::atom::Element"""
8062  return _IMP_atom.ElementTable_get_element(self, s)
8063 
8064  def get_name(self, e):
8065  r"""get_name(ElementTable self, IMP::atom::Element e) -> std::string"""
8066  return _IMP_atom.ElementTable_get_name(self, e)
8067 
8068  def get_mass(self, e):
8069  r"""get_mass(ElementTable self, IMP::atom::Element e) -> IMP::Float"""
8070  return _IMP_atom.ElementTable_get_mass(self, e)
8071  __swig_destroy__ = _IMP_atom.delete_ElementTable
8072 
8073 # Register ElementTable in _IMP_atom:
8074 _IMP_atom.ElementTable_swigregister(ElementTable)
8075 
8076 def get_element_table():
8077  r"""get_element_table() -> ElementTable"""
8078  return _IMP_atom.get_element_table()
8079 class Atom(Hierarchy):
8080  r"""Proxy of C++ IMP::atom::Atom class."""
8081 
8082  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8083 
8084  def __init__(self, *args):
8085  r"""
8086  __init__(Atom self) -> Atom
8087  __init__(Atom self, Model m, ParticleIndex id) -> Atom
8088  __init__(Atom self, _ParticleAdaptor d) -> Atom
8089  """
8090  _IMP_atom.Atom_swiginit(self, _IMP_atom.new_Atom(*args))
8091 
8092  def show(self, *args):
8093  r"""show(Atom self, _ostream out=std::cout)"""
8094  return _IMP_atom.Atom_show(self, *args)
8095 
8096  @staticmethod
8097  def setup_particle(*args):
8098  r"""
8099  setup_particle(Model m, ParticleIndex pi, Atom other) -> Atom
8100  setup_particle(_ParticleAdaptor pa, Atom other) -> Atom
8101  setup_particle(Model m, ParticleIndex pi, AtomType atom_type) -> Atom
8102  setup_particle(_ParticleAdaptor pa, AtomType atom_type) -> Atom
8103  """
8104  return _IMP_atom.Atom_setup_particle(*args)
8105 
8106  @staticmethod
8107  def get_is_setup(*args):
8108  r"""
8109  get_is_setup(_ParticleAdaptor p) -> bool
8110  get_is_setup(Model m, ParticleIndex pi) -> bool
8111  """
8112  return _IMP_atom.Atom_get_is_setup(*args)
8113 
8114  def get_atom_type(self):
8115  r"""get_atom_type(Atom self) -> AtomType"""
8116  return _IMP_atom.Atom_get_atom_type(self)
8117 
8118  def set_atom_type(self, t):
8119  r"""set_atom_type(Atom self, AtomType t)"""
8120  return _IMP_atom.Atom_set_atom_type(self, t)
8121 
8122  def get_element(self):
8123  r"""get_element(Atom self) -> IMP::atom::Element"""
8124  return _IMP_atom.Atom_get_element(self)
8125 
8126  def set_element(self, e):
8127  r"""set_element(Atom self, IMP::atom::Element e)"""
8128  return _IMP_atom.Atom_set_element(self, e)
8129 
8130  def get_occupancy(self):
8131  r"""get_occupancy(Atom self) -> double"""
8132  return _IMP_atom.Atom_get_occupancy(self)
8133 
8134  def set_occupancy(self, occupancy):
8135  r"""set_occupancy(Atom self, double occupancy)"""
8136  return _IMP_atom.Atom_set_occupancy(self, occupancy)
8137 
8138  def get_temperature_factor(self):
8139  r"""get_temperature_factor(Atom self) -> double"""
8140  return _IMP_atom.Atom_get_temperature_factor(self)
8141 
8142  def set_temperature_factor(self, tempFactor):
8143  r"""set_temperature_factor(Atom self, double tempFactor)"""
8144  return _IMP_atom.Atom_set_temperature_factor(self, tempFactor)
8145 
8146  def get_input_index(self):
8147  r"""get_input_index(Atom self) -> IMP::Int"""
8148  return _IMP_atom.Atom_get_input_index(self)
8149 
8150  def set_input_index(self, t):
8151  r"""set_input_index(Atom self, IMP::Int t)"""
8152  return _IMP_atom.Atom_set_input_index(self, t)
8153 
8154  @staticmethod
8155  def get_atom_type_key():
8156  r"""get_atom_type_key() -> IntKey"""
8157  return _IMP_atom.Atom_get_atom_type_key()
8158 
8159  @staticmethod
8160  def get_element_key():
8161  r"""get_element_key() -> IntKey"""
8162  return _IMP_atom.Atom_get_element_key()
8163 
8164  @staticmethod
8165  def get_input_index_key():
8166  r"""get_input_index_key() -> IntKey"""
8167  return _IMP_atom.Atom_get_input_index_key()
8168 
8169  @staticmethod
8170  def get_occupancy_key():
8171  r"""get_occupancy_key() -> FloatKey"""
8172  return _IMP_atom.Atom_get_occupancy_key()
8173 
8174  @staticmethod
8175  def get_temperature_factor_key():
8176  r"""get_temperature_factor_key() -> FloatKey"""
8177  return _IMP_atom.Atom_get_temperature_factor_key()
8178 
8179  def add_attribute(self, *args):
8180  r"""
8181  add_attribute(Atom self, FloatKey k, IMP::Float v, bool opt)
8182  add_attribute(Atom self, FloatKey a0, IMP::Float a1)
8183  add_attribute(Atom self, IntKey a0, IMP::Int a1)
8184  add_attribute(Atom self, FloatsKey a0, IMP::Floats a1)
8185  add_attribute(Atom self, IntsKey a0, IMP::Ints a1)
8186  add_attribute(Atom self, StringKey a0, IMP::String a1)
8187  add_attribute(Atom self, ParticleIndexKey a0, Particle a1)
8188  add_attribute(Atom self, ObjectKey a0, Object a1)
8189  add_attribute(Atom self, SparseFloatKey a0, IMP::Float a1)
8190  add_attribute(Atom self, SparseIntKey a0, IMP::Int a1)
8191  add_attribute(Atom self, SparseStringKey a0, IMP::String a1)
8192  add_attribute(Atom self, SparseParticleIndexKey a0, ParticleIndex a1)
8193  """
8194  return _IMP_atom.Atom_add_attribute(self, *args)
8195 
8196  def get_value(self, *args):
8197  r"""
8198  get_value(Atom self, FloatKey a0) -> IMP::Float
8199  get_value(Atom self, IntKey a0) -> IMP::Int
8200  get_value(Atom self, FloatsKey a0) -> IMP::Floats
8201  get_value(Atom self, IntsKey a0) -> IMP::Ints
8202  get_value(Atom self, StringKey a0) -> IMP::String
8203  get_value(Atom self, ParticleIndexKey a0) -> Particle
8204  get_value(Atom self, ObjectKey a0) -> Object
8205  get_value(Atom self, SparseFloatKey a0) -> IMP::Float
8206  get_value(Atom self, SparseIntKey a0) -> IMP::Int
8207  get_value(Atom self, SparseStringKey a0) -> IMP::String
8208  get_value(Atom self, SparseParticleIndexKey a0) -> ParticleIndex
8209  """
8210  return _IMP_atom.Atom_get_value(self, *args)
8211 
8212  def set_value(self, *args):
8213  r"""
8214  set_value(Atom self, FloatKey a0, IMP::Float a1)
8215  set_value(Atom self, IntKey a0, IMP::Int a1)
8216  set_value(Atom self, FloatsKey a0, IMP::Floats a1)
8217  set_value(Atom self, IntsKey a0, IMP::Ints a1)
8218  set_value(Atom self, StringKey a0, IMP::String a1)
8219  set_value(Atom self, ParticleIndexKey a0, Particle a1)
8220  set_value(Atom self, ObjectKey a0, Object a1)
8221  set_value(Atom self, SparseFloatKey a0, IMP::Float a1)
8222  set_value(Atom self, SparseIntKey a0, IMP::Int a1)
8223  set_value(Atom self, SparseStringKey a0, IMP::String a1)
8224  set_value(Atom self, SparseParticleIndexKey a0, ParticleIndex a1)
8225  """
8226  return _IMP_atom.Atom_set_value(self, *args)
8227 
8228  def remove_attribute(self, *args):
8229  r"""
8230  remove_attribute(Atom self, FloatKey a0)
8231  remove_attribute(Atom self, IntKey a0)
8232  remove_attribute(Atom self, FloatsKey a0)
8233  remove_attribute(Atom self, IntsKey a0)
8234  remove_attribute(Atom self, StringKey a0)
8235  remove_attribute(Atom self, ParticleIndexKey a0)
8236  remove_attribute(Atom self, ObjectKey a0)
8237  remove_attribute(Atom self, SparseFloatKey a0)
8238  remove_attribute(Atom self, SparseIntKey a0)
8239  remove_attribute(Atom self, SparseStringKey a0)
8240  remove_attribute(Atom self, SparseParticleIndexKey a0)
8241  """
8242  return _IMP_atom.Atom_remove_attribute(self, *args)
8243 
8244  def has_attribute(self, *args):
8245  r"""
8246  has_attribute(Atom self, FloatKey a0) -> bool
8247  has_attribute(Atom self, IntKey a0) -> bool
8248  has_attribute(Atom self, FloatsKey a0) -> bool
8249  has_attribute(Atom self, IntsKey a0) -> bool
8250  has_attribute(Atom self, StringKey a0) -> bool
8251  has_attribute(Atom self, ParticleIndexKey a0) -> bool
8252  has_attribute(Atom self, ObjectKey a0) -> bool
8253  has_attribute(Atom self, SparseFloatKey a0) -> bool
8254  has_attribute(Atom self, SparseIntKey a0) -> bool
8255  has_attribute(Atom self, SparseStringKey a0) -> bool
8256  has_attribute(Atom self, SparseParticleIndexKey a0) -> bool
8257  """
8258  return _IMP_atom.Atom_has_attribute(self, *args)
8259 
8260  def get_derivative(self, a0):
8261  r"""get_derivative(Atom self, FloatKey a0) -> double"""
8262  return _IMP_atom.Atom_get_derivative(self, a0)
8263 
8264  def get_name(self):
8265  r"""get_name(Atom self) -> std::string"""
8266  return _IMP_atom.Atom_get_name(self)
8267 
8268  def clear_caches(self):
8269  r"""clear_caches(Atom self)"""
8270  return _IMP_atom.Atom_clear_caches(self)
8271 
8272  def set_name(self, a0):
8273  r"""set_name(Atom self, std::string a0)"""
8274  return _IMP_atom.Atom_set_name(self, a0)
8275 
8276  def set_check_level(self, a0):
8277  r"""set_check_level(Atom self, IMP::CheckLevel a0)"""
8278  return _IMP_atom.Atom_set_check_level(self, a0)
8279 
8280  def add_to_derivative(self, a0, a1, a2):
8281  r"""add_to_derivative(Atom self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8282  return _IMP_atom.Atom_add_to_derivative(self, a0, a1, a2)
8283 
8284  def set_is_optimized(self, a0, a1):
8285  r"""set_is_optimized(Atom self, FloatKey a0, bool a1)"""
8286  return _IMP_atom.Atom_set_is_optimized(self, a0, a1)
8287 
8288  def get_is_optimized(self, a0):
8289  r"""get_is_optimized(Atom self, FloatKey a0) -> bool"""
8290  return _IMP_atom.Atom_get_is_optimized(self, a0)
8291 
8292  def get_check_level(self):
8293  r"""get_check_level(Atom self) -> IMP::CheckLevel"""
8294  return _IMP_atom.Atom_get_check_level(self)
8295 
8296  def __eq__(self, *args):
8297  r"""
8298  __eq__(Atom self, Atom o) -> bool
8299  __eq__(Atom self, Particle d) -> bool
8300  """
8301  return _IMP_atom.Atom___eq__(self, *args)
8302 
8303  def __ne__(self, *args):
8304  r"""
8305  __ne__(Atom self, Atom o) -> bool
8306  __ne__(Atom self, Particle d) -> bool
8307  """
8308  return _IMP_atom.Atom___ne__(self, *args)
8309 
8310  def __le__(self, *args):
8311  r"""
8312  __le__(Atom self, Atom o) -> bool
8313  __le__(Atom self, Particle d) -> bool
8314  """
8315  return _IMP_atom.Atom___le__(self, *args)
8316 
8317  def __lt__(self, *args):
8318  r"""
8319  __lt__(Atom self, Atom o) -> bool
8320  __lt__(Atom self, Particle d) -> bool
8321  """
8322  return _IMP_atom.Atom___lt__(self, *args)
8323 
8324  def __ge__(self, *args):
8325  r"""
8326  __ge__(Atom self, Atom o) -> bool
8327  __ge__(Atom self, Particle d) -> bool
8328  """
8329  return _IMP_atom.Atom___ge__(self, *args)
8330 
8331  def __gt__(self, *args):
8332  r"""
8333  __gt__(Atom self, Atom o) -> bool
8334  __gt__(Atom self, Particle d) -> bool
8335  """
8336  return _IMP_atom.Atom___gt__(self, *args)
8337 
8338  def __hash__(self):
8339  r"""__hash__(Atom self) -> std::size_t"""
8340  return _IMP_atom.Atom___hash__(self)
8341 
8342  def __str__(self):
8343  r"""__str__(Atom self) -> std::string"""
8344  return _IMP_atom.Atom___str__(self)
8345 
8346  def __repr__(self):
8347  r"""__repr__(Atom self) -> std::string"""
8348  return _IMP_atom.Atom___repr__(self)
8349 
8350  def _get_as_binary(self):
8351  r"""_get_as_binary(Atom self) -> PyObject *"""
8352  return _IMP_atom.Atom__get_as_binary(self)
8353 
8354  def _set_from_binary(self, p):
8355  r"""_set_from_binary(Atom self, PyObject * p)"""
8356  return _IMP_atom.Atom__set_from_binary(self, p)
8357 
8358  def __getstate__(self):
8359  p = self._get_as_binary()
8360  if len(self.__dict__) > 1:
8361  d = self.__dict__.copy()
8362  del d['this']
8363  p = (d, p)
8364  return p
8365 
8366  def __setstate__(self, p):
8367  if not hasattr(self, 'this'):
8368  self.__init__()
8369  if isinstance(p, tuple):
8370  d, p = p
8371  self.__dict__.update(d)
8372  return self._set_from_binary(p)
8373 
8374  __swig_destroy__ = _IMP_atom.delete_Atom
8375 
8376 # Register Atom in _IMP_atom:
8377 _IMP_atom.Atom_swigregister(Atom)
8378 cvar = _IMP_atom.cvar
8379 AT_UNKNOWN = cvar.AT_UNKNOWN
8380 AT_N = cvar.AT_N
8381 AT_CA = cvar.AT_CA
8382 AT_C = cvar.AT_C
8383 AT_O = cvar.AT_O
8384 AT_H = cvar.AT_H
8385 AT_H1 = cvar.AT_H1
8386 AT_H2 = cvar.AT_H2
8387 AT_H3 = cvar.AT_H3
8388 AT_HA = cvar.AT_HA
8389 AT_HA1 = cvar.AT_HA1
8390 AT_HA2 = cvar.AT_HA2
8391 AT_HA3 = cvar.AT_HA3
8392 AT_CB = cvar.AT_CB
8393 AT_HB = cvar.AT_HB
8394 AT_HB1 = cvar.AT_HB1
8395 AT_HB2 = cvar.AT_HB2
8396 AT_HB3 = cvar.AT_HB3
8397 AT_OXT = cvar.AT_OXT
8398 AT_CH3 = cvar.AT_CH3
8399 AT_CH = cvar.AT_CH
8400 AT_CG = cvar.AT_CG
8401 AT_CG1 = cvar.AT_CG1
8402 AT_CG2 = cvar.AT_CG2
8403 AT_HG = cvar.AT_HG
8404 AT_HG1 = cvar.AT_HG1
8405 AT_HG2 = cvar.AT_HG2
8406 AT_HG3 = cvar.AT_HG3
8407 AT_HG11 = cvar.AT_HG11
8408 AT_HG21 = cvar.AT_HG21
8409 AT_HG31 = cvar.AT_HG31
8410 AT_HG12 = cvar.AT_HG12
8411 AT_HG13 = cvar.AT_HG13
8412 AT_HG22 = cvar.AT_HG22
8413 AT_HG23 = cvar.AT_HG23
8414 AT_HG32 = cvar.AT_HG32
8415 AT_OG = cvar.AT_OG
8416 AT_OG1 = cvar.AT_OG1
8417 AT_SG = cvar.AT_SG
8418 AT_CD = cvar.AT_CD
8419 AT_CD1 = cvar.AT_CD1
8420 AT_CD2 = cvar.AT_CD2
8421 AT_HD = cvar.AT_HD
8422 AT_HD1 = cvar.AT_HD1
8423 AT_HD2 = cvar.AT_HD2
8424 AT_HD3 = cvar.AT_HD3
8425 AT_HD11 = cvar.AT_HD11
8426 AT_HD21 = cvar.AT_HD21
8427 AT_HD31 = cvar.AT_HD31
8428 AT_HD12 = cvar.AT_HD12
8429 AT_HD13 = cvar.AT_HD13
8430 AT_HD22 = cvar.AT_HD22
8431 AT_HD23 = cvar.AT_HD23
8432 AT_HD32 = cvar.AT_HD32
8433 AT_SD = cvar.AT_SD
8434 AT_OD1 = cvar.AT_OD1
8435 AT_OD2 = cvar.AT_OD2
8436 AT_ND1 = cvar.AT_ND1
8437 AT_ND2 = cvar.AT_ND2
8438 AT_CE = cvar.AT_CE
8439 AT_CE1 = cvar.AT_CE1
8440 AT_CE2 = cvar.AT_CE2
8441 AT_CE3 = cvar.AT_CE3
8442 AT_HE = cvar.AT_HE
8443 AT_HE1 = cvar.AT_HE1
8444 AT_HE2 = cvar.AT_HE2
8445 AT_HE3 = cvar.AT_HE3
8446 AT_HE21 = cvar.AT_HE21
8447 AT_HE22 = cvar.AT_HE22
8448 AT_OE1 = cvar.AT_OE1
8449 AT_OE2 = cvar.AT_OE2
8450 AT_NE = cvar.AT_NE
8451 AT_NE1 = cvar.AT_NE1
8452 AT_NE2 = cvar.AT_NE2
8453 AT_CZ = cvar.AT_CZ
8454 AT_CZ2 = cvar.AT_CZ2
8455 AT_CZ3 = cvar.AT_CZ3
8456 AT_NZ = cvar.AT_NZ
8457 AT_HZ = cvar.AT_HZ
8458 AT_HZ1 = cvar.AT_HZ1
8459 AT_HZ2 = cvar.AT_HZ2
8460 AT_HZ3 = cvar.AT_HZ3
8461 AT_CH2 = cvar.AT_CH2
8462 AT_NH1 = cvar.AT_NH1
8463 AT_NH2 = cvar.AT_NH2
8464 AT_OH = cvar.AT_OH
8465 AT_HH = cvar.AT_HH
8466 AT_HH11 = cvar.AT_HH11
8467 AT_HH21 = cvar.AT_HH21
8468 AT_HH2 = cvar.AT_HH2
8469 AT_HH12 = cvar.AT_HH12
8470 AT_HH22 = cvar.AT_HH22
8471 AT_HH13 = cvar.AT_HH13
8472 AT_HH23 = cvar.AT_HH23
8473 AT_HH33 = cvar.AT_HH33
8474 AT_P = cvar.AT_P
8475 AT_OP1 = cvar.AT_OP1
8476 AT_OP2 = cvar.AT_OP2
8477 AT_OP3 = cvar.AT_OP3
8478 AT_O5p = cvar.AT_O5p
8479 AT_C5p = cvar.AT_C5p
8480 AT_H5p = cvar.AT_H5p
8481 AT_H5pp = cvar.AT_H5pp
8482 AT_C4p = cvar.AT_C4p
8483 AT_H4p = cvar.AT_H4p
8484 AT_O4p = cvar.AT_O4p
8485 AT_C1p = cvar.AT_C1p
8486 AT_H1p = cvar.AT_H1p
8487 AT_C3p = cvar.AT_C3p
8488 AT_H3p = cvar.AT_H3p
8489 AT_O3p = cvar.AT_O3p
8490 AT_C2p = cvar.AT_C2p
8491 AT_H2p = cvar.AT_H2p
8492 AT_H2pp = cvar.AT_H2pp
8493 AT_O2p = cvar.AT_O2p
8494 AT_HO2p = cvar.AT_HO2p
8495 AT_N9 = cvar.AT_N9
8496 AT_C8 = cvar.AT_C8
8497 AT_H8 = cvar.AT_H8
8498 AT_N7 = cvar.AT_N7
8499 AT_C5 = cvar.AT_C5
8500 AT_C4 = cvar.AT_C4
8501 AT_N3 = cvar.AT_N3
8502 AT_C2 = cvar.AT_C2
8503 AT_N1 = cvar.AT_N1
8504 AT_C6 = cvar.AT_C6
8505 AT_N6 = cvar.AT_N6
8506 AT_H61 = cvar.AT_H61
8507 AT_H62 = cvar.AT_H62
8508 AT_O6 = cvar.AT_O6
8509 AT_N2 = cvar.AT_N2
8510 AT_NT = cvar.AT_NT
8511 AT_H21 = cvar.AT_H21
8512 AT_H22 = cvar.AT_H22
8513 AT_H6 = cvar.AT_H6
8514 AT_H5 = cvar.AT_H5
8515 AT_O2 = cvar.AT_O2
8516 AT_N4 = cvar.AT_N4
8517 AT_H41 = cvar.AT_H41
8518 AT_H42 = cvar.AT_H42
8519 AT_O4 = cvar.AT_O4
8520 AT_C7 = cvar.AT_C7
8521 AT_H71 = cvar.AT_H71
8522 AT_H72 = cvar.AT_H72
8523 AT_H73 = cvar.AT_H73
8524 AT_O1A = cvar.AT_O1A
8525 AT_O2A = cvar.AT_O2A
8526 AT_O3A = cvar.AT_O3A
8527 AT_O1B = cvar.AT_O1B
8528 AT_O2B = cvar.AT_O2B
8529 AT_O3B = cvar.AT_O3B
8530 AT_CAY = cvar.AT_CAY
8531 AT_CY = cvar.AT_CY
8532 AT_OY = cvar.AT_OY
8533 AT_CAT = cvar.AT_CAT
8534 
8535 
8536 def get_residue(*args):
8537  r"""
8538  get_residue(Hierarchy mhd, unsigned int index) -> Hierarchy
8539  get_residue(Atom d, bool nothrow=False) -> Residue
8540  """
8541  return _IMP_atom.get_residue(*args)
8542 
8543 def get_atom(rd, at):
8544  r"""get_atom(Residue rd, AtomType at) -> Atom"""
8545  return _IMP_atom.get_atom(rd, at)
8546 
8547 def add_atom_type(name, e):
8548  r"""add_atom_type(std::string name, IMP::atom::Element e) -> AtomType"""
8549  return _IMP_atom.add_atom_type(name, e)
8550 
8551 def get_element_for_atom_type(at):
8552  r"""get_element_for_atom_type(AtomType at) -> IMP::atom::Element"""
8553  return _IMP_atom.get_element_for_atom_type(at)
8554 
8555 def get_atom_type_exists(name):
8556  r"""get_atom_type_exists(std::string name) -> bool"""
8557  return _IMP_atom.get_atom_type_exists(name)
8558 class Residue(Hierarchy):
8559  r"""Proxy of C++ IMP::atom::Residue class."""
8560 
8561  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8562 
8563  def __init__(self, *args):
8564  r"""
8565  __init__(Residue self) -> Residue
8566  __init__(Residue self, Model m, ParticleIndex id) -> Residue
8567  __init__(Residue self, _ParticleAdaptor d) -> Residue
8568  """
8569  _IMP_atom.Residue_swiginit(self, _IMP_atom.new_Residue(*args))
8570 
8571  def show(self, *args):
8572  r"""show(Residue self, _ostream out=std::cout)"""
8573  return _IMP_atom.Residue_show(self, *args)
8574 
8575  @staticmethod
8576  def setup_particle(*args):
8577  r"""
8578  setup_particle(Model m, ParticleIndex pi, ResidueType t, int index, int insertion_code) -> Residue
8579  setup_particle(_ParticleAdaptor pa, ResidueType t, int index, int insertion_code) -> Residue
8580  setup_particle(Model m, ParticleIndex pi, ResidueType t, int index) -> Residue
8581  setup_particle(_ParticleAdaptor pa, ResidueType t, int index) -> Residue
8582  setup_particle(Model m, ParticleIndex pi, ResidueType t) -> Residue
8583  setup_particle(_ParticleAdaptor pa, ResidueType t) -> Residue
8584  setup_particle(Model m, ParticleIndex pi, Residue other) -> Residue
8585  setup_particle(_ParticleAdaptor pa, Residue other) -> Residue
8586  """
8587  return _IMP_atom.Residue_setup_particle(*args)
8588 
8589  @staticmethod
8590  def get_is_setup(*args):
8591  r"""
8592  get_is_setup(_ParticleAdaptor p) -> bool
8593  get_is_setup(Model m, ParticleIndex pi) -> bool
8594  """
8595  return _IMP_atom.Residue_get_is_setup(*args)
8596 
8597  def get_residue_type(self):
8598  r"""get_residue_type(Residue self) -> ResidueType"""
8599  return _IMP_atom.Residue_get_residue_type(self)
8600 
8601  def set_residue_type(self, t):
8602  r"""set_residue_type(Residue self, ResidueType t)"""
8603  return _IMP_atom.Residue_set_residue_type(self, t)
8604 
8605  def get_is_protein(self):
8606  r"""get_is_protein(Residue self) -> bool"""
8607  return _IMP_atom.Residue_get_is_protein(self)
8608 
8609  def get_is_dna(self):
8610  r"""get_is_dna(Residue self) -> bool"""
8611  return _IMP_atom.Residue_get_is_dna(self)
8612 
8613  def get_is_rna(self):
8614  r"""get_is_rna(Residue self) -> bool"""
8615  return _IMP_atom.Residue_get_is_rna(self)
8616 
8617  def get_index(self):
8618  r"""get_index(Residue self) -> IMP::Int"""
8619  return _IMP_atom.Residue_get_index(self)
8620 
8621  def set_index(self, t):
8622  r"""set_index(Residue self, IMP::Int t)"""
8623  return _IMP_atom.Residue_set_index(self, t)
8624 
8625  def get_insertion_code(self):
8626  r"""get_insertion_code(Residue self) -> char"""
8627  return _IMP_atom.Residue_get_insertion_code(self)
8628 
8629  def set_insertion_code(self, insertion_code):
8630  r"""set_insertion_code(Residue self, char insertion_code)"""
8631  return _IMP_atom.Residue_set_insertion_code(self, insertion_code)
8632 
8633  @staticmethod
8634  def get_index_key():
8635  r"""get_index_key() -> IntKey"""
8636  return _IMP_atom.Residue_get_index_key()
8637 
8638  @staticmethod
8639  def get_residue_type_key():
8640  r"""get_residue_type_key() -> IntKey"""
8641  return _IMP_atom.Residue_get_residue_type_key()
8642 
8643  @staticmethod
8644  def get_insertion_code_key():
8645  r"""get_insertion_code_key() -> IntKey"""
8646  return _IMP_atom.Residue_get_insertion_code_key()
8647 
8648  @staticmethod
8649  def get_type_changed_key():
8650  r"""get_type_changed_key() -> TriggerKey"""
8651  return _IMP_atom.Residue_get_type_changed_key()
8652 
8653  def add_attribute(self, *args):
8654  r"""
8655  add_attribute(Residue self, FloatKey k, IMP::Float v, bool opt)
8656  add_attribute(Residue self, FloatKey a0, IMP::Float a1)
8657  add_attribute(Residue self, IntKey a0, IMP::Int a1)
8658  add_attribute(Residue self, FloatsKey a0, IMP::Floats a1)
8659  add_attribute(Residue self, IntsKey a0, IMP::Ints a1)
8660  add_attribute(Residue self, StringKey a0, IMP::String a1)
8661  add_attribute(Residue self, ParticleIndexKey a0, Particle a1)
8662  add_attribute(Residue self, ObjectKey a0, Object a1)
8663  add_attribute(Residue self, SparseFloatKey a0, IMP::Float a1)
8664  add_attribute(Residue self, SparseIntKey a0, IMP::Int a1)
8665  add_attribute(Residue self, SparseStringKey a0, IMP::String a1)
8666  add_attribute(Residue self, SparseParticleIndexKey a0, ParticleIndex a1)
8667  """
8668  return _IMP_atom.Residue_add_attribute(self, *args)
8669 
8670  def get_value(self, *args):
8671  r"""
8672  get_value(Residue self, FloatKey a0) -> IMP::Float
8673  get_value(Residue self, IntKey a0) -> IMP::Int
8674  get_value(Residue self, FloatsKey a0) -> IMP::Floats
8675  get_value(Residue self, IntsKey a0) -> IMP::Ints
8676  get_value(Residue self, StringKey a0) -> IMP::String
8677  get_value(Residue self, ParticleIndexKey a0) -> Particle
8678  get_value(Residue self, ObjectKey a0) -> Object
8679  get_value(Residue self, SparseFloatKey a0) -> IMP::Float
8680  get_value(Residue self, SparseIntKey a0) -> IMP::Int
8681  get_value(Residue self, SparseStringKey a0) -> IMP::String
8682  get_value(Residue self, SparseParticleIndexKey a0) -> ParticleIndex
8683  """
8684  return _IMP_atom.Residue_get_value(self, *args)
8685 
8686  def set_value(self, *args):
8687  r"""
8688  set_value(Residue self, FloatKey a0, IMP::Float a1)
8689  set_value(Residue self, IntKey a0, IMP::Int a1)
8690  set_value(Residue self, FloatsKey a0, IMP::Floats a1)
8691  set_value(Residue self, IntsKey a0, IMP::Ints a1)
8692  set_value(Residue self, StringKey a0, IMP::String a1)
8693  set_value(Residue self, ParticleIndexKey a0, Particle a1)
8694  set_value(Residue self, ObjectKey a0, Object a1)
8695  set_value(Residue self, SparseFloatKey a0, IMP::Float a1)
8696  set_value(Residue self, SparseIntKey a0, IMP::Int a1)
8697  set_value(Residue self, SparseStringKey a0, IMP::String a1)
8698  set_value(Residue self, SparseParticleIndexKey a0, ParticleIndex a1)
8699  """
8700  return _IMP_atom.Residue_set_value(self, *args)
8701 
8702  def remove_attribute(self, *args):
8703  r"""
8704  remove_attribute(Residue self, FloatKey a0)
8705  remove_attribute(Residue self, IntKey a0)
8706  remove_attribute(Residue self, FloatsKey a0)
8707  remove_attribute(Residue self, IntsKey a0)
8708  remove_attribute(Residue self, StringKey a0)
8709  remove_attribute(Residue self, ParticleIndexKey a0)
8710  remove_attribute(Residue self, ObjectKey a0)
8711  remove_attribute(Residue self, SparseFloatKey a0)
8712  remove_attribute(Residue self, SparseIntKey a0)
8713  remove_attribute(Residue self, SparseStringKey a0)
8714  remove_attribute(Residue self, SparseParticleIndexKey a0)
8715  """
8716  return _IMP_atom.Residue_remove_attribute(self, *args)
8717 
8718  def has_attribute(self, *args):
8719  r"""
8720  has_attribute(Residue self, FloatKey a0) -> bool
8721  has_attribute(Residue self, IntKey a0) -> bool
8722  has_attribute(Residue self, FloatsKey a0) -> bool
8723  has_attribute(Residue self, IntsKey a0) -> bool
8724  has_attribute(Residue self, StringKey a0) -> bool
8725  has_attribute(Residue self, ParticleIndexKey a0) -> bool
8726  has_attribute(Residue self, ObjectKey a0) -> bool
8727  has_attribute(Residue self, SparseFloatKey a0) -> bool
8728  has_attribute(Residue self, SparseIntKey a0) -> bool
8729  has_attribute(Residue self, SparseStringKey a0) -> bool
8730  has_attribute(Residue self, SparseParticleIndexKey a0) -> bool
8731  """
8732  return _IMP_atom.Residue_has_attribute(self, *args)
8733 
8734  def get_derivative(self, a0):
8735  r"""get_derivative(Residue self, FloatKey a0) -> double"""
8736  return _IMP_atom.Residue_get_derivative(self, a0)
8737 
8738  def get_name(self):
8739  r"""get_name(Residue self) -> std::string"""
8740  return _IMP_atom.Residue_get_name(self)
8741 
8742  def clear_caches(self):
8743  r"""clear_caches(Residue self)"""
8744  return _IMP_atom.Residue_clear_caches(self)
8745 
8746  def set_name(self, a0):
8747  r"""set_name(Residue self, std::string a0)"""
8748  return _IMP_atom.Residue_set_name(self, a0)
8749 
8750  def set_check_level(self, a0):
8751  r"""set_check_level(Residue self, IMP::CheckLevel a0)"""
8752  return _IMP_atom.Residue_set_check_level(self, a0)
8753 
8754  def add_to_derivative(self, a0, a1, a2):
8755  r"""add_to_derivative(Residue self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8756  return _IMP_atom.Residue_add_to_derivative(self, a0, a1, a2)
8757 
8758  def set_is_optimized(self, a0, a1):
8759  r"""set_is_optimized(Residue self, FloatKey a0, bool a1)"""
8760  return _IMP_atom.Residue_set_is_optimized(self, a0, a1)
8761 
8762  def get_is_optimized(self, a0):
8763  r"""get_is_optimized(Residue self, FloatKey a0) -> bool"""
8764  return _IMP_atom.Residue_get_is_optimized(self, a0)
8765 
8766  def get_check_level(self):
8767  r"""get_check_level(Residue self) -> IMP::CheckLevel"""
8768  return _IMP_atom.Residue_get_check_level(self)
8769 
8770  def __eq__(self, *args):
8771  r"""
8772  __eq__(Residue self, Residue o) -> bool
8773  __eq__(Residue self, Particle d) -> bool
8774  """
8775  return _IMP_atom.Residue___eq__(self, *args)
8776 
8777  def __ne__(self, *args):
8778  r"""
8779  __ne__(Residue self, Residue o) -> bool
8780  __ne__(Residue self, Particle d) -> bool
8781  """
8782  return _IMP_atom.Residue___ne__(self, *args)
8783 
8784  def __le__(self, *args):
8785  r"""
8786  __le__(Residue self, Residue o) -> bool
8787  __le__(Residue self, Particle d) -> bool
8788  """
8789  return _IMP_atom.Residue___le__(self, *args)
8790 
8791  def __lt__(self, *args):
8792  r"""
8793  __lt__(Residue self, Residue o) -> bool
8794  __lt__(Residue self, Particle d) -> bool
8795  """
8796  return _IMP_atom.Residue___lt__(self, *args)
8797 
8798  def __ge__(self, *args):
8799  r"""
8800  __ge__(Residue self, Residue o) -> bool
8801  __ge__(Residue self, Particle d) -> bool
8802  """
8803  return _IMP_atom.Residue___ge__(self, *args)
8804 
8805  def __gt__(self, *args):
8806  r"""
8807  __gt__(Residue self, Residue o) -> bool
8808  __gt__(Residue self, Particle d) -> bool
8809  """
8810  return _IMP_atom.Residue___gt__(self, *args)
8811 
8812  def __hash__(self):
8813  r"""__hash__(Residue self) -> std::size_t"""
8814  return _IMP_atom.Residue___hash__(self)
8815 
8816  def __str__(self):
8817  r"""__str__(Residue self) -> std::string"""
8818  return _IMP_atom.Residue___str__(self)
8819 
8820  def __repr__(self):
8821  r"""__repr__(Residue self) -> std::string"""
8822  return _IMP_atom.Residue___repr__(self)
8823 
8824  def _get_as_binary(self):
8825  r"""_get_as_binary(Residue self) -> PyObject *"""
8826  return _IMP_atom.Residue__get_as_binary(self)
8827 
8828  def _set_from_binary(self, p):
8829  r"""_set_from_binary(Residue self, PyObject * p)"""
8830  return _IMP_atom.Residue__set_from_binary(self, p)
8831 
8832  def __getstate__(self):
8833  p = self._get_as_binary()
8834  if len(self.__dict__) > 1:
8835  d = self.__dict__.copy()
8836  del d['this']
8837  p = (d, p)
8838  return p
8839 
8840  def __setstate__(self, p):
8841  if not hasattr(self, 'this'):
8842  self.__init__()
8843  if isinstance(p, tuple):
8844  d, p = p
8845  self.__dict__.update(d)
8846  return self._set_from_binary(p)
8847 
8848  __swig_destroy__ = _IMP_atom.delete_Residue
8849 
8850 # Register Residue in _IMP_atom:
8851 _IMP_atom.Residue_swigregister(Residue)
8852 UNK = cvar.UNK
8853 GLY = cvar.GLY
8854 ALA = cvar.ALA
8855 VAL = cvar.VAL
8856 LEU = cvar.LEU
8857 ILE = cvar.ILE
8858 SER = cvar.SER
8859 THR = cvar.THR
8860 CYS = cvar.CYS
8861 MET = cvar.MET
8862 PRO = cvar.PRO
8863 ASP = cvar.ASP
8864 ASN = cvar.ASN
8865 GLU = cvar.GLU
8866 GLN = cvar.GLN
8867 LYS = cvar.LYS
8868 ARG = cvar.ARG
8869 HIS = cvar.HIS
8870 PHE = cvar.PHE
8871 TYR = cvar.TYR
8872 TRP = cvar.TRP
8873 ACE = cvar.ACE
8874 NH2 = cvar.NH2
8875 MSE = cvar.MSE
8876 ADE = cvar.ADE
8877 URA = cvar.URA
8878 CYT = cvar.CYT
8879 GUA = cvar.GUA
8880 THY = cvar.THY
8881 DADE = cvar.DADE
8882 DURA = cvar.DURA
8883 DCYT = cvar.DCYT
8884 DGUA = cvar.DGUA
8885 DTHY = cvar.DTHY
8886 HOH = cvar.HOH
8887 HEME = cvar.HEME
8888 POP = cvar.POP
8889 
8890 
8891 def get_next_residue(rd):
8892  r"""get_next_residue(Residue rd) -> Hierarchy"""
8893  return _IMP_atom.get_next_residue(rd)
8894 
8895 def get_previous_residue(rd):
8896  r"""get_previous_residue(Residue rd) -> Hierarchy"""
8897  return _IMP_atom.get_previous_residue(rd)
8898 
8899 def get_one_letter_code(c):
8900  r"""get_one_letter_code(ResidueType c) -> char"""
8901  return _IMP_atom.get_one_letter_code(c)
8902 BALLS = _IMP_atom.BALLS
8903 
8904 DENSITIES = _IMP_atom.DENSITIES
8905 
8906 class Representation(Hierarchy):
8907  r"""Proxy of C++ IMP::atom::Representation class."""
8908 
8909  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8910 
8911  @staticmethod
8912  def setup_particle(*args):
8913  r"""
8914  setup_particle(Model m, ParticleIndex pi) -> Representation
8915  setup_particle(_ParticleAdaptor pa) -> Representation
8916  setup_particle(Model m, ParticleIndex pi, double resolution) -> Representation
8917  setup_particle(_ParticleAdaptor pa, double resolution) -> Representation
8918  setup_particle(Model m, ParticleIndex pi, Representation other) -> Representation
8919  setup_particle(_ParticleAdaptor pa, Representation other) -> Representation
8920  """
8921  return _IMP_atom.Representation_setup_particle(*args)
8922 
8923  def __init__(self, *args):
8924  r"""
8925  __init__(Representation self) -> Representation
8926  __init__(Representation self, Model m, ParticleIndex id) -> Representation
8927  __init__(Representation self, _ParticleAdaptor d) -> Representation
8928  """
8929  _IMP_atom.Representation_swiginit(self, _IMP_atom.new_Representation(*args))
8930 
8931  def show(self, *args):
8932  r"""show(Representation self, _ostream out=std::cout)"""
8933  return _IMP_atom.Representation_show(self, *args)
8934 
8935  @staticmethod
8936  def get_is_setup(*args):
8937  r"""
8938  get_is_setup(_ParticleAdaptor p) -> bool
8939  get_is_setup(Model m, ParticleIndex pi) -> bool
8940  """
8941  return _IMP_atom.Representation_get_is_setup(*args)
8942 
8943  def get_representation(self, *args):
8944  r"""get_representation(Representation self, double resolution, IMP::atom::RepresentationType type=BALLS) -> Hierarchy"""
8945  return _IMP_atom.Representation_get_representation(self, *args)
8946 
8947  def get_representations(self, *args):
8948  r"""get_representations(Representation self, IMP::atom::RepresentationType type=BALLS) -> IMP::atom::Hierarchies"""
8949  return _IMP_atom.Representation_get_representations(self, *args)
8950 
8951  def add_representation(self, *args):
8952  r"""add_representation(Representation self, _ParticleIndexAdaptor rep, IMP::atom::RepresentationType type=BALLS, double resolution=-1)"""
8953  return _IMP_atom.Representation_add_representation(self, *args)
8954 
8955  def get_resolutions(self, *args):
8956  r"""get_resolutions(Representation self, IMP::atom::RepresentationType type=BALLS) -> IMP::Floats"""
8957  return _IMP_atom.Representation_get_resolutions(self, *args)
8958 
8959  def remove_representation(self, rep):
8960  r"""remove_representation(Representation self, _ParticleIndexAdaptor rep)"""
8961  return _IMP_atom.Representation_remove_representation(self, rep)
8962 
8963  def update_parents(self):
8964  r"""update_parents(Representation self)"""
8965  return _IMP_atom.Representation_update_parents(self)
8966 
8967  def add_attribute(self, *args):
8968  r"""
8969  add_attribute(Representation self, FloatKey k, IMP::Float v, bool opt)
8970  add_attribute(Representation self, FloatKey a0, IMP::Float a1)
8971  add_attribute(Representation self, IntKey a0, IMP::Int a1)
8972  add_attribute(Representation self, FloatsKey a0, IMP::Floats a1)
8973  add_attribute(Representation self, IntsKey a0, IMP::Ints a1)
8974  add_attribute(Representation self, StringKey a0, IMP::String a1)
8975  add_attribute(Representation self, ParticleIndexKey a0, Particle a1)
8976  add_attribute(Representation self, ObjectKey a0, Object a1)
8977  add_attribute(Representation self, SparseFloatKey a0, IMP::Float a1)
8978  add_attribute(Representation self, SparseIntKey a0, IMP::Int a1)
8979  add_attribute(Representation self, SparseStringKey a0, IMP::String a1)
8980  add_attribute(Representation self, SparseParticleIndexKey a0, ParticleIndex a1)
8981  """
8982  return _IMP_atom.Representation_add_attribute(self, *args)
8983 
8984  def get_value(self, *args):
8985  r"""
8986  get_value(Representation self, FloatKey a0) -> IMP::Float
8987  get_value(Representation self, IntKey a0) -> IMP::Int
8988  get_value(Representation self, FloatsKey a0) -> IMP::Floats
8989  get_value(Representation self, IntsKey a0) -> IMP::Ints
8990  get_value(Representation self, StringKey a0) -> IMP::String
8991  get_value(Representation self, ParticleIndexKey a0) -> Particle
8992  get_value(Representation self, ObjectKey a0) -> Object
8993  get_value(Representation self, SparseFloatKey a0) -> IMP::Float
8994  get_value(Representation self, SparseIntKey a0) -> IMP::Int
8995  get_value(Representation self, SparseStringKey a0) -> IMP::String
8996  get_value(Representation self, SparseParticleIndexKey a0) -> ParticleIndex
8997  """
8998  return _IMP_atom.Representation_get_value(self, *args)
8999 
9000  def set_value(self, *args):
9001  r"""
9002  set_value(Representation self, FloatKey a0, IMP::Float a1)
9003  set_value(Representation self, IntKey a0, IMP::Int a1)
9004  set_value(Representation self, FloatsKey a0, IMP::Floats a1)
9005  set_value(Representation self, IntsKey a0, IMP::Ints a1)
9006  set_value(Representation self, StringKey a0, IMP::String a1)
9007  set_value(Representation self, ParticleIndexKey a0, Particle a1)
9008  set_value(Representation self, ObjectKey a0, Object a1)
9009  set_value(Representation self, SparseFloatKey a0, IMP::Float a1)
9010  set_value(Representation self, SparseIntKey a0, IMP::Int a1)
9011  set_value(Representation self, SparseStringKey a0, IMP::String a1)
9012  set_value(Representation self, SparseParticleIndexKey a0, ParticleIndex a1)
9013  """
9014  return _IMP_atom.Representation_set_value(self, *args)
9015 
9016  def remove_attribute(self, *args):
9017  r"""
9018  remove_attribute(Representation self, FloatKey a0)
9019  remove_attribute(Representation self, IntKey a0)
9020  remove_attribute(Representation self, FloatsKey a0)
9021  remove_attribute(Representation self, IntsKey a0)
9022  remove_attribute(Representation self, StringKey a0)
9023  remove_attribute(Representation self, ParticleIndexKey a0)
9024  remove_attribute(Representation self, ObjectKey a0)
9025  remove_attribute(Representation self, SparseFloatKey a0)
9026  remove_attribute(Representation self, SparseIntKey a0)
9027  remove_attribute(Representation self, SparseStringKey a0)
9028  remove_attribute(Representation self, SparseParticleIndexKey a0)
9029  """
9030  return _IMP_atom.Representation_remove_attribute(self, *args)
9031 
9032  def has_attribute(self, *args):
9033  r"""
9034  has_attribute(Representation self, FloatKey a0) -> bool
9035  has_attribute(Representation self, IntKey a0) -> bool
9036  has_attribute(Representation self, FloatsKey a0) -> bool
9037  has_attribute(Representation self, IntsKey a0) -> bool
9038  has_attribute(Representation self, StringKey a0) -> bool
9039  has_attribute(Representation self, ParticleIndexKey a0) -> bool
9040  has_attribute(Representation self, ObjectKey a0) -> bool
9041  has_attribute(Representation self, SparseFloatKey a0) -> bool
9042  has_attribute(Representation self, SparseIntKey a0) -> bool
9043  has_attribute(Representation self, SparseStringKey a0) -> bool
9044  has_attribute(Representation self, SparseParticleIndexKey a0) -> bool
9045  """
9046  return _IMP_atom.Representation_has_attribute(self, *args)
9047 
9048  def get_derivative(self, a0):
9049  r"""get_derivative(Representation self, FloatKey a0) -> double"""
9050  return _IMP_atom.Representation_get_derivative(self, a0)
9051 
9052  def get_name(self):
9053  r"""get_name(Representation self) -> std::string"""
9054  return _IMP_atom.Representation_get_name(self)
9055 
9056  def clear_caches(self):
9057  r"""clear_caches(Representation self)"""
9058  return _IMP_atom.Representation_clear_caches(self)
9059 
9060  def set_name(self, a0):
9061  r"""set_name(Representation self, std::string a0)"""
9062  return _IMP_atom.Representation_set_name(self, a0)
9063 
9064  def set_check_level(self, a0):
9065  r"""set_check_level(Representation self, IMP::CheckLevel a0)"""
9066  return _IMP_atom.Representation_set_check_level(self, a0)
9067 
9068  def add_to_derivative(self, a0, a1, a2):
9069  r"""add_to_derivative(Representation self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9070  return _IMP_atom.Representation_add_to_derivative(self, a0, a1, a2)
9071 
9072  def set_is_optimized(self, a0, a1):
9073  r"""set_is_optimized(Representation self, FloatKey a0, bool a1)"""
9074  return _IMP_atom.Representation_set_is_optimized(self, a0, a1)
9075 
9076  def get_is_optimized(self, a0):
9077  r"""get_is_optimized(Representation self, FloatKey a0) -> bool"""
9078  return _IMP_atom.Representation_get_is_optimized(self, a0)
9079 
9080  def get_check_level(self):
9081  r"""get_check_level(Representation self) -> IMP::CheckLevel"""
9082  return _IMP_atom.Representation_get_check_level(self)
9083 
9084  def __eq__(self, *args):
9085  r"""
9086  __eq__(Representation self, Representation o) -> bool
9087  __eq__(Representation self, Particle d) -> bool
9088  """
9089  return _IMP_atom.Representation___eq__(self, *args)
9090 
9091  def __ne__(self, *args):
9092  r"""
9093  __ne__(Representation self, Representation o) -> bool
9094  __ne__(Representation self, Particle d) -> bool
9095  """
9096  return _IMP_atom.Representation___ne__(self, *args)
9097 
9098  def __le__(self, *args):
9099  r"""
9100  __le__(Representation self, Representation o) -> bool
9101  __le__(Representation self, Particle d) -> bool
9102  """
9103  return _IMP_atom.Representation___le__(self, *args)
9104 
9105  def __lt__(self, *args):
9106  r"""
9107  __lt__(Representation self, Representation o) -> bool
9108  __lt__(Representation self, Particle d) -> bool
9109  """
9110  return _IMP_atom.Representation___lt__(self, *args)
9111 
9112  def __ge__(self, *args):
9113  r"""
9114  __ge__(Representation self, Representation o) -> bool
9115  __ge__(Representation self, Particle d) -> bool
9116  """
9117  return _IMP_atom.Representation___ge__(self, *args)
9118 
9119  def __gt__(self, *args):
9120  r"""
9121  __gt__(Representation self, Representation o) -> bool
9122  __gt__(Representation self, Particle d) -> bool
9123  """
9124  return _IMP_atom.Representation___gt__(self, *args)
9125 
9126  def __hash__(self):
9127  r"""__hash__(Representation self) -> std::size_t"""
9128  return _IMP_atom.Representation___hash__(self)
9129 
9130  def __str__(self):
9131  r"""__str__(Representation self) -> std::string"""
9132  return _IMP_atom.Representation___str__(self)
9133 
9134  def __repr__(self):
9135  r"""__repr__(Representation self) -> std::string"""
9136  return _IMP_atom.Representation___repr__(self)
9137 
9138  def _get_as_binary(self):
9139  r"""_get_as_binary(Representation self) -> PyObject *"""
9140  return _IMP_atom.Representation__get_as_binary(self)
9141 
9142  def _set_from_binary(self, p):
9143  r"""_set_from_binary(Representation self, PyObject * p)"""
9144  return _IMP_atom.Representation__set_from_binary(self, p)
9145 
9146  def __getstate__(self):
9147  p = self._get_as_binary()
9148  if len(self.__dict__) > 1:
9149  d = self.__dict__.copy()
9150  del d['this']
9151  p = (d, p)
9152  return p
9153 
9154  def __setstate__(self, p):
9155  if not hasattr(self, 'this'):
9156  self.__init__()
9157  if isinstance(p, tuple):
9158  d, p = p
9159  self.__dict__.update(d)
9160  return self._set_from_binary(p)
9161 
9162  __swig_destroy__ = _IMP_atom.delete_Representation
9163 
9164 # Register Representation in _IMP_atom:
9165 _IMP_atom.Representation_swigregister(Representation)
9166 ALL_RESOLUTIONS = cvar.ALL_RESOLUTIONS
9167 
9168 
9169 def get_resolution(*args):
9170  r"""
9171  get_resolution(Model m, ParticleIndex pi) -> double
9172  get_resolution(Hierarchy h) -> double
9173  """
9174  return _IMP_atom.get_resolution(*args)
9175 
9176 def get_representation(h, nothrow=False):
9177  r"""get_representation(Hierarchy h, bool nothrow=False) -> Representation"""
9178  return _IMP_atom.get_representation(h, nothrow)
9179 
9180 def show_with_representations(*args):
9181  r"""show_with_representations(Hierarchy h, _ostream out=std::cout)"""
9182  return _IMP_atom.show_with_representations(*args)
9183 class State(Hierarchy):
9184  r"""Proxy of C++ IMP::atom::State class."""
9185 
9186  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9187 
9188  @staticmethod
9189  def setup_particle(*args):
9190  r"""
9191  setup_particle(Model m, ParticleIndex pi, unsigned int index) -> State
9192  setup_particle(_ParticleAdaptor pa, unsigned int index) -> State
9193  setup_particle(Model m, ParticleIndex pi, State other) -> State
9194  setup_particle(_ParticleAdaptor pa, State other) -> State
9195  """
9196  return _IMP_atom.State_setup_particle(*args)
9197 
9198  def __init__(self, *args):
9199  r"""
9200  __init__(State self) -> State
9201  __init__(State self, Model m, ParticleIndex id) -> State
9202  __init__(State self, _ParticleAdaptor d) -> State
9203  """
9204  _IMP_atom.State_swiginit(self, _IMP_atom.new_State(*args))
9205 
9206  def show(self, *args):
9207  r"""show(State self, _ostream out=std::cout)"""
9208  return _IMP_atom.State_show(self, *args)
9209 
9210  @staticmethod
9211  def get_is_setup(*args):
9212  r"""
9213  get_is_setup(_ParticleAdaptor p) -> bool
9214  get_is_setup(Model m, ParticleIndex pi) -> bool
9215  """
9216  return _IMP_atom.State_get_is_setup(*args)
9217 
9218  def get_state_index(self):
9219  r"""get_state_index(State self) -> unsigned int"""
9220  return _IMP_atom.State_get_state_index(self)
9221 
9222  def add_attribute(self, *args):
9223  r"""
9224  add_attribute(State self, FloatKey k, IMP::Float v, bool opt)
9225  add_attribute(State self, FloatKey a0, IMP::Float a1)
9226  add_attribute(State self, IntKey a0, IMP::Int a1)
9227  add_attribute(State self, FloatsKey a0, IMP::Floats a1)
9228  add_attribute(State self, IntsKey a0, IMP::Ints a1)
9229  add_attribute(State self, StringKey a0, IMP::String a1)
9230  add_attribute(State self, ParticleIndexKey a0, Particle a1)
9231  add_attribute(State self, ObjectKey a0, Object a1)
9232  add_attribute(State self, SparseFloatKey a0, IMP::Float a1)
9233  add_attribute(State self, SparseIntKey a0, IMP::Int a1)
9234  add_attribute(State self, SparseStringKey a0, IMP::String a1)
9235  add_attribute(State self, SparseParticleIndexKey a0, ParticleIndex a1)
9236  """
9237  return _IMP_atom.State_add_attribute(self, *args)
9238 
9239  def get_value(self, *args):
9240  r"""
9241  get_value(State self, FloatKey a0) -> IMP::Float
9242  get_value(State self, IntKey a0) -> IMP::Int
9243  get_value(State self, FloatsKey a0) -> IMP::Floats
9244  get_value(State self, IntsKey a0) -> IMP::Ints
9245  get_value(State self, StringKey a0) -> IMP::String
9246  get_value(State self, ParticleIndexKey a0) -> Particle
9247  get_value(State self, ObjectKey a0) -> Object
9248  get_value(State self, SparseFloatKey a0) -> IMP::Float
9249  get_value(State self, SparseIntKey a0) -> IMP::Int
9250  get_value(State self, SparseStringKey a0) -> IMP::String
9251  get_value(State self, SparseParticleIndexKey a0) -> ParticleIndex
9252  """
9253  return _IMP_atom.State_get_value(self, *args)
9254 
9255  def set_value(self, *args):
9256  r"""
9257  set_value(State self, FloatKey a0, IMP::Float a1)
9258  set_value(State self, IntKey a0, IMP::Int a1)
9259  set_value(State self, FloatsKey a0, IMP::Floats a1)
9260  set_value(State self, IntsKey a0, IMP::Ints a1)
9261  set_value(State self, StringKey a0, IMP::String a1)
9262  set_value(State self, ParticleIndexKey a0, Particle a1)
9263  set_value(State self, ObjectKey a0, Object a1)
9264  set_value(State self, SparseFloatKey a0, IMP::Float a1)
9265  set_value(State self, SparseIntKey a0, IMP::Int a1)
9266  set_value(State self, SparseStringKey a0, IMP::String a1)
9267  set_value(State self, SparseParticleIndexKey a0, ParticleIndex a1)
9268  """
9269  return _IMP_atom.State_set_value(self, *args)
9270 
9271  def remove_attribute(self, *args):
9272  r"""
9273  remove_attribute(State self, FloatKey a0)
9274  remove_attribute(State self, IntKey a0)
9275  remove_attribute(State self, FloatsKey a0)
9276  remove_attribute(State self, IntsKey a0)
9277  remove_attribute(State self, StringKey a0)
9278  remove_attribute(State self, ParticleIndexKey a0)
9279  remove_attribute(State self, ObjectKey a0)
9280  remove_attribute(State self, SparseFloatKey a0)
9281  remove_attribute(State self, SparseIntKey a0)
9282  remove_attribute(State self, SparseStringKey a0)
9283  remove_attribute(State self, SparseParticleIndexKey a0)
9284  """
9285  return _IMP_atom.State_remove_attribute(self, *args)
9286 
9287  def has_attribute(self, *args):
9288  r"""
9289  has_attribute(State self, FloatKey a0) -> bool
9290  has_attribute(State self, IntKey a0) -> bool
9291  has_attribute(State self, FloatsKey a0) -> bool
9292  has_attribute(State self, IntsKey a0) -> bool
9293  has_attribute(State self, StringKey a0) -> bool
9294  has_attribute(State self, ParticleIndexKey a0) -> bool
9295  has_attribute(State self, ObjectKey a0) -> bool
9296  has_attribute(State self, SparseFloatKey a0) -> bool
9297  has_attribute(State self, SparseIntKey a0) -> bool
9298  has_attribute(State self, SparseStringKey a0) -> bool
9299  has_attribute(State self, SparseParticleIndexKey a0) -> bool
9300  """
9301  return _IMP_atom.State_has_attribute(self, *args)
9302 
9303  def get_derivative(self, a0):
9304  r"""get_derivative(State self, FloatKey a0) -> double"""
9305  return _IMP_atom.State_get_derivative(self, a0)
9306 
9307  def get_name(self):
9308  r"""get_name(State self) -> std::string"""
9309  return _IMP_atom.State_get_name(self)
9310 
9311  def clear_caches(self):
9312  r"""clear_caches(State self)"""
9313  return _IMP_atom.State_clear_caches(self)
9314 
9315  def set_name(self, a0):
9316  r"""set_name(State self, std::string a0)"""
9317  return _IMP_atom.State_set_name(self, a0)
9318 
9319  def set_check_level(self, a0):
9320  r"""set_check_level(State self, IMP::CheckLevel a0)"""
9321  return _IMP_atom.State_set_check_level(self, a0)
9322 
9323  def add_to_derivative(self, a0, a1, a2):
9324  r"""add_to_derivative(State self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9325  return _IMP_atom.State_add_to_derivative(self, a0, a1, a2)
9326 
9327  def set_is_optimized(self, a0, a1):
9328  r"""set_is_optimized(State self, FloatKey a0, bool a1)"""
9329  return _IMP_atom.State_set_is_optimized(self, a0, a1)
9330 
9331  def get_is_optimized(self, a0):
9332  r"""get_is_optimized(State self, FloatKey a0) -> bool"""
9333  return _IMP_atom.State_get_is_optimized(self, a0)
9334 
9335  def get_check_level(self):
9336  r"""get_check_level(State self) -> IMP::CheckLevel"""
9337  return _IMP_atom.State_get_check_level(self)
9338 
9339  def __eq__(self, *args):
9340  r"""
9341  __eq__(State self, State o) -> bool
9342  __eq__(State self, Particle d) -> bool
9343  """
9344  return _IMP_atom.State___eq__(self, *args)
9345 
9346  def __ne__(self, *args):
9347  r"""
9348  __ne__(State self, State o) -> bool
9349  __ne__(State self, Particle d) -> bool
9350  """
9351  return _IMP_atom.State___ne__(self, *args)
9352 
9353  def __le__(self, *args):
9354  r"""
9355  __le__(State self, State o) -> bool
9356  __le__(State self, Particle d) -> bool
9357  """
9358  return _IMP_atom.State___le__(self, *args)
9359 
9360  def __lt__(self, *args):
9361  r"""
9362  __lt__(State self, State o) -> bool
9363  __lt__(State self, Particle d) -> bool
9364  """
9365  return _IMP_atom.State___lt__(self, *args)
9366 
9367  def __ge__(self, *args):
9368  r"""
9369  __ge__(State self, State o) -> bool
9370  __ge__(State self, Particle d) -> bool
9371  """
9372  return _IMP_atom.State___ge__(self, *args)
9373 
9374  def __gt__(self, *args):
9375  r"""
9376  __gt__(State self, State o) -> bool
9377  __gt__(State self, Particle d) -> bool
9378  """
9379  return _IMP_atom.State___gt__(self, *args)
9380 
9381  def __hash__(self):
9382  r"""__hash__(State self) -> std::size_t"""
9383  return _IMP_atom.State___hash__(self)
9384 
9385  def __str__(self):
9386  r"""__str__(State self) -> std::string"""
9387  return _IMP_atom.State___str__(self)
9388 
9389  def __repr__(self):
9390  r"""__repr__(State self) -> std::string"""
9391  return _IMP_atom.State___repr__(self)
9392 
9393  def _get_as_binary(self):
9394  r"""_get_as_binary(State self) -> PyObject *"""
9395  return _IMP_atom.State__get_as_binary(self)
9396 
9397  def _set_from_binary(self, p):
9398  r"""_set_from_binary(State self, PyObject * p)"""
9399  return _IMP_atom.State__set_from_binary(self, p)
9400 
9401  def __getstate__(self):
9402  p = self._get_as_binary()
9403  if len(self.__dict__) > 1:
9404  d = self.__dict__.copy()
9405  del d['this']
9406  p = (d, p)
9407  return p
9408 
9409  def __setstate__(self, p):
9410  if not hasattr(self, 'this'):
9411  self.__init__()
9412  if isinstance(p, tuple):
9413  d, p = p
9414  self.__dict__.update(d)
9415  return self._set_from_binary(p)
9416 
9417  __swig_destroy__ = _IMP_atom.delete_State
9418 
9419 # Register State in _IMP_atom:
9420 _IMP_atom.State_swigregister(State)
9421 
9422 def get_state_index(h):
9423  r"""get_state_index(Hierarchy h) -> int"""
9424  return _IMP_atom.get_state_index(h)
9425 
9426 def get_phi_dihedral_atoms(rd):
9427  r"""get_phi_dihedral_atoms(Residue rd) -> IMP::atom::Atoms"""
9428  return _IMP_atom.get_phi_dihedral_atoms(rd)
9429 
9430 def get_psi_dihedral_atoms(rd):
9431  r"""get_psi_dihedral_atoms(Residue rd) -> IMP::atom::Atoms"""
9432  return _IMP_atom.get_psi_dihedral_atoms(rd)
9433 
9434 def get_omega_dihedral_atoms(rd):
9435  r"""get_omega_dihedral_atoms(Residue rd) -> IMP::atom::Atoms"""
9436  return _IMP_atom.get_omega_dihedral_atoms(rd)
9437 
9439  r"""get_chi_dihedral_atom_types(ResidueType rt) -> IMP::Vector< IMP::atom::AtomTypes >"""
9440  return _IMP_atom.get_chi_dihedral_atom_types(rt)
9441 
9442 def get_chi_dihedral_atoms(rd):
9443  r"""get_chi_dihedral_atoms(Residue rd) -> IMP::Vector< IMP::atom::Atoms >"""
9444  return _IMP_atom.get_chi_dihedral_atoms(rd)
9445 
9447  r"""get_chi_dihedral_particle_indexes(Residue rd) -> IMP::ParticleIndexQuads"""
9448  return _IMP_atom.get_chi_dihedral_particle_indexes(rd)
9449 class Molecule(Hierarchy):
9450  r"""Proxy of C++ IMP::atom::Molecule class."""
9451 
9452  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9453 
9454  def __init__(self, *args):
9455  r"""
9456  __init__(Molecule self) -> Molecule
9457  __init__(Molecule self, Model m, ParticleIndex id) -> Molecule
9458  __init__(Molecule self, _ParticleAdaptor d) -> Molecule
9459  """
9460  _IMP_atom.Molecule_swiginit(self, _IMP_atom.new_Molecule(*args))
9461 
9462  def show(self, *args):
9463  r"""show(Molecule self, _ostream out=std::cout)"""
9464  return _IMP_atom.Molecule_show(self, *args)
9465 
9466  @staticmethod
9467  def setup_particle(*args):
9468  r"""
9469  setup_particle(Model m, ParticleIndex pi) -> Molecule
9470  setup_particle(_ParticleAdaptor pa) -> Molecule
9471  setup_particle(Model m, ParticleIndex pi, Molecule other) -> Molecule
9472  setup_particle(_ParticleAdaptor pa, Molecule other) -> Molecule
9473  """
9474  return _IMP_atom.Molecule_setup_particle(*args)
9475 
9476  @staticmethod
9477  def get_is_setup(*args):
9478  r"""
9479  get_is_setup(_ParticleAdaptor p) -> bool
9480  get_is_setup(Model m, ParticleIndex pi) -> bool
9481  """
9482  return _IMP_atom.Molecule_get_is_setup(*args)
9483 
9484  def add_attribute(self, *args):
9485  r"""
9486  add_attribute(Molecule self, FloatKey k, IMP::Float v, bool opt)
9487  add_attribute(Molecule self, FloatKey a0, IMP::Float a1)
9488  add_attribute(Molecule self, IntKey a0, IMP::Int a1)
9489  add_attribute(Molecule self, FloatsKey a0, IMP::Floats a1)
9490  add_attribute(Molecule self, IntsKey a0, IMP::Ints a1)
9491  add_attribute(Molecule self, StringKey a0, IMP::String a1)
9492  add_attribute(Molecule self, ParticleIndexKey a0, Particle a1)
9493  add_attribute(Molecule self, ObjectKey a0, Object a1)
9494  add_attribute(Molecule self, SparseFloatKey a0, IMP::Float a1)
9495  add_attribute(Molecule self, SparseIntKey a0, IMP::Int a1)
9496  add_attribute(Molecule self, SparseStringKey a0, IMP::String a1)
9497  add_attribute(Molecule self, SparseParticleIndexKey a0, ParticleIndex a1)
9498  """
9499  return _IMP_atom.Molecule_add_attribute(self, *args)
9500 
9501  def get_value(self, *args):
9502  r"""
9503  get_value(Molecule self, FloatKey a0) -> IMP::Float
9504  get_value(Molecule self, IntKey a0) -> IMP::Int
9505  get_value(Molecule self, FloatsKey a0) -> IMP::Floats
9506  get_value(Molecule self, IntsKey a0) -> IMP::Ints
9507  get_value(Molecule self, StringKey a0) -> IMP::String
9508  get_value(Molecule self, ParticleIndexKey a0) -> Particle
9509  get_value(Molecule self, ObjectKey a0) -> Object
9510  get_value(Molecule self, SparseFloatKey a0) -> IMP::Float
9511  get_value(Molecule self, SparseIntKey a0) -> IMP::Int
9512  get_value(Molecule self, SparseStringKey a0) -> IMP::String
9513  get_value(Molecule self, SparseParticleIndexKey a0) -> ParticleIndex
9514  """
9515  return _IMP_atom.Molecule_get_value(self, *args)
9516 
9517  def set_value(self, *args):
9518  r"""
9519  set_value(Molecule self, FloatKey a0, IMP::Float a1)
9520  set_value(Molecule self, IntKey a0, IMP::Int a1)
9521  set_value(Molecule self, FloatsKey a0, IMP::Floats a1)
9522  set_value(Molecule self, IntsKey a0, IMP::Ints a1)
9523  set_value(Molecule self, StringKey a0, IMP::String a1)
9524  set_value(Molecule self, ParticleIndexKey a0, Particle a1)
9525  set_value(Molecule self, ObjectKey a0, Object a1)
9526  set_value(Molecule self, SparseFloatKey a0, IMP::Float a1)
9527  set_value(Molecule self, SparseIntKey a0, IMP::Int a1)
9528  set_value(Molecule self, SparseStringKey a0, IMP::String a1)
9529  set_value(Molecule self, SparseParticleIndexKey a0, ParticleIndex a1)
9530  """
9531  return _IMP_atom.Molecule_set_value(self, *args)
9532 
9533  def remove_attribute(self, *args):
9534  r"""
9535  remove_attribute(Molecule self, FloatKey a0)
9536  remove_attribute(Molecule self, IntKey a0)
9537  remove_attribute(Molecule self, FloatsKey a0)
9538  remove_attribute(Molecule self, IntsKey a0)
9539  remove_attribute(Molecule self, StringKey a0)
9540  remove_attribute(Molecule self, ParticleIndexKey a0)
9541  remove_attribute(Molecule self, ObjectKey a0)
9542  remove_attribute(Molecule self, SparseFloatKey a0)
9543  remove_attribute(Molecule self, SparseIntKey a0)
9544  remove_attribute(Molecule self, SparseStringKey a0)
9545  remove_attribute(Molecule self, SparseParticleIndexKey a0)
9546  """
9547  return _IMP_atom.Molecule_remove_attribute(self, *args)
9548 
9549  def has_attribute(self, *args):
9550  r"""
9551  has_attribute(Molecule self, FloatKey a0) -> bool
9552  has_attribute(Molecule self, IntKey a0) -> bool
9553  has_attribute(Molecule self, FloatsKey a0) -> bool
9554  has_attribute(Molecule self, IntsKey a0) -> bool
9555  has_attribute(Molecule self, StringKey a0) -> bool
9556  has_attribute(Molecule self, ParticleIndexKey a0) -> bool
9557  has_attribute(Molecule self, ObjectKey a0) -> bool
9558  has_attribute(Molecule self, SparseFloatKey a0) -> bool
9559  has_attribute(Molecule self, SparseIntKey a0) -> bool
9560  has_attribute(Molecule self, SparseStringKey a0) -> bool
9561  has_attribute(Molecule self, SparseParticleIndexKey a0) -> bool
9562  """
9563  return _IMP_atom.Molecule_has_attribute(self, *args)
9564 
9565  def get_derivative(self, a0):
9566  r"""get_derivative(Molecule self, FloatKey a0) -> double"""
9567  return _IMP_atom.Molecule_get_derivative(self, a0)
9568 
9569  def get_name(self):
9570  r"""get_name(Molecule self) -> std::string"""
9571  return _IMP_atom.Molecule_get_name(self)
9572 
9573  def clear_caches(self):
9574  r"""clear_caches(Molecule self)"""
9575  return _IMP_atom.Molecule_clear_caches(self)
9576 
9577  def set_name(self, a0):
9578  r"""set_name(Molecule self, std::string a0)"""
9579  return _IMP_atom.Molecule_set_name(self, a0)
9580 
9581  def set_check_level(self, a0):
9582  r"""set_check_level(Molecule self, IMP::CheckLevel a0)"""
9583  return _IMP_atom.Molecule_set_check_level(self, a0)
9584 
9585  def add_to_derivative(self, a0, a1, a2):
9586  r"""add_to_derivative(Molecule self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9587  return _IMP_atom.Molecule_add_to_derivative(self, a0, a1, a2)
9588 
9589  def set_is_optimized(self, a0, a1):
9590  r"""set_is_optimized(Molecule self, FloatKey a0, bool a1)"""
9591  return _IMP_atom.Molecule_set_is_optimized(self, a0, a1)
9592 
9593  def get_is_optimized(self, a0):
9594  r"""get_is_optimized(Molecule self, FloatKey a0) -> bool"""
9595  return _IMP_atom.Molecule_get_is_optimized(self, a0)
9596 
9597  def get_check_level(self):
9598  r"""get_check_level(Molecule self) -> IMP::CheckLevel"""
9599  return _IMP_atom.Molecule_get_check_level(self)
9600 
9601  def __eq__(self, *args):
9602  r"""
9603  __eq__(Molecule self, Molecule o) -> bool
9604  __eq__(Molecule self, Particle d) -> bool
9605  """
9606  return _IMP_atom.Molecule___eq__(self, *args)
9607 
9608  def __ne__(self, *args):
9609  r"""
9610  __ne__(Molecule self, Molecule o) -> bool
9611  __ne__(Molecule self, Particle d) -> bool
9612  """
9613  return _IMP_atom.Molecule___ne__(self, *args)
9614 
9615  def __le__(self, *args):
9616  r"""
9617  __le__(Molecule self, Molecule o) -> bool
9618  __le__(Molecule self, Particle d) -> bool
9619  """
9620  return _IMP_atom.Molecule___le__(self, *args)
9621 
9622  def __lt__(self, *args):
9623  r"""
9624  __lt__(Molecule self, Molecule o) -> bool
9625  __lt__(Molecule self, Particle d) -> bool
9626  """
9627  return _IMP_atom.Molecule___lt__(self, *args)
9628 
9629  def __ge__(self, *args):
9630  r"""
9631  __ge__(Molecule self, Molecule o) -> bool
9632  __ge__(Molecule self, Particle d) -> bool
9633  """
9634  return _IMP_atom.Molecule___ge__(self, *args)
9635 
9636  def __gt__(self, *args):
9637  r"""
9638  __gt__(Molecule self, Molecule o) -> bool
9639  __gt__(Molecule self, Particle d) -> bool
9640  """
9641  return _IMP_atom.Molecule___gt__(self, *args)
9642 
9643  def __hash__(self):
9644  r"""__hash__(Molecule self) -> std::size_t"""
9645  return _IMP_atom.Molecule___hash__(self)
9646 
9647  def __str__(self):
9648  r"""__str__(Molecule self) -> std::string"""
9649  return _IMP_atom.Molecule___str__(self)
9650 
9651  def __repr__(self):
9652  r"""__repr__(Molecule self) -> std::string"""
9653  return _IMP_atom.Molecule___repr__(self)
9654 
9655  def _get_as_binary(self):
9656  r"""_get_as_binary(Molecule self) -> PyObject *"""
9657  return _IMP_atom.Molecule__get_as_binary(self)
9658 
9659  def _set_from_binary(self, p):
9660  r"""_set_from_binary(Molecule self, PyObject * p)"""
9661  return _IMP_atom.Molecule__set_from_binary(self, p)
9662 
9663  def __getstate__(self):
9664  p = self._get_as_binary()
9665  if len(self.__dict__) > 1:
9666  d = self.__dict__.copy()
9667  del d['this']
9668  p = (d, p)
9669  return p
9670 
9671  def __setstate__(self, p):
9672  if not hasattr(self, 'this'):
9673  self.__init__()
9674  if isinstance(p, tuple):
9675  d, p = p
9676  self.__dict__.update(d)
9677  return self._set_from_binary(p)
9678 
9679  __swig_destroy__ = _IMP_atom.delete_Molecule
9680 
9681 # Register Molecule in _IMP_atom:
9682 _IMP_atom.Molecule_swigregister(Molecule)
9683 
9684 def get_molecule_name(h):
9685  r"""get_molecule_name(Hierarchy h) -> std::string"""
9686  return _IMP_atom.get_molecule_name(h)
9687 class Copy(Molecule):
9688  r"""Proxy of C++ IMP::atom::Copy class."""
9689 
9690  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9691 
9692  @staticmethod
9693  def get_copy_index_key():
9694  r"""get_copy_index_key() -> IntKey"""
9695  return _IMP_atom.Copy_get_copy_index_key()
9696 
9697  def __init__(self, *args):
9698  r"""
9699  __init__(Copy self) -> Copy
9700  __init__(Copy self, Model m, ParticleIndex id) -> Copy
9701  __init__(Copy self, _ParticleAdaptor d) -> Copy
9702  """
9703  _IMP_atom.Copy_swiginit(self, _IMP_atom.new_Copy(*args))
9704 
9705  def show(self, *args):
9706  r"""show(Copy self, _ostream out=std::cout)"""
9707  return _IMP_atom.Copy_show(self, *args)
9708 
9709  @staticmethod
9710  def setup_particle(*args):
9711  r"""
9712  setup_particle(Model m, ParticleIndex pi, IMP::Int number) -> Copy
9713  setup_particle(_ParticleAdaptor pa, IMP::Int number) -> Copy
9714  """
9715  return _IMP_atom.Copy_setup_particle(*args)
9716 
9717  @staticmethod
9718  def get_is_setup(*args):
9719  r"""
9720  get_is_setup(_ParticleAdaptor p) -> bool
9721  get_is_setup(Model m, ParticleIndex pi) -> bool
9722  """
9723  return _IMP_atom.Copy_get_is_setup(*args)
9724 
9725  def get_copy_index(self):
9726  r"""get_copy_index(Copy self) -> int"""
9727  return _IMP_atom.Copy_get_copy_index(self)
9728 
9729  def add_attribute(self, *args):
9730  r"""
9731  add_attribute(Copy self, FloatKey k, IMP::Float v, bool opt)
9732  add_attribute(Copy self, FloatKey a0, IMP::Float a1)
9733  add_attribute(Copy self, IntKey a0, IMP::Int a1)
9734  add_attribute(Copy self, FloatsKey a0, IMP::Floats a1)
9735  add_attribute(Copy self, IntsKey a0, IMP::Ints a1)
9736  add_attribute(Copy self, StringKey a0, IMP::String a1)
9737  add_attribute(Copy self, ParticleIndexKey a0, Particle a1)
9738  add_attribute(Copy self, ObjectKey a0, Object a1)
9739  add_attribute(Copy self, SparseFloatKey a0, IMP::Float a1)
9740  add_attribute(Copy self, SparseIntKey a0, IMP::Int a1)
9741  add_attribute(Copy self, SparseStringKey a0, IMP::String a1)
9742  add_attribute(Copy self, SparseParticleIndexKey a0, ParticleIndex a1)
9743  """
9744  return _IMP_atom.Copy_add_attribute(self, *args)
9745 
9746  def get_value(self, *args):
9747  r"""
9748  get_value(Copy self, FloatKey a0) -> IMP::Float
9749  get_value(Copy self, IntKey a0) -> IMP::Int
9750  get_value(Copy self, FloatsKey a0) -> IMP::Floats
9751  get_value(Copy self, IntsKey a0) -> IMP::Ints
9752  get_value(Copy self, StringKey a0) -> IMP::String
9753  get_value(Copy self, ParticleIndexKey a0) -> Particle
9754  get_value(Copy self, ObjectKey a0) -> Object
9755  get_value(Copy self, SparseFloatKey a0) -> IMP::Float
9756  get_value(Copy self, SparseIntKey a0) -> IMP::Int
9757  get_value(Copy self, SparseStringKey a0) -> IMP::String
9758  get_value(Copy self, SparseParticleIndexKey a0) -> ParticleIndex
9759  """
9760  return _IMP_atom.Copy_get_value(self, *args)
9761 
9762  def set_value(self, *args):
9763  r"""
9764  set_value(Copy self, FloatKey a0, IMP::Float a1)
9765  set_value(Copy self, IntKey a0, IMP::Int a1)
9766  set_value(Copy self, FloatsKey a0, IMP::Floats a1)
9767  set_value(Copy self, IntsKey a0, IMP::Ints a1)
9768  set_value(Copy self, StringKey a0, IMP::String a1)
9769  set_value(Copy self, ParticleIndexKey a0, Particle a1)
9770  set_value(Copy self, ObjectKey a0, Object a1)
9771  set_value(Copy self, SparseFloatKey a0, IMP::Float a1)
9772  set_value(Copy self, SparseIntKey a0, IMP::Int a1)
9773  set_value(Copy self, SparseStringKey a0, IMP::String a1)
9774  set_value(Copy self, SparseParticleIndexKey a0, ParticleIndex a1)
9775  """
9776  return _IMP_atom.Copy_set_value(self, *args)
9777 
9778  def remove_attribute(self, *args):
9779  r"""
9780  remove_attribute(Copy self, FloatKey a0)
9781  remove_attribute(Copy self, IntKey a0)
9782  remove_attribute(Copy self, FloatsKey a0)
9783  remove_attribute(Copy self, IntsKey a0)
9784  remove_attribute(Copy self, StringKey a0)
9785  remove_attribute(Copy self, ParticleIndexKey a0)
9786  remove_attribute(Copy self, ObjectKey a0)
9787  remove_attribute(Copy self, SparseFloatKey a0)
9788  remove_attribute(Copy self, SparseIntKey a0)
9789  remove_attribute(Copy self, SparseStringKey a0)
9790  remove_attribute(Copy self, SparseParticleIndexKey a0)
9791  """
9792  return _IMP_atom.Copy_remove_attribute(self, *args)
9793 
9794  def has_attribute(self, *args):
9795  r"""
9796  has_attribute(Copy self, FloatKey a0) -> bool
9797  has_attribute(Copy self, IntKey a0) -> bool
9798  has_attribute(Copy self, FloatsKey a0) -> bool
9799  has_attribute(Copy self, IntsKey a0) -> bool
9800  has_attribute(Copy self, StringKey a0) -> bool
9801  has_attribute(Copy self, ParticleIndexKey a0) -> bool
9802  has_attribute(Copy self, ObjectKey a0) -> bool
9803  has_attribute(Copy self, SparseFloatKey a0) -> bool
9804  has_attribute(Copy self, SparseIntKey a0) -> bool
9805  has_attribute(Copy self, SparseStringKey a0) -> bool
9806  has_attribute(Copy self, SparseParticleIndexKey a0) -> bool
9807  """
9808  return _IMP_atom.Copy_has_attribute(self, *args)
9809 
9810  def get_derivative(self, a0):
9811  r"""get_derivative(Copy self, FloatKey a0) -> double"""
9812  return _IMP_atom.Copy_get_derivative(self, a0)
9813 
9814  def get_name(self):
9815  r"""get_name(Copy self) -> std::string"""
9816  return _IMP_atom.Copy_get_name(self)
9817 
9818  def clear_caches(self):
9819  r"""clear_caches(Copy self)"""
9820  return _IMP_atom.Copy_clear_caches(self)
9821 
9822  def set_name(self, a0):
9823  r"""set_name(Copy self, std::string a0)"""
9824  return _IMP_atom.Copy_set_name(self, a0)
9825 
9826  def set_check_level(self, a0):
9827  r"""set_check_level(Copy self, IMP::CheckLevel a0)"""
9828  return _IMP_atom.Copy_set_check_level(self, a0)
9829 
9830  def add_to_derivative(self, a0, a1, a2):
9831  r"""add_to_derivative(Copy self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9832  return _IMP_atom.Copy_add_to_derivative(self, a0, a1, a2)
9833 
9834  def set_is_optimized(self, a0, a1):
9835  r"""set_is_optimized(Copy self, FloatKey a0, bool a1)"""
9836  return _IMP_atom.Copy_set_is_optimized(self, a0, a1)
9837 
9838  def get_is_optimized(self, a0):
9839  r"""get_is_optimized(Copy self, FloatKey a0) -> bool"""
9840  return _IMP_atom.Copy_get_is_optimized(self, a0)
9841 
9842  def get_check_level(self):
9843  r"""get_check_level(Copy self) -> IMP::CheckLevel"""
9844  return _IMP_atom.Copy_get_check_level(self)
9845 
9846  def __eq__(self, *args):
9847  r"""
9848  __eq__(Copy self, Copy o) -> bool
9849  __eq__(Copy self, Particle d) -> bool
9850  """
9851  return _IMP_atom.Copy___eq__(self, *args)
9852 
9853  def __ne__(self, *args):
9854  r"""
9855  __ne__(Copy self, Copy o) -> bool
9856  __ne__(Copy self, Particle d) -> bool
9857  """
9858  return _IMP_atom.Copy___ne__(self, *args)
9859 
9860  def __le__(self, *args):
9861  r"""
9862  __le__(Copy self, Copy o) -> bool
9863  __le__(Copy self, Particle d) -> bool
9864  """
9865  return _IMP_atom.Copy___le__(self, *args)
9866 
9867  def __lt__(self, *args):
9868  r"""
9869  __lt__(Copy self, Copy o) -> bool
9870  __lt__(Copy self, Particle d) -> bool
9871  """
9872  return _IMP_atom.Copy___lt__(self, *args)
9873 
9874  def __ge__(self, *args):
9875  r"""
9876  __ge__(Copy self, Copy o) -> bool
9877  __ge__(Copy self, Particle d) -> bool
9878  """
9879  return _IMP_atom.Copy___ge__(self, *args)
9880 
9881  def __gt__(self, *args):
9882  r"""
9883  __gt__(Copy self, Copy o) -> bool
9884  __gt__(Copy self, Particle d) -> bool
9885  """
9886  return _IMP_atom.Copy___gt__(self, *args)
9887 
9888  def __hash__(self):
9889  r"""__hash__(Copy self) -> std::size_t"""
9890  return _IMP_atom.Copy___hash__(self)
9891 
9892  def __str__(self):
9893  r"""__str__(Copy self) -> std::string"""
9894  return _IMP_atom.Copy___str__(self)
9895 
9896  def __repr__(self):
9897  r"""__repr__(Copy self) -> std::string"""
9898  return _IMP_atom.Copy___repr__(self)
9899 
9900  def _get_as_binary(self):
9901  r"""_get_as_binary(Copy self) -> PyObject *"""
9902  return _IMP_atom.Copy__get_as_binary(self)
9903 
9904  def _set_from_binary(self, p):
9905  r"""_set_from_binary(Copy self, PyObject * p)"""
9906  return _IMP_atom.Copy__set_from_binary(self, p)
9907 
9908  def __getstate__(self):
9909  p = self._get_as_binary()
9910  if len(self.__dict__) > 1:
9911  d = self.__dict__.copy()
9912  del d['this']
9913  p = (d, p)
9914  return p
9915 
9916  def __setstate__(self, p):
9917  if not hasattr(self, 'this'):
9918  self.__init__()
9919  if isinstance(p, tuple):
9920  d, p = p
9921  self.__dict__.update(d)
9922  return self._set_from_binary(p)
9923 
9924  __swig_destroy__ = _IMP_atom.delete_Copy
9925 
9926 # Register Copy in _IMP_atom:
9927 _IMP_atom.Copy_swigregister(Copy)
9928 
9929 def get_copy_index(h):
9930  r"""get_copy_index(Hierarchy h) -> int"""
9931  return _IMP_atom.get_copy_index(h)
9932 class Chain(Hierarchy):
9933  r"""Proxy of C++ IMP::atom::Chain class."""
9934 
9935  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9936 
9937  def __init__(self, *args):
9938  r"""
9939  __init__(Chain self) -> Chain
9940  __init__(Chain self, Model m, ParticleIndex id) -> Chain
9941  __init__(Chain self, _ParticleAdaptor d) -> Chain
9942  """
9943  _IMP_atom.Chain_swiginit(self, _IMP_atom.new_Chain(*args))
9944 
9945  def show(self, *args):
9946  r"""show(Chain self, _ostream out=std::cout)"""
9947  return _IMP_atom.Chain_show(self, *args)
9948 
9949  @staticmethod
9950  def setup_particle(*args):
9951  r"""
9952  setup_particle(Model m, ParticleIndex pi, std::string id) -> Chain
9953  setup_particle(_ParticleAdaptor pa, std::string id) -> Chain
9954  setup_particle(Model m, ParticleIndex pi, char id) -> Chain
9955  setup_particle(_ParticleAdaptor pa, char id) -> Chain
9956  setup_particle(Model m, ParticleIndex pi, Chain other) -> Chain
9957  setup_particle(_ParticleAdaptor pa, Chain other) -> Chain
9958  """
9959  return _IMP_atom.Chain_setup_particle(*args)
9960 
9961  @staticmethod
9962  def get_is_setup(*args):
9963  r"""
9964  get_is_setup(_ParticleAdaptor p) -> bool
9965  get_is_setup(Model m, ParticleIndex pi) -> bool
9966  """
9967  return _IMP_atom.Chain_get_is_setup(*args)
9968 
9969  def get_id(self):
9970  r"""get_id(Chain self) -> std::string"""
9971  return _IMP_atom.Chain_get_id(self)
9972 
9973  def set_id(self, c):
9974  r"""set_id(Chain self, std::string c)"""
9975  return _IMP_atom.Chain_set_id(self, c)
9976 
9977  def get_label_asym_id(self):
9978  r"""get_label_asym_id(Chain self) -> std::string"""
9979  return _IMP_atom.Chain_get_label_asym_id(self)
9980 
9981  def set_label_asym_id(self, c):
9982  r"""set_label_asym_id(Chain self, std::string c)"""
9983  return _IMP_atom.Chain_set_label_asym_id(self, c)
9984 
9985  def get_sequence(self):
9986  r"""get_sequence(Chain self) -> std::string"""
9987  return _IMP_atom.Chain_get_sequence(self)
9988 
9989  def set_sequence(self, sequence):
9990  r"""set_sequence(Chain self, std::string sequence)"""
9991  return _IMP_atom.Chain_set_sequence(self, sequence)
9992 
9993  def get_sequence_offset(self):
9994  r"""get_sequence_offset(Chain self) -> int"""
9995  return _IMP_atom.Chain_get_sequence_offset(self)
9996 
9997  def set_sequence_offset(self, offset):
9998  r"""set_sequence_offset(Chain self, int offset)"""
9999  return _IMP_atom.Chain_set_sequence_offset(self, offset)
10000 
10001  def get_uniprot_accession(self):
10002  r"""get_uniprot_accession(Chain self) -> std::string"""
10003  return _IMP_atom.Chain_get_uniprot_accession(self)
10004 
10005  def set_uniprot_accession(self, accession):
10006  r"""set_uniprot_accession(Chain self, std::string accession)"""
10007  return _IMP_atom.Chain_set_uniprot_accession(self, accession)
10008 
10009  def get_chain_type(self):
10010  r"""get_chain_type(Chain self) -> ChainType"""
10011  return _IMP_atom.Chain_get_chain_type(self)
10012 
10013  def set_chain_type(self, t):
10014  r"""set_chain_type(Chain self, ChainType t)"""
10015  return _IMP_atom.Chain_set_chain_type(self, t)
10016 
10017  @staticmethod
10018  def get_id_key():
10019  r"""get_id_key() -> SparseStringKey"""
10020  return _IMP_atom.Chain_get_id_key()
10021 
10022  @staticmethod
10023  def get_label_asym_id_key():
10024  r"""get_label_asym_id_key() -> SparseStringKey"""
10025  return _IMP_atom.Chain_get_label_asym_id_key()
10026 
10027  @staticmethod
10028  def get_sequence_key():
10029  r"""get_sequence_key() -> SparseStringKey"""
10030  return _IMP_atom.Chain_get_sequence_key()
10031 
10032  @staticmethod
10033  def get_sequence_offset_key():
10034  r"""get_sequence_offset_key() -> SparseIntKey"""
10035  return _IMP_atom.Chain_get_sequence_offset_key()
10036 
10037  @staticmethod
10038  def get_uniprot_accession_key():
10039  r"""get_uniprot_accession_key() -> SparseStringKey"""
10040  return _IMP_atom.Chain_get_uniprot_accession_key()
10041 
10042  @staticmethod
10043  def get_chain_type_key():
10044  r"""get_chain_type_key() -> SparseIntKey"""
10045  return _IMP_atom.Chain_get_chain_type_key()
10046 
10047  def add_attribute(self, *args):
10048  r"""
10049  add_attribute(Chain self, FloatKey k, IMP::Float v, bool opt)
10050  add_attribute(Chain self, FloatKey a0, IMP::Float a1)
10051  add_attribute(Chain self, IntKey a0, IMP::Int a1)
10052  add_attribute(Chain self, FloatsKey a0, IMP::Floats a1)
10053  add_attribute(Chain self, IntsKey a0, IMP::Ints a1)
10054  add_attribute(Chain self, StringKey a0, IMP::String a1)
10055  add_attribute(Chain self, ParticleIndexKey a0, Particle a1)
10056  add_attribute(Chain self, ObjectKey a0, Object a1)
10057  add_attribute(Chain self, SparseFloatKey a0, IMP::Float a1)
10058  add_attribute(Chain self, SparseIntKey a0, IMP::Int a1)
10059  add_attribute(Chain self, SparseStringKey a0, IMP::String a1)
10060  add_attribute(Chain self, SparseParticleIndexKey a0, ParticleIndex a1)
10061  """
10062  return _IMP_atom.Chain_add_attribute(self, *args)
10063 
10064  def get_value(self, *args):
10065  r"""
10066  get_value(Chain self, FloatKey a0) -> IMP::Float
10067  get_value(Chain self, IntKey a0) -> IMP::Int
10068  get_value(Chain self, FloatsKey a0) -> IMP::Floats
10069  get_value(Chain self, IntsKey a0) -> IMP::Ints
10070  get_value(Chain self, StringKey a0) -> IMP::String
10071  get_value(Chain self, ParticleIndexKey a0) -> Particle
10072  get_value(Chain self, ObjectKey a0) -> Object
10073  get_value(Chain self, SparseFloatKey a0) -> IMP::Float
10074  get_value(Chain self, SparseIntKey a0) -> IMP::Int
10075  get_value(Chain self, SparseStringKey a0) -> IMP::String
10076  get_value(Chain self, SparseParticleIndexKey a0) -> ParticleIndex
10077  """
10078  return _IMP_atom.Chain_get_value(self, *args)
10079 
10080  def set_value(self, *args):
10081  r"""
10082  set_value(Chain self, FloatKey a0, IMP::Float a1)
10083  set_value(Chain self, IntKey a0, IMP::Int a1)
10084  set_value(Chain self, FloatsKey a0, IMP::Floats a1)
10085  set_value(Chain self, IntsKey a0, IMP::Ints a1)
10086  set_value(Chain self, StringKey a0, IMP::String a1)
10087  set_value(Chain self, ParticleIndexKey a0, Particle a1)
10088  set_value(Chain self, ObjectKey a0, Object a1)
10089  set_value(Chain self, SparseFloatKey a0, IMP::Float a1)
10090  set_value(Chain self, SparseIntKey a0, IMP::Int a1)
10091  set_value(Chain self, SparseStringKey a0, IMP::String a1)
10092  set_value(Chain self, SparseParticleIndexKey a0, ParticleIndex a1)
10093  """
10094  return _IMP_atom.Chain_set_value(self, *args)
10095 
10096  def remove_attribute(self, *args):
10097  r"""
10098  remove_attribute(Chain self, FloatKey a0)
10099  remove_attribute(Chain self, IntKey a0)
10100  remove_attribute(Chain self, FloatsKey a0)
10101  remove_attribute(Chain self, IntsKey a0)
10102  remove_attribute(Chain self, StringKey a0)
10103  remove_attribute(Chain self, ParticleIndexKey a0)
10104  remove_attribute(Chain self, ObjectKey a0)
10105  remove_attribute(Chain self, SparseFloatKey a0)
10106  remove_attribute(Chain self, SparseIntKey a0)
10107  remove_attribute(Chain self, SparseStringKey a0)
10108  remove_attribute(Chain self, SparseParticleIndexKey a0)
10109  """
10110  return _IMP_atom.Chain_remove_attribute(self, *args)
10111 
10112  def has_attribute(self, *args):
10113  r"""
10114  has_attribute(Chain self, FloatKey a0) -> bool
10115  has_attribute(Chain self, IntKey a0) -> bool
10116  has_attribute(Chain self, FloatsKey a0) -> bool
10117  has_attribute(Chain self, IntsKey a0) -> bool
10118  has_attribute(Chain self, StringKey a0) -> bool
10119  has_attribute(Chain self, ParticleIndexKey a0) -> bool
10120  has_attribute(Chain self, ObjectKey a0) -> bool
10121  has_attribute(Chain self, SparseFloatKey a0) -> bool
10122  has_attribute(Chain self, SparseIntKey a0) -> bool
10123  has_attribute(Chain self, SparseStringKey a0) -> bool
10124  has_attribute(Chain self, SparseParticleIndexKey a0) -> bool
10125  """
10126  return _IMP_atom.Chain_has_attribute(self, *args)
10127 
10128  def get_derivative(self, a0):
10129  r"""get_derivative(Chain self, FloatKey a0) -> double"""
10130  return _IMP_atom.Chain_get_derivative(self, a0)
10131 
10132  def get_name(self):
10133  r"""get_name(Chain self) -> std::string"""
10134  return _IMP_atom.Chain_get_name(self)
10135 
10136  def clear_caches(self):
10137  r"""clear_caches(Chain self)"""
10138  return _IMP_atom.Chain_clear_caches(self)
10139 
10140  def set_name(self, a0):
10141  r"""set_name(Chain self, std::string a0)"""
10142  return _IMP_atom.Chain_set_name(self, a0)
10143 
10144  def set_check_level(self, a0):
10145  r"""set_check_level(Chain self, IMP::CheckLevel a0)"""
10146  return _IMP_atom.Chain_set_check_level(self, a0)
10147 
10148  def add_to_derivative(self, a0, a1, a2):
10149  r"""add_to_derivative(Chain self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
10150  return _IMP_atom.Chain_add_to_derivative(self, a0, a1, a2)
10151 
10152  def set_is_optimized(self, a0, a1):
10153  r"""set_is_optimized(Chain self, FloatKey a0, bool a1)"""
10154  return _IMP_atom.Chain_set_is_optimized(self, a0, a1)
10155 
10156  def get_is_optimized(self, a0):
10157  r"""get_is_optimized(Chain self, FloatKey a0) -> bool"""
10158  return _IMP_atom.Chain_get_is_optimized(self, a0)
10159 
10160  def get_check_level(self):
10161  r"""get_check_level(Chain self) -> IMP::CheckLevel"""
10162  return _IMP_atom.Chain_get_check_level(self)
10163 
10164  def __eq__(self, *args):
10165  r"""
10166  __eq__(Chain self, Chain o) -> bool
10167  __eq__(Chain self, Particle d) -> bool
10168  """
10169  return _IMP_atom.Chain___eq__(self, *args)
10170 
10171  def __ne__(self, *args):
10172  r"""
10173  __ne__(Chain self, Chain o) -> bool
10174  __ne__(Chain self, Particle d) -> bool
10175  """
10176  return _IMP_atom.Chain___ne__(self, *args)
10177 
10178  def __le__(self, *args):
10179  r"""
10180  __le__(Chain self, Chain o) -> bool
10181  __le__(Chain self, Particle d) -> bool
10182  """
10183  return _IMP_atom.Chain___le__(self, *args)
10184 
10185  def __lt__(self, *args):
10186  r"""
10187  __lt__(Chain self, Chain o) -> bool
10188  __lt__(Chain self, Particle d) -> bool
10189  """
10190  return _IMP_atom.Chain___lt__(self, *args)
10191 
10192  def __ge__(self, *args):
10193  r"""
10194  __ge__(Chain self, Chain o) -> bool
10195  __ge__(Chain self, Particle d) -> bool
10196  """
10197  return _IMP_atom.Chain___ge__(self, *args)
10198 
10199  def __gt__(self, *args):
10200  r"""
10201  __gt__(Chain self, Chain o) -> bool
10202  __gt__(Chain self, Particle d) -> bool
10203  """
10204  return _IMP_atom.Chain___gt__(self, *args)
10205 
10206  def __hash__(self):
10207  r"""__hash__(Chain self) -> std::size_t"""
10208  return _IMP_atom.Chain___hash__(self)
10209 
10210  def __str__(self):
10211  r"""__str__(Chain self) -> std::string"""
10212  return _IMP_atom.Chain___str__(self)
10213 
10214  def __repr__(self):
10215  r"""__repr__(Chain self) -> std::string"""
10216  return _IMP_atom.Chain___repr__(self)
10217 
10218  def _get_as_binary(self):
10219  r"""_get_as_binary(Chain self) -> PyObject *"""
10220  return _IMP_atom.Chain__get_as_binary(self)
10221 
10222  def _set_from_binary(self, p):
10223  r"""_set_from_binary(Chain self, PyObject * p)"""
10224  return _IMP_atom.Chain__set_from_binary(self, p)
10225 
10226  def __getstate__(self):
10227  p = self._get_as_binary()
10228  if len(self.__dict__) > 1:
10229  d = self.__dict__.copy()
10230  del d['this']
10231  p = (d, p)
10232  return p
10233 
10234  def __setstate__(self, p):
10235  if not hasattr(self, 'this'):
10236  self.__init__()
10237  if isinstance(p, tuple):
10238  d, p = p
10239  self.__dict__.update(d)
10240  return self._set_from_binary(p)
10241 
10242  __swig_destroy__ = _IMP_atom.delete_Chain
10243 
10244 # Register Chain in _IMP_atom:
10245 _IMP_atom.Chain_swigregister(Chain)
10246 UnknownChainType = cvar.UnknownChainType
10247 DPolypeptide = cvar.DPolypeptide
10248 LPolypeptide = cvar.LPolypeptide
10249 Polydeoxyribonucleotide = cvar.Polydeoxyribonucleotide
10250 Polyribonucleotide = cvar.Polyribonucleotide
10251 DPolysaccharide = cvar.DPolysaccharide
10252 LPolysaccharide = cvar.LPolysaccharide
10253 Protein = cvar.Protein
10254 DNA = cvar.DNA
10255 RNA = cvar.RNA
10256 
10257 
10258 def get_chain(h):
10259  r"""get_chain(Hierarchy h) -> Chain"""
10260  return _IMP_atom.get_chain(h)
10261 
10262 def get_chain_id(h):
10263  r"""get_chain_id(Hierarchy h) -> std::string"""
10264  return _IMP_atom.get_chain_id(h)
10265 class Selection(IMP._ParticleIndexesAdaptor):
10266  r"""Proxy of C++ IMP::atom::Selection class."""
10267 
10268  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10269  NONE = _IMP_atom.Selection_NONE
10270 
10271  C = _IMP_atom.Selection_C
10272 
10273  N = _IMP_atom.Selection_N
10274 
10275 
10276  def __init__(self, *args):
10277  r"""
10278  __init__(Selection self) -> Selection
10279  __init__(Selection self, Hierarchy h) -> Selection
10280  __init__(Selection self, Particle h) -> Selection
10281  __init__(Selection self, Model m, IMP::ParticleIndexes const & pis) -> Selection
10282  __init__(Selection self, IMP::ParticlesTemp const & h) -> Selection
10283  """
10284  _IMP_atom.Selection_swiginit(self, _IMP_atom.new_Selection(*args))
10285 
10286  def create_clone(self):
10287  r"""create_clone(Selection self) -> Selection"""
10288  return _IMP_atom.Selection_create_clone(self)
10289 
10290  def get_hierarchies(self):
10291  r"""get_hierarchies(Selection self) -> IMP::atom::Hierarchies"""
10292  return _IMP_atom.Selection_get_hierarchies(self)
10293 
10294  def set_molecules(self, mols):
10295  r"""set_molecules(Selection self, IMP::Strings mols)"""
10296  return _IMP_atom.Selection_set_molecules(self, mols)
10297 
10298  def set_resolution(self, r):
10299  r"""set_resolution(Selection self, double r)"""
10300  return _IMP_atom.Selection_set_resolution(self, r)
10301 
10302  def set_representation_type(self, t):
10303  r"""set_representation_type(Selection self, IMP::atom::RepresentationType t)"""
10304  return _IMP_atom.Selection_set_representation_type(self, t)
10305 
10306  def set_state_index(self, state):
10307  r"""set_state_index(Selection self, int state)"""
10308  return _IMP_atom.Selection_set_state_index(self, state)
10309 
10310  def set_state_indexes(self, states):
10311  r"""set_state_indexes(Selection self, IMP::Ints states)"""
10312  return _IMP_atom.Selection_set_state_indexes(self, states)
10313 
10314  def set_terminus(self, t):
10315  r"""set_terminus(Selection self, IMP::atom::Selection::Terminus t)"""
10316  return _IMP_atom.Selection_set_terminus(self, t)
10317 
10318  def set_element(self, e):
10319  r"""set_element(Selection self, IMP::atom::Element e)"""
10320  return _IMP_atom.Selection_set_element(self, e)
10321 
10322  def set_chain_ids(self, chains):
10323  r"""set_chain_ids(Selection self, IMP::Strings chains)"""
10324  return _IMP_atom.Selection_set_chain_ids(self, chains)
10325 
10326  def set_chains(self, chains):
10327  r"""set_chains(Selection self, IMP::Strings chains)"""
10328  return _IMP_atom.Selection_set_chains(self, chains)
10329 
10330  def set_residue_indexes(self, indexes):
10331  r"""set_residue_indexes(Selection self, IMP::Ints indexes)"""
10332  return _IMP_atom.Selection_set_residue_indexes(self, indexes)
10333 
10334  def set_atom_types(self, types):
10335  r"""set_atom_types(Selection self, IMP::atom::AtomTypes types)"""
10336  return _IMP_atom.Selection_set_atom_types(self, types)
10337 
10338  def set_residue_types(self, types):
10339  r"""set_residue_types(Selection self, IMP::atom::ResidueTypes types)"""
10340  return _IMP_atom.Selection_set_residue_types(self, types)
10341 
10342  def set_domains(self, names):
10343  r"""set_domains(Selection self, IMP::Strings names)"""
10344  return _IMP_atom.Selection_set_domains(self, names)
10345 
10346  def set_molecule(self, mol):
10347  r"""set_molecule(Selection self, std::string mol)"""
10348  return _IMP_atom.Selection_set_molecule(self, mol)
10349 
10350  def set_chain_id(self, c):
10351  r"""set_chain_id(Selection self, std::string c)"""
10352  return _IMP_atom.Selection_set_chain_id(self, c)
10353 
10354  def set_chain(self, c):
10355  r"""set_chain(Selection self, std::string c)"""
10356  return _IMP_atom.Selection_set_chain(self, c)
10357 
10358  def set_residue_index(self, i):
10359  r"""set_residue_index(Selection self, int i)"""
10360  return _IMP_atom.Selection_set_residue_index(self, i)
10361 
10362  def set_atom_type(self, types):
10363  r"""set_atom_type(Selection self, AtomType types)"""
10364  return _IMP_atom.Selection_set_atom_type(self, types)
10365 
10366  def set_residue_type(self, type):
10367  r"""set_residue_type(Selection self, ResidueType type)"""
10368  return _IMP_atom.Selection_set_residue_type(self, type)
10369 
10370  def set_domain(self, name):
10371  r"""set_domain(Selection self, std::string name)"""
10372  return _IMP_atom.Selection_set_domain(self, name)
10373 
10374  def set_copy_index(self, copy):
10375  r"""set_copy_index(Selection self, unsigned int copy)"""
10376  return _IMP_atom.Selection_set_copy_index(self, copy)
10377 
10378  def set_copy_indexes(self, copies):
10379  r"""set_copy_indexes(Selection self, IMP::Ints copies)"""
10380  return _IMP_atom.Selection_set_copy_indexes(self, copies)
10381 
10382  def set_particle_type(self, t):
10383  r"""set_particle_type(Selection self, ParticleType t)"""
10384  return _IMP_atom.Selection_set_particle_type(self, t)
10385 
10386  def set_particle_types(self, t):
10387  r"""set_particle_types(Selection self, IMP::core::ParticleTypes t)"""
10388  return _IMP_atom.Selection_set_particle_types(self, t)
10389 
10390  def set_hierarchy_types(self, types):
10391  r"""set_hierarchy_types(Selection self, IMP::Ints types)"""
10392  return _IMP_atom.Selection_set_hierarchy_types(self, types)
10393 
10394  def set_intersection(self, s):
10395  r"""set_intersection(Selection self, Selection s)"""
10396  return _IMP_atom.Selection_set_intersection(self, s)
10397 
10398  def set_union(self, s):
10399  r"""set_union(Selection self, Selection s)"""
10400  return _IMP_atom.Selection_set_union(self, s)
10401 
10402  def set_symmetric_difference(self, s):
10403  r"""set_symmetric_difference(Selection self, Selection s)"""
10404  return _IMP_atom.Selection_set_symmetric_difference(self, s)
10405 
10406  def set_difference(self, s):
10407  r"""set_difference(Selection self, Selection s)"""
10408  return _IMP_atom.Selection_set_difference(self, s)
10409 
10410  def get_selected_particles(self, with_representation=True):
10411  r"""get_selected_particles(Selection self, bool with_representation=True) -> IMP::ParticlesTemp"""
10412  return _IMP_atom.Selection_get_selected_particles(self, with_representation)
10413 
10414  def get_selected_particle_indexes(self, with_representation=True):
10415  r"""get_selected_particle_indexes(Selection self, bool with_representation=True) -> IMP::ParticleIndexes"""
10416  return _IMP_atom.Selection_get_selected_particle_indexes(self, with_representation)
10417 
10418  def show(self, *args):
10419  r"""show(Selection self, _ostream out=std::cout)"""
10420  return _IMP_atom.Selection_show(self, *args)
10421 
10422  def __str__(self):
10423  r"""__str__(Selection self) -> std::string"""
10424  return _IMP_atom.Selection___str__(self)
10425 
10426  def __repr__(self):
10427  r"""__repr__(Selection self) -> std::string"""
10428  return _IMP_atom.Selection___repr__(self)
10429 
10430  def __init__(self, hierarchy=None,
10431  hierarchies=None, **params):
10432  if hierarchy and hierarchies:
10433  raise RuntimeError("You can't pass both hierarchy and hierarchies to Selection")
10434  if hierarchy:
10435  this = _IMP_atom.new_Selection(hierarchy)
10436  try: self.this.append(this)
10437  except: self.this = this
10438  elif hierarchies:
10439  this = _IMP_atom.new_Selection(hierarchies)
10440  try: self.this.append(this)
10441  except: self.this = this
10442  else:
10443  raise ValueError("Either hierarchy or hierarchies must be provided.")
10444  for k in params.keys():
10445  eval("self.set_%s(params[k])"%k)
10446 
10447  def union(self, s):
10448  news = self.create_clone()
10449  news.union_update(s)
10450  return news
10451  def intersection(self, s):
10452  news = self.create_clone()
10453  news.intersection_update(s)
10454  return news
10455  def symmetric_difference(self, s):
10456  news = self.create_clone()
10457  news.symmetric_difference_update(s)
10458  return news
10459  def difference(self, s):
10460  news = self.create_clone()
10461  news.difference_update(s)
10462  return news
10463  def union_update(self, s):
10464  self.set_union(s)
10465  return self
10466  def intersection_update(self, s):
10467  self.set_intersection(s)
10468  return self
10469  def symmetric_difference_update(self, s):
10470  self.set_symmetric_difference(s)
10471  return self
10472  def difference_update(self, s):
10473  self.set_difference(s)
10474  return self
10475  __or__ = union
10476  __and__ = intersection
10477  __xor__ = symmetric_difference
10478  __sub__ = difference
10479  __ior__ = union_update
10480  __iand__ = intersection_update
10481  __ixor__ = symmetric_difference_update
10482  __isub__ = difference_update
10483 
10484  __swig_destroy__ = _IMP_atom.delete_Selection
10485 
10486 # Register Selection in _IMP_atom:
10487 _IMP_atom.Selection_swigregister(Selection)
10488 
10489 def create_distance_restraint(*args):
10490  r"""create_distance_restraint(Selection n0, Selection n1, double x0, double k, std::string name="Distance%1%") -> Restraint"""
10491  return _IMP_atom.create_distance_restraint(*args)
10492 
10494  r"""
10495  create_connectivity_restraint(IMP::atom::Selections const & s, double k, std::string name="Connectivity%1%") -> Restraint
10496  create_connectivity_restraint(IMP::atom::Selections const & s, double x0, double k, std::string name="Connectivity%1%") -> Restraint
10497  """
10498  return _IMP_atom.create_connectivity_restraint(*args)
10499 
10501  r"""
10502  create_internal_connectivity_restraint(Selection s, double k, std::string name="Connectivity%1%") -> Restraint
10503  create_internal_connectivity_restraint(Selection s, double x0, double k, std::string name="Connectivity%1%") -> Restraint
10504  """
10505  return _IMP_atom.create_internal_connectivity_restraint(*args)
10506 
10507 def create_cover(*args):
10508  r"""create_cover(Selection s, std::string name=std::string()) -> XYZR"""
10509  return _IMP_atom.create_cover(*args)
10510 
10511 def get_mass(*args):
10512  r"""
10513  get_mass(ResidueType c) -> double
10514  get_mass(Selection s) -> double
10515  """
10516  return _IMP_atom.get_mass(*args)
10517 
10518 def get_volume(s):
10519  r"""get_volume(Selection s) -> double"""
10520  return _IMP_atom.get_volume(s)
10521 
10522 def get_surface_area(s):
10523  r"""get_surface_area(Selection s) -> double"""
10524  return _IMP_atom.get_surface_area(s)
10525 
10526 def get_leaves(*args):
10527  r"""
10528  get_leaves(Hierarchy h) -> IMP::atom::Hierarchies
10529  get_leaves(IMP::atom::Hierarchies const & h) -> IMP::atom::Hierarchies
10530  get_leaves(Selection h) -> IMP::atom::Hierarchies
10531  """
10532  return _IMP_atom.get_leaves(*args)
10533 class SelectionGeometry(IMP.display.Geometry):
10534  r"""Proxy of C++ IMP::atom::SelectionGeometry class."""
10535 
10536  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10537 
10538  def __init__(self, *args):
10539  r"""__init__(SelectionGeometry self, Selection d, std::string name="Selection") -> SelectionGeometry"""
10540  _IMP_atom.SelectionGeometry_swiginit(self, _IMP_atom.new_SelectionGeometry(*args))
10541 
10542  def get_version_info(self):
10543  r"""get_version_info(SelectionGeometry self) -> VersionInfo"""
10544  return _IMP_atom.SelectionGeometry_get_version_info(self)
10545  __swig_destroy__ = _IMP_atom.delete_SelectionGeometry
10546 
10547  def __str__(self):
10548  r"""__str__(SelectionGeometry self) -> std::string"""
10549  return _IMP_atom.SelectionGeometry___str__(self)
10550 
10551  def __repr__(self):
10552  r"""__repr__(SelectionGeometry self) -> std::string"""
10553  return _IMP_atom.SelectionGeometry___repr__(self)
10554 
10555  @staticmethod
10556  def get_from(o):
10557  return _object_cast_to_SelectionGeometry(o)
10558 
10559 
10560 # Register SelectionGeometry in _IMP_atom:
10561 _IMP_atom.SelectionGeometry_swigregister(SelectionGeometry)
10562 
10563 def get_rmsd(*args):
10564  r"""
10565  get_rmsd(IMP::core::XYZs const & s0, IMP::core::XYZs const & s1) -> double
10566  get_rmsd(Selection s0, Selection s1) -> double
10567  """
10568  return _IMP_atom.get_rmsd(*args)
10569 
10570 def get_rmsd_transforming_first(*args):
10571  r"""
10572  get_rmsd_transforming_first(Transformation3D tr, IMP::core::XYZs const & s0, IMP::core::XYZs const & s1) -> double
10573  get_rmsd_transforming_first(Transformation3D tr, Selection s0, Selection s1) -> double
10574  """
10575  return _IMP_atom.get_rmsd_transforming_first(*args)
10576 
10577 def get_placement_score(source, target):
10578  r"""get_placement_score(IMP::core::XYZs const & source, IMP::core::XYZs const & target) -> IMP::FloatPair"""
10579  return _IMP_atom.get_placement_score(source, target)
10580 
10581 def get_component_placement_score(ref1, ref2, mdl1, mdl2):
10582  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"""
10583  return _IMP_atom.get_component_placement_score(ref1, ref2, mdl1, mdl2)
10584 
10585 def get_pairwise_rmsd_score(ref1, ref2, mdl1, mdl2):
10586  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"""
10587  return _IMP_atom.get_pairwise_rmsd_score(ref1, ref2, mdl1, mdl2)
10588 
10589 def get_radius_of_gyration(*args):
10590  r"""
10591  get_radius_of_gyration(Selection s) -> double
10592  get_radius_of_gyration(IMP::ParticlesTemp const & ps, bool weighted=True) -> double
10593  """
10594  return _IMP_atom.get_radius_of_gyration(*args)
10595 class ForceFieldParameters(IMP.Object):
10596  r"""Proxy of C++ IMP::atom::ForceFieldParameters class."""
10597 
10598  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10599 
10600  def __init__(self):
10601  r"""__init__(ForceFieldParameters self) -> ForceFieldParameters"""
10602  _IMP_atom.ForceFieldParameters_swiginit(self, _IMP_atom.new_ForceFieldParameters())
10603 
10604  def get_radius(self, atom):
10605  r"""get_radius(ForceFieldParameters self, Atom atom) -> IMP::Float"""
10606  return _IMP_atom.ForceFieldParameters_get_radius(self, atom)
10607 
10608  def get_epsilon(self, atom):
10609  r"""get_epsilon(ForceFieldParameters self, Atom atom) -> IMP::Float"""
10610  return _IMP_atom.ForceFieldParameters_get_epsilon(self, atom)
10611 
10612  def add_radii(self, *args):
10613  r"""add_radii(ForceFieldParameters self, Hierarchy mhd, double scale=1.0, FloatKey radius_key=IMP::FloatKey("radius"))"""
10614  return _IMP_atom.ForceFieldParameters_add_radii(self, *args)
10615 
10616  def add_lennard_jones_types(self, mhd):
10617  r"""add_lennard_jones_types(ForceFieldParameters self, Hierarchy mhd)"""
10618  return _IMP_atom.ForceFieldParameters_add_lennard_jones_types(self, mhd)
10619 
10620  def add_bonds(self, mhd):
10621  r"""add_bonds(ForceFieldParameters self, Hierarchy mhd)"""
10622  return _IMP_atom.ForceFieldParameters_add_bonds(self, mhd)
10623  __swig_destroy__ = _IMP_atom.delete_ForceFieldParameters
10624 
10625  def __str__(self):
10626  r"""__str__(ForceFieldParameters self) -> std::string"""
10627  return _IMP_atom.ForceFieldParameters___str__(self)
10628 
10629  def __repr__(self):
10630  r"""__repr__(ForceFieldParameters self) -> std::string"""
10631  return _IMP_atom.ForceFieldParameters___repr__(self)
10632 
10633  @staticmethod
10634  def get_from(o):
10635  return _object_cast_to_ForceFieldParameters(o)
10636 
10637 
10638 # Register ForceFieldParameters in _IMP_atom:
10639 _IMP_atom.ForceFieldParameters_swigregister(ForceFieldParameters)
10640 class CHARMMAtomTopology(object):
10641  r"""Proxy of C++ IMP::atom::CHARMMAtomTopology class."""
10642 
10643  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10644 
10645  def __init__(self, *args):
10646  r"""
10647  __init__(CHARMMAtomTopology self) -> CHARMMAtomTopology
10648  __init__(CHARMMAtomTopology self, std::string name) -> CHARMMAtomTopology
10649  __init__(CHARMMAtomTopology self, std::string name, CHARMMAtomTopology other) -> CHARMMAtomTopology
10650  """
10651  _IMP_atom.CHARMMAtomTopology_swiginit(self, _IMP_atom.new_CHARMMAtomTopology(*args))
10652 
10653  def get_name(self):
10654  r"""get_name(CHARMMAtomTopology self) -> std::string"""
10655  return _IMP_atom.CHARMMAtomTopology_get_name(self)
10656 
10657  def get_charmm_type(self):
10658  r"""get_charmm_type(CHARMMAtomTopology self) -> std::string"""
10659  return _IMP_atom.CHARMMAtomTopology_get_charmm_type(self)
10660 
10661  def get_charge(self):
10662  r"""get_charge(CHARMMAtomTopology self) -> double"""
10663  return _IMP_atom.CHARMMAtomTopology_get_charge(self)
10664 
10665  def set_charmm_type(self, charmm_type):
10666  r"""set_charmm_type(CHARMMAtomTopology self, std::string charmm_type)"""
10667  return _IMP_atom.CHARMMAtomTopology_set_charmm_type(self, charmm_type)
10668 
10669  def set_charge(self, charge):
10670  r"""set_charge(CHARMMAtomTopology self, double charge)"""
10671  return _IMP_atom.CHARMMAtomTopology_set_charge(self, charge)
10672 
10673  def show(self, *args):
10674  r"""show(CHARMMAtomTopology self, _ostream out=std::cout)"""
10675  return _IMP_atom.CHARMMAtomTopology_show(self, *args)
10676 
10677  def __str__(self):
10678  r"""__str__(CHARMMAtomTopology self) -> std::string"""
10679  return _IMP_atom.CHARMMAtomTopology___str__(self)
10680 
10681  def __repr__(self):
10682  r"""__repr__(CHARMMAtomTopology self) -> std::string"""
10683  return _IMP_atom.CHARMMAtomTopology___repr__(self)
10684 
10685  def _get_as_binary(self):
10686  r"""_get_as_binary(CHARMMAtomTopology self) -> PyObject *"""
10687  return _IMP_atom.CHARMMAtomTopology__get_as_binary(self)
10688 
10689  def _set_from_binary(self, p):
10690  r"""_set_from_binary(CHARMMAtomTopology self, PyObject * p)"""
10691  return _IMP_atom.CHARMMAtomTopology__set_from_binary(self, p)
10692 
10693  def __getstate__(self):
10694  p = self._get_as_binary()
10695  if len(self.__dict__) > 1:
10696  d = self.__dict__.copy()
10697  del d['this']
10698  p = (d, p)
10699  return p
10700 
10701  def __setstate__(self, p):
10702  if not hasattr(self, 'this'):
10703  self.__init__()
10704  if isinstance(p, tuple):
10705  d, p = p
10706  self.__dict__.update(d)
10707  return self._set_from_binary(p)
10708 
10709  __swig_destroy__ = _IMP_atom.delete_CHARMMAtomTopology
10710 
10711 # Register CHARMMAtomTopology in _IMP_atom:
10712 _IMP_atom.CHARMMAtomTopology_swigregister(CHARMMAtomTopology)
10713 class CHARMMBondEndpoint(object):
10714  r"""Proxy of C++ IMP::atom::CHARMMBondEndpoint class."""
10715 
10716  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10717 
10718  def __init__(self, atom_name, residue=None):
10719  r"""__init__(CHARMMBondEndpoint self, std::string atom_name, CHARMMResidueTopology residue=None) -> CHARMMBondEndpoint"""
10720  _IMP_atom.CHARMMBondEndpoint_swiginit(self, _IMP_atom.new_CHARMMBondEndpoint(atom_name, residue))
10721 
10722  def get_atom_name(self):
10723  r"""get_atom_name(CHARMMBondEndpoint self) -> std::string"""
10724  return _IMP_atom.CHARMMBondEndpoint_get_atom_name(self)
10725 
10726  def get_atom(self, current_residue, previous_residue, next_residue, resmap):
10727  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"""
10728  return _IMP_atom.CHARMMBondEndpoint_get_atom(self, current_residue, previous_residue, next_residue, resmap)
10729 
10730  def show(self, *args):
10731  r"""show(CHARMMBondEndpoint self, _ostream out=std::cout)"""
10732  return _IMP_atom.CHARMMBondEndpoint_show(self, *args)
10733 
10734  def __str__(self):
10735  r"""__str__(CHARMMBondEndpoint self) -> std::string"""
10736  return _IMP_atom.CHARMMBondEndpoint___str__(self)
10737 
10738  def __repr__(self):
10739  r"""__repr__(CHARMMBondEndpoint self) -> std::string"""
10740  return _IMP_atom.CHARMMBondEndpoint___repr__(self)
10741  __swig_destroy__ = _IMP_atom.delete_CHARMMBondEndpoint
10742 
10743 # Register CHARMMBondEndpoint in _IMP_atom:
10744 _IMP_atom.CHARMMBondEndpoint_swigregister(CHARMMBondEndpoint)
10745 class CHARMMDihedral(object):
10746  r"""Proxy of C++ IMP::atom::CHARMMConnection< 4 > class."""
10747 
10748  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10749  __repr__ = _swig_repr
10750 
10751  def __init__(self, atoms):
10752  r"""__init__(CHARMMDihedral self, IMP::Strings const & atoms) -> CHARMMDihedral"""
10753  _IMP_atom.CHARMMDihedral_swiginit(self, _IMP_atom.new_CHARMMDihedral(atoms))
10754 
10755  def get_endpoint(self, i):
10756  r"""get_endpoint(CHARMMDihedral self, unsigned int i) -> CHARMMBondEndpoint"""
10757  return _IMP_atom.CHARMMDihedral_get_endpoint(self, i)
10758 
10759  def get_contains_atom(self, name):
10760  r"""get_contains_atom(CHARMMDihedral self, std::string name) -> bool"""
10761  return _IMP_atom.CHARMMDihedral_get_contains_atom(self, name)
10762 
10763  def show(self, *args):
10764  r"""show(CHARMMDihedral self, _ostream out=std::cout)"""
10765  return _IMP_atom.CHARMMDihedral_show(self, *args)
10766  __swig_destroy__ = _IMP_atom.delete_CHARMMDihedral
10767 
10768 # Register CHARMMDihedral in _IMP_atom:
10769 _IMP_atom.CHARMMDihedral_swigregister(CHARMMDihedral)
10770 class CHARMMInternalCoordinate(CHARMMDihedral):
10771  r"""Proxy of C++ IMP::atom::CHARMMInternalCoordinate class."""
10772 
10773  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10774 
10775  def __init__(self, *args):
10776  r"""
10777  __init__(CHARMMInternalCoordinate self, IMP::Strings const & atoms, float first_distance, float first_angle, float dihedral, float second_angle, float second_distance, bool improper) -> CHARMMInternalCoordinate
10778  __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
10779  """
10780  _IMP_atom.CHARMMInternalCoordinate_swiginit(self, _IMP_atom.new_CHARMMInternalCoordinate(*args))
10781 
10782  def get_first_distance(self):
10783  r"""get_first_distance(CHARMMInternalCoordinate self) -> float"""
10784  return _IMP_atom.CHARMMInternalCoordinate_get_first_distance(self)
10785 
10786  def get_second_distance(self):
10787  r"""get_second_distance(CHARMMInternalCoordinate self) -> float"""
10788  return _IMP_atom.CHARMMInternalCoordinate_get_second_distance(self)
10789 
10790  def get_first_angle(self):
10791  r"""get_first_angle(CHARMMInternalCoordinate self) -> float"""
10792  return _IMP_atom.CHARMMInternalCoordinate_get_first_angle(self)
10793 
10794  def get_second_angle(self):
10795  r"""get_second_angle(CHARMMInternalCoordinate self) -> float"""
10796  return _IMP_atom.CHARMMInternalCoordinate_get_second_angle(self)
10797 
10798  def get_dihedral(self):
10799  r"""get_dihedral(CHARMMInternalCoordinate self) -> float"""
10800  return _IMP_atom.CHARMMInternalCoordinate_get_dihedral(self)
10801 
10802  def get_improper(self):
10803  r"""get_improper(CHARMMInternalCoordinate self) -> bool"""
10804  return _IMP_atom.CHARMMInternalCoordinate_get_improper(self)
10805 
10806  def show(self, *args):
10807  r"""show(CHARMMInternalCoordinate self, _ostream out=std::cout)"""
10808  return _IMP_atom.CHARMMInternalCoordinate_show(self, *args)
10809 
10810  def __str__(self):
10811  r"""__str__(CHARMMInternalCoordinate self) -> std::string"""
10812  return _IMP_atom.CHARMMInternalCoordinate___str__(self)
10813 
10814  def __repr__(self):
10815  r"""__repr__(CHARMMInternalCoordinate self) -> std::string"""
10816  return _IMP_atom.CHARMMInternalCoordinate___repr__(self)
10817  __swig_destroy__ = _IMP_atom.delete_CHARMMInternalCoordinate
10818 
10819 # Register CHARMMInternalCoordinate in _IMP_atom:
10820 _IMP_atom.CHARMMInternalCoordinate_swigregister(CHARMMInternalCoordinate)
10821 class CHARMMResidueTopologyBase(IMP.Object):
10822  r"""Proxy of C++ IMP::atom::CHARMMResidueTopologyBase class."""
10823 
10824  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10825 
10826  def __init__(self, *args, **kwargs):
10827  raise AttributeError("No constructor defined")
10828 
10829  def get_type(self):
10830  r"""get_type(CHARMMResidueTopologyBase self) -> std::string"""
10831  return _IMP_atom.CHARMMResidueTopologyBase_get_type(self)
10832 
10833  def get_number_of_atoms(self):
10834  r"""get_number_of_atoms(CHARMMResidueTopologyBase self) -> unsigned int"""
10835  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_atoms(self)
10836 
10837  def add_atom(self, atom):
10838  r"""add_atom(CHARMMResidueTopologyBase self, CHARMMAtomTopology atom)"""
10839  return _IMP_atom.CHARMMResidueTopologyBase_add_atom(self, atom)
10840 
10841  def get_atom(self, *args):
10842  r"""
10843  get_atom(CHARMMResidueTopologyBase self, unsigned int i) -> CHARMMAtomTopology
10844  get_atom(CHARMMResidueTopologyBase self, AtomType type) -> CHARMMAtomTopology
10845  get_atom(CHARMMResidueTopologyBase self, std::string name) -> CHARMMAtomTopology
10846  """
10847  return _IMP_atom.CHARMMResidueTopologyBase_get_atom(self, *args)
10848 
10849  def get_number_of_bonds(self):
10850  r"""get_number_of_bonds(CHARMMResidueTopologyBase self) -> unsigned int"""
10851  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_bonds(self)
10852 
10853  def add_bond(self, bond):
10854  r"""add_bond(CHARMMResidueTopologyBase self, CHARMMBond bond)"""
10855  return _IMP_atom.CHARMMResidueTopologyBase_add_bond(self, bond)
10856 
10857  def get_number_of_angles(self):
10858  r"""get_number_of_angles(CHARMMResidueTopologyBase self) -> unsigned int"""
10859  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_angles(self)
10860 
10861  def add_angle(self, bond):
10862  r"""add_angle(CHARMMResidueTopologyBase self, CHARMMAngle bond)"""
10863  return _IMP_atom.CHARMMResidueTopologyBase_add_angle(self, bond)
10864 
10865  def get_number_of_dihedrals(self):
10866  r"""get_number_of_dihedrals(CHARMMResidueTopologyBase self) -> unsigned int"""
10867  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_dihedrals(self)
10868 
10869  def add_dihedral(self, bond):
10870  r"""add_dihedral(CHARMMResidueTopologyBase self, CHARMMDihedral bond)"""
10871  return _IMP_atom.CHARMMResidueTopologyBase_add_dihedral(self, bond)
10872 
10873  def get_number_of_impropers(self):
10874  r"""get_number_of_impropers(CHARMMResidueTopologyBase self) -> unsigned int"""
10875  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_impropers(self)
10876 
10877  def add_improper(self, bond):
10878  r"""add_improper(CHARMMResidueTopologyBase self, CHARMMDihedral bond)"""
10879  return _IMP_atom.CHARMMResidueTopologyBase_add_improper(self, bond)
10880 
10881  def get_number_of_internal_coordinates(self):
10882  r"""get_number_of_internal_coordinates(CHARMMResidueTopologyBase self) -> unsigned int"""
10883  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_internal_coordinates(self)
10884 
10885  def add_internal_coordinate(self, ic):
10886  r"""add_internal_coordinate(CHARMMResidueTopologyBase self, CHARMMInternalCoordinate ic)"""
10887  return _IMP_atom.CHARMMResidueTopologyBase_add_internal_coordinate(self, ic)
10888 
10889  def get_internal_coordinate(self, index):
10890  r"""get_internal_coordinate(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMInternalCoordinate"""
10891  return _IMP_atom.CHARMMResidueTopologyBase_get_internal_coordinate(self, index)
10892 
10893  def get_bond(self, index):
10894  r"""get_bond(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMBond"""
10895  return _IMP_atom.CHARMMResidueTopologyBase_get_bond(self, index)
10896 
10897  def get_angle(self, index):
10898  r"""get_angle(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMAngle"""
10899  return _IMP_atom.CHARMMResidueTopologyBase_get_angle(self, index)
10900 
10901  def get_dihedral(self, index):
10902  r"""get_dihedral(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMDihedral"""
10903  return _IMP_atom.CHARMMResidueTopologyBase_get_dihedral(self, index)
10904 
10905  def get_improper(self, index):
10906  r"""get_improper(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMDihedral"""
10907  return _IMP_atom.CHARMMResidueTopologyBase_get_improper(self, index)
10908 
10909  def get_version_info(self):
10910  r"""get_version_info(CHARMMResidueTopologyBase self) -> VersionInfo"""
10911  return _IMP_atom.CHARMMResidueTopologyBase_get_version_info(self)
10912  __swig_destroy__ = _IMP_atom.delete_CHARMMResidueTopologyBase
10913 
10914  def __str__(self):
10915  r"""__str__(CHARMMResidueTopologyBase self) -> std::string"""
10916  return _IMP_atom.CHARMMResidueTopologyBase___str__(self)
10917 
10918  def __repr__(self):
10919  r"""__repr__(CHARMMResidueTopologyBase self) -> std::string"""
10920  return _IMP_atom.CHARMMResidueTopologyBase___repr__(self)
10921 
10922  @staticmethod
10923  def get_from(o):
10924  return _object_cast_to_CHARMMResidueTopologyBase(o)
10925 
10926 
10927 # Register CHARMMResidueTopologyBase in _IMP_atom:
10928 _IMP_atom.CHARMMResidueTopologyBase_swigregister(CHARMMResidueTopologyBase)
10929 class CHARMMIdealResidueTopology(CHARMMResidueTopologyBase):
10930  r"""Proxy of C++ IMP::atom::CHARMMIdealResidueTopology class."""
10931 
10932  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10933 
10934  def __init__(self, *args):
10935  r"""
10936  __init__(CHARMMIdealResidueTopology self, std::string type) -> CHARMMIdealResidueTopology
10937  __init__(CHARMMIdealResidueTopology self, ResidueType type) -> CHARMMIdealResidueTopology
10938  """
10939  _IMP_atom.CHARMMIdealResidueTopology_swiginit(self, _IMP_atom.new_CHARMMIdealResidueTopology(*args))
10940 
10941  def remove_atom(self, name):
10942  r"""remove_atom(CHARMMIdealResidueTopology self, std::string name)"""
10943  return _IMP_atom.CHARMMIdealResidueTopology_remove_atom(self, name)
10944 
10945  def set_default_first_patch(self, patch):
10946  r"""set_default_first_patch(CHARMMIdealResidueTopology self, std::string patch)"""
10947  return _IMP_atom.CHARMMIdealResidueTopology_set_default_first_patch(self, patch)
10948 
10949  def set_default_last_patch(self, patch):
10950  r"""set_default_last_patch(CHARMMIdealResidueTopology self, std::string patch)"""
10951  return _IMP_atom.CHARMMIdealResidueTopology_set_default_last_patch(self, patch)
10952 
10953  def get_default_first_patch(self):
10954  r"""get_default_first_patch(CHARMMIdealResidueTopology self) -> std::string"""
10955  return _IMP_atom.CHARMMIdealResidueTopology_get_default_first_patch(self)
10956 
10957  def get_default_last_patch(self):
10958  r"""get_default_last_patch(CHARMMIdealResidueTopology self) -> std::string"""
10959  return _IMP_atom.CHARMMIdealResidueTopology_get_default_last_patch(self)
10960  __swig_destroy__ = _IMP_atom.delete_CHARMMIdealResidueTopology
10961 
10962  def __str__(self):
10963  r"""__str__(CHARMMIdealResidueTopology self) -> std::string"""
10964  return _IMP_atom.CHARMMIdealResidueTopology___str__(self)
10965 
10966  def __repr__(self):
10967  r"""__repr__(CHARMMIdealResidueTopology self) -> std::string"""
10968  return _IMP_atom.CHARMMIdealResidueTopology___repr__(self)
10969 
10970  @staticmethod
10971  def get_from(o):
10972  return _object_cast_to_CHARMMIdealResidueTopology(o)
10973 
10974 
10975 # Register CHARMMIdealResidueTopology in _IMP_atom:
10976 _IMP_atom.CHARMMIdealResidueTopology_swigregister(CHARMMIdealResidueTopology)
10977 class CHARMMPatch(CHARMMResidueTopologyBase):
10978  r"""Proxy of C++ IMP::atom::CHARMMPatch class."""
10979 
10980  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10981 
10982  def __init__(self, type):
10983  r"""__init__(CHARMMPatch self, std::string type) -> CHARMMPatch"""
10984  _IMP_atom.CHARMMPatch_swiginit(self, _IMP_atom.new_CHARMMPatch(type))
10985 
10986  def add_removed_atom(self, name):
10987  r"""add_removed_atom(CHARMMPatch self, std::string name)"""
10988  return _IMP_atom.CHARMMPatch_add_removed_atom(self, name)
10989 
10990  def get_number_of_removed_atoms(self):
10991  r"""get_number_of_removed_atoms(CHARMMPatch self) -> unsigned int"""
10992  return _IMP_atom.CHARMMPatch_get_number_of_removed_atoms(self)
10993 
10994  def get_removed_atom(self, i):
10995  r"""get_removed_atom(CHARMMPatch self, unsigned int i) -> std::string"""
10996  return _IMP_atom.CHARMMPatch_get_removed_atom(self, i)
10997 
10998  def apply(self, *args):
10999  r"""
11000  apply(CHARMMPatch self, CHARMMResidueTopology res)
11001  apply(CHARMMPatch self, CHARMMResidueTopology res1, CHARMMResidueTopology res2)
11002  """
11003  return _IMP_atom.CHARMMPatch_apply(self, *args)
11004  __swig_destroy__ = _IMP_atom.delete_CHARMMPatch
11005 
11006  def __str__(self):
11007  r"""__str__(CHARMMPatch self) -> std::string"""
11008  return _IMP_atom.CHARMMPatch___str__(self)
11009 
11010  def __repr__(self):
11011  r"""__repr__(CHARMMPatch self) -> std::string"""
11012  return _IMP_atom.CHARMMPatch___repr__(self)
11013 
11014  @staticmethod
11015  def get_from(o):
11016  return _object_cast_to_CHARMMPatch(o)
11017 
11018 
11019 # Register CHARMMPatch in _IMP_atom:
11020 _IMP_atom.CHARMMPatch_swigregister(CHARMMPatch)
11021 class CHARMMResidueTopology(CHARMMIdealResidueTopology):
11022  r"""Proxy of C++ IMP::atom::CHARMMResidueTopology class."""
11023 
11024  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11025 
11026  def __init__(self, *args):
11027  r"""
11028  __init__(CHARMMResidueTopology self, ResidueType type) -> CHARMMResidueTopology
11029  __init__(CHARMMResidueTopology self, CHARMMIdealResidueTopology ideal) -> CHARMMResidueTopology
11030  """
11031  _IMP_atom.CHARMMResidueTopology_swiginit(self, _IMP_atom.new_CHARMMResidueTopology(*args))
11032 
11033  def get_patched(self):
11034  r"""get_patched(CHARMMResidueTopology self) -> bool"""
11035  return _IMP_atom.CHARMMResidueTopology_get_patched(self)
11036 
11037  def set_patched(self, patched):
11038  r"""set_patched(CHARMMResidueTopology self, bool patched)"""
11039  return _IMP_atom.CHARMMResidueTopology_set_patched(self, patched)
11040  __swig_destroy__ = _IMP_atom.delete_CHARMMResidueTopology
11041 
11042  def __str__(self):
11043  r"""__str__(CHARMMResidueTopology self) -> std::string"""
11044  return _IMP_atom.CHARMMResidueTopology___str__(self)
11045 
11046  def __repr__(self):
11047  r"""__repr__(CHARMMResidueTopology self) -> std::string"""
11048  return _IMP_atom.CHARMMResidueTopology___repr__(self)
11049 
11050  @staticmethod
11051  def get_from(o):
11052  return _object_cast_to_CHARMMResidueTopology(o)
11053 
11054 
11055 # Register CHARMMResidueTopology in _IMP_atom:
11056 _IMP_atom.CHARMMResidueTopology_swigregister(CHARMMResidueTopology)
11057 class CHARMMAtom(Atom):
11058  r"""Proxy of C++ IMP::atom::CHARMMAtom class."""
11059 
11060  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11061 
11062  def __init__(self, *args):
11063  r"""
11064  __init__(CHARMMAtom self) -> CHARMMAtom
11065  __init__(CHARMMAtom self, Model m, ParticleIndex id) -> CHARMMAtom
11066  __init__(CHARMMAtom self, _ParticleAdaptor d) -> CHARMMAtom
11067  """
11068  _IMP_atom.CHARMMAtom_swiginit(self, _IMP_atom.new_CHARMMAtom(*args))
11069 
11070  def show(self, *args):
11071  r"""show(CHARMMAtom self, _ostream out=std::cout)"""
11072  return _IMP_atom.CHARMMAtom_show(self, *args)
11073 
11074  @staticmethod
11075  def setup_particle(*args):
11076  r"""
11077  setup_particle(Model m, ParticleIndex pi, IMP::String charmm_type) -> CHARMMAtom
11078  setup_particle(_ParticleAdaptor pa, IMP::String charmm_type) -> CHARMMAtom
11079  """
11080  return _IMP_atom.CHARMMAtom_setup_particle(*args)
11081 
11082  def get_charmm_type(self):
11083  r"""get_charmm_type(CHARMMAtom self) -> IMP::String"""
11084  return _IMP_atom.CHARMMAtom_get_charmm_type(self)
11085 
11086  def set_charmm_type(self, t):
11087  r"""set_charmm_type(CHARMMAtom self, IMP::String t)"""
11088  return _IMP_atom.CHARMMAtom_set_charmm_type(self, t)
11089 
11090  @staticmethod
11091  def get_is_setup(*args):
11092  r"""
11093  get_is_setup(_ParticleAdaptor p) -> bool
11094  get_is_setup(Model m, ParticleIndex pi) -> bool
11095  """
11096  return _IMP_atom.CHARMMAtom_get_is_setup(*args)
11097 
11098  @staticmethod
11099  def get_charmm_type_key():
11100  r"""get_charmm_type_key() -> StringKey"""
11101  return _IMP_atom.CHARMMAtom_get_charmm_type_key()
11102 
11103  def add_attribute(self, *args):
11104  r"""
11105  add_attribute(CHARMMAtom self, FloatKey k, IMP::Float v, bool opt)
11106  add_attribute(CHARMMAtom self, FloatKey a0, IMP::Float a1)
11107  add_attribute(CHARMMAtom self, IntKey a0, IMP::Int a1)
11108  add_attribute(CHARMMAtom self, FloatsKey a0, IMP::Floats a1)
11109  add_attribute(CHARMMAtom self, IntsKey a0, IMP::Ints a1)
11110  add_attribute(CHARMMAtom self, StringKey a0, IMP::String a1)
11111  add_attribute(CHARMMAtom self, ParticleIndexKey a0, Particle a1)
11112  add_attribute(CHARMMAtom self, ObjectKey a0, Object a1)
11113  add_attribute(CHARMMAtom self, SparseFloatKey a0, IMP::Float a1)
11114  add_attribute(CHARMMAtom self, SparseIntKey a0, IMP::Int a1)
11115  add_attribute(CHARMMAtom self, SparseStringKey a0, IMP::String a1)
11116  add_attribute(CHARMMAtom self, SparseParticleIndexKey a0, ParticleIndex a1)
11117  """
11118  return _IMP_atom.CHARMMAtom_add_attribute(self, *args)
11119 
11120  def get_value(self, *args):
11121  r"""
11122  get_value(CHARMMAtom self, FloatKey a0) -> IMP::Float
11123  get_value(CHARMMAtom self, IntKey a0) -> IMP::Int
11124  get_value(CHARMMAtom self, FloatsKey a0) -> IMP::Floats
11125  get_value(CHARMMAtom self, IntsKey a0) -> IMP::Ints
11126  get_value(CHARMMAtom self, StringKey a0) -> IMP::String
11127  get_value(CHARMMAtom self, ParticleIndexKey a0) -> Particle
11128  get_value(CHARMMAtom self, ObjectKey a0) -> Object
11129  get_value(CHARMMAtom self, SparseFloatKey a0) -> IMP::Float
11130  get_value(CHARMMAtom self, SparseIntKey a0) -> IMP::Int
11131  get_value(CHARMMAtom self, SparseStringKey a0) -> IMP::String
11132  get_value(CHARMMAtom self, SparseParticleIndexKey a0) -> ParticleIndex
11133  """
11134  return _IMP_atom.CHARMMAtom_get_value(self, *args)
11135 
11136  def set_value(self, *args):
11137  r"""
11138  set_value(CHARMMAtom self, FloatKey a0, IMP::Float a1)
11139  set_value(CHARMMAtom self, IntKey a0, IMP::Int a1)
11140  set_value(CHARMMAtom self, FloatsKey a0, IMP::Floats a1)
11141  set_value(CHARMMAtom self, IntsKey a0, IMP::Ints a1)
11142  set_value(CHARMMAtom self, StringKey a0, IMP::String a1)
11143  set_value(CHARMMAtom self, ParticleIndexKey a0, Particle a1)
11144  set_value(CHARMMAtom self, ObjectKey a0, Object a1)
11145  set_value(CHARMMAtom self, SparseFloatKey a0, IMP::Float a1)
11146  set_value(CHARMMAtom self, SparseIntKey a0, IMP::Int a1)
11147  set_value(CHARMMAtom self, SparseStringKey a0, IMP::String a1)
11148  set_value(CHARMMAtom self, SparseParticleIndexKey a0, ParticleIndex a1)
11149  """
11150  return _IMP_atom.CHARMMAtom_set_value(self, *args)
11151 
11152  def remove_attribute(self, *args):
11153  r"""
11154  remove_attribute(CHARMMAtom self, FloatKey a0)
11155  remove_attribute(CHARMMAtom self, IntKey a0)
11156  remove_attribute(CHARMMAtom self, FloatsKey a0)
11157  remove_attribute(CHARMMAtom self, IntsKey a0)
11158  remove_attribute(CHARMMAtom self, StringKey a0)
11159  remove_attribute(CHARMMAtom self, ParticleIndexKey a0)
11160  remove_attribute(CHARMMAtom self, ObjectKey a0)
11161  remove_attribute(CHARMMAtom self, SparseFloatKey a0)
11162  remove_attribute(CHARMMAtom self, SparseIntKey a0)
11163  remove_attribute(CHARMMAtom self, SparseStringKey a0)
11164  remove_attribute(CHARMMAtom self, SparseParticleIndexKey a0)
11165  """
11166  return _IMP_atom.CHARMMAtom_remove_attribute(self, *args)
11167 
11168  def has_attribute(self, *args):
11169  r"""
11170  has_attribute(CHARMMAtom self, FloatKey a0) -> bool
11171  has_attribute(CHARMMAtom self, IntKey a0) -> bool
11172  has_attribute(CHARMMAtom self, FloatsKey a0) -> bool
11173  has_attribute(CHARMMAtom self, IntsKey a0) -> bool
11174  has_attribute(CHARMMAtom self, StringKey a0) -> bool
11175  has_attribute(CHARMMAtom self, ParticleIndexKey a0) -> bool
11176  has_attribute(CHARMMAtom self, ObjectKey a0) -> bool
11177  has_attribute(CHARMMAtom self, SparseFloatKey a0) -> bool
11178  has_attribute(CHARMMAtom self, SparseIntKey a0) -> bool
11179  has_attribute(CHARMMAtom self, SparseStringKey a0) -> bool
11180  has_attribute(CHARMMAtom self, SparseParticleIndexKey a0) -> bool
11181  """
11182  return _IMP_atom.CHARMMAtom_has_attribute(self, *args)
11183 
11184  def get_derivative(self, a0):
11185  r"""get_derivative(CHARMMAtom self, FloatKey a0) -> double"""
11186  return _IMP_atom.CHARMMAtom_get_derivative(self, a0)
11187 
11188  def get_name(self):
11189  r"""get_name(CHARMMAtom self) -> std::string"""
11190  return _IMP_atom.CHARMMAtom_get_name(self)
11191 
11192  def clear_caches(self):
11193  r"""clear_caches(CHARMMAtom self)"""
11194  return _IMP_atom.CHARMMAtom_clear_caches(self)
11195 
11196  def set_name(self, a0):
11197  r"""set_name(CHARMMAtom self, std::string a0)"""
11198  return _IMP_atom.CHARMMAtom_set_name(self, a0)
11199 
11200  def set_check_level(self, a0):
11201  r"""set_check_level(CHARMMAtom self, IMP::CheckLevel a0)"""
11202  return _IMP_atom.CHARMMAtom_set_check_level(self, a0)
11203 
11204  def add_to_derivative(self, a0, a1, a2):
11205  r"""add_to_derivative(CHARMMAtom self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
11206  return _IMP_atom.CHARMMAtom_add_to_derivative(self, a0, a1, a2)
11207 
11208  def set_is_optimized(self, a0, a1):
11209  r"""set_is_optimized(CHARMMAtom self, FloatKey a0, bool a1)"""
11210  return _IMP_atom.CHARMMAtom_set_is_optimized(self, a0, a1)
11211 
11212  def get_is_optimized(self, a0):
11213  r"""get_is_optimized(CHARMMAtom self, FloatKey a0) -> bool"""
11214  return _IMP_atom.CHARMMAtom_get_is_optimized(self, a0)
11215 
11216  def get_check_level(self):
11217  r"""get_check_level(CHARMMAtom self) -> IMP::CheckLevel"""
11218  return _IMP_atom.CHARMMAtom_get_check_level(self)
11219 
11220  def __eq__(self, *args):
11221  r"""
11222  __eq__(CHARMMAtom self, CHARMMAtom o) -> bool
11223  __eq__(CHARMMAtom self, Particle d) -> bool
11224  """
11225  return _IMP_atom.CHARMMAtom___eq__(self, *args)
11226 
11227  def __ne__(self, *args):
11228  r"""
11229  __ne__(CHARMMAtom self, CHARMMAtom o) -> bool
11230  __ne__(CHARMMAtom self, Particle d) -> bool
11231  """
11232  return _IMP_atom.CHARMMAtom___ne__(self, *args)
11233 
11234  def __le__(self, *args):
11235  r"""
11236  __le__(CHARMMAtom self, CHARMMAtom o) -> bool
11237  __le__(CHARMMAtom self, Particle d) -> bool
11238  """
11239  return _IMP_atom.CHARMMAtom___le__(self, *args)
11240 
11241  def __lt__(self, *args):
11242  r"""
11243  __lt__(CHARMMAtom self, CHARMMAtom o) -> bool
11244  __lt__(CHARMMAtom self, Particle d) -> bool
11245  """
11246  return _IMP_atom.CHARMMAtom___lt__(self, *args)
11247 
11248  def __ge__(self, *args):
11249  r"""
11250  __ge__(CHARMMAtom self, CHARMMAtom o) -> bool
11251  __ge__(CHARMMAtom self, Particle d) -> bool
11252  """
11253  return _IMP_atom.CHARMMAtom___ge__(self, *args)
11254 
11255  def __gt__(self, *args):
11256  r"""
11257  __gt__(CHARMMAtom self, CHARMMAtom o) -> bool
11258  __gt__(CHARMMAtom self, Particle d) -> bool
11259  """
11260  return _IMP_atom.CHARMMAtom___gt__(self, *args)
11261 
11262  def __hash__(self):
11263  r"""__hash__(CHARMMAtom self) -> std::size_t"""
11264  return _IMP_atom.CHARMMAtom___hash__(self)
11265 
11266  def __str__(self):
11267  r"""__str__(CHARMMAtom self) -> std::string"""
11268  return _IMP_atom.CHARMMAtom___str__(self)
11269 
11270  def __repr__(self):
11271  r"""__repr__(CHARMMAtom self) -> std::string"""
11272  return _IMP_atom.CHARMMAtom___repr__(self)
11273 
11274  def _get_as_binary(self):
11275  r"""_get_as_binary(CHARMMAtom self) -> PyObject *"""
11276  return _IMP_atom.CHARMMAtom__get_as_binary(self)
11277 
11278  def _set_from_binary(self, p):
11279  r"""_set_from_binary(CHARMMAtom self, PyObject * p)"""
11280  return _IMP_atom.CHARMMAtom__set_from_binary(self, p)
11281 
11282  def __getstate__(self):
11283  p = self._get_as_binary()
11284  if len(self.__dict__) > 1:
11285  d = self.__dict__.copy()
11286  del d['this']
11287  p = (d, p)
11288  return p
11289 
11290  def __setstate__(self, p):
11291  if not hasattr(self, 'this'):
11292  self.__init__()
11293  if isinstance(p, tuple):
11294  d, p = p
11295  self.__dict__.update(d)
11296  return self._set_from_binary(p)
11297 
11298  __swig_destroy__ = _IMP_atom.delete_CHARMMAtom
11299 
11300 # Register CHARMMAtom in _IMP_atom:
11301 _IMP_atom.CHARMMAtom_swigregister(CHARMMAtom)
11302 
11303 def get_charmm_untyped_atoms(hierarchy):
11304  r"""get_charmm_untyped_atoms(Hierarchy hierarchy) -> IMP::atom::Atoms"""
11305  return _IMP_atom.get_charmm_untyped_atoms(hierarchy)
11306 
11307 def remove_charmm_untyped_atoms(hierarchy):
11308  r"""remove_charmm_untyped_atoms(Hierarchy hierarchy)"""
11309  return _IMP_atom.remove_charmm_untyped_atoms(hierarchy)
11310 class CHARMMBondParameters(object):
11311  r"""Proxy of C++ IMP::atom::CHARMMBondParameters class."""
11312 
11313  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11314  force_constant = property(_IMP_atom.CHARMMBondParameters_force_constant_get, _IMP_atom.CHARMMBondParameters_force_constant_set, doc=r"""force_constant : double""")
11315  ideal = property(_IMP_atom.CHARMMBondParameters_ideal_get, _IMP_atom.CHARMMBondParameters_ideal_set, doc=r"""ideal : double""")
11316 
11317  def __init__(self):
11318  r"""__init__(CHARMMBondParameters self) -> CHARMMBondParameters"""
11319  _IMP_atom.CHARMMBondParameters_swiginit(self, _IMP_atom.new_CHARMMBondParameters())
11320 
11321  def show(self, *args):
11322  r"""show(CHARMMBondParameters self, _ostream out=std::cout)"""
11323  return _IMP_atom.CHARMMBondParameters_show(self, *args)
11324 
11325  def __str__(self):
11326  r"""__str__(CHARMMBondParameters self) -> std::string"""
11327  return _IMP_atom.CHARMMBondParameters___str__(self)
11328 
11329  def __repr__(self):
11330  r"""__repr__(CHARMMBondParameters self) -> std::string"""
11331  return _IMP_atom.CHARMMBondParameters___repr__(self)
11332 
11333  def _get_as_binary(self):
11334  r"""_get_as_binary(CHARMMBondParameters self) -> PyObject *"""
11335  return _IMP_atom.CHARMMBondParameters__get_as_binary(self)
11336 
11337  def _set_from_binary(self, p):
11338  r"""_set_from_binary(CHARMMBondParameters self, PyObject * p)"""
11339  return _IMP_atom.CHARMMBondParameters__set_from_binary(self, p)
11340 
11341  def __getstate__(self):
11342  p = self._get_as_binary()
11343  if len(self.__dict__) > 1:
11344  d = self.__dict__.copy()
11345  del d['this']
11346  p = (d, p)
11347  return p
11348 
11349  def __setstate__(self, p):
11350  if not hasattr(self, 'this'):
11351  self.__init__()
11352  if isinstance(p, tuple):
11353  d, p = p
11354  self.__dict__.update(d)
11355  return self._set_from_binary(p)
11356 
11357  __swig_destroy__ = _IMP_atom.delete_CHARMMBondParameters
11358 
11359 # Register CHARMMBondParameters in _IMP_atom:
11360 _IMP_atom.CHARMMBondParameters_swigregister(CHARMMBondParameters)
11361 class CHARMMDihedralParameters(object):
11362  r"""Proxy of C++ IMP::atom::CHARMMDihedralParameters class."""
11363 
11364  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11365  force_constant = property(_IMP_atom.CHARMMDihedralParameters_force_constant_get, _IMP_atom.CHARMMDihedralParameters_force_constant_set, doc=r"""force_constant : double""")
11366  multiplicity = property(_IMP_atom.CHARMMDihedralParameters_multiplicity_get, _IMP_atom.CHARMMDihedralParameters_multiplicity_set, doc=r"""multiplicity : int""")
11367  ideal = property(_IMP_atom.CHARMMDihedralParameters_ideal_get, _IMP_atom.CHARMMDihedralParameters_ideal_set, doc=r"""ideal : double""")
11368 
11369  def __init__(self):
11370  r"""__init__(CHARMMDihedralParameters self) -> CHARMMDihedralParameters"""
11371  _IMP_atom.CHARMMDihedralParameters_swiginit(self, _IMP_atom.new_CHARMMDihedralParameters())
11372 
11373  def show(self, *args):
11374  r"""show(CHARMMDihedralParameters self, _ostream out=std::cout)"""
11375  return _IMP_atom.CHARMMDihedralParameters_show(self, *args)
11376 
11377  def __str__(self):
11378  r"""__str__(CHARMMDihedralParameters self) -> std::string"""
11379  return _IMP_atom.CHARMMDihedralParameters___str__(self)
11380 
11381  def __repr__(self):
11382  r"""__repr__(CHARMMDihedralParameters self) -> std::string"""
11383  return _IMP_atom.CHARMMDihedralParameters___repr__(self)
11384 
11385  def _get_as_binary(self):
11386  r"""_get_as_binary(CHARMMDihedralParameters self) -> PyObject *"""
11387  return _IMP_atom.CHARMMDihedralParameters__get_as_binary(self)
11388 
11389  def _set_from_binary(self, p):
11390  r"""_set_from_binary(CHARMMDihedralParameters self, PyObject * p)"""
11391  return _IMP_atom.CHARMMDihedralParameters__set_from_binary(self, p)
11392 
11393  def __getstate__(self):
11394  p = self._get_as_binary()
11395  if len(self.__dict__) > 1:
11396  d = self.__dict__.copy()
11397  del d['this']
11398  p = (d, p)
11399  return p
11400 
11401  def __setstate__(self, p):
11402  if not hasattr(self, 'this'):
11403  self.__init__()
11404  if isinstance(p, tuple):
11405  d, p = p
11406  self.__dict__.update(d)
11407  return self._set_from_binary(p)
11408 
11409  __swig_destroy__ = _IMP_atom.delete_CHARMMDihedralParameters
11410 
11411 # Register CHARMMDihedralParameters in _IMP_atom:
11412 _IMP_atom.CHARMMDihedralParameters_swigregister(CHARMMDihedralParameters)
11413 class CHARMMParameters(ForceFieldParameters):
11414  r"""Proxy of C++ IMP::atom::CHARMMParameters class."""
11415 
11416  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11417 
11418  def __init__(self, *args):
11419  r"""__init__(CHARMMParameters self, TextInput topology_file_name, TextInput par_file_name=IMP::TextInput(), bool translate_names_to_pdb=False) -> CHARMMParameters"""
11420  _IMP_atom.CHARMMParameters_swiginit(self, _IMP_atom.new_CHARMMParameters(*args))
11421 
11422  def add_residue_topology(self, res):
11423  r"""add_residue_topology(CHARMMParameters self, CHARMMIdealResidueTopology res)"""
11424  return _IMP_atom.CHARMMParameters_add_residue_topology(self, res)
11425 
11426  def get_residue_topology(self, type):
11427  r"""get_residue_topology(CHARMMParameters self, ResidueType type) -> CHARMMIdealResidueTopology"""
11428  return _IMP_atom.CHARMMParameters_get_residue_topology(self, type)
11429 
11430  def add_patch(self, patch):
11431  r"""add_patch(CHARMMParameters self, CHARMMPatch patch)"""
11432  return _IMP_atom.CHARMMParameters_add_patch(self, patch)
11433 
11434  def get_patch(self, name):
11435  r"""get_patch(CHARMMParameters self, std::string name) -> CHARMMPatch"""
11436  return _IMP_atom.CHARMMParameters_get_patch(self, name)
11437 
11438  def create_topology(self, hierarchy):
11439  r"""create_topology(CHARMMParameters self, Hierarchy hierarchy) -> CHARMMTopology"""
11440  return _IMP_atom.CHARMMParameters_create_topology(self, hierarchy)
11441 
11442  def get_bond_parameters(self, type1, type2):
11443  r"""get_bond_parameters(CHARMMParameters self, std::string type1, std::string type2) -> CHARMMBondParameters"""
11444  return _IMP_atom.CHARMMParameters_get_bond_parameters(self, type1, type2)
11445 
11446  def get_angle_parameters(self, type1, type2, type3):
11447  r"""get_angle_parameters(CHARMMParameters self, std::string type1, std::string type2, std::string type3) -> CHARMMBondParameters"""
11448  return _IMP_atom.CHARMMParameters_get_angle_parameters(self, type1, type2, type3)
11449 
11450  def get_dihedral_parameters(self, type1, type2, type3, type4):
11451  r"""get_dihedral_parameters(CHARMMParameters self, std::string type1, std::string type2, std::string type3, std::string type4) -> IMP::atom::CHARMMDihedralParametersList"""
11452  return _IMP_atom.CHARMMParameters_get_dihedral_parameters(self, type1, type2, type3, type4)
11453 
11454  def get_improper_parameters(self, type1, type2, type3, type4):
11455  r"""get_improper_parameters(CHARMMParameters self, std::string type1, std::string type2, std::string type3, std::string type4) -> CHARMMDihedralParameters"""
11456  return _IMP_atom.CHARMMParameters_get_improper_parameters(self, type1, type2, type3, type4)
11457 
11458  def create_angles(self, bonds):
11459  r"""create_angles(CHARMMParameters self, IMP::Particles bonds) -> IMP::Particles"""
11460  return _IMP_atom.CHARMMParameters_create_angles(self, bonds)
11461 
11462  def create_dihedrals(self, bonds):
11463  r"""create_dihedrals(CHARMMParameters self, IMP::Particles bonds) -> IMP::Particles"""
11464  return _IMP_atom.CHARMMParameters_create_dihedrals(self, bonds)
11465 
11466  def get_version_info(self):
11467  r"""get_version_info(CHARMMParameters self) -> VersionInfo"""
11468  return _IMP_atom.CHARMMParameters_get_version_info(self)
11469  __swig_destroy__ = _IMP_atom.delete_CHARMMParameters
11470 
11471  def __str__(self):
11472  r"""__str__(CHARMMParameters self) -> std::string"""
11473  return _IMP_atom.CHARMMParameters___str__(self)
11474 
11475  def __repr__(self):
11476  r"""__repr__(CHARMMParameters self) -> std::string"""
11477  return _IMP_atom.CHARMMParameters___repr__(self)
11478 
11479  @staticmethod
11480  def get_from(o):
11481  return _object_cast_to_CHARMMParameters(o)
11482 
11483 
11484 # Register CHARMMParameters in _IMP_atom:
11485 _IMP_atom.CHARMMParameters_swigregister(CHARMMParameters)
11486 
11488  r"""get_heavy_atom_CHARMM_parameters() -> CHARMMParameters"""
11489  return _IMP_atom.get_heavy_atom_CHARMM_parameters()
11490 
11492  r"""get_all_atom_CHARMM_parameters() -> CHARMMParameters"""
11493  return _IMP_atom.get_all_atom_CHARMM_parameters()
11494 class CHARMMSegmentTopology(IMP.Object):
11495  r"""Proxy of C++ IMP::atom::CHARMMSegmentTopology class."""
11496 
11497  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11498  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)
11499  def __set_residues(self, obj): IMP._list_util.set_varlist(self.residues, obj)
11500  def __del_residues(self): IMP._list_util.del_varlist(self.residues)
11501  residues = property(__get_residues, __set_residues, __del_residues, doc="List of ##ucnames")
11502 
11503  def remove_residue(self, d):
11504  r"""remove_residue(CHARMMSegmentTopology self, CHARMMResidueTopology d)"""
11505  return _IMP_atom.CHARMMSegmentTopology_remove_residue(self, d)
11506 
11507  def _python_index_residue(self, d, start, stop):
11508  r"""_python_index_residue(CHARMMSegmentTopology self, CHARMMResidueTopology d, unsigned int start, unsigned int stop) -> unsigned int"""
11509  return _IMP_atom.CHARMMSegmentTopology__python_index_residue(self, d, start, stop)
11510 
11511  def remove_residues(self, d):
11512  r"""remove_residues(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & d)"""
11513  return _IMP_atom.CHARMMSegmentTopology_remove_residues(self, d)
11514 
11515  def set_residues(self, ps):
11516  r"""set_residues(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & ps)"""
11517  return _IMP_atom.CHARMMSegmentTopology_set_residues(self, ps)
11518 
11519  def set_residues_order(self, objs):
11520  r"""set_residues_order(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & objs)"""
11521  return _IMP_atom.CHARMMSegmentTopology_set_residues_order(self, objs)
11522 
11523  def add_residue(self, obj):
11524  r"""add_residue(CHARMMSegmentTopology self, CHARMMResidueTopology obj) -> unsigned int"""
11525  return _IMP_atom.CHARMMSegmentTopology_add_residue(self, obj)
11526 
11527  def add_residues(self, objs):
11528  r"""add_residues(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & objs)"""
11529  return _IMP_atom.CHARMMSegmentTopology_add_residues(self, objs)
11530 
11531  def clear_residues(self):
11532  r"""clear_residues(CHARMMSegmentTopology self)"""
11533  return _IMP_atom.CHARMMSegmentTopology_clear_residues(self)
11534 
11535  def get_number_of_residues(self):
11536  r"""get_number_of_residues(CHARMMSegmentTopology self) -> unsigned int"""
11537  return _IMP_atom.CHARMMSegmentTopology_get_number_of_residues(self)
11538 
11539  def get_has_residues(self):
11540  r"""get_has_residues(CHARMMSegmentTopology self) -> bool"""
11541  return _IMP_atom.CHARMMSegmentTopology_get_has_residues(self)
11542 
11543  def get_residue(self, i):
11544  r"""get_residue(CHARMMSegmentTopology self, unsigned int i) -> CHARMMResidueTopology"""
11545  return _IMP_atom.CHARMMSegmentTopology_get_residue(self, i)
11546 
11547  def get_residues(self):
11548  r"""get_residues(CHARMMSegmentTopology self) -> IMP::atom::CHARMMResidueTopologies"""
11549  return _IMP_atom.CHARMMSegmentTopology_get_residues(self)
11550 
11551  def erase_residue(self, i):
11552  r"""erase_residue(CHARMMSegmentTopology self, unsigned int i)"""
11553  return _IMP_atom.CHARMMSegmentTopology_erase_residue(self, i)
11554 
11555  def reserve_residues(self, sz):
11556  r"""reserve_residues(CHARMMSegmentTopology self, unsigned int sz)"""
11557  return _IMP_atom.CHARMMSegmentTopology_reserve_residues(self, sz)
11558 
11559  def get_version_info(self):
11560  r"""get_version_info(CHARMMSegmentTopology self) -> VersionInfo"""
11561  return _IMP_atom.CHARMMSegmentTopology_get_version_info(self)
11562  __swig_destroy__ = _IMP_atom.delete_CHARMMSegmentTopology
11563 
11564  def __init__(self, *args):
11565  r"""__init__(CHARMMSegmentTopology self, std::string name="CHARMM segment topology %1%") -> CHARMMSegmentTopology"""
11566  _IMP_atom.CHARMMSegmentTopology_swiginit(self, _IMP_atom.new_CHARMMSegmentTopology(*args))
11567 
11568  def apply_default_patches(self, ff):
11569  r"""apply_default_patches(CHARMMSegmentTopology self, CHARMMParameters ff)"""
11570  return _IMP_atom.CHARMMSegmentTopology_apply_default_patches(self, ff)
11571 
11572  def __str__(self):
11573  r"""__str__(CHARMMSegmentTopology self) -> std::string"""
11574  return _IMP_atom.CHARMMSegmentTopology___str__(self)
11575 
11576  def __repr__(self):
11577  r"""__repr__(CHARMMSegmentTopology self) -> std::string"""
11578  return _IMP_atom.CHARMMSegmentTopology___repr__(self)
11579 
11580  @staticmethod
11581  def get_from(o):
11582  return _object_cast_to_CHARMMSegmentTopology(o)
11583 
11584 
11585 # Register CHARMMSegmentTopology in _IMP_atom:
11586 _IMP_atom.CHARMMSegmentTopology_swigregister(CHARMMSegmentTopology)
11587 class CHARMMTopology(IMP.Object):
11588  r"""Proxy of C++ IMP::atom::CHARMMTopology class."""
11589 
11590  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11591 
11592  def __init__(self, *args):
11593  r"""__init__(CHARMMTopology self, CHARMMParameters force_field, std::string name="CHARMM topology %1%") -> CHARMMTopology"""
11594  _IMP_atom.CHARMMTopology_swiginit(self, _IMP_atom.new_CHARMMTopology(*args))
11595 
11596  def get_parameters(self):
11597  r"""get_parameters(CHARMMTopology self) -> CHARMMParameters"""
11598  return _IMP_atom.CHARMMTopology_get_parameters(self)
11599 
11600  def add_sequence(self, sequence):
11601  r"""add_sequence(CHARMMTopology self, std::string sequence)"""
11602  return _IMP_atom.CHARMMTopology_add_sequence(self, sequence)
11603 
11604  def apply_default_patches(self):
11605  r"""apply_default_patches(CHARMMTopology self)"""
11606  return _IMP_atom.CHARMMTopology_apply_default_patches(self)
11607 
11608  def create_hierarchy(self, model):
11609  r"""create_hierarchy(CHARMMTopology self, Model model) -> Hierarchy"""
11610  return _IMP_atom.CHARMMTopology_create_hierarchy(self, model)
11611 
11612  def add_atom_types(self, hierarchy):
11613  r"""add_atom_types(CHARMMTopology self, Hierarchy hierarchy)"""
11614  return _IMP_atom.CHARMMTopology_add_atom_types(self, hierarchy)
11615 
11616  def add_coordinates(self, hierarchy):
11617  r"""add_coordinates(CHARMMTopology self, Hierarchy hierarchy)"""
11618  return _IMP_atom.CHARMMTopology_add_coordinates(self, hierarchy)
11619 
11620  def add_missing_atoms(self, hierarchy):
11621  r"""add_missing_atoms(CHARMMTopology self, Hierarchy hierarchy)"""
11622  return _IMP_atom.CHARMMTopology_add_missing_atoms(self, hierarchy)
11623 
11624  def setup_hierarchy(self, hierarchy):
11625  r"""setup_hierarchy(CHARMMTopology self, Hierarchy hierarchy)"""
11626  return _IMP_atom.CHARMMTopology_setup_hierarchy(self, hierarchy)
11627 
11628  def add_charges(self, hierarchy):
11629  r"""add_charges(CHARMMTopology self, Hierarchy hierarchy)"""
11630  return _IMP_atom.CHARMMTopology_add_charges(self, hierarchy)
11631 
11632  def add_bonds(self, hierarchy):
11633  r"""add_bonds(CHARMMTopology self, Hierarchy hierarchy) -> IMP::Particles"""
11634  return _IMP_atom.CHARMMTopology_add_bonds(self, hierarchy)
11635 
11636  def add_dihedrals(self, hierarchy):
11637  r"""add_dihedrals(CHARMMTopology self, Hierarchy hierarchy) -> IMP::Particles"""
11638  return _IMP_atom.CHARMMTopology_add_dihedrals(self, hierarchy)
11639 
11640  def add_impropers(self, hierarchy):
11641  r"""add_impropers(CHARMMTopology self, Hierarchy hierarchy) -> IMP::Particles"""
11642  return _IMP_atom.CHARMMTopology_add_impropers(self, hierarchy)
11643  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)
11644  def __set_segments(self, obj): IMP._list_util.set_varlist(self.segments, obj)
11645  def __del_segments(self): IMP._list_util.del_varlist(self.segments)
11646  segments = property(__get_segments, __set_segments, __del_segments, doc="List of ##ucnames")
11647 
11648  def remove_segment(self, d):
11649  r"""remove_segment(CHARMMTopology self, CHARMMSegmentTopology d)"""
11650  return _IMP_atom.CHARMMTopology_remove_segment(self, d)
11651 
11652  def _python_index_segment(self, d, start, stop):
11653  r"""_python_index_segment(CHARMMTopology self, CHARMMSegmentTopology d, unsigned int start, unsigned int stop) -> unsigned int"""
11654  return _IMP_atom.CHARMMTopology__python_index_segment(self, d, start, stop)
11655 
11656  def remove_segments(self, d):
11657  r"""remove_segments(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & d)"""
11658  return _IMP_atom.CHARMMTopology_remove_segments(self, d)
11659 
11660  def set_segments(self, ps):
11661  r"""set_segments(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & ps)"""
11662  return _IMP_atom.CHARMMTopology_set_segments(self, ps)
11663 
11664  def set_segments_order(self, objs):
11665  r"""set_segments_order(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & objs)"""
11666  return _IMP_atom.CHARMMTopology_set_segments_order(self, objs)
11667 
11668  def add_segment(self, obj):
11669  r"""add_segment(CHARMMTopology self, CHARMMSegmentTopology obj) -> unsigned int"""
11670  return _IMP_atom.CHARMMTopology_add_segment(self, obj)
11671 
11672  def add_segments(self, objs):
11673  r"""add_segments(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & objs)"""
11674  return _IMP_atom.CHARMMTopology_add_segments(self, objs)
11675 
11676  def clear_segments(self):
11677  r"""clear_segments(CHARMMTopology self)"""
11678  return _IMP_atom.CHARMMTopology_clear_segments(self)
11679 
11680  def get_number_of_segments(self):
11681  r"""get_number_of_segments(CHARMMTopology self) -> unsigned int"""
11682  return _IMP_atom.CHARMMTopology_get_number_of_segments(self)
11683 
11684  def get_has_segments(self):
11685  r"""get_has_segments(CHARMMTopology self) -> bool"""
11686  return _IMP_atom.CHARMMTopology_get_has_segments(self)
11687 
11688  def get_segment(self, i):
11689  r"""get_segment(CHARMMTopology self, unsigned int i) -> CHARMMSegmentTopology"""
11690  return _IMP_atom.CHARMMTopology_get_segment(self, i)
11691 
11692  def get_segments(self):
11693  r"""get_segments(CHARMMTopology self) -> IMP::atom::CHARMMSegmentTopologies"""
11694  return _IMP_atom.CHARMMTopology_get_segments(self)
11695 
11696  def erase_segment(self, i):
11697  r"""erase_segment(CHARMMTopology self, unsigned int i)"""
11698  return _IMP_atom.CHARMMTopology_erase_segment(self, i)
11699 
11700  def reserve_segments(self, sz):
11701  r"""reserve_segments(CHARMMTopology self, unsigned int sz)"""
11702  return _IMP_atom.CHARMMTopology_reserve_segments(self, sz)
11703 
11704  def get_version_info(self):
11705  r"""get_version_info(CHARMMTopology self) -> VersionInfo"""
11706  return _IMP_atom.CHARMMTopology_get_version_info(self)
11707  __swig_destroy__ = _IMP_atom.delete_CHARMMTopology
11708 
11709  def __str__(self):
11710  r"""__str__(CHARMMTopology self) -> std::string"""
11711  return _IMP_atom.CHARMMTopology___str__(self)
11712 
11713  def __repr__(self):
11714  r"""__repr__(CHARMMTopology self) -> std::string"""
11715  return _IMP_atom.CHARMMTopology___repr__(self)
11716 
11717  @staticmethod
11718  def get_from(o):
11719  return _object_cast_to_CHARMMTopology(o)
11720 
11721 
11722 # Register CHARMMTopology in _IMP_atom:
11723 _IMP_atom.CHARMMTopology_swigregister(CHARMMTopology)
11724 class CHARMMStereochemistryRestraint(IMP.Restraint):
11725  r"""Proxy of C++ IMP::atom::CHARMMStereochemistryRestraint class."""
11726 
11727  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11728 
11729  def __init__(self, *args):
11730  r"""
11731  __init__(CHARMMStereochemistryRestraint self, Hierarchy h, CHARMMTopology topology) -> CHARMMStereochemistryRestraint
11732  __init__(CHARMMStereochemistryRestraint self, Hierarchy h, CHARMMTopology topology, IMP::ParticlesTemp limit_to_these_particles) -> CHARMMStereochemistryRestraint
11733  """
11734  _IMP_atom.CHARMMStereochemistryRestraint_swiginit(self, _IMP_atom.new_CHARMMStereochemistryRestraint(*args))
11735 
11736  def get_pair_filter(self):
11737  r"""get_pair_filter(CHARMMStereochemistryRestraint self) -> StereochemistryPairFilter"""
11738  return _IMP_atom.CHARMMStereochemistryRestraint_get_pair_filter(self)
11739 
11740  def get_full_pair_filter(self):
11741  r"""get_full_pair_filter(CHARMMStereochemistryRestraint self) -> StereochemistryPairFilter"""
11742  return _IMP_atom.CHARMMStereochemistryRestraint_get_full_pair_filter(self)
11743 
11744  def do_get_inputs(self):
11745  r"""do_get_inputs(CHARMMStereochemistryRestraint self) -> IMP::ModelObjectsTemp"""
11746  return _IMP_atom.CHARMMStereochemistryRestraint_do_get_inputs(self)
11747 
11748  def get_version_info(self):
11749  r"""get_version_info(CHARMMStereochemistryRestraint self) -> VersionInfo"""
11750  return _IMP_atom.CHARMMStereochemistryRestraint_get_version_info(self)
11751  __swig_destroy__ = _IMP_atom.delete_CHARMMStereochemistryRestraint
11752 
11753  def __str__(self):
11754  r"""__str__(CHARMMStereochemistryRestraint self) -> std::string"""
11755  return _IMP_atom.CHARMMStereochemistryRestraint___str__(self)
11756 
11757  def __repr__(self):
11758  r"""__repr__(CHARMMStereochemistryRestraint self) -> std::string"""
11759  return _IMP_atom.CHARMMStereochemistryRestraint___repr__(self)
11760 
11761  @staticmethod
11762  def get_from(o):
11763  return _object_cast_to_CHARMMStereochemistryRestraint(o)
11764 
11765 
11766 # Register CHARMMStereochemistryRestraint in _IMP_atom:
11767 _IMP_atom.CHARMMStereochemistryRestraint_swigregister(CHARMMStereochemistryRestraint)
11768 
11769 def add_bonds(*args):
11770  r"""add_bonds(Hierarchy d, ForceFieldParameters ffp=IMP::atom::get_all_atom_CHARMM_parameters())"""
11771  return _IMP_atom.add_bonds(*args)
11772 
11773 def add_radii(*args):
11774  r"""add_radii(Hierarchy d, ForceFieldParameters ffp=IMP::atom::get_all_atom_CHARMM_parameters(), FloatKey radius_key=IMP::FloatKey("radius"))"""
11775  return _IMP_atom.add_radii(*args)
11776 ALBER = _IMP_atom.ALBER
11777 
11778 HARPAZ = _IMP_atom.HARPAZ
11779 
11780 ANDERSSON = _IMP_atom.ANDERSSON
11781 
11782 TSAI = _IMP_atom.TSAI
11783 
11784 QUILLIN = _IMP_atom.QUILLIN
11785 
11786 SQUIRE = _IMP_atom.SQUIRE
11787 
11788 
11789 def get_protein_density_from_reference(densityReference):
11790  r"""get_protein_density_from_reference(IMP::atom::ProteinDensityReference densityReference) -> double"""
11791  return _IMP_atom.get_protein_density_from_reference(densityReference)
11792 
11793 def get_volume_from_mass(*args):
11794  r"""get_volume_from_mass(double m, IMP::atom::ProteinDensityReference ref=ALBER) -> double"""
11795  return _IMP_atom.get_volume_from_mass(*args)
11796 
11797 def get_mass_from_volume(*args):
11798  r"""get_mass_from_volume(double v, IMP::atom::ProteinDensityReference ref=ALBER) -> double"""
11799  return _IMP_atom.get_mass_from_volume(*args)
11800 
11802  r"""get_mass_from_number_of_residues(unsigned int num_aa) -> double"""
11803  return _IMP_atom.get_mass_from_number_of_residues(num_aa)
11804 
11806  r"""get_volume_from_residue_type(ResidueType rt) -> double"""
11807  return _IMP_atom.get_volume_from_residue_type(rt)
11808 
11809 def get_molarity(n, volume):
11810  r"""get_molarity(double n, double volume) -> double"""
11811  return _IMP_atom.get_molarity(n, volume)
11812 
11813 def get_kd(na, nb, nab, volume):
11814  r"""get_kd(double na, double nb, double nab, double volume) -> double"""
11815  return _IMP_atom.get_kd(na, nb, nab, volume)
11816 
11817 def get_einstein_diffusion_coefficient(r, temp=-1):
11818  r"""get_einstein_diffusion_coefficient(double r, double temp=-1) -> double"""
11819  return _IMP_atom.get_einstein_diffusion_coefficient(r, temp)
11820 
11822  r"""get_einstein_rotational_diffusion_coefficient(double r, double temp=-1) -> double"""
11823  return _IMP_atom.get_einstein_rotational_diffusion_coefficient(r, temp)
11824 
11825 def get_diffusion_length(*args):
11826  r"""
11827  get_diffusion_length(double D, double t) -> double
11828  get_diffusion_length(double D, double force, double t, double temp=-1) -> double
11829  """
11830  return _IMP_atom.get_diffusion_length(*args)
11831 
11832 def get_diffusion_angle(D, dtfs):
11833  r"""get_diffusion_angle(double D, double dtfs) -> double"""
11834  return _IMP_atom.get_diffusion_angle(D, dtfs)
11835 
11836 def get_diffusion_coefficient(*args):
11837  r"""
11838  get_diffusion_coefficient(IMP::algebra::Vector3Ds const & displacements, double dt) -> double
11839  get_diffusion_coefficient(IMP::algebra::Vector3Ds const & displacements, IMP::Floats const & dts) -> double
11840  """
11841  return _IMP_atom.get_diffusion_coefficient(*args)
11842 
11843 def get_rotational_diffusion_coefficient(orientations, dt):
11844  r"""get_rotational_diffusion_coefficient(IMP::algebra::Rotation3Ds const & orientations, double dt) -> double"""
11845  return _IMP_atom.get_rotational_diffusion_coefficient(orientations, dt)
11846 
11847 def get_energy_in_femto_joules(energy_in_kcal_per_mol):
11848  r"""get_energy_in_femto_joules(double energy_in_kcal_per_mol) -> double"""
11849  return _IMP_atom.get_energy_in_femto_joules(energy_in_kcal_per_mol)
11850 
11851 def get_force_in_femto_newtons(force_in_kcal_per_mol_per_angstrom):
11852  r"""get_force_in_femto_newtons(double force_in_kcal_per_mol_per_angstrom) -> double"""
11853  return _IMP_atom.get_force_in_femto_newtons(force_in_kcal_per_mol_per_angstrom)
11854 
11855 def get_spring_constant_in_femto_newtons_per_angstrom(k_in_kcal_per_mol_per_angstrom_square):
11856  r"""get_spring_constant_in_femto_newtons_per_angstrom(double k_in_kcal_per_mol_per_angstrom_square) -> double"""
11857  return _IMP_atom.get_spring_constant_in_femto_newtons_per_angstrom(k_in_kcal_per_mol_per_angstrom_square)
11858 class EzRestraint(IMP.Restraint):
11859  r"""Proxy of C++ IMP::atom::EzRestraint class."""
11860 
11861  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11862 
11863  def __init__(self, m, ps):
11864  r"""__init__(EzRestraint self, Model m, _ParticleIndexesAdaptor ps) -> EzRestraint"""
11865  _IMP_atom.EzRestraint_swiginit(self, _IMP_atom.new_EzRestraint(m, ps))
11866 
11867  def get_version_info(self):
11868  r"""get_version_info(EzRestraint self) -> VersionInfo"""
11869  return _IMP_atom.EzRestraint_get_version_info(self)
11870  __swig_destroy__ = _IMP_atom.delete_EzRestraint
11871 
11872  def __str__(self):
11873  r"""__str__(EzRestraint self) -> std::string"""
11874  return _IMP_atom.EzRestraint___str__(self)
11875 
11876  def __repr__(self):
11877  r"""__repr__(EzRestraint self) -> std::string"""
11878  return _IMP_atom.EzRestraint___repr__(self)
11879 
11880  @staticmethod
11881  def get_from(o):
11882  return _object_cast_to_EzRestraint(o)
11883 
11884 
11885 # Register EzRestraint in _IMP_atom:
11886 _IMP_atom.EzRestraint_swigregister(EzRestraint)
11887 
11888 def create_protein(*args):
11889  r"""
11890  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
11891  create_protein(Model m, std::string name, double target_radius, IMP::Ints const domain_boundaries) -> Hierarchy
11892  """
11893  return _IMP_atom.create_protein(*args)
11894 
11896  r"""
11897  create_simplified_along_backbone(Hierarchy input, int num_res, bool keep_detailed=False, Model m=None) -> Hierarchy
11898  create_simplified_along_backbone(Chain input, IMP::IntRanges const & residue_segments, bool keep_detailed=False, Model m=None) -> Hierarchy
11899  """
11900  return _IMP_atom.create_simplified_along_backbone(*args)
11901 
11902 def create_simplified_from_volume(h, resolution):
11903  r"""create_simplified_from_volume(Hierarchy h, double resolution) -> Hierarchy"""
11904  return _IMP_atom.create_simplified_from_volume(h, resolution)
11905 
11906 def create_simplified_assembly_from_volume(h, resolution):
11907  r"""create_simplified_assembly_from_volume(Hierarchy h, double resolution) -> Hierarchy"""
11908  return _IMP_atom.create_simplified_assembly_from_volume(h, resolution)
11909 
11910 def get_residue_indexes(h):
11911  r"""get_residue_indexes(Hierarchy h) -> IMP::Ints"""
11912  return _IMP_atom.get_residue_indexes(h)
11913 
11914 def get_residue_type(*args):
11915  r"""
11916  get_residue_type(char c) -> ResidueType
11917  get_residue_type(Hierarchy h) -> ResidueType
11918  """
11919  return _IMP_atom.get_residue_type(*args)
11920 
11921 def get_atom_type(h):
11922  r"""get_atom_type(Hierarchy h) -> AtomType"""
11923  return _IMP_atom.get_atom_type(h)
11924 
11925 def get_domain_name(h):
11926  r"""get_domain_name(Hierarchy h) -> std::string"""
11927  return _IMP_atom.get_domain_name(h)
11928 
11930  r"""
11931  create_excluded_volume_restraint(IMP::atom::Selections const & s) -> Restraint
11932  create_excluded_volume_restraint(IMP::atom::Hierarchies const & hs, double resolution=-1) -> Restraint
11933  """
11934  return _IMP_atom.create_excluded_volume_restraint(*args)
11935 
11936 def setup_as_approximation(*args):
11937  r"""
11938  setup_as_approximation(Particle h, IMP::ParticlesTemp const & other, double resolution=-1)
11939  setup_as_approximation(Hierarchy h, double resolution=-1)
11940  """
11941  return _IMP_atom.setup_as_approximation(*args)
11942 class _HierarchyTreeVertexIndex(object):
11943  r"""Proxy of C++ IMP::atom::HierarchyTreeVertexIndex class."""
11944 
11945  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11946  __repr__ = _swig_repr
11947 
11948  def __init__(self):
11949  r"""__init__(_HierarchyTreeVertexIndex self) -> _HierarchyTreeVertexIndex"""
11950  _IMP_atom._HierarchyTreeVertexIndex_swiginit(self, _IMP_atom.new__HierarchyTreeVertexIndex())
11951  __swig_destroy__ = _IMP_atom.delete__HierarchyTreeVertexIndex
11952 
11953 # Register _HierarchyTreeVertexIndex in _IMP_atom:
11954 _IMP_atom._HierarchyTreeVertexIndex_swigregister(_HierarchyTreeVertexIndex)
11955 
11956 def show_as_graphviz(name, out):
11957  r"""show_as_graphviz(IMP::atom::HierarchyTree const & name, TextOutput out)"""
11958  return _IMP_atom.show_as_graphviz(name, out)
11959 
11960 def get_vertex_index(g):
11961  r"""get_vertex_index(IMP::atom::HierarchyTree const & g) -> _HierarchyTreeVertexIndex"""
11962  return _IMP_atom.get_vertex_index(g)
11963 
11964 def get_hierarchy_tree(h):
11965  r"""get_hierarchy_tree(Hierarchy h) -> IMP::atom::HierarchyTree"""
11966  return _IMP_atom.get_hierarchy_tree(h)
11967 class HierarchyGeometry(IMP.display.SingletonGeometry):
11968  r"""Proxy of C++ IMP::atom::HierarchyGeometry class."""
11969 
11970  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11971 
11972  def __init__(self, d, resolution=0):
11973  r"""__init__(HierarchyGeometry self, Hierarchy d, double resolution=0) -> HierarchyGeometry"""
11974  _IMP_atom.HierarchyGeometry_swiginit(self, _IMP_atom.new_HierarchyGeometry(d, resolution))
11975 
11976  def get_version_info(self):
11977  r"""get_version_info(HierarchyGeometry self) -> VersionInfo"""
11978  return _IMP_atom.HierarchyGeometry_get_version_info(self)
11979  __swig_destroy__ = _IMP_atom.delete_HierarchyGeometry
11980 
11981  def __str__(self):
11982  r"""__str__(HierarchyGeometry self) -> std::string"""
11983  return _IMP_atom.HierarchyGeometry___str__(self)
11984 
11985  def __repr__(self):
11986  r"""__repr__(HierarchyGeometry self) -> std::string"""
11987  return _IMP_atom.HierarchyGeometry___repr__(self)
11988 
11989  @staticmethod
11990  def get_from(o):
11991  return _object_cast_to_HierarchyGeometry(o)
11992 
11993 
11994 # Register HierarchyGeometry in _IMP_atom:
11995 _IMP_atom.HierarchyGeometry_swigregister(HierarchyGeometry)
11996 class HierarchiesGeometry(IMP.display.SingletonsGeometry):
11997  r"""Proxy of C++ IMP::atom::HierarchiesGeometry class."""
11998 
11999  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12000 
12001  def __init__(self, sc, resolution=-1):
12002  r"""__init__(HierarchiesGeometry self, SingletonContainer sc, double resolution=-1) -> HierarchiesGeometry"""
12003  _IMP_atom.HierarchiesGeometry_swiginit(self, _IMP_atom.new_HierarchiesGeometry(sc, resolution))
12004 
12005  def get_version_info(self):
12006  r"""get_version_info(HierarchiesGeometry self) -> VersionInfo"""
12007  return _IMP_atom.HierarchiesGeometry_get_version_info(self)
12008  __swig_destroy__ = _IMP_atom.delete_HierarchiesGeometry
12009 
12010  def __str__(self):
12011  r"""__str__(HierarchiesGeometry self) -> std::string"""
12012  return _IMP_atom.HierarchiesGeometry___str__(self)
12013 
12014  def __repr__(self):
12015  r"""__repr__(HierarchiesGeometry self) -> std::string"""
12016  return _IMP_atom.HierarchiesGeometry___repr__(self)
12017 
12018  @staticmethod
12019  def get_from(o):
12020  return _object_cast_to_HierarchiesGeometry(o)
12021 
12022 
12023 # Register HierarchiesGeometry in _IMP_atom:
12024 _IMP_atom.HierarchiesGeometry_swigregister(HierarchiesGeometry)
12025 
12026 def transform(*args):
12027  r"""
12028  transform(Hierarchy h, Transformation3D tr)
12029  transform(Hierarchy h, Transformation3D tr)
12030  """
12031  return _IMP_atom.transform(*args)
12032 class DopePairScore(_ADopeBase):
12033  r"""Proxy of C++ IMP::atom::DopePairScore class."""
12034 
12035  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12036 
12037  def __init__(self, *args):
12038  r"""
12039  __init__(DopePairScore self, double threshold=std::numeric_limits< double >::max()) -> DopePairScore
12040  __init__(DopePairScore self, double threshold, TextInput data_file) -> DopePairScore
12041  """
12042  _IMP_atom.DopePairScore_swiginit(self, _IMP_atom.new_DopePairScore(*args))
12043  __swig_destroy__ = _IMP_atom.delete_DopePairScore
12044 
12045  def __str__(self):
12046  r"""__str__(DopePairScore self) -> std::string"""
12047  return _IMP_atom.DopePairScore___str__(self)
12048 
12049  def __repr__(self):
12050  r"""__repr__(DopePairScore self) -> std::string"""
12051  return _IMP_atom.DopePairScore___repr__(self)
12052 
12053  @staticmethod
12054  def get_from(o):
12055  return _object_cast_to_DopePairScore(o)
12056 
12057 
12058  def _get_jax(self, m, indexes, space):
12059  import numpy as np
12060  import jax.lax
12061  import jax.numpy as jnp
12062  from IMP.core._jax_util import _spline
12063  def score_one(jm, index, minrange, maxrange, spacing, values,
12064  second_derivs):
12065  # Score a single atom pair
12066  xyz = jnp.asarray(jm['xyz'])[index]
12067  dr = space.distance(xyz[1] - xyz[0])
12068  def spline_score():
12069  dope_type_pair = jnp.asarray(jm['dope atom type'])
12070  # Get index into values/second_derivs tables
12071  i = jnp.max(dope_type_pair[index])
12072  j = jnp.min(dope_type_pair[index])
12073  dope_type = i * (i + 1) // 2 + j
12074  # tabulated values are for the center of each bin, but
12075  # _spline works with the values at the low side of each bin
12076  x = dr - 0.5 * spacing
12077  # determine bin index and thus the cubic fragment to use:
12078  lowbin = jnp.array((x - minrange) / spacing, dtype=int)
12079  return _spline(x, minrange, lowbin, lowbin + 1, spacing,
12080  values[dope_type], second_derivs[dope_type])
12081  def maybe_score():
12082  return jax.lax.cond(dr <= minrange, lambda: 0.0, spline_score)
12083  return jax.lax.cond(dr >= maxrange, lambda: 0.0, maybe_score)
12084  sf = self.get_score_functor()
12085  if sf.get_is_bipartite() or not sf.get_is_interpolated():
12086  raise TypeError("Only implemented for unipartite splines")
12087  ntyp = sf.get_number_of_particle_types()[0]
12088  # Get spline parameters for all atom types. The matrix is symmetric
12089  # so only store the upper diagonal
12090  values = []
12091  second_derivs = []
12092  for i in range(ntyp):
12093  for j in range(0, i + 1):
12094  values.append(sf.get_values(i, j))
12095  second_derivs.append(sf.get_second_derivatives(i, j))
12096  values = np.vstack(values)
12097  second_derivs = np.vstack(second_derivs)
12098  f = functools.partial(
12099  score_one, minrange=sf.get_offset(),
12100  maxrange=min(sf.get_max(), sf.get_threshold()),
12101  spacing=sf.get_spacing(), values=jnp.asarray(values),
12102  second_derivs=jnp.asarray(second_derivs))
12103  # Vectorize to take multiple indexes (second argument)
12104  vf = jax.vmap(f, in_axes=(None, 0))
12105  return self._wrap_jax(m, lambda jm: vf(jm, indexes),
12106  keys=(sf.get_dope_type_key(),))
12107 
12108 
12109 # Register DopePairScore in _IMP_atom:
12110 _IMP_atom.DopePairScore_swigregister(DopePairScore)
12111 
12112 def add_dope_score_data(h):
12113  r"""add_dope_score_data(Hierarchy h)"""
12114  return _IMP_atom.add_dope_score_data(h)
12115 class LoopStatisticalPairScore(_ALoopStatisticalBase):
12116  r"""Proxy of C++ IMP::atom::LoopStatisticalPairScore class."""
12117 
12118  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12119 
12120  def __init__(self, *args):
12121  r"""
12122  __init__(LoopStatisticalPairScore self, double threshold=std::numeric_limits< double >::max()) -> LoopStatisticalPairScore
12123  __init__(LoopStatisticalPairScore self, double threshold, TextInput data_file) -> LoopStatisticalPairScore
12124  """
12125  _IMP_atom.LoopStatisticalPairScore_swiginit(self, _IMP_atom.new_LoopStatisticalPairScore(*args))
12126 
12127  def __str__(self):
12128  r"""__str__(LoopStatisticalPairScore self) -> std::string"""
12129  return _IMP_atom.LoopStatisticalPairScore___str__(self)
12130 
12131  def __repr__(self):
12132  r"""__repr__(LoopStatisticalPairScore self) -> std::string"""
12133  return _IMP_atom.LoopStatisticalPairScore___repr__(self)
12134 
12135  @staticmethod
12136  def get_from(o):
12137  return _object_cast_to_LoopStatisticalPairScore(o)
12138 
12139  __swig_destroy__ = _IMP_atom.delete_LoopStatisticalPairScore
12140 
12141 # Register LoopStatisticalPairScore in _IMP_atom:
12142 _IMP_atom.LoopStatisticalPairScore_swigregister(LoopStatisticalPairScore)
12143 
12145  r"""add_loop_statistical_score_data(Hierarchy h)"""
12146  return _IMP_atom.add_loop_statistical_score_data(h)
12147 class OrientedSoapPairScore(_OrientedSoapBase):
12148  r"""Proxy of C++ IMP::atom::OrientedSoapPairScore class."""
12149 
12150  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12151 
12152  def __init__(self, library):
12153  r"""__init__(OrientedSoapPairScore self, std::string library) -> OrientedSoapPairScore"""
12154  _IMP_atom.OrientedSoapPairScore_swiginit(self, _IMP_atom.new_OrientedSoapPairScore(library))
12155 
12156  def get_pair_filter(self):
12157  r"""get_pair_filter(OrientedSoapPairScore self) -> SoapPairFilter"""
12158  return _IMP_atom.OrientedSoapPairScore_get_pair_filter(self)
12159 
12160  def __str__(self):
12161  r"""__str__(OrientedSoapPairScore self) -> std::string"""
12162  return _IMP_atom.OrientedSoapPairScore___str__(self)
12163 
12164  def __repr__(self):
12165  r"""__repr__(OrientedSoapPairScore self) -> std::string"""
12166  return _IMP_atom.OrientedSoapPairScore___repr__(self)
12167 
12168  @staticmethod
12169  def get_from(o):
12170  return _object_cast_to_OrientedSoapPairScore(o)
12171 
12172  __swig_destroy__ = _IMP_atom.delete_OrientedSoapPairScore
12173 
12174 # Register OrientedSoapPairScore in _IMP_atom:
12175 _IMP_atom.OrientedSoapPairScore_swigregister(OrientedSoapPairScore)
12176 class SameResiduePairFilter(IMP.PairPredicate):
12177  r"""Proxy of C++ IMP::atom::SameResiduePairFilter class."""
12178 
12179  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12180 
12181  def __init__(self):
12182  r"""__init__(SameResiduePairFilter self) -> SameResiduePairFilter"""
12183  _IMP_atom.SameResiduePairFilter_swiginit(self, _IMP_atom.new_SameResiduePairFilter())
12184 
12185  def do_get_inputs(self, m, pis):
12186  r"""do_get_inputs(SameResiduePairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12187  return _IMP_atom.SameResiduePairFilter_do_get_inputs(self, m, pis)
12188 
12189  def get_value(self, *args):
12190  r"""
12191  get_value(SameResiduePairFilter self, IMP::ParticlePair const & a) -> int
12192  get_value(SameResiduePairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12193  """
12194  return _IMP_atom.SameResiduePairFilter_get_value(self, *args)
12195 
12196  def get_value_index(self, *args):
12197  r"""
12198  get_value_index(SameResiduePairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
12199  get_value_index(SameResiduePairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12200  """
12201  return _IMP_atom.SameResiduePairFilter_get_value_index(self, *args)
12202 
12203  def get_version_info(self):
12204  r"""get_version_info(SameResiduePairFilter self) -> VersionInfo"""
12205  return _IMP_atom.SameResiduePairFilter_get_version_info(self)
12206  __swig_destroy__ = _IMP_atom.delete_SameResiduePairFilter
12207 
12208  def __str__(self):
12209  r"""__str__(SameResiduePairFilter self) -> std::string"""
12210  return _IMP_atom.SameResiduePairFilter___str__(self)
12211 
12212  def __repr__(self):
12213  r"""__repr__(SameResiduePairFilter self) -> std::string"""
12214  return _IMP_atom.SameResiduePairFilter___repr__(self)
12215 
12216  @staticmethod
12217  def get_from(o):
12218  return _object_cast_to_SameResiduePairFilter(o)
12219 
12220 
12221 # Register SameResiduePairFilter in _IMP_atom:
12222 _IMP_atom.SameResiduePairFilter_swigregister(SameResiduePairFilter)
12223 class RemoveRigidMotionOptimizerState(IMP.OptimizerState):
12224  r"""Proxy of C++ IMP::atom::RemoveRigidMotionOptimizerState class."""
12225 
12226  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12227 
12228  def __init__(self, m, pis):
12229  r"""__init__(RemoveRigidMotionOptimizerState self, Model m, _ParticleIndexesAdaptor pis) -> RemoveRigidMotionOptimizerState"""
12230  _IMP_atom.RemoveRigidMotionOptimizerState_swiginit(self, _IMP_atom.new_RemoveRigidMotionOptimizerState(m, pis))
12231 
12232  def set_particles(self, pis):
12233  r"""set_particles(RemoveRigidMotionOptimizerState self, IMP::Particles const & pis)"""
12234  return _IMP_atom.RemoveRigidMotionOptimizerState_set_particles(self, pis)
12235 
12236  def remove_rigid_motion(self):
12237  r"""remove_rigid_motion(RemoveRigidMotionOptimizerState self)"""
12238  return _IMP_atom.RemoveRigidMotionOptimizerState_remove_rigid_motion(self)
12239 
12240  def get_version_info(self):
12241  r"""get_version_info(RemoveRigidMotionOptimizerState self) -> VersionInfo"""
12242  return _IMP_atom.RemoveRigidMotionOptimizerState_get_version_info(self)
12243  __swig_destroy__ = _IMP_atom.delete_RemoveRigidMotionOptimizerState
12244 
12245  def __str__(self):
12246  r"""__str__(RemoveRigidMotionOptimizerState self) -> std::string"""
12247  return _IMP_atom.RemoveRigidMotionOptimizerState___str__(self)
12248 
12249  def __repr__(self):
12250  r"""__repr__(RemoveRigidMotionOptimizerState self) -> std::string"""
12251  return _IMP_atom.RemoveRigidMotionOptimizerState___repr__(self)
12252 
12253  @staticmethod
12254  def get_from(o):
12255  return _object_cast_to_RemoveRigidMotionOptimizerState(o)
12256 
12257 
12258 # Register RemoveRigidMotionOptimizerState in _IMP_atom:
12259 _IMP_atom.RemoveRigidMotionOptimizerState_swigregister(RemoveRigidMotionOptimizerState)
12260 class BerendsenThermostatOptimizerState(IMP.OptimizerState):
12261  r"""Proxy of C++ IMP::atom::BerendsenThermostatOptimizerState class."""
12262 
12263  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12264 
12265  def __init__(self, pis, temperature, tau):
12266  r"""__init__(BerendsenThermostatOptimizerState self, IMP::Particles const & pis, double temperature, double tau) -> BerendsenThermostatOptimizerState"""
12267  _IMP_atom.BerendsenThermostatOptimizerState_swiginit(self, _IMP_atom.new_BerendsenThermostatOptimizerState(pis, temperature, tau))
12268 
12269  def set_particles(self, pis):
12270  r"""set_particles(BerendsenThermostatOptimizerState self, IMP::Particles const & pis)"""
12271  return _IMP_atom.BerendsenThermostatOptimizerState_set_particles(self, pis)
12272 
12273  def get_particles(self):
12274  r"""get_particles(BerendsenThermostatOptimizerState self) -> IMP::Particles"""
12275  return _IMP_atom.BerendsenThermostatOptimizerState_get_particles(self)
12276 
12277  def get_temperature(self):
12278  r"""get_temperature(BerendsenThermostatOptimizerState self) -> double"""
12279  return _IMP_atom.BerendsenThermostatOptimizerState_get_temperature(self)
12280 
12281  def get_tau(self):
12282  r"""get_tau(BerendsenThermostatOptimizerState self) -> double"""
12283  return _IMP_atom.BerendsenThermostatOptimizerState_get_tau(self)
12284 
12285  def set_temperature(self, temperature):
12286  r"""set_temperature(BerendsenThermostatOptimizerState self, double temperature)"""
12287  return _IMP_atom.BerendsenThermostatOptimizerState_set_temperature(self, temperature)
12288 
12289  def set_tau(self, tau):
12290  r"""set_tau(BerendsenThermostatOptimizerState self, double tau)"""
12291  return _IMP_atom.BerendsenThermostatOptimizerState_set_tau(self, tau)
12292 
12293  def rescale_velocities(self):
12294  r"""rescale_velocities(BerendsenThermostatOptimizerState self)"""
12295  return _IMP_atom.BerendsenThermostatOptimizerState_rescale_velocities(self)
12296 
12297  def get_version_info(self):
12298  r"""get_version_info(BerendsenThermostatOptimizerState self) -> VersionInfo"""
12299  return _IMP_atom.BerendsenThermostatOptimizerState_get_version_info(self)
12300  __swig_destroy__ = _IMP_atom.delete_BerendsenThermostatOptimizerState
12301 
12302  def __str__(self):
12303  r"""__str__(BerendsenThermostatOptimizerState self) -> std::string"""
12304  return _IMP_atom.BerendsenThermostatOptimizerState___str__(self)
12305 
12306  def __repr__(self):
12307  r"""__repr__(BerendsenThermostatOptimizerState self) -> std::string"""
12308  return _IMP_atom.BerendsenThermostatOptimizerState___repr__(self)
12309 
12310  @staticmethod
12311  def get_from(o):
12312  return _object_cast_to_BerendsenThermostatOptimizerState(o)
12313 
12314 
12315  def _get_jax(self, state_index):
12316  import jax.lax
12317  import jax.numpy as jnp
12318 
12319  def apply_func(md, temperature, tau, indexes):
12320  ekinetic = md.get_kinetic_energy()
12321  tkinetic = md.get_kinetic_temperature(ekinetic)
12322  scale = jnp.sqrt(1.0 + (md.time_step / tau)
12323  * (temperature / tkinetic - 1.0))
12324  linvel = md.jm['linvel'].at[indexes]
12325  md.jm['linvel'] = linvel.multiply(scale)
12326  return md
12327 
12328  f = functools.partial(
12329  apply_func, temperature=self.get_temperature(),
12330  tau=self.get_tau(),
12331  indexes=jnp.asarray(IMP.get_indexes(self.get_particles())))
12332  return self._wrap_jax(lambda x: x, f)
12333 
12334 
12335 # Register BerendsenThermostatOptimizerState in _IMP_atom:
12336 _IMP_atom.BerendsenThermostatOptimizerState_swigregister(BerendsenThermostatOptimizerState)
12337 class LangevinThermostatOptimizerState(IMP.OptimizerState):
12338  r"""Proxy of C++ IMP::atom::LangevinThermostatOptimizerState class."""
12339 
12340  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12341 
12342  def __init__(self, m, pis, temperature, gamma):
12343  r"""__init__(LangevinThermostatOptimizerState self, Model m, _ParticleIndexesAdaptor pis, double temperature, double gamma) -> LangevinThermostatOptimizerState"""
12344  _IMP_atom.LangevinThermostatOptimizerState_swiginit(self, _IMP_atom.new_LangevinThermostatOptimizerState(m, pis, temperature, gamma))
12345 
12346  def set_particles(self, pis):
12347  r"""set_particles(LangevinThermostatOptimizerState self, IMP::Particles const & pis)"""
12348  return _IMP_atom.LangevinThermostatOptimizerState_set_particles(self, pis)
12349 
12350  def get_particles(self):
12351  r"""get_particles(LangevinThermostatOptimizerState self) -> IMP::Particles"""
12352  return _IMP_atom.LangevinThermostatOptimizerState_get_particles(self)
12353 
12354  def get_temperature(self):
12355  r"""get_temperature(LangevinThermostatOptimizerState self) -> double"""
12356  return _IMP_atom.LangevinThermostatOptimizerState_get_temperature(self)
12357 
12358  def get_gamma(self):
12359  r"""get_gamma(LangevinThermostatOptimizerState self) -> double"""
12360  return _IMP_atom.LangevinThermostatOptimizerState_get_gamma(self)
12361 
12362  def set_temperature(self, temperature):
12363  r"""set_temperature(LangevinThermostatOptimizerState self, double temperature)"""
12364  return _IMP_atom.LangevinThermostatOptimizerState_set_temperature(self, temperature)
12365 
12366  def set_gamma(self, gamma):
12367  r"""set_gamma(LangevinThermostatOptimizerState self, double gamma)"""
12368  return _IMP_atom.LangevinThermostatOptimizerState_set_gamma(self, gamma)
12369 
12370  def rescale_velocities(self):
12371  r"""rescale_velocities(LangevinThermostatOptimizerState self)"""
12372  return _IMP_atom.LangevinThermostatOptimizerState_rescale_velocities(self)
12373 
12374  def get_version_info(self):
12375  r"""get_version_info(LangevinThermostatOptimizerState self) -> VersionInfo"""
12376  return _IMP_atom.LangevinThermostatOptimizerState_get_version_info(self)
12377  __swig_destroy__ = _IMP_atom.delete_LangevinThermostatOptimizerState
12378 
12379  def __str__(self):
12380  r"""__str__(LangevinThermostatOptimizerState self) -> std::string"""
12381  return _IMP_atom.LangevinThermostatOptimizerState___str__(self)
12382 
12383  def __repr__(self):
12384  r"""__repr__(LangevinThermostatOptimizerState self) -> std::string"""
12385  return _IMP_atom.LangevinThermostatOptimizerState___repr__(self)
12386 
12387  @staticmethod
12388  def get_from(o):
12389  return _object_cast_to_LangevinThermostatOptimizerState(o)
12390 
12391 
12392  def _get_jax(self, state_index):
12393  import jax.lax
12394  import jax.numpy as jnp
12395  import jax.random
12396  gas_constant = 8.31441e-7
12397 
12398  def init_func(md):
12399  # Make our own random key split off from MD's key
12400  md.rkey, subkey = jax.random.split(md.rkey)
12401  md.optimizer_states[state_index] = subkey
12402  return md
12403 
12404  def apply_func(md, temperature, gamma, indexes):
12405  c1 = jnp.exp(-gamma * md.time_step)
12406  c2 = jnp.sqrt((1.0 - c1) * gas_constant * temperature)
12407  md.optimizer_states[state_index], subkey = jax.random.split(
12408  md.optimizer_states[state_index])
12409  sample = jax.random.normal(subkey, shape=(len(indexes), 3))
12410  mass = md.jm['mass'][indexes]
12411  linvel = md.jm['linvel'].at[indexes]
12412  md.jm['linvel'] = linvel.set(
12413  c1 * linvel.get()
12414  + c2 * jnp.sqrt((c1 + 1.0) / mass).reshape(len(indexes), 1)
12415  * sample)
12416  return md
12417 
12418  f = functools.partial(
12419  apply_func, temperature=self.get_temperature(),
12420  gamma=self.get_gamma(),
12421  indexes=jnp.asarray(IMP.get_indexes(self.get_particles())))
12422  return self._wrap_jax(init_func, f)
12423 
12424 
12425 # Register LangevinThermostatOptimizerState in _IMP_atom:
12426 _IMP_atom.LangevinThermostatOptimizerState_swigregister(LangevinThermostatOptimizerState)
12427 class PDBRecord(IMP._Value):
12428  r"""Proxy of C++ IMP::atom::PDBRecord class."""
12429 
12430  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12431 
12432  def __init__(self):
12433  r"""__init__(PDBRecord self) -> PDBRecord"""
12434  _IMP_atom.PDBRecord_swiginit(self, _IMP_atom.new_PDBRecord())
12435 
12436  def get_alt_loc_indicator(self):
12437  r"""get_alt_loc_indicator(PDBRecord self) -> std::string"""
12438  return _IMP_atom.PDBRecord_get_alt_loc_indicator(self)
12439 
12440  def get_is_atom(self):
12441  r"""get_is_atom(PDBRecord self) -> bool"""
12442  return _IMP_atom.PDBRecord_get_is_atom(self)
12443 
12444  def get_trimmed_atom_name(self):
12445  r"""get_trimmed_atom_name(PDBRecord self) -> std::string"""
12446  return _IMP_atom.PDBRecord_get_trimmed_atom_name(self)
12447 
12448  def get_padded_atom_name(self):
12449  r"""get_padded_atom_name(PDBRecord self) -> std::string"""
12450  return _IMP_atom.PDBRecord_get_padded_atom_name(self)
12451 
12452  def get_residue_name(self):
12453  r"""get_residue_name(PDBRecord self) -> std::string"""
12454  return _IMP_atom.PDBRecord_get_residue_name(self)
12455 
12456  def get_chain_id(self):
12457  r"""get_chain_id(PDBRecord self) -> std::string"""
12458  return _IMP_atom.PDBRecord_get_chain_id(self)
12459 
12460  def get_element(self):
12461  r"""get_element(PDBRecord self) -> std::string"""
12462  return _IMP_atom.PDBRecord_get_element(self)
12463 
12464  def get_residue_number(self):
12465  r"""get_residue_number(PDBRecord self) -> int"""
12466  return _IMP_atom.PDBRecord_get_residue_number(self)
12467 
12468  def show(self, *args):
12469  r"""show(PDBRecord self, _ostream out=std::cout)"""
12470  return _IMP_atom.PDBRecord_show(self, *args)
12471 
12472  def __str__(self):
12473  r"""__str__(PDBRecord self) -> std::string"""
12474  return _IMP_atom.PDBRecord___str__(self)
12475 
12476  def __repr__(self):
12477  r"""__repr__(PDBRecord self) -> std::string"""
12478  return _IMP_atom.PDBRecord___repr__(self)
12479  __swig_destroy__ = _IMP_atom.delete_PDBRecord
12480 
12481 # Register PDBRecord in _IMP_atom:
12482 _IMP_atom.PDBRecord_swigregister(PDBRecord)
12483 class PDBSelector(IMP.Object):
12484  r"""Proxy of C++ IMP::atom::PDBSelector 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, name):
12489  r"""__init__(PDBSelector self, std::string name) -> PDBSelector"""
12490  if self.__class__ == PDBSelector:
12491  _self = None
12492  else:
12493  _self = self
12494  _IMP_atom.PDBSelector_swiginit(self, _IMP_atom.new_PDBSelector(_self, name))
12495 
12496  if self.__class__ != PDBSelector:
12497  _director_objects.register(self)
12498 
12499 
12500 
12501 
12502  def get_is_selected(self, record):
12503  r"""get_is_selected(PDBSelector self, PDBRecord record) -> bool"""
12504  return _IMP_atom.PDBSelector_get_is_selected(self, record)
12505  __swig_destroy__ = _IMP_atom.delete_PDBSelector
12506 
12507  def __str__(self):
12508  r"""__str__(PDBSelector self) -> std::string"""
12509  return _IMP_atom.PDBSelector___str__(self)
12510 
12511  def __repr__(self):
12512  r"""__repr__(PDBSelector self) -> std::string"""
12513  return _IMP_atom.PDBSelector___repr__(self)
12514 
12515  @staticmethod
12516  def get_from(o):
12517  return _object_cast_to_PDBSelector(o)
12518 
12519 
12520  def do_show(self, out):
12521  pass
12522 
12523  @staticmethod
12524  def get_from(o):
12525  return _object_cast_to_PDBSelector(o)
12526 
12527 
12528  def __and__(self, s):
12529  return AndPDBSelector(self, s)
12530  def __or__(self, s):
12531  return OrPDBSelector(self, s)
12532  def __xor__(self, s):
12533  return XorPDBSelector(self, s)
12534  def __invert__(self):
12535  return NotPDBSelector(self)
12536  def __sub__(self, s):
12537  return AndPDBSelector(self, NotPDBSelector(s))
12538 
12539  def __disown__(self):
12540  self.this.disown()
12541  _IMP_atom.disown_PDBSelector(self)
12542  return weakref.proxy(self)
12543 
12544  def do_destroy(self):
12545  r"""do_destroy(PDBSelector self)"""
12546  return _IMP_atom.PDBSelector_do_destroy(self)
12547 
12548 # Register PDBSelector in _IMP_atom:
12549 _IMP_atom.PDBSelector_swigregister(PDBSelector)
12550 class NonAlternativePDBSelector(PDBSelector):
12551  r"""Proxy of C++ IMP::atom::NonAlternativePDBSelector class."""
12552 
12553  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12554 
12555  def __init__(self, *args):
12556  r"""__init__(NonAlternativePDBSelector self, std::string name="NonAlternativePDBSelector%1%") -> NonAlternativePDBSelector"""
12557  _IMP_atom.NonAlternativePDBSelector_swiginit(self, _IMP_atom.new_NonAlternativePDBSelector(*args))
12558 
12559  def get_version_info(self):
12560  r"""get_version_info(NonAlternativePDBSelector self) -> VersionInfo"""
12561  return _IMP_atom.NonAlternativePDBSelector_get_version_info(self)
12562  __swig_destroy__ = _IMP_atom.delete_NonAlternativePDBSelector
12563 
12564  def __str__(self):
12565  r"""__str__(NonAlternativePDBSelector self) -> std::string"""
12566  return _IMP_atom.NonAlternativePDBSelector___str__(self)
12567 
12568  def __repr__(self):
12569  r"""__repr__(NonAlternativePDBSelector self) -> std::string"""
12570  return _IMP_atom.NonAlternativePDBSelector___repr__(self)
12571 
12572  @staticmethod
12573  def get_from(o):
12574  return _object_cast_to_NonAlternativePDBSelector(o)
12575 
12576 
12577 # Register NonAlternativePDBSelector in _IMP_atom:
12578 _IMP_atom.NonAlternativePDBSelector_swigregister(NonAlternativePDBSelector)
12579 class ATOMPDBSelector(NonAlternativePDBSelector):
12580  r"""Proxy of C++ IMP::atom::ATOMPDBSelector class."""
12581 
12582  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12583 
12584  def __init__(self, *args):
12585  r"""__init__(ATOMPDBSelector self, std::string name="ATOMPDBSelector%1%") -> ATOMPDBSelector"""
12586  _IMP_atom.ATOMPDBSelector_swiginit(self, _IMP_atom.new_ATOMPDBSelector(*args))
12587  __swig_destroy__ = _IMP_atom.delete_ATOMPDBSelector
12588 
12589  def __str__(self):
12590  r"""__str__(ATOMPDBSelector self) -> std::string"""
12591  return _IMP_atom.ATOMPDBSelector___str__(self)
12592 
12593  def __repr__(self):
12594  r"""__repr__(ATOMPDBSelector self) -> std::string"""
12595  return _IMP_atom.ATOMPDBSelector___repr__(self)
12596 
12597  @staticmethod
12598  def get_from(o):
12599  return _object_cast_to_ATOMPDBSelector(o)
12600 
12601 
12602 # Register ATOMPDBSelector in _IMP_atom:
12603 _IMP_atom.ATOMPDBSelector_swigregister(ATOMPDBSelector)
12604 class CAlphaPDBSelector(NonAlternativePDBSelector):
12605  r"""Proxy of C++ IMP::atom::CAlphaPDBSelector class."""
12606 
12607  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12608 
12609  def __init__(self, *args):
12610  r"""__init__(CAlphaPDBSelector self, std::string name="CAlphaPDBSelector%1%") -> CAlphaPDBSelector"""
12611  _IMP_atom.CAlphaPDBSelector_swiginit(self, _IMP_atom.new_CAlphaPDBSelector(*args))
12612  __swig_destroy__ = _IMP_atom.delete_CAlphaPDBSelector
12613 
12614  def __str__(self):
12615  r"""__str__(CAlphaPDBSelector self) -> std::string"""
12616  return _IMP_atom.CAlphaPDBSelector___str__(self)
12617 
12618  def __repr__(self):
12619  r"""__repr__(CAlphaPDBSelector self) -> std::string"""
12620  return _IMP_atom.CAlphaPDBSelector___repr__(self)
12621 
12622  @staticmethod
12623  def get_from(o):
12624  return _object_cast_to_CAlphaPDBSelector(o)
12625 
12626 
12627 # Register CAlphaPDBSelector in _IMP_atom:
12628 _IMP_atom.CAlphaPDBSelector_swigregister(CAlphaPDBSelector)
12629 class CBetaPDBSelector(NonAlternativePDBSelector):
12630  r"""Proxy of C++ IMP::atom::CBetaPDBSelector class."""
12631 
12632  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12633 
12634  def __init__(self, *args):
12635  r"""__init__(CBetaPDBSelector self, std::string name="CBetaPDBSelector%1%") -> CBetaPDBSelector"""
12636  _IMP_atom.CBetaPDBSelector_swiginit(self, _IMP_atom.new_CBetaPDBSelector(*args))
12637  __swig_destroy__ = _IMP_atom.delete_CBetaPDBSelector
12638 
12639  def __str__(self):
12640  r"""__str__(CBetaPDBSelector self) -> std::string"""
12641  return _IMP_atom.CBetaPDBSelector___str__(self)
12642 
12643  def __repr__(self):
12644  r"""__repr__(CBetaPDBSelector self) -> std::string"""
12645  return _IMP_atom.CBetaPDBSelector___repr__(self)
12646 
12647  @staticmethod
12648  def get_from(o):
12649  return _object_cast_to_CBetaPDBSelector(o)
12650 
12651 
12652 # Register CBetaPDBSelector in _IMP_atom:
12653 _IMP_atom.CBetaPDBSelector_swigregister(CBetaPDBSelector)
12654 class AtomTypePDBSelector(PDBSelector):
12655  r"""Proxy of C++ IMP::atom::AtomTypePDBSelector class."""
12656 
12657  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12658 
12659  def __init__(self, *args):
12660  r"""__init__(AtomTypePDBSelector self, IMP::Strings atom_types, std::string name="AtomTypePDBSelector%1%") -> AtomTypePDBSelector"""
12661  _IMP_atom.AtomTypePDBSelector_swiginit(self, _IMP_atom.new_AtomTypePDBSelector(*args))
12662 
12663  def get_version_info(self):
12664  r"""get_version_info(AtomTypePDBSelector self) -> VersionInfo"""
12665  return _IMP_atom.AtomTypePDBSelector_get_version_info(self)
12666  __swig_destroy__ = _IMP_atom.delete_AtomTypePDBSelector
12667 
12668  def __str__(self):
12669  r"""__str__(AtomTypePDBSelector self) -> std::string"""
12670  return _IMP_atom.AtomTypePDBSelector___str__(self)
12671 
12672  def __repr__(self):
12673  r"""__repr__(AtomTypePDBSelector self) -> std::string"""
12674  return _IMP_atom.AtomTypePDBSelector___repr__(self)
12675 
12676  @staticmethod
12677  def get_from(o):
12678  return _object_cast_to_AtomTypePDBSelector(o)
12679 
12680 
12681 # Register AtomTypePDBSelector in _IMP_atom:
12682 _IMP_atom.AtomTypePDBSelector_swigregister(AtomTypePDBSelector)
12683 class ResidueTypePDBSelector(PDBSelector):
12684  r"""Proxy of C++ IMP::atom::ResidueTypePDBSelector class."""
12685 
12686  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12687 
12688  def __init__(self, *args):
12689  r"""__init__(ResidueTypePDBSelector self, IMP::Strings residue_types, std::string name="ResidueTypePDBSelector%1%") -> ResidueTypePDBSelector"""
12690  _IMP_atom.ResidueTypePDBSelector_swiginit(self, _IMP_atom.new_ResidueTypePDBSelector(*args))
12691 
12692  def get_version_info(self):
12693  r"""get_version_info(ResidueTypePDBSelector self) -> VersionInfo"""
12694  return _IMP_atom.ResidueTypePDBSelector_get_version_info(self)
12695  __swig_destroy__ = _IMP_atom.delete_ResidueTypePDBSelector
12696 
12697  def __str__(self):
12698  r"""__str__(ResidueTypePDBSelector self) -> std::string"""
12699  return _IMP_atom.ResidueTypePDBSelector___str__(self)
12700 
12701  def __repr__(self):
12702  r"""__repr__(ResidueTypePDBSelector self) -> std::string"""
12703  return _IMP_atom.ResidueTypePDBSelector___repr__(self)
12704 
12705  @staticmethod
12706  def get_from(o):
12707  return _object_cast_to_ResidueTypePDBSelector(o)
12708 
12709 
12710 # Register ResidueTypePDBSelector in _IMP_atom:
12711 _IMP_atom.ResidueTypePDBSelector_swigregister(ResidueTypePDBSelector)
12712 class CPDBSelector(NonAlternativePDBSelector):
12713  r"""Proxy of C++ IMP::atom::CPDBSelector class."""
12714 
12715  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12716 
12717  def __init__(self, *args):
12718  r"""__init__(CPDBSelector self, std::string name="CPDBSelector%1%") -> CPDBSelector"""
12719  _IMP_atom.CPDBSelector_swiginit(self, _IMP_atom.new_CPDBSelector(*args))
12720  __swig_destroy__ = _IMP_atom.delete_CPDBSelector
12721 
12722  def __str__(self):
12723  r"""__str__(CPDBSelector self) -> std::string"""
12724  return _IMP_atom.CPDBSelector___str__(self)
12725 
12726  def __repr__(self):
12727  r"""__repr__(CPDBSelector self) -> std::string"""
12728  return _IMP_atom.CPDBSelector___repr__(self)
12729 
12730  @staticmethod
12731  def get_from(o):
12732  return _object_cast_to_CPDBSelector(o)
12733 
12734 
12735 # Register CPDBSelector in _IMP_atom:
12736 _IMP_atom.CPDBSelector_swigregister(CPDBSelector)
12737 class NPDBSelector(NonAlternativePDBSelector):
12738  r"""Proxy of C++ IMP::atom::NPDBSelector class."""
12739 
12740  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12741 
12742  def __init__(self, *args):
12743  r"""__init__(NPDBSelector self, std::string name="NPDBSelector%1%") -> NPDBSelector"""
12744  _IMP_atom.NPDBSelector_swiginit(self, _IMP_atom.new_NPDBSelector(*args))
12745  __swig_destroy__ = _IMP_atom.delete_NPDBSelector
12746 
12747  def __str__(self):
12748  r"""__str__(NPDBSelector self) -> std::string"""
12749  return _IMP_atom.NPDBSelector___str__(self)
12750 
12751  def __repr__(self):
12752  r"""__repr__(NPDBSelector self) -> std::string"""
12753  return _IMP_atom.NPDBSelector___repr__(self)
12754 
12755  @staticmethod
12756  def get_from(o):
12757  return _object_cast_to_NPDBSelector(o)
12758 
12759 
12760 # Register NPDBSelector in _IMP_atom:
12761 _IMP_atom.NPDBSelector_swigregister(NPDBSelector)
12762 class AllPDBSelector(PDBSelector):
12763  r"""Proxy of C++ IMP::atom::AllPDBSelector class."""
12764 
12765  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12766 
12767  def __init__(self, *args):
12768  r"""__init__(AllPDBSelector self, std::string name="AllPDBSelector%1%") -> AllPDBSelector"""
12769  _IMP_atom.AllPDBSelector_swiginit(self, _IMP_atom.new_AllPDBSelector(*args))
12770 
12771  def get_version_info(self):
12772  r"""get_version_info(AllPDBSelector self) -> VersionInfo"""
12773  return _IMP_atom.AllPDBSelector_get_version_info(self)
12774  __swig_destroy__ = _IMP_atom.delete_AllPDBSelector
12775 
12776  def __str__(self):
12777  r"""__str__(AllPDBSelector self) -> std::string"""
12778  return _IMP_atom.AllPDBSelector___str__(self)
12779 
12780  def __repr__(self):
12781  r"""__repr__(AllPDBSelector self) -> std::string"""
12782  return _IMP_atom.AllPDBSelector___repr__(self)
12783 
12784  @staticmethod
12785  def get_from(o):
12786  return _object_cast_to_AllPDBSelector(o)
12787 
12788 
12789 # Register AllPDBSelector in _IMP_atom:
12790 _IMP_atom.AllPDBSelector_swigregister(AllPDBSelector)
12791 class ChainPDBSelector(NonAlternativePDBSelector):
12792  r"""Proxy of C++ IMP::atom::ChainPDBSelector class."""
12793 
12794  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12795  __swig_destroy__ = _IMP_atom.delete_ChainPDBSelector
12796 
12797  def __init__(self, *args):
12798  r"""__init__(ChainPDBSelector self, IMP::Strings chains, std::string name="ChainPDBSelector%1%") -> ChainPDBSelector"""
12799  _IMP_atom.ChainPDBSelector_swiginit(self, _IMP_atom.new_ChainPDBSelector(*args))
12800 
12801  def __str__(self):
12802  r"""__str__(ChainPDBSelector self) -> std::string"""
12803  return _IMP_atom.ChainPDBSelector___str__(self)
12804 
12805  def __repr__(self):
12806  r"""__repr__(ChainPDBSelector self) -> std::string"""
12807  return _IMP_atom.ChainPDBSelector___repr__(self)
12808 
12809  @staticmethod
12810  def get_from(o):
12811  return _object_cast_to_ChainPDBSelector(o)
12812 
12813 
12814 # Register ChainPDBSelector in _IMP_atom:
12815 _IMP_atom.ChainPDBSelector_swigregister(ChainPDBSelector)
12816 class WaterPDBSelector(NonAlternativePDBSelector):
12817  r"""Proxy of C++ IMP::atom::WaterPDBSelector class."""
12818 
12819  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12820 
12821  def __init__(self, *args):
12822  r"""__init__(WaterPDBSelector self, std::string name="WaterPDBSelector%1%") -> WaterPDBSelector"""
12823  _IMP_atom.WaterPDBSelector_swiginit(self, _IMP_atom.new_WaterPDBSelector(*args))
12824  __swig_destroy__ = _IMP_atom.delete_WaterPDBSelector
12825 
12826  def __str__(self):
12827  r"""__str__(WaterPDBSelector self) -> std::string"""
12828  return _IMP_atom.WaterPDBSelector___str__(self)
12829 
12830  def __repr__(self):
12831  r"""__repr__(WaterPDBSelector self) -> std::string"""
12832  return _IMP_atom.WaterPDBSelector___repr__(self)
12833 
12834  @staticmethod
12835  def get_from(o):
12836  return _object_cast_to_WaterPDBSelector(o)
12837 
12838 
12839 # Register WaterPDBSelector in _IMP_atom:
12840 _IMP_atom.WaterPDBSelector_swigregister(WaterPDBSelector)
12841 class HydrogenPDBSelector(NonAlternativePDBSelector):
12842  r"""Proxy of C++ IMP::atom::HydrogenPDBSelector class."""
12843 
12844  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12845 
12846  def __init__(self, *args):
12847  r"""__init__(HydrogenPDBSelector self, std::string name="HydrogenPDBSelector%1%") -> HydrogenPDBSelector"""
12848  _IMP_atom.HydrogenPDBSelector_swiginit(self, _IMP_atom.new_HydrogenPDBSelector(*args))
12849  __swig_destroy__ = _IMP_atom.delete_HydrogenPDBSelector
12850 
12851  def __str__(self):
12852  r"""__str__(HydrogenPDBSelector self) -> std::string"""
12853  return _IMP_atom.HydrogenPDBSelector___str__(self)
12854 
12855  def __repr__(self):
12856  r"""__repr__(HydrogenPDBSelector self) -> std::string"""
12857  return _IMP_atom.HydrogenPDBSelector___repr__(self)
12858 
12859  @staticmethod
12860  def get_from(o):
12861  return _object_cast_to_HydrogenPDBSelector(o)
12862 
12863 
12864 # Register HydrogenPDBSelector in _IMP_atom:
12865 _IMP_atom.HydrogenPDBSelector_swigregister(HydrogenPDBSelector)
12866 class NonWaterNonHydrogenPDBSelector(NonAlternativePDBSelector):
12867  r"""Proxy of C++ IMP::atom::NonWaterNonHydrogenPDBSelector class."""
12868 
12869  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12870  __swig_destroy__ = _IMP_atom.delete_NonWaterNonHydrogenPDBSelector
12871 
12872  def __init__(self, *args):
12873  r"""
12874  __init__(NonWaterNonHydrogenPDBSelector self, std::string name) -> NonWaterNonHydrogenPDBSelector
12875  __init__(NonWaterNonHydrogenPDBSelector self) -> NonWaterNonHydrogenPDBSelector
12876  """
12877  _IMP_atom.NonWaterNonHydrogenPDBSelector_swiginit(self, _IMP_atom.new_NonWaterNonHydrogenPDBSelector(*args))
12878 
12879  def __str__(self):
12880  r"""__str__(NonWaterNonHydrogenPDBSelector self) -> std::string"""
12881  return _IMP_atom.NonWaterNonHydrogenPDBSelector___str__(self)
12882 
12883  def __repr__(self):
12884  r"""__repr__(NonWaterNonHydrogenPDBSelector self) -> std::string"""
12885  return _IMP_atom.NonWaterNonHydrogenPDBSelector___repr__(self)
12886 
12887  @staticmethod
12888  def get_from(o):
12889  return _object_cast_to_NonWaterNonHydrogenPDBSelector(o)
12890 
12891 
12892 # Register NonWaterNonHydrogenPDBSelector in _IMP_atom:
12893 _IMP_atom.NonWaterNonHydrogenPDBSelector_swigregister(NonWaterNonHydrogenPDBSelector)
12894 class NonHydrogenPDBSelector(NonAlternativePDBSelector):
12895  r"""Proxy of C++ IMP::atom::NonHydrogenPDBSelector class."""
12896 
12897  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12898  __swig_destroy__ = _IMP_atom.delete_NonHydrogenPDBSelector
12899 
12900  def __init__(self, *args):
12901  r"""
12902  __init__(NonHydrogenPDBSelector self, std::string name) -> NonHydrogenPDBSelector
12903  __init__(NonHydrogenPDBSelector self) -> NonHydrogenPDBSelector
12904  """
12905  _IMP_atom.NonHydrogenPDBSelector_swiginit(self, _IMP_atom.new_NonHydrogenPDBSelector(*args))
12906 
12907  def __str__(self):
12908  r"""__str__(NonHydrogenPDBSelector self) -> std::string"""
12909  return _IMP_atom.NonHydrogenPDBSelector___str__(self)
12910 
12911  def __repr__(self):
12912  r"""__repr__(NonHydrogenPDBSelector self) -> std::string"""
12913  return _IMP_atom.NonHydrogenPDBSelector___repr__(self)
12914 
12915  @staticmethod
12916  def get_from(o):
12917  return _object_cast_to_NonHydrogenPDBSelector(o)
12918 
12919 
12920 # Register NonHydrogenPDBSelector in _IMP_atom:
12921 _IMP_atom.NonHydrogenPDBSelector_swigregister(NonHydrogenPDBSelector)
12922 class NonWaterPDBSelector(NonAlternativePDBSelector):
12923  r"""Proxy of C++ IMP::atom::NonWaterPDBSelector class."""
12924 
12925  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12926  __swig_destroy__ = _IMP_atom.delete_NonWaterPDBSelector
12927 
12928  def __init__(self, *args):
12929  r"""
12930  __init__(NonWaterPDBSelector self, std::string name) -> NonWaterPDBSelector
12931  __init__(NonWaterPDBSelector self) -> NonWaterPDBSelector
12932  """
12933  _IMP_atom.NonWaterPDBSelector_swiginit(self, _IMP_atom.new_NonWaterPDBSelector(*args))
12934 
12935  def __str__(self):
12936  r"""__str__(NonWaterPDBSelector self) -> std::string"""
12937  return _IMP_atom.NonWaterPDBSelector___str__(self)
12938 
12939  def __repr__(self):
12940  r"""__repr__(NonWaterPDBSelector self) -> std::string"""
12941  return _IMP_atom.NonWaterPDBSelector___repr__(self)
12942 
12943  @staticmethod
12944  def get_from(o):
12945  return _object_cast_to_NonWaterPDBSelector(o)
12946 
12947 
12948 # Register NonWaterPDBSelector in _IMP_atom:
12949 _IMP_atom.NonWaterPDBSelector_swigregister(NonWaterPDBSelector)
12950 class BackbonePDBSelector(NonWaterNonHydrogenPDBSelector):
12951  r"""Proxy of C++ IMP::atom::BackbonePDBSelector class."""
12952 
12953  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12954 
12955  def __init__(self, *args):
12956  r"""__init__(BackbonePDBSelector self, std::string name="BackbonePDBSelector%1%") -> BackbonePDBSelector"""
12957  _IMP_atom.BackbonePDBSelector_swiginit(self, _IMP_atom.new_BackbonePDBSelector(*args))
12958  __swig_destroy__ = _IMP_atom.delete_BackbonePDBSelector
12959 
12960  def __str__(self):
12961  r"""__str__(BackbonePDBSelector self) -> std::string"""
12962  return _IMP_atom.BackbonePDBSelector___str__(self)
12963 
12964  def __repr__(self):
12965  r"""__repr__(BackbonePDBSelector self) -> std::string"""
12966  return _IMP_atom.BackbonePDBSelector___repr__(self)
12967 
12968  @staticmethod
12969  def get_from(o):
12970  return _object_cast_to_BackbonePDBSelector(o)
12971 
12972 
12973 # Register BackbonePDBSelector in _IMP_atom:
12974 _IMP_atom.BackbonePDBSelector_swigregister(BackbonePDBSelector)
12975 class PPDBSelector(NonAlternativePDBSelector):
12976  r"""Proxy of C++ IMP::atom::PPDBSelector class."""
12977 
12978  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12979 
12980  def __init__(self, *args):
12981  r"""__init__(PPDBSelector self, std::string name="PPDBSelector%1%") -> PPDBSelector"""
12982  _IMP_atom.PPDBSelector_swiginit(self, _IMP_atom.new_PPDBSelector(*args))
12983  __swig_destroy__ = _IMP_atom.delete_PPDBSelector
12984 
12985  def __str__(self):
12986  r"""__str__(PPDBSelector self) -> std::string"""
12987  return _IMP_atom.PPDBSelector___str__(self)
12988 
12989  def __repr__(self):
12990  r"""__repr__(PPDBSelector self) -> std::string"""
12991  return _IMP_atom.PPDBSelector___repr__(self)
12992 
12993  @staticmethod
12994  def get_from(o):
12995  return _object_cast_to_PPDBSelector(o)
12996 
12997 
12998 # Register PPDBSelector in _IMP_atom:
12999 _IMP_atom.PPDBSelector_swigregister(PPDBSelector)
13000 class ResidueRangePDBSelector(PDBSelector):
13001  r"""Proxy of C++ IMP::atom::ResidueRangePDBSelector class."""
13002 
13003  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13004 
13005  def __init__(self, *args):
13006  r"""__init__(ResidueRangePDBSelector self, int low, int high=std::numeric_limits< int >::max(), std::string name="ResidueRangePDBSelector%1%") -> ResidueRangePDBSelector"""
13007  _IMP_atom.ResidueRangePDBSelector_swiginit(self, _IMP_atom.new_ResidueRangePDBSelector(*args))
13008 
13009  def get_version_info(self):
13010  r"""get_version_info(ResidueRangePDBSelector self) -> VersionInfo"""
13011  return _IMP_atom.ResidueRangePDBSelector_get_version_info(self)
13012  __swig_destroy__ = _IMP_atom.delete_ResidueRangePDBSelector
13013 
13014  def __str__(self):
13015  r"""__str__(ResidueRangePDBSelector self) -> std::string"""
13016  return _IMP_atom.ResidueRangePDBSelector___str__(self)
13017 
13018  def __repr__(self):
13019  r"""__repr__(ResidueRangePDBSelector self) -> std::string"""
13020  return _IMP_atom.ResidueRangePDBSelector___repr__(self)
13021 
13022  @staticmethod
13023  def get_from(o):
13024  return _object_cast_to_ResidueRangePDBSelector(o)
13025 
13026 
13027 # Register ResidueRangePDBSelector in _IMP_atom:
13028 _IMP_atom.ResidueRangePDBSelector_swigregister(ResidueRangePDBSelector)
13029 class AndPDBSelector(PDBSelector):
13030  r"""Proxy of C++ IMP::atom::AndPDBSelector class."""
13031 
13032  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13033 
13034  def get_version_info(self):
13035  r"""get_version_info(AndPDBSelector self) -> VersionInfo"""
13036  return _IMP_atom.AndPDBSelector_get_version_info(self)
13037  __swig_destroy__ = _IMP_atom.delete_AndPDBSelector
13038 
13039  def __init__(self, a, b):
13040  r"""__init__(AndPDBSelector self, PDBSelector a, PDBSelector b) -> AndPDBSelector"""
13041  _IMP_atom.AndPDBSelector_swiginit(self, _IMP_atom.new_AndPDBSelector(a, b))
13042 
13043  def __str__(self):
13044  r"""__str__(AndPDBSelector self) -> std::string"""
13045  return _IMP_atom.AndPDBSelector___str__(self)
13046 
13047  def __repr__(self):
13048  r"""__repr__(AndPDBSelector self) -> std::string"""
13049  return _IMP_atom.AndPDBSelector___repr__(self)
13050 
13051  @staticmethod
13052  def get_from(o):
13053  return _object_cast_to_AndPDBSelector(o)
13054 
13055 
13056 # Register AndPDBSelector in _IMP_atom:
13057 _IMP_atom.AndPDBSelector_swigregister(AndPDBSelector)
13058 class OrPDBSelector(PDBSelector):
13059  r"""Proxy of C++ IMP::atom::OrPDBSelector class."""
13060 
13061  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13062 
13063  def get_version_info(self):
13064  r"""get_version_info(OrPDBSelector self) -> VersionInfo"""
13065  return _IMP_atom.OrPDBSelector_get_version_info(self)
13066  __swig_destroy__ = _IMP_atom.delete_OrPDBSelector
13067 
13068  def __init__(self, a, b):
13069  r"""__init__(OrPDBSelector self, PDBSelector a, PDBSelector b) -> OrPDBSelector"""
13070  _IMP_atom.OrPDBSelector_swiginit(self, _IMP_atom.new_OrPDBSelector(a, b))
13071 
13072  def __str__(self):
13073  r"""__str__(OrPDBSelector self) -> std::string"""
13074  return _IMP_atom.OrPDBSelector___str__(self)
13075 
13076  def __repr__(self):
13077  r"""__repr__(OrPDBSelector self) -> std::string"""
13078  return _IMP_atom.OrPDBSelector___repr__(self)
13079 
13080  @staticmethod
13081  def get_from(o):
13082  return _object_cast_to_OrPDBSelector(o)
13083 
13084 
13085 # Register OrPDBSelector in _IMP_atom:
13086 _IMP_atom.OrPDBSelector_swigregister(OrPDBSelector)
13087 class XorPDBSelector(PDBSelector):
13088  r"""Proxy of C++ IMP::atom::XorPDBSelector class."""
13089 
13090  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13091 
13092  def get_version_info(self):
13093  r"""get_version_info(XorPDBSelector self) -> VersionInfo"""
13094  return _IMP_atom.XorPDBSelector_get_version_info(self)
13095  __swig_destroy__ = _IMP_atom.delete_XorPDBSelector
13096 
13097  def __init__(self, a, b):
13098  r"""__init__(XorPDBSelector self, PDBSelector a, PDBSelector b) -> XorPDBSelector"""
13099  _IMP_atom.XorPDBSelector_swiginit(self, _IMP_atom.new_XorPDBSelector(a, b))
13100 
13101  def __str__(self):
13102  r"""__str__(XorPDBSelector self) -> std::string"""
13103  return _IMP_atom.XorPDBSelector___str__(self)
13104 
13105  def __repr__(self):
13106  r"""__repr__(XorPDBSelector self) -> std::string"""
13107  return _IMP_atom.XorPDBSelector___repr__(self)
13108 
13109  @staticmethod
13110  def get_from(o):
13111  return _object_cast_to_XorPDBSelector(o)
13112 
13113 
13114 # Register XorPDBSelector in _IMP_atom:
13115 _IMP_atom.XorPDBSelector_swigregister(XorPDBSelector)
13116 class NotPDBSelector(PDBSelector):
13117  r"""Proxy of C++ IMP::atom::NotPDBSelector class."""
13118 
13119  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13120 
13121  def get_version_info(self):
13122  r"""get_version_info(NotPDBSelector self) -> VersionInfo"""
13123  return _IMP_atom.NotPDBSelector_get_version_info(self)
13124  __swig_destroy__ = _IMP_atom.delete_NotPDBSelector
13125 
13126  def __init__(self, a):
13127  r"""__init__(NotPDBSelector self, PDBSelector a) -> NotPDBSelector"""
13128  _IMP_atom.NotPDBSelector_swiginit(self, _IMP_atom.new_NotPDBSelector(a))
13129 
13130  def __str__(self):
13131  r"""__str__(NotPDBSelector self) -> std::string"""
13132  return _IMP_atom.NotPDBSelector___str__(self)
13133 
13134  def __repr__(self):
13135  r"""__repr__(NotPDBSelector self) -> std::string"""
13136  return _IMP_atom.NotPDBSelector___repr__(self)
13137 
13138  @staticmethod
13139  def get_from(o):
13140  return _object_cast_to_NotPDBSelector(o)
13141 
13142 
13143 # Register NotPDBSelector in _IMP_atom:
13144 _IMP_atom.NotPDBSelector_swigregister(NotPDBSelector)
13145 
13146 def get_default_pdb_selector():
13147  r"""get_default_pdb_selector() -> PDBSelector"""
13148  return _IMP_atom.get_default_pdb_selector()
13149 
13150 def read_pdb(*args):
13151  r"""
13152  read_pdb(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool select_first_model=True, bool no_radii=False) -> Hierarchy
13153  read_pdb(TextInput input, int model, Hierarchy h)
13154  """
13155  return _IMP_atom.read_pdb(*args)
13156 
13157 def read_multimodel_pdb(*args):
13158  r"""read_multimodel_pdb(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
13159  return _IMP_atom.read_multimodel_pdb(*args)
13160 
13161 def write_pdb(mhd, out, model=1):
13162  r"""write_pdb(Selection mhd, TextOutput out, unsigned int model=1)"""
13163  return _IMP_atom.write_pdb(mhd, out, model)
13164 
13165 def write_pdb_of_c_alphas(mhd, out, model=1):
13166  r"""write_pdb_of_c_alphas(Selection mhd, TextOutput out, unsigned int model=1)"""
13167  return _IMP_atom.write_pdb_of_c_alphas(mhd, out, model)
13168 
13169 def write_multimodel_pdb(mhd, out):
13170  r"""write_multimodel_pdb(IMP::atom::Hierarchies const & mhd, TextOutput out)"""
13171  return _IMP_atom.write_multimodel_pdb(mhd, out)
13172 
13173 def get_pdb_string(*args):
13174  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"""
13175  return _IMP_atom.get_pdb_string(*args)
13176 
13177 def get_pdb_conect_record_string(arg1, arg2):
13178  r"""get_pdb_conect_record_string(int arg1, int arg2) -> std::string"""
13179  return _IMP_atom.get_pdb_conect_record_string(arg1, arg2)
13180 class WritePDBOptimizerState(IMP.OptimizerState):
13181  r"""Proxy of C++ IMP::atom::WritePDBOptimizerState class."""
13182 
13183  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13184 
13185  def __init__(self, *args):
13186  r"""
13187  __init__(WritePDBOptimizerState self, Model m, _ParticleIndexesAdaptor pis, std::string filename) -> WritePDBOptimizerState
13188  __init__(WritePDBOptimizerState self, IMP::atom::Hierarchies const mh, std::string filename) -> WritePDBOptimizerState
13189  __init__(WritePDBOptimizerState self) -> WritePDBOptimizerState
13190  """
13191  _IMP_atom.WritePDBOptimizerState_swiginit(self, _IMP_atom.new_WritePDBOptimizerState(*args))
13192 
13193  def get_version_info(self):
13194  r"""get_version_info(WritePDBOptimizerState self) -> VersionInfo"""
13195  return _IMP_atom.WritePDBOptimizerState_get_version_info(self)
13196  __swig_destroy__ = _IMP_atom.delete_WritePDBOptimizerState
13197 
13198  def __str__(self):
13199  r"""__str__(WritePDBOptimizerState self) -> std::string"""
13200  return _IMP_atom.WritePDBOptimizerState___str__(self)
13201 
13202  def __repr__(self):
13203  r"""__repr__(WritePDBOptimizerState self) -> std::string"""
13204  return _IMP_atom.WritePDBOptimizerState___repr__(self)
13205 
13206  @staticmethod
13207  def get_from(o):
13208  return _object_cast_to_WritePDBOptimizerState(o)
13209 
13210 
13211  def _get_as_binary(self):
13212  r"""_get_as_binary(WritePDBOptimizerState self) -> PyObject *"""
13213  return _IMP_atom.WritePDBOptimizerState__get_as_binary(self)
13214 
13215  def _set_from_binary(self, p):
13216  r"""_set_from_binary(WritePDBOptimizerState self, PyObject * p)"""
13217  return _IMP_atom.WritePDBOptimizerState__set_from_binary(self, p)
13218 
13219  def __getstate__(self):
13220  p = self._get_as_binary()
13221  if len(self.__dict__) > 1:
13222  d = self.__dict__.copy()
13223  del d['this']
13224  p = (d, p)
13225  return p
13226 
13227  def __setstate__(self, p):
13228  if not hasattr(self, 'this'):
13229  self.__init__()
13230  if isinstance(p, tuple):
13231  d, p = p
13232  self.__dict__.update(d)
13233  return self._set_from_binary(p)
13234 
13235 
13236 # Register WritePDBOptimizerState in _IMP_atom:
13237 _IMP_atom.WritePDBOptimizerState_swigregister(WritePDBOptimizerState)
13238 
13239 def read_multimodel_mmcif(*args):
13240  r"""read_multimodel_mmcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
13241  return _IMP_atom.read_multimodel_mmcif(*args)
13242 
13243 def read_mmcif(*args):
13244  r"""read_mmcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool select_first_model=True, bool noradii=False) -> Hierarchy"""
13245  return _IMP_atom.read_mmcif(*args)
13246 
13247 def read_multimodel_bcif(*args):
13248  r"""read_multimodel_bcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
13249  return _IMP_atom.read_multimodel_bcif(*args)
13250 
13251 def read_bcif(*args):
13252  r"""read_bcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool select_first_model=True, bool noradii=False) -> Hierarchy"""
13253  return _IMP_atom.read_bcif(*args)
13254 
13255 def read_pdb_any(*args):
13256  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"""
13257  return _IMP_atom.read_pdb_any(*args)
13258 
13259 def read_multimodel_pdb_any(*args):
13260  r"""read_multimodel_pdb_any(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
13261  return _IMP_atom.read_multimodel_pdb_any(*args)
13262 
13263 def get_kt(T):
13264  r"""get_kt(double T) -> double"""
13265  return _IMP_atom.get_kt(T)
13266 class CAAngleRestraint(IMP.Restraint):
13267  r"""Proxy of C++ IMP::atom::CAAngleRestraint class."""
13268 
13269  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13270 
13271  def __init__(self, m, p1, p2, p3, phi0, score):
13272  r"""__init__(CAAngleRestraint self, Model m, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3, IMP::Floats phi0, IMP::Floats score) -> CAAngleRestraint"""
13273  _IMP_atom.CAAngleRestraint_swiginit(self, _IMP_atom.new_CAAngleRestraint(m, p1, p2, p3, phi0, score))
13274 
13275  def do_get_inputs(self):
13276  r"""do_get_inputs(CAAngleRestraint self) -> IMP::ModelObjectsTemp"""
13277  return _IMP_atom.CAAngleRestraint_do_get_inputs(self)
13278 
13279  def get_version_info(self):
13280  r"""get_version_info(CAAngleRestraint self) -> VersionInfo"""
13281  return _IMP_atom.CAAngleRestraint_get_version_info(self)
13282  __swig_destroy__ = _IMP_atom.delete_CAAngleRestraint
13283 
13284  def __str__(self):
13285  r"""__str__(CAAngleRestraint self) -> std::string"""
13286  return _IMP_atom.CAAngleRestraint___str__(self)
13287 
13288  def __repr__(self):
13289  r"""__repr__(CAAngleRestraint self) -> std::string"""
13290  return _IMP_atom.CAAngleRestraint___repr__(self)
13291 
13292  @staticmethod
13293  def get_from(o):
13294  return _object_cast_to_CAAngleRestraint(o)
13295 
13296 
13297 # Register CAAngleRestraint in _IMP_atom:
13298 _IMP_atom.CAAngleRestraint_swigregister(CAAngleRestraint)
13299 class CADihedralRestraint(IMP.Restraint):
13300  r"""Proxy of C++ IMP::atom::CADihedralRestraint class."""
13301 
13302  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13303 
13304  def __init__(self, m, p1, p2, p3, p4, p5, phi0, phi1, score):
13305  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"""
13306  _IMP_atom.CADihedralRestraint_swiginit(self, _IMP_atom.new_CADihedralRestraint(m, p1, p2, p3, p4, p5, phi0, phi1, score))
13307 
13308  def do_get_inputs(self):
13309  r"""do_get_inputs(CADihedralRestraint self) -> IMP::ModelObjectsTemp"""
13310  return _IMP_atom.CADihedralRestraint_do_get_inputs(self)
13311 
13312  def get_version_info(self):
13313  r"""get_version_info(CADihedralRestraint self) -> VersionInfo"""
13314  return _IMP_atom.CADihedralRestraint_get_version_info(self)
13315  __swig_destroy__ = _IMP_atom.delete_CADihedralRestraint
13316 
13317  def __str__(self):
13318  r"""__str__(CADihedralRestraint self) -> std::string"""
13319  return _IMP_atom.CADihedralRestraint___str__(self)
13320 
13321  def __repr__(self):
13322  r"""__repr__(CADihedralRestraint self) -> std::string"""
13323  return _IMP_atom.CADihedralRestraint___repr__(self)
13324 
13325  @staticmethod
13326  def get_from(o):
13327  return _object_cast_to_CADihedralRestraint(o)
13328 
13329 
13330 # Register CADihedralRestraint in _IMP_atom:
13331 _IMP_atom.CADihedralRestraint_swigregister(CADihedralRestraint)
13332 class StructureSource(IMP.Decorator):
13333  r"""Proxy of C++ IMP::atom::StructureSource class."""
13334 
13335  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13336 
13337  def get_source_id(self):
13338  r"""get_source_id(StructureSource self) -> std::string"""
13339  return _IMP_atom.StructureSource_get_source_id(self)
13340 
13341  def get_source_chain_id(self):
13342  r"""get_source_chain_id(StructureSource self) -> std::string"""
13343  return _IMP_atom.StructureSource_get_source_chain_id(self)
13344 
13345  def set_source_id(self, source_id):
13346  r"""set_source_id(StructureSource self, std::string source_id)"""
13347  return _IMP_atom.StructureSource_set_source_id(self, source_id)
13348 
13349  def set_source_chain_id(self, source_chain_id):
13350  r"""set_source_chain_id(StructureSource self, std::string source_chain_id)"""
13351  return _IMP_atom.StructureSource_set_source_chain_id(self, source_chain_id)
13352 
13353  def __init__(self, *args):
13354  r"""
13355  __init__(StructureSource self) -> StructureSource
13356  __init__(StructureSource self, Model m, ParticleIndex id) -> StructureSource
13357  __init__(StructureSource self, _ParticleAdaptor d) -> StructureSource
13358  """
13359  _IMP_atom.StructureSource_swiginit(self, _IMP_atom.new_StructureSource(*args))
13360 
13361  @staticmethod
13362  def get_is_setup(*args):
13363  r"""
13364  get_is_setup(Model m, ParticleIndex pi) -> bool
13365  get_is_setup(_ParticleAdaptor p) -> bool
13366  """
13367  return _IMP_atom.StructureSource_get_is_setup(*args)
13368 
13369  def show(self, *args):
13370  r"""show(StructureSource self, _ostream out=std::cout)"""
13371  return _IMP_atom.StructureSource_show(self, *args)
13372 
13373  @staticmethod
13374  def setup_particle(*args):
13375  r"""
13376  setup_particle(Model m, ParticleIndex pi, std::string source_id, std::string source_chain_id) -> StructureSource
13377  setup_particle(_ParticleAdaptor pa, std::string source_id, std::string source_chain_id) -> StructureSource
13378  """
13379  return _IMP_atom.StructureSource_setup_particle(*args)
13380 
13381  def add_attribute(self, *args):
13382  r"""
13383  add_attribute(StructureSource self, FloatKey k, IMP::Float v, bool opt)
13384  add_attribute(StructureSource self, FloatKey a0, IMP::Float a1)
13385  add_attribute(StructureSource self, IntKey a0, IMP::Int a1)
13386  add_attribute(StructureSource self, FloatsKey a0, IMP::Floats a1)
13387  add_attribute(StructureSource self, IntsKey a0, IMP::Ints a1)
13388  add_attribute(StructureSource self, StringKey a0, IMP::String a1)
13389  add_attribute(StructureSource self, ParticleIndexKey a0, Particle a1)
13390  add_attribute(StructureSource self, ObjectKey a0, Object a1)
13391  add_attribute(StructureSource self, SparseFloatKey a0, IMP::Float a1)
13392  add_attribute(StructureSource self, SparseIntKey a0, IMP::Int a1)
13393  add_attribute(StructureSource self, SparseStringKey a0, IMP::String a1)
13394  add_attribute(StructureSource self, SparseParticleIndexKey a0, ParticleIndex a1)
13395  """
13396  return _IMP_atom.StructureSource_add_attribute(self, *args)
13397 
13398  def get_value(self, *args):
13399  r"""
13400  get_value(StructureSource self, FloatKey a0) -> IMP::Float
13401  get_value(StructureSource self, IntKey a0) -> IMP::Int
13402  get_value(StructureSource self, FloatsKey a0) -> IMP::Floats
13403  get_value(StructureSource self, IntsKey a0) -> IMP::Ints
13404  get_value(StructureSource self, StringKey a0) -> IMP::String
13405  get_value(StructureSource self, ParticleIndexKey a0) -> Particle
13406  get_value(StructureSource self, ObjectKey a0) -> Object
13407  get_value(StructureSource self, SparseFloatKey a0) -> IMP::Float
13408  get_value(StructureSource self, SparseIntKey a0) -> IMP::Int
13409  get_value(StructureSource self, SparseStringKey a0) -> IMP::String
13410  get_value(StructureSource self, SparseParticleIndexKey a0) -> ParticleIndex
13411  """
13412  return _IMP_atom.StructureSource_get_value(self, *args)
13413 
13414  def set_value(self, *args):
13415  r"""
13416  set_value(StructureSource self, FloatKey a0, IMP::Float a1)
13417  set_value(StructureSource self, IntKey a0, IMP::Int a1)
13418  set_value(StructureSource self, FloatsKey a0, IMP::Floats a1)
13419  set_value(StructureSource self, IntsKey a0, IMP::Ints a1)
13420  set_value(StructureSource self, StringKey a0, IMP::String a1)
13421  set_value(StructureSource self, ParticleIndexKey a0, Particle a1)
13422  set_value(StructureSource self, ObjectKey a0, Object a1)
13423  set_value(StructureSource self, SparseFloatKey a0, IMP::Float a1)
13424  set_value(StructureSource self, SparseIntKey a0, IMP::Int a1)
13425  set_value(StructureSource self, SparseStringKey a0, IMP::String a1)
13426  set_value(StructureSource self, SparseParticleIndexKey a0, ParticleIndex a1)
13427  """
13428  return _IMP_atom.StructureSource_set_value(self, *args)
13429 
13430  def remove_attribute(self, *args):
13431  r"""
13432  remove_attribute(StructureSource self, FloatKey a0)
13433  remove_attribute(StructureSource self, IntKey a0)
13434  remove_attribute(StructureSource self, FloatsKey a0)
13435  remove_attribute(StructureSource self, IntsKey a0)
13436  remove_attribute(StructureSource self, StringKey a0)
13437  remove_attribute(StructureSource self, ParticleIndexKey a0)
13438  remove_attribute(StructureSource self, ObjectKey a0)
13439  remove_attribute(StructureSource self, SparseFloatKey a0)
13440  remove_attribute(StructureSource self, SparseIntKey a0)
13441  remove_attribute(StructureSource self, SparseStringKey a0)
13442  remove_attribute(StructureSource self, SparseParticleIndexKey a0)
13443  """
13444  return _IMP_atom.StructureSource_remove_attribute(self, *args)
13445 
13446  def has_attribute(self, *args):
13447  r"""
13448  has_attribute(StructureSource self, FloatKey a0) -> bool
13449  has_attribute(StructureSource self, IntKey a0) -> bool
13450  has_attribute(StructureSource self, FloatsKey a0) -> bool
13451  has_attribute(StructureSource self, IntsKey a0) -> bool
13452  has_attribute(StructureSource self, StringKey a0) -> bool
13453  has_attribute(StructureSource self, ParticleIndexKey a0) -> bool
13454  has_attribute(StructureSource self, ObjectKey a0) -> bool
13455  has_attribute(StructureSource self, SparseFloatKey a0) -> bool
13456  has_attribute(StructureSource self, SparseIntKey a0) -> bool
13457  has_attribute(StructureSource self, SparseStringKey a0) -> bool
13458  has_attribute(StructureSource self, SparseParticleIndexKey a0) -> bool
13459  """
13460  return _IMP_atom.StructureSource_has_attribute(self, *args)
13461 
13462  def get_derivative(self, a0):
13463  r"""get_derivative(StructureSource self, FloatKey a0) -> double"""
13464  return _IMP_atom.StructureSource_get_derivative(self, a0)
13465 
13466  def get_name(self):
13467  r"""get_name(StructureSource self) -> std::string"""
13468  return _IMP_atom.StructureSource_get_name(self)
13469 
13470  def clear_caches(self):
13471  r"""clear_caches(StructureSource self)"""
13472  return _IMP_atom.StructureSource_clear_caches(self)
13473 
13474  def set_name(self, a0):
13475  r"""set_name(StructureSource self, std::string a0)"""
13476  return _IMP_atom.StructureSource_set_name(self, a0)
13477 
13478  def set_check_level(self, a0):
13479  r"""set_check_level(StructureSource self, IMP::CheckLevel a0)"""
13480  return _IMP_atom.StructureSource_set_check_level(self, a0)
13481 
13482  def add_to_derivative(self, a0, a1, a2):
13483  r"""add_to_derivative(StructureSource self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
13484  return _IMP_atom.StructureSource_add_to_derivative(self, a0, a1, a2)
13485 
13486  def set_is_optimized(self, a0, a1):
13487  r"""set_is_optimized(StructureSource self, FloatKey a0, bool a1)"""
13488  return _IMP_atom.StructureSource_set_is_optimized(self, a0, a1)
13489 
13490  def get_is_optimized(self, a0):
13491  r"""get_is_optimized(StructureSource self, FloatKey a0) -> bool"""
13492  return _IMP_atom.StructureSource_get_is_optimized(self, a0)
13493 
13494  def get_check_level(self):
13495  r"""get_check_level(StructureSource self) -> IMP::CheckLevel"""
13496  return _IMP_atom.StructureSource_get_check_level(self)
13497 
13498  def __eq__(self, *args):
13499  r"""
13500  __eq__(StructureSource self, StructureSource o) -> bool
13501  __eq__(StructureSource self, Particle d) -> bool
13502  """
13503  return _IMP_atom.StructureSource___eq__(self, *args)
13504 
13505  def __ne__(self, *args):
13506  r"""
13507  __ne__(StructureSource self, StructureSource o) -> bool
13508  __ne__(StructureSource self, Particle d) -> bool
13509  """
13510  return _IMP_atom.StructureSource___ne__(self, *args)
13511 
13512  def __le__(self, *args):
13513  r"""
13514  __le__(StructureSource self, StructureSource o) -> bool
13515  __le__(StructureSource self, Particle d) -> bool
13516  """
13517  return _IMP_atom.StructureSource___le__(self, *args)
13518 
13519  def __lt__(self, *args):
13520  r"""
13521  __lt__(StructureSource self, StructureSource o) -> bool
13522  __lt__(StructureSource self, Particle d) -> bool
13523  """
13524  return _IMP_atom.StructureSource___lt__(self, *args)
13525 
13526  def __ge__(self, *args):
13527  r"""
13528  __ge__(StructureSource self, StructureSource o) -> bool
13529  __ge__(StructureSource self, Particle d) -> bool
13530  """
13531  return _IMP_atom.StructureSource___ge__(self, *args)
13532 
13533  def __gt__(self, *args):
13534  r"""
13535  __gt__(StructureSource self, StructureSource o) -> bool
13536  __gt__(StructureSource self, Particle d) -> bool
13537  """
13538  return _IMP_atom.StructureSource___gt__(self, *args)
13539 
13540  def __hash__(self):
13541  r"""__hash__(StructureSource self) -> std::size_t"""
13542  return _IMP_atom.StructureSource___hash__(self)
13543 
13544  def __str__(self):
13545  r"""__str__(StructureSource self) -> std::string"""
13546  return _IMP_atom.StructureSource___str__(self)
13547 
13548  def __repr__(self):
13549  r"""__repr__(StructureSource self) -> std::string"""
13550  return _IMP_atom.StructureSource___repr__(self)
13551 
13552  def _get_as_binary(self):
13553  r"""_get_as_binary(StructureSource self) -> PyObject *"""
13554  return _IMP_atom.StructureSource__get_as_binary(self)
13555 
13556  def _set_from_binary(self, p):
13557  r"""_set_from_binary(StructureSource self, PyObject * p)"""
13558  return _IMP_atom.StructureSource__set_from_binary(self, p)
13559 
13560  def __getstate__(self):
13561  p = self._get_as_binary()
13562  if len(self.__dict__) > 1:
13563  d = self.__dict__.copy()
13564  del d['this']
13565  p = (d, p)
13566  return p
13567 
13568  def __setstate__(self, p):
13569  if not hasattr(self, 'this'):
13570  self.__init__()
13571  if isinstance(p, tuple):
13572  d, p = p
13573  self.__dict__.update(d)
13574  return self._set_from_binary(p)
13575 
13576  __swig_destroy__ = _IMP_atom.delete_StructureSource
13577 
13578 # Register StructureSource in _IMP_atom:
13579 _IMP_atom.StructureSource_swigregister(StructureSource)
13580 
13581 def __lshift__(*args):
13582  r"""
13583  __lshift__(_ostream out, Bonded n) -> _ostream
13584  __lshift__(_ostream out, Bond n) -> _ostream
13585  __lshift__(_ostream out, Hierarchy n) -> _ostream
13586  __lshift__(_ostream out, Angle n) -> _ostream
13587  __lshift__(_ostream out, Dihedral n) -> _ostream
13588  __lshift__(_ostream out, CenterOfMass n) -> _ostream
13589  __lshift__(_ostream out, Diffusion n) -> _ostream
13590  __lshift__(_ostream out, RigidBodyDiffusion n) -> _ostream
13591  __lshift__(_ostream out, TAMDParticle n) -> _ostream
13592  __lshift__(_ostream out, Charged n) -> _ostream
13593  __lshift__(_ostream out, Domain n) -> _ostream
13594  __lshift__(_ostream out, LennardJonesTyped n) -> _ostream
13595  __lshift__(_ostream out, Fragment n) -> _ostream
13596  __lshift__(_ostream out, SecondaryStructureResidue n) -> _ostream
13597  __lshift__(_ostream out, Atom n) -> _ostream
13598  __lshift__(_ostream out, Residue n) -> _ostream
13599  __lshift__(_ostream out, Representation n) -> _ostream
13600  __lshift__(_ostream out, State n) -> _ostream
13601  __lshift__(_ostream out, Molecule n) -> _ostream
13602  __lshift__(_ostream out, Copy n) -> _ostream
13603  __lshift__(_ostream out, Chain n) -> _ostream
13604  __lshift__(_ostream out, StructureSource n) -> _ostream
13605  """
13606  return _IMP_atom.__lshift__(*args)
13607 class HelixRestraint(IMP.Restraint):
13608  r"""Proxy of C++ IMP::atom::HelixRestraint class."""
13609 
13610  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13611 
13612  def __init__(self, rs, ideal=True):
13613  r"""__init__(HelixRestraint self, IMP::atom::Residues rs, bool ideal=True) -> HelixRestraint"""
13614  _IMP_atom.HelixRestraint_swiginit(self, _IMP_atom.new_HelixRestraint(rs, ideal))
13615 
13616  def get_number_of_bonds(self):
13617  r"""get_number_of_bonds(HelixRestraint self) -> int"""
13618  return _IMP_atom.HelixRestraint_get_number_of_bonds(self)
13619 
13620  def get_number_of_dihedrals(self):
13621  r"""get_number_of_dihedrals(HelixRestraint self) -> int"""
13622  return _IMP_atom.HelixRestraint_get_number_of_dihedrals(self)
13623 
13624  def do_get_inputs(self):
13625  r"""do_get_inputs(HelixRestraint self) -> IMP::ModelObjectsTemp"""
13626  return _IMP_atom.HelixRestraint_do_get_inputs(self)
13627 
13628  def get_version_info(self):
13629  r"""get_version_info(HelixRestraint self) -> VersionInfo"""
13630  return _IMP_atom.HelixRestraint_get_version_info(self)
13631  __swig_destroy__ = _IMP_atom.delete_HelixRestraint
13632 
13633  def __str__(self):
13634  r"""__str__(HelixRestraint self) -> std::string"""
13635  return _IMP_atom.HelixRestraint___str__(self)
13636 
13637  def __repr__(self):
13638  r"""__repr__(HelixRestraint self) -> std::string"""
13639  return _IMP_atom.HelixRestraint___repr__(self)
13640 
13641  @staticmethod
13642  def get_from(o):
13643  return _object_cast_to_HelixRestraint(o)
13644 
13645 
13646 # Register HelixRestraint in _IMP_atom:
13647 _IMP_atom.HelixRestraint_swigregister(HelixRestraint)
13648 
13650  r"""get_transformation_aligning_first_to_second(Selection s1, Selection s2) -> Transformation3D"""
13651  return _IMP_atom.get_transformation_aligning_first_to_second(s1, s2)
13652 
13653 def show_molecular_hierarchy(*args):
13654  r"""show_molecular_hierarchy(Hierarchy h, _ostream out=std::cout) -> _ostream"""
13655  return _IMP_atom.show_molecular_hierarchy(*args)
13656 class CHARMMBond(object):
13657  r"""Proxy of C++ IMP::atom::CHARMMConnection< 2 > class."""
13658 
13659  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13660  __repr__ = _swig_repr
13661 
13662  def __init__(self, atoms):
13663  r"""__init__(CHARMMBond self, IMP::Strings const & atoms) -> CHARMMBond"""
13664  _IMP_atom.CHARMMBond_swiginit(self, _IMP_atom.new_CHARMMBond(atoms))
13665 
13666  def get_endpoint(self, i):
13667  r"""get_endpoint(CHARMMBond self, unsigned int i) -> CHARMMBondEndpoint"""
13668  return _IMP_atom.CHARMMBond_get_endpoint(self, i)
13669 
13670  def get_contains_atom(self, name):
13671  r"""get_contains_atom(CHARMMBond self, std::string name) -> bool"""
13672  return _IMP_atom.CHARMMBond_get_contains_atom(self, name)
13673 
13674  def show(self, *args):
13675  r"""show(CHARMMBond self, _ostream out=std::cout)"""
13676  return _IMP_atom.CHARMMBond_show(self, *args)
13677  __swig_destroy__ = _IMP_atom.delete_CHARMMBond
13678 
13679 # Register CHARMMBond in _IMP_atom:
13680 _IMP_atom.CHARMMBond_swigregister(CHARMMBond)
13681 class CHARMMAngle(object):
13682  r"""Proxy of C++ IMP::atom::CHARMMConnection< 3 > class."""
13683 
13684  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13685  __repr__ = _swig_repr
13686 
13687  def __init__(self, atoms):
13688  r"""__init__(CHARMMAngle self, IMP::Strings const & atoms) -> CHARMMAngle"""
13689  _IMP_atom.CHARMMAngle_swiginit(self, _IMP_atom.new_CHARMMAngle(atoms))
13690 
13691  def get_endpoint(self, i):
13692  r"""get_endpoint(CHARMMAngle self, unsigned int i) -> CHARMMBondEndpoint"""
13693  return _IMP_atom.CHARMMAngle_get_endpoint(self, i)
13694 
13695  def get_contains_atom(self, name):
13696  r"""get_contains_atom(CHARMMAngle self, std::string name) -> bool"""
13697  return _IMP_atom.CHARMMAngle_get_contains_atom(self, name)
13698 
13699  def show(self, *args):
13700  r"""show(CHARMMAngle self, _ostream out=std::cout)"""
13701  return _IMP_atom.CHARMMAngle_show(self, *args)
13702  __swig_destroy__ = _IMP_atom.delete_CHARMMAngle
13703 
13704 # Register CHARMMAngle in _IMP_atom:
13705 _IMP_atom.CHARMMAngle_swigregister(CHARMMAngle)
13706 
13707 def _get_native_overlap_cpp(m1, m2, threshold):
13708  r"""_get_native_overlap_cpp(IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m1, IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m2, double threshold) -> double"""
13709  return _IMP_atom._get_native_overlap_cpp(m1, m2, threshold)
13710 
13711 def _get_drmsd_cpp(m0, m1):
13712  r"""_get_drmsd_cpp(IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m0, IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m1) -> double"""
13713  return _IMP_atom._get_drmsd_cpp(m0, m1)
13714 
13715 def _get_drmsd_Q_cpp(m0, m1, threshold):
13716  r"""_get_drmsd_Q_cpp(IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m0, IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m1, double threshold) -> double"""
13717  return _IMP_atom._get_drmsd_Q_cpp(m0, m1, threshold)
13718 
13719 def _get_drms_cpp(m1, m2):
13720  r"""_get_drms_cpp(IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m1, IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m2) -> double"""
13721  return _IMP_atom._get_drms_cpp(m1, m2)
13722 
13723 def _get_rigid_bodies_drms_cpp(m1, m2, ranges):
13724  r"""_get_rigid_bodies_drms_cpp(IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m1, IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m2, IMP::IntRanges const & ranges) -> double"""
13725  return _IMP_atom._get_rigid_bodies_drms_cpp(m1, m2, ranges)
13726 
13727 def get_native_overlap(a, b, d):
13728  va= [IMP.algebra.get_vector(x) for x in a]
13729  vb= [IMP.algebra.get_vector(x) for x in b]
13730  return _get_native_overlap_cpp(va, vb, d)
13731 
13732 def get_drmsd(a, b):
13733  va= [IMP.algebra.get_vector(x) for x in a]
13734  vb= [IMP.algebra.get_vector(x) for x in b]
13735  return _get_drmsd_cpp(va, vb)
13736 
13737 def get_drms(a, b):
13738  va= [IMP.algebra.get_vector(x) for x in a]
13739  vb= [IMP.algebra.get_vector(x) for x in b]
13740  return _get_drms_cpp(va, vb)
13741 
13742 def get_drmsd_Q(a, b, t):
13743  va= [IMP.algebra.get_vector(x) for x in a]
13744  vb= [IMP.algebra.get_vector(x) for x in b]
13745  return _get_drmsd_Q_cpp(va, vb, t)
13746 
13747 def get_rigid_bodies_drms(a, b, ranges):
13748  va= [IMP.algebra.get_vector(x) for x in a]
13749  vb= [IMP.algebra.get_vector(x) for x in b]
13750 #rs = [IMP.IntRange(r[0],r[1]) for r in ranges]
13751  return _get_rigid_bodies_drms_cpp(va, vb, ranges)
13752 
13753 
13754 class _LennardJonesTypedPairScore(IMP.PairScore):
13755  r"""Proxy of C++ IMP::atom::LennardJonesTypedPairScore< IMP::atom::SmoothingFunction > class."""
13756 
13757  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13758  __repr__ = _swig_repr
13759 
13760  def __init__(self, f):
13761  r"""__init__(_LennardJonesTypedPairScore self, SmoothingFunction f) -> _LennardJonesTypedPairScore"""
13762  _IMP_atom._LennardJonesTypedPairScore_swiginit(self, _IMP_atom.new__LennardJonesTypedPairScore(f))
13763 
13764  def set_repulsive_weight(self, repulsive_weight):
13765  r"""set_repulsive_weight(_LennardJonesTypedPairScore self, double repulsive_weight)"""
13766  return _IMP_atom._LennardJonesTypedPairScore_set_repulsive_weight(self, repulsive_weight)
13767 
13768  def get_repulsive_weight(self):
13769  r"""get_repulsive_weight(_LennardJonesTypedPairScore self) -> double"""
13770  return _IMP_atom._LennardJonesTypedPairScore_get_repulsive_weight(self)
13771 
13772  def set_attractive_weight(self, attractive_weight):
13773  r"""set_attractive_weight(_LennardJonesTypedPairScore self, double attractive_weight)"""
13774  return _IMP_atom._LennardJonesTypedPairScore_set_attractive_weight(self, attractive_weight)
13775 
13776  def get_attractive_weight(self):
13777  r"""get_attractive_weight(_LennardJonesTypedPairScore self) -> double"""
13778  return _IMP_atom._LennardJonesTypedPairScore_get_attractive_weight(self)
13779 
13780  def get_repulsive_type_factors(self):
13781  r"""get_repulsive_type_factors(_LennardJonesTypedPairScore self) -> IMP::Floats"""
13782  return _IMP_atom._LennardJonesTypedPairScore_get_repulsive_type_factors(self)
13783 
13784  def get_attractive_type_factors(self):
13785  r"""get_attractive_type_factors(_LennardJonesTypedPairScore self) -> IMP::Floats"""
13786  return _IMP_atom._LennardJonesTypedPairScore_get_attractive_type_factors(self)
13787 
13788  def get_smoothing_function(self):
13789  r"""get_smoothing_function(_LennardJonesTypedPairScore self) -> SmoothingFunction"""
13790  return _IMP_atom._LennardJonesTypedPairScore_get_smoothing_function(self)
13791 
13792  def do_get_inputs(self, m, pis):
13793  r"""do_get_inputs(_LennardJonesTypedPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13794  return _IMP_atom._LennardJonesTypedPairScore_do_get_inputs(self, m, pis)
13795 
13796  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
13797  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"""
13798  return _IMP_atom._LennardJonesTypedPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
13799 
13800  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
13801  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"""
13802  return _IMP_atom._LennardJonesTypedPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
13803 
13804  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
13805  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"""
13806  return _IMP_atom._LennardJonesTypedPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
13807 
13808  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
13809  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"""
13810  return _IMP_atom._LennardJonesTypedPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
13811 
13812  def get_version_info(self):
13813  r"""get_version_info(_LennardJonesTypedPairScore self) -> VersionInfo"""
13814  return _IMP_atom._LennardJonesTypedPairScore_get_version_info(self)
13815  __swig_destroy__ = _IMP_atom.delete__LennardJonesTypedPairScore
13816 
13817  @staticmethod
13818  def get_from(o):
13819  return _object_cast_to__LennardJonesTypedPairScore(o)
13820 
13821 
13822  def _get_jax(self, m, indexes, space):
13823  import IMP.atom._jax_util
13824  score = IMP.atom._jax_util._get_lennard_jones_score(
13825  self, indexes, space)
13826  return self._wrap_jax(m, score, keys=[LennardJonesTyped.get_type_key()])
13827 
13828 
13829 # Register _LennardJonesTypedPairScore in _IMP_atom:
13830 _IMP_atom._LennardJonesTypedPairScore_swigregister(_LennardJonesTypedPairScore)
13831 class _SwitchedLennardJonesTypedPairScore(IMP.PairScore):
13832  r"""Proxy of C++ IMP::atom::LennardJonesTypedPairScore< IMP::atom::ForceSwitch > class."""
13833 
13834  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13835  __repr__ = _swig_repr
13836 
13837  def __init__(self, f):
13838  r"""__init__(_SwitchedLennardJonesTypedPairScore self, ForceSwitch f) -> _SwitchedLennardJonesTypedPairScore"""
13839  _IMP_atom._SwitchedLennardJonesTypedPairScore_swiginit(self, _IMP_atom.new__SwitchedLennardJonesTypedPairScore(f))
13840 
13841  def set_repulsive_weight(self, repulsive_weight):
13842  r"""set_repulsive_weight(_SwitchedLennardJonesTypedPairScore self, double repulsive_weight)"""
13843  return _IMP_atom._SwitchedLennardJonesTypedPairScore_set_repulsive_weight(self, repulsive_weight)
13844 
13845  def get_repulsive_weight(self):
13846  r"""get_repulsive_weight(_SwitchedLennardJonesTypedPairScore self) -> double"""
13847  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_repulsive_weight(self)
13848 
13849  def set_attractive_weight(self, attractive_weight):
13850  r"""set_attractive_weight(_SwitchedLennardJonesTypedPairScore self, double attractive_weight)"""
13851  return _IMP_atom._SwitchedLennardJonesTypedPairScore_set_attractive_weight(self, attractive_weight)
13852 
13853  def get_attractive_weight(self):
13854  r"""get_attractive_weight(_SwitchedLennardJonesTypedPairScore self) -> double"""
13855  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_attractive_weight(self)
13856 
13857  def get_repulsive_type_factors(self):
13858  r"""get_repulsive_type_factors(_SwitchedLennardJonesTypedPairScore self) -> IMP::Floats"""
13859  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_repulsive_type_factors(self)
13860 
13861  def get_attractive_type_factors(self):
13862  r"""get_attractive_type_factors(_SwitchedLennardJonesTypedPairScore self) -> IMP::Floats"""
13863  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_attractive_type_factors(self)
13864 
13865  def get_smoothing_function(self):
13866  r"""get_smoothing_function(_SwitchedLennardJonesTypedPairScore self) -> ForceSwitch"""
13867  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_smoothing_function(self)
13868 
13869  def do_get_inputs(self, m, pis):
13870  r"""do_get_inputs(_SwitchedLennardJonesTypedPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13871  return _IMP_atom._SwitchedLennardJonesTypedPairScore_do_get_inputs(self, m, pis)
13872 
13873  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
13874  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"""
13875  return _IMP_atom._SwitchedLennardJonesTypedPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
13876 
13877  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
13878  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"""
13879  return _IMP_atom._SwitchedLennardJonesTypedPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
13880 
13881  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
13882  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"""
13883  return _IMP_atom._SwitchedLennardJonesTypedPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
13884 
13885  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
13886  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"""
13887  return _IMP_atom._SwitchedLennardJonesTypedPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
13888 
13889  def get_version_info(self):
13890  r"""get_version_info(_SwitchedLennardJonesTypedPairScore self) -> VersionInfo"""
13891  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_version_info(self)
13892  __swig_destroy__ = _IMP_atom.delete__SwitchedLennardJonesTypedPairScore
13893 
13894  @staticmethod
13895  def get_from(o):
13896  return _object_cast_to__SwitchedLennardJonesTypedPairScore(o)
13897 
13898 
13899  def _get_jax(self, m, indexes, space):
13900  import IMP.atom._jax_util
13901  score = IMP.atom._jax_util._get_lennard_jones_score(
13902  self, indexes, space)
13903  return self._wrap_jax(m, score, keys=[LennardJonesTyped.get_type_key()])
13904 
13905 
13906 # Register _SwitchedLennardJonesTypedPairScore in _IMP_atom:
13907 _IMP_atom._SwitchedLennardJonesTypedPairScore_swigregister(_SwitchedLennardJonesTypedPairScore)
13908 
13909 class LennardJonesTypedPairScore(_SwitchedLennardJonesTypedPairScore.__bases__[0]):
13910  def __init__(self, f):
13911  if isinstance(f, ForceSwitch):
13912  p = _SwitchedLennardJonesTypedPairScore(f)
13913  else:
13914  p = _LennardJonesTypedPairScore(f)
13915  self.__dict__['_proxied'] = p
13916  def __getattr__(self, key):
13917  return getattr(self._proxied, key)
13918  def __setattr__(self, key, val):
13919  return setattr(self._proxied, key, val)
13920 
13921  def _get_jax(self, *args, **kwargs):
13922  return self._proxied._get_jax(*args, **kwargs)
13923 
13924  @staticmethod
13925  def get_from(o):
13926  try:
13927  p = _SwitchedLennardJonesTypedPairScore.get_from(o)
13928  except ValueError:
13929  p = _LennardJonesTypedPairScore.get_from(o)
13930  obj = object.__new__(LennardJonesTypedPairScore)
13931  obj.__dict__['_proxied'] = p
13932  return obj
13933 
13934 
13935 def get_module_name():
13936  r"""get_module_name() -> std::string const"""
13937  return _IMP_atom.get_module_name()
13938 
13939 def get_module_version():
13940  r"""get_module_version() -> std::string const"""
13941  return _IMP_atom.get_module_version()
13942 
13943 def get_example_path(fname):
13944  r"""get_example_path(std::string fname) -> std::string"""
13945  return _IMP_atom.get_example_path(fname)
13946 
13947 def get_data_path(fname):
13948  r"""get_data_path(std::string fname) -> std::string"""
13949  return _IMP_atom.get_data_path(fname)
13950 
13951 from . import _version_check
13952 _version_check.check_version(get_module_version())
13953 __version__ = get_module_version()
13954 
13955 
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.
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:301
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.
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.
Hierarchy create_simplified_along_backbone(Hierarchy input, int num_res, bool keep_detailed=false, Model *m=nullptr)
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:188
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.
ParticleIndexPairs get_indexes(const ParticlePairsTemp &ps)
Get the indexes from a list of particle pairs.
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)
double get_radius_of_gyration(const Vector3Ds &ps)
Return the radius of gyration of a set of points.
Definition: Vector3D.h:76
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.
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())
Provenance create_clone(Provenance p, Model *m=nullptr)
Clone provenance (including previous provenance)
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:36
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