IMP logo
IMP Reference Guide  develop.08ecd6469d,2026/04/02
The Integrative Modeling Platform
atom/__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.3.1
3 #
4 # Do not make changes to this file unless you know what you are doing - modify
5 # the SWIG interface file instead.
6 
7 
8 # This wrapper is part of IMP,
9 # Copyright 2007-2026 IMP Inventors. All rights reserved.
10 
11 
12 
13 import functools
14 
15 
16 
17 from sys import version_info as _swig_python_version_info
18 import _IMP_atom
19 
20 try:
21  import builtins as __builtin__
22 except ImportError:
23  import __builtin__
24 
25 def _swig_repr(self):
26  try:
27  strthis = "proxy of " + self.this.__repr__()
28  except __builtin__.Exception:
29  strthis = ""
30  return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
31 
32 
33 def _swig_setattr_nondynamic_instance_variable(set):
34  def set_instance_attr(self, name, value):
35  if name == "this":
36  set(self, name, value)
37  elif name == "thisown":
38  self.this.own(value)
39  elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
40  set(self, name, value)
41  else:
42  raise AttributeError("You cannot add instance attributes to %s" % self)
43  return set_instance_attr
44 
45 
46 def _swig_setattr_nondynamic_class_variable(set):
47  def set_class_attr(cls, name, value):
48  if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
49  set(cls, name, value)
50  else:
51  raise AttributeError("You cannot add class attributes to %s" % cls)
52  return set_class_attr
53 
54 
55 def _swig_add_metaclass(metaclass):
56  """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
57  def wrapper(cls):
58  return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
59  return wrapper
60 
61 
62 class _SwigNonDynamicMeta(type):
63  """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
64  __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
65 
66 
67 import weakref
68 
69 class IMP_ATOM_SwigPyIterator(object):
70  r"""Proxy of C++ swig::IMP_ATOM_SwigPyIterator class."""
71 
72  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
73 
74  def __init__(self, *args, **kwargs):
75  raise AttributeError("No constructor defined - class is abstract")
76  __repr__ = _swig_repr
77  __swig_destroy__ = _IMP_atom.delete_IMP_ATOM_SwigPyIterator
78 
79  def value(self):
80  r"""value(IMP_ATOM_SwigPyIterator self) -> PyObject *"""
81  return _IMP_atom.IMP_ATOM_SwigPyIterator_value(self)
82 
83  def incr(self, n=1):
84  r"""incr(IMP_ATOM_SwigPyIterator self, size_t n=1) -> IMP_ATOM_SwigPyIterator"""
85  return _IMP_atom.IMP_ATOM_SwigPyIterator_incr(self, n)
86 
87  def decr(self, n=1):
88  r"""decr(IMP_ATOM_SwigPyIterator self, size_t n=1) -> IMP_ATOM_SwigPyIterator"""
89  return _IMP_atom.IMP_ATOM_SwigPyIterator_decr(self, n)
90 
91  def distance(self, x):
92  r"""distance(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> ptrdiff_t"""
93  return _IMP_atom.IMP_ATOM_SwigPyIterator_distance(self, x)
94 
95  def equal(self, x):
96  r"""equal(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> bool"""
97  return _IMP_atom.IMP_ATOM_SwigPyIterator_equal(self, x)
98 
99  def copy(self):
100  r"""copy(IMP_ATOM_SwigPyIterator self) -> IMP_ATOM_SwigPyIterator"""
101  return _IMP_atom.IMP_ATOM_SwigPyIterator_copy(self)
102 
103  def next(self):
104  r"""next(IMP_ATOM_SwigPyIterator self) -> PyObject *"""
105  return _IMP_atom.IMP_ATOM_SwigPyIterator_next(self)
106 
107  def __next__(self):
108  r"""__next__(IMP_ATOM_SwigPyIterator self) -> PyObject *"""
109  return _IMP_atom.IMP_ATOM_SwigPyIterator___next__(self)
110 
111  def previous(self):
112  r"""previous(IMP_ATOM_SwigPyIterator self) -> PyObject *"""
113  return _IMP_atom.IMP_ATOM_SwigPyIterator_previous(self)
114 
115  def advance(self, n):
116  r"""advance(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator"""
117  return _IMP_atom.IMP_ATOM_SwigPyIterator_advance(self, n)
118 
119  def __eq__(self, x):
120  r"""__eq__(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> bool"""
121  return _IMP_atom.IMP_ATOM_SwigPyIterator___eq__(self, x)
122 
123  def __ne__(self, x):
124  r"""__ne__(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> bool"""
125  return _IMP_atom.IMP_ATOM_SwigPyIterator___ne__(self, x)
126 
127  def __iadd__(self, n):
128  r"""__iadd__(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator"""
129  return _IMP_atom.IMP_ATOM_SwigPyIterator___iadd__(self, n)
130 
131  def __isub__(self, n):
132  r"""__isub__(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator"""
133  return _IMP_atom.IMP_ATOM_SwigPyIterator___isub__(self, n)
134 
135  def __add__(self, n):
136  r"""__add__(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator"""
137  return _IMP_atom.IMP_ATOM_SwigPyIterator___add__(self, n)
138 
139  def __sub__(self, *args):
140  r"""
141  __sub__(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator
142  __sub__(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> ptrdiff_t
143  """
144  return _IMP_atom.IMP_ATOM_SwigPyIterator___sub__(self, *args)
145  def __iter__(self):
146  return self
147 
148 # Register IMP_ATOM_SwigPyIterator in _IMP_atom:
149 _IMP_atom.IMP_ATOM_SwigPyIterator_swigregister(IMP_ATOM_SwigPyIterator)
150 
151 _value_types=[]
152 _object_types=[]
153 _raii_types=[]
154 _plural_types=[]
155 
156 IMP_DEBUG = _IMP_atom.IMP_DEBUG
157 
158 IMP_RELEASE = _IMP_atom.IMP_RELEASE
159 
160 IMP_SILENT = _IMP_atom.IMP_SILENT
161 
162 IMP_PROGRESS = _IMP_atom.IMP_PROGRESS
163 
164 IMP_TERSE = _IMP_atom.IMP_TERSE
165 
166 IMP_VERBOSE = _IMP_atom.IMP_VERBOSE
167 
168 IMP_MEMORY = _IMP_atom.IMP_MEMORY
169 
170 IMP_NONE = _IMP_atom.IMP_NONE
171 
172 IMP_USAGE = _IMP_atom.IMP_USAGE
173 
174 IMP_INTERNAL = _IMP_atom.IMP_INTERNAL
175 
176 IMP_KERNEL_HAS_LOG4CXX = _IMP_atom.IMP_KERNEL_HAS_LOG4CXX
177 
178 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_atom.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
179 
180 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_atom.IMP_COMPILER_HAS_DEBUG_VECTOR
181 
182 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_atom.IMP_COMPILER_HAS_RANDOM_SHUFFLE
183 
184 IMP_COMPILER_HAS_THREE_WAY = _IMP_atom.IMP_COMPILER_HAS_THREE_WAY
185 
186 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_atom.IMP_KERNEL_HAS_BOOST_RANDOM
187 
188 IMP_KERNEL_HAS_NUMPY = _IMP_atom.IMP_KERNEL_HAS_NUMPY
189 
190 IMP_KERNEL_HAS_BOOST_SYSTEM = _IMP_atom.IMP_KERNEL_HAS_BOOST_SYSTEM
191 
192 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_atom.IMP_KERNEL_HAS_GPERFTOOLS
193 
194 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_atom.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
195 
196 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_atom.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
197 
198 IMPKERNEL_SHOW_WARNINGS = _IMP_atom.IMPKERNEL_SHOW_WARNINGS
199 
200 
201 import sys
202 class _DirectorObjects:
203  """@internal Simple class to keep references to director objects
204  to prevent premature deletion."""
205  def __init__(self):
206  self._objects = []
207  def register(self, obj):
208  """Take a reference to a director object; will only work for
209  refcounted C++ classes"""
210  if hasattr(obj, 'get_ref_count'):
211  self._objects.append(obj)
212  def cleanup(self):
213  """Only drop our reference and allow cleanup by Python if no other
214  Python references exist (we hold 3 references: one in self._objects,
215  one in x, and one in the argument list for getrefcount) *and* no
216  other C++ references exist (the Python object always holds one)"""
217  objs = [x for x in self._objects if sys.getrefcount(x) > 3 \
218  or x.get_ref_count() > 1]
219 # Do in two steps so the references are kept until the end of the
220 # function (deleting references may trigger a fresh call to this method)
221  self._objects = objs
222  def get_object_count(self):
223  """Get number of director objects (useful for testing only)"""
224  return len(self._objects)
225 _director_objects = _DirectorObjects()
226 
227 class _ostream(object):
228  r"""Proxy of C++ std::ostream class."""
229 
230  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
231 
232  def __init__(self, *args, **kwargs):
233  raise AttributeError("No constructor defined")
234  __repr__ = _swig_repr
235 
236  def write(self, osa_buf):
237  r"""write(_ostream self, char const * osa_buf)"""
238  return _IMP_atom._ostream_write(self, osa_buf)
239 
240 # Register _ostream in _IMP_atom:
241 _IMP_atom._ostream_swigregister(_ostream)
242 IMP_C_OPEN_BINARY = _IMP_atom.IMP_C_OPEN_BINARY
243 
244 import IMP
245 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_CGAL_HAS_BOOST_FILESYSTEM
246 
247 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
248 
249 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_atom.IMP_CGAL_HAS_BOOST_RANDOM
250 
251 IMP_CGAL_HAS_NUMPY = _IMP_atom.IMP_CGAL_HAS_NUMPY
252 
253 IMPCGAL_SHOW_WARNINGS = _IMP_atom.IMPCGAL_SHOW_WARNINGS
254 
255 import IMP.cgal
256 IMP_ALGEBRA_HAS_IMP_CGAL = _IMP_atom.IMP_ALGEBRA_HAS_IMP_CGAL
257 
258 IMP_ALGEBRA_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_ALGEBRA_HAS_BOOST_FILESYSTEM
259 
260 IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS
261 
262 IMP_ALGEBRA_HAS_BOOST_RANDOM = _IMP_atom.IMP_ALGEBRA_HAS_BOOST_RANDOM
263 
264 IMP_ALGEBRA_HAS_CGAL = _IMP_atom.IMP_ALGEBRA_HAS_CGAL
265 
266 IMP_ALGEBRA_HAS_NUMPY = _IMP_atom.IMP_ALGEBRA_HAS_NUMPY
267 
268 IMP_ALGEBRA_HAS_ANN = _IMP_atom.IMP_ALGEBRA_HAS_ANN
269 
270 IMPALGEBRA_SHOW_WARNINGS = _IMP_atom.IMPALGEBRA_SHOW_WARNINGS
271 
272 import IMP.algebra
273 IMP_DISPLAY_HAS_IMP_CGAL = _IMP_atom.IMP_DISPLAY_HAS_IMP_CGAL
274 
275 IMP_DISPLAY_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_DISPLAY_HAS_BOOST_FILESYSTEM
276 
277 IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_DISPLAY_HAS_BOOST_PROGRAMOPTIONS
278 
279 IMP_DISPLAY_HAS_BOOST_RANDOM = _IMP_atom.IMP_DISPLAY_HAS_BOOST_RANDOM
280 
281 IMP_DISPLAY_HAS_CGAL = _IMP_atom.IMP_DISPLAY_HAS_CGAL
282 
283 IMP_DISPLAY_HAS_NUMPY = _IMP_atom.IMP_DISPLAY_HAS_NUMPY
284 
285 IMPDISPLAY_SHOW_WARNINGS = _IMP_atom.IMPDISPLAY_SHOW_WARNINGS
286 
287 import IMP.display
288 IMP_SCORE_FUNCTOR_HAS_IMP_CGAL = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_IMP_CGAL
289 
290 IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM
291 
292 IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS
293 
294 IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM
295 
296 IMP_SCORE_FUNCTOR_HAS_CGAL = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_CGAL
297 
298 IMP_SCORE_FUNCTOR_HAS_HDF5 = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_HDF5
299 
300 IMP_SCORE_FUNCTOR_HAS_NUMPY = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_NUMPY
301 
302 IMPSCOREFUNCTOR_SHOW_WARNINGS = _IMP_atom.IMPSCOREFUNCTOR_SHOW_WARNINGS
303 
304 import IMP.score_functor
305 IMP_CORE_HAS_IMP_CGAL = _IMP_atom.IMP_CORE_HAS_IMP_CGAL
306 
307 IMP_CORE_HAS_IMP_KERNEL = _IMP_atom.IMP_CORE_HAS_IMP_KERNEL
308 
309 IMP_CORE_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_CORE_HAS_BOOST_FILESYSTEM
310 
311 IMP_CORE_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_CORE_HAS_BOOST_PROGRAMOPTIONS
312 
313 IMP_CORE_HAS_BOOST_RANDOM = _IMP_atom.IMP_CORE_HAS_BOOST_RANDOM
314 
315 IMP_CORE_HAS_CGAL = _IMP_atom.IMP_CORE_HAS_CGAL
316 
317 IMP_CORE_HAS_HDF5 = _IMP_atom.IMP_CORE_HAS_HDF5
318 
319 IMP_CORE_HAS_NUMPY = _IMP_atom.IMP_CORE_HAS_NUMPY
320 
321 IMPCORE_SHOW_WARNINGS = _IMP_atom.IMPCORE_SHOW_WARNINGS
322 
323 import IMP.core
324 IMP_CONTAINER_HAS_IMP_ALGEBRA = _IMP_atom.IMP_CONTAINER_HAS_IMP_ALGEBRA
325 
326 IMP_CONTAINER_HAS_IMP_CGAL = _IMP_atom.IMP_CONTAINER_HAS_IMP_CGAL
327 
328 IMP_CONTAINER_HAS_IMP_DISPLAY = _IMP_atom.IMP_CONTAINER_HAS_IMP_DISPLAY
329 
330 IMP_CONTAINER_HAS_IMP_KERNEL = _IMP_atom.IMP_CONTAINER_HAS_IMP_KERNEL
331 
332 IMP_CONTAINER_HAS_IMP_SCORE_FUNCTOR = _IMP_atom.IMP_CONTAINER_HAS_IMP_SCORE_FUNCTOR
333 
334 IMP_CONTAINER_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_CONTAINER_HAS_BOOST_FILESYSTEM
335 
336 IMP_CONTAINER_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_CONTAINER_HAS_BOOST_PROGRAMOPTIONS
337 
338 IMP_CONTAINER_HAS_BOOST_RANDOM = _IMP_atom.IMP_CONTAINER_HAS_BOOST_RANDOM
339 
340 IMP_CONTAINER_HAS_CGAL = _IMP_atom.IMP_CONTAINER_HAS_CGAL
341 
342 IMP_CONTAINER_HAS_HDF5 = _IMP_atom.IMP_CONTAINER_HAS_HDF5
343 
344 IMP_CONTAINER_HAS_NUMPY = _IMP_atom.IMP_CONTAINER_HAS_NUMPY
345 
346 IMP_CONTAINER_HAS_PYTHON_IHM = _IMP_atom.IMP_CONTAINER_HAS_PYTHON_IHM
347 
348 IMP_CONTAINER_HAS_GOOGLE_DENSE_HASH_MAP = _IMP_atom.IMP_CONTAINER_HAS_GOOGLE_DENSE_HASH_MAP
349 
350 IMP_CONTAINER_HAS_ROBIN_MAP = _IMP_atom.IMP_CONTAINER_HAS_ROBIN_MAP
351 
352 IMPCONTAINER_SHOW_WARNINGS = _IMP_atom.IMPCONTAINER_SHOW_WARNINGS
353 
354 import IMP.container
355 IMP_ATOM_HAS_IMP_CGAL = _IMP_atom.IMP_ATOM_HAS_IMP_CGAL
356 
357 IMP_ATOM_HAS_IMP_KERNEL = _IMP_atom.IMP_ATOM_HAS_IMP_KERNEL
358 
359 IMP_ATOM_HAS_IMP_SCORE_FUNCTOR = _IMP_atom.IMP_ATOM_HAS_IMP_SCORE_FUNCTOR
360 
361 IMP_ATOM_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_ATOM_HAS_BOOST_PROGRAMOPTIONS
362 
363 IMP_ATOM_HAS_BOOST_RANDOM = _IMP_atom.IMP_ATOM_HAS_BOOST_RANDOM
364 
365 IMP_ATOM_HAS_BOOST_REGEX = _IMP_atom.IMP_ATOM_HAS_BOOST_REGEX
366 
367 IMP_ATOM_HAS_CGAL = _IMP_atom.IMP_ATOM_HAS_CGAL
368 
369 IMP_ATOM_HAS_HDF5 = _IMP_atom.IMP_ATOM_HAS_HDF5
370 
371 IMP_ATOM_HAS_NUMPY = _IMP_atom.IMP_ATOM_HAS_NUMPY
372 
373 IMP_ATOM_HAS_PYTHON_IHM = _IMP_atom.IMP_ATOM_HAS_PYTHON_IHM
374 
375 IMPATOM_SHOW_WARNINGS = _IMP_atom.IMPATOM_SHOW_WARNINGS
376 
377 IMP_ATOM_TYPE_INDEX = _IMP_atom.IMP_ATOM_TYPE_INDEX
378 
379 IMP_RESIDUE_TYPE_INDEX = _IMP_atom.IMP_RESIDUE_TYPE_INDEX
380 
381 IMP_HIERARCHY_TYPE_INDEX = _IMP_atom.IMP_HIERARCHY_TYPE_INDEX
382 
383 IMP_CHAIN_TYPE_INDEX = _IMP_atom.IMP_CHAIN_TYPE_INDEX
384 
386  r"""Proxy of C++ IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex > class."""
387 
388  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
389  __repr__ = _swig_repr
390 
391  def __init__(self):
392  r"""__init__(HierarchyTree self) -> HierarchyTree"""
393  _IMP_atom.HierarchyTree_swiginit(self, _IMP_atom.new_HierarchyTree())
394 
395  def get_graph(self):
396  r"""get_graph(HierarchyTree self) -> IMP::atom::HierarchyTree const &"""
397  return _IMP_atom.HierarchyTree_get_graph(self)
398 
399  def get_vertices(self):
400  r"""get_vertices(HierarchyTree self) -> IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptors"""
401  return _IMP_atom.HierarchyTree_get_vertices(self)
402 
403  def get_vertex_name(self, i):
404  r"""get_vertex_name(HierarchyTree self, IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptor i) -> Hierarchy"""
405  return _IMP_atom.HierarchyTree_get_vertex_name(self, i)
406 
407  def get_in_neighbors(self, v):
408  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"""
409  return _IMP_atom.HierarchyTree_get_in_neighbors(self, v)
410 
411  def get_out_neighbors(self, v):
412  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"""
413  return _IMP_atom.HierarchyTree_get_out_neighbors(self, v)
414 
415  def show_graphviz(self, *args):
416  r"""show_graphviz(HierarchyTree self, _ostream out=std::cout)"""
417  return _IMP_atom.HierarchyTree_show_graphviz(self, *args)
418 
419  def get_graphviz_string(self):
420  r"""get_graphviz_string(HierarchyTree self) -> std::string"""
421  return _IMP_atom.HierarchyTree_get_graphviz_string(self)
422 
423  def add_edge(self, v0, v1):
424  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)"""
425  return _IMP_atom.HierarchyTree_add_edge(self, v0, v1)
426 
427  def add_vertex(self, l):
428  r"""add_vertex(HierarchyTree self, Hierarchy l) -> IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptor"""
429  return _IMP_atom.HierarchyTree_add_vertex(self, l)
430 
431  def remove_vertex(self, l):
432  r"""remove_vertex(HierarchyTree self, IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptor l)"""
433  return _IMP_atom.HierarchyTree_remove_vertex(self, l)
434  __swig_destroy__ = _IMP_atom.delete_HierarchyTree
435 
436 # Register HierarchyTree in _IMP_atom:
437 _IMP_atom.HierarchyTree_swigregister(HierarchyTree)
438 
439 _value_types.append("HierarchyTree")
440 
441 
442 PDBRecords=list
443 _plural_types.append("PDBRecords")
444 _value_types.append("PDBRecord")
445 
446 
447 _object_types.append("LennardJonesType")
448 
449 
450 def _object_cast_to_LennardJonesType(o):
451  r"""_object_cast_to_LennardJonesType(Object o) -> LennardJonesType"""
452  return _IMP_atom._object_cast_to_LennardJonesType(o)
453 
454 _object_types.append("PDBSelector")
455 
456 
457 def _object_cast_to_PDBSelector(o):
458  r"""_object_cast_to_PDBSelector(Object o) -> PDBSelector"""
459  return _IMP_atom._object_cast_to_PDBSelector(o)
460 
461 def Angles(l=[]):
462  return [Angle(x) for x in l]
463 _plural_types.append("Angles")
464 
465 
466 _value_types.append("Angle")
467 
468 
469 def Atoms(l=[]):
470  return [Atom(x) for x in l]
471 _plural_types.append("Atoms")
472 
473 
474 _value_types.append("Atom")
475 
476 
477 def Bonds(l=[]):
478  return [Bond(x) for x in l]
479 _plural_types.append("Bonds")
480 
481 
482 _value_types.append("Bond")
483 
484 
485 def Bondeds(l=[]):
486  return [Bonded(x) for x in l]
487 _plural_types.append("Bondeds")
488 
489 
490 _value_types.append("Bonded")
491 
492 
493 def CHARMMAtomList(l=[]):
494  return [CHARMMAtom(x) for x in l]
495 _plural_types.append("CHARMMAtomList")
496 
497 
498 _value_types.append("CHARMMAtom")
499 
500 
501 def Chains(l=[]):
502  return [Chain(x) for x in l]
503 _plural_types.append("Chains")
504 
505 
506 _value_types.append("Chain")
507 
508 
509 def CenterOfMasses(l=[]):
510  return [CenterOfMass(x) for x in l]
511 _plural_types.append("CenterOfMasses")
512 
513 
514 _value_types.append("CenterOfMass")
515 
516 
517 def Chargeds(l=[]):
518  return [Charged(x) for x in l]
519 _plural_types.append("Chargeds")
520 
521 
522 _value_types.append("Charged")
523 
524 
525 def Diffusions(l=[]):
526  return [Diffusion(x) for x in l]
527 _plural_types.append("Diffusions")
528 
529 
530 _value_types.append("Diffusion")
531 
532 
533 def RigidBodyDiffusions(l=[]):
534  return [RigidBodyDiffusion(x) for x in l]
535 _plural_types.append("RigidBodyDiffusions")
536 
537 
538 _value_types.append("RigidBodyDiffusion")
539 
540 
541 def TAMDParticles(l=[]):
542  return [TAMDParticle(x) for x in l]
543 _plural_types.append("TAMDParticles")
544 
545 
546 _value_types.append("TAMDParticle")
547 
548 
549 def TAMDCentroids(l=[]):
550  return [TAMDCentroid(x) for x in l]
551 _plural_types.append("TAMDCentroids")
552 
553 
554 _value_types.append("TAMDCentroid")
555 
556 
557 def Dihedrals(l=[]):
558  return [Dihedral(x) for x in l]
559 _plural_types.append("Dihedrals")
560 
561 
562 _value_types.append("Dihedral")
563 
564 
565 def Domains(l=[]):
566  return [Domain(x) for x in l]
567 _plural_types.append("Domains")
568 
569 
570 _value_types.append("Domain")
571 
572 
573 def Fragments(l=[]):
574  return [Fragment(x) for x in l]
575 _plural_types.append("Fragments")
576 
577 
578 _value_types.append("Fragment")
579 
580 
581 def Hierarchies(l=[]):
582  return [Hierarchy(x) for x in l]
583 _plural_types.append("Hierarchies")
584 
585 
586 _value_types.append("Hierarchy")
587 
588 
589 def LennardJonesTypeds(l=[]):
590  return [LennardJonesTyped(x) for x in l]
591 _plural_types.append("LennardJonesTypeds")
592 
593 
594 _value_types.append("LennardJonesTyped")
595 
596 
597 def Masses(l=[]):
598  return [Mass(x) for x in l]
599 _plural_types.append("Masses")
600 
601 
602 _value_types.append("Mass")
603 
604 
605 def LinearVelocities(l=[]):
606  return [LinearVelocity(x) for x in l]
607 _plural_types.append("LinearVelocities")
608 
609 
610 _value_types.append("LinearVelocity")
611 
612 
613 def AngularVelocities(l=[]):
614  return [AngularVelocity(x) for x in l]
615 _plural_types.append("AngularVelocities")
616 
617 
618 _value_types.append("AngularVelocity")
619 
620 
621 def Molecules(l=[]):
622  return [Molecule(x) for x in l]
623 _plural_types.append("Molecules")
624 
625 
626 _value_types.append("Molecule")
627 
628 
629 def Residues(l=[]):
630  return [Residue(x) for x in l]
631 _plural_types.append("Residues")
632 
633 
634 _value_types.append("Residue")
635 
636 
637 def Representations(l=[]):
638  return [Representation(x) for x in l]
639 _plural_types.append("Representations")
640 
641 
642 _value_types.append("Representation")
643 
644 
645 def States(l=[]):
646  return [State(x) for x in l]
647 _plural_types.append("States")
648 
649 
650 _value_types.append("State")
651 
652 
653 def Copies(l=[]):
654  return [Copy(x) for x in l]
655 _plural_types.append("Copies")
656 
657 
658 _value_types.append("Copy")
659 
660 
661 def SecondaryStructureResidues(l=[]):
662  return [SecondaryStructureResidue(x) for x in l]
663 _plural_types.append("SecondaryStructureResidues")
664 
665 
666 _value_types.append("SecondaryStructureResidue")
667 
668 
669 def StructureSources(l=[]):
670  return [StructureSource(x) for x in l]
671 _plural_types.append("StructureSources")
672 
673 
674 _value_types.append("StructureSource")
675 
676 
677 _object_types.append("Simulator")
678 
679 
680 def _object_cast_to_Simulator(o):
681  r"""_object_cast_to_Simulator(Object o) -> Simulator"""
682  return _IMP_atom._object_cast_to_Simulator(o)
683 
684 _object_types.append("ATOMPDBSelector")
685 
686 
687 def _object_cast_to_ATOMPDBSelector(o):
688  r"""_object_cast_to_ATOMPDBSelector(Object o) -> ATOMPDBSelector"""
689  return _IMP_atom._object_cast_to_ATOMPDBSelector(o)
690 
691 _object_types.append("AllMol2Selector")
692 
693 
694 def _object_cast_to_AllMol2Selector(o):
695  r"""_object_cast_to_AllMol2Selector(Object o) -> AllMol2Selector"""
696  return _IMP_atom._object_cast_to_AllMol2Selector(o)
697 
698 _object_types.append("AllPDBSelector")
699 
700 
701 def _object_cast_to_AllPDBSelector(o):
702  r"""_object_cast_to_AllPDBSelector(Object o) -> AllPDBSelector"""
703  return _IMP_atom._object_cast_to_AllPDBSelector(o)
704 
705 _object_types.append("AndPDBSelector")
706 
707 
708 def _object_cast_to_AndPDBSelector(o):
709  r"""_object_cast_to_AndPDBSelector(Object o) -> AndPDBSelector"""
710  return _IMP_atom._object_cast_to_AndPDBSelector(o)
711 
712 _object_types.append("XorPDBSelector")
713 
714 
715 def _object_cast_to_XorPDBSelector(o):
716  r"""_object_cast_to_XorPDBSelector(Object o) -> XorPDBSelector"""
717  return _IMP_atom._object_cast_to_XorPDBSelector(o)
718 
719 _object_types.append("ResidueTypePDBSelector")
720 
721 
722 def _object_cast_to_ResidueTypePDBSelector(o):
723  r"""_object_cast_to_ResidueTypePDBSelector(Object o) -> ResidueTypePDBSelector"""
724  return _IMP_atom._object_cast_to_ResidueTypePDBSelector(o)
725 
726 _object_types.append("AtomTypePDBSelector")
727 
728 
729 def _object_cast_to_AtomTypePDBSelector(o):
730  r"""_object_cast_to_AtomTypePDBSelector(Object o) -> AtomTypePDBSelector"""
731  return _IMP_atom._object_cast_to_AtomTypePDBSelector(o)
732 
733 _object_types.append("AngleSingletonScore")
734 
735 
736 def _object_cast_to_AngleSingletonScore(o):
737  r"""_object_cast_to_AngleSingletonScore(Object o) -> AngleSingletonScore"""
738  return _IMP_atom._object_cast_to_AngleSingletonScore(o)
739 
740 _object_types.append("BondEndpointsRefiner")
741 
742 
743 def _object_cast_to_BondEndpointsRefiner(o):
744  r"""_object_cast_to_BondEndpointsRefiner(Object o) -> BondEndpointsRefiner"""
745  return _IMP_atom._object_cast_to_BondEndpointsRefiner(o)
746 
747 _object_types.append("BondPairContainer")
748 
749 
750 def _object_cast_to_BondPairContainer(o):
751  r"""_object_cast_to_BondPairContainer(Object o) -> BondPairContainer"""
752  return _IMP_atom._object_cast_to_BondPairContainer(o)
753 
754 _object_types.append("BondSingletonScore")
755 
756 
757 def _object_cast_to_BondSingletonScore(o):
758  r"""_object_cast_to_BondSingletonScore(Object o) -> BondSingletonScore"""
759  return _IMP_atom._object_cast_to_BondSingletonScore(o)
760 
761 _object_types.append("BondedPairFilter")
762 
763 
764 def _object_cast_to_BondedPairFilter(o):
765  r"""_object_cast_to_BondedPairFilter(Object o) -> BondedPairFilter"""
766  return _IMP_atom._object_cast_to_BondedPairFilter(o)
767 
768 _object_types.append("BrownianDynamics")
769 
770 
771 def _object_cast_to_BrownianDynamics(o):
772  r"""_object_cast_to_BrownianDynamics(Object o) -> BrownianDynamics"""
773  return _IMP_atom._object_cast_to_BrownianDynamics(o)
774 
775 _object_types.append("BrownianDynamicsTAMD")
776 
777 
778 def _object_cast_to_BrownianDynamicsTAMD(o):
779  r"""_object_cast_to_BrownianDynamicsTAMD(Object o) -> BrownianDynamicsTAMD"""
780  return _IMP_atom._object_cast_to_BrownianDynamicsTAMD(o)
781 
782 _object_types.append("CAlphaPDBSelector")
783 
784 
785 def _object_cast_to_CAlphaPDBSelector(o):
786  r"""_object_cast_to_CAlphaPDBSelector(Object o) -> CAlphaPDBSelector"""
787  return _IMP_atom._object_cast_to_CAlphaPDBSelector(o)
788 
789 _object_types.append("CBetaPDBSelector")
790 
791 
792 def _object_cast_to_CBetaPDBSelector(o):
793  r"""_object_cast_to_CBetaPDBSelector(Object o) -> CBetaPDBSelector"""
794  return _IMP_atom._object_cast_to_CBetaPDBSelector(o)
795 
796 _object_types.append("BackbonePDBSelector")
797 
798 
799 def _object_cast_to_BackbonePDBSelector(o):
800  r"""_object_cast_to_BackbonePDBSelector(Object o) -> BackbonePDBSelector"""
801  return _IMP_atom._object_cast_to_BackbonePDBSelector(o)
802 
803 _object_types.append("CHARMMParameters")
804 
805 
806 def _object_cast_to_CHARMMParameters(o):
807  r"""_object_cast_to_CHARMMParameters(Object o) -> CHARMMParameters"""
808  return _IMP_atom._object_cast_to_CHARMMParameters(o)
809 
810 _object_types.append("CHARMMResidueTopology")
811 
812 
813 def _object_cast_to_CHARMMResidueTopology(o):
814  r"""_object_cast_to_CHARMMResidueTopology(Object o) -> CHARMMResidueTopology"""
815  return _IMP_atom._object_cast_to_CHARMMResidueTopology(o)
816 
817 _object_types.append("CHARMMSegmentTopology")
818 
819 
820 def _object_cast_to_CHARMMSegmentTopology(o):
821  r"""_object_cast_to_CHARMMSegmentTopology(Object o) -> CHARMMSegmentTopology"""
822  return _IMP_atom._object_cast_to_CHARMMSegmentTopology(o)
823 
824 _object_types.append("CHARMMStereochemistryRestraint")
825 
826 
827 def _object_cast_to_CHARMMStereochemistryRestraint(o):
828  r"""_object_cast_to_CHARMMStereochemistryRestraint(Object o) -> CHARMMStereochemistryRestraint"""
829  return _IMP_atom._object_cast_to_CHARMMStereochemistryRestraint(o)
830 
831 _object_types.append("CHARMMTopology")
832 
833 
834 def _object_cast_to_CHARMMTopology(o):
835  r"""_object_cast_to_CHARMMTopology(Object o) -> CHARMMTopology"""
836  return _IMP_atom._object_cast_to_CHARMMTopology(o)
837 
838 _object_types.append("CPDBSelector")
839 
840 
841 def _object_cast_to_CPDBSelector(o):
842  r"""_object_cast_to_CPDBSelector(Object o) -> CPDBSelector"""
843  return _IMP_atom._object_cast_to_CPDBSelector(o)
844 
845 _object_types.append("ChainPDBSelector")
846 
847 
848 def _object_cast_to_ChainPDBSelector(o):
849  r"""_object_cast_to_ChainPDBSelector(Object o) -> ChainPDBSelector"""
850  return _IMP_atom._object_cast_to_ChainPDBSelector(o)
851 
852 _object_types.append("CoulombPairScore")
853 
854 
855 def _object_cast_to_CoulombPairScore(o):
856  r"""_object_cast_to_CoulombPairScore(Object o) -> CoulombPairScore"""
857  return _IMP_atom._object_cast_to_CoulombPairScore(o)
858 
859 _object_types.append("CoverBond")
860 
861 
862 def _object_cast_to_CoverBond(o):
863  r"""_object_cast_to_CoverBond(Object o) -> CoverBond"""
864  return _IMP_atom._object_cast_to_CoverBond(o)
865 
866 _object_types.append("DihedralSingletonScore")
867 
868 
869 def _object_cast_to_DihedralSingletonScore(o):
870  r"""_object_cast_to_DihedralSingletonScore(Object o) -> DihedralSingletonScore"""
871  return _IMP_atom._object_cast_to_DihedralSingletonScore(o)
872 
873 _object_types.append("DopePairScore")
874 
875 
876 def _object_cast_to_DopePairScore(o):
877  r"""_object_cast_to_DopePairScore(Object o) -> DopePairScore"""
878  return _IMP_atom._object_cast_to_DopePairScore(o)
879 
880 _object_types.append("LoopStatisticalPairScore")
881 
882 
883 def _object_cast_to_LoopStatisticalPairScore(o):
884  r"""_object_cast_to_LoopStatisticalPairScore(Object o) -> LoopStatisticalPairScore"""
885  return _IMP_atom._object_cast_to_LoopStatisticalPairScore(o)
886 
887 _object_types.append("OrientedSoapPairScore")
888 
889 
890 def _object_cast_to_OrientedSoapPairScore(o):
891  r"""_object_cast_to_OrientedSoapPairScore(Object o) -> OrientedSoapPairScore"""
892  return _IMP_atom._object_cast_to_OrientedSoapPairScore(o)
893 
894 _object_types.append("EzRestraint")
895 
896 
897 def _object_cast_to_EzRestraint(o):
898  r"""_object_cast_to_EzRestraint(Object o) -> EzRestraint"""
899  return _IMP_atom._object_cast_to_EzRestraint(o)
900 
901 _object_types.append("ForceFieldParameters")
902 
903 
904 def _object_cast_to_ForceFieldParameters(o):
905  r"""_object_cast_to_ForceFieldParameters(Object o) -> ForceFieldParameters"""
906  return _IMP_atom._object_cast_to_ForceFieldParameters(o)
907 
908 _object_types.append("ForceSwitch")
909 
910 
911 def _object_cast_to_ForceSwitch(o):
912  r"""_object_cast_to_ForceSwitch(Object o) -> ForceSwitch"""
913  return _IMP_atom._object_cast_to_ForceSwitch(o)
914 
915 _object_types.append("HydrogenPDBSelector")
916 
917 
918 def _object_cast_to_HydrogenPDBSelector(o):
919  r"""_object_cast_to_HydrogenPDBSelector(Object o) -> HydrogenPDBSelector"""
920  return _IMP_atom._object_cast_to_HydrogenPDBSelector(o)
921 
922 _object_types.append("ImproperSingletonScore")
923 
924 
925 def _object_cast_to_ImproperSingletonScore(o):
926  r"""_object_cast_to_ImproperSingletonScore(Object o) -> ImproperSingletonScore"""
927  return _IMP_atom._object_cast_to_ImproperSingletonScore(o)
928 
929 _object_types.append("_LennardJonesTypedPairScore")
930 
931 
932 def _object_cast_to__LennardJonesTypedPairScore(o):
933  r"""_object_cast_to__LennardJonesTypedPairScore(Object o) -> _LennardJonesTypedPairScore"""
934  return _IMP_atom._object_cast_to__LennardJonesTypedPairScore(o)
935 
936 _object_types.append("_SwitchedLennardJonesTypedPairScore")
937 
938 
939 def _object_cast_to__SwitchedLennardJonesTypedPairScore(o):
940  r"""_object_cast_to__SwitchedLennardJonesTypedPairScore(Object o) -> _SwitchedLennardJonesTypedPairScore"""
941  return _IMP_atom._object_cast_to__SwitchedLennardJonesTypedPairScore(o)
942 
943 _object_types.append("Mol2Selector")
944 
945 
946 def _object_cast_to_Mol2Selector(o):
947  r"""_object_cast_to_Mol2Selector(Object o) -> Mol2Selector"""
948  return _IMP_atom._object_cast_to_Mol2Selector(o)
949 
950 _object_types.append("MolecularDynamics")
951 
952 
953 def _object_cast_to_MolecularDynamics(o):
954  r"""_object_cast_to_MolecularDynamics(Object o) -> MolecularDynamics"""
955  return _IMP_atom._object_cast_to_MolecularDynamics(o)
956 
957 _object_types.append("NPDBSelector")
958 
959 
960 def _object_cast_to_NPDBSelector(o):
961  r"""_object_cast_to_NPDBSelector(Object o) -> NPDBSelector"""
962  return _IMP_atom._object_cast_to_NPDBSelector(o)
963 
964 _object_types.append("NonAlternativePDBSelector")
965 
966 
967 def _object_cast_to_NonAlternativePDBSelector(o):
968  r"""_object_cast_to_NonAlternativePDBSelector(Object o) -> NonAlternativePDBSelector"""
969  return _IMP_atom._object_cast_to_NonAlternativePDBSelector(o)
970 
971 _object_types.append("NonHydrogenMol2Selector")
972 
973 
974 def _object_cast_to_NonHydrogenMol2Selector(o):
975  r"""_object_cast_to_NonHydrogenMol2Selector(Object o) -> NonHydrogenMol2Selector"""
976  return _IMP_atom._object_cast_to_NonHydrogenMol2Selector(o)
977 
978 _object_types.append("NonHydrogenPDBSelector")
979 
980 
981 def _object_cast_to_NonHydrogenPDBSelector(o):
982  r"""_object_cast_to_NonHydrogenPDBSelector(Object o) -> NonHydrogenPDBSelector"""
983  return _IMP_atom._object_cast_to_NonHydrogenPDBSelector(o)
984 
985 _object_types.append("NonWaterNonHydrogenPDBSelector")
986 
987 
988 def _object_cast_to_NonWaterNonHydrogenPDBSelector(o):
989  r"""_object_cast_to_NonWaterNonHydrogenPDBSelector(Object o) -> NonWaterNonHydrogenPDBSelector"""
990  return _IMP_atom._object_cast_to_NonWaterNonHydrogenPDBSelector(o)
991 
992 _object_types.append("NonWaterPDBSelector")
993 
994 
995 def _object_cast_to_NonWaterPDBSelector(o):
996  r"""_object_cast_to_NonWaterPDBSelector(Object o) -> NonWaterPDBSelector"""
997  return _IMP_atom._object_cast_to_NonWaterPDBSelector(o)
998 
999 _object_types.append("NotPDBSelector")
1000 
1001 
1002 def _object_cast_to_NotPDBSelector(o):
1003  r"""_object_cast_to_NotPDBSelector(Object o) -> NotPDBSelector"""
1004  return _IMP_atom._object_cast_to_NotPDBSelector(o)
1005 
1006 _object_types.append("OrPDBSelector")
1007 
1008 
1009 def _object_cast_to_OrPDBSelector(o):
1010  r"""_object_cast_to_OrPDBSelector(Object o) -> OrPDBSelector"""
1011  return _IMP_atom._object_cast_to_OrPDBSelector(o)
1012 
1013 _object_types.append("PPDBSelector")
1014 
1015 
1016 def _object_cast_to_PPDBSelector(o):
1017  r"""_object_cast_to_PPDBSelector(Object o) -> PPDBSelector"""
1018  return _IMP_atom._object_cast_to_PPDBSelector(o)
1019 
1020 _object_types.append("ProteinLigandAtomPairScore")
1021 
1022 
1023 def _object_cast_to_ProteinLigandAtomPairScore(o):
1024  r"""_object_cast_to_ProteinLigandAtomPairScore(Object o) -> ProteinLigandAtomPairScore"""
1025  return _IMP_atom._object_cast_to_ProteinLigandAtomPairScore(o)
1026 
1027 _object_types.append("ProteinLigandRestraint")
1028 
1029 
1030 def _object_cast_to_ProteinLigandRestraint(o):
1031  r"""_object_cast_to_ProteinLigandRestraint(Object o) -> ProteinLigandRestraint"""
1032  return _IMP_atom._object_cast_to_ProteinLigandRestraint(o)
1033 
1034 _object_types.append("SameResiduePairFilter")
1035 
1036 
1037 def _object_cast_to_SameResiduePairFilter(o):
1038  r"""_object_cast_to_SameResiduePairFilter(Object o) -> SameResiduePairFilter"""
1039  return _IMP_atom._object_cast_to_SameResiduePairFilter(o)
1040 
1041 _object_types.append("SoapPairFilter")
1042 
1043 
1044 def _object_cast_to_SoapPairFilter(o):
1045  r"""_object_cast_to_SoapPairFilter(Object o) -> SoapPairFilter"""
1046  return _IMP_atom._object_cast_to_SoapPairFilter(o)
1047 
1048 _object_types.append("SmoothingFunction")
1049 
1050 
1051 def _object_cast_to_SmoothingFunction(o):
1052  r"""_object_cast_to_SmoothingFunction(Object o) -> SmoothingFunction"""
1053  return _IMP_atom._object_cast_to_SmoothingFunction(o)
1054 
1055 _object_types.append("StereochemistryPairFilter")
1056 
1057 
1058 def _object_cast_to_StereochemistryPairFilter(o):
1059  r"""_object_cast_to_StereochemistryPairFilter(Object o) -> StereochemistryPairFilter"""
1060  return _IMP_atom._object_cast_to_StereochemistryPairFilter(o)
1061 
1062 _object_types.append("VelocityScalingOptimizerState")
1063 
1064 
1065 def _object_cast_to_VelocityScalingOptimizerState(o):
1066  r"""_object_cast_to_VelocityScalingOptimizerState(Object o) -> VelocityScalingOptimizerState"""
1067  return _IMP_atom._object_cast_to_VelocityScalingOptimizerState(o)
1068 
1069 _object_types.append("WaterPDBSelector")
1070 
1071 
1072 def _object_cast_to_WaterPDBSelector(o):
1073  r"""_object_cast_to_WaterPDBSelector(Object o) -> WaterPDBSelector"""
1074  return _IMP_atom._object_cast_to_WaterPDBSelector(o)
1075 
1076 _object_types.append("WritePDBOptimizerState")
1077 
1078 
1079 def _object_cast_to_WritePDBOptimizerState(o):
1080  r"""_object_cast_to_WritePDBOptimizerState(Object o) -> WritePDBOptimizerState"""
1081  return _IMP_atom._object_cast_to_WritePDBOptimizerState(o)
1082 
1083 AtomTypes=list
1084 _plural_types.append("AtomTypes")
1085 _value_types.append("AtomType")
1086 
1087 
1088 CHARMMAtomTopologies=list
1089 _plural_types.append("CHARMMAtomTopologies")
1090 _value_types.append("CHARMMAtomTopology")
1091 
1092 
1093 CHARMMBondEndpoints=list
1094 _plural_types.append("CHARMMBondEndpoints")
1095 _value_types.append("CHARMMBondEndpoint")
1096 
1097 
1098 CHARMMBondParametersList=list
1099 _plural_types.append("CHARMMBondParametersList")
1100 _value_types.append("CHARMMBondParameters")
1101 
1102 
1103 CHARMMDihedralParametersList=list
1104 _plural_types.append("CHARMMDihedralParametersList")
1105 _value_types.append("CHARMMDihedralParameters")
1106 
1107 
1108 _object_types.append("CHARMMIdealResidueTopology")
1109 
1110 
1111 def _object_cast_to_CHARMMIdealResidueTopology(o):
1112  r"""_object_cast_to_CHARMMIdealResidueTopology(Object o) -> CHARMMIdealResidueTopology"""
1113  return _IMP_atom._object_cast_to_CHARMMIdealResidueTopology(o)
1114 
1115 CHARMMInternalCoordinates=list
1116 _plural_types.append("CHARMMInternalCoordinates")
1117 _value_types.append("CHARMMInternalCoordinate")
1118 
1119 
1120 _object_types.append("CHARMMPatch")
1121 
1122 
1123 def _object_cast_to_CHARMMPatch(o):
1124  r"""_object_cast_to_CHARMMPatch(Object o) -> CHARMMPatch"""
1125  return _IMP_atom._object_cast_to_CHARMMPatch(o)
1126 
1127 _object_types.append("CHARMMResidueTopologyBase")
1128 
1129 
1130 def _object_cast_to_CHARMMResidueTopologyBase(o):
1131  r"""_object_cast_to_CHARMMResidueTopologyBase(Object o) -> CHARMMResidueTopologyBase"""
1132  return _IMP_atom._object_cast_to_CHARMMResidueTopologyBase(o)
1133 
1134 ResidueTypes=list
1135 _plural_types.append("ResidueTypes")
1136 _value_types.append("ResidueType")
1137 
1138 
1139 ChainTypes=list
1140 _plural_types.append("ChainTypes")
1141 _value_types.append("ChainType")
1142 
1143 
1144 Selections=list
1145 _plural_types.append("Selections")
1146 _value_types.append("Selection")
1147 
1148 
1149 _object_types.append("RemoveRigidMotionOptimizerState")
1150 
1151 
1152 def _object_cast_to_RemoveRigidMotionOptimizerState(o):
1153  r"""_object_cast_to_RemoveRigidMotionOptimizerState(Object o) -> RemoveRigidMotionOptimizerState"""
1154  return _IMP_atom._object_cast_to_RemoveRigidMotionOptimizerState(o)
1155 
1156 _object_types.append("BerendsenThermostatOptimizerState")
1157 
1158 
1159 def _object_cast_to_BerendsenThermostatOptimizerState(o):
1160  r"""_object_cast_to_BerendsenThermostatOptimizerState(Object o) -> BerendsenThermostatOptimizerState"""
1161  return _IMP_atom._object_cast_to_BerendsenThermostatOptimizerState(o)
1162 
1163 _object_types.append("LangevinThermostatOptimizerState")
1164 
1165 
1166 def _object_cast_to_LangevinThermostatOptimizerState(o):
1167  r"""_object_cast_to_LangevinThermostatOptimizerState(Object o) -> LangevinThermostatOptimizerState"""
1168  return _IMP_atom._object_cast_to_LangevinThermostatOptimizerState(o)
1169 
1170 _object_types.append("SelectionGeometry")
1171 
1172 
1173 def _object_cast_to_SelectionGeometry(o):
1174  r"""_object_cast_to_SelectionGeometry(Object o) -> SelectionGeometry"""
1175  return _IMP_atom._object_cast_to_SelectionGeometry(o)
1176 
1177 _object_types.append("HierarchyGeometry")
1178 
1179 
1180 def _object_cast_to_HierarchyGeometry(o):
1181  r"""_object_cast_to_HierarchyGeometry(Object o) -> HierarchyGeometry"""
1182  return _IMP_atom._object_cast_to_HierarchyGeometry(o)
1183 
1184 _object_types.append("HierarchiesGeometry")
1185 
1186 
1187 def _object_cast_to_HierarchiesGeometry(o):
1188  r"""_object_cast_to_HierarchiesGeometry(Object o) -> HierarchiesGeometry"""
1189  return _IMP_atom._object_cast_to_HierarchiesGeometry(o)
1190 
1191 _object_types.append("BondGeometry")
1192 
1193 
1194 def _object_cast_to_BondGeometry(o):
1195  r"""_object_cast_to_BondGeometry(Object o) -> BondGeometry"""
1196  return _IMP_atom._object_cast_to_BondGeometry(o)
1197 
1198 _object_types.append("BondsGeometry")
1199 
1200 
1201 def _object_cast_to_BondsGeometry(o):
1202  r"""_object_cast_to_BondsGeometry(Object o) -> BondsGeometry"""
1203  return _IMP_atom._object_cast_to_BondsGeometry(o)
1204 
1205 _object_types.append("CAAngleRestraint")
1206 
1207 
1208 def _object_cast_to_CAAngleRestraint(o):
1209  r"""_object_cast_to_CAAngleRestraint(Object o) -> CAAngleRestraint"""
1210  return _IMP_atom._object_cast_to_CAAngleRestraint(o)
1211 
1212 _object_types.append("CADihedralRestraint")
1213 
1214 
1215 def _object_cast_to_CADihedralRestraint(o):
1216  r"""_object_cast_to_CADihedralRestraint(Object o) -> CADihedralRestraint"""
1217  return _IMP_atom._object_cast_to_CADihedralRestraint(o)
1218 
1219 _object_types.append("HelixRestraint")
1220 
1221 
1222 def _object_cast_to_HelixRestraint(o):
1223  r"""_object_cast_to_HelixRestraint(Object o) -> HelixRestraint"""
1224  return _IMP_atom._object_cast_to_HelixRestraint(o)
1225 
1226 CHARMMDihedrals=list
1227 _plural_types.append("CHARMMDihedrals")
1228 _value_types.append("CHARMMDihedral")
1229 
1230 
1231 CHARMMBonds=list
1232 _plural_types.append("CHARMMBonds")
1233 _value_types.append("CHARMMBond")
1234 
1235 
1236 CHARMMAngles=list
1237 _plural_types.append("CHARMMAngles")
1238 _value_types.append("CHARMMAngle")
1239 
1240 class Bond(IMP.Decorator):
1241  r"""Proxy of C++ IMP::atom::Bond class."""
1242 
1243  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1244 
1245  def __init__(self, *args):
1246  r"""
1247  __init__(Bond self) -> Bond
1248  __init__(Bond self, Model m, ParticleIndex id) -> Bond
1249  __init__(Bond self, _ParticleAdaptor d) -> Bond
1250  """
1251  _IMP_atom.Bond_swiginit(self, _IMP_atom.new_Bond(*args))
1252 
1253  def show(self, *args):
1254  r"""show(Bond self, _ostream out=std::cout)"""
1255  return _IMP_atom.Bond_show(self, *args)
1256 
1257  @staticmethod
1258  def get_is_setup(*args):
1259  r"""
1260  get_is_setup(_ParticleAdaptor p) -> bool
1261  get_is_setup(Model m, ParticleIndex pi) -> bool
1262  """
1263  return _IMP_atom.Bond_get_is_setup(*args)
1264  UNKNOWN = _IMP_atom.Bond_UNKNOWN
1265 
1266  NONBIOLOGICAL = _IMP_atom.Bond_NONBIOLOGICAL
1267 
1268  SINGLE = _IMP_atom.Bond_SINGLE
1269 
1270  DOUBLE = _IMP_atom.Bond_DOUBLE
1271 
1272  TRIPLE = _IMP_atom.Bond_TRIPLE
1273 
1274  HYDROGEN = _IMP_atom.Bond_HYDROGEN
1275 
1276  SALT = _IMP_atom.Bond_SALT
1277 
1278  PEPTIDE = _IMP_atom.Bond_PEPTIDE
1279 
1280  AMIDE = _IMP_atom.Bond_AMIDE
1281 
1282  AROMATIC = _IMP_atom.Bond_AROMATIC
1283 
1284 
1285  def get_bonded(self, i):
1286  r"""get_bonded(Bond self, unsigned int i) -> Bonded"""
1287  return _IMP_atom.Bond_get_bonded(self, i)
1288 
1289  def get_type(self):
1290  r"""get_type(Bond self) -> IMP::Int"""
1291  return _IMP_atom.Bond_get_type(self)
1292 
1293  def set_type(self, t):
1294  r"""set_type(Bond self, IMP::Int t)"""
1295  return _IMP_atom.Bond_set_type(self, t)
1296 
1297  def get_order(self):
1298  r"""get_order(Bond self) -> IMP::Int"""
1299  return _IMP_atom.Bond_get_order(self)
1300 
1301  def set_order(self, t):
1302  r"""set_order(Bond self, IMP::Int t)"""
1303  return _IMP_atom.Bond_set_order(self, t)
1304 
1305  def get_length(self):
1306  r"""get_length(Bond self) -> IMP::Float"""
1307  return _IMP_atom.Bond_get_length(self)
1308 
1309  def set_length(self, t):
1310  r"""set_length(Bond self, IMP::Float t)"""
1311  return _IMP_atom.Bond_set_length(self, t)
1312 
1313  def get_stiffness(self):
1314  r"""get_stiffness(Bond self) -> IMP::Float"""
1315  return _IMP_atom.Bond_get_stiffness(self)
1316 
1317  def set_stiffness(self, t):
1318  r"""set_stiffness(Bond self, IMP::Float t)"""
1319  return _IMP_atom.Bond_set_stiffness(self, t)
1320 
1321  @staticmethod
1322  def get_length_key():
1323  r"""get_length_key() -> FloatKey"""
1324  return _IMP_atom.Bond_get_length_key()
1325 
1326  def add_attribute(self, *args):
1327  r"""
1328  add_attribute(Bond self, FloatKey k, IMP::Float v, bool opt)
1329  add_attribute(Bond self, FloatKey a0, IMP::Float a1)
1330  add_attribute(Bond self, IntKey a0, IMP::Int a1)
1331  add_attribute(Bond self, FloatsKey a0, IMP::Floats a1)
1332  add_attribute(Bond self, IntsKey a0, IMP::Ints a1)
1333  add_attribute(Bond self, StringKey a0, IMP::String a1)
1334  add_attribute(Bond self, ParticleIndexKey a0, Particle a1)
1335  add_attribute(Bond self, ObjectKey a0, Object a1)
1336  add_attribute(Bond self, SparseFloatKey a0, IMP::Float a1)
1337  add_attribute(Bond self, SparseIntKey a0, IMP::Int a1)
1338  add_attribute(Bond self, SparseStringKey a0, IMP::String a1)
1339  add_attribute(Bond self, SparseParticleIndexKey a0, ParticleIndex a1)
1340  """
1341  return _IMP_atom.Bond_add_attribute(self, *args)
1342 
1343  def get_value(self, *args):
1344  r"""
1345  get_value(Bond self, FloatKey a0) -> IMP::Float
1346  get_value(Bond self, IntKey a0) -> IMP::Int
1347  get_value(Bond self, FloatsKey a0) -> IMP::Floats
1348  get_value(Bond self, IntsKey a0) -> IMP::Ints
1349  get_value(Bond self, StringKey a0) -> IMP::String
1350  get_value(Bond self, ParticleIndexKey a0) -> Particle
1351  get_value(Bond self, ObjectKey a0) -> Object
1352  get_value(Bond self, SparseFloatKey a0) -> IMP::Float
1353  get_value(Bond self, SparseIntKey a0) -> IMP::Int
1354  get_value(Bond self, SparseStringKey a0) -> IMP::String
1355  get_value(Bond self, SparseParticleIndexKey a0) -> ParticleIndex
1356  """
1357  return _IMP_atom.Bond_get_value(self, *args)
1358 
1359  def set_value(self, *args):
1360  r"""
1361  set_value(Bond self, FloatKey a0, IMP::Float a1)
1362  set_value(Bond self, IntKey a0, IMP::Int a1)
1363  set_value(Bond self, FloatsKey a0, IMP::Floats a1)
1364  set_value(Bond self, IntsKey a0, IMP::Ints a1)
1365  set_value(Bond self, StringKey a0, IMP::String a1)
1366  set_value(Bond self, ParticleIndexKey a0, Particle a1)
1367  set_value(Bond self, ObjectKey a0, Object a1)
1368  set_value(Bond self, SparseFloatKey a0, IMP::Float a1)
1369  set_value(Bond self, SparseIntKey a0, IMP::Int a1)
1370  set_value(Bond self, SparseStringKey a0, IMP::String a1)
1371  set_value(Bond self, SparseParticleIndexKey a0, ParticleIndex a1)
1372  """
1373  return _IMP_atom.Bond_set_value(self, *args)
1374 
1375  def remove_attribute(self, *args):
1376  r"""
1377  remove_attribute(Bond self, FloatKey a0)
1378  remove_attribute(Bond self, IntKey a0)
1379  remove_attribute(Bond self, FloatsKey a0)
1380  remove_attribute(Bond self, IntsKey a0)
1381  remove_attribute(Bond self, StringKey a0)
1382  remove_attribute(Bond self, ParticleIndexKey a0)
1383  remove_attribute(Bond self, ObjectKey a0)
1384  remove_attribute(Bond self, SparseFloatKey a0)
1385  remove_attribute(Bond self, SparseIntKey a0)
1386  remove_attribute(Bond self, SparseStringKey a0)
1387  remove_attribute(Bond self, SparseParticleIndexKey a0)
1388  """
1389  return _IMP_atom.Bond_remove_attribute(self, *args)
1390 
1391  def has_attribute(self, *args):
1392  r"""
1393  has_attribute(Bond self, FloatKey a0) -> bool
1394  has_attribute(Bond self, IntKey a0) -> bool
1395  has_attribute(Bond self, FloatsKey a0) -> bool
1396  has_attribute(Bond self, IntsKey a0) -> bool
1397  has_attribute(Bond self, StringKey a0) -> bool
1398  has_attribute(Bond self, ParticleIndexKey a0) -> bool
1399  has_attribute(Bond self, ObjectKey a0) -> bool
1400  has_attribute(Bond self, SparseFloatKey a0) -> bool
1401  has_attribute(Bond self, SparseIntKey a0) -> bool
1402  has_attribute(Bond self, SparseStringKey a0) -> bool
1403  has_attribute(Bond self, SparseParticleIndexKey a0) -> bool
1404  """
1405  return _IMP_atom.Bond_has_attribute(self, *args)
1406 
1407  def get_derivative(self, a0):
1408  r"""get_derivative(Bond self, FloatKey a0) -> double"""
1409  return _IMP_atom.Bond_get_derivative(self, a0)
1410 
1411  def get_name(self):
1412  r"""get_name(Bond self) -> std::string"""
1413  return _IMP_atom.Bond_get_name(self)
1414 
1415  def clear_caches(self):
1416  r"""clear_caches(Bond self)"""
1417  return _IMP_atom.Bond_clear_caches(self)
1418 
1419  def set_name(self, a0):
1420  r"""set_name(Bond self, std::string a0)"""
1421  return _IMP_atom.Bond_set_name(self, a0)
1422 
1423  def set_check_level(self, a0):
1424  r"""set_check_level(Bond self, IMP::CheckLevel a0)"""
1425  return _IMP_atom.Bond_set_check_level(self, a0)
1426 
1427  def add_to_derivative(self, a0, a1, a2):
1428  r"""add_to_derivative(Bond self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
1429  return _IMP_atom.Bond_add_to_derivative(self, a0, a1, a2)
1430 
1431  def set_is_optimized(self, a0, a1):
1432  r"""set_is_optimized(Bond self, FloatKey a0, bool a1)"""
1433  return _IMP_atom.Bond_set_is_optimized(self, a0, a1)
1434 
1435  def get_is_optimized(self, a0):
1436  r"""get_is_optimized(Bond self, FloatKey a0) -> bool"""
1437  return _IMP_atom.Bond_get_is_optimized(self, a0)
1438 
1439  def get_check_level(self):
1440  r"""get_check_level(Bond self) -> IMP::CheckLevel"""
1441  return _IMP_atom.Bond_get_check_level(self)
1442 
1443  def __eq__(self, *args):
1444  r"""
1445  __eq__(Bond self, Bond o) -> bool
1446  __eq__(Bond self, Particle d) -> bool
1447  """
1448  return _IMP_atom.Bond___eq__(self, *args)
1449 
1450  def __ne__(self, *args):
1451  r"""
1452  __ne__(Bond self, Bond o) -> bool
1453  __ne__(Bond self, Particle d) -> bool
1454  """
1455  return _IMP_atom.Bond___ne__(self, *args)
1456 
1457  def __le__(self, *args):
1458  r"""
1459  __le__(Bond self, Bond o) -> bool
1460  __le__(Bond self, Particle d) -> bool
1461  """
1462  return _IMP_atom.Bond___le__(self, *args)
1463 
1464  def __lt__(self, *args):
1465  r"""
1466  __lt__(Bond self, Bond o) -> bool
1467  __lt__(Bond self, Particle d) -> bool
1468  """
1469  return _IMP_atom.Bond___lt__(self, *args)
1470 
1471  def __ge__(self, *args):
1472  r"""
1473  __ge__(Bond self, Bond o) -> bool
1474  __ge__(Bond self, Particle d) -> bool
1475  """
1476  return _IMP_atom.Bond___ge__(self, *args)
1477 
1478  def __gt__(self, *args):
1479  r"""
1480  __gt__(Bond self, Bond o) -> bool
1481  __gt__(Bond self, Particle d) -> bool
1482  """
1483  return _IMP_atom.Bond___gt__(self, *args)
1484 
1485  def __hash__(self):
1486  r"""__hash__(Bond self) -> std::size_t"""
1487  return _IMP_atom.Bond___hash__(self)
1488 
1489  def __str__(self):
1490  r"""__str__(Bond self) -> std::string"""
1491  return _IMP_atom.Bond___str__(self)
1492 
1493  def __repr__(self):
1494  r"""__repr__(Bond self) -> std::string"""
1495  return _IMP_atom.Bond___repr__(self)
1496 
1497  def _get_as_binary(self):
1498  r"""_get_as_binary(Bond self) -> PyObject *"""
1499  return _IMP_atom.Bond__get_as_binary(self)
1500 
1501  def _set_from_binary(self, p):
1502  r"""_set_from_binary(Bond self, PyObject * p)"""
1503  return _IMP_atom.Bond__set_from_binary(self, p)
1504 
1505  def __getstate__(self):
1506  p = self._get_as_binary()
1507  if len(self.__dict__) > 1:
1508  d = self.__dict__.copy()
1509  del d['this']
1510  p = (d, p)
1511  return p
1512 
1513  def __setstate__(self, p):
1514  if not hasattr(self, 'this'):
1515  self.__init__()
1516  if isinstance(p, tuple):
1517  d, p = p
1518  self.__dict__.update(d)
1519  return self._set_from_binary(p)
1520 
1521  __swig_destroy__ = _IMP_atom.delete_Bond
1522 
1523 # Register Bond in _IMP_atom:
1524 _IMP_atom.Bond_swigregister(Bond)
1525 class Bonded(IMP.Decorator):
1526  r"""Proxy of C++ IMP::atom::Bonded class."""
1527 
1528  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1529 
1530  def __init__(self, *args):
1531  r"""
1532  __init__(Bonded self) -> Bonded
1533  __init__(Bonded self, Model m, ParticleIndex id) -> Bonded
1534  __init__(Bonded self, _ParticleAdaptor d) -> Bonded
1535  """
1536  _IMP_atom.Bonded_swiginit(self, _IMP_atom.new_Bonded(*args))
1537 
1538  def show(self, *args):
1539  r"""show(Bonded self, _ostream out=std::cout)"""
1540  return _IMP_atom.Bonded_show(self, *args)
1541 
1542  @staticmethod
1543  def setup_particle(*args):
1544  r"""
1545  setup_particle(Model m, ParticleIndex pi) -> Bonded
1546  setup_particle(_ParticleAdaptor pa) -> Bonded
1547  """
1548  return _IMP_atom.Bonded_setup_particle(*args)
1549 
1550  @staticmethod
1551  def get_is_setup(*args):
1552  r"""
1553  get_is_setup(_ParticleAdaptor p) -> bool
1554  get_is_setup(Model m, ParticleIndex pi) -> bool
1555  """
1556  return _IMP_atom.Bonded_get_is_setup(*args)
1557 
1558  def get_number_of_bonds(self):
1559  r"""get_number_of_bonds(Bonded self) -> unsigned int"""
1560  return _IMP_atom.Bonded_get_number_of_bonds(self)
1561 
1562  def get_bond_indexes(self):
1563  r"""get_bond_indexes(Bonded self) -> IMP::ParticleIndexes"""
1564  return _IMP_atom.Bonded_get_bond_indexes(self)
1565 
1566  def get_bond(self, i):
1567  r"""get_bond(Bonded self, unsigned int i) -> Bond"""
1568  return _IMP_atom.Bonded_get_bond(self, i)
1569 
1570  def get_bonded(self, i):
1571  r"""get_bonded(Bonded self, unsigned int i) -> Bonded"""
1572  return _IMP_atom.Bonded_get_bonded(self, i)
1573 
1574  def add_attribute(self, *args):
1575  r"""
1576  add_attribute(Bonded self, FloatKey k, IMP::Float v, bool opt)
1577  add_attribute(Bonded self, FloatKey a0, IMP::Float a1)
1578  add_attribute(Bonded self, IntKey a0, IMP::Int a1)
1579  add_attribute(Bonded self, FloatsKey a0, IMP::Floats a1)
1580  add_attribute(Bonded self, IntsKey a0, IMP::Ints a1)
1581  add_attribute(Bonded self, StringKey a0, IMP::String a1)
1582  add_attribute(Bonded self, ParticleIndexKey a0, Particle a1)
1583  add_attribute(Bonded self, ObjectKey a0, Object a1)
1584  add_attribute(Bonded self, SparseFloatKey a0, IMP::Float a1)
1585  add_attribute(Bonded self, SparseIntKey a0, IMP::Int a1)
1586  add_attribute(Bonded self, SparseStringKey a0, IMP::String a1)
1587  add_attribute(Bonded self, SparseParticleIndexKey a0, ParticleIndex a1)
1588  """
1589  return _IMP_atom.Bonded_add_attribute(self, *args)
1590 
1591  def get_value(self, *args):
1592  r"""
1593  get_value(Bonded self, FloatKey a0) -> IMP::Float
1594  get_value(Bonded self, IntKey a0) -> IMP::Int
1595  get_value(Bonded self, FloatsKey a0) -> IMP::Floats
1596  get_value(Bonded self, IntsKey a0) -> IMP::Ints
1597  get_value(Bonded self, StringKey a0) -> IMP::String
1598  get_value(Bonded self, ParticleIndexKey a0) -> Particle
1599  get_value(Bonded self, ObjectKey a0) -> Object
1600  get_value(Bonded self, SparseFloatKey a0) -> IMP::Float
1601  get_value(Bonded self, SparseIntKey a0) -> IMP::Int
1602  get_value(Bonded self, SparseStringKey a0) -> IMP::String
1603  get_value(Bonded self, SparseParticleIndexKey a0) -> ParticleIndex
1604  """
1605  return _IMP_atom.Bonded_get_value(self, *args)
1606 
1607  def set_value(self, *args):
1608  r"""
1609  set_value(Bonded self, FloatKey a0, IMP::Float a1)
1610  set_value(Bonded self, IntKey a0, IMP::Int a1)
1611  set_value(Bonded self, FloatsKey a0, IMP::Floats a1)
1612  set_value(Bonded self, IntsKey a0, IMP::Ints a1)
1613  set_value(Bonded self, StringKey a0, IMP::String a1)
1614  set_value(Bonded self, ParticleIndexKey a0, Particle a1)
1615  set_value(Bonded self, ObjectKey a0, Object a1)
1616  set_value(Bonded self, SparseFloatKey a0, IMP::Float a1)
1617  set_value(Bonded self, SparseIntKey a0, IMP::Int a1)
1618  set_value(Bonded self, SparseStringKey a0, IMP::String a1)
1619  set_value(Bonded self, SparseParticleIndexKey a0, ParticleIndex a1)
1620  """
1621  return _IMP_atom.Bonded_set_value(self, *args)
1622 
1623  def remove_attribute(self, *args):
1624  r"""
1625  remove_attribute(Bonded self, FloatKey a0)
1626  remove_attribute(Bonded self, IntKey a0)
1627  remove_attribute(Bonded self, FloatsKey a0)
1628  remove_attribute(Bonded self, IntsKey a0)
1629  remove_attribute(Bonded self, StringKey a0)
1630  remove_attribute(Bonded self, ParticleIndexKey a0)
1631  remove_attribute(Bonded self, ObjectKey a0)
1632  remove_attribute(Bonded self, SparseFloatKey a0)
1633  remove_attribute(Bonded self, SparseIntKey a0)
1634  remove_attribute(Bonded self, SparseStringKey a0)
1635  remove_attribute(Bonded self, SparseParticleIndexKey a0)
1636  """
1637  return _IMP_atom.Bonded_remove_attribute(self, *args)
1638 
1639  def has_attribute(self, *args):
1640  r"""
1641  has_attribute(Bonded self, FloatKey a0) -> bool
1642  has_attribute(Bonded self, IntKey a0) -> bool
1643  has_attribute(Bonded self, FloatsKey a0) -> bool
1644  has_attribute(Bonded self, IntsKey a0) -> bool
1645  has_attribute(Bonded self, StringKey a0) -> bool
1646  has_attribute(Bonded self, ParticleIndexKey a0) -> bool
1647  has_attribute(Bonded self, ObjectKey a0) -> bool
1648  has_attribute(Bonded self, SparseFloatKey a0) -> bool
1649  has_attribute(Bonded self, SparseIntKey a0) -> bool
1650  has_attribute(Bonded self, SparseStringKey a0) -> bool
1651  has_attribute(Bonded self, SparseParticleIndexKey a0) -> bool
1652  """
1653  return _IMP_atom.Bonded_has_attribute(self, *args)
1654 
1655  def get_derivative(self, a0):
1656  r"""get_derivative(Bonded self, FloatKey a0) -> double"""
1657  return _IMP_atom.Bonded_get_derivative(self, a0)
1658 
1659  def get_name(self):
1660  r"""get_name(Bonded self) -> std::string"""
1661  return _IMP_atom.Bonded_get_name(self)
1662 
1663  def clear_caches(self):
1664  r"""clear_caches(Bonded self)"""
1665  return _IMP_atom.Bonded_clear_caches(self)
1666 
1667  def set_name(self, a0):
1668  r"""set_name(Bonded self, std::string a0)"""
1669  return _IMP_atom.Bonded_set_name(self, a0)
1670 
1671  def set_check_level(self, a0):
1672  r"""set_check_level(Bonded self, IMP::CheckLevel a0)"""
1673  return _IMP_atom.Bonded_set_check_level(self, a0)
1674 
1675  def add_to_derivative(self, a0, a1, a2):
1676  r"""add_to_derivative(Bonded self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
1677  return _IMP_atom.Bonded_add_to_derivative(self, a0, a1, a2)
1678 
1679  def set_is_optimized(self, a0, a1):
1680  r"""set_is_optimized(Bonded self, FloatKey a0, bool a1)"""
1681  return _IMP_atom.Bonded_set_is_optimized(self, a0, a1)
1682 
1683  def get_is_optimized(self, a0):
1684  r"""get_is_optimized(Bonded self, FloatKey a0) -> bool"""
1685  return _IMP_atom.Bonded_get_is_optimized(self, a0)
1686 
1687  def get_check_level(self):
1688  r"""get_check_level(Bonded self) -> IMP::CheckLevel"""
1689  return _IMP_atom.Bonded_get_check_level(self)
1690 
1691  def __eq__(self, *args):
1692  r"""
1693  __eq__(Bonded self, Bonded o) -> bool
1694  __eq__(Bonded self, Particle d) -> bool
1695  """
1696  return _IMP_atom.Bonded___eq__(self, *args)
1697 
1698  def __ne__(self, *args):
1699  r"""
1700  __ne__(Bonded self, Bonded o) -> bool
1701  __ne__(Bonded self, Particle d) -> bool
1702  """
1703  return _IMP_atom.Bonded___ne__(self, *args)
1704 
1705  def __le__(self, *args):
1706  r"""
1707  __le__(Bonded self, Bonded o) -> bool
1708  __le__(Bonded self, Particle d) -> bool
1709  """
1710  return _IMP_atom.Bonded___le__(self, *args)
1711 
1712  def __lt__(self, *args):
1713  r"""
1714  __lt__(Bonded self, Bonded o) -> bool
1715  __lt__(Bonded self, Particle d) -> bool
1716  """
1717  return _IMP_atom.Bonded___lt__(self, *args)
1718 
1719  def __ge__(self, *args):
1720  r"""
1721  __ge__(Bonded self, Bonded o) -> bool
1722  __ge__(Bonded self, Particle d) -> bool
1723  """
1724  return _IMP_atom.Bonded___ge__(self, *args)
1725 
1726  def __gt__(self, *args):
1727  r"""
1728  __gt__(Bonded self, Bonded o) -> bool
1729  __gt__(Bonded self, Particle d) -> bool
1730  """
1731  return _IMP_atom.Bonded___gt__(self, *args)
1732 
1733  def __hash__(self):
1734  r"""__hash__(Bonded self) -> std::size_t"""
1735  return _IMP_atom.Bonded___hash__(self)
1736 
1737  def __str__(self):
1738  r"""__str__(Bonded self) -> std::string"""
1739  return _IMP_atom.Bonded___str__(self)
1740 
1741  def __repr__(self):
1742  r"""__repr__(Bonded self) -> std::string"""
1743  return _IMP_atom.Bonded___repr__(self)
1744 
1745  def _get_as_binary(self):
1746  r"""_get_as_binary(Bonded self) -> PyObject *"""
1747  return _IMP_atom.Bonded__get_as_binary(self)
1748 
1749  def _set_from_binary(self, p):
1750  r"""_set_from_binary(Bonded self, PyObject * p)"""
1751  return _IMP_atom.Bonded__set_from_binary(self, p)
1752 
1753  def __getstate__(self):
1754  p = self._get_as_binary()
1755  if len(self.__dict__) > 1:
1756  d = self.__dict__.copy()
1757  del d['this']
1758  p = (d, p)
1759  return p
1760 
1761  def __setstate__(self, p):
1762  if not hasattr(self, 'this'):
1763  self.__init__()
1764  if isinstance(p, tuple):
1765  d, p = p
1766  self.__dict__.update(d)
1767  return self._set_from_binary(p)
1768 
1769  __swig_destroy__ = _IMP_atom.delete_Bonded
1770 
1771 # Register Bonded in _IMP_atom:
1772 _IMP_atom.Bonded_swigregister(Bonded)
1773 
1774 def create_custom_bond(a, b, length, stiffness=-1):
1775  r"""create_custom_bond(Bonded a, Bonded b, IMP::Float length, IMP::Float stiffness=-1) -> Bond"""
1776  return _IMP_atom.create_custom_bond(a, b, length, stiffness)
1777 
1778 def create_bond(*args):
1779  r"""
1780  create_bond(Bonded a, Bonded b, IMP::Int t) -> Bond
1781  create_bond(Bonded a, Bonded b, Bond o) -> Bond
1782  """
1783  return _IMP_atom.create_bond(*args)
1784 
1785 def destroy_bond(b):
1786  r"""destroy_bond(Bond b)"""
1787  return _IMP_atom.destroy_bond(b)
1788 
1789 def get_bond(a, b):
1790  r"""get_bond(Bonded a, Bonded b) -> Bond"""
1791  return _IMP_atom.get_bond(a, b)
1792 class BondGeometry(IMP.display.SingletonGeometry):
1793  r"""Proxy of C++ IMP::atom::BondGeometry class."""
1794 
1795  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1796 
1797  def __init__(self, *args):
1798  r"""
1799  __init__(BondGeometry self, Particle p) -> BondGeometry
1800  __init__(BondGeometry self, Bond d) -> BondGeometry
1801  """
1802  _IMP_atom.BondGeometry_swiginit(self, _IMP_atom.new_BondGeometry(*args))
1803 
1804  def get_version_info(self):
1805  r"""get_version_info(BondGeometry self) -> VersionInfo"""
1806  return _IMP_atom.BondGeometry_get_version_info(self)
1807  __swig_destroy__ = _IMP_atom.delete_BondGeometry
1808 
1809  def __str__(self):
1810  r"""__str__(BondGeometry self) -> std::string"""
1811  return _IMP_atom.BondGeometry___str__(self)
1812 
1813  def __repr__(self):
1814  r"""__repr__(BondGeometry self) -> std::string"""
1815  return _IMP_atom.BondGeometry___repr__(self)
1816 
1817  @staticmethod
1818  def get_from(o):
1819  return _object_cast_to_BondGeometry(o)
1820 
1821 
1822 # Register BondGeometry in _IMP_atom:
1823 _IMP_atom.BondGeometry_swigregister(BondGeometry)
1824 class BondsGeometry(IMP.display.SingletonsGeometry):
1825  r"""Proxy of C++ IMP::atom::BondsGeometry class."""
1826 
1827  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1828 
1829  def __init__(self, sc):
1830  r"""__init__(BondsGeometry self, SingletonContainer sc) -> BondsGeometry"""
1831  _IMP_atom.BondsGeometry_swiginit(self, _IMP_atom.new_BondsGeometry(sc))
1832 
1833  def get_version_info(self):
1834  r"""get_version_info(BondsGeometry self) -> VersionInfo"""
1835  return _IMP_atom.BondsGeometry_get_version_info(self)
1836  __swig_destroy__ = _IMP_atom.delete_BondsGeometry
1837 
1838  def __str__(self):
1839  r"""__str__(BondsGeometry self) -> std::string"""
1840  return _IMP_atom.BondsGeometry___str__(self)
1841 
1842  def __repr__(self):
1843  r"""__repr__(BondsGeometry self) -> std::string"""
1844  return _IMP_atom.BondsGeometry___repr__(self)
1845 
1846  @staticmethod
1847  def get_from(o):
1848  return _object_cast_to_BondsGeometry(o)
1849 
1850 
1851 # Register BondsGeometry in _IMP_atom:
1852 _IMP_atom.BondsGeometry_swigregister(BondsGeometry)
1853 class Hierarchy(IMP.core.Hierarchy):
1854  r"""Proxy of C++ IMP::atom::Hierarchy class."""
1855 
1856  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1857 
1858  def __init__(self, *args):
1859  r"""
1860  __init__(Hierarchy self, Model m, ParticleIndex pi) -> Hierarchy
1861  __init__(Hierarchy self, _ParticleAdaptor pi) -> Hierarchy
1862  __init__(Hierarchy self) -> Hierarchy
1863  __init__(Hierarchy self, Hierarchy h) -> Hierarchy
1864  """
1865  _IMP_atom.Hierarchy_swiginit(self, _IMP_atom.new_Hierarchy(*args))
1866 
1867  @staticmethod
1868  def setup_particle(*args):
1869  r"""
1870  setup_particle(Particle p, _ParticleIndexesAdaptor children) -> Hierarchy
1871  setup_particle(Particle p) -> Hierarchy
1872  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor children=IMP::ParticleIndexesAdaptor()) -> Hierarchy
1873  """
1874  return _IMP_atom.Hierarchy_setup_particle(*args)
1875 
1876  @staticmethod
1877  def get_is_setup(*args):
1878  r"""
1879  get_is_setup(Particle p) -> bool
1880  get_is_setup(Model m, ParticleIndex p) -> bool
1881  """
1882  return _IMP_atom.Hierarchy_get_is_setup(*args)
1883 
1884  def get_is_valid(self, print_info=False):
1885  r"""get_is_valid(Hierarchy self, bool print_info=False) -> bool"""
1886  return _IMP_atom.Hierarchy_get_is_valid(self, print_info)
1887 
1888  def add_child(self, o):
1889  r"""add_child(Hierarchy self, Hierarchy o)"""
1890  return _IMP_atom.Hierarchy_add_child(self, o)
1891 
1892  def get_child(self, i):
1893  r"""get_child(Hierarchy self, unsigned int i) -> Hierarchy"""
1894  return _IMP_atom.Hierarchy_get_child(self, i)
1895 
1896  def get_children(self):
1897  r"""get_children(Hierarchy self) -> IMP::atom::Hierarchies"""
1898  return _IMP_atom.Hierarchy_get_children(self)
1899 
1900  def get_parent(self):
1901  r"""get_parent(Hierarchy self) -> Hierarchy"""
1902  return _IMP_atom.Hierarchy_get_parent(self)
1903 
1904  @staticmethod
1905  def get_traits():
1906  r"""get_traits() -> HierarchyTraits"""
1907  return _IMP_atom.Hierarchy_get_traits()
1908 
1909  def show(self, *args):
1910  r"""
1911  show(Hierarchy self, _ostream out, std::string delimiter)
1912  show(Hierarchy self, _ostream out=std::cout)
1913  """
1914  return _IMP_atom.Hierarchy_show(self, *args)
1915 
1916  def add_attribute(self, *args):
1917  r"""
1918  add_attribute(Hierarchy self, FloatKey k, IMP::Float v, bool opt)
1919  add_attribute(Hierarchy self, FloatKey a0, IMP::Float a1)
1920  add_attribute(Hierarchy self, IntKey a0, IMP::Int a1)
1921  add_attribute(Hierarchy self, FloatsKey a0, IMP::Floats a1)
1922  add_attribute(Hierarchy self, IntsKey a0, IMP::Ints a1)
1923  add_attribute(Hierarchy self, StringKey a0, IMP::String a1)
1924  add_attribute(Hierarchy self, ParticleIndexKey a0, Particle a1)
1925  add_attribute(Hierarchy self, ObjectKey a0, Object a1)
1926  add_attribute(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
1927  add_attribute(Hierarchy self, SparseIntKey a0, IMP::Int a1)
1928  add_attribute(Hierarchy self, SparseStringKey a0, IMP::String a1)
1929  add_attribute(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
1930  """
1931  return _IMP_atom.Hierarchy_add_attribute(self, *args)
1932 
1933  def get_value(self, *args):
1934  r"""
1935  get_value(Hierarchy self, FloatKey a0) -> IMP::Float
1936  get_value(Hierarchy self, IntKey a0) -> IMP::Int
1937  get_value(Hierarchy self, FloatsKey a0) -> IMP::Floats
1938  get_value(Hierarchy self, IntsKey a0) -> IMP::Ints
1939  get_value(Hierarchy self, StringKey a0) -> IMP::String
1940  get_value(Hierarchy self, ParticleIndexKey a0) -> Particle
1941  get_value(Hierarchy self, ObjectKey a0) -> Object
1942  get_value(Hierarchy self, SparseFloatKey a0) -> IMP::Float
1943  get_value(Hierarchy self, SparseIntKey a0) -> IMP::Int
1944  get_value(Hierarchy self, SparseStringKey a0) -> IMP::String
1945  get_value(Hierarchy self, SparseParticleIndexKey a0) -> ParticleIndex
1946  """
1947  return _IMP_atom.Hierarchy_get_value(self, *args)
1948 
1949  def set_value(self, *args):
1950  r"""
1951  set_value(Hierarchy self, FloatKey a0, IMP::Float a1)
1952  set_value(Hierarchy self, IntKey a0, IMP::Int a1)
1953  set_value(Hierarchy self, FloatsKey a0, IMP::Floats a1)
1954  set_value(Hierarchy self, IntsKey a0, IMP::Ints a1)
1955  set_value(Hierarchy self, StringKey a0, IMP::String a1)
1956  set_value(Hierarchy self, ParticleIndexKey a0, Particle a1)
1957  set_value(Hierarchy self, ObjectKey a0, Object a1)
1958  set_value(Hierarchy self, SparseFloatKey a0, IMP::Float a1)
1959  set_value(Hierarchy self, SparseIntKey a0, IMP::Int a1)
1960  set_value(Hierarchy self, SparseStringKey a0, IMP::String a1)
1961  set_value(Hierarchy self, SparseParticleIndexKey a0, ParticleIndex a1)
1962  """
1963  return _IMP_atom.Hierarchy_set_value(self, *args)
1964 
1965  def remove_attribute(self, *args):
1966  r"""
1967  remove_attribute(Hierarchy self, FloatKey a0)
1968  remove_attribute(Hierarchy self, IntKey a0)
1969  remove_attribute(Hierarchy self, FloatsKey a0)
1970  remove_attribute(Hierarchy self, IntsKey a0)
1971  remove_attribute(Hierarchy self, StringKey a0)
1972  remove_attribute(Hierarchy self, ParticleIndexKey a0)
1973  remove_attribute(Hierarchy self, ObjectKey a0)
1974  remove_attribute(Hierarchy self, SparseFloatKey a0)
1975  remove_attribute(Hierarchy self, SparseIntKey a0)
1976  remove_attribute(Hierarchy self, SparseStringKey a0)
1977  remove_attribute(Hierarchy self, SparseParticleIndexKey a0)
1978  """
1979  return _IMP_atom.Hierarchy_remove_attribute(self, *args)
1980 
1981  def has_attribute(self, *args):
1982  r"""
1983  has_attribute(Hierarchy self, FloatKey a0) -> bool
1984  has_attribute(Hierarchy self, IntKey a0) -> bool
1985  has_attribute(Hierarchy self, FloatsKey a0) -> bool
1986  has_attribute(Hierarchy self, IntsKey a0) -> bool
1987  has_attribute(Hierarchy self, StringKey a0) -> bool
1988  has_attribute(Hierarchy self, ParticleIndexKey a0) -> bool
1989  has_attribute(Hierarchy self, ObjectKey a0) -> bool
1990  has_attribute(Hierarchy self, SparseFloatKey a0) -> bool
1991  has_attribute(Hierarchy self, SparseIntKey a0) -> bool
1992  has_attribute(Hierarchy self, SparseStringKey a0) -> bool
1993  has_attribute(Hierarchy self, SparseParticleIndexKey a0) -> bool
1994  """
1995  return _IMP_atom.Hierarchy_has_attribute(self, *args)
1996 
1997  def get_derivative(self, a0):
1998  r"""get_derivative(Hierarchy self, FloatKey a0) -> double"""
1999  return _IMP_atom.Hierarchy_get_derivative(self, a0)
2000 
2001  def get_name(self):
2002  r"""get_name(Hierarchy self) -> std::string"""
2003  return _IMP_atom.Hierarchy_get_name(self)
2004 
2005  def clear_caches(self):
2006  r"""clear_caches(Hierarchy self)"""
2007  return _IMP_atom.Hierarchy_clear_caches(self)
2008 
2009  def set_name(self, a0):
2010  r"""set_name(Hierarchy self, std::string a0)"""
2011  return _IMP_atom.Hierarchy_set_name(self, a0)
2012 
2013  def set_check_level(self, a0):
2014  r"""set_check_level(Hierarchy self, IMP::CheckLevel a0)"""
2015  return _IMP_atom.Hierarchy_set_check_level(self, a0)
2016 
2017  def add_to_derivative(self, a0, a1, a2):
2018  r"""add_to_derivative(Hierarchy self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2019  return _IMP_atom.Hierarchy_add_to_derivative(self, a0, a1, a2)
2020 
2021  def set_is_optimized(self, a0, a1):
2022  r"""set_is_optimized(Hierarchy self, FloatKey a0, bool a1)"""
2023  return _IMP_atom.Hierarchy_set_is_optimized(self, a0, a1)
2024 
2025  def get_is_optimized(self, a0):
2026  r"""get_is_optimized(Hierarchy self, FloatKey a0) -> bool"""
2027  return _IMP_atom.Hierarchy_get_is_optimized(self, a0)
2028 
2029  def get_check_level(self):
2030  r"""get_check_level(Hierarchy self) -> IMP::CheckLevel"""
2031  return _IMP_atom.Hierarchy_get_check_level(self)
2032 
2033  def __eq__(self, *args):
2034  r"""
2035  __eq__(Hierarchy self, Hierarchy o) -> bool
2036  __eq__(Hierarchy self, Particle d) -> bool
2037  """
2038  return _IMP_atom.Hierarchy___eq__(self, *args)
2039 
2040  def __ne__(self, *args):
2041  r"""
2042  __ne__(Hierarchy self, Hierarchy o) -> bool
2043  __ne__(Hierarchy self, Particle d) -> bool
2044  """
2045  return _IMP_atom.Hierarchy___ne__(self, *args)
2046 
2047  def __le__(self, *args):
2048  r"""
2049  __le__(Hierarchy self, Hierarchy o) -> bool
2050  __le__(Hierarchy self, Particle d) -> bool
2051  """
2052  return _IMP_atom.Hierarchy___le__(self, *args)
2053 
2054  def __lt__(self, *args):
2055  r"""
2056  __lt__(Hierarchy self, Hierarchy o) -> bool
2057  __lt__(Hierarchy self, Particle d) -> bool
2058  """
2059  return _IMP_atom.Hierarchy___lt__(self, *args)
2060 
2061  def __ge__(self, *args):
2062  r"""
2063  __ge__(Hierarchy self, Hierarchy o) -> bool
2064  __ge__(Hierarchy self, Particle d) -> bool
2065  """
2066  return _IMP_atom.Hierarchy___ge__(self, *args)
2067 
2068  def __gt__(self, *args):
2069  r"""
2070  __gt__(Hierarchy self, Hierarchy o) -> bool
2071  __gt__(Hierarchy self, Particle d) -> bool
2072  """
2073  return _IMP_atom.Hierarchy___gt__(self, *args)
2074 
2075  def __hash__(self):
2076  r"""__hash__(Hierarchy self) -> std::size_t"""
2077  return _IMP_atom.Hierarchy___hash__(self)
2078 
2079  def __str__(self):
2080  r"""__str__(Hierarchy self) -> std::string"""
2081  return _IMP_atom.Hierarchy___str__(self)
2082 
2083  def __repr__(self):
2084  r"""__repr__(Hierarchy self) -> std::string"""
2085  return _IMP_atom.Hierarchy___repr__(self)
2086 
2087  def _get_as_binary(self):
2088  r"""_get_as_binary(Hierarchy self) -> PyObject *"""
2089  return _IMP_atom.Hierarchy__get_as_binary(self)
2090 
2091  def _set_from_binary(self, p):
2092  r"""_set_from_binary(Hierarchy self, PyObject * p)"""
2093  return _IMP_atom.Hierarchy__set_from_binary(self, p)
2094 
2095  def __getstate__(self):
2096  p = self._get_as_binary()
2097  if len(self.__dict__) > 1:
2098  d = self.__dict__.copy()
2099  del d['this']
2100  p = (d, p)
2101  return p
2102 
2103  def __setstate__(self, p):
2104  if not hasattr(self, 'this'):
2105  self.__init__()
2106  if isinstance(p, tuple):
2107  d, p = p
2108  self.__dict__.update(d)
2109  return self._set_from_binary(p)
2110 
2111  __swig_destroy__ = _IMP_atom.delete_Hierarchy
2112 
2113 # Register Hierarchy in _IMP_atom:
2114 _IMP_atom.Hierarchy_swigregister(Hierarchy)
2115 ATOM_TYPE = _IMP_atom.ATOM_TYPE
2116 
2117 RESIDUE_TYPE = _IMP_atom.RESIDUE_TYPE
2118 
2119 CHAIN_TYPE = _IMP_atom.CHAIN_TYPE
2120 
2121 MOLECULE_TYPE = _IMP_atom.MOLECULE_TYPE
2122 
2123 DOMAIN_TYPE = _IMP_atom.DOMAIN_TYPE
2124 
2125 FRAGMENT_TYPE = _IMP_atom.FRAGMENT_TYPE
2126 
2127 XYZ_TYPE = _IMP_atom.XYZ_TYPE
2128 
2129 XYZR_TYPE = _IMP_atom.XYZR_TYPE
2130 
2131 MASS_TYPE = _IMP_atom.MASS_TYPE
2132 
2133 STATE_TYPE = _IMP_atom.STATE_TYPE
2134 
2135 
2136 def get_by_type(mhd, t):
2137  r"""get_by_type(Hierarchy mhd, IMP::atom::GetByType t) -> IMP::atom::Hierarchies"""
2138  return _IMP_atom.get_by_type(mhd, t)
2139 
2140 def create_fragment(ps):
2141  r"""create_fragment(IMP::atom::Hierarchies const & ps) -> Hierarchy"""
2142  return _IMP_atom.create_fragment(ps)
2143 
2144 def get_internal_bonds(mhd, with_representations=False):
2145  r"""get_internal_bonds(Hierarchy mhd, bool with_representations=False) -> IMP::atom::Bonds"""
2146  return _IMP_atom.get_internal_bonds(mhd, with_representations)
2147 
2148 def get_root(h):
2149  r"""get_root(Hierarchy h) -> Hierarchy"""
2150  return _IMP_atom.get_root(h)
2151 
2152 def show(*args):
2153  r"""show(Hierarchy h, _ostream out=std::cout)"""
2154  return _IMP_atom.show(*args)
2155 
2156 def create_rigid_body(*args):
2157  r"""
2158  create_rigid_body(IMP::atom::Hierarchies const & h, std::string name=std::string("created rigid body")) -> RigidBody
2159  create_rigid_body(Hierarchy h) -> RigidBody
2160  """
2161  return _IMP_atom.create_rigid_body(*args)
2162 
2163 def create_compatible_rigid_body(h, reference):
2164  r"""create_compatible_rigid_body(Hierarchy h, Hierarchy reference) -> RigidBody"""
2165  return _IMP_atom.create_compatible_rigid_body(h, reference)
2166 
2167 def get_is_heterogen(h):
2168  r"""get_is_heterogen(Hierarchy h) -> bool"""
2169  return _IMP_atom.get_is_heterogen(h)
2170 
2171 def create_clone(d):
2172  r"""create_clone(Hierarchy d) -> Hierarchy"""
2173  return _IMP_atom.create_clone(d)
2174 
2175 def create_clone_one(d):
2176  r"""create_clone_one(Hierarchy d) -> Hierarchy"""
2177  return _IMP_atom.create_clone_one(d)
2178 
2179 def destroy(d):
2180  r"""destroy(Hierarchy d)"""
2181  return _IMP_atom.destroy(d)
2182 
2183 def get_bounding_box(h):
2184  r"""get_bounding_box(Hierarchy h) -> BoundingBox3D"""
2185  return _IMP_atom.get_bounding_box(h)
2186 
2187 def get_bounding_sphere(h):
2188  r"""get_bounding_sphere(Hierarchy h) -> Sphere3D"""
2189  return _IMP_atom.get_bounding_sphere(h)
2190 class Angle(IMP.Decorator):
2191  r"""Proxy of C++ IMP::atom::Angle class."""
2192 
2193  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2194 
2195  def __init__(self, *args):
2196  r"""
2197  __init__(Angle self) -> Angle
2198  __init__(Angle self, Model m, ParticleIndex id) -> Angle
2199  __init__(Angle self, _ParticleAdaptor d) -> Angle
2200  """
2201  _IMP_atom.Angle_swiginit(self, _IMP_atom.new_Angle(*args))
2202 
2203  def show(self, *args):
2204  r"""show(Angle self, _ostream out=std::cout)"""
2205  return _IMP_atom.Angle_show(self, *args)
2206 
2207  @staticmethod
2208  def setup_particle(*args):
2209  r"""
2210  setup_particle(Model m, ParticleIndex pi, XYZ a, XYZ b, XYZ c) -> Angle
2211  setup_particle(_ParticleAdaptor pa, XYZ a, XYZ b, XYZ c) -> Angle
2212  """
2213  return _IMP_atom.Angle_setup_particle(*args)
2214 
2215  @staticmethod
2216  def get_is_setup(*args):
2217  r"""
2218  get_is_setup(_ParticleAdaptor p) -> bool
2219  get_is_setup(Model m, ParticleIndex pi) -> bool
2220  """
2221  return _IMP_atom.Angle_get_is_setup(*args)
2222 
2223  def get_particle(self, *args):
2224  r"""
2225  get_particle(Angle self) -> Particle
2226  get_particle(Angle self, unsigned int i) -> Particle
2227  """
2228  return _IMP_atom.Angle_get_particle(self, *args)
2229 
2230  def get_ideal(self):
2231  r"""get_ideal(Angle self) -> IMP::Float"""
2232  return _IMP_atom.Angle_get_ideal(self)
2233 
2234  def set_ideal(self, t):
2235  r"""set_ideal(Angle self, IMP::Float t)"""
2236  return _IMP_atom.Angle_set_ideal(self, t)
2237 
2238  def get_stiffness(self):
2239  r"""get_stiffness(Angle self) -> IMP::Float"""
2240  return _IMP_atom.Angle_get_stiffness(self)
2241 
2242  def set_stiffness(self, t):
2243  r"""set_stiffness(Angle self, IMP::Float t)"""
2244  return _IMP_atom.Angle_set_stiffness(self, t)
2245 
2246  @staticmethod
2247  def get_particle_key(i):
2248  r"""get_particle_key(unsigned int i) -> ParticleIndexKey"""
2249  return _IMP_atom.Angle_get_particle_key(i)
2250 
2251  @staticmethod
2252  def get_ideal_key():
2253  r"""get_ideal_key() -> FloatKey"""
2254  return _IMP_atom.Angle_get_ideal_key()
2255 
2256  @staticmethod
2257  def get_stiffness_key():
2258  r"""get_stiffness_key() -> FloatKey"""
2259  return _IMP_atom.Angle_get_stiffness_key()
2260 
2261  def add_attribute(self, *args):
2262  r"""
2263  add_attribute(Angle self, FloatKey k, IMP::Float v, bool opt)
2264  add_attribute(Angle self, FloatKey a0, IMP::Float a1)
2265  add_attribute(Angle self, IntKey a0, IMP::Int a1)
2266  add_attribute(Angle self, FloatsKey a0, IMP::Floats a1)
2267  add_attribute(Angle self, IntsKey a0, IMP::Ints a1)
2268  add_attribute(Angle self, StringKey a0, IMP::String a1)
2269  add_attribute(Angle self, ParticleIndexKey a0, Particle a1)
2270  add_attribute(Angle self, ObjectKey a0, Object a1)
2271  add_attribute(Angle self, SparseFloatKey a0, IMP::Float a1)
2272  add_attribute(Angle self, SparseIntKey a0, IMP::Int a1)
2273  add_attribute(Angle self, SparseStringKey a0, IMP::String a1)
2274  add_attribute(Angle self, SparseParticleIndexKey a0, ParticleIndex a1)
2275  """
2276  return _IMP_atom.Angle_add_attribute(self, *args)
2277 
2278  def get_value(self, *args):
2279  r"""
2280  get_value(Angle self, FloatKey a0) -> IMP::Float
2281  get_value(Angle self, IntKey a0) -> IMP::Int
2282  get_value(Angle self, FloatsKey a0) -> IMP::Floats
2283  get_value(Angle self, IntsKey a0) -> IMP::Ints
2284  get_value(Angle self, StringKey a0) -> IMP::String
2285  get_value(Angle self, ParticleIndexKey a0) -> Particle
2286  get_value(Angle self, ObjectKey a0) -> Object
2287  get_value(Angle self, SparseFloatKey a0) -> IMP::Float
2288  get_value(Angle self, SparseIntKey a0) -> IMP::Int
2289  get_value(Angle self, SparseStringKey a0) -> IMP::String
2290  get_value(Angle self, SparseParticleIndexKey a0) -> ParticleIndex
2291  """
2292  return _IMP_atom.Angle_get_value(self, *args)
2293 
2294  def set_value(self, *args):
2295  r"""
2296  set_value(Angle self, FloatKey a0, IMP::Float a1)
2297  set_value(Angle self, IntKey a0, IMP::Int a1)
2298  set_value(Angle self, FloatsKey a0, IMP::Floats a1)
2299  set_value(Angle self, IntsKey a0, IMP::Ints a1)
2300  set_value(Angle self, StringKey a0, IMP::String a1)
2301  set_value(Angle self, ParticleIndexKey a0, Particle a1)
2302  set_value(Angle self, ObjectKey a0, Object a1)
2303  set_value(Angle self, SparseFloatKey a0, IMP::Float a1)
2304  set_value(Angle self, SparseIntKey a0, IMP::Int a1)
2305  set_value(Angle self, SparseStringKey a0, IMP::String a1)
2306  set_value(Angle self, SparseParticleIndexKey a0, ParticleIndex a1)
2307  """
2308  return _IMP_atom.Angle_set_value(self, *args)
2309 
2310  def remove_attribute(self, *args):
2311  r"""
2312  remove_attribute(Angle self, FloatKey a0)
2313  remove_attribute(Angle self, IntKey a0)
2314  remove_attribute(Angle self, FloatsKey a0)
2315  remove_attribute(Angle self, IntsKey a0)
2316  remove_attribute(Angle self, StringKey a0)
2317  remove_attribute(Angle self, ParticleIndexKey a0)
2318  remove_attribute(Angle self, ObjectKey a0)
2319  remove_attribute(Angle self, SparseFloatKey a0)
2320  remove_attribute(Angle self, SparseIntKey a0)
2321  remove_attribute(Angle self, SparseStringKey a0)
2322  remove_attribute(Angle self, SparseParticleIndexKey a0)
2323  """
2324  return _IMP_atom.Angle_remove_attribute(self, *args)
2325 
2326  def has_attribute(self, *args):
2327  r"""
2328  has_attribute(Angle self, FloatKey a0) -> bool
2329  has_attribute(Angle self, IntKey a0) -> bool
2330  has_attribute(Angle self, FloatsKey a0) -> bool
2331  has_attribute(Angle self, IntsKey a0) -> bool
2332  has_attribute(Angle self, StringKey a0) -> bool
2333  has_attribute(Angle self, ParticleIndexKey a0) -> bool
2334  has_attribute(Angle self, ObjectKey a0) -> bool
2335  has_attribute(Angle self, SparseFloatKey a0) -> bool
2336  has_attribute(Angle self, SparseIntKey a0) -> bool
2337  has_attribute(Angle self, SparseStringKey a0) -> bool
2338  has_attribute(Angle self, SparseParticleIndexKey a0) -> bool
2339  """
2340  return _IMP_atom.Angle_has_attribute(self, *args)
2341 
2342  def get_derivative(self, a0):
2343  r"""get_derivative(Angle self, FloatKey a0) -> double"""
2344  return _IMP_atom.Angle_get_derivative(self, a0)
2345 
2346  def get_name(self):
2347  r"""get_name(Angle self) -> std::string"""
2348  return _IMP_atom.Angle_get_name(self)
2349 
2350  def clear_caches(self):
2351  r"""clear_caches(Angle self)"""
2352  return _IMP_atom.Angle_clear_caches(self)
2353 
2354  def set_name(self, a0):
2355  r"""set_name(Angle self, std::string a0)"""
2356  return _IMP_atom.Angle_set_name(self, a0)
2357 
2358  def set_check_level(self, a0):
2359  r"""set_check_level(Angle self, IMP::CheckLevel a0)"""
2360  return _IMP_atom.Angle_set_check_level(self, a0)
2361 
2362  def add_to_derivative(self, a0, a1, a2):
2363  r"""add_to_derivative(Angle self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2364  return _IMP_atom.Angle_add_to_derivative(self, a0, a1, a2)
2365 
2366  def set_is_optimized(self, a0, a1):
2367  r"""set_is_optimized(Angle self, FloatKey a0, bool a1)"""
2368  return _IMP_atom.Angle_set_is_optimized(self, a0, a1)
2369 
2370  def get_is_optimized(self, a0):
2371  r"""get_is_optimized(Angle self, FloatKey a0) -> bool"""
2372  return _IMP_atom.Angle_get_is_optimized(self, a0)
2373 
2374  def get_check_level(self):
2375  r"""get_check_level(Angle self) -> IMP::CheckLevel"""
2376  return _IMP_atom.Angle_get_check_level(self)
2377 
2378  def __eq__(self, *args):
2379  r"""
2380  __eq__(Angle self, Angle o) -> bool
2381  __eq__(Angle self, Particle d) -> bool
2382  """
2383  return _IMP_atom.Angle___eq__(self, *args)
2384 
2385  def __ne__(self, *args):
2386  r"""
2387  __ne__(Angle self, Angle o) -> bool
2388  __ne__(Angle self, Particle d) -> bool
2389  """
2390  return _IMP_atom.Angle___ne__(self, *args)
2391 
2392  def __le__(self, *args):
2393  r"""
2394  __le__(Angle self, Angle o) -> bool
2395  __le__(Angle self, Particle d) -> bool
2396  """
2397  return _IMP_atom.Angle___le__(self, *args)
2398 
2399  def __lt__(self, *args):
2400  r"""
2401  __lt__(Angle self, Angle o) -> bool
2402  __lt__(Angle self, Particle d) -> bool
2403  """
2404  return _IMP_atom.Angle___lt__(self, *args)
2405 
2406  def __ge__(self, *args):
2407  r"""
2408  __ge__(Angle self, Angle o) -> bool
2409  __ge__(Angle self, Particle d) -> bool
2410  """
2411  return _IMP_atom.Angle___ge__(self, *args)
2412 
2413  def __gt__(self, *args):
2414  r"""
2415  __gt__(Angle self, Angle o) -> bool
2416  __gt__(Angle self, Particle d) -> bool
2417  """
2418  return _IMP_atom.Angle___gt__(self, *args)
2419 
2420  def __hash__(self):
2421  r"""__hash__(Angle self) -> std::size_t"""
2422  return _IMP_atom.Angle___hash__(self)
2423 
2424  def __str__(self):
2425  r"""__str__(Angle self) -> std::string"""
2426  return _IMP_atom.Angle___str__(self)
2427 
2428  def __repr__(self):
2429  r"""__repr__(Angle self) -> std::string"""
2430  return _IMP_atom.Angle___repr__(self)
2431 
2432  def _get_as_binary(self):
2433  r"""_get_as_binary(Angle self) -> PyObject *"""
2434  return _IMP_atom.Angle__get_as_binary(self)
2435 
2436  def _set_from_binary(self, p):
2437  r"""_set_from_binary(Angle self, PyObject * p)"""
2438  return _IMP_atom.Angle__set_from_binary(self, p)
2439 
2440  def __getstate__(self):
2441  p = self._get_as_binary()
2442  if len(self.__dict__) > 1:
2443  d = self.__dict__.copy()
2444  del d['this']
2445  p = (d, p)
2446  return p
2447 
2448  def __setstate__(self, p):
2449  if not hasattr(self, 'this'):
2450  self.__init__()
2451  if isinstance(p, tuple):
2452  d, p = p
2453  self.__dict__.update(d)
2454  return self._set_from_binary(p)
2455 
2456  __swig_destroy__ = _IMP_atom.delete_Angle
2457 
2458 # Register Angle in _IMP_atom:
2459 _IMP_atom.Angle_swigregister(Angle)
2460 class Dihedral(IMP.Decorator):
2461  r"""Proxy of C++ IMP::atom::Dihedral class."""
2462 
2463  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2464 
2465  def __init__(self, *args):
2466  r"""
2467  __init__(Dihedral self) -> Dihedral
2468  __init__(Dihedral self, Model m, ParticleIndex id) -> Dihedral
2469  __init__(Dihedral self, _ParticleAdaptor d) -> Dihedral
2470  """
2471  _IMP_atom.Dihedral_swiginit(self, _IMP_atom.new_Dihedral(*args))
2472 
2473  def show(self, *args):
2474  r"""show(Dihedral self, _ostream out=std::cout)"""
2475  return _IMP_atom.Dihedral_show(self, *args)
2476 
2477  @staticmethod
2478  def setup_particle(*args):
2479  r"""
2480  setup_particle(Model m, ParticleIndex pi, XYZ a, XYZ b, XYZ c, XYZ d) -> Dihedral
2481  setup_particle(_ParticleAdaptor pa, XYZ a, XYZ b, XYZ c, XYZ d) -> Dihedral
2482  """
2483  return _IMP_atom.Dihedral_setup_particle(*args)
2484 
2485  @staticmethod
2486  def get_is_setup(*args):
2487  r"""
2488  get_is_setup(_ParticleAdaptor p) -> bool
2489  get_is_setup(Model m, ParticleIndex pi) -> bool
2490  """
2491  return _IMP_atom.Dihedral_get_is_setup(*args)
2492 
2493  def get_particle(self, *args):
2494  r"""
2495  get_particle(Dihedral self) -> Particle
2496  get_particle(Dihedral self, unsigned int i) -> Particle
2497  """
2498  return _IMP_atom.Dihedral_get_particle(self, *args)
2499 
2500  def get_ideal(self):
2501  r"""get_ideal(Dihedral self) -> IMP::Float"""
2502  return _IMP_atom.Dihedral_get_ideal(self)
2503 
2504  def set_ideal(self, t):
2505  r"""set_ideal(Dihedral self, IMP::Float t)"""
2506  return _IMP_atom.Dihedral_set_ideal(self, t)
2507 
2508  def get_multiplicity(self):
2509  r"""get_multiplicity(Dihedral self) -> IMP::Int"""
2510  return _IMP_atom.Dihedral_get_multiplicity(self)
2511 
2512  def set_multiplicity(self, t):
2513  r"""set_multiplicity(Dihedral self, IMP::Int t)"""
2514  return _IMP_atom.Dihedral_set_multiplicity(self, t)
2515 
2516  def get_stiffness(self):
2517  r"""get_stiffness(Dihedral self) -> IMP::Float"""
2518  return _IMP_atom.Dihedral_get_stiffness(self)
2519 
2520  def set_stiffness(self, t):
2521  r"""set_stiffness(Dihedral self, IMP::Float t)"""
2522  return _IMP_atom.Dihedral_set_stiffness(self, t)
2523 
2524  @staticmethod
2525  def get_particle_key(i):
2526  r"""get_particle_key(unsigned int i) -> ParticleIndexKey"""
2527  return _IMP_atom.Dihedral_get_particle_key(i)
2528 
2529  @staticmethod
2530  def get_ideal_key():
2531  r"""get_ideal_key() -> FloatKey"""
2532  return _IMP_atom.Dihedral_get_ideal_key()
2533 
2534  @staticmethod
2535  def get_multiplicity_key():
2536  r"""get_multiplicity_key() -> IntKey"""
2537  return _IMP_atom.Dihedral_get_multiplicity_key()
2538 
2539  @staticmethod
2540  def get_stiffness_key():
2541  r"""get_stiffness_key() -> FloatKey"""
2542  return _IMP_atom.Dihedral_get_stiffness_key()
2543 
2544  def add_attribute(self, *args):
2545  r"""
2546  add_attribute(Dihedral self, FloatKey k, IMP::Float v, bool opt)
2547  add_attribute(Dihedral self, FloatKey a0, IMP::Float a1)
2548  add_attribute(Dihedral self, IntKey a0, IMP::Int a1)
2549  add_attribute(Dihedral self, FloatsKey a0, IMP::Floats a1)
2550  add_attribute(Dihedral self, IntsKey a0, IMP::Ints a1)
2551  add_attribute(Dihedral self, StringKey a0, IMP::String a1)
2552  add_attribute(Dihedral self, ParticleIndexKey a0, Particle a1)
2553  add_attribute(Dihedral self, ObjectKey a0, Object a1)
2554  add_attribute(Dihedral self, SparseFloatKey a0, IMP::Float a1)
2555  add_attribute(Dihedral self, SparseIntKey a0, IMP::Int a1)
2556  add_attribute(Dihedral self, SparseStringKey a0, IMP::String a1)
2557  add_attribute(Dihedral self, SparseParticleIndexKey a0, ParticleIndex a1)
2558  """
2559  return _IMP_atom.Dihedral_add_attribute(self, *args)
2560 
2561  def get_value(self, *args):
2562  r"""
2563  get_value(Dihedral self, FloatKey a0) -> IMP::Float
2564  get_value(Dihedral self, IntKey a0) -> IMP::Int
2565  get_value(Dihedral self, FloatsKey a0) -> IMP::Floats
2566  get_value(Dihedral self, IntsKey a0) -> IMP::Ints
2567  get_value(Dihedral self, StringKey a0) -> IMP::String
2568  get_value(Dihedral self, ParticleIndexKey a0) -> Particle
2569  get_value(Dihedral self, ObjectKey a0) -> Object
2570  get_value(Dihedral self, SparseFloatKey a0) -> IMP::Float
2571  get_value(Dihedral self, SparseIntKey a0) -> IMP::Int
2572  get_value(Dihedral self, SparseStringKey a0) -> IMP::String
2573  get_value(Dihedral self, SparseParticleIndexKey a0) -> ParticleIndex
2574  """
2575  return _IMP_atom.Dihedral_get_value(self, *args)
2576 
2577  def set_value(self, *args):
2578  r"""
2579  set_value(Dihedral self, FloatKey a0, IMP::Float a1)
2580  set_value(Dihedral self, IntKey a0, IMP::Int a1)
2581  set_value(Dihedral self, FloatsKey a0, IMP::Floats a1)
2582  set_value(Dihedral self, IntsKey a0, IMP::Ints a1)
2583  set_value(Dihedral self, StringKey a0, IMP::String a1)
2584  set_value(Dihedral self, ParticleIndexKey a0, Particle a1)
2585  set_value(Dihedral self, ObjectKey a0, Object a1)
2586  set_value(Dihedral self, SparseFloatKey a0, IMP::Float a1)
2587  set_value(Dihedral self, SparseIntKey a0, IMP::Int a1)
2588  set_value(Dihedral self, SparseStringKey a0, IMP::String a1)
2589  set_value(Dihedral self, SparseParticleIndexKey a0, ParticleIndex a1)
2590  """
2591  return _IMP_atom.Dihedral_set_value(self, *args)
2592 
2593  def remove_attribute(self, *args):
2594  r"""
2595  remove_attribute(Dihedral self, FloatKey a0)
2596  remove_attribute(Dihedral self, IntKey a0)
2597  remove_attribute(Dihedral self, FloatsKey a0)
2598  remove_attribute(Dihedral self, IntsKey a0)
2599  remove_attribute(Dihedral self, StringKey a0)
2600  remove_attribute(Dihedral self, ParticleIndexKey a0)
2601  remove_attribute(Dihedral self, ObjectKey a0)
2602  remove_attribute(Dihedral self, SparseFloatKey a0)
2603  remove_attribute(Dihedral self, SparseIntKey a0)
2604  remove_attribute(Dihedral self, SparseStringKey a0)
2605  remove_attribute(Dihedral self, SparseParticleIndexKey a0)
2606  """
2607  return _IMP_atom.Dihedral_remove_attribute(self, *args)
2608 
2609  def has_attribute(self, *args):
2610  r"""
2611  has_attribute(Dihedral self, FloatKey a0) -> bool
2612  has_attribute(Dihedral self, IntKey a0) -> bool
2613  has_attribute(Dihedral self, FloatsKey a0) -> bool
2614  has_attribute(Dihedral self, IntsKey a0) -> bool
2615  has_attribute(Dihedral self, StringKey a0) -> bool
2616  has_attribute(Dihedral self, ParticleIndexKey a0) -> bool
2617  has_attribute(Dihedral self, ObjectKey a0) -> bool
2618  has_attribute(Dihedral self, SparseFloatKey a0) -> bool
2619  has_attribute(Dihedral self, SparseIntKey a0) -> bool
2620  has_attribute(Dihedral self, SparseStringKey a0) -> bool
2621  has_attribute(Dihedral self, SparseParticleIndexKey a0) -> bool
2622  """
2623  return _IMP_atom.Dihedral_has_attribute(self, *args)
2624 
2625  def get_derivative(self, a0):
2626  r"""get_derivative(Dihedral self, FloatKey a0) -> double"""
2627  return _IMP_atom.Dihedral_get_derivative(self, a0)
2628 
2629  def get_name(self):
2630  r"""get_name(Dihedral self) -> std::string"""
2631  return _IMP_atom.Dihedral_get_name(self)
2632 
2633  def clear_caches(self):
2634  r"""clear_caches(Dihedral self)"""
2635  return _IMP_atom.Dihedral_clear_caches(self)
2636 
2637  def set_name(self, a0):
2638  r"""set_name(Dihedral self, std::string a0)"""
2639  return _IMP_atom.Dihedral_set_name(self, a0)
2640 
2641  def set_check_level(self, a0):
2642  r"""set_check_level(Dihedral self, IMP::CheckLevel a0)"""
2643  return _IMP_atom.Dihedral_set_check_level(self, a0)
2644 
2645  def add_to_derivative(self, a0, a1, a2):
2646  r"""add_to_derivative(Dihedral self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2647  return _IMP_atom.Dihedral_add_to_derivative(self, a0, a1, a2)
2648 
2649  def set_is_optimized(self, a0, a1):
2650  r"""set_is_optimized(Dihedral self, FloatKey a0, bool a1)"""
2651  return _IMP_atom.Dihedral_set_is_optimized(self, a0, a1)
2652 
2653  def get_is_optimized(self, a0):
2654  r"""get_is_optimized(Dihedral self, FloatKey a0) -> bool"""
2655  return _IMP_atom.Dihedral_get_is_optimized(self, a0)
2656 
2657  def get_check_level(self):
2658  r"""get_check_level(Dihedral self) -> IMP::CheckLevel"""
2659  return _IMP_atom.Dihedral_get_check_level(self)
2660 
2661  def __eq__(self, *args):
2662  r"""
2663  __eq__(Dihedral self, Dihedral o) -> bool
2664  __eq__(Dihedral self, Particle d) -> bool
2665  """
2666  return _IMP_atom.Dihedral___eq__(self, *args)
2667 
2668  def __ne__(self, *args):
2669  r"""
2670  __ne__(Dihedral self, Dihedral o) -> bool
2671  __ne__(Dihedral self, Particle d) -> bool
2672  """
2673  return _IMP_atom.Dihedral___ne__(self, *args)
2674 
2675  def __le__(self, *args):
2676  r"""
2677  __le__(Dihedral self, Dihedral o) -> bool
2678  __le__(Dihedral self, Particle d) -> bool
2679  """
2680  return _IMP_atom.Dihedral___le__(self, *args)
2681 
2682  def __lt__(self, *args):
2683  r"""
2684  __lt__(Dihedral self, Dihedral o) -> bool
2685  __lt__(Dihedral self, Particle d) -> bool
2686  """
2687  return _IMP_atom.Dihedral___lt__(self, *args)
2688 
2689  def __ge__(self, *args):
2690  r"""
2691  __ge__(Dihedral self, Dihedral o) -> bool
2692  __ge__(Dihedral self, Particle d) -> bool
2693  """
2694  return _IMP_atom.Dihedral___ge__(self, *args)
2695 
2696  def __gt__(self, *args):
2697  r"""
2698  __gt__(Dihedral self, Dihedral o) -> bool
2699  __gt__(Dihedral self, Particle d) -> bool
2700  """
2701  return _IMP_atom.Dihedral___gt__(self, *args)
2702 
2703  def __hash__(self):
2704  r"""__hash__(Dihedral self) -> std::size_t"""
2705  return _IMP_atom.Dihedral___hash__(self)
2706 
2707  def __str__(self):
2708  r"""__str__(Dihedral self) -> std::string"""
2709  return _IMP_atom.Dihedral___str__(self)
2710 
2711  def __repr__(self):
2712  r"""__repr__(Dihedral self) -> std::string"""
2713  return _IMP_atom.Dihedral___repr__(self)
2714 
2715  def _get_as_binary(self):
2716  r"""_get_as_binary(Dihedral self) -> PyObject *"""
2717  return _IMP_atom.Dihedral__get_as_binary(self)
2718 
2719  def _set_from_binary(self, p):
2720  r"""_set_from_binary(Dihedral self, PyObject * p)"""
2721  return _IMP_atom.Dihedral__set_from_binary(self, p)
2722 
2723  def __getstate__(self):
2724  p = self._get_as_binary()
2725  if len(self.__dict__) > 1:
2726  d = self.__dict__.copy()
2727  del d['this']
2728  p = (d, p)
2729  return p
2730 
2731  def __setstate__(self, p):
2732  if not hasattr(self, 'this'):
2733  self.__init__()
2734  if isinstance(p, tuple):
2735  d, p = p
2736  self.__dict__.update(d)
2737  return self._set_from_binary(p)
2738 
2739  __swig_destroy__ = _IMP_atom.delete_Dihedral
2740 
2741 # Register Dihedral in _IMP_atom:
2742 _IMP_atom.Dihedral_swigregister(Dihedral)
2743 class SmoothingFunction(IMP.Object):
2744  r"""Proxy of C++ IMP::atom::SmoothingFunction class."""
2745 
2746  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2747 
2748  def __init__(self, *args, **kwargs):
2749  raise AttributeError("No constructor defined - class is abstract")
2750 
2751  def __call__(self, *args):
2752  r"""
2753  __call__(SmoothingFunction self, double score, double distance) -> double
2754  __call__(SmoothingFunction self, double score, double deriv, double distance) -> IMP::DerivativePair
2755  """
2756  return _IMP_atom.SmoothingFunction___call__(self, *args)
2757  __swig_destroy__ = _IMP_atom.delete_SmoothingFunction
2758 
2759  def __str__(self):
2760  r"""__str__(SmoothingFunction self) -> std::string"""
2761  return _IMP_atom.SmoothingFunction___str__(self)
2762 
2763  def __repr__(self):
2764  r"""__repr__(SmoothingFunction self) -> std::string"""
2765  return _IMP_atom.SmoothingFunction___repr__(self)
2766 
2767  @staticmethod
2768  def get_from(o):
2769  return _object_cast_to_SmoothingFunction(o)
2770 
2771 
2772 # Register SmoothingFunction in _IMP_atom:
2773 _IMP_atom.SmoothingFunction_swigregister(SmoothingFunction)
2774 class ForceSwitch(SmoothingFunction):
2775  r"""Proxy of C++ IMP::atom::ForceSwitch class."""
2776 
2777  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2778 
2779  def __init__(self, min_distance, max_distance):
2780  r"""__init__(ForceSwitch self, double min_distance, double max_distance) -> ForceSwitch"""
2781  _IMP_atom.ForceSwitch_swiginit(self, _IMP_atom.new_ForceSwitch(min_distance, max_distance))
2782 
2783  def get_min_distance(self):
2784  r"""get_min_distance(ForceSwitch self) -> double"""
2785  return _IMP_atom.ForceSwitch_get_min_distance(self)
2786 
2787  def get_max_distance(self):
2788  r"""get_max_distance(ForceSwitch self) -> double"""
2789  return _IMP_atom.ForceSwitch_get_max_distance(self)
2790 
2791  def __call__(self, *args):
2792  r"""
2793  __call__(ForceSwitch self, double score, double distance) -> double
2794  __call__(ForceSwitch self, double score, double deriv, double distance) -> IMP::DerivativePair
2795  """
2796  return _IMP_atom.ForceSwitch___call__(self, *args)
2797 
2798  def get_version_info(self):
2799  r"""get_version_info(ForceSwitch self) -> VersionInfo"""
2800  return _IMP_atom.ForceSwitch_get_version_info(self)
2801  __swig_destroy__ = _IMP_atom.delete_ForceSwitch
2802 
2803  def __str__(self):
2804  r"""__str__(ForceSwitch self) -> std::string"""
2805  return _IMP_atom.ForceSwitch___str__(self)
2806 
2807  def __repr__(self):
2808  r"""__repr__(ForceSwitch self) -> std::string"""
2809  return _IMP_atom.ForceSwitch___repr__(self)
2810 
2811  @staticmethod
2812  def get_from(o):
2813  return _object_cast_to_ForceSwitch(o)
2814 
2815 
2816  def _get_jax(self):
2817  import jax.lax
2818  min_distance = self.get_min_distance()
2819  max_distance = self.get_max_distance()
2820  dist_dif = max_distance - min_distance
2821  value_prefactor = 1.0 / (dist_dif * dist_dif * dist_dif)
2822  deriv_prefactor = 6.0 * value_prefactor
2823  def mid_range_score(d):
2824  x = max_distance - d
2825  return (value_prefactor * x * x *
2826  (max_distance + 2.0 * d - 3.0 * min_distance))
2827  def not_short_range_score(d):
2828  return jax.lax.cond(d > max_distance, lambda d: 0.0,
2829  mid_range_score, d)
2830  def jax_func(score, d):
2831  factor = jax.lax.cond(d <= min_distance, lambda d: 1.0,
2832  not_short_range_score, d)
2833  return score * factor
2834  return jax_func
2835 
2836 
2837 # Register ForceSwitch in _IMP_atom:
2838 _IMP_atom.ForceSwitch_swigregister(ForceSwitch)
2839 class AngleSingletonScore(IMP.SingletonScore):
2840  r"""Proxy of C++ IMP::atom::AngleSingletonScore class."""
2841 
2842  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2843 
2844  def __init__(self, f):
2845  r"""__init__(AngleSingletonScore self, UnaryFunction f) -> AngleSingletonScore"""
2846  _IMP_atom.AngleSingletonScore_swiginit(self, _IMP_atom.new_AngleSingletonScore(f))
2847 
2848  def get_unary_function(self):
2849  r"""get_unary_function(AngleSingletonScore self) -> UnaryFunction"""
2850  return _IMP_atom.AngleSingletonScore_get_unary_function(self)
2851 
2852  def do_get_inputs(self, m, pis):
2853  r"""do_get_inputs(AngleSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
2854  return _IMP_atom.AngleSingletonScore_do_get_inputs(self, m, pis)
2855 
2856  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
2857  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"""
2858  return _IMP_atom.AngleSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
2859 
2860  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
2861  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"""
2862  return _IMP_atom.AngleSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
2863 
2864  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
2865  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"""
2866  return _IMP_atom.AngleSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
2867 
2868  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
2869  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"""
2870  return _IMP_atom.AngleSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
2871 
2872  def get_version_info(self):
2873  r"""get_version_info(AngleSingletonScore self) -> VersionInfo"""
2874  return _IMP_atom.AngleSingletonScore_get_version_info(self)
2875  __swig_destroy__ = _IMP_atom.delete_AngleSingletonScore
2876 
2877  def __str__(self):
2878  r"""__str__(AngleSingletonScore self) -> std::string"""
2879  return _IMP_atom.AngleSingletonScore___str__(self)
2880 
2881  def __repr__(self):
2882  r"""__repr__(AngleSingletonScore self) -> std::string"""
2883  return _IMP_atom.AngleSingletonScore___repr__(self)
2884 
2885  @staticmethod
2886  def get_from(o):
2887  return _object_cast_to_AngleSingletonScore(o)
2888 
2889 
2890  def _get_jax(self, m, indexes):
2891  import jax.numpy as jnp
2892  import IMP.core._jax_util
2893  from IMP.atom._jax_util import _get_angles
2894  def score(jm, angles, uf):
2895  xyzs = jm['xyz'][angles.bonded_indexes]
2896  rij = xyzs[:,0] - xyzs[:,1]
2897  rkj = xyzs[:,2] - xyzs[:,1]
2898  angle = IMP.core._jax_util._angle(rij, rkj)
2899  angle_diff = IMP.core._jax_util._get_angle_difference(
2900  angle, angles.ideal)
2901  return uf(angles.stiffness * angle_diff)
2902  uf = self.get_unary_function().get_derived_object()
2903  f = functools.partial(score, angles=_get_angles(m, indexes),
2904  uf=uf._get_jax())
2905  return self._wrap_jax(m, f)
2906 
2907 
2908 # Register AngleSingletonScore in _IMP_atom:
2909 _IMP_atom.AngleSingletonScore_swigregister(AngleSingletonScore)
2910 class BondEndpointsRefiner(IMP.Refiner):
2911  r"""Proxy of C++ IMP::atom::BondEndpointsRefiner class."""
2912 
2913  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2914 
2915  def __init__(self):
2916  r"""__init__(BondEndpointsRefiner self) -> BondEndpointsRefiner"""
2917  _IMP_atom.BondEndpointsRefiner_swiginit(self, _IMP_atom.new_BondEndpointsRefiner())
2918 
2919  def do_get_inputs(self, m, pis):
2920  r"""do_get_inputs(BondEndpointsRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
2921  return _IMP_atom.BondEndpointsRefiner_do_get_inputs(self, m, pis)
2922 
2923  def get_version_info(self):
2924  r"""get_version_info(BondEndpointsRefiner self) -> VersionInfo"""
2925  return _IMP_atom.BondEndpointsRefiner_get_version_info(self)
2926  __swig_destroy__ = _IMP_atom.delete_BondEndpointsRefiner
2927 
2928  def __str__(self):
2929  r"""__str__(BondEndpointsRefiner self) -> std::string"""
2930  return _IMP_atom.BondEndpointsRefiner___str__(self)
2931 
2932  def __repr__(self):
2933  r"""__repr__(BondEndpointsRefiner self) -> std::string"""
2934  return _IMP_atom.BondEndpointsRefiner___repr__(self)
2935 
2936  @staticmethod
2937  def get_from(o):
2938  return _object_cast_to_BondEndpointsRefiner(o)
2939 
2940 
2941 # Register BondEndpointsRefiner in _IMP_atom:
2942 _IMP_atom.BondEndpointsRefiner_swigregister(BondEndpointsRefiner)
2943 class BondPairContainer(IMP.PairContainer):
2944  r"""Proxy of C++ IMP::atom::BondPairContainer class."""
2945 
2946  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2947 
2948  def __init__(self, sc):
2949  r"""__init__(BondPairContainer self, SingletonContainer sc) -> BondPairContainer"""
2950  _IMP_atom.BondPairContainer_swiginit(self, _IMP_atom.new_BondPairContainer(sc))
2951 
2952  def do_get_inputs(self):
2953  r"""do_get_inputs(BondPairContainer self) -> IMP::ModelObjectsTemp"""
2954  return _IMP_atom.BondPairContainer_do_get_inputs(self)
2955 
2956  def do_apply(self, sm):
2957  r"""do_apply(BondPairContainer self, PairModifier sm)"""
2958  return _IMP_atom.BondPairContainer_do_apply(self, sm)
2959 
2960  def do_apply_moved(self, sm, moved_pis, reset_pis):
2961  r"""do_apply_moved(BondPairContainer self, PairModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
2962  return _IMP_atom.BondPairContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
2963 
2964  def get_version_info(self):
2965  r"""get_version_info(BondPairContainer self) -> VersionInfo"""
2966  return _IMP_atom.BondPairContainer_get_version_info(self)
2967  __swig_destroy__ = _IMP_atom.delete_BondPairContainer
2968 
2969  def __str__(self):
2970  r"""__str__(BondPairContainer self) -> std::string"""
2971  return _IMP_atom.BondPairContainer___str__(self)
2972 
2973  def __repr__(self):
2974  r"""__repr__(BondPairContainer self) -> std::string"""
2975  return _IMP_atom.BondPairContainer___repr__(self)
2976 
2977  @staticmethod
2978  def get_from(o):
2979  return _object_cast_to_BondPairContainer(o)
2980 
2981 
2982 # Register BondPairContainer in _IMP_atom:
2983 _IMP_atom.BondPairContainer_swigregister(BondPairContainer)
2984 class BondSingletonScore(IMP.SingletonScore):
2985  r"""Proxy of C++ IMP::atom::BondSingletonScore class."""
2986 
2987  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2988 
2989  def __init__(self, f):
2990  r"""__init__(BondSingletonScore self, UnaryFunction f) -> BondSingletonScore"""
2991  _IMP_atom.BondSingletonScore_swiginit(self, _IMP_atom.new_BondSingletonScore(f))
2992 
2993  def get_unary_function(self):
2994  r"""get_unary_function(BondSingletonScore self) -> UnaryFunction"""
2995  return _IMP_atom.BondSingletonScore_get_unary_function(self)
2996 
2997  def do_get_inputs(self, m, pis):
2998  r"""do_get_inputs(BondSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
2999  return _IMP_atom.BondSingletonScore_do_get_inputs(self, m, pis)
3000 
3001  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
3002  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"""
3003  return _IMP_atom.BondSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
3004 
3005  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
3006  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"""
3007  return _IMP_atom.BondSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
3008 
3009  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
3010  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"""
3011  return _IMP_atom.BondSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
3012 
3013  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
3014  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"""
3015  return _IMP_atom.BondSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
3016 
3017  def get_version_info(self):
3018  r"""get_version_info(BondSingletonScore self) -> VersionInfo"""
3019  return _IMP_atom.BondSingletonScore_get_version_info(self)
3020  __swig_destroy__ = _IMP_atom.delete_BondSingletonScore
3021 
3022  def __str__(self):
3023  r"""__str__(BondSingletonScore self) -> std::string"""
3024  return _IMP_atom.BondSingletonScore___str__(self)
3025 
3026  def __repr__(self):
3027  r"""__repr__(BondSingletonScore self) -> std::string"""
3028  return _IMP_atom.BondSingletonScore___repr__(self)
3029 
3030  @staticmethod
3031  def get_from(o):
3032  return _object_cast_to_BondSingletonScore(o)
3033 
3034 
3035  def _get_jax(self, m, indexes):
3036  import jax.numpy as jnp
3037  from IMP.atom._jax_util import _get_bonds
3038  def score(jm, bonds, uf):
3039  xyzs = jm['xyz'][bonds.bonded_indexes]
3040  diff = xyzs[:,0] - xyzs[:,1]
3041  drs = jnp.linalg.norm(diff, axis=1)
3042  return uf(bonds.stiffness * (drs - bonds.length))
3043  uf = self.get_unary_function().get_derived_object()
3044  f = functools.partial(score, bonds=_get_bonds(m, indexes),
3045  uf=uf._get_jax())
3046  return self._wrap_jax(m, f)
3047 
3048 
3049 # Register BondSingletonScore in _IMP_atom:
3050 _IMP_atom.BondSingletonScore_swigregister(BondSingletonScore)
3051 class DihedralSingletonScore(IMP.SingletonScore):
3052  r"""Proxy of C++ IMP::atom::DihedralSingletonScore class."""
3053 
3054  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3055 
3056  def __init__(self):
3057  r"""__init__(DihedralSingletonScore self) -> DihedralSingletonScore"""
3058  _IMP_atom.DihedralSingletonScore_swiginit(self, _IMP_atom.new_DihedralSingletonScore())
3059 
3060  def do_get_inputs(self, m, pis):
3061  r"""do_get_inputs(DihedralSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3062  return _IMP_atom.DihedralSingletonScore_do_get_inputs(self, m, pis)
3063 
3064  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
3065  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"""
3066  return _IMP_atom.DihedralSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
3067 
3068  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
3069  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"""
3070  return _IMP_atom.DihedralSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
3071 
3072  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
3073  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"""
3074  return _IMP_atom.DihedralSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
3075 
3076  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
3077  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"""
3078  return _IMP_atom.DihedralSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
3079 
3080  def get_version_info(self):
3081  r"""get_version_info(DihedralSingletonScore self) -> VersionInfo"""
3082  return _IMP_atom.DihedralSingletonScore_get_version_info(self)
3083  __swig_destroy__ = _IMP_atom.delete_DihedralSingletonScore
3084 
3085  def __str__(self):
3086  r"""__str__(DihedralSingletonScore self) -> std::string"""
3087  return _IMP_atom.DihedralSingletonScore___str__(self)
3088 
3089  def __repr__(self):
3090  r"""__repr__(DihedralSingletonScore self) -> std::string"""
3091  return _IMP_atom.DihedralSingletonScore___repr__(self)
3092 
3093  @staticmethod
3094  def get_from(o):
3095  return _object_cast_to_DihedralSingletonScore(o)
3096 
3097 
3098  def _get_as_binary(self):
3099  r"""_get_as_binary(DihedralSingletonScore self) -> PyObject *"""
3100  return _IMP_atom.DihedralSingletonScore__get_as_binary(self)
3101 
3102  def _set_from_binary(self, p):
3103  r"""_set_from_binary(DihedralSingletonScore self, PyObject * p)"""
3104  return _IMP_atom.DihedralSingletonScore__set_from_binary(self, p)
3105 
3106  def __getstate__(self):
3107  p = self._get_as_binary()
3108  if len(self.__dict__) > 1:
3109  d = self.__dict__.copy()
3110  del d['this']
3111  p = (d, p)
3112  return p
3113 
3114  def __setstate__(self, p):
3115  if not hasattr(self, 'this'):
3116  self.__init__()
3117  if isinstance(p, tuple):
3118  d, p = p
3119  self.__dict__.update(d)
3120  return self._set_from_binary(p)
3121 
3122 
3123  def _get_jax(self, m, indexes):
3124  import jax.numpy as jnp
3125  import IMP.core._jax_util
3126  from IMP.atom._jax_util import _get_dihedrals
3127  def score(jm, dihedrals):
3128  xyzs = jm['xyz'][dihedrals.bonded_indexes]
3129  rij = xyzs[:,0] - xyzs[:,1]
3130  rkj = xyzs[:,2] - xyzs[:,1]
3131  rkl = xyzs[:,2] - xyzs[:,3]
3132  dihedral = IMP.core._jax_util._dihedral(rij, rkj, rkl)
3133  b = 0.5 * dihedrals.stiffness * jnp.abs(dihedrals.stiffness)
3134  return jnp.abs(b) + b * jnp.cos(dihedral * dihedrals.multiplicity
3135  + dihedrals.ideal)
3136  f = functools.partial(score, dihedrals=_get_dihedrals(m, indexes))
3137  return self._wrap_jax(m, f)
3138 
3139 
3140 # Register DihedralSingletonScore in _IMP_atom:
3141 _IMP_atom.DihedralSingletonScore_swigregister(DihedralSingletonScore)
3142 class ImproperSingletonScore(IMP.SingletonScore):
3143  r"""Proxy of C++ IMP::atom::ImproperSingletonScore class."""
3144 
3145  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3146 
3147  def __init__(self, f):
3148  r"""__init__(ImproperSingletonScore self, UnaryFunction f) -> ImproperSingletonScore"""
3149  _IMP_atom.ImproperSingletonScore_swiginit(self, _IMP_atom.new_ImproperSingletonScore(f))
3150 
3151  def get_unary_function(self):
3152  r"""get_unary_function(ImproperSingletonScore self) -> UnaryFunction"""
3153  return _IMP_atom.ImproperSingletonScore_get_unary_function(self)
3154 
3155  def do_get_inputs(self, m, pis):
3156  r"""do_get_inputs(ImproperSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3157  return _IMP_atom.ImproperSingletonScore_do_get_inputs(self, m, pis)
3158 
3159  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
3160  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"""
3161  return _IMP_atom.ImproperSingletonScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
3162 
3163  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
3164  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"""
3165  return _IMP_atom.ImproperSingletonScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
3166 
3167  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
3168  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"""
3169  return _IMP_atom.ImproperSingletonScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
3170 
3171  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
3172  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"""
3173  return _IMP_atom.ImproperSingletonScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
3174 
3175  def get_version_info(self):
3176  r"""get_version_info(ImproperSingletonScore self) -> VersionInfo"""
3177  return _IMP_atom.ImproperSingletonScore_get_version_info(self)
3178  __swig_destroy__ = _IMP_atom.delete_ImproperSingletonScore
3179 
3180  def __str__(self):
3181  r"""__str__(ImproperSingletonScore self) -> std::string"""
3182  return _IMP_atom.ImproperSingletonScore___str__(self)
3183 
3184  def __repr__(self):
3185  r"""__repr__(ImproperSingletonScore self) -> std::string"""
3186  return _IMP_atom.ImproperSingletonScore___repr__(self)
3187 
3188  @staticmethod
3189  def get_from(o):
3190  return _object_cast_to_ImproperSingletonScore(o)
3191 
3192 
3193  def _get_jax(self, m, indexes):
3194  import jax.numpy as jnp
3195  import IMP.core._jax_util
3196  from IMP.atom._jax_util import _get_dihedrals
3197  def score(jm, dihedrals, uf):
3198  xyzs = jm['xyz'][dihedrals.bonded_indexes]
3199  rij = xyzs[:,0] - xyzs[:,1]
3200  rkj = xyzs[:,2] - xyzs[:,1]
3201  rkl = xyzs[:,2] - xyzs[:,3]
3202  dihedral = IMP.core._jax_util._dihedral(rij, rkj, rkl)
3203  angle_diff = IMP.core._jax_util._get_angle_difference(
3204  dihedral, dihedrals.ideal)
3205  return uf(dihedrals.stiffness * angle_diff)
3206  uf = self.get_unary_function().get_derived_object()
3207  f = functools.partial(score, dihedrals=_get_dihedrals(m, indexes),
3208  uf=uf._get_jax())
3209  return self._wrap_jax(m, f)
3210 
3211 
3212 # Register ImproperSingletonScore in _IMP_atom:
3213 _IMP_atom.ImproperSingletonScore_swigregister(ImproperSingletonScore)
3214 class CenterOfMass(IMP.Decorator):
3215  r"""Proxy of C++ IMP::atom::CenterOfMass class."""
3216 
3217  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3218 
3219  def get_constraint(self):
3220  r"""get_constraint(CenterOfMass self) -> Constraint"""
3221  return _IMP_atom.CenterOfMass_get_constraint(self)
3222 
3223  def get_mass(self):
3224  r"""get_mass(CenterOfMass self) -> IMP::Float"""
3225  return _IMP_atom.CenterOfMass_get_mass(self)
3226 
3227  def get_coordinate(self, i):
3228  r"""get_coordinate(CenterOfMass self, int i) -> IMP::Float"""
3229  return _IMP_atom.CenterOfMass_get_coordinate(self, i)
3230 
3231  def get_coordinates(self):
3232  r"""get_coordinates(CenterOfMass self) -> Vector3D"""
3233  return _IMP_atom.CenterOfMass_get_coordinates(self)
3234 
3235  def __init__(self, *args):
3236  r"""
3237  __init__(CenterOfMass self) -> CenterOfMass
3238  __init__(CenterOfMass self, Model m, ParticleIndex id) -> CenterOfMass
3239  __init__(CenterOfMass self, _ParticleAdaptor d) -> CenterOfMass
3240  """
3241  _IMP_atom.CenterOfMass_swiginit(self, _IMP_atom.new_CenterOfMass(*args))
3242 
3243  def show(self, *args):
3244  r"""show(CenterOfMass self, _ostream out=std::cout)"""
3245  return _IMP_atom.CenterOfMass_show(self, *args)
3246 
3247  @staticmethod
3248  def setup_particle(*args):
3249  r"""
3250  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> CenterOfMass
3251  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> CenterOfMass
3252  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> CenterOfMass
3253  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> CenterOfMass
3254  """
3255  return _IMP_atom.CenterOfMass_setup_particle(*args)
3256 
3257  @staticmethod
3258  def teardown_particle(com):
3259  r"""teardown_particle(CenterOfMass com)"""
3260  return _IMP_atom.CenterOfMass_teardown_particle(com)
3261 
3262  @staticmethod
3263  def get_is_setup(*args):
3264  r"""
3265  get_is_setup(_ParticleAdaptor p) -> bool
3266  get_is_setup(Model m, ParticleIndex pi) -> bool
3267  """
3268  return _IMP_atom.CenterOfMass_get_is_setup(*args)
3269 
3270  def add_attribute(self, *args):
3271  r"""
3272  add_attribute(CenterOfMass self, FloatKey k, IMP::Float v, bool opt)
3273  add_attribute(CenterOfMass self, FloatKey a0, IMP::Float a1)
3274  add_attribute(CenterOfMass self, IntKey a0, IMP::Int a1)
3275  add_attribute(CenterOfMass self, FloatsKey a0, IMP::Floats a1)
3276  add_attribute(CenterOfMass self, IntsKey a0, IMP::Ints a1)
3277  add_attribute(CenterOfMass self, StringKey a0, IMP::String a1)
3278  add_attribute(CenterOfMass self, ParticleIndexKey a0, Particle a1)
3279  add_attribute(CenterOfMass self, ObjectKey a0, Object a1)
3280  add_attribute(CenterOfMass self, SparseFloatKey a0, IMP::Float a1)
3281  add_attribute(CenterOfMass self, SparseIntKey a0, IMP::Int a1)
3282  add_attribute(CenterOfMass self, SparseStringKey a0, IMP::String a1)
3283  add_attribute(CenterOfMass self, SparseParticleIndexKey a0, ParticleIndex a1)
3284  """
3285  return _IMP_atom.CenterOfMass_add_attribute(self, *args)
3286 
3287  def get_value(self, *args):
3288  r"""
3289  get_value(CenterOfMass self, FloatKey a0) -> IMP::Float
3290  get_value(CenterOfMass self, IntKey a0) -> IMP::Int
3291  get_value(CenterOfMass self, FloatsKey a0) -> IMP::Floats
3292  get_value(CenterOfMass self, IntsKey a0) -> IMP::Ints
3293  get_value(CenterOfMass self, StringKey a0) -> IMP::String
3294  get_value(CenterOfMass self, ParticleIndexKey a0) -> Particle
3295  get_value(CenterOfMass self, ObjectKey a0) -> Object
3296  get_value(CenterOfMass self, SparseFloatKey a0) -> IMP::Float
3297  get_value(CenterOfMass self, SparseIntKey a0) -> IMP::Int
3298  get_value(CenterOfMass self, SparseStringKey a0) -> IMP::String
3299  get_value(CenterOfMass self, SparseParticleIndexKey a0) -> ParticleIndex
3300  """
3301  return _IMP_atom.CenterOfMass_get_value(self, *args)
3302 
3303  def set_value(self, *args):
3304  r"""
3305  set_value(CenterOfMass self, FloatKey a0, IMP::Float a1)
3306  set_value(CenterOfMass self, IntKey a0, IMP::Int a1)
3307  set_value(CenterOfMass self, FloatsKey a0, IMP::Floats a1)
3308  set_value(CenterOfMass self, IntsKey a0, IMP::Ints a1)
3309  set_value(CenterOfMass self, StringKey a0, IMP::String a1)
3310  set_value(CenterOfMass self, ParticleIndexKey a0, Particle a1)
3311  set_value(CenterOfMass self, ObjectKey a0, Object a1)
3312  set_value(CenterOfMass self, SparseFloatKey a0, IMP::Float a1)
3313  set_value(CenterOfMass self, SparseIntKey a0, IMP::Int a1)
3314  set_value(CenterOfMass self, SparseStringKey a0, IMP::String a1)
3315  set_value(CenterOfMass self, SparseParticleIndexKey a0, ParticleIndex a1)
3316  """
3317  return _IMP_atom.CenterOfMass_set_value(self, *args)
3318 
3319  def remove_attribute(self, *args):
3320  r"""
3321  remove_attribute(CenterOfMass self, FloatKey a0)
3322  remove_attribute(CenterOfMass self, IntKey a0)
3323  remove_attribute(CenterOfMass self, FloatsKey a0)
3324  remove_attribute(CenterOfMass self, IntsKey a0)
3325  remove_attribute(CenterOfMass self, StringKey a0)
3326  remove_attribute(CenterOfMass self, ParticleIndexKey a0)
3327  remove_attribute(CenterOfMass self, ObjectKey a0)
3328  remove_attribute(CenterOfMass self, SparseFloatKey a0)
3329  remove_attribute(CenterOfMass self, SparseIntKey a0)
3330  remove_attribute(CenterOfMass self, SparseStringKey a0)
3331  remove_attribute(CenterOfMass self, SparseParticleIndexKey a0)
3332  """
3333  return _IMP_atom.CenterOfMass_remove_attribute(self, *args)
3334 
3335  def has_attribute(self, *args):
3336  r"""
3337  has_attribute(CenterOfMass self, FloatKey a0) -> bool
3338  has_attribute(CenterOfMass self, IntKey a0) -> bool
3339  has_attribute(CenterOfMass self, FloatsKey a0) -> bool
3340  has_attribute(CenterOfMass self, IntsKey a0) -> bool
3341  has_attribute(CenterOfMass self, StringKey a0) -> bool
3342  has_attribute(CenterOfMass self, ParticleIndexKey a0) -> bool
3343  has_attribute(CenterOfMass self, ObjectKey a0) -> bool
3344  has_attribute(CenterOfMass self, SparseFloatKey a0) -> bool
3345  has_attribute(CenterOfMass self, SparseIntKey a0) -> bool
3346  has_attribute(CenterOfMass self, SparseStringKey a0) -> bool
3347  has_attribute(CenterOfMass self, SparseParticleIndexKey a0) -> bool
3348  """
3349  return _IMP_atom.CenterOfMass_has_attribute(self, *args)
3350 
3351  def get_derivative(self, a0):
3352  r"""get_derivative(CenterOfMass self, FloatKey a0) -> double"""
3353  return _IMP_atom.CenterOfMass_get_derivative(self, a0)
3354 
3355  def get_name(self):
3356  r"""get_name(CenterOfMass self) -> std::string"""
3357  return _IMP_atom.CenterOfMass_get_name(self)
3358 
3359  def clear_caches(self):
3360  r"""clear_caches(CenterOfMass self)"""
3361  return _IMP_atom.CenterOfMass_clear_caches(self)
3362 
3363  def set_name(self, a0):
3364  r"""set_name(CenterOfMass self, std::string a0)"""
3365  return _IMP_atom.CenterOfMass_set_name(self, a0)
3366 
3367  def set_check_level(self, a0):
3368  r"""set_check_level(CenterOfMass self, IMP::CheckLevel a0)"""
3369  return _IMP_atom.CenterOfMass_set_check_level(self, a0)
3370 
3371  def add_to_derivative(self, a0, a1, a2):
3372  r"""add_to_derivative(CenterOfMass self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3373  return _IMP_atom.CenterOfMass_add_to_derivative(self, a0, a1, a2)
3374 
3375  def set_is_optimized(self, a0, a1):
3376  r"""set_is_optimized(CenterOfMass self, FloatKey a0, bool a1)"""
3377  return _IMP_atom.CenterOfMass_set_is_optimized(self, a0, a1)
3378 
3379  def get_is_optimized(self, a0):
3380  r"""get_is_optimized(CenterOfMass self, FloatKey a0) -> bool"""
3381  return _IMP_atom.CenterOfMass_get_is_optimized(self, a0)
3382 
3383  def get_check_level(self):
3384  r"""get_check_level(CenterOfMass self) -> IMP::CheckLevel"""
3385  return _IMP_atom.CenterOfMass_get_check_level(self)
3386 
3387  def __eq__(self, *args):
3388  r"""
3389  __eq__(CenterOfMass self, CenterOfMass o) -> bool
3390  __eq__(CenterOfMass self, Particle d) -> bool
3391  """
3392  return _IMP_atom.CenterOfMass___eq__(self, *args)
3393 
3394  def __ne__(self, *args):
3395  r"""
3396  __ne__(CenterOfMass self, CenterOfMass o) -> bool
3397  __ne__(CenterOfMass self, Particle d) -> bool
3398  """
3399  return _IMP_atom.CenterOfMass___ne__(self, *args)
3400 
3401  def __le__(self, *args):
3402  r"""
3403  __le__(CenterOfMass self, CenterOfMass o) -> bool
3404  __le__(CenterOfMass self, Particle d) -> bool
3405  """
3406  return _IMP_atom.CenterOfMass___le__(self, *args)
3407 
3408  def __lt__(self, *args):
3409  r"""
3410  __lt__(CenterOfMass self, CenterOfMass o) -> bool
3411  __lt__(CenterOfMass self, Particle d) -> bool
3412  """
3413  return _IMP_atom.CenterOfMass___lt__(self, *args)
3414 
3415  def __ge__(self, *args):
3416  r"""
3417  __ge__(CenterOfMass self, CenterOfMass o) -> bool
3418  __ge__(CenterOfMass self, Particle d) -> bool
3419  """
3420  return _IMP_atom.CenterOfMass___ge__(self, *args)
3421 
3422  def __gt__(self, *args):
3423  r"""
3424  __gt__(CenterOfMass self, CenterOfMass o) -> bool
3425  __gt__(CenterOfMass self, Particle d) -> bool
3426  """
3427  return _IMP_atom.CenterOfMass___gt__(self, *args)
3428 
3429  def __hash__(self):
3430  r"""__hash__(CenterOfMass self) -> std::size_t"""
3431  return _IMP_atom.CenterOfMass___hash__(self)
3432 
3433  def __str__(self):
3434  r"""__str__(CenterOfMass self) -> std::string"""
3435  return _IMP_atom.CenterOfMass___str__(self)
3436 
3437  def __repr__(self):
3438  r"""__repr__(CenterOfMass self) -> std::string"""
3439  return _IMP_atom.CenterOfMass___repr__(self)
3440 
3441  def _get_as_binary(self):
3442  r"""_get_as_binary(CenterOfMass self) -> PyObject *"""
3443  return _IMP_atom.CenterOfMass__get_as_binary(self)
3444 
3445  def _set_from_binary(self, p):
3446  r"""_set_from_binary(CenterOfMass self, PyObject * p)"""
3447  return _IMP_atom.CenterOfMass__set_from_binary(self, p)
3448 
3449  def __getstate__(self):
3450  p = self._get_as_binary()
3451  if len(self.__dict__) > 1:
3452  d = self.__dict__.copy()
3453  del d['this']
3454  p = (d, p)
3455  return p
3456 
3457  def __setstate__(self, p):
3458  if not hasattr(self, 'this'):
3459  self.__init__()
3460  if isinstance(p, tuple):
3461  d, p = p
3462  self.__dict__.update(d)
3463  return self._set_from_binary(p)
3464 
3465  __swig_destroy__ = _IMP_atom.delete_CenterOfMass
3466 
3467 # Register CenterOfMass in _IMP_atom:
3468 _IMP_atom.CenterOfMass_swigregister(CenterOfMass)
3469 class CoverBond(IMP.SingletonModifier):
3470  r"""Proxy of C++ IMP::atom::CoverBond class."""
3471 
3472  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3473 
3474  def __init__(self):
3475  r"""__init__(CoverBond self) -> CoverBond"""
3476  _IMP_atom.CoverBond_swiginit(self, _IMP_atom.new_CoverBond())
3477 
3478  def do_get_inputs(self, m, pis):
3479  r"""do_get_inputs(CoverBond self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3480  return _IMP_atom.CoverBond_do_get_inputs(self, m, pis)
3481 
3482  def do_get_outputs(self, m, pis):
3483  r"""do_get_outputs(CoverBond self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3484  return _IMP_atom.CoverBond_do_get_outputs(self, m, pis)
3485 
3486  def get_version_info(self):
3487  r"""get_version_info(CoverBond self) -> VersionInfo"""
3488  return _IMP_atom.CoverBond_get_version_info(self)
3489  __swig_destroy__ = _IMP_atom.delete_CoverBond
3490 
3491  def __str__(self):
3492  r"""__str__(CoverBond self) -> std::string"""
3493  return _IMP_atom.CoverBond___str__(self)
3494 
3495  def __repr__(self):
3496  r"""__repr__(CoverBond self) -> std::string"""
3497  return _IMP_atom.CoverBond___repr__(self)
3498 
3499  @staticmethod
3500  def get_from(o):
3501  return _object_cast_to_CoverBond(o)
3502 
3503 
3504 # Register CoverBond in _IMP_atom:
3505 _IMP_atom.CoverBond_swigregister(CoverBond)
3506 class Simulator(IMP.Optimizer):
3507  r"""Proxy of C++ IMP::atom::Simulator class."""
3508 
3509  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3510 
3511  def __init__(self, *args):
3512  r"""__init__(Simulator self, Model m, std::string name="Simulator %1%", double wave_factor=1.0) -> Simulator"""
3513  if self.__class__ == Simulator:
3514  _self = None
3515  else:
3516  _self = self
3517  _IMP_atom.Simulator_swiginit(self, _IMP_atom.new_Simulator(_self, *args))
3518 
3519  if self.__class__ != Simulator:
3520  _director_objects.register(self)
3521 
3522 
3523 
3524 
3525  def simulate(self, time_in_fs):
3526  r"""simulate(Simulator self, double time_in_fs) -> double"""
3527  return _IMP_atom.Simulator_simulate(self, time_in_fs)
3528 
3529  def simulate_wave(self, time_in_fs, max_time_step_factor=10.0, base=1.5):
3530  r"""simulate_wave(Simulator self, double time_in_fs, double max_time_step_factor=10.0, double base=1.5) -> double"""
3531  return _IMP_atom.Simulator_simulate_wave(self, time_in_fs, max_time_step_factor, base)
3532 
3533  def get_temperature(self):
3534  r"""get_temperature(Simulator self) -> double"""
3535  return _IMP_atom.Simulator_get_temperature(self)
3536 
3537  def set_temperature(self, d):
3538  r"""set_temperature(Simulator self, double d)"""
3539  return _IMP_atom.Simulator_set_temperature(self, d)
3540 
3541  def set_maximum_time_step(self, ts):
3542  r"""set_maximum_time_step(Simulator self, double ts)"""
3543  return _IMP_atom.Simulator_set_maximum_time_step(self, ts)
3544 
3545  def get_maximum_time_step(self):
3546  r"""get_maximum_time_step(Simulator self) -> double"""
3547  return _IMP_atom.Simulator_get_maximum_time_step(self)
3548 
3549  def get_last_time_step(self):
3550  r"""get_last_time_step(Simulator self) -> double"""
3551  return _IMP_atom.Simulator_get_last_time_step(self)
3552 
3553  def set_time_step(self, ts):
3554  r"""set_time_step(Simulator self, double ts)"""
3555  return _IMP_atom.Simulator_set_time_step(self, ts)
3556 
3557  def get_kt(self):
3558  r"""get_kt(Simulator self) -> double"""
3559  return _IMP_atom.Simulator_get_kt(self)
3560 
3561  def get_current_time(self):
3562  r"""get_current_time(Simulator self) -> double"""
3563  return _IMP_atom.Simulator_get_current_time(self)
3564 
3565  def set_current_time(self, ct):
3566  r"""set_current_time(Simulator self, double ct)"""
3567  return _IMP_atom.Simulator_set_current_time(self, ct)
3568 
3569  def get_simulation_particles(self):
3570  r"""get_simulation_particles(Simulator self) -> IMP::ParticlesTemp"""
3571  return _IMP_atom.Simulator_get_simulation_particles(self)
3572 
3573  def get_simulation_particle_indexes(self):
3574  r"""get_simulation_particle_indexes(Simulator self) -> IMP::ParticleIndexes"""
3575  return _IMP_atom.Simulator_get_simulation_particle_indexes(self)
3576  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)
3577  def __set_particles(self, obj): IMP._list_util.set_varlist(self.particles, obj)
3578  def __del_particles(self): IMP._list_util.del_varlist(self.particles)
3579  particles = property(__get_particles, __set_particles, __del_particles, doc="List of ##ucnames")
3580 
3581  def remove_particle(self, d):
3582  r"""remove_particle(Simulator self, Particle d)"""
3583  return _IMP_atom.Simulator_remove_particle(self, d)
3584 
3585  def _python_index_particle(self, d, start, stop):
3586  r"""_python_index_particle(Simulator self, Particle d, unsigned int start, unsigned int stop) -> unsigned int"""
3587  return _IMP_atom.Simulator__python_index_particle(self, d, start, stop)
3588 
3589  def remove_particles(self, d):
3590  r"""remove_particles(Simulator self, IMP::Particles const & d)"""
3591  return _IMP_atom.Simulator_remove_particles(self, d)
3592 
3593  def set_particles(self, ps):
3594  r"""set_particles(Simulator self, IMP::Particles const & ps)"""
3595  return _IMP_atom.Simulator_set_particles(self, ps)
3596 
3597  def set_particles_order(self, objs):
3598  r"""set_particles_order(Simulator self, IMP::Particles const & objs)"""
3599  return _IMP_atom.Simulator_set_particles_order(self, objs)
3600 
3601  def add_particle(self, obj):
3602  r"""add_particle(Simulator self, Particle obj) -> unsigned int"""
3603  return _IMP_atom.Simulator_add_particle(self, obj)
3604 
3605  def add_particles(self, objs):
3606  r"""add_particles(Simulator self, IMP::Particles const & objs)"""
3607  return _IMP_atom.Simulator_add_particles(self, objs)
3608 
3609  def clear_particles(self):
3610  r"""clear_particles(Simulator self)"""
3611  return _IMP_atom.Simulator_clear_particles(self)
3612 
3613  def get_number_of_particles(self):
3614  r"""get_number_of_particles(Simulator self) -> unsigned int"""
3615  return _IMP_atom.Simulator_get_number_of_particles(self)
3616 
3617  def get_has_particles(self):
3618  r"""get_has_particles(Simulator self) -> bool"""
3619  return _IMP_atom.Simulator_get_has_particles(self)
3620 
3621  def get_particle(self, i):
3622  r"""get_particle(Simulator self, unsigned int i) -> Particle"""
3623  return _IMP_atom.Simulator_get_particle(self, i)
3624 
3625  def get_particles(self):
3626  r"""get_particles(Simulator self) -> IMP::Particles"""
3627  return _IMP_atom.Simulator_get_particles(self)
3628 
3629  def erase_particle(self, i):
3630  r"""erase_particle(Simulator self, unsigned int i)"""
3631  return _IMP_atom.Simulator_erase_particle(self, i)
3632 
3633  def reserve_particles(self, sz):
3634  r"""reserve_particles(Simulator self, unsigned int sz)"""
3635  return _IMP_atom.Simulator_reserve_particles(self, sz)
3636 
3637  def do_optimize(self, max_steps):
3638  r"""do_optimize(Simulator self, unsigned int max_steps) -> IMP::Float"""
3639  return _IMP_atom.Simulator_do_optimize(self, max_steps)
3640 
3641  def setup(self, arg0):
3642  r"""setup(Simulator self, IMP::ParticleIndexes const & arg0)"""
3643  return _IMP_atom.Simulator_setup(self, arg0)
3644 
3645  def do_step(self, sc, dt):
3646  r"""do_step(Simulator self, IMP::ParticleIndexes const & sc, double dt) -> double"""
3647  return _IMP_atom.Simulator_do_step(self, sc, dt)
3648 
3649  def get_is_simulation_particle(self, p):
3650  r"""get_is_simulation_particle(Simulator self, ParticleIndex p) -> bool"""
3651  return _IMP_atom.Simulator_get_is_simulation_particle(self, p)
3652 
3653  def do_simulate(self, time):
3654  r"""do_simulate(Simulator self, double time) -> double"""
3655  return _IMP_atom.Simulator_do_simulate(self, time)
3656 
3657  def do_simulate_wave(self, time_in_fs, max_time_step_factor=10.0, base=1.5):
3658  r"""do_simulate_wave(Simulator self, double time_in_fs, double max_time_step_factor=10.0, double base=1.5) -> double"""
3659  return _IMP_atom.Simulator_do_simulate_wave(self, time_in_fs, max_time_step_factor, base)
3660 
3661  def __str__(self):
3662  r"""__str__(Simulator self) -> std::string"""
3663  return _IMP_atom.Simulator___str__(self)
3664 
3665  def __repr__(self):
3666  r"""__repr__(Simulator self) -> std::string"""
3667  return _IMP_atom.Simulator___repr__(self)
3668 
3669  @staticmethod
3670  def get_from(o):
3671  return _object_cast_to_Simulator(o)
3672 
3673 
3674  def do_show(self, out):
3675  pass
3676 
3677  @staticmethod
3678  def get_from(o):
3679  return _object_cast_to_Simulator(o)
3680 
3681  __swig_destroy__ = _IMP_atom.delete_Simulator
3682  def __disown__(self):
3683  self.this.disown()
3684  _IMP_atom.disown_Simulator(self)
3685  return weakref.proxy(self)
3686 
3687  def do_destroy(self):
3688  r"""do_destroy(Simulator self)"""
3689  return _IMP_atom.Simulator_do_destroy(self)
3690 
3691  def handle_set_has_required_score_states(self, arg0):
3692  r"""handle_set_has_required_score_states(Simulator self, bool arg0)"""
3693  return _IMP_atom.Simulator_handle_set_has_required_score_states(self, arg0)
3694 
3695  def do_get_inputs(self):
3696  r"""do_get_inputs(Simulator self) -> IMP::ModelObjectsTemp"""
3697  return _IMP_atom.Simulator_do_get_inputs(self)
3698 
3699  def do_get_outputs(self):
3700  r"""do_get_outputs(Simulator self) -> IMP::ModelObjectsTemp"""
3701  return _IMP_atom.Simulator_do_get_outputs(self)
3702 
3703  def do_get_interactions(self):
3704  r"""do_get_interactions(Simulator self) -> IMP::ModelObjectsTemps"""
3705  return _IMP_atom.Simulator_do_get_interactions(self)
3706 
3707 # Register Simulator in _IMP_atom:
3708 _IMP_atom.Simulator_swigregister(Simulator)
3709 IMP_ATOM_DEFAULT_BD_RANDOM_POOL_SIZE = _IMP_atom.IMP_ATOM_DEFAULT_BD_RANDOM_POOL_SIZE
3710 
3711 class BrownianDynamics(Simulator):
3712  r"""Proxy of C++ IMP::atom::BrownianDynamics class."""
3713 
3714  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3715 
3716  def __init__(self, *args):
3717  r"""__init__(BrownianDynamics self, Model m, std::string name="BrownianDynamics%1%", double wave_factor=1.0, unsigned int random_pool_size=10000) -> BrownianDynamics"""
3718  _IMP_atom.BrownianDynamics_swiginit(self, _IMP_atom.new_BrownianDynamics(*args))
3719 
3720  def set_maximum_move(self, ms_in_A):
3721  r"""set_maximum_move(BrownianDynamics self, double ms_in_A)"""
3722  return _IMP_atom.BrownianDynamics_set_maximum_move(self, ms_in_A)
3723 
3724  def set_use_stochastic_runge_kutta(self, tf):
3725  r"""set_use_stochastic_runge_kutta(BrownianDynamics self, bool tf)"""
3726  return _IMP_atom.BrownianDynamics_set_use_stochastic_runge_kutta(self, tf)
3727 
3728  def get_version_info(self):
3729  r"""get_version_info(BrownianDynamics self) -> VersionInfo"""
3730  return _IMP_atom.BrownianDynamics_get_version_info(self)
3731  __swig_destroy__ = _IMP_atom.delete_BrownianDynamics
3732 
3733  def __str__(self):
3734  r"""__str__(BrownianDynamics self) -> std::string"""
3735  return _IMP_atom.BrownianDynamics___str__(self)
3736 
3737  def __repr__(self):
3738  r"""__repr__(BrownianDynamics self) -> std::string"""
3739  return _IMP_atom.BrownianDynamics___repr__(self)
3740 
3741  @staticmethod
3742  def get_from(o):
3743  return _object_cast_to_BrownianDynamics(o)
3744 
3745 
3746 # Register BrownianDynamics in _IMP_atom:
3747 _IMP_atom.BrownianDynamics_swigregister(BrownianDynamics)
3748 
3750  r"""get_maximum_time_step_estimate(BrownianDynamics bd) -> double"""
3751  return _IMP_atom.get_maximum_time_step_estimate(bd)
3752 
3753 def get_harmonic_sigma(D, f):
3754  r"""get_harmonic_sigma(double D, double f) -> double"""
3755  return _IMP_atom.get_harmonic_sigma(D, f)
3756 class BrownianDynamicsTAMD(BrownianDynamics):
3757  r"""Proxy of C++ IMP::atom::BrownianDynamicsTAMD class."""
3758 
3759  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3760 
3761  def __init__(self, *args):
3762  r"""__init__(BrownianDynamicsTAMD self, Model m, std::string name="BrownianDynamicsTAMD%1%", double wave_factor=1.0) -> BrownianDynamicsTAMD"""
3763  _IMP_atom.BrownianDynamicsTAMD_swiginit(self, _IMP_atom.new_BrownianDynamicsTAMD(*args))
3764 
3765  def __str__(self):
3766  r"""__str__(BrownianDynamicsTAMD self) -> std::string"""
3767  return _IMP_atom.BrownianDynamicsTAMD___str__(self)
3768 
3769  def __repr__(self):
3770  r"""__repr__(BrownianDynamicsTAMD self) -> std::string"""
3771  return _IMP_atom.BrownianDynamicsTAMD___repr__(self)
3772 
3773  @staticmethod
3774  def get_from(o):
3775  return _object_cast_to_BrownianDynamicsTAMD(o)
3776 
3777  __swig_destroy__ = _IMP_atom.delete_BrownianDynamicsTAMD
3778 
3779 # Register BrownianDynamicsTAMD in _IMP_atom:
3780 _IMP_atom.BrownianDynamicsTAMD_swigregister(BrownianDynamicsTAMD)
3781 class Diffusion(IMP.core.XYZ):
3782  r"""Proxy of C++ IMP::atom::Diffusion class."""
3783 
3784  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3785 
3786  def __init__(self, *args):
3787  r"""
3788  __init__(Diffusion self) -> Diffusion
3789  __init__(Diffusion self, Model m, ParticleIndex id) -> Diffusion
3790  __init__(Diffusion self, _ParticleAdaptor d) -> Diffusion
3791  """
3792  _IMP_atom.Diffusion_swiginit(self, _IMP_atom.new_Diffusion(*args))
3793 
3794  def show(self, *args):
3795  r"""show(Diffusion self, _ostream out=std::cout)"""
3796  return _IMP_atom.Diffusion_show(self, *args)
3797 
3798  @staticmethod
3799  def setup_particle(*args):
3800  r"""
3801  setup_particle(Model m, ParticleIndex pi, IMP::Float D) -> Diffusion
3802  setup_particle(_ParticleAdaptor pa, IMP::Float D) -> Diffusion
3803  setup_particle(Model m, ParticleIndex pi, Vector3D v, IMP::Float D) -> Diffusion
3804  setup_particle(_ParticleAdaptor pa, Vector3D v, IMP::Float D) -> Diffusion
3805  setup_particle(Model m, ParticleIndex pi) -> Diffusion
3806  setup_particle(_ParticleAdaptor pa) -> Diffusion
3807  """
3808  return _IMP_atom.Diffusion_setup_particle(*args)
3809 
3810  @staticmethod
3811  def get_is_setup(*args):
3812  r"""
3813  get_is_setup(_ParticleAdaptor p) -> bool
3814  get_is_setup(Model m, ParticleIndex p) -> bool
3815  """
3816  return _IMP_atom.Diffusion_get_is_setup(*args)
3817 
3818  def set_diffusion_coefficient(self, d):
3819  r"""set_diffusion_coefficient(Diffusion self, double d)"""
3820  return _IMP_atom.Diffusion_set_diffusion_coefficient(self, d)
3821 
3822  def get_diffusion_coefficient(self):
3823  r"""get_diffusion_coefficient(Diffusion self) -> double"""
3824  return _IMP_atom.Diffusion_get_diffusion_coefficient(self)
3825 
3826  @staticmethod
3827  def get_diffusion_coefficient_key():
3828  r"""get_diffusion_coefficient_key() -> FloatKey"""
3829  return _IMP_atom.Diffusion_get_diffusion_coefficient_key()
3830 
3831  def add_attribute(self, *args):
3832  r"""
3833  add_attribute(Diffusion self, FloatKey k, IMP::Float v, bool opt)
3834  add_attribute(Diffusion self, FloatKey a0, IMP::Float a1)
3835  add_attribute(Diffusion self, IntKey a0, IMP::Int a1)
3836  add_attribute(Diffusion self, FloatsKey a0, IMP::Floats a1)
3837  add_attribute(Diffusion self, IntsKey a0, IMP::Ints a1)
3838  add_attribute(Diffusion self, StringKey a0, IMP::String a1)
3839  add_attribute(Diffusion self, ParticleIndexKey a0, Particle a1)
3840  add_attribute(Diffusion self, ObjectKey a0, Object a1)
3841  add_attribute(Diffusion self, SparseFloatKey a0, IMP::Float a1)
3842  add_attribute(Diffusion self, SparseIntKey a0, IMP::Int a1)
3843  add_attribute(Diffusion self, SparseStringKey a0, IMP::String a1)
3844  add_attribute(Diffusion self, SparseParticleIndexKey a0, ParticleIndex a1)
3845  """
3846  return _IMP_atom.Diffusion_add_attribute(self, *args)
3847 
3848  def get_value(self, *args):
3849  r"""
3850  get_value(Diffusion self, FloatKey a0) -> IMP::Float
3851  get_value(Diffusion self, IntKey a0) -> IMP::Int
3852  get_value(Diffusion self, FloatsKey a0) -> IMP::Floats
3853  get_value(Diffusion self, IntsKey a0) -> IMP::Ints
3854  get_value(Diffusion self, StringKey a0) -> IMP::String
3855  get_value(Diffusion self, ParticleIndexKey a0) -> Particle
3856  get_value(Diffusion self, ObjectKey a0) -> Object
3857  get_value(Diffusion self, SparseFloatKey a0) -> IMP::Float
3858  get_value(Diffusion self, SparseIntKey a0) -> IMP::Int
3859  get_value(Diffusion self, SparseStringKey a0) -> IMP::String
3860  get_value(Diffusion self, SparseParticleIndexKey a0) -> ParticleIndex
3861  """
3862  return _IMP_atom.Diffusion_get_value(self, *args)
3863 
3864  def set_value(self, *args):
3865  r"""
3866  set_value(Diffusion self, FloatKey a0, IMP::Float a1)
3867  set_value(Diffusion self, IntKey a0, IMP::Int a1)
3868  set_value(Diffusion self, FloatsKey a0, IMP::Floats a1)
3869  set_value(Diffusion self, IntsKey a0, IMP::Ints a1)
3870  set_value(Diffusion self, StringKey a0, IMP::String a1)
3871  set_value(Diffusion self, ParticleIndexKey a0, Particle a1)
3872  set_value(Diffusion self, ObjectKey a0, Object a1)
3873  set_value(Diffusion self, SparseFloatKey a0, IMP::Float a1)
3874  set_value(Diffusion self, SparseIntKey a0, IMP::Int a1)
3875  set_value(Diffusion self, SparseStringKey a0, IMP::String a1)
3876  set_value(Diffusion self, SparseParticleIndexKey a0, ParticleIndex a1)
3877  """
3878  return _IMP_atom.Diffusion_set_value(self, *args)
3879 
3880  def remove_attribute(self, *args):
3881  r"""
3882  remove_attribute(Diffusion self, FloatKey a0)
3883  remove_attribute(Diffusion self, IntKey a0)
3884  remove_attribute(Diffusion self, FloatsKey a0)
3885  remove_attribute(Diffusion self, IntsKey a0)
3886  remove_attribute(Diffusion self, StringKey a0)
3887  remove_attribute(Diffusion self, ParticleIndexKey a0)
3888  remove_attribute(Diffusion self, ObjectKey a0)
3889  remove_attribute(Diffusion self, SparseFloatKey a0)
3890  remove_attribute(Diffusion self, SparseIntKey a0)
3891  remove_attribute(Diffusion self, SparseStringKey a0)
3892  remove_attribute(Diffusion self, SparseParticleIndexKey a0)
3893  """
3894  return _IMP_atom.Diffusion_remove_attribute(self, *args)
3895 
3896  def has_attribute(self, *args):
3897  r"""
3898  has_attribute(Diffusion self, FloatKey a0) -> bool
3899  has_attribute(Diffusion self, IntKey a0) -> bool
3900  has_attribute(Diffusion self, FloatsKey a0) -> bool
3901  has_attribute(Diffusion self, IntsKey a0) -> bool
3902  has_attribute(Diffusion self, StringKey a0) -> bool
3903  has_attribute(Diffusion self, ParticleIndexKey a0) -> bool
3904  has_attribute(Diffusion self, ObjectKey a0) -> bool
3905  has_attribute(Diffusion self, SparseFloatKey a0) -> bool
3906  has_attribute(Diffusion self, SparseIntKey a0) -> bool
3907  has_attribute(Diffusion self, SparseStringKey a0) -> bool
3908  has_attribute(Diffusion self, SparseParticleIndexKey a0) -> bool
3909  """
3910  return _IMP_atom.Diffusion_has_attribute(self, *args)
3911 
3912  def get_derivative(self, a0):
3913  r"""get_derivative(Diffusion self, FloatKey a0) -> double"""
3914  return _IMP_atom.Diffusion_get_derivative(self, a0)
3915 
3916  def get_name(self):
3917  r"""get_name(Diffusion self) -> std::string"""
3918  return _IMP_atom.Diffusion_get_name(self)
3919 
3920  def clear_caches(self):
3921  r"""clear_caches(Diffusion self)"""
3922  return _IMP_atom.Diffusion_clear_caches(self)
3923 
3924  def set_name(self, a0):
3925  r"""set_name(Diffusion self, std::string a0)"""
3926  return _IMP_atom.Diffusion_set_name(self, a0)
3927 
3928  def set_check_level(self, a0):
3929  r"""set_check_level(Diffusion self, IMP::CheckLevel a0)"""
3930  return _IMP_atom.Diffusion_set_check_level(self, a0)
3931 
3932  def add_to_derivative(self, a0, a1, a2):
3933  r"""add_to_derivative(Diffusion self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3934  return _IMP_atom.Diffusion_add_to_derivative(self, a0, a1, a2)
3935 
3936  def set_is_optimized(self, a0, a1):
3937  r"""set_is_optimized(Diffusion self, FloatKey a0, bool a1)"""
3938  return _IMP_atom.Diffusion_set_is_optimized(self, a0, a1)
3939 
3940  def get_is_optimized(self, a0):
3941  r"""get_is_optimized(Diffusion self, FloatKey a0) -> bool"""
3942  return _IMP_atom.Diffusion_get_is_optimized(self, a0)
3943 
3944  def get_check_level(self):
3945  r"""get_check_level(Diffusion self) -> IMP::CheckLevel"""
3946  return _IMP_atom.Diffusion_get_check_level(self)
3947 
3948  def __eq__(self, *args):
3949  r"""
3950  __eq__(Diffusion self, Diffusion o) -> bool
3951  __eq__(Diffusion self, Particle d) -> bool
3952  """
3953  return _IMP_atom.Diffusion___eq__(self, *args)
3954 
3955  def __ne__(self, *args):
3956  r"""
3957  __ne__(Diffusion self, Diffusion o) -> bool
3958  __ne__(Diffusion self, Particle d) -> bool
3959  """
3960  return _IMP_atom.Diffusion___ne__(self, *args)
3961 
3962  def __le__(self, *args):
3963  r"""
3964  __le__(Diffusion self, Diffusion o) -> bool
3965  __le__(Diffusion self, Particle d) -> bool
3966  """
3967  return _IMP_atom.Diffusion___le__(self, *args)
3968 
3969  def __lt__(self, *args):
3970  r"""
3971  __lt__(Diffusion self, Diffusion o) -> bool
3972  __lt__(Diffusion self, Particle d) -> bool
3973  """
3974  return _IMP_atom.Diffusion___lt__(self, *args)
3975 
3976  def __ge__(self, *args):
3977  r"""
3978  __ge__(Diffusion self, Diffusion o) -> bool
3979  __ge__(Diffusion self, Particle d) -> bool
3980  """
3981  return _IMP_atom.Diffusion___ge__(self, *args)
3982 
3983  def __gt__(self, *args):
3984  r"""
3985  __gt__(Diffusion self, Diffusion o) -> bool
3986  __gt__(Diffusion self, Particle d) -> bool
3987  """
3988  return _IMP_atom.Diffusion___gt__(self, *args)
3989 
3990  def __hash__(self):
3991  r"""__hash__(Diffusion self) -> std::size_t"""
3992  return _IMP_atom.Diffusion___hash__(self)
3993 
3994  def __str__(self):
3995  r"""__str__(Diffusion self) -> std::string"""
3996  return _IMP_atom.Diffusion___str__(self)
3997 
3998  def __repr__(self):
3999  r"""__repr__(Diffusion self) -> std::string"""
4000  return _IMP_atom.Diffusion___repr__(self)
4001 
4002  def _get_as_binary(self):
4003  r"""_get_as_binary(Diffusion self) -> PyObject *"""
4004  return _IMP_atom.Diffusion__get_as_binary(self)
4005 
4006  def _set_from_binary(self, p):
4007  r"""_set_from_binary(Diffusion self, PyObject * p)"""
4008  return _IMP_atom.Diffusion__set_from_binary(self, p)
4009 
4010  def __getstate__(self):
4011  p = self._get_as_binary()
4012  if len(self.__dict__) > 1:
4013  d = self.__dict__.copy()
4014  del d['this']
4015  p = (d, p)
4016  return p
4017 
4018  def __setstate__(self, p):
4019  if not hasattr(self, 'this'):
4020  self.__init__()
4021  if isinstance(p, tuple):
4022  d, p = p
4023  self.__dict__.update(d)
4024  return self._set_from_binary(p)
4025 
4026  __swig_destroy__ = _IMP_atom.delete_Diffusion
4027 
4028 # Register Diffusion in _IMP_atom:
4029 _IMP_atom.Diffusion_swigregister(Diffusion)
4030 
4031 def get_diffusion_coefficient_from_cm2_per_second(din):
4032  r"""get_diffusion_coefficient_from_cm2_per_second(double din) -> double"""
4033  return _IMP_atom.get_diffusion_coefficient_from_cm2_per_second(din)
4034 class RigidBodyDiffusion(Diffusion):
4035  r"""Proxy of C++ IMP::atom::RigidBodyDiffusion class."""
4036 
4037  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4038 
4039  def __init__(self, *args):
4040  r"""
4041  __init__(RigidBodyDiffusion self) -> RigidBodyDiffusion
4042  __init__(RigidBodyDiffusion self, Model m, ParticleIndex id) -> RigidBodyDiffusion
4043  __init__(RigidBodyDiffusion self, _ParticleAdaptor d) -> RigidBodyDiffusion
4044  """
4045  _IMP_atom.RigidBodyDiffusion_swiginit(self, _IMP_atom.new_RigidBodyDiffusion(*args))
4046 
4047  def show(self, *args):
4048  r"""show(RigidBodyDiffusion self, _ostream out=std::cout)"""
4049  return _IMP_atom.RigidBodyDiffusion_show(self, *args)
4050 
4051  @staticmethod
4052  def setup_particle(*args):
4053  r"""
4054  setup_particle(Model m, ParticleIndex pi) -> RigidBodyDiffusion
4055  setup_particle(_ParticleAdaptor pa) -> RigidBodyDiffusion
4056  """
4057  return _IMP_atom.RigidBodyDiffusion_setup_particle(*args)
4058 
4060  r"""get_rotational_diffusion_coefficient(RigidBodyDiffusion self) -> double"""
4061  return _IMP_atom.RigidBodyDiffusion_get_rotational_diffusion_coefficient(self)
4062 
4063  def set_rotational_diffusion_coefficient(self, d):
4064  r"""set_rotational_diffusion_coefficient(RigidBodyDiffusion self, double d)"""
4065  return _IMP_atom.RigidBodyDiffusion_set_rotational_diffusion_coefficient(self, d)
4066 
4067  @staticmethod
4068  def get_is_setup(*args):
4069  r"""
4070  get_is_setup(_ParticleAdaptor p) -> bool
4071  get_is_setup(Model m, ParticleIndex p) -> bool
4072  """
4073  return _IMP_atom.RigidBodyDiffusion_get_is_setup(*args)
4074 
4075  @staticmethod
4076  def get_rotational_diffusion_coefficient_key():
4077  r"""get_rotational_diffusion_coefficient_key() -> FloatKey"""
4078  return _IMP_atom.RigidBodyDiffusion_get_rotational_diffusion_coefficient_key()
4079 
4080  def add_attribute(self, *args):
4081  r"""
4082  add_attribute(RigidBodyDiffusion self, FloatKey k, IMP::Float v, bool opt)
4083  add_attribute(RigidBodyDiffusion self, FloatKey a0, IMP::Float a1)
4084  add_attribute(RigidBodyDiffusion self, IntKey a0, IMP::Int a1)
4085  add_attribute(RigidBodyDiffusion self, FloatsKey a0, IMP::Floats a1)
4086  add_attribute(RigidBodyDiffusion self, IntsKey a0, IMP::Ints a1)
4087  add_attribute(RigidBodyDiffusion self, StringKey a0, IMP::String a1)
4088  add_attribute(RigidBodyDiffusion self, ParticleIndexKey a0, Particle a1)
4089  add_attribute(RigidBodyDiffusion self, ObjectKey a0, Object a1)
4090  add_attribute(RigidBodyDiffusion self, SparseFloatKey a0, IMP::Float a1)
4091  add_attribute(RigidBodyDiffusion self, SparseIntKey a0, IMP::Int a1)
4092  add_attribute(RigidBodyDiffusion self, SparseStringKey a0, IMP::String a1)
4093  add_attribute(RigidBodyDiffusion self, SparseParticleIndexKey a0, ParticleIndex a1)
4094  """
4095  return _IMP_atom.RigidBodyDiffusion_add_attribute(self, *args)
4096 
4097  def get_value(self, *args):
4098  r"""
4099  get_value(RigidBodyDiffusion self, FloatKey a0) -> IMP::Float
4100  get_value(RigidBodyDiffusion self, IntKey a0) -> IMP::Int
4101  get_value(RigidBodyDiffusion self, FloatsKey a0) -> IMP::Floats
4102  get_value(RigidBodyDiffusion self, IntsKey a0) -> IMP::Ints
4103  get_value(RigidBodyDiffusion self, StringKey a0) -> IMP::String
4104  get_value(RigidBodyDiffusion self, ParticleIndexKey a0) -> Particle
4105  get_value(RigidBodyDiffusion self, ObjectKey a0) -> Object
4106  get_value(RigidBodyDiffusion self, SparseFloatKey a0) -> IMP::Float
4107  get_value(RigidBodyDiffusion self, SparseIntKey a0) -> IMP::Int
4108  get_value(RigidBodyDiffusion self, SparseStringKey a0) -> IMP::String
4109  get_value(RigidBodyDiffusion self, SparseParticleIndexKey a0) -> ParticleIndex
4110  """
4111  return _IMP_atom.RigidBodyDiffusion_get_value(self, *args)
4112 
4113  def set_value(self, *args):
4114  r"""
4115  set_value(RigidBodyDiffusion self, FloatKey a0, IMP::Float a1)
4116  set_value(RigidBodyDiffusion self, IntKey a0, IMP::Int a1)
4117  set_value(RigidBodyDiffusion self, FloatsKey a0, IMP::Floats a1)
4118  set_value(RigidBodyDiffusion self, IntsKey a0, IMP::Ints a1)
4119  set_value(RigidBodyDiffusion self, StringKey a0, IMP::String a1)
4120  set_value(RigidBodyDiffusion self, ParticleIndexKey a0, Particle a1)
4121  set_value(RigidBodyDiffusion self, ObjectKey a0, Object a1)
4122  set_value(RigidBodyDiffusion self, SparseFloatKey a0, IMP::Float a1)
4123  set_value(RigidBodyDiffusion self, SparseIntKey a0, IMP::Int a1)
4124  set_value(RigidBodyDiffusion self, SparseStringKey a0, IMP::String a1)
4125  set_value(RigidBodyDiffusion self, SparseParticleIndexKey a0, ParticleIndex a1)
4126  """
4127  return _IMP_atom.RigidBodyDiffusion_set_value(self, *args)
4128 
4129  def remove_attribute(self, *args):
4130  r"""
4131  remove_attribute(RigidBodyDiffusion self, FloatKey a0)
4132  remove_attribute(RigidBodyDiffusion self, IntKey a0)
4133  remove_attribute(RigidBodyDiffusion self, FloatsKey a0)
4134  remove_attribute(RigidBodyDiffusion self, IntsKey a0)
4135  remove_attribute(RigidBodyDiffusion self, StringKey a0)
4136  remove_attribute(RigidBodyDiffusion self, ParticleIndexKey a0)
4137  remove_attribute(RigidBodyDiffusion self, ObjectKey a0)
4138  remove_attribute(RigidBodyDiffusion self, SparseFloatKey a0)
4139  remove_attribute(RigidBodyDiffusion self, SparseIntKey a0)
4140  remove_attribute(RigidBodyDiffusion self, SparseStringKey a0)
4141  remove_attribute(RigidBodyDiffusion self, SparseParticleIndexKey a0)
4142  """
4143  return _IMP_atom.RigidBodyDiffusion_remove_attribute(self, *args)
4144 
4145  def has_attribute(self, *args):
4146  r"""
4147  has_attribute(RigidBodyDiffusion self, FloatKey a0) -> bool
4148  has_attribute(RigidBodyDiffusion self, IntKey a0) -> bool
4149  has_attribute(RigidBodyDiffusion self, FloatsKey a0) -> bool
4150  has_attribute(RigidBodyDiffusion self, IntsKey a0) -> bool
4151  has_attribute(RigidBodyDiffusion self, StringKey a0) -> bool
4152  has_attribute(RigidBodyDiffusion self, ParticleIndexKey a0) -> bool
4153  has_attribute(RigidBodyDiffusion self, ObjectKey a0) -> bool
4154  has_attribute(RigidBodyDiffusion self, SparseFloatKey a0) -> bool
4155  has_attribute(RigidBodyDiffusion self, SparseIntKey a0) -> bool
4156  has_attribute(RigidBodyDiffusion self, SparseStringKey a0) -> bool
4157  has_attribute(RigidBodyDiffusion self, SparseParticleIndexKey a0) -> bool
4158  """
4159  return _IMP_atom.RigidBodyDiffusion_has_attribute(self, *args)
4160 
4161  def get_derivative(self, a0):
4162  r"""get_derivative(RigidBodyDiffusion self, FloatKey a0) -> double"""
4163  return _IMP_atom.RigidBodyDiffusion_get_derivative(self, a0)
4164 
4165  def get_name(self):
4166  r"""get_name(RigidBodyDiffusion self) -> std::string"""
4167  return _IMP_atom.RigidBodyDiffusion_get_name(self)
4168 
4169  def clear_caches(self):
4170  r"""clear_caches(RigidBodyDiffusion self)"""
4171  return _IMP_atom.RigidBodyDiffusion_clear_caches(self)
4172 
4173  def set_name(self, a0):
4174  r"""set_name(RigidBodyDiffusion self, std::string a0)"""
4175  return _IMP_atom.RigidBodyDiffusion_set_name(self, a0)
4176 
4177  def set_check_level(self, a0):
4178  r"""set_check_level(RigidBodyDiffusion self, IMP::CheckLevel a0)"""
4179  return _IMP_atom.RigidBodyDiffusion_set_check_level(self, a0)
4180 
4181  def add_to_derivative(self, a0, a1, a2):
4182  r"""add_to_derivative(RigidBodyDiffusion self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4183  return _IMP_atom.RigidBodyDiffusion_add_to_derivative(self, a0, a1, a2)
4184 
4185  def set_is_optimized(self, a0, a1):
4186  r"""set_is_optimized(RigidBodyDiffusion self, FloatKey a0, bool a1)"""
4187  return _IMP_atom.RigidBodyDiffusion_set_is_optimized(self, a0, a1)
4188 
4189  def get_is_optimized(self, a0):
4190  r"""get_is_optimized(RigidBodyDiffusion self, FloatKey a0) -> bool"""
4191  return _IMP_atom.RigidBodyDiffusion_get_is_optimized(self, a0)
4192 
4193  def get_check_level(self):
4194  r"""get_check_level(RigidBodyDiffusion self) -> IMP::CheckLevel"""
4195  return _IMP_atom.RigidBodyDiffusion_get_check_level(self)
4196 
4197  def __eq__(self, *args):
4198  r"""
4199  __eq__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4200  __eq__(RigidBodyDiffusion self, Particle d) -> bool
4201  """
4202  return _IMP_atom.RigidBodyDiffusion___eq__(self, *args)
4203 
4204  def __ne__(self, *args):
4205  r"""
4206  __ne__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4207  __ne__(RigidBodyDiffusion self, Particle d) -> bool
4208  """
4209  return _IMP_atom.RigidBodyDiffusion___ne__(self, *args)
4210 
4211  def __le__(self, *args):
4212  r"""
4213  __le__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4214  __le__(RigidBodyDiffusion self, Particle d) -> bool
4215  """
4216  return _IMP_atom.RigidBodyDiffusion___le__(self, *args)
4217 
4218  def __lt__(self, *args):
4219  r"""
4220  __lt__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4221  __lt__(RigidBodyDiffusion self, Particle d) -> bool
4222  """
4223  return _IMP_atom.RigidBodyDiffusion___lt__(self, *args)
4224 
4225  def __ge__(self, *args):
4226  r"""
4227  __ge__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4228  __ge__(RigidBodyDiffusion self, Particle d) -> bool
4229  """
4230  return _IMP_atom.RigidBodyDiffusion___ge__(self, *args)
4231 
4232  def __gt__(self, *args):
4233  r"""
4234  __gt__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4235  __gt__(RigidBodyDiffusion self, Particle d) -> bool
4236  """
4237  return _IMP_atom.RigidBodyDiffusion___gt__(self, *args)
4238 
4239  def __hash__(self):
4240  r"""__hash__(RigidBodyDiffusion self) -> std::size_t"""
4241  return _IMP_atom.RigidBodyDiffusion___hash__(self)
4242 
4243  def __str__(self):
4244  r"""__str__(RigidBodyDiffusion self) -> std::string"""
4245  return _IMP_atom.RigidBodyDiffusion___str__(self)
4246 
4247  def __repr__(self):
4248  r"""__repr__(RigidBodyDiffusion self) -> std::string"""
4249  return _IMP_atom.RigidBodyDiffusion___repr__(self)
4250 
4251  def _get_as_binary(self):
4252  r"""_get_as_binary(RigidBodyDiffusion self) -> PyObject *"""
4253  return _IMP_atom.RigidBodyDiffusion__get_as_binary(self)
4254 
4255  def _set_from_binary(self, p):
4256  r"""_set_from_binary(RigidBodyDiffusion self, PyObject * p)"""
4257  return _IMP_atom.RigidBodyDiffusion__set_from_binary(self, p)
4258 
4259  def __getstate__(self):
4260  p = self._get_as_binary()
4261  if len(self.__dict__) > 1:
4262  d = self.__dict__.copy()
4263  del d['this']
4264  p = (d, p)
4265  return p
4266 
4267  def __setstate__(self, p):
4268  if not hasattr(self, 'this'):
4269  self.__init__()
4270  if isinstance(p, tuple):
4271  d, p = p
4272  self.__dict__.update(d)
4273  return self._set_from_binary(p)
4274 
4275  __swig_destroy__ = _IMP_atom.delete_RigidBodyDiffusion
4276 
4277 # Register RigidBodyDiffusion in _IMP_atom:
4278 _IMP_atom.RigidBodyDiffusion_swigregister(RigidBodyDiffusion)
4279 class TAMDParticle(IMP.Decorator):
4280  r"""Proxy of C++ IMP::atom::TAMDParticle class."""
4281 
4282  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4283 
4284  def __init__(self, *args):
4285  r"""
4286  __init__(TAMDParticle self) -> TAMDParticle
4287  __init__(TAMDParticle self, Model m, ParticleIndex id) -> TAMDParticle
4288  __init__(TAMDParticle self, _ParticleAdaptor d) -> TAMDParticle
4289  """
4290  _IMP_atom.TAMDParticle_swiginit(self, _IMP_atom.new_TAMDParticle(*args))
4291 
4292  def show(self, *args):
4293  r"""show(TAMDParticle self, _ostream out=std::cout)"""
4294  return _IMP_atom.TAMDParticle_show(self, *args)
4295 
4296  @staticmethod
4297  def setup_particle(*args):
4298  r"""
4299  setup_particle(Model m, ParticleIndex pi, ParticleIndex pi_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
4300  setup_particle(_ParticleAdaptor pa, ParticleIndex pi_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
4301  setup_particle(Model m, ParticleIndex pi, Particle p_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
4302  setup_particle(_ParticleAdaptor pa, Particle p_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
4303  """
4304  return _IMP_atom.TAMDParticle_setup_particle(*args)
4305 
4306  @staticmethod
4307  def get_is_setup(*args):
4308  r"""
4309  get_is_setup(_ParticleAdaptor p) -> bool
4310  get_is_setup(Model m, ParticleIndex p) -> bool
4311  """
4312  return _IMP_atom.TAMDParticle_get_is_setup(*args)
4313 
4314  def get_reference_particle_index(self):
4315  r"""get_reference_particle_index(TAMDParticle self) -> ParticleIndex"""
4316  return _IMP_atom.TAMDParticle_get_reference_particle_index(self)
4317 
4318  def set_temperature_scale_factor(self, tsf):
4319  r"""set_temperature_scale_factor(TAMDParticle self, float tsf)"""
4320  return _IMP_atom.TAMDParticle_set_temperature_scale_factor(self, tsf)
4321 
4322  def get_temperature_scale_factor(self):
4323  r"""get_temperature_scale_factor(TAMDParticle self) -> double"""
4324  return _IMP_atom.TAMDParticle_get_temperature_scale_factor(self)
4325 
4326  def set_friction_scale_factor(self, tsf):
4327  r"""set_friction_scale_factor(TAMDParticle self, float tsf)"""
4328  return _IMP_atom.TAMDParticle_set_friction_scale_factor(self, tsf)
4329 
4330  def get_friction_scale_factor(self):
4331  r"""get_friction_scale_factor(TAMDParticle self) -> double"""
4332  return _IMP_atom.TAMDParticle_get_friction_scale_factor(self)
4333 
4334  def update_coordinates_from_ref(self):
4335  r"""update_coordinates_from_ref(TAMDParticle self)"""
4336  return _IMP_atom.TAMDParticle_update_coordinates_from_ref(self)
4337 
4338  @staticmethod
4339  def get_temperature_scale_factor_key():
4340  r"""get_temperature_scale_factor_key() -> FloatKey"""
4341  return _IMP_atom.TAMDParticle_get_temperature_scale_factor_key()
4342 
4343  @staticmethod
4344  def get_friction_scale_factor_key():
4345  r"""get_friction_scale_factor_key() -> FloatKey"""
4346  return _IMP_atom.TAMDParticle_get_friction_scale_factor_key()
4347 
4348  @staticmethod
4349  def get_reference_particle_index_key():
4350  r"""get_reference_particle_index_key() -> ParticleIndexKey"""
4351  return _IMP_atom.TAMDParticle_get_reference_particle_index_key()
4352 
4353  def add_attribute(self, *args):
4354  r"""
4355  add_attribute(TAMDParticle self, FloatKey k, IMP::Float v, bool opt)
4356  add_attribute(TAMDParticle self, FloatKey a0, IMP::Float a1)
4357  add_attribute(TAMDParticle self, IntKey a0, IMP::Int a1)
4358  add_attribute(TAMDParticle self, FloatsKey a0, IMP::Floats a1)
4359  add_attribute(TAMDParticle self, IntsKey a0, IMP::Ints a1)
4360  add_attribute(TAMDParticle self, StringKey a0, IMP::String a1)
4361  add_attribute(TAMDParticle self, ParticleIndexKey a0, Particle a1)
4362  add_attribute(TAMDParticle self, ObjectKey a0, Object a1)
4363  add_attribute(TAMDParticle self, SparseFloatKey a0, IMP::Float a1)
4364  add_attribute(TAMDParticle self, SparseIntKey a0, IMP::Int a1)
4365  add_attribute(TAMDParticle self, SparseStringKey a0, IMP::String a1)
4366  add_attribute(TAMDParticle self, SparseParticleIndexKey a0, ParticleIndex a1)
4367  """
4368  return _IMP_atom.TAMDParticle_add_attribute(self, *args)
4369 
4370  def get_value(self, *args):
4371  r"""
4372  get_value(TAMDParticle self, FloatKey a0) -> IMP::Float
4373  get_value(TAMDParticle self, IntKey a0) -> IMP::Int
4374  get_value(TAMDParticle self, FloatsKey a0) -> IMP::Floats
4375  get_value(TAMDParticle self, IntsKey a0) -> IMP::Ints
4376  get_value(TAMDParticle self, StringKey a0) -> IMP::String
4377  get_value(TAMDParticle self, ParticleIndexKey a0) -> Particle
4378  get_value(TAMDParticle self, ObjectKey a0) -> Object
4379  get_value(TAMDParticle self, SparseFloatKey a0) -> IMP::Float
4380  get_value(TAMDParticle self, SparseIntKey a0) -> IMP::Int
4381  get_value(TAMDParticle self, SparseStringKey a0) -> IMP::String
4382  get_value(TAMDParticle self, SparseParticleIndexKey a0) -> ParticleIndex
4383  """
4384  return _IMP_atom.TAMDParticle_get_value(self, *args)
4385 
4386  def set_value(self, *args):
4387  r"""
4388  set_value(TAMDParticle self, FloatKey a0, IMP::Float a1)
4389  set_value(TAMDParticle self, IntKey a0, IMP::Int a1)
4390  set_value(TAMDParticle self, FloatsKey a0, IMP::Floats a1)
4391  set_value(TAMDParticle self, IntsKey a0, IMP::Ints a1)
4392  set_value(TAMDParticle self, StringKey a0, IMP::String a1)
4393  set_value(TAMDParticle self, ParticleIndexKey a0, Particle a1)
4394  set_value(TAMDParticle self, ObjectKey a0, Object a1)
4395  set_value(TAMDParticle self, SparseFloatKey a0, IMP::Float a1)
4396  set_value(TAMDParticle self, SparseIntKey a0, IMP::Int a1)
4397  set_value(TAMDParticle self, SparseStringKey a0, IMP::String a1)
4398  set_value(TAMDParticle self, SparseParticleIndexKey a0, ParticleIndex a1)
4399  """
4400  return _IMP_atom.TAMDParticle_set_value(self, *args)
4401 
4402  def remove_attribute(self, *args):
4403  r"""
4404  remove_attribute(TAMDParticle self, FloatKey a0)
4405  remove_attribute(TAMDParticle self, IntKey a0)
4406  remove_attribute(TAMDParticle self, FloatsKey a0)
4407  remove_attribute(TAMDParticle self, IntsKey a0)
4408  remove_attribute(TAMDParticle self, StringKey a0)
4409  remove_attribute(TAMDParticle self, ParticleIndexKey a0)
4410  remove_attribute(TAMDParticle self, ObjectKey a0)
4411  remove_attribute(TAMDParticle self, SparseFloatKey a0)
4412  remove_attribute(TAMDParticle self, SparseIntKey a0)
4413  remove_attribute(TAMDParticle self, SparseStringKey a0)
4414  remove_attribute(TAMDParticle self, SparseParticleIndexKey a0)
4415  """
4416  return _IMP_atom.TAMDParticle_remove_attribute(self, *args)
4417 
4418  def has_attribute(self, *args):
4419  r"""
4420  has_attribute(TAMDParticle self, FloatKey a0) -> bool
4421  has_attribute(TAMDParticle self, IntKey a0) -> bool
4422  has_attribute(TAMDParticle self, FloatsKey a0) -> bool
4423  has_attribute(TAMDParticle self, IntsKey a0) -> bool
4424  has_attribute(TAMDParticle self, StringKey a0) -> bool
4425  has_attribute(TAMDParticle self, ParticleIndexKey a0) -> bool
4426  has_attribute(TAMDParticle self, ObjectKey a0) -> bool
4427  has_attribute(TAMDParticle self, SparseFloatKey a0) -> bool
4428  has_attribute(TAMDParticle self, SparseIntKey a0) -> bool
4429  has_attribute(TAMDParticle self, SparseStringKey a0) -> bool
4430  has_attribute(TAMDParticle self, SparseParticleIndexKey a0) -> bool
4431  """
4432  return _IMP_atom.TAMDParticle_has_attribute(self, *args)
4433 
4434  def get_derivative(self, a0):
4435  r"""get_derivative(TAMDParticle self, FloatKey a0) -> double"""
4436  return _IMP_atom.TAMDParticle_get_derivative(self, a0)
4437 
4438  def get_name(self):
4439  r"""get_name(TAMDParticle self) -> std::string"""
4440  return _IMP_atom.TAMDParticle_get_name(self)
4441 
4442  def clear_caches(self):
4443  r"""clear_caches(TAMDParticle self)"""
4444  return _IMP_atom.TAMDParticle_clear_caches(self)
4445 
4446  def set_name(self, a0):
4447  r"""set_name(TAMDParticle self, std::string a0)"""
4448  return _IMP_atom.TAMDParticle_set_name(self, a0)
4449 
4450  def set_check_level(self, a0):
4451  r"""set_check_level(TAMDParticle self, IMP::CheckLevel a0)"""
4452  return _IMP_atom.TAMDParticle_set_check_level(self, a0)
4453 
4454  def add_to_derivative(self, a0, a1, a2):
4455  r"""add_to_derivative(TAMDParticle self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4456  return _IMP_atom.TAMDParticle_add_to_derivative(self, a0, a1, a2)
4457 
4458  def set_is_optimized(self, a0, a1):
4459  r"""set_is_optimized(TAMDParticle self, FloatKey a0, bool a1)"""
4460  return _IMP_atom.TAMDParticle_set_is_optimized(self, a0, a1)
4461 
4462  def get_is_optimized(self, a0):
4463  r"""get_is_optimized(TAMDParticle self, FloatKey a0) -> bool"""
4464  return _IMP_atom.TAMDParticle_get_is_optimized(self, a0)
4465 
4466  def get_check_level(self):
4467  r"""get_check_level(TAMDParticle self) -> IMP::CheckLevel"""
4468  return _IMP_atom.TAMDParticle_get_check_level(self)
4469 
4470  def __eq__(self, *args):
4471  r"""
4472  __eq__(TAMDParticle self, TAMDParticle o) -> bool
4473  __eq__(TAMDParticle self, Particle d) -> bool
4474  """
4475  return _IMP_atom.TAMDParticle___eq__(self, *args)
4476 
4477  def __ne__(self, *args):
4478  r"""
4479  __ne__(TAMDParticle self, TAMDParticle o) -> bool
4480  __ne__(TAMDParticle self, Particle d) -> bool
4481  """
4482  return _IMP_atom.TAMDParticle___ne__(self, *args)
4483 
4484  def __le__(self, *args):
4485  r"""
4486  __le__(TAMDParticle self, TAMDParticle o) -> bool
4487  __le__(TAMDParticle self, Particle d) -> bool
4488  """
4489  return _IMP_atom.TAMDParticle___le__(self, *args)
4490 
4491  def __lt__(self, *args):
4492  r"""
4493  __lt__(TAMDParticle self, TAMDParticle o) -> bool
4494  __lt__(TAMDParticle self, Particle d) -> bool
4495  """
4496  return _IMP_atom.TAMDParticle___lt__(self, *args)
4497 
4498  def __ge__(self, *args):
4499  r"""
4500  __ge__(TAMDParticle self, TAMDParticle o) -> bool
4501  __ge__(TAMDParticle self, Particle d) -> bool
4502  """
4503  return _IMP_atom.TAMDParticle___ge__(self, *args)
4504 
4505  def __gt__(self, *args):
4506  r"""
4507  __gt__(TAMDParticle self, TAMDParticle o) -> bool
4508  __gt__(TAMDParticle self, Particle d) -> bool
4509  """
4510  return _IMP_atom.TAMDParticle___gt__(self, *args)
4511 
4512  def __hash__(self):
4513  r"""__hash__(TAMDParticle self) -> std::size_t"""
4514  return _IMP_atom.TAMDParticle___hash__(self)
4515 
4516  def __str__(self):
4517  r"""__str__(TAMDParticle self) -> std::string"""
4518  return _IMP_atom.TAMDParticle___str__(self)
4519 
4520  def __repr__(self):
4521  r"""__repr__(TAMDParticle self) -> std::string"""
4522  return _IMP_atom.TAMDParticle___repr__(self)
4523 
4524  def _get_as_binary(self):
4525  r"""_get_as_binary(TAMDParticle self) -> PyObject *"""
4526  return _IMP_atom.TAMDParticle__get_as_binary(self)
4527 
4528  def _set_from_binary(self, p):
4529  r"""_set_from_binary(TAMDParticle self, PyObject * p)"""
4530  return _IMP_atom.TAMDParticle__set_from_binary(self, p)
4531 
4532  def __getstate__(self):
4533  p = self._get_as_binary()
4534  if len(self.__dict__) > 1:
4535  d = self.__dict__.copy()
4536  del d['this']
4537  p = (d, p)
4538  return p
4539 
4540  def __setstate__(self, p):
4541  if not hasattr(self, 'this'):
4542  self.__init__()
4543  if isinstance(p, tuple):
4544  d, p = p
4545  self.__dict__.update(d)
4546  return self._set_from_binary(p)
4547 
4548  __swig_destroy__ = _IMP_atom.delete_TAMDParticle
4549 
4550 # Register TAMDParticle in _IMP_atom:
4551 _IMP_atom.TAMDParticle_swigregister(TAMDParticle)
4552 class Charged(IMP.core.XYZ):
4553  r"""Proxy of C++ IMP::atom::Charged class."""
4554 
4555  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4556 
4557  def __init__(self, *args):
4558  r"""
4559  __init__(Charged self) -> Charged
4560  __init__(Charged self, Model m, ParticleIndex id) -> Charged
4561  __init__(Charged self, _ParticleAdaptor d) -> Charged
4562  """
4563  _IMP_atom.Charged_swiginit(self, _IMP_atom.new_Charged(*args))
4564 
4565  def show(self, *args):
4566  r"""show(Charged self, _ostream out=std::cout)"""
4567  return _IMP_atom.Charged_show(self, *args)
4568 
4569  @staticmethod
4570  def setup_particle(*args):
4571  r"""
4572  setup_particle(Model m, ParticleIndex pi, IMP::Float charge) -> Charged
4573  setup_particle(_ParticleAdaptor pa, IMP::Float charge) -> Charged
4574  setup_particle(Model m, ParticleIndex pi, Vector3D v, IMP::Float charge) -> Charged
4575  setup_particle(_ParticleAdaptor pa, Vector3D v, IMP::Float charge) -> Charged
4576  """
4577  return _IMP_atom.Charged_setup_particle(*args)
4578 
4579  def get_charge(self):
4580  r"""get_charge(Charged self) -> IMP::Float"""
4581  return _IMP_atom.Charged_get_charge(self)
4582 
4583  def set_charge(self, t):
4584  r"""set_charge(Charged self, IMP::Float t)"""
4585  return _IMP_atom.Charged_set_charge(self, t)
4586 
4587  @staticmethod
4588  def get_is_setup(*args):
4589  r"""
4590  get_is_setup(_ParticleAdaptor p) -> bool
4591  get_is_setup(Model m, ParticleIndex pi) -> bool
4592  """
4593  return _IMP_atom.Charged_get_is_setup(*args)
4594 
4595  @staticmethod
4596  def get_charge_key():
4597  r"""get_charge_key() -> FloatKey"""
4598  return _IMP_atom.Charged_get_charge_key()
4599 
4600  def add_attribute(self, *args):
4601  r"""
4602  add_attribute(Charged self, FloatKey k, IMP::Float v, bool opt)
4603  add_attribute(Charged self, FloatKey a0, IMP::Float a1)
4604  add_attribute(Charged self, IntKey a0, IMP::Int a1)
4605  add_attribute(Charged self, FloatsKey a0, IMP::Floats a1)
4606  add_attribute(Charged self, IntsKey a0, IMP::Ints a1)
4607  add_attribute(Charged self, StringKey a0, IMP::String a1)
4608  add_attribute(Charged self, ParticleIndexKey a0, Particle a1)
4609  add_attribute(Charged self, ObjectKey a0, Object a1)
4610  add_attribute(Charged self, SparseFloatKey a0, IMP::Float a1)
4611  add_attribute(Charged self, SparseIntKey a0, IMP::Int a1)
4612  add_attribute(Charged self, SparseStringKey a0, IMP::String a1)
4613  add_attribute(Charged self, SparseParticleIndexKey a0, ParticleIndex a1)
4614  """
4615  return _IMP_atom.Charged_add_attribute(self, *args)
4616 
4617  def get_value(self, *args):
4618  r"""
4619  get_value(Charged self, FloatKey a0) -> IMP::Float
4620  get_value(Charged self, IntKey a0) -> IMP::Int
4621  get_value(Charged self, FloatsKey a0) -> IMP::Floats
4622  get_value(Charged self, IntsKey a0) -> IMP::Ints
4623  get_value(Charged self, StringKey a0) -> IMP::String
4624  get_value(Charged self, ParticleIndexKey a0) -> Particle
4625  get_value(Charged self, ObjectKey a0) -> Object
4626  get_value(Charged self, SparseFloatKey a0) -> IMP::Float
4627  get_value(Charged self, SparseIntKey a0) -> IMP::Int
4628  get_value(Charged self, SparseStringKey a0) -> IMP::String
4629  get_value(Charged self, SparseParticleIndexKey a0) -> ParticleIndex
4630  """
4631  return _IMP_atom.Charged_get_value(self, *args)
4632 
4633  def set_value(self, *args):
4634  r"""
4635  set_value(Charged self, FloatKey a0, IMP::Float a1)
4636  set_value(Charged self, IntKey a0, IMP::Int a1)
4637  set_value(Charged self, FloatsKey a0, IMP::Floats a1)
4638  set_value(Charged self, IntsKey a0, IMP::Ints a1)
4639  set_value(Charged self, StringKey a0, IMP::String a1)
4640  set_value(Charged self, ParticleIndexKey a0, Particle a1)
4641  set_value(Charged self, ObjectKey a0, Object a1)
4642  set_value(Charged self, SparseFloatKey a0, IMP::Float a1)
4643  set_value(Charged self, SparseIntKey a0, IMP::Int a1)
4644  set_value(Charged self, SparseStringKey a0, IMP::String a1)
4645  set_value(Charged self, SparseParticleIndexKey a0, ParticleIndex a1)
4646  """
4647  return _IMP_atom.Charged_set_value(self, *args)
4648 
4649  def remove_attribute(self, *args):
4650  r"""
4651  remove_attribute(Charged self, FloatKey a0)
4652  remove_attribute(Charged self, IntKey a0)
4653  remove_attribute(Charged self, FloatsKey a0)
4654  remove_attribute(Charged self, IntsKey a0)
4655  remove_attribute(Charged self, StringKey a0)
4656  remove_attribute(Charged self, ParticleIndexKey a0)
4657  remove_attribute(Charged self, ObjectKey a0)
4658  remove_attribute(Charged self, SparseFloatKey a0)
4659  remove_attribute(Charged self, SparseIntKey a0)
4660  remove_attribute(Charged self, SparseStringKey a0)
4661  remove_attribute(Charged self, SparseParticleIndexKey a0)
4662  """
4663  return _IMP_atom.Charged_remove_attribute(self, *args)
4664 
4665  def has_attribute(self, *args):
4666  r"""
4667  has_attribute(Charged self, FloatKey a0) -> bool
4668  has_attribute(Charged self, IntKey a0) -> bool
4669  has_attribute(Charged self, FloatsKey a0) -> bool
4670  has_attribute(Charged self, IntsKey a0) -> bool
4671  has_attribute(Charged self, StringKey a0) -> bool
4672  has_attribute(Charged self, ParticleIndexKey a0) -> bool
4673  has_attribute(Charged self, ObjectKey a0) -> bool
4674  has_attribute(Charged self, SparseFloatKey a0) -> bool
4675  has_attribute(Charged self, SparseIntKey a0) -> bool
4676  has_attribute(Charged self, SparseStringKey a0) -> bool
4677  has_attribute(Charged self, SparseParticleIndexKey a0) -> bool
4678  """
4679  return _IMP_atom.Charged_has_attribute(self, *args)
4680 
4681  def get_derivative(self, a0):
4682  r"""get_derivative(Charged self, FloatKey a0) -> double"""
4683  return _IMP_atom.Charged_get_derivative(self, a0)
4684 
4685  def get_name(self):
4686  r"""get_name(Charged self) -> std::string"""
4687  return _IMP_atom.Charged_get_name(self)
4688 
4689  def clear_caches(self):
4690  r"""clear_caches(Charged self)"""
4691  return _IMP_atom.Charged_clear_caches(self)
4692 
4693  def set_name(self, a0):
4694  r"""set_name(Charged self, std::string a0)"""
4695  return _IMP_atom.Charged_set_name(self, a0)
4696 
4697  def set_check_level(self, a0):
4698  r"""set_check_level(Charged self, IMP::CheckLevel a0)"""
4699  return _IMP_atom.Charged_set_check_level(self, a0)
4700 
4701  def add_to_derivative(self, a0, a1, a2):
4702  r"""add_to_derivative(Charged self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4703  return _IMP_atom.Charged_add_to_derivative(self, a0, a1, a2)
4704 
4705  def set_is_optimized(self, a0, a1):
4706  r"""set_is_optimized(Charged self, FloatKey a0, bool a1)"""
4707  return _IMP_atom.Charged_set_is_optimized(self, a0, a1)
4708 
4709  def get_is_optimized(self, a0):
4710  r"""get_is_optimized(Charged self, FloatKey a0) -> bool"""
4711  return _IMP_atom.Charged_get_is_optimized(self, a0)
4712 
4713  def get_check_level(self):
4714  r"""get_check_level(Charged self) -> IMP::CheckLevel"""
4715  return _IMP_atom.Charged_get_check_level(self)
4716 
4717  def __eq__(self, *args):
4718  r"""
4719  __eq__(Charged self, Charged o) -> bool
4720  __eq__(Charged self, Particle d) -> bool
4721  """
4722  return _IMP_atom.Charged___eq__(self, *args)
4723 
4724  def __ne__(self, *args):
4725  r"""
4726  __ne__(Charged self, Charged o) -> bool
4727  __ne__(Charged self, Particle d) -> bool
4728  """
4729  return _IMP_atom.Charged___ne__(self, *args)
4730 
4731  def __le__(self, *args):
4732  r"""
4733  __le__(Charged self, Charged o) -> bool
4734  __le__(Charged self, Particle d) -> bool
4735  """
4736  return _IMP_atom.Charged___le__(self, *args)
4737 
4738  def __lt__(self, *args):
4739  r"""
4740  __lt__(Charged self, Charged o) -> bool
4741  __lt__(Charged self, Particle d) -> bool
4742  """
4743  return _IMP_atom.Charged___lt__(self, *args)
4744 
4745  def __ge__(self, *args):
4746  r"""
4747  __ge__(Charged self, Charged o) -> bool
4748  __ge__(Charged self, Particle d) -> bool
4749  """
4750  return _IMP_atom.Charged___ge__(self, *args)
4751 
4752  def __gt__(self, *args):
4753  r"""
4754  __gt__(Charged self, Charged o) -> bool
4755  __gt__(Charged self, Particle d) -> bool
4756  """
4757  return _IMP_atom.Charged___gt__(self, *args)
4758 
4759  def __hash__(self):
4760  r"""__hash__(Charged self) -> std::size_t"""
4761  return _IMP_atom.Charged___hash__(self)
4762 
4763  def __str__(self):
4764  r"""__str__(Charged self) -> std::string"""
4765  return _IMP_atom.Charged___str__(self)
4766 
4767  def __repr__(self):
4768  r"""__repr__(Charged self) -> std::string"""
4769  return _IMP_atom.Charged___repr__(self)
4770 
4771  def _get_as_binary(self):
4772  r"""_get_as_binary(Charged self) -> PyObject *"""
4773  return _IMP_atom.Charged__get_as_binary(self)
4774 
4775  def _set_from_binary(self, p):
4776  r"""_set_from_binary(Charged self, PyObject * p)"""
4777  return _IMP_atom.Charged__set_from_binary(self, p)
4778 
4779  def __getstate__(self):
4780  p = self._get_as_binary()
4781  if len(self.__dict__) > 1:
4782  d = self.__dict__.copy()
4783  del d['this']
4784  p = (d, p)
4785  return p
4786 
4787  def __setstate__(self, p):
4788  if not hasattr(self, 'this'):
4789  self.__init__()
4790  if isinstance(p, tuple):
4791  d, p = p
4792  self.__dict__.update(d)
4793  return self._set_from_binary(p)
4794 
4795  __swig_destroy__ = _IMP_atom.delete_Charged
4796 
4797 # Register Charged in _IMP_atom:
4798 _IMP_atom.Charged_swigregister(Charged)
4799 class CoulombPairScore(IMP.PairScore):
4800  r"""Proxy of C++ IMP::atom::CoulombPairScore class."""
4801 
4802  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4803 
4804  def __init__(self, f):
4805  r"""__init__(CoulombPairScore self, SmoothingFunction f) -> CoulombPairScore"""
4806  _IMP_atom.CoulombPairScore_swiginit(self, _IMP_atom.new_CoulombPairScore(f))
4807 
4808  def set_relative_dielectric(self, relative_dielectric):
4809  r"""set_relative_dielectric(CoulombPairScore self, double relative_dielectric)"""
4810  return _IMP_atom.CoulombPairScore_set_relative_dielectric(self, relative_dielectric)
4811 
4812  def get_relative_dielectric(self):
4813  r"""get_relative_dielectric(CoulombPairScore self) -> double"""
4814  return _IMP_atom.CoulombPairScore_get_relative_dielectric(self)
4815 
4816  def get_smoothing_function(self):
4817  r"""get_smoothing_function(CoulombPairScore self) -> SmoothingFunction"""
4818  return _IMP_atom.CoulombPairScore_get_smoothing_function(self)
4819 
4820  def do_get_inputs(self, m, pis):
4821  r"""do_get_inputs(CoulombPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4822  return _IMP_atom.CoulombPairScore_do_get_inputs(self, m, pis)
4823 
4824  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4825  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"""
4826  return _IMP_atom.CoulombPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4827 
4828  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4829  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"""
4830  return _IMP_atom.CoulombPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4831 
4832  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4833  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"""
4834  return _IMP_atom.CoulombPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4835 
4836  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4837  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"""
4838  return _IMP_atom.CoulombPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4839 
4840  def get_version_info(self):
4841  r"""get_version_info(CoulombPairScore self) -> VersionInfo"""
4842  return _IMP_atom.CoulombPairScore_get_version_info(self)
4843  __swig_destroy__ = _IMP_atom.delete_CoulombPairScore
4844 
4845  def __str__(self):
4846  r"""__str__(CoulombPairScore self) -> std::string"""
4847  return _IMP_atom.CoulombPairScore___str__(self)
4848 
4849  def __repr__(self):
4850  r"""__repr__(CoulombPairScore self) -> std::string"""
4851  return _IMP_atom.CoulombPairScore___repr__(self)
4852 
4853  @staticmethod
4854  def get_from(o):
4855  return _object_cast_to_CoulombPairScore(o)
4856 
4857 
4858  def _get_jax(self, m, indexes):
4859  import math
4860  import jax
4861  import jax.numpy as jnp
4862  # 1 / (4pi * epsilon) * conversion factor to get score in kcal/mol
4863  # if distances are in angstroms
4864  avogadro = 6.02214179e23 # /mole
4865  electron_charge = 1.6021892e-19 # Coulomb
4866  permittivity_vacuum = 8.854187818e-12 # C/V/m
4867  kcal2joule = 4186.8
4868  factor = (avogadro * electron_charge * electron_charge *
4869  1.0e10 / permittivity_vacuum / kcal2joule /
4870  (4.0 * math.pi * self.get_relative_dielectric()))
4871  sf = self.get_smoothing_function().get_derived_object()
4872  # Function operates on a single distance + score; make it work on
4873  # an array instead using jax.vmap
4874  smoothing_function = jax.vmap(sf._get_jax())
4875  def score(jm):
4876  xyzs = jm['xyz'][indexes]
4877  qs = jm['charge'][indexes]
4878  diff = xyzs[:,0] - xyzs[:,1]
4879  drs = jnp.linalg.norm(diff, axis=1)
4880  scores = factor * jnp.prod(qs, axis=1) / drs
4881  return smoothing_function(scores, drs)
4882  return self._wrap_jax(m, score, keys=[Charged.get_charge_key()])
4883 
4884 
4885 # Register CoulombPairScore in _IMP_atom:
4886 _IMP_atom.CoulombPairScore_swigregister(CoulombPairScore)
4887 class Domain(Hierarchy):
4888  r"""Proxy of C++ IMP::atom::Domain class."""
4889 
4890  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4891 
4892  def set_index_range(self, ir):
4893  r"""set_index_range(Domain self, IMP::IntRange ir)"""
4894  return _IMP_atom.Domain_set_index_range(self, ir)
4895 
4896  def get_index_range(self):
4897  r"""get_index_range(Domain self) -> IMP::IntRange"""
4898  return _IMP_atom.Domain_get_index_range(self)
4899 
4900  def __init__(self, *args):
4901  r"""
4902  __init__(Domain self) -> Domain
4903  __init__(Domain self, Model m, ParticleIndex id) -> Domain
4904  __init__(Domain self, _ParticleAdaptor d) -> Domain
4905  """
4906  _IMP_atom.Domain_swiginit(self, _IMP_atom.new_Domain(*args))
4907 
4908  @staticmethod
4909  def get_is_setup(*args):
4910  r"""
4911  get_is_setup(Model m, ParticleIndex pi) -> bool
4912  get_is_setup(_ParticleAdaptor p) -> bool
4913  """
4914  return _IMP_atom.Domain_get_is_setup(*args)
4915 
4916  def show(self, *args):
4917  r"""show(Domain self, _ostream out=std::cout)"""
4918  return _IMP_atom.Domain_show(self, *args)
4919 
4920  @staticmethod
4921  def setup_particle(*args):
4922  r"""
4923  setup_particle(Model m, ParticleIndex pi, Domain other) -> Domain
4924  setup_particle(_ParticleAdaptor pa, Domain other) -> Domain
4925  setup_particle(Model m, ParticleIndex pi, IMP::IntRange residues) -> Domain
4926  setup_particle(_ParticleAdaptor pa, IMP::IntRange residues) -> Domain
4927  """
4928  return _IMP_atom.Domain_setup_particle(*args)
4929 
4930  def add_attribute(self, *args):
4931  r"""
4932  add_attribute(Domain self, FloatKey k, IMP::Float v, bool opt)
4933  add_attribute(Domain self, FloatKey a0, IMP::Float a1)
4934  add_attribute(Domain self, IntKey a0, IMP::Int a1)
4935  add_attribute(Domain self, FloatsKey a0, IMP::Floats a1)
4936  add_attribute(Domain self, IntsKey a0, IMP::Ints a1)
4937  add_attribute(Domain self, StringKey a0, IMP::String a1)
4938  add_attribute(Domain self, ParticleIndexKey a0, Particle a1)
4939  add_attribute(Domain self, ObjectKey a0, Object a1)
4940  add_attribute(Domain self, SparseFloatKey a0, IMP::Float a1)
4941  add_attribute(Domain self, SparseIntKey a0, IMP::Int a1)
4942  add_attribute(Domain self, SparseStringKey a0, IMP::String a1)
4943  add_attribute(Domain self, SparseParticleIndexKey a0, ParticleIndex a1)
4944  """
4945  return _IMP_atom.Domain_add_attribute(self, *args)
4946 
4947  def get_value(self, *args):
4948  r"""
4949  get_value(Domain self, FloatKey a0) -> IMP::Float
4950  get_value(Domain self, IntKey a0) -> IMP::Int
4951  get_value(Domain self, FloatsKey a0) -> IMP::Floats
4952  get_value(Domain self, IntsKey a0) -> IMP::Ints
4953  get_value(Domain self, StringKey a0) -> IMP::String
4954  get_value(Domain self, ParticleIndexKey a0) -> Particle
4955  get_value(Domain self, ObjectKey a0) -> Object
4956  get_value(Domain self, SparseFloatKey a0) -> IMP::Float
4957  get_value(Domain self, SparseIntKey a0) -> IMP::Int
4958  get_value(Domain self, SparseStringKey a0) -> IMP::String
4959  get_value(Domain self, SparseParticleIndexKey a0) -> ParticleIndex
4960  """
4961  return _IMP_atom.Domain_get_value(self, *args)
4962 
4963  def set_value(self, *args):
4964  r"""
4965  set_value(Domain self, FloatKey a0, IMP::Float a1)
4966  set_value(Domain self, IntKey a0, IMP::Int a1)
4967  set_value(Domain self, FloatsKey a0, IMP::Floats a1)
4968  set_value(Domain self, IntsKey a0, IMP::Ints a1)
4969  set_value(Domain self, StringKey a0, IMP::String a1)
4970  set_value(Domain self, ParticleIndexKey a0, Particle a1)
4971  set_value(Domain self, ObjectKey a0, Object a1)
4972  set_value(Domain self, SparseFloatKey a0, IMP::Float a1)
4973  set_value(Domain self, SparseIntKey a0, IMP::Int a1)
4974  set_value(Domain self, SparseStringKey a0, IMP::String a1)
4975  set_value(Domain self, SparseParticleIndexKey a0, ParticleIndex a1)
4976  """
4977  return _IMP_atom.Domain_set_value(self, *args)
4978 
4979  def remove_attribute(self, *args):
4980  r"""
4981  remove_attribute(Domain self, FloatKey a0)
4982  remove_attribute(Domain self, IntKey a0)
4983  remove_attribute(Domain self, FloatsKey a0)
4984  remove_attribute(Domain self, IntsKey a0)
4985  remove_attribute(Domain self, StringKey a0)
4986  remove_attribute(Domain self, ParticleIndexKey a0)
4987  remove_attribute(Domain self, ObjectKey a0)
4988  remove_attribute(Domain self, SparseFloatKey a0)
4989  remove_attribute(Domain self, SparseIntKey a0)
4990  remove_attribute(Domain self, SparseStringKey a0)
4991  remove_attribute(Domain self, SparseParticleIndexKey a0)
4992  """
4993  return _IMP_atom.Domain_remove_attribute(self, *args)
4994 
4995  def has_attribute(self, *args):
4996  r"""
4997  has_attribute(Domain self, FloatKey a0) -> bool
4998  has_attribute(Domain self, IntKey a0) -> bool
4999  has_attribute(Domain self, FloatsKey a0) -> bool
5000  has_attribute(Domain self, IntsKey a0) -> bool
5001  has_attribute(Domain self, StringKey a0) -> bool
5002  has_attribute(Domain self, ParticleIndexKey a0) -> bool
5003  has_attribute(Domain self, ObjectKey a0) -> bool
5004  has_attribute(Domain self, SparseFloatKey a0) -> bool
5005  has_attribute(Domain self, SparseIntKey a0) -> bool
5006  has_attribute(Domain self, SparseStringKey a0) -> bool
5007  has_attribute(Domain self, SparseParticleIndexKey a0) -> bool
5008  """
5009  return _IMP_atom.Domain_has_attribute(self, *args)
5010 
5011  def get_derivative(self, a0):
5012  r"""get_derivative(Domain self, FloatKey a0) -> double"""
5013  return _IMP_atom.Domain_get_derivative(self, a0)
5014 
5015  def get_name(self):
5016  r"""get_name(Domain self) -> std::string"""
5017  return _IMP_atom.Domain_get_name(self)
5018 
5019  def clear_caches(self):
5020  r"""clear_caches(Domain self)"""
5021  return _IMP_atom.Domain_clear_caches(self)
5022 
5023  def set_name(self, a0):
5024  r"""set_name(Domain self, std::string a0)"""
5025  return _IMP_atom.Domain_set_name(self, a0)
5026 
5027  def set_check_level(self, a0):
5028  r"""set_check_level(Domain self, IMP::CheckLevel a0)"""
5029  return _IMP_atom.Domain_set_check_level(self, a0)
5030 
5031  def add_to_derivative(self, a0, a1, a2):
5032  r"""add_to_derivative(Domain self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5033  return _IMP_atom.Domain_add_to_derivative(self, a0, a1, a2)
5034 
5035  def set_is_optimized(self, a0, a1):
5036  r"""set_is_optimized(Domain self, FloatKey a0, bool a1)"""
5037  return _IMP_atom.Domain_set_is_optimized(self, a0, a1)
5038 
5039  def get_is_optimized(self, a0):
5040  r"""get_is_optimized(Domain self, FloatKey a0) -> bool"""
5041  return _IMP_atom.Domain_get_is_optimized(self, a0)
5042 
5043  def get_check_level(self):
5044  r"""get_check_level(Domain self) -> IMP::CheckLevel"""
5045  return _IMP_atom.Domain_get_check_level(self)
5046 
5047  def __eq__(self, *args):
5048  r"""
5049  __eq__(Domain self, Domain o) -> bool
5050  __eq__(Domain self, Particle d) -> bool
5051  """
5052  return _IMP_atom.Domain___eq__(self, *args)
5053 
5054  def __ne__(self, *args):
5055  r"""
5056  __ne__(Domain self, Domain o) -> bool
5057  __ne__(Domain self, Particle d) -> bool
5058  """
5059  return _IMP_atom.Domain___ne__(self, *args)
5060 
5061  def __le__(self, *args):
5062  r"""
5063  __le__(Domain self, Domain o) -> bool
5064  __le__(Domain self, Particle d) -> bool
5065  """
5066  return _IMP_atom.Domain___le__(self, *args)
5067 
5068  def __lt__(self, *args):
5069  r"""
5070  __lt__(Domain self, Domain o) -> bool
5071  __lt__(Domain self, Particle d) -> bool
5072  """
5073  return _IMP_atom.Domain___lt__(self, *args)
5074 
5075  def __ge__(self, *args):
5076  r"""
5077  __ge__(Domain self, Domain o) -> bool
5078  __ge__(Domain self, Particle d) -> bool
5079  """
5080  return _IMP_atom.Domain___ge__(self, *args)
5081 
5082  def __gt__(self, *args):
5083  r"""
5084  __gt__(Domain self, Domain o) -> bool
5085  __gt__(Domain self, Particle d) -> bool
5086  """
5087  return _IMP_atom.Domain___gt__(self, *args)
5088 
5089  def __hash__(self):
5090  r"""__hash__(Domain self) -> std::size_t"""
5091  return _IMP_atom.Domain___hash__(self)
5092 
5093  def __str__(self):
5094  r"""__str__(Domain self) -> std::string"""
5095  return _IMP_atom.Domain___str__(self)
5096 
5097  def __repr__(self):
5098  r"""__repr__(Domain self) -> std::string"""
5099  return _IMP_atom.Domain___repr__(self)
5100 
5101  def _get_as_binary(self):
5102  r"""_get_as_binary(Domain self) -> PyObject *"""
5103  return _IMP_atom.Domain__get_as_binary(self)
5104 
5105  def _set_from_binary(self, p):
5106  r"""_set_from_binary(Domain self, PyObject * p)"""
5107  return _IMP_atom.Domain__set_from_binary(self, p)
5108 
5109  def __getstate__(self):
5110  p = self._get_as_binary()
5111  if len(self.__dict__) > 1:
5112  d = self.__dict__.copy()
5113  del d['this']
5114  p = (d, p)
5115  return p
5116 
5117  def __setstate__(self, p):
5118  if not hasattr(self, 'this'):
5119  self.__init__()
5120  if isinstance(p, tuple):
5121  d, p = p
5122  self.__dict__.update(d)
5123  return self._set_from_binary(p)
5124 
5125  __swig_destroy__ = _IMP_atom.delete_Domain
5126 
5127 # Register Domain in _IMP_atom:
5128 _IMP_atom.Domain_swigregister(Domain)
5129 class LennardJonesType(IMP.Object):
5130  r"""Proxy of C++ IMP::atom::LennardJonesType class."""
5131 
5132  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5133 
5134  def __init__(self, *args):
5135  r"""__init__(LennardJonesType self, double well_depth, double radius, std::string name="LennardJonesType%1%") -> LennardJonesType"""
5136  _IMP_atom.LennardJonesType_swiginit(self, _IMP_atom.new_LennardJonesType(*args))
5137 
5138  def get_well_depth(self):
5139  r"""get_well_depth(LennardJonesType self) -> double"""
5140  return _IMP_atom.LennardJonesType_get_well_depth(self)
5141 
5142  def set_well_depth(self, d):
5143  r"""set_well_depth(LennardJonesType self, double d)"""
5144  return _IMP_atom.LennardJonesType_set_well_depth(self, d)
5145 
5146  def get_radius(self):
5147  r"""get_radius(LennardJonesType self) -> double"""
5148  return _IMP_atom.LennardJonesType_get_radius(self)
5149 
5150  def set_radius(self, r):
5151  r"""set_radius(LennardJonesType self, double r)"""
5152  return _IMP_atom.LennardJonesType_set_radius(self, r)
5153 
5154  def get_index(self):
5155  r"""get_index(LennardJonesType self) -> int"""
5156  return _IMP_atom.LennardJonesType_get_index(self)
5157 
5158  def get_version_info(self):
5159  r"""get_version_info(LennardJonesType self) -> VersionInfo"""
5160  return _IMP_atom.LennardJonesType_get_version_info(self)
5161  __swig_destroy__ = _IMP_atom.delete_LennardJonesType
5162 
5163  def __str__(self):
5164  r"""__str__(LennardJonesType self) -> std::string"""
5165  return _IMP_atom.LennardJonesType___str__(self)
5166 
5167  def __repr__(self):
5168  r"""__repr__(LennardJonesType self) -> std::string"""
5169  return _IMP_atom.LennardJonesType___repr__(self)
5170 
5171  @staticmethod
5172  def get_from(o):
5173  return _object_cast_to_LennardJonesType(o)
5174 
5175 
5176 # Register LennardJonesType in _IMP_atom:
5177 _IMP_atom.LennardJonesType_swigregister(LennardJonesType)
5178 class LennardJonesTyped(IMP.core.XYZ):
5179  r"""Proxy of C++ IMP::atom::LennardJonesTyped class."""
5180 
5181  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5182 
5183  def __init__(self, *args):
5184  r"""
5185  __init__(LennardJonesTyped self) -> LennardJonesTyped
5186  __init__(LennardJonesTyped self, Model m, ParticleIndex id) -> LennardJonesTyped
5187  __init__(LennardJonesTyped self, _ParticleAdaptor d) -> LennardJonesTyped
5188  """
5189  _IMP_atom.LennardJonesTyped_swiginit(self, _IMP_atom.new_LennardJonesTyped(*args))
5190 
5191  def show(self, *args):
5192  r"""show(LennardJonesTyped self, _ostream out=std::cout)"""
5193  return _IMP_atom.LennardJonesTyped_show(self, *args)
5194 
5195  @staticmethod
5196  def setup_particle(*args):
5197  r"""
5198  setup_particle(Model m, ParticleIndex pi, LennardJonesType type) -> LennardJonesTyped
5199  setup_particle(_ParticleAdaptor pa, LennardJonesType type) -> LennardJonesTyped
5200  """
5201  return _IMP_atom.LennardJonesTyped_setup_particle(*args)
5202 
5203  @staticmethod
5204  def get_is_setup(*args):
5205  r"""
5206  get_is_setup(_ParticleAdaptor p) -> bool
5207  get_is_setup(Model m, ParticleIndex pi) -> bool
5208  """
5209  return _IMP_atom.LennardJonesTyped_get_is_setup(*args)
5210 
5211  def set_type(self, type):
5212  r"""set_type(LennardJonesTyped self, LennardJonesType type)"""
5213  return _IMP_atom.LennardJonesTyped_set_type(self, type)
5214 
5215  def get_type(self):
5216  r"""get_type(LennardJonesTyped self) -> LennardJonesType"""
5217  return _IMP_atom.LennardJonesTyped_get_type(self)
5218 
5219  def get_index(self):
5220  r"""get_index(LennardJonesTyped self) -> int"""
5221  return _IMP_atom.LennardJonesTyped_get_index(self)
5222 
5223  def get_well_depth(self):
5224  r"""get_well_depth(LennardJonesTyped self) -> double"""
5225  return _IMP_atom.LennardJonesTyped_get_well_depth(self)
5226 
5227  def get_radius(self):
5228  r"""get_radius(LennardJonesTyped self) -> double"""
5229  return _IMP_atom.LennardJonesTyped_get_radius(self)
5230 
5231  @staticmethod
5232  def get_type_key():
5233  r"""get_type_key() -> IntKey"""
5234  return _IMP_atom.LennardJonesTyped_get_type_key()
5235 
5236  def add_attribute(self, *args):
5237  r"""
5238  add_attribute(LennardJonesTyped self, FloatKey k, IMP::Float v, bool opt)
5239  add_attribute(LennardJonesTyped self, FloatKey a0, IMP::Float a1)
5240  add_attribute(LennardJonesTyped self, IntKey a0, IMP::Int a1)
5241  add_attribute(LennardJonesTyped self, FloatsKey a0, IMP::Floats a1)
5242  add_attribute(LennardJonesTyped self, IntsKey a0, IMP::Ints a1)
5243  add_attribute(LennardJonesTyped self, StringKey a0, IMP::String a1)
5244  add_attribute(LennardJonesTyped self, ParticleIndexKey a0, Particle a1)
5245  add_attribute(LennardJonesTyped self, ObjectKey a0, Object a1)
5246  add_attribute(LennardJonesTyped self, SparseFloatKey a0, IMP::Float a1)
5247  add_attribute(LennardJonesTyped self, SparseIntKey a0, IMP::Int a1)
5248  add_attribute(LennardJonesTyped self, SparseStringKey a0, IMP::String a1)
5249  add_attribute(LennardJonesTyped self, SparseParticleIndexKey a0, ParticleIndex a1)
5250  """
5251  return _IMP_atom.LennardJonesTyped_add_attribute(self, *args)
5252 
5253  def get_value(self, *args):
5254  r"""
5255  get_value(LennardJonesTyped self, FloatKey a0) -> IMP::Float
5256  get_value(LennardJonesTyped self, IntKey a0) -> IMP::Int
5257  get_value(LennardJonesTyped self, FloatsKey a0) -> IMP::Floats
5258  get_value(LennardJonesTyped self, IntsKey a0) -> IMP::Ints
5259  get_value(LennardJonesTyped self, StringKey a0) -> IMP::String
5260  get_value(LennardJonesTyped self, ParticleIndexKey a0) -> Particle
5261  get_value(LennardJonesTyped self, ObjectKey a0) -> Object
5262  get_value(LennardJonesTyped self, SparseFloatKey a0) -> IMP::Float
5263  get_value(LennardJonesTyped self, SparseIntKey a0) -> IMP::Int
5264  get_value(LennardJonesTyped self, SparseStringKey a0) -> IMP::String
5265  get_value(LennardJonesTyped self, SparseParticleIndexKey a0) -> ParticleIndex
5266  """
5267  return _IMP_atom.LennardJonesTyped_get_value(self, *args)
5268 
5269  def set_value(self, *args):
5270  r"""
5271  set_value(LennardJonesTyped self, FloatKey a0, IMP::Float a1)
5272  set_value(LennardJonesTyped self, IntKey a0, IMP::Int a1)
5273  set_value(LennardJonesTyped self, FloatsKey a0, IMP::Floats a1)
5274  set_value(LennardJonesTyped self, IntsKey a0, IMP::Ints a1)
5275  set_value(LennardJonesTyped self, StringKey a0, IMP::String a1)
5276  set_value(LennardJonesTyped self, ParticleIndexKey a0, Particle a1)
5277  set_value(LennardJonesTyped self, ObjectKey a0, Object a1)
5278  set_value(LennardJonesTyped self, SparseFloatKey a0, IMP::Float a1)
5279  set_value(LennardJonesTyped self, SparseIntKey a0, IMP::Int a1)
5280  set_value(LennardJonesTyped self, SparseStringKey a0, IMP::String a1)
5281  set_value(LennardJonesTyped self, SparseParticleIndexKey a0, ParticleIndex a1)
5282  """
5283  return _IMP_atom.LennardJonesTyped_set_value(self, *args)
5284 
5285  def remove_attribute(self, *args):
5286  r"""
5287  remove_attribute(LennardJonesTyped self, FloatKey a0)
5288  remove_attribute(LennardJonesTyped self, IntKey a0)
5289  remove_attribute(LennardJonesTyped self, FloatsKey a0)
5290  remove_attribute(LennardJonesTyped self, IntsKey a0)
5291  remove_attribute(LennardJonesTyped self, StringKey a0)
5292  remove_attribute(LennardJonesTyped self, ParticleIndexKey a0)
5293  remove_attribute(LennardJonesTyped self, ObjectKey a0)
5294  remove_attribute(LennardJonesTyped self, SparseFloatKey a0)
5295  remove_attribute(LennardJonesTyped self, SparseIntKey a0)
5296  remove_attribute(LennardJonesTyped self, SparseStringKey a0)
5297  remove_attribute(LennardJonesTyped self, SparseParticleIndexKey a0)
5298  """
5299  return _IMP_atom.LennardJonesTyped_remove_attribute(self, *args)
5300 
5301  def has_attribute(self, *args):
5302  r"""
5303  has_attribute(LennardJonesTyped self, FloatKey a0) -> bool
5304  has_attribute(LennardJonesTyped self, IntKey a0) -> bool
5305  has_attribute(LennardJonesTyped self, FloatsKey a0) -> bool
5306  has_attribute(LennardJonesTyped self, IntsKey a0) -> bool
5307  has_attribute(LennardJonesTyped self, StringKey a0) -> bool
5308  has_attribute(LennardJonesTyped self, ParticleIndexKey a0) -> bool
5309  has_attribute(LennardJonesTyped self, ObjectKey a0) -> bool
5310  has_attribute(LennardJonesTyped self, SparseFloatKey a0) -> bool
5311  has_attribute(LennardJonesTyped self, SparseIntKey a0) -> bool
5312  has_attribute(LennardJonesTyped self, SparseStringKey a0) -> bool
5313  has_attribute(LennardJonesTyped self, SparseParticleIndexKey a0) -> bool
5314  """
5315  return _IMP_atom.LennardJonesTyped_has_attribute(self, *args)
5316 
5317  def get_derivative(self, a0):
5318  r"""get_derivative(LennardJonesTyped self, FloatKey a0) -> double"""
5319  return _IMP_atom.LennardJonesTyped_get_derivative(self, a0)
5320 
5321  def get_name(self):
5322  r"""get_name(LennardJonesTyped self) -> std::string"""
5323  return _IMP_atom.LennardJonesTyped_get_name(self)
5324 
5325  def clear_caches(self):
5326  r"""clear_caches(LennardJonesTyped self)"""
5327  return _IMP_atom.LennardJonesTyped_clear_caches(self)
5328 
5329  def set_name(self, a0):
5330  r"""set_name(LennardJonesTyped self, std::string a0)"""
5331  return _IMP_atom.LennardJonesTyped_set_name(self, a0)
5332 
5333  def set_check_level(self, a0):
5334  r"""set_check_level(LennardJonesTyped self, IMP::CheckLevel a0)"""
5335  return _IMP_atom.LennardJonesTyped_set_check_level(self, a0)
5336 
5337  def add_to_derivative(self, a0, a1, a2):
5338  r"""add_to_derivative(LennardJonesTyped self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5339  return _IMP_atom.LennardJonesTyped_add_to_derivative(self, a0, a1, a2)
5340 
5341  def set_is_optimized(self, a0, a1):
5342  r"""set_is_optimized(LennardJonesTyped self, FloatKey a0, bool a1)"""
5343  return _IMP_atom.LennardJonesTyped_set_is_optimized(self, a0, a1)
5344 
5345  def get_is_optimized(self, a0):
5346  r"""get_is_optimized(LennardJonesTyped self, FloatKey a0) -> bool"""
5347  return _IMP_atom.LennardJonesTyped_get_is_optimized(self, a0)
5348 
5349  def get_check_level(self):
5350  r"""get_check_level(LennardJonesTyped self) -> IMP::CheckLevel"""
5351  return _IMP_atom.LennardJonesTyped_get_check_level(self)
5352 
5353  def __eq__(self, *args):
5354  r"""
5355  __eq__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5356  __eq__(LennardJonesTyped self, Particle d) -> bool
5357  """
5358  return _IMP_atom.LennardJonesTyped___eq__(self, *args)
5359 
5360  def __ne__(self, *args):
5361  r"""
5362  __ne__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5363  __ne__(LennardJonesTyped self, Particle d) -> bool
5364  """
5365  return _IMP_atom.LennardJonesTyped___ne__(self, *args)
5366 
5367  def __le__(self, *args):
5368  r"""
5369  __le__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5370  __le__(LennardJonesTyped self, Particle d) -> bool
5371  """
5372  return _IMP_atom.LennardJonesTyped___le__(self, *args)
5373 
5374  def __lt__(self, *args):
5375  r"""
5376  __lt__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5377  __lt__(LennardJonesTyped self, Particle d) -> bool
5378  """
5379  return _IMP_atom.LennardJonesTyped___lt__(self, *args)
5380 
5381  def __ge__(self, *args):
5382  r"""
5383  __ge__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5384  __ge__(LennardJonesTyped self, Particle d) -> bool
5385  """
5386  return _IMP_atom.LennardJonesTyped___ge__(self, *args)
5387 
5388  def __gt__(self, *args):
5389  r"""
5390  __gt__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5391  __gt__(LennardJonesTyped self, Particle d) -> bool
5392  """
5393  return _IMP_atom.LennardJonesTyped___gt__(self, *args)
5394 
5395  def __hash__(self):
5396  r"""__hash__(LennardJonesTyped self) -> std::size_t"""
5397  return _IMP_atom.LennardJonesTyped___hash__(self)
5398 
5399  def __str__(self):
5400  r"""__str__(LennardJonesTyped self) -> std::string"""
5401  return _IMP_atom.LennardJonesTyped___str__(self)
5402 
5403  def __repr__(self):
5404  r"""__repr__(LennardJonesTyped self) -> std::string"""
5405  return _IMP_atom.LennardJonesTyped___repr__(self)
5406 
5407  def _get_as_binary(self):
5408  r"""_get_as_binary(LennardJonesTyped self) -> PyObject *"""
5409  return _IMP_atom.LennardJonesTyped__get_as_binary(self)
5410 
5411  def _set_from_binary(self, p):
5412  r"""_set_from_binary(LennardJonesTyped self, PyObject * p)"""
5413  return _IMP_atom.LennardJonesTyped__set_from_binary(self, p)
5414 
5415  def __getstate__(self):
5416  p = self._get_as_binary()
5417  if len(self.__dict__) > 1:
5418  d = self.__dict__.copy()
5419  del d['this']
5420  p = (d, p)
5421  return p
5422 
5423  def __setstate__(self, p):
5424  if not hasattr(self, 'this'):
5425  self.__init__()
5426  if isinstance(p, tuple):
5427  d, p = p
5428  self.__dict__.update(d)
5429  return self._set_from_binary(p)
5430 
5431  __swig_destroy__ = _IMP_atom.delete_LennardJonesTyped
5432 
5433 # Register LennardJonesTyped in _IMP_atom:
5434 _IMP_atom.LennardJonesTyped_swigregister(LennardJonesTyped)
5435 class LinearVelocity(IMP.Decorator):
5436  r"""Proxy of C++ IMP::atom::LinearVelocity class."""
5437 
5438  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5439 
5440  @staticmethod
5441  def get_velocity_key():
5442  r"""get_velocity_key() -> Vector3DKey"""
5443  return _IMP_atom.LinearVelocity_get_velocity_key()
5444 
5445  def __init__(self, *args):
5446  r"""
5447  __init__(LinearVelocity self) -> LinearVelocity
5448  __init__(LinearVelocity self, Model m, ParticleIndex id) -> LinearVelocity
5449  __init__(LinearVelocity self, _ParticleAdaptor d) -> LinearVelocity
5450  """
5451  _IMP_atom.LinearVelocity_swiginit(self, _IMP_atom.new_LinearVelocity(*args))
5452 
5453  @staticmethod
5454  def get_is_setup(*args):
5455  r"""
5456  get_is_setup(Model m, ParticleIndex pi) -> bool
5457  get_is_setup(_ParticleAdaptor p) -> bool
5458  """
5459  return _IMP_atom.LinearVelocity_get_is_setup(*args)
5460 
5461  def show(self, *args):
5462  r"""show(LinearVelocity self, _ostream out=std::cout)"""
5463  return _IMP_atom.LinearVelocity_show(self, *args)
5464 
5465  @staticmethod
5466  def setup_particle(*args):
5467  r"""
5468  setup_particle(Model m, ParticleIndex pi) -> LinearVelocity
5469  setup_particle(_ParticleAdaptor pa) -> LinearVelocity
5470  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> LinearVelocity
5471  setup_particle(_ParticleAdaptor pa, Vector3D v) -> LinearVelocity
5472  """
5473  return _IMP_atom.LinearVelocity_setup_particle(*args)
5474 
5475  def set_velocity(self, v):
5476  r"""set_velocity(LinearVelocity self, Vector3D v)"""
5477  return _IMP_atom.LinearVelocity_set_velocity(self, v)
5478 
5479  def get_velocity(self):
5480  r"""get_velocity(LinearVelocity self) -> Vector3D"""
5481  return _IMP_atom.LinearVelocity_get_velocity(self)
5482 
5483  def add_attribute(self, *args):
5484  r"""
5485  add_attribute(LinearVelocity self, FloatKey k, IMP::Float v, bool opt)
5486  add_attribute(LinearVelocity self, FloatKey a0, IMP::Float a1)
5487  add_attribute(LinearVelocity self, IntKey a0, IMP::Int a1)
5488  add_attribute(LinearVelocity self, FloatsKey a0, IMP::Floats a1)
5489  add_attribute(LinearVelocity self, IntsKey a0, IMP::Ints a1)
5490  add_attribute(LinearVelocity self, StringKey a0, IMP::String a1)
5491  add_attribute(LinearVelocity self, ParticleIndexKey a0, Particle a1)
5492  add_attribute(LinearVelocity self, ObjectKey a0, Object a1)
5493  add_attribute(LinearVelocity self, SparseFloatKey a0, IMP::Float a1)
5494  add_attribute(LinearVelocity self, SparseIntKey a0, IMP::Int a1)
5495  add_attribute(LinearVelocity self, SparseStringKey a0, IMP::String a1)
5496  add_attribute(LinearVelocity self, SparseParticleIndexKey a0, ParticleIndex a1)
5497  """
5498  return _IMP_atom.LinearVelocity_add_attribute(self, *args)
5499 
5500  def get_value(self, *args):
5501  r"""
5502  get_value(LinearVelocity self, FloatKey a0) -> IMP::Float
5503  get_value(LinearVelocity self, IntKey a0) -> IMP::Int
5504  get_value(LinearVelocity self, FloatsKey a0) -> IMP::Floats
5505  get_value(LinearVelocity self, IntsKey a0) -> IMP::Ints
5506  get_value(LinearVelocity self, StringKey a0) -> IMP::String
5507  get_value(LinearVelocity self, ParticleIndexKey a0) -> Particle
5508  get_value(LinearVelocity self, ObjectKey a0) -> Object
5509  get_value(LinearVelocity self, SparseFloatKey a0) -> IMP::Float
5510  get_value(LinearVelocity self, SparseIntKey a0) -> IMP::Int
5511  get_value(LinearVelocity self, SparseStringKey a0) -> IMP::String
5512  get_value(LinearVelocity self, SparseParticleIndexKey a0) -> ParticleIndex
5513  """
5514  return _IMP_atom.LinearVelocity_get_value(self, *args)
5515 
5516  def set_value(self, *args):
5517  r"""
5518  set_value(LinearVelocity self, FloatKey a0, IMP::Float a1)
5519  set_value(LinearVelocity self, IntKey a0, IMP::Int a1)
5520  set_value(LinearVelocity self, FloatsKey a0, IMP::Floats a1)
5521  set_value(LinearVelocity self, IntsKey a0, IMP::Ints a1)
5522  set_value(LinearVelocity self, StringKey a0, IMP::String a1)
5523  set_value(LinearVelocity self, ParticleIndexKey a0, Particle a1)
5524  set_value(LinearVelocity self, ObjectKey a0, Object a1)
5525  set_value(LinearVelocity self, SparseFloatKey a0, IMP::Float a1)
5526  set_value(LinearVelocity self, SparseIntKey a0, IMP::Int a1)
5527  set_value(LinearVelocity self, SparseStringKey a0, IMP::String a1)
5528  set_value(LinearVelocity self, SparseParticleIndexKey a0, ParticleIndex a1)
5529  """
5530  return _IMP_atom.LinearVelocity_set_value(self, *args)
5531 
5532  def remove_attribute(self, *args):
5533  r"""
5534  remove_attribute(LinearVelocity self, FloatKey a0)
5535  remove_attribute(LinearVelocity self, IntKey a0)
5536  remove_attribute(LinearVelocity self, FloatsKey a0)
5537  remove_attribute(LinearVelocity self, IntsKey a0)
5538  remove_attribute(LinearVelocity self, StringKey a0)
5539  remove_attribute(LinearVelocity self, ParticleIndexKey a0)
5540  remove_attribute(LinearVelocity self, ObjectKey a0)
5541  remove_attribute(LinearVelocity self, SparseFloatKey a0)
5542  remove_attribute(LinearVelocity self, SparseIntKey a0)
5543  remove_attribute(LinearVelocity self, SparseStringKey a0)
5544  remove_attribute(LinearVelocity self, SparseParticleIndexKey a0)
5545  """
5546  return _IMP_atom.LinearVelocity_remove_attribute(self, *args)
5547 
5548  def has_attribute(self, *args):
5549  r"""
5550  has_attribute(LinearVelocity self, FloatKey a0) -> bool
5551  has_attribute(LinearVelocity self, IntKey a0) -> bool
5552  has_attribute(LinearVelocity self, FloatsKey a0) -> bool
5553  has_attribute(LinearVelocity self, IntsKey a0) -> bool
5554  has_attribute(LinearVelocity self, StringKey a0) -> bool
5555  has_attribute(LinearVelocity self, ParticleIndexKey a0) -> bool
5556  has_attribute(LinearVelocity self, ObjectKey a0) -> bool
5557  has_attribute(LinearVelocity self, SparseFloatKey a0) -> bool
5558  has_attribute(LinearVelocity self, SparseIntKey a0) -> bool
5559  has_attribute(LinearVelocity self, SparseStringKey a0) -> bool
5560  has_attribute(LinearVelocity self, SparseParticleIndexKey a0) -> bool
5561  """
5562  return _IMP_atom.LinearVelocity_has_attribute(self, *args)
5563 
5564  def get_derivative(self, a0):
5565  r"""get_derivative(LinearVelocity self, FloatKey a0) -> double"""
5566  return _IMP_atom.LinearVelocity_get_derivative(self, a0)
5567 
5568  def get_name(self):
5569  r"""get_name(LinearVelocity self) -> std::string"""
5570  return _IMP_atom.LinearVelocity_get_name(self)
5571 
5572  def clear_caches(self):
5573  r"""clear_caches(LinearVelocity self)"""
5574  return _IMP_atom.LinearVelocity_clear_caches(self)
5575 
5576  def set_name(self, a0):
5577  r"""set_name(LinearVelocity self, std::string a0)"""
5578  return _IMP_atom.LinearVelocity_set_name(self, a0)
5579 
5580  def set_check_level(self, a0):
5581  r"""set_check_level(LinearVelocity self, IMP::CheckLevel a0)"""
5582  return _IMP_atom.LinearVelocity_set_check_level(self, a0)
5583 
5584  def add_to_derivative(self, a0, a1, a2):
5585  r"""add_to_derivative(LinearVelocity self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5586  return _IMP_atom.LinearVelocity_add_to_derivative(self, a0, a1, a2)
5587 
5588  def set_is_optimized(self, a0, a1):
5589  r"""set_is_optimized(LinearVelocity self, FloatKey a0, bool a1)"""
5590  return _IMP_atom.LinearVelocity_set_is_optimized(self, a0, a1)
5591 
5592  def get_is_optimized(self, a0):
5593  r"""get_is_optimized(LinearVelocity self, FloatKey a0) -> bool"""
5594  return _IMP_atom.LinearVelocity_get_is_optimized(self, a0)
5595 
5596  def get_check_level(self):
5597  r"""get_check_level(LinearVelocity self) -> IMP::CheckLevel"""
5598  return _IMP_atom.LinearVelocity_get_check_level(self)
5599 
5600  def __eq__(self, *args):
5601  r"""
5602  __eq__(LinearVelocity self, LinearVelocity o) -> bool
5603  __eq__(LinearVelocity self, Particle d) -> bool
5604  """
5605  return _IMP_atom.LinearVelocity___eq__(self, *args)
5606 
5607  def __ne__(self, *args):
5608  r"""
5609  __ne__(LinearVelocity self, LinearVelocity o) -> bool
5610  __ne__(LinearVelocity self, Particle d) -> bool
5611  """
5612  return _IMP_atom.LinearVelocity___ne__(self, *args)
5613 
5614  def __le__(self, *args):
5615  r"""
5616  __le__(LinearVelocity self, LinearVelocity o) -> bool
5617  __le__(LinearVelocity self, Particle d) -> bool
5618  """
5619  return _IMP_atom.LinearVelocity___le__(self, *args)
5620 
5621  def __lt__(self, *args):
5622  r"""
5623  __lt__(LinearVelocity self, LinearVelocity o) -> bool
5624  __lt__(LinearVelocity self, Particle d) -> bool
5625  """
5626  return _IMP_atom.LinearVelocity___lt__(self, *args)
5627 
5628  def __ge__(self, *args):
5629  r"""
5630  __ge__(LinearVelocity self, LinearVelocity o) -> bool
5631  __ge__(LinearVelocity self, Particle d) -> bool
5632  """
5633  return _IMP_atom.LinearVelocity___ge__(self, *args)
5634 
5635  def __gt__(self, *args):
5636  r"""
5637  __gt__(LinearVelocity self, LinearVelocity o) -> bool
5638  __gt__(LinearVelocity self, Particle d) -> bool
5639  """
5640  return _IMP_atom.LinearVelocity___gt__(self, *args)
5641 
5642  def __hash__(self):
5643  r"""__hash__(LinearVelocity self) -> std::size_t"""
5644  return _IMP_atom.LinearVelocity___hash__(self)
5645 
5646  def __str__(self):
5647  r"""__str__(LinearVelocity self) -> std::string"""
5648  return _IMP_atom.LinearVelocity___str__(self)
5649 
5650  def __repr__(self):
5651  r"""__repr__(LinearVelocity self) -> std::string"""
5652  return _IMP_atom.LinearVelocity___repr__(self)
5653 
5654  def _get_as_binary(self):
5655  r"""_get_as_binary(LinearVelocity self) -> PyObject *"""
5656  return _IMP_atom.LinearVelocity__get_as_binary(self)
5657 
5658  def _set_from_binary(self, p):
5659  r"""_set_from_binary(LinearVelocity self, PyObject * p)"""
5660  return _IMP_atom.LinearVelocity__set_from_binary(self, p)
5661 
5662  def __getstate__(self):
5663  p = self._get_as_binary()
5664  if len(self.__dict__) > 1:
5665  d = self.__dict__.copy()
5666  del d['this']
5667  p = (d, p)
5668  return p
5669 
5670  def __setstate__(self, p):
5671  if not hasattr(self, 'this'):
5672  self.__init__()
5673  if isinstance(p, tuple):
5674  d, p = p
5675  self.__dict__.update(d)
5676  return self._set_from_binary(p)
5677 
5678  __swig_destroy__ = _IMP_atom.delete_LinearVelocity
5679 
5680 # Register LinearVelocity in _IMP_atom:
5681 _IMP_atom.LinearVelocity_swigregister(LinearVelocity)
5682 class AngularVelocity(IMP.Decorator):
5683  r"""Proxy of C++ IMP::atom::AngularVelocity class."""
5684 
5685  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5686 
5687  def __init__(self, *args):
5688  r"""
5689  __init__(AngularVelocity self) -> AngularVelocity
5690  __init__(AngularVelocity self, Model m, ParticleIndex id) -> AngularVelocity
5691  __init__(AngularVelocity self, _ParticleAdaptor d) -> AngularVelocity
5692  """
5693  _IMP_atom.AngularVelocity_swiginit(self, _IMP_atom.new_AngularVelocity(*args))
5694 
5695  @staticmethod
5696  def get_is_setup(*args):
5697  r"""
5698  get_is_setup(Model m, ParticleIndex pi) -> bool
5699  get_is_setup(_ParticleAdaptor p) -> bool
5700  """
5701  return _IMP_atom.AngularVelocity_get_is_setup(*args)
5702 
5703  def show(self, *args):
5704  r"""show(AngularVelocity self, _ostream out=std::cout)"""
5705  return _IMP_atom.AngularVelocity_show(self, *args)
5706 
5707  @staticmethod
5708  def setup_particle(*args):
5709  r"""
5710  setup_particle(Model m, ParticleIndex pi) -> AngularVelocity
5711  setup_particle(_ParticleAdaptor pa) -> AngularVelocity
5712  setup_particle(Model m, ParticleIndex pi, Vector4D v) -> AngularVelocity
5713  setup_particle(_ParticleAdaptor pa, Vector4D v) -> AngularVelocity
5714  """
5715  return _IMP_atom.AngularVelocity_setup_particle(*args)
5716 
5717  def set_velocity(self, v):
5718  r"""set_velocity(AngularVelocity self, Vector4D v)"""
5719  return _IMP_atom.AngularVelocity_set_velocity(self, v)
5720 
5721  def get_velocity(self):
5722  r"""get_velocity(AngularVelocity self) -> Vector4D"""
5723  return _IMP_atom.AngularVelocity_get_velocity(self)
5724 
5725  def add_attribute(self, *args):
5726  r"""
5727  add_attribute(AngularVelocity self, FloatKey k, IMP::Float v, bool opt)
5728  add_attribute(AngularVelocity self, FloatKey a0, IMP::Float a1)
5729  add_attribute(AngularVelocity self, IntKey a0, IMP::Int a1)
5730  add_attribute(AngularVelocity self, FloatsKey a0, IMP::Floats a1)
5731  add_attribute(AngularVelocity self, IntsKey a0, IMP::Ints a1)
5732  add_attribute(AngularVelocity self, StringKey a0, IMP::String a1)
5733  add_attribute(AngularVelocity self, ParticleIndexKey a0, Particle a1)
5734  add_attribute(AngularVelocity self, ObjectKey a0, Object a1)
5735  add_attribute(AngularVelocity self, SparseFloatKey a0, IMP::Float a1)
5736  add_attribute(AngularVelocity self, SparseIntKey a0, IMP::Int a1)
5737  add_attribute(AngularVelocity self, SparseStringKey a0, IMP::String a1)
5738  add_attribute(AngularVelocity self, SparseParticleIndexKey a0, ParticleIndex a1)
5739  """
5740  return _IMP_atom.AngularVelocity_add_attribute(self, *args)
5741 
5742  def get_value(self, *args):
5743  r"""
5744  get_value(AngularVelocity self, FloatKey a0) -> IMP::Float
5745  get_value(AngularVelocity self, IntKey a0) -> IMP::Int
5746  get_value(AngularVelocity self, FloatsKey a0) -> IMP::Floats
5747  get_value(AngularVelocity self, IntsKey a0) -> IMP::Ints
5748  get_value(AngularVelocity self, StringKey a0) -> IMP::String
5749  get_value(AngularVelocity self, ParticleIndexKey a0) -> Particle
5750  get_value(AngularVelocity self, ObjectKey a0) -> Object
5751  get_value(AngularVelocity self, SparseFloatKey a0) -> IMP::Float
5752  get_value(AngularVelocity self, SparseIntKey a0) -> IMP::Int
5753  get_value(AngularVelocity self, SparseStringKey a0) -> IMP::String
5754  get_value(AngularVelocity self, SparseParticleIndexKey a0) -> ParticleIndex
5755  """
5756  return _IMP_atom.AngularVelocity_get_value(self, *args)
5757 
5758  def set_value(self, *args):
5759  r"""
5760  set_value(AngularVelocity self, FloatKey a0, IMP::Float a1)
5761  set_value(AngularVelocity self, IntKey a0, IMP::Int a1)
5762  set_value(AngularVelocity self, FloatsKey a0, IMP::Floats a1)
5763  set_value(AngularVelocity self, IntsKey a0, IMP::Ints a1)
5764  set_value(AngularVelocity self, StringKey a0, IMP::String a1)
5765  set_value(AngularVelocity self, ParticleIndexKey a0, Particle a1)
5766  set_value(AngularVelocity self, ObjectKey a0, Object a1)
5767  set_value(AngularVelocity self, SparseFloatKey a0, IMP::Float a1)
5768  set_value(AngularVelocity self, SparseIntKey a0, IMP::Int a1)
5769  set_value(AngularVelocity self, SparseStringKey a0, IMP::String a1)
5770  set_value(AngularVelocity self, SparseParticleIndexKey a0, ParticleIndex a1)
5771  """
5772  return _IMP_atom.AngularVelocity_set_value(self, *args)
5773 
5774  def remove_attribute(self, *args):
5775  r"""
5776  remove_attribute(AngularVelocity self, FloatKey a0)
5777  remove_attribute(AngularVelocity self, IntKey a0)
5778  remove_attribute(AngularVelocity self, FloatsKey a0)
5779  remove_attribute(AngularVelocity self, IntsKey a0)
5780  remove_attribute(AngularVelocity self, StringKey a0)
5781  remove_attribute(AngularVelocity self, ParticleIndexKey a0)
5782  remove_attribute(AngularVelocity self, ObjectKey a0)
5783  remove_attribute(AngularVelocity self, SparseFloatKey a0)
5784  remove_attribute(AngularVelocity self, SparseIntKey a0)
5785  remove_attribute(AngularVelocity self, SparseStringKey a0)
5786  remove_attribute(AngularVelocity self, SparseParticleIndexKey a0)
5787  """
5788  return _IMP_atom.AngularVelocity_remove_attribute(self, *args)
5789 
5790  def has_attribute(self, *args):
5791  r"""
5792  has_attribute(AngularVelocity self, FloatKey a0) -> bool
5793  has_attribute(AngularVelocity self, IntKey a0) -> bool
5794  has_attribute(AngularVelocity self, FloatsKey a0) -> bool
5795  has_attribute(AngularVelocity self, IntsKey a0) -> bool
5796  has_attribute(AngularVelocity self, StringKey a0) -> bool
5797  has_attribute(AngularVelocity self, ParticleIndexKey a0) -> bool
5798  has_attribute(AngularVelocity self, ObjectKey a0) -> bool
5799  has_attribute(AngularVelocity self, SparseFloatKey a0) -> bool
5800  has_attribute(AngularVelocity self, SparseIntKey a0) -> bool
5801  has_attribute(AngularVelocity self, SparseStringKey a0) -> bool
5802  has_attribute(AngularVelocity self, SparseParticleIndexKey a0) -> bool
5803  """
5804  return _IMP_atom.AngularVelocity_has_attribute(self, *args)
5805 
5806  def get_derivative(self, a0):
5807  r"""get_derivative(AngularVelocity self, FloatKey a0) -> double"""
5808  return _IMP_atom.AngularVelocity_get_derivative(self, a0)
5809 
5810  def get_name(self):
5811  r"""get_name(AngularVelocity self) -> std::string"""
5812  return _IMP_atom.AngularVelocity_get_name(self)
5813 
5814  def clear_caches(self):
5815  r"""clear_caches(AngularVelocity self)"""
5816  return _IMP_atom.AngularVelocity_clear_caches(self)
5817 
5818  def set_name(self, a0):
5819  r"""set_name(AngularVelocity self, std::string a0)"""
5820  return _IMP_atom.AngularVelocity_set_name(self, a0)
5821 
5822  def set_check_level(self, a0):
5823  r"""set_check_level(AngularVelocity self, IMP::CheckLevel a0)"""
5824  return _IMP_atom.AngularVelocity_set_check_level(self, a0)
5825 
5826  def add_to_derivative(self, a0, a1, a2):
5827  r"""add_to_derivative(AngularVelocity self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5828  return _IMP_atom.AngularVelocity_add_to_derivative(self, a0, a1, a2)
5829 
5830  def set_is_optimized(self, a0, a1):
5831  r"""set_is_optimized(AngularVelocity self, FloatKey a0, bool a1)"""
5832  return _IMP_atom.AngularVelocity_set_is_optimized(self, a0, a1)
5833 
5834  def get_is_optimized(self, a0):
5835  r"""get_is_optimized(AngularVelocity self, FloatKey a0) -> bool"""
5836  return _IMP_atom.AngularVelocity_get_is_optimized(self, a0)
5837 
5838  def get_check_level(self):
5839  r"""get_check_level(AngularVelocity self) -> IMP::CheckLevel"""
5840  return _IMP_atom.AngularVelocity_get_check_level(self)
5841 
5842  def __eq__(self, *args):
5843  r"""
5844  __eq__(AngularVelocity self, AngularVelocity o) -> bool
5845  __eq__(AngularVelocity self, Particle d) -> bool
5846  """
5847  return _IMP_atom.AngularVelocity___eq__(self, *args)
5848 
5849  def __ne__(self, *args):
5850  r"""
5851  __ne__(AngularVelocity self, AngularVelocity o) -> bool
5852  __ne__(AngularVelocity self, Particle d) -> bool
5853  """
5854  return _IMP_atom.AngularVelocity___ne__(self, *args)
5855 
5856  def __le__(self, *args):
5857  r"""
5858  __le__(AngularVelocity self, AngularVelocity o) -> bool
5859  __le__(AngularVelocity self, Particle d) -> bool
5860  """
5861  return _IMP_atom.AngularVelocity___le__(self, *args)
5862 
5863  def __lt__(self, *args):
5864  r"""
5865  __lt__(AngularVelocity self, AngularVelocity o) -> bool
5866  __lt__(AngularVelocity self, Particle d) -> bool
5867  """
5868  return _IMP_atom.AngularVelocity___lt__(self, *args)
5869 
5870  def __ge__(self, *args):
5871  r"""
5872  __ge__(AngularVelocity self, AngularVelocity o) -> bool
5873  __ge__(AngularVelocity self, Particle d) -> bool
5874  """
5875  return _IMP_atom.AngularVelocity___ge__(self, *args)
5876 
5877  def __gt__(self, *args):
5878  r"""
5879  __gt__(AngularVelocity self, AngularVelocity o) -> bool
5880  __gt__(AngularVelocity self, Particle d) -> bool
5881  """
5882  return _IMP_atom.AngularVelocity___gt__(self, *args)
5883 
5884  def __hash__(self):
5885  r"""__hash__(AngularVelocity self) -> std::size_t"""
5886  return _IMP_atom.AngularVelocity___hash__(self)
5887 
5888  def __str__(self):
5889  r"""__str__(AngularVelocity self) -> std::string"""
5890  return _IMP_atom.AngularVelocity___str__(self)
5891 
5892  def __repr__(self):
5893  r"""__repr__(AngularVelocity self) -> std::string"""
5894  return _IMP_atom.AngularVelocity___repr__(self)
5895 
5896  def _get_as_binary(self):
5897  r"""_get_as_binary(AngularVelocity self) -> PyObject *"""
5898  return _IMP_atom.AngularVelocity__get_as_binary(self)
5899 
5900  def _set_from_binary(self, p):
5901  r"""_set_from_binary(AngularVelocity self, PyObject * p)"""
5902  return _IMP_atom.AngularVelocity__set_from_binary(self, p)
5903 
5904  def __getstate__(self):
5905  p = self._get_as_binary()
5906  if len(self.__dict__) > 1:
5907  d = self.__dict__.copy()
5908  del d['this']
5909  p = (d, p)
5910  return p
5911 
5912  def __setstate__(self, p):
5913  if not hasattr(self, 'this'):
5914  self.__init__()
5915  if isinstance(p, tuple):
5916  d, p = p
5917  self.__dict__.update(d)
5918  return self._set_from_binary(p)
5919 
5920  __swig_destroy__ = _IMP_atom.delete_AngularVelocity
5921 
5922 # Register AngularVelocity in _IMP_atom:
5923 _IMP_atom.AngularVelocity_swigregister(AngularVelocity)
5924 class MolecularDynamics(Simulator):
5925  r"""Proxy of C++ IMP::atom::MolecularDynamics class."""
5926 
5927  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5928 
5929  def __init__(self, m):
5930  r"""__init__(MolecularDynamics self, Model m) -> MolecularDynamics"""
5931  _IMP_atom.MolecularDynamics_swiginit(self, _IMP_atom.new_MolecularDynamics(m))
5932 
5933  def get_kinetic_energy(self):
5934  r"""get_kinetic_energy(MolecularDynamics self) -> IMP::Float"""
5935  return _IMP_atom.MolecularDynamics_get_kinetic_energy(self)
5936 
5937  def get_kinetic_temperature(self, ekinetic):
5938  r"""get_kinetic_temperature(MolecularDynamics self, IMP::Float ekinetic) -> IMP::Float"""
5939  return _IMP_atom.MolecularDynamics_get_kinetic_temperature(self, ekinetic)
5940 
5941  def set_velocity_cap(self, velocity_cap):
5942  r"""set_velocity_cap(MolecularDynamics self, IMP::Float velocity_cap)"""
5943  return _IMP_atom.MolecularDynamics_set_velocity_cap(self, velocity_cap)
5944 
5945  def get_velocity_cap(self):
5946  r"""get_velocity_cap(MolecularDynamics self) -> IMP::Float"""
5947  return _IMP_atom.MolecularDynamics_get_velocity_cap(self)
5948 
5949  def get_degrees_of_freedom(self):
5950  r"""get_degrees_of_freedom(MolecularDynamics self) -> int"""
5951  return _IMP_atom.MolecularDynamics_get_degrees_of_freedom(self)
5952 
5953  def assign_velocities(self, temperature):
5954  r"""assign_velocities(MolecularDynamics self, IMP::Float temperature)"""
5955  return _IMP_atom.MolecularDynamics_assign_velocities(self, temperature)
5956 
5957  def setup(self, ps):
5958  r"""setup(MolecularDynamics self, IMP::ParticleIndexes const & ps)"""
5959  return _IMP_atom.MolecularDynamics_setup(self, ps)
5960 
5961  def do_step(self, sc, dt):
5962  r"""do_step(MolecularDynamics self, IMP::ParticleIndexes const & sc, double dt) -> double"""
5963  return _IMP_atom.MolecularDynamics_do_step(self, sc, dt)
5964 
5965  def get_is_simulation_particle(self, p):
5966  r"""get_is_simulation_particle(MolecularDynamics self, ParticleIndex p) -> bool"""
5967  return _IMP_atom.MolecularDynamics_get_is_simulation_particle(self, p)
5968 
5969  def get_version_info(self):
5970  r"""get_version_info(MolecularDynamics self) -> VersionInfo"""
5971  return _IMP_atom.MolecularDynamics_get_version_info(self)
5972  __swig_destroy__ = _IMP_atom.delete_MolecularDynamics
5973 
5974  def __str__(self):
5975  r"""__str__(MolecularDynamics self) -> std::string"""
5976  return _IMP_atom.MolecularDynamics___str__(self)
5977 
5978  def __repr__(self):
5979  r"""__repr__(MolecularDynamics self) -> std::string"""
5980  return _IMP_atom.MolecularDynamics___repr__(self)
5981 
5982  @staticmethod
5983  def get_from(o):
5984  return _object_cast_to_MolecularDynamics(o)
5985 
5986 
5987  def _get_jax(self):
5988  from IMP.atom._jax_util import _MDJAXInfo
5989  return _MDJAXInfo(self)
5990 
5991  def _get_jax_optimizer(self, max_steps):
5992  import IMP.atom._jax_util
5993  return IMP.atom._jax_util._MDJAXOptimizer(self, max_steps)
5994 
5995  def _optimize_jax(self, max_steps):
5996  opt = self._get_jax_optimizer(max_steps)
5997  score, md_state = opt.optimize(opt.get_initial_state())
5998  return score
5999 
6000 
6001 # Register MolecularDynamics in _IMP_atom:
6002 _IMP_atom.MolecularDynamics_swigregister(MolecularDynamics)
6003 class VelocityScalingOptimizerState(IMP.OptimizerState):
6004  r"""Proxy of C++ IMP::atom::VelocityScalingOptimizerState class."""
6005 
6006  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6007 
6008  def __init__(self, m, pis, temperature):
6009  r"""__init__(VelocityScalingOptimizerState self, Model m, _ParticleIndexesAdaptor pis, double temperature) -> VelocityScalingOptimizerState"""
6010  _IMP_atom.VelocityScalingOptimizerState_swiginit(self, _IMP_atom.new_VelocityScalingOptimizerState(m, pis, temperature))
6011 
6012  def set_particles(self, pis):
6013  r"""set_particles(VelocityScalingOptimizerState self, IMP::Particles const & pis)"""
6014  return _IMP_atom.VelocityScalingOptimizerState_set_particles(self, pis)
6015 
6016  def set_temperature(self, temperature):
6017  r"""set_temperature(VelocityScalingOptimizerState self, IMP::Float temperature)"""
6018  return _IMP_atom.VelocityScalingOptimizerState_set_temperature(self, temperature)
6019 
6020  def get_particles(self):
6021  r"""get_particles(VelocityScalingOptimizerState self) -> IMP::Particles"""
6022  return _IMP_atom.VelocityScalingOptimizerState_get_particles(self)
6023 
6024  def get_temperature(self):
6025  r"""get_temperature(VelocityScalingOptimizerState self) -> IMP::Float"""
6026  return _IMP_atom.VelocityScalingOptimizerState_get_temperature(self)
6027 
6028  def rescale_velocities(self):
6029  r"""rescale_velocities(VelocityScalingOptimizerState self)"""
6030  return _IMP_atom.VelocityScalingOptimizerState_rescale_velocities(self)
6031 
6032  def get_version_info(self):
6033  r"""get_version_info(VelocityScalingOptimizerState self) -> VersionInfo"""
6034  return _IMP_atom.VelocityScalingOptimizerState_get_version_info(self)
6035  __swig_destroy__ = _IMP_atom.delete_VelocityScalingOptimizerState
6036 
6037  def __str__(self):
6038  r"""__str__(VelocityScalingOptimizerState self) -> std::string"""
6039  return _IMP_atom.VelocityScalingOptimizerState___str__(self)
6040 
6041  def __repr__(self):
6042  r"""__repr__(VelocityScalingOptimizerState self) -> std::string"""
6043  return _IMP_atom.VelocityScalingOptimizerState___repr__(self)
6044 
6045  @staticmethod
6046  def get_from(o):
6047  return _object_cast_to_VelocityScalingOptimizerState(o)
6048 
6049 
6050  def _get_jax(self, state_index):
6051  import jax.lax
6052  import jax.numpy as jnp
6053  temperature = self.get_temperature()
6054  indexes = jnp.asarray(IMP.get_indexes(self.get_particles()))
6055 
6056  def scale_velocities(md, tkinetic):
6057  scale = jnp.sqrt(temperature / tkinetic)
6058  linvel = md.jm['linvel'].at[indexes]
6059  md.jm['linvel'] = linvel.multiply(scale)
6060  return md
6061 
6062  def apply_func(md):
6063  ekinetic = md.get_kinetic_energy()
6064  tkinetic = md.get_kinetic_temperature(ekinetic)
6065  return jax.lax.cond(tkinetic > 1e-8, scale_velocities,
6066  lambda md, tk: md, md, tkinetic)
6067  return self._wrap_jax(lambda x: x, apply_func)
6068 
6069 
6070 # Register VelocityScalingOptimizerState in _IMP_atom:
6071 _IMP_atom.VelocityScalingOptimizerState_swigregister(VelocityScalingOptimizerState)
6072 class Fragment(Hierarchy):
6073  r"""Proxy of C++ IMP::atom::Fragment class."""
6074 
6075  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6076 
6077  def set_residue_indexes(self, o):
6078  r"""set_residue_indexes(Fragment self, IMP::Ints o)"""
6079  return _IMP_atom.Fragment_set_residue_indexes(self, o)
6080 
6081  def get_residue_indexes(self):
6082  r"""get_residue_indexes(Fragment self) -> IMP::Ints"""
6083  return _IMP_atom.Fragment_get_residue_indexes(self)
6084 
6085  def get_contains_residue(self, rindex):
6086  r"""get_contains_residue(Fragment self, int rindex) -> bool"""
6087  return _IMP_atom.Fragment_get_contains_residue(self, rindex)
6088 
6089  def get_contains_any_sorted_residue(self, rinds):
6090  r"""get_contains_any_sorted_residue(Fragment self, IMP::Ints const & rinds) -> bool"""
6091  return _IMP_atom.Fragment_get_contains_any_sorted_residue(self, rinds)
6092 
6093  def __init__(self, *args):
6094  r"""
6095  __init__(Fragment self) -> Fragment
6096  __init__(Fragment self, Model m, ParticleIndex id) -> Fragment
6097  __init__(Fragment self, _ParticleAdaptor d) -> Fragment
6098  """
6099  _IMP_atom.Fragment_swiginit(self, _IMP_atom.new_Fragment(*args))
6100 
6101  @staticmethod
6102  def get_is_setup(*args):
6103  r"""
6104  get_is_setup(Model m, ParticleIndex pi) -> bool
6105  get_is_setup(_ParticleAdaptor p) -> bool
6106  """
6107  return _IMP_atom.Fragment_get_is_setup(*args)
6108 
6109  def show(self, *args):
6110  r"""show(Fragment self, _ostream out=std::cout)"""
6111  return _IMP_atom.Fragment_show(self, *args)
6112 
6113  @staticmethod
6114  def setup_particle(*args):
6115  r"""
6116  setup_particle(Model m, ParticleIndex pi) -> Fragment
6117  setup_particle(_ParticleAdaptor pa) -> Fragment
6118  setup_particle(Model m, ParticleIndex pi, Fragment other) -> Fragment
6119  setup_particle(_ParticleAdaptor pa, Fragment other) -> Fragment
6120  setup_particle(Model m, ParticleIndex pi, IMP::Ints residue_indexes) -> Fragment
6121  setup_particle(_ParticleAdaptor pa, IMP::Ints residue_indexes) -> Fragment
6122  """
6123  return _IMP_atom.Fragment_setup_particle(*args)
6124 
6125  def add_attribute(self, *args):
6126  r"""
6127  add_attribute(Fragment self, FloatKey k, IMP::Float v, bool opt)
6128  add_attribute(Fragment self, FloatKey a0, IMP::Float a1)
6129  add_attribute(Fragment self, IntKey a0, IMP::Int a1)
6130  add_attribute(Fragment self, FloatsKey a0, IMP::Floats a1)
6131  add_attribute(Fragment self, IntsKey a0, IMP::Ints a1)
6132  add_attribute(Fragment self, StringKey a0, IMP::String a1)
6133  add_attribute(Fragment self, ParticleIndexKey a0, Particle a1)
6134  add_attribute(Fragment self, ObjectKey a0, Object a1)
6135  add_attribute(Fragment self, SparseFloatKey a0, IMP::Float a1)
6136  add_attribute(Fragment self, SparseIntKey a0, IMP::Int a1)
6137  add_attribute(Fragment self, SparseStringKey a0, IMP::String a1)
6138  add_attribute(Fragment self, SparseParticleIndexKey a0, ParticleIndex a1)
6139  """
6140  return _IMP_atom.Fragment_add_attribute(self, *args)
6141 
6142  def get_value(self, *args):
6143  r"""
6144  get_value(Fragment self, FloatKey a0) -> IMP::Float
6145  get_value(Fragment self, IntKey a0) -> IMP::Int
6146  get_value(Fragment self, FloatsKey a0) -> IMP::Floats
6147  get_value(Fragment self, IntsKey a0) -> IMP::Ints
6148  get_value(Fragment self, StringKey a0) -> IMP::String
6149  get_value(Fragment self, ParticleIndexKey a0) -> Particle
6150  get_value(Fragment self, ObjectKey a0) -> Object
6151  get_value(Fragment self, SparseFloatKey a0) -> IMP::Float
6152  get_value(Fragment self, SparseIntKey a0) -> IMP::Int
6153  get_value(Fragment self, SparseStringKey a0) -> IMP::String
6154  get_value(Fragment self, SparseParticleIndexKey a0) -> ParticleIndex
6155  """
6156  return _IMP_atom.Fragment_get_value(self, *args)
6157 
6158  def set_value(self, *args):
6159  r"""
6160  set_value(Fragment self, FloatKey a0, IMP::Float a1)
6161  set_value(Fragment self, IntKey a0, IMP::Int a1)
6162  set_value(Fragment self, FloatsKey a0, IMP::Floats a1)
6163  set_value(Fragment self, IntsKey a0, IMP::Ints a1)
6164  set_value(Fragment self, StringKey a0, IMP::String a1)
6165  set_value(Fragment self, ParticleIndexKey a0, Particle a1)
6166  set_value(Fragment self, ObjectKey a0, Object a1)
6167  set_value(Fragment self, SparseFloatKey a0, IMP::Float a1)
6168  set_value(Fragment self, SparseIntKey a0, IMP::Int a1)
6169  set_value(Fragment self, SparseStringKey a0, IMP::String a1)
6170  set_value(Fragment self, SparseParticleIndexKey a0, ParticleIndex a1)
6171  """
6172  return _IMP_atom.Fragment_set_value(self, *args)
6173 
6174  def remove_attribute(self, *args):
6175  r"""
6176  remove_attribute(Fragment self, FloatKey a0)
6177  remove_attribute(Fragment self, IntKey a0)
6178  remove_attribute(Fragment self, FloatsKey a0)
6179  remove_attribute(Fragment self, IntsKey a0)
6180  remove_attribute(Fragment self, StringKey a0)
6181  remove_attribute(Fragment self, ParticleIndexKey a0)
6182  remove_attribute(Fragment self, ObjectKey a0)
6183  remove_attribute(Fragment self, SparseFloatKey a0)
6184  remove_attribute(Fragment self, SparseIntKey a0)
6185  remove_attribute(Fragment self, SparseStringKey a0)
6186  remove_attribute(Fragment self, SparseParticleIndexKey a0)
6187  """
6188  return _IMP_atom.Fragment_remove_attribute(self, *args)
6189 
6190  def has_attribute(self, *args):
6191  r"""
6192  has_attribute(Fragment self, FloatKey a0) -> bool
6193  has_attribute(Fragment self, IntKey a0) -> bool
6194  has_attribute(Fragment self, FloatsKey a0) -> bool
6195  has_attribute(Fragment self, IntsKey a0) -> bool
6196  has_attribute(Fragment self, StringKey a0) -> bool
6197  has_attribute(Fragment self, ParticleIndexKey a0) -> bool
6198  has_attribute(Fragment self, ObjectKey a0) -> bool
6199  has_attribute(Fragment self, SparseFloatKey a0) -> bool
6200  has_attribute(Fragment self, SparseIntKey a0) -> bool
6201  has_attribute(Fragment self, SparseStringKey a0) -> bool
6202  has_attribute(Fragment self, SparseParticleIndexKey a0) -> bool
6203  """
6204  return _IMP_atom.Fragment_has_attribute(self, *args)
6205 
6206  def get_derivative(self, a0):
6207  r"""get_derivative(Fragment self, FloatKey a0) -> double"""
6208  return _IMP_atom.Fragment_get_derivative(self, a0)
6209 
6210  def get_name(self):
6211  r"""get_name(Fragment self) -> std::string"""
6212  return _IMP_atom.Fragment_get_name(self)
6213 
6214  def clear_caches(self):
6215  r"""clear_caches(Fragment self)"""
6216  return _IMP_atom.Fragment_clear_caches(self)
6217 
6218  def set_name(self, a0):
6219  r"""set_name(Fragment self, std::string a0)"""
6220  return _IMP_atom.Fragment_set_name(self, a0)
6221 
6222  def set_check_level(self, a0):
6223  r"""set_check_level(Fragment self, IMP::CheckLevel a0)"""
6224  return _IMP_atom.Fragment_set_check_level(self, a0)
6225 
6226  def add_to_derivative(self, a0, a1, a2):
6227  r"""add_to_derivative(Fragment self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
6228  return _IMP_atom.Fragment_add_to_derivative(self, a0, a1, a2)
6229 
6230  def set_is_optimized(self, a0, a1):
6231  r"""set_is_optimized(Fragment self, FloatKey a0, bool a1)"""
6232  return _IMP_atom.Fragment_set_is_optimized(self, a0, a1)
6233 
6234  def get_is_optimized(self, a0):
6235  r"""get_is_optimized(Fragment self, FloatKey a0) -> bool"""
6236  return _IMP_atom.Fragment_get_is_optimized(self, a0)
6237 
6238  def get_check_level(self):
6239  r"""get_check_level(Fragment self) -> IMP::CheckLevel"""
6240  return _IMP_atom.Fragment_get_check_level(self)
6241 
6242  def __eq__(self, *args):
6243  r"""
6244  __eq__(Fragment self, Fragment o) -> bool
6245  __eq__(Fragment self, Particle d) -> bool
6246  """
6247  return _IMP_atom.Fragment___eq__(self, *args)
6248 
6249  def __ne__(self, *args):
6250  r"""
6251  __ne__(Fragment self, Fragment o) -> bool
6252  __ne__(Fragment self, Particle d) -> bool
6253  """
6254  return _IMP_atom.Fragment___ne__(self, *args)
6255 
6256  def __le__(self, *args):
6257  r"""
6258  __le__(Fragment self, Fragment o) -> bool
6259  __le__(Fragment self, Particle d) -> bool
6260  """
6261  return _IMP_atom.Fragment___le__(self, *args)
6262 
6263  def __lt__(self, *args):
6264  r"""
6265  __lt__(Fragment self, Fragment o) -> bool
6266  __lt__(Fragment self, Particle d) -> bool
6267  """
6268  return _IMP_atom.Fragment___lt__(self, *args)
6269 
6270  def __ge__(self, *args):
6271  r"""
6272  __ge__(Fragment self, Fragment o) -> bool
6273  __ge__(Fragment self, Particle d) -> bool
6274  """
6275  return _IMP_atom.Fragment___ge__(self, *args)
6276 
6277  def __gt__(self, *args):
6278  r"""
6279  __gt__(Fragment self, Fragment o) -> bool
6280  __gt__(Fragment self, Particle d) -> bool
6281  """
6282  return _IMP_atom.Fragment___gt__(self, *args)
6283 
6284  def __hash__(self):
6285  r"""__hash__(Fragment self) -> std::size_t"""
6286  return _IMP_atom.Fragment___hash__(self)
6287 
6288  def __str__(self):
6289  r"""__str__(Fragment self) -> std::string"""
6290  return _IMP_atom.Fragment___str__(self)
6291 
6292  def __repr__(self):
6293  r"""__repr__(Fragment self) -> std::string"""
6294  return _IMP_atom.Fragment___repr__(self)
6295 
6296  def _get_as_binary(self):
6297  r"""_get_as_binary(Fragment self) -> PyObject *"""
6298  return _IMP_atom.Fragment__get_as_binary(self)
6299 
6300  def _set_from_binary(self, p):
6301  r"""_set_from_binary(Fragment self, PyObject * p)"""
6302  return _IMP_atom.Fragment__set_from_binary(self, p)
6303 
6304  def __getstate__(self):
6305  p = self._get_as_binary()
6306  if len(self.__dict__) > 1:
6307  d = self.__dict__.copy()
6308  del d['this']
6309  p = (d, p)
6310  return p
6311 
6312  def __setstate__(self, p):
6313  if not hasattr(self, 'this'):
6314  self.__init__()
6315  if isinstance(p, tuple):
6316  d, p = p
6317  self.__dict__.update(d)
6318  return self._set_from_binary(p)
6319 
6320  __swig_destroy__ = _IMP_atom.delete_Fragment
6321 
6322 # Register Fragment in _IMP_atom:
6323 _IMP_atom.Fragment_swigregister(Fragment)
6324 class StereochemistryPairFilter(IMP.PairPredicate):
6325  r"""Proxy of C++ IMP::atom::StereochemistryPairFilter class."""
6326 
6327  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6328 
6329  def __init__(self):
6330  r"""__init__(StereochemistryPairFilter self) -> StereochemistryPairFilter"""
6331  _IMP_atom.StereochemistryPairFilter_swiginit(self, _IMP_atom.new_StereochemistryPairFilter())
6332 
6333  def set_bonds(self, bonds):
6334  r"""set_bonds(StereochemistryPairFilter self, IMP::Particles const & bonds)"""
6335  return _IMP_atom.StereochemistryPairFilter_set_bonds(self, bonds)
6336 
6337  def set_angles(self, angles):
6338  r"""set_angles(StereochemistryPairFilter self, IMP::Particles const & angles)"""
6339  return _IMP_atom.StereochemistryPairFilter_set_angles(self, angles)
6340 
6341  def set_dihedrals(self, dihedrals):
6342  r"""set_dihedrals(StereochemistryPairFilter self, IMP::Particles const & dihedrals)"""
6343  return _IMP_atom.StereochemistryPairFilter_set_dihedrals(self, dihedrals)
6344 
6345  def do_get_inputs(self, m, pis):
6346  r"""do_get_inputs(StereochemistryPairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6347  return _IMP_atom.StereochemistryPairFilter_do_get_inputs(self, m, pis)
6348 
6349  def get_value(self, *args):
6350  r"""
6351  get_value(StereochemistryPairFilter self, IMP::ParticlePair const & a) -> int
6352  get_value(StereochemistryPairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
6353  """
6354  return _IMP_atom.StereochemistryPairFilter_get_value(self, *args)
6355 
6356  def get_value_index(self, *args):
6357  r"""
6358  get_value_index(StereochemistryPairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
6359  get_value_index(StereochemistryPairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
6360  """
6361  return _IMP_atom.StereochemistryPairFilter_get_value_index(self, *args)
6362 
6363  def get_version_info(self):
6364  r"""get_version_info(StereochemistryPairFilter self) -> VersionInfo"""
6365  return _IMP_atom.StereochemistryPairFilter_get_version_info(self)
6366  __swig_destroy__ = _IMP_atom.delete_StereochemistryPairFilter
6367 
6368  def __str__(self):
6369  r"""__str__(StereochemistryPairFilter self) -> std::string"""
6370  return _IMP_atom.StereochemistryPairFilter___str__(self)
6371 
6372  def __repr__(self):
6373  r"""__repr__(StereochemistryPairFilter self) -> std::string"""
6374  return _IMP_atom.StereochemistryPairFilter___repr__(self)
6375 
6376  @staticmethod
6377  def get_from(o):
6378  return _object_cast_to_StereochemistryPairFilter(o)
6379 
6380 
6381 # Register StereochemistryPairFilter in _IMP_atom:
6382 _IMP_atom.StereochemistryPairFilter_swigregister(StereochemistryPairFilter)
6383 class SoapPairFilter(IMP.PairPredicate):
6384  r"""Proxy of C++ IMP::atom::SoapPairFilter class."""
6385 
6386  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6387 
6388  def __init__(self, library):
6389  r"""__init__(SoapPairFilter self, std::string library) -> SoapPairFilter"""
6390  _IMP_atom.SoapPairFilter_swiginit(self, _IMP_atom.new_SoapPairFilter(library))
6391 
6392  def do_get_inputs(self, m, pis):
6393  r"""do_get_inputs(SoapPairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6394  return _IMP_atom.SoapPairFilter_do_get_inputs(self, m, pis)
6395 
6396  def get_value(self, *args):
6397  r"""
6398  get_value(SoapPairFilter self, IMP::ParticlePair const & a) -> int
6399  get_value(SoapPairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
6400  """
6401  return _IMP_atom.SoapPairFilter_get_value(self, *args)
6402 
6403  def get_value_index(self, *args):
6404  r"""
6405  get_value_index(SoapPairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
6406  get_value_index(SoapPairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
6407  """
6408  return _IMP_atom.SoapPairFilter_get_value_index(self, *args)
6409 
6410  def get_version_info(self):
6411  r"""get_version_info(SoapPairFilter self) -> VersionInfo"""
6412  return _IMP_atom.SoapPairFilter_get_version_info(self)
6413  __swig_destroy__ = _IMP_atom.delete_SoapPairFilter
6414 
6415  def __str__(self):
6416  r"""__str__(SoapPairFilter self) -> std::string"""
6417  return _IMP_atom.SoapPairFilter___str__(self)
6418 
6419  def __repr__(self):
6420  r"""__repr__(SoapPairFilter self) -> std::string"""
6421  return _IMP_atom.SoapPairFilter___repr__(self)
6422 
6423  @staticmethod
6424  def get_from(o):
6425  return _object_cast_to_SoapPairFilter(o)
6426 
6427 
6428 # Register SoapPairFilter in _IMP_atom:
6429 _IMP_atom.SoapPairFilter_swigregister(SoapPairFilter)
6430 class Mass(IMP.Decorator):
6431  r"""Proxy of C++ IMP::atom::Mass class."""
6432 
6433  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6434 
6435  def get_mass(self):
6436  r"""get_mass(Mass self) -> IMP::Float"""
6437  return _IMP_atom.Mass_get_mass(self)
6438 
6439  def set_mass(self, d):
6440  r"""set_mass(Mass self, IMP::Float d)"""
6441  return _IMP_atom.Mass_set_mass(self, d)
6442 
6443  def __init__(self, *args):
6444  r"""
6445  __init__(Mass self) -> Mass
6446  __init__(Mass self, Model m, ParticleIndex id) -> Mass
6447  __init__(Mass self, _ParticleAdaptor d) -> Mass
6448  """
6449  _IMP_atom.Mass_swiginit(self, _IMP_atom.new_Mass(*args))
6450 
6451  @staticmethod
6452  def get_is_setup(*args):
6453  r"""
6454  get_is_setup(Model m, ParticleIndex pi) -> bool
6455  get_is_setup(_ParticleAdaptor p) -> bool
6456  """
6457  return _IMP_atom.Mass_get_is_setup(*args)
6458 
6459  def show(self, *args):
6460  r"""show(Mass self, _ostream out=std::cout)"""
6461  return _IMP_atom.Mass_show(self, *args)
6462 
6463  @staticmethod
6464  def setup_particle(*args):
6465  r"""
6466  setup_particle(Model m, ParticleIndex pi, IMP::Float mass) -> Mass
6467  setup_particle(_ParticleAdaptor pa, IMP::Float mass) -> Mass
6468  setup_particle(Model m, ParticleIndex pi, Mass other) -> Mass
6469  setup_particle(_ParticleAdaptor pa, Mass other) -> Mass
6470  """
6471  return _IMP_atom.Mass_setup_particle(*args)
6472 
6473  @staticmethod
6474  def get_mass_key():
6475  r"""get_mass_key() -> FloatKey"""
6476  return _IMP_atom.Mass_get_mass_key()
6477 
6478  def add_attribute(self, *args):
6479  r"""
6480  add_attribute(Mass self, FloatKey k, IMP::Float v, bool opt)
6481  add_attribute(Mass self, FloatKey a0, IMP::Float a1)
6482  add_attribute(Mass self, IntKey a0, IMP::Int a1)
6483  add_attribute(Mass self, FloatsKey a0, IMP::Floats a1)
6484  add_attribute(Mass self, IntsKey a0, IMP::Ints a1)
6485  add_attribute(Mass self, StringKey a0, IMP::String a1)
6486  add_attribute(Mass self, ParticleIndexKey a0, Particle a1)
6487  add_attribute(Mass self, ObjectKey a0, Object a1)
6488  add_attribute(Mass self, SparseFloatKey a0, IMP::Float a1)
6489  add_attribute(Mass self, SparseIntKey a0, IMP::Int a1)
6490  add_attribute(Mass self, SparseStringKey a0, IMP::String a1)
6491  add_attribute(Mass self, SparseParticleIndexKey a0, ParticleIndex a1)
6492  """
6493  return _IMP_atom.Mass_add_attribute(self, *args)
6494 
6495  def get_value(self, *args):
6496  r"""
6497  get_value(Mass self, FloatKey a0) -> IMP::Float
6498  get_value(Mass self, IntKey a0) -> IMP::Int
6499  get_value(Mass self, FloatsKey a0) -> IMP::Floats
6500  get_value(Mass self, IntsKey a0) -> IMP::Ints
6501  get_value(Mass self, StringKey a0) -> IMP::String
6502  get_value(Mass self, ParticleIndexKey a0) -> Particle
6503  get_value(Mass self, ObjectKey a0) -> Object
6504  get_value(Mass self, SparseFloatKey a0) -> IMP::Float
6505  get_value(Mass self, SparseIntKey a0) -> IMP::Int
6506  get_value(Mass self, SparseStringKey a0) -> IMP::String
6507  get_value(Mass self, SparseParticleIndexKey a0) -> ParticleIndex
6508  """
6509  return _IMP_atom.Mass_get_value(self, *args)
6510 
6511  def set_value(self, *args):
6512  r"""
6513  set_value(Mass self, FloatKey a0, IMP::Float a1)
6514  set_value(Mass self, IntKey a0, IMP::Int a1)
6515  set_value(Mass self, FloatsKey a0, IMP::Floats a1)
6516  set_value(Mass self, IntsKey a0, IMP::Ints a1)
6517  set_value(Mass self, StringKey a0, IMP::String a1)
6518  set_value(Mass self, ParticleIndexKey a0, Particle a1)
6519  set_value(Mass self, ObjectKey a0, Object a1)
6520  set_value(Mass self, SparseFloatKey a0, IMP::Float a1)
6521  set_value(Mass self, SparseIntKey a0, IMP::Int a1)
6522  set_value(Mass self, SparseStringKey a0, IMP::String a1)
6523  set_value(Mass self, SparseParticleIndexKey a0, ParticleIndex a1)
6524  """
6525  return _IMP_atom.Mass_set_value(self, *args)
6526 
6527  def remove_attribute(self, *args):
6528  r"""
6529  remove_attribute(Mass self, FloatKey a0)
6530  remove_attribute(Mass self, IntKey a0)
6531  remove_attribute(Mass self, FloatsKey a0)
6532  remove_attribute(Mass self, IntsKey a0)
6533  remove_attribute(Mass self, StringKey a0)
6534  remove_attribute(Mass self, ParticleIndexKey a0)
6535  remove_attribute(Mass self, ObjectKey a0)
6536  remove_attribute(Mass self, SparseFloatKey a0)
6537  remove_attribute(Mass self, SparseIntKey a0)
6538  remove_attribute(Mass self, SparseStringKey a0)
6539  remove_attribute(Mass self, SparseParticleIndexKey a0)
6540  """
6541  return _IMP_atom.Mass_remove_attribute(self, *args)
6542 
6543  def has_attribute(self, *args):
6544  r"""
6545  has_attribute(Mass self, FloatKey a0) -> bool
6546  has_attribute(Mass self, IntKey a0) -> bool
6547  has_attribute(Mass self, FloatsKey a0) -> bool
6548  has_attribute(Mass self, IntsKey a0) -> bool
6549  has_attribute(Mass self, StringKey a0) -> bool
6550  has_attribute(Mass self, ParticleIndexKey a0) -> bool
6551  has_attribute(Mass self, ObjectKey a0) -> bool
6552  has_attribute(Mass self, SparseFloatKey a0) -> bool
6553  has_attribute(Mass self, SparseIntKey a0) -> bool
6554  has_attribute(Mass self, SparseStringKey a0) -> bool
6555  has_attribute(Mass self, SparseParticleIndexKey a0) -> bool
6556  """
6557  return _IMP_atom.Mass_has_attribute(self, *args)
6558 
6559  def get_derivative(self, a0):
6560  r"""get_derivative(Mass self, FloatKey a0) -> double"""
6561  return _IMP_atom.Mass_get_derivative(self, a0)
6562 
6563  def get_name(self):
6564  r"""get_name(Mass self) -> std::string"""
6565  return _IMP_atom.Mass_get_name(self)
6566 
6567  def clear_caches(self):
6568  r"""clear_caches(Mass self)"""
6569  return _IMP_atom.Mass_clear_caches(self)
6570 
6571  def set_name(self, a0):
6572  r"""set_name(Mass self, std::string a0)"""
6573  return _IMP_atom.Mass_set_name(self, a0)
6574 
6575  def set_check_level(self, a0):
6576  r"""set_check_level(Mass self, IMP::CheckLevel a0)"""
6577  return _IMP_atom.Mass_set_check_level(self, a0)
6578 
6579  def add_to_derivative(self, a0, a1, a2):
6580  r"""add_to_derivative(Mass self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
6581  return _IMP_atom.Mass_add_to_derivative(self, a0, a1, a2)
6582 
6583  def set_is_optimized(self, a0, a1):
6584  r"""set_is_optimized(Mass self, FloatKey a0, bool a1)"""
6585  return _IMP_atom.Mass_set_is_optimized(self, a0, a1)
6586 
6587  def get_is_optimized(self, a0):
6588  r"""get_is_optimized(Mass self, FloatKey a0) -> bool"""
6589  return _IMP_atom.Mass_get_is_optimized(self, a0)
6590 
6591  def get_check_level(self):
6592  r"""get_check_level(Mass self) -> IMP::CheckLevel"""
6593  return _IMP_atom.Mass_get_check_level(self)
6594 
6595  def __eq__(self, *args):
6596  r"""
6597  __eq__(Mass self, Mass o) -> bool
6598  __eq__(Mass self, Particle d) -> bool
6599  """
6600  return _IMP_atom.Mass___eq__(self, *args)
6601 
6602  def __ne__(self, *args):
6603  r"""
6604  __ne__(Mass self, Mass o) -> bool
6605  __ne__(Mass self, Particle d) -> bool
6606  """
6607  return _IMP_atom.Mass___ne__(self, *args)
6608 
6609  def __le__(self, *args):
6610  r"""
6611  __le__(Mass self, Mass o) -> bool
6612  __le__(Mass self, Particle d) -> bool
6613  """
6614  return _IMP_atom.Mass___le__(self, *args)
6615 
6616  def __lt__(self, *args):
6617  r"""
6618  __lt__(Mass self, Mass o) -> bool
6619  __lt__(Mass self, Particle d) -> bool
6620  """
6621  return _IMP_atom.Mass___lt__(self, *args)
6622 
6623  def __ge__(self, *args):
6624  r"""
6625  __ge__(Mass self, Mass o) -> bool
6626  __ge__(Mass self, Particle d) -> bool
6627  """
6628  return _IMP_atom.Mass___ge__(self, *args)
6629 
6630  def __gt__(self, *args):
6631  r"""
6632  __gt__(Mass self, Mass o) -> bool
6633  __gt__(Mass self, Particle d) -> bool
6634  """
6635  return _IMP_atom.Mass___gt__(self, *args)
6636 
6637  def __hash__(self):
6638  r"""__hash__(Mass self) -> std::size_t"""
6639  return _IMP_atom.Mass___hash__(self)
6640 
6641  def __str__(self):
6642  r"""__str__(Mass self) -> std::string"""
6643  return _IMP_atom.Mass___str__(self)
6644 
6645  def __repr__(self):
6646  r"""__repr__(Mass self) -> std::string"""
6647  return _IMP_atom.Mass___repr__(self)
6648 
6649  def _get_as_binary(self):
6650  r"""_get_as_binary(Mass self) -> PyObject *"""
6651  return _IMP_atom.Mass__get_as_binary(self)
6652 
6653  def _set_from_binary(self, p):
6654  r"""_set_from_binary(Mass self, PyObject * p)"""
6655  return _IMP_atom.Mass__set_from_binary(self, p)
6656 
6657  def __getstate__(self):
6658  p = self._get_as_binary()
6659  if len(self.__dict__) > 1:
6660  d = self.__dict__.copy()
6661  del d['this']
6662  p = (d, p)
6663  return p
6664 
6665  def __setstate__(self, p):
6666  if not hasattr(self, 'this'):
6667  self.__init__()
6668  if isinstance(p, tuple):
6669  d, p = p
6670  self.__dict__.update(d)
6671  return self._set_from_binary(p)
6672 
6673  __swig_destroy__ = _IMP_atom.delete_Mass
6674 
6675 # Register Mass in _IMP_atom:
6676 _IMP_atom.Mass_swigregister(Mass)
6677 class BondedPairFilter(IMP.PairPredicate):
6678  r"""Proxy of C++ IMP::atom::BondedPairFilter class."""
6679 
6680  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6681 
6682  def __init__(self):
6683  r"""__init__(BondedPairFilter self) -> BondedPairFilter"""
6684  _IMP_atom.BondedPairFilter_swiginit(self, _IMP_atom.new_BondedPairFilter())
6685 
6686  def do_get_inputs(self, m, pis):
6687  r"""do_get_inputs(BondedPairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6688  return _IMP_atom.BondedPairFilter_do_get_inputs(self, m, pis)
6689 
6690  def get_value(self, *args):
6691  r"""
6692  get_value(BondedPairFilter self, IMP::ParticlePair const & a) -> int
6693  get_value(BondedPairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
6694  """
6695  return _IMP_atom.BondedPairFilter_get_value(self, *args)
6696 
6697  def get_value_index(self, *args):
6698  r"""
6699  get_value_index(BondedPairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
6700  get_value_index(BondedPairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
6701  """
6702  return _IMP_atom.BondedPairFilter_get_value_index(self, *args)
6703 
6704  def get_version_info(self):
6705  r"""get_version_info(BondedPairFilter self) -> VersionInfo"""
6706  return _IMP_atom.BondedPairFilter_get_version_info(self)
6707  __swig_destroy__ = _IMP_atom.delete_BondedPairFilter
6708 
6709  def __str__(self):
6710  r"""__str__(BondedPairFilter self) -> std::string"""
6711  return _IMP_atom.BondedPairFilter___str__(self)
6712 
6713  def __repr__(self):
6714  r"""__repr__(BondedPairFilter self) -> std::string"""
6715  return _IMP_atom.BondedPairFilter___repr__(self)
6716 
6717  @staticmethod
6718  def get_from(o):
6719  return _object_cast_to_BondedPairFilter(o)
6720 
6721 
6722 # Register BondedPairFilter in _IMP_atom:
6723 _IMP_atom.BondedPairFilter_swigregister(BondedPairFilter)
6724 class Mol2Selector(IMP.Object):
6725  r"""Proxy of C++ IMP::atom::Mol2Selector class."""
6726 
6727  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6728 
6729  def __init__(self, *args, **kwargs):
6730  raise AttributeError("No constructor defined - class is abstract")
6731 
6732  def get_is_selected(self, atom_line):
6733  r"""get_is_selected(Mol2Selector self, std::string const & atom_line) -> bool"""
6734  return _IMP_atom.Mol2Selector_get_is_selected(self, atom_line)
6735  __swig_destroy__ = _IMP_atom.delete_Mol2Selector
6736 
6737  def __str__(self):
6738  r"""__str__(Mol2Selector self) -> std::string"""
6739  return _IMP_atom.Mol2Selector___str__(self)
6740 
6741  def __repr__(self):
6742  r"""__repr__(Mol2Selector self) -> std::string"""
6743  return _IMP_atom.Mol2Selector___repr__(self)
6744 
6745  @staticmethod
6746  def get_from(o):
6747  return _object_cast_to_Mol2Selector(o)
6748 
6749 
6750 # Register Mol2Selector in _IMP_atom:
6751 _IMP_atom.Mol2Selector_swigregister(Mol2Selector)
6752 class AllMol2Selector(Mol2Selector):
6753  r"""Proxy of C++ IMP::atom::AllMol2Selector class."""
6754 
6755  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6756 
6757  def __str__(self):
6758  r"""__str__(AllMol2Selector self) -> std::string"""
6759  return _IMP_atom.AllMol2Selector___str__(self)
6760 
6761  def __repr__(self):
6762  r"""__repr__(AllMol2Selector self) -> std::string"""
6763  return _IMP_atom.AllMol2Selector___repr__(self)
6764 
6765  @staticmethod
6766  def get_from(o):
6767  return _object_cast_to_AllMol2Selector(o)
6768 
6769 
6770  def __init__(self):
6771  r"""__init__(AllMol2Selector self) -> AllMol2Selector"""
6772  _IMP_atom.AllMol2Selector_swiginit(self, _IMP_atom.new_AllMol2Selector())
6773  __swig_destroy__ = _IMP_atom.delete_AllMol2Selector
6774 
6775 # Register AllMol2Selector in _IMP_atom:
6776 _IMP_atom.AllMol2Selector_swigregister(AllMol2Selector)
6777 class NonHydrogenMol2Selector(Mol2Selector):
6778  r"""Proxy of C++ IMP::atom::NonHydrogenMol2Selector class."""
6779 
6780  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6781 
6782  def __str__(self):
6783  r"""__str__(NonHydrogenMol2Selector self) -> std::string"""
6784  return _IMP_atom.NonHydrogenMol2Selector___str__(self)
6785 
6786  def __repr__(self):
6787  r"""__repr__(NonHydrogenMol2Selector self) -> std::string"""
6788  return _IMP_atom.NonHydrogenMol2Selector___repr__(self)
6789 
6790  @staticmethod
6791  def get_from(o):
6792  return _object_cast_to_NonHydrogenMol2Selector(o)
6793 
6794 
6795  def __init__(self):
6796  r"""__init__(NonHydrogenMol2Selector self) -> NonHydrogenMol2Selector"""
6797  _IMP_atom.NonHydrogenMol2Selector_swiginit(self, _IMP_atom.new_NonHydrogenMol2Selector())
6798  __swig_destroy__ = _IMP_atom.delete_NonHydrogenMol2Selector
6799 
6800 # Register NonHydrogenMol2Selector in _IMP_atom:
6801 _IMP_atom.NonHydrogenMol2Selector_swigregister(NonHydrogenMol2Selector)
6802 
6803 def read_mol2(mol2_file, model, mol2sel=None):
6804  r"""read_mol2(TextInput mol2_file, Model model, Mol2Selector mol2sel=None) -> Hierarchy"""
6805  return _IMP_atom.read_mol2(mol2_file, model, mol2sel)
6806 
6807 def write_mol2(rhd, file_name):
6808  r"""write_mol2(Hierarchy rhd, TextOutput file_name)"""
6809  return _IMP_atom.write_mol2(rhd, file_name)
6810 class SecondaryStructureResidue(IMP.Decorator):
6811  r"""Proxy of C++ IMP::atom::SecondaryStructureResidue class."""
6812 
6813  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6814 
6815  def __init__(self, *args):
6816  r"""
6817  __init__(SecondaryStructureResidue self) -> SecondaryStructureResidue
6818  __init__(SecondaryStructureResidue self, Model m, ParticleIndex id) -> SecondaryStructureResidue
6819  __init__(SecondaryStructureResidue self, _ParticleAdaptor d) -> SecondaryStructureResidue
6820  """
6821  _IMP_atom.SecondaryStructureResidue_swiginit(self, _IMP_atom.new_SecondaryStructureResidue(*args))
6822 
6823  def show(self, *args):
6824  r"""show(SecondaryStructureResidue self, _ostream out=std::cout)"""
6825  return _IMP_atom.SecondaryStructureResidue_show(self, *args)
6826 
6827  @staticmethod
6828  def setup_particle(*args):
6829  r"""
6830  setup_particle(Model m, ParticleIndex pi, IMP::Float prob_helix, IMP::Float prob_strand, IMP::Float prob_coil) -> SecondaryStructureResidue
6831  setup_particle(_ParticleAdaptor pa, IMP::Float prob_helix, IMP::Float prob_strand, IMP::Float prob_coil) -> SecondaryStructureResidue
6832  setup_particle(Particle res_p) -> SecondaryStructureResidue
6833  """
6834  return _IMP_atom.SecondaryStructureResidue_setup_particle(*args)
6835 
6836  @staticmethod
6837  def get_is_setup(*args):
6838  r"""
6839  get_is_setup(_ParticleAdaptor p) -> bool
6840  get_is_setup(Model m, ParticleIndex pi) -> bool
6841  """
6842  return _IMP_atom.SecondaryStructureResidue_get_is_setup(*args)
6843 
6844  def get_particle(self):
6845  r"""get_particle(SecondaryStructureResidue self) -> Particle"""
6846  return _IMP_atom.SecondaryStructureResidue_get_particle(self)
6847 
6848  def get_all_probabilities(self):
6849  r"""get_all_probabilities(SecondaryStructureResidue self) -> IMP::Floats"""
6850  return _IMP_atom.SecondaryStructureResidue_get_all_probabilities(self)
6851 
6852  def get_prob_helix(self):
6853  r"""get_prob_helix(SecondaryStructureResidue self) -> IMP::Float"""
6854  return _IMP_atom.SecondaryStructureResidue_get_prob_helix(self)
6855 
6856  def set_prob_helix(self, t):
6857  r"""set_prob_helix(SecondaryStructureResidue self, IMP::Float t)"""
6858  return _IMP_atom.SecondaryStructureResidue_set_prob_helix(self, t)
6859 
6860  def get_prob_strand(self):
6861  r"""get_prob_strand(SecondaryStructureResidue self) -> IMP::Float"""
6862  return _IMP_atom.SecondaryStructureResidue_get_prob_strand(self)
6863 
6864  def set_prob_strand(self, t):
6865  r"""set_prob_strand(SecondaryStructureResidue self, IMP::Float t)"""
6866  return _IMP_atom.SecondaryStructureResidue_set_prob_strand(self, t)
6867 
6868  def get_prob_coil(self):
6869  r"""get_prob_coil(SecondaryStructureResidue self) -> IMP::Float"""
6870  return _IMP_atom.SecondaryStructureResidue_get_prob_coil(self)
6871 
6872  def set_prob_coil(self, t):
6873  r"""set_prob_coil(SecondaryStructureResidue self, IMP::Float t)"""
6874  return _IMP_atom.SecondaryStructureResidue_set_prob_coil(self, t)
6875 
6876  @staticmethod
6877  def get_prob_helix_key():
6878  r"""get_prob_helix_key() -> FloatKey"""
6879  return _IMP_atom.SecondaryStructureResidue_get_prob_helix_key()
6880 
6881  @staticmethod
6882  def get_prob_strand_key():
6883  r"""get_prob_strand_key() -> FloatKey"""
6884  return _IMP_atom.SecondaryStructureResidue_get_prob_strand_key()
6885 
6886  @staticmethod
6887  def get_prob_coil_key():
6888  r"""get_prob_coil_key() -> FloatKey"""
6889  return _IMP_atom.SecondaryStructureResidue_get_prob_coil_key()
6890 
6891  def add_attribute(self, *args):
6892  r"""
6893  add_attribute(SecondaryStructureResidue self, FloatKey k, IMP::Float v, bool opt)
6894  add_attribute(SecondaryStructureResidue self, FloatKey a0, IMP::Float a1)
6895  add_attribute(SecondaryStructureResidue self, IntKey a0, IMP::Int a1)
6896  add_attribute(SecondaryStructureResidue self, FloatsKey a0, IMP::Floats a1)
6897  add_attribute(SecondaryStructureResidue self, IntsKey a0, IMP::Ints a1)
6898  add_attribute(SecondaryStructureResidue self, StringKey a0, IMP::String a1)
6899  add_attribute(SecondaryStructureResidue self, ParticleIndexKey a0, Particle a1)
6900  add_attribute(SecondaryStructureResidue self, ObjectKey a0, Object a1)
6901  add_attribute(SecondaryStructureResidue self, SparseFloatKey a0, IMP::Float a1)
6902  add_attribute(SecondaryStructureResidue self, SparseIntKey a0, IMP::Int a1)
6903  add_attribute(SecondaryStructureResidue self, SparseStringKey a0, IMP::String a1)
6904  add_attribute(SecondaryStructureResidue self, SparseParticleIndexKey a0, ParticleIndex a1)
6905  """
6906  return _IMP_atom.SecondaryStructureResidue_add_attribute(self, *args)
6907 
6908  def get_value(self, *args):
6909  r"""
6910  get_value(SecondaryStructureResidue self, FloatKey a0) -> IMP::Float
6911  get_value(SecondaryStructureResidue self, IntKey a0) -> IMP::Int
6912  get_value(SecondaryStructureResidue self, FloatsKey a0) -> IMP::Floats
6913  get_value(SecondaryStructureResidue self, IntsKey a0) -> IMP::Ints
6914  get_value(SecondaryStructureResidue self, StringKey a0) -> IMP::String
6915  get_value(SecondaryStructureResidue self, ParticleIndexKey a0) -> Particle
6916  get_value(SecondaryStructureResidue self, ObjectKey a0) -> Object
6917  get_value(SecondaryStructureResidue self, SparseFloatKey a0) -> IMP::Float
6918  get_value(SecondaryStructureResidue self, SparseIntKey a0) -> IMP::Int
6919  get_value(SecondaryStructureResidue self, SparseStringKey a0) -> IMP::String
6920  get_value(SecondaryStructureResidue self, SparseParticleIndexKey a0) -> ParticleIndex
6921  """
6922  return _IMP_atom.SecondaryStructureResidue_get_value(self, *args)
6923 
6924  def set_value(self, *args):
6925  r"""
6926  set_value(SecondaryStructureResidue self, FloatKey a0, IMP::Float a1)
6927  set_value(SecondaryStructureResidue self, IntKey a0, IMP::Int a1)
6928  set_value(SecondaryStructureResidue self, FloatsKey a0, IMP::Floats a1)
6929  set_value(SecondaryStructureResidue self, IntsKey a0, IMP::Ints a1)
6930  set_value(SecondaryStructureResidue self, StringKey a0, IMP::String a1)
6931  set_value(SecondaryStructureResidue self, ParticleIndexKey a0, Particle a1)
6932  set_value(SecondaryStructureResidue self, ObjectKey a0, Object a1)
6933  set_value(SecondaryStructureResidue self, SparseFloatKey a0, IMP::Float a1)
6934  set_value(SecondaryStructureResidue self, SparseIntKey a0, IMP::Int a1)
6935  set_value(SecondaryStructureResidue self, SparseStringKey a0, IMP::String a1)
6936  set_value(SecondaryStructureResidue self, SparseParticleIndexKey a0, ParticleIndex a1)
6937  """
6938  return _IMP_atom.SecondaryStructureResidue_set_value(self, *args)
6939 
6940  def remove_attribute(self, *args):
6941  r"""
6942  remove_attribute(SecondaryStructureResidue self, FloatKey a0)
6943  remove_attribute(SecondaryStructureResidue self, IntKey a0)
6944  remove_attribute(SecondaryStructureResidue self, FloatsKey a0)
6945  remove_attribute(SecondaryStructureResidue self, IntsKey a0)
6946  remove_attribute(SecondaryStructureResidue self, StringKey a0)
6947  remove_attribute(SecondaryStructureResidue self, ParticleIndexKey a0)
6948  remove_attribute(SecondaryStructureResidue self, ObjectKey a0)
6949  remove_attribute(SecondaryStructureResidue self, SparseFloatKey a0)
6950  remove_attribute(SecondaryStructureResidue self, SparseIntKey a0)
6951  remove_attribute(SecondaryStructureResidue self, SparseStringKey a0)
6952  remove_attribute(SecondaryStructureResidue self, SparseParticleIndexKey a0)
6953  """
6954  return _IMP_atom.SecondaryStructureResidue_remove_attribute(self, *args)
6955 
6956  def has_attribute(self, *args):
6957  r"""
6958  has_attribute(SecondaryStructureResidue self, FloatKey a0) -> bool
6959  has_attribute(SecondaryStructureResidue self, IntKey a0) -> bool
6960  has_attribute(SecondaryStructureResidue self, FloatsKey a0) -> bool
6961  has_attribute(SecondaryStructureResidue self, IntsKey a0) -> bool
6962  has_attribute(SecondaryStructureResidue self, StringKey a0) -> bool
6963  has_attribute(SecondaryStructureResidue self, ParticleIndexKey a0) -> bool
6964  has_attribute(SecondaryStructureResidue self, ObjectKey a0) -> bool
6965  has_attribute(SecondaryStructureResidue self, SparseFloatKey a0) -> bool
6966  has_attribute(SecondaryStructureResidue self, SparseIntKey a0) -> bool
6967  has_attribute(SecondaryStructureResidue self, SparseStringKey a0) -> bool
6968  has_attribute(SecondaryStructureResidue self, SparseParticleIndexKey a0) -> bool
6969  """
6970  return _IMP_atom.SecondaryStructureResidue_has_attribute(self, *args)
6971 
6972  def get_derivative(self, a0):
6973  r"""get_derivative(SecondaryStructureResidue self, FloatKey a0) -> double"""
6974  return _IMP_atom.SecondaryStructureResidue_get_derivative(self, a0)
6975 
6976  def get_name(self):
6977  r"""get_name(SecondaryStructureResidue self) -> std::string"""
6978  return _IMP_atom.SecondaryStructureResidue_get_name(self)
6979 
6980  def clear_caches(self):
6981  r"""clear_caches(SecondaryStructureResidue self)"""
6982  return _IMP_atom.SecondaryStructureResidue_clear_caches(self)
6983 
6984  def set_name(self, a0):
6985  r"""set_name(SecondaryStructureResidue self, std::string a0)"""
6986  return _IMP_atom.SecondaryStructureResidue_set_name(self, a0)
6987 
6988  def set_check_level(self, a0):
6989  r"""set_check_level(SecondaryStructureResidue self, IMP::CheckLevel a0)"""
6990  return _IMP_atom.SecondaryStructureResidue_set_check_level(self, a0)
6991 
6992  def add_to_derivative(self, a0, a1, a2):
6993  r"""add_to_derivative(SecondaryStructureResidue self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
6994  return _IMP_atom.SecondaryStructureResidue_add_to_derivative(self, a0, a1, a2)
6995 
6996  def set_is_optimized(self, a0, a1):
6997  r"""set_is_optimized(SecondaryStructureResidue self, FloatKey a0, bool a1)"""
6998  return _IMP_atom.SecondaryStructureResidue_set_is_optimized(self, a0, a1)
6999 
7000  def get_is_optimized(self, a0):
7001  r"""get_is_optimized(SecondaryStructureResidue self, FloatKey a0) -> bool"""
7002  return _IMP_atom.SecondaryStructureResidue_get_is_optimized(self, a0)
7003 
7004  def get_check_level(self):
7005  r"""get_check_level(SecondaryStructureResidue self) -> IMP::CheckLevel"""
7006  return _IMP_atom.SecondaryStructureResidue_get_check_level(self)
7007 
7008  def __eq__(self, *args):
7009  r"""
7010  __eq__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
7011  __eq__(SecondaryStructureResidue self, Particle d) -> bool
7012  """
7013  return _IMP_atom.SecondaryStructureResidue___eq__(self, *args)
7014 
7015  def __ne__(self, *args):
7016  r"""
7017  __ne__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
7018  __ne__(SecondaryStructureResidue self, Particle d) -> bool
7019  """
7020  return _IMP_atom.SecondaryStructureResidue___ne__(self, *args)
7021 
7022  def __le__(self, *args):
7023  r"""
7024  __le__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
7025  __le__(SecondaryStructureResidue self, Particle d) -> bool
7026  """
7027  return _IMP_atom.SecondaryStructureResidue___le__(self, *args)
7028 
7029  def __lt__(self, *args):
7030  r"""
7031  __lt__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
7032  __lt__(SecondaryStructureResidue self, Particle d) -> bool
7033  """
7034  return _IMP_atom.SecondaryStructureResidue___lt__(self, *args)
7035 
7036  def __ge__(self, *args):
7037  r"""
7038  __ge__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
7039  __ge__(SecondaryStructureResidue self, Particle d) -> bool
7040  """
7041  return _IMP_atom.SecondaryStructureResidue___ge__(self, *args)
7042 
7043  def __gt__(self, *args):
7044  r"""
7045  __gt__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
7046  __gt__(SecondaryStructureResidue self, Particle d) -> bool
7047  """
7048  return _IMP_atom.SecondaryStructureResidue___gt__(self, *args)
7049 
7050  def __hash__(self):
7051  r"""__hash__(SecondaryStructureResidue self) -> std::size_t"""
7052  return _IMP_atom.SecondaryStructureResidue___hash__(self)
7053 
7054  def __str__(self):
7055  r"""__str__(SecondaryStructureResidue self) -> std::string"""
7056  return _IMP_atom.SecondaryStructureResidue___str__(self)
7057 
7058  def __repr__(self):
7059  r"""__repr__(SecondaryStructureResidue self) -> std::string"""
7060  return _IMP_atom.SecondaryStructureResidue___repr__(self)
7061 
7062  def _get_as_binary(self):
7063  r"""_get_as_binary(SecondaryStructureResidue self) -> PyObject *"""
7064  return _IMP_atom.SecondaryStructureResidue__get_as_binary(self)
7065 
7066  def _set_from_binary(self, p):
7067  r"""_set_from_binary(SecondaryStructureResidue self, PyObject * p)"""
7068  return _IMP_atom.SecondaryStructureResidue__set_from_binary(self, p)
7069 
7070  def __getstate__(self):
7071  p = self._get_as_binary()
7072  if len(self.__dict__) > 1:
7073  d = self.__dict__.copy()
7074  del d['this']
7075  p = (d, p)
7076  return p
7077 
7078  def __setstate__(self, p):
7079  if not hasattr(self, 'this'):
7080  self.__init__()
7081  if isinstance(p, tuple):
7082  d, p = p
7083  self.__dict__.update(d)
7084  return self._set_from_binary(p)
7085 
7086  __swig_destroy__ = _IMP_atom.delete_SecondaryStructureResidue
7087 
7088 # Register SecondaryStructureResidue in _IMP_atom:
7089 _IMP_atom.SecondaryStructureResidue_swigregister(SecondaryStructureResidue)
7090 
7091 def setup_coarse_secondary_structure_residue(ssr_ps, mdl, winner_takes_all_per_res=False):
7092  r"""setup_coarse_secondary_structure_residue(IMP::Particles const & ssr_ps, Model mdl, bool winner_takes_all_per_res=False) -> SecondaryStructureResidue"""
7093  return _IMP_atom.setup_coarse_secondary_structure_residue(ssr_ps, mdl, winner_takes_all_per_res)
7094 
7095 def setup_coarse_secondary_structure_residues(ssr_ps, mdl, coarse_factor, start_res_num, winner_takes_all_per_res=False):
7096  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"""
7097  return _IMP_atom.setup_coarse_secondary_structure_residues(ssr_ps, mdl, coarse_factor, start_res_num, winner_takes_all_per_res)
7098 
7099 def get_secondary_structure_match_score(ssr1, ssr2):
7100  r"""get_secondary_structure_match_score(SecondaryStructureResidue ssr1, SecondaryStructureResidue ssr2) -> IMP::Float"""
7101  return _IMP_atom.get_secondary_structure_match_score(ssr1, ssr2)
7102 
7103 def read_psipred(*args):
7104  r"""
7105  read_psipred(TextInput inf, Model mdl) -> IMP::atom::SecondaryStructureResidues
7106  read_psipred(TextInput inf, IMP::Particles ps) -> IMP::atom::SecondaryStructureResidues
7107  """
7108  return _IMP_atom.read_psipred(*args)
7109 class _ADopeBase(IMP.PairScore):
7110  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::Dope > class."""
7111 
7112  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7113  __repr__ = _swig_repr
7114 
7115  def __init__(self, *args):
7116  r"""
7117  __init__(_ADopeBase self, Dope t0, std::string name="FunctorDistancePairScore %1%") -> _ADopeBase
7118  __init__(_ADopeBase self) -> _ADopeBase
7119  """
7120  _IMP_atom._ADopeBase_swiginit(self, _IMP_atom.new__ADopeBase(*args))
7121 
7122  def do_get_inputs(self, m, pis):
7123  r"""do_get_inputs(_ADopeBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7124  return _IMP_atom._ADopeBase_do_get_inputs(self, m, pis)
7125 
7126  def get_score_functor(self, *args):
7127  r"""
7128  get_score_functor(_ADopeBase self) -> Dope
7129  get_score_functor(_ADopeBase self) -> Dope
7130  """
7131  return _IMP_atom._ADopeBase_get_score_functor(self, *args)
7132 
7133  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7134  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"""
7135  return _IMP_atom._ADopeBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7136 
7137  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7138  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"""
7139  return _IMP_atom._ADopeBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7140 
7141  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7142  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"""
7143  return _IMP_atom._ADopeBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7144 
7145  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7146  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"""
7147  return _IMP_atom._ADopeBase_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7148 
7149  def get_version_info(self):
7150  r"""get_version_info(_ADopeBase self) -> VersionInfo"""
7151  return _IMP_atom._ADopeBase_get_version_info(self)
7152  __swig_destroy__ = _IMP_atom.delete__ADopeBase
7153 
7154 # Register _ADopeBase in _IMP_atom:
7155 _IMP_atom._ADopeBase_swigregister(_ADopeBase)
7156 class _BDopeBase(IMP.PairScore):
7157  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::Statistical< IMP::atom::DopeType,false,true,false > > class."""
7158 
7159  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7160  __repr__ = _swig_repr
7161 
7162  def __init__(self, *args):
7163  r"""
7164  __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
7165  __init__(_BDopeBase self) -> _BDopeBase
7166  """
7167  _IMP_atom._BDopeBase_swiginit(self, _IMP_atom.new__BDopeBase(*args))
7168 
7169  def do_get_inputs(self, m, pis):
7170  r"""do_get_inputs(_BDopeBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7171  return _IMP_atom._BDopeBase_do_get_inputs(self, m, pis)
7172 
7173  def get_score_functor(self, *args):
7174  r"""
7175  get_score_functor(_BDopeBase self) -> _DopeBase
7176  get_score_functor(_BDopeBase self) -> _DopeBase
7177  """
7178  return _IMP_atom._BDopeBase_get_score_functor(self, *args)
7179 
7180  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7181  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"""
7182  return _IMP_atom._BDopeBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7183 
7184  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7185  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"""
7186  return _IMP_atom._BDopeBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7187 
7188  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7189  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"""
7190  return _IMP_atom._BDopeBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7191 
7192  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7193  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"""
7194  return _IMP_atom._BDopeBase_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7195 
7196  def get_version_info(self):
7197  r"""get_version_info(_BDopeBase self) -> VersionInfo"""
7198  return _IMP_atom._BDopeBase_get_version_info(self)
7199  __swig_destroy__ = _IMP_atom.delete__BDopeBase
7200 
7201 # Register _BDopeBase in _IMP_atom:
7202 _IMP_atom._BDopeBase_swigregister(_BDopeBase)
7203 class _ALoopStatisticalBase(IMP.PairScore):
7204  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::LoopStatistical > class."""
7205 
7206  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7207  __repr__ = _swig_repr
7208 
7209  def __init__(self, *args):
7210  r"""
7211  __init__(_ALoopStatisticalBase self, LoopStatistical t0, std::string name="FunctorDistancePairScore %1%") -> _ALoopStatisticalBase
7212  __init__(_ALoopStatisticalBase self) -> _ALoopStatisticalBase
7213  """
7214  _IMP_atom._ALoopStatisticalBase_swiginit(self, _IMP_atom.new__ALoopStatisticalBase(*args))
7215 
7216  def do_get_inputs(self, m, pis):
7217  r"""do_get_inputs(_ALoopStatisticalBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7218  return _IMP_atom._ALoopStatisticalBase_do_get_inputs(self, m, pis)
7219 
7220  def get_score_functor(self, *args):
7221  r"""
7222  get_score_functor(_ALoopStatisticalBase self) -> LoopStatistical
7223  get_score_functor(_ALoopStatisticalBase self) -> LoopStatistical
7224  """
7225  return _IMP_atom._ALoopStatisticalBase_get_score_functor(self, *args)
7226 
7227  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7228  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"""
7229  return _IMP_atom._ALoopStatisticalBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7230 
7231  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7232  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"""
7233  return _IMP_atom._ALoopStatisticalBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7234 
7235  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7236  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"""
7237  return _IMP_atom._ALoopStatisticalBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7238 
7239  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7240  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"""
7241  return _IMP_atom._ALoopStatisticalBase_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7242 
7243  def get_version_info(self):
7244  r"""get_version_info(_ALoopStatisticalBase self) -> VersionInfo"""
7245  return _IMP_atom._ALoopStatisticalBase_get_version_info(self)
7246  __swig_destroy__ = _IMP_atom.delete__ALoopStatisticalBase
7247 
7248 # Register _ALoopStatisticalBase in _IMP_atom:
7249 _IMP_atom._ALoopStatisticalBase_swigregister(_ALoopStatisticalBase)
7250 class _BLoopStatisticalBase(IMP.PairScore):
7251  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::Statistical< IMP::atom::LoopStatisticalType,false,true,false > > class."""
7252 
7253  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7254  __repr__ = _swig_repr
7255 
7256  def __init__(self, *args):
7257  r"""
7258  __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
7259  __init__(_BLoopStatisticalBase self) -> _BLoopStatisticalBase
7260  """
7261  _IMP_atom._BLoopStatisticalBase_swiginit(self, _IMP_atom.new__BLoopStatisticalBase(*args))
7262 
7263  def do_get_inputs(self, m, pis):
7264  r"""do_get_inputs(_BLoopStatisticalBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7265  return _IMP_atom._BLoopStatisticalBase_do_get_inputs(self, m, pis)
7266 
7267  def get_score_functor(self, *args):
7268  r"""
7269  get_score_functor(_BLoopStatisticalBase self) -> _LoopStatisticalBase
7270  get_score_functor(_BLoopStatisticalBase self) -> _LoopStatisticalBase
7271  """
7272  return _IMP_atom._BLoopStatisticalBase_get_score_functor(self, *args)
7273 
7274  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7275  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"""
7276  return _IMP_atom._BLoopStatisticalBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7277 
7278  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7279  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"""
7280  return _IMP_atom._BLoopStatisticalBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7281 
7282  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7283  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"""
7284  return _IMP_atom._BLoopStatisticalBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7285 
7286  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7287  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"""
7288  return _IMP_atom._BLoopStatisticalBase_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7289 
7290  def get_version_info(self):
7291  r"""get_version_info(_BLoopStatisticalBase self) -> VersionInfo"""
7292  return _IMP_atom._BLoopStatisticalBase_get_version_info(self)
7293  __swig_destroy__ = _IMP_atom.delete__BLoopStatisticalBase
7294 
7295 # Register _BLoopStatisticalBase in _IMP_atom:
7296 _IMP_atom._BLoopStatisticalBase_swigregister(_BLoopStatisticalBase)
7297 class _OrientedSoapBase(IMP.PairScore):
7298  r"""Proxy of C++ IMP::score_functor::DistancePairScoreWithCache< IMP::score_functor::OrientedSoap > class."""
7299 
7300  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7301  __repr__ = _swig_repr
7302 
7303  def __init__(self, *args):
7304  r"""__init__(_OrientedSoapBase self, IMP::score_functor::DistancePairScoreWithCache< IMP::score_functor::OrientedSoap >::DistanceScore const & t0, std::string name="FunctorDistancePairScoreWithCache %1%") -> _OrientedSoapBase"""
7305  _IMP_atom._OrientedSoapBase_swiginit(self, _IMP_atom.new__OrientedSoapBase(*args))
7306 
7307  def do_get_inputs(self, m, pis):
7308  r"""do_get_inputs(_OrientedSoapBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7309  return _IMP_atom._OrientedSoapBase_do_get_inputs(self, m, pis)
7310 
7311  def get_score_functor(self):
7312  r"""get_score_functor(_OrientedSoapBase self) -> IMP::score_functor::OrientedSoap &"""
7313  return _IMP_atom._OrientedSoapBase_get_score_functor(self)
7314 
7315  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7316  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"""
7317  return _IMP_atom._OrientedSoapBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7318 
7319  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7320  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"""
7321  return _IMP_atom._OrientedSoapBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7322 
7323  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7324  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"""
7325  return _IMP_atom._OrientedSoapBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7326 
7327  def get_version_info(self):
7328  r"""get_version_info(_OrientedSoapBase self) -> VersionInfo"""
7329  return _IMP_atom._OrientedSoapBase_get_version_info(self)
7330  __swig_destroy__ = _IMP_atom.delete__OrientedSoapBase
7331 
7332 # Register _OrientedSoapBase in _IMP_atom:
7333 _IMP_atom._OrientedSoapBase_swigregister(_OrientedSoapBase)
7334 class _SPSFTB(IMP.PairScore):
7335  r"""Proxy of C++ IMP::score_functor::DistancePairScore< score_functor::Statistical< IMP::atom::ProteinLigandType,true,false > > class."""
7336 
7337  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7338  __repr__ = _swig_repr
7339 
7340  def __init__(self, *args):
7341  r"""
7342  __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
7343  __init__(_SPSFTB self) -> _SPSFTB
7344  """
7345  _IMP_atom._SPSFTB_swiginit(self, _IMP_atom.new__SPSFTB(*args))
7346 
7347  def do_get_inputs(self, m, pis):
7348  r"""do_get_inputs(_SPSFTB self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7349  return _IMP_atom._SPSFTB_do_get_inputs(self, m, pis)
7350 
7351  def get_score_functor(self, *args):
7352  r"""
7353  get_score_functor(_SPSFTB self) -> IMP::score_functor::Statistical< IMP::atom::ProteinLigandType,true,false,false >
7354  get_score_functor(_SPSFTB self) -> IMP::score_functor::Statistical< IMP::atom::ProteinLigandType,true,false,false > const &
7355  """
7356  return _IMP_atom._SPSFTB_get_score_functor(self, *args)
7357 
7358  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7359  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"""
7360  return _IMP_atom._SPSFTB_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7361 
7362  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7363  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"""
7364  return _IMP_atom._SPSFTB_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7365 
7366  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7367  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"""
7368  return _IMP_atom._SPSFTB_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7369 
7370  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7371  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"""
7372  return _IMP_atom._SPSFTB_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7373 
7374  def get_version_info(self):
7375  r"""get_version_info(_SPSFTB self) -> VersionInfo"""
7376  return _IMP_atom._SPSFTB_get_version_info(self)
7377  __swig_destroy__ = _IMP_atom.delete__SPSFTB
7378 
7379 # Register _SPSFTB in _IMP_atom:
7380 _IMP_atom._SPSFTB_swigregister(_SPSFTB)
7381 class _SPSTF(_SPSFTB):
7382  r"""Proxy of C++ IMP::core::StatisticalPairScore< IMP::atom::ProteinLigandType,true,false > class."""
7383 
7384  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7385  __repr__ = _swig_repr
7386 
7387  def __init__(self, *args):
7388  r"""
7389  __init__(_SPSTF self, IntKey k, double threshold, TextInput data_file) -> _SPSTF
7390  __init__(_SPSTF self, IntKey k, double threshold, TextInput data_file, unsigned int shift) -> _SPSTF
7391  """
7392  _IMP_atom._SPSTF_swiginit(self, _IMP_atom.new__SPSTF(*args))
7393  __swig_destroy__ = _IMP_atom.delete__SPSTF
7394 
7395 # Register _SPSTF in _IMP_atom:
7396 _IMP_atom._SPSTF_swigregister(_SPSTF)
7397 class _SPSFT(_BDopeBase):
7398  r"""Proxy of C++ IMP::core::StatisticalPairScore< IMP::atom::DopeType,false,true > class."""
7399 
7400  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7401  __repr__ = _swig_repr
7402 
7403  def __init__(self, *args):
7404  r"""
7405  __init__(_SPSFT self, IntKey k, double threshold, TextInput data_file) -> _SPSFT
7406  __init__(_SPSFT self, IntKey k, double threshold, TextInput data_file, unsigned int shift) -> _SPSFT
7407  """
7408  _IMP_atom._SPSFT_swiginit(self, _IMP_atom.new__SPSFT(*args))
7409  __swig_destroy__ = _IMP_atom.delete__SPSFT
7410 
7411 # Register _SPSFT in _IMP_atom:
7412 _IMP_atom._SPSFT_swigregister(_SPSFT)
7413 class _SPSFTL(_BLoopStatisticalBase):
7414  r"""Proxy of C++ IMP::core::StatisticalPairScore< IMP::atom::LoopStatisticalType,false,true > class."""
7415 
7416  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7417  __repr__ = _swig_repr
7418 
7419  def __init__(self, *args):
7420  r"""
7421  __init__(_SPSFTL self, IntKey k, double threshold, TextInput data_file) -> _SPSFTL
7422  __init__(_SPSFTL self, IntKey k, double threshold, TextInput data_file, unsigned int shift) -> _SPSFTL
7423  """
7424  _IMP_atom._SPSFTL_swiginit(self, _IMP_atom.new__SPSFTL(*args))
7425  __swig_destroy__ = _IMP_atom.delete__SPSFTL
7426 
7427 # Register _SPSFTL in _IMP_atom:
7428 _IMP_atom._SPSFTL_swigregister(_SPSFTL)
7429 class ProteinLigandAtomPairScore(_SPSTF):
7430  r"""Proxy of C++ IMP::atom::ProteinLigandAtomPairScore class."""
7431 
7432  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7433 
7434  def __init__(self, *args):
7435  r"""
7436  __init__(ProteinLigandAtomPairScore self, double threshold=std::numeric_limits< double >::max()) -> ProteinLigandAtomPairScore
7437  __init__(ProteinLigandAtomPairScore self, double threshold, TextInput data_file) -> ProteinLigandAtomPairScore
7438  """
7439  _IMP_atom.ProteinLigandAtomPairScore_swiginit(self, _IMP_atom.new_ProteinLigandAtomPairScore(*args))
7440 
7441  def get_maximum_distance(self):
7442  r"""get_maximum_distance(ProteinLigandAtomPairScore self) -> double"""
7443  return _IMP_atom.ProteinLigandAtomPairScore_get_maximum_distance(self)
7444 
7445  def __str__(self):
7446  r"""__str__(ProteinLigandAtomPairScore self) -> std::string"""
7447  return _IMP_atom.ProteinLigandAtomPairScore___str__(self)
7448 
7449  def __repr__(self):
7450  r"""__repr__(ProteinLigandAtomPairScore self) -> std::string"""
7451  return _IMP_atom.ProteinLigandAtomPairScore___repr__(self)
7452 
7453  @staticmethod
7454  def get_from(o):
7455  return _object_cast_to_ProteinLigandAtomPairScore(o)
7456 
7457  __swig_destroy__ = _IMP_atom.delete_ProteinLigandAtomPairScore
7458 
7459 # Register ProteinLigandAtomPairScore in _IMP_atom:
7460 _IMP_atom.ProteinLigandAtomPairScore_swigregister(ProteinLigandAtomPairScore)
7461 class ProteinLigandRestraint(IMP.container.PairsRestraint):
7462  r"""Proxy of C++ IMP::atom::ProteinLigandRestraint class."""
7463 
7464  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7465 
7466  def __init__(self, *args):
7467  r"""
7468  __init__(ProteinLigandRestraint self, Hierarchy protein, Hierarchy ligand, double threshold=std::numeric_limits< double >::max()) -> ProteinLigandRestraint
7469  __init__(ProteinLigandRestraint self, Hierarchy protein, Hierarchy ligand, double threshold, TextInput data_file) -> ProteinLigandRestraint
7470  """
7471  _IMP_atom.ProteinLigandRestraint_swiginit(self, _IMP_atom.new_ProteinLigandRestraint(*args))
7472 
7473  def __str__(self):
7474  r"""__str__(ProteinLigandRestraint self) -> std::string"""
7475  return _IMP_atom.ProteinLigandRestraint___str__(self)
7476 
7477  def __repr__(self):
7478  r"""__repr__(ProteinLigandRestraint self) -> std::string"""
7479  return _IMP_atom.ProteinLigandRestraint___repr__(self)
7480 
7481  @staticmethod
7482  def get_from(o):
7483  return _object_cast_to_ProteinLigandRestraint(o)
7484 
7485  __swig_destroy__ = _IMP_atom.delete_ProteinLigandRestraint
7486 
7487 # Register ProteinLigandRestraint in _IMP_atom:
7488 _IMP_atom.ProteinLigandRestraint_swigregister(ProteinLigandRestraint)
7489 
7491  r"""add_protein_ligand_score_data(Hierarchy h)"""
7492  return _IMP_atom.add_protein_ligand_score_data(h)
7493 class AtomType(IMP._Value):
7494  r"""Proxy of C++ IMP::Key< 8974343 > class."""
7495 
7496  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7497 
7498  def __init__(self, *args):
7499  r"""
7500  __init__(AtomType self) -> AtomType
7501  __init__(AtomType self, std::string const & c, bool is_implicit_add_permitted=True) -> AtomType
7502  __init__(AtomType self, unsigned int i) -> AtomType
7503  """
7504  _IMP_atom.AtomType_swiginit(self, _IMP_atom.new_AtomType(*args))
7505 
7506  @staticmethod
7507  def add_key(sc):
7508  r"""add_key(std::string sc) -> unsigned int"""
7509  return _IMP_atom.AtomType_add_key(sc)
7510 
7511  @staticmethod
7512  def get_key_exists(sc):
7513  r"""get_key_exists(std::string sc) -> bool"""
7514  return _IMP_atom.AtomType_get_key_exists(sc)
7515 
7516  def get_string(self):
7517  r"""get_string(AtomType self) -> std::string const"""
7518  return _IMP_atom.AtomType_get_string(self)
7519 
7520  def __cmp__(self, o):
7521  r"""__cmp__(AtomType self, AtomType o) -> int"""
7522  return _IMP_atom.AtomType___cmp__(self, o)
7523 
7524  def __eq__(self, o):
7525  r"""__eq__(AtomType self, AtomType o) -> bool"""
7526  return _IMP_atom.AtomType___eq__(self, o)
7527 
7528  def __ne__(self, o):
7529  r"""__ne__(AtomType self, AtomType o) -> bool"""
7530  return _IMP_atom.AtomType___ne__(self, o)
7531 
7532  def __lt__(self, o):
7533  r"""__lt__(AtomType self, AtomType o) -> bool"""
7534  return _IMP_atom.AtomType___lt__(self, o)
7535 
7536  def __gt__(self, o):
7537  r"""__gt__(AtomType self, AtomType o) -> bool"""
7538  return _IMP_atom.AtomType___gt__(self, o)
7539 
7540  def __ge__(self, o):
7541  r"""__ge__(AtomType self, AtomType o) -> bool"""
7542  return _IMP_atom.AtomType___ge__(self, o)
7543 
7544  def __le__(self, o):
7545  r"""__le__(AtomType self, AtomType o) -> bool"""
7546  return _IMP_atom.AtomType___le__(self, o)
7547 
7548  def __hash__(self):
7549  r"""__hash__(AtomType self) -> std::size_t"""
7550  return _IMP_atom.AtomType___hash__(self)
7551 
7552  def show(self, *args):
7553  r"""show(AtomType self, _ostream out=std::cout)"""
7554  return _IMP_atom.AtomType_show(self, *args)
7555 
7556  @staticmethod
7557  def add_alias(old_key, new_name):
7558  r"""add_alias(AtomType old_key, std::string new_name) -> AtomType"""
7559  return _IMP_atom.AtomType_add_alias(old_key, new_name)
7560 
7561  @staticmethod
7562  def get_number_of_keys():
7563  r"""get_number_of_keys() -> unsigned int"""
7564  return _IMP_atom.AtomType_get_number_of_keys()
7565 
7566  def get_index(self):
7567  r"""get_index(AtomType self) -> unsigned int"""
7568  return _IMP_atom.AtomType_get_index(self)
7569 
7570  @staticmethod
7571  def show_all(out):
7572  r"""show_all(_ostream out)"""
7573  return _IMP_atom.AtomType_show_all(out)
7574 
7575  @staticmethod
7576  def get_all_strings():
7577  r"""get_all_strings() -> IMP::Vector< std::string >"""
7578  return _IMP_atom.AtomType_get_all_strings()
7579 
7580  @staticmethod
7581  def get_number_unique():
7582  r"""get_number_unique() -> unsigned int"""
7583  return _IMP_atom.AtomType_get_number_unique()
7584 
7585  def __str__(self):
7586  r"""__str__(AtomType self) -> std::string"""
7587  return _IMP_atom.AtomType___str__(self)
7588 
7589  def __repr__(self):
7590  r"""__repr__(AtomType self) -> std::string"""
7591  return _IMP_atom.AtomType___repr__(self)
7592  __swig_destroy__ = _IMP_atom.delete_AtomType
7593 
7594 # Register AtomType in _IMP_atom:
7595 _IMP_atom.AtomType_swigregister(AtomType)
7596 class ResidueType(IMP._Value):
7597  r"""Proxy of C++ IMP::Key< 90784334 > class."""
7598 
7599  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7600 
7601  def __init__(self, *args):
7602  r"""
7603  __init__(ResidueType self) -> ResidueType
7604  __init__(ResidueType self, std::string const & c, bool is_implicit_add_permitted=True) -> ResidueType
7605  __init__(ResidueType self, unsigned int i) -> ResidueType
7606  """
7607  _IMP_atom.ResidueType_swiginit(self, _IMP_atom.new_ResidueType(*args))
7608 
7609  @staticmethod
7610  def add_key(sc):
7611  r"""add_key(std::string sc) -> unsigned int"""
7612  return _IMP_atom.ResidueType_add_key(sc)
7613 
7614  @staticmethod
7615  def get_key_exists(sc):
7616  r"""get_key_exists(std::string sc) -> bool"""
7617  return _IMP_atom.ResidueType_get_key_exists(sc)
7618 
7619  def get_string(self):
7620  r"""get_string(ResidueType self) -> std::string const"""
7621  return _IMP_atom.ResidueType_get_string(self)
7622 
7623  def __cmp__(self, o):
7624  r"""__cmp__(ResidueType self, ResidueType o) -> int"""
7625  return _IMP_atom.ResidueType___cmp__(self, o)
7626 
7627  def __eq__(self, o):
7628  r"""__eq__(ResidueType self, ResidueType o) -> bool"""
7629  return _IMP_atom.ResidueType___eq__(self, o)
7630 
7631  def __ne__(self, o):
7632  r"""__ne__(ResidueType self, ResidueType o) -> bool"""
7633  return _IMP_atom.ResidueType___ne__(self, o)
7634 
7635  def __lt__(self, o):
7636  r"""__lt__(ResidueType self, ResidueType o) -> bool"""
7637  return _IMP_atom.ResidueType___lt__(self, o)
7638 
7639  def __gt__(self, o):
7640  r"""__gt__(ResidueType self, ResidueType o) -> bool"""
7641  return _IMP_atom.ResidueType___gt__(self, o)
7642 
7643  def __ge__(self, o):
7644  r"""__ge__(ResidueType self, ResidueType o) -> bool"""
7645  return _IMP_atom.ResidueType___ge__(self, o)
7646 
7647  def __le__(self, o):
7648  r"""__le__(ResidueType self, ResidueType o) -> bool"""
7649  return _IMP_atom.ResidueType___le__(self, o)
7650 
7651  def __hash__(self):
7652  r"""__hash__(ResidueType self) -> std::size_t"""
7653  return _IMP_atom.ResidueType___hash__(self)
7654 
7655  def show(self, *args):
7656  r"""show(ResidueType self, _ostream out=std::cout)"""
7657  return _IMP_atom.ResidueType_show(self, *args)
7658 
7659  @staticmethod
7660  def add_alias(old_key, new_name):
7661  r"""add_alias(ResidueType old_key, std::string new_name) -> ResidueType"""
7662  return _IMP_atom.ResidueType_add_alias(old_key, new_name)
7663 
7664  @staticmethod
7665  def get_number_of_keys():
7666  r"""get_number_of_keys() -> unsigned int"""
7667  return _IMP_atom.ResidueType_get_number_of_keys()
7668 
7669  def get_index(self):
7670  r"""get_index(ResidueType self) -> unsigned int"""
7671  return _IMP_atom.ResidueType_get_index(self)
7672 
7673  @staticmethod
7674  def show_all(out):
7675  r"""show_all(_ostream out)"""
7676  return _IMP_atom.ResidueType_show_all(out)
7677 
7678  @staticmethod
7679  def get_all_strings():
7680  r"""get_all_strings() -> IMP::Vector< std::string >"""
7681  return _IMP_atom.ResidueType_get_all_strings()
7682 
7683  @staticmethod
7684  def get_number_unique():
7685  r"""get_number_unique() -> unsigned int"""
7686  return _IMP_atom.ResidueType_get_number_unique()
7687 
7688  def __str__(self):
7689  r"""__str__(ResidueType self) -> std::string"""
7690  return _IMP_atom.ResidueType___str__(self)
7691 
7692  def __repr__(self):
7693  r"""__repr__(ResidueType self) -> std::string"""
7694  return _IMP_atom.ResidueType___repr__(self)
7695  __swig_destroy__ = _IMP_atom.delete_ResidueType
7696 
7697 # Register ResidueType in _IMP_atom:
7698 _IMP_atom.ResidueType_swigregister(ResidueType)
7699 class ChainType(IMP._Value):
7700  r"""Proxy of C++ IMP::Key< 90784336 > class."""
7701 
7702  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7703 
7704  def __init__(self, *args):
7705  r"""
7706  __init__(ChainType self) -> ChainType
7707  __init__(ChainType self, std::string const & c, bool is_implicit_add_permitted=True) -> ChainType
7708  __init__(ChainType self, unsigned int i) -> ChainType
7709  """
7710  _IMP_atom.ChainType_swiginit(self, _IMP_atom.new_ChainType(*args))
7711 
7712  @staticmethod
7713  def add_key(sc):
7714  r"""add_key(std::string sc) -> unsigned int"""
7715  return _IMP_atom.ChainType_add_key(sc)
7716 
7717  @staticmethod
7718  def get_key_exists(sc):
7719  r"""get_key_exists(std::string sc) -> bool"""
7720  return _IMP_atom.ChainType_get_key_exists(sc)
7721 
7722  def get_string(self):
7723  r"""get_string(ChainType self) -> std::string const"""
7724  return _IMP_atom.ChainType_get_string(self)
7725 
7726  def __cmp__(self, o):
7727  r"""__cmp__(ChainType self, ChainType o) -> int"""
7728  return _IMP_atom.ChainType___cmp__(self, o)
7729 
7730  def __eq__(self, o):
7731  r"""__eq__(ChainType self, ChainType o) -> bool"""
7732  return _IMP_atom.ChainType___eq__(self, o)
7733 
7734  def __ne__(self, o):
7735  r"""__ne__(ChainType self, ChainType o) -> bool"""
7736  return _IMP_atom.ChainType___ne__(self, o)
7737 
7738  def __lt__(self, o):
7739  r"""__lt__(ChainType self, ChainType o) -> bool"""
7740  return _IMP_atom.ChainType___lt__(self, o)
7741 
7742  def __gt__(self, o):
7743  r"""__gt__(ChainType self, ChainType o) -> bool"""
7744  return _IMP_atom.ChainType___gt__(self, o)
7745 
7746  def __ge__(self, o):
7747  r"""__ge__(ChainType self, ChainType o) -> bool"""
7748  return _IMP_atom.ChainType___ge__(self, o)
7749 
7750  def __le__(self, o):
7751  r"""__le__(ChainType self, ChainType o) -> bool"""
7752  return _IMP_atom.ChainType___le__(self, o)
7753 
7754  def __hash__(self):
7755  r"""__hash__(ChainType self) -> std::size_t"""
7756  return _IMP_atom.ChainType___hash__(self)
7757 
7758  def show(self, *args):
7759  r"""show(ChainType self, _ostream out=std::cout)"""
7760  return _IMP_atom.ChainType_show(self, *args)
7761 
7762  @staticmethod
7763  def add_alias(old_key, new_name):
7764  r"""add_alias(ChainType old_key, std::string new_name) -> ChainType"""
7765  return _IMP_atom.ChainType_add_alias(old_key, new_name)
7766 
7767  @staticmethod
7768  def get_number_of_keys():
7769  r"""get_number_of_keys() -> unsigned int"""
7770  return _IMP_atom.ChainType_get_number_of_keys()
7771 
7772  def get_index(self):
7773  r"""get_index(ChainType self) -> unsigned int"""
7774  return _IMP_atom.ChainType_get_index(self)
7775 
7776  @staticmethod
7777  def show_all(out):
7778  r"""show_all(_ostream out)"""
7779  return _IMP_atom.ChainType_show_all(out)
7780 
7781  @staticmethod
7782  def get_all_strings():
7783  r"""get_all_strings() -> IMP::Vector< std::string >"""
7784  return _IMP_atom.ChainType_get_all_strings()
7785 
7786  @staticmethod
7787  def get_number_unique():
7788  r"""get_number_unique() -> unsigned int"""
7789  return _IMP_atom.ChainType_get_number_unique()
7790 
7791  def __str__(self):
7792  r"""__str__(ChainType self) -> std::string"""
7793  return _IMP_atom.ChainType___str__(self)
7794 
7795  def __repr__(self):
7796  r"""__repr__(ChainType self) -> std::string"""
7797  return _IMP_atom.ChainType___repr__(self)
7798  __swig_destroy__ = _IMP_atom.delete_ChainType
7799 
7800 # Register ChainType in _IMP_atom:
7801 _IMP_atom.ChainType_swigregister(ChainType)
7802 UNKNOWN_ELEMENT = _IMP_atom.UNKNOWN_ELEMENT
7803 
7804 OH = _IMP_atom.OH
7805 
7806 H2O = _IMP_atom.H2O
7807 
7808 H = _IMP_atom.H
7809 
7810 He = _IMP_atom.He
7811 
7812 Li = _IMP_atom.Li
7813 
7814 Be = _IMP_atom.Be
7815 
7816 B = _IMP_atom.B
7817 
7818 C = _IMP_atom.C
7819 
7820 N = _IMP_atom.N
7821 
7822 O = _IMP_atom.O
7823 
7824 F = _IMP_atom.F
7825 
7826 Ne = _IMP_atom.Ne
7827 
7828 Na = _IMP_atom.Na
7829 
7830 Mg = _IMP_atom.Mg
7831 
7832 Al = _IMP_atom.Al
7833 
7834 Si = _IMP_atom.Si
7835 
7836 P = _IMP_atom.P
7837 
7838 S = _IMP_atom.S
7839 
7840 Cl = _IMP_atom.Cl
7841 
7842 Ar = _IMP_atom.Ar
7843 
7844 K = _IMP_atom.K
7845 
7846 Ca = _IMP_atom.Ca
7847 
7848 Sc = _IMP_atom.Sc
7849 
7850 Ti = _IMP_atom.Ti
7851 
7852 V = _IMP_atom.V
7853 
7854 Cr = _IMP_atom.Cr
7855 
7856 Mn = _IMP_atom.Mn
7857 
7858 Fe = _IMP_atom.Fe
7859 
7860 Co = _IMP_atom.Co
7861 
7862 Ni = _IMP_atom.Ni
7863 
7864 Cu = _IMP_atom.Cu
7865 
7866 Zn = _IMP_atom.Zn
7867 
7868 Ga = _IMP_atom.Ga
7869 
7870 Ge = _IMP_atom.Ge
7871 
7872 As = _IMP_atom.As
7873 
7874 Se = _IMP_atom.Se
7875 
7876 Br = _IMP_atom.Br
7877 
7878 Kr = _IMP_atom.Kr
7879 
7880 Rb = _IMP_atom.Rb
7881 
7882 Sr = _IMP_atom.Sr
7883 
7884 Y = _IMP_atom.Y
7885 
7886 Zr = _IMP_atom.Zr
7887 
7888 Nb = _IMP_atom.Nb
7889 
7890 Mo = _IMP_atom.Mo
7891 
7892 Tc = _IMP_atom.Tc
7893 
7894 Ru = _IMP_atom.Ru
7895 
7896 Rh = _IMP_atom.Rh
7897 
7898 Pd = _IMP_atom.Pd
7899 
7900 Ag = _IMP_atom.Ag
7901 
7902 Cd = _IMP_atom.Cd
7903 
7904 In = _IMP_atom.In
7905 
7906 Sn = _IMP_atom.Sn
7907 
7908 Sb = _IMP_atom.Sb
7909 
7910 Te = _IMP_atom.Te
7911 
7912 I = _IMP_atom.I
7913 
7914 Xe = _IMP_atom.Xe
7915 
7916 Cs = _IMP_atom.Cs
7917 
7918 Ba = _IMP_atom.Ba
7919 
7920 La = _IMP_atom.La
7921 
7922 Ce = _IMP_atom.Ce
7923 
7924 Pr = _IMP_atom.Pr
7925 
7926 Nd = _IMP_atom.Nd
7927 
7928 Pm = _IMP_atom.Pm
7929 
7930 Sm = _IMP_atom.Sm
7931 
7932 Eu = _IMP_atom.Eu
7933 
7934 Gd = _IMP_atom.Gd
7935 
7936 Tb = _IMP_atom.Tb
7937 
7938 Dy = _IMP_atom.Dy
7939 
7940 Ho = _IMP_atom.Ho
7941 
7942 Er = _IMP_atom.Er
7943 
7944 Tm = _IMP_atom.Tm
7945 
7946 Yb = _IMP_atom.Yb
7947 
7948 Lu = _IMP_atom.Lu
7949 
7950 Hf = _IMP_atom.Hf
7951 
7952 Ta = _IMP_atom.Ta
7953 
7954 W = _IMP_atom.W
7955 
7956 Re = _IMP_atom.Re
7957 
7958 Os = _IMP_atom.Os
7959 
7960 Ir = _IMP_atom.Ir
7961 
7962 Pt = _IMP_atom.Pt
7963 
7964 Au = _IMP_atom.Au
7965 
7966 Hg = _IMP_atom.Hg
7967 
7968 Tl = _IMP_atom.Tl
7969 
7970 Pb = _IMP_atom.Pb
7971 
7972 Bi = _IMP_atom.Bi
7973 
7974 Po = _IMP_atom.Po
7975 
7976 At = _IMP_atom.At
7977 
7978 Rn = _IMP_atom.Rn
7979 
7980 Fr = _IMP_atom.Fr
7981 
7982 Ra = _IMP_atom.Ra
7983 
7984 Ac = _IMP_atom.Ac
7985 
7986 Th = _IMP_atom.Th
7987 
7988 Pa = _IMP_atom.Pa
7989 
7990 U = _IMP_atom.U
7991 
7992 Np = _IMP_atom.Np
7993 
7994 Pu = _IMP_atom.Pu
7995 
7996 Am = _IMP_atom.Am
7997 
7998 Cm = _IMP_atom.Cm
7999 
8000 Bk = _IMP_atom.Bk
8001 
8002 Cf = _IMP_atom.Cf
8003 
8004 Es = _IMP_atom.Es
8005 
8006 Fm = _IMP_atom.Fm
8007 
8008 Md = _IMP_atom.Md
8009 
8010 No = _IMP_atom.No
8011 
8012 Lr = _IMP_atom.Lr
8013 
8014 Db = _IMP_atom.Db
8015 
8016 Jl = _IMP_atom.Jl
8017 
8018 Rf = _IMP_atom.Rf
8019 
8020 NUMBER_OF_ELEMENTS = _IMP_atom.NUMBER_OF_ELEMENTS
8021 
8022 
8023 def hash_value(e):
8024  r"""hash_value(IMP::atom::Element e) -> size_t"""
8025  return _IMP_atom.hash_value(e)
8026 class ElementTable(object):
8027  r"""Proxy of C++ IMP::atom::ElementTable class."""
8028 
8029  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8030  __repr__ = _swig_repr
8031 
8032  def __init__(self):
8033  r"""__init__(ElementTable self) -> ElementTable"""
8034  _IMP_atom.ElementTable_swiginit(self, _IMP_atom.new_ElementTable())
8035 
8036  def get_element(self, s):
8037  r"""get_element(ElementTable self, std::string const & s) -> IMP::atom::Element"""
8038  return _IMP_atom.ElementTable_get_element(self, s)
8039 
8040  def get_name(self, e):
8041  r"""get_name(ElementTable self, IMP::atom::Element e) -> std::string"""
8042  return _IMP_atom.ElementTable_get_name(self, e)
8043 
8044  def get_mass(self, e):
8045  r"""get_mass(ElementTable self, IMP::atom::Element e) -> IMP::Float"""
8046  return _IMP_atom.ElementTable_get_mass(self, e)
8047  __swig_destroy__ = _IMP_atom.delete_ElementTable
8048 
8049 # Register ElementTable in _IMP_atom:
8050 _IMP_atom.ElementTable_swigregister(ElementTable)
8051 
8052 def get_element_table():
8053  r"""get_element_table() -> ElementTable"""
8054  return _IMP_atom.get_element_table()
8055 class Atom(Hierarchy):
8056  r"""Proxy of C++ IMP::atom::Atom class."""
8057 
8058  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8059 
8060  def __init__(self, *args):
8061  r"""
8062  __init__(Atom self) -> Atom
8063  __init__(Atom self, Model m, ParticleIndex id) -> Atom
8064  __init__(Atom self, _ParticleAdaptor d) -> Atom
8065  """
8066  _IMP_atom.Atom_swiginit(self, _IMP_atom.new_Atom(*args))
8067 
8068  def show(self, *args):
8069  r"""show(Atom self, _ostream out=std::cout)"""
8070  return _IMP_atom.Atom_show(self, *args)
8071 
8072  @staticmethod
8073  def setup_particle(*args):
8074  r"""
8075  setup_particle(Model m, ParticleIndex pi, Atom other) -> Atom
8076  setup_particle(_ParticleAdaptor pa, Atom other) -> Atom
8077  setup_particle(Model m, ParticleIndex pi, AtomType atom_type) -> Atom
8078  setup_particle(_ParticleAdaptor pa, AtomType atom_type) -> Atom
8079  """
8080  return _IMP_atom.Atom_setup_particle(*args)
8081 
8082  @staticmethod
8083  def get_is_setup(*args):
8084  r"""
8085  get_is_setup(_ParticleAdaptor p) -> bool
8086  get_is_setup(Model m, ParticleIndex pi) -> bool
8087  """
8088  return _IMP_atom.Atom_get_is_setup(*args)
8089 
8090  def get_atom_type(self):
8091  r"""get_atom_type(Atom self) -> AtomType"""
8092  return _IMP_atom.Atom_get_atom_type(self)
8093 
8094  def set_atom_type(self, t):
8095  r"""set_atom_type(Atom self, AtomType t)"""
8096  return _IMP_atom.Atom_set_atom_type(self, t)
8097 
8098  def get_element(self):
8099  r"""get_element(Atom self) -> IMP::atom::Element"""
8100  return _IMP_atom.Atom_get_element(self)
8101 
8102  def set_element(self, e):
8103  r"""set_element(Atom self, IMP::atom::Element e)"""
8104  return _IMP_atom.Atom_set_element(self, e)
8105 
8106  def get_occupancy(self):
8107  r"""get_occupancy(Atom self) -> double"""
8108  return _IMP_atom.Atom_get_occupancy(self)
8109 
8110  def set_occupancy(self, occupancy):
8111  r"""set_occupancy(Atom self, double occupancy)"""
8112  return _IMP_atom.Atom_set_occupancy(self, occupancy)
8113 
8114  def get_temperature_factor(self):
8115  r"""get_temperature_factor(Atom self) -> double"""
8116  return _IMP_atom.Atom_get_temperature_factor(self)
8117 
8118  def set_temperature_factor(self, tempFactor):
8119  r"""set_temperature_factor(Atom self, double tempFactor)"""
8120  return _IMP_atom.Atom_set_temperature_factor(self, tempFactor)
8121 
8122  def get_input_index(self):
8123  r"""get_input_index(Atom self) -> IMP::Int"""
8124  return _IMP_atom.Atom_get_input_index(self)
8125 
8126  def set_input_index(self, t):
8127  r"""set_input_index(Atom self, IMP::Int t)"""
8128  return _IMP_atom.Atom_set_input_index(self, t)
8129 
8130  @staticmethod
8131  def get_atom_type_key():
8132  r"""get_atom_type_key() -> IntKey"""
8133  return _IMP_atom.Atom_get_atom_type_key()
8134 
8135  @staticmethod
8136  def get_element_key():
8137  r"""get_element_key() -> IntKey"""
8138  return _IMP_atom.Atom_get_element_key()
8139 
8140  @staticmethod
8141  def get_input_index_key():
8142  r"""get_input_index_key() -> IntKey"""
8143  return _IMP_atom.Atom_get_input_index_key()
8144 
8145  @staticmethod
8146  def get_occupancy_key():
8147  r"""get_occupancy_key() -> FloatKey"""
8148  return _IMP_atom.Atom_get_occupancy_key()
8149 
8150  @staticmethod
8151  def get_temperature_factor_key():
8152  r"""get_temperature_factor_key() -> FloatKey"""
8153  return _IMP_atom.Atom_get_temperature_factor_key()
8154 
8155  def add_attribute(self, *args):
8156  r"""
8157  add_attribute(Atom self, FloatKey k, IMP::Float v, bool opt)
8158  add_attribute(Atom self, FloatKey a0, IMP::Float a1)
8159  add_attribute(Atom self, IntKey a0, IMP::Int a1)
8160  add_attribute(Atom self, FloatsKey a0, IMP::Floats a1)
8161  add_attribute(Atom self, IntsKey a0, IMP::Ints a1)
8162  add_attribute(Atom self, StringKey a0, IMP::String a1)
8163  add_attribute(Atom self, ParticleIndexKey a0, Particle a1)
8164  add_attribute(Atom self, ObjectKey a0, Object a1)
8165  add_attribute(Atom self, SparseFloatKey a0, IMP::Float a1)
8166  add_attribute(Atom self, SparseIntKey a0, IMP::Int a1)
8167  add_attribute(Atom self, SparseStringKey a0, IMP::String a1)
8168  add_attribute(Atom self, SparseParticleIndexKey a0, ParticleIndex a1)
8169  """
8170  return _IMP_atom.Atom_add_attribute(self, *args)
8171 
8172  def get_value(self, *args):
8173  r"""
8174  get_value(Atom self, FloatKey a0) -> IMP::Float
8175  get_value(Atom self, IntKey a0) -> IMP::Int
8176  get_value(Atom self, FloatsKey a0) -> IMP::Floats
8177  get_value(Atom self, IntsKey a0) -> IMP::Ints
8178  get_value(Atom self, StringKey a0) -> IMP::String
8179  get_value(Atom self, ParticleIndexKey a0) -> Particle
8180  get_value(Atom self, ObjectKey a0) -> Object
8181  get_value(Atom self, SparseFloatKey a0) -> IMP::Float
8182  get_value(Atom self, SparseIntKey a0) -> IMP::Int
8183  get_value(Atom self, SparseStringKey a0) -> IMP::String
8184  get_value(Atom self, SparseParticleIndexKey a0) -> ParticleIndex
8185  """
8186  return _IMP_atom.Atom_get_value(self, *args)
8187 
8188  def set_value(self, *args):
8189  r"""
8190  set_value(Atom self, FloatKey a0, IMP::Float a1)
8191  set_value(Atom self, IntKey a0, IMP::Int a1)
8192  set_value(Atom self, FloatsKey a0, IMP::Floats a1)
8193  set_value(Atom self, IntsKey a0, IMP::Ints a1)
8194  set_value(Atom self, StringKey a0, IMP::String a1)
8195  set_value(Atom self, ParticleIndexKey a0, Particle a1)
8196  set_value(Atom self, ObjectKey a0, Object a1)
8197  set_value(Atom self, SparseFloatKey a0, IMP::Float a1)
8198  set_value(Atom self, SparseIntKey a0, IMP::Int a1)
8199  set_value(Atom self, SparseStringKey a0, IMP::String a1)
8200  set_value(Atom self, SparseParticleIndexKey a0, ParticleIndex a1)
8201  """
8202  return _IMP_atom.Atom_set_value(self, *args)
8203 
8204  def remove_attribute(self, *args):
8205  r"""
8206  remove_attribute(Atom self, FloatKey a0)
8207  remove_attribute(Atom self, IntKey a0)
8208  remove_attribute(Atom self, FloatsKey a0)
8209  remove_attribute(Atom self, IntsKey a0)
8210  remove_attribute(Atom self, StringKey a0)
8211  remove_attribute(Atom self, ParticleIndexKey a0)
8212  remove_attribute(Atom self, ObjectKey a0)
8213  remove_attribute(Atom self, SparseFloatKey a0)
8214  remove_attribute(Atom self, SparseIntKey a0)
8215  remove_attribute(Atom self, SparseStringKey a0)
8216  remove_attribute(Atom self, SparseParticleIndexKey a0)
8217  """
8218  return _IMP_atom.Atom_remove_attribute(self, *args)
8219 
8220  def has_attribute(self, *args):
8221  r"""
8222  has_attribute(Atom self, FloatKey a0) -> bool
8223  has_attribute(Atom self, IntKey a0) -> bool
8224  has_attribute(Atom self, FloatsKey a0) -> bool
8225  has_attribute(Atom self, IntsKey a0) -> bool
8226  has_attribute(Atom self, StringKey a0) -> bool
8227  has_attribute(Atom self, ParticleIndexKey a0) -> bool
8228  has_attribute(Atom self, ObjectKey a0) -> bool
8229  has_attribute(Atom self, SparseFloatKey a0) -> bool
8230  has_attribute(Atom self, SparseIntKey a0) -> bool
8231  has_attribute(Atom self, SparseStringKey a0) -> bool
8232  has_attribute(Atom self, SparseParticleIndexKey a0) -> bool
8233  """
8234  return _IMP_atom.Atom_has_attribute(self, *args)
8235 
8236  def get_derivative(self, a0):
8237  r"""get_derivative(Atom self, FloatKey a0) -> double"""
8238  return _IMP_atom.Atom_get_derivative(self, a0)
8239 
8240  def get_name(self):
8241  r"""get_name(Atom self) -> std::string"""
8242  return _IMP_atom.Atom_get_name(self)
8243 
8244  def clear_caches(self):
8245  r"""clear_caches(Atom self)"""
8246  return _IMP_atom.Atom_clear_caches(self)
8247 
8248  def set_name(self, a0):
8249  r"""set_name(Atom self, std::string a0)"""
8250  return _IMP_atom.Atom_set_name(self, a0)
8251 
8252  def set_check_level(self, a0):
8253  r"""set_check_level(Atom self, IMP::CheckLevel a0)"""
8254  return _IMP_atom.Atom_set_check_level(self, a0)
8255 
8256  def add_to_derivative(self, a0, a1, a2):
8257  r"""add_to_derivative(Atom self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8258  return _IMP_atom.Atom_add_to_derivative(self, a0, a1, a2)
8259 
8260  def set_is_optimized(self, a0, a1):
8261  r"""set_is_optimized(Atom self, FloatKey a0, bool a1)"""
8262  return _IMP_atom.Atom_set_is_optimized(self, a0, a1)
8263 
8264  def get_is_optimized(self, a0):
8265  r"""get_is_optimized(Atom self, FloatKey a0) -> bool"""
8266  return _IMP_atom.Atom_get_is_optimized(self, a0)
8267 
8268  def get_check_level(self):
8269  r"""get_check_level(Atom self) -> IMP::CheckLevel"""
8270  return _IMP_atom.Atom_get_check_level(self)
8271 
8272  def __eq__(self, *args):
8273  r"""
8274  __eq__(Atom self, Atom o) -> bool
8275  __eq__(Atom self, Particle d) -> bool
8276  """
8277  return _IMP_atom.Atom___eq__(self, *args)
8278 
8279  def __ne__(self, *args):
8280  r"""
8281  __ne__(Atom self, Atom o) -> bool
8282  __ne__(Atom self, Particle d) -> bool
8283  """
8284  return _IMP_atom.Atom___ne__(self, *args)
8285 
8286  def __le__(self, *args):
8287  r"""
8288  __le__(Atom self, Atom o) -> bool
8289  __le__(Atom self, Particle d) -> bool
8290  """
8291  return _IMP_atom.Atom___le__(self, *args)
8292 
8293  def __lt__(self, *args):
8294  r"""
8295  __lt__(Atom self, Atom o) -> bool
8296  __lt__(Atom self, Particle d) -> bool
8297  """
8298  return _IMP_atom.Atom___lt__(self, *args)
8299 
8300  def __ge__(self, *args):
8301  r"""
8302  __ge__(Atom self, Atom o) -> bool
8303  __ge__(Atom self, Particle d) -> bool
8304  """
8305  return _IMP_atom.Atom___ge__(self, *args)
8306 
8307  def __gt__(self, *args):
8308  r"""
8309  __gt__(Atom self, Atom o) -> bool
8310  __gt__(Atom self, Particle d) -> bool
8311  """
8312  return _IMP_atom.Atom___gt__(self, *args)
8313 
8314  def __hash__(self):
8315  r"""__hash__(Atom self) -> std::size_t"""
8316  return _IMP_atom.Atom___hash__(self)
8317 
8318  def __str__(self):
8319  r"""__str__(Atom self) -> std::string"""
8320  return _IMP_atom.Atom___str__(self)
8321 
8322  def __repr__(self):
8323  r"""__repr__(Atom self) -> std::string"""
8324  return _IMP_atom.Atom___repr__(self)
8325 
8326  def _get_as_binary(self):
8327  r"""_get_as_binary(Atom self) -> PyObject *"""
8328  return _IMP_atom.Atom__get_as_binary(self)
8329 
8330  def _set_from_binary(self, p):
8331  r"""_set_from_binary(Atom self, PyObject * p)"""
8332  return _IMP_atom.Atom__set_from_binary(self, p)
8333 
8334  def __getstate__(self):
8335  p = self._get_as_binary()
8336  if len(self.__dict__) > 1:
8337  d = self.__dict__.copy()
8338  del d['this']
8339  p = (d, p)
8340  return p
8341 
8342  def __setstate__(self, p):
8343  if not hasattr(self, 'this'):
8344  self.__init__()
8345  if isinstance(p, tuple):
8346  d, p = p
8347  self.__dict__.update(d)
8348  return self._set_from_binary(p)
8349 
8350  __swig_destroy__ = _IMP_atom.delete_Atom
8351 
8352 # Register Atom in _IMP_atom:
8353 _IMP_atom.Atom_swigregister(Atom)
8354 cvar = _IMP_atom.cvar
8355 AT_UNKNOWN = cvar.AT_UNKNOWN
8356 AT_N = cvar.AT_N
8357 AT_CA = cvar.AT_CA
8358 AT_C = cvar.AT_C
8359 AT_O = cvar.AT_O
8360 AT_H = cvar.AT_H
8361 AT_H1 = cvar.AT_H1
8362 AT_H2 = cvar.AT_H2
8363 AT_H3 = cvar.AT_H3
8364 AT_HA = cvar.AT_HA
8365 AT_HA1 = cvar.AT_HA1
8366 AT_HA2 = cvar.AT_HA2
8367 AT_HA3 = cvar.AT_HA3
8368 AT_CB = cvar.AT_CB
8369 AT_HB = cvar.AT_HB
8370 AT_HB1 = cvar.AT_HB1
8371 AT_HB2 = cvar.AT_HB2
8372 AT_HB3 = cvar.AT_HB3
8373 AT_OXT = cvar.AT_OXT
8374 AT_CH3 = cvar.AT_CH3
8375 AT_CH = cvar.AT_CH
8376 AT_CG = cvar.AT_CG
8377 AT_CG1 = cvar.AT_CG1
8378 AT_CG2 = cvar.AT_CG2
8379 AT_HG = cvar.AT_HG
8380 AT_HG1 = cvar.AT_HG1
8381 AT_HG2 = cvar.AT_HG2
8382 AT_HG3 = cvar.AT_HG3
8383 AT_HG11 = cvar.AT_HG11
8384 AT_HG21 = cvar.AT_HG21
8385 AT_HG31 = cvar.AT_HG31
8386 AT_HG12 = cvar.AT_HG12
8387 AT_HG13 = cvar.AT_HG13
8388 AT_HG22 = cvar.AT_HG22
8389 AT_HG23 = cvar.AT_HG23
8390 AT_HG32 = cvar.AT_HG32
8391 AT_OG = cvar.AT_OG
8392 AT_OG1 = cvar.AT_OG1
8393 AT_SG = cvar.AT_SG
8394 AT_CD = cvar.AT_CD
8395 AT_CD1 = cvar.AT_CD1
8396 AT_CD2 = cvar.AT_CD2
8397 AT_HD = cvar.AT_HD
8398 AT_HD1 = cvar.AT_HD1
8399 AT_HD2 = cvar.AT_HD2
8400 AT_HD3 = cvar.AT_HD3
8401 AT_HD11 = cvar.AT_HD11
8402 AT_HD21 = cvar.AT_HD21
8403 AT_HD31 = cvar.AT_HD31
8404 AT_HD12 = cvar.AT_HD12
8405 AT_HD13 = cvar.AT_HD13
8406 AT_HD22 = cvar.AT_HD22
8407 AT_HD23 = cvar.AT_HD23
8408 AT_HD32 = cvar.AT_HD32
8409 AT_SD = cvar.AT_SD
8410 AT_OD1 = cvar.AT_OD1
8411 AT_OD2 = cvar.AT_OD2
8412 AT_ND1 = cvar.AT_ND1
8413 AT_ND2 = cvar.AT_ND2
8414 AT_CE = cvar.AT_CE
8415 AT_CE1 = cvar.AT_CE1
8416 AT_CE2 = cvar.AT_CE2
8417 AT_CE3 = cvar.AT_CE3
8418 AT_HE = cvar.AT_HE
8419 AT_HE1 = cvar.AT_HE1
8420 AT_HE2 = cvar.AT_HE2
8421 AT_HE3 = cvar.AT_HE3
8422 AT_HE21 = cvar.AT_HE21
8423 AT_HE22 = cvar.AT_HE22
8424 AT_OE1 = cvar.AT_OE1
8425 AT_OE2 = cvar.AT_OE2
8426 AT_NE = cvar.AT_NE
8427 AT_NE1 = cvar.AT_NE1
8428 AT_NE2 = cvar.AT_NE2
8429 AT_CZ = cvar.AT_CZ
8430 AT_CZ2 = cvar.AT_CZ2
8431 AT_CZ3 = cvar.AT_CZ3
8432 AT_NZ = cvar.AT_NZ
8433 AT_HZ = cvar.AT_HZ
8434 AT_HZ1 = cvar.AT_HZ1
8435 AT_HZ2 = cvar.AT_HZ2
8436 AT_HZ3 = cvar.AT_HZ3
8437 AT_CH2 = cvar.AT_CH2
8438 AT_NH1 = cvar.AT_NH1
8439 AT_NH2 = cvar.AT_NH2
8440 AT_OH = cvar.AT_OH
8441 AT_HH = cvar.AT_HH
8442 AT_HH11 = cvar.AT_HH11
8443 AT_HH21 = cvar.AT_HH21
8444 AT_HH2 = cvar.AT_HH2
8445 AT_HH12 = cvar.AT_HH12
8446 AT_HH22 = cvar.AT_HH22
8447 AT_HH13 = cvar.AT_HH13
8448 AT_HH23 = cvar.AT_HH23
8449 AT_HH33 = cvar.AT_HH33
8450 AT_P = cvar.AT_P
8451 AT_OP1 = cvar.AT_OP1
8452 AT_OP2 = cvar.AT_OP2
8453 AT_OP3 = cvar.AT_OP3
8454 AT_O5p = cvar.AT_O5p
8455 AT_C5p = cvar.AT_C5p
8456 AT_H5p = cvar.AT_H5p
8457 AT_H5pp = cvar.AT_H5pp
8458 AT_C4p = cvar.AT_C4p
8459 AT_H4p = cvar.AT_H4p
8460 AT_O4p = cvar.AT_O4p
8461 AT_C1p = cvar.AT_C1p
8462 AT_H1p = cvar.AT_H1p
8463 AT_C3p = cvar.AT_C3p
8464 AT_H3p = cvar.AT_H3p
8465 AT_O3p = cvar.AT_O3p
8466 AT_C2p = cvar.AT_C2p
8467 AT_H2p = cvar.AT_H2p
8468 AT_H2pp = cvar.AT_H2pp
8469 AT_O2p = cvar.AT_O2p
8470 AT_HO2p = cvar.AT_HO2p
8471 AT_N9 = cvar.AT_N9
8472 AT_C8 = cvar.AT_C8
8473 AT_H8 = cvar.AT_H8
8474 AT_N7 = cvar.AT_N7
8475 AT_C5 = cvar.AT_C5
8476 AT_C4 = cvar.AT_C4
8477 AT_N3 = cvar.AT_N3
8478 AT_C2 = cvar.AT_C2
8479 AT_N1 = cvar.AT_N1
8480 AT_C6 = cvar.AT_C6
8481 AT_N6 = cvar.AT_N6
8482 AT_H61 = cvar.AT_H61
8483 AT_H62 = cvar.AT_H62
8484 AT_O6 = cvar.AT_O6
8485 AT_N2 = cvar.AT_N2
8486 AT_NT = cvar.AT_NT
8487 AT_H21 = cvar.AT_H21
8488 AT_H22 = cvar.AT_H22
8489 AT_H6 = cvar.AT_H6
8490 AT_H5 = cvar.AT_H5
8491 AT_O2 = cvar.AT_O2
8492 AT_N4 = cvar.AT_N4
8493 AT_H41 = cvar.AT_H41
8494 AT_H42 = cvar.AT_H42
8495 AT_O4 = cvar.AT_O4
8496 AT_C7 = cvar.AT_C7
8497 AT_H71 = cvar.AT_H71
8498 AT_H72 = cvar.AT_H72
8499 AT_H73 = cvar.AT_H73
8500 AT_O1A = cvar.AT_O1A
8501 AT_O2A = cvar.AT_O2A
8502 AT_O3A = cvar.AT_O3A
8503 AT_O1B = cvar.AT_O1B
8504 AT_O2B = cvar.AT_O2B
8505 AT_O3B = cvar.AT_O3B
8506 AT_CAY = cvar.AT_CAY
8507 AT_CY = cvar.AT_CY
8508 AT_OY = cvar.AT_OY
8509 AT_CAT = cvar.AT_CAT
8510 
8511 
8512 def get_residue(*args):
8513  r"""
8514  get_residue(Hierarchy mhd, unsigned int index) -> Hierarchy
8515  get_residue(Atom d, bool nothrow=False) -> Residue
8516  """
8517  return _IMP_atom.get_residue(*args)
8518 
8519 def get_atom(rd, at):
8520  r"""get_atom(Residue rd, AtomType at) -> Atom"""
8521  return _IMP_atom.get_atom(rd, at)
8522 
8523 def add_atom_type(name, e):
8524  r"""add_atom_type(std::string name, IMP::atom::Element e) -> AtomType"""
8525  return _IMP_atom.add_atom_type(name, e)
8526 
8527 def get_element_for_atom_type(at):
8528  r"""get_element_for_atom_type(AtomType at) -> IMP::atom::Element"""
8529  return _IMP_atom.get_element_for_atom_type(at)
8530 
8531 def get_atom_type_exists(name):
8532  r"""get_atom_type_exists(std::string name) -> bool"""
8533  return _IMP_atom.get_atom_type_exists(name)
8534 class Residue(Hierarchy):
8535  r"""Proxy of C++ IMP::atom::Residue class."""
8536 
8537  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8538 
8539  def __init__(self, *args):
8540  r"""
8541  __init__(Residue self) -> Residue
8542  __init__(Residue self, Model m, ParticleIndex id) -> Residue
8543  __init__(Residue self, _ParticleAdaptor d) -> Residue
8544  """
8545  _IMP_atom.Residue_swiginit(self, _IMP_atom.new_Residue(*args))
8546 
8547  def show(self, *args):
8548  r"""show(Residue self, _ostream out=std::cout)"""
8549  return _IMP_atom.Residue_show(self, *args)
8550 
8551  @staticmethod
8552  def setup_particle(*args):
8553  r"""
8554  setup_particle(Model m, ParticleIndex pi, ResidueType t, int index, int insertion_code) -> Residue
8555  setup_particle(_ParticleAdaptor pa, ResidueType t, int index, int insertion_code) -> Residue
8556  setup_particle(Model m, ParticleIndex pi, ResidueType t, int index) -> Residue
8557  setup_particle(_ParticleAdaptor pa, ResidueType t, int index) -> Residue
8558  setup_particle(Model m, ParticleIndex pi, ResidueType t) -> Residue
8559  setup_particle(_ParticleAdaptor pa, ResidueType t) -> Residue
8560  setup_particle(Model m, ParticleIndex pi, Residue other) -> Residue
8561  setup_particle(_ParticleAdaptor pa, Residue other) -> Residue
8562  """
8563  return _IMP_atom.Residue_setup_particle(*args)
8564 
8565  @staticmethod
8566  def get_is_setup(*args):
8567  r"""
8568  get_is_setup(_ParticleAdaptor p) -> bool
8569  get_is_setup(Model m, ParticleIndex pi) -> bool
8570  """
8571  return _IMP_atom.Residue_get_is_setup(*args)
8572 
8573  def get_residue_type(self):
8574  r"""get_residue_type(Residue self) -> ResidueType"""
8575  return _IMP_atom.Residue_get_residue_type(self)
8576 
8577  def set_residue_type(self, t):
8578  r"""set_residue_type(Residue self, ResidueType t)"""
8579  return _IMP_atom.Residue_set_residue_type(self, t)
8580 
8581  def get_is_protein(self):
8582  r"""get_is_protein(Residue self) -> bool"""
8583  return _IMP_atom.Residue_get_is_protein(self)
8584 
8585  def get_is_dna(self):
8586  r"""get_is_dna(Residue self) -> bool"""
8587  return _IMP_atom.Residue_get_is_dna(self)
8588 
8589  def get_is_rna(self):
8590  r"""get_is_rna(Residue self) -> bool"""
8591  return _IMP_atom.Residue_get_is_rna(self)
8592 
8593  def get_index(self):
8594  r"""get_index(Residue self) -> IMP::Int"""
8595  return _IMP_atom.Residue_get_index(self)
8596 
8597  def set_index(self, t):
8598  r"""set_index(Residue self, IMP::Int t)"""
8599  return _IMP_atom.Residue_set_index(self, t)
8600 
8601  def get_insertion_code(self):
8602  r"""get_insertion_code(Residue self) -> char"""
8603  return _IMP_atom.Residue_get_insertion_code(self)
8604 
8605  def set_insertion_code(self, insertion_code):
8606  r"""set_insertion_code(Residue self, char insertion_code)"""
8607  return _IMP_atom.Residue_set_insertion_code(self, insertion_code)
8608 
8609  @staticmethod
8610  def get_index_key():
8611  r"""get_index_key() -> IntKey"""
8612  return _IMP_atom.Residue_get_index_key()
8613 
8614  @staticmethod
8615  def get_residue_type_key():
8616  r"""get_residue_type_key() -> IntKey"""
8617  return _IMP_atom.Residue_get_residue_type_key()
8618 
8619  @staticmethod
8620  def get_insertion_code_key():
8621  r"""get_insertion_code_key() -> IntKey"""
8622  return _IMP_atom.Residue_get_insertion_code_key()
8623 
8624  @staticmethod
8625  def get_type_changed_key():
8626  r"""get_type_changed_key() -> TriggerKey"""
8627  return _IMP_atom.Residue_get_type_changed_key()
8628 
8629  def add_attribute(self, *args):
8630  r"""
8631  add_attribute(Residue self, FloatKey k, IMP::Float v, bool opt)
8632  add_attribute(Residue self, FloatKey a0, IMP::Float a1)
8633  add_attribute(Residue self, IntKey a0, IMP::Int a1)
8634  add_attribute(Residue self, FloatsKey a0, IMP::Floats a1)
8635  add_attribute(Residue self, IntsKey a0, IMP::Ints a1)
8636  add_attribute(Residue self, StringKey a0, IMP::String a1)
8637  add_attribute(Residue self, ParticleIndexKey a0, Particle a1)
8638  add_attribute(Residue self, ObjectKey a0, Object a1)
8639  add_attribute(Residue self, SparseFloatKey a0, IMP::Float a1)
8640  add_attribute(Residue self, SparseIntKey a0, IMP::Int a1)
8641  add_attribute(Residue self, SparseStringKey a0, IMP::String a1)
8642  add_attribute(Residue self, SparseParticleIndexKey a0, ParticleIndex a1)
8643  """
8644  return _IMP_atom.Residue_add_attribute(self, *args)
8645 
8646  def get_value(self, *args):
8647  r"""
8648  get_value(Residue self, FloatKey a0) -> IMP::Float
8649  get_value(Residue self, IntKey a0) -> IMP::Int
8650  get_value(Residue self, FloatsKey a0) -> IMP::Floats
8651  get_value(Residue self, IntsKey a0) -> IMP::Ints
8652  get_value(Residue self, StringKey a0) -> IMP::String
8653  get_value(Residue self, ParticleIndexKey a0) -> Particle
8654  get_value(Residue self, ObjectKey a0) -> Object
8655  get_value(Residue self, SparseFloatKey a0) -> IMP::Float
8656  get_value(Residue self, SparseIntKey a0) -> IMP::Int
8657  get_value(Residue self, SparseStringKey a0) -> IMP::String
8658  get_value(Residue self, SparseParticleIndexKey a0) -> ParticleIndex
8659  """
8660  return _IMP_atom.Residue_get_value(self, *args)
8661 
8662  def set_value(self, *args):
8663  r"""
8664  set_value(Residue self, FloatKey a0, IMP::Float a1)
8665  set_value(Residue self, IntKey a0, IMP::Int a1)
8666  set_value(Residue self, FloatsKey a0, IMP::Floats a1)
8667  set_value(Residue self, IntsKey a0, IMP::Ints a1)
8668  set_value(Residue self, StringKey a0, IMP::String a1)
8669  set_value(Residue self, ParticleIndexKey a0, Particle a1)
8670  set_value(Residue self, ObjectKey a0, Object a1)
8671  set_value(Residue self, SparseFloatKey a0, IMP::Float a1)
8672  set_value(Residue self, SparseIntKey a0, IMP::Int a1)
8673  set_value(Residue self, SparseStringKey a0, IMP::String a1)
8674  set_value(Residue self, SparseParticleIndexKey a0, ParticleIndex a1)
8675  """
8676  return _IMP_atom.Residue_set_value(self, *args)
8677 
8678  def remove_attribute(self, *args):
8679  r"""
8680  remove_attribute(Residue self, FloatKey a0)
8681  remove_attribute(Residue self, IntKey a0)
8682  remove_attribute(Residue self, FloatsKey a0)
8683  remove_attribute(Residue self, IntsKey a0)
8684  remove_attribute(Residue self, StringKey a0)
8685  remove_attribute(Residue self, ParticleIndexKey a0)
8686  remove_attribute(Residue self, ObjectKey a0)
8687  remove_attribute(Residue self, SparseFloatKey a0)
8688  remove_attribute(Residue self, SparseIntKey a0)
8689  remove_attribute(Residue self, SparseStringKey a0)
8690  remove_attribute(Residue self, SparseParticleIndexKey a0)
8691  """
8692  return _IMP_atom.Residue_remove_attribute(self, *args)
8693 
8694  def has_attribute(self, *args):
8695  r"""
8696  has_attribute(Residue self, FloatKey a0) -> bool
8697  has_attribute(Residue self, IntKey a0) -> bool
8698  has_attribute(Residue self, FloatsKey a0) -> bool
8699  has_attribute(Residue self, IntsKey a0) -> bool
8700  has_attribute(Residue self, StringKey a0) -> bool
8701  has_attribute(Residue self, ParticleIndexKey a0) -> bool
8702  has_attribute(Residue self, ObjectKey a0) -> bool
8703  has_attribute(Residue self, SparseFloatKey a0) -> bool
8704  has_attribute(Residue self, SparseIntKey a0) -> bool
8705  has_attribute(Residue self, SparseStringKey a0) -> bool
8706  has_attribute(Residue self, SparseParticleIndexKey a0) -> bool
8707  """
8708  return _IMP_atom.Residue_has_attribute(self, *args)
8709 
8710  def get_derivative(self, a0):
8711  r"""get_derivative(Residue self, FloatKey a0) -> double"""
8712  return _IMP_atom.Residue_get_derivative(self, a0)
8713 
8714  def get_name(self):
8715  r"""get_name(Residue self) -> std::string"""
8716  return _IMP_atom.Residue_get_name(self)
8717 
8718  def clear_caches(self):
8719  r"""clear_caches(Residue self)"""
8720  return _IMP_atom.Residue_clear_caches(self)
8721 
8722  def set_name(self, a0):
8723  r"""set_name(Residue self, std::string a0)"""
8724  return _IMP_atom.Residue_set_name(self, a0)
8725 
8726  def set_check_level(self, a0):
8727  r"""set_check_level(Residue self, IMP::CheckLevel a0)"""
8728  return _IMP_atom.Residue_set_check_level(self, a0)
8729 
8730  def add_to_derivative(self, a0, a1, a2):
8731  r"""add_to_derivative(Residue self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8732  return _IMP_atom.Residue_add_to_derivative(self, a0, a1, a2)
8733 
8734  def set_is_optimized(self, a0, a1):
8735  r"""set_is_optimized(Residue self, FloatKey a0, bool a1)"""
8736  return _IMP_atom.Residue_set_is_optimized(self, a0, a1)
8737 
8738  def get_is_optimized(self, a0):
8739  r"""get_is_optimized(Residue self, FloatKey a0) -> bool"""
8740  return _IMP_atom.Residue_get_is_optimized(self, a0)
8741 
8742  def get_check_level(self):
8743  r"""get_check_level(Residue self) -> IMP::CheckLevel"""
8744  return _IMP_atom.Residue_get_check_level(self)
8745 
8746  def __eq__(self, *args):
8747  r"""
8748  __eq__(Residue self, Residue o) -> bool
8749  __eq__(Residue self, Particle d) -> bool
8750  """
8751  return _IMP_atom.Residue___eq__(self, *args)
8752 
8753  def __ne__(self, *args):
8754  r"""
8755  __ne__(Residue self, Residue o) -> bool
8756  __ne__(Residue self, Particle d) -> bool
8757  """
8758  return _IMP_atom.Residue___ne__(self, *args)
8759 
8760  def __le__(self, *args):
8761  r"""
8762  __le__(Residue self, Residue o) -> bool
8763  __le__(Residue self, Particle d) -> bool
8764  """
8765  return _IMP_atom.Residue___le__(self, *args)
8766 
8767  def __lt__(self, *args):
8768  r"""
8769  __lt__(Residue self, Residue o) -> bool
8770  __lt__(Residue self, Particle d) -> bool
8771  """
8772  return _IMP_atom.Residue___lt__(self, *args)
8773 
8774  def __ge__(self, *args):
8775  r"""
8776  __ge__(Residue self, Residue o) -> bool
8777  __ge__(Residue self, Particle d) -> bool
8778  """
8779  return _IMP_atom.Residue___ge__(self, *args)
8780 
8781  def __gt__(self, *args):
8782  r"""
8783  __gt__(Residue self, Residue o) -> bool
8784  __gt__(Residue self, Particle d) -> bool
8785  """
8786  return _IMP_atom.Residue___gt__(self, *args)
8787 
8788  def __hash__(self):
8789  r"""__hash__(Residue self) -> std::size_t"""
8790  return _IMP_atom.Residue___hash__(self)
8791 
8792  def __str__(self):
8793  r"""__str__(Residue self) -> std::string"""
8794  return _IMP_atom.Residue___str__(self)
8795 
8796  def __repr__(self):
8797  r"""__repr__(Residue self) -> std::string"""
8798  return _IMP_atom.Residue___repr__(self)
8799 
8800  def _get_as_binary(self):
8801  r"""_get_as_binary(Residue self) -> PyObject *"""
8802  return _IMP_atom.Residue__get_as_binary(self)
8803 
8804  def _set_from_binary(self, p):
8805  r"""_set_from_binary(Residue self, PyObject * p)"""
8806  return _IMP_atom.Residue__set_from_binary(self, p)
8807 
8808  def __getstate__(self):
8809  p = self._get_as_binary()
8810  if len(self.__dict__) > 1:
8811  d = self.__dict__.copy()
8812  del d['this']
8813  p = (d, p)
8814  return p
8815 
8816  def __setstate__(self, p):
8817  if not hasattr(self, 'this'):
8818  self.__init__()
8819  if isinstance(p, tuple):
8820  d, p = p
8821  self.__dict__.update(d)
8822  return self._set_from_binary(p)
8823 
8824  __swig_destroy__ = _IMP_atom.delete_Residue
8825 
8826 # Register Residue in _IMP_atom:
8827 _IMP_atom.Residue_swigregister(Residue)
8828 UNK = cvar.UNK
8829 GLY = cvar.GLY
8830 ALA = cvar.ALA
8831 VAL = cvar.VAL
8832 LEU = cvar.LEU
8833 ILE = cvar.ILE
8834 SER = cvar.SER
8835 THR = cvar.THR
8836 CYS = cvar.CYS
8837 MET = cvar.MET
8838 PRO = cvar.PRO
8839 ASP = cvar.ASP
8840 ASN = cvar.ASN
8841 GLU = cvar.GLU
8842 GLN = cvar.GLN
8843 LYS = cvar.LYS
8844 ARG = cvar.ARG
8845 HIS = cvar.HIS
8846 PHE = cvar.PHE
8847 TYR = cvar.TYR
8848 TRP = cvar.TRP
8849 ACE = cvar.ACE
8850 NH2 = cvar.NH2
8851 MSE = cvar.MSE
8852 ADE = cvar.ADE
8853 URA = cvar.URA
8854 CYT = cvar.CYT
8855 GUA = cvar.GUA
8856 THY = cvar.THY
8857 DADE = cvar.DADE
8858 DURA = cvar.DURA
8859 DCYT = cvar.DCYT
8860 DGUA = cvar.DGUA
8861 DTHY = cvar.DTHY
8862 HOH = cvar.HOH
8863 HEME = cvar.HEME
8864 POP = cvar.POP
8865 
8866 
8867 def get_next_residue(rd):
8868  r"""get_next_residue(Residue rd) -> Hierarchy"""
8869  return _IMP_atom.get_next_residue(rd)
8870 
8871 def get_previous_residue(rd):
8872  r"""get_previous_residue(Residue rd) -> Hierarchy"""
8873  return _IMP_atom.get_previous_residue(rd)
8874 
8875 def get_one_letter_code(c):
8876  r"""get_one_letter_code(ResidueType c) -> char"""
8877  return _IMP_atom.get_one_letter_code(c)
8878 BALLS = _IMP_atom.BALLS
8879 
8880 DENSITIES = _IMP_atom.DENSITIES
8881 
8882 class Representation(Hierarchy):
8883  r"""Proxy of C++ IMP::atom::Representation class."""
8884 
8885  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8886 
8887  @staticmethod
8888  def setup_particle(*args):
8889  r"""
8890  setup_particle(Model m, ParticleIndex pi) -> Representation
8891  setup_particle(_ParticleAdaptor pa) -> Representation
8892  setup_particle(Model m, ParticleIndex pi, double resolution) -> Representation
8893  setup_particle(_ParticleAdaptor pa, double resolution) -> Representation
8894  setup_particle(Model m, ParticleIndex pi, Representation other) -> Representation
8895  setup_particle(_ParticleAdaptor pa, Representation other) -> Representation
8896  """
8897  return _IMP_atom.Representation_setup_particle(*args)
8898 
8899  def __init__(self, *args):
8900  r"""
8901  __init__(Representation self) -> Representation
8902  __init__(Representation self, Model m, ParticleIndex id) -> Representation
8903  __init__(Representation self, _ParticleAdaptor d) -> Representation
8904  """
8905  _IMP_atom.Representation_swiginit(self, _IMP_atom.new_Representation(*args))
8906 
8907  def show(self, *args):
8908  r"""show(Representation self, _ostream out=std::cout)"""
8909  return _IMP_atom.Representation_show(self, *args)
8910 
8911  @staticmethod
8912  def get_is_setup(*args):
8913  r"""
8914  get_is_setup(_ParticleAdaptor p) -> bool
8915  get_is_setup(Model m, ParticleIndex pi) -> bool
8916  """
8917  return _IMP_atom.Representation_get_is_setup(*args)
8918 
8919  def get_representation(self, *args):
8920  r"""get_representation(Representation self, double resolution, IMP::atom::RepresentationType type=BALLS) -> Hierarchy"""
8921  return _IMP_atom.Representation_get_representation(self, *args)
8922 
8923  def get_representations(self, *args):
8924  r"""get_representations(Representation self, IMP::atom::RepresentationType type=BALLS) -> IMP::atom::Hierarchies"""
8925  return _IMP_atom.Representation_get_representations(self, *args)
8926 
8927  def add_representation(self, *args):
8928  r"""add_representation(Representation self, _ParticleIndexAdaptor rep, IMP::atom::RepresentationType type=BALLS, double resolution=-1)"""
8929  return _IMP_atom.Representation_add_representation(self, *args)
8930 
8931  def get_resolutions(self, *args):
8932  r"""get_resolutions(Representation self, IMP::atom::RepresentationType type=BALLS) -> IMP::Floats"""
8933  return _IMP_atom.Representation_get_resolutions(self, *args)
8934 
8935  def remove_representation(self, rep):
8936  r"""remove_representation(Representation self, _ParticleIndexAdaptor rep)"""
8937  return _IMP_atom.Representation_remove_representation(self, rep)
8938 
8939  def update_parents(self):
8940  r"""update_parents(Representation self)"""
8941  return _IMP_atom.Representation_update_parents(self)
8942 
8943  def add_attribute(self, *args):
8944  r"""
8945  add_attribute(Representation self, FloatKey k, IMP::Float v, bool opt)
8946  add_attribute(Representation self, FloatKey a0, IMP::Float a1)
8947  add_attribute(Representation self, IntKey a0, IMP::Int a1)
8948  add_attribute(Representation self, FloatsKey a0, IMP::Floats a1)
8949  add_attribute(Representation self, IntsKey a0, IMP::Ints a1)
8950  add_attribute(Representation self, StringKey a0, IMP::String a1)
8951  add_attribute(Representation self, ParticleIndexKey a0, Particle a1)
8952  add_attribute(Representation self, ObjectKey a0, Object a1)
8953  add_attribute(Representation self, SparseFloatKey a0, IMP::Float a1)
8954  add_attribute(Representation self, SparseIntKey a0, IMP::Int a1)
8955  add_attribute(Representation self, SparseStringKey a0, IMP::String a1)
8956  add_attribute(Representation self, SparseParticleIndexKey a0, ParticleIndex a1)
8957  """
8958  return _IMP_atom.Representation_add_attribute(self, *args)
8959 
8960  def get_value(self, *args):
8961  r"""
8962  get_value(Representation self, FloatKey a0) -> IMP::Float
8963  get_value(Representation self, IntKey a0) -> IMP::Int
8964  get_value(Representation self, FloatsKey a0) -> IMP::Floats
8965  get_value(Representation self, IntsKey a0) -> IMP::Ints
8966  get_value(Representation self, StringKey a0) -> IMP::String
8967  get_value(Representation self, ParticleIndexKey a0) -> Particle
8968  get_value(Representation self, ObjectKey a0) -> Object
8969  get_value(Representation self, SparseFloatKey a0) -> IMP::Float
8970  get_value(Representation self, SparseIntKey a0) -> IMP::Int
8971  get_value(Representation self, SparseStringKey a0) -> IMP::String
8972  get_value(Representation self, SparseParticleIndexKey a0) -> ParticleIndex
8973  """
8974  return _IMP_atom.Representation_get_value(self, *args)
8975 
8976  def set_value(self, *args):
8977  r"""
8978  set_value(Representation self, FloatKey a0, IMP::Float a1)
8979  set_value(Representation self, IntKey a0, IMP::Int a1)
8980  set_value(Representation self, FloatsKey a0, IMP::Floats a1)
8981  set_value(Representation self, IntsKey a0, IMP::Ints a1)
8982  set_value(Representation self, StringKey a0, IMP::String a1)
8983  set_value(Representation self, ParticleIndexKey a0, Particle a1)
8984  set_value(Representation self, ObjectKey a0, Object a1)
8985  set_value(Representation self, SparseFloatKey a0, IMP::Float a1)
8986  set_value(Representation self, SparseIntKey a0, IMP::Int a1)
8987  set_value(Representation self, SparseStringKey a0, IMP::String a1)
8988  set_value(Representation self, SparseParticleIndexKey a0, ParticleIndex a1)
8989  """
8990  return _IMP_atom.Representation_set_value(self, *args)
8991 
8992  def remove_attribute(self, *args):
8993  r"""
8994  remove_attribute(Representation self, FloatKey a0)
8995  remove_attribute(Representation self, IntKey a0)
8996  remove_attribute(Representation self, FloatsKey a0)
8997  remove_attribute(Representation self, IntsKey a0)
8998  remove_attribute(Representation self, StringKey a0)
8999  remove_attribute(Representation self, ParticleIndexKey a0)
9000  remove_attribute(Representation self, ObjectKey a0)
9001  remove_attribute(Representation self, SparseFloatKey a0)
9002  remove_attribute(Representation self, SparseIntKey a0)
9003  remove_attribute(Representation self, SparseStringKey a0)
9004  remove_attribute(Representation self, SparseParticleIndexKey a0)
9005  """
9006  return _IMP_atom.Representation_remove_attribute(self, *args)
9007 
9008  def has_attribute(self, *args):
9009  r"""
9010  has_attribute(Representation self, FloatKey a0) -> bool
9011  has_attribute(Representation self, IntKey a0) -> bool
9012  has_attribute(Representation self, FloatsKey a0) -> bool
9013  has_attribute(Representation self, IntsKey a0) -> bool
9014  has_attribute(Representation self, StringKey a0) -> bool
9015  has_attribute(Representation self, ParticleIndexKey a0) -> bool
9016  has_attribute(Representation self, ObjectKey a0) -> bool
9017  has_attribute(Representation self, SparseFloatKey a0) -> bool
9018  has_attribute(Representation self, SparseIntKey a0) -> bool
9019  has_attribute(Representation self, SparseStringKey a0) -> bool
9020  has_attribute(Representation self, SparseParticleIndexKey a0) -> bool
9021  """
9022  return _IMP_atom.Representation_has_attribute(self, *args)
9023 
9024  def get_derivative(self, a0):
9025  r"""get_derivative(Representation self, FloatKey a0) -> double"""
9026  return _IMP_atom.Representation_get_derivative(self, a0)
9027 
9028  def get_name(self):
9029  r"""get_name(Representation self) -> std::string"""
9030  return _IMP_atom.Representation_get_name(self)
9031 
9032  def clear_caches(self):
9033  r"""clear_caches(Representation self)"""
9034  return _IMP_atom.Representation_clear_caches(self)
9035 
9036  def set_name(self, a0):
9037  r"""set_name(Representation self, std::string a0)"""
9038  return _IMP_atom.Representation_set_name(self, a0)
9039 
9040  def set_check_level(self, a0):
9041  r"""set_check_level(Representation self, IMP::CheckLevel a0)"""
9042  return _IMP_atom.Representation_set_check_level(self, a0)
9043 
9044  def add_to_derivative(self, a0, a1, a2):
9045  r"""add_to_derivative(Representation self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9046  return _IMP_atom.Representation_add_to_derivative(self, a0, a1, a2)
9047 
9048  def set_is_optimized(self, a0, a1):
9049  r"""set_is_optimized(Representation self, FloatKey a0, bool a1)"""
9050  return _IMP_atom.Representation_set_is_optimized(self, a0, a1)
9051 
9052  def get_is_optimized(self, a0):
9053  r"""get_is_optimized(Representation self, FloatKey a0) -> bool"""
9054  return _IMP_atom.Representation_get_is_optimized(self, a0)
9055 
9056  def get_check_level(self):
9057  r"""get_check_level(Representation self) -> IMP::CheckLevel"""
9058  return _IMP_atom.Representation_get_check_level(self)
9059 
9060  def __eq__(self, *args):
9061  r"""
9062  __eq__(Representation self, Representation o) -> bool
9063  __eq__(Representation self, Particle d) -> bool
9064  """
9065  return _IMP_atom.Representation___eq__(self, *args)
9066 
9067  def __ne__(self, *args):
9068  r"""
9069  __ne__(Representation self, Representation o) -> bool
9070  __ne__(Representation self, Particle d) -> bool
9071  """
9072  return _IMP_atom.Representation___ne__(self, *args)
9073 
9074  def __le__(self, *args):
9075  r"""
9076  __le__(Representation self, Representation o) -> bool
9077  __le__(Representation self, Particle d) -> bool
9078  """
9079  return _IMP_atom.Representation___le__(self, *args)
9080 
9081  def __lt__(self, *args):
9082  r"""
9083  __lt__(Representation self, Representation o) -> bool
9084  __lt__(Representation self, Particle d) -> bool
9085  """
9086  return _IMP_atom.Representation___lt__(self, *args)
9087 
9088  def __ge__(self, *args):
9089  r"""
9090  __ge__(Representation self, Representation o) -> bool
9091  __ge__(Representation self, Particle d) -> bool
9092  """
9093  return _IMP_atom.Representation___ge__(self, *args)
9094 
9095  def __gt__(self, *args):
9096  r"""
9097  __gt__(Representation self, Representation o) -> bool
9098  __gt__(Representation self, Particle d) -> bool
9099  """
9100  return _IMP_atom.Representation___gt__(self, *args)
9101 
9102  def __hash__(self):
9103  r"""__hash__(Representation self) -> std::size_t"""
9104  return _IMP_atom.Representation___hash__(self)
9105 
9106  def __str__(self):
9107  r"""__str__(Representation self) -> std::string"""
9108  return _IMP_atom.Representation___str__(self)
9109 
9110  def __repr__(self):
9111  r"""__repr__(Representation self) -> std::string"""
9112  return _IMP_atom.Representation___repr__(self)
9113 
9114  def _get_as_binary(self):
9115  r"""_get_as_binary(Representation self) -> PyObject *"""
9116  return _IMP_atom.Representation__get_as_binary(self)
9117 
9118  def _set_from_binary(self, p):
9119  r"""_set_from_binary(Representation self, PyObject * p)"""
9120  return _IMP_atom.Representation__set_from_binary(self, p)
9121 
9122  def __getstate__(self):
9123  p = self._get_as_binary()
9124  if len(self.__dict__) > 1:
9125  d = self.__dict__.copy()
9126  del d['this']
9127  p = (d, p)
9128  return p
9129 
9130  def __setstate__(self, p):
9131  if not hasattr(self, 'this'):
9132  self.__init__()
9133  if isinstance(p, tuple):
9134  d, p = p
9135  self.__dict__.update(d)
9136  return self._set_from_binary(p)
9137 
9138  __swig_destroy__ = _IMP_atom.delete_Representation
9139 
9140 # Register Representation in _IMP_atom:
9141 _IMP_atom.Representation_swigregister(Representation)
9142 ALL_RESOLUTIONS = cvar.ALL_RESOLUTIONS
9143 
9144 
9145 def get_resolution(*args):
9146  r"""
9147  get_resolution(Model m, ParticleIndex pi) -> double
9148  get_resolution(Hierarchy h) -> double
9149  """
9150  return _IMP_atom.get_resolution(*args)
9151 
9152 def get_representation(h, nothrow=False):
9153  r"""get_representation(Hierarchy h, bool nothrow=False) -> Representation"""
9154  return _IMP_atom.get_representation(h, nothrow)
9155 
9156 def show_with_representations(*args):
9157  r"""show_with_representations(Hierarchy h, _ostream out=std::cout)"""
9158  return _IMP_atom.show_with_representations(*args)
9159 class State(Hierarchy):
9160  r"""Proxy of C++ IMP::atom::State class."""
9161 
9162  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9163 
9164  @staticmethod
9165  def setup_particle(*args):
9166  r"""
9167  setup_particle(Model m, ParticleIndex pi, unsigned int index) -> State
9168  setup_particle(_ParticleAdaptor pa, unsigned int index) -> State
9169  setup_particle(Model m, ParticleIndex pi, State other) -> State
9170  setup_particle(_ParticleAdaptor pa, State other) -> State
9171  """
9172  return _IMP_atom.State_setup_particle(*args)
9173 
9174  def __init__(self, *args):
9175  r"""
9176  __init__(State self) -> State
9177  __init__(State self, Model m, ParticleIndex id) -> State
9178  __init__(State self, _ParticleAdaptor d) -> State
9179  """
9180  _IMP_atom.State_swiginit(self, _IMP_atom.new_State(*args))
9181 
9182  def show(self, *args):
9183  r"""show(State self, _ostream out=std::cout)"""
9184  return _IMP_atom.State_show(self, *args)
9185 
9186  @staticmethod
9187  def get_is_setup(*args):
9188  r"""
9189  get_is_setup(_ParticleAdaptor p) -> bool
9190  get_is_setup(Model m, ParticleIndex pi) -> bool
9191  """
9192  return _IMP_atom.State_get_is_setup(*args)
9193 
9194  def get_state_index(self):
9195  r"""get_state_index(State self) -> unsigned int"""
9196  return _IMP_atom.State_get_state_index(self)
9197 
9198  def add_attribute(self, *args):
9199  r"""
9200  add_attribute(State self, FloatKey k, IMP::Float v, bool opt)
9201  add_attribute(State self, FloatKey a0, IMP::Float a1)
9202  add_attribute(State self, IntKey a0, IMP::Int a1)
9203  add_attribute(State self, FloatsKey a0, IMP::Floats a1)
9204  add_attribute(State self, IntsKey a0, IMP::Ints a1)
9205  add_attribute(State self, StringKey a0, IMP::String a1)
9206  add_attribute(State self, ParticleIndexKey a0, Particle a1)
9207  add_attribute(State self, ObjectKey a0, Object a1)
9208  add_attribute(State self, SparseFloatKey a0, IMP::Float a1)
9209  add_attribute(State self, SparseIntKey a0, IMP::Int a1)
9210  add_attribute(State self, SparseStringKey a0, IMP::String a1)
9211  add_attribute(State self, SparseParticleIndexKey a0, ParticleIndex a1)
9212  """
9213  return _IMP_atom.State_add_attribute(self, *args)
9214 
9215  def get_value(self, *args):
9216  r"""
9217  get_value(State self, FloatKey a0) -> IMP::Float
9218  get_value(State self, IntKey a0) -> IMP::Int
9219  get_value(State self, FloatsKey a0) -> IMP::Floats
9220  get_value(State self, IntsKey a0) -> IMP::Ints
9221  get_value(State self, StringKey a0) -> IMP::String
9222  get_value(State self, ParticleIndexKey a0) -> Particle
9223  get_value(State self, ObjectKey a0) -> Object
9224  get_value(State self, SparseFloatKey a0) -> IMP::Float
9225  get_value(State self, SparseIntKey a0) -> IMP::Int
9226  get_value(State self, SparseStringKey a0) -> IMP::String
9227  get_value(State self, SparseParticleIndexKey a0) -> ParticleIndex
9228  """
9229  return _IMP_atom.State_get_value(self, *args)
9230 
9231  def set_value(self, *args):
9232  r"""
9233  set_value(State self, FloatKey a0, IMP::Float a1)
9234  set_value(State self, IntKey a0, IMP::Int a1)
9235  set_value(State self, FloatsKey a0, IMP::Floats a1)
9236  set_value(State self, IntsKey a0, IMP::Ints a1)
9237  set_value(State self, StringKey a0, IMP::String a1)
9238  set_value(State self, ParticleIndexKey a0, Particle a1)
9239  set_value(State self, ObjectKey a0, Object a1)
9240  set_value(State self, SparseFloatKey a0, IMP::Float a1)
9241  set_value(State self, SparseIntKey a0, IMP::Int a1)
9242  set_value(State self, SparseStringKey a0, IMP::String a1)
9243  set_value(State self, SparseParticleIndexKey a0, ParticleIndex a1)
9244  """
9245  return _IMP_atom.State_set_value(self, *args)
9246 
9247  def remove_attribute(self, *args):
9248  r"""
9249  remove_attribute(State self, FloatKey a0)
9250  remove_attribute(State self, IntKey a0)
9251  remove_attribute(State self, FloatsKey a0)
9252  remove_attribute(State self, IntsKey a0)
9253  remove_attribute(State self, StringKey a0)
9254  remove_attribute(State self, ParticleIndexKey a0)
9255  remove_attribute(State self, ObjectKey a0)
9256  remove_attribute(State self, SparseFloatKey a0)
9257  remove_attribute(State self, SparseIntKey a0)
9258  remove_attribute(State self, SparseStringKey a0)
9259  remove_attribute(State self, SparseParticleIndexKey a0)
9260  """
9261  return _IMP_atom.State_remove_attribute(self, *args)
9262 
9263  def has_attribute(self, *args):
9264  r"""
9265  has_attribute(State self, FloatKey a0) -> bool
9266  has_attribute(State self, IntKey a0) -> bool
9267  has_attribute(State self, FloatsKey a0) -> bool
9268  has_attribute(State self, IntsKey a0) -> bool
9269  has_attribute(State self, StringKey a0) -> bool
9270  has_attribute(State self, ParticleIndexKey a0) -> bool
9271  has_attribute(State self, ObjectKey a0) -> bool
9272  has_attribute(State self, SparseFloatKey a0) -> bool
9273  has_attribute(State self, SparseIntKey a0) -> bool
9274  has_attribute(State self, SparseStringKey a0) -> bool
9275  has_attribute(State self, SparseParticleIndexKey a0) -> bool
9276  """
9277  return _IMP_atom.State_has_attribute(self, *args)
9278 
9279  def get_derivative(self, a0):
9280  r"""get_derivative(State self, FloatKey a0) -> double"""
9281  return _IMP_atom.State_get_derivative(self, a0)
9282 
9283  def get_name(self):
9284  r"""get_name(State self) -> std::string"""
9285  return _IMP_atom.State_get_name(self)
9286 
9287  def clear_caches(self):
9288  r"""clear_caches(State self)"""
9289  return _IMP_atom.State_clear_caches(self)
9290 
9291  def set_name(self, a0):
9292  r"""set_name(State self, std::string a0)"""
9293  return _IMP_atom.State_set_name(self, a0)
9294 
9295  def set_check_level(self, a0):
9296  r"""set_check_level(State self, IMP::CheckLevel a0)"""
9297  return _IMP_atom.State_set_check_level(self, a0)
9298 
9299  def add_to_derivative(self, a0, a1, a2):
9300  r"""add_to_derivative(State self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9301  return _IMP_atom.State_add_to_derivative(self, a0, a1, a2)
9302 
9303  def set_is_optimized(self, a0, a1):
9304  r"""set_is_optimized(State self, FloatKey a0, bool a1)"""
9305  return _IMP_atom.State_set_is_optimized(self, a0, a1)
9306 
9307  def get_is_optimized(self, a0):
9308  r"""get_is_optimized(State self, FloatKey a0) -> bool"""
9309  return _IMP_atom.State_get_is_optimized(self, a0)
9310 
9311  def get_check_level(self):
9312  r"""get_check_level(State self) -> IMP::CheckLevel"""
9313  return _IMP_atom.State_get_check_level(self)
9314 
9315  def __eq__(self, *args):
9316  r"""
9317  __eq__(State self, State o) -> bool
9318  __eq__(State self, Particle d) -> bool
9319  """
9320  return _IMP_atom.State___eq__(self, *args)
9321 
9322  def __ne__(self, *args):
9323  r"""
9324  __ne__(State self, State o) -> bool
9325  __ne__(State self, Particle d) -> bool
9326  """
9327  return _IMP_atom.State___ne__(self, *args)
9328 
9329  def __le__(self, *args):
9330  r"""
9331  __le__(State self, State o) -> bool
9332  __le__(State self, Particle d) -> bool
9333  """
9334  return _IMP_atom.State___le__(self, *args)
9335 
9336  def __lt__(self, *args):
9337  r"""
9338  __lt__(State self, State o) -> bool
9339  __lt__(State self, Particle d) -> bool
9340  """
9341  return _IMP_atom.State___lt__(self, *args)
9342 
9343  def __ge__(self, *args):
9344  r"""
9345  __ge__(State self, State o) -> bool
9346  __ge__(State self, Particle d) -> bool
9347  """
9348  return _IMP_atom.State___ge__(self, *args)
9349 
9350  def __gt__(self, *args):
9351  r"""
9352  __gt__(State self, State o) -> bool
9353  __gt__(State self, Particle d) -> bool
9354  """
9355  return _IMP_atom.State___gt__(self, *args)
9356 
9357  def __hash__(self):
9358  r"""__hash__(State self) -> std::size_t"""
9359  return _IMP_atom.State___hash__(self)
9360 
9361  def __str__(self):
9362  r"""__str__(State self) -> std::string"""
9363  return _IMP_atom.State___str__(self)
9364 
9365  def __repr__(self):
9366  r"""__repr__(State self) -> std::string"""
9367  return _IMP_atom.State___repr__(self)
9368 
9369  def _get_as_binary(self):
9370  r"""_get_as_binary(State self) -> PyObject *"""
9371  return _IMP_atom.State__get_as_binary(self)
9372 
9373  def _set_from_binary(self, p):
9374  r"""_set_from_binary(State self, PyObject * p)"""
9375  return _IMP_atom.State__set_from_binary(self, p)
9376 
9377  def __getstate__(self):
9378  p = self._get_as_binary()
9379  if len(self.__dict__) > 1:
9380  d = self.__dict__.copy()
9381  del d['this']
9382  p = (d, p)
9383  return p
9384 
9385  def __setstate__(self, p):
9386  if not hasattr(self, 'this'):
9387  self.__init__()
9388  if isinstance(p, tuple):
9389  d, p = p
9390  self.__dict__.update(d)
9391  return self._set_from_binary(p)
9392 
9393  __swig_destroy__ = _IMP_atom.delete_State
9394 
9395 # Register State in _IMP_atom:
9396 _IMP_atom.State_swigregister(State)
9397 
9398 def get_state_index(h):
9399  r"""get_state_index(Hierarchy h) -> int"""
9400  return _IMP_atom.get_state_index(h)
9401 
9402 def get_phi_dihedral_atoms(rd):
9403  r"""get_phi_dihedral_atoms(Residue rd) -> IMP::atom::Atoms"""
9404  return _IMP_atom.get_phi_dihedral_atoms(rd)
9405 
9406 def get_psi_dihedral_atoms(rd):
9407  r"""get_psi_dihedral_atoms(Residue rd) -> IMP::atom::Atoms"""
9408  return _IMP_atom.get_psi_dihedral_atoms(rd)
9409 
9410 def get_omega_dihedral_atoms(rd):
9411  r"""get_omega_dihedral_atoms(Residue rd) -> IMP::atom::Atoms"""
9412  return _IMP_atom.get_omega_dihedral_atoms(rd)
9413 
9415  r"""get_chi_dihedral_atom_types(ResidueType rt) -> IMP::Vector< IMP::atom::AtomTypes >"""
9416  return _IMP_atom.get_chi_dihedral_atom_types(rt)
9417 
9418 def get_chi_dihedral_atoms(rd):
9419  r"""get_chi_dihedral_atoms(Residue rd) -> IMP::Vector< IMP::atom::Atoms >"""
9420  return _IMP_atom.get_chi_dihedral_atoms(rd)
9421 
9423  r"""get_chi_dihedral_particle_indexes(Residue rd) -> IMP::ParticleIndexQuads"""
9424  return _IMP_atom.get_chi_dihedral_particle_indexes(rd)
9425 class Molecule(Hierarchy):
9426  r"""Proxy of C++ IMP::atom::Molecule class."""
9427 
9428  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9429 
9430  def __init__(self, *args):
9431  r"""
9432  __init__(Molecule self) -> Molecule
9433  __init__(Molecule self, Model m, ParticleIndex id) -> Molecule
9434  __init__(Molecule self, _ParticleAdaptor d) -> Molecule
9435  """
9436  _IMP_atom.Molecule_swiginit(self, _IMP_atom.new_Molecule(*args))
9437 
9438  def show(self, *args):
9439  r"""show(Molecule self, _ostream out=std::cout)"""
9440  return _IMP_atom.Molecule_show(self, *args)
9441 
9442  @staticmethod
9443  def setup_particle(*args):
9444  r"""
9445  setup_particle(Model m, ParticleIndex pi) -> Molecule
9446  setup_particle(_ParticleAdaptor pa) -> Molecule
9447  setup_particle(Model m, ParticleIndex pi, Molecule other) -> Molecule
9448  setup_particle(_ParticleAdaptor pa, Molecule other) -> Molecule
9449  """
9450  return _IMP_atom.Molecule_setup_particle(*args)
9451 
9452  @staticmethod
9453  def get_is_setup(*args):
9454  r"""
9455  get_is_setup(_ParticleAdaptor p) -> bool
9456  get_is_setup(Model m, ParticleIndex pi) -> bool
9457  """
9458  return _IMP_atom.Molecule_get_is_setup(*args)
9459 
9460  def add_attribute(self, *args):
9461  r"""
9462  add_attribute(Molecule self, FloatKey k, IMP::Float v, bool opt)
9463  add_attribute(Molecule self, FloatKey a0, IMP::Float a1)
9464  add_attribute(Molecule self, IntKey a0, IMP::Int a1)
9465  add_attribute(Molecule self, FloatsKey a0, IMP::Floats a1)
9466  add_attribute(Molecule self, IntsKey a0, IMP::Ints a1)
9467  add_attribute(Molecule self, StringKey a0, IMP::String a1)
9468  add_attribute(Molecule self, ParticleIndexKey a0, Particle a1)
9469  add_attribute(Molecule self, ObjectKey a0, Object a1)
9470  add_attribute(Molecule self, SparseFloatKey a0, IMP::Float a1)
9471  add_attribute(Molecule self, SparseIntKey a0, IMP::Int a1)
9472  add_attribute(Molecule self, SparseStringKey a0, IMP::String a1)
9473  add_attribute(Molecule self, SparseParticleIndexKey a0, ParticleIndex a1)
9474  """
9475  return _IMP_atom.Molecule_add_attribute(self, *args)
9476 
9477  def get_value(self, *args):
9478  r"""
9479  get_value(Molecule self, FloatKey a0) -> IMP::Float
9480  get_value(Molecule self, IntKey a0) -> IMP::Int
9481  get_value(Molecule self, FloatsKey a0) -> IMP::Floats
9482  get_value(Molecule self, IntsKey a0) -> IMP::Ints
9483  get_value(Molecule self, StringKey a0) -> IMP::String
9484  get_value(Molecule self, ParticleIndexKey a0) -> Particle
9485  get_value(Molecule self, ObjectKey a0) -> Object
9486  get_value(Molecule self, SparseFloatKey a0) -> IMP::Float
9487  get_value(Molecule self, SparseIntKey a0) -> IMP::Int
9488  get_value(Molecule self, SparseStringKey a0) -> IMP::String
9489  get_value(Molecule self, SparseParticleIndexKey a0) -> ParticleIndex
9490  """
9491  return _IMP_atom.Molecule_get_value(self, *args)
9492 
9493  def set_value(self, *args):
9494  r"""
9495  set_value(Molecule self, FloatKey a0, IMP::Float a1)
9496  set_value(Molecule self, IntKey a0, IMP::Int a1)
9497  set_value(Molecule self, FloatsKey a0, IMP::Floats a1)
9498  set_value(Molecule self, IntsKey a0, IMP::Ints a1)
9499  set_value(Molecule self, StringKey a0, IMP::String a1)
9500  set_value(Molecule self, ParticleIndexKey a0, Particle a1)
9501  set_value(Molecule self, ObjectKey a0, Object a1)
9502  set_value(Molecule self, SparseFloatKey a0, IMP::Float a1)
9503  set_value(Molecule self, SparseIntKey a0, IMP::Int a1)
9504  set_value(Molecule self, SparseStringKey a0, IMP::String a1)
9505  set_value(Molecule self, SparseParticleIndexKey a0, ParticleIndex a1)
9506  """
9507  return _IMP_atom.Molecule_set_value(self, *args)
9508 
9509  def remove_attribute(self, *args):
9510  r"""
9511  remove_attribute(Molecule self, FloatKey a0)
9512  remove_attribute(Molecule self, IntKey a0)
9513  remove_attribute(Molecule self, FloatsKey a0)
9514  remove_attribute(Molecule self, IntsKey a0)
9515  remove_attribute(Molecule self, StringKey a0)
9516  remove_attribute(Molecule self, ParticleIndexKey a0)
9517  remove_attribute(Molecule self, ObjectKey a0)
9518  remove_attribute(Molecule self, SparseFloatKey a0)
9519  remove_attribute(Molecule self, SparseIntKey a0)
9520  remove_attribute(Molecule self, SparseStringKey a0)
9521  remove_attribute(Molecule self, SparseParticleIndexKey a0)
9522  """
9523  return _IMP_atom.Molecule_remove_attribute(self, *args)
9524 
9525  def has_attribute(self, *args):
9526  r"""
9527  has_attribute(Molecule self, FloatKey a0) -> bool
9528  has_attribute(Molecule self, IntKey a0) -> bool
9529  has_attribute(Molecule self, FloatsKey a0) -> bool
9530  has_attribute(Molecule self, IntsKey a0) -> bool
9531  has_attribute(Molecule self, StringKey a0) -> bool
9532  has_attribute(Molecule self, ParticleIndexKey a0) -> bool
9533  has_attribute(Molecule self, ObjectKey a0) -> bool
9534  has_attribute(Molecule self, SparseFloatKey a0) -> bool
9535  has_attribute(Molecule self, SparseIntKey a0) -> bool
9536  has_attribute(Molecule self, SparseStringKey a0) -> bool
9537  has_attribute(Molecule self, SparseParticleIndexKey a0) -> bool
9538  """
9539  return _IMP_atom.Molecule_has_attribute(self, *args)
9540 
9541  def get_derivative(self, a0):
9542  r"""get_derivative(Molecule self, FloatKey a0) -> double"""
9543  return _IMP_atom.Molecule_get_derivative(self, a0)
9544 
9545  def get_name(self):
9546  r"""get_name(Molecule self) -> std::string"""
9547  return _IMP_atom.Molecule_get_name(self)
9548 
9549  def clear_caches(self):
9550  r"""clear_caches(Molecule self)"""
9551  return _IMP_atom.Molecule_clear_caches(self)
9552 
9553  def set_name(self, a0):
9554  r"""set_name(Molecule self, std::string a0)"""
9555  return _IMP_atom.Molecule_set_name(self, a0)
9556 
9557  def set_check_level(self, a0):
9558  r"""set_check_level(Molecule self, IMP::CheckLevel a0)"""
9559  return _IMP_atom.Molecule_set_check_level(self, a0)
9560 
9561  def add_to_derivative(self, a0, a1, a2):
9562  r"""add_to_derivative(Molecule self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9563  return _IMP_atom.Molecule_add_to_derivative(self, a0, a1, a2)
9564 
9565  def set_is_optimized(self, a0, a1):
9566  r"""set_is_optimized(Molecule self, FloatKey a0, bool a1)"""
9567  return _IMP_atom.Molecule_set_is_optimized(self, a0, a1)
9568 
9569  def get_is_optimized(self, a0):
9570  r"""get_is_optimized(Molecule self, FloatKey a0) -> bool"""
9571  return _IMP_atom.Molecule_get_is_optimized(self, a0)
9572 
9573  def get_check_level(self):
9574  r"""get_check_level(Molecule self) -> IMP::CheckLevel"""
9575  return _IMP_atom.Molecule_get_check_level(self)
9576 
9577  def __eq__(self, *args):
9578  r"""
9579  __eq__(Molecule self, Molecule o) -> bool
9580  __eq__(Molecule self, Particle d) -> bool
9581  """
9582  return _IMP_atom.Molecule___eq__(self, *args)
9583 
9584  def __ne__(self, *args):
9585  r"""
9586  __ne__(Molecule self, Molecule o) -> bool
9587  __ne__(Molecule self, Particle d) -> bool
9588  """
9589  return _IMP_atom.Molecule___ne__(self, *args)
9590 
9591  def __le__(self, *args):
9592  r"""
9593  __le__(Molecule self, Molecule o) -> bool
9594  __le__(Molecule self, Particle d) -> bool
9595  """
9596  return _IMP_atom.Molecule___le__(self, *args)
9597 
9598  def __lt__(self, *args):
9599  r"""
9600  __lt__(Molecule self, Molecule o) -> bool
9601  __lt__(Molecule self, Particle d) -> bool
9602  """
9603  return _IMP_atom.Molecule___lt__(self, *args)
9604 
9605  def __ge__(self, *args):
9606  r"""
9607  __ge__(Molecule self, Molecule o) -> bool
9608  __ge__(Molecule self, Particle d) -> bool
9609  """
9610  return _IMP_atom.Molecule___ge__(self, *args)
9611 
9612  def __gt__(self, *args):
9613  r"""
9614  __gt__(Molecule self, Molecule o) -> bool
9615  __gt__(Molecule self, Particle d) -> bool
9616  """
9617  return _IMP_atom.Molecule___gt__(self, *args)
9618 
9619  def __hash__(self):
9620  r"""__hash__(Molecule self) -> std::size_t"""
9621  return _IMP_atom.Molecule___hash__(self)
9622 
9623  def __str__(self):
9624  r"""__str__(Molecule self) -> std::string"""
9625  return _IMP_atom.Molecule___str__(self)
9626 
9627  def __repr__(self):
9628  r"""__repr__(Molecule self) -> std::string"""
9629  return _IMP_atom.Molecule___repr__(self)
9630 
9631  def _get_as_binary(self):
9632  r"""_get_as_binary(Molecule self) -> PyObject *"""
9633  return _IMP_atom.Molecule__get_as_binary(self)
9634 
9635  def _set_from_binary(self, p):
9636  r"""_set_from_binary(Molecule self, PyObject * p)"""
9637  return _IMP_atom.Molecule__set_from_binary(self, p)
9638 
9639  def __getstate__(self):
9640  p = self._get_as_binary()
9641  if len(self.__dict__) > 1:
9642  d = self.__dict__.copy()
9643  del d['this']
9644  p = (d, p)
9645  return p
9646 
9647  def __setstate__(self, p):
9648  if not hasattr(self, 'this'):
9649  self.__init__()
9650  if isinstance(p, tuple):
9651  d, p = p
9652  self.__dict__.update(d)
9653  return self._set_from_binary(p)
9654 
9655  __swig_destroy__ = _IMP_atom.delete_Molecule
9656 
9657 # Register Molecule in _IMP_atom:
9658 _IMP_atom.Molecule_swigregister(Molecule)
9659 
9660 def get_molecule_name(h):
9661  r"""get_molecule_name(Hierarchy h) -> std::string"""
9662  return _IMP_atom.get_molecule_name(h)
9663 class Copy(Molecule):
9664  r"""Proxy of C++ IMP::atom::Copy class."""
9665 
9666  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9667 
9668  @staticmethod
9669  def get_copy_index_key():
9670  r"""get_copy_index_key() -> IntKey"""
9671  return _IMP_atom.Copy_get_copy_index_key()
9672 
9673  def __init__(self, *args):
9674  r"""
9675  __init__(Copy self) -> Copy
9676  __init__(Copy self, Model m, ParticleIndex id) -> Copy
9677  __init__(Copy self, _ParticleAdaptor d) -> Copy
9678  """
9679  _IMP_atom.Copy_swiginit(self, _IMP_atom.new_Copy(*args))
9680 
9681  def show(self, *args):
9682  r"""show(Copy self, _ostream out=std::cout)"""
9683  return _IMP_atom.Copy_show(self, *args)
9684 
9685  @staticmethod
9686  def setup_particle(*args):
9687  r"""
9688  setup_particle(Model m, ParticleIndex pi, IMP::Int number) -> Copy
9689  setup_particle(_ParticleAdaptor pa, IMP::Int number) -> Copy
9690  """
9691  return _IMP_atom.Copy_setup_particle(*args)
9692 
9693  @staticmethod
9694  def get_is_setup(*args):
9695  r"""
9696  get_is_setup(_ParticleAdaptor p) -> bool
9697  get_is_setup(Model m, ParticleIndex pi) -> bool
9698  """
9699  return _IMP_atom.Copy_get_is_setup(*args)
9700 
9701  def get_copy_index(self):
9702  r"""get_copy_index(Copy self) -> int"""
9703  return _IMP_atom.Copy_get_copy_index(self)
9704 
9705  def add_attribute(self, *args):
9706  r"""
9707  add_attribute(Copy self, FloatKey k, IMP::Float v, bool opt)
9708  add_attribute(Copy self, FloatKey a0, IMP::Float a1)
9709  add_attribute(Copy self, IntKey a0, IMP::Int a1)
9710  add_attribute(Copy self, FloatsKey a0, IMP::Floats a1)
9711  add_attribute(Copy self, IntsKey a0, IMP::Ints a1)
9712  add_attribute(Copy self, StringKey a0, IMP::String a1)
9713  add_attribute(Copy self, ParticleIndexKey a0, Particle a1)
9714  add_attribute(Copy self, ObjectKey a0, Object a1)
9715  add_attribute(Copy self, SparseFloatKey a0, IMP::Float a1)
9716  add_attribute(Copy self, SparseIntKey a0, IMP::Int a1)
9717  add_attribute(Copy self, SparseStringKey a0, IMP::String a1)
9718  add_attribute(Copy self, SparseParticleIndexKey a0, ParticleIndex a1)
9719  """
9720  return _IMP_atom.Copy_add_attribute(self, *args)
9721 
9722  def get_value(self, *args):
9723  r"""
9724  get_value(Copy self, FloatKey a0) -> IMP::Float
9725  get_value(Copy self, IntKey a0) -> IMP::Int
9726  get_value(Copy self, FloatsKey a0) -> IMP::Floats
9727  get_value(Copy self, IntsKey a0) -> IMP::Ints
9728  get_value(Copy self, StringKey a0) -> IMP::String
9729  get_value(Copy self, ParticleIndexKey a0) -> Particle
9730  get_value(Copy self, ObjectKey a0) -> Object
9731  get_value(Copy self, SparseFloatKey a0) -> IMP::Float
9732  get_value(Copy self, SparseIntKey a0) -> IMP::Int
9733  get_value(Copy self, SparseStringKey a0) -> IMP::String
9734  get_value(Copy self, SparseParticleIndexKey a0) -> ParticleIndex
9735  """
9736  return _IMP_atom.Copy_get_value(self, *args)
9737 
9738  def set_value(self, *args):
9739  r"""
9740  set_value(Copy self, FloatKey a0, IMP::Float a1)
9741  set_value(Copy self, IntKey a0, IMP::Int a1)
9742  set_value(Copy self, FloatsKey a0, IMP::Floats a1)
9743  set_value(Copy self, IntsKey a0, IMP::Ints a1)
9744  set_value(Copy self, StringKey a0, IMP::String a1)
9745  set_value(Copy self, ParticleIndexKey a0, Particle a1)
9746  set_value(Copy self, ObjectKey a0, Object a1)
9747  set_value(Copy self, SparseFloatKey a0, IMP::Float a1)
9748  set_value(Copy self, SparseIntKey a0, IMP::Int a1)
9749  set_value(Copy self, SparseStringKey a0, IMP::String a1)
9750  set_value(Copy self, SparseParticleIndexKey a0, ParticleIndex a1)
9751  """
9752  return _IMP_atom.Copy_set_value(self, *args)
9753 
9754  def remove_attribute(self, *args):
9755  r"""
9756  remove_attribute(Copy self, FloatKey a0)
9757  remove_attribute(Copy self, IntKey a0)
9758  remove_attribute(Copy self, FloatsKey a0)
9759  remove_attribute(Copy self, IntsKey a0)
9760  remove_attribute(Copy self, StringKey a0)
9761  remove_attribute(Copy self, ParticleIndexKey a0)
9762  remove_attribute(Copy self, ObjectKey a0)
9763  remove_attribute(Copy self, SparseFloatKey a0)
9764  remove_attribute(Copy self, SparseIntKey a0)
9765  remove_attribute(Copy self, SparseStringKey a0)
9766  remove_attribute(Copy self, SparseParticleIndexKey a0)
9767  """
9768  return _IMP_atom.Copy_remove_attribute(self, *args)
9769 
9770  def has_attribute(self, *args):
9771  r"""
9772  has_attribute(Copy self, FloatKey a0) -> bool
9773  has_attribute(Copy self, IntKey a0) -> bool
9774  has_attribute(Copy self, FloatsKey a0) -> bool
9775  has_attribute(Copy self, IntsKey a0) -> bool
9776  has_attribute(Copy self, StringKey a0) -> bool
9777  has_attribute(Copy self, ParticleIndexKey a0) -> bool
9778  has_attribute(Copy self, ObjectKey a0) -> bool
9779  has_attribute(Copy self, SparseFloatKey a0) -> bool
9780  has_attribute(Copy self, SparseIntKey a0) -> bool
9781  has_attribute(Copy self, SparseStringKey a0) -> bool
9782  has_attribute(Copy self, SparseParticleIndexKey a0) -> bool
9783  """
9784  return _IMP_atom.Copy_has_attribute(self, *args)
9785 
9786  def get_derivative(self, a0):
9787  r"""get_derivative(Copy self, FloatKey a0) -> double"""
9788  return _IMP_atom.Copy_get_derivative(self, a0)
9789 
9790  def get_name(self):
9791  r"""get_name(Copy self) -> std::string"""
9792  return _IMP_atom.Copy_get_name(self)
9793 
9794  def clear_caches(self):
9795  r"""clear_caches(Copy self)"""
9796  return _IMP_atom.Copy_clear_caches(self)
9797 
9798  def set_name(self, a0):
9799  r"""set_name(Copy self, std::string a0)"""
9800  return _IMP_atom.Copy_set_name(self, a0)
9801 
9802  def set_check_level(self, a0):
9803  r"""set_check_level(Copy self, IMP::CheckLevel a0)"""
9804  return _IMP_atom.Copy_set_check_level(self, a0)
9805 
9806  def add_to_derivative(self, a0, a1, a2):
9807  r"""add_to_derivative(Copy self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9808  return _IMP_atom.Copy_add_to_derivative(self, a0, a1, a2)
9809 
9810  def set_is_optimized(self, a0, a1):
9811  r"""set_is_optimized(Copy self, FloatKey a0, bool a1)"""
9812  return _IMP_atom.Copy_set_is_optimized(self, a0, a1)
9813 
9814  def get_is_optimized(self, a0):
9815  r"""get_is_optimized(Copy self, FloatKey a0) -> bool"""
9816  return _IMP_atom.Copy_get_is_optimized(self, a0)
9817 
9818  def get_check_level(self):
9819  r"""get_check_level(Copy self) -> IMP::CheckLevel"""
9820  return _IMP_atom.Copy_get_check_level(self)
9821 
9822  def __eq__(self, *args):
9823  r"""
9824  __eq__(Copy self, Copy o) -> bool
9825  __eq__(Copy self, Particle d) -> bool
9826  """
9827  return _IMP_atom.Copy___eq__(self, *args)
9828 
9829  def __ne__(self, *args):
9830  r"""
9831  __ne__(Copy self, Copy o) -> bool
9832  __ne__(Copy self, Particle d) -> bool
9833  """
9834  return _IMP_atom.Copy___ne__(self, *args)
9835 
9836  def __le__(self, *args):
9837  r"""
9838  __le__(Copy self, Copy o) -> bool
9839  __le__(Copy self, Particle d) -> bool
9840  """
9841  return _IMP_atom.Copy___le__(self, *args)
9842 
9843  def __lt__(self, *args):
9844  r"""
9845  __lt__(Copy self, Copy o) -> bool
9846  __lt__(Copy self, Particle d) -> bool
9847  """
9848  return _IMP_atom.Copy___lt__(self, *args)
9849 
9850  def __ge__(self, *args):
9851  r"""
9852  __ge__(Copy self, Copy o) -> bool
9853  __ge__(Copy self, Particle d) -> bool
9854  """
9855  return _IMP_atom.Copy___ge__(self, *args)
9856 
9857  def __gt__(self, *args):
9858  r"""
9859  __gt__(Copy self, Copy o) -> bool
9860  __gt__(Copy self, Particle d) -> bool
9861  """
9862  return _IMP_atom.Copy___gt__(self, *args)
9863 
9864  def __hash__(self):
9865  r"""__hash__(Copy self) -> std::size_t"""
9866  return _IMP_atom.Copy___hash__(self)
9867 
9868  def __str__(self):
9869  r"""__str__(Copy self) -> std::string"""
9870  return _IMP_atom.Copy___str__(self)
9871 
9872  def __repr__(self):
9873  r"""__repr__(Copy self) -> std::string"""
9874  return _IMP_atom.Copy___repr__(self)
9875 
9876  def _get_as_binary(self):
9877  r"""_get_as_binary(Copy self) -> PyObject *"""
9878  return _IMP_atom.Copy__get_as_binary(self)
9879 
9880  def _set_from_binary(self, p):
9881  r"""_set_from_binary(Copy self, PyObject * p)"""
9882  return _IMP_atom.Copy__set_from_binary(self, p)
9883 
9884  def __getstate__(self):
9885  p = self._get_as_binary()
9886  if len(self.__dict__) > 1:
9887  d = self.__dict__.copy()
9888  del d['this']
9889  p = (d, p)
9890  return p
9891 
9892  def __setstate__(self, p):
9893  if not hasattr(self, 'this'):
9894  self.__init__()
9895  if isinstance(p, tuple):
9896  d, p = p
9897  self.__dict__.update(d)
9898  return self._set_from_binary(p)
9899 
9900  __swig_destroy__ = _IMP_atom.delete_Copy
9901 
9902 # Register Copy in _IMP_atom:
9903 _IMP_atom.Copy_swigregister(Copy)
9904 
9905 def get_copy_index(h):
9906  r"""get_copy_index(Hierarchy h) -> int"""
9907  return _IMP_atom.get_copy_index(h)
9908 class Chain(Hierarchy):
9909  r"""Proxy of C++ IMP::atom::Chain class."""
9910 
9911  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9912 
9913  def __init__(self, *args):
9914  r"""
9915  __init__(Chain self) -> Chain
9916  __init__(Chain self, Model m, ParticleIndex id) -> Chain
9917  __init__(Chain self, _ParticleAdaptor d) -> Chain
9918  """
9919  _IMP_atom.Chain_swiginit(self, _IMP_atom.new_Chain(*args))
9920 
9921  def show(self, *args):
9922  r"""show(Chain self, _ostream out=std::cout)"""
9923  return _IMP_atom.Chain_show(self, *args)
9924 
9925  @staticmethod
9926  def setup_particle(*args):
9927  r"""
9928  setup_particle(Model m, ParticleIndex pi, std::string id) -> Chain
9929  setup_particle(_ParticleAdaptor pa, std::string id) -> Chain
9930  setup_particle(Model m, ParticleIndex pi, char id) -> Chain
9931  setup_particle(_ParticleAdaptor pa, char id) -> Chain
9932  setup_particle(Model m, ParticleIndex pi, Chain other) -> Chain
9933  setup_particle(_ParticleAdaptor pa, Chain other) -> Chain
9934  """
9935  return _IMP_atom.Chain_setup_particle(*args)
9936 
9937  @staticmethod
9938  def get_is_setup(*args):
9939  r"""
9940  get_is_setup(_ParticleAdaptor p) -> bool
9941  get_is_setup(Model m, ParticleIndex pi) -> bool
9942  """
9943  return _IMP_atom.Chain_get_is_setup(*args)
9944 
9945  def get_id(self):
9946  r"""get_id(Chain self) -> std::string"""
9947  return _IMP_atom.Chain_get_id(self)
9948 
9949  def set_id(self, c):
9950  r"""set_id(Chain self, std::string c)"""
9951  return _IMP_atom.Chain_set_id(self, c)
9952 
9953  def get_label_asym_id(self):
9954  r"""get_label_asym_id(Chain self) -> std::string"""
9955  return _IMP_atom.Chain_get_label_asym_id(self)
9956 
9957  def set_label_asym_id(self, c):
9958  r"""set_label_asym_id(Chain self, std::string c)"""
9959  return _IMP_atom.Chain_set_label_asym_id(self, c)
9960 
9961  def get_sequence(self):
9962  r"""get_sequence(Chain self) -> std::string"""
9963  return _IMP_atom.Chain_get_sequence(self)
9964 
9965  def set_sequence(self, sequence):
9966  r"""set_sequence(Chain self, std::string sequence)"""
9967  return _IMP_atom.Chain_set_sequence(self, sequence)
9968 
9969  def get_sequence_offset(self):
9970  r"""get_sequence_offset(Chain self) -> int"""
9971  return _IMP_atom.Chain_get_sequence_offset(self)
9972 
9973  def set_sequence_offset(self, offset):
9974  r"""set_sequence_offset(Chain self, int offset)"""
9975  return _IMP_atom.Chain_set_sequence_offset(self, offset)
9976 
9977  def get_uniprot_accession(self):
9978  r"""get_uniprot_accession(Chain self) -> std::string"""
9979  return _IMP_atom.Chain_get_uniprot_accession(self)
9980 
9981  def set_uniprot_accession(self, accession):
9982  r"""set_uniprot_accession(Chain self, std::string accession)"""
9983  return _IMP_atom.Chain_set_uniprot_accession(self, accession)
9984 
9985  def get_chain_type(self):
9986  r"""get_chain_type(Chain self) -> ChainType"""
9987  return _IMP_atom.Chain_get_chain_type(self)
9988 
9989  def set_chain_type(self, t):
9990  r"""set_chain_type(Chain self, ChainType t)"""
9991  return _IMP_atom.Chain_set_chain_type(self, t)
9992 
9993  @staticmethod
9994  def get_id_key():
9995  r"""get_id_key() -> SparseStringKey"""
9996  return _IMP_atom.Chain_get_id_key()
9997 
9998  @staticmethod
9999  def get_label_asym_id_key():
10000  r"""get_label_asym_id_key() -> SparseStringKey"""
10001  return _IMP_atom.Chain_get_label_asym_id_key()
10002 
10003  @staticmethod
10004  def get_sequence_key():
10005  r"""get_sequence_key() -> SparseStringKey"""
10006  return _IMP_atom.Chain_get_sequence_key()
10007 
10008  @staticmethod
10009  def get_sequence_offset_key():
10010  r"""get_sequence_offset_key() -> SparseIntKey"""
10011  return _IMP_atom.Chain_get_sequence_offset_key()
10012 
10013  @staticmethod
10014  def get_uniprot_accession_key():
10015  r"""get_uniprot_accession_key() -> SparseStringKey"""
10016  return _IMP_atom.Chain_get_uniprot_accession_key()
10017 
10018  @staticmethod
10019  def get_chain_type_key():
10020  r"""get_chain_type_key() -> SparseIntKey"""
10021  return _IMP_atom.Chain_get_chain_type_key()
10022 
10023  def add_attribute(self, *args):
10024  r"""
10025  add_attribute(Chain self, FloatKey k, IMP::Float v, bool opt)
10026  add_attribute(Chain self, FloatKey a0, IMP::Float a1)
10027  add_attribute(Chain self, IntKey a0, IMP::Int a1)
10028  add_attribute(Chain self, FloatsKey a0, IMP::Floats a1)
10029  add_attribute(Chain self, IntsKey a0, IMP::Ints a1)
10030  add_attribute(Chain self, StringKey a0, IMP::String a1)
10031  add_attribute(Chain self, ParticleIndexKey a0, Particle a1)
10032  add_attribute(Chain self, ObjectKey a0, Object a1)
10033  add_attribute(Chain self, SparseFloatKey a0, IMP::Float a1)
10034  add_attribute(Chain self, SparseIntKey a0, IMP::Int a1)
10035  add_attribute(Chain self, SparseStringKey a0, IMP::String a1)
10036  add_attribute(Chain self, SparseParticleIndexKey a0, ParticleIndex a1)
10037  """
10038  return _IMP_atom.Chain_add_attribute(self, *args)
10039 
10040  def get_value(self, *args):
10041  r"""
10042  get_value(Chain self, FloatKey a0) -> IMP::Float
10043  get_value(Chain self, IntKey a0) -> IMP::Int
10044  get_value(Chain self, FloatsKey a0) -> IMP::Floats
10045  get_value(Chain self, IntsKey a0) -> IMP::Ints
10046  get_value(Chain self, StringKey a0) -> IMP::String
10047  get_value(Chain self, ParticleIndexKey a0) -> Particle
10048  get_value(Chain self, ObjectKey a0) -> Object
10049  get_value(Chain self, SparseFloatKey a0) -> IMP::Float
10050  get_value(Chain self, SparseIntKey a0) -> IMP::Int
10051  get_value(Chain self, SparseStringKey a0) -> IMP::String
10052  get_value(Chain self, SparseParticleIndexKey a0) -> ParticleIndex
10053  """
10054  return _IMP_atom.Chain_get_value(self, *args)
10055 
10056  def set_value(self, *args):
10057  r"""
10058  set_value(Chain self, FloatKey a0, IMP::Float a1)
10059  set_value(Chain self, IntKey a0, IMP::Int a1)
10060  set_value(Chain self, FloatsKey a0, IMP::Floats a1)
10061  set_value(Chain self, IntsKey a0, IMP::Ints a1)
10062  set_value(Chain self, StringKey a0, IMP::String a1)
10063  set_value(Chain self, ParticleIndexKey a0, Particle a1)
10064  set_value(Chain self, ObjectKey a0, Object a1)
10065  set_value(Chain self, SparseFloatKey a0, IMP::Float a1)
10066  set_value(Chain self, SparseIntKey a0, IMP::Int a1)
10067  set_value(Chain self, SparseStringKey a0, IMP::String a1)
10068  set_value(Chain self, SparseParticleIndexKey a0, ParticleIndex a1)
10069  """
10070  return _IMP_atom.Chain_set_value(self, *args)
10071 
10072  def remove_attribute(self, *args):
10073  r"""
10074  remove_attribute(Chain self, FloatKey a0)
10075  remove_attribute(Chain self, IntKey a0)
10076  remove_attribute(Chain self, FloatsKey a0)
10077  remove_attribute(Chain self, IntsKey a0)
10078  remove_attribute(Chain self, StringKey a0)
10079  remove_attribute(Chain self, ParticleIndexKey a0)
10080  remove_attribute(Chain self, ObjectKey a0)
10081  remove_attribute(Chain self, SparseFloatKey a0)
10082  remove_attribute(Chain self, SparseIntKey a0)
10083  remove_attribute(Chain self, SparseStringKey a0)
10084  remove_attribute(Chain self, SparseParticleIndexKey a0)
10085  """
10086  return _IMP_atom.Chain_remove_attribute(self, *args)
10087 
10088  def has_attribute(self, *args):
10089  r"""
10090  has_attribute(Chain self, FloatKey a0) -> bool
10091  has_attribute(Chain self, IntKey a0) -> bool
10092  has_attribute(Chain self, FloatsKey a0) -> bool
10093  has_attribute(Chain self, IntsKey a0) -> bool
10094  has_attribute(Chain self, StringKey a0) -> bool
10095  has_attribute(Chain self, ParticleIndexKey a0) -> bool
10096  has_attribute(Chain self, ObjectKey a0) -> bool
10097  has_attribute(Chain self, SparseFloatKey a0) -> bool
10098  has_attribute(Chain self, SparseIntKey a0) -> bool
10099  has_attribute(Chain self, SparseStringKey a0) -> bool
10100  has_attribute(Chain self, SparseParticleIndexKey a0) -> bool
10101  """
10102  return _IMP_atom.Chain_has_attribute(self, *args)
10103 
10104  def get_derivative(self, a0):
10105  r"""get_derivative(Chain self, FloatKey a0) -> double"""
10106  return _IMP_atom.Chain_get_derivative(self, a0)
10107 
10108  def get_name(self):
10109  r"""get_name(Chain self) -> std::string"""
10110  return _IMP_atom.Chain_get_name(self)
10111 
10112  def clear_caches(self):
10113  r"""clear_caches(Chain self)"""
10114  return _IMP_atom.Chain_clear_caches(self)
10115 
10116  def set_name(self, a0):
10117  r"""set_name(Chain self, std::string a0)"""
10118  return _IMP_atom.Chain_set_name(self, a0)
10119 
10120  def set_check_level(self, a0):
10121  r"""set_check_level(Chain self, IMP::CheckLevel a0)"""
10122  return _IMP_atom.Chain_set_check_level(self, a0)
10123 
10124  def add_to_derivative(self, a0, a1, a2):
10125  r"""add_to_derivative(Chain self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
10126  return _IMP_atom.Chain_add_to_derivative(self, a0, a1, a2)
10127 
10128  def set_is_optimized(self, a0, a1):
10129  r"""set_is_optimized(Chain self, FloatKey a0, bool a1)"""
10130  return _IMP_atom.Chain_set_is_optimized(self, a0, a1)
10131 
10132  def get_is_optimized(self, a0):
10133  r"""get_is_optimized(Chain self, FloatKey a0) -> bool"""
10134  return _IMP_atom.Chain_get_is_optimized(self, a0)
10135 
10136  def get_check_level(self):
10137  r"""get_check_level(Chain self) -> IMP::CheckLevel"""
10138  return _IMP_atom.Chain_get_check_level(self)
10139 
10140  def __eq__(self, *args):
10141  r"""
10142  __eq__(Chain self, Chain o) -> bool
10143  __eq__(Chain self, Particle d) -> bool
10144  """
10145  return _IMP_atom.Chain___eq__(self, *args)
10146 
10147  def __ne__(self, *args):
10148  r"""
10149  __ne__(Chain self, Chain o) -> bool
10150  __ne__(Chain self, Particle d) -> bool
10151  """
10152  return _IMP_atom.Chain___ne__(self, *args)
10153 
10154  def __le__(self, *args):
10155  r"""
10156  __le__(Chain self, Chain o) -> bool
10157  __le__(Chain self, Particle d) -> bool
10158  """
10159  return _IMP_atom.Chain___le__(self, *args)
10160 
10161  def __lt__(self, *args):
10162  r"""
10163  __lt__(Chain self, Chain o) -> bool
10164  __lt__(Chain self, Particle d) -> bool
10165  """
10166  return _IMP_atom.Chain___lt__(self, *args)
10167 
10168  def __ge__(self, *args):
10169  r"""
10170  __ge__(Chain self, Chain o) -> bool
10171  __ge__(Chain self, Particle d) -> bool
10172  """
10173  return _IMP_atom.Chain___ge__(self, *args)
10174 
10175  def __gt__(self, *args):
10176  r"""
10177  __gt__(Chain self, Chain o) -> bool
10178  __gt__(Chain self, Particle d) -> bool
10179  """
10180  return _IMP_atom.Chain___gt__(self, *args)
10181 
10182  def __hash__(self):
10183  r"""__hash__(Chain self) -> std::size_t"""
10184  return _IMP_atom.Chain___hash__(self)
10185 
10186  def __str__(self):
10187  r"""__str__(Chain self) -> std::string"""
10188  return _IMP_atom.Chain___str__(self)
10189 
10190  def __repr__(self):
10191  r"""__repr__(Chain self) -> std::string"""
10192  return _IMP_atom.Chain___repr__(self)
10193 
10194  def _get_as_binary(self):
10195  r"""_get_as_binary(Chain self) -> PyObject *"""
10196  return _IMP_atom.Chain__get_as_binary(self)
10197 
10198  def _set_from_binary(self, p):
10199  r"""_set_from_binary(Chain self, PyObject * p)"""
10200  return _IMP_atom.Chain__set_from_binary(self, p)
10201 
10202  def __getstate__(self):
10203  p = self._get_as_binary()
10204  if len(self.__dict__) > 1:
10205  d = self.__dict__.copy()
10206  del d['this']
10207  p = (d, p)
10208  return p
10209 
10210  def __setstate__(self, p):
10211  if not hasattr(self, 'this'):
10212  self.__init__()
10213  if isinstance(p, tuple):
10214  d, p = p
10215  self.__dict__.update(d)
10216  return self._set_from_binary(p)
10217 
10218  __swig_destroy__ = _IMP_atom.delete_Chain
10219 
10220 # Register Chain in _IMP_atom:
10221 _IMP_atom.Chain_swigregister(Chain)
10222 UnknownChainType = cvar.UnknownChainType
10223 DPolypeptide = cvar.DPolypeptide
10224 LPolypeptide = cvar.LPolypeptide
10225 Polydeoxyribonucleotide = cvar.Polydeoxyribonucleotide
10226 Polyribonucleotide = cvar.Polyribonucleotide
10227 DPolysaccharide = cvar.DPolysaccharide
10228 LPolysaccharide = cvar.LPolysaccharide
10229 Protein = cvar.Protein
10230 DNA = cvar.DNA
10231 RNA = cvar.RNA
10232 
10233 
10234 def get_chain(h):
10235  r"""get_chain(Hierarchy h) -> Chain"""
10236  return _IMP_atom.get_chain(h)
10237 
10238 def get_chain_id(h):
10239  r"""get_chain_id(Hierarchy h) -> std::string"""
10240  return _IMP_atom.get_chain_id(h)
10241 class Selection(IMP._ParticleIndexesAdaptor):
10242  r"""Proxy of C++ IMP::atom::Selection class."""
10243 
10244  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10245  NONE = _IMP_atom.Selection_NONE
10246 
10247  C = _IMP_atom.Selection_C
10248 
10249  N = _IMP_atom.Selection_N
10250 
10251 
10252  def __init__(self, *args):
10253  r"""
10254  __init__(Selection self) -> Selection
10255  __init__(Selection self, Hierarchy h) -> Selection
10256  __init__(Selection self, Particle h) -> Selection
10257  __init__(Selection self, Model m, IMP::ParticleIndexes const & pis) -> Selection
10258  __init__(Selection self, IMP::ParticlesTemp const & h) -> Selection
10259  """
10260  _IMP_atom.Selection_swiginit(self, _IMP_atom.new_Selection(*args))
10261 
10262  def create_clone(self):
10263  r"""create_clone(Selection self) -> Selection"""
10264  return _IMP_atom.Selection_create_clone(self)
10265 
10266  def get_hierarchies(self):
10267  r"""get_hierarchies(Selection self) -> IMP::atom::Hierarchies"""
10268  return _IMP_atom.Selection_get_hierarchies(self)
10269 
10270  def set_molecules(self, mols):
10271  r"""set_molecules(Selection self, IMP::Strings mols)"""
10272  return _IMP_atom.Selection_set_molecules(self, mols)
10273 
10274  def set_resolution(self, r):
10275  r"""set_resolution(Selection self, double r)"""
10276  return _IMP_atom.Selection_set_resolution(self, r)
10277 
10278  def set_representation_type(self, t):
10279  r"""set_representation_type(Selection self, IMP::atom::RepresentationType t)"""
10280  return _IMP_atom.Selection_set_representation_type(self, t)
10281 
10282  def set_state_index(self, state):
10283  r"""set_state_index(Selection self, int state)"""
10284  return _IMP_atom.Selection_set_state_index(self, state)
10285 
10286  def set_state_indexes(self, states):
10287  r"""set_state_indexes(Selection self, IMP::Ints states)"""
10288  return _IMP_atom.Selection_set_state_indexes(self, states)
10289 
10290  def set_terminus(self, t):
10291  r"""set_terminus(Selection self, IMP::atom::Selection::Terminus t)"""
10292  return _IMP_atom.Selection_set_terminus(self, t)
10293 
10294  def set_element(self, e):
10295  r"""set_element(Selection self, IMP::atom::Element e)"""
10296  return _IMP_atom.Selection_set_element(self, e)
10297 
10298  def set_chain_ids(self, chains):
10299  r"""set_chain_ids(Selection self, IMP::Strings chains)"""
10300  return _IMP_atom.Selection_set_chain_ids(self, chains)
10301 
10302  def set_chains(self, chains):
10303  r"""set_chains(Selection self, IMP::Strings chains)"""
10304  return _IMP_atom.Selection_set_chains(self, chains)
10305 
10306  def set_residue_indexes(self, indexes):
10307  r"""set_residue_indexes(Selection self, IMP::Ints indexes)"""
10308  return _IMP_atom.Selection_set_residue_indexes(self, indexes)
10309 
10310  def set_atom_types(self, types):
10311  r"""set_atom_types(Selection self, IMP::atom::AtomTypes types)"""
10312  return _IMP_atom.Selection_set_atom_types(self, types)
10313 
10314  def set_residue_types(self, types):
10315  r"""set_residue_types(Selection self, IMP::atom::ResidueTypes types)"""
10316  return _IMP_atom.Selection_set_residue_types(self, types)
10317 
10318  def set_domains(self, names):
10319  r"""set_domains(Selection self, IMP::Strings names)"""
10320  return _IMP_atom.Selection_set_domains(self, names)
10321 
10322  def set_molecule(self, mol):
10323  r"""set_molecule(Selection self, std::string mol)"""
10324  return _IMP_atom.Selection_set_molecule(self, mol)
10325 
10326  def set_chain_id(self, c):
10327  r"""set_chain_id(Selection self, std::string c)"""
10328  return _IMP_atom.Selection_set_chain_id(self, c)
10329 
10330  def set_chain(self, c):
10331  r"""set_chain(Selection self, std::string c)"""
10332  return _IMP_atom.Selection_set_chain(self, c)
10333 
10334  def set_residue_index(self, i):
10335  r"""set_residue_index(Selection self, int i)"""
10336  return _IMP_atom.Selection_set_residue_index(self, i)
10337 
10338  def set_atom_type(self, types):
10339  r"""set_atom_type(Selection self, AtomType types)"""
10340  return _IMP_atom.Selection_set_atom_type(self, types)
10341 
10342  def set_residue_type(self, type):
10343  r"""set_residue_type(Selection self, ResidueType type)"""
10344  return _IMP_atom.Selection_set_residue_type(self, type)
10345 
10346  def set_domain(self, name):
10347  r"""set_domain(Selection self, std::string name)"""
10348  return _IMP_atom.Selection_set_domain(self, name)
10349 
10350  def set_copy_index(self, copy):
10351  r"""set_copy_index(Selection self, unsigned int copy)"""
10352  return _IMP_atom.Selection_set_copy_index(self, copy)
10353 
10354  def set_copy_indexes(self, copies):
10355  r"""set_copy_indexes(Selection self, IMP::Ints copies)"""
10356  return _IMP_atom.Selection_set_copy_indexes(self, copies)
10357 
10358  def set_particle_type(self, t):
10359  r"""set_particle_type(Selection self, ParticleType t)"""
10360  return _IMP_atom.Selection_set_particle_type(self, t)
10361 
10362  def set_particle_types(self, t):
10363  r"""set_particle_types(Selection self, IMP::core::ParticleTypes t)"""
10364  return _IMP_atom.Selection_set_particle_types(self, t)
10365 
10366  def set_hierarchy_types(self, types):
10367  r"""set_hierarchy_types(Selection self, IMP::Ints types)"""
10368  return _IMP_atom.Selection_set_hierarchy_types(self, types)
10369 
10370  def set_intersection(self, s):
10371  r"""set_intersection(Selection self, Selection s)"""
10372  return _IMP_atom.Selection_set_intersection(self, s)
10373 
10374  def set_union(self, s):
10375  r"""set_union(Selection self, Selection s)"""
10376  return _IMP_atom.Selection_set_union(self, s)
10377 
10378  def set_symmetric_difference(self, s):
10379  r"""set_symmetric_difference(Selection self, Selection s)"""
10380  return _IMP_atom.Selection_set_symmetric_difference(self, s)
10381 
10382  def set_difference(self, s):
10383  r"""set_difference(Selection self, Selection s)"""
10384  return _IMP_atom.Selection_set_difference(self, s)
10385 
10386  def get_selected_particles(self, with_representation=True):
10387  r"""get_selected_particles(Selection self, bool with_representation=True) -> IMP::ParticlesTemp"""
10388  return _IMP_atom.Selection_get_selected_particles(self, with_representation)
10389 
10390  def get_selected_particle_indexes(self, with_representation=True):
10391  r"""get_selected_particle_indexes(Selection self, bool with_representation=True) -> IMP::ParticleIndexes"""
10392  return _IMP_atom.Selection_get_selected_particle_indexes(self, with_representation)
10393 
10394  def show(self, *args):
10395  r"""show(Selection self, _ostream out=std::cout)"""
10396  return _IMP_atom.Selection_show(self, *args)
10397 
10398  def __str__(self):
10399  r"""__str__(Selection self) -> std::string"""
10400  return _IMP_atom.Selection___str__(self)
10401 
10402  def __repr__(self):
10403  r"""__repr__(Selection self) -> std::string"""
10404  return _IMP_atom.Selection___repr__(self)
10405 
10406  def __init__(self, hierarchy=None,
10407  hierarchies=None, **params):
10408  if hierarchy and hierarchies:
10409  raise RuntimeError("You can't pass both hierarchy and hierarchies to Selection")
10410  if hierarchy:
10411  this = _IMP_atom.new_Selection(hierarchy)
10412  try: self.this.append(this)
10413  except: self.this = this
10414  elif hierarchies:
10415  this = _IMP_atom.new_Selection(hierarchies)
10416  try: self.this.append(this)
10417  except: self.this = this
10418  else:
10419  raise ValueError("Either hierarchy or hierarchies must be provided.")
10420  for k in params.keys():
10421  eval("self.set_%s(params[k])"%k)
10422 
10423  def union(self, s):
10424  news = self.create_clone()
10425  news.union_update(s)
10426  return news
10427  def intersection(self, s):
10428  news = self.create_clone()
10429  news.intersection_update(s)
10430  return news
10431  def symmetric_difference(self, s):
10432  news = self.create_clone()
10433  news.symmetric_difference_update(s)
10434  return news
10435  def difference(self, s):
10436  news = self.create_clone()
10437  news.difference_update(s)
10438  return news
10439  def union_update(self, s):
10440  self.set_union(s)
10441  return self
10442  def intersection_update(self, s):
10443  self.set_intersection(s)
10444  return self
10445  def symmetric_difference_update(self, s):
10446  self.set_symmetric_difference(s)
10447  return self
10448  def difference_update(self, s):
10449  self.set_difference(s)
10450  return self
10451  __or__ = union
10452  __and__ = intersection
10453  __xor__ = symmetric_difference
10454  __sub__ = difference
10455  __ior__ = union_update
10456  __iand__ = intersection_update
10457  __ixor__ = symmetric_difference_update
10458  __isub__ = difference_update
10459 
10460  __swig_destroy__ = _IMP_atom.delete_Selection
10461 
10462 # Register Selection in _IMP_atom:
10463 _IMP_atom.Selection_swigregister(Selection)
10464 
10465 def create_distance_restraint(*args):
10466  r"""create_distance_restraint(Selection n0, Selection n1, double x0, double k, std::string name="Distance%1%") -> Restraint"""
10467  return _IMP_atom.create_distance_restraint(*args)
10468 
10470  r"""
10471  create_connectivity_restraint(IMP::atom::Selections const & s, double k, std::string name="Connectivity%1%") -> Restraint
10472  create_connectivity_restraint(IMP::atom::Selections const & s, double x0, double k, std::string name="Connectivity%1%") -> Restraint
10473  """
10474  return _IMP_atom.create_connectivity_restraint(*args)
10475 
10477  r"""
10478  create_internal_connectivity_restraint(Selection s, double k, std::string name="Connectivity%1%") -> Restraint
10479  create_internal_connectivity_restraint(Selection s, double x0, double k, std::string name="Connectivity%1%") -> Restraint
10480  """
10481  return _IMP_atom.create_internal_connectivity_restraint(*args)
10482 
10483 def create_cover(*args):
10484  r"""create_cover(Selection s, std::string name=std::string()) -> XYZR"""
10485  return _IMP_atom.create_cover(*args)
10486 
10487 def get_mass(*args):
10488  r"""
10489  get_mass(ResidueType c) -> double
10490  get_mass(Selection s) -> double
10491  """
10492  return _IMP_atom.get_mass(*args)
10493 
10494 def get_volume(s):
10495  r"""get_volume(Selection s) -> double"""
10496  return _IMP_atom.get_volume(s)
10497 
10498 def get_surface_area(s):
10499  r"""get_surface_area(Selection s) -> double"""
10500  return _IMP_atom.get_surface_area(s)
10501 
10502 def get_leaves(*args):
10503  r"""
10504  get_leaves(Hierarchy h) -> IMP::atom::Hierarchies
10505  get_leaves(IMP::atom::Hierarchies const & h) -> IMP::atom::Hierarchies
10506  get_leaves(Selection h) -> IMP::atom::Hierarchies
10507  """
10508  return _IMP_atom.get_leaves(*args)
10509 class SelectionGeometry(IMP.display.Geometry):
10510  r"""Proxy of C++ IMP::atom::SelectionGeometry class."""
10511 
10512  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10513 
10514  def __init__(self, *args):
10515  r"""__init__(SelectionGeometry self, Selection d, std::string name="Selection") -> SelectionGeometry"""
10516  _IMP_atom.SelectionGeometry_swiginit(self, _IMP_atom.new_SelectionGeometry(*args))
10517 
10518  def get_version_info(self):
10519  r"""get_version_info(SelectionGeometry self) -> VersionInfo"""
10520  return _IMP_atom.SelectionGeometry_get_version_info(self)
10521  __swig_destroy__ = _IMP_atom.delete_SelectionGeometry
10522 
10523  def __str__(self):
10524  r"""__str__(SelectionGeometry self) -> std::string"""
10525  return _IMP_atom.SelectionGeometry___str__(self)
10526 
10527  def __repr__(self):
10528  r"""__repr__(SelectionGeometry self) -> std::string"""
10529  return _IMP_atom.SelectionGeometry___repr__(self)
10530 
10531  @staticmethod
10532  def get_from(o):
10533  return _object_cast_to_SelectionGeometry(o)
10534 
10535 
10536 # Register SelectionGeometry in _IMP_atom:
10537 _IMP_atom.SelectionGeometry_swigregister(SelectionGeometry)
10538 
10539 def get_rmsd(*args):
10540  r"""
10541  get_rmsd(IMP::core::XYZs const & s0, IMP::core::XYZs const & s1) -> double
10542  get_rmsd(Selection s0, Selection s1) -> double
10543  """
10544  return _IMP_atom.get_rmsd(*args)
10545 
10546 def get_rmsd_transforming_first(*args):
10547  r"""
10548  get_rmsd_transforming_first(Transformation3D tr, IMP::core::XYZs const & s0, IMP::core::XYZs const & s1) -> double
10549  get_rmsd_transforming_first(Transformation3D tr, Selection s0, Selection s1) -> double
10550  """
10551  return _IMP_atom.get_rmsd_transforming_first(*args)
10552 
10553 def get_placement_score(source, target):
10554  r"""get_placement_score(IMP::core::XYZs const & source, IMP::core::XYZs const & target) -> IMP::FloatPair"""
10555  return _IMP_atom.get_placement_score(source, target)
10556 
10557 def get_component_placement_score(ref1, ref2, mdl1, mdl2):
10558  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"""
10559  return _IMP_atom.get_component_placement_score(ref1, ref2, mdl1, mdl2)
10560 
10561 def get_pairwise_rmsd_score(ref1, ref2, mdl1, mdl2):
10562  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"""
10563  return _IMP_atom.get_pairwise_rmsd_score(ref1, ref2, mdl1, mdl2)
10564 
10565 def get_radius_of_gyration(*args):
10566  r"""
10567  get_radius_of_gyration(Selection s) -> double
10568  get_radius_of_gyration(IMP::ParticlesTemp const & ps, bool weighted=True) -> double
10569  """
10570  return _IMP_atom.get_radius_of_gyration(*args)
10571 class ForceFieldParameters(IMP.Object):
10572  r"""Proxy of C++ IMP::atom::ForceFieldParameters class."""
10573 
10574  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10575 
10576  def __init__(self):
10577  r"""__init__(ForceFieldParameters self) -> ForceFieldParameters"""
10578  _IMP_atom.ForceFieldParameters_swiginit(self, _IMP_atom.new_ForceFieldParameters())
10579 
10580  def get_radius(self, atom):
10581  r"""get_radius(ForceFieldParameters self, Atom atom) -> IMP::Float"""
10582  return _IMP_atom.ForceFieldParameters_get_radius(self, atom)
10583 
10584  def get_epsilon(self, atom):
10585  r"""get_epsilon(ForceFieldParameters self, Atom atom) -> IMP::Float"""
10586  return _IMP_atom.ForceFieldParameters_get_epsilon(self, atom)
10587 
10588  def add_radii(self, *args):
10589  r"""add_radii(ForceFieldParameters self, Hierarchy mhd, double scale=1.0, FloatKey radius_key=IMP::FloatKey("radius"))"""
10590  return _IMP_atom.ForceFieldParameters_add_radii(self, *args)
10591 
10592  def add_lennard_jones_types(self, mhd):
10593  r"""add_lennard_jones_types(ForceFieldParameters self, Hierarchy mhd)"""
10594  return _IMP_atom.ForceFieldParameters_add_lennard_jones_types(self, mhd)
10595 
10596  def add_bonds(self, mhd):
10597  r"""add_bonds(ForceFieldParameters self, Hierarchy mhd)"""
10598  return _IMP_atom.ForceFieldParameters_add_bonds(self, mhd)
10599  __swig_destroy__ = _IMP_atom.delete_ForceFieldParameters
10600 
10601  def __str__(self):
10602  r"""__str__(ForceFieldParameters self) -> std::string"""
10603  return _IMP_atom.ForceFieldParameters___str__(self)
10604 
10605  def __repr__(self):
10606  r"""__repr__(ForceFieldParameters self) -> std::string"""
10607  return _IMP_atom.ForceFieldParameters___repr__(self)
10608 
10609  @staticmethod
10610  def get_from(o):
10611  return _object_cast_to_ForceFieldParameters(o)
10612 
10613 
10614 # Register ForceFieldParameters in _IMP_atom:
10615 _IMP_atom.ForceFieldParameters_swigregister(ForceFieldParameters)
10616 class CHARMMAtomTopology(object):
10617  r"""Proxy of C++ IMP::atom::CHARMMAtomTopology class."""
10618 
10619  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10620 
10621  def __init__(self, *args):
10622  r"""
10623  __init__(CHARMMAtomTopology self) -> CHARMMAtomTopology
10624  __init__(CHARMMAtomTopology self, std::string name) -> CHARMMAtomTopology
10625  __init__(CHARMMAtomTopology self, std::string name, CHARMMAtomTopology other) -> CHARMMAtomTopology
10626  """
10627  _IMP_atom.CHARMMAtomTopology_swiginit(self, _IMP_atom.new_CHARMMAtomTopology(*args))
10628 
10629  def get_name(self):
10630  r"""get_name(CHARMMAtomTopology self) -> std::string"""
10631  return _IMP_atom.CHARMMAtomTopology_get_name(self)
10632 
10633  def get_charmm_type(self):
10634  r"""get_charmm_type(CHARMMAtomTopology self) -> std::string"""
10635  return _IMP_atom.CHARMMAtomTopology_get_charmm_type(self)
10636 
10637  def get_charge(self):
10638  r"""get_charge(CHARMMAtomTopology self) -> double"""
10639  return _IMP_atom.CHARMMAtomTopology_get_charge(self)
10640 
10641  def set_charmm_type(self, charmm_type):
10642  r"""set_charmm_type(CHARMMAtomTopology self, std::string charmm_type)"""
10643  return _IMP_atom.CHARMMAtomTopology_set_charmm_type(self, charmm_type)
10644 
10645  def set_charge(self, charge):
10646  r"""set_charge(CHARMMAtomTopology self, double charge)"""
10647  return _IMP_atom.CHARMMAtomTopology_set_charge(self, charge)
10648 
10649  def show(self, *args):
10650  r"""show(CHARMMAtomTopology self, _ostream out=std::cout)"""
10651  return _IMP_atom.CHARMMAtomTopology_show(self, *args)
10652 
10653  def __str__(self):
10654  r"""__str__(CHARMMAtomTopology self) -> std::string"""
10655  return _IMP_atom.CHARMMAtomTopology___str__(self)
10656 
10657  def __repr__(self):
10658  r"""__repr__(CHARMMAtomTopology self) -> std::string"""
10659  return _IMP_atom.CHARMMAtomTopology___repr__(self)
10660 
10661  def _get_as_binary(self):
10662  r"""_get_as_binary(CHARMMAtomTopology self) -> PyObject *"""
10663  return _IMP_atom.CHARMMAtomTopology__get_as_binary(self)
10664 
10665  def _set_from_binary(self, p):
10666  r"""_set_from_binary(CHARMMAtomTopology self, PyObject * p)"""
10667  return _IMP_atom.CHARMMAtomTopology__set_from_binary(self, p)
10668 
10669  def __getstate__(self):
10670  p = self._get_as_binary()
10671  if len(self.__dict__) > 1:
10672  d = self.__dict__.copy()
10673  del d['this']
10674  p = (d, p)
10675  return p
10676 
10677  def __setstate__(self, p):
10678  if not hasattr(self, 'this'):
10679  self.__init__()
10680  if isinstance(p, tuple):
10681  d, p = p
10682  self.__dict__.update(d)
10683  return self._set_from_binary(p)
10684 
10685  __swig_destroy__ = _IMP_atom.delete_CHARMMAtomTopology
10686 
10687 # Register CHARMMAtomTopology in _IMP_atom:
10688 _IMP_atom.CHARMMAtomTopology_swigregister(CHARMMAtomTopology)
10689 class CHARMMBondEndpoint(object):
10690  r"""Proxy of C++ IMP::atom::CHARMMBondEndpoint class."""
10691 
10692  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10693 
10694  def __init__(self, atom_name, residue=None):
10695  r"""__init__(CHARMMBondEndpoint self, std::string atom_name, CHARMMResidueTopology residue=None) -> CHARMMBondEndpoint"""
10696  _IMP_atom.CHARMMBondEndpoint_swiginit(self, _IMP_atom.new_CHARMMBondEndpoint(atom_name, residue))
10697 
10698  def get_atom_name(self):
10699  r"""get_atom_name(CHARMMBondEndpoint self) -> std::string"""
10700  return _IMP_atom.CHARMMBondEndpoint_get_atom_name(self)
10701 
10702  def get_atom(self, current_residue, previous_residue, next_residue, resmap):
10703  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"""
10704  return _IMP_atom.CHARMMBondEndpoint_get_atom(self, current_residue, previous_residue, next_residue, resmap)
10705 
10706  def show(self, *args):
10707  r"""show(CHARMMBondEndpoint self, _ostream out=std::cout)"""
10708  return _IMP_atom.CHARMMBondEndpoint_show(self, *args)
10709 
10710  def __str__(self):
10711  r"""__str__(CHARMMBondEndpoint self) -> std::string"""
10712  return _IMP_atom.CHARMMBondEndpoint___str__(self)
10713 
10714  def __repr__(self):
10715  r"""__repr__(CHARMMBondEndpoint self) -> std::string"""
10716  return _IMP_atom.CHARMMBondEndpoint___repr__(self)
10717  __swig_destroy__ = _IMP_atom.delete_CHARMMBondEndpoint
10718 
10719 # Register CHARMMBondEndpoint in _IMP_atom:
10720 _IMP_atom.CHARMMBondEndpoint_swigregister(CHARMMBondEndpoint)
10721 class CHARMMDihedral(object):
10722  r"""Proxy of C++ IMP::atom::CHARMMConnection< 4 > class."""
10723 
10724  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10725  __repr__ = _swig_repr
10726 
10727  def __init__(self, atoms):
10728  r"""__init__(CHARMMDihedral self, IMP::Strings const & atoms) -> CHARMMDihedral"""
10729  _IMP_atom.CHARMMDihedral_swiginit(self, _IMP_atom.new_CHARMMDihedral(atoms))
10730 
10731  def get_endpoint(self, i):
10732  r"""get_endpoint(CHARMMDihedral self, unsigned int i) -> CHARMMBondEndpoint"""
10733  return _IMP_atom.CHARMMDihedral_get_endpoint(self, i)
10734 
10735  def get_contains_atom(self, name):
10736  r"""get_contains_atom(CHARMMDihedral self, std::string name) -> bool"""
10737  return _IMP_atom.CHARMMDihedral_get_contains_atom(self, name)
10738 
10739  def show(self, *args):
10740  r"""show(CHARMMDihedral self, _ostream out=std::cout)"""
10741  return _IMP_atom.CHARMMDihedral_show(self, *args)
10742  __swig_destroy__ = _IMP_atom.delete_CHARMMDihedral
10743 
10744 # Register CHARMMDihedral in _IMP_atom:
10745 _IMP_atom.CHARMMDihedral_swigregister(CHARMMDihedral)
10746 class CHARMMInternalCoordinate(CHARMMDihedral):
10747  r"""Proxy of C++ IMP::atom::CHARMMInternalCoordinate class."""
10748 
10749  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10750 
10751  def __init__(self, *args):
10752  r"""
10753  __init__(CHARMMInternalCoordinate self, IMP::Strings const & atoms, float first_distance, float first_angle, float dihedral, float second_angle, float second_distance, bool improper) -> CHARMMInternalCoordinate
10754  __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
10755  """
10756  _IMP_atom.CHARMMInternalCoordinate_swiginit(self, _IMP_atom.new_CHARMMInternalCoordinate(*args))
10757 
10758  def get_first_distance(self):
10759  r"""get_first_distance(CHARMMInternalCoordinate self) -> float"""
10760  return _IMP_atom.CHARMMInternalCoordinate_get_first_distance(self)
10761 
10762  def get_second_distance(self):
10763  r"""get_second_distance(CHARMMInternalCoordinate self) -> float"""
10764  return _IMP_atom.CHARMMInternalCoordinate_get_second_distance(self)
10765 
10766  def get_first_angle(self):
10767  r"""get_first_angle(CHARMMInternalCoordinate self) -> float"""
10768  return _IMP_atom.CHARMMInternalCoordinate_get_first_angle(self)
10769 
10770  def get_second_angle(self):
10771  r"""get_second_angle(CHARMMInternalCoordinate self) -> float"""
10772  return _IMP_atom.CHARMMInternalCoordinate_get_second_angle(self)
10773 
10774  def get_dihedral(self):
10775  r"""get_dihedral(CHARMMInternalCoordinate self) -> float"""
10776  return _IMP_atom.CHARMMInternalCoordinate_get_dihedral(self)
10777 
10778  def get_improper(self):
10779  r"""get_improper(CHARMMInternalCoordinate self) -> bool"""
10780  return _IMP_atom.CHARMMInternalCoordinate_get_improper(self)
10781 
10782  def show(self, *args):
10783  r"""show(CHARMMInternalCoordinate self, _ostream out=std::cout)"""
10784  return _IMP_atom.CHARMMInternalCoordinate_show(self, *args)
10785 
10786  def __str__(self):
10787  r"""__str__(CHARMMInternalCoordinate self) -> std::string"""
10788  return _IMP_atom.CHARMMInternalCoordinate___str__(self)
10789 
10790  def __repr__(self):
10791  r"""__repr__(CHARMMInternalCoordinate self) -> std::string"""
10792  return _IMP_atom.CHARMMInternalCoordinate___repr__(self)
10793  __swig_destroy__ = _IMP_atom.delete_CHARMMInternalCoordinate
10794 
10795 # Register CHARMMInternalCoordinate in _IMP_atom:
10796 _IMP_atom.CHARMMInternalCoordinate_swigregister(CHARMMInternalCoordinate)
10797 class CHARMMResidueTopologyBase(IMP.Object):
10798  r"""Proxy of C++ IMP::atom::CHARMMResidueTopologyBase class."""
10799 
10800  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10801 
10802  def __init__(self, *args, **kwargs):
10803  raise AttributeError("No constructor defined")
10804 
10805  def get_type(self):
10806  r"""get_type(CHARMMResidueTopologyBase self) -> std::string"""
10807  return _IMP_atom.CHARMMResidueTopologyBase_get_type(self)
10808 
10809  def get_number_of_atoms(self):
10810  r"""get_number_of_atoms(CHARMMResidueTopologyBase self) -> unsigned int"""
10811  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_atoms(self)
10812 
10813  def add_atom(self, atom):
10814  r"""add_atom(CHARMMResidueTopologyBase self, CHARMMAtomTopology atom)"""
10815  return _IMP_atom.CHARMMResidueTopologyBase_add_atom(self, atom)
10816 
10817  def get_atom(self, *args):
10818  r"""
10819  get_atom(CHARMMResidueTopologyBase self, unsigned int i) -> CHARMMAtomTopology
10820  get_atom(CHARMMResidueTopologyBase self, AtomType type) -> CHARMMAtomTopology
10821  get_atom(CHARMMResidueTopologyBase self, std::string name) -> CHARMMAtomTopology
10822  """
10823  return _IMP_atom.CHARMMResidueTopologyBase_get_atom(self, *args)
10824 
10825  def get_number_of_bonds(self):
10826  r"""get_number_of_bonds(CHARMMResidueTopologyBase self) -> unsigned int"""
10827  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_bonds(self)
10828 
10829  def add_bond(self, bond):
10830  r"""add_bond(CHARMMResidueTopologyBase self, CHARMMBond bond)"""
10831  return _IMP_atom.CHARMMResidueTopologyBase_add_bond(self, bond)
10832 
10833  def get_number_of_angles(self):
10834  r"""get_number_of_angles(CHARMMResidueTopologyBase self) -> unsigned int"""
10835  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_angles(self)
10836 
10837  def add_angle(self, bond):
10838  r"""add_angle(CHARMMResidueTopologyBase self, CHARMMAngle bond)"""
10839  return _IMP_atom.CHARMMResidueTopologyBase_add_angle(self, bond)
10840 
10841  def get_number_of_dihedrals(self):
10842  r"""get_number_of_dihedrals(CHARMMResidueTopologyBase self) -> unsigned int"""
10843  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_dihedrals(self)
10844 
10845  def add_dihedral(self, bond):
10846  r"""add_dihedral(CHARMMResidueTopologyBase self, CHARMMDihedral bond)"""
10847  return _IMP_atom.CHARMMResidueTopologyBase_add_dihedral(self, bond)
10848 
10849  def get_number_of_impropers(self):
10850  r"""get_number_of_impropers(CHARMMResidueTopologyBase self) -> unsigned int"""
10851  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_impropers(self)
10852 
10853  def add_improper(self, bond):
10854  r"""add_improper(CHARMMResidueTopologyBase self, CHARMMDihedral bond)"""
10855  return _IMP_atom.CHARMMResidueTopologyBase_add_improper(self, bond)
10856 
10857  def get_number_of_internal_coordinates(self):
10858  r"""get_number_of_internal_coordinates(CHARMMResidueTopologyBase self) -> unsigned int"""
10859  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_internal_coordinates(self)
10860 
10861  def add_internal_coordinate(self, ic):
10862  r"""add_internal_coordinate(CHARMMResidueTopologyBase self, CHARMMInternalCoordinate ic)"""
10863  return _IMP_atom.CHARMMResidueTopologyBase_add_internal_coordinate(self, ic)
10864 
10865  def get_internal_coordinate(self, index):
10866  r"""get_internal_coordinate(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMInternalCoordinate"""
10867  return _IMP_atom.CHARMMResidueTopologyBase_get_internal_coordinate(self, index)
10868 
10869  def get_bond(self, index):
10870  r"""get_bond(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMBond"""
10871  return _IMP_atom.CHARMMResidueTopologyBase_get_bond(self, index)
10872 
10873  def get_angle(self, index):
10874  r"""get_angle(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMAngle"""
10875  return _IMP_atom.CHARMMResidueTopologyBase_get_angle(self, index)
10876 
10877  def get_dihedral(self, index):
10878  r"""get_dihedral(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMDihedral"""
10879  return _IMP_atom.CHARMMResidueTopologyBase_get_dihedral(self, index)
10880 
10881  def get_improper(self, index):
10882  r"""get_improper(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMDihedral"""
10883  return _IMP_atom.CHARMMResidueTopologyBase_get_improper(self, index)
10884 
10885  def get_version_info(self):
10886  r"""get_version_info(CHARMMResidueTopologyBase self) -> VersionInfo"""
10887  return _IMP_atom.CHARMMResidueTopologyBase_get_version_info(self)
10888  __swig_destroy__ = _IMP_atom.delete_CHARMMResidueTopologyBase
10889 
10890  def __str__(self):
10891  r"""__str__(CHARMMResidueTopologyBase self) -> std::string"""
10892  return _IMP_atom.CHARMMResidueTopologyBase___str__(self)
10893 
10894  def __repr__(self):
10895  r"""__repr__(CHARMMResidueTopologyBase self) -> std::string"""
10896  return _IMP_atom.CHARMMResidueTopologyBase___repr__(self)
10897 
10898  @staticmethod
10899  def get_from(o):
10900  return _object_cast_to_CHARMMResidueTopologyBase(o)
10901 
10902 
10903 # Register CHARMMResidueTopologyBase in _IMP_atom:
10904 _IMP_atom.CHARMMResidueTopologyBase_swigregister(CHARMMResidueTopologyBase)
10905 class CHARMMIdealResidueTopology(CHARMMResidueTopologyBase):
10906  r"""Proxy of C++ IMP::atom::CHARMMIdealResidueTopology class."""
10907 
10908  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10909 
10910  def __init__(self, *args):
10911  r"""
10912  __init__(CHARMMIdealResidueTopology self, std::string type) -> CHARMMIdealResidueTopology
10913  __init__(CHARMMIdealResidueTopology self, ResidueType type) -> CHARMMIdealResidueTopology
10914  """
10915  _IMP_atom.CHARMMIdealResidueTopology_swiginit(self, _IMP_atom.new_CHARMMIdealResidueTopology(*args))
10916 
10917  def remove_atom(self, name):
10918  r"""remove_atom(CHARMMIdealResidueTopology self, std::string name)"""
10919  return _IMP_atom.CHARMMIdealResidueTopology_remove_atom(self, name)
10920 
10921  def set_default_first_patch(self, patch):
10922  r"""set_default_first_patch(CHARMMIdealResidueTopology self, std::string patch)"""
10923  return _IMP_atom.CHARMMIdealResidueTopology_set_default_first_patch(self, patch)
10924 
10925  def set_default_last_patch(self, patch):
10926  r"""set_default_last_patch(CHARMMIdealResidueTopology self, std::string patch)"""
10927  return _IMP_atom.CHARMMIdealResidueTopology_set_default_last_patch(self, patch)
10928 
10929  def get_default_first_patch(self):
10930  r"""get_default_first_patch(CHARMMIdealResidueTopology self) -> std::string"""
10931  return _IMP_atom.CHARMMIdealResidueTopology_get_default_first_patch(self)
10932 
10933  def get_default_last_patch(self):
10934  r"""get_default_last_patch(CHARMMIdealResidueTopology self) -> std::string"""
10935  return _IMP_atom.CHARMMIdealResidueTopology_get_default_last_patch(self)
10936  __swig_destroy__ = _IMP_atom.delete_CHARMMIdealResidueTopology
10937 
10938  def __str__(self):
10939  r"""__str__(CHARMMIdealResidueTopology self) -> std::string"""
10940  return _IMP_atom.CHARMMIdealResidueTopology___str__(self)
10941 
10942  def __repr__(self):
10943  r"""__repr__(CHARMMIdealResidueTopology self) -> std::string"""
10944  return _IMP_atom.CHARMMIdealResidueTopology___repr__(self)
10945 
10946  @staticmethod
10947  def get_from(o):
10948  return _object_cast_to_CHARMMIdealResidueTopology(o)
10949 
10950 
10951 # Register CHARMMIdealResidueTopology in _IMP_atom:
10952 _IMP_atom.CHARMMIdealResidueTopology_swigregister(CHARMMIdealResidueTopology)
10953 class CHARMMPatch(CHARMMResidueTopologyBase):
10954  r"""Proxy of C++ IMP::atom::CHARMMPatch class."""
10955 
10956  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10957 
10958  def __init__(self, type):
10959  r"""__init__(CHARMMPatch self, std::string type) -> CHARMMPatch"""
10960  _IMP_atom.CHARMMPatch_swiginit(self, _IMP_atom.new_CHARMMPatch(type))
10961 
10962  def add_removed_atom(self, name):
10963  r"""add_removed_atom(CHARMMPatch self, std::string name)"""
10964  return _IMP_atom.CHARMMPatch_add_removed_atom(self, name)
10965 
10966  def get_number_of_removed_atoms(self):
10967  r"""get_number_of_removed_atoms(CHARMMPatch self) -> unsigned int"""
10968  return _IMP_atom.CHARMMPatch_get_number_of_removed_atoms(self)
10969 
10970  def get_removed_atom(self, i):
10971  r"""get_removed_atom(CHARMMPatch self, unsigned int i) -> std::string"""
10972  return _IMP_atom.CHARMMPatch_get_removed_atom(self, i)
10973 
10974  def apply(self, *args):
10975  r"""
10976  apply(CHARMMPatch self, CHARMMResidueTopology res)
10977  apply(CHARMMPatch self, CHARMMResidueTopology res1, CHARMMResidueTopology res2)
10978  """
10979  return _IMP_atom.CHARMMPatch_apply(self, *args)
10980  __swig_destroy__ = _IMP_atom.delete_CHARMMPatch
10981 
10982  def __str__(self):
10983  r"""__str__(CHARMMPatch self) -> std::string"""
10984  return _IMP_atom.CHARMMPatch___str__(self)
10985 
10986  def __repr__(self):
10987  r"""__repr__(CHARMMPatch self) -> std::string"""
10988  return _IMP_atom.CHARMMPatch___repr__(self)
10989 
10990  @staticmethod
10991  def get_from(o):
10992  return _object_cast_to_CHARMMPatch(o)
10993 
10994 
10995 # Register CHARMMPatch in _IMP_atom:
10996 _IMP_atom.CHARMMPatch_swigregister(CHARMMPatch)
10997 class CHARMMResidueTopology(CHARMMIdealResidueTopology):
10998  r"""Proxy of C++ IMP::atom::CHARMMResidueTopology class."""
10999 
11000  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11001 
11002  def __init__(self, *args):
11003  r"""
11004  __init__(CHARMMResidueTopology self, ResidueType type) -> CHARMMResidueTopology
11005  __init__(CHARMMResidueTopology self, CHARMMIdealResidueTopology ideal) -> CHARMMResidueTopology
11006  """
11007  _IMP_atom.CHARMMResidueTopology_swiginit(self, _IMP_atom.new_CHARMMResidueTopology(*args))
11008 
11009  def get_patched(self):
11010  r"""get_patched(CHARMMResidueTopology self) -> bool"""
11011  return _IMP_atom.CHARMMResidueTopology_get_patched(self)
11012 
11013  def set_patched(self, patched):
11014  r"""set_patched(CHARMMResidueTopology self, bool patched)"""
11015  return _IMP_atom.CHARMMResidueTopology_set_patched(self, patched)
11016  __swig_destroy__ = _IMP_atom.delete_CHARMMResidueTopology
11017 
11018  def __str__(self):
11019  r"""__str__(CHARMMResidueTopology self) -> std::string"""
11020  return _IMP_atom.CHARMMResidueTopology___str__(self)
11021 
11022  def __repr__(self):
11023  r"""__repr__(CHARMMResidueTopology self) -> std::string"""
11024  return _IMP_atom.CHARMMResidueTopology___repr__(self)
11025 
11026  @staticmethod
11027  def get_from(o):
11028  return _object_cast_to_CHARMMResidueTopology(o)
11029 
11030 
11031 # Register CHARMMResidueTopology in _IMP_atom:
11032 _IMP_atom.CHARMMResidueTopology_swigregister(CHARMMResidueTopology)
11033 class CHARMMAtom(Atom):
11034  r"""Proxy of C++ IMP::atom::CHARMMAtom class."""
11035 
11036  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11037 
11038  def __init__(self, *args):
11039  r"""
11040  __init__(CHARMMAtom self) -> CHARMMAtom
11041  __init__(CHARMMAtom self, Model m, ParticleIndex id) -> CHARMMAtom
11042  __init__(CHARMMAtom self, _ParticleAdaptor d) -> CHARMMAtom
11043  """
11044  _IMP_atom.CHARMMAtom_swiginit(self, _IMP_atom.new_CHARMMAtom(*args))
11045 
11046  def show(self, *args):
11047  r"""show(CHARMMAtom self, _ostream out=std::cout)"""
11048  return _IMP_atom.CHARMMAtom_show(self, *args)
11049 
11050  @staticmethod
11051  def setup_particle(*args):
11052  r"""
11053  setup_particle(Model m, ParticleIndex pi, IMP::String charmm_type) -> CHARMMAtom
11054  setup_particle(_ParticleAdaptor pa, IMP::String charmm_type) -> CHARMMAtom
11055  """
11056  return _IMP_atom.CHARMMAtom_setup_particle(*args)
11057 
11058  def get_charmm_type(self):
11059  r"""get_charmm_type(CHARMMAtom self) -> IMP::String"""
11060  return _IMP_atom.CHARMMAtom_get_charmm_type(self)
11061 
11062  def set_charmm_type(self, t):
11063  r"""set_charmm_type(CHARMMAtom self, IMP::String t)"""
11064  return _IMP_atom.CHARMMAtom_set_charmm_type(self, t)
11065 
11066  @staticmethod
11067  def get_is_setup(*args):
11068  r"""
11069  get_is_setup(_ParticleAdaptor p) -> bool
11070  get_is_setup(Model m, ParticleIndex pi) -> bool
11071  """
11072  return _IMP_atom.CHARMMAtom_get_is_setup(*args)
11073 
11074  @staticmethod
11075  def get_charmm_type_key():
11076  r"""get_charmm_type_key() -> StringKey"""
11077  return _IMP_atom.CHARMMAtom_get_charmm_type_key()
11078 
11079  def add_attribute(self, *args):
11080  r"""
11081  add_attribute(CHARMMAtom self, FloatKey k, IMP::Float v, bool opt)
11082  add_attribute(CHARMMAtom self, FloatKey a0, IMP::Float a1)
11083  add_attribute(CHARMMAtom self, IntKey a0, IMP::Int a1)
11084  add_attribute(CHARMMAtom self, FloatsKey a0, IMP::Floats a1)
11085  add_attribute(CHARMMAtom self, IntsKey a0, IMP::Ints a1)
11086  add_attribute(CHARMMAtom self, StringKey a0, IMP::String a1)
11087  add_attribute(CHARMMAtom self, ParticleIndexKey a0, Particle a1)
11088  add_attribute(CHARMMAtom self, ObjectKey a0, Object a1)
11089  add_attribute(CHARMMAtom self, SparseFloatKey a0, IMP::Float a1)
11090  add_attribute(CHARMMAtom self, SparseIntKey a0, IMP::Int a1)
11091  add_attribute(CHARMMAtom self, SparseStringKey a0, IMP::String a1)
11092  add_attribute(CHARMMAtom self, SparseParticleIndexKey a0, ParticleIndex a1)
11093  """
11094  return _IMP_atom.CHARMMAtom_add_attribute(self, *args)
11095 
11096  def get_value(self, *args):
11097  r"""
11098  get_value(CHARMMAtom self, FloatKey a0) -> IMP::Float
11099  get_value(CHARMMAtom self, IntKey a0) -> IMP::Int
11100  get_value(CHARMMAtom self, FloatsKey a0) -> IMP::Floats
11101  get_value(CHARMMAtom self, IntsKey a0) -> IMP::Ints
11102  get_value(CHARMMAtom self, StringKey a0) -> IMP::String
11103  get_value(CHARMMAtom self, ParticleIndexKey a0) -> Particle
11104  get_value(CHARMMAtom self, ObjectKey a0) -> Object
11105  get_value(CHARMMAtom self, SparseFloatKey a0) -> IMP::Float
11106  get_value(CHARMMAtom self, SparseIntKey a0) -> IMP::Int
11107  get_value(CHARMMAtom self, SparseStringKey a0) -> IMP::String
11108  get_value(CHARMMAtom self, SparseParticleIndexKey a0) -> ParticleIndex
11109  """
11110  return _IMP_atom.CHARMMAtom_get_value(self, *args)
11111 
11112  def set_value(self, *args):
11113  r"""
11114  set_value(CHARMMAtom self, FloatKey a0, IMP::Float a1)
11115  set_value(CHARMMAtom self, IntKey a0, IMP::Int a1)
11116  set_value(CHARMMAtom self, FloatsKey a0, IMP::Floats a1)
11117  set_value(CHARMMAtom self, IntsKey a0, IMP::Ints a1)
11118  set_value(CHARMMAtom self, StringKey a0, IMP::String a1)
11119  set_value(CHARMMAtom self, ParticleIndexKey a0, Particle a1)
11120  set_value(CHARMMAtom self, ObjectKey a0, Object a1)
11121  set_value(CHARMMAtom self, SparseFloatKey a0, IMP::Float a1)
11122  set_value(CHARMMAtom self, SparseIntKey a0, IMP::Int a1)
11123  set_value(CHARMMAtom self, SparseStringKey a0, IMP::String a1)
11124  set_value(CHARMMAtom self, SparseParticleIndexKey a0, ParticleIndex a1)
11125  """
11126  return _IMP_atom.CHARMMAtom_set_value(self, *args)
11127 
11128  def remove_attribute(self, *args):
11129  r"""
11130  remove_attribute(CHARMMAtom self, FloatKey a0)
11131  remove_attribute(CHARMMAtom self, IntKey a0)
11132  remove_attribute(CHARMMAtom self, FloatsKey a0)
11133  remove_attribute(CHARMMAtom self, IntsKey a0)
11134  remove_attribute(CHARMMAtom self, StringKey a0)
11135  remove_attribute(CHARMMAtom self, ParticleIndexKey a0)
11136  remove_attribute(CHARMMAtom self, ObjectKey a0)
11137  remove_attribute(CHARMMAtom self, SparseFloatKey a0)
11138  remove_attribute(CHARMMAtom self, SparseIntKey a0)
11139  remove_attribute(CHARMMAtom self, SparseStringKey a0)
11140  remove_attribute(CHARMMAtom self, SparseParticleIndexKey a0)
11141  """
11142  return _IMP_atom.CHARMMAtom_remove_attribute(self, *args)
11143 
11144  def has_attribute(self, *args):
11145  r"""
11146  has_attribute(CHARMMAtom self, FloatKey a0) -> bool
11147  has_attribute(CHARMMAtom self, IntKey a0) -> bool
11148  has_attribute(CHARMMAtom self, FloatsKey a0) -> bool
11149  has_attribute(CHARMMAtom self, IntsKey a0) -> bool
11150  has_attribute(CHARMMAtom self, StringKey a0) -> bool
11151  has_attribute(CHARMMAtom self, ParticleIndexKey a0) -> bool
11152  has_attribute(CHARMMAtom self, ObjectKey a0) -> bool
11153  has_attribute(CHARMMAtom self, SparseFloatKey a0) -> bool
11154  has_attribute(CHARMMAtom self, SparseIntKey a0) -> bool
11155  has_attribute(CHARMMAtom self, SparseStringKey a0) -> bool
11156  has_attribute(CHARMMAtom self, SparseParticleIndexKey a0) -> bool
11157  """
11158  return _IMP_atom.CHARMMAtom_has_attribute(self, *args)
11159 
11160  def get_derivative(self, a0):
11161  r"""get_derivative(CHARMMAtom self, FloatKey a0) -> double"""
11162  return _IMP_atom.CHARMMAtom_get_derivative(self, a0)
11163 
11164  def get_name(self):
11165  r"""get_name(CHARMMAtom self) -> std::string"""
11166  return _IMP_atom.CHARMMAtom_get_name(self)
11167 
11168  def clear_caches(self):
11169  r"""clear_caches(CHARMMAtom self)"""
11170  return _IMP_atom.CHARMMAtom_clear_caches(self)
11171 
11172  def set_name(self, a0):
11173  r"""set_name(CHARMMAtom self, std::string a0)"""
11174  return _IMP_atom.CHARMMAtom_set_name(self, a0)
11175 
11176  def set_check_level(self, a0):
11177  r"""set_check_level(CHARMMAtom self, IMP::CheckLevel a0)"""
11178  return _IMP_atom.CHARMMAtom_set_check_level(self, a0)
11179 
11180  def add_to_derivative(self, a0, a1, a2):
11181  r"""add_to_derivative(CHARMMAtom self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
11182  return _IMP_atom.CHARMMAtom_add_to_derivative(self, a0, a1, a2)
11183 
11184  def set_is_optimized(self, a0, a1):
11185  r"""set_is_optimized(CHARMMAtom self, FloatKey a0, bool a1)"""
11186  return _IMP_atom.CHARMMAtom_set_is_optimized(self, a0, a1)
11187 
11188  def get_is_optimized(self, a0):
11189  r"""get_is_optimized(CHARMMAtom self, FloatKey a0) -> bool"""
11190  return _IMP_atom.CHARMMAtom_get_is_optimized(self, a0)
11191 
11192  def get_check_level(self):
11193  r"""get_check_level(CHARMMAtom self) -> IMP::CheckLevel"""
11194  return _IMP_atom.CHARMMAtom_get_check_level(self)
11195 
11196  def __eq__(self, *args):
11197  r"""
11198  __eq__(CHARMMAtom self, CHARMMAtom o) -> bool
11199  __eq__(CHARMMAtom self, Particle d) -> bool
11200  """
11201  return _IMP_atom.CHARMMAtom___eq__(self, *args)
11202 
11203  def __ne__(self, *args):
11204  r"""
11205  __ne__(CHARMMAtom self, CHARMMAtom o) -> bool
11206  __ne__(CHARMMAtom self, Particle d) -> bool
11207  """
11208  return _IMP_atom.CHARMMAtom___ne__(self, *args)
11209 
11210  def __le__(self, *args):
11211  r"""
11212  __le__(CHARMMAtom self, CHARMMAtom o) -> bool
11213  __le__(CHARMMAtom self, Particle d) -> bool
11214  """
11215  return _IMP_atom.CHARMMAtom___le__(self, *args)
11216 
11217  def __lt__(self, *args):
11218  r"""
11219  __lt__(CHARMMAtom self, CHARMMAtom o) -> bool
11220  __lt__(CHARMMAtom self, Particle d) -> bool
11221  """
11222  return _IMP_atom.CHARMMAtom___lt__(self, *args)
11223 
11224  def __ge__(self, *args):
11225  r"""
11226  __ge__(CHARMMAtom self, CHARMMAtom o) -> bool
11227  __ge__(CHARMMAtom self, Particle d) -> bool
11228  """
11229  return _IMP_atom.CHARMMAtom___ge__(self, *args)
11230 
11231  def __gt__(self, *args):
11232  r"""
11233  __gt__(CHARMMAtom self, CHARMMAtom o) -> bool
11234  __gt__(CHARMMAtom self, Particle d) -> bool
11235  """
11236  return _IMP_atom.CHARMMAtom___gt__(self, *args)
11237 
11238  def __hash__(self):
11239  r"""__hash__(CHARMMAtom self) -> std::size_t"""
11240  return _IMP_atom.CHARMMAtom___hash__(self)
11241 
11242  def __str__(self):
11243  r"""__str__(CHARMMAtom self) -> std::string"""
11244  return _IMP_atom.CHARMMAtom___str__(self)
11245 
11246  def __repr__(self):
11247  r"""__repr__(CHARMMAtom self) -> std::string"""
11248  return _IMP_atom.CHARMMAtom___repr__(self)
11249 
11250  def _get_as_binary(self):
11251  r"""_get_as_binary(CHARMMAtom self) -> PyObject *"""
11252  return _IMP_atom.CHARMMAtom__get_as_binary(self)
11253 
11254  def _set_from_binary(self, p):
11255  r"""_set_from_binary(CHARMMAtom self, PyObject * p)"""
11256  return _IMP_atom.CHARMMAtom__set_from_binary(self, p)
11257 
11258  def __getstate__(self):
11259  p = self._get_as_binary()
11260  if len(self.__dict__) > 1:
11261  d = self.__dict__.copy()
11262  del d['this']
11263  p = (d, p)
11264  return p
11265 
11266  def __setstate__(self, p):
11267  if not hasattr(self, 'this'):
11268  self.__init__()
11269  if isinstance(p, tuple):
11270  d, p = p
11271  self.__dict__.update(d)
11272  return self._set_from_binary(p)
11273 
11274  __swig_destroy__ = _IMP_atom.delete_CHARMMAtom
11275 
11276 # Register CHARMMAtom in _IMP_atom:
11277 _IMP_atom.CHARMMAtom_swigregister(CHARMMAtom)
11278 
11279 def get_charmm_untyped_atoms(hierarchy):
11280  r"""get_charmm_untyped_atoms(Hierarchy hierarchy) -> IMP::atom::Atoms"""
11281  return _IMP_atom.get_charmm_untyped_atoms(hierarchy)
11282 
11283 def remove_charmm_untyped_atoms(hierarchy):
11284  r"""remove_charmm_untyped_atoms(Hierarchy hierarchy)"""
11285  return _IMP_atom.remove_charmm_untyped_atoms(hierarchy)
11286 class CHARMMBondParameters(object):
11287  r"""Proxy of C++ IMP::atom::CHARMMBondParameters class."""
11288 
11289  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11290  force_constant = property(_IMP_atom.CHARMMBondParameters_force_constant_get, _IMP_atom.CHARMMBondParameters_force_constant_set, doc=r"""force_constant : double""")
11291  ideal = property(_IMP_atom.CHARMMBondParameters_ideal_get, _IMP_atom.CHARMMBondParameters_ideal_set, doc=r"""ideal : double""")
11292 
11293  def __init__(self):
11294  r"""__init__(CHARMMBondParameters self) -> CHARMMBondParameters"""
11295  _IMP_atom.CHARMMBondParameters_swiginit(self, _IMP_atom.new_CHARMMBondParameters())
11296 
11297  def show(self, *args):
11298  r"""show(CHARMMBondParameters self, _ostream out=std::cout)"""
11299  return _IMP_atom.CHARMMBondParameters_show(self, *args)
11300 
11301  def __str__(self):
11302  r"""__str__(CHARMMBondParameters self) -> std::string"""
11303  return _IMP_atom.CHARMMBondParameters___str__(self)
11304 
11305  def __repr__(self):
11306  r"""__repr__(CHARMMBondParameters self) -> std::string"""
11307  return _IMP_atom.CHARMMBondParameters___repr__(self)
11308 
11309  def _get_as_binary(self):
11310  r"""_get_as_binary(CHARMMBondParameters self) -> PyObject *"""
11311  return _IMP_atom.CHARMMBondParameters__get_as_binary(self)
11312 
11313  def _set_from_binary(self, p):
11314  r"""_set_from_binary(CHARMMBondParameters self, PyObject * p)"""
11315  return _IMP_atom.CHARMMBondParameters__set_from_binary(self, p)
11316 
11317  def __getstate__(self):
11318  p = self._get_as_binary()
11319  if len(self.__dict__) > 1:
11320  d = self.__dict__.copy()
11321  del d['this']
11322  p = (d, p)
11323  return p
11324 
11325  def __setstate__(self, p):
11326  if not hasattr(self, 'this'):
11327  self.__init__()
11328  if isinstance(p, tuple):
11329  d, p = p
11330  self.__dict__.update(d)
11331  return self._set_from_binary(p)
11332 
11333  __swig_destroy__ = _IMP_atom.delete_CHARMMBondParameters
11334 
11335 # Register CHARMMBondParameters in _IMP_atom:
11336 _IMP_atom.CHARMMBondParameters_swigregister(CHARMMBondParameters)
11337 class CHARMMDihedralParameters(object):
11338  r"""Proxy of C++ IMP::atom::CHARMMDihedralParameters class."""
11339 
11340  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11341  force_constant = property(_IMP_atom.CHARMMDihedralParameters_force_constant_get, _IMP_atom.CHARMMDihedralParameters_force_constant_set, doc=r"""force_constant : double""")
11342  multiplicity = property(_IMP_atom.CHARMMDihedralParameters_multiplicity_get, _IMP_atom.CHARMMDihedralParameters_multiplicity_set, doc=r"""multiplicity : int""")
11343  ideal = property(_IMP_atom.CHARMMDihedralParameters_ideal_get, _IMP_atom.CHARMMDihedralParameters_ideal_set, doc=r"""ideal : double""")
11344 
11345  def __init__(self):
11346  r"""__init__(CHARMMDihedralParameters self) -> CHARMMDihedralParameters"""
11347  _IMP_atom.CHARMMDihedralParameters_swiginit(self, _IMP_atom.new_CHARMMDihedralParameters())
11348 
11349  def show(self, *args):
11350  r"""show(CHARMMDihedralParameters self, _ostream out=std::cout)"""
11351  return _IMP_atom.CHARMMDihedralParameters_show(self, *args)
11352 
11353  def __str__(self):
11354  r"""__str__(CHARMMDihedralParameters self) -> std::string"""
11355  return _IMP_atom.CHARMMDihedralParameters___str__(self)
11356 
11357  def __repr__(self):
11358  r"""__repr__(CHARMMDihedralParameters self) -> std::string"""
11359  return _IMP_atom.CHARMMDihedralParameters___repr__(self)
11360 
11361  def _get_as_binary(self):
11362  r"""_get_as_binary(CHARMMDihedralParameters self) -> PyObject *"""
11363  return _IMP_atom.CHARMMDihedralParameters__get_as_binary(self)
11364 
11365  def _set_from_binary(self, p):
11366  r"""_set_from_binary(CHARMMDihedralParameters self, PyObject * p)"""
11367  return _IMP_atom.CHARMMDihedralParameters__set_from_binary(self, p)
11368 
11369  def __getstate__(self):
11370  p = self._get_as_binary()
11371  if len(self.__dict__) > 1:
11372  d = self.__dict__.copy()
11373  del d['this']
11374  p = (d, p)
11375  return p
11376 
11377  def __setstate__(self, p):
11378  if not hasattr(self, 'this'):
11379  self.__init__()
11380  if isinstance(p, tuple):
11381  d, p = p
11382  self.__dict__.update(d)
11383  return self._set_from_binary(p)
11384 
11385  __swig_destroy__ = _IMP_atom.delete_CHARMMDihedralParameters
11386 
11387 # Register CHARMMDihedralParameters in _IMP_atom:
11388 _IMP_atom.CHARMMDihedralParameters_swigregister(CHARMMDihedralParameters)
11389 class CHARMMParameters(ForceFieldParameters):
11390  r"""Proxy of C++ IMP::atom::CHARMMParameters class."""
11391 
11392  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11393 
11394  def __init__(self, *args):
11395  r"""__init__(CHARMMParameters self, TextInput topology_file_name, TextInput par_file_name=IMP::TextInput(), bool translate_names_to_pdb=False) -> CHARMMParameters"""
11396  _IMP_atom.CHARMMParameters_swiginit(self, _IMP_atom.new_CHARMMParameters(*args))
11397 
11398  def add_residue_topology(self, res):
11399  r"""add_residue_topology(CHARMMParameters self, CHARMMIdealResidueTopology res)"""
11400  return _IMP_atom.CHARMMParameters_add_residue_topology(self, res)
11401 
11402  def get_residue_topology(self, type):
11403  r"""get_residue_topology(CHARMMParameters self, ResidueType type) -> CHARMMIdealResidueTopology"""
11404  return _IMP_atom.CHARMMParameters_get_residue_topology(self, type)
11405 
11406  def add_patch(self, patch):
11407  r"""add_patch(CHARMMParameters self, CHARMMPatch patch)"""
11408  return _IMP_atom.CHARMMParameters_add_patch(self, patch)
11409 
11410  def get_patch(self, name):
11411  r"""get_patch(CHARMMParameters self, std::string name) -> CHARMMPatch"""
11412  return _IMP_atom.CHARMMParameters_get_patch(self, name)
11413 
11414  def create_topology(self, hierarchy):
11415  r"""create_topology(CHARMMParameters self, Hierarchy hierarchy) -> CHARMMTopology"""
11416  return _IMP_atom.CHARMMParameters_create_topology(self, hierarchy)
11417 
11418  def get_bond_parameters(self, type1, type2):
11419  r"""get_bond_parameters(CHARMMParameters self, std::string type1, std::string type2) -> CHARMMBondParameters"""
11420  return _IMP_atom.CHARMMParameters_get_bond_parameters(self, type1, type2)
11421 
11422  def get_angle_parameters(self, type1, type2, type3):
11423  r"""get_angle_parameters(CHARMMParameters self, std::string type1, std::string type2, std::string type3) -> CHARMMBondParameters"""
11424  return _IMP_atom.CHARMMParameters_get_angle_parameters(self, type1, type2, type3)
11425 
11426  def get_dihedral_parameters(self, type1, type2, type3, type4):
11427  r"""get_dihedral_parameters(CHARMMParameters self, std::string type1, std::string type2, std::string type3, std::string type4) -> IMP::atom::CHARMMDihedralParametersList"""
11428  return _IMP_atom.CHARMMParameters_get_dihedral_parameters(self, type1, type2, type3, type4)
11429 
11430  def get_improper_parameters(self, type1, type2, type3, type4):
11431  r"""get_improper_parameters(CHARMMParameters self, std::string type1, std::string type2, std::string type3, std::string type4) -> CHARMMDihedralParameters"""
11432  return _IMP_atom.CHARMMParameters_get_improper_parameters(self, type1, type2, type3, type4)
11433 
11434  def create_angles(self, bonds):
11435  r"""create_angles(CHARMMParameters self, IMP::Particles bonds) -> IMP::Particles"""
11436  return _IMP_atom.CHARMMParameters_create_angles(self, bonds)
11437 
11438  def create_dihedrals(self, bonds):
11439  r"""create_dihedrals(CHARMMParameters self, IMP::Particles bonds) -> IMP::Particles"""
11440  return _IMP_atom.CHARMMParameters_create_dihedrals(self, bonds)
11441 
11442  def get_version_info(self):
11443  r"""get_version_info(CHARMMParameters self) -> VersionInfo"""
11444  return _IMP_atom.CHARMMParameters_get_version_info(self)
11445  __swig_destroy__ = _IMP_atom.delete_CHARMMParameters
11446 
11447  def __str__(self):
11448  r"""__str__(CHARMMParameters self) -> std::string"""
11449  return _IMP_atom.CHARMMParameters___str__(self)
11450 
11451  def __repr__(self):
11452  r"""__repr__(CHARMMParameters self) -> std::string"""
11453  return _IMP_atom.CHARMMParameters___repr__(self)
11454 
11455  @staticmethod
11456  def get_from(o):
11457  return _object_cast_to_CHARMMParameters(o)
11458 
11459 
11460 # Register CHARMMParameters in _IMP_atom:
11461 _IMP_atom.CHARMMParameters_swigregister(CHARMMParameters)
11462 
11464  r"""get_heavy_atom_CHARMM_parameters() -> CHARMMParameters"""
11465  return _IMP_atom.get_heavy_atom_CHARMM_parameters()
11466 
11468  r"""get_all_atom_CHARMM_parameters() -> CHARMMParameters"""
11469  return _IMP_atom.get_all_atom_CHARMM_parameters()
11470 class CHARMMSegmentTopology(IMP.Object):
11471  r"""Proxy of C++ IMP::atom::CHARMMSegmentTopology class."""
11472 
11473  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11474  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)
11475  def __set_residues(self, obj): IMP._list_util.set_varlist(self.residues, obj)
11476  def __del_residues(self): IMP._list_util.del_varlist(self.residues)
11477  residues = property(__get_residues, __set_residues, __del_residues, doc="List of ##ucnames")
11478 
11479  def remove_residue(self, d):
11480  r"""remove_residue(CHARMMSegmentTopology self, CHARMMResidueTopology d)"""
11481  return _IMP_atom.CHARMMSegmentTopology_remove_residue(self, d)
11482 
11483  def _python_index_residue(self, d, start, stop):
11484  r"""_python_index_residue(CHARMMSegmentTopology self, CHARMMResidueTopology d, unsigned int start, unsigned int stop) -> unsigned int"""
11485  return _IMP_atom.CHARMMSegmentTopology__python_index_residue(self, d, start, stop)
11486 
11487  def remove_residues(self, d):
11488  r"""remove_residues(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & d)"""
11489  return _IMP_atom.CHARMMSegmentTopology_remove_residues(self, d)
11490 
11491  def set_residues(self, ps):
11492  r"""set_residues(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & ps)"""
11493  return _IMP_atom.CHARMMSegmentTopology_set_residues(self, ps)
11494 
11495  def set_residues_order(self, objs):
11496  r"""set_residues_order(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & objs)"""
11497  return _IMP_atom.CHARMMSegmentTopology_set_residues_order(self, objs)
11498 
11499  def add_residue(self, obj):
11500  r"""add_residue(CHARMMSegmentTopology self, CHARMMResidueTopology obj) -> unsigned int"""
11501  return _IMP_atom.CHARMMSegmentTopology_add_residue(self, obj)
11502 
11503  def add_residues(self, objs):
11504  r"""add_residues(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & objs)"""
11505  return _IMP_atom.CHARMMSegmentTopology_add_residues(self, objs)
11506 
11507  def clear_residues(self):
11508  r"""clear_residues(CHARMMSegmentTopology self)"""
11509  return _IMP_atom.CHARMMSegmentTopology_clear_residues(self)
11510 
11511  def get_number_of_residues(self):
11512  r"""get_number_of_residues(CHARMMSegmentTopology self) -> unsigned int"""
11513  return _IMP_atom.CHARMMSegmentTopology_get_number_of_residues(self)
11514 
11515  def get_has_residues(self):
11516  r"""get_has_residues(CHARMMSegmentTopology self) -> bool"""
11517  return _IMP_atom.CHARMMSegmentTopology_get_has_residues(self)
11518 
11519  def get_residue(self, i):
11520  r"""get_residue(CHARMMSegmentTopology self, unsigned int i) -> CHARMMResidueTopology"""
11521  return _IMP_atom.CHARMMSegmentTopology_get_residue(self, i)
11522 
11523  def get_residues(self):
11524  r"""get_residues(CHARMMSegmentTopology self) -> IMP::atom::CHARMMResidueTopologies"""
11525  return _IMP_atom.CHARMMSegmentTopology_get_residues(self)
11526 
11527  def erase_residue(self, i):
11528  r"""erase_residue(CHARMMSegmentTopology self, unsigned int i)"""
11529  return _IMP_atom.CHARMMSegmentTopology_erase_residue(self, i)
11530 
11531  def reserve_residues(self, sz):
11532  r"""reserve_residues(CHARMMSegmentTopology self, unsigned int sz)"""
11533  return _IMP_atom.CHARMMSegmentTopology_reserve_residues(self, sz)
11534 
11535  def get_version_info(self):
11536  r"""get_version_info(CHARMMSegmentTopology self) -> VersionInfo"""
11537  return _IMP_atom.CHARMMSegmentTopology_get_version_info(self)
11538  __swig_destroy__ = _IMP_atom.delete_CHARMMSegmentTopology
11539 
11540  def __init__(self, *args):
11541  r"""__init__(CHARMMSegmentTopology self, std::string name="CHARMM segment topology %1%") -> CHARMMSegmentTopology"""
11542  _IMP_atom.CHARMMSegmentTopology_swiginit(self, _IMP_atom.new_CHARMMSegmentTopology(*args))
11543 
11544  def apply_default_patches(self, ff):
11545  r"""apply_default_patches(CHARMMSegmentTopology self, CHARMMParameters ff)"""
11546  return _IMP_atom.CHARMMSegmentTopology_apply_default_patches(self, ff)
11547 
11548  def __str__(self):
11549  r"""__str__(CHARMMSegmentTopology self) -> std::string"""
11550  return _IMP_atom.CHARMMSegmentTopology___str__(self)
11551 
11552  def __repr__(self):
11553  r"""__repr__(CHARMMSegmentTopology self) -> std::string"""
11554  return _IMP_atom.CHARMMSegmentTopology___repr__(self)
11555 
11556  @staticmethod
11557  def get_from(o):
11558  return _object_cast_to_CHARMMSegmentTopology(o)
11559 
11560 
11561 # Register CHARMMSegmentTopology in _IMP_atom:
11562 _IMP_atom.CHARMMSegmentTopology_swigregister(CHARMMSegmentTopology)
11563 class CHARMMTopology(IMP.Object):
11564  r"""Proxy of C++ IMP::atom::CHARMMTopology class."""
11565 
11566  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11567 
11568  def __init__(self, *args):
11569  r"""__init__(CHARMMTopology self, CHARMMParameters force_field, std::string name="CHARMM topology %1%") -> CHARMMTopology"""
11570  _IMP_atom.CHARMMTopology_swiginit(self, _IMP_atom.new_CHARMMTopology(*args))
11571 
11572  def get_parameters(self):
11573  r"""get_parameters(CHARMMTopology self) -> CHARMMParameters"""
11574  return _IMP_atom.CHARMMTopology_get_parameters(self)
11575 
11576  def add_sequence(self, sequence):
11577  r"""add_sequence(CHARMMTopology self, std::string sequence)"""
11578  return _IMP_atom.CHARMMTopology_add_sequence(self, sequence)
11579 
11580  def apply_default_patches(self):
11581  r"""apply_default_patches(CHARMMTopology self)"""
11582  return _IMP_atom.CHARMMTopology_apply_default_patches(self)
11583 
11584  def create_hierarchy(self, model):
11585  r"""create_hierarchy(CHARMMTopology self, Model model) -> Hierarchy"""
11586  return _IMP_atom.CHARMMTopology_create_hierarchy(self, model)
11587 
11588  def add_atom_types(self, hierarchy):
11589  r"""add_atom_types(CHARMMTopology self, Hierarchy hierarchy)"""
11590  return _IMP_atom.CHARMMTopology_add_atom_types(self, hierarchy)
11591 
11592  def add_coordinates(self, hierarchy):
11593  r"""add_coordinates(CHARMMTopology self, Hierarchy hierarchy)"""
11594  return _IMP_atom.CHARMMTopology_add_coordinates(self, hierarchy)
11595 
11596  def add_missing_atoms(self, hierarchy):
11597  r"""add_missing_atoms(CHARMMTopology self, Hierarchy hierarchy)"""
11598  return _IMP_atom.CHARMMTopology_add_missing_atoms(self, hierarchy)
11599 
11600  def setup_hierarchy(self, hierarchy):
11601  r"""setup_hierarchy(CHARMMTopology self, Hierarchy hierarchy)"""
11602  return _IMP_atom.CHARMMTopology_setup_hierarchy(self, hierarchy)
11603 
11604  def add_charges(self, hierarchy):
11605  r"""add_charges(CHARMMTopology self, Hierarchy hierarchy)"""
11606  return _IMP_atom.CHARMMTopology_add_charges(self, hierarchy)
11607 
11608  def add_bonds(self, hierarchy):
11609  r"""add_bonds(CHARMMTopology self, Hierarchy hierarchy) -> IMP::Particles"""
11610  return _IMP_atom.CHARMMTopology_add_bonds(self, hierarchy)
11611 
11612  def add_dihedrals(self, hierarchy):
11613  r"""add_dihedrals(CHARMMTopology self, Hierarchy hierarchy) -> IMP::Particles"""
11614  return _IMP_atom.CHARMMTopology_add_dihedrals(self, hierarchy)
11615 
11616  def add_impropers(self, hierarchy):
11617  r"""add_impropers(CHARMMTopology self, Hierarchy hierarchy) -> IMP::Particles"""
11618  return _IMP_atom.CHARMMTopology_add_impropers(self, hierarchy)
11619  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)
11620  def __set_segments(self, obj): IMP._list_util.set_varlist(self.segments, obj)
11621  def __del_segments(self): IMP._list_util.del_varlist(self.segments)
11622  segments = property(__get_segments, __set_segments, __del_segments, doc="List of ##ucnames")
11623 
11624  def remove_segment(self, d):
11625  r"""remove_segment(CHARMMTopology self, CHARMMSegmentTopology d)"""
11626  return _IMP_atom.CHARMMTopology_remove_segment(self, d)
11627 
11628  def _python_index_segment(self, d, start, stop):
11629  r"""_python_index_segment(CHARMMTopology self, CHARMMSegmentTopology d, unsigned int start, unsigned int stop) -> unsigned int"""
11630  return _IMP_atom.CHARMMTopology__python_index_segment(self, d, start, stop)
11631 
11632  def remove_segments(self, d):
11633  r"""remove_segments(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & d)"""
11634  return _IMP_atom.CHARMMTopology_remove_segments(self, d)
11635 
11636  def set_segments(self, ps):
11637  r"""set_segments(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & ps)"""
11638  return _IMP_atom.CHARMMTopology_set_segments(self, ps)
11639 
11640  def set_segments_order(self, objs):
11641  r"""set_segments_order(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & objs)"""
11642  return _IMP_atom.CHARMMTopology_set_segments_order(self, objs)
11643 
11644  def add_segment(self, obj):
11645  r"""add_segment(CHARMMTopology self, CHARMMSegmentTopology obj) -> unsigned int"""
11646  return _IMP_atom.CHARMMTopology_add_segment(self, obj)
11647 
11648  def add_segments(self, objs):
11649  r"""add_segments(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & objs)"""
11650  return _IMP_atom.CHARMMTopology_add_segments(self, objs)
11651 
11652  def clear_segments(self):
11653  r"""clear_segments(CHARMMTopology self)"""
11654  return _IMP_atom.CHARMMTopology_clear_segments(self)
11655 
11656  def get_number_of_segments(self):
11657  r"""get_number_of_segments(CHARMMTopology self) -> unsigned int"""
11658  return _IMP_atom.CHARMMTopology_get_number_of_segments(self)
11659 
11660  def get_has_segments(self):
11661  r"""get_has_segments(CHARMMTopology self) -> bool"""
11662  return _IMP_atom.CHARMMTopology_get_has_segments(self)
11663 
11664  def get_segment(self, i):
11665  r"""get_segment(CHARMMTopology self, unsigned int i) -> CHARMMSegmentTopology"""
11666  return _IMP_atom.CHARMMTopology_get_segment(self, i)
11667 
11668  def get_segments(self):
11669  r"""get_segments(CHARMMTopology self) -> IMP::atom::CHARMMSegmentTopologies"""
11670  return _IMP_atom.CHARMMTopology_get_segments(self)
11671 
11672  def erase_segment(self, i):
11673  r"""erase_segment(CHARMMTopology self, unsigned int i)"""
11674  return _IMP_atom.CHARMMTopology_erase_segment(self, i)
11675 
11676  def reserve_segments(self, sz):
11677  r"""reserve_segments(CHARMMTopology self, unsigned int sz)"""
11678  return _IMP_atom.CHARMMTopology_reserve_segments(self, sz)
11679 
11680  def get_version_info(self):
11681  r"""get_version_info(CHARMMTopology self) -> VersionInfo"""
11682  return _IMP_atom.CHARMMTopology_get_version_info(self)
11683  __swig_destroy__ = _IMP_atom.delete_CHARMMTopology
11684 
11685  def __str__(self):
11686  r"""__str__(CHARMMTopology self) -> std::string"""
11687  return _IMP_atom.CHARMMTopology___str__(self)
11688 
11689  def __repr__(self):
11690  r"""__repr__(CHARMMTopology self) -> std::string"""
11691  return _IMP_atom.CHARMMTopology___repr__(self)
11692 
11693  @staticmethod
11694  def get_from(o):
11695  return _object_cast_to_CHARMMTopology(o)
11696 
11697 
11698 # Register CHARMMTopology in _IMP_atom:
11699 _IMP_atom.CHARMMTopology_swigregister(CHARMMTopology)
11700 class CHARMMStereochemistryRestraint(IMP.Restraint):
11701  r"""Proxy of C++ IMP::atom::CHARMMStereochemistryRestraint class."""
11702 
11703  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11704 
11705  def __init__(self, *args):
11706  r"""
11707  __init__(CHARMMStereochemistryRestraint self, Hierarchy h, CHARMMTopology topology) -> CHARMMStereochemistryRestraint
11708  __init__(CHARMMStereochemistryRestraint self, Hierarchy h, CHARMMTopology topology, IMP::ParticlesTemp limit_to_these_particles) -> CHARMMStereochemistryRestraint
11709  """
11710  _IMP_atom.CHARMMStereochemistryRestraint_swiginit(self, _IMP_atom.new_CHARMMStereochemistryRestraint(*args))
11711 
11712  def get_pair_filter(self):
11713  r"""get_pair_filter(CHARMMStereochemistryRestraint self) -> StereochemistryPairFilter"""
11714  return _IMP_atom.CHARMMStereochemistryRestraint_get_pair_filter(self)
11715 
11716  def get_full_pair_filter(self):
11717  r"""get_full_pair_filter(CHARMMStereochemistryRestraint self) -> StereochemistryPairFilter"""
11718  return _IMP_atom.CHARMMStereochemistryRestraint_get_full_pair_filter(self)
11719 
11720  def do_get_inputs(self):
11721  r"""do_get_inputs(CHARMMStereochemistryRestraint self) -> IMP::ModelObjectsTemp"""
11722  return _IMP_atom.CHARMMStereochemistryRestraint_do_get_inputs(self)
11723 
11724  def get_version_info(self):
11725  r"""get_version_info(CHARMMStereochemistryRestraint self) -> VersionInfo"""
11726  return _IMP_atom.CHARMMStereochemistryRestraint_get_version_info(self)
11727  __swig_destroy__ = _IMP_atom.delete_CHARMMStereochemistryRestraint
11728 
11729  def __str__(self):
11730  r"""__str__(CHARMMStereochemistryRestraint self) -> std::string"""
11731  return _IMP_atom.CHARMMStereochemistryRestraint___str__(self)
11732 
11733  def __repr__(self):
11734  r"""__repr__(CHARMMStereochemistryRestraint self) -> std::string"""
11735  return _IMP_atom.CHARMMStereochemistryRestraint___repr__(self)
11736 
11737  @staticmethod
11738  def get_from(o):
11739  return _object_cast_to_CHARMMStereochemistryRestraint(o)
11740 
11741 
11742 # Register CHARMMStereochemistryRestraint in _IMP_atom:
11743 _IMP_atom.CHARMMStereochemistryRestraint_swigregister(CHARMMStereochemistryRestraint)
11744 
11745 def add_bonds(*args):
11746  r"""add_bonds(Hierarchy d, ForceFieldParameters ffp=IMP::atom::get_all_atom_CHARMM_parameters())"""
11747  return _IMP_atom.add_bonds(*args)
11748 
11749 def add_radii(*args):
11750  r"""add_radii(Hierarchy d, ForceFieldParameters ffp=IMP::atom::get_all_atom_CHARMM_parameters(), FloatKey radius_key=IMP::FloatKey("radius"))"""
11751  return _IMP_atom.add_radii(*args)
11752 ALBER = _IMP_atom.ALBER
11753 
11754 HARPAZ = _IMP_atom.HARPAZ
11755 
11756 ANDERSSON = _IMP_atom.ANDERSSON
11757 
11758 TSAI = _IMP_atom.TSAI
11759 
11760 QUILLIN = _IMP_atom.QUILLIN
11761 
11762 SQUIRE = _IMP_atom.SQUIRE
11763 
11764 
11765 def get_protein_density_from_reference(densityReference):
11766  r"""get_protein_density_from_reference(IMP::atom::ProteinDensityReference densityReference) -> double"""
11767  return _IMP_atom.get_protein_density_from_reference(densityReference)
11768 
11769 def get_volume_from_mass(*args):
11770  r"""get_volume_from_mass(double m, IMP::atom::ProteinDensityReference ref=ALBER) -> double"""
11771  return _IMP_atom.get_volume_from_mass(*args)
11772 
11773 def get_mass_from_volume(*args):
11774  r"""get_mass_from_volume(double v, IMP::atom::ProteinDensityReference ref=ALBER) -> double"""
11775  return _IMP_atom.get_mass_from_volume(*args)
11776 
11778  r"""get_mass_from_number_of_residues(unsigned int num_aa) -> double"""
11779  return _IMP_atom.get_mass_from_number_of_residues(num_aa)
11780 
11782  r"""get_volume_from_residue_type(ResidueType rt) -> double"""
11783  return _IMP_atom.get_volume_from_residue_type(rt)
11784 
11785 def get_molarity(n, volume):
11786  r"""get_molarity(double n, double volume) -> double"""
11787  return _IMP_atom.get_molarity(n, volume)
11788 
11789 def get_kd(na, nb, nab, volume):
11790  r"""get_kd(double na, double nb, double nab, double volume) -> double"""
11791  return _IMP_atom.get_kd(na, nb, nab, volume)
11792 
11793 def get_einstein_diffusion_coefficient(r, temp=-1):
11794  r"""get_einstein_diffusion_coefficient(double r, double temp=-1) -> double"""
11795  return _IMP_atom.get_einstein_diffusion_coefficient(r, temp)
11796 
11798  r"""get_einstein_rotational_diffusion_coefficient(double r, double temp=-1) -> double"""
11799  return _IMP_atom.get_einstein_rotational_diffusion_coefficient(r, temp)
11800 
11801 def get_diffusion_length(*args):
11802  r"""
11803  get_diffusion_length(double D, double t) -> double
11804  get_diffusion_length(double D, double force, double t, double temp=-1) -> double
11805  """
11806  return _IMP_atom.get_diffusion_length(*args)
11807 
11808 def get_diffusion_angle(D, dtfs):
11809  r"""get_diffusion_angle(double D, double dtfs) -> double"""
11810  return _IMP_atom.get_diffusion_angle(D, dtfs)
11811 
11812 def get_diffusion_coefficient(*args):
11813  r"""
11814  get_diffusion_coefficient(IMP::algebra::Vector3Ds const & displacements, double dt) -> double
11815  get_diffusion_coefficient(IMP::algebra::Vector3Ds const & displacements, IMP::Floats const & dts) -> double
11816  """
11817  return _IMP_atom.get_diffusion_coefficient(*args)
11818 
11819 def get_rotational_diffusion_coefficient(orientations, dt):
11820  r"""get_rotational_diffusion_coefficient(IMP::algebra::Rotation3Ds const & orientations, double dt) -> double"""
11821  return _IMP_atom.get_rotational_diffusion_coefficient(orientations, dt)
11822 
11823 def get_energy_in_femto_joules(energy_in_kcal_per_mol):
11824  r"""get_energy_in_femto_joules(double energy_in_kcal_per_mol) -> double"""
11825  return _IMP_atom.get_energy_in_femto_joules(energy_in_kcal_per_mol)
11826 
11827 def get_force_in_femto_newtons(force_in_kcal_per_mol_per_angstrom):
11828  r"""get_force_in_femto_newtons(double force_in_kcal_per_mol_per_angstrom) -> double"""
11829  return _IMP_atom.get_force_in_femto_newtons(force_in_kcal_per_mol_per_angstrom)
11830 
11831 def get_spring_constant_in_femto_newtons_per_angstrom(k_in_kcal_per_mol_per_angstrom_square):
11832  r"""get_spring_constant_in_femto_newtons_per_angstrom(double k_in_kcal_per_mol_per_angstrom_square) -> double"""
11833  return _IMP_atom.get_spring_constant_in_femto_newtons_per_angstrom(k_in_kcal_per_mol_per_angstrom_square)
11834 class EzRestraint(IMP.Restraint):
11835  r"""Proxy of C++ IMP::atom::EzRestraint class."""
11836 
11837  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11838 
11839  def __init__(self, m, ps):
11840  r"""__init__(EzRestraint self, Model m, _ParticleIndexesAdaptor ps) -> EzRestraint"""
11841  _IMP_atom.EzRestraint_swiginit(self, _IMP_atom.new_EzRestraint(m, ps))
11842 
11843  def get_version_info(self):
11844  r"""get_version_info(EzRestraint self) -> VersionInfo"""
11845  return _IMP_atom.EzRestraint_get_version_info(self)
11846  __swig_destroy__ = _IMP_atom.delete_EzRestraint
11847 
11848  def __str__(self):
11849  r"""__str__(EzRestraint self) -> std::string"""
11850  return _IMP_atom.EzRestraint___str__(self)
11851 
11852  def __repr__(self):
11853  r"""__repr__(EzRestraint self) -> std::string"""
11854  return _IMP_atom.EzRestraint___repr__(self)
11855 
11856  @staticmethod
11857  def get_from(o):
11858  return _object_cast_to_EzRestraint(o)
11859 
11860 
11861 # Register EzRestraint in _IMP_atom:
11862 _IMP_atom.EzRestraint_swigregister(EzRestraint)
11863 
11864 def create_protein(*args):
11865  r"""
11866  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
11867  create_protein(Model m, std::string name, double target_radius, IMP::Ints const domain_boundaries) -> Hierarchy
11868  """
11869  return _IMP_atom.create_protein(*args)
11870 
11872  r"""
11873  create_simplified_along_backbone(Hierarchy input, int num_res, bool keep_detailed=False) -> Hierarchy
11874  create_simplified_along_backbone(Chain input, IMP::IntRanges const & residue_segments, bool keep_detailed=False) -> Hierarchy
11875  """
11876  return _IMP_atom.create_simplified_along_backbone(*args)
11877 
11878 def create_simplified_from_volume(h, resolution):
11879  r"""create_simplified_from_volume(Hierarchy h, double resolution) -> Hierarchy"""
11880  return _IMP_atom.create_simplified_from_volume(h, resolution)
11881 
11882 def create_simplified_assembly_from_volume(h, resolution):
11883  r"""create_simplified_assembly_from_volume(Hierarchy h, double resolution) -> Hierarchy"""
11884  return _IMP_atom.create_simplified_assembly_from_volume(h, resolution)
11885 
11886 def get_residue_indexes(h):
11887  r"""get_residue_indexes(Hierarchy h) -> IMP::Ints"""
11888  return _IMP_atom.get_residue_indexes(h)
11889 
11890 def get_residue_type(*args):
11891  r"""
11892  get_residue_type(char c) -> ResidueType
11893  get_residue_type(Hierarchy h) -> ResidueType
11894  """
11895  return _IMP_atom.get_residue_type(*args)
11896 
11897 def get_atom_type(h):
11898  r"""get_atom_type(Hierarchy h) -> AtomType"""
11899  return _IMP_atom.get_atom_type(h)
11900 
11901 def get_domain_name(h):
11902  r"""get_domain_name(Hierarchy h) -> std::string"""
11903  return _IMP_atom.get_domain_name(h)
11904 
11906  r"""
11907  create_excluded_volume_restraint(IMP::atom::Selections const & s) -> Restraint
11908  create_excluded_volume_restraint(IMP::atom::Hierarchies const & hs, double resolution=-1) -> Restraint
11909  """
11910  return _IMP_atom.create_excluded_volume_restraint(*args)
11911 
11912 def setup_as_approximation(*args):
11913  r"""
11914  setup_as_approximation(Particle h, IMP::ParticlesTemp const & other, double resolution=-1)
11915  setup_as_approximation(Hierarchy h, double resolution=-1)
11916  """
11917  return _IMP_atom.setup_as_approximation(*args)
11918 class _HierarchyTreeVertexIndex(object):
11919  r"""Proxy of C++ IMP::atom::HierarchyTreeVertexIndex class."""
11920 
11921  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11922  __repr__ = _swig_repr
11923 
11924  def __init__(self):
11925  r"""__init__(_HierarchyTreeVertexIndex self) -> _HierarchyTreeVertexIndex"""
11926  _IMP_atom._HierarchyTreeVertexIndex_swiginit(self, _IMP_atom.new__HierarchyTreeVertexIndex())
11927  __swig_destroy__ = _IMP_atom.delete__HierarchyTreeVertexIndex
11928 
11929 # Register _HierarchyTreeVertexIndex in _IMP_atom:
11930 _IMP_atom._HierarchyTreeVertexIndex_swigregister(_HierarchyTreeVertexIndex)
11931 
11932 def show_as_graphviz(name, out):
11933  r"""show_as_graphviz(IMP::atom::HierarchyTree const & name, TextOutput out)"""
11934  return _IMP_atom.show_as_graphviz(name, out)
11935 
11936 def get_vertex_index(g):
11937  r"""get_vertex_index(IMP::atom::HierarchyTree const & g) -> _HierarchyTreeVertexIndex"""
11938  return _IMP_atom.get_vertex_index(g)
11939 
11940 def get_hierarchy_tree(h):
11941  r"""get_hierarchy_tree(Hierarchy h) -> IMP::atom::HierarchyTree"""
11942  return _IMP_atom.get_hierarchy_tree(h)
11943 class HierarchyGeometry(IMP.display.SingletonGeometry):
11944  r"""Proxy of C++ IMP::atom::HierarchyGeometry class."""
11945 
11946  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11947 
11948  def __init__(self, d, resolution=0):
11949  r"""__init__(HierarchyGeometry self, Hierarchy d, double resolution=0) -> HierarchyGeometry"""
11950  _IMP_atom.HierarchyGeometry_swiginit(self, _IMP_atom.new_HierarchyGeometry(d, resolution))
11951 
11952  def get_version_info(self):
11953  r"""get_version_info(HierarchyGeometry self) -> VersionInfo"""
11954  return _IMP_atom.HierarchyGeometry_get_version_info(self)
11955  __swig_destroy__ = _IMP_atom.delete_HierarchyGeometry
11956 
11957  def __str__(self):
11958  r"""__str__(HierarchyGeometry self) -> std::string"""
11959  return _IMP_atom.HierarchyGeometry___str__(self)
11960 
11961  def __repr__(self):
11962  r"""__repr__(HierarchyGeometry self) -> std::string"""
11963  return _IMP_atom.HierarchyGeometry___repr__(self)
11964 
11965  @staticmethod
11966  def get_from(o):
11967  return _object_cast_to_HierarchyGeometry(o)
11968 
11969 
11970 # Register HierarchyGeometry in _IMP_atom:
11971 _IMP_atom.HierarchyGeometry_swigregister(HierarchyGeometry)
11972 class HierarchiesGeometry(IMP.display.SingletonsGeometry):
11973  r"""Proxy of C++ IMP::atom::HierarchiesGeometry class."""
11974 
11975  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11976 
11977  def __init__(self, sc, resolution=-1):
11978  r"""__init__(HierarchiesGeometry self, SingletonContainer sc, double resolution=-1) -> HierarchiesGeometry"""
11979  _IMP_atom.HierarchiesGeometry_swiginit(self, _IMP_atom.new_HierarchiesGeometry(sc, resolution))
11980 
11981  def get_version_info(self):
11982  r"""get_version_info(HierarchiesGeometry self) -> VersionInfo"""
11983  return _IMP_atom.HierarchiesGeometry_get_version_info(self)
11984  __swig_destroy__ = _IMP_atom.delete_HierarchiesGeometry
11985 
11986  def __str__(self):
11987  r"""__str__(HierarchiesGeometry self) -> std::string"""
11988  return _IMP_atom.HierarchiesGeometry___str__(self)
11989 
11990  def __repr__(self):
11991  r"""__repr__(HierarchiesGeometry self) -> std::string"""
11992  return _IMP_atom.HierarchiesGeometry___repr__(self)
11993 
11994  @staticmethod
11995  def get_from(o):
11996  return _object_cast_to_HierarchiesGeometry(o)
11997 
11998 
11999 # Register HierarchiesGeometry in _IMP_atom:
12000 _IMP_atom.HierarchiesGeometry_swigregister(HierarchiesGeometry)
12001 
12002 def transform(*args):
12003  r"""
12004  transform(Hierarchy h, Transformation3D tr)
12005  transform(Hierarchy h, Transformation3D tr)
12006  """
12007  return _IMP_atom.transform(*args)
12008 class DopePairScore(_ADopeBase):
12009  r"""Proxy of C++ IMP::atom::DopePairScore class."""
12010 
12011  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12012 
12013  def __init__(self, *args):
12014  r"""
12015  __init__(DopePairScore self, double threshold=std::numeric_limits< double >::max()) -> DopePairScore
12016  __init__(DopePairScore self, double threshold, TextInput data_file) -> DopePairScore
12017  """
12018  _IMP_atom.DopePairScore_swiginit(self, _IMP_atom.new_DopePairScore(*args))
12019  __swig_destroy__ = _IMP_atom.delete_DopePairScore
12020 
12021  def __str__(self):
12022  r"""__str__(DopePairScore self) -> std::string"""
12023  return _IMP_atom.DopePairScore___str__(self)
12024 
12025  def __repr__(self):
12026  r"""__repr__(DopePairScore self) -> std::string"""
12027  return _IMP_atom.DopePairScore___repr__(self)
12028 
12029  @staticmethod
12030  def get_from(o):
12031  return _object_cast_to_DopePairScore(o)
12032 
12033 
12034  def _get_jax(self, m, indexes):
12035  import numpy as np
12036  import jax.lax
12037  import jax.numpy as jnp
12038  from IMP.core._jax_util import _spline
12039  def score_one(jm, index, minrange, maxrange, spacing, values,
12040  second_derivs):
12041  # Score a single atom pair
12042  xyz = jnp.asarray(jm['xyz'])[index]
12043  dr = jnp.linalg.norm(xyz[1] - xyz[0])
12044  def spline_score():
12045  dope_type_pair = jnp.asarray(jm['dope atom type'])
12046  # Get index into values/second_derivs tables
12047  i = jnp.max(dope_type_pair[index])
12048  j = jnp.min(dope_type_pair[index])
12049  dope_type = i * (i + 1) // 2 + j
12050  # tabulated values are for the center of each bin, but
12051  # _spline works with the values at the low side of each bin
12052  x = dr - 0.5 * spacing
12053  # determine bin index and thus the cubic fragment to use:
12054  lowbin = jnp.array((x - minrange) / spacing, dtype=int)
12055  return _spline(x, minrange, lowbin, lowbin + 1, spacing,
12056  values[dope_type], second_derivs[dope_type])
12057  def maybe_score():
12058  return jax.lax.cond(dr <= minrange, lambda: 0.0, spline_score)
12059  return jax.lax.cond(dr >= maxrange, lambda: 0.0, maybe_score)
12060  sf = self.get_score_functor()
12061  if sf.get_is_bipartite() or not sf.get_is_interpolated():
12062  raise TypeError("Only implemented for unipartite splines")
12063  ntyp = sf.get_number_of_particle_types()[0]
12064  # Get spline parameters for all atom types. The matrix is symmetric
12065  # so only store the upper diagonal
12066  values = []
12067  second_derivs = []
12068  for i in range(ntyp):
12069  for j in range(0, i + 1):
12070  values.append(sf.get_values(i, j))
12071  second_derivs.append(sf.get_second_derivatives(i, j))
12072  values = np.vstack(values)
12073  second_derivs = np.vstack(second_derivs)
12074  f = functools.partial(
12075  score_one, minrange=sf.get_offset(),
12076  maxrange=min(sf.get_max(), sf.get_threshold()),
12077  spacing=sf.get_spacing(), values=jnp.asarray(values),
12078  second_derivs=jnp.asarray(second_derivs))
12079  # Vectorize to take multiple indexes (second argument)
12080  vf = jax.vmap(f, in_axes=(None, 0))
12081  return self._wrap_jax(m, lambda jm: vf(jm, indexes),
12082  keys=(sf.get_dope_type_key(),))
12083 
12084 
12085 # Register DopePairScore in _IMP_atom:
12086 _IMP_atom.DopePairScore_swigregister(DopePairScore)
12087 
12088 def add_dope_score_data(h):
12089  r"""add_dope_score_data(Hierarchy h)"""
12090  return _IMP_atom.add_dope_score_data(h)
12091 class LoopStatisticalPairScore(_ALoopStatisticalBase):
12092  r"""Proxy of C++ IMP::atom::LoopStatisticalPairScore class."""
12093 
12094  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12095 
12096  def __init__(self, *args):
12097  r"""
12098  __init__(LoopStatisticalPairScore self, double threshold=std::numeric_limits< double >::max()) -> LoopStatisticalPairScore
12099  __init__(LoopStatisticalPairScore self, double threshold, TextInput data_file) -> LoopStatisticalPairScore
12100  """
12101  _IMP_atom.LoopStatisticalPairScore_swiginit(self, _IMP_atom.new_LoopStatisticalPairScore(*args))
12102 
12103  def __str__(self):
12104  r"""__str__(LoopStatisticalPairScore self) -> std::string"""
12105  return _IMP_atom.LoopStatisticalPairScore___str__(self)
12106 
12107  def __repr__(self):
12108  r"""__repr__(LoopStatisticalPairScore self) -> std::string"""
12109  return _IMP_atom.LoopStatisticalPairScore___repr__(self)
12110 
12111  @staticmethod
12112  def get_from(o):
12113  return _object_cast_to_LoopStatisticalPairScore(o)
12114 
12115  __swig_destroy__ = _IMP_atom.delete_LoopStatisticalPairScore
12116 
12117 # Register LoopStatisticalPairScore in _IMP_atom:
12118 _IMP_atom.LoopStatisticalPairScore_swigregister(LoopStatisticalPairScore)
12119 
12121  r"""add_loop_statistical_score_data(Hierarchy h)"""
12122  return _IMP_atom.add_loop_statistical_score_data(h)
12123 class OrientedSoapPairScore(_OrientedSoapBase):
12124  r"""Proxy of C++ IMP::atom::OrientedSoapPairScore class."""
12125 
12126  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12127 
12128  def __init__(self, library):
12129  r"""__init__(OrientedSoapPairScore self, std::string library) -> OrientedSoapPairScore"""
12130  _IMP_atom.OrientedSoapPairScore_swiginit(self, _IMP_atom.new_OrientedSoapPairScore(library))
12131 
12132  def get_pair_filter(self):
12133  r"""get_pair_filter(OrientedSoapPairScore self) -> SoapPairFilter"""
12134  return _IMP_atom.OrientedSoapPairScore_get_pair_filter(self)
12135 
12136  def __str__(self):
12137  r"""__str__(OrientedSoapPairScore self) -> std::string"""
12138  return _IMP_atom.OrientedSoapPairScore___str__(self)
12139 
12140  def __repr__(self):
12141  r"""__repr__(OrientedSoapPairScore self) -> std::string"""
12142  return _IMP_atom.OrientedSoapPairScore___repr__(self)
12143 
12144  @staticmethod
12145  def get_from(o):
12146  return _object_cast_to_OrientedSoapPairScore(o)
12147 
12148  __swig_destroy__ = _IMP_atom.delete_OrientedSoapPairScore
12149 
12150 # Register OrientedSoapPairScore in _IMP_atom:
12151 _IMP_atom.OrientedSoapPairScore_swigregister(OrientedSoapPairScore)
12152 class SameResiduePairFilter(IMP.PairPredicate):
12153  r"""Proxy of C++ IMP::atom::SameResiduePairFilter class."""
12154 
12155  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12156 
12157  def __init__(self):
12158  r"""__init__(SameResiduePairFilter self) -> SameResiduePairFilter"""
12159  _IMP_atom.SameResiduePairFilter_swiginit(self, _IMP_atom.new_SameResiduePairFilter())
12160 
12161  def do_get_inputs(self, m, pis):
12162  r"""do_get_inputs(SameResiduePairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12163  return _IMP_atom.SameResiduePairFilter_do_get_inputs(self, m, pis)
12164 
12165  def get_value(self, *args):
12166  r"""
12167  get_value(SameResiduePairFilter self, IMP::ParticlePair const & a) -> int
12168  get_value(SameResiduePairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12169  """
12170  return _IMP_atom.SameResiduePairFilter_get_value(self, *args)
12171 
12172  def get_value_index(self, *args):
12173  r"""
12174  get_value_index(SameResiduePairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
12175  get_value_index(SameResiduePairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12176  """
12177  return _IMP_atom.SameResiduePairFilter_get_value_index(self, *args)
12178 
12179  def get_version_info(self):
12180  r"""get_version_info(SameResiduePairFilter self) -> VersionInfo"""
12181  return _IMP_atom.SameResiduePairFilter_get_version_info(self)
12182  __swig_destroy__ = _IMP_atom.delete_SameResiduePairFilter
12183 
12184  def __str__(self):
12185  r"""__str__(SameResiduePairFilter self) -> std::string"""
12186  return _IMP_atom.SameResiduePairFilter___str__(self)
12187 
12188  def __repr__(self):
12189  r"""__repr__(SameResiduePairFilter self) -> std::string"""
12190  return _IMP_atom.SameResiduePairFilter___repr__(self)
12191 
12192  @staticmethod
12193  def get_from(o):
12194  return _object_cast_to_SameResiduePairFilter(o)
12195 
12196 
12197 # Register SameResiduePairFilter in _IMP_atom:
12198 _IMP_atom.SameResiduePairFilter_swigregister(SameResiduePairFilter)
12199 class RemoveRigidMotionOptimizerState(IMP.OptimizerState):
12200  r"""Proxy of C++ IMP::atom::RemoveRigidMotionOptimizerState class."""
12201 
12202  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12203 
12204  def __init__(self, m, pis):
12205  r"""__init__(RemoveRigidMotionOptimizerState self, Model m, _ParticleIndexesAdaptor pis) -> RemoveRigidMotionOptimizerState"""
12206  _IMP_atom.RemoveRigidMotionOptimizerState_swiginit(self, _IMP_atom.new_RemoveRigidMotionOptimizerState(m, pis))
12207 
12208  def set_particles(self, pis):
12209  r"""set_particles(RemoveRigidMotionOptimizerState self, IMP::Particles const & pis)"""
12210  return _IMP_atom.RemoveRigidMotionOptimizerState_set_particles(self, pis)
12211 
12212  def remove_rigid_motion(self):
12213  r"""remove_rigid_motion(RemoveRigidMotionOptimizerState self)"""
12214  return _IMP_atom.RemoveRigidMotionOptimizerState_remove_rigid_motion(self)
12215 
12216  def get_version_info(self):
12217  r"""get_version_info(RemoveRigidMotionOptimizerState self) -> VersionInfo"""
12218  return _IMP_atom.RemoveRigidMotionOptimizerState_get_version_info(self)
12219  __swig_destroy__ = _IMP_atom.delete_RemoveRigidMotionOptimizerState
12220 
12221  def __str__(self):
12222  r"""__str__(RemoveRigidMotionOptimizerState self) -> std::string"""
12223  return _IMP_atom.RemoveRigidMotionOptimizerState___str__(self)
12224 
12225  def __repr__(self):
12226  r"""__repr__(RemoveRigidMotionOptimizerState self) -> std::string"""
12227  return _IMP_atom.RemoveRigidMotionOptimizerState___repr__(self)
12228 
12229  @staticmethod
12230  def get_from(o):
12231  return _object_cast_to_RemoveRigidMotionOptimizerState(o)
12232 
12233 
12234 # Register RemoveRigidMotionOptimizerState in _IMP_atom:
12235 _IMP_atom.RemoveRigidMotionOptimizerState_swigregister(RemoveRigidMotionOptimizerState)
12236 class BerendsenThermostatOptimizerState(IMP.OptimizerState):
12237  r"""Proxy of C++ IMP::atom::BerendsenThermostatOptimizerState class."""
12238 
12239  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12240 
12241  def __init__(self, pis, temperature, tau):
12242  r"""__init__(BerendsenThermostatOptimizerState self, IMP::Particles const & pis, double temperature, double tau) -> BerendsenThermostatOptimizerState"""
12243  _IMP_atom.BerendsenThermostatOptimizerState_swiginit(self, _IMP_atom.new_BerendsenThermostatOptimizerState(pis, temperature, tau))
12244 
12245  def set_particles(self, pis):
12246  r"""set_particles(BerendsenThermostatOptimizerState self, IMP::Particles const & pis)"""
12247  return _IMP_atom.BerendsenThermostatOptimizerState_set_particles(self, pis)
12248 
12249  def get_particles(self):
12250  r"""get_particles(BerendsenThermostatOptimizerState self) -> IMP::Particles"""
12251  return _IMP_atom.BerendsenThermostatOptimizerState_get_particles(self)
12252 
12253  def get_temperature(self):
12254  r"""get_temperature(BerendsenThermostatOptimizerState self) -> double"""
12255  return _IMP_atom.BerendsenThermostatOptimizerState_get_temperature(self)
12256 
12257  def get_tau(self):
12258  r"""get_tau(BerendsenThermostatOptimizerState self) -> double"""
12259  return _IMP_atom.BerendsenThermostatOptimizerState_get_tau(self)
12260 
12261  def set_temperature(self, temperature):
12262  r"""set_temperature(BerendsenThermostatOptimizerState self, double temperature)"""
12263  return _IMP_atom.BerendsenThermostatOptimizerState_set_temperature(self, temperature)
12264 
12265  def set_tau(self, tau):
12266  r"""set_tau(BerendsenThermostatOptimizerState self, double tau)"""
12267  return _IMP_atom.BerendsenThermostatOptimizerState_set_tau(self, tau)
12268 
12269  def rescale_velocities(self):
12270  r"""rescale_velocities(BerendsenThermostatOptimizerState self)"""
12271  return _IMP_atom.BerendsenThermostatOptimizerState_rescale_velocities(self)
12272 
12273  def get_version_info(self):
12274  r"""get_version_info(BerendsenThermostatOptimizerState self) -> VersionInfo"""
12275  return _IMP_atom.BerendsenThermostatOptimizerState_get_version_info(self)
12276  __swig_destroy__ = _IMP_atom.delete_BerendsenThermostatOptimizerState
12277 
12278  def __str__(self):
12279  r"""__str__(BerendsenThermostatOptimizerState self) -> std::string"""
12280  return _IMP_atom.BerendsenThermostatOptimizerState___str__(self)
12281 
12282  def __repr__(self):
12283  r"""__repr__(BerendsenThermostatOptimizerState self) -> std::string"""
12284  return _IMP_atom.BerendsenThermostatOptimizerState___repr__(self)
12285 
12286  @staticmethod
12287  def get_from(o):
12288  return _object_cast_to_BerendsenThermostatOptimizerState(o)
12289 
12290 
12291  def _get_jax(self, state_index):
12292  import jax.lax
12293  import jax.numpy as jnp
12294 
12295  def apply_func(md, temperature, tau, indexes):
12296  ekinetic = md.get_kinetic_energy()
12297  tkinetic = md.get_kinetic_temperature(ekinetic)
12298  scale = jnp.sqrt(1.0 + (md.time_step / tau)
12299  * (temperature / tkinetic - 1.0))
12300  linvel = md.jm['linvel'].at[indexes]
12301  md.jm['linvel'] = linvel.multiply(scale)
12302  return md
12303 
12304  f = functools.partial(
12305  apply_func, temperature=self.get_temperature(),
12306  tau=self.get_tau(),
12307  indexes=jnp.asarray(IMP.get_indexes(self.get_particles())))
12308  return self._wrap_jax(lambda x: x, f)
12309 
12310 
12311 # Register BerendsenThermostatOptimizerState in _IMP_atom:
12312 _IMP_atom.BerendsenThermostatOptimizerState_swigregister(BerendsenThermostatOptimizerState)
12313 class LangevinThermostatOptimizerState(IMP.OptimizerState):
12314  r"""Proxy of C++ IMP::atom::LangevinThermostatOptimizerState class."""
12315 
12316  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12317 
12318  def __init__(self, m, pis, temperature, gamma):
12319  r"""__init__(LangevinThermostatOptimizerState self, Model m, _ParticleIndexesAdaptor pis, double temperature, double gamma) -> LangevinThermostatOptimizerState"""
12320  _IMP_atom.LangevinThermostatOptimizerState_swiginit(self, _IMP_atom.new_LangevinThermostatOptimizerState(m, pis, temperature, gamma))
12321 
12322  def set_particles(self, pis):
12323  r"""set_particles(LangevinThermostatOptimizerState self, IMP::Particles const & pis)"""
12324  return _IMP_atom.LangevinThermostatOptimizerState_set_particles(self, pis)
12325 
12326  def get_particles(self):
12327  r"""get_particles(LangevinThermostatOptimizerState self) -> IMP::Particles"""
12328  return _IMP_atom.LangevinThermostatOptimizerState_get_particles(self)
12329 
12330  def get_temperature(self):
12331  r"""get_temperature(LangevinThermostatOptimizerState self) -> double"""
12332  return _IMP_atom.LangevinThermostatOptimizerState_get_temperature(self)
12333 
12334  def get_gamma(self):
12335  r"""get_gamma(LangevinThermostatOptimizerState self) -> double"""
12336  return _IMP_atom.LangevinThermostatOptimizerState_get_gamma(self)
12337 
12338  def set_temperature(self, temperature):
12339  r"""set_temperature(LangevinThermostatOptimizerState self, double temperature)"""
12340  return _IMP_atom.LangevinThermostatOptimizerState_set_temperature(self, temperature)
12341 
12342  def set_gamma(self, gamma):
12343  r"""set_gamma(LangevinThermostatOptimizerState self, double gamma)"""
12344  return _IMP_atom.LangevinThermostatOptimizerState_set_gamma(self, gamma)
12345 
12346  def rescale_velocities(self):
12347  r"""rescale_velocities(LangevinThermostatOptimizerState self)"""
12348  return _IMP_atom.LangevinThermostatOptimizerState_rescale_velocities(self)
12349 
12350  def get_version_info(self):
12351  r"""get_version_info(LangevinThermostatOptimizerState self) -> VersionInfo"""
12352  return _IMP_atom.LangevinThermostatOptimizerState_get_version_info(self)
12353  __swig_destroy__ = _IMP_atom.delete_LangevinThermostatOptimizerState
12354 
12355  def __str__(self):
12356  r"""__str__(LangevinThermostatOptimizerState self) -> std::string"""
12357  return _IMP_atom.LangevinThermostatOptimizerState___str__(self)
12358 
12359  def __repr__(self):
12360  r"""__repr__(LangevinThermostatOptimizerState self) -> std::string"""
12361  return _IMP_atom.LangevinThermostatOptimizerState___repr__(self)
12362 
12363  @staticmethod
12364  def get_from(o):
12365  return _object_cast_to_LangevinThermostatOptimizerState(o)
12366 
12367 
12368  def _get_jax(self, state_index):
12369  import jax.lax
12370  import jax.numpy as jnp
12371  import jax.random
12372  gas_constant = 8.31441e-7
12373 
12374  def init_func(md):
12375  # Make our own random key split off from MD's key
12376  md.rkey, subkey = jax.random.split(md.rkey)
12377  md.optimizer_states[state_index] = subkey
12378  return md
12379 
12380  def apply_func(md, temperature, gamma, indexes):
12381  c1 = jnp.exp(-gamma * md.time_step)
12382  c2 = jnp.sqrt((1.0 - c1) * gas_constant * temperature)
12383  md.optimizer_states[state_index], subkey = jax.random.split(
12384  md.optimizer_states[state_index])
12385  sample = jax.random.normal(subkey, shape=(len(indexes), 3))
12386  mass = md.jm['mass'][indexes]
12387  linvel = md.jm['linvel'].at[indexes]
12388  md.jm['linvel'] = linvel.set(
12389  c1 * linvel.get()
12390  + c2 * jnp.sqrt((c1 + 1.0) / mass).reshape(len(indexes), 1)
12391  * sample)
12392  return md
12393 
12394  f = functools.partial(
12395  apply_func, temperature=self.get_temperature(),
12396  gamma=self.get_gamma(),
12397  indexes=jnp.asarray(IMP.get_indexes(self.get_particles())))
12398  return self._wrap_jax(init_func, f)
12399 
12400 
12401 # Register LangevinThermostatOptimizerState in _IMP_atom:
12402 _IMP_atom.LangevinThermostatOptimizerState_swigregister(LangevinThermostatOptimizerState)
12403 class PDBRecord(IMP._Value):
12404  r"""Proxy of C++ IMP::atom::PDBRecord class."""
12405 
12406  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12407 
12408  def __init__(self):
12409  r"""__init__(PDBRecord self) -> PDBRecord"""
12410  _IMP_atom.PDBRecord_swiginit(self, _IMP_atom.new_PDBRecord())
12411 
12412  def get_alt_loc_indicator(self):
12413  r"""get_alt_loc_indicator(PDBRecord self) -> std::string"""
12414  return _IMP_atom.PDBRecord_get_alt_loc_indicator(self)
12415 
12416  def get_is_atom(self):
12417  r"""get_is_atom(PDBRecord self) -> bool"""
12418  return _IMP_atom.PDBRecord_get_is_atom(self)
12419 
12420  def get_trimmed_atom_name(self):
12421  r"""get_trimmed_atom_name(PDBRecord self) -> std::string"""
12422  return _IMP_atom.PDBRecord_get_trimmed_atom_name(self)
12423 
12424  def get_padded_atom_name(self):
12425  r"""get_padded_atom_name(PDBRecord self) -> std::string"""
12426  return _IMP_atom.PDBRecord_get_padded_atom_name(self)
12427 
12428  def get_residue_name(self):
12429  r"""get_residue_name(PDBRecord self) -> std::string"""
12430  return _IMP_atom.PDBRecord_get_residue_name(self)
12431 
12432  def get_chain_id(self):
12433  r"""get_chain_id(PDBRecord self) -> std::string"""
12434  return _IMP_atom.PDBRecord_get_chain_id(self)
12435 
12436  def get_element(self):
12437  r"""get_element(PDBRecord self) -> std::string"""
12438  return _IMP_atom.PDBRecord_get_element(self)
12439 
12440  def show(self, *args):
12441  r"""show(PDBRecord self, _ostream out=std::cout)"""
12442  return _IMP_atom.PDBRecord_show(self, *args)
12443 
12444  def __str__(self):
12445  r"""__str__(PDBRecord self) -> std::string"""
12446  return _IMP_atom.PDBRecord___str__(self)
12447 
12448  def __repr__(self):
12449  r"""__repr__(PDBRecord self) -> std::string"""
12450  return _IMP_atom.PDBRecord___repr__(self)
12451  __swig_destroy__ = _IMP_atom.delete_PDBRecord
12452 
12453 # Register PDBRecord in _IMP_atom:
12454 _IMP_atom.PDBRecord_swigregister(PDBRecord)
12455 class PDBSelector(IMP.Object):
12456  r"""Proxy of C++ IMP::atom::PDBSelector class."""
12457 
12458  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12459 
12460  def __init__(self, name):
12461  r"""__init__(PDBSelector self, std::string name) -> PDBSelector"""
12462  if self.__class__ == PDBSelector:
12463  _self = None
12464  else:
12465  _self = self
12466  _IMP_atom.PDBSelector_swiginit(self, _IMP_atom.new_PDBSelector(_self, name))
12467 
12468  if self.__class__ != PDBSelector:
12469  _director_objects.register(self)
12470 
12471 
12472 
12473 
12474  def get_is_selected(self, record):
12475  r"""get_is_selected(PDBSelector self, PDBRecord record) -> bool"""
12476  return _IMP_atom.PDBSelector_get_is_selected(self, record)
12477  __swig_destroy__ = _IMP_atom.delete_PDBSelector
12478 
12479  def __str__(self):
12480  r"""__str__(PDBSelector self) -> std::string"""
12481  return _IMP_atom.PDBSelector___str__(self)
12482 
12483  def __repr__(self):
12484  r"""__repr__(PDBSelector self) -> std::string"""
12485  return _IMP_atom.PDBSelector___repr__(self)
12486 
12487  @staticmethod
12488  def get_from(o):
12489  return _object_cast_to_PDBSelector(o)
12490 
12491 
12492  def do_show(self, out):
12493  pass
12494 
12495  @staticmethod
12496  def get_from(o):
12497  return _object_cast_to_PDBSelector(o)
12498 
12499 
12500  def __and__(self, s):
12501  return AndPDBSelector(self, s)
12502  def __or__(self, s):
12503  return OrPDBSelector(self, s)
12504  def __xor__(self, s):
12505  return XorPDBSelector(self, s)
12506  def __invert__(self):
12507  return NotPDBSelector(self)
12508  def __sub__(self, s):
12509  return AndPDBSelector(self, NotPDBSelector(s))
12510 
12511  def __disown__(self):
12512  self.this.disown()
12513  _IMP_atom.disown_PDBSelector(self)
12514  return weakref.proxy(self)
12515 
12516  def do_destroy(self):
12517  r"""do_destroy(PDBSelector self)"""
12518  return _IMP_atom.PDBSelector_do_destroy(self)
12519 
12520 # Register PDBSelector in _IMP_atom:
12521 _IMP_atom.PDBSelector_swigregister(PDBSelector)
12522 class NonAlternativePDBSelector(PDBSelector):
12523  r"""Proxy of C++ IMP::atom::NonAlternativePDBSelector class."""
12524 
12525  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12526 
12527  def __init__(self, *args):
12528  r"""__init__(NonAlternativePDBSelector self, std::string name="NonAlternativePDBSelector%1%") -> NonAlternativePDBSelector"""
12529  _IMP_atom.NonAlternativePDBSelector_swiginit(self, _IMP_atom.new_NonAlternativePDBSelector(*args))
12530 
12531  def get_version_info(self):
12532  r"""get_version_info(NonAlternativePDBSelector self) -> VersionInfo"""
12533  return _IMP_atom.NonAlternativePDBSelector_get_version_info(self)
12534  __swig_destroy__ = _IMP_atom.delete_NonAlternativePDBSelector
12535 
12536  def __str__(self):
12537  r"""__str__(NonAlternativePDBSelector self) -> std::string"""
12538  return _IMP_atom.NonAlternativePDBSelector___str__(self)
12539 
12540  def __repr__(self):
12541  r"""__repr__(NonAlternativePDBSelector self) -> std::string"""
12542  return _IMP_atom.NonAlternativePDBSelector___repr__(self)
12543 
12544  @staticmethod
12545  def get_from(o):
12546  return _object_cast_to_NonAlternativePDBSelector(o)
12547 
12548 
12549 # Register NonAlternativePDBSelector in _IMP_atom:
12550 _IMP_atom.NonAlternativePDBSelector_swigregister(NonAlternativePDBSelector)
12551 class ATOMPDBSelector(NonAlternativePDBSelector):
12552  r"""Proxy of C++ IMP::atom::ATOMPDBSelector class."""
12553 
12554  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12555 
12556  def __init__(self, *args):
12557  r"""__init__(ATOMPDBSelector self, std::string name="ATOMPDBSelector%1%") -> ATOMPDBSelector"""
12558  _IMP_atom.ATOMPDBSelector_swiginit(self, _IMP_atom.new_ATOMPDBSelector(*args))
12559  __swig_destroy__ = _IMP_atom.delete_ATOMPDBSelector
12560 
12561  def __str__(self):
12562  r"""__str__(ATOMPDBSelector self) -> std::string"""
12563  return _IMP_atom.ATOMPDBSelector___str__(self)
12564 
12565  def __repr__(self):
12566  r"""__repr__(ATOMPDBSelector self) -> std::string"""
12567  return _IMP_atom.ATOMPDBSelector___repr__(self)
12568 
12569  @staticmethod
12570  def get_from(o):
12571  return _object_cast_to_ATOMPDBSelector(o)
12572 
12573 
12574 # Register ATOMPDBSelector in _IMP_atom:
12575 _IMP_atom.ATOMPDBSelector_swigregister(ATOMPDBSelector)
12576 class CAlphaPDBSelector(NonAlternativePDBSelector):
12577  r"""Proxy of C++ IMP::atom::CAlphaPDBSelector class."""
12578 
12579  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12580 
12581  def __init__(self, *args):
12582  r"""__init__(CAlphaPDBSelector self, std::string name="CAlphaPDBSelector%1%") -> CAlphaPDBSelector"""
12583  _IMP_atom.CAlphaPDBSelector_swiginit(self, _IMP_atom.new_CAlphaPDBSelector(*args))
12584  __swig_destroy__ = _IMP_atom.delete_CAlphaPDBSelector
12585 
12586  def __str__(self):
12587  r"""__str__(CAlphaPDBSelector self) -> std::string"""
12588  return _IMP_atom.CAlphaPDBSelector___str__(self)
12589 
12590  def __repr__(self):
12591  r"""__repr__(CAlphaPDBSelector self) -> std::string"""
12592  return _IMP_atom.CAlphaPDBSelector___repr__(self)
12593 
12594  @staticmethod
12595  def get_from(o):
12596  return _object_cast_to_CAlphaPDBSelector(o)
12597 
12598 
12599 # Register CAlphaPDBSelector in _IMP_atom:
12600 _IMP_atom.CAlphaPDBSelector_swigregister(CAlphaPDBSelector)
12601 class CBetaPDBSelector(NonAlternativePDBSelector):
12602  r"""Proxy of C++ IMP::atom::CBetaPDBSelector class."""
12603 
12604  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12605 
12606  def __init__(self, *args):
12607  r"""__init__(CBetaPDBSelector self, std::string name="CBetaPDBSelector%1%") -> CBetaPDBSelector"""
12608  _IMP_atom.CBetaPDBSelector_swiginit(self, _IMP_atom.new_CBetaPDBSelector(*args))
12609  __swig_destroy__ = _IMP_atom.delete_CBetaPDBSelector
12610 
12611  def __str__(self):
12612  r"""__str__(CBetaPDBSelector self) -> std::string"""
12613  return _IMP_atom.CBetaPDBSelector___str__(self)
12614 
12615  def __repr__(self):
12616  r"""__repr__(CBetaPDBSelector self) -> std::string"""
12617  return _IMP_atom.CBetaPDBSelector___repr__(self)
12618 
12619  @staticmethod
12620  def get_from(o):
12621  return _object_cast_to_CBetaPDBSelector(o)
12622 
12623 
12624 # Register CBetaPDBSelector in _IMP_atom:
12625 _IMP_atom.CBetaPDBSelector_swigregister(CBetaPDBSelector)
12626 class AtomTypePDBSelector(PDBSelector):
12627  r"""Proxy of C++ IMP::atom::AtomTypePDBSelector class."""
12628 
12629  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12630 
12631  def __init__(self, *args):
12632  r"""__init__(AtomTypePDBSelector self, IMP::Strings atom_types, std::string name="AtomTypePDBSelector%1%") -> AtomTypePDBSelector"""
12633  _IMP_atom.AtomTypePDBSelector_swiginit(self, _IMP_atom.new_AtomTypePDBSelector(*args))
12634 
12635  def get_version_info(self):
12636  r"""get_version_info(AtomTypePDBSelector self) -> VersionInfo"""
12637  return _IMP_atom.AtomTypePDBSelector_get_version_info(self)
12638  __swig_destroy__ = _IMP_atom.delete_AtomTypePDBSelector
12639 
12640  def __str__(self):
12641  r"""__str__(AtomTypePDBSelector self) -> std::string"""
12642  return _IMP_atom.AtomTypePDBSelector___str__(self)
12643 
12644  def __repr__(self):
12645  r"""__repr__(AtomTypePDBSelector self) -> std::string"""
12646  return _IMP_atom.AtomTypePDBSelector___repr__(self)
12647 
12648  @staticmethod
12649  def get_from(o):
12650  return _object_cast_to_AtomTypePDBSelector(o)
12651 
12652 
12653 # Register AtomTypePDBSelector in _IMP_atom:
12654 _IMP_atom.AtomTypePDBSelector_swigregister(AtomTypePDBSelector)
12655 class ResidueTypePDBSelector(PDBSelector):
12656  r"""Proxy of C++ IMP::atom::ResidueTypePDBSelector class."""
12657 
12658  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12659 
12660  def __init__(self, *args):
12661  r"""__init__(ResidueTypePDBSelector self, IMP::Strings residue_types, std::string name="ResidueTypePDBSelector%1%") -> ResidueTypePDBSelector"""
12662  _IMP_atom.ResidueTypePDBSelector_swiginit(self, _IMP_atom.new_ResidueTypePDBSelector(*args))
12663 
12664  def get_version_info(self):
12665  r"""get_version_info(ResidueTypePDBSelector self) -> VersionInfo"""
12666  return _IMP_atom.ResidueTypePDBSelector_get_version_info(self)
12667  __swig_destroy__ = _IMP_atom.delete_ResidueTypePDBSelector
12668 
12669  def __str__(self):
12670  r"""__str__(ResidueTypePDBSelector self) -> std::string"""
12671  return _IMP_atom.ResidueTypePDBSelector___str__(self)
12672 
12673  def __repr__(self):
12674  r"""__repr__(ResidueTypePDBSelector self) -> std::string"""
12675  return _IMP_atom.ResidueTypePDBSelector___repr__(self)
12676 
12677  @staticmethod
12678  def get_from(o):
12679  return _object_cast_to_ResidueTypePDBSelector(o)
12680 
12681 
12682 # Register ResidueTypePDBSelector in _IMP_atom:
12683 _IMP_atom.ResidueTypePDBSelector_swigregister(ResidueTypePDBSelector)
12684 class CPDBSelector(NonAlternativePDBSelector):
12685  r"""Proxy of C++ IMP::atom::CPDBSelector class."""
12686 
12687  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12688 
12689  def __init__(self, *args):
12690  r"""__init__(CPDBSelector self, std::string name="CPDBSelector%1%") -> CPDBSelector"""
12691  _IMP_atom.CPDBSelector_swiginit(self, _IMP_atom.new_CPDBSelector(*args))
12692  __swig_destroy__ = _IMP_atom.delete_CPDBSelector
12693 
12694  def __str__(self):
12695  r"""__str__(CPDBSelector self) -> std::string"""
12696  return _IMP_atom.CPDBSelector___str__(self)
12697 
12698  def __repr__(self):
12699  r"""__repr__(CPDBSelector self) -> std::string"""
12700  return _IMP_atom.CPDBSelector___repr__(self)
12701 
12702  @staticmethod
12703  def get_from(o):
12704  return _object_cast_to_CPDBSelector(o)
12705 
12706 
12707 # Register CPDBSelector in _IMP_atom:
12708 _IMP_atom.CPDBSelector_swigregister(CPDBSelector)
12709 class NPDBSelector(NonAlternativePDBSelector):
12710  r"""Proxy of C++ IMP::atom::NPDBSelector class."""
12711 
12712  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12713 
12714  def __init__(self, *args):
12715  r"""__init__(NPDBSelector self, std::string name="NPDBSelector%1%") -> NPDBSelector"""
12716  _IMP_atom.NPDBSelector_swiginit(self, _IMP_atom.new_NPDBSelector(*args))
12717  __swig_destroy__ = _IMP_atom.delete_NPDBSelector
12718 
12719  def __str__(self):
12720  r"""__str__(NPDBSelector self) -> std::string"""
12721  return _IMP_atom.NPDBSelector___str__(self)
12722 
12723  def __repr__(self):
12724  r"""__repr__(NPDBSelector self) -> std::string"""
12725  return _IMP_atom.NPDBSelector___repr__(self)
12726 
12727  @staticmethod
12728  def get_from(o):
12729  return _object_cast_to_NPDBSelector(o)
12730 
12731 
12732 # Register NPDBSelector in _IMP_atom:
12733 _IMP_atom.NPDBSelector_swigregister(NPDBSelector)
12734 class AllPDBSelector(PDBSelector):
12735  r"""Proxy of C++ IMP::atom::AllPDBSelector class."""
12736 
12737  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12738 
12739  def __init__(self, *args):
12740  r"""__init__(AllPDBSelector self, std::string name="AllPDBSelector%1%") -> AllPDBSelector"""
12741  _IMP_atom.AllPDBSelector_swiginit(self, _IMP_atom.new_AllPDBSelector(*args))
12742 
12743  def get_version_info(self):
12744  r"""get_version_info(AllPDBSelector self) -> VersionInfo"""
12745  return _IMP_atom.AllPDBSelector_get_version_info(self)
12746  __swig_destroy__ = _IMP_atom.delete_AllPDBSelector
12747 
12748  def __str__(self):
12749  r"""__str__(AllPDBSelector self) -> std::string"""
12750  return _IMP_atom.AllPDBSelector___str__(self)
12751 
12752  def __repr__(self):
12753  r"""__repr__(AllPDBSelector self) -> std::string"""
12754  return _IMP_atom.AllPDBSelector___repr__(self)
12755 
12756  @staticmethod
12757  def get_from(o):
12758  return _object_cast_to_AllPDBSelector(o)
12759 
12760 
12761 # Register AllPDBSelector in _IMP_atom:
12762 _IMP_atom.AllPDBSelector_swigregister(AllPDBSelector)
12763 class ChainPDBSelector(NonAlternativePDBSelector):
12764  r"""Proxy of C++ IMP::atom::ChainPDBSelector class."""
12765 
12766  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12767  __swig_destroy__ = _IMP_atom.delete_ChainPDBSelector
12768 
12769  def __init__(self, *args):
12770  r"""__init__(ChainPDBSelector self, IMP::Strings chains, std::string name="ChainPDBSelector%1%") -> ChainPDBSelector"""
12771  _IMP_atom.ChainPDBSelector_swiginit(self, _IMP_atom.new_ChainPDBSelector(*args))
12772 
12773  def __str__(self):
12774  r"""__str__(ChainPDBSelector self) -> std::string"""
12775  return _IMP_atom.ChainPDBSelector___str__(self)
12776 
12777  def __repr__(self):
12778  r"""__repr__(ChainPDBSelector self) -> std::string"""
12779  return _IMP_atom.ChainPDBSelector___repr__(self)
12780 
12781  @staticmethod
12782  def get_from(o):
12783  return _object_cast_to_ChainPDBSelector(o)
12784 
12785 
12786 # Register ChainPDBSelector in _IMP_atom:
12787 _IMP_atom.ChainPDBSelector_swigregister(ChainPDBSelector)
12788 class WaterPDBSelector(NonAlternativePDBSelector):
12789  r"""Proxy of C++ IMP::atom::WaterPDBSelector class."""
12790 
12791  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12792 
12793  def __init__(self, *args):
12794  r"""__init__(WaterPDBSelector self, std::string name="WaterPDBSelector%1%") -> WaterPDBSelector"""
12795  _IMP_atom.WaterPDBSelector_swiginit(self, _IMP_atom.new_WaterPDBSelector(*args))
12796  __swig_destroy__ = _IMP_atom.delete_WaterPDBSelector
12797 
12798  def __str__(self):
12799  r"""__str__(WaterPDBSelector self) -> std::string"""
12800  return _IMP_atom.WaterPDBSelector___str__(self)
12801 
12802  def __repr__(self):
12803  r"""__repr__(WaterPDBSelector self) -> std::string"""
12804  return _IMP_atom.WaterPDBSelector___repr__(self)
12805 
12806  @staticmethod
12807  def get_from(o):
12808  return _object_cast_to_WaterPDBSelector(o)
12809 
12810 
12811 # Register WaterPDBSelector in _IMP_atom:
12812 _IMP_atom.WaterPDBSelector_swigregister(WaterPDBSelector)
12813 class HydrogenPDBSelector(NonAlternativePDBSelector):
12814  r"""Proxy of C++ IMP::atom::HydrogenPDBSelector class."""
12815 
12816  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12817 
12818  def __init__(self, *args):
12819  r"""__init__(HydrogenPDBSelector self, std::string name="HydrogenPDBSelector%1%") -> HydrogenPDBSelector"""
12820  _IMP_atom.HydrogenPDBSelector_swiginit(self, _IMP_atom.new_HydrogenPDBSelector(*args))
12821  __swig_destroy__ = _IMP_atom.delete_HydrogenPDBSelector
12822 
12823  def __str__(self):
12824  r"""__str__(HydrogenPDBSelector self) -> std::string"""
12825  return _IMP_atom.HydrogenPDBSelector___str__(self)
12826 
12827  def __repr__(self):
12828  r"""__repr__(HydrogenPDBSelector self) -> std::string"""
12829  return _IMP_atom.HydrogenPDBSelector___repr__(self)
12830 
12831  @staticmethod
12832  def get_from(o):
12833  return _object_cast_to_HydrogenPDBSelector(o)
12834 
12835 
12836 # Register HydrogenPDBSelector in _IMP_atom:
12837 _IMP_atom.HydrogenPDBSelector_swigregister(HydrogenPDBSelector)
12838 class NonWaterNonHydrogenPDBSelector(NonAlternativePDBSelector):
12839  r"""Proxy of C++ IMP::atom::NonWaterNonHydrogenPDBSelector class."""
12840 
12841  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12842  __swig_destroy__ = _IMP_atom.delete_NonWaterNonHydrogenPDBSelector
12843 
12844  def __init__(self, *args):
12845  r"""
12846  __init__(NonWaterNonHydrogenPDBSelector self, std::string name) -> NonWaterNonHydrogenPDBSelector
12847  __init__(NonWaterNonHydrogenPDBSelector self) -> NonWaterNonHydrogenPDBSelector
12848  """
12849  _IMP_atom.NonWaterNonHydrogenPDBSelector_swiginit(self, _IMP_atom.new_NonWaterNonHydrogenPDBSelector(*args))
12850 
12851  def __str__(self):
12852  r"""__str__(NonWaterNonHydrogenPDBSelector self) -> std::string"""
12853  return _IMP_atom.NonWaterNonHydrogenPDBSelector___str__(self)
12854 
12855  def __repr__(self):
12856  r"""__repr__(NonWaterNonHydrogenPDBSelector self) -> std::string"""
12857  return _IMP_atom.NonWaterNonHydrogenPDBSelector___repr__(self)
12858 
12859  @staticmethod
12860  def get_from(o):
12861  return _object_cast_to_NonWaterNonHydrogenPDBSelector(o)
12862 
12863 
12864 # Register NonWaterNonHydrogenPDBSelector in _IMP_atom:
12865 _IMP_atom.NonWaterNonHydrogenPDBSelector_swigregister(NonWaterNonHydrogenPDBSelector)
12866 class NonHydrogenPDBSelector(NonAlternativePDBSelector):
12867  r"""Proxy of C++ IMP::atom::NonHydrogenPDBSelector 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_NonHydrogenPDBSelector
12871 
12872  def __init__(self, *args):
12873  r"""
12874  __init__(NonHydrogenPDBSelector self, std::string name) -> NonHydrogenPDBSelector
12875  __init__(NonHydrogenPDBSelector self) -> NonHydrogenPDBSelector
12876  """
12877  _IMP_atom.NonHydrogenPDBSelector_swiginit(self, _IMP_atom.new_NonHydrogenPDBSelector(*args))
12878 
12879  def __str__(self):
12880  r"""__str__(NonHydrogenPDBSelector self) -> std::string"""
12881  return _IMP_atom.NonHydrogenPDBSelector___str__(self)
12882 
12883  def __repr__(self):
12884  r"""__repr__(NonHydrogenPDBSelector self) -> std::string"""
12885  return _IMP_atom.NonHydrogenPDBSelector___repr__(self)
12886 
12887  @staticmethod
12888  def get_from(o):
12889  return _object_cast_to_NonHydrogenPDBSelector(o)
12890 
12891 
12892 # Register NonHydrogenPDBSelector in _IMP_atom:
12893 _IMP_atom.NonHydrogenPDBSelector_swigregister(NonHydrogenPDBSelector)
12894 class NonWaterPDBSelector(NonAlternativePDBSelector):
12895  r"""Proxy of C++ IMP::atom::NonWaterPDBSelector 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_NonWaterPDBSelector
12899 
12900  def __init__(self, *args):
12901  r"""
12902  __init__(NonWaterPDBSelector self, std::string name) -> NonWaterPDBSelector
12903  __init__(NonWaterPDBSelector self) -> NonWaterPDBSelector
12904  """
12905  _IMP_atom.NonWaterPDBSelector_swiginit(self, _IMP_atom.new_NonWaterPDBSelector(*args))
12906 
12907  def __str__(self):
12908  r"""__str__(NonWaterPDBSelector self) -> std::string"""
12909  return _IMP_atom.NonWaterPDBSelector___str__(self)
12910 
12911  def __repr__(self):
12912  r"""__repr__(NonWaterPDBSelector self) -> std::string"""
12913  return _IMP_atom.NonWaterPDBSelector___repr__(self)
12914 
12915  @staticmethod
12916  def get_from(o):
12917  return _object_cast_to_NonWaterPDBSelector(o)
12918 
12919 
12920 # Register NonWaterPDBSelector in _IMP_atom:
12921 _IMP_atom.NonWaterPDBSelector_swigregister(NonWaterPDBSelector)
12922 class BackbonePDBSelector(NonWaterNonHydrogenPDBSelector):
12923  r"""Proxy of C++ IMP::atom::BackbonePDBSelector class."""
12924 
12925  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12926 
12927  def __init__(self, *args):
12928  r"""__init__(BackbonePDBSelector self, std::string name="BackbonePDBSelector%1%") -> BackbonePDBSelector"""
12929  _IMP_atom.BackbonePDBSelector_swiginit(self, _IMP_atom.new_BackbonePDBSelector(*args))
12930  __swig_destroy__ = _IMP_atom.delete_BackbonePDBSelector
12931 
12932  def __str__(self):
12933  r"""__str__(BackbonePDBSelector self) -> std::string"""
12934  return _IMP_atom.BackbonePDBSelector___str__(self)
12935 
12936  def __repr__(self):
12937  r"""__repr__(BackbonePDBSelector self) -> std::string"""
12938  return _IMP_atom.BackbonePDBSelector___repr__(self)
12939 
12940  @staticmethod
12941  def get_from(o):
12942  return _object_cast_to_BackbonePDBSelector(o)
12943 
12944 
12945 # Register BackbonePDBSelector in _IMP_atom:
12946 _IMP_atom.BackbonePDBSelector_swigregister(BackbonePDBSelector)
12947 class PPDBSelector(NonAlternativePDBSelector):
12948  r"""Proxy of C++ IMP::atom::PPDBSelector class."""
12949 
12950  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12951 
12952  def __init__(self, *args):
12953  r"""__init__(PPDBSelector self, std::string name="PPDBSelector%1%") -> PPDBSelector"""
12954  _IMP_atom.PPDBSelector_swiginit(self, _IMP_atom.new_PPDBSelector(*args))
12955  __swig_destroy__ = _IMP_atom.delete_PPDBSelector
12956 
12957  def __str__(self):
12958  r"""__str__(PPDBSelector self) -> std::string"""
12959  return _IMP_atom.PPDBSelector___str__(self)
12960 
12961  def __repr__(self):
12962  r"""__repr__(PPDBSelector self) -> std::string"""
12963  return _IMP_atom.PPDBSelector___repr__(self)
12964 
12965  @staticmethod
12966  def get_from(o):
12967  return _object_cast_to_PPDBSelector(o)
12968 
12969 
12970 # Register PPDBSelector in _IMP_atom:
12971 _IMP_atom.PPDBSelector_swigregister(PPDBSelector)
12972 class AndPDBSelector(PDBSelector):
12973  r"""Proxy of C++ IMP::atom::AndPDBSelector class."""
12974 
12975  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12976 
12977  def get_version_info(self):
12978  r"""get_version_info(AndPDBSelector self) -> VersionInfo"""
12979  return _IMP_atom.AndPDBSelector_get_version_info(self)
12980  __swig_destroy__ = _IMP_atom.delete_AndPDBSelector
12981 
12982  def __init__(self, a, b):
12983  r"""__init__(AndPDBSelector self, PDBSelector a, PDBSelector b) -> AndPDBSelector"""
12984  _IMP_atom.AndPDBSelector_swiginit(self, _IMP_atom.new_AndPDBSelector(a, b))
12985 
12986  def __str__(self):
12987  r"""__str__(AndPDBSelector self) -> std::string"""
12988  return _IMP_atom.AndPDBSelector___str__(self)
12989 
12990  def __repr__(self):
12991  r"""__repr__(AndPDBSelector self) -> std::string"""
12992  return _IMP_atom.AndPDBSelector___repr__(self)
12993 
12994  @staticmethod
12995  def get_from(o):
12996  return _object_cast_to_AndPDBSelector(o)
12997 
12998 
12999 # Register AndPDBSelector in _IMP_atom:
13000 _IMP_atom.AndPDBSelector_swigregister(AndPDBSelector)
13001 class OrPDBSelector(PDBSelector):
13002  r"""Proxy of C++ IMP::atom::OrPDBSelector class."""
13003 
13004  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13005 
13006  def get_version_info(self):
13007  r"""get_version_info(OrPDBSelector self) -> VersionInfo"""
13008  return _IMP_atom.OrPDBSelector_get_version_info(self)
13009  __swig_destroy__ = _IMP_atom.delete_OrPDBSelector
13010 
13011  def __init__(self, a, b):
13012  r"""__init__(OrPDBSelector self, PDBSelector a, PDBSelector b) -> OrPDBSelector"""
13013  _IMP_atom.OrPDBSelector_swiginit(self, _IMP_atom.new_OrPDBSelector(a, b))
13014 
13015  def __str__(self):
13016  r"""__str__(OrPDBSelector self) -> std::string"""
13017  return _IMP_atom.OrPDBSelector___str__(self)
13018 
13019  def __repr__(self):
13020  r"""__repr__(OrPDBSelector self) -> std::string"""
13021  return _IMP_atom.OrPDBSelector___repr__(self)
13022 
13023  @staticmethod
13024  def get_from(o):
13025  return _object_cast_to_OrPDBSelector(o)
13026 
13027 
13028 # Register OrPDBSelector in _IMP_atom:
13029 _IMP_atom.OrPDBSelector_swigregister(OrPDBSelector)
13030 class XorPDBSelector(PDBSelector):
13031  r"""Proxy of C++ IMP::atom::XorPDBSelector class."""
13032 
13033  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13034 
13035  def get_version_info(self):
13036  r"""get_version_info(XorPDBSelector self) -> VersionInfo"""
13037  return _IMP_atom.XorPDBSelector_get_version_info(self)
13038  __swig_destroy__ = _IMP_atom.delete_XorPDBSelector
13039 
13040  def __init__(self, a, b):
13041  r"""__init__(XorPDBSelector self, PDBSelector a, PDBSelector b) -> XorPDBSelector"""
13042  _IMP_atom.XorPDBSelector_swiginit(self, _IMP_atom.new_XorPDBSelector(a, b))
13043 
13044  def __str__(self):
13045  r"""__str__(XorPDBSelector self) -> std::string"""
13046  return _IMP_atom.XorPDBSelector___str__(self)
13047 
13048  def __repr__(self):
13049  r"""__repr__(XorPDBSelector self) -> std::string"""
13050  return _IMP_atom.XorPDBSelector___repr__(self)
13051 
13052  @staticmethod
13053  def get_from(o):
13054  return _object_cast_to_XorPDBSelector(o)
13055 
13056 
13057 # Register XorPDBSelector in _IMP_atom:
13058 _IMP_atom.XorPDBSelector_swigregister(XorPDBSelector)
13059 class NotPDBSelector(PDBSelector):
13060  r"""Proxy of C++ IMP::atom::NotPDBSelector class."""
13061 
13062  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13063 
13064  def get_version_info(self):
13065  r"""get_version_info(NotPDBSelector self) -> VersionInfo"""
13066  return _IMP_atom.NotPDBSelector_get_version_info(self)
13067  __swig_destroy__ = _IMP_atom.delete_NotPDBSelector
13068 
13069  def __init__(self, a):
13070  r"""__init__(NotPDBSelector self, PDBSelector a) -> NotPDBSelector"""
13071  _IMP_atom.NotPDBSelector_swiginit(self, _IMP_atom.new_NotPDBSelector(a))
13072 
13073  def __str__(self):
13074  r"""__str__(NotPDBSelector self) -> std::string"""
13075  return _IMP_atom.NotPDBSelector___str__(self)
13076 
13077  def __repr__(self):
13078  r"""__repr__(NotPDBSelector self) -> std::string"""
13079  return _IMP_atom.NotPDBSelector___repr__(self)
13080 
13081  @staticmethod
13082  def get_from(o):
13083  return _object_cast_to_NotPDBSelector(o)
13084 
13085 
13086 # Register NotPDBSelector in _IMP_atom:
13087 _IMP_atom.NotPDBSelector_swigregister(NotPDBSelector)
13088 
13089 def get_default_pdb_selector():
13090  r"""get_default_pdb_selector() -> PDBSelector"""
13091  return _IMP_atom.get_default_pdb_selector()
13092 
13093 def read_pdb(*args):
13094  r"""
13095  read_pdb(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool select_first_model=True, bool no_radii=False) -> Hierarchy
13096  read_pdb(TextInput input, int model, Hierarchy h)
13097  """
13098  return _IMP_atom.read_pdb(*args)
13099 
13100 def read_multimodel_pdb(*args):
13101  r"""read_multimodel_pdb(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
13102  return _IMP_atom.read_multimodel_pdb(*args)
13103 
13104 def write_pdb(mhd, out, model=1):
13105  r"""write_pdb(Selection mhd, TextOutput out, unsigned int model=1)"""
13106  return _IMP_atom.write_pdb(mhd, out, model)
13107 
13108 def write_pdb_of_c_alphas(mhd, out, model=1):
13109  r"""write_pdb_of_c_alphas(Selection mhd, TextOutput out, unsigned int model=1)"""
13110  return _IMP_atom.write_pdb_of_c_alphas(mhd, out, model)
13111 
13112 def write_multimodel_pdb(mhd, out):
13113  r"""write_multimodel_pdb(IMP::atom::Hierarchies const & mhd, TextOutput out)"""
13114  return _IMP_atom.write_multimodel_pdb(mhd, out)
13115 
13116 def get_pdb_string(*args):
13117  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"""
13118  return _IMP_atom.get_pdb_string(*args)
13119 
13120 def get_pdb_conect_record_string(arg1, arg2):
13121  r"""get_pdb_conect_record_string(int arg1, int arg2) -> std::string"""
13122  return _IMP_atom.get_pdb_conect_record_string(arg1, arg2)
13123 class WritePDBOptimizerState(IMP.OptimizerState):
13124  r"""Proxy of C++ IMP::atom::WritePDBOptimizerState class."""
13125 
13126  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13127 
13128  def __init__(self, *args):
13129  r"""
13130  __init__(WritePDBOptimizerState self, Model m, _ParticleIndexesAdaptor pis, std::string filename) -> WritePDBOptimizerState
13131  __init__(WritePDBOptimizerState self, IMP::atom::Hierarchies const mh, std::string filename) -> WritePDBOptimizerState
13132  __init__(WritePDBOptimizerState self) -> WritePDBOptimizerState
13133  """
13134  _IMP_atom.WritePDBOptimizerState_swiginit(self, _IMP_atom.new_WritePDBOptimizerState(*args))
13135 
13136  def get_version_info(self):
13137  r"""get_version_info(WritePDBOptimizerState self) -> VersionInfo"""
13138  return _IMP_atom.WritePDBOptimizerState_get_version_info(self)
13139  __swig_destroy__ = _IMP_atom.delete_WritePDBOptimizerState
13140 
13141  def __str__(self):
13142  r"""__str__(WritePDBOptimizerState self) -> std::string"""
13143  return _IMP_atom.WritePDBOptimizerState___str__(self)
13144 
13145  def __repr__(self):
13146  r"""__repr__(WritePDBOptimizerState self) -> std::string"""
13147  return _IMP_atom.WritePDBOptimizerState___repr__(self)
13148 
13149  @staticmethod
13150  def get_from(o):
13151  return _object_cast_to_WritePDBOptimizerState(o)
13152 
13153 
13154  def _get_as_binary(self):
13155  r"""_get_as_binary(WritePDBOptimizerState self) -> PyObject *"""
13156  return _IMP_atom.WritePDBOptimizerState__get_as_binary(self)
13157 
13158  def _set_from_binary(self, p):
13159  r"""_set_from_binary(WritePDBOptimizerState self, PyObject * p)"""
13160  return _IMP_atom.WritePDBOptimizerState__set_from_binary(self, p)
13161 
13162  def __getstate__(self):
13163  p = self._get_as_binary()
13164  if len(self.__dict__) > 1:
13165  d = self.__dict__.copy()
13166  del d['this']
13167  p = (d, p)
13168  return p
13169 
13170  def __setstate__(self, p):
13171  if not hasattr(self, 'this'):
13172  self.__init__()
13173  if isinstance(p, tuple):
13174  d, p = p
13175  self.__dict__.update(d)
13176  return self._set_from_binary(p)
13177 
13178 
13179 # Register WritePDBOptimizerState in _IMP_atom:
13180 _IMP_atom.WritePDBOptimizerState_swigregister(WritePDBOptimizerState)
13181 
13182 def read_multimodel_mmcif(*args):
13183  r"""read_multimodel_mmcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
13184  return _IMP_atom.read_multimodel_mmcif(*args)
13185 
13186 def read_mmcif(*args):
13187  r"""read_mmcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool select_first_model=True, bool noradii=False) -> Hierarchy"""
13188  return _IMP_atom.read_mmcif(*args)
13189 
13190 def read_multimodel_bcif(*args):
13191  r"""read_multimodel_bcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
13192  return _IMP_atom.read_multimodel_bcif(*args)
13193 
13194 def read_bcif(*args):
13195  r"""read_bcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool select_first_model=True, bool noradii=False) -> Hierarchy"""
13196  return _IMP_atom.read_bcif(*args)
13197 
13198 def read_pdb_any(*args):
13199  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"""
13200  return _IMP_atom.read_pdb_any(*args)
13201 
13202 def read_multimodel_pdb_any(*args):
13203  r"""read_multimodel_pdb_any(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
13204  return _IMP_atom.read_multimodel_pdb_any(*args)
13205 
13206 def get_kt(T):
13207  r"""get_kt(double T) -> double"""
13208  return _IMP_atom.get_kt(T)
13209 class CAAngleRestraint(IMP.Restraint):
13210  r"""Proxy of C++ IMP::atom::CAAngleRestraint class."""
13211 
13212  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13213 
13214  def __init__(self, m, p1, p2, p3, phi0, score):
13215  r"""__init__(CAAngleRestraint self, Model m, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3, IMP::Floats phi0, IMP::Floats score) -> CAAngleRestraint"""
13216  _IMP_atom.CAAngleRestraint_swiginit(self, _IMP_atom.new_CAAngleRestraint(m, p1, p2, p3, phi0, score))
13217 
13218  def do_get_inputs(self):
13219  r"""do_get_inputs(CAAngleRestraint self) -> IMP::ModelObjectsTemp"""
13220  return _IMP_atom.CAAngleRestraint_do_get_inputs(self)
13221 
13222  def get_version_info(self):
13223  r"""get_version_info(CAAngleRestraint self) -> VersionInfo"""
13224  return _IMP_atom.CAAngleRestraint_get_version_info(self)
13225  __swig_destroy__ = _IMP_atom.delete_CAAngleRestraint
13226 
13227  def __str__(self):
13228  r"""__str__(CAAngleRestraint self) -> std::string"""
13229  return _IMP_atom.CAAngleRestraint___str__(self)
13230 
13231  def __repr__(self):
13232  r"""__repr__(CAAngleRestraint self) -> std::string"""
13233  return _IMP_atom.CAAngleRestraint___repr__(self)
13234 
13235  @staticmethod
13236  def get_from(o):
13237  return _object_cast_to_CAAngleRestraint(o)
13238 
13239 
13240 # Register CAAngleRestraint in _IMP_atom:
13241 _IMP_atom.CAAngleRestraint_swigregister(CAAngleRestraint)
13242 class CADihedralRestraint(IMP.Restraint):
13243  r"""Proxy of C++ IMP::atom::CADihedralRestraint class."""
13244 
13245  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13246 
13247  def __init__(self, m, p1, p2, p3, p4, p5, phi0, phi1, score):
13248  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"""
13249  _IMP_atom.CADihedralRestraint_swiginit(self, _IMP_atom.new_CADihedralRestraint(m, p1, p2, p3, p4, p5, phi0, phi1, score))
13250 
13251  def do_get_inputs(self):
13252  r"""do_get_inputs(CADihedralRestraint self) -> IMP::ModelObjectsTemp"""
13253  return _IMP_atom.CADihedralRestraint_do_get_inputs(self)
13254 
13255  def get_version_info(self):
13256  r"""get_version_info(CADihedralRestraint self) -> VersionInfo"""
13257  return _IMP_atom.CADihedralRestraint_get_version_info(self)
13258  __swig_destroy__ = _IMP_atom.delete_CADihedralRestraint
13259 
13260  def __str__(self):
13261  r"""__str__(CADihedralRestraint self) -> std::string"""
13262  return _IMP_atom.CADihedralRestraint___str__(self)
13263 
13264  def __repr__(self):
13265  r"""__repr__(CADihedralRestraint self) -> std::string"""
13266  return _IMP_atom.CADihedralRestraint___repr__(self)
13267 
13268  @staticmethod
13269  def get_from(o):
13270  return _object_cast_to_CADihedralRestraint(o)
13271 
13272 
13273 # Register CADihedralRestraint in _IMP_atom:
13274 _IMP_atom.CADihedralRestraint_swigregister(CADihedralRestraint)
13275 class StructureSource(IMP.Decorator):
13276  r"""Proxy of C++ IMP::atom::StructureSource class."""
13277 
13278  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13279 
13280  def get_source_id(self):
13281  r"""get_source_id(StructureSource self) -> std::string"""
13282  return _IMP_atom.StructureSource_get_source_id(self)
13283 
13284  def get_source_chain_id(self):
13285  r"""get_source_chain_id(StructureSource self) -> std::string"""
13286  return _IMP_atom.StructureSource_get_source_chain_id(self)
13287 
13288  def set_source_id(self, source_id):
13289  r"""set_source_id(StructureSource self, std::string source_id)"""
13290  return _IMP_atom.StructureSource_set_source_id(self, source_id)
13291 
13292  def set_source_chain_id(self, source_chain_id):
13293  r"""set_source_chain_id(StructureSource self, std::string source_chain_id)"""
13294  return _IMP_atom.StructureSource_set_source_chain_id(self, source_chain_id)
13295 
13296  def __init__(self, *args):
13297  r"""
13298  __init__(StructureSource self) -> StructureSource
13299  __init__(StructureSource self, Model m, ParticleIndex id) -> StructureSource
13300  __init__(StructureSource self, _ParticleAdaptor d) -> StructureSource
13301  """
13302  _IMP_atom.StructureSource_swiginit(self, _IMP_atom.new_StructureSource(*args))
13303 
13304  @staticmethod
13305  def get_is_setup(*args):
13306  r"""
13307  get_is_setup(Model m, ParticleIndex pi) -> bool
13308  get_is_setup(_ParticleAdaptor p) -> bool
13309  """
13310  return _IMP_atom.StructureSource_get_is_setup(*args)
13311 
13312  def show(self, *args):
13313  r"""show(StructureSource self, _ostream out=std::cout)"""
13314  return _IMP_atom.StructureSource_show(self, *args)
13315 
13316  @staticmethod
13317  def setup_particle(*args):
13318  r"""
13319  setup_particle(Model m, ParticleIndex pi, std::string source_id, std::string source_chain_id) -> StructureSource
13320  setup_particle(_ParticleAdaptor pa, std::string source_id, std::string source_chain_id) -> StructureSource
13321  """
13322  return _IMP_atom.StructureSource_setup_particle(*args)
13323 
13324  def add_attribute(self, *args):
13325  r"""
13326  add_attribute(StructureSource self, FloatKey k, IMP::Float v, bool opt)
13327  add_attribute(StructureSource self, FloatKey a0, IMP::Float a1)
13328  add_attribute(StructureSource self, IntKey a0, IMP::Int a1)
13329  add_attribute(StructureSource self, FloatsKey a0, IMP::Floats a1)
13330  add_attribute(StructureSource self, IntsKey a0, IMP::Ints a1)
13331  add_attribute(StructureSource self, StringKey a0, IMP::String a1)
13332  add_attribute(StructureSource self, ParticleIndexKey a0, Particle a1)
13333  add_attribute(StructureSource self, ObjectKey a0, Object a1)
13334  add_attribute(StructureSource self, SparseFloatKey a0, IMP::Float a1)
13335  add_attribute(StructureSource self, SparseIntKey a0, IMP::Int a1)
13336  add_attribute(StructureSource self, SparseStringKey a0, IMP::String a1)
13337  add_attribute(StructureSource self, SparseParticleIndexKey a0, ParticleIndex a1)
13338  """
13339  return _IMP_atom.StructureSource_add_attribute(self, *args)
13340 
13341  def get_value(self, *args):
13342  r"""
13343  get_value(StructureSource self, FloatKey a0) -> IMP::Float
13344  get_value(StructureSource self, IntKey a0) -> IMP::Int
13345  get_value(StructureSource self, FloatsKey a0) -> IMP::Floats
13346  get_value(StructureSource self, IntsKey a0) -> IMP::Ints
13347  get_value(StructureSource self, StringKey a0) -> IMP::String
13348  get_value(StructureSource self, ParticleIndexKey a0) -> Particle
13349  get_value(StructureSource self, ObjectKey a0) -> Object
13350  get_value(StructureSource self, SparseFloatKey a0) -> IMP::Float
13351  get_value(StructureSource self, SparseIntKey a0) -> IMP::Int
13352  get_value(StructureSource self, SparseStringKey a0) -> IMP::String
13353  get_value(StructureSource self, SparseParticleIndexKey a0) -> ParticleIndex
13354  """
13355  return _IMP_atom.StructureSource_get_value(self, *args)
13356 
13357  def set_value(self, *args):
13358  r"""
13359  set_value(StructureSource self, FloatKey a0, IMP::Float a1)
13360  set_value(StructureSource self, IntKey a0, IMP::Int a1)
13361  set_value(StructureSource self, FloatsKey a0, IMP::Floats a1)
13362  set_value(StructureSource self, IntsKey a0, IMP::Ints a1)
13363  set_value(StructureSource self, StringKey a0, IMP::String a1)
13364  set_value(StructureSource self, ParticleIndexKey a0, Particle a1)
13365  set_value(StructureSource self, ObjectKey a0, Object a1)
13366  set_value(StructureSource self, SparseFloatKey a0, IMP::Float a1)
13367  set_value(StructureSource self, SparseIntKey a0, IMP::Int a1)
13368  set_value(StructureSource self, SparseStringKey a0, IMP::String a1)
13369  set_value(StructureSource self, SparseParticleIndexKey a0, ParticleIndex a1)
13370  """
13371  return _IMP_atom.StructureSource_set_value(self, *args)
13372 
13373  def remove_attribute(self, *args):
13374  r"""
13375  remove_attribute(StructureSource self, FloatKey a0)
13376  remove_attribute(StructureSource self, IntKey a0)
13377  remove_attribute(StructureSource self, FloatsKey a0)
13378  remove_attribute(StructureSource self, IntsKey a0)
13379  remove_attribute(StructureSource self, StringKey a0)
13380  remove_attribute(StructureSource self, ParticleIndexKey a0)
13381  remove_attribute(StructureSource self, ObjectKey a0)
13382  remove_attribute(StructureSource self, SparseFloatKey a0)
13383  remove_attribute(StructureSource self, SparseIntKey a0)
13384  remove_attribute(StructureSource self, SparseStringKey a0)
13385  remove_attribute(StructureSource self, SparseParticleIndexKey a0)
13386  """
13387  return _IMP_atom.StructureSource_remove_attribute(self, *args)
13388 
13389  def has_attribute(self, *args):
13390  r"""
13391  has_attribute(StructureSource self, FloatKey a0) -> bool
13392  has_attribute(StructureSource self, IntKey a0) -> bool
13393  has_attribute(StructureSource self, FloatsKey a0) -> bool
13394  has_attribute(StructureSource self, IntsKey a0) -> bool
13395  has_attribute(StructureSource self, StringKey a0) -> bool
13396  has_attribute(StructureSource self, ParticleIndexKey a0) -> bool
13397  has_attribute(StructureSource self, ObjectKey a0) -> bool
13398  has_attribute(StructureSource self, SparseFloatKey a0) -> bool
13399  has_attribute(StructureSource self, SparseIntKey a0) -> bool
13400  has_attribute(StructureSource self, SparseStringKey a0) -> bool
13401  has_attribute(StructureSource self, SparseParticleIndexKey a0) -> bool
13402  """
13403  return _IMP_atom.StructureSource_has_attribute(self, *args)
13404 
13405  def get_derivative(self, a0):
13406  r"""get_derivative(StructureSource self, FloatKey a0) -> double"""
13407  return _IMP_atom.StructureSource_get_derivative(self, a0)
13408 
13409  def get_name(self):
13410  r"""get_name(StructureSource self) -> std::string"""
13411  return _IMP_atom.StructureSource_get_name(self)
13412 
13413  def clear_caches(self):
13414  r"""clear_caches(StructureSource self)"""
13415  return _IMP_atom.StructureSource_clear_caches(self)
13416 
13417  def set_name(self, a0):
13418  r"""set_name(StructureSource self, std::string a0)"""
13419  return _IMP_atom.StructureSource_set_name(self, a0)
13420 
13421  def set_check_level(self, a0):
13422  r"""set_check_level(StructureSource self, IMP::CheckLevel a0)"""
13423  return _IMP_atom.StructureSource_set_check_level(self, a0)
13424 
13425  def add_to_derivative(self, a0, a1, a2):
13426  r"""add_to_derivative(StructureSource self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
13427  return _IMP_atom.StructureSource_add_to_derivative(self, a0, a1, a2)
13428 
13429  def set_is_optimized(self, a0, a1):
13430  r"""set_is_optimized(StructureSource self, FloatKey a0, bool a1)"""
13431  return _IMP_atom.StructureSource_set_is_optimized(self, a0, a1)
13432 
13433  def get_is_optimized(self, a0):
13434  r"""get_is_optimized(StructureSource self, FloatKey a0) -> bool"""
13435  return _IMP_atom.StructureSource_get_is_optimized(self, a0)
13436 
13437  def get_check_level(self):
13438  r"""get_check_level(StructureSource self) -> IMP::CheckLevel"""
13439  return _IMP_atom.StructureSource_get_check_level(self)
13440 
13441  def __eq__(self, *args):
13442  r"""
13443  __eq__(StructureSource self, StructureSource o) -> bool
13444  __eq__(StructureSource self, Particle d) -> bool
13445  """
13446  return _IMP_atom.StructureSource___eq__(self, *args)
13447 
13448  def __ne__(self, *args):
13449  r"""
13450  __ne__(StructureSource self, StructureSource o) -> bool
13451  __ne__(StructureSource self, Particle d) -> bool
13452  """
13453  return _IMP_atom.StructureSource___ne__(self, *args)
13454 
13455  def __le__(self, *args):
13456  r"""
13457  __le__(StructureSource self, StructureSource o) -> bool
13458  __le__(StructureSource self, Particle d) -> bool
13459  """
13460  return _IMP_atom.StructureSource___le__(self, *args)
13461 
13462  def __lt__(self, *args):
13463  r"""
13464  __lt__(StructureSource self, StructureSource o) -> bool
13465  __lt__(StructureSource self, Particle d) -> bool
13466  """
13467  return _IMP_atom.StructureSource___lt__(self, *args)
13468 
13469  def __ge__(self, *args):
13470  r"""
13471  __ge__(StructureSource self, StructureSource o) -> bool
13472  __ge__(StructureSource self, Particle d) -> bool
13473  """
13474  return _IMP_atom.StructureSource___ge__(self, *args)
13475 
13476  def __gt__(self, *args):
13477  r"""
13478  __gt__(StructureSource self, StructureSource o) -> bool
13479  __gt__(StructureSource self, Particle d) -> bool
13480  """
13481  return _IMP_atom.StructureSource___gt__(self, *args)
13482 
13483  def __hash__(self):
13484  r"""__hash__(StructureSource self) -> std::size_t"""
13485  return _IMP_atom.StructureSource___hash__(self)
13486 
13487  def __str__(self):
13488  r"""__str__(StructureSource self) -> std::string"""
13489  return _IMP_atom.StructureSource___str__(self)
13490 
13491  def __repr__(self):
13492  r"""__repr__(StructureSource self) -> std::string"""
13493  return _IMP_atom.StructureSource___repr__(self)
13494 
13495  def _get_as_binary(self):
13496  r"""_get_as_binary(StructureSource self) -> PyObject *"""
13497  return _IMP_atom.StructureSource__get_as_binary(self)
13498 
13499  def _set_from_binary(self, p):
13500  r"""_set_from_binary(StructureSource self, PyObject * p)"""
13501  return _IMP_atom.StructureSource__set_from_binary(self, p)
13502 
13503  def __getstate__(self):
13504  p = self._get_as_binary()
13505  if len(self.__dict__) > 1:
13506  d = self.__dict__.copy()
13507  del d['this']
13508  p = (d, p)
13509  return p
13510 
13511  def __setstate__(self, p):
13512  if not hasattr(self, 'this'):
13513  self.__init__()
13514  if isinstance(p, tuple):
13515  d, p = p
13516  self.__dict__.update(d)
13517  return self._set_from_binary(p)
13518 
13519  __swig_destroy__ = _IMP_atom.delete_StructureSource
13520 
13521 # Register StructureSource in _IMP_atom:
13522 _IMP_atom.StructureSource_swigregister(StructureSource)
13523 
13524 def __lshift__(*args):
13525  r"""
13526  __lshift__(_ostream out, Bonded n) -> _ostream
13527  __lshift__(_ostream out, Bond n) -> _ostream
13528  __lshift__(_ostream out, Hierarchy n) -> _ostream
13529  __lshift__(_ostream out, Angle n) -> _ostream
13530  __lshift__(_ostream out, Dihedral n) -> _ostream
13531  __lshift__(_ostream out, CenterOfMass n) -> _ostream
13532  __lshift__(_ostream out, Diffusion n) -> _ostream
13533  __lshift__(_ostream out, RigidBodyDiffusion n) -> _ostream
13534  __lshift__(_ostream out, TAMDParticle n) -> _ostream
13535  __lshift__(_ostream out, Charged n) -> _ostream
13536  __lshift__(_ostream out, Domain n) -> _ostream
13537  __lshift__(_ostream out, LennardJonesTyped n) -> _ostream
13538  __lshift__(_ostream out, Fragment n) -> _ostream
13539  __lshift__(_ostream out, SecondaryStructureResidue n) -> _ostream
13540  __lshift__(_ostream out, Atom n) -> _ostream
13541  __lshift__(_ostream out, Residue n) -> _ostream
13542  __lshift__(_ostream out, Representation n) -> _ostream
13543  __lshift__(_ostream out, State n) -> _ostream
13544  __lshift__(_ostream out, Molecule n) -> _ostream
13545  __lshift__(_ostream out, Copy n) -> _ostream
13546  __lshift__(_ostream out, Chain n) -> _ostream
13547  __lshift__(_ostream out, StructureSource n) -> _ostream
13548  """
13549  return _IMP_atom.__lshift__(*args)
13550 class HelixRestraint(IMP.Restraint):
13551  r"""Proxy of C++ IMP::atom::HelixRestraint class."""
13552 
13553  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13554 
13555  def __init__(self, rs, ideal=True):
13556  r"""__init__(HelixRestraint self, IMP::atom::Residues rs, bool ideal=True) -> HelixRestraint"""
13557  _IMP_atom.HelixRestraint_swiginit(self, _IMP_atom.new_HelixRestraint(rs, ideal))
13558 
13559  def get_number_of_bonds(self):
13560  r"""get_number_of_bonds(HelixRestraint self) -> int"""
13561  return _IMP_atom.HelixRestraint_get_number_of_bonds(self)
13562 
13563  def get_number_of_dihedrals(self):
13564  r"""get_number_of_dihedrals(HelixRestraint self) -> int"""
13565  return _IMP_atom.HelixRestraint_get_number_of_dihedrals(self)
13566 
13567  def do_get_inputs(self):
13568  r"""do_get_inputs(HelixRestraint self) -> IMP::ModelObjectsTemp"""
13569  return _IMP_atom.HelixRestraint_do_get_inputs(self)
13570 
13571  def get_version_info(self):
13572  r"""get_version_info(HelixRestraint self) -> VersionInfo"""
13573  return _IMP_atom.HelixRestraint_get_version_info(self)
13574  __swig_destroy__ = _IMP_atom.delete_HelixRestraint
13575 
13576  def __str__(self):
13577  r"""__str__(HelixRestraint self) -> std::string"""
13578  return _IMP_atom.HelixRestraint___str__(self)
13579 
13580  def __repr__(self):
13581  r"""__repr__(HelixRestraint self) -> std::string"""
13582  return _IMP_atom.HelixRestraint___repr__(self)
13583 
13584  @staticmethod
13585  def get_from(o):
13586  return _object_cast_to_HelixRestraint(o)
13587 
13588 
13589 # Register HelixRestraint in _IMP_atom:
13590 _IMP_atom.HelixRestraint_swigregister(HelixRestraint)
13591 
13593  r"""get_transformation_aligning_first_to_second(Selection s1, Selection s2) -> Transformation3D"""
13594  return _IMP_atom.get_transformation_aligning_first_to_second(s1, s2)
13595 
13596 def show_molecular_hierarchy(*args):
13597  r"""show_molecular_hierarchy(Hierarchy h, _ostream out=std::cout) -> _ostream"""
13598  return _IMP_atom.show_molecular_hierarchy(*args)
13599 class CHARMMBond(object):
13600  r"""Proxy of C++ IMP::atom::CHARMMConnection< 2 > class."""
13601 
13602  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13603  __repr__ = _swig_repr
13604 
13605  def __init__(self, atoms):
13606  r"""__init__(CHARMMBond self, IMP::Strings const & atoms) -> CHARMMBond"""
13607  _IMP_atom.CHARMMBond_swiginit(self, _IMP_atom.new_CHARMMBond(atoms))
13608 
13609  def get_endpoint(self, i):
13610  r"""get_endpoint(CHARMMBond self, unsigned int i) -> CHARMMBondEndpoint"""
13611  return _IMP_atom.CHARMMBond_get_endpoint(self, i)
13612 
13613  def get_contains_atom(self, name):
13614  r"""get_contains_atom(CHARMMBond self, std::string name) -> bool"""
13615  return _IMP_atom.CHARMMBond_get_contains_atom(self, name)
13616 
13617  def show(self, *args):
13618  r"""show(CHARMMBond self, _ostream out=std::cout)"""
13619  return _IMP_atom.CHARMMBond_show(self, *args)
13620  __swig_destroy__ = _IMP_atom.delete_CHARMMBond
13621 
13622 # Register CHARMMBond in _IMP_atom:
13623 _IMP_atom.CHARMMBond_swigregister(CHARMMBond)
13624 class CHARMMAngle(object):
13625  r"""Proxy of C++ IMP::atom::CHARMMConnection< 3 > class."""
13626 
13627  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13628  __repr__ = _swig_repr
13629 
13630  def __init__(self, atoms):
13631  r"""__init__(CHARMMAngle self, IMP::Strings const & atoms) -> CHARMMAngle"""
13632  _IMP_atom.CHARMMAngle_swiginit(self, _IMP_atom.new_CHARMMAngle(atoms))
13633 
13634  def get_endpoint(self, i):
13635  r"""get_endpoint(CHARMMAngle self, unsigned int i) -> CHARMMBondEndpoint"""
13636  return _IMP_atom.CHARMMAngle_get_endpoint(self, i)
13637 
13638  def get_contains_atom(self, name):
13639  r"""get_contains_atom(CHARMMAngle self, std::string name) -> bool"""
13640  return _IMP_atom.CHARMMAngle_get_contains_atom(self, name)
13641 
13642  def show(self, *args):
13643  r"""show(CHARMMAngle self, _ostream out=std::cout)"""
13644  return _IMP_atom.CHARMMAngle_show(self, *args)
13645  __swig_destroy__ = _IMP_atom.delete_CHARMMAngle
13646 
13647 # Register CHARMMAngle in _IMP_atom:
13648 _IMP_atom.CHARMMAngle_swigregister(CHARMMAngle)
13649 
13650 def _get_native_overlap_cpp(m1, m2, threshold):
13651  r"""_get_native_overlap_cpp(IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m1, IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m2, double threshold) -> double"""
13652  return _IMP_atom._get_native_overlap_cpp(m1, m2, threshold)
13653 
13654 def _get_drmsd_cpp(m0, m1):
13655  r"""_get_drmsd_cpp(IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m0, IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m1) -> double"""
13656  return _IMP_atom._get_drmsd_cpp(m0, m1)
13657 
13658 def _get_drmsd_Q_cpp(m0, m1, threshold):
13659  r"""_get_drmsd_Q_cpp(IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m0, IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m1, double threshold) -> double"""
13660  return _IMP_atom._get_drmsd_Q_cpp(m0, m1, threshold)
13661 
13662 def _get_drms_cpp(m1, m2):
13663  r"""_get_drms_cpp(IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m1, IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m2) -> double"""
13664  return _IMP_atom._get_drms_cpp(m1, m2)
13665 
13666 def _get_rigid_bodies_drms_cpp(m1, m2, ranges):
13667  r"""_get_rigid_bodies_drms_cpp(IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m1, IMP::Vector< IMP::algebra::VectorD< 3 >,std::allocator< IMP::algebra::VectorD< 3 > > > const & m2, IMP::IntRanges const & ranges) -> double"""
13668  return _IMP_atom._get_rigid_bodies_drms_cpp(m1, m2, ranges)
13669 
13670 def get_native_overlap(a, b, d):
13671  va= [IMP.algebra.get_vector(x) for x in a]
13672  vb= [IMP.algebra.get_vector(x) for x in b]
13673  return _get_native_overlap_cpp(va, vb, d)
13674 
13675 def get_drmsd(a, b):
13676  va= [IMP.algebra.get_vector(x) for x in a]
13677  vb= [IMP.algebra.get_vector(x) for x in b]
13678  return _get_drmsd_cpp(va, vb)
13679 
13680 def get_drms(a, b):
13681  va= [IMP.algebra.get_vector(x) for x in a]
13682  vb= [IMP.algebra.get_vector(x) for x in b]
13683  return _get_drms_cpp(va, vb)
13684 
13685 def get_drmsd_Q(a, b, t):
13686  va= [IMP.algebra.get_vector(x) for x in a]
13687  vb= [IMP.algebra.get_vector(x) for x in b]
13688  return _get_drmsd_Q_cpp(va, vb, t)
13689 
13690 def get_rigid_bodies_drms(a, b, ranges):
13691  va= [IMP.algebra.get_vector(x) for x in a]
13692  vb= [IMP.algebra.get_vector(x) for x in b]
13693 #rs = [IMP.IntRange(r[0],r[1]) for r in ranges]
13694  return _get_rigid_bodies_drms_cpp(va, vb, ranges)
13695 
13696 
13697 class _LennardJonesTypedPairScore(IMP.PairScore):
13698  r"""Proxy of C++ IMP::atom::LennardJonesTypedPairScore< IMP::atom::SmoothingFunction > class."""
13699 
13700  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13701  __repr__ = _swig_repr
13702 
13703  def __init__(self, f):
13704  r"""__init__(_LennardJonesTypedPairScore self, SmoothingFunction f) -> _LennardJonesTypedPairScore"""
13705  _IMP_atom._LennardJonesTypedPairScore_swiginit(self, _IMP_atom.new__LennardJonesTypedPairScore(f))
13706 
13707  def set_repulsive_weight(self, repulsive_weight):
13708  r"""set_repulsive_weight(_LennardJonesTypedPairScore self, double repulsive_weight)"""
13709  return _IMP_atom._LennardJonesTypedPairScore_set_repulsive_weight(self, repulsive_weight)
13710 
13711  def get_repulsive_weight(self):
13712  r"""get_repulsive_weight(_LennardJonesTypedPairScore self) -> double"""
13713  return _IMP_atom._LennardJonesTypedPairScore_get_repulsive_weight(self)
13714 
13715  def set_attractive_weight(self, attractive_weight):
13716  r"""set_attractive_weight(_LennardJonesTypedPairScore self, double attractive_weight)"""
13717  return _IMP_atom._LennardJonesTypedPairScore_set_attractive_weight(self, attractive_weight)
13718 
13719  def get_attractive_weight(self):
13720  r"""get_attractive_weight(_LennardJonesTypedPairScore self) -> double"""
13721  return _IMP_atom._LennardJonesTypedPairScore_get_attractive_weight(self)
13722 
13723  def get_repulsive_type_factors(self):
13724  r"""get_repulsive_type_factors(_LennardJonesTypedPairScore self) -> IMP::Floats"""
13725  return _IMP_atom._LennardJonesTypedPairScore_get_repulsive_type_factors(self)
13726 
13727  def get_attractive_type_factors(self):
13728  r"""get_attractive_type_factors(_LennardJonesTypedPairScore self) -> IMP::Floats"""
13729  return _IMP_atom._LennardJonesTypedPairScore_get_attractive_type_factors(self)
13730 
13731  def get_smoothing_function(self):
13732  r"""get_smoothing_function(_LennardJonesTypedPairScore self) -> SmoothingFunction"""
13733  return _IMP_atom._LennardJonesTypedPairScore_get_smoothing_function(self)
13734 
13735  def do_get_inputs(self, m, pis):
13736  r"""do_get_inputs(_LennardJonesTypedPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13737  return _IMP_atom._LennardJonesTypedPairScore_do_get_inputs(self, m, pis)
13738 
13739  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
13740  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"""
13741  return _IMP_atom._LennardJonesTypedPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
13742 
13743  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
13744  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"""
13745  return _IMP_atom._LennardJonesTypedPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
13746 
13747  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
13748  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"""
13749  return _IMP_atom._LennardJonesTypedPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
13750 
13751  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
13752  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"""
13753  return _IMP_atom._LennardJonesTypedPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
13754 
13755  def get_version_info(self):
13756  r"""get_version_info(_LennardJonesTypedPairScore self) -> VersionInfo"""
13757  return _IMP_atom._LennardJonesTypedPairScore_get_version_info(self)
13758  __swig_destroy__ = _IMP_atom.delete__LennardJonesTypedPairScore
13759 
13760  @staticmethod
13761  def get_from(o):
13762  return _object_cast_to__LennardJonesTypedPairScore(o)
13763 
13764 
13765  def _get_jax(self, m, indexes):
13766  import IMP.atom._jax_util
13767  score = IMP.atom._jax_util._get_lennard_jones_score(self, indexes)
13768  return self._wrap_jax(m, score, keys=[LennardJonesTyped.get_type_key()])
13769 
13770 
13771 # Register _LennardJonesTypedPairScore in _IMP_atom:
13772 _IMP_atom._LennardJonesTypedPairScore_swigregister(_LennardJonesTypedPairScore)
13773 class _SwitchedLennardJonesTypedPairScore(IMP.PairScore):
13774  r"""Proxy of C++ IMP::atom::LennardJonesTypedPairScore< IMP::atom::ForceSwitch > class."""
13775 
13776  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13777  __repr__ = _swig_repr
13778 
13779  def __init__(self, f):
13780  r"""__init__(_SwitchedLennardJonesTypedPairScore self, ForceSwitch f) -> _SwitchedLennardJonesTypedPairScore"""
13781  _IMP_atom._SwitchedLennardJonesTypedPairScore_swiginit(self, _IMP_atom.new__SwitchedLennardJonesTypedPairScore(f))
13782 
13783  def set_repulsive_weight(self, repulsive_weight):
13784  r"""set_repulsive_weight(_SwitchedLennardJonesTypedPairScore self, double repulsive_weight)"""
13785  return _IMP_atom._SwitchedLennardJonesTypedPairScore_set_repulsive_weight(self, repulsive_weight)
13786 
13787  def get_repulsive_weight(self):
13788  r"""get_repulsive_weight(_SwitchedLennardJonesTypedPairScore self) -> double"""
13789  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_repulsive_weight(self)
13790 
13791  def set_attractive_weight(self, attractive_weight):
13792  r"""set_attractive_weight(_SwitchedLennardJonesTypedPairScore self, double attractive_weight)"""
13793  return _IMP_atom._SwitchedLennardJonesTypedPairScore_set_attractive_weight(self, attractive_weight)
13794 
13795  def get_attractive_weight(self):
13796  r"""get_attractive_weight(_SwitchedLennardJonesTypedPairScore self) -> double"""
13797  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_attractive_weight(self)
13798 
13799  def get_repulsive_type_factors(self):
13800  r"""get_repulsive_type_factors(_SwitchedLennardJonesTypedPairScore self) -> IMP::Floats"""
13801  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_repulsive_type_factors(self)
13802 
13803  def get_attractive_type_factors(self):
13804  r"""get_attractive_type_factors(_SwitchedLennardJonesTypedPairScore self) -> IMP::Floats"""
13805  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_attractive_type_factors(self)
13806 
13807  def get_smoothing_function(self):
13808  r"""get_smoothing_function(_SwitchedLennardJonesTypedPairScore self) -> ForceSwitch"""
13809  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_smoothing_function(self)
13810 
13811  def do_get_inputs(self, m, pis):
13812  r"""do_get_inputs(_SwitchedLennardJonesTypedPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13813  return _IMP_atom._SwitchedLennardJonesTypedPairScore_do_get_inputs(self, m, pis)
13814 
13815  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
13816  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"""
13817  return _IMP_atom._SwitchedLennardJonesTypedPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
13818 
13819  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
13820  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"""
13821  return _IMP_atom._SwitchedLennardJonesTypedPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
13822 
13823  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
13824  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"""
13825  return _IMP_atom._SwitchedLennardJonesTypedPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
13826 
13827  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
13828  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"""
13829  return _IMP_atom._SwitchedLennardJonesTypedPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
13830 
13831  def get_version_info(self):
13832  r"""get_version_info(_SwitchedLennardJonesTypedPairScore self) -> VersionInfo"""
13833  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_version_info(self)
13834  __swig_destroy__ = _IMP_atom.delete__SwitchedLennardJonesTypedPairScore
13835 
13836  @staticmethod
13837  def get_from(o):
13838  return _object_cast_to__SwitchedLennardJonesTypedPairScore(o)
13839 
13840 
13841  def _get_jax(self, m, indexes):
13842  import IMP.atom._jax_util
13843  score = IMP.atom._jax_util._get_lennard_jones_score(self, indexes)
13844  return self._wrap_jax(m, score, keys=[LennardJonesTyped.get_type_key()])
13845 
13846 
13847 # Register _SwitchedLennardJonesTypedPairScore in _IMP_atom:
13848 _IMP_atom._SwitchedLennardJonesTypedPairScore_swigregister(_SwitchedLennardJonesTypedPairScore)
13849 
13850 class LennardJonesTypedPairScore(_SwitchedLennardJonesTypedPairScore.__bases__[0]):
13851  def __init__(self, f):
13852  if isinstance(f, ForceSwitch):
13853  p = _SwitchedLennardJonesTypedPairScore(f)
13854  else:
13855  p = _LennardJonesTypedPairScore(f)
13856  self.__dict__['_proxied'] = p
13857  def __getattr__(self, key):
13858  return getattr(self._proxied, key)
13859  def __setattr__(self, key, val):
13860  return setattr(self._proxied, key, val)
13861 
13862  def _get_jax(self, *args, **kwargs):
13863  return self._proxied._get_jax(*args, **kwargs)
13864 
13865  @staticmethod
13866  def get_from(o):
13867  try:
13868  p = _SwitchedLennardJonesTypedPairScore.get_from(o)
13869  except ValueError:
13870  p = _LennardJonesTypedPairScore.get_from(o)
13871  obj = object.__new__(LennardJonesTypedPairScore)
13872  obj.__dict__['_proxied'] = p
13873  return obj
13874 
13875 
13876 def get_module_name():
13877  r"""get_module_name() -> std::string const"""
13878  return _IMP_atom.get_module_name()
13879 
13880 def get_module_version():
13881  r"""get_module_version() -> std::string const"""
13882  return _IMP_atom.get_module_version()
13883 
13884 def get_example_path(fname):
13885  r"""get_example_path(std::string fname) -> std::string"""
13886  return _IMP_atom.get_example_path(fname)
13887 
13888 def get_data_path(fname):
13889  r"""get_data_path(std::string fname) -> std::string"""
13890  return _IMP_atom.get_data_path(fname)
13891 
13892 from . import _version_check
13893 _version_check.check_version(get_module_version())
13894 __version__ = get_module_version()
13895 
13896 
A base class for geometry contained in particles.
A base class for modifiers of ParticlesTemp.
AtomType add_atom_type(std::string name, Element e)
Create a new AtomType.
double get_kt(double T)
Return kT for a given temperature in units of [kcal/mol].
double get_volume_from_residue_type(ResidueType rt)
Return an estimate for the volume of a given residue.
Abstract class for scoring object(s) of type ParticleIndexPair.
Definition: PairScore.h:44
A shared container for Pairs.
Definition: PairContainer.h:39
CHARMMParameters * get_heavy_atom_CHARMM_parameters()
double get_einstein_rotational_diffusion_coefficient(double r, double temp=-1)
Hierarchy read_mmcif(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector(), bool select_first_model=true)
Read all the molecules in the first model of the mmCIF file.
Float get_secondary_structure_match_score(SecondaryStructureResidue ssr1, SecondaryStructureResidue ssr2)
Compares the secondary structure probabilities of two residues.
double get_rigid_bodies_drms(const Vector3DsOrXYZs0 &m1, const Vector3DsOrXYZs1 &m2, const IMP::IntRanges &ranges)
DRMS between two sets of rigid bodies.
Chain get_chain(Hierarchy h)
Get the containing chain or Chain() if there is none.
CheckLevel get_check_level()
Get the current audit mode.
Definition: exception.h:80
Vector< AtomTypes > get_chi_dihedral_atom_types(ResidueType rt)
setup
Definition: setup.py:1
Atoms get_phi_dihedral_atoms(Residue rd)
Return the atoms comprising the phi dihedral.
void show_molecular_hierarchy(Hierarchy h)
Print out the molecular hierarchy.
double get_drms(const Vector3DsOrXYZs0 &m1, const Vector3DsOrXYZs1 &m2)
Hierarchies read_multimodel_pdb_any(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector())
Read all models from the PDB-like file.
Definition: mmcif.h:86
void remove_charmm_untyped_atoms(Hierarchy hierarchy)
Remove any atom from the Hierarchy that does not have a CHARMM type.
Hierarchies read_multimodel_bcif(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector())
Read all models from the BinaryCIF file.
double get_protein_density_from_reference(ProteinDensityReference densityReference)
void show_with_representations(Hierarchy h, std::ostream &out=std::cout)
Traverse through the tree and show atom info, including representations.
Hierarchy create_simplified_from_volume(Hierarchy h, double resolution)
void add_particles(RMF::FileHandle fh, const ParticlesTemp &hs)
double get_spring_constant_in_femto_newtons_per_angstrom(double k_in_kcal_per_mol_per_angstrom_square)
Convert spring constant from kcal/mol/A^2 to femtonewton/A.
double get_native_overlap(const Vector3DsOrXYZs0 &m1, const Vector3DsOrXYZs1 &m2, double threshold)
Computes the native overlap between two sets of 3D points.
Various classes to hold sets of particles.
The base class for geometry.
IMP::core::RigidBody create_compatible_rigid_body(Hierarchy h, Hierarchy reference)
Rigidify a molecule or collection of molecules.
Hierarchy create_simplified_along_backbone(Hierarchy input, int num_res, bool keep_detailed=false)
double get_drmsd(const Vector3DsOrXYZs0 &m0, const Vector3DsOrXYZs1 &m1)
Calculate distance the root mean square deviation between two sets of 3D points.
Definition: atom/distance.h:49
Vector< VectorD< D > > get_vertices(const BoundingBoxD< D > &bb)
Return a list of the 2^D bounding points for the bounding box.
Definition: BoundingBoxD.h:281
double get_mass(ResidueType c)
Get the mass from the residue type.
void add_radii(Hierarchy d, const ForceFieldParameters *ffp=get_all_atom_CHARMM_parameters(), FloatKey radius_key=FloatKey("radius"))
Add vdW radius from given force field.
A base class for geometry from a set of particles.
double get_dihedral(XYZ a, XYZ b, XYZ c, XYZ d)
Compute the dihedral angle (in radians) between the four particles.
double get_mass_from_number_of_residues(unsigned int num_aa)
Estimate the mass of a protein from the number of amino acids.
Make CGAL functionality available to IMP.
Provenance create_clone(Provenance p)
Clone provenance (including previous provenance)
Atoms get_omega_dihedral_atoms(Residue rd)
Return the atoms comprising the omega dihedral.
ParticleIndexQuads get_chi_dihedral_particle_indexes(Residue rd)
void write_pdb(const Selection &mhd, TextOutput out, unsigned int model=1)
void setup_as_approximation(Particle *h, const ParticlesTemp &other)
ParticlesTemp get_particles(Model *m, const ParticleIndexes &ps)
Get the particles from a list of indexes.
double get_mass_from_volume(double v, ProteinDensityReference ref=ALBER)
Estimate the mass of a protein from its volume.
void destroy_bond(Bond b)
Destroy the bond connecting two particles.
HierarchyTree get_hierarchy_tree(Hierarchy h)
Get a graph for the passed Hierarchy.
void add_particle(RMF::FileHandle fh, Particle *hs)
Atoms get_charmm_untyped_atoms(Hierarchy hierarchy)
Get all atoms in the Hierarchy that do not have CHARMM types.
std::string get_data_path(std::string file_name)
Return the full path to one of this module's data files.
char get_one_letter_code(ResidueType c)
Get the 1-letter amino acid code from the residue type.
Atom get_atom(Residue rd, AtomType at)
Return a particle atom from the residue.
Composable functors to implement scores via compile-time composition.
double get_angle(const Line3D &a, const Line3D &b)
Get angle in radians between two lines around their closest points.
Hierarchy read_bcif(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector(), bool select_first_model=true)
Read all the molecules in the first model of the BinaryCIF file.
Restraint * create_excluded_volume_restraint(const Hierarchies &hs, double resolution=-1)
Bond create_custom_bond(Bonded a, Bonded b, Float length, Float stiffness=-1)
Connect the two wrapped particles by a custom bond.
void write_pdb_of_c_alphas(const Selection &mhd, TextOutput out, unsigned int model=1)
Write a hierarchy to a PDB as C_alpha atoms.
Hierarchies read_multimodel_mmcif(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector())
Read all models from the mmCIF file.
double get_kd(double na, double nb, double nab, double volume)
Definition: estimates.h:101
double get_diffusion_angle(double D, double dtfs)
IMP::algebra::Transformation3D get_transformation_aligning_first_to_second(const Vector3DsOrXYZs0 &source, const Vector3DsOrXYZs1 &target)
Compute the rigid transform bringing the first point set to the second.
bool get_atom_type_exists(std::string name)
Return true if that atom type already exists.
Hierarchy read_pdb_any(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector(), bool select_first_model=true)
Read all the molecules in the first model of the PDB-like file.
Definition: mmcif.h:61
double get_volume(const BoundingBoxD< D > &bb)
See BoundingBoxD.
Definition: BoundingBoxD.h:170
FloatPair get_component_placement_score(const core::XYZs &ref1, const core::XYZs &ref2, const core::XYZs &mdl1, const core::XYZs &mdl2)
Measure the difference between two placements of the same set of points.
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)
Common base class for heavy weight IMP objects.
Definition: Object.h:111
Hierarchy create_protein(Model *m, std::string name, double target_radius, int number_of_residues, int first_residue_index=0, double volume=-1)
Create a coarse grained molecule.
Atoms get_psi_dihedral_atoms(Residue rd)
Return the atoms comprising the psi dihedral.
Abstract class for scoring object(s) of type ParticleIndex.
ParticlesTemp get_order(const Subset &s, const SubsetFilterTables &sft)
Bond create_bond(Bonded a, Bonded b, Int t)
Connect the two wrapped particles by a bond.
double get_rotational_diffusion_coefficient(const algebra::Rotation3Ds &orientations, double dt)
Base class for all optimizers.
Definition: Optimizer.h:48
double get_rmsd(const Vector3DsOrXYZs0 &m1, const Vector3DsOrXYZs1 &m2)
Hierarchy get_previous_residue(Residue rd)
Return the residue from the same chain with one lower index.
SecondaryStructureResidue setup_coarse_secondary_structure_residue(const Particles &ssr_ps, Model *mdl, bool winner_takes_all_per_res=false)
Coarsen some SecondaryStructureResidues.
double get_molarity(double n, double volume)
Definition: estimates.h:92
boost::graph HierarchyTree
A graph for representing a Hierarchy so you can view it nicely.
Hierarchy read_mol2(TextInput mol2_file, Model *model, Mol2Selector *mol2sel=nullptr)
Create a hierarchy from a Mol2 file.
double get_radius_of_gyration(const Vector3Ds &ps)
Return the radius of gyration of a set of points.
Definition: Vector3D.h:77
A decorator for a particle with x,y,z coordinates.
Definition: XYZ.h:30
void add_loop_statistical_score_data(atom::Hierarchy h)
Restraint * create_internal_connectivity_restraint(const Selection &s, double k, std::string name="Connectivity%1%")
Create a restraint connecting the selection.
void write_mol2(Hierarchy rhd, TextOutput file_name)
Write a ligand hierarchy as a mol2 file.
Hierarchy read_pdb(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector(), bool select_first_model=true)
Read all the molecules in the first model of the PDB file.
int get_state_index(Hierarchy h)
Walk up the hierarchy to find the current state.
SecondaryStructureResidues setup_coarse_secondary_structure_residues(const Particles &ssr_ps, Model *mdl, int coarse_factor, int start_res_num, bool winner_takes_all_per_res=false)
void add_protein_ligand_score_data(Hierarchy h)
Interface to specialized Particle types (e.g. atoms)
Definition: Decorator.h:119
std::string get_molecule_name(Hierarchy h)
std::ostream & show(Hierarchy h, std::ostream &out=std::cout)
Print the hierarchy using a given decorator to display each node.
Vector< Atoms > get_chi_dihedral_atoms(Residue rd)
double get_pairwise_rmsd_score(const core::XYZs &ref1, const core::XYZs &ref2, const core::XYZs &mdl1, const core::XYZs &mdl2)
Measure the RMSD between two placements of the same set of points.
double get_force_in_femto_newtons(double force_in_kcal_per_mol_per_angstrom)
Convert force from kcal/mol/A to femtonewtons.
Basic functionality that is expected to be used by a wide variety of IMP users.
Abstract predicate function.
Definition: PairPredicate.h:31
General purpose algebraic and geometric methods that are expected to be used by a wide variety of IMP...
Hierarchies read_multimodel_pdb(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector())
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.
Residue get_residue(Atom d, bool nothrow=false)
Return the Residue containing this atom.
Shared optimizer state that is invoked upon commitment of new coordinates.
Hierarchy get_root(Hierarchy h)
Return the root of the hierarchy.
Abstract class to implement hierarchical methods.
Definition: Refiner.h:34
void add_dope_score_data(atom::Hierarchy h)
Bond get_bond(Bonded a, Bonded b)
Get the bond between two particles.
std::string show_graphviz(Graph g)
Restraint * create_distance_restraint(const Selection &n0, const Selection &n1, double x0, double k, std::string name="Distance%1%")
Representation get_representation(Hierarchy h, bool nothrow=false)
Return the Representation object containing this hierarchy.
FloatPair get_placement_score(const core::XYZs &source, const core::XYZs &target)
Measure the difference between two placements of the same set of points.
void write_multimodel_pdb(const Hierarchies &mhd, TextOutput out)
int get_copy_index(Hierarchy h)
Walk up the hierarchy to find the current copy index.
A decorator for helping deal with a generalized hierarchy.
double get_maximum_time_step_estimate(BrownianDynamics *bd)
double get_diffusion_coefficient(const algebra::Vector3Ds &displacements, double dt)
double get_surface_area(const Geometry &)
Compute the surface area of any volumetric object.
double get_resolution(Model *m, ParticleIndex pi)
Estimate the resolution of the hierarchy as used by Representation.
double get_rmsd_transforming_first(const Transformation3D &tr, const Vector3DsOrXYZs0 &m1, const Vector3DsOrXYZs1 &m2)
Calculate the root mean square deviation between two sets of 3D points.
Hierarchy create_simplified_assembly_from_volume(Hierarchy h, double resolution)
Output IMP model data in various file formats.
std::string get_chain_id(Hierarchy h)
Walk up the hierarchy to determine the chain id.
IMP::core::RigidBody create_rigid_body(const Hierarchies &h, std::string name=std::string("created rigid body"))
Rigidify a molecule or collection of molecules.
CHARMMParameters * get_all_atom_CHARMM_parameters()
Hierarchies get_leaves(const Selection &h)
double get_einstein_diffusion_coefficient(double r, double temp=-1)
double get_drmsd_Q(const Vector3DsOrXYZs0 &m0, const Vector3DsOrXYZs1 &m1, double threshold)
Definition: atom/distance.h:85
DensityMap * get_segment(DensityMap *map_to_segment, int nx_start, int nx_end, int ny_start, int ny_end, int nz_start, int nz_end)
Get a segment of the map according to xyz indexes.
Applies a PairScore to each Pair in a list.
Hierarchy get_next_residue(Residue rd)
Return the residue from the same chain with one higher index.
Restraint * create_connectivity_restraint(const Selections &s, double k, std::string name="Connectivity%1%")
Create a restraint connecting the selections.
void add_bonds(Hierarchy d, const ForceFieldParameters *ffp=get_all_atom_CHARMM_parameters())
Add bonds using definitions from given force field parameters.
void set_check_level(CheckLevel tf)
Control runtime checks in the code.
Definition: exception.h:72
double get_diffusion_length(double D, double t)
std::string get_module_version()
Return the version of this module, as a string.
A restraint is a term in an IMP ScoringFunction.
Definition: Restraint.h:56