IMP logo
IMP Reference Guide  develop.385bf31a7a,2026/08/05
The Integrative Modeling Platform
atom/__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.4.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"""
3513  __init__(Simulator self, Model m, std::string name="Simulator %1%", double wave_factor=1.0) -> Simulator
3514  __init__(Simulator self) -> Simulator
3515  """
3516  if self.__class__ == Simulator:
3517  _self = None
3518  else:
3519  _self = self
3520  _IMP_atom.Simulator_swiginit(self, _IMP_atom.new_Simulator(_self, *args))
3521 
3522  if self.__class__ != Simulator:
3523  _director_objects.register(self)
3524 
3525 
3526 
3527 
3528  def simulate(self, time_in_fs):
3529  r"""simulate(Simulator self, double time_in_fs) -> double"""
3530  return _IMP_atom.Simulator_simulate(self, time_in_fs)
3531 
3532  def simulate_wave(self, time_in_fs, max_time_step_factor=10.0, base=1.5):
3533  r"""simulate_wave(Simulator self, double time_in_fs, double max_time_step_factor=10.0, double base=1.5) -> double"""
3534  return _IMP_atom.Simulator_simulate_wave(self, time_in_fs, max_time_step_factor, base)
3535 
3536  def get_temperature(self):
3537  r"""get_temperature(Simulator self) -> double"""
3538  return _IMP_atom.Simulator_get_temperature(self)
3539 
3540  def set_temperature(self, d):
3541  r"""set_temperature(Simulator self, double d)"""
3542  return _IMP_atom.Simulator_set_temperature(self, d)
3543 
3544  def set_maximum_time_step(self, ts):
3545  r"""set_maximum_time_step(Simulator self, double ts)"""
3546  return _IMP_atom.Simulator_set_maximum_time_step(self, ts)
3547 
3548  def get_maximum_time_step(self):
3549  r"""get_maximum_time_step(Simulator self) -> double"""
3550  return _IMP_atom.Simulator_get_maximum_time_step(self)
3551 
3552  def get_last_time_step(self):
3553  r"""get_last_time_step(Simulator self) -> double"""
3554  return _IMP_atom.Simulator_get_last_time_step(self)
3555 
3556  def set_time_step(self, ts):
3557  r"""set_time_step(Simulator self, double ts)"""
3558  return _IMP_atom.Simulator_set_time_step(self, ts)
3559 
3560  def get_kt(self):
3561  r"""get_kt(Simulator self) -> double"""
3562  return _IMP_atom.Simulator_get_kt(self)
3563 
3564  def get_current_time(self):
3565  r"""get_current_time(Simulator self) -> double"""
3566  return _IMP_atom.Simulator_get_current_time(self)
3567 
3568  def set_current_time(self, ct):
3569  r"""set_current_time(Simulator self, double ct)"""
3570  return _IMP_atom.Simulator_set_current_time(self, ct)
3571 
3572  def get_simulation_particles(self):
3573  r"""get_simulation_particles(Simulator self) -> IMP::ParticlesTemp"""
3574  return _IMP_atom.Simulator_get_simulation_particles(self)
3575 
3576  def get_simulation_particle_indexes(self):
3577  r"""get_simulation_particle_indexes(Simulator self) -> IMP::ParticleIndexes"""
3578  return _IMP_atom.Simulator_get_simulation_particle_indexes(self)
3579  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)
3580  def __set_particles(self, obj): IMP._list_util.set_varlist(self.particles, obj)
3581  def __del_particles(self): IMP._list_util.del_varlist(self.particles)
3582  particles = property(__get_particles, __set_particles, __del_particles, doc="List of ##ucnames")
3583 
3584  def remove_particle(self, d):
3585  r"""remove_particle(Simulator self, Particle d)"""
3586  return _IMP_atom.Simulator_remove_particle(self, d)
3587 
3588  def _python_index_particle(self, d, start, stop):
3589  r"""_python_index_particle(Simulator self, Particle d, unsigned int start, unsigned int stop) -> unsigned int"""
3590  return _IMP_atom.Simulator__python_index_particle(self, d, start, stop)
3591 
3592  def remove_particles(self, d):
3593  r"""remove_particles(Simulator self, IMP::Particles const & d)"""
3594  return _IMP_atom.Simulator_remove_particles(self, d)
3595 
3596  def set_particles(self, ps):
3597  r"""set_particles(Simulator self, IMP::Particles const & ps)"""
3598  return _IMP_atom.Simulator_set_particles(self, ps)
3599 
3600  def set_particles_order(self, objs):
3601  r"""set_particles_order(Simulator self, IMP::Particles const & objs)"""
3602  return _IMP_atom.Simulator_set_particles_order(self, objs)
3603 
3604  def add_particle(self, obj):
3605  r"""add_particle(Simulator self, Particle obj) -> unsigned int"""
3606  return _IMP_atom.Simulator_add_particle(self, obj)
3607 
3608  def add_particles(self, objs):
3609  r"""add_particles(Simulator self, IMP::Particles const & objs)"""
3610  return _IMP_atom.Simulator_add_particles(self, objs)
3611 
3612  def clear_particles(self):
3613  r"""clear_particles(Simulator self)"""
3614  return _IMP_atom.Simulator_clear_particles(self)
3615 
3616  def get_number_of_particles(self):
3617  r"""get_number_of_particles(Simulator self) -> unsigned int"""
3618  return _IMP_atom.Simulator_get_number_of_particles(self)
3619 
3620  def get_has_particles(self):
3621  r"""get_has_particles(Simulator self) -> bool"""
3622  return _IMP_atom.Simulator_get_has_particles(self)
3623 
3624  def get_particle(self, i):
3625  r"""get_particle(Simulator self, unsigned int i) -> Particle"""
3626  return _IMP_atom.Simulator_get_particle(self, i)
3627 
3628  def get_particles(self):
3629  r"""get_particles(Simulator self) -> IMP::Particles"""
3630  return _IMP_atom.Simulator_get_particles(self)
3631 
3632  def erase_particle(self, i):
3633  r"""erase_particle(Simulator self, unsigned int i)"""
3634  return _IMP_atom.Simulator_erase_particle(self, i)
3635 
3636  def reserve_particles(self, sz):
3637  r"""reserve_particles(Simulator self, unsigned int sz)"""
3638  return _IMP_atom.Simulator_reserve_particles(self, sz)
3639 
3640  def do_optimize(self, max_steps):
3641  r"""do_optimize(Simulator self, unsigned int max_steps) -> IMP::Float"""
3642  return _IMP_atom.Simulator_do_optimize(self, max_steps)
3643 
3644  def setup(self, arg0):
3645  r"""setup(Simulator self, IMP::ParticleIndexes const & arg0)"""
3646  return _IMP_atom.Simulator_setup(self, arg0)
3647 
3648  def do_step(self, sc, dt):
3649  r"""do_step(Simulator self, IMP::ParticleIndexes const & sc, double dt) -> double"""
3650  return _IMP_atom.Simulator_do_step(self, sc, dt)
3651 
3652  def get_is_simulation_particle(self, p):
3653  r"""get_is_simulation_particle(Simulator self, ParticleIndex p) -> bool"""
3654  return _IMP_atom.Simulator_get_is_simulation_particle(self, p)
3655 
3656  def do_simulate(self, time):
3657  r"""do_simulate(Simulator self, double time) -> double"""
3658  return _IMP_atom.Simulator_do_simulate(self, time)
3659 
3660  def do_simulate_wave(self, time_in_fs, max_time_step_factor=10.0, base=1.5):
3661  r"""do_simulate_wave(Simulator self, double time_in_fs, double max_time_step_factor=10.0, double base=1.5) -> double"""
3662  return _IMP_atom.Simulator_do_simulate_wave(self, time_in_fs, max_time_step_factor, base)
3663 
3664  def __str__(self):
3665  r"""__str__(Simulator self) -> std::string"""
3666  return _IMP_atom.Simulator___str__(self)
3667 
3668  def __repr__(self):
3669  r"""__repr__(Simulator self) -> std::string"""
3670  return _IMP_atom.Simulator___repr__(self)
3671 
3672  @staticmethod
3673  def get_from(o):
3674  return _object_cast_to_Simulator(o)
3675 
3676 
3677  def do_show(self, out):
3678  pass
3679 
3680  @staticmethod
3681  def get_from(o):
3682  return _object_cast_to_Simulator(o)
3683 
3684  __swig_destroy__ = _IMP_atom.delete_Simulator
3685  def __disown__(self):
3686  self.this.disown()
3687  _IMP_atom.disown_Simulator(self)
3688  return weakref.proxy(self)
3689 
3690  def do_destroy(self):
3691  r"""do_destroy(Simulator self)"""
3692  return _IMP_atom.Simulator_do_destroy(self)
3693 
3694  def handle_set_has_required_score_states(self, arg0):
3695  r"""handle_set_has_required_score_states(Simulator self, bool arg0)"""
3696  return _IMP_atom.Simulator_handle_set_has_required_score_states(self, arg0)
3697 
3698  def do_get_inputs(self):
3699  r"""do_get_inputs(Simulator self) -> IMP::ModelObjectsTemp"""
3700  return _IMP_atom.Simulator_do_get_inputs(self)
3701 
3702  def do_get_outputs(self):
3703  r"""do_get_outputs(Simulator self) -> IMP::ModelObjectsTemp"""
3704  return _IMP_atom.Simulator_do_get_outputs(self)
3705 
3706  def do_get_interactions(self):
3707  r"""do_get_interactions(Simulator self) -> IMP::ModelObjectsTemps"""
3708  return _IMP_atom.Simulator_do_get_interactions(self)
3709 
3710 # Register Simulator in _IMP_atom:
3711 _IMP_atom.Simulator_swigregister(Simulator)
3712 IMP_ATOM_DEFAULT_BD_RANDOM_POOL_SIZE = _IMP_atom.IMP_ATOM_DEFAULT_BD_RANDOM_POOL_SIZE
3713 
3714 class BrownianDynamics(Simulator):
3715  r"""Proxy of C++ IMP::atom::BrownianDynamics class."""
3716 
3717  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3718 
3719  def __init__(self, *args):
3720  r"""__init__(BrownianDynamics self, Model m, std::string name="BrownianDynamics%1%", double wave_factor=1.0, unsigned int random_pool_size=10000) -> BrownianDynamics"""
3721  _IMP_atom.BrownianDynamics_swiginit(self, _IMP_atom.new_BrownianDynamics(*args))
3722 
3723  def set_maximum_move(self, ms_in_A):
3724  r"""set_maximum_move(BrownianDynamics self, double ms_in_A)"""
3725  return _IMP_atom.BrownianDynamics_set_maximum_move(self, ms_in_A)
3726 
3727  def set_use_stochastic_runge_kutta(self, tf):
3728  r"""set_use_stochastic_runge_kutta(BrownianDynamics self, bool tf)"""
3729  return _IMP_atom.BrownianDynamics_set_use_stochastic_runge_kutta(self, tf)
3730 
3731  def get_version_info(self):
3732  r"""get_version_info(BrownianDynamics self) -> VersionInfo"""
3733  return _IMP_atom.BrownianDynamics_get_version_info(self)
3734  __swig_destroy__ = _IMP_atom.delete_BrownianDynamics
3735 
3736  def __str__(self):
3737  r"""__str__(BrownianDynamics self) -> std::string"""
3738  return _IMP_atom.BrownianDynamics___str__(self)
3739 
3740  def __repr__(self):
3741  r"""__repr__(BrownianDynamics self) -> std::string"""
3742  return _IMP_atom.BrownianDynamics___repr__(self)
3743 
3744  @staticmethod
3745  def get_from(o):
3746  return _object_cast_to_BrownianDynamics(o)
3747 
3748 
3749 # Register BrownianDynamics in _IMP_atom:
3750 _IMP_atom.BrownianDynamics_swigregister(BrownianDynamics)
3751 
3753  r"""get_maximum_time_step_estimate(BrownianDynamics bd) -> double"""
3754  return _IMP_atom.get_maximum_time_step_estimate(bd)
3755 
3756 def get_harmonic_sigma(D, f):
3757  r"""get_harmonic_sigma(double D, double f) -> double"""
3758  return _IMP_atom.get_harmonic_sigma(D, f)
3759 class BrownianDynamicsTAMD(BrownianDynamics):
3760  r"""Proxy of C++ IMP::atom::BrownianDynamicsTAMD class."""
3761 
3762  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3763 
3764  def __init__(self, *args):
3765  r"""__init__(BrownianDynamicsTAMD self, Model m, std::string name="BrownianDynamicsTAMD%1%", double wave_factor=1.0) -> BrownianDynamicsTAMD"""
3766  _IMP_atom.BrownianDynamicsTAMD_swiginit(self, _IMP_atom.new_BrownianDynamicsTAMD(*args))
3767 
3768  def __str__(self):
3769  r"""__str__(BrownianDynamicsTAMD self) -> std::string"""
3770  return _IMP_atom.BrownianDynamicsTAMD___str__(self)
3771 
3772  def __repr__(self):
3773  r"""__repr__(BrownianDynamicsTAMD self) -> std::string"""
3774  return _IMP_atom.BrownianDynamicsTAMD___repr__(self)
3775 
3776  @staticmethod
3777  def get_from(o):
3778  return _object_cast_to_BrownianDynamicsTAMD(o)
3779 
3780  __swig_destroy__ = _IMP_atom.delete_BrownianDynamicsTAMD
3781 
3782 # Register BrownianDynamicsTAMD in _IMP_atom:
3783 _IMP_atom.BrownianDynamicsTAMD_swigregister(BrownianDynamicsTAMD)
3784 class Diffusion(IMP.core.XYZ):
3785  r"""Proxy of C++ IMP::atom::Diffusion class."""
3786 
3787  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3788 
3789  def __init__(self, *args):
3790  r"""
3791  __init__(Diffusion self) -> Diffusion
3792  __init__(Diffusion self, Model m, ParticleIndex id) -> Diffusion
3793  __init__(Diffusion self, _ParticleAdaptor d) -> Diffusion
3794  """
3795  _IMP_atom.Diffusion_swiginit(self, _IMP_atom.new_Diffusion(*args))
3796 
3797  def show(self, *args):
3798  r"""show(Diffusion self, _ostream out=std::cout)"""
3799  return _IMP_atom.Diffusion_show(self, *args)
3800 
3801  @staticmethod
3802  def setup_particle(*args):
3803  r"""
3804  setup_particle(Model m, ParticleIndex pi, IMP::Float D) -> Diffusion
3805  setup_particle(_ParticleAdaptor pa, IMP::Float D) -> Diffusion
3806  setup_particle(Model m, ParticleIndex pi, Vector3D v, IMP::Float D) -> Diffusion
3807  setup_particle(_ParticleAdaptor pa, Vector3D v, IMP::Float D) -> Diffusion
3808  setup_particle(Model m, ParticleIndex pi) -> Diffusion
3809  setup_particle(_ParticleAdaptor pa) -> Diffusion
3810  """
3811  return _IMP_atom.Diffusion_setup_particle(*args)
3812 
3813  @staticmethod
3814  def get_is_setup(*args):
3815  r"""
3816  get_is_setup(_ParticleAdaptor p) -> bool
3817  get_is_setup(Model m, ParticleIndex p) -> bool
3818  """
3819  return _IMP_atom.Diffusion_get_is_setup(*args)
3820 
3821  def set_diffusion_coefficient(self, d):
3822  r"""set_diffusion_coefficient(Diffusion self, double d)"""
3823  return _IMP_atom.Diffusion_set_diffusion_coefficient(self, d)
3824 
3825  def get_diffusion_coefficient(self):
3826  r"""get_diffusion_coefficient(Diffusion self) -> double"""
3827  return _IMP_atom.Diffusion_get_diffusion_coefficient(self)
3828 
3829  @staticmethod
3830  def get_diffusion_coefficient_key():
3831  r"""get_diffusion_coefficient_key() -> FloatKey"""
3832  return _IMP_atom.Diffusion_get_diffusion_coefficient_key()
3833 
3834  def add_attribute(self, *args):
3835  r"""
3836  add_attribute(Diffusion self, FloatKey k, IMP::Float v, bool opt)
3837  add_attribute(Diffusion self, FloatKey a0, IMP::Float a1)
3838  add_attribute(Diffusion self, IntKey a0, IMP::Int a1)
3839  add_attribute(Diffusion self, FloatsKey a0, IMP::Floats a1)
3840  add_attribute(Diffusion self, IntsKey a0, IMP::Ints a1)
3841  add_attribute(Diffusion self, StringKey a0, IMP::String a1)
3842  add_attribute(Diffusion self, ParticleIndexKey a0, Particle a1)
3843  add_attribute(Diffusion self, ObjectKey a0, Object a1)
3844  add_attribute(Diffusion self, SparseFloatKey a0, IMP::Float a1)
3845  add_attribute(Diffusion self, SparseIntKey a0, IMP::Int a1)
3846  add_attribute(Diffusion self, SparseStringKey a0, IMP::String a1)
3847  add_attribute(Diffusion self, SparseParticleIndexKey a0, ParticleIndex a1)
3848  """
3849  return _IMP_atom.Diffusion_add_attribute(self, *args)
3850 
3851  def get_value(self, *args):
3852  r"""
3853  get_value(Diffusion self, FloatKey a0) -> IMP::Float
3854  get_value(Diffusion self, IntKey a0) -> IMP::Int
3855  get_value(Diffusion self, FloatsKey a0) -> IMP::Floats
3856  get_value(Diffusion self, IntsKey a0) -> IMP::Ints
3857  get_value(Diffusion self, StringKey a0) -> IMP::String
3858  get_value(Diffusion self, ParticleIndexKey a0) -> Particle
3859  get_value(Diffusion self, ObjectKey a0) -> Object
3860  get_value(Diffusion self, SparseFloatKey a0) -> IMP::Float
3861  get_value(Diffusion self, SparseIntKey a0) -> IMP::Int
3862  get_value(Diffusion self, SparseStringKey a0) -> IMP::String
3863  get_value(Diffusion self, SparseParticleIndexKey a0) -> ParticleIndex
3864  """
3865  return _IMP_atom.Diffusion_get_value(self, *args)
3866 
3867  def set_value(self, *args):
3868  r"""
3869  set_value(Diffusion self, FloatKey a0, IMP::Float a1)
3870  set_value(Diffusion self, IntKey a0, IMP::Int a1)
3871  set_value(Diffusion self, FloatsKey a0, IMP::Floats a1)
3872  set_value(Diffusion self, IntsKey a0, IMP::Ints a1)
3873  set_value(Diffusion self, StringKey a0, IMP::String a1)
3874  set_value(Diffusion self, ParticleIndexKey a0, Particle a1)
3875  set_value(Diffusion self, ObjectKey a0, Object a1)
3876  set_value(Diffusion self, SparseFloatKey a0, IMP::Float a1)
3877  set_value(Diffusion self, SparseIntKey a0, IMP::Int a1)
3878  set_value(Diffusion self, SparseStringKey a0, IMP::String a1)
3879  set_value(Diffusion self, SparseParticleIndexKey a0, ParticleIndex a1)
3880  """
3881  return _IMP_atom.Diffusion_set_value(self, *args)
3882 
3883  def remove_attribute(self, *args):
3884  r"""
3885  remove_attribute(Diffusion self, FloatKey a0)
3886  remove_attribute(Diffusion self, IntKey a0)
3887  remove_attribute(Diffusion self, FloatsKey a0)
3888  remove_attribute(Diffusion self, IntsKey a0)
3889  remove_attribute(Diffusion self, StringKey a0)
3890  remove_attribute(Diffusion self, ParticleIndexKey a0)
3891  remove_attribute(Diffusion self, ObjectKey a0)
3892  remove_attribute(Diffusion self, SparseFloatKey a0)
3893  remove_attribute(Diffusion self, SparseIntKey a0)
3894  remove_attribute(Diffusion self, SparseStringKey a0)
3895  remove_attribute(Diffusion self, SparseParticleIndexKey a0)
3896  """
3897  return _IMP_atom.Diffusion_remove_attribute(self, *args)
3898 
3899  def has_attribute(self, *args):
3900  r"""
3901  has_attribute(Diffusion self, FloatKey a0) -> bool
3902  has_attribute(Diffusion self, IntKey a0) -> bool
3903  has_attribute(Diffusion self, FloatsKey a0) -> bool
3904  has_attribute(Diffusion self, IntsKey a0) -> bool
3905  has_attribute(Diffusion self, StringKey a0) -> bool
3906  has_attribute(Diffusion self, ParticleIndexKey a0) -> bool
3907  has_attribute(Diffusion self, ObjectKey a0) -> bool
3908  has_attribute(Diffusion self, SparseFloatKey a0) -> bool
3909  has_attribute(Diffusion self, SparseIntKey a0) -> bool
3910  has_attribute(Diffusion self, SparseStringKey a0) -> bool
3911  has_attribute(Diffusion self, SparseParticleIndexKey a0) -> bool
3912  """
3913  return _IMP_atom.Diffusion_has_attribute(self, *args)
3914 
3915  def get_derivative(self, a0):
3916  r"""get_derivative(Diffusion self, FloatKey a0) -> double"""
3917  return _IMP_atom.Diffusion_get_derivative(self, a0)
3918 
3919  def get_name(self):
3920  r"""get_name(Diffusion self) -> std::string"""
3921  return _IMP_atom.Diffusion_get_name(self)
3922 
3923  def clear_caches(self):
3924  r"""clear_caches(Diffusion self)"""
3925  return _IMP_atom.Diffusion_clear_caches(self)
3926 
3927  def set_name(self, a0):
3928  r"""set_name(Diffusion self, std::string a0)"""
3929  return _IMP_atom.Diffusion_set_name(self, a0)
3930 
3931  def set_check_level(self, a0):
3932  r"""set_check_level(Diffusion self, IMP::CheckLevel a0)"""
3933  return _IMP_atom.Diffusion_set_check_level(self, a0)
3934 
3935  def add_to_derivative(self, a0, a1, a2):
3936  r"""add_to_derivative(Diffusion self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3937  return _IMP_atom.Diffusion_add_to_derivative(self, a0, a1, a2)
3938 
3939  def set_is_optimized(self, a0, a1):
3940  r"""set_is_optimized(Diffusion self, FloatKey a0, bool a1)"""
3941  return _IMP_atom.Diffusion_set_is_optimized(self, a0, a1)
3942 
3943  def get_is_optimized(self, a0):
3944  r"""get_is_optimized(Diffusion self, FloatKey a0) -> bool"""
3945  return _IMP_atom.Diffusion_get_is_optimized(self, a0)
3946 
3947  def get_check_level(self):
3948  r"""get_check_level(Diffusion self) -> IMP::CheckLevel"""
3949  return _IMP_atom.Diffusion_get_check_level(self)
3950 
3951  def __eq__(self, *args):
3952  r"""
3953  __eq__(Diffusion self, Diffusion o) -> bool
3954  __eq__(Diffusion self, Particle d) -> bool
3955  """
3956  return _IMP_atom.Diffusion___eq__(self, *args)
3957 
3958  def __ne__(self, *args):
3959  r"""
3960  __ne__(Diffusion self, Diffusion o) -> bool
3961  __ne__(Diffusion self, Particle d) -> bool
3962  """
3963  return _IMP_atom.Diffusion___ne__(self, *args)
3964 
3965  def __le__(self, *args):
3966  r"""
3967  __le__(Diffusion self, Diffusion o) -> bool
3968  __le__(Diffusion self, Particle d) -> bool
3969  """
3970  return _IMP_atom.Diffusion___le__(self, *args)
3971 
3972  def __lt__(self, *args):
3973  r"""
3974  __lt__(Diffusion self, Diffusion o) -> bool
3975  __lt__(Diffusion self, Particle d) -> bool
3976  """
3977  return _IMP_atom.Diffusion___lt__(self, *args)
3978 
3979  def __ge__(self, *args):
3980  r"""
3981  __ge__(Diffusion self, Diffusion o) -> bool
3982  __ge__(Diffusion self, Particle d) -> bool
3983  """
3984  return _IMP_atom.Diffusion___ge__(self, *args)
3985 
3986  def __gt__(self, *args):
3987  r"""
3988  __gt__(Diffusion self, Diffusion o) -> bool
3989  __gt__(Diffusion self, Particle d) -> bool
3990  """
3991  return _IMP_atom.Diffusion___gt__(self, *args)
3992 
3993  def __hash__(self):
3994  r"""__hash__(Diffusion self) -> std::size_t"""
3995  return _IMP_atom.Diffusion___hash__(self)
3996 
3997  def __str__(self):
3998  r"""__str__(Diffusion self) -> std::string"""
3999  return _IMP_atom.Diffusion___str__(self)
4000 
4001  def __repr__(self):
4002  r"""__repr__(Diffusion self) -> std::string"""
4003  return _IMP_atom.Diffusion___repr__(self)
4004 
4005  def _get_as_binary(self):
4006  r"""_get_as_binary(Diffusion self) -> PyObject *"""
4007  return _IMP_atom.Diffusion__get_as_binary(self)
4008 
4009  def _set_from_binary(self, p):
4010  r"""_set_from_binary(Diffusion self, PyObject * p)"""
4011  return _IMP_atom.Diffusion__set_from_binary(self, p)
4012 
4013  def __getstate__(self):
4014  p = self._get_as_binary()
4015  if len(self.__dict__) > 1:
4016  d = self.__dict__.copy()
4017  del d['this']
4018  p = (d, p)
4019  return p
4020 
4021  def __setstate__(self, p):
4022  if not hasattr(self, 'this'):
4023  self.__init__()
4024  if isinstance(p, tuple):
4025  d, p = p
4026  self.__dict__.update(d)
4027  return self._set_from_binary(p)
4028 
4029  __swig_destroy__ = _IMP_atom.delete_Diffusion
4030 
4031 # Register Diffusion in _IMP_atom:
4032 _IMP_atom.Diffusion_swigregister(Diffusion)
4033 
4034 def get_diffusion_coefficient_from_cm2_per_second(din):
4035  r"""get_diffusion_coefficient_from_cm2_per_second(double din) -> double"""
4036  return _IMP_atom.get_diffusion_coefficient_from_cm2_per_second(din)
4037 class RigidBodyDiffusion(Diffusion):
4038  r"""Proxy of C++ IMP::atom::RigidBodyDiffusion class."""
4039 
4040  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4041 
4042  def __init__(self, *args):
4043  r"""
4044  __init__(RigidBodyDiffusion self) -> RigidBodyDiffusion
4045  __init__(RigidBodyDiffusion self, Model m, ParticleIndex id) -> RigidBodyDiffusion
4046  __init__(RigidBodyDiffusion self, _ParticleAdaptor d) -> RigidBodyDiffusion
4047  """
4048  _IMP_atom.RigidBodyDiffusion_swiginit(self, _IMP_atom.new_RigidBodyDiffusion(*args))
4049 
4050  def show(self, *args):
4051  r"""show(RigidBodyDiffusion self, _ostream out=std::cout)"""
4052  return _IMP_atom.RigidBodyDiffusion_show(self, *args)
4053 
4054  @staticmethod
4055  def setup_particle(*args):
4056  r"""
4057  setup_particle(Model m, ParticleIndex pi) -> RigidBodyDiffusion
4058  setup_particle(_ParticleAdaptor pa) -> RigidBodyDiffusion
4059  """
4060  return _IMP_atom.RigidBodyDiffusion_setup_particle(*args)
4061 
4063  r"""get_rotational_diffusion_coefficient(RigidBodyDiffusion self) -> double"""
4064  return _IMP_atom.RigidBodyDiffusion_get_rotational_diffusion_coefficient(self)
4065 
4066  def set_rotational_diffusion_coefficient(self, d):
4067  r"""set_rotational_diffusion_coefficient(RigidBodyDiffusion self, double d)"""
4068  return _IMP_atom.RigidBodyDiffusion_set_rotational_diffusion_coefficient(self, d)
4069 
4070  @staticmethod
4071  def get_is_setup(*args):
4072  r"""
4073  get_is_setup(_ParticleAdaptor p) -> bool
4074  get_is_setup(Model m, ParticleIndex p) -> bool
4075  """
4076  return _IMP_atom.RigidBodyDiffusion_get_is_setup(*args)
4077 
4078  @staticmethod
4079  def get_rotational_diffusion_coefficient_key():
4080  r"""get_rotational_diffusion_coefficient_key() -> FloatKey"""
4081  return _IMP_atom.RigidBodyDiffusion_get_rotational_diffusion_coefficient_key()
4082 
4083  def add_attribute(self, *args):
4084  r"""
4085  add_attribute(RigidBodyDiffusion self, FloatKey k, IMP::Float v, bool opt)
4086  add_attribute(RigidBodyDiffusion self, FloatKey a0, IMP::Float a1)
4087  add_attribute(RigidBodyDiffusion self, IntKey a0, IMP::Int a1)
4088  add_attribute(RigidBodyDiffusion self, FloatsKey a0, IMP::Floats a1)
4089  add_attribute(RigidBodyDiffusion self, IntsKey a0, IMP::Ints a1)
4090  add_attribute(RigidBodyDiffusion self, StringKey a0, IMP::String a1)
4091  add_attribute(RigidBodyDiffusion self, ParticleIndexKey a0, Particle a1)
4092  add_attribute(RigidBodyDiffusion self, ObjectKey a0, Object a1)
4093  add_attribute(RigidBodyDiffusion self, SparseFloatKey a0, IMP::Float a1)
4094  add_attribute(RigidBodyDiffusion self, SparseIntKey a0, IMP::Int a1)
4095  add_attribute(RigidBodyDiffusion self, SparseStringKey a0, IMP::String a1)
4096  add_attribute(RigidBodyDiffusion self, SparseParticleIndexKey a0, ParticleIndex a1)
4097  """
4098  return _IMP_atom.RigidBodyDiffusion_add_attribute(self, *args)
4099 
4100  def get_value(self, *args):
4101  r"""
4102  get_value(RigidBodyDiffusion self, FloatKey a0) -> IMP::Float
4103  get_value(RigidBodyDiffusion self, IntKey a0) -> IMP::Int
4104  get_value(RigidBodyDiffusion self, FloatsKey a0) -> IMP::Floats
4105  get_value(RigidBodyDiffusion self, IntsKey a0) -> IMP::Ints
4106  get_value(RigidBodyDiffusion self, StringKey a0) -> IMP::String
4107  get_value(RigidBodyDiffusion self, ParticleIndexKey a0) -> Particle
4108  get_value(RigidBodyDiffusion self, ObjectKey a0) -> Object
4109  get_value(RigidBodyDiffusion self, SparseFloatKey a0) -> IMP::Float
4110  get_value(RigidBodyDiffusion self, SparseIntKey a0) -> IMP::Int
4111  get_value(RigidBodyDiffusion self, SparseStringKey a0) -> IMP::String
4112  get_value(RigidBodyDiffusion self, SparseParticleIndexKey a0) -> ParticleIndex
4113  """
4114  return _IMP_atom.RigidBodyDiffusion_get_value(self, *args)
4115 
4116  def set_value(self, *args):
4117  r"""
4118  set_value(RigidBodyDiffusion self, FloatKey a0, IMP::Float a1)
4119  set_value(RigidBodyDiffusion self, IntKey a0, IMP::Int a1)
4120  set_value(RigidBodyDiffusion self, FloatsKey a0, IMP::Floats a1)
4121  set_value(RigidBodyDiffusion self, IntsKey a0, IMP::Ints a1)
4122  set_value(RigidBodyDiffusion self, StringKey a0, IMP::String a1)
4123  set_value(RigidBodyDiffusion self, ParticleIndexKey a0, Particle a1)
4124  set_value(RigidBodyDiffusion self, ObjectKey a0, Object a1)
4125  set_value(RigidBodyDiffusion self, SparseFloatKey a0, IMP::Float a1)
4126  set_value(RigidBodyDiffusion self, SparseIntKey a0, IMP::Int a1)
4127  set_value(RigidBodyDiffusion self, SparseStringKey a0, IMP::String a1)
4128  set_value(RigidBodyDiffusion self, SparseParticleIndexKey a0, ParticleIndex a1)
4129  """
4130  return _IMP_atom.RigidBodyDiffusion_set_value(self, *args)
4131 
4132  def remove_attribute(self, *args):
4133  r"""
4134  remove_attribute(RigidBodyDiffusion self, FloatKey a0)
4135  remove_attribute(RigidBodyDiffusion self, IntKey a0)
4136  remove_attribute(RigidBodyDiffusion self, FloatsKey a0)
4137  remove_attribute(RigidBodyDiffusion self, IntsKey a0)
4138  remove_attribute(RigidBodyDiffusion self, StringKey a0)
4139  remove_attribute(RigidBodyDiffusion self, ParticleIndexKey a0)
4140  remove_attribute(RigidBodyDiffusion self, ObjectKey a0)
4141  remove_attribute(RigidBodyDiffusion self, SparseFloatKey a0)
4142  remove_attribute(RigidBodyDiffusion self, SparseIntKey a0)
4143  remove_attribute(RigidBodyDiffusion self, SparseStringKey a0)
4144  remove_attribute(RigidBodyDiffusion self, SparseParticleIndexKey a0)
4145  """
4146  return _IMP_atom.RigidBodyDiffusion_remove_attribute(self, *args)
4147 
4148  def has_attribute(self, *args):
4149  r"""
4150  has_attribute(RigidBodyDiffusion self, FloatKey a0) -> bool
4151  has_attribute(RigidBodyDiffusion self, IntKey a0) -> bool
4152  has_attribute(RigidBodyDiffusion self, FloatsKey a0) -> bool
4153  has_attribute(RigidBodyDiffusion self, IntsKey a0) -> bool
4154  has_attribute(RigidBodyDiffusion self, StringKey a0) -> bool
4155  has_attribute(RigidBodyDiffusion self, ParticleIndexKey a0) -> bool
4156  has_attribute(RigidBodyDiffusion self, ObjectKey a0) -> bool
4157  has_attribute(RigidBodyDiffusion self, SparseFloatKey a0) -> bool
4158  has_attribute(RigidBodyDiffusion self, SparseIntKey a0) -> bool
4159  has_attribute(RigidBodyDiffusion self, SparseStringKey a0) -> bool
4160  has_attribute(RigidBodyDiffusion self, SparseParticleIndexKey a0) -> bool
4161  """
4162  return _IMP_atom.RigidBodyDiffusion_has_attribute(self, *args)
4163 
4164  def get_derivative(self, a0):
4165  r"""get_derivative(RigidBodyDiffusion self, FloatKey a0) -> double"""
4166  return _IMP_atom.RigidBodyDiffusion_get_derivative(self, a0)
4167 
4168  def get_name(self):
4169  r"""get_name(RigidBodyDiffusion self) -> std::string"""
4170  return _IMP_atom.RigidBodyDiffusion_get_name(self)
4171 
4172  def clear_caches(self):
4173  r"""clear_caches(RigidBodyDiffusion self)"""
4174  return _IMP_atom.RigidBodyDiffusion_clear_caches(self)
4175 
4176  def set_name(self, a0):
4177  r"""set_name(RigidBodyDiffusion self, std::string a0)"""
4178  return _IMP_atom.RigidBodyDiffusion_set_name(self, a0)
4179 
4180  def set_check_level(self, a0):
4181  r"""set_check_level(RigidBodyDiffusion self, IMP::CheckLevel a0)"""
4182  return _IMP_atom.RigidBodyDiffusion_set_check_level(self, a0)
4183 
4184  def add_to_derivative(self, a0, a1, a2):
4185  r"""add_to_derivative(RigidBodyDiffusion self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4186  return _IMP_atom.RigidBodyDiffusion_add_to_derivative(self, a0, a1, a2)
4187 
4188  def set_is_optimized(self, a0, a1):
4189  r"""set_is_optimized(RigidBodyDiffusion self, FloatKey a0, bool a1)"""
4190  return _IMP_atom.RigidBodyDiffusion_set_is_optimized(self, a0, a1)
4191 
4192  def get_is_optimized(self, a0):
4193  r"""get_is_optimized(RigidBodyDiffusion self, FloatKey a0) -> bool"""
4194  return _IMP_atom.RigidBodyDiffusion_get_is_optimized(self, a0)
4195 
4196  def get_check_level(self):
4197  r"""get_check_level(RigidBodyDiffusion self) -> IMP::CheckLevel"""
4198  return _IMP_atom.RigidBodyDiffusion_get_check_level(self)
4199 
4200  def __eq__(self, *args):
4201  r"""
4202  __eq__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4203  __eq__(RigidBodyDiffusion self, Particle d) -> bool
4204  """
4205  return _IMP_atom.RigidBodyDiffusion___eq__(self, *args)
4206 
4207  def __ne__(self, *args):
4208  r"""
4209  __ne__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4210  __ne__(RigidBodyDiffusion self, Particle d) -> bool
4211  """
4212  return _IMP_atom.RigidBodyDiffusion___ne__(self, *args)
4213 
4214  def __le__(self, *args):
4215  r"""
4216  __le__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4217  __le__(RigidBodyDiffusion self, Particle d) -> bool
4218  """
4219  return _IMP_atom.RigidBodyDiffusion___le__(self, *args)
4220 
4221  def __lt__(self, *args):
4222  r"""
4223  __lt__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4224  __lt__(RigidBodyDiffusion self, Particle d) -> bool
4225  """
4226  return _IMP_atom.RigidBodyDiffusion___lt__(self, *args)
4227 
4228  def __ge__(self, *args):
4229  r"""
4230  __ge__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4231  __ge__(RigidBodyDiffusion self, Particle d) -> bool
4232  """
4233  return _IMP_atom.RigidBodyDiffusion___ge__(self, *args)
4234 
4235  def __gt__(self, *args):
4236  r"""
4237  __gt__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
4238  __gt__(RigidBodyDiffusion self, Particle d) -> bool
4239  """
4240  return _IMP_atom.RigidBodyDiffusion___gt__(self, *args)
4241 
4242  def __hash__(self):
4243  r"""__hash__(RigidBodyDiffusion self) -> std::size_t"""
4244  return _IMP_atom.RigidBodyDiffusion___hash__(self)
4245 
4246  def __str__(self):
4247  r"""__str__(RigidBodyDiffusion self) -> std::string"""
4248  return _IMP_atom.RigidBodyDiffusion___str__(self)
4249 
4250  def __repr__(self):
4251  r"""__repr__(RigidBodyDiffusion self) -> std::string"""
4252  return _IMP_atom.RigidBodyDiffusion___repr__(self)
4253 
4254  def _get_as_binary(self):
4255  r"""_get_as_binary(RigidBodyDiffusion self) -> PyObject *"""
4256  return _IMP_atom.RigidBodyDiffusion__get_as_binary(self)
4257 
4258  def _set_from_binary(self, p):
4259  r"""_set_from_binary(RigidBodyDiffusion self, PyObject * p)"""
4260  return _IMP_atom.RigidBodyDiffusion__set_from_binary(self, p)
4261 
4262  def __getstate__(self):
4263  p = self._get_as_binary()
4264  if len(self.__dict__) > 1:
4265  d = self.__dict__.copy()
4266  del d['this']
4267  p = (d, p)
4268  return p
4269 
4270  def __setstate__(self, p):
4271  if not hasattr(self, 'this'):
4272  self.__init__()
4273  if isinstance(p, tuple):
4274  d, p = p
4275  self.__dict__.update(d)
4276  return self._set_from_binary(p)
4277 
4278  __swig_destroy__ = _IMP_atom.delete_RigidBodyDiffusion
4279 
4280 # Register RigidBodyDiffusion in _IMP_atom:
4281 _IMP_atom.RigidBodyDiffusion_swigregister(RigidBodyDiffusion)
4282 class TAMDParticle(IMP.Decorator):
4283  r"""Proxy of C++ IMP::atom::TAMDParticle class."""
4284 
4285  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4286 
4287  def __init__(self, *args):
4288  r"""
4289  __init__(TAMDParticle self) -> TAMDParticle
4290  __init__(TAMDParticle self, Model m, ParticleIndex id) -> TAMDParticle
4291  __init__(TAMDParticle self, _ParticleAdaptor d) -> TAMDParticle
4292  """
4293  _IMP_atom.TAMDParticle_swiginit(self, _IMP_atom.new_TAMDParticle(*args))
4294 
4295  def show(self, *args):
4296  r"""show(TAMDParticle self, _ostream out=std::cout)"""
4297  return _IMP_atom.TAMDParticle_show(self, *args)
4298 
4299  @staticmethod
4300  def setup_particle(*args):
4301  r"""
4302  setup_particle(Model m, ParticleIndex pi, ParticleIndex pi_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
4303  setup_particle(_ParticleAdaptor pa, ParticleIndex pi_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
4304  setup_particle(Model m, ParticleIndex pi, Particle p_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
4305  setup_particle(_ParticleAdaptor pa, Particle p_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
4306  """
4307  return _IMP_atom.TAMDParticle_setup_particle(*args)
4308 
4309  @staticmethod
4310  def get_is_setup(*args):
4311  r"""
4312  get_is_setup(_ParticleAdaptor p) -> bool
4313  get_is_setup(Model m, ParticleIndex p) -> bool
4314  """
4315  return _IMP_atom.TAMDParticle_get_is_setup(*args)
4316 
4317  def get_reference_particle_index(self):
4318  r"""get_reference_particle_index(TAMDParticle self) -> ParticleIndex"""
4319  return _IMP_atom.TAMDParticle_get_reference_particle_index(self)
4320 
4321  def set_temperature_scale_factor(self, tsf):
4322  r"""set_temperature_scale_factor(TAMDParticle self, float tsf)"""
4323  return _IMP_atom.TAMDParticle_set_temperature_scale_factor(self, tsf)
4324 
4325  def get_temperature_scale_factor(self):
4326  r"""get_temperature_scale_factor(TAMDParticle self) -> double"""
4327  return _IMP_atom.TAMDParticle_get_temperature_scale_factor(self)
4328 
4329  def set_friction_scale_factor(self, tsf):
4330  r"""set_friction_scale_factor(TAMDParticle self, float tsf)"""
4331  return _IMP_atom.TAMDParticle_set_friction_scale_factor(self, tsf)
4332 
4333  def get_friction_scale_factor(self):
4334  r"""get_friction_scale_factor(TAMDParticle self) -> double"""
4335  return _IMP_atom.TAMDParticle_get_friction_scale_factor(self)
4336 
4337  def update_coordinates_from_ref(self):
4338  r"""update_coordinates_from_ref(TAMDParticle self)"""
4339  return _IMP_atom.TAMDParticle_update_coordinates_from_ref(self)
4340 
4341  @staticmethod
4342  def get_temperature_scale_factor_key():
4343  r"""get_temperature_scale_factor_key() -> FloatKey"""
4344  return _IMP_atom.TAMDParticle_get_temperature_scale_factor_key()
4345 
4346  @staticmethod
4347  def get_friction_scale_factor_key():
4348  r"""get_friction_scale_factor_key() -> FloatKey"""
4349  return _IMP_atom.TAMDParticle_get_friction_scale_factor_key()
4350 
4351  @staticmethod
4352  def get_reference_particle_index_key():
4353  r"""get_reference_particle_index_key() -> ParticleIndexKey"""
4354  return _IMP_atom.TAMDParticle_get_reference_particle_index_key()
4355 
4356  def add_attribute(self, *args):
4357  r"""
4358  add_attribute(TAMDParticle self, FloatKey k, IMP::Float v, bool opt)
4359  add_attribute(TAMDParticle self, FloatKey a0, IMP::Float a1)
4360  add_attribute(TAMDParticle self, IntKey a0, IMP::Int a1)
4361  add_attribute(TAMDParticle self, FloatsKey a0, IMP::Floats a1)
4362  add_attribute(TAMDParticle self, IntsKey a0, IMP::Ints a1)
4363  add_attribute(TAMDParticle self, StringKey a0, IMP::String a1)
4364  add_attribute(TAMDParticle self, ParticleIndexKey a0, Particle a1)
4365  add_attribute(TAMDParticle self, ObjectKey a0, Object a1)
4366  add_attribute(TAMDParticle self, SparseFloatKey a0, IMP::Float a1)
4367  add_attribute(TAMDParticle self, SparseIntKey a0, IMP::Int a1)
4368  add_attribute(TAMDParticle self, SparseStringKey a0, IMP::String a1)
4369  add_attribute(TAMDParticle self, SparseParticleIndexKey a0, ParticleIndex a1)
4370  """
4371  return _IMP_atom.TAMDParticle_add_attribute(self, *args)
4372 
4373  def get_value(self, *args):
4374  r"""
4375  get_value(TAMDParticle self, FloatKey a0) -> IMP::Float
4376  get_value(TAMDParticle self, IntKey a0) -> IMP::Int
4377  get_value(TAMDParticle self, FloatsKey a0) -> IMP::Floats
4378  get_value(TAMDParticle self, IntsKey a0) -> IMP::Ints
4379  get_value(TAMDParticle self, StringKey a0) -> IMP::String
4380  get_value(TAMDParticle self, ParticleIndexKey a0) -> Particle
4381  get_value(TAMDParticle self, ObjectKey a0) -> Object
4382  get_value(TAMDParticle self, SparseFloatKey a0) -> IMP::Float
4383  get_value(TAMDParticle self, SparseIntKey a0) -> IMP::Int
4384  get_value(TAMDParticle self, SparseStringKey a0) -> IMP::String
4385  get_value(TAMDParticle self, SparseParticleIndexKey a0) -> ParticleIndex
4386  """
4387  return _IMP_atom.TAMDParticle_get_value(self, *args)
4388 
4389  def set_value(self, *args):
4390  r"""
4391  set_value(TAMDParticle self, FloatKey a0, IMP::Float a1)
4392  set_value(TAMDParticle self, IntKey a0, IMP::Int a1)
4393  set_value(TAMDParticle self, FloatsKey a0, IMP::Floats a1)
4394  set_value(TAMDParticle self, IntsKey a0, IMP::Ints a1)
4395  set_value(TAMDParticle self, StringKey a0, IMP::String a1)
4396  set_value(TAMDParticle self, ParticleIndexKey a0, Particle a1)
4397  set_value(TAMDParticle self, ObjectKey a0, Object a1)
4398  set_value(TAMDParticle self, SparseFloatKey a0, IMP::Float a1)
4399  set_value(TAMDParticle self, SparseIntKey a0, IMP::Int a1)
4400  set_value(TAMDParticle self, SparseStringKey a0, IMP::String a1)
4401  set_value(TAMDParticle self, SparseParticleIndexKey a0, ParticleIndex a1)
4402  """
4403  return _IMP_atom.TAMDParticle_set_value(self, *args)
4404 
4405  def remove_attribute(self, *args):
4406  r"""
4407  remove_attribute(TAMDParticle self, FloatKey a0)
4408  remove_attribute(TAMDParticle self, IntKey a0)
4409  remove_attribute(TAMDParticle self, FloatsKey a0)
4410  remove_attribute(TAMDParticle self, IntsKey a0)
4411  remove_attribute(TAMDParticle self, StringKey a0)
4412  remove_attribute(TAMDParticle self, ParticleIndexKey a0)
4413  remove_attribute(TAMDParticle self, ObjectKey a0)
4414  remove_attribute(TAMDParticle self, SparseFloatKey a0)
4415  remove_attribute(TAMDParticle self, SparseIntKey a0)
4416  remove_attribute(TAMDParticle self, SparseStringKey a0)
4417  remove_attribute(TAMDParticle self, SparseParticleIndexKey a0)
4418  """
4419  return _IMP_atom.TAMDParticle_remove_attribute(self, *args)
4420 
4421  def has_attribute(self, *args):
4422  r"""
4423  has_attribute(TAMDParticle self, FloatKey a0) -> bool
4424  has_attribute(TAMDParticle self, IntKey a0) -> bool
4425  has_attribute(TAMDParticle self, FloatsKey a0) -> bool
4426  has_attribute(TAMDParticle self, IntsKey a0) -> bool
4427  has_attribute(TAMDParticle self, StringKey a0) -> bool
4428  has_attribute(TAMDParticle self, ParticleIndexKey a0) -> bool
4429  has_attribute(TAMDParticle self, ObjectKey a0) -> bool
4430  has_attribute(TAMDParticle self, SparseFloatKey a0) -> bool
4431  has_attribute(TAMDParticle self, SparseIntKey a0) -> bool
4432  has_attribute(TAMDParticle self, SparseStringKey a0) -> bool
4433  has_attribute(TAMDParticle self, SparseParticleIndexKey a0) -> bool
4434  """
4435  return _IMP_atom.TAMDParticle_has_attribute(self, *args)
4436 
4437  def get_derivative(self, a0):
4438  r"""get_derivative(TAMDParticle self, FloatKey a0) -> double"""
4439  return _IMP_atom.TAMDParticle_get_derivative(self, a0)
4440 
4441  def get_name(self):
4442  r"""get_name(TAMDParticle self) -> std::string"""
4443  return _IMP_atom.TAMDParticle_get_name(self)
4444 
4445  def clear_caches(self):
4446  r"""clear_caches(TAMDParticle self)"""
4447  return _IMP_atom.TAMDParticle_clear_caches(self)
4448 
4449  def set_name(self, a0):
4450  r"""set_name(TAMDParticle self, std::string a0)"""
4451  return _IMP_atom.TAMDParticle_set_name(self, a0)
4452 
4453  def set_check_level(self, a0):
4454  r"""set_check_level(TAMDParticle self, IMP::CheckLevel a0)"""
4455  return _IMP_atom.TAMDParticle_set_check_level(self, a0)
4456 
4457  def add_to_derivative(self, a0, a1, a2):
4458  r"""add_to_derivative(TAMDParticle self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4459  return _IMP_atom.TAMDParticle_add_to_derivative(self, a0, a1, a2)
4460 
4461  def set_is_optimized(self, a0, a1):
4462  r"""set_is_optimized(TAMDParticle self, FloatKey a0, bool a1)"""
4463  return _IMP_atom.TAMDParticle_set_is_optimized(self, a0, a1)
4464 
4465  def get_is_optimized(self, a0):
4466  r"""get_is_optimized(TAMDParticle self, FloatKey a0) -> bool"""
4467  return _IMP_atom.TAMDParticle_get_is_optimized(self, a0)
4468 
4469  def get_check_level(self):
4470  r"""get_check_level(TAMDParticle self) -> IMP::CheckLevel"""
4471  return _IMP_atom.TAMDParticle_get_check_level(self)
4472 
4473  def __eq__(self, *args):
4474  r"""
4475  __eq__(TAMDParticle self, TAMDParticle o) -> bool
4476  __eq__(TAMDParticle self, Particle d) -> bool
4477  """
4478  return _IMP_atom.TAMDParticle___eq__(self, *args)
4479 
4480  def __ne__(self, *args):
4481  r"""
4482  __ne__(TAMDParticle self, TAMDParticle o) -> bool
4483  __ne__(TAMDParticle self, Particle d) -> bool
4484  """
4485  return _IMP_atom.TAMDParticle___ne__(self, *args)
4486 
4487  def __le__(self, *args):
4488  r"""
4489  __le__(TAMDParticle self, TAMDParticle o) -> bool
4490  __le__(TAMDParticle self, Particle d) -> bool
4491  """
4492  return _IMP_atom.TAMDParticle___le__(self, *args)
4493 
4494  def __lt__(self, *args):
4495  r"""
4496  __lt__(TAMDParticle self, TAMDParticle o) -> bool
4497  __lt__(TAMDParticle self, Particle d) -> bool
4498  """
4499  return _IMP_atom.TAMDParticle___lt__(self, *args)
4500 
4501  def __ge__(self, *args):
4502  r"""
4503  __ge__(TAMDParticle self, TAMDParticle o) -> bool
4504  __ge__(TAMDParticle self, Particle d) -> bool
4505  """
4506  return _IMP_atom.TAMDParticle___ge__(self, *args)
4507 
4508  def __gt__(self, *args):
4509  r"""
4510  __gt__(TAMDParticle self, TAMDParticle o) -> bool
4511  __gt__(TAMDParticle self, Particle d) -> bool
4512  """
4513  return _IMP_atom.TAMDParticle___gt__(self, *args)
4514 
4515  def __hash__(self):
4516  r"""__hash__(TAMDParticle self) -> std::size_t"""
4517  return _IMP_atom.TAMDParticle___hash__(self)
4518 
4519  def __str__(self):
4520  r"""__str__(TAMDParticle self) -> std::string"""
4521  return _IMP_atom.TAMDParticle___str__(self)
4522 
4523  def __repr__(self):
4524  r"""__repr__(TAMDParticle self) -> std::string"""
4525  return _IMP_atom.TAMDParticle___repr__(self)
4526 
4527  def _get_as_binary(self):
4528  r"""_get_as_binary(TAMDParticle self) -> PyObject *"""
4529  return _IMP_atom.TAMDParticle__get_as_binary(self)
4530 
4531  def _set_from_binary(self, p):
4532  r"""_set_from_binary(TAMDParticle self, PyObject * p)"""
4533  return _IMP_atom.TAMDParticle__set_from_binary(self, p)
4534 
4535  def __getstate__(self):
4536  p = self._get_as_binary()
4537  if len(self.__dict__) > 1:
4538  d = self.__dict__.copy()
4539  del d['this']
4540  p = (d, p)
4541  return p
4542 
4543  def __setstate__(self, p):
4544  if not hasattr(self, 'this'):
4545  self.__init__()
4546  if isinstance(p, tuple):
4547  d, p = p
4548  self.__dict__.update(d)
4549  return self._set_from_binary(p)
4550 
4551  __swig_destroy__ = _IMP_atom.delete_TAMDParticle
4552 
4553 # Register TAMDParticle in _IMP_atom:
4554 _IMP_atom.TAMDParticle_swigregister(TAMDParticle)
4555 class Charged(IMP.core.XYZ):
4556  r"""Proxy of C++ IMP::atom::Charged class."""
4557 
4558  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4559 
4560  def __init__(self, *args):
4561  r"""
4562  __init__(Charged self) -> Charged
4563  __init__(Charged self, Model m, ParticleIndex id) -> Charged
4564  __init__(Charged self, _ParticleAdaptor d) -> Charged
4565  """
4566  _IMP_atom.Charged_swiginit(self, _IMP_atom.new_Charged(*args))
4567 
4568  def show(self, *args):
4569  r"""show(Charged self, _ostream out=std::cout)"""
4570  return _IMP_atom.Charged_show(self, *args)
4571 
4572  @staticmethod
4573  def setup_particle(*args):
4574  r"""
4575  setup_particle(Model m, ParticleIndex pi, IMP::Float charge) -> Charged
4576  setup_particle(_ParticleAdaptor pa, IMP::Float charge) -> Charged
4577  setup_particle(Model m, ParticleIndex pi, Vector3D v, IMP::Float charge) -> Charged
4578  setup_particle(_ParticleAdaptor pa, Vector3D v, IMP::Float charge) -> Charged
4579  """
4580  return _IMP_atom.Charged_setup_particle(*args)
4581 
4582  def get_charge(self):
4583  r"""get_charge(Charged self) -> IMP::Float"""
4584  return _IMP_atom.Charged_get_charge(self)
4585 
4586  def set_charge(self, t):
4587  r"""set_charge(Charged self, IMP::Float t)"""
4588  return _IMP_atom.Charged_set_charge(self, t)
4589 
4590  @staticmethod
4591  def get_is_setup(*args):
4592  r"""
4593  get_is_setup(_ParticleAdaptor p) -> bool
4594  get_is_setup(Model m, ParticleIndex pi) -> bool
4595  """
4596  return _IMP_atom.Charged_get_is_setup(*args)
4597 
4598  @staticmethod
4599  def get_charge_key():
4600  r"""get_charge_key() -> FloatKey"""
4601  return _IMP_atom.Charged_get_charge_key()
4602 
4603  def add_attribute(self, *args):
4604  r"""
4605  add_attribute(Charged self, FloatKey k, IMP::Float v, bool opt)
4606  add_attribute(Charged self, FloatKey a0, IMP::Float a1)
4607  add_attribute(Charged self, IntKey a0, IMP::Int a1)
4608  add_attribute(Charged self, FloatsKey a0, IMP::Floats a1)
4609  add_attribute(Charged self, IntsKey a0, IMP::Ints a1)
4610  add_attribute(Charged self, StringKey a0, IMP::String a1)
4611  add_attribute(Charged self, ParticleIndexKey a0, Particle a1)
4612  add_attribute(Charged self, ObjectKey a0, Object a1)
4613  add_attribute(Charged self, SparseFloatKey a0, IMP::Float a1)
4614  add_attribute(Charged self, SparseIntKey a0, IMP::Int a1)
4615  add_attribute(Charged self, SparseStringKey a0, IMP::String a1)
4616  add_attribute(Charged self, SparseParticleIndexKey a0, ParticleIndex a1)
4617  """
4618  return _IMP_atom.Charged_add_attribute(self, *args)
4619 
4620  def get_value(self, *args):
4621  r"""
4622  get_value(Charged self, FloatKey a0) -> IMP::Float
4623  get_value(Charged self, IntKey a0) -> IMP::Int
4624  get_value(Charged self, FloatsKey a0) -> IMP::Floats
4625  get_value(Charged self, IntsKey a0) -> IMP::Ints
4626  get_value(Charged self, StringKey a0) -> IMP::String
4627  get_value(Charged self, ParticleIndexKey a0) -> Particle
4628  get_value(Charged self, ObjectKey a0) -> Object
4629  get_value(Charged self, SparseFloatKey a0) -> IMP::Float
4630  get_value(Charged self, SparseIntKey a0) -> IMP::Int
4631  get_value(Charged self, SparseStringKey a0) -> IMP::String
4632  get_value(Charged self, SparseParticleIndexKey a0) -> ParticleIndex
4633  """
4634  return _IMP_atom.Charged_get_value(self, *args)
4635 
4636  def set_value(self, *args):
4637  r"""
4638  set_value(Charged self, FloatKey a0, IMP::Float a1)
4639  set_value(Charged self, IntKey a0, IMP::Int a1)
4640  set_value(Charged self, FloatsKey a0, IMP::Floats a1)
4641  set_value(Charged self, IntsKey a0, IMP::Ints a1)
4642  set_value(Charged self, StringKey a0, IMP::String a1)
4643  set_value(Charged self, ParticleIndexKey a0, Particle a1)
4644  set_value(Charged self, ObjectKey a0, Object a1)
4645  set_value(Charged self, SparseFloatKey a0, IMP::Float a1)
4646  set_value(Charged self, SparseIntKey a0, IMP::Int a1)
4647  set_value(Charged self, SparseStringKey a0, IMP::String a1)
4648  set_value(Charged self, SparseParticleIndexKey a0, ParticleIndex a1)
4649  """
4650  return _IMP_atom.Charged_set_value(self, *args)
4651 
4652  def remove_attribute(self, *args):
4653  r"""
4654  remove_attribute(Charged self, FloatKey a0)
4655  remove_attribute(Charged self, IntKey a0)
4656  remove_attribute(Charged self, FloatsKey a0)
4657  remove_attribute(Charged self, IntsKey a0)
4658  remove_attribute(Charged self, StringKey a0)
4659  remove_attribute(Charged self, ParticleIndexKey a0)
4660  remove_attribute(Charged self, ObjectKey a0)
4661  remove_attribute(Charged self, SparseFloatKey a0)
4662  remove_attribute(Charged self, SparseIntKey a0)
4663  remove_attribute(Charged self, SparseStringKey a0)
4664  remove_attribute(Charged self, SparseParticleIndexKey a0)
4665  """
4666  return _IMP_atom.Charged_remove_attribute(self, *args)
4667 
4668  def has_attribute(self, *args):
4669  r"""
4670  has_attribute(Charged self, FloatKey a0) -> bool
4671  has_attribute(Charged self, IntKey a0) -> bool
4672  has_attribute(Charged self, FloatsKey a0) -> bool
4673  has_attribute(Charged self, IntsKey a0) -> bool
4674  has_attribute(Charged self, StringKey a0) -> bool
4675  has_attribute(Charged self, ParticleIndexKey a0) -> bool
4676  has_attribute(Charged self, ObjectKey a0) -> bool
4677  has_attribute(Charged self, SparseFloatKey a0) -> bool
4678  has_attribute(Charged self, SparseIntKey a0) -> bool
4679  has_attribute(Charged self, SparseStringKey a0) -> bool
4680  has_attribute(Charged self, SparseParticleIndexKey a0) -> bool
4681  """
4682  return _IMP_atom.Charged_has_attribute(self, *args)
4683 
4684  def get_derivative(self, a0):
4685  r"""get_derivative(Charged self, FloatKey a0) -> double"""
4686  return _IMP_atom.Charged_get_derivative(self, a0)
4687 
4688  def get_name(self):
4689  r"""get_name(Charged self) -> std::string"""
4690  return _IMP_atom.Charged_get_name(self)
4691 
4692  def clear_caches(self):
4693  r"""clear_caches(Charged self)"""
4694  return _IMP_atom.Charged_clear_caches(self)
4695 
4696  def set_name(self, a0):
4697  r"""set_name(Charged self, std::string a0)"""
4698  return _IMP_atom.Charged_set_name(self, a0)
4699 
4700  def set_check_level(self, a0):
4701  r"""set_check_level(Charged self, IMP::CheckLevel a0)"""
4702  return _IMP_atom.Charged_set_check_level(self, a0)
4703 
4704  def add_to_derivative(self, a0, a1, a2):
4705  r"""add_to_derivative(Charged self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4706  return _IMP_atom.Charged_add_to_derivative(self, a0, a1, a2)
4707 
4708  def set_is_optimized(self, a0, a1):
4709  r"""set_is_optimized(Charged self, FloatKey a0, bool a1)"""
4710  return _IMP_atom.Charged_set_is_optimized(self, a0, a1)
4711 
4712  def get_is_optimized(self, a0):
4713  r"""get_is_optimized(Charged self, FloatKey a0) -> bool"""
4714  return _IMP_atom.Charged_get_is_optimized(self, a0)
4715 
4716  def get_check_level(self):
4717  r"""get_check_level(Charged self) -> IMP::CheckLevel"""
4718  return _IMP_atom.Charged_get_check_level(self)
4719 
4720  def __eq__(self, *args):
4721  r"""
4722  __eq__(Charged self, Charged o) -> bool
4723  __eq__(Charged self, Particle d) -> bool
4724  """
4725  return _IMP_atom.Charged___eq__(self, *args)
4726 
4727  def __ne__(self, *args):
4728  r"""
4729  __ne__(Charged self, Charged o) -> bool
4730  __ne__(Charged self, Particle d) -> bool
4731  """
4732  return _IMP_atom.Charged___ne__(self, *args)
4733 
4734  def __le__(self, *args):
4735  r"""
4736  __le__(Charged self, Charged o) -> bool
4737  __le__(Charged self, Particle d) -> bool
4738  """
4739  return _IMP_atom.Charged___le__(self, *args)
4740 
4741  def __lt__(self, *args):
4742  r"""
4743  __lt__(Charged self, Charged o) -> bool
4744  __lt__(Charged self, Particle d) -> bool
4745  """
4746  return _IMP_atom.Charged___lt__(self, *args)
4747 
4748  def __ge__(self, *args):
4749  r"""
4750  __ge__(Charged self, Charged o) -> bool
4751  __ge__(Charged self, Particle d) -> bool
4752  """
4753  return _IMP_atom.Charged___ge__(self, *args)
4754 
4755  def __gt__(self, *args):
4756  r"""
4757  __gt__(Charged self, Charged o) -> bool
4758  __gt__(Charged self, Particle d) -> bool
4759  """
4760  return _IMP_atom.Charged___gt__(self, *args)
4761 
4762  def __hash__(self):
4763  r"""__hash__(Charged self) -> std::size_t"""
4764  return _IMP_atom.Charged___hash__(self)
4765 
4766  def __str__(self):
4767  r"""__str__(Charged self) -> std::string"""
4768  return _IMP_atom.Charged___str__(self)
4769 
4770  def __repr__(self):
4771  r"""__repr__(Charged self) -> std::string"""
4772  return _IMP_atom.Charged___repr__(self)
4773 
4774  def _get_as_binary(self):
4775  r"""_get_as_binary(Charged self) -> PyObject *"""
4776  return _IMP_atom.Charged__get_as_binary(self)
4777 
4778  def _set_from_binary(self, p):
4779  r"""_set_from_binary(Charged self, PyObject * p)"""
4780  return _IMP_atom.Charged__set_from_binary(self, p)
4781 
4782  def __getstate__(self):
4783  p = self._get_as_binary()
4784  if len(self.__dict__) > 1:
4785  d = self.__dict__.copy()
4786  del d['this']
4787  p = (d, p)
4788  return p
4789 
4790  def __setstate__(self, p):
4791  if not hasattr(self, 'this'):
4792  self.__init__()
4793  if isinstance(p, tuple):
4794  d, p = p
4795  self.__dict__.update(d)
4796  return self._set_from_binary(p)
4797 
4798  __swig_destroy__ = _IMP_atom.delete_Charged
4799 
4800 # Register Charged in _IMP_atom:
4801 _IMP_atom.Charged_swigregister(Charged)
4802 class CoulombPairScore(IMP.PairScore):
4803  r"""Proxy of C++ IMP::atom::CoulombPairScore class."""
4804 
4805  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4806 
4807  def __init__(self, f):
4808  r"""__init__(CoulombPairScore self, SmoothingFunction f) -> CoulombPairScore"""
4809  _IMP_atom.CoulombPairScore_swiginit(self, _IMP_atom.new_CoulombPairScore(f))
4810 
4811  def set_relative_dielectric(self, relative_dielectric):
4812  r"""set_relative_dielectric(CoulombPairScore self, double relative_dielectric)"""
4813  return _IMP_atom.CoulombPairScore_set_relative_dielectric(self, relative_dielectric)
4814 
4815  def get_relative_dielectric(self):
4816  r"""get_relative_dielectric(CoulombPairScore self) -> double"""
4817  return _IMP_atom.CoulombPairScore_get_relative_dielectric(self)
4818 
4819  def get_smoothing_function(self):
4820  r"""get_smoothing_function(CoulombPairScore self) -> SmoothingFunction"""
4821  return _IMP_atom.CoulombPairScore_get_smoothing_function(self)
4822 
4823  def do_get_inputs(self, m, pis):
4824  r"""do_get_inputs(CoulombPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4825  return _IMP_atom.CoulombPairScore_do_get_inputs(self, m, pis)
4826 
4827  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
4828  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"""
4829  return _IMP_atom.CoulombPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
4830 
4831  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
4832  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"""
4833  return _IMP_atom.CoulombPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
4834 
4835  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
4836  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"""
4837  return _IMP_atom.CoulombPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
4838 
4839  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
4840  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"""
4841  return _IMP_atom.CoulombPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
4842 
4843  def get_version_info(self):
4844  r"""get_version_info(CoulombPairScore self) -> VersionInfo"""
4845  return _IMP_atom.CoulombPairScore_get_version_info(self)
4846  __swig_destroy__ = _IMP_atom.delete_CoulombPairScore
4847 
4848  def __str__(self):
4849  r"""__str__(CoulombPairScore self) -> std::string"""
4850  return _IMP_atom.CoulombPairScore___str__(self)
4851 
4852  def __repr__(self):
4853  r"""__repr__(CoulombPairScore self) -> std::string"""
4854  return _IMP_atom.CoulombPairScore___repr__(self)
4855 
4856  @staticmethod
4857  def get_from(o):
4858  return _object_cast_to_CoulombPairScore(o)
4859 
4860 
4861  def _get_jax(self, m, indexes):
4862  import math
4863  import jax
4864  import jax.numpy as jnp
4865  # 1 / (4pi * epsilon) * conversion factor to get score in kcal/mol
4866  # if distances are in angstroms
4867  avogadro = 6.02214179e23 # /mole
4868  electron_charge = 1.6021892e-19 # Coulomb
4869  permittivity_vacuum = 8.854187818e-12 # C/V/m
4870  kcal2joule = 4186.8
4871  factor = (avogadro * electron_charge * electron_charge *
4872  1.0e10 / permittivity_vacuum / kcal2joule /
4873  (4.0 * math.pi * self.get_relative_dielectric()))
4874  sf = self.get_smoothing_function().get_derived_object()
4875  # Function operates on a single distance + score; make it work on
4876  # an array instead using jax.vmap
4877  smoothing_function = jax.vmap(sf._get_jax())
4878  def score(jm):
4879  xyzs = jm['xyz'][indexes]
4880  qs = jm['charge'][indexes]
4881  diff = xyzs[:,0] - xyzs[:,1]
4882  drs = jnp.linalg.norm(diff, axis=1)
4883  scores = factor * jnp.prod(qs, axis=1) / drs
4884  return smoothing_function(scores, drs)
4885  return self._wrap_jax(m, score, keys=[Charged.get_charge_key()])
4886 
4887 
4888 # Register CoulombPairScore in _IMP_atom:
4889 _IMP_atom.CoulombPairScore_swigregister(CoulombPairScore)
4890 class Domain(Hierarchy):
4891  r"""Proxy of C++ IMP::atom::Domain class."""
4892 
4893  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4894 
4895  def set_index_range(self, ir):
4896  r"""set_index_range(Domain self, IMP::IntRange ir)"""
4897  return _IMP_atom.Domain_set_index_range(self, ir)
4898 
4899  def get_index_range(self):
4900  r"""get_index_range(Domain self) -> IMP::IntRange"""
4901  return _IMP_atom.Domain_get_index_range(self)
4902 
4903  def __init__(self, *args):
4904  r"""
4905  __init__(Domain self) -> Domain
4906  __init__(Domain self, Model m, ParticleIndex id) -> Domain
4907  __init__(Domain self, _ParticleAdaptor d) -> Domain
4908  """
4909  _IMP_atom.Domain_swiginit(self, _IMP_atom.new_Domain(*args))
4910 
4911  @staticmethod
4912  def get_is_setup(*args):
4913  r"""
4914  get_is_setup(Model m, ParticleIndex pi) -> bool
4915  get_is_setup(_ParticleAdaptor p) -> bool
4916  """
4917  return _IMP_atom.Domain_get_is_setup(*args)
4918 
4919  def show(self, *args):
4920  r"""show(Domain self, _ostream out=std::cout)"""
4921  return _IMP_atom.Domain_show(self, *args)
4922 
4923  @staticmethod
4924  def setup_particle(*args):
4925  r"""
4926  setup_particle(Model m, ParticleIndex pi, Domain other) -> Domain
4927  setup_particle(_ParticleAdaptor pa, Domain other) -> Domain
4928  setup_particle(Model m, ParticleIndex pi, IMP::IntRange residues) -> Domain
4929  setup_particle(_ParticleAdaptor pa, IMP::IntRange residues) -> Domain
4930  """
4931  return _IMP_atom.Domain_setup_particle(*args)
4932 
4933  def add_attribute(self, *args):
4934  r"""
4935  add_attribute(Domain self, FloatKey k, IMP::Float v, bool opt)
4936  add_attribute(Domain self, FloatKey a0, IMP::Float a1)
4937  add_attribute(Domain self, IntKey a0, IMP::Int a1)
4938  add_attribute(Domain self, FloatsKey a0, IMP::Floats a1)
4939  add_attribute(Domain self, IntsKey a0, IMP::Ints a1)
4940  add_attribute(Domain self, StringKey a0, IMP::String a1)
4941  add_attribute(Domain self, ParticleIndexKey a0, Particle a1)
4942  add_attribute(Domain self, ObjectKey a0, Object a1)
4943  add_attribute(Domain self, SparseFloatKey a0, IMP::Float a1)
4944  add_attribute(Domain self, SparseIntKey a0, IMP::Int a1)
4945  add_attribute(Domain self, SparseStringKey a0, IMP::String a1)
4946  add_attribute(Domain self, SparseParticleIndexKey a0, ParticleIndex a1)
4947  """
4948  return _IMP_atom.Domain_add_attribute(self, *args)
4949 
4950  def get_value(self, *args):
4951  r"""
4952  get_value(Domain self, FloatKey a0) -> IMP::Float
4953  get_value(Domain self, IntKey a0) -> IMP::Int
4954  get_value(Domain self, FloatsKey a0) -> IMP::Floats
4955  get_value(Domain self, IntsKey a0) -> IMP::Ints
4956  get_value(Domain self, StringKey a0) -> IMP::String
4957  get_value(Domain self, ParticleIndexKey a0) -> Particle
4958  get_value(Domain self, ObjectKey a0) -> Object
4959  get_value(Domain self, SparseFloatKey a0) -> IMP::Float
4960  get_value(Domain self, SparseIntKey a0) -> IMP::Int
4961  get_value(Domain self, SparseStringKey a0) -> IMP::String
4962  get_value(Domain self, SparseParticleIndexKey a0) -> ParticleIndex
4963  """
4964  return _IMP_atom.Domain_get_value(self, *args)
4965 
4966  def set_value(self, *args):
4967  r"""
4968  set_value(Domain self, FloatKey a0, IMP::Float a1)
4969  set_value(Domain self, IntKey a0, IMP::Int a1)
4970  set_value(Domain self, FloatsKey a0, IMP::Floats a1)
4971  set_value(Domain self, IntsKey a0, IMP::Ints a1)
4972  set_value(Domain self, StringKey a0, IMP::String a1)
4973  set_value(Domain self, ParticleIndexKey a0, Particle a1)
4974  set_value(Domain self, ObjectKey a0, Object a1)
4975  set_value(Domain self, SparseFloatKey a0, IMP::Float a1)
4976  set_value(Domain self, SparseIntKey a0, IMP::Int a1)
4977  set_value(Domain self, SparseStringKey a0, IMP::String a1)
4978  set_value(Domain self, SparseParticleIndexKey a0, ParticleIndex a1)
4979  """
4980  return _IMP_atom.Domain_set_value(self, *args)
4981 
4982  def remove_attribute(self, *args):
4983  r"""
4984  remove_attribute(Domain self, FloatKey a0)
4985  remove_attribute(Domain self, IntKey a0)
4986  remove_attribute(Domain self, FloatsKey a0)
4987  remove_attribute(Domain self, IntsKey a0)
4988  remove_attribute(Domain self, StringKey a0)
4989  remove_attribute(Domain self, ParticleIndexKey a0)
4990  remove_attribute(Domain self, ObjectKey a0)
4991  remove_attribute(Domain self, SparseFloatKey a0)
4992  remove_attribute(Domain self, SparseIntKey a0)
4993  remove_attribute(Domain self, SparseStringKey a0)
4994  remove_attribute(Domain self, SparseParticleIndexKey a0)
4995  """
4996  return _IMP_atom.Domain_remove_attribute(self, *args)
4997 
4998  def has_attribute(self, *args):
4999  r"""
5000  has_attribute(Domain self, FloatKey a0) -> bool
5001  has_attribute(Domain self, IntKey a0) -> bool
5002  has_attribute(Domain self, FloatsKey a0) -> bool
5003  has_attribute(Domain self, IntsKey a0) -> bool
5004  has_attribute(Domain self, StringKey a0) -> bool
5005  has_attribute(Domain self, ParticleIndexKey a0) -> bool
5006  has_attribute(Domain self, ObjectKey a0) -> bool
5007  has_attribute(Domain self, SparseFloatKey a0) -> bool
5008  has_attribute(Domain self, SparseIntKey a0) -> bool
5009  has_attribute(Domain self, SparseStringKey a0) -> bool
5010  has_attribute(Domain self, SparseParticleIndexKey a0) -> bool
5011  """
5012  return _IMP_atom.Domain_has_attribute(self, *args)
5013 
5014  def get_derivative(self, a0):
5015  r"""get_derivative(Domain self, FloatKey a0) -> double"""
5016  return _IMP_atom.Domain_get_derivative(self, a0)
5017 
5018  def get_name(self):
5019  r"""get_name(Domain self) -> std::string"""
5020  return _IMP_atom.Domain_get_name(self)
5021 
5022  def clear_caches(self):
5023  r"""clear_caches(Domain self)"""
5024  return _IMP_atom.Domain_clear_caches(self)
5025 
5026  def set_name(self, a0):
5027  r"""set_name(Domain self, std::string a0)"""
5028  return _IMP_atom.Domain_set_name(self, a0)
5029 
5030  def set_check_level(self, a0):
5031  r"""set_check_level(Domain self, IMP::CheckLevel a0)"""
5032  return _IMP_atom.Domain_set_check_level(self, a0)
5033 
5034  def add_to_derivative(self, a0, a1, a2):
5035  r"""add_to_derivative(Domain self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5036  return _IMP_atom.Domain_add_to_derivative(self, a0, a1, a2)
5037 
5038  def set_is_optimized(self, a0, a1):
5039  r"""set_is_optimized(Domain self, FloatKey a0, bool a1)"""
5040  return _IMP_atom.Domain_set_is_optimized(self, a0, a1)
5041 
5042  def get_is_optimized(self, a0):
5043  r"""get_is_optimized(Domain self, FloatKey a0) -> bool"""
5044  return _IMP_atom.Domain_get_is_optimized(self, a0)
5045 
5046  def get_check_level(self):
5047  r"""get_check_level(Domain self) -> IMP::CheckLevel"""
5048  return _IMP_atom.Domain_get_check_level(self)
5049 
5050  def __eq__(self, *args):
5051  r"""
5052  __eq__(Domain self, Domain o) -> bool
5053  __eq__(Domain self, Particle d) -> bool
5054  """
5055  return _IMP_atom.Domain___eq__(self, *args)
5056 
5057  def __ne__(self, *args):
5058  r"""
5059  __ne__(Domain self, Domain o) -> bool
5060  __ne__(Domain self, Particle d) -> bool
5061  """
5062  return _IMP_atom.Domain___ne__(self, *args)
5063 
5064  def __le__(self, *args):
5065  r"""
5066  __le__(Domain self, Domain o) -> bool
5067  __le__(Domain self, Particle d) -> bool
5068  """
5069  return _IMP_atom.Domain___le__(self, *args)
5070 
5071  def __lt__(self, *args):
5072  r"""
5073  __lt__(Domain self, Domain o) -> bool
5074  __lt__(Domain self, Particle d) -> bool
5075  """
5076  return _IMP_atom.Domain___lt__(self, *args)
5077 
5078  def __ge__(self, *args):
5079  r"""
5080  __ge__(Domain self, Domain o) -> bool
5081  __ge__(Domain self, Particle d) -> bool
5082  """
5083  return _IMP_atom.Domain___ge__(self, *args)
5084 
5085  def __gt__(self, *args):
5086  r"""
5087  __gt__(Domain self, Domain o) -> bool
5088  __gt__(Domain self, Particle d) -> bool
5089  """
5090  return _IMP_atom.Domain___gt__(self, *args)
5091 
5092  def __hash__(self):
5093  r"""__hash__(Domain self) -> std::size_t"""
5094  return _IMP_atom.Domain___hash__(self)
5095 
5096  def __str__(self):
5097  r"""__str__(Domain self) -> std::string"""
5098  return _IMP_atom.Domain___str__(self)
5099 
5100  def __repr__(self):
5101  r"""__repr__(Domain self) -> std::string"""
5102  return _IMP_atom.Domain___repr__(self)
5103 
5104  def _get_as_binary(self):
5105  r"""_get_as_binary(Domain self) -> PyObject *"""
5106  return _IMP_atom.Domain__get_as_binary(self)
5107 
5108  def _set_from_binary(self, p):
5109  r"""_set_from_binary(Domain self, PyObject * p)"""
5110  return _IMP_atom.Domain__set_from_binary(self, p)
5111 
5112  def __getstate__(self):
5113  p = self._get_as_binary()
5114  if len(self.__dict__) > 1:
5115  d = self.__dict__.copy()
5116  del d['this']
5117  p = (d, p)
5118  return p
5119 
5120  def __setstate__(self, p):
5121  if not hasattr(self, 'this'):
5122  self.__init__()
5123  if isinstance(p, tuple):
5124  d, p = p
5125  self.__dict__.update(d)
5126  return self._set_from_binary(p)
5127 
5128  __swig_destroy__ = _IMP_atom.delete_Domain
5129 
5130 # Register Domain in _IMP_atom:
5131 _IMP_atom.Domain_swigregister(Domain)
5132 class LennardJonesType(IMP.Object):
5133  r"""Proxy of C++ IMP::atom::LennardJonesType class."""
5134 
5135  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5136 
5137  def __init__(self, *args):
5138  r"""__init__(LennardJonesType self, double well_depth, double radius, std::string name="LennardJonesType%1%") -> LennardJonesType"""
5139  _IMP_atom.LennardJonesType_swiginit(self, _IMP_atom.new_LennardJonesType(*args))
5140 
5141  def get_well_depth(self):
5142  r"""get_well_depth(LennardJonesType self) -> double"""
5143  return _IMP_atom.LennardJonesType_get_well_depth(self)
5144 
5145  def set_well_depth(self, d):
5146  r"""set_well_depth(LennardJonesType self, double d)"""
5147  return _IMP_atom.LennardJonesType_set_well_depth(self, d)
5148 
5149  def get_radius(self):
5150  r"""get_radius(LennardJonesType self) -> double"""
5151  return _IMP_atom.LennardJonesType_get_radius(self)
5152 
5153  def set_radius(self, r):
5154  r"""set_radius(LennardJonesType self, double r)"""
5155  return _IMP_atom.LennardJonesType_set_radius(self, r)
5156 
5157  def get_index(self):
5158  r"""get_index(LennardJonesType self) -> int"""
5159  return _IMP_atom.LennardJonesType_get_index(self)
5160 
5161  def get_version_info(self):
5162  r"""get_version_info(LennardJonesType self) -> VersionInfo"""
5163  return _IMP_atom.LennardJonesType_get_version_info(self)
5164  __swig_destroy__ = _IMP_atom.delete_LennardJonesType
5165 
5166  def __str__(self):
5167  r"""__str__(LennardJonesType self) -> std::string"""
5168  return _IMP_atom.LennardJonesType___str__(self)
5169 
5170  def __repr__(self):
5171  r"""__repr__(LennardJonesType self) -> std::string"""
5172  return _IMP_atom.LennardJonesType___repr__(self)
5173 
5174  @staticmethod
5175  def get_from(o):
5176  return _object_cast_to_LennardJonesType(o)
5177 
5178 
5179 # Register LennardJonesType in _IMP_atom:
5180 _IMP_atom.LennardJonesType_swigregister(LennardJonesType)
5181 class LennardJonesTyped(IMP.core.XYZ):
5182  r"""Proxy of C++ IMP::atom::LennardJonesTyped class."""
5183 
5184  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5185 
5186  def __init__(self, *args):
5187  r"""
5188  __init__(LennardJonesTyped self) -> LennardJonesTyped
5189  __init__(LennardJonesTyped self, Model m, ParticleIndex id) -> LennardJonesTyped
5190  __init__(LennardJonesTyped self, _ParticleAdaptor d) -> LennardJonesTyped
5191  """
5192  _IMP_atom.LennardJonesTyped_swiginit(self, _IMP_atom.new_LennardJonesTyped(*args))
5193 
5194  def show(self, *args):
5195  r"""show(LennardJonesTyped self, _ostream out=std::cout)"""
5196  return _IMP_atom.LennardJonesTyped_show(self, *args)
5197 
5198  @staticmethod
5199  def setup_particle(*args):
5200  r"""
5201  setup_particle(Model m, ParticleIndex pi, LennardJonesType type) -> LennardJonesTyped
5202  setup_particle(_ParticleAdaptor pa, LennardJonesType type) -> LennardJonesTyped
5203  """
5204  return _IMP_atom.LennardJonesTyped_setup_particle(*args)
5205 
5206  @staticmethod
5207  def get_is_setup(*args):
5208  r"""
5209  get_is_setup(_ParticleAdaptor p) -> bool
5210  get_is_setup(Model m, ParticleIndex pi) -> bool
5211  """
5212  return _IMP_atom.LennardJonesTyped_get_is_setup(*args)
5213 
5214  def set_type(self, type):
5215  r"""set_type(LennardJonesTyped self, LennardJonesType type)"""
5216  return _IMP_atom.LennardJonesTyped_set_type(self, type)
5217 
5218  def get_type(self):
5219  r"""get_type(LennardJonesTyped self) -> LennardJonesType"""
5220  return _IMP_atom.LennardJonesTyped_get_type(self)
5221 
5222  def get_index(self):
5223  r"""get_index(LennardJonesTyped self) -> int"""
5224  return _IMP_atom.LennardJonesTyped_get_index(self)
5225 
5226  def get_well_depth(self):
5227  r"""get_well_depth(LennardJonesTyped self) -> double"""
5228  return _IMP_atom.LennardJonesTyped_get_well_depth(self)
5229 
5230  def get_radius(self):
5231  r"""get_radius(LennardJonesTyped self) -> double"""
5232  return _IMP_atom.LennardJonesTyped_get_radius(self)
5233 
5234  @staticmethod
5235  def get_type_key():
5236  r"""get_type_key() -> IntKey"""
5237  return _IMP_atom.LennardJonesTyped_get_type_key()
5238 
5239  def add_attribute(self, *args):
5240  r"""
5241  add_attribute(LennardJonesTyped self, FloatKey k, IMP::Float v, bool opt)
5242  add_attribute(LennardJonesTyped self, FloatKey a0, IMP::Float a1)
5243  add_attribute(LennardJonesTyped self, IntKey a0, IMP::Int a1)
5244  add_attribute(LennardJonesTyped self, FloatsKey a0, IMP::Floats a1)
5245  add_attribute(LennardJonesTyped self, IntsKey a0, IMP::Ints a1)
5246  add_attribute(LennardJonesTyped self, StringKey a0, IMP::String a1)
5247  add_attribute(LennardJonesTyped self, ParticleIndexKey a0, Particle a1)
5248  add_attribute(LennardJonesTyped self, ObjectKey a0, Object a1)
5249  add_attribute(LennardJonesTyped self, SparseFloatKey a0, IMP::Float a1)
5250  add_attribute(LennardJonesTyped self, SparseIntKey a0, IMP::Int a1)
5251  add_attribute(LennardJonesTyped self, SparseStringKey a0, IMP::String a1)
5252  add_attribute(LennardJonesTyped self, SparseParticleIndexKey a0, ParticleIndex a1)
5253  """
5254  return _IMP_atom.LennardJonesTyped_add_attribute(self, *args)
5255 
5256  def get_value(self, *args):
5257  r"""
5258  get_value(LennardJonesTyped self, FloatKey a0) -> IMP::Float
5259  get_value(LennardJonesTyped self, IntKey a0) -> IMP::Int
5260  get_value(LennardJonesTyped self, FloatsKey a0) -> IMP::Floats
5261  get_value(LennardJonesTyped self, IntsKey a0) -> IMP::Ints
5262  get_value(LennardJonesTyped self, StringKey a0) -> IMP::String
5263  get_value(LennardJonesTyped self, ParticleIndexKey a0) -> Particle
5264  get_value(LennardJonesTyped self, ObjectKey a0) -> Object
5265  get_value(LennardJonesTyped self, SparseFloatKey a0) -> IMP::Float
5266  get_value(LennardJonesTyped self, SparseIntKey a0) -> IMP::Int
5267  get_value(LennardJonesTyped self, SparseStringKey a0) -> IMP::String
5268  get_value(LennardJonesTyped self, SparseParticleIndexKey a0) -> ParticleIndex
5269  """
5270  return _IMP_atom.LennardJonesTyped_get_value(self, *args)
5271 
5272  def set_value(self, *args):
5273  r"""
5274  set_value(LennardJonesTyped self, FloatKey a0, IMP::Float a1)
5275  set_value(LennardJonesTyped self, IntKey a0, IMP::Int a1)
5276  set_value(LennardJonesTyped self, FloatsKey a0, IMP::Floats a1)
5277  set_value(LennardJonesTyped self, IntsKey a0, IMP::Ints a1)
5278  set_value(LennardJonesTyped self, StringKey a0, IMP::String a1)
5279  set_value(LennardJonesTyped self, ParticleIndexKey a0, Particle a1)
5280  set_value(LennardJonesTyped self, ObjectKey a0, Object a1)
5281  set_value(LennardJonesTyped self, SparseFloatKey a0, IMP::Float a1)
5282  set_value(LennardJonesTyped self, SparseIntKey a0, IMP::Int a1)
5283  set_value(LennardJonesTyped self, SparseStringKey a0, IMP::String a1)
5284  set_value(LennardJonesTyped self, SparseParticleIndexKey a0, ParticleIndex a1)
5285  """
5286  return _IMP_atom.LennardJonesTyped_set_value(self, *args)
5287 
5288  def remove_attribute(self, *args):
5289  r"""
5290  remove_attribute(LennardJonesTyped self, FloatKey a0)
5291  remove_attribute(LennardJonesTyped self, IntKey a0)
5292  remove_attribute(LennardJonesTyped self, FloatsKey a0)
5293  remove_attribute(LennardJonesTyped self, IntsKey a0)
5294  remove_attribute(LennardJonesTyped self, StringKey a0)
5295  remove_attribute(LennardJonesTyped self, ParticleIndexKey a0)
5296  remove_attribute(LennardJonesTyped self, ObjectKey a0)
5297  remove_attribute(LennardJonesTyped self, SparseFloatKey a0)
5298  remove_attribute(LennardJonesTyped self, SparseIntKey a0)
5299  remove_attribute(LennardJonesTyped self, SparseStringKey a0)
5300  remove_attribute(LennardJonesTyped self, SparseParticleIndexKey a0)
5301  """
5302  return _IMP_atom.LennardJonesTyped_remove_attribute(self, *args)
5303 
5304  def has_attribute(self, *args):
5305  r"""
5306  has_attribute(LennardJonesTyped self, FloatKey a0) -> bool
5307  has_attribute(LennardJonesTyped self, IntKey a0) -> bool
5308  has_attribute(LennardJonesTyped self, FloatsKey a0) -> bool
5309  has_attribute(LennardJonesTyped self, IntsKey a0) -> bool
5310  has_attribute(LennardJonesTyped self, StringKey a0) -> bool
5311  has_attribute(LennardJonesTyped self, ParticleIndexKey a0) -> bool
5312  has_attribute(LennardJonesTyped self, ObjectKey a0) -> bool
5313  has_attribute(LennardJonesTyped self, SparseFloatKey a0) -> bool
5314  has_attribute(LennardJonesTyped self, SparseIntKey a0) -> bool
5315  has_attribute(LennardJonesTyped self, SparseStringKey a0) -> bool
5316  has_attribute(LennardJonesTyped self, SparseParticleIndexKey a0) -> bool
5317  """
5318  return _IMP_atom.LennardJonesTyped_has_attribute(self, *args)
5319 
5320  def get_derivative(self, a0):
5321  r"""get_derivative(LennardJonesTyped self, FloatKey a0) -> double"""
5322  return _IMP_atom.LennardJonesTyped_get_derivative(self, a0)
5323 
5324  def get_name(self):
5325  r"""get_name(LennardJonesTyped self) -> std::string"""
5326  return _IMP_atom.LennardJonesTyped_get_name(self)
5327 
5328  def clear_caches(self):
5329  r"""clear_caches(LennardJonesTyped self)"""
5330  return _IMP_atom.LennardJonesTyped_clear_caches(self)
5331 
5332  def set_name(self, a0):
5333  r"""set_name(LennardJonesTyped self, std::string a0)"""
5334  return _IMP_atom.LennardJonesTyped_set_name(self, a0)
5335 
5336  def set_check_level(self, a0):
5337  r"""set_check_level(LennardJonesTyped self, IMP::CheckLevel a0)"""
5338  return _IMP_atom.LennardJonesTyped_set_check_level(self, a0)
5339 
5340  def add_to_derivative(self, a0, a1, a2):
5341  r"""add_to_derivative(LennardJonesTyped self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5342  return _IMP_atom.LennardJonesTyped_add_to_derivative(self, a0, a1, a2)
5343 
5344  def set_is_optimized(self, a0, a1):
5345  r"""set_is_optimized(LennardJonesTyped self, FloatKey a0, bool a1)"""
5346  return _IMP_atom.LennardJonesTyped_set_is_optimized(self, a0, a1)
5347 
5348  def get_is_optimized(self, a0):
5349  r"""get_is_optimized(LennardJonesTyped self, FloatKey a0) -> bool"""
5350  return _IMP_atom.LennardJonesTyped_get_is_optimized(self, a0)
5351 
5352  def get_check_level(self):
5353  r"""get_check_level(LennardJonesTyped self) -> IMP::CheckLevel"""
5354  return _IMP_atom.LennardJonesTyped_get_check_level(self)
5355 
5356  def __eq__(self, *args):
5357  r"""
5358  __eq__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5359  __eq__(LennardJonesTyped self, Particle d) -> bool
5360  """
5361  return _IMP_atom.LennardJonesTyped___eq__(self, *args)
5362 
5363  def __ne__(self, *args):
5364  r"""
5365  __ne__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5366  __ne__(LennardJonesTyped self, Particle d) -> bool
5367  """
5368  return _IMP_atom.LennardJonesTyped___ne__(self, *args)
5369 
5370  def __le__(self, *args):
5371  r"""
5372  __le__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5373  __le__(LennardJonesTyped self, Particle d) -> bool
5374  """
5375  return _IMP_atom.LennardJonesTyped___le__(self, *args)
5376 
5377  def __lt__(self, *args):
5378  r"""
5379  __lt__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5380  __lt__(LennardJonesTyped self, Particle d) -> bool
5381  """
5382  return _IMP_atom.LennardJonesTyped___lt__(self, *args)
5383 
5384  def __ge__(self, *args):
5385  r"""
5386  __ge__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5387  __ge__(LennardJonesTyped self, Particle d) -> bool
5388  """
5389  return _IMP_atom.LennardJonesTyped___ge__(self, *args)
5390 
5391  def __gt__(self, *args):
5392  r"""
5393  __gt__(LennardJonesTyped self, LennardJonesTyped o) -> bool
5394  __gt__(LennardJonesTyped self, Particle d) -> bool
5395  """
5396  return _IMP_atom.LennardJonesTyped___gt__(self, *args)
5397 
5398  def __hash__(self):
5399  r"""__hash__(LennardJonesTyped self) -> std::size_t"""
5400  return _IMP_atom.LennardJonesTyped___hash__(self)
5401 
5402  def __str__(self):
5403  r"""__str__(LennardJonesTyped self) -> std::string"""
5404  return _IMP_atom.LennardJonesTyped___str__(self)
5405 
5406  def __repr__(self):
5407  r"""__repr__(LennardJonesTyped self) -> std::string"""
5408  return _IMP_atom.LennardJonesTyped___repr__(self)
5409 
5410  def _get_as_binary(self):
5411  r"""_get_as_binary(LennardJonesTyped self) -> PyObject *"""
5412  return _IMP_atom.LennardJonesTyped__get_as_binary(self)
5413 
5414  def _set_from_binary(self, p):
5415  r"""_set_from_binary(LennardJonesTyped self, PyObject * p)"""
5416  return _IMP_atom.LennardJonesTyped__set_from_binary(self, p)
5417 
5418  def __getstate__(self):
5419  p = self._get_as_binary()
5420  if len(self.__dict__) > 1:
5421  d = self.__dict__.copy()
5422  del d['this']
5423  p = (d, p)
5424  return p
5425 
5426  def __setstate__(self, p):
5427  if not hasattr(self, 'this'):
5428  self.__init__()
5429  if isinstance(p, tuple):
5430  d, p = p
5431  self.__dict__.update(d)
5432  return self._set_from_binary(p)
5433 
5434  __swig_destroy__ = _IMP_atom.delete_LennardJonesTyped
5435 
5436 # Register LennardJonesTyped in _IMP_atom:
5437 _IMP_atom.LennardJonesTyped_swigregister(LennardJonesTyped)
5438 class LinearVelocity(IMP.Decorator):
5439  r"""Proxy of C++ IMP::atom::LinearVelocity class."""
5440 
5441  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5442 
5443  @staticmethod
5444  def get_velocity_key():
5445  r"""get_velocity_key() -> Vector3DKey"""
5446  return _IMP_atom.LinearVelocity_get_velocity_key()
5447 
5448  def __init__(self, *args):
5449  r"""
5450  __init__(LinearVelocity self) -> LinearVelocity
5451  __init__(LinearVelocity self, Model m, ParticleIndex id) -> LinearVelocity
5452  __init__(LinearVelocity self, _ParticleAdaptor d) -> LinearVelocity
5453  """
5454  _IMP_atom.LinearVelocity_swiginit(self, _IMP_atom.new_LinearVelocity(*args))
5455 
5456  @staticmethod
5457  def get_is_setup(*args):
5458  r"""
5459  get_is_setup(Model m, ParticleIndex pi) -> bool
5460  get_is_setup(_ParticleAdaptor p) -> bool
5461  """
5462  return _IMP_atom.LinearVelocity_get_is_setup(*args)
5463 
5464  def show(self, *args):
5465  r"""show(LinearVelocity self, _ostream out=std::cout)"""
5466  return _IMP_atom.LinearVelocity_show(self, *args)
5467 
5468  @staticmethod
5469  def setup_particle(*args):
5470  r"""
5471  setup_particle(Model m, ParticleIndex pi) -> LinearVelocity
5472  setup_particle(_ParticleAdaptor pa) -> LinearVelocity
5473  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> LinearVelocity
5474  setup_particle(_ParticleAdaptor pa, Vector3D v) -> LinearVelocity
5475  """
5476  return _IMP_atom.LinearVelocity_setup_particle(*args)
5477 
5478  def set_velocity(self, v):
5479  r"""set_velocity(LinearVelocity self, Vector3D v)"""
5480  return _IMP_atom.LinearVelocity_set_velocity(self, v)
5481 
5482  def get_velocity(self):
5483  r"""get_velocity(LinearVelocity self) -> Vector3D"""
5484  return _IMP_atom.LinearVelocity_get_velocity(self)
5485 
5486  def add_attribute(self, *args):
5487  r"""
5488  add_attribute(LinearVelocity self, FloatKey k, IMP::Float v, bool opt)
5489  add_attribute(LinearVelocity self, FloatKey a0, IMP::Float a1)
5490  add_attribute(LinearVelocity self, IntKey a0, IMP::Int a1)
5491  add_attribute(LinearVelocity self, FloatsKey a0, IMP::Floats a1)
5492  add_attribute(LinearVelocity self, IntsKey a0, IMP::Ints a1)
5493  add_attribute(LinearVelocity self, StringKey a0, IMP::String a1)
5494  add_attribute(LinearVelocity self, ParticleIndexKey a0, Particle a1)
5495  add_attribute(LinearVelocity self, ObjectKey a0, Object a1)
5496  add_attribute(LinearVelocity self, SparseFloatKey a0, IMP::Float a1)
5497  add_attribute(LinearVelocity self, SparseIntKey a0, IMP::Int a1)
5498  add_attribute(LinearVelocity self, SparseStringKey a0, IMP::String a1)
5499  add_attribute(LinearVelocity self, SparseParticleIndexKey a0, ParticleIndex a1)
5500  """
5501  return _IMP_atom.LinearVelocity_add_attribute(self, *args)
5502 
5503  def get_value(self, *args):
5504  r"""
5505  get_value(LinearVelocity self, FloatKey a0) -> IMP::Float
5506  get_value(LinearVelocity self, IntKey a0) -> IMP::Int
5507  get_value(LinearVelocity self, FloatsKey a0) -> IMP::Floats
5508  get_value(LinearVelocity self, IntsKey a0) -> IMP::Ints
5509  get_value(LinearVelocity self, StringKey a0) -> IMP::String
5510  get_value(LinearVelocity self, ParticleIndexKey a0) -> Particle
5511  get_value(LinearVelocity self, ObjectKey a0) -> Object
5512  get_value(LinearVelocity self, SparseFloatKey a0) -> IMP::Float
5513  get_value(LinearVelocity self, SparseIntKey a0) -> IMP::Int
5514  get_value(LinearVelocity self, SparseStringKey a0) -> IMP::String
5515  get_value(LinearVelocity self, SparseParticleIndexKey a0) -> ParticleIndex
5516  """
5517  return _IMP_atom.LinearVelocity_get_value(self, *args)
5518 
5519  def set_value(self, *args):
5520  r"""
5521  set_value(LinearVelocity self, FloatKey a0, IMP::Float a1)
5522  set_value(LinearVelocity self, IntKey a0, IMP::Int a1)
5523  set_value(LinearVelocity self, FloatsKey a0, IMP::Floats a1)
5524  set_value(LinearVelocity self, IntsKey a0, IMP::Ints a1)
5525  set_value(LinearVelocity self, StringKey a0, IMP::String a1)
5526  set_value(LinearVelocity self, ParticleIndexKey a0, Particle a1)
5527  set_value(LinearVelocity self, ObjectKey a0, Object a1)
5528  set_value(LinearVelocity self, SparseFloatKey a0, IMP::Float a1)
5529  set_value(LinearVelocity self, SparseIntKey a0, IMP::Int a1)
5530  set_value(LinearVelocity self, SparseStringKey a0, IMP::String a1)
5531  set_value(LinearVelocity self, SparseParticleIndexKey a0, ParticleIndex a1)
5532  """
5533  return _IMP_atom.LinearVelocity_set_value(self, *args)
5534 
5535  def remove_attribute(self, *args):
5536  r"""
5537  remove_attribute(LinearVelocity self, FloatKey a0)
5538  remove_attribute(LinearVelocity self, IntKey a0)
5539  remove_attribute(LinearVelocity self, FloatsKey a0)
5540  remove_attribute(LinearVelocity self, IntsKey a0)
5541  remove_attribute(LinearVelocity self, StringKey a0)
5542  remove_attribute(LinearVelocity self, ParticleIndexKey a0)
5543  remove_attribute(LinearVelocity self, ObjectKey a0)
5544  remove_attribute(LinearVelocity self, SparseFloatKey a0)
5545  remove_attribute(LinearVelocity self, SparseIntKey a0)
5546  remove_attribute(LinearVelocity self, SparseStringKey a0)
5547  remove_attribute(LinearVelocity self, SparseParticleIndexKey a0)
5548  """
5549  return _IMP_atom.LinearVelocity_remove_attribute(self, *args)
5550 
5551  def has_attribute(self, *args):
5552  r"""
5553  has_attribute(LinearVelocity self, FloatKey a0) -> bool
5554  has_attribute(LinearVelocity self, IntKey a0) -> bool
5555  has_attribute(LinearVelocity self, FloatsKey a0) -> bool
5556  has_attribute(LinearVelocity self, IntsKey a0) -> bool
5557  has_attribute(LinearVelocity self, StringKey a0) -> bool
5558  has_attribute(LinearVelocity self, ParticleIndexKey a0) -> bool
5559  has_attribute(LinearVelocity self, ObjectKey a0) -> bool
5560  has_attribute(LinearVelocity self, SparseFloatKey a0) -> bool
5561  has_attribute(LinearVelocity self, SparseIntKey a0) -> bool
5562  has_attribute(LinearVelocity self, SparseStringKey a0) -> bool
5563  has_attribute(LinearVelocity self, SparseParticleIndexKey a0) -> bool
5564  """
5565  return _IMP_atom.LinearVelocity_has_attribute(self, *args)
5566 
5567  def get_derivative(self, a0):
5568  r"""get_derivative(LinearVelocity self, FloatKey a0) -> double"""
5569  return _IMP_atom.LinearVelocity_get_derivative(self, a0)
5570 
5571  def get_name(self):
5572  r"""get_name(LinearVelocity self) -> std::string"""
5573  return _IMP_atom.LinearVelocity_get_name(self)
5574 
5575  def clear_caches(self):
5576  r"""clear_caches(LinearVelocity self)"""
5577  return _IMP_atom.LinearVelocity_clear_caches(self)
5578 
5579  def set_name(self, a0):
5580  r"""set_name(LinearVelocity self, std::string a0)"""
5581  return _IMP_atom.LinearVelocity_set_name(self, a0)
5582 
5583  def set_check_level(self, a0):
5584  r"""set_check_level(LinearVelocity self, IMP::CheckLevel a0)"""
5585  return _IMP_atom.LinearVelocity_set_check_level(self, a0)
5586 
5587  def add_to_derivative(self, a0, a1, a2):
5588  r"""add_to_derivative(LinearVelocity self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5589  return _IMP_atom.LinearVelocity_add_to_derivative(self, a0, a1, a2)
5590 
5591  def set_is_optimized(self, a0, a1):
5592  r"""set_is_optimized(LinearVelocity self, FloatKey a0, bool a1)"""
5593  return _IMP_atom.LinearVelocity_set_is_optimized(self, a0, a1)
5594 
5595  def get_is_optimized(self, a0):
5596  r"""get_is_optimized(LinearVelocity self, FloatKey a0) -> bool"""
5597  return _IMP_atom.LinearVelocity_get_is_optimized(self, a0)
5598 
5599  def get_check_level(self):
5600  r"""get_check_level(LinearVelocity self) -> IMP::CheckLevel"""
5601  return _IMP_atom.LinearVelocity_get_check_level(self)
5602 
5603  def __eq__(self, *args):
5604  r"""
5605  __eq__(LinearVelocity self, LinearVelocity o) -> bool
5606  __eq__(LinearVelocity self, Particle d) -> bool
5607  """
5608  return _IMP_atom.LinearVelocity___eq__(self, *args)
5609 
5610  def __ne__(self, *args):
5611  r"""
5612  __ne__(LinearVelocity self, LinearVelocity o) -> bool
5613  __ne__(LinearVelocity self, Particle d) -> bool
5614  """
5615  return _IMP_atom.LinearVelocity___ne__(self, *args)
5616 
5617  def __le__(self, *args):
5618  r"""
5619  __le__(LinearVelocity self, LinearVelocity o) -> bool
5620  __le__(LinearVelocity self, Particle d) -> bool
5621  """
5622  return _IMP_atom.LinearVelocity___le__(self, *args)
5623 
5624  def __lt__(self, *args):
5625  r"""
5626  __lt__(LinearVelocity self, LinearVelocity o) -> bool
5627  __lt__(LinearVelocity self, Particle d) -> bool
5628  """
5629  return _IMP_atom.LinearVelocity___lt__(self, *args)
5630 
5631  def __ge__(self, *args):
5632  r"""
5633  __ge__(LinearVelocity self, LinearVelocity o) -> bool
5634  __ge__(LinearVelocity self, Particle d) -> bool
5635  """
5636  return _IMP_atom.LinearVelocity___ge__(self, *args)
5637 
5638  def __gt__(self, *args):
5639  r"""
5640  __gt__(LinearVelocity self, LinearVelocity o) -> bool
5641  __gt__(LinearVelocity self, Particle d) -> bool
5642  """
5643  return _IMP_atom.LinearVelocity___gt__(self, *args)
5644 
5645  def __hash__(self):
5646  r"""__hash__(LinearVelocity self) -> std::size_t"""
5647  return _IMP_atom.LinearVelocity___hash__(self)
5648 
5649  def __str__(self):
5650  r"""__str__(LinearVelocity self) -> std::string"""
5651  return _IMP_atom.LinearVelocity___str__(self)
5652 
5653  def __repr__(self):
5654  r"""__repr__(LinearVelocity self) -> std::string"""
5655  return _IMP_atom.LinearVelocity___repr__(self)
5656 
5657  def _get_as_binary(self):
5658  r"""_get_as_binary(LinearVelocity self) -> PyObject *"""
5659  return _IMP_atom.LinearVelocity__get_as_binary(self)
5660 
5661  def _set_from_binary(self, p):
5662  r"""_set_from_binary(LinearVelocity self, PyObject * p)"""
5663  return _IMP_atom.LinearVelocity__set_from_binary(self, p)
5664 
5665  def __getstate__(self):
5666  p = self._get_as_binary()
5667  if len(self.__dict__) > 1:
5668  d = self.__dict__.copy()
5669  del d['this']
5670  p = (d, p)
5671  return p
5672 
5673  def __setstate__(self, p):
5674  if not hasattr(self, 'this'):
5675  self.__init__()
5676  if isinstance(p, tuple):
5677  d, p = p
5678  self.__dict__.update(d)
5679  return self._set_from_binary(p)
5680 
5681  __swig_destroy__ = _IMP_atom.delete_LinearVelocity
5682 
5683 # Register LinearVelocity in _IMP_atom:
5684 _IMP_atom.LinearVelocity_swigregister(LinearVelocity)
5685 class AngularVelocity(IMP.Decorator):
5686  r"""Proxy of C++ IMP::atom::AngularVelocity class."""
5687 
5688  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5689 
5690  def __init__(self, *args):
5691  r"""
5692  __init__(AngularVelocity self) -> AngularVelocity
5693  __init__(AngularVelocity self, Model m, ParticleIndex id) -> AngularVelocity
5694  __init__(AngularVelocity self, _ParticleAdaptor d) -> AngularVelocity
5695  """
5696  _IMP_atom.AngularVelocity_swiginit(self, _IMP_atom.new_AngularVelocity(*args))
5697 
5698  @staticmethod
5699  def get_is_setup(*args):
5700  r"""
5701  get_is_setup(Model m, ParticleIndex pi) -> bool
5702  get_is_setup(_ParticleAdaptor p) -> bool
5703  """
5704  return _IMP_atom.AngularVelocity_get_is_setup(*args)
5705 
5706  def show(self, *args):
5707  r"""show(AngularVelocity self, _ostream out=std::cout)"""
5708  return _IMP_atom.AngularVelocity_show(self, *args)
5709 
5710  @staticmethod
5711  def setup_particle(*args):
5712  r"""
5713  setup_particle(Model m, ParticleIndex pi) -> AngularVelocity
5714  setup_particle(_ParticleAdaptor pa) -> AngularVelocity
5715  setup_particle(Model m, ParticleIndex pi, Vector4D v) -> AngularVelocity
5716  setup_particle(_ParticleAdaptor pa, Vector4D v) -> AngularVelocity
5717  """
5718  return _IMP_atom.AngularVelocity_setup_particle(*args)
5719 
5720  def set_velocity(self, v):
5721  r"""set_velocity(AngularVelocity self, Vector4D v)"""
5722  return _IMP_atom.AngularVelocity_set_velocity(self, v)
5723 
5724  def get_velocity(self):
5725  r"""get_velocity(AngularVelocity self) -> Vector4D"""
5726  return _IMP_atom.AngularVelocity_get_velocity(self)
5727 
5728  def add_attribute(self, *args):
5729  r"""
5730  add_attribute(AngularVelocity self, FloatKey k, IMP::Float v, bool opt)
5731  add_attribute(AngularVelocity self, FloatKey a0, IMP::Float a1)
5732  add_attribute(AngularVelocity self, IntKey a0, IMP::Int a1)
5733  add_attribute(AngularVelocity self, FloatsKey a0, IMP::Floats a1)
5734  add_attribute(AngularVelocity self, IntsKey a0, IMP::Ints a1)
5735  add_attribute(AngularVelocity self, StringKey a0, IMP::String a1)
5736  add_attribute(AngularVelocity self, ParticleIndexKey a0, Particle a1)
5737  add_attribute(AngularVelocity self, ObjectKey a0, Object a1)
5738  add_attribute(AngularVelocity self, SparseFloatKey a0, IMP::Float a1)
5739  add_attribute(AngularVelocity self, SparseIntKey a0, IMP::Int a1)
5740  add_attribute(AngularVelocity self, SparseStringKey a0, IMP::String a1)
5741  add_attribute(AngularVelocity self, SparseParticleIndexKey a0, ParticleIndex a1)
5742  """
5743  return _IMP_atom.AngularVelocity_add_attribute(self, *args)
5744 
5745  def get_value(self, *args):
5746  r"""
5747  get_value(AngularVelocity self, FloatKey a0) -> IMP::Float
5748  get_value(AngularVelocity self, IntKey a0) -> IMP::Int
5749  get_value(AngularVelocity self, FloatsKey a0) -> IMP::Floats
5750  get_value(AngularVelocity self, IntsKey a0) -> IMP::Ints
5751  get_value(AngularVelocity self, StringKey a0) -> IMP::String
5752  get_value(AngularVelocity self, ParticleIndexKey a0) -> Particle
5753  get_value(AngularVelocity self, ObjectKey a0) -> Object
5754  get_value(AngularVelocity self, SparseFloatKey a0) -> IMP::Float
5755  get_value(AngularVelocity self, SparseIntKey a0) -> IMP::Int
5756  get_value(AngularVelocity self, SparseStringKey a0) -> IMP::String
5757  get_value(AngularVelocity self, SparseParticleIndexKey a0) -> ParticleIndex
5758  """
5759  return _IMP_atom.AngularVelocity_get_value(self, *args)
5760 
5761  def set_value(self, *args):
5762  r"""
5763  set_value(AngularVelocity self, FloatKey a0, IMP::Float a1)
5764  set_value(AngularVelocity self, IntKey a0, IMP::Int a1)
5765  set_value(AngularVelocity self, FloatsKey a0, IMP::Floats a1)
5766  set_value(AngularVelocity self, IntsKey a0, IMP::Ints a1)
5767  set_value(AngularVelocity self, StringKey a0, IMP::String a1)
5768  set_value(AngularVelocity self, ParticleIndexKey a0, Particle a1)
5769  set_value(AngularVelocity self, ObjectKey a0, Object a1)
5770  set_value(AngularVelocity self, SparseFloatKey a0, IMP::Float a1)
5771  set_value(AngularVelocity self, SparseIntKey a0, IMP::Int a1)
5772  set_value(AngularVelocity self, SparseStringKey a0, IMP::String a1)
5773  set_value(AngularVelocity self, SparseParticleIndexKey a0, ParticleIndex a1)
5774  """
5775  return _IMP_atom.AngularVelocity_set_value(self, *args)
5776 
5777  def remove_attribute(self, *args):
5778  r"""
5779  remove_attribute(AngularVelocity self, FloatKey a0)
5780  remove_attribute(AngularVelocity self, IntKey a0)
5781  remove_attribute(AngularVelocity self, FloatsKey a0)
5782  remove_attribute(AngularVelocity self, IntsKey a0)
5783  remove_attribute(AngularVelocity self, StringKey a0)
5784  remove_attribute(AngularVelocity self, ParticleIndexKey a0)
5785  remove_attribute(AngularVelocity self, ObjectKey a0)
5786  remove_attribute(AngularVelocity self, SparseFloatKey a0)
5787  remove_attribute(AngularVelocity self, SparseIntKey a0)
5788  remove_attribute(AngularVelocity self, SparseStringKey a0)
5789  remove_attribute(AngularVelocity self, SparseParticleIndexKey a0)
5790  """
5791  return _IMP_atom.AngularVelocity_remove_attribute(self, *args)
5792 
5793  def has_attribute(self, *args):
5794  r"""
5795  has_attribute(AngularVelocity self, FloatKey a0) -> bool
5796  has_attribute(AngularVelocity self, IntKey a0) -> bool
5797  has_attribute(AngularVelocity self, FloatsKey a0) -> bool
5798  has_attribute(AngularVelocity self, IntsKey a0) -> bool
5799  has_attribute(AngularVelocity self, StringKey a0) -> bool
5800  has_attribute(AngularVelocity self, ParticleIndexKey a0) -> bool
5801  has_attribute(AngularVelocity self, ObjectKey a0) -> bool
5802  has_attribute(AngularVelocity self, SparseFloatKey a0) -> bool
5803  has_attribute(AngularVelocity self, SparseIntKey a0) -> bool
5804  has_attribute(AngularVelocity self, SparseStringKey a0) -> bool
5805  has_attribute(AngularVelocity self, SparseParticleIndexKey a0) -> bool
5806  """
5807  return _IMP_atom.AngularVelocity_has_attribute(self, *args)
5808 
5809  def get_derivative(self, a0):
5810  r"""get_derivative(AngularVelocity self, FloatKey a0) -> double"""
5811  return _IMP_atom.AngularVelocity_get_derivative(self, a0)
5812 
5813  def get_name(self):
5814  r"""get_name(AngularVelocity self) -> std::string"""
5815  return _IMP_atom.AngularVelocity_get_name(self)
5816 
5817  def clear_caches(self):
5818  r"""clear_caches(AngularVelocity self)"""
5819  return _IMP_atom.AngularVelocity_clear_caches(self)
5820 
5821  def set_name(self, a0):
5822  r"""set_name(AngularVelocity self, std::string a0)"""
5823  return _IMP_atom.AngularVelocity_set_name(self, a0)
5824 
5825  def set_check_level(self, a0):
5826  r"""set_check_level(AngularVelocity self, IMP::CheckLevel a0)"""
5827  return _IMP_atom.AngularVelocity_set_check_level(self, a0)
5828 
5829  def add_to_derivative(self, a0, a1, a2):
5830  r"""add_to_derivative(AngularVelocity self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5831  return _IMP_atom.AngularVelocity_add_to_derivative(self, a0, a1, a2)
5832 
5833  def set_is_optimized(self, a0, a1):
5834  r"""set_is_optimized(AngularVelocity self, FloatKey a0, bool a1)"""
5835  return _IMP_atom.AngularVelocity_set_is_optimized(self, a0, a1)
5836 
5837  def get_is_optimized(self, a0):
5838  r"""get_is_optimized(AngularVelocity self, FloatKey a0) -> bool"""
5839  return _IMP_atom.AngularVelocity_get_is_optimized(self, a0)
5840 
5841  def get_check_level(self):
5842  r"""get_check_level(AngularVelocity self) -> IMP::CheckLevel"""
5843  return _IMP_atom.AngularVelocity_get_check_level(self)
5844 
5845  def __eq__(self, *args):
5846  r"""
5847  __eq__(AngularVelocity self, AngularVelocity o) -> bool
5848  __eq__(AngularVelocity self, Particle d) -> bool
5849  """
5850  return _IMP_atom.AngularVelocity___eq__(self, *args)
5851 
5852  def __ne__(self, *args):
5853  r"""
5854  __ne__(AngularVelocity self, AngularVelocity o) -> bool
5855  __ne__(AngularVelocity self, Particle d) -> bool
5856  """
5857  return _IMP_atom.AngularVelocity___ne__(self, *args)
5858 
5859  def __le__(self, *args):
5860  r"""
5861  __le__(AngularVelocity self, AngularVelocity o) -> bool
5862  __le__(AngularVelocity self, Particle d) -> bool
5863  """
5864  return _IMP_atom.AngularVelocity___le__(self, *args)
5865 
5866  def __lt__(self, *args):
5867  r"""
5868  __lt__(AngularVelocity self, AngularVelocity o) -> bool
5869  __lt__(AngularVelocity self, Particle d) -> bool
5870  """
5871  return _IMP_atom.AngularVelocity___lt__(self, *args)
5872 
5873  def __ge__(self, *args):
5874  r"""
5875  __ge__(AngularVelocity self, AngularVelocity o) -> bool
5876  __ge__(AngularVelocity self, Particle d) -> bool
5877  """
5878  return _IMP_atom.AngularVelocity___ge__(self, *args)
5879 
5880  def __gt__(self, *args):
5881  r"""
5882  __gt__(AngularVelocity self, AngularVelocity o) -> bool
5883  __gt__(AngularVelocity self, Particle d) -> bool
5884  """
5885  return _IMP_atom.AngularVelocity___gt__(self, *args)
5886 
5887  def __hash__(self):
5888  r"""__hash__(AngularVelocity self) -> std::size_t"""
5889  return _IMP_atom.AngularVelocity___hash__(self)
5890 
5891  def __str__(self):
5892  r"""__str__(AngularVelocity self) -> std::string"""
5893  return _IMP_atom.AngularVelocity___str__(self)
5894 
5895  def __repr__(self):
5896  r"""__repr__(AngularVelocity self) -> std::string"""
5897  return _IMP_atom.AngularVelocity___repr__(self)
5898 
5899  def _get_as_binary(self):
5900  r"""_get_as_binary(AngularVelocity self) -> PyObject *"""
5901  return _IMP_atom.AngularVelocity__get_as_binary(self)
5902 
5903  def _set_from_binary(self, p):
5904  r"""_set_from_binary(AngularVelocity self, PyObject * p)"""
5905  return _IMP_atom.AngularVelocity__set_from_binary(self, p)
5906 
5907  def __getstate__(self):
5908  p = self._get_as_binary()
5909  if len(self.__dict__) > 1:
5910  d = self.__dict__.copy()
5911  del d['this']
5912  p = (d, p)
5913  return p
5914 
5915  def __setstate__(self, p):
5916  if not hasattr(self, 'this'):
5917  self.__init__()
5918  if isinstance(p, tuple):
5919  d, p = p
5920  self.__dict__.update(d)
5921  return self._set_from_binary(p)
5922 
5923  __swig_destroy__ = _IMP_atom.delete_AngularVelocity
5924 
5925 # Register AngularVelocity in _IMP_atom:
5926 _IMP_atom.AngularVelocity_swigregister(AngularVelocity)
5927 class MolecularDynamics(Simulator):
5928  r"""Proxy of C++ IMP::atom::MolecularDynamics class."""
5929 
5930  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5931 
5932  def __init__(self, *args):
5933  r"""
5934  __init__(MolecularDynamics self, Model m) -> MolecularDynamics
5935  __init__(MolecularDynamics self) -> MolecularDynamics
5936  """
5937  _IMP_atom.MolecularDynamics_swiginit(self, _IMP_atom.new_MolecularDynamics(*args))
5938 
5939  def get_kinetic_energy(self):
5940  r"""get_kinetic_energy(MolecularDynamics self) -> IMP::Float"""
5941  return _IMP_atom.MolecularDynamics_get_kinetic_energy(self)
5942 
5943  def get_kinetic_temperature(self, ekinetic):
5944  r"""get_kinetic_temperature(MolecularDynamics self, IMP::Float ekinetic) -> IMP::Float"""
5945  return _IMP_atom.MolecularDynamics_get_kinetic_temperature(self, ekinetic)
5946 
5947  def set_velocity_cap(self, velocity_cap):
5948  r"""set_velocity_cap(MolecularDynamics self, IMP::Float velocity_cap)"""
5949  return _IMP_atom.MolecularDynamics_set_velocity_cap(self, velocity_cap)
5950 
5951  def get_velocity_cap(self):
5952  r"""get_velocity_cap(MolecularDynamics self) -> IMP::Float"""
5953  return _IMP_atom.MolecularDynamics_get_velocity_cap(self)
5954 
5955  def get_degrees_of_freedom(self):
5956  r"""get_degrees_of_freedom(MolecularDynamics self) -> int"""
5957  return _IMP_atom.MolecularDynamics_get_degrees_of_freedom(self)
5958 
5959  def assign_velocities(self, temperature):
5960  r"""assign_velocities(MolecularDynamics self, IMP::Float temperature)"""
5961  return _IMP_atom.MolecularDynamics_assign_velocities(self, temperature)
5962 
5963  def setup(self, ps):
5964  r"""setup(MolecularDynamics self, IMP::ParticleIndexes const & ps)"""
5965  return _IMP_atom.MolecularDynamics_setup(self, ps)
5966 
5967  def do_step(self, sc, dt):
5968  r"""do_step(MolecularDynamics self, IMP::ParticleIndexes const & sc, double dt) -> double"""
5969  return _IMP_atom.MolecularDynamics_do_step(self, sc, dt)
5970 
5971  def get_is_simulation_particle(self, p):
5972  r"""get_is_simulation_particle(MolecularDynamics self, ParticleIndex p) -> bool"""
5973  return _IMP_atom.MolecularDynamics_get_is_simulation_particle(self, p)
5974 
5975  def get_version_info(self):
5976  r"""get_version_info(MolecularDynamics self) -> VersionInfo"""
5977  return _IMP_atom.MolecularDynamics_get_version_info(self)
5978  __swig_destroy__ = _IMP_atom.delete_MolecularDynamics
5979 
5980  def __str__(self):
5981  r"""__str__(MolecularDynamics self) -> std::string"""
5982  return _IMP_atom.MolecularDynamics___str__(self)
5983 
5984  def __repr__(self):
5985  r"""__repr__(MolecularDynamics self) -> std::string"""
5986  return _IMP_atom.MolecularDynamics___repr__(self)
5987 
5988  @staticmethod
5989  def get_from(o):
5990  return _object_cast_to_MolecularDynamics(o)
5991 
5992 
5993  def _get_as_binary(self):
5994  r"""_get_as_binary(MolecularDynamics self) -> PyObject *"""
5995  return _IMP_atom.MolecularDynamics__get_as_binary(self)
5996 
5997  def _set_from_binary(self, p):
5998  r"""_set_from_binary(MolecularDynamics self, PyObject * p)"""
5999  return _IMP_atom.MolecularDynamics__set_from_binary(self, p)
6000 
6001  def __getstate__(self):
6002  p = self._get_as_binary()
6003  if len(self.__dict__) > 1:
6004  d = self.__dict__.copy()
6005  del d['this']
6006  p = (d, p)
6007  return p
6008 
6009  def __setstate__(self, p):
6010  if not hasattr(self, 'this'):
6011  self.__init__()
6012  if isinstance(p, tuple):
6013  d, p = p
6014  self.__dict__.update(d)
6015  return self._set_from_binary(p)
6016 
6017 
6018  def _get_jax(self):
6019  from IMP.atom._jax_util import _MDJAXInfo
6020  return _MDJAXInfo(self)
6021 
6022  def _get_jax_optimizer(self, max_steps):
6023  import IMP.atom._jax_util
6024  return IMP.atom._jax_util._MDJAXOptimizer(self, max_steps)
6025 
6026  def _optimize_jax(self, max_steps):
6027  opt = self._get_jax_optimizer(max_steps)
6028  score, md_state = opt.optimize(opt.get_initial_state())
6029  return score
6030 
6031 
6032 # Register MolecularDynamics in _IMP_atom:
6033 _IMP_atom.MolecularDynamics_swigregister(MolecularDynamics)
6034 class VelocityScalingOptimizerState(IMP.OptimizerState):
6035  r"""Proxy of C++ IMP::atom::VelocityScalingOptimizerState class."""
6036 
6037  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6038 
6039  def __init__(self, m, pis, temperature):
6040  r"""__init__(VelocityScalingOptimizerState self, Model m, _ParticleIndexesAdaptor pis, double temperature) -> VelocityScalingOptimizerState"""
6041  _IMP_atom.VelocityScalingOptimizerState_swiginit(self, _IMP_atom.new_VelocityScalingOptimizerState(m, pis, temperature))
6042 
6043  def set_particles(self, pis):
6044  r"""set_particles(VelocityScalingOptimizerState self, IMP::Particles const & pis)"""
6045  return _IMP_atom.VelocityScalingOptimizerState_set_particles(self, pis)
6046 
6047  def set_temperature(self, temperature):
6048  r"""set_temperature(VelocityScalingOptimizerState self, IMP::Float temperature)"""
6049  return _IMP_atom.VelocityScalingOptimizerState_set_temperature(self, temperature)
6050 
6051  def get_particles(self):
6052  r"""get_particles(VelocityScalingOptimizerState self) -> IMP::Particles"""
6053  return _IMP_atom.VelocityScalingOptimizerState_get_particles(self)
6054 
6055  def get_temperature(self):
6056  r"""get_temperature(VelocityScalingOptimizerState self) -> IMP::Float"""
6057  return _IMP_atom.VelocityScalingOptimizerState_get_temperature(self)
6058 
6059  def rescale_velocities(self):
6060  r"""rescale_velocities(VelocityScalingOptimizerState self)"""
6061  return _IMP_atom.VelocityScalingOptimizerState_rescale_velocities(self)
6062 
6063  def get_version_info(self):
6064  r"""get_version_info(VelocityScalingOptimizerState self) -> VersionInfo"""
6065  return _IMP_atom.VelocityScalingOptimizerState_get_version_info(self)
6066  __swig_destroy__ = _IMP_atom.delete_VelocityScalingOptimizerState
6067 
6068  def __str__(self):
6069  r"""__str__(VelocityScalingOptimizerState self) -> std::string"""
6070  return _IMP_atom.VelocityScalingOptimizerState___str__(self)
6071 
6072  def __repr__(self):
6073  r"""__repr__(VelocityScalingOptimizerState self) -> std::string"""
6074  return _IMP_atom.VelocityScalingOptimizerState___repr__(self)
6075 
6076  @staticmethod
6077  def get_from(o):
6078  return _object_cast_to_VelocityScalingOptimizerState(o)
6079 
6080 
6081  def _get_jax(self, state_index):
6082  import jax.lax
6083  import jax.numpy as jnp
6084  temperature = self.get_temperature()
6085  indexes = jnp.asarray(IMP.get_indexes(self.get_particles()))
6086 
6087  def scale_velocities(md, tkinetic):
6088  scale = jnp.sqrt(temperature / tkinetic)
6089  linvel = md.jm['linvel'].at[indexes]
6090  md.jm['linvel'] = linvel.multiply(scale)
6091  return md
6092 
6093  def apply_func(md):
6094  ekinetic = md.get_kinetic_energy()
6095  tkinetic = md.get_kinetic_temperature(ekinetic)
6096  return jax.lax.cond(tkinetic > 1e-8, scale_velocities,
6097  lambda md, tk: md, md, tkinetic)
6098  return self._wrap_jax(lambda x: x, apply_func)
6099 
6100 
6101 # Register VelocityScalingOptimizerState in _IMP_atom:
6102 _IMP_atom.VelocityScalingOptimizerState_swigregister(VelocityScalingOptimizerState)
6103 class Fragment(Hierarchy):
6104  r"""Proxy of C++ IMP::atom::Fragment class."""
6105 
6106  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6107 
6108  def set_residue_indexes(self, o):
6109  r"""set_residue_indexes(Fragment self, IMP::Ints o)"""
6110  return _IMP_atom.Fragment_set_residue_indexes(self, o)
6111 
6112  def get_residue_indexes(self):
6113  r"""get_residue_indexes(Fragment self) -> IMP::Ints"""
6114  return _IMP_atom.Fragment_get_residue_indexes(self)
6115 
6116  def get_contains_residue(self, rindex):
6117  r"""get_contains_residue(Fragment self, int rindex) -> bool"""
6118  return _IMP_atom.Fragment_get_contains_residue(self, rindex)
6119 
6120  def get_contains_any_sorted_residue(self, rinds):
6121  r"""get_contains_any_sorted_residue(Fragment self, IMP::Ints const & rinds) -> bool"""
6122  return _IMP_atom.Fragment_get_contains_any_sorted_residue(self, rinds)
6123 
6124  def __init__(self, *args):
6125  r"""
6126  __init__(Fragment self) -> Fragment
6127  __init__(Fragment self, Model m, ParticleIndex id) -> Fragment
6128  __init__(Fragment self, _ParticleAdaptor d) -> Fragment
6129  """
6130  _IMP_atom.Fragment_swiginit(self, _IMP_atom.new_Fragment(*args))
6131 
6132  @staticmethod
6133  def get_is_setup(*args):
6134  r"""
6135  get_is_setup(Model m, ParticleIndex pi) -> bool
6136  get_is_setup(_ParticleAdaptor p) -> bool
6137  """
6138  return _IMP_atom.Fragment_get_is_setup(*args)
6139 
6140  def show(self, *args):
6141  r"""show(Fragment self, _ostream out=std::cout)"""
6142  return _IMP_atom.Fragment_show(self, *args)
6143 
6144  @staticmethod
6145  def setup_particle(*args):
6146  r"""
6147  setup_particle(Model m, ParticleIndex pi) -> Fragment
6148  setup_particle(_ParticleAdaptor pa) -> Fragment
6149  setup_particle(Model m, ParticleIndex pi, Fragment other) -> Fragment
6150  setup_particle(_ParticleAdaptor pa, Fragment other) -> Fragment
6151  setup_particle(Model m, ParticleIndex pi, IMP::Ints residue_indexes) -> Fragment
6152  setup_particle(_ParticleAdaptor pa, IMP::Ints residue_indexes) -> Fragment
6153  """
6154  return _IMP_atom.Fragment_setup_particle(*args)
6155 
6156  def add_attribute(self, *args):
6157  r"""
6158  add_attribute(Fragment self, FloatKey k, IMP::Float v, bool opt)
6159  add_attribute(Fragment self, FloatKey a0, IMP::Float a1)
6160  add_attribute(Fragment self, IntKey a0, IMP::Int a1)
6161  add_attribute(Fragment self, FloatsKey a0, IMP::Floats a1)
6162  add_attribute(Fragment self, IntsKey a0, IMP::Ints a1)
6163  add_attribute(Fragment self, StringKey a0, IMP::String a1)
6164  add_attribute(Fragment self, ParticleIndexKey a0, Particle a1)
6165  add_attribute(Fragment self, ObjectKey a0, Object a1)
6166  add_attribute(Fragment self, SparseFloatKey a0, IMP::Float a1)
6167  add_attribute(Fragment self, SparseIntKey a0, IMP::Int a1)
6168  add_attribute(Fragment self, SparseStringKey a0, IMP::String a1)
6169  add_attribute(Fragment self, SparseParticleIndexKey a0, ParticleIndex a1)
6170  """
6171  return _IMP_atom.Fragment_add_attribute(self, *args)
6172 
6173  def get_value(self, *args):
6174  r"""
6175  get_value(Fragment self, FloatKey a0) -> IMP::Float
6176  get_value(Fragment self, IntKey a0) -> IMP::Int
6177  get_value(Fragment self, FloatsKey a0) -> IMP::Floats
6178  get_value(Fragment self, IntsKey a0) -> IMP::Ints
6179  get_value(Fragment self, StringKey a0) -> IMP::String
6180  get_value(Fragment self, ParticleIndexKey a0) -> Particle
6181  get_value(Fragment self, ObjectKey a0) -> Object
6182  get_value(Fragment self, SparseFloatKey a0) -> IMP::Float
6183  get_value(Fragment self, SparseIntKey a0) -> IMP::Int
6184  get_value(Fragment self, SparseStringKey a0) -> IMP::String
6185  get_value(Fragment self, SparseParticleIndexKey a0) -> ParticleIndex
6186  """
6187  return _IMP_atom.Fragment_get_value(self, *args)
6188 
6189  def set_value(self, *args):
6190  r"""
6191  set_value(Fragment self, FloatKey a0, IMP::Float a1)
6192  set_value(Fragment self, IntKey a0, IMP::Int a1)
6193  set_value(Fragment self, FloatsKey a0, IMP::Floats a1)
6194  set_value(Fragment self, IntsKey a0, IMP::Ints a1)
6195  set_value(Fragment self, StringKey a0, IMP::String a1)
6196  set_value(Fragment self, ParticleIndexKey a0, Particle a1)
6197  set_value(Fragment self, ObjectKey a0, Object a1)
6198  set_value(Fragment self, SparseFloatKey a0, IMP::Float a1)
6199  set_value(Fragment self, SparseIntKey a0, IMP::Int a1)
6200  set_value(Fragment self, SparseStringKey a0, IMP::String a1)
6201  set_value(Fragment self, SparseParticleIndexKey a0, ParticleIndex a1)
6202  """
6203  return _IMP_atom.Fragment_set_value(self, *args)
6204 
6205  def remove_attribute(self, *args):
6206  r"""
6207  remove_attribute(Fragment self, FloatKey a0)
6208  remove_attribute(Fragment self, IntKey a0)
6209  remove_attribute(Fragment self, FloatsKey a0)
6210  remove_attribute(Fragment self, IntsKey a0)
6211  remove_attribute(Fragment self, StringKey a0)
6212  remove_attribute(Fragment self, ParticleIndexKey a0)
6213  remove_attribute(Fragment self, ObjectKey a0)
6214  remove_attribute(Fragment self, SparseFloatKey a0)
6215  remove_attribute(Fragment self, SparseIntKey a0)
6216  remove_attribute(Fragment self, SparseStringKey a0)
6217  remove_attribute(Fragment self, SparseParticleIndexKey a0)
6218  """
6219  return _IMP_atom.Fragment_remove_attribute(self, *args)
6220 
6221  def has_attribute(self, *args):
6222  r"""
6223  has_attribute(Fragment self, FloatKey a0) -> bool
6224  has_attribute(Fragment self, IntKey a0) -> bool
6225  has_attribute(Fragment self, FloatsKey a0) -> bool
6226  has_attribute(Fragment self, IntsKey a0) -> bool
6227  has_attribute(Fragment self, StringKey a0) -> bool
6228  has_attribute(Fragment self, ParticleIndexKey a0) -> bool
6229  has_attribute(Fragment self, ObjectKey a0) -> bool
6230  has_attribute(Fragment self, SparseFloatKey a0) -> bool
6231  has_attribute(Fragment self, SparseIntKey a0) -> bool
6232  has_attribute(Fragment self, SparseStringKey a0) -> bool
6233  has_attribute(Fragment self, SparseParticleIndexKey a0) -> bool
6234  """
6235  return _IMP_atom.Fragment_has_attribute(self, *args)
6236 
6237  def get_derivative(self, a0):
6238  r"""get_derivative(Fragment self, FloatKey a0) -> double"""
6239  return _IMP_atom.Fragment_get_derivative(self, a0)
6240 
6241  def get_name(self):
6242  r"""get_name(Fragment self) -> std::string"""
6243  return _IMP_atom.Fragment_get_name(self)
6244 
6245  def clear_caches(self):
6246  r"""clear_caches(Fragment self)"""
6247  return _IMP_atom.Fragment_clear_caches(self)
6248 
6249  def set_name(self, a0):
6250  r"""set_name(Fragment self, std::string a0)"""
6251  return _IMP_atom.Fragment_set_name(self, a0)
6252 
6253  def set_check_level(self, a0):
6254  r"""set_check_level(Fragment self, IMP::CheckLevel a0)"""
6255  return _IMP_atom.Fragment_set_check_level(self, a0)
6256 
6257  def add_to_derivative(self, a0, a1, a2):
6258  r"""add_to_derivative(Fragment self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
6259  return _IMP_atom.Fragment_add_to_derivative(self, a0, a1, a2)
6260 
6261  def set_is_optimized(self, a0, a1):
6262  r"""set_is_optimized(Fragment self, FloatKey a0, bool a1)"""
6263  return _IMP_atom.Fragment_set_is_optimized(self, a0, a1)
6264 
6265  def get_is_optimized(self, a0):
6266  r"""get_is_optimized(Fragment self, FloatKey a0) -> bool"""
6267  return _IMP_atom.Fragment_get_is_optimized(self, a0)
6268 
6269  def get_check_level(self):
6270  r"""get_check_level(Fragment self) -> IMP::CheckLevel"""
6271  return _IMP_atom.Fragment_get_check_level(self)
6272 
6273  def __eq__(self, *args):
6274  r"""
6275  __eq__(Fragment self, Fragment o) -> bool
6276  __eq__(Fragment self, Particle d) -> bool
6277  """
6278  return _IMP_atom.Fragment___eq__(self, *args)
6279 
6280  def __ne__(self, *args):
6281  r"""
6282  __ne__(Fragment self, Fragment o) -> bool
6283  __ne__(Fragment self, Particle d) -> bool
6284  """
6285  return _IMP_atom.Fragment___ne__(self, *args)
6286 
6287  def __le__(self, *args):
6288  r"""
6289  __le__(Fragment self, Fragment o) -> bool
6290  __le__(Fragment self, Particle d) -> bool
6291  """
6292  return _IMP_atom.Fragment___le__(self, *args)
6293 
6294  def __lt__(self, *args):
6295  r"""
6296  __lt__(Fragment self, Fragment o) -> bool
6297  __lt__(Fragment self, Particle d) -> bool
6298  """
6299  return _IMP_atom.Fragment___lt__(self, *args)
6300 
6301  def __ge__(self, *args):
6302  r"""
6303  __ge__(Fragment self, Fragment o) -> bool
6304  __ge__(Fragment self, Particle d) -> bool
6305  """
6306  return _IMP_atom.Fragment___ge__(self, *args)
6307 
6308  def __gt__(self, *args):
6309  r"""
6310  __gt__(Fragment self, Fragment o) -> bool
6311  __gt__(Fragment self, Particle d) -> bool
6312  """
6313  return _IMP_atom.Fragment___gt__(self, *args)
6314 
6315  def __hash__(self):
6316  r"""__hash__(Fragment self) -> std::size_t"""
6317  return _IMP_atom.Fragment___hash__(self)
6318 
6319  def __str__(self):
6320  r"""__str__(Fragment self) -> std::string"""
6321  return _IMP_atom.Fragment___str__(self)
6322 
6323  def __repr__(self):
6324  r"""__repr__(Fragment self) -> std::string"""
6325  return _IMP_atom.Fragment___repr__(self)
6326 
6327  def _get_as_binary(self):
6328  r"""_get_as_binary(Fragment self) -> PyObject *"""
6329  return _IMP_atom.Fragment__get_as_binary(self)
6330 
6331  def _set_from_binary(self, p):
6332  r"""_set_from_binary(Fragment self, PyObject * p)"""
6333  return _IMP_atom.Fragment__set_from_binary(self, p)
6334 
6335  def __getstate__(self):
6336  p = self._get_as_binary()
6337  if len(self.__dict__) > 1:
6338  d = self.__dict__.copy()
6339  del d['this']
6340  p = (d, p)
6341  return p
6342 
6343  def __setstate__(self, p):
6344  if not hasattr(self, 'this'):
6345  self.__init__()
6346  if isinstance(p, tuple):
6347  d, p = p
6348  self.__dict__.update(d)
6349  return self._set_from_binary(p)
6350 
6351  __swig_destroy__ = _IMP_atom.delete_Fragment
6352 
6353 # Register Fragment in _IMP_atom:
6354 _IMP_atom.Fragment_swigregister(Fragment)
6355 class StereochemistryPairFilter(IMP.PairPredicate):
6356  r"""Proxy of C++ IMP::atom::StereochemistryPairFilter class."""
6357 
6358  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6359 
6360  def __init__(self):
6361  r"""__init__(StereochemistryPairFilter self) -> StereochemistryPairFilter"""
6362  _IMP_atom.StereochemistryPairFilter_swiginit(self, _IMP_atom.new_StereochemistryPairFilter())
6363 
6364  def set_bonds(self, bonds):
6365  r"""set_bonds(StereochemistryPairFilter self, IMP::Particles const & bonds)"""
6366  return _IMP_atom.StereochemistryPairFilter_set_bonds(self, bonds)
6367 
6368  def set_angles(self, angles):
6369  r"""set_angles(StereochemistryPairFilter self, IMP::Particles const & angles)"""
6370  return _IMP_atom.StereochemistryPairFilter_set_angles(self, angles)
6371 
6372  def set_dihedrals(self, dihedrals):
6373  r"""set_dihedrals(StereochemistryPairFilter self, IMP::Particles const & dihedrals)"""
6374  return _IMP_atom.StereochemistryPairFilter_set_dihedrals(self, dihedrals)
6375 
6376  def do_get_inputs(self, m, pis):
6377  r"""do_get_inputs(StereochemistryPairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6378  return _IMP_atom.StereochemistryPairFilter_do_get_inputs(self, m, pis)
6379 
6380  def get_value(self, *args):
6381  r"""
6382  get_value(StereochemistryPairFilter self, IMP::ParticlePair const & a) -> int
6383  get_value(StereochemistryPairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
6384  """
6385  return _IMP_atom.StereochemistryPairFilter_get_value(self, *args)
6386 
6387  def get_value_index(self, *args):
6388  r"""
6389  get_value_index(StereochemistryPairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
6390  get_value_index(StereochemistryPairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
6391  """
6392  return _IMP_atom.StereochemistryPairFilter_get_value_index(self, *args)
6393 
6394  def get_version_info(self):
6395  r"""get_version_info(StereochemistryPairFilter self) -> VersionInfo"""
6396  return _IMP_atom.StereochemistryPairFilter_get_version_info(self)
6397  __swig_destroy__ = _IMP_atom.delete_StereochemistryPairFilter
6398 
6399  def __str__(self):
6400  r"""__str__(StereochemistryPairFilter self) -> std::string"""
6401  return _IMP_atom.StereochemistryPairFilter___str__(self)
6402 
6403  def __repr__(self):
6404  r"""__repr__(StereochemistryPairFilter self) -> std::string"""
6405  return _IMP_atom.StereochemistryPairFilter___repr__(self)
6406 
6407  @staticmethod
6408  def get_from(o):
6409  return _object_cast_to_StereochemistryPairFilter(o)
6410 
6411 
6412 # Register StereochemistryPairFilter in _IMP_atom:
6413 _IMP_atom.StereochemistryPairFilter_swigregister(StereochemistryPairFilter)
6414 class SoapPairFilter(IMP.PairPredicate):
6415  r"""Proxy of C++ IMP::atom::SoapPairFilter class."""
6416 
6417  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6418 
6419  def __init__(self, library):
6420  r"""__init__(SoapPairFilter self, std::string library) -> SoapPairFilter"""
6421  _IMP_atom.SoapPairFilter_swiginit(self, _IMP_atom.new_SoapPairFilter(library))
6422 
6423  def do_get_inputs(self, m, pis):
6424  r"""do_get_inputs(SoapPairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6425  return _IMP_atom.SoapPairFilter_do_get_inputs(self, m, pis)
6426 
6427  def get_value(self, *args):
6428  r"""
6429  get_value(SoapPairFilter self, IMP::ParticlePair const & a) -> int
6430  get_value(SoapPairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
6431  """
6432  return _IMP_atom.SoapPairFilter_get_value(self, *args)
6433 
6434  def get_value_index(self, *args):
6435  r"""
6436  get_value_index(SoapPairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
6437  get_value_index(SoapPairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
6438  """
6439  return _IMP_atom.SoapPairFilter_get_value_index(self, *args)
6440 
6441  def get_version_info(self):
6442  r"""get_version_info(SoapPairFilter self) -> VersionInfo"""
6443  return _IMP_atom.SoapPairFilter_get_version_info(self)
6444  __swig_destroy__ = _IMP_atom.delete_SoapPairFilter
6445 
6446  def __str__(self):
6447  r"""__str__(SoapPairFilter self) -> std::string"""
6448  return _IMP_atom.SoapPairFilter___str__(self)
6449 
6450  def __repr__(self):
6451  r"""__repr__(SoapPairFilter self) -> std::string"""
6452  return _IMP_atom.SoapPairFilter___repr__(self)
6453 
6454  @staticmethod
6455  def get_from(o):
6456  return _object_cast_to_SoapPairFilter(o)
6457 
6458 
6459 # Register SoapPairFilter in _IMP_atom:
6460 _IMP_atom.SoapPairFilter_swigregister(SoapPairFilter)
6461 class Mass(IMP.Decorator):
6462  r"""Proxy of C++ IMP::atom::Mass class."""
6463 
6464  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6465 
6466  def get_mass(self):
6467  r"""get_mass(Mass self) -> IMP::Float"""
6468  return _IMP_atom.Mass_get_mass(self)
6469 
6470  def set_mass(self, d):
6471  r"""set_mass(Mass self, IMP::Float d)"""
6472  return _IMP_atom.Mass_set_mass(self, d)
6473 
6474  def __init__(self, *args):
6475  r"""
6476  __init__(Mass self) -> Mass
6477  __init__(Mass self, Model m, ParticleIndex id) -> Mass
6478  __init__(Mass self, _ParticleAdaptor d) -> Mass
6479  """
6480  _IMP_atom.Mass_swiginit(self, _IMP_atom.new_Mass(*args))
6481 
6482  @staticmethod
6483  def get_is_setup(*args):
6484  r"""
6485  get_is_setup(Model m, ParticleIndex pi) -> bool
6486  get_is_setup(_ParticleAdaptor p) -> bool
6487  """
6488  return _IMP_atom.Mass_get_is_setup(*args)
6489 
6490  def show(self, *args):
6491  r"""show(Mass self, _ostream out=std::cout)"""
6492  return _IMP_atom.Mass_show(self, *args)
6493 
6494  @staticmethod
6495  def setup_particle(*args):
6496  r"""
6497  setup_particle(Model m, ParticleIndex pi, IMP::Float mass) -> Mass
6498  setup_particle(_ParticleAdaptor pa, IMP::Float mass) -> Mass
6499  setup_particle(Model m, ParticleIndex pi, Mass other) -> Mass
6500  setup_particle(_ParticleAdaptor pa, Mass other) -> Mass
6501  """
6502  return _IMP_atom.Mass_setup_particle(*args)
6503 
6504  @staticmethod
6505  def get_mass_key():
6506  r"""get_mass_key() -> FloatKey"""
6507  return _IMP_atom.Mass_get_mass_key()
6508 
6509  def add_attribute(self, *args):
6510  r"""
6511  add_attribute(Mass self, FloatKey k, IMP::Float v, bool opt)
6512  add_attribute(Mass self, FloatKey a0, IMP::Float a1)
6513  add_attribute(Mass self, IntKey a0, IMP::Int a1)
6514  add_attribute(Mass self, FloatsKey a0, IMP::Floats a1)
6515  add_attribute(Mass self, IntsKey a0, IMP::Ints a1)
6516  add_attribute(Mass self, StringKey a0, IMP::String a1)
6517  add_attribute(Mass self, ParticleIndexKey a0, Particle a1)
6518  add_attribute(Mass self, ObjectKey a0, Object a1)
6519  add_attribute(Mass self, SparseFloatKey a0, IMP::Float a1)
6520  add_attribute(Mass self, SparseIntKey a0, IMP::Int a1)
6521  add_attribute(Mass self, SparseStringKey a0, IMP::String a1)
6522  add_attribute(Mass self, SparseParticleIndexKey a0, ParticleIndex a1)
6523  """
6524  return _IMP_atom.Mass_add_attribute(self, *args)
6525 
6526  def get_value(self, *args):
6527  r"""
6528  get_value(Mass self, FloatKey a0) -> IMP::Float
6529  get_value(Mass self, IntKey a0) -> IMP::Int
6530  get_value(Mass self, FloatsKey a0) -> IMP::Floats
6531  get_value(Mass self, IntsKey a0) -> IMP::Ints
6532  get_value(Mass self, StringKey a0) -> IMP::String
6533  get_value(Mass self, ParticleIndexKey a0) -> Particle
6534  get_value(Mass self, ObjectKey a0) -> Object
6535  get_value(Mass self, SparseFloatKey a0) -> IMP::Float
6536  get_value(Mass self, SparseIntKey a0) -> IMP::Int
6537  get_value(Mass self, SparseStringKey a0) -> IMP::String
6538  get_value(Mass self, SparseParticleIndexKey a0) -> ParticleIndex
6539  """
6540  return _IMP_atom.Mass_get_value(self, *args)
6541 
6542  def set_value(self, *args):
6543  r"""
6544  set_value(Mass self, FloatKey a0, IMP::Float a1)
6545  set_value(Mass self, IntKey a0, IMP::Int a1)
6546  set_value(Mass self, FloatsKey a0, IMP::Floats a1)
6547  set_value(Mass self, IntsKey a0, IMP::Ints a1)
6548  set_value(Mass self, StringKey a0, IMP::String a1)
6549  set_value(Mass self, ParticleIndexKey a0, Particle a1)
6550  set_value(Mass self, ObjectKey a0, Object a1)
6551  set_value(Mass self, SparseFloatKey a0, IMP::Float a1)
6552  set_value(Mass self, SparseIntKey a0, IMP::Int a1)
6553  set_value(Mass self, SparseStringKey a0, IMP::String a1)
6554  set_value(Mass self, SparseParticleIndexKey a0, ParticleIndex a1)
6555  """
6556  return _IMP_atom.Mass_set_value(self, *args)
6557 
6558  def remove_attribute(self, *args):
6559  r"""
6560  remove_attribute(Mass self, FloatKey a0)
6561  remove_attribute(Mass self, IntKey a0)
6562  remove_attribute(Mass self, FloatsKey a0)
6563  remove_attribute(Mass self, IntsKey a0)
6564  remove_attribute(Mass self, StringKey a0)
6565  remove_attribute(Mass self, ParticleIndexKey a0)
6566  remove_attribute(Mass self, ObjectKey a0)
6567  remove_attribute(Mass self, SparseFloatKey a0)
6568  remove_attribute(Mass self, SparseIntKey a0)
6569  remove_attribute(Mass self, SparseStringKey a0)
6570  remove_attribute(Mass self, SparseParticleIndexKey a0)
6571  """
6572  return _IMP_atom.Mass_remove_attribute(self, *args)
6573 
6574  def has_attribute(self, *args):
6575  r"""
6576  has_attribute(Mass self, FloatKey a0) -> bool
6577  has_attribute(Mass self, IntKey a0) -> bool
6578  has_attribute(Mass self, FloatsKey a0) -> bool
6579  has_attribute(Mass self, IntsKey a0) -> bool
6580  has_attribute(Mass self, StringKey a0) -> bool
6581  has_attribute(Mass self, ParticleIndexKey a0) -> bool
6582  has_attribute(Mass self, ObjectKey a0) -> bool
6583  has_attribute(Mass self, SparseFloatKey a0) -> bool
6584  has_attribute(Mass self, SparseIntKey a0) -> bool
6585  has_attribute(Mass self, SparseStringKey a0) -> bool
6586  has_attribute(Mass self, SparseParticleIndexKey a0) -> bool
6587  """
6588  return _IMP_atom.Mass_has_attribute(self, *args)
6589 
6590  def get_derivative(self, a0):
6591  r"""get_derivative(Mass self, FloatKey a0) -> double"""
6592  return _IMP_atom.Mass_get_derivative(self, a0)
6593 
6594  def get_name(self):
6595  r"""get_name(Mass self) -> std::string"""
6596  return _IMP_atom.Mass_get_name(self)
6597 
6598  def clear_caches(self):
6599  r"""clear_caches(Mass self)"""
6600  return _IMP_atom.Mass_clear_caches(self)
6601 
6602  def set_name(self, a0):
6603  r"""set_name(Mass self, std::string a0)"""
6604  return _IMP_atom.Mass_set_name(self, a0)
6605 
6606  def set_check_level(self, a0):
6607  r"""set_check_level(Mass self, IMP::CheckLevel a0)"""
6608  return _IMP_atom.Mass_set_check_level(self, a0)
6609 
6610  def add_to_derivative(self, a0, a1, a2):
6611  r"""add_to_derivative(Mass self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
6612  return _IMP_atom.Mass_add_to_derivative(self, a0, a1, a2)
6613 
6614  def set_is_optimized(self, a0, a1):
6615  r"""set_is_optimized(Mass self, FloatKey a0, bool a1)"""
6616  return _IMP_atom.Mass_set_is_optimized(self, a0, a1)
6617 
6618  def get_is_optimized(self, a0):
6619  r"""get_is_optimized(Mass self, FloatKey a0) -> bool"""
6620  return _IMP_atom.Mass_get_is_optimized(self, a0)
6621 
6622  def get_check_level(self):
6623  r"""get_check_level(Mass self) -> IMP::CheckLevel"""
6624  return _IMP_atom.Mass_get_check_level(self)
6625 
6626  def __eq__(self, *args):
6627  r"""
6628  __eq__(Mass self, Mass o) -> bool
6629  __eq__(Mass self, Particle d) -> bool
6630  """
6631  return _IMP_atom.Mass___eq__(self, *args)
6632 
6633  def __ne__(self, *args):
6634  r"""
6635  __ne__(Mass self, Mass o) -> bool
6636  __ne__(Mass self, Particle d) -> bool
6637  """
6638  return _IMP_atom.Mass___ne__(self, *args)
6639 
6640  def __le__(self, *args):
6641  r"""
6642  __le__(Mass self, Mass o) -> bool
6643  __le__(Mass self, Particle d) -> bool
6644  """
6645  return _IMP_atom.Mass___le__(self, *args)
6646 
6647  def __lt__(self, *args):
6648  r"""
6649  __lt__(Mass self, Mass o) -> bool
6650  __lt__(Mass self, Particle d) -> bool
6651  """
6652  return _IMP_atom.Mass___lt__(self, *args)
6653 
6654  def __ge__(self, *args):
6655  r"""
6656  __ge__(Mass self, Mass o) -> bool
6657  __ge__(Mass self, Particle d) -> bool
6658  """
6659  return _IMP_atom.Mass___ge__(self, *args)
6660 
6661  def __gt__(self, *args):
6662  r"""
6663  __gt__(Mass self, Mass o) -> bool
6664  __gt__(Mass self, Particle d) -> bool
6665  """
6666  return _IMP_atom.Mass___gt__(self, *args)
6667 
6668  def __hash__(self):
6669  r"""__hash__(Mass self) -> std::size_t"""
6670  return _IMP_atom.Mass___hash__(self)
6671 
6672  def __str__(self):
6673  r"""__str__(Mass self) -> std::string"""
6674  return _IMP_atom.Mass___str__(self)
6675 
6676  def __repr__(self):
6677  r"""__repr__(Mass self) -> std::string"""
6678  return _IMP_atom.Mass___repr__(self)
6679 
6680  def _get_as_binary(self):
6681  r"""_get_as_binary(Mass self) -> PyObject *"""
6682  return _IMP_atom.Mass__get_as_binary(self)
6683 
6684  def _set_from_binary(self, p):
6685  r"""_set_from_binary(Mass self, PyObject * p)"""
6686  return _IMP_atom.Mass__set_from_binary(self, p)
6687 
6688  def __getstate__(self):
6689  p = self._get_as_binary()
6690  if len(self.__dict__) > 1:
6691  d = self.__dict__.copy()
6692  del d['this']
6693  p = (d, p)
6694  return p
6695 
6696  def __setstate__(self, p):
6697  if not hasattr(self, 'this'):
6698  self.__init__()
6699  if isinstance(p, tuple):
6700  d, p = p
6701  self.__dict__.update(d)
6702  return self._set_from_binary(p)
6703 
6704  __swig_destroy__ = _IMP_atom.delete_Mass
6705 
6706 # Register Mass in _IMP_atom:
6707 _IMP_atom.Mass_swigregister(Mass)
6708 class BondedPairFilter(IMP.PairPredicate):
6709  r"""Proxy of C++ IMP::atom::BondedPairFilter class."""
6710 
6711  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6712 
6713  def __init__(self):
6714  r"""__init__(BondedPairFilter self) -> BondedPairFilter"""
6715  _IMP_atom.BondedPairFilter_swiginit(self, _IMP_atom.new_BondedPairFilter())
6716 
6717  def do_get_inputs(self, m, pis):
6718  r"""do_get_inputs(BondedPairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6719  return _IMP_atom.BondedPairFilter_do_get_inputs(self, m, pis)
6720 
6721  def get_value(self, *args):
6722  r"""
6723  get_value(BondedPairFilter self, IMP::ParticlePair const & a) -> int
6724  get_value(BondedPairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
6725  """
6726  return _IMP_atom.BondedPairFilter_get_value(self, *args)
6727 
6728  def get_value_index(self, *args):
6729  r"""
6730  get_value_index(BondedPairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
6731  get_value_index(BondedPairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
6732  """
6733  return _IMP_atom.BondedPairFilter_get_value_index(self, *args)
6734 
6735  def get_version_info(self):
6736  r"""get_version_info(BondedPairFilter self) -> VersionInfo"""
6737  return _IMP_atom.BondedPairFilter_get_version_info(self)
6738  __swig_destroy__ = _IMP_atom.delete_BondedPairFilter
6739 
6740  def __str__(self):
6741  r"""__str__(BondedPairFilter self) -> std::string"""
6742  return _IMP_atom.BondedPairFilter___str__(self)
6743 
6744  def __repr__(self):
6745  r"""__repr__(BondedPairFilter self) -> std::string"""
6746  return _IMP_atom.BondedPairFilter___repr__(self)
6747 
6748  @staticmethod
6749  def get_from(o):
6750  return _object_cast_to_BondedPairFilter(o)
6751 
6752 
6753 # Register BondedPairFilter in _IMP_atom:
6754 _IMP_atom.BondedPairFilter_swigregister(BondedPairFilter)
6755 class Mol2Selector(IMP.Object):
6756  r"""Proxy of C++ IMP::atom::Mol2Selector class."""
6757 
6758  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6759 
6760  def __init__(self, *args, **kwargs):
6761  raise AttributeError("No constructor defined - class is abstract")
6762 
6763  def get_is_selected(self, atom_line):
6764  r"""get_is_selected(Mol2Selector self, std::string const & atom_line) -> bool"""
6765  return _IMP_atom.Mol2Selector_get_is_selected(self, atom_line)
6766  __swig_destroy__ = _IMP_atom.delete_Mol2Selector
6767 
6768  def __str__(self):
6769  r"""__str__(Mol2Selector self) -> std::string"""
6770  return _IMP_atom.Mol2Selector___str__(self)
6771 
6772  def __repr__(self):
6773  r"""__repr__(Mol2Selector self) -> std::string"""
6774  return _IMP_atom.Mol2Selector___repr__(self)
6775 
6776  @staticmethod
6777  def get_from(o):
6778  return _object_cast_to_Mol2Selector(o)
6779 
6780 
6781 # Register Mol2Selector in _IMP_atom:
6782 _IMP_atom.Mol2Selector_swigregister(Mol2Selector)
6783 class AllMol2Selector(Mol2Selector):
6784  r"""Proxy of C++ IMP::atom::AllMol2Selector class."""
6785 
6786  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6787 
6788  def __str__(self):
6789  r"""__str__(AllMol2Selector self) -> std::string"""
6790  return _IMP_atom.AllMol2Selector___str__(self)
6791 
6792  def __repr__(self):
6793  r"""__repr__(AllMol2Selector self) -> std::string"""
6794  return _IMP_atom.AllMol2Selector___repr__(self)
6795 
6796  @staticmethod
6797  def get_from(o):
6798  return _object_cast_to_AllMol2Selector(o)
6799 
6800 
6801  def __init__(self):
6802  r"""__init__(AllMol2Selector self) -> AllMol2Selector"""
6803  _IMP_atom.AllMol2Selector_swiginit(self, _IMP_atom.new_AllMol2Selector())
6804  __swig_destroy__ = _IMP_atom.delete_AllMol2Selector
6805 
6806 # Register AllMol2Selector in _IMP_atom:
6807 _IMP_atom.AllMol2Selector_swigregister(AllMol2Selector)
6808 class NonHydrogenMol2Selector(Mol2Selector):
6809  r"""Proxy of C++ IMP::atom::NonHydrogenMol2Selector class."""
6810 
6811  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6812 
6813  def __str__(self):
6814  r"""__str__(NonHydrogenMol2Selector self) -> std::string"""
6815  return _IMP_atom.NonHydrogenMol2Selector___str__(self)
6816 
6817  def __repr__(self):
6818  r"""__repr__(NonHydrogenMol2Selector self) -> std::string"""
6819  return _IMP_atom.NonHydrogenMol2Selector___repr__(self)
6820 
6821  @staticmethod
6822  def get_from(o):
6823  return _object_cast_to_NonHydrogenMol2Selector(o)
6824 
6825 
6826  def __init__(self):
6827  r"""__init__(NonHydrogenMol2Selector self) -> NonHydrogenMol2Selector"""
6828  _IMP_atom.NonHydrogenMol2Selector_swiginit(self, _IMP_atom.new_NonHydrogenMol2Selector())
6829  __swig_destroy__ = _IMP_atom.delete_NonHydrogenMol2Selector
6830 
6831 # Register NonHydrogenMol2Selector in _IMP_atom:
6832 _IMP_atom.NonHydrogenMol2Selector_swigregister(NonHydrogenMol2Selector)
6833 
6834 def read_mol2(mol2_file, model, mol2sel=None):
6835  r"""read_mol2(TextInput mol2_file, Model model, Mol2Selector mol2sel=None) -> Hierarchy"""
6836  return _IMP_atom.read_mol2(mol2_file, model, mol2sel)
6837 
6838 def write_mol2(rhd, file_name):
6839  r"""write_mol2(Hierarchy rhd, TextOutput file_name)"""
6840  return _IMP_atom.write_mol2(rhd, file_name)
6841 class SecondaryStructureResidue(IMP.Decorator):
6842  r"""Proxy of C++ IMP::atom::SecondaryStructureResidue class."""
6843 
6844  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6845 
6846  def __init__(self, *args):
6847  r"""
6848  __init__(SecondaryStructureResidue self) -> SecondaryStructureResidue
6849  __init__(SecondaryStructureResidue self, Model m, ParticleIndex id) -> SecondaryStructureResidue
6850  __init__(SecondaryStructureResidue self, _ParticleAdaptor d) -> SecondaryStructureResidue
6851  """
6852  _IMP_atom.SecondaryStructureResidue_swiginit(self, _IMP_atom.new_SecondaryStructureResidue(*args))
6853 
6854  def show(self, *args):
6855  r"""show(SecondaryStructureResidue self, _ostream out=std::cout)"""
6856  return _IMP_atom.SecondaryStructureResidue_show(self, *args)
6857 
6858  @staticmethod
6859  def setup_particle(*args):
6860  r"""
6861  setup_particle(Model m, ParticleIndex pi, IMP::Float prob_helix, IMP::Float prob_strand, IMP::Float prob_coil) -> SecondaryStructureResidue
6862  setup_particle(_ParticleAdaptor pa, IMP::Float prob_helix, IMP::Float prob_strand, IMP::Float prob_coil) -> SecondaryStructureResidue
6863  setup_particle(Particle res_p) -> SecondaryStructureResidue
6864  """
6865  return _IMP_atom.SecondaryStructureResidue_setup_particle(*args)
6866 
6867  @staticmethod
6868  def get_is_setup(*args):
6869  r"""
6870  get_is_setup(_ParticleAdaptor p) -> bool
6871  get_is_setup(Model m, ParticleIndex pi) -> bool
6872  """
6873  return _IMP_atom.SecondaryStructureResidue_get_is_setup(*args)
6874 
6875  def get_particle(self):
6876  r"""get_particle(SecondaryStructureResidue self) -> Particle"""
6877  return _IMP_atom.SecondaryStructureResidue_get_particle(self)
6878 
6879  def get_all_probabilities(self):
6880  r"""get_all_probabilities(SecondaryStructureResidue self) -> IMP::Floats"""
6881  return _IMP_atom.SecondaryStructureResidue_get_all_probabilities(self)
6882 
6883  def get_prob_helix(self):
6884  r"""get_prob_helix(SecondaryStructureResidue self) -> IMP::Float"""
6885  return _IMP_atom.SecondaryStructureResidue_get_prob_helix(self)
6886 
6887  def set_prob_helix(self, t):
6888  r"""set_prob_helix(SecondaryStructureResidue self, IMP::Float t)"""
6889  return _IMP_atom.SecondaryStructureResidue_set_prob_helix(self, t)
6890 
6891  def get_prob_strand(self):
6892  r"""get_prob_strand(SecondaryStructureResidue self) -> IMP::Float"""
6893  return _IMP_atom.SecondaryStructureResidue_get_prob_strand(self)
6894 
6895  def set_prob_strand(self, t):
6896  r"""set_prob_strand(SecondaryStructureResidue self, IMP::Float t)"""
6897  return _IMP_atom.SecondaryStructureResidue_set_prob_strand(self, t)
6898 
6899  def get_prob_coil(self):
6900  r"""get_prob_coil(SecondaryStructureResidue self) -> IMP::Float"""
6901  return _IMP_atom.SecondaryStructureResidue_get_prob_coil(self)
6902 
6903  def set_prob_coil(self, t):
6904  r"""set_prob_coil(SecondaryStructureResidue self, IMP::Float t)"""
6905  return _IMP_atom.SecondaryStructureResidue_set_prob_coil(self, t)
6906 
6907  @staticmethod
6908  def get_prob_helix_key():
6909  r"""get_prob_helix_key() -> FloatKey"""
6910  return _IMP_atom.SecondaryStructureResidue_get_prob_helix_key()
6911 
6912  @staticmethod
6913  def get_prob_strand_key():
6914  r"""get_prob_strand_key() -> FloatKey"""
6915  return _IMP_atom.SecondaryStructureResidue_get_prob_strand_key()
6916 
6917  @staticmethod
6918  def get_prob_coil_key():
6919  r"""get_prob_coil_key() -> FloatKey"""
6920  return _IMP_atom.SecondaryStructureResidue_get_prob_coil_key()
6921 
6922  def add_attribute(self, *args):
6923  r"""
6924  add_attribute(SecondaryStructureResidue self, FloatKey k, IMP::Float v, bool opt)
6925  add_attribute(SecondaryStructureResidue self, FloatKey a0, IMP::Float a1)
6926  add_attribute(SecondaryStructureResidue self, IntKey a0, IMP::Int a1)
6927  add_attribute(SecondaryStructureResidue self, FloatsKey a0, IMP::Floats a1)
6928  add_attribute(SecondaryStructureResidue self, IntsKey a0, IMP::Ints a1)
6929  add_attribute(SecondaryStructureResidue self, StringKey a0, IMP::String a1)
6930  add_attribute(SecondaryStructureResidue self, ParticleIndexKey a0, Particle a1)
6931  add_attribute(SecondaryStructureResidue self, ObjectKey a0, Object a1)
6932  add_attribute(SecondaryStructureResidue self, SparseFloatKey a0, IMP::Float a1)
6933  add_attribute(SecondaryStructureResidue self, SparseIntKey a0, IMP::Int a1)
6934  add_attribute(SecondaryStructureResidue self, SparseStringKey a0, IMP::String a1)
6935  add_attribute(SecondaryStructureResidue self, SparseParticleIndexKey a0, ParticleIndex a1)
6936  """
6937  return _IMP_atom.SecondaryStructureResidue_add_attribute(self, *args)
6938 
6939  def get_value(self, *args):
6940  r"""
6941  get_value(SecondaryStructureResidue self, FloatKey a0) -> IMP::Float
6942  get_value(SecondaryStructureResidue self, IntKey a0) -> IMP::Int
6943  get_value(SecondaryStructureResidue self, FloatsKey a0) -> IMP::Floats
6944  get_value(SecondaryStructureResidue self, IntsKey a0) -> IMP::Ints
6945  get_value(SecondaryStructureResidue self, StringKey a0) -> IMP::String
6946  get_value(SecondaryStructureResidue self, ParticleIndexKey a0) -> Particle
6947  get_value(SecondaryStructureResidue self, ObjectKey a0) -> Object
6948  get_value(SecondaryStructureResidue self, SparseFloatKey a0) -> IMP::Float
6949  get_value(SecondaryStructureResidue self, SparseIntKey a0) -> IMP::Int
6950  get_value(SecondaryStructureResidue self, SparseStringKey a0) -> IMP::String
6951  get_value(SecondaryStructureResidue self, SparseParticleIndexKey a0) -> ParticleIndex
6952  """
6953  return _IMP_atom.SecondaryStructureResidue_get_value(self, *args)
6954 
6955  def set_value(self, *args):
6956  r"""
6957  set_value(SecondaryStructureResidue self, FloatKey a0, IMP::Float a1)
6958  set_value(SecondaryStructureResidue self, IntKey a0, IMP::Int a1)
6959  set_value(SecondaryStructureResidue self, FloatsKey a0, IMP::Floats a1)
6960  set_value(SecondaryStructureResidue self, IntsKey a0, IMP::Ints a1)
6961  set_value(SecondaryStructureResidue self, StringKey a0, IMP::String a1)
6962  set_value(SecondaryStructureResidue self, ParticleIndexKey a0, Particle a1)
6963  set_value(SecondaryStructureResidue self, ObjectKey a0, Object a1)
6964  set_value(SecondaryStructureResidue self, SparseFloatKey a0, IMP::Float a1)
6965  set_value(SecondaryStructureResidue self, SparseIntKey a0, IMP::Int a1)
6966  set_value(SecondaryStructureResidue self, SparseStringKey a0, IMP::String a1)
6967  set_value(SecondaryStructureResidue self, SparseParticleIndexKey a0, ParticleIndex a1)
6968  """
6969  return _IMP_atom.SecondaryStructureResidue_set_value(self, *args)
6970 
6971  def remove_attribute(self, *args):
6972  r"""
6973  remove_attribute(SecondaryStructureResidue self, FloatKey a0)
6974  remove_attribute(SecondaryStructureResidue self, IntKey a0)
6975  remove_attribute(SecondaryStructureResidue self, FloatsKey a0)
6976  remove_attribute(SecondaryStructureResidue self, IntsKey a0)
6977  remove_attribute(SecondaryStructureResidue self, StringKey a0)
6978  remove_attribute(SecondaryStructureResidue self, ParticleIndexKey a0)
6979  remove_attribute(SecondaryStructureResidue self, ObjectKey a0)
6980  remove_attribute(SecondaryStructureResidue self, SparseFloatKey a0)
6981  remove_attribute(SecondaryStructureResidue self, SparseIntKey a0)
6982  remove_attribute(SecondaryStructureResidue self, SparseStringKey a0)
6983  remove_attribute(SecondaryStructureResidue self, SparseParticleIndexKey a0)
6984  """
6985  return _IMP_atom.SecondaryStructureResidue_remove_attribute(self, *args)
6986 
6987  def has_attribute(self, *args):
6988  r"""
6989  has_attribute(SecondaryStructureResidue self, FloatKey a0) -> bool
6990  has_attribute(SecondaryStructureResidue self, IntKey a0) -> bool
6991  has_attribute(SecondaryStructureResidue self, FloatsKey a0) -> bool
6992  has_attribute(SecondaryStructureResidue self, IntsKey a0) -> bool
6993  has_attribute(SecondaryStructureResidue self, StringKey a0) -> bool
6994  has_attribute(SecondaryStructureResidue self, ParticleIndexKey a0) -> bool
6995  has_attribute(SecondaryStructureResidue self, ObjectKey a0) -> bool
6996  has_attribute(SecondaryStructureResidue self, SparseFloatKey a0) -> bool
6997  has_attribute(SecondaryStructureResidue self, SparseIntKey a0) -> bool
6998  has_attribute(SecondaryStructureResidue self, SparseStringKey a0) -> bool
6999  has_attribute(SecondaryStructureResidue self, SparseParticleIndexKey a0) -> bool
7000  """
7001  return _IMP_atom.SecondaryStructureResidue_has_attribute(self, *args)
7002 
7003  def get_derivative(self, a0):
7004  r"""get_derivative(SecondaryStructureResidue self, FloatKey a0) -> double"""
7005  return _IMP_atom.SecondaryStructureResidue_get_derivative(self, a0)
7006 
7007  def get_name(self):
7008  r"""get_name(SecondaryStructureResidue self) -> std::string"""
7009  return _IMP_atom.SecondaryStructureResidue_get_name(self)
7010 
7011  def clear_caches(self):
7012  r"""clear_caches(SecondaryStructureResidue self)"""
7013  return _IMP_atom.SecondaryStructureResidue_clear_caches(self)
7014 
7015  def set_name(self, a0):
7016  r"""set_name(SecondaryStructureResidue self, std::string a0)"""
7017  return _IMP_atom.SecondaryStructureResidue_set_name(self, a0)
7018 
7019  def set_check_level(self, a0):
7020  r"""set_check_level(SecondaryStructureResidue self, IMP::CheckLevel a0)"""
7021  return _IMP_atom.SecondaryStructureResidue_set_check_level(self, a0)
7022 
7023  def add_to_derivative(self, a0, a1, a2):
7024  r"""add_to_derivative(SecondaryStructureResidue self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
7025  return _IMP_atom.SecondaryStructureResidue_add_to_derivative(self, a0, a1, a2)
7026 
7027  def set_is_optimized(self, a0, a1):
7028  r"""set_is_optimized(SecondaryStructureResidue self, FloatKey a0, bool a1)"""
7029  return _IMP_atom.SecondaryStructureResidue_set_is_optimized(self, a0, a1)
7030 
7031  def get_is_optimized(self, a0):
7032  r"""get_is_optimized(SecondaryStructureResidue self, FloatKey a0) -> bool"""
7033  return _IMP_atom.SecondaryStructureResidue_get_is_optimized(self, a0)
7034 
7035  def get_check_level(self):
7036  r"""get_check_level(SecondaryStructureResidue self) -> IMP::CheckLevel"""
7037  return _IMP_atom.SecondaryStructureResidue_get_check_level(self)
7038 
7039  def __eq__(self, *args):
7040  r"""
7041  __eq__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
7042  __eq__(SecondaryStructureResidue self, Particle d) -> bool
7043  """
7044  return _IMP_atom.SecondaryStructureResidue___eq__(self, *args)
7045 
7046  def __ne__(self, *args):
7047  r"""
7048  __ne__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
7049  __ne__(SecondaryStructureResidue self, Particle d) -> bool
7050  """
7051  return _IMP_atom.SecondaryStructureResidue___ne__(self, *args)
7052 
7053  def __le__(self, *args):
7054  r"""
7055  __le__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
7056  __le__(SecondaryStructureResidue self, Particle d) -> bool
7057  """
7058  return _IMP_atom.SecondaryStructureResidue___le__(self, *args)
7059 
7060  def __lt__(self, *args):
7061  r"""
7062  __lt__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
7063  __lt__(SecondaryStructureResidue self, Particle d) -> bool
7064  """
7065  return _IMP_atom.SecondaryStructureResidue___lt__(self, *args)
7066 
7067  def __ge__(self, *args):
7068  r"""
7069  __ge__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
7070  __ge__(SecondaryStructureResidue self, Particle d) -> bool
7071  """
7072  return _IMP_atom.SecondaryStructureResidue___ge__(self, *args)
7073 
7074  def __gt__(self, *args):
7075  r"""
7076  __gt__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
7077  __gt__(SecondaryStructureResidue self, Particle d) -> bool
7078  """
7079  return _IMP_atom.SecondaryStructureResidue___gt__(self, *args)
7080 
7081  def __hash__(self):
7082  r"""__hash__(SecondaryStructureResidue self) -> std::size_t"""
7083  return _IMP_atom.SecondaryStructureResidue___hash__(self)
7084 
7085  def __str__(self):
7086  r"""__str__(SecondaryStructureResidue self) -> std::string"""
7087  return _IMP_atom.SecondaryStructureResidue___str__(self)
7088 
7089  def __repr__(self):
7090  r"""__repr__(SecondaryStructureResidue self) -> std::string"""
7091  return _IMP_atom.SecondaryStructureResidue___repr__(self)
7092 
7093  def _get_as_binary(self):
7094  r"""_get_as_binary(SecondaryStructureResidue self) -> PyObject *"""
7095  return _IMP_atom.SecondaryStructureResidue__get_as_binary(self)
7096 
7097  def _set_from_binary(self, p):
7098  r"""_set_from_binary(SecondaryStructureResidue self, PyObject * p)"""
7099  return _IMP_atom.SecondaryStructureResidue__set_from_binary(self, p)
7100 
7101  def __getstate__(self):
7102  p = self._get_as_binary()
7103  if len(self.__dict__) > 1:
7104  d = self.__dict__.copy()
7105  del d['this']
7106  p = (d, p)
7107  return p
7108 
7109  def __setstate__(self, p):
7110  if not hasattr(self, 'this'):
7111  self.__init__()
7112  if isinstance(p, tuple):
7113  d, p = p
7114  self.__dict__.update(d)
7115  return self._set_from_binary(p)
7116 
7117  __swig_destroy__ = _IMP_atom.delete_SecondaryStructureResidue
7118 
7119 # Register SecondaryStructureResidue in _IMP_atom:
7120 _IMP_atom.SecondaryStructureResidue_swigregister(SecondaryStructureResidue)
7121 
7122 def setup_coarse_secondary_structure_residue(ssr_ps, mdl, winner_takes_all_per_res=False):
7123  r"""setup_coarse_secondary_structure_residue(IMP::Particles const & ssr_ps, Model mdl, bool winner_takes_all_per_res=False) -> SecondaryStructureResidue"""
7124  return _IMP_atom.setup_coarse_secondary_structure_residue(ssr_ps, mdl, winner_takes_all_per_res)
7125 
7126 def setup_coarse_secondary_structure_residues(ssr_ps, mdl, coarse_factor, start_res_num, winner_takes_all_per_res=False):
7127  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"""
7128  return _IMP_atom.setup_coarse_secondary_structure_residues(ssr_ps, mdl, coarse_factor, start_res_num, winner_takes_all_per_res)
7129 
7130 def get_secondary_structure_match_score(ssr1, ssr2):
7131  r"""get_secondary_structure_match_score(SecondaryStructureResidue ssr1, SecondaryStructureResidue ssr2) -> IMP::Float"""
7132  return _IMP_atom.get_secondary_structure_match_score(ssr1, ssr2)
7133 
7134 def read_psipred(*args):
7135  r"""
7136  read_psipred(TextInput inf, Model mdl) -> IMP::atom::SecondaryStructureResidues
7137  read_psipred(TextInput inf, IMP::Particles ps) -> IMP::atom::SecondaryStructureResidues
7138  """
7139  return _IMP_atom.read_psipred(*args)
7140 class _ADopeBase(IMP.PairScore):
7141  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::Dope > class."""
7142 
7143  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7144  __repr__ = _swig_repr
7145 
7146  def __init__(self, *args):
7147  r"""
7148  __init__(_ADopeBase self, Dope t0, std::string name="FunctorDistancePairScore %1%") -> _ADopeBase
7149  __init__(_ADopeBase self) -> _ADopeBase
7150  """
7151  _IMP_atom._ADopeBase_swiginit(self, _IMP_atom.new__ADopeBase(*args))
7152 
7153  def do_get_inputs(self, m, pis):
7154  r"""do_get_inputs(_ADopeBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7155  return _IMP_atom._ADopeBase_do_get_inputs(self, m, pis)
7156 
7157  def get_score_functor(self, *args):
7158  r"""
7159  get_score_functor(_ADopeBase self) -> Dope
7160  get_score_functor(_ADopeBase self) -> Dope
7161  """
7162  return _IMP_atom._ADopeBase_get_score_functor(self, *args)
7163 
7164  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7165  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"""
7166  return _IMP_atom._ADopeBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7167 
7168  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7169  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"""
7170  return _IMP_atom._ADopeBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7171 
7172  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7173  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"""
7174  return _IMP_atom._ADopeBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7175 
7176  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7177  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"""
7178  return _IMP_atom._ADopeBase_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7179 
7180  def get_version_info(self):
7181  r"""get_version_info(_ADopeBase self) -> VersionInfo"""
7182  return _IMP_atom._ADopeBase_get_version_info(self)
7183  __swig_destroy__ = _IMP_atom.delete__ADopeBase
7184 
7185 # Register _ADopeBase in _IMP_atom:
7186 _IMP_atom._ADopeBase_swigregister(_ADopeBase)
7187 class _BDopeBase(IMP.PairScore):
7188  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::Statistical< IMP::atom::DopeType,false,true,false > > class."""
7189 
7190  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7191  __repr__ = _swig_repr
7192 
7193  def __init__(self, *args):
7194  r"""
7195  __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
7196  __init__(_BDopeBase self) -> _BDopeBase
7197  """
7198  _IMP_atom._BDopeBase_swiginit(self, _IMP_atom.new__BDopeBase(*args))
7199 
7200  def do_get_inputs(self, m, pis):
7201  r"""do_get_inputs(_BDopeBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7202  return _IMP_atom._BDopeBase_do_get_inputs(self, m, pis)
7203 
7204  def get_score_functor(self, *args):
7205  r"""
7206  get_score_functor(_BDopeBase self) -> _DopeBase
7207  get_score_functor(_BDopeBase self) -> _DopeBase
7208  """
7209  return _IMP_atom._BDopeBase_get_score_functor(self, *args)
7210 
7211  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7212  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"""
7213  return _IMP_atom._BDopeBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7214 
7215  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7216  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"""
7217  return _IMP_atom._BDopeBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7218 
7219  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7220  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"""
7221  return _IMP_atom._BDopeBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7222 
7223  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7224  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"""
7225  return _IMP_atom._BDopeBase_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7226 
7227  def get_version_info(self):
7228  r"""get_version_info(_BDopeBase self) -> VersionInfo"""
7229  return _IMP_atom._BDopeBase_get_version_info(self)
7230  __swig_destroy__ = _IMP_atom.delete__BDopeBase
7231 
7232 # Register _BDopeBase in _IMP_atom:
7233 _IMP_atom._BDopeBase_swigregister(_BDopeBase)
7234 class _ALoopStatisticalBase(IMP.PairScore):
7235  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::LoopStatistical > class."""
7236 
7237  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7238  __repr__ = _swig_repr
7239 
7240  def __init__(self, *args):
7241  r"""
7242  __init__(_ALoopStatisticalBase self, LoopStatistical t0, std::string name="FunctorDistancePairScore %1%") -> _ALoopStatisticalBase
7243  __init__(_ALoopStatisticalBase self) -> _ALoopStatisticalBase
7244  """
7245  _IMP_atom._ALoopStatisticalBase_swiginit(self, _IMP_atom.new__ALoopStatisticalBase(*args))
7246 
7247  def do_get_inputs(self, m, pis):
7248  r"""do_get_inputs(_ALoopStatisticalBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7249  return _IMP_atom._ALoopStatisticalBase_do_get_inputs(self, m, pis)
7250 
7251  def get_score_functor(self, *args):
7252  r"""
7253  get_score_functor(_ALoopStatisticalBase self) -> LoopStatistical
7254  get_score_functor(_ALoopStatisticalBase self) -> LoopStatistical
7255  """
7256  return _IMP_atom._ALoopStatisticalBase_get_score_functor(self, *args)
7257 
7258  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7259  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"""
7260  return _IMP_atom._ALoopStatisticalBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7261 
7262  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7263  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"""
7264  return _IMP_atom._ALoopStatisticalBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7265 
7266  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7267  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"""
7268  return _IMP_atom._ALoopStatisticalBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7269 
7270  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7271  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"""
7272  return _IMP_atom._ALoopStatisticalBase_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7273 
7274  def get_version_info(self):
7275  r"""get_version_info(_ALoopStatisticalBase self) -> VersionInfo"""
7276  return _IMP_atom._ALoopStatisticalBase_get_version_info(self)
7277  __swig_destroy__ = _IMP_atom.delete__ALoopStatisticalBase
7278 
7279 # Register _ALoopStatisticalBase in _IMP_atom:
7280 _IMP_atom._ALoopStatisticalBase_swigregister(_ALoopStatisticalBase)
7281 class _BLoopStatisticalBase(IMP.PairScore):
7282  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::Statistical< IMP::atom::LoopStatisticalType,false,true,false > > class."""
7283 
7284  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7285  __repr__ = _swig_repr
7286 
7287  def __init__(self, *args):
7288  r"""
7289  __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
7290  __init__(_BLoopStatisticalBase self) -> _BLoopStatisticalBase
7291  """
7292  _IMP_atom._BLoopStatisticalBase_swiginit(self, _IMP_atom.new__BLoopStatisticalBase(*args))
7293 
7294  def do_get_inputs(self, m, pis):
7295  r"""do_get_inputs(_BLoopStatisticalBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7296  return _IMP_atom._BLoopStatisticalBase_do_get_inputs(self, m, pis)
7297 
7298  def get_score_functor(self, *args):
7299  r"""
7300  get_score_functor(_BLoopStatisticalBase self) -> _LoopStatisticalBase
7301  get_score_functor(_BLoopStatisticalBase self) -> _LoopStatisticalBase
7302  """
7303  return _IMP_atom._BLoopStatisticalBase_get_score_functor(self, *args)
7304 
7305  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7306  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"""
7307  return _IMP_atom._BLoopStatisticalBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7308 
7309  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7310  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"""
7311  return _IMP_atom._BLoopStatisticalBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7312 
7313  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7314  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"""
7315  return _IMP_atom._BLoopStatisticalBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7316 
7317  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7318  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"""
7319  return _IMP_atom._BLoopStatisticalBase_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7320 
7321  def get_version_info(self):
7322  r"""get_version_info(_BLoopStatisticalBase self) -> VersionInfo"""
7323  return _IMP_atom._BLoopStatisticalBase_get_version_info(self)
7324  __swig_destroy__ = _IMP_atom.delete__BLoopStatisticalBase
7325 
7326 # Register _BLoopStatisticalBase in _IMP_atom:
7327 _IMP_atom._BLoopStatisticalBase_swigregister(_BLoopStatisticalBase)
7328 class _OrientedSoapBase(IMP.PairScore):
7329  r"""Proxy of C++ IMP::score_functor::DistancePairScoreWithCache< IMP::score_functor::OrientedSoap > class."""
7330 
7331  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7332  __repr__ = _swig_repr
7333 
7334  def __init__(self, *args):
7335  r"""__init__(_OrientedSoapBase self, IMP::score_functor::DistancePairScoreWithCache< IMP::score_functor::OrientedSoap >::DistanceScore const & t0, std::string name="FunctorDistancePairScoreWithCache %1%") -> _OrientedSoapBase"""
7336  _IMP_atom._OrientedSoapBase_swiginit(self, _IMP_atom.new__OrientedSoapBase(*args))
7337 
7338  def do_get_inputs(self, m, pis):
7339  r"""do_get_inputs(_OrientedSoapBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7340  return _IMP_atom._OrientedSoapBase_do_get_inputs(self, m, pis)
7341 
7342  def get_score_functor(self):
7343  r"""get_score_functor(_OrientedSoapBase self) -> IMP::score_functor::OrientedSoap &"""
7344  return _IMP_atom._OrientedSoapBase_get_score_functor(self)
7345 
7346  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7347  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"""
7348  return _IMP_atom._OrientedSoapBase_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7349 
7350  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7351  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"""
7352  return _IMP_atom._OrientedSoapBase_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7353 
7354  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7355  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"""
7356  return _IMP_atom._OrientedSoapBase_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7357 
7358  def get_version_info(self):
7359  r"""get_version_info(_OrientedSoapBase self) -> VersionInfo"""
7360  return _IMP_atom._OrientedSoapBase_get_version_info(self)
7361  __swig_destroy__ = _IMP_atom.delete__OrientedSoapBase
7362 
7363 # Register _OrientedSoapBase in _IMP_atom:
7364 _IMP_atom._OrientedSoapBase_swigregister(_OrientedSoapBase)
7365 class _SPSFTB(IMP.PairScore):
7366  r"""Proxy of C++ IMP::score_functor::DistancePairScore< score_functor::Statistical< IMP::atom::ProteinLigandType,true,false > > class."""
7367 
7368  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7369  __repr__ = _swig_repr
7370 
7371  def __init__(self, *args):
7372  r"""
7373  __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
7374  __init__(_SPSFTB self) -> _SPSFTB
7375  """
7376  _IMP_atom._SPSFTB_swiginit(self, _IMP_atom.new__SPSFTB(*args))
7377 
7378  def do_get_inputs(self, m, pis):
7379  r"""do_get_inputs(_SPSFTB self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
7380  return _IMP_atom._SPSFTB_do_get_inputs(self, m, pis)
7381 
7382  def get_score_functor(self, *args):
7383  r"""
7384  get_score_functor(_SPSFTB self) -> IMP::score_functor::Statistical< IMP::atom::ProteinLigandType,true,false,false >
7385  get_score_functor(_SPSFTB self) -> IMP::score_functor::Statistical< IMP::atom::ProteinLigandType,true,false,false > const &
7386  """
7387  return _IMP_atom._SPSFTB_get_score_functor(self, *args)
7388 
7389  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
7390  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"""
7391  return _IMP_atom._SPSFTB_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
7392 
7393  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
7394  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"""
7395  return _IMP_atom._SPSFTB_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
7396 
7397  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
7398  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"""
7399  return _IMP_atom._SPSFTB_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
7400 
7401  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
7402  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"""
7403  return _IMP_atom._SPSFTB_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
7404 
7405  def get_version_info(self):
7406  r"""get_version_info(_SPSFTB self) -> VersionInfo"""
7407  return _IMP_atom._SPSFTB_get_version_info(self)
7408  __swig_destroy__ = _IMP_atom.delete__SPSFTB
7409 
7410 # Register _SPSFTB in _IMP_atom:
7411 _IMP_atom._SPSFTB_swigregister(_SPSFTB)
7412 class _SPSTF(_SPSFTB):
7413  r"""Proxy of C++ IMP::core::StatisticalPairScore< IMP::atom::ProteinLigandType,true,false > class."""
7414 
7415  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7416  __repr__ = _swig_repr
7417 
7418  def __init__(self, *args):
7419  r"""
7420  __init__(_SPSTF self, IntKey k, double threshold, TextInput data_file) -> _SPSTF
7421  __init__(_SPSTF self, IntKey k, double threshold, TextInput data_file, unsigned int shift) -> _SPSTF
7422  """
7423  _IMP_atom._SPSTF_swiginit(self, _IMP_atom.new__SPSTF(*args))
7424  __swig_destroy__ = _IMP_atom.delete__SPSTF
7425 
7426 # Register _SPSTF in _IMP_atom:
7427 _IMP_atom._SPSTF_swigregister(_SPSTF)
7428 class _SPSFT(_BDopeBase):
7429  r"""Proxy of C++ IMP::core::StatisticalPairScore< IMP::atom::DopeType,false,true > class."""
7430 
7431  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7432  __repr__ = _swig_repr
7433 
7434  def __init__(self, *args):
7435  r"""
7436  __init__(_SPSFT self, IntKey k, double threshold, TextInput data_file) -> _SPSFT
7437  __init__(_SPSFT self, IntKey k, double threshold, TextInput data_file, unsigned int shift) -> _SPSFT
7438  """
7439  _IMP_atom._SPSFT_swiginit(self, _IMP_atom.new__SPSFT(*args))
7440  __swig_destroy__ = _IMP_atom.delete__SPSFT
7441 
7442 # Register _SPSFT in _IMP_atom:
7443 _IMP_atom._SPSFT_swigregister(_SPSFT)
7444 class _SPSFTL(_BLoopStatisticalBase):
7445  r"""Proxy of C++ IMP::core::StatisticalPairScore< IMP::atom::LoopStatisticalType,false,true > class."""
7446 
7447  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7448  __repr__ = _swig_repr
7449 
7450  def __init__(self, *args):
7451  r"""
7452  __init__(_SPSFTL self, IntKey k, double threshold, TextInput data_file) -> _SPSFTL
7453  __init__(_SPSFTL self, IntKey k, double threshold, TextInput data_file, unsigned int shift) -> _SPSFTL
7454  """
7455  _IMP_atom._SPSFTL_swiginit(self, _IMP_atom.new__SPSFTL(*args))
7456  __swig_destroy__ = _IMP_atom.delete__SPSFTL
7457 
7458 # Register _SPSFTL in _IMP_atom:
7459 _IMP_atom._SPSFTL_swigregister(_SPSFTL)
7460 class ProteinLigandAtomPairScore(_SPSTF):
7461  r"""Proxy of C++ IMP::atom::ProteinLigandAtomPairScore class."""
7462 
7463  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7464 
7465  def __init__(self, *args):
7466  r"""
7467  __init__(ProteinLigandAtomPairScore self, double threshold=std::numeric_limits< double >::max()) -> ProteinLigandAtomPairScore
7468  __init__(ProteinLigandAtomPairScore self, double threshold, TextInput data_file) -> ProteinLigandAtomPairScore
7469  """
7470  _IMP_atom.ProteinLigandAtomPairScore_swiginit(self, _IMP_atom.new_ProteinLigandAtomPairScore(*args))
7471 
7472  def get_maximum_distance(self):
7473  r"""get_maximum_distance(ProteinLigandAtomPairScore self) -> double"""
7474  return _IMP_atom.ProteinLigandAtomPairScore_get_maximum_distance(self)
7475 
7476  def __str__(self):
7477  r"""__str__(ProteinLigandAtomPairScore self) -> std::string"""
7478  return _IMP_atom.ProteinLigandAtomPairScore___str__(self)
7479 
7480  def __repr__(self):
7481  r"""__repr__(ProteinLigandAtomPairScore self) -> std::string"""
7482  return _IMP_atom.ProteinLigandAtomPairScore___repr__(self)
7483 
7484  @staticmethod
7485  def get_from(o):
7486  return _object_cast_to_ProteinLigandAtomPairScore(o)
7487 
7488  __swig_destroy__ = _IMP_atom.delete_ProteinLigandAtomPairScore
7489 
7490 # Register ProteinLigandAtomPairScore in _IMP_atom:
7491 _IMP_atom.ProteinLigandAtomPairScore_swigregister(ProteinLigandAtomPairScore)
7492 class ProteinLigandRestraint(IMP.container.PairsRestraint):
7493  r"""Proxy of C++ IMP::atom::ProteinLigandRestraint class."""
7494 
7495  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7496 
7497  def __init__(self, *args):
7498  r"""
7499  __init__(ProteinLigandRestraint self, Hierarchy protein, Hierarchy ligand, double threshold=std::numeric_limits< double >::max()) -> ProteinLigandRestraint
7500  __init__(ProteinLigandRestraint self, Hierarchy protein, Hierarchy ligand, double threshold, TextInput data_file) -> ProteinLigandRestraint
7501  """
7502  _IMP_atom.ProteinLigandRestraint_swiginit(self, _IMP_atom.new_ProteinLigandRestraint(*args))
7503 
7504  def __str__(self):
7505  r"""__str__(ProteinLigandRestraint self) -> std::string"""
7506  return _IMP_atom.ProteinLigandRestraint___str__(self)
7507 
7508  def __repr__(self):
7509  r"""__repr__(ProteinLigandRestraint self) -> std::string"""
7510  return _IMP_atom.ProteinLigandRestraint___repr__(self)
7511 
7512  @staticmethod
7513  def get_from(o):
7514  return _object_cast_to_ProteinLigandRestraint(o)
7515 
7516  __swig_destroy__ = _IMP_atom.delete_ProteinLigandRestraint
7517 
7518 # Register ProteinLigandRestraint in _IMP_atom:
7519 _IMP_atom.ProteinLigandRestraint_swigregister(ProteinLigandRestraint)
7520 
7522  r"""add_protein_ligand_score_data(Hierarchy h)"""
7523  return _IMP_atom.add_protein_ligand_score_data(h)
7524 class AtomType(IMP._Value):
7525  r"""Proxy of C++ IMP::Key< 8974343 > class."""
7526 
7527  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7528 
7529  def __init__(self, *args):
7530  r"""
7531  __init__(AtomType self) -> AtomType
7532  __init__(AtomType self, std::string const & c, bool is_implicit_add_permitted=True) -> AtomType
7533  __init__(AtomType self, unsigned int i) -> AtomType
7534  """
7535  _IMP_atom.AtomType_swiginit(self, _IMP_atom.new_AtomType(*args))
7536 
7537  @staticmethod
7538  def add_key(sc):
7539  r"""add_key(std::string sc) -> unsigned int"""
7540  return _IMP_atom.AtomType_add_key(sc)
7541 
7542  @staticmethod
7543  def get_key_exists(sc):
7544  r"""get_key_exists(std::string sc) -> bool"""
7545  return _IMP_atom.AtomType_get_key_exists(sc)
7546 
7547  def get_string(self):
7548  r"""get_string(AtomType self) -> std::string const"""
7549  return _IMP_atom.AtomType_get_string(self)
7550 
7551  def __cmp__(self, o):
7552  r"""__cmp__(AtomType self, AtomType o) -> int"""
7553  return _IMP_atom.AtomType___cmp__(self, o)
7554 
7555  def __eq__(self, o):
7556  r"""__eq__(AtomType self, AtomType o) -> bool"""
7557  return _IMP_atom.AtomType___eq__(self, o)
7558 
7559  def __ne__(self, o):
7560  r"""__ne__(AtomType self, AtomType o) -> bool"""
7561  return _IMP_atom.AtomType___ne__(self, o)
7562 
7563  def __lt__(self, o):
7564  r"""__lt__(AtomType self, AtomType o) -> bool"""
7565  return _IMP_atom.AtomType___lt__(self, o)
7566 
7567  def __gt__(self, o):
7568  r"""__gt__(AtomType self, AtomType o) -> bool"""
7569  return _IMP_atom.AtomType___gt__(self, o)
7570 
7571  def __ge__(self, o):
7572  r"""__ge__(AtomType self, AtomType o) -> bool"""
7573  return _IMP_atom.AtomType___ge__(self, o)
7574 
7575  def __le__(self, o):
7576  r"""__le__(AtomType self, AtomType o) -> bool"""
7577  return _IMP_atom.AtomType___le__(self, o)
7578 
7579  def __hash__(self):
7580  r"""__hash__(AtomType self) -> std::size_t"""
7581  return _IMP_atom.AtomType___hash__(self)
7582 
7583  def show(self, *args):
7584  r"""show(AtomType self, _ostream out=std::cout)"""
7585  return _IMP_atom.AtomType_show(self, *args)
7586 
7587  @staticmethod
7588  def add_alias(old_key, new_name):
7589  r"""add_alias(AtomType old_key, std::string new_name) -> AtomType"""
7590  return _IMP_atom.AtomType_add_alias(old_key, new_name)
7591 
7592  @staticmethod
7593  def get_number_of_keys():
7594  r"""get_number_of_keys() -> unsigned int"""
7595  return _IMP_atom.AtomType_get_number_of_keys()
7596 
7597  def get_index(self):
7598  r"""get_index(AtomType self) -> unsigned int"""
7599  return _IMP_atom.AtomType_get_index(self)
7600 
7601  @staticmethod
7602  def show_all(out):
7603  r"""show_all(_ostream out)"""
7604  return _IMP_atom.AtomType_show_all(out)
7605 
7606  @staticmethod
7607  def get_all_strings():
7608  r"""get_all_strings() -> IMP::Vector< std::string >"""
7609  return _IMP_atom.AtomType_get_all_strings()
7610 
7611  @staticmethod
7612  def get_number_unique():
7613  r"""get_number_unique() -> unsigned int"""
7614  return _IMP_atom.AtomType_get_number_unique()
7615 
7616  def __str__(self):
7617  r"""__str__(AtomType self) -> std::string"""
7618  return _IMP_atom.AtomType___str__(self)
7619 
7620  def __repr__(self):
7621  r"""__repr__(AtomType self) -> std::string"""
7622  return _IMP_atom.AtomType___repr__(self)
7623  __swig_destroy__ = _IMP_atom.delete_AtomType
7624 
7625 # Register AtomType in _IMP_atom:
7626 _IMP_atom.AtomType_swigregister(AtomType)
7627 class ResidueType(IMP._Value):
7628  r"""Proxy of C++ IMP::Key< 90784334 > class."""
7629 
7630  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7631 
7632  def __init__(self, *args):
7633  r"""
7634  __init__(ResidueType self) -> ResidueType
7635  __init__(ResidueType self, std::string const & c, bool is_implicit_add_permitted=True) -> ResidueType
7636  __init__(ResidueType self, unsigned int i) -> ResidueType
7637  """
7638  _IMP_atom.ResidueType_swiginit(self, _IMP_atom.new_ResidueType(*args))
7639 
7640  @staticmethod
7641  def add_key(sc):
7642  r"""add_key(std::string sc) -> unsigned int"""
7643  return _IMP_atom.ResidueType_add_key(sc)
7644 
7645  @staticmethod
7646  def get_key_exists(sc):
7647  r"""get_key_exists(std::string sc) -> bool"""
7648  return _IMP_atom.ResidueType_get_key_exists(sc)
7649 
7650  def get_string(self):
7651  r"""get_string(ResidueType self) -> std::string const"""
7652  return _IMP_atom.ResidueType_get_string(self)
7653 
7654  def __cmp__(self, o):
7655  r"""__cmp__(ResidueType self, ResidueType o) -> int"""
7656  return _IMP_atom.ResidueType___cmp__(self, o)
7657 
7658  def __eq__(self, o):
7659  r"""__eq__(ResidueType self, ResidueType o) -> bool"""
7660  return _IMP_atom.ResidueType___eq__(self, o)
7661 
7662  def __ne__(self, o):
7663  r"""__ne__(ResidueType self, ResidueType o) -> bool"""
7664  return _IMP_atom.ResidueType___ne__(self, o)
7665 
7666  def __lt__(self, o):
7667  r"""__lt__(ResidueType self, ResidueType o) -> bool"""
7668  return _IMP_atom.ResidueType___lt__(self, o)
7669 
7670  def __gt__(self, o):
7671  r"""__gt__(ResidueType self, ResidueType o) -> bool"""
7672  return _IMP_atom.ResidueType___gt__(self, o)
7673 
7674  def __ge__(self, o):
7675  r"""__ge__(ResidueType self, ResidueType o) -> bool"""
7676  return _IMP_atom.ResidueType___ge__(self, o)
7677 
7678  def __le__(self, o):
7679  r"""__le__(ResidueType self, ResidueType o) -> bool"""
7680  return _IMP_atom.ResidueType___le__(self, o)
7681 
7682  def __hash__(self):
7683  r"""__hash__(ResidueType self) -> std::size_t"""
7684  return _IMP_atom.ResidueType___hash__(self)
7685 
7686  def show(self, *args):
7687  r"""show(ResidueType self, _ostream out=std::cout)"""
7688  return _IMP_atom.ResidueType_show(self, *args)
7689 
7690  @staticmethod
7691  def add_alias(old_key, new_name):
7692  r"""add_alias(ResidueType old_key, std::string new_name) -> ResidueType"""
7693  return _IMP_atom.ResidueType_add_alias(old_key, new_name)
7694 
7695  @staticmethod
7696  def get_number_of_keys():
7697  r"""get_number_of_keys() -> unsigned int"""
7698  return _IMP_atom.ResidueType_get_number_of_keys()
7699 
7700  def get_index(self):
7701  r"""get_index(ResidueType self) -> unsigned int"""
7702  return _IMP_atom.ResidueType_get_index(self)
7703 
7704  @staticmethod
7705  def show_all(out):
7706  r"""show_all(_ostream out)"""
7707  return _IMP_atom.ResidueType_show_all(out)
7708 
7709  @staticmethod
7710  def get_all_strings():
7711  r"""get_all_strings() -> IMP::Vector< std::string >"""
7712  return _IMP_atom.ResidueType_get_all_strings()
7713 
7714  @staticmethod
7715  def get_number_unique():
7716  r"""get_number_unique() -> unsigned int"""
7717  return _IMP_atom.ResidueType_get_number_unique()
7718 
7719  def __str__(self):
7720  r"""__str__(ResidueType self) -> std::string"""
7721  return _IMP_atom.ResidueType___str__(self)
7722 
7723  def __repr__(self):
7724  r"""__repr__(ResidueType self) -> std::string"""
7725  return _IMP_atom.ResidueType___repr__(self)
7726  __swig_destroy__ = _IMP_atom.delete_ResidueType
7727 
7728 # Register ResidueType in _IMP_atom:
7729 _IMP_atom.ResidueType_swigregister(ResidueType)
7730 class ChainType(IMP._Value):
7731  r"""Proxy of C++ IMP::Key< 90784336 > class."""
7732 
7733  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7734 
7735  def __init__(self, *args):
7736  r"""
7737  __init__(ChainType self) -> ChainType
7738  __init__(ChainType self, std::string const & c, bool is_implicit_add_permitted=True) -> ChainType
7739  __init__(ChainType self, unsigned int i) -> ChainType
7740  """
7741  _IMP_atom.ChainType_swiginit(self, _IMP_atom.new_ChainType(*args))
7742 
7743  @staticmethod
7744  def add_key(sc):
7745  r"""add_key(std::string sc) -> unsigned int"""
7746  return _IMP_atom.ChainType_add_key(sc)
7747 
7748  @staticmethod
7749  def get_key_exists(sc):
7750  r"""get_key_exists(std::string sc) -> bool"""
7751  return _IMP_atom.ChainType_get_key_exists(sc)
7752 
7753  def get_string(self):
7754  r"""get_string(ChainType self) -> std::string const"""
7755  return _IMP_atom.ChainType_get_string(self)
7756 
7757  def __cmp__(self, o):
7758  r"""__cmp__(ChainType self, ChainType o) -> int"""
7759  return _IMP_atom.ChainType___cmp__(self, o)
7760 
7761  def __eq__(self, o):
7762  r"""__eq__(ChainType self, ChainType o) -> bool"""
7763  return _IMP_atom.ChainType___eq__(self, o)
7764 
7765  def __ne__(self, o):
7766  r"""__ne__(ChainType self, ChainType o) -> bool"""
7767  return _IMP_atom.ChainType___ne__(self, o)
7768 
7769  def __lt__(self, o):
7770  r"""__lt__(ChainType self, ChainType o) -> bool"""
7771  return _IMP_atom.ChainType___lt__(self, o)
7772 
7773  def __gt__(self, o):
7774  r"""__gt__(ChainType self, ChainType o) -> bool"""
7775  return _IMP_atom.ChainType___gt__(self, o)
7776 
7777  def __ge__(self, o):
7778  r"""__ge__(ChainType self, ChainType o) -> bool"""
7779  return _IMP_atom.ChainType___ge__(self, o)
7780 
7781  def __le__(self, o):
7782  r"""__le__(ChainType self, ChainType o) -> bool"""
7783  return _IMP_atom.ChainType___le__(self, o)
7784 
7785  def __hash__(self):
7786  r"""__hash__(ChainType self) -> std::size_t"""
7787  return _IMP_atom.ChainType___hash__(self)
7788 
7789  def show(self, *args):
7790  r"""show(ChainType self, _ostream out=std::cout)"""
7791  return _IMP_atom.ChainType_show(self, *args)
7792 
7793  @staticmethod
7794  def add_alias(old_key, new_name):
7795  r"""add_alias(ChainType old_key, std::string new_name) -> ChainType"""
7796  return _IMP_atom.ChainType_add_alias(old_key, new_name)
7797 
7798  @staticmethod
7799  def get_number_of_keys():
7800  r"""get_number_of_keys() -> unsigned int"""
7801  return _IMP_atom.ChainType_get_number_of_keys()
7802 
7803  def get_index(self):
7804  r"""get_index(ChainType self) -> unsigned int"""
7805  return _IMP_atom.ChainType_get_index(self)
7806 
7807  @staticmethod
7808  def show_all(out):
7809  r"""show_all(_ostream out)"""
7810  return _IMP_atom.ChainType_show_all(out)
7811 
7812  @staticmethod
7813  def get_all_strings():
7814  r"""get_all_strings() -> IMP::Vector< std::string >"""
7815  return _IMP_atom.ChainType_get_all_strings()
7816 
7817  @staticmethod
7818  def get_number_unique():
7819  r"""get_number_unique() -> unsigned int"""
7820  return _IMP_atom.ChainType_get_number_unique()
7821 
7822  def __str__(self):
7823  r"""__str__(ChainType self) -> std::string"""
7824  return _IMP_atom.ChainType___str__(self)
7825 
7826  def __repr__(self):
7827  r"""__repr__(ChainType self) -> std::string"""
7828  return _IMP_atom.ChainType___repr__(self)
7829  __swig_destroy__ = _IMP_atom.delete_ChainType
7830 
7831 # Register ChainType in _IMP_atom:
7832 _IMP_atom.ChainType_swigregister(ChainType)
7833 UNKNOWN_ELEMENT = _IMP_atom.UNKNOWN_ELEMENT
7834 
7835 OH = _IMP_atom.OH
7836 
7837 H2O = _IMP_atom.H2O
7838 
7839 H = _IMP_atom.H
7840 
7841 He = _IMP_atom.He
7842 
7843 Li = _IMP_atom.Li
7844 
7845 Be = _IMP_atom.Be
7846 
7847 B = _IMP_atom.B
7848 
7849 C = _IMP_atom.C
7850 
7851 N = _IMP_atom.N
7852 
7853 O = _IMP_atom.O
7854 
7855 F = _IMP_atom.F
7856 
7857 Ne = _IMP_atom.Ne
7858 
7859 Na = _IMP_atom.Na
7860 
7861 Mg = _IMP_atom.Mg
7862 
7863 Al = _IMP_atom.Al
7864 
7865 Si = _IMP_atom.Si
7866 
7867 P = _IMP_atom.P
7868 
7869 S = _IMP_atom.S
7870 
7871 Cl = _IMP_atom.Cl
7872 
7873 Ar = _IMP_atom.Ar
7874 
7875 K = _IMP_atom.K
7876 
7877 Ca = _IMP_atom.Ca
7878 
7879 Sc = _IMP_atom.Sc
7880 
7881 Ti = _IMP_atom.Ti
7882 
7883 V = _IMP_atom.V
7884 
7885 Cr = _IMP_atom.Cr
7886 
7887 Mn = _IMP_atom.Mn
7888 
7889 Fe = _IMP_atom.Fe
7890 
7891 Co = _IMP_atom.Co
7892 
7893 Ni = _IMP_atom.Ni
7894 
7895 Cu = _IMP_atom.Cu
7896 
7897 Zn = _IMP_atom.Zn
7898 
7899 Ga = _IMP_atom.Ga
7900 
7901 Ge = _IMP_atom.Ge
7902 
7903 As = _IMP_atom.As
7904 
7905 Se = _IMP_atom.Se
7906 
7907 Br = _IMP_atom.Br
7908 
7909 Kr = _IMP_atom.Kr
7910 
7911 Rb = _IMP_atom.Rb
7912 
7913 Sr = _IMP_atom.Sr
7914 
7915 Y = _IMP_atom.Y
7916 
7917 Zr = _IMP_atom.Zr
7918 
7919 Nb = _IMP_atom.Nb
7920 
7921 Mo = _IMP_atom.Mo
7922 
7923 Tc = _IMP_atom.Tc
7924 
7925 Ru = _IMP_atom.Ru
7926 
7927 Rh = _IMP_atom.Rh
7928 
7929 Pd = _IMP_atom.Pd
7930 
7931 Ag = _IMP_atom.Ag
7932 
7933 Cd = _IMP_atom.Cd
7934 
7935 In = _IMP_atom.In
7936 
7937 Sn = _IMP_atom.Sn
7938 
7939 Sb = _IMP_atom.Sb
7940 
7941 Te = _IMP_atom.Te
7942 
7943 I = _IMP_atom.I
7944 
7945 Xe = _IMP_atom.Xe
7946 
7947 Cs = _IMP_atom.Cs
7948 
7949 Ba = _IMP_atom.Ba
7950 
7951 La = _IMP_atom.La
7952 
7953 Ce = _IMP_atom.Ce
7954 
7955 Pr = _IMP_atom.Pr
7956 
7957 Nd = _IMP_atom.Nd
7958 
7959 Pm = _IMP_atom.Pm
7960 
7961 Sm = _IMP_atom.Sm
7962 
7963 Eu = _IMP_atom.Eu
7964 
7965 Gd = _IMP_atom.Gd
7966 
7967 Tb = _IMP_atom.Tb
7968 
7969 Dy = _IMP_atom.Dy
7970 
7971 Ho = _IMP_atom.Ho
7972 
7973 Er = _IMP_atom.Er
7974 
7975 Tm = _IMP_atom.Tm
7976 
7977 Yb = _IMP_atom.Yb
7978 
7979 Lu = _IMP_atom.Lu
7980 
7981 Hf = _IMP_atom.Hf
7982 
7983 Ta = _IMP_atom.Ta
7984 
7985 W = _IMP_atom.W
7986 
7987 Re = _IMP_atom.Re
7988 
7989 Os = _IMP_atom.Os
7990 
7991 Ir = _IMP_atom.Ir
7992 
7993 Pt = _IMP_atom.Pt
7994 
7995 Au = _IMP_atom.Au
7996 
7997 Hg = _IMP_atom.Hg
7998 
7999 Tl = _IMP_atom.Tl
8000 
8001 Pb = _IMP_atom.Pb
8002 
8003 Bi = _IMP_atom.Bi
8004 
8005 Po = _IMP_atom.Po
8006 
8007 At = _IMP_atom.At
8008 
8009 Rn = _IMP_atom.Rn
8010 
8011 Fr = _IMP_atom.Fr
8012 
8013 Ra = _IMP_atom.Ra
8014 
8015 Ac = _IMP_atom.Ac
8016 
8017 Th = _IMP_atom.Th
8018 
8019 Pa = _IMP_atom.Pa
8020 
8021 U = _IMP_atom.U
8022 
8023 Np = _IMP_atom.Np
8024 
8025 Pu = _IMP_atom.Pu
8026 
8027 Am = _IMP_atom.Am
8028 
8029 Cm = _IMP_atom.Cm
8030 
8031 Bk = _IMP_atom.Bk
8032 
8033 Cf = _IMP_atom.Cf
8034 
8035 Es = _IMP_atom.Es
8036 
8037 Fm = _IMP_atom.Fm
8038 
8039 Md = _IMP_atom.Md
8040 
8041 No = _IMP_atom.No
8042 
8043 Lr = _IMP_atom.Lr
8044 
8045 Db = _IMP_atom.Db
8046 
8047 Jl = _IMP_atom.Jl
8048 
8049 Rf = _IMP_atom.Rf
8050 
8051 NUMBER_OF_ELEMENTS = _IMP_atom.NUMBER_OF_ELEMENTS
8052 
8053 
8054 def hash_value(e):
8055  r"""hash_value(IMP::atom::Element e) -> size_t"""
8056  return _IMP_atom.hash_value(e)
8057 class ElementTable(object):
8058  r"""Proxy of C++ IMP::atom::ElementTable class."""
8059 
8060  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8061  __repr__ = _swig_repr
8062 
8063  def __init__(self):
8064  r"""__init__(ElementTable self) -> ElementTable"""
8065  _IMP_atom.ElementTable_swiginit(self, _IMP_atom.new_ElementTable())
8066 
8067  def get_element(self, s):
8068  r"""get_element(ElementTable self, std::string const & s) -> IMP::atom::Element"""
8069  return _IMP_atom.ElementTable_get_element(self, s)
8070 
8071  def get_name(self, e):
8072  r"""get_name(ElementTable self, IMP::atom::Element e) -> std::string"""
8073  return _IMP_atom.ElementTable_get_name(self, e)
8074 
8075  def get_mass(self, e):
8076  r"""get_mass(ElementTable self, IMP::atom::Element e) -> IMP::Float"""
8077  return _IMP_atom.ElementTable_get_mass(self, e)
8078  __swig_destroy__ = _IMP_atom.delete_ElementTable
8079 
8080 # Register ElementTable in _IMP_atom:
8081 _IMP_atom.ElementTable_swigregister(ElementTable)
8082 
8083 def get_element_table():
8084  r"""get_element_table() -> ElementTable"""
8085  return _IMP_atom.get_element_table()
8086 class Atom(Hierarchy):
8087  r"""Proxy of C++ IMP::atom::Atom class."""
8088 
8089  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8090 
8091  def __init__(self, *args):
8092  r"""
8093  __init__(Atom self) -> Atom
8094  __init__(Atom self, Model m, ParticleIndex id) -> Atom
8095  __init__(Atom self, _ParticleAdaptor d) -> Atom
8096  """
8097  _IMP_atom.Atom_swiginit(self, _IMP_atom.new_Atom(*args))
8098 
8099  def show(self, *args):
8100  r"""show(Atom self, _ostream out=std::cout)"""
8101  return _IMP_atom.Atom_show(self, *args)
8102 
8103  @staticmethod
8104  def setup_particle(*args):
8105  r"""
8106  setup_particle(Model m, ParticleIndex pi, Atom other) -> Atom
8107  setup_particle(_ParticleAdaptor pa, Atom other) -> Atom
8108  setup_particle(Model m, ParticleIndex pi, AtomType atom_type) -> Atom
8109  setup_particle(_ParticleAdaptor pa, AtomType atom_type) -> Atom
8110  """
8111  return _IMP_atom.Atom_setup_particle(*args)
8112 
8113  @staticmethod
8114  def get_is_setup(*args):
8115  r"""
8116  get_is_setup(_ParticleAdaptor p) -> bool
8117  get_is_setup(Model m, ParticleIndex pi) -> bool
8118  """
8119  return _IMP_atom.Atom_get_is_setup(*args)
8120 
8121  def get_atom_type(self):
8122  r"""get_atom_type(Atom self) -> AtomType"""
8123  return _IMP_atom.Atom_get_atom_type(self)
8124 
8125  def set_atom_type(self, t):
8126  r"""set_atom_type(Atom self, AtomType t)"""
8127  return _IMP_atom.Atom_set_atom_type(self, t)
8128 
8129  def get_element(self):
8130  r"""get_element(Atom self) -> IMP::atom::Element"""
8131  return _IMP_atom.Atom_get_element(self)
8132 
8133  def set_element(self, e):
8134  r"""set_element(Atom self, IMP::atom::Element e)"""
8135  return _IMP_atom.Atom_set_element(self, e)
8136 
8137  def get_occupancy(self):
8138  r"""get_occupancy(Atom self) -> double"""
8139  return _IMP_atom.Atom_get_occupancy(self)
8140 
8141  def set_occupancy(self, occupancy):
8142  r"""set_occupancy(Atom self, double occupancy)"""
8143  return _IMP_atom.Atom_set_occupancy(self, occupancy)
8144 
8145  def get_temperature_factor(self):
8146  r"""get_temperature_factor(Atom self) -> double"""
8147  return _IMP_atom.Atom_get_temperature_factor(self)
8148 
8149  def set_temperature_factor(self, tempFactor):
8150  r"""set_temperature_factor(Atom self, double tempFactor)"""
8151  return _IMP_atom.Atom_set_temperature_factor(self, tempFactor)
8152 
8153  def get_input_index(self):
8154  r"""get_input_index(Atom self) -> IMP::Int"""
8155  return _IMP_atom.Atom_get_input_index(self)
8156 
8157  def set_input_index(self, t):
8158  r"""set_input_index(Atom self, IMP::Int t)"""
8159  return _IMP_atom.Atom_set_input_index(self, t)
8160 
8161  @staticmethod
8162  def get_atom_type_key():
8163  r"""get_atom_type_key() -> IntKey"""
8164  return _IMP_atom.Atom_get_atom_type_key()
8165 
8166  @staticmethod
8167  def get_element_key():
8168  r"""get_element_key() -> IntKey"""
8169  return _IMP_atom.Atom_get_element_key()
8170 
8171  @staticmethod
8172  def get_input_index_key():
8173  r"""get_input_index_key() -> IntKey"""
8174  return _IMP_atom.Atom_get_input_index_key()
8175 
8176  @staticmethod
8177  def get_occupancy_key():
8178  r"""get_occupancy_key() -> FloatKey"""
8179  return _IMP_atom.Atom_get_occupancy_key()
8180 
8181  @staticmethod
8182  def get_temperature_factor_key():
8183  r"""get_temperature_factor_key() -> FloatKey"""
8184  return _IMP_atom.Atom_get_temperature_factor_key()
8185 
8186  def add_attribute(self, *args):
8187  r"""
8188  add_attribute(Atom self, FloatKey k, IMP::Float v, bool opt)
8189  add_attribute(Atom self, FloatKey a0, IMP::Float a1)
8190  add_attribute(Atom self, IntKey a0, IMP::Int a1)
8191  add_attribute(Atom self, FloatsKey a0, IMP::Floats a1)
8192  add_attribute(Atom self, IntsKey a0, IMP::Ints a1)
8193  add_attribute(Atom self, StringKey a0, IMP::String a1)
8194  add_attribute(Atom self, ParticleIndexKey a0, Particle a1)
8195  add_attribute(Atom self, ObjectKey a0, Object a1)
8196  add_attribute(Atom self, SparseFloatKey a0, IMP::Float a1)
8197  add_attribute(Atom self, SparseIntKey a0, IMP::Int a1)
8198  add_attribute(Atom self, SparseStringKey a0, IMP::String a1)
8199  add_attribute(Atom self, SparseParticleIndexKey a0, ParticleIndex a1)
8200  """
8201  return _IMP_atom.Atom_add_attribute(self, *args)
8202 
8203  def get_value(self, *args):
8204  r"""
8205  get_value(Atom self, FloatKey a0) -> IMP::Float
8206  get_value(Atom self, IntKey a0) -> IMP::Int
8207  get_value(Atom self, FloatsKey a0) -> IMP::Floats
8208  get_value(Atom self, IntsKey a0) -> IMP::Ints
8209  get_value(Atom self, StringKey a0) -> IMP::String
8210  get_value(Atom self, ParticleIndexKey a0) -> Particle
8211  get_value(Atom self, ObjectKey a0) -> Object
8212  get_value(Atom self, SparseFloatKey a0) -> IMP::Float
8213  get_value(Atom self, SparseIntKey a0) -> IMP::Int
8214  get_value(Atom self, SparseStringKey a0) -> IMP::String
8215  get_value(Atom self, SparseParticleIndexKey a0) -> ParticleIndex
8216  """
8217  return _IMP_atom.Atom_get_value(self, *args)
8218 
8219  def set_value(self, *args):
8220  r"""
8221  set_value(Atom self, FloatKey a0, IMP::Float a1)
8222  set_value(Atom self, IntKey a0, IMP::Int a1)
8223  set_value(Atom self, FloatsKey a0, IMP::Floats a1)
8224  set_value(Atom self, IntsKey a0, IMP::Ints a1)
8225  set_value(Atom self, StringKey a0, IMP::String a1)
8226  set_value(Atom self, ParticleIndexKey a0, Particle a1)
8227  set_value(Atom self, ObjectKey a0, Object a1)
8228  set_value(Atom self, SparseFloatKey a0, IMP::Float a1)
8229  set_value(Atom self, SparseIntKey a0, IMP::Int a1)
8230  set_value(Atom self, SparseStringKey a0, IMP::String a1)
8231  set_value(Atom self, SparseParticleIndexKey a0, ParticleIndex a1)
8232  """
8233  return _IMP_atom.Atom_set_value(self, *args)
8234 
8235  def remove_attribute(self, *args):
8236  r"""
8237  remove_attribute(Atom self, FloatKey a0)
8238  remove_attribute(Atom self, IntKey a0)
8239  remove_attribute(Atom self, FloatsKey a0)
8240  remove_attribute(Atom self, IntsKey a0)
8241  remove_attribute(Atom self, StringKey a0)
8242  remove_attribute(Atom self, ParticleIndexKey a0)
8243  remove_attribute(Atom self, ObjectKey a0)
8244  remove_attribute(Atom self, SparseFloatKey a0)
8245  remove_attribute(Atom self, SparseIntKey a0)
8246  remove_attribute(Atom self, SparseStringKey a0)
8247  remove_attribute(Atom self, SparseParticleIndexKey a0)
8248  """
8249  return _IMP_atom.Atom_remove_attribute(self, *args)
8250 
8251  def has_attribute(self, *args):
8252  r"""
8253  has_attribute(Atom self, FloatKey a0) -> bool
8254  has_attribute(Atom self, IntKey a0) -> bool
8255  has_attribute(Atom self, FloatsKey a0) -> bool
8256  has_attribute(Atom self, IntsKey a0) -> bool
8257  has_attribute(Atom self, StringKey a0) -> bool
8258  has_attribute(Atom self, ParticleIndexKey a0) -> bool
8259  has_attribute(Atom self, ObjectKey a0) -> bool
8260  has_attribute(Atom self, SparseFloatKey a0) -> bool
8261  has_attribute(Atom self, SparseIntKey a0) -> bool
8262  has_attribute(Atom self, SparseStringKey a0) -> bool
8263  has_attribute(Atom self, SparseParticleIndexKey a0) -> bool
8264  """
8265  return _IMP_atom.Atom_has_attribute(self, *args)
8266 
8267  def get_derivative(self, a0):
8268  r"""get_derivative(Atom self, FloatKey a0) -> double"""
8269  return _IMP_atom.Atom_get_derivative(self, a0)
8270 
8271  def get_name(self):
8272  r"""get_name(Atom self) -> std::string"""
8273  return _IMP_atom.Atom_get_name(self)
8274 
8275  def clear_caches(self):
8276  r"""clear_caches(Atom self)"""
8277  return _IMP_atom.Atom_clear_caches(self)
8278 
8279  def set_name(self, a0):
8280  r"""set_name(Atom self, std::string a0)"""
8281  return _IMP_atom.Atom_set_name(self, a0)
8282 
8283  def set_check_level(self, a0):
8284  r"""set_check_level(Atom self, IMP::CheckLevel a0)"""
8285  return _IMP_atom.Atom_set_check_level(self, a0)
8286 
8287  def add_to_derivative(self, a0, a1, a2):
8288  r"""add_to_derivative(Atom self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8289  return _IMP_atom.Atom_add_to_derivative(self, a0, a1, a2)
8290 
8291  def set_is_optimized(self, a0, a1):
8292  r"""set_is_optimized(Atom self, FloatKey a0, bool a1)"""
8293  return _IMP_atom.Atom_set_is_optimized(self, a0, a1)
8294 
8295  def get_is_optimized(self, a0):
8296  r"""get_is_optimized(Atom self, FloatKey a0) -> bool"""
8297  return _IMP_atom.Atom_get_is_optimized(self, a0)
8298 
8299  def get_check_level(self):
8300  r"""get_check_level(Atom self) -> IMP::CheckLevel"""
8301  return _IMP_atom.Atom_get_check_level(self)
8302 
8303  def __eq__(self, *args):
8304  r"""
8305  __eq__(Atom self, Atom o) -> bool
8306  __eq__(Atom self, Particle d) -> bool
8307  """
8308  return _IMP_atom.Atom___eq__(self, *args)
8309 
8310  def __ne__(self, *args):
8311  r"""
8312  __ne__(Atom self, Atom o) -> bool
8313  __ne__(Atom self, Particle d) -> bool
8314  """
8315  return _IMP_atom.Atom___ne__(self, *args)
8316 
8317  def __le__(self, *args):
8318  r"""
8319  __le__(Atom self, Atom o) -> bool
8320  __le__(Atom self, Particle d) -> bool
8321  """
8322  return _IMP_atom.Atom___le__(self, *args)
8323 
8324  def __lt__(self, *args):
8325  r"""
8326  __lt__(Atom self, Atom o) -> bool
8327  __lt__(Atom self, Particle d) -> bool
8328  """
8329  return _IMP_atom.Atom___lt__(self, *args)
8330 
8331  def __ge__(self, *args):
8332  r"""
8333  __ge__(Atom self, Atom o) -> bool
8334  __ge__(Atom self, Particle d) -> bool
8335  """
8336  return _IMP_atom.Atom___ge__(self, *args)
8337 
8338  def __gt__(self, *args):
8339  r"""
8340  __gt__(Atom self, Atom o) -> bool
8341  __gt__(Atom self, Particle d) -> bool
8342  """
8343  return _IMP_atom.Atom___gt__(self, *args)
8344 
8345  def __hash__(self):
8346  r"""__hash__(Atom self) -> std::size_t"""
8347  return _IMP_atom.Atom___hash__(self)
8348 
8349  def __str__(self):
8350  r"""__str__(Atom self) -> std::string"""
8351  return _IMP_atom.Atom___str__(self)
8352 
8353  def __repr__(self):
8354  r"""__repr__(Atom self) -> std::string"""
8355  return _IMP_atom.Atom___repr__(self)
8356 
8357  def _get_as_binary(self):
8358  r"""_get_as_binary(Atom self) -> PyObject *"""
8359  return _IMP_atom.Atom__get_as_binary(self)
8360 
8361  def _set_from_binary(self, p):
8362  r"""_set_from_binary(Atom self, PyObject * p)"""
8363  return _IMP_atom.Atom__set_from_binary(self, p)
8364 
8365  def __getstate__(self):
8366  p = self._get_as_binary()
8367  if len(self.__dict__) > 1:
8368  d = self.__dict__.copy()
8369  del d['this']
8370  p = (d, p)
8371  return p
8372 
8373  def __setstate__(self, p):
8374  if not hasattr(self, 'this'):
8375  self.__init__()
8376  if isinstance(p, tuple):
8377  d, p = p
8378  self.__dict__.update(d)
8379  return self._set_from_binary(p)
8380 
8381  __swig_destroy__ = _IMP_atom.delete_Atom
8382 
8383 # Register Atom in _IMP_atom:
8384 _IMP_atom.Atom_swigregister(Atom)
8385 cvar = _IMP_atom.cvar
8386 AT_UNKNOWN = cvar.AT_UNKNOWN
8387 AT_N = cvar.AT_N
8388 AT_CA = cvar.AT_CA
8389 AT_C = cvar.AT_C
8390 AT_O = cvar.AT_O
8391 AT_H = cvar.AT_H
8392 AT_H1 = cvar.AT_H1
8393 AT_H2 = cvar.AT_H2
8394 AT_H3 = cvar.AT_H3
8395 AT_HA = cvar.AT_HA
8396 AT_HA1 = cvar.AT_HA1
8397 AT_HA2 = cvar.AT_HA2
8398 AT_HA3 = cvar.AT_HA3
8399 AT_CB = cvar.AT_CB
8400 AT_HB = cvar.AT_HB
8401 AT_HB1 = cvar.AT_HB1
8402 AT_HB2 = cvar.AT_HB2
8403 AT_HB3 = cvar.AT_HB3
8404 AT_OXT = cvar.AT_OXT
8405 AT_CH3 = cvar.AT_CH3
8406 AT_CH = cvar.AT_CH
8407 AT_CG = cvar.AT_CG
8408 AT_CG1 = cvar.AT_CG1
8409 AT_CG2 = cvar.AT_CG2
8410 AT_HG = cvar.AT_HG
8411 AT_HG1 = cvar.AT_HG1
8412 AT_HG2 = cvar.AT_HG2
8413 AT_HG3 = cvar.AT_HG3
8414 AT_HG11 = cvar.AT_HG11
8415 AT_HG21 = cvar.AT_HG21
8416 AT_HG31 = cvar.AT_HG31
8417 AT_HG12 = cvar.AT_HG12
8418 AT_HG13 = cvar.AT_HG13
8419 AT_HG22 = cvar.AT_HG22
8420 AT_HG23 = cvar.AT_HG23
8421 AT_HG32 = cvar.AT_HG32
8422 AT_OG = cvar.AT_OG
8423 AT_OG1 = cvar.AT_OG1
8424 AT_SG = cvar.AT_SG
8425 AT_CD = cvar.AT_CD
8426 AT_CD1 = cvar.AT_CD1
8427 AT_CD2 = cvar.AT_CD2
8428 AT_HD = cvar.AT_HD
8429 AT_HD1 = cvar.AT_HD1
8430 AT_HD2 = cvar.AT_HD2
8431 AT_HD3 = cvar.AT_HD3
8432 AT_HD11 = cvar.AT_HD11
8433 AT_HD21 = cvar.AT_HD21
8434 AT_HD31 = cvar.AT_HD31
8435 AT_HD12 = cvar.AT_HD12
8436 AT_HD13 = cvar.AT_HD13
8437 AT_HD22 = cvar.AT_HD22
8438 AT_HD23 = cvar.AT_HD23
8439 AT_HD32 = cvar.AT_HD32
8440 AT_SD = cvar.AT_SD
8441 AT_OD1 = cvar.AT_OD1
8442 AT_OD2 = cvar.AT_OD2
8443 AT_ND1 = cvar.AT_ND1
8444 AT_ND2 = cvar.AT_ND2
8445 AT_CE = cvar.AT_CE
8446 AT_CE1 = cvar.AT_CE1
8447 AT_CE2 = cvar.AT_CE2
8448 AT_CE3 = cvar.AT_CE3
8449 AT_HE = cvar.AT_HE
8450 AT_HE1 = cvar.AT_HE1
8451 AT_HE2 = cvar.AT_HE2
8452 AT_HE3 = cvar.AT_HE3
8453 AT_HE21 = cvar.AT_HE21
8454 AT_HE22 = cvar.AT_HE22
8455 AT_OE1 = cvar.AT_OE1
8456 AT_OE2 = cvar.AT_OE2
8457 AT_NE = cvar.AT_NE
8458 AT_NE1 = cvar.AT_NE1
8459 AT_NE2 = cvar.AT_NE2
8460 AT_CZ = cvar.AT_CZ
8461 AT_CZ2 = cvar.AT_CZ2
8462 AT_CZ3 = cvar.AT_CZ3
8463 AT_NZ = cvar.AT_NZ
8464 AT_HZ = cvar.AT_HZ
8465 AT_HZ1 = cvar.AT_HZ1
8466 AT_HZ2 = cvar.AT_HZ2
8467 AT_HZ3 = cvar.AT_HZ3
8468 AT_CH2 = cvar.AT_CH2
8469 AT_NH1 = cvar.AT_NH1
8470 AT_NH2 = cvar.AT_NH2
8471 AT_OH = cvar.AT_OH
8472 AT_HH = cvar.AT_HH
8473 AT_HH11 = cvar.AT_HH11
8474 AT_HH21 = cvar.AT_HH21
8475 AT_HH2 = cvar.AT_HH2
8476 AT_HH12 = cvar.AT_HH12
8477 AT_HH22 = cvar.AT_HH22
8478 AT_HH13 = cvar.AT_HH13
8479 AT_HH23 = cvar.AT_HH23
8480 AT_HH33 = cvar.AT_HH33
8481 AT_P = cvar.AT_P
8482 AT_OP1 = cvar.AT_OP1
8483 AT_OP2 = cvar.AT_OP2
8484 AT_OP3 = cvar.AT_OP3
8485 AT_O5p = cvar.AT_O5p
8486 AT_C5p = cvar.AT_C5p
8487 AT_H5p = cvar.AT_H5p
8488 AT_H5pp = cvar.AT_H5pp
8489 AT_C4p = cvar.AT_C4p
8490 AT_H4p = cvar.AT_H4p
8491 AT_O4p = cvar.AT_O4p
8492 AT_C1p = cvar.AT_C1p
8493 AT_H1p = cvar.AT_H1p
8494 AT_C3p = cvar.AT_C3p
8495 AT_H3p = cvar.AT_H3p
8496 AT_O3p = cvar.AT_O3p
8497 AT_C2p = cvar.AT_C2p
8498 AT_H2p = cvar.AT_H2p
8499 AT_H2pp = cvar.AT_H2pp
8500 AT_O2p = cvar.AT_O2p
8501 AT_HO2p = cvar.AT_HO2p
8502 AT_N9 = cvar.AT_N9
8503 AT_C8 = cvar.AT_C8
8504 AT_H8 = cvar.AT_H8
8505 AT_N7 = cvar.AT_N7
8506 AT_C5 = cvar.AT_C5
8507 AT_C4 = cvar.AT_C4
8508 AT_N3 = cvar.AT_N3
8509 AT_C2 = cvar.AT_C2
8510 AT_N1 = cvar.AT_N1
8511 AT_C6 = cvar.AT_C6
8512 AT_N6 = cvar.AT_N6
8513 AT_H61 = cvar.AT_H61
8514 AT_H62 = cvar.AT_H62
8515 AT_O6 = cvar.AT_O6
8516 AT_N2 = cvar.AT_N2
8517 AT_NT = cvar.AT_NT
8518 AT_H21 = cvar.AT_H21
8519 AT_H22 = cvar.AT_H22
8520 AT_H6 = cvar.AT_H6
8521 AT_H5 = cvar.AT_H5
8522 AT_O2 = cvar.AT_O2
8523 AT_N4 = cvar.AT_N4
8524 AT_H41 = cvar.AT_H41
8525 AT_H42 = cvar.AT_H42
8526 AT_O4 = cvar.AT_O4
8527 AT_C7 = cvar.AT_C7
8528 AT_H71 = cvar.AT_H71
8529 AT_H72 = cvar.AT_H72
8530 AT_H73 = cvar.AT_H73
8531 AT_O1A = cvar.AT_O1A
8532 AT_O2A = cvar.AT_O2A
8533 AT_O3A = cvar.AT_O3A
8534 AT_O1B = cvar.AT_O1B
8535 AT_O2B = cvar.AT_O2B
8536 AT_O3B = cvar.AT_O3B
8537 AT_CAY = cvar.AT_CAY
8538 AT_CY = cvar.AT_CY
8539 AT_OY = cvar.AT_OY
8540 AT_CAT = cvar.AT_CAT
8541 
8542 
8543 def get_residue(*args):
8544  r"""
8545  get_residue(Hierarchy mhd, unsigned int index) -> Hierarchy
8546  get_residue(Atom d, bool nothrow=False) -> Residue
8547  """
8548  return _IMP_atom.get_residue(*args)
8549 
8550 def get_atom(rd, at):
8551  r"""get_atom(Residue rd, AtomType at) -> Atom"""
8552  return _IMP_atom.get_atom(rd, at)
8553 
8554 def add_atom_type(name, e):
8555  r"""add_atom_type(std::string name, IMP::atom::Element e) -> AtomType"""
8556  return _IMP_atom.add_atom_type(name, e)
8557 
8558 def get_element_for_atom_type(at):
8559  r"""get_element_for_atom_type(AtomType at) -> IMP::atom::Element"""
8560  return _IMP_atom.get_element_for_atom_type(at)
8561 
8562 def get_atom_type_exists(name):
8563  r"""get_atom_type_exists(std::string name) -> bool"""
8564  return _IMP_atom.get_atom_type_exists(name)
8565 class Residue(Hierarchy):
8566  r"""Proxy of C++ IMP::atom::Residue class."""
8567 
8568  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8569 
8570  def __init__(self, *args):
8571  r"""
8572  __init__(Residue self) -> Residue
8573  __init__(Residue self, Model m, ParticleIndex id) -> Residue
8574  __init__(Residue self, _ParticleAdaptor d) -> Residue
8575  """
8576  _IMP_atom.Residue_swiginit(self, _IMP_atom.new_Residue(*args))
8577 
8578  def show(self, *args):
8579  r"""show(Residue self, _ostream out=std::cout)"""
8580  return _IMP_atom.Residue_show(self, *args)
8581 
8582  @staticmethod
8583  def setup_particle(*args):
8584  r"""
8585  setup_particle(Model m, ParticleIndex pi, ResidueType t, int index, int insertion_code) -> Residue
8586  setup_particle(_ParticleAdaptor pa, ResidueType t, int index, int insertion_code) -> Residue
8587  setup_particle(Model m, ParticleIndex pi, ResidueType t, int index) -> Residue
8588  setup_particle(_ParticleAdaptor pa, ResidueType t, int index) -> Residue
8589  setup_particle(Model m, ParticleIndex pi, ResidueType t) -> Residue
8590  setup_particle(_ParticleAdaptor pa, ResidueType t) -> Residue
8591  setup_particle(Model m, ParticleIndex pi, Residue other) -> Residue
8592  setup_particle(_ParticleAdaptor pa, Residue other) -> Residue
8593  """
8594  return _IMP_atom.Residue_setup_particle(*args)
8595 
8596  @staticmethod
8597  def get_is_setup(*args):
8598  r"""
8599  get_is_setup(_ParticleAdaptor p) -> bool
8600  get_is_setup(Model m, ParticleIndex pi) -> bool
8601  """
8602  return _IMP_atom.Residue_get_is_setup(*args)
8603 
8604  def get_residue_type(self):
8605  r"""get_residue_type(Residue self) -> ResidueType"""
8606  return _IMP_atom.Residue_get_residue_type(self)
8607 
8608  def set_residue_type(self, t):
8609  r"""set_residue_type(Residue self, ResidueType t)"""
8610  return _IMP_atom.Residue_set_residue_type(self, t)
8611 
8612  def get_is_protein(self):
8613  r"""get_is_protein(Residue self) -> bool"""
8614  return _IMP_atom.Residue_get_is_protein(self)
8615 
8616  def get_is_dna(self):
8617  r"""get_is_dna(Residue self) -> bool"""
8618  return _IMP_atom.Residue_get_is_dna(self)
8619 
8620  def get_is_rna(self):
8621  r"""get_is_rna(Residue self) -> bool"""
8622  return _IMP_atom.Residue_get_is_rna(self)
8623 
8624  def get_index(self):
8625  r"""get_index(Residue self) -> IMP::Int"""
8626  return _IMP_atom.Residue_get_index(self)
8627 
8628  def set_index(self, t):
8629  r"""set_index(Residue self, IMP::Int t)"""
8630  return _IMP_atom.Residue_set_index(self, t)
8631 
8632  def get_insertion_code(self):
8633  r"""get_insertion_code(Residue self) -> char"""
8634  return _IMP_atom.Residue_get_insertion_code(self)
8635 
8636  def set_insertion_code(self, insertion_code):
8637  r"""set_insertion_code(Residue self, char insertion_code)"""
8638  return _IMP_atom.Residue_set_insertion_code(self, insertion_code)
8639 
8640  @staticmethod
8641  def get_index_key():
8642  r"""get_index_key() -> IntKey"""
8643  return _IMP_atom.Residue_get_index_key()
8644 
8645  @staticmethod
8646  def get_residue_type_key():
8647  r"""get_residue_type_key() -> IntKey"""
8648  return _IMP_atom.Residue_get_residue_type_key()
8649 
8650  @staticmethod
8651  def get_insertion_code_key():
8652  r"""get_insertion_code_key() -> IntKey"""
8653  return _IMP_atom.Residue_get_insertion_code_key()
8654 
8655  @staticmethod
8656  def get_type_changed_key():
8657  r"""get_type_changed_key() -> TriggerKey"""
8658  return _IMP_atom.Residue_get_type_changed_key()
8659 
8660  def add_attribute(self, *args):
8661  r"""
8662  add_attribute(Residue self, FloatKey k, IMP::Float v, bool opt)
8663  add_attribute(Residue self, FloatKey a0, IMP::Float a1)
8664  add_attribute(Residue self, IntKey a0, IMP::Int a1)
8665  add_attribute(Residue self, FloatsKey a0, IMP::Floats a1)
8666  add_attribute(Residue self, IntsKey a0, IMP::Ints a1)
8667  add_attribute(Residue self, StringKey a0, IMP::String a1)
8668  add_attribute(Residue self, ParticleIndexKey a0, Particle a1)
8669  add_attribute(Residue self, ObjectKey a0, Object a1)
8670  add_attribute(Residue self, SparseFloatKey a0, IMP::Float a1)
8671  add_attribute(Residue self, SparseIntKey a0, IMP::Int a1)
8672  add_attribute(Residue self, SparseStringKey a0, IMP::String a1)
8673  add_attribute(Residue self, SparseParticleIndexKey a0, ParticleIndex a1)
8674  """
8675  return _IMP_atom.Residue_add_attribute(self, *args)
8676 
8677  def get_value(self, *args):
8678  r"""
8679  get_value(Residue self, FloatKey a0) -> IMP::Float
8680  get_value(Residue self, IntKey a0) -> IMP::Int
8681  get_value(Residue self, FloatsKey a0) -> IMP::Floats
8682  get_value(Residue self, IntsKey a0) -> IMP::Ints
8683  get_value(Residue self, StringKey a0) -> IMP::String
8684  get_value(Residue self, ParticleIndexKey a0) -> Particle
8685  get_value(Residue self, ObjectKey a0) -> Object
8686  get_value(Residue self, SparseFloatKey a0) -> IMP::Float
8687  get_value(Residue self, SparseIntKey a0) -> IMP::Int
8688  get_value(Residue self, SparseStringKey a0) -> IMP::String
8689  get_value(Residue self, SparseParticleIndexKey a0) -> ParticleIndex
8690  """
8691  return _IMP_atom.Residue_get_value(self, *args)
8692 
8693  def set_value(self, *args):
8694  r"""
8695  set_value(Residue self, FloatKey a0, IMP::Float a1)
8696  set_value(Residue self, IntKey a0, IMP::Int a1)
8697  set_value(Residue self, FloatsKey a0, IMP::Floats a1)
8698  set_value(Residue self, IntsKey a0, IMP::Ints a1)
8699  set_value(Residue self, StringKey a0, IMP::String a1)
8700  set_value(Residue self, ParticleIndexKey a0, Particle a1)
8701  set_value(Residue self, ObjectKey a0, Object a1)
8702  set_value(Residue self, SparseFloatKey a0, IMP::Float a1)
8703  set_value(Residue self, SparseIntKey a0, IMP::Int a1)
8704  set_value(Residue self, SparseStringKey a0, IMP::String a1)
8705  set_value(Residue self, SparseParticleIndexKey a0, ParticleIndex a1)
8706  """
8707  return _IMP_atom.Residue_set_value(self, *args)
8708 
8709  def remove_attribute(self, *args):
8710  r"""
8711  remove_attribute(Residue self, FloatKey a0)
8712  remove_attribute(Residue self, IntKey a0)
8713  remove_attribute(Residue self, FloatsKey a0)
8714  remove_attribute(Residue self, IntsKey a0)
8715  remove_attribute(Residue self, StringKey a0)
8716  remove_attribute(Residue self, ParticleIndexKey a0)
8717  remove_attribute(Residue self, ObjectKey a0)
8718  remove_attribute(Residue self, SparseFloatKey a0)
8719  remove_attribute(Residue self, SparseIntKey a0)
8720  remove_attribute(Residue self, SparseStringKey a0)
8721  remove_attribute(Residue self, SparseParticleIndexKey a0)
8722  """
8723  return _IMP_atom.Residue_remove_attribute(self, *args)
8724 
8725  def has_attribute(self, *args):
8726  r"""
8727  has_attribute(Residue self, FloatKey a0) -> bool
8728  has_attribute(Residue self, IntKey a0) -> bool
8729  has_attribute(Residue self, FloatsKey a0) -> bool
8730  has_attribute(Residue self, IntsKey a0) -> bool
8731  has_attribute(Residue self, StringKey a0) -> bool
8732  has_attribute(Residue self, ParticleIndexKey a0) -> bool
8733  has_attribute(Residue self, ObjectKey a0) -> bool
8734  has_attribute(Residue self, SparseFloatKey a0) -> bool
8735  has_attribute(Residue self, SparseIntKey a0) -> bool
8736  has_attribute(Residue self, SparseStringKey a0) -> bool
8737  has_attribute(Residue self, SparseParticleIndexKey a0) -> bool
8738  """
8739  return _IMP_atom.Residue_has_attribute(self, *args)
8740 
8741  def get_derivative(self, a0):
8742  r"""get_derivative(Residue self, FloatKey a0) -> double"""
8743  return _IMP_atom.Residue_get_derivative(self, a0)
8744 
8745  def get_name(self):
8746  r"""get_name(Residue self) -> std::string"""
8747  return _IMP_atom.Residue_get_name(self)
8748 
8749  def clear_caches(self):
8750  r"""clear_caches(Residue self)"""
8751  return _IMP_atom.Residue_clear_caches(self)
8752 
8753  def set_name(self, a0):
8754  r"""set_name(Residue self, std::string a0)"""
8755  return _IMP_atom.Residue_set_name(self, a0)
8756 
8757  def set_check_level(self, a0):
8758  r"""set_check_level(Residue self, IMP::CheckLevel a0)"""
8759  return _IMP_atom.Residue_set_check_level(self, a0)
8760 
8761  def add_to_derivative(self, a0, a1, a2):
8762  r"""add_to_derivative(Residue self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8763  return _IMP_atom.Residue_add_to_derivative(self, a0, a1, a2)
8764 
8765  def set_is_optimized(self, a0, a1):
8766  r"""set_is_optimized(Residue self, FloatKey a0, bool a1)"""
8767  return _IMP_atom.Residue_set_is_optimized(self, a0, a1)
8768 
8769  def get_is_optimized(self, a0):
8770  r"""get_is_optimized(Residue self, FloatKey a0) -> bool"""
8771  return _IMP_atom.Residue_get_is_optimized(self, a0)
8772 
8773  def get_check_level(self):
8774  r"""get_check_level(Residue self) -> IMP::CheckLevel"""
8775  return _IMP_atom.Residue_get_check_level(self)
8776 
8777  def __eq__(self, *args):
8778  r"""
8779  __eq__(Residue self, Residue o) -> bool
8780  __eq__(Residue self, Particle d) -> bool
8781  """
8782  return _IMP_atom.Residue___eq__(self, *args)
8783 
8784  def __ne__(self, *args):
8785  r"""
8786  __ne__(Residue self, Residue o) -> bool
8787  __ne__(Residue self, Particle d) -> bool
8788  """
8789  return _IMP_atom.Residue___ne__(self, *args)
8790 
8791  def __le__(self, *args):
8792  r"""
8793  __le__(Residue self, Residue o) -> bool
8794  __le__(Residue self, Particle d) -> bool
8795  """
8796  return _IMP_atom.Residue___le__(self, *args)
8797 
8798  def __lt__(self, *args):
8799  r"""
8800  __lt__(Residue self, Residue o) -> bool
8801  __lt__(Residue self, Particle d) -> bool
8802  """
8803  return _IMP_atom.Residue___lt__(self, *args)
8804 
8805  def __ge__(self, *args):
8806  r"""
8807  __ge__(Residue self, Residue o) -> bool
8808  __ge__(Residue self, Particle d) -> bool
8809  """
8810  return _IMP_atom.Residue___ge__(self, *args)
8811 
8812  def __gt__(self, *args):
8813  r"""
8814  __gt__(Residue self, Residue o) -> bool
8815  __gt__(Residue self, Particle d) -> bool
8816  """
8817  return _IMP_atom.Residue___gt__(self, *args)
8818 
8819  def __hash__(self):
8820  r"""__hash__(Residue self) -> std::size_t"""
8821  return _IMP_atom.Residue___hash__(self)
8822 
8823  def __str__(self):
8824  r"""__str__(Residue self) -> std::string"""
8825  return _IMP_atom.Residue___str__(self)
8826 
8827  def __repr__(self):
8828  r"""__repr__(Residue self) -> std::string"""
8829  return _IMP_atom.Residue___repr__(self)
8830 
8831  def _get_as_binary(self):
8832  r"""_get_as_binary(Residue self) -> PyObject *"""
8833  return _IMP_atom.Residue__get_as_binary(self)
8834 
8835  def _set_from_binary(self, p):
8836  r"""_set_from_binary(Residue self, PyObject * p)"""
8837  return _IMP_atom.Residue__set_from_binary(self, p)
8838 
8839  def __getstate__(self):
8840  p = self._get_as_binary()
8841  if len(self.__dict__) > 1:
8842  d = self.__dict__.copy()
8843  del d['this']
8844  p = (d, p)
8845  return p
8846 
8847  def __setstate__(self, p):
8848  if not hasattr(self, 'this'):
8849  self.__init__()
8850  if isinstance(p, tuple):
8851  d, p = p
8852  self.__dict__.update(d)
8853  return self._set_from_binary(p)
8854 
8855  __swig_destroy__ = _IMP_atom.delete_Residue
8856 
8857 # Register Residue in _IMP_atom:
8858 _IMP_atom.Residue_swigregister(Residue)
8859 UNK = cvar.UNK
8860 GLY = cvar.GLY
8861 ALA = cvar.ALA
8862 VAL = cvar.VAL
8863 LEU = cvar.LEU
8864 ILE = cvar.ILE
8865 SER = cvar.SER
8866 THR = cvar.THR
8867 CYS = cvar.CYS
8868 MET = cvar.MET
8869 PRO = cvar.PRO
8870 ASP = cvar.ASP
8871 ASN = cvar.ASN
8872 GLU = cvar.GLU
8873 GLN = cvar.GLN
8874 LYS = cvar.LYS
8875 ARG = cvar.ARG
8876 HIS = cvar.HIS
8877 PHE = cvar.PHE
8878 TYR = cvar.TYR
8879 TRP = cvar.TRP
8880 ACE = cvar.ACE
8881 NH2 = cvar.NH2
8882 MSE = cvar.MSE
8883 ADE = cvar.ADE
8884 URA = cvar.URA
8885 CYT = cvar.CYT
8886 GUA = cvar.GUA
8887 THY = cvar.THY
8888 DADE = cvar.DADE
8889 DURA = cvar.DURA
8890 DCYT = cvar.DCYT
8891 DGUA = cvar.DGUA
8892 DTHY = cvar.DTHY
8893 HOH = cvar.HOH
8894 HEME = cvar.HEME
8895 POP = cvar.POP
8896 
8897 
8898 def get_next_residue(rd):
8899  r"""get_next_residue(Residue rd) -> Hierarchy"""
8900  return _IMP_atom.get_next_residue(rd)
8901 
8902 def get_previous_residue(rd):
8903  r"""get_previous_residue(Residue rd) -> Hierarchy"""
8904  return _IMP_atom.get_previous_residue(rd)
8905 
8906 def get_one_letter_code(c):
8907  r"""get_one_letter_code(ResidueType c) -> char"""
8908  return _IMP_atom.get_one_letter_code(c)
8909 BALLS = _IMP_atom.BALLS
8910 
8911 DENSITIES = _IMP_atom.DENSITIES
8912 
8913 class Representation(Hierarchy):
8914  r"""Proxy of C++ IMP::atom::Representation class."""
8915 
8916  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8917 
8918  @staticmethod
8919  def setup_particle(*args):
8920  r"""
8921  setup_particle(Model m, ParticleIndex pi) -> Representation
8922  setup_particle(_ParticleAdaptor pa) -> Representation
8923  setup_particle(Model m, ParticleIndex pi, double resolution) -> Representation
8924  setup_particle(_ParticleAdaptor pa, double resolution) -> Representation
8925  setup_particle(Model m, ParticleIndex pi, Representation other) -> Representation
8926  setup_particle(_ParticleAdaptor pa, Representation other) -> Representation
8927  """
8928  return _IMP_atom.Representation_setup_particle(*args)
8929 
8930  def __init__(self, *args):
8931  r"""
8932  __init__(Representation self) -> Representation
8933  __init__(Representation self, Model m, ParticleIndex id) -> Representation
8934  __init__(Representation self, _ParticleAdaptor d) -> Representation
8935  """
8936  _IMP_atom.Representation_swiginit(self, _IMP_atom.new_Representation(*args))
8937 
8938  def show(self, *args):
8939  r"""show(Representation self, _ostream out=std::cout)"""
8940  return _IMP_atom.Representation_show(self, *args)
8941 
8942  @staticmethod
8943  def get_is_setup(*args):
8944  r"""
8945  get_is_setup(_ParticleAdaptor p) -> bool
8946  get_is_setup(Model m, ParticleIndex pi) -> bool
8947  """
8948  return _IMP_atom.Representation_get_is_setup(*args)
8949 
8950  def get_representation(self, *args):
8951  r"""get_representation(Representation self, double resolution, IMP::atom::RepresentationType type=BALLS) -> Hierarchy"""
8952  return _IMP_atom.Representation_get_representation(self, *args)
8953 
8954  def get_representations(self, *args):
8955  r"""get_representations(Representation self, IMP::atom::RepresentationType type=BALLS) -> IMP::atom::Hierarchies"""
8956  return _IMP_atom.Representation_get_representations(self, *args)
8957 
8958  def add_representation(self, *args):
8959  r"""add_representation(Representation self, _ParticleIndexAdaptor rep, IMP::atom::RepresentationType type=BALLS, double resolution=-1)"""
8960  return _IMP_atom.Representation_add_representation(self, *args)
8961 
8962  def get_resolutions(self, *args):
8963  r"""get_resolutions(Representation self, IMP::atom::RepresentationType type=BALLS) -> IMP::Floats"""
8964  return _IMP_atom.Representation_get_resolutions(self, *args)
8965 
8966  def remove_representation(self, rep):
8967  r"""remove_representation(Representation self, _ParticleIndexAdaptor rep)"""
8968  return _IMP_atom.Representation_remove_representation(self, rep)
8969 
8970  def update_parents(self):
8971  r"""update_parents(Representation self)"""
8972  return _IMP_atom.Representation_update_parents(self)
8973 
8974  def add_attribute(self, *args):
8975  r"""
8976  add_attribute(Representation self, FloatKey k, IMP::Float v, bool opt)
8977  add_attribute(Representation self, FloatKey a0, IMP::Float a1)
8978  add_attribute(Representation self, IntKey a0, IMP::Int a1)
8979  add_attribute(Representation self, FloatsKey a0, IMP::Floats a1)
8980  add_attribute(Representation self, IntsKey a0, IMP::Ints a1)
8981  add_attribute(Representation self, StringKey a0, IMP::String a1)
8982  add_attribute(Representation self, ParticleIndexKey a0, Particle a1)
8983  add_attribute(Representation self, ObjectKey a0, Object a1)
8984  add_attribute(Representation self, SparseFloatKey a0, IMP::Float a1)
8985  add_attribute(Representation self, SparseIntKey a0, IMP::Int a1)
8986  add_attribute(Representation self, SparseStringKey a0, IMP::String a1)
8987  add_attribute(Representation self, SparseParticleIndexKey a0, ParticleIndex a1)
8988  """
8989  return _IMP_atom.Representation_add_attribute(self, *args)
8990 
8991  def get_value(self, *args):
8992  r"""
8993  get_value(Representation self, FloatKey a0) -> IMP::Float
8994  get_value(Representation self, IntKey a0) -> IMP::Int
8995  get_value(Representation self, FloatsKey a0) -> IMP::Floats
8996  get_value(Representation self, IntsKey a0) -> IMP::Ints
8997  get_value(Representation self, StringKey a0) -> IMP::String
8998  get_value(Representation self, ParticleIndexKey a0) -> Particle
8999  get_value(Representation self, ObjectKey a0) -> Object
9000  get_value(Representation self, SparseFloatKey a0) -> IMP::Float
9001  get_value(Representation self, SparseIntKey a0) -> IMP::Int
9002  get_value(Representation self, SparseStringKey a0) -> IMP::String
9003  get_value(Representation self, SparseParticleIndexKey a0) -> ParticleIndex
9004  """
9005  return _IMP_atom.Representation_get_value(self, *args)
9006 
9007  def set_value(self, *args):
9008  r"""
9009  set_value(Representation self, FloatKey a0, IMP::Float a1)
9010  set_value(Representation self, IntKey a0, IMP::Int a1)
9011  set_value(Representation self, FloatsKey a0, IMP::Floats a1)
9012  set_value(Representation self, IntsKey a0, IMP::Ints a1)
9013  set_value(Representation self, StringKey a0, IMP::String a1)
9014  set_value(Representation self, ParticleIndexKey a0, Particle a1)
9015  set_value(Representation self, ObjectKey a0, Object a1)
9016  set_value(Representation self, SparseFloatKey a0, IMP::Float a1)
9017  set_value(Representation self, SparseIntKey a0, IMP::Int a1)
9018  set_value(Representation self, SparseStringKey a0, IMP::String a1)
9019  set_value(Representation self, SparseParticleIndexKey a0, ParticleIndex a1)
9020  """
9021  return _IMP_atom.Representation_set_value(self, *args)
9022 
9023  def remove_attribute(self, *args):
9024  r"""
9025  remove_attribute(Representation self, FloatKey a0)
9026  remove_attribute(Representation self, IntKey a0)
9027  remove_attribute(Representation self, FloatsKey a0)
9028  remove_attribute(Representation self, IntsKey a0)
9029  remove_attribute(Representation self, StringKey a0)
9030  remove_attribute(Representation self, ParticleIndexKey a0)
9031  remove_attribute(Representation self, ObjectKey a0)
9032  remove_attribute(Representation self, SparseFloatKey a0)
9033  remove_attribute(Representation self, SparseIntKey a0)
9034  remove_attribute(Representation self, SparseStringKey a0)
9035  remove_attribute(Representation self, SparseParticleIndexKey a0)
9036  """
9037  return _IMP_atom.Representation_remove_attribute(self, *args)
9038 
9039  def has_attribute(self, *args):
9040  r"""
9041  has_attribute(Representation self, FloatKey a0) -> bool
9042  has_attribute(Representation self, IntKey a0) -> bool
9043  has_attribute(Representation self, FloatsKey a0) -> bool
9044  has_attribute(Representation self, IntsKey a0) -> bool
9045  has_attribute(Representation self, StringKey a0) -> bool
9046  has_attribute(Representation self, ParticleIndexKey a0) -> bool
9047  has_attribute(Representation self, ObjectKey a0) -> bool
9048  has_attribute(Representation self, SparseFloatKey a0) -> bool
9049  has_attribute(Representation self, SparseIntKey a0) -> bool
9050  has_attribute(Representation self, SparseStringKey a0) -> bool
9051  has_attribute(Representation self, SparseParticleIndexKey a0) -> bool
9052  """
9053  return _IMP_atom.Representation_has_attribute(self, *args)
9054 
9055  def get_derivative(self, a0):
9056  r"""get_derivative(Representation self, FloatKey a0) -> double"""
9057  return _IMP_atom.Representation_get_derivative(self, a0)
9058 
9059  def get_name(self):
9060  r"""get_name(Representation self) -> std::string"""
9061  return _IMP_atom.Representation_get_name(self)
9062 
9063  def clear_caches(self):
9064  r"""clear_caches(Representation self)"""
9065  return _IMP_atom.Representation_clear_caches(self)
9066 
9067  def set_name(self, a0):
9068  r"""set_name(Representation self, std::string a0)"""
9069  return _IMP_atom.Representation_set_name(self, a0)
9070 
9071  def set_check_level(self, a0):
9072  r"""set_check_level(Representation self, IMP::CheckLevel a0)"""
9073  return _IMP_atom.Representation_set_check_level(self, a0)
9074 
9075  def add_to_derivative(self, a0, a1, a2):
9076  r"""add_to_derivative(Representation self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9077  return _IMP_atom.Representation_add_to_derivative(self, a0, a1, a2)
9078 
9079  def set_is_optimized(self, a0, a1):
9080  r"""set_is_optimized(Representation self, FloatKey a0, bool a1)"""
9081  return _IMP_atom.Representation_set_is_optimized(self, a0, a1)
9082 
9083  def get_is_optimized(self, a0):
9084  r"""get_is_optimized(Representation self, FloatKey a0) -> bool"""
9085  return _IMP_atom.Representation_get_is_optimized(self, a0)
9086 
9087  def get_check_level(self):
9088  r"""get_check_level(Representation self) -> IMP::CheckLevel"""
9089  return _IMP_atom.Representation_get_check_level(self)
9090 
9091  def __eq__(self, *args):
9092  r"""
9093  __eq__(Representation self, Representation o) -> bool
9094  __eq__(Representation self, Particle d) -> bool
9095  """
9096  return _IMP_atom.Representation___eq__(self, *args)
9097 
9098  def __ne__(self, *args):
9099  r"""
9100  __ne__(Representation self, Representation o) -> bool
9101  __ne__(Representation self, Particle d) -> bool
9102  """
9103  return _IMP_atom.Representation___ne__(self, *args)
9104 
9105  def __le__(self, *args):
9106  r"""
9107  __le__(Representation self, Representation o) -> bool
9108  __le__(Representation self, Particle d) -> bool
9109  """
9110  return _IMP_atom.Representation___le__(self, *args)
9111 
9112  def __lt__(self, *args):
9113  r"""
9114  __lt__(Representation self, Representation o) -> bool
9115  __lt__(Representation self, Particle d) -> bool
9116  """
9117  return _IMP_atom.Representation___lt__(self, *args)
9118 
9119  def __ge__(self, *args):
9120  r"""
9121  __ge__(Representation self, Representation o) -> bool
9122  __ge__(Representation self, Particle d) -> bool
9123  """
9124  return _IMP_atom.Representation___ge__(self, *args)
9125 
9126  def __gt__(self, *args):
9127  r"""
9128  __gt__(Representation self, Representation o) -> bool
9129  __gt__(Representation self, Particle d) -> bool
9130  """
9131  return _IMP_atom.Representation___gt__(self, *args)
9132 
9133  def __hash__(self):
9134  r"""__hash__(Representation self) -> std::size_t"""
9135  return _IMP_atom.Representation___hash__(self)
9136 
9137  def __str__(self):
9138  r"""__str__(Representation self) -> std::string"""
9139  return _IMP_atom.Representation___str__(self)
9140 
9141  def __repr__(self):
9142  r"""__repr__(Representation self) -> std::string"""
9143  return _IMP_atom.Representation___repr__(self)
9144 
9145  def _get_as_binary(self):
9146  r"""_get_as_binary(Representation self) -> PyObject *"""
9147  return _IMP_atom.Representation__get_as_binary(self)
9148 
9149  def _set_from_binary(self, p):
9150  r"""_set_from_binary(Representation self, PyObject * p)"""
9151  return _IMP_atom.Representation__set_from_binary(self, p)
9152 
9153  def __getstate__(self):
9154  p = self._get_as_binary()
9155  if len(self.__dict__) > 1:
9156  d = self.__dict__.copy()
9157  del d['this']
9158  p = (d, p)
9159  return p
9160 
9161  def __setstate__(self, p):
9162  if not hasattr(self, 'this'):
9163  self.__init__()
9164  if isinstance(p, tuple):
9165  d, p = p
9166  self.__dict__.update(d)
9167  return self._set_from_binary(p)
9168 
9169  __swig_destroy__ = _IMP_atom.delete_Representation
9170 
9171 # Register Representation in _IMP_atom:
9172 _IMP_atom.Representation_swigregister(Representation)
9173 ALL_RESOLUTIONS = cvar.ALL_RESOLUTIONS
9174 
9175 
9176 def get_resolution(*args):
9177  r"""
9178  get_resolution(Model m, ParticleIndex pi) -> double
9179  get_resolution(Hierarchy h) -> double
9180  """
9181  return _IMP_atom.get_resolution(*args)
9182 
9183 def get_representation(h, nothrow=False):
9184  r"""get_representation(Hierarchy h, bool nothrow=False) -> Representation"""
9185  return _IMP_atom.get_representation(h, nothrow)
9186 
9187 def show_with_representations(*args):
9188  r"""show_with_representations(Hierarchy h, _ostream out=std::cout)"""
9189  return _IMP_atom.show_with_representations(*args)
9190 class State(Hierarchy):
9191  r"""Proxy of C++ IMP::atom::State class."""
9192 
9193  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9194 
9195  @staticmethod
9196  def setup_particle(*args):
9197  r"""
9198  setup_particle(Model m, ParticleIndex pi, unsigned int index) -> State
9199  setup_particle(_ParticleAdaptor pa, unsigned int index) -> State
9200  setup_particle(Model m, ParticleIndex pi, State other) -> State
9201  setup_particle(_ParticleAdaptor pa, State other) -> State
9202  """
9203  return _IMP_atom.State_setup_particle(*args)
9204 
9205  def __init__(self, *args):
9206  r"""
9207  __init__(State self) -> State
9208  __init__(State self, Model m, ParticleIndex id) -> State
9209  __init__(State self, _ParticleAdaptor d) -> State
9210  """
9211  _IMP_atom.State_swiginit(self, _IMP_atom.new_State(*args))
9212 
9213  def show(self, *args):
9214  r"""show(State self, _ostream out=std::cout)"""
9215  return _IMP_atom.State_show(self, *args)
9216 
9217  @staticmethod
9218  def get_is_setup(*args):
9219  r"""
9220  get_is_setup(_ParticleAdaptor p) -> bool
9221  get_is_setup(Model m, ParticleIndex pi) -> bool
9222  """
9223  return _IMP_atom.State_get_is_setup(*args)
9224 
9225  def get_state_index(self):
9226  r"""get_state_index(State self) -> unsigned int"""
9227  return _IMP_atom.State_get_state_index(self)
9228 
9229  def add_attribute(self, *args):
9230  r"""
9231  add_attribute(State self, FloatKey k, IMP::Float v, bool opt)
9232  add_attribute(State self, FloatKey a0, IMP::Float a1)
9233  add_attribute(State self, IntKey a0, IMP::Int a1)
9234  add_attribute(State self, FloatsKey a0, IMP::Floats a1)
9235  add_attribute(State self, IntsKey a0, IMP::Ints a1)
9236  add_attribute(State self, StringKey a0, IMP::String a1)
9237  add_attribute(State self, ParticleIndexKey a0, Particle a1)
9238  add_attribute(State self, ObjectKey a0, Object a1)
9239  add_attribute(State self, SparseFloatKey a0, IMP::Float a1)
9240  add_attribute(State self, SparseIntKey a0, IMP::Int a1)
9241  add_attribute(State self, SparseStringKey a0, IMP::String a1)
9242  add_attribute(State self, SparseParticleIndexKey a0, ParticleIndex a1)
9243  """
9244  return _IMP_atom.State_add_attribute(self, *args)
9245 
9246  def get_value(self, *args):
9247  r"""
9248  get_value(State self, FloatKey a0) -> IMP::Float
9249  get_value(State self, IntKey a0) -> IMP::Int
9250  get_value(State self, FloatsKey a0) -> IMP::Floats
9251  get_value(State self, IntsKey a0) -> IMP::Ints
9252  get_value(State self, StringKey a0) -> IMP::String
9253  get_value(State self, ParticleIndexKey a0) -> Particle
9254  get_value(State self, ObjectKey a0) -> Object
9255  get_value(State self, SparseFloatKey a0) -> IMP::Float
9256  get_value(State self, SparseIntKey a0) -> IMP::Int
9257  get_value(State self, SparseStringKey a0) -> IMP::String
9258  get_value(State self, SparseParticleIndexKey a0) -> ParticleIndex
9259  """
9260  return _IMP_atom.State_get_value(self, *args)
9261 
9262  def set_value(self, *args):
9263  r"""
9264  set_value(State self, FloatKey a0, IMP::Float a1)
9265  set_value(State self, IntKey a0, IMP::Int a1)
9266  set_value(State self, FloatsKey a0, IMP::Floats a1)
9267  set_value(State self, IntsKey a0, IMP::Ints a1)
9268  set_value(State self, StringKey a0, IMP::String a1)
9269  set_value(State self, ParticleIndexKey a0, Particle a1)
9270  set_value(State self, ObjectKey a0, Object a1)
9271  set_value(State self, SparseFloatKey a0, IMP::Float a1)
9272  set_value(State self, SparseIntKey a0, IMP::Int a1)
9273  set_value(State self, SparseStringKey a0, IMP::String a1)
9274  set_value(State self, SparseParticleIndexKey a0, ParticleIndex a1)
9275  """
9276  return _IMP_atom.State_set_value(self, *args)
9277 
9278  def remove_attribute(self, *args):
9279  r"""
9280  remove_attribute(State self, FloatKey a0)
9281  remove_attribute(State self, IntKey a0)
9282  remove_attribute(State self, FloatsKey a0)
9283  remove_attribute(State self, IntsKey a0)
9284  remove_attribute(State self, StringKey a0)
9285  remove_attribute(State self, ParticleIndexKey a0)
9286  remove_attribute(State self, ObjectKey a0)
9287  remove_attribute(State self, SparseFloatKey a0)
9288  remove_attribute(State self, SparseIntKey a0)
9289  remove_attribute(State self, SparseStringKey a0)
9290  remove_attribute(State self, SparseParticleIndexKey a0)
9291  """
9292  return _IMP_atom.State_remove_attribute(self, *args)
9293 
9294  def has_attribute(self, *args):
9295  r"""
9296  has_attribute(State self, FloatKey a0) -> bool
9297  has_attribute(State self, IntKey a0) -> bool
9298  has_attribute(State self, FloatsKey a0) -> bool
9299  has_attribute(State self, IntsKey a0) -> bool
9300  has_attribute(State self, StringKey a0) -> bool
9301  has_attribute(State self, ParticleIndexKey a0) -> bool
9302  has_attribute(State self, ObjectKey a0) -> bool
9303  has_attribute(State self, SparseFloatKey a0) -> bool
9304  has_attribute(State self, SparseIntKey a0) -> bool
9305  has_attribute(State self, SparseStringKey a0) -> bool
9306  has_attribute(State self, SparseParticleIndexKey a0) -> bool
9307  """
9308  return _IMP_atom.State_has_attribute(self, *args)
9309 
9310  def get_derivative(self, a0):
9311  r"""get_derivative(State self, FloatKey a0) -> double"""
9312  return _IMP_atom.State_get_derivative(self, a0)
9313 
9314  def get_name(self):
9315  r"""get_name(State self) -> std::string"""
9316  return _IMP_atom.State_get_name(self)
9317 
9318  def clear_caches(self):
9319  r"""clear_caches(State self)"""
9320  return _IMP_atom.State_clear_caches(self)
9321 
9322  def set_name(self, a0):
9323  r"""set_name(State self, std::string a0)"""
9324  return _IMP_atom.State_set_name(self, a0)
9325 
9326  def set_check_level(self, a0):
9327  r"""set_check_level(State self, IMP::CheckLevel a0)"""
9328  return _IMP_atom.State_set_check_level(self, a0)
9329 
9330  def add_to_derivative(self, a0, a1, a2):
9331  r"""add_to_derivative(State self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9332  return _IMP_atom.State_add_to_derivative(self, a0, a1, a2)
9333 
9334  def set_is_optimized(self, a0, a1):
9335  r"""set_is_optimized(State self, FloatKey a0, bool a1)"""
9336  return _IMP_atom.State_set_is_optimized(self, a0, a1)
9337 
9338  def get_is_optimized(self, a0):
9339  r"""get_is_optimized(State self, FloatKey a0) -> bool"""
9340  return _IMP_atom.State_get_is_optimized(self, a0)
9341 
9342  def get_check_level(self):
9343  r"""get_check_level(State self) -> IMP::CheckLevel"""
9344  return _IMP_atom.State_get_check_level(self)
9345 
9346  def __eq__(self, *args):
9347  r"""
9348  __eq__(State self, State o) -> bool
9349  __eq__(State self, Particle d) -> bool
9350  """
9351  return _IMP_atom.State___eq__(self, *args)
9352 
9353  def __ne__(self, *args):
9354  r"""
9355  __ne__(State self, State o) -> bool
9356  __ne__(State self, Particle d) -> bool
9357  """
9358  return _IMP_atom.State___ne__(self, *args)
9359 
9360  def __le__(self, *args):
9361  r"""
9362  __le__(State self, State o) -> bool
9363  __le__(State self, Particle d) -> bool
9364  """
9365  return _IMP_atom.State___le__(self, *args)
9366 
9367  def __lt__(self, *args):
9368  r"""
9369  __lt__(State self, State o) -> bool
9370  __lt__(State self, Particle d) -> bool
9371  """
9372  return _IMP_atom.State___lt__(self, *args)
9373 
9374  def __ge__(self, *args):
9375  r"""
9376  __ge__(State self, State o) -> bool
9377  __ge__(State self, Particle d) -> bool
9378  """
9379  return _IMP_atom.State___ge__(self, *args)
9380 
9381  def __gt__(self, *args):
9382  r"""
9383  __gt__(State self, State o) -> bool
9384  __gt__(State self, Particle d) -> bool
9385  """
9386  return _IMP_atom.State___gt__(self, *args)
9387 
9388  def __hash__(self):
9389  r"""__hash__(State self) -> std::size_t"""
9390  return _IMP_atom.State___hash__(self)
9391 
9392  def __str__(self):
9393  r"""__str__(State self) -> std::string"""
9394  return _IMP_atom.State___str__(self)
9395 
9396  def __repr__(self):
9397  r"""__repr__(State self) -> std::string"""
9398  return _IMP_atom.State___repr__(self)
9399 
9400  def _get_as_binary(self):
9401  r"""_get_as_binary(State self) -> PyObject *"""
9402  return _IMP_atom.State__get_as_binary(self)
9403 
9404  def _set_from_binary(self, p):
9405  r"""_set_from_binary(State self, PyObject * p)"""
9406  return _IMP_atom.State__set_from_binary(self, p)
9407 
9408  def __getstate__(self):
9409  p = self._get_as_binary()
9410  if len(self.__dict__) > 1:
9411  d = self.__dict__.copy()
9412  del d['this']
9413  p = (d, p)
9414  return p
9415 
9416  def __setstate__(self, p):
9417  if not hasattr(self, 'this'):
9418  self.__init__()
9419  if isinstance(p, tuple):
9420  d, p = p
9421  self.__dict__.update(d)
9422  return self._set_from_binary(p)
9423 
9424  __swig_destroy__ = _IMP_atom.delete_State
9425 
9426 # Register State in _IMP_atom:
9427 _IMP_atom.State_swigregister(State)
9428 
9429 def get_state_index(h):
9430  r"""get_state_index(Hierarchy h) -> int"""
9431  return _IMP_atom.get_state_index(h)
9432 
9433 def get_phi_dihedral_atoms(rd):
9434  r"""get_phi_dihedral_atoms(Residue rd) -> IMP::atom::Atoms"""
9435  return _IMP_atom.get_phi_dihedral_atoms(rd)
9436 
9437 def get_psi_dihedral_atoms(rd):
9438  r"""get_psi_dihedral_atoms(Residue rd) -> IMP::atom::Atoms"""
9439  return _IMP_atom.get_psi_dihedral_atoms(rd)
9440 
9441 def get_omega_dihedral_atoms(rd):
9442  r"""get_omega_dihedral_atoms(Residue rd) -> IMP::atom::Atoms"""
9443  return _IMP_atom.get_omega_dihedral_atoms(rd)
9444 
9446  r"""get_chi_dihedral_atom_types(ResidueType rt) -> IMP::Vector< IMP::atom::AtomTypes >"""
9447  return _IMP_atom.get_chi_dihedral_atom_types(rt)
9448 
9449 def get_chi_dihedral_atoms(rd):
9450  r"""get_chi_dihedral_atoms(Residue rd) -> IMP::Vector< IMP::atom::Atoms >"""
9451  return _IMP_atom.get_chi_dihedral_atoms(rd)
9452 
9454  r"""get_chi_dihedral_particle_indexes(Residue rd) -> IMP::ParticleIndexQuads"""
9455  return _IMP_atom.get_chi_dihedral_particle_indexes(rd)
9456 class Molecule(Hierarchy):
9457  r"""Proxy of C++ IMP::atom::Molecule class."""
9458 
9459  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9460 
9461  def __init__(self, *args):
9462  r"""
9463  __init__(Molecule self) -> Molecule
9464  __init__(Molecule self, Model m, ParticleIndex id) -> Molecule
9465  __init__(Molecule self, _ParticleAdaptor d) -> Molecule
9466  """
9467  _IMP_atom.Molecule_swiginit(self, _IMP_atom.new_Molecule(*args))
9468 
9469  def show(self, *args):
9470  r"""show(Molecule self, _ostream out=std::cout)"""
9471  return _IMP_atom.Molecule_show(self, *args)
9472 
9473  @staticmethod
9474  def setup_particle(*args):
9475  r"""
9476  setup_particle(Model m, ParticleIndex pi) -> Molecule
9477  setup_particle(_ParticleAdaptor pa) -> Molecule
9478  setup_particle(Model m, ParticleIndex pi, Molecule other) -> Molecule
9479  setup_particle(_ParticleAdaptor pa, Molecule other) -> Molecule
9480  """
9481  return _IMP_atom.Molecule_setup_particle(*args)
9482 
9483  @staticmethod
9484  def get_is_setup(*args):
9485  r"""
9486  get_is_setup(_ParticleAdaptor p) -> bool
9487  get_is_setup(Model m, ParticleIndex pi) -> bool
9488  """
9489  return _IMP_atom.Molecule_get_is_setup(*args)
9490 
9491  def add_attribute(self, *args):
9492  r"""
9493  add_attribute(Molecule self, FloatKey k, IMP::Float v, bool opt)
9494  add_attribute(Molecule self, FloatKey a0, IMP::Float a1)
9495  add_attribute(Molecule self, IntKey a0, IMP::Int a1)
9496  add_attribute(Molecule self, FloatsKey a0, IMP::Floats a1)
9497  add_attribute(Molecule self, IntsKey a0, IMP::Ints a1)
9498  add_attribute(Molecule self, StringKey a0, IMP::String a1)
9499  add_attribute(Molecule self, ParticleIndexKey a0, Particle a1)
9500  add_attribute(Molecule self, ObjectKey a0, Object a1)
9501  add_attribute(Molecule self, SparseFloatKey a0, IMP::Float a1)
9502  add_attribute(Molecule self, SparseIntKey a0, IMP::Int a1)
9503  add_attribute(Molecule self, SparseStringKey a0, IMP::String a1)
9504  add_attribute(Molecule self, SparseParticleIndexKey a0, ParticleIndex a1)
9505  """
9506  return _IMP_atom.Molecule_add_attribute(self, *args)
9507 
9508  def get_value(self, *args):
9509  r"""
9510  get_value(Molecule self, FloatKey a0) -> IMP::Float
9511  get_value(Molecule self, IntKey a0) -> IMP::Int
9512  get_value(Molecule self, FloatsKey a0) -> IMP::Floats
9513  get_value(Molecule self, IntsKey a0) -> IMP::Ints
9514  get_value(Molecule self, StringKey a0) -> IMP::String
9515  get_value(Molecule self, ParticleIndexKey a0) -> Particle
9516  get_value(Molecule self, ObjectKey a0) -> Object
9517  get_value(Molecule self, SparseFloatKey a0) -> IMP::Float
9518  get_value(Molecule self, SparseIntKey a0) -> IMP::Int
9519  get_value(Molecule self, SparseStringKey a0) -> IMP::String
9520  get_value(Molecule self, SparseParticleIndexKey a0) -> ParticleIndex
9521  """
9522  return _IMP_atom.Molecule_get_value(self, *args)
9523 
9524  def set_value(self, *args):
9525  r"""
9526  set_value(Molecule self, FloatKey a0, IMP::Float a1)
9527  set_value(Molecule self, IntKey a0, IMP::Int a1)
9528  set_value(Molecule self, FloatsKey a0, IMP::Floats a1)
9529  set_value(Molecule self, IntsKey a0, IMP::Ints a1)
9530  set_value(Molecule self, StringKey a0, IMP::String a1)
9531  set_value(Molecule self, ParticleIndexKey a0, Particle a1)
9532  set_value(Molecule self, ObjectKey a0, Object a1)
9533  set_value(Molecule self, SparseFloatKey a0, IMP::Float a1)
9534  set_value(Molecule self, SparseIntKey a0, IMP::Int a1)
9535  set_value(Molecule self, SparseStringKey a0, IMP::String a1)
9536  set_value(Molecule self, SparseParticleIndexKey a0, ParticleIndex a1)
9537  """
9538  return _IMP_atom.Molecule_set_value(self, *args)
9539 
9540  def remove_attribute(self, *args):
9541  r"""
9542  remove_attribute(Molecule self, FloatKey a0)
9543  remove_attribute(Molecule self, IntKey a0)
9544  remove_attribute(Molecule self, FloatsKey a0)
9545  remove_attribute(Molecule self, IntsKey a0)
9546  remove_attribute(Molecule self, StringKey a0)
9547  remove_attribute(Molecule self, ParticleIndexKey a0)
9548  remove_attribute(Molecule self, ObjectKey a0)
9549  remove_attribute(Molecule self, SparseFloatKey a0)
9550  remove_attribute(Molecule self, SparseIntKey a0)
9551  remove_attribute(Molecule self, SparseStringKey a0)
9552  remove_attribute(Molecule self, SparseParticleIndexKey a0)
9553  """
9554  return _IMP_atom.Molecule_remove_attribute(self, *args)
9555 
9556  def has_attribute(self, *args):
9557  r"""
9558  has_attribute(Molecule self, FloatKey a0) -> bool
9559  has_attribute(Molecule self, IntKey a0) -> bool
9560  has_attribute(Molecule self, FloatsKey a0) -> bool
9561  has_attribute(Molecule self, IntsKey a0) -> bool
9562  has_attribute(Molecule self, StringKey a0) -> bool
9563  has_attribute(Molecule self, ParticleIndexKey a0) -> bool
9564  has_attribute(Molecule self, ObjectKey a0) -> bool
9565  has_attribute(Molecule self, SparseFloatKey a0) -> bool
9566  has_attribute(Molecule self, SparseIntKey a0) -> bool
9567  has_attribute(Molecule self, SparseStringKey a0) -> bool
9568  has_attribute(Molecule self, SparseParticleIndexKey a0) -> bool
9569  """
9570  return _IMP_atom.Molecule_has_attribute(self, *args)
9571 
9572  def get_derivative(self, a0):
9573  r"""get_derivative(Molecule self, FloatKey a0) -> double"""
9574  return _IMP_atom.Molecule_get_derivative(self, a0)
9575 
9576  def get_name(self):
9577  r"""get_name(Molecule self) -> std::string"""
9578  return _IMP_atom.Molecule_get_name(self)
9579 
9580  def clear_caches(self):
9581  r"""clear_caches(Molecule self)"""
9582  return _IMP_atom.Molecule_clear_caches(self)
9583 
9584  def set_name(self, a0):
9585  r"""set_name(Molecule self, std::string a0)"""
9586  return _IMP_atom.Molecule_set_name(self, a0)
9587 
9588  def set_check_level(self, a0):
9589  r"""set_check_level(Molecule self, IMP::CheckLevel a0)"""
9590  return _IMP_atom.Molecule_set_check_level(self, a0)
9591 
9592  def add_to_derivative(self, a0, a1, a2):
9593  r"""add_to_derivative(Molecule self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9594  return _IMP_atom.Molecule_add_to_derivative(self, a0, a1, a2)
9595 
9596  def set_is_optimized(self, a0, a1):
9597  r"""set_is_optimized(Molecule self, FloatKey a0, bool a1)"""
9598  return _IMP_atom.Molecule_set_is_optimized(self, a0, a1)
9599 
9600  def get_is_optimized(self, a0):
9601  r"""get_is_optimized(Molecule self, FloatKey a0) -> bool"""
9602  return _IMP_atom.Molecule_get_is_optimized(self, a0)
9603 
9604  def get_check_level(self):
9605  r"""get_check_level(Molecule self) -> IMP::CheckLevel"""
9606  return _IMP_atom.Molecule_get_check_level(self)
9607 
9608  def __eq__(self, *args):
9609  r"""
9610  __eq__(Molecule self, Molecule o) -> bool
9611  __eq__(Molecule self, Particle d) -> bool
9612  """
9613  return _IMP_atom.Molecule___eq__(self, *args)
9614 
9615  def __ne__(self, *args):
9616  r"""
9617  __ne__(Molecule self, Molecule o) -> bool
9618  __ne__(Molecule self, Particle d) -> bool
9619  """
9620  return _IMP_atom.Molecule___ne__(self, *args)
9621 
9622  def __le__(self, *args):
9623  r"""
9624  __le__(Molecule self, Molecule o) -> bool
9625  __le__(Molecule self, Particle d) -> bool
9626  """
9627  return _IMP_atom.Molecule___le__(self, *args)
9628 
9629  def __lt__(self, *args):
9630  r"""
9631  __lt__(Molecule self, Molecule o) -> bool
9632  __lt__(Molecule self, Particle d) -> bool
9633  """
9634  return _IMP_atom.Molecule___lt__(self, *args)
9635 
9636  def __ge__(self, *args):
9637  r"""
9638  __ge__(Molecule self, Molecule o) -> bool
9639  __ge__(Molecule self, Particle d) -> bool
9640  """
9641  return _IMP_atom.Molecule___ge__(self, *args)
9642 
9643  def __gt__(self, *args):
9644  r"""
9645  __gt__(Molecule self, Molecule o) -> bool
9646  __gt__(Molecule self, Particle d) -> bool
9647  """
9648  return _IMP_atom.Molecule___gt__(self, *args)
9649 
9650  def __hash__(self):
9651  r"""__hash__(Molecule self) -> std::size_t"""
9652  return _IMP_atom.Molecule___hash__(self)
9653 
9654  def __str__(self):
9655  r"""__str__(Molecule self) -> std::string"""
9656  return _IMP_atom.Molecule___str__(self)
9657 
9658  def __repr__(self):
9659  r"""__repr__(Molecule self) -> std::string"""
9660  return _IMP_atom.Molecule___repr__(self)
9661 
9662  def _get_as_binary(self):
9663  r"""_get_as_binary(Molecule self) -> PyObject *"""
9664  return _IMP_atom.Molecule__get_as_binary(self)
9665 
9666  def _set_from_binary(self, p):
9667  r"""_set_from_binary(Molecule self, PyObject * p)"""
9668  return _IMP_atom.Molecule__set_from_binary(self, p)
9669 
9670  def __getstate__(self):
9671  p = self._get_as_binary()
9672  if len(self.__dict__) > 1:
9673  d = self.__dict__.copy()
9674  del d['this']
9675  p = (d, p)
9676  return p
9677 
9678  def __setstate__(self, p):
9679  if not hasattr(self, 'this'):
9680  self.__init__()
9681  if isinstance(p, tuple):
9682  d, p = p
9683  self.__dict__.update(d)
9684  return self._set_from_binary(p)
9685 
9686  __swig_destroy__ = _IMP_atom.delete_Molecule
9687 
9688 # Register Molecule in _IMP_atom:
9689 _IMP_atom.Molecule_swigregister(Molecule)
9690 
9691 def get_molecule_name(h):
9692  r"""get_molecule_name(Hierarchy h) -> std::string"""
9693  return _IMP_atom.get_molecule_name(h)
9694 class Copy(Molecule):
9695  r"""Proxy of C++ IMP::atom::Copy class."""
9696 
9697  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9698 
9699  @staticmethod
9700  def get_copy_index_key():
9701  r"""get_copy_index_key() -> IntKey"""
9702  return _IMP_atom.Copy_get_copy_index_key()
9703 
9704  def __init__(self, *args):
9705  r"""
9706  __init__(Copy self) -> Copy
9707  __init__(Copy self, Model m, ParticleIndex id) -> Copy
9708  __init__(Copy self, _ParticleAdaptor d) -> Copy
9709  """
9710  _IMP_atom.Copy_swiginit(self, _IMP_atom.new_Copy(*args))
9711 
9712  def show(self, *args):
9713  r"""show(Copy self, _ostream out=std::cout)"""
9714  return _IMP_atom.Copy_show(self, *args)
9715 
9716  @staticmethod
9717  def setup_particle(*args):
9718  r"""
9719  setup_particle(Model m, ParticleIndex pi, IMP::Int number) -> Copy
9720  setup_particle(_ParticleAdaptor pa, IMP::Int number) -> Copy
9721  """
9722  return _IMP_atom.Copy_setup_particle(*args)
9723 
9724  @staticmethod
9725  def get_is_setup(*args):
9726  r"""
9727  get_is_setup(_ParticleAdaptor p) -> bool
9728  get_is_setup(Model m, ParticleIndex pi) -> bool
9729  """
9730  return _IMP_atom.Copy_get_is_setup(*args)
9731 
9732  def get_copy_index(self):
9733  r"""get_copy_index(Copy self) -> int"""
9734  return _IMP_atom.Copy_get_copy_index(self)
9735 
9736  def add_attribute(self, *args):
9737  r"""
9738  add_attribute(Copy self, FloatKey k, IMP::Float v, bool opt)
9739  add_attribute(Copy self, FloatKey a0, IMP::Float a1)
9740  add_attribute(Copy self, IntKey a0, IMP::Int a1)
9741  add_attribute(Copy self, FloatsKey a0, IMP::Floats a1)
9742  add_attribute(Copy self, IntsKey a0, IMP::Ints a1)
9743  add_attribute(Copy self, StringKey a0, IMP::String a1)
9744  add_attribute(Copy self, ParticleIndexKey a0, Particle a1)
9745  add_attribute(Copy self, ObjectKey a0, Object a1)
9746  add_attribute(Copy self, SparseFloatKey a0, IMP::Float a1)
9747  add_attribute(Copy self, SparseIntKey a0, IMP::Int a1)
9748  add_attribute(Copy self, SparseStringKey a0, IMP::String a1)
9749  add_attribute(Copy self, SparseParticleIndexKey a0, ParticleIndex a1)
9750  """
9751  return _IMP_atom.Copy_add_attribute(self, *args)
9752 
9753  def get_value(self, *args):
9754  r"""
9755  get_value(Copy self, FloatKey a0) -> IMP::Float
9756  get_value(Copy self, IntKey a0) -> IMP::Int
9757  get_value(Copy self, FloatsKey a0) -> IMP::Floats
9758  get_value(Copy self, IntsKey a0) -> IMP::Ints
9759  get_value(Copy self, StringKey a0) -> IMP::String
9760  get_value(Copy self, ParticleIndexKey a0) -> Particle
9761  get_value(Copy self, ObjectKey a0) -> Object
9762  get_value(Copy self, SparseFloatKey a0) -> IMP::Float
9763  get_value(Copy self, SparseIntKey a0) -> IMP::Int
9764  get_value(Copy self, SparseStringKey a0) -> IMP::String
9765  get_value(Copy self, SparseParticleIndexKey a0) -> ParticleIndex
9766  """
9767  return _IMP_atom.Copy_get_value(self, *args)
9768 
9769  def set_value(self, *args):
9770  r"""
9771  set_value(Copy self, FloatKey a0, IMP::Float a1)
9772  set_value(Copy self, IntKey a0, IMP::Int a1)
9773  set_value(Copy self, FloatsKey a0, IMP::Floats a1)
9774  set_value(Copy self, IntsKey a0, IMP::Ints a1)
9775  set_value(Copy self, StringKey a0, IMP::String a1)
9776  set_value(Copy self, ParticleIndexKey a0, Particle a1)
9777  set_value(Copy self, ObjectKey a0, Object a1)
9778  set_value(Copy self, SparseFloatKey a0, IMP::Float a1)
9779  set_value(Copy self, SparseIntKey a0, IMP::Int a1)
9780  set_value(Copy self, SparseStringKey a0, IMP::String a1)
9781  set_value(Copy self, SparseParticleIndexKey a0, ParticleIndex a1)
9782  """
9783  return _IMP_atom.Copy_set_value(self, *args)
9784 
9785  def remove_attribute(self, *args):
9786  r"""
9787  remove_attribute(Copy self, FloatKey a0)
9788  remove_attribute(Copy self, IntKey a0)
9789  remove_attribute(Copy self, FloatsKey a0)
9790  remove_attribute(Copy self, IntsKey a0)
9791  remove_attribute(Copy self, StringKey a0)
9792  remove_attribute(Copy self, ParticleIndexKey a0)
9793  remove_attribute(Copy self, ObjectKey a0)
9794  remove_attribute(Copy self, SparseFloatKey a0)
9795  remove_attribute(Copy self, SparseIntKey a0)
9796  remove_attribute(Copy self, SparseStringKey a0)
9797  remove_attribute(Copy self, SparseParticleIndexKey a0)
9798  """
9799  return _IMP_atom.Copy_remove_attribute(self, *args)
9800 
9801  def has_attribute(self, *args):
9802  r"""
9803  has_attribute(Copy self, FloatKey a0) -> bool
9804  has_attribute(Copy self, IntKey a0) -> bool
9805  has_attribute(Copy self, FloatsKey a0) -> bool
9806  has_attribute(Copy self, IntsKey a0) -> bool
9807  has_attribute(Copy self, StringKey a0) -> bool
9808  has_attribute(Copy self, ParticleIndexKey a0) -> bool
9809  has_attribute(Copy self, ObjectKey a0) -> bool
9810  has_attribute(Copy self, SparseFloatKey a0) -> bool
9811  has_attribute(Copy self, SparseIntKey a0) -> bool
9812  has_attribute(Copy self, SparseStringKey a0) -> bool
9813  has_attribute(Copy self, SparseParticleIndexKey a0) -> bool
9814  """
9815  return _IMP_atom.Copy_has_attribute(self, *args)
9816 
9817  def get_derivative(self, a0):
9818  r"""get_derivative(Copy self, FloatKey a0) -> double"""
9819  return _IMP_atom.Copy_get_derivative(self, a0)
9820 
9821  def get_name(self):
9822  r"""get_name(Copy self) -> std::string"""
9823  return _IMP_atom.Copy_get_name(self)
9824 
9825  def clear_caches(self):
9826  r"""clear_caches(Copy self)"""
9827  return _IMP_atom.Copy_clear_caches(self)
9828 
9829  def set_name(self, a0):
9830  r"""set_name(Copy self, std::string a0)"""
9831  return _IMP_atom.Copy_set_name(self, a0)
9832 
9833  def set_check_level(self, a0):
9834  r"""set_check_level(Copy self, IMP::CheckLevel a0)"""
9835  return _IMP_atom.Copy_set_check_level(self, a0)
9836 
9837  def add_to_derivative(self, a0, a1, a2):
9838  r"""add_to_derivative(Copy self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9839  return _IMP_atom.Copy_add_to_derivative(self, a0, a1, a2)
9840 
9841  def set_is_optimized(self, a0, a1):
9842  r"""set_is_optimized(Copy self, FloatKey a0, bool a1)"""
9843  return _IMP_atom.Copy_set_is_optimized(self, a0, a1)
9844 
9845  def get_is_optimized(self, a0):
9846  r"""get_is_optimized(Copy self, FloatKey a0) -> bool"""
9847  return _IMP_atom.Copy_get_is_optimized(self, a0)
9848 
9849  def get_check_level(self):
9850  r"""get_check_level(Copy self) -> IMP::CheckLevel"""
9851  return _IMP_atom.Copy_get_check_level(self)
9852 
9853  def __eq__(self, *args):
9854  r"""
9855  __eq__(Copy self, Copy o) -> bool
9856  __eq__(Copy self, Particle d) -> bool
9857  """
9858  return _IMP_atom.Copy___eq__(self, *args)
9859 
9860  def __ne__(self, *args):
9861  r"""
9862  __ne__(Copy self, Copy o) -> bool
9863  __ne__(Copy self, Particle d) -> bool
9864  """
9865  return _IMP_atom.Copy___ne__(self, *args)
9866 
9867  def __le__(self, *args):
9868  r"""
9869  __le__(Copy self, Copy o) -> bool
9870  __le__(Copy self, Particle d) -> bool
9871  """
9872  return _IMP_atom.Copy___le__(self, *args)
9873 
9874  def __lt__(self, *args):
9875  r"""
9876  __lt__(Copy self, Copy o) -> bool
9877  __lt__(Copy self, Particle d) -> bool
9878  """
9879  return _IMP_atom.Copy___lt__(self, *args)
9880 
9881  def __ge__(self, *args):
9882  r"""
9883  __ge__(Copy self, Copy o) -> bool
9884  __ge__(Copy self, Particle d) -> bool
9885  """
9886  return _IMP_atom.Copy___ge__(self, *args)
9887 
9888  def __gt__(self, *args):
9889  r"""
9890  __gt__(Copy self, Copy o) -> bool
9891  __gt__(Copy self, Particle d) -> bool
9892  """
9893  return _IMP_atom.Copy___gt__(self, *args)
9894 
9895  def __hash__(self):
9896  r"""__hash__(Copy self) -> std::size_t"""
9897  return _IMP_atom.Copy___hash__(self)
9898 
9899  def __str__(self):
9900  r"""__str__(Copy self) -> std::string"""
9901  return _IMP_atom.Copy___str__(self)
9902 
9903  def __repr__(self):
9904  r"""__repr__(Copy self) -> std::string"""
9905  return _IMP_atom.Copy___repr__(self)
9906 
9907  def _get_as_binary(self):
9908  r"""_get_as_binary(Copy self) -> PyObject *"""
9909  return _IMP_atom.Copy__get_as_binary(self)
9910 
9911  def _set_from_binary(self, p):
9912  r"""_set_from_binary(Copy self, PyObject * p)"""
9913  return _IMP_atom.Copy__set_from_binary(self, p)
9914 
9915  def __getstate__(self):
9916  p = self._get_as_binary()
9917  if len(self.__dict__) > 1:
9918  d = self.__dict__.copy()
9919  del d['this']
9920  p = (d, p)
9921  return p
9922 
9923  def __setstate__(self, p):
9924  if not hasattr(self, 'this'):
9925  self.__init__()
9926  if isinstance(p, tuple):
9927  d, p = p
9928  self.__dict__.update(d)
9929  return self._set_from_binary(p)
9930 
9931  __swig_destroy__ = _IMP_atom.delete_Copy
9932 
9933 # Register Copy in _IMP_atom:
9934 _IMP_atom.Copy_swigregister(Copy)
9935 
9936 def get_copy_index(h):
9937  r"""get_copy_index(Hierarchy h) -> int"""
9938  return _IMP_atom.get_copy_index(h)
9939 class Chain(Hierarchy):
9940  r"""Proxy of C++ IMP::atom::Chain class."""
9941 
9942  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9943 
9944  def __init__(self, *args):
9945  r"""
9946  __init__(Chain self) -> Chain
9947  __init__(Chain self, Model m, ParticleIndex id) -> Chain
9948  __init__(Chain self, _ParticleAdaptor d) -> Chain
9949  """
9950  _IMP_atom.Chain_swiginit(self, _IMP_atom.new_Chain(*args))
9951 
9952  def show(self, *args):
9953  r"""show(Chain self, _ostream out=std::cout)"""
9954  return _IMP_atom.Chain_show(self, *args)
9955 
9956  @staticmethod
9957  def setup_particle(*args):
9958  r"""
9959  setup_particle(Model m, ParticleIndex pi, std::string id) -> Chain
9960  setup_particle(_ParticleAdaptor pa, std::string id) -> Chain
9961  setup_particle(Model m, ParticleIndex pi, char id) -> Chain
9962  setup_particle(_ParticleAdaptor pa, char id) -> Chain
9963  setup_particle(Model m, ParticleIndex pi, Chain other) -> Chain
9964  setup_particle(_ParticleAdaptor pa, Chain other) -> Chain
9965  """
9966  return _IMP_atom.Chain_setup_particle(*args)
9967 
9968  @staticmethod
9969  def get_is_setup(*args):
9970  r"""
9971  get_is_setup(_ParticleAdaptor p) -> bool
9972  get_is_setup(Model m, ParticleIndex pi) -> bool
9973  """
9974  return _IMP_atom.Chain_get_is_setup(*args)
9975 
9976  def get_id(self):
9977  r"""get_id(Chain self) -> std::string"""
9978  return _IMP_atom.Chain_get_id(self)
9979 
9980  def set_id(self, c):
9981  r"""set_id(Chain self, std::string c)"""
9982  return _IMP_atom.Chain_set_id(self, c)
9983 
9984  def get_label_asym_id(self):
9985  r"""get_label_asym_id(Chain self) -> std::string"""
9986  return _IMP_atom.Chain_get_label_asym_id(self)
9987 
9988  def set_label_asym_id(self, c):
9989  r"""set_label_asym_id(Chain self, std::string c)"""
9990  return _IMP_atom.Chain_set_label_asym_id(self, c)
9991 
9992  def get_sequence(self):
9993  r"""get_sequence(Chain self) -> std::string"""
9994  return _IMP_atom.Chain_get_sequence(self)
9995 
9996  def set_sequence(self, sequence):
9997  r"""set_sequence(Chain self, std::string sequence)"""
9998  return _IMP_atom.Chain_set_sequence(self, sequence)
9999 
10000  def get_sequence_offset(self):
10001  r"""get_sequence_offset(Chain self) -> int"""
10002  return _IMP_atom.Chain_get_sequence_offset(self)
10003 
10004  def set_sequence_offset(self, offset):
10005  r"""set_sequence_offset(Chain self, int offset)"""
10006  return _IMP_atom.Chain_set_sequence_offset(self, offset)
10007 
10008  def get_uniprot_accession(self):
10009  r"""get_uniprot_accession(Chain self) -> std::string"""
10010  return _IMP_atom.Chain_get_uniprot_accession(self)
10011 
10012  def set_uniprot_accession(self, accession):
10013  r"""set_uniprot_accession(Chain self, std::string accession)"""
10014  return _IMP_atom.Chain_set_uniprot_accession(self, accession)
10015 
10016  def get_chain_type(self):
10017  r"""get_chain_type(Chain self) -> ChainType"""
10018  return _IMP_atom.Chain_get_chain_type(self)
10019 
10020  def set_chain_type(self, t):
10021  r"""set_chain_type(Chain self, ChainType t)"""
10022  return _IMP_atom.Chain_set_chain_type(self, t)
10023 
10024  @staticmethod
10025  def get_id_key():
10026  r"""get_id_key() -> SparseStringKey"""
10027  return _IMP_atom.Chain_get_id_key()
10028 
10029  @staticmethod
10030  def get_label_asym_id_key():
10031  r"""get_label_asym_id_key() -> SparseStringKey"""
10032  return _IMP_atom.Chain_get_label_asym_id_key()
10033 
10034  @staticmethod
10035  def get_sequence_key():
10036  r"""get_sequence_key() -> SparseStringKey"""
10037  return _IMP_atom.Chain_get_sequence_key()
10038 
10039  @staticmethod
10040  def get_sequence_offset_key():
10041  r"""get_sequence_offset_key() -> SparseIntKey"""
10042  return _IMP_atom.Chain_get_sequence_offset_key()
10043 
10044  @staticmethod
10045  def get_uniprot_accession_key():
10046  r"""get_uniprot_accession_key() -> SparseStringKey"""
10047  return _IMP_atom.Chain_get_uniprot_accession_key()
10048 
10049  @staticmethod
10050  def get_chain_type_key():
10051  r"""get_chain_type_key() -> SparseIntKey"""
10052  return _IMP_atom.Chain_get_chain_type_key()
10053 
10054  def add_attribute(self, *args):
10055  r"""
10056  add_attribute(Chain self, FloatKey k, IMP::Float v, bool opt)
10057  add_attribute(Chain self, FloatKey a0, IMP::Float a1)
10058  add_attribute(Chain self, IntKey a0, IMP::Int a1)
10059  add_attribute(Chain self, FloatsKey a0, IMP::Floats a1)
10060  add_attribute(Chain self, IntsKey a0, IMP::Ints a1)
10061  add_attribute(Chain self, StringKey a0, IMP::String a1)
10062  add_attribute(Chain self, ParticleIndexKey a0, Particle a1)
10063  add_attribute(Chain self, ObjectKey a0, Object a1)
10064  add_attribute(Chain self, SparseFloatKey a0, IMP::Float a1)
10065  add_attribute(Chain self, SparseIntKey a0, IMP::Int a1)
10066  add_attribute(Chain self, SparseStringKey a0, IMP::String a1)
10067  add_attribute(Chain self, SparseParticleIndexKey a0, ParticleIndex a1)
10068  """
10069  return _IMP_atom.Chain_add_attribute(self, *args)
10070 
10071  def get_value(self, *args):
10072  r"""
10073  get_value(Chain self, FloatKey a0) -> IMP::Float
10074  get_value(Chain self, IntKey a0) -> IMP::Int
10075  get_value(Chain self, FloatsKey a0) -> IMP::Floats
10076  get_value(Chain self, IntsKey a0) -> IMP::Ints
10077  get_value(Chain self, StringKey a0) -> IMP::String
10078  get_value(Chain self, ParticleIndexKey a0) -> Particle
10079  get_value(Chain self, ObjectKey a0) -> Object
10080  get_value(Chain self, SparseFloatKey a0) -> IMP::Float
10081  get_value(Chain self, SparseIntKey a0) -> IMP::Int
10082  get_value(Chain self, SparseStringKey a0) -> IMP::String
10083  get_value(Chain self, SparseParticleIndexKey a0) -> ParticleIndex
10084  """
10085  return _IMP_atom.Chain_get_value(self, *args)
10086 
10087  def set_value(self, *args):
10088  r"""
10089  set_value(Chain self, FloatKey a0, IMP::Float a1)
10090  set_value(Chain self, IntKey a0, IMP::Int a1)
10091  set_value(Chain self, FloatsKey a0, IMP::Floats a1)
10092  set_value(Chain self, IntsKey a0, IMP::Ints a1)
10093  set_value(Chain self, StringKey a0, IMP::String a1)
10094  set_value(Chain self, ParticleIndexKey a0, Particle a1)
10095  set_value(Chain self, ObjectKey a0, Object a1)
10096  set_value(Chain self, SparseFloatKey a0, IMP::Float a1)
10097  set_value(Chain self, SparseIntKey a0, IMP::Int a1)
10098  set_value(Chain self, SparseStringKey a0, IMP::String a1)
10099  set_value(Chain self, SparseParticleIndexKey a0, ParticleIndex a1)
10100  """
10101  return _IMP_atom.Chain_set_value(self, *args)
10102 
10103  def remove_attribute(self, *args):
10104  r"""
10105  remove_attribute(Chain self, FloatKey a0)
10106  remove_attribute(Chain self, IntKey a0)
10107  remove_attribute(Chain self, FloatsKey a0)
10108  remove_attribute(Chain self, IntsKey a0)
10109  remove_attribute(Chain self, StringKey a0)
10110  remove_attribute(Chain self, ParticleIndexKey a0)
10111  remove_attribute(Chain self, ObjectKey a0)
10112  remove_attribute(Chain self, SparseFloatKey a0)
10113  remove_attribute(Chain self, SparseIntKey a0)
10114  remove_attribute(Chain self, SparseStringKey a0)
10115  remove_attribute(Chain self, SparseParticleIndexKey a0)
10116  """
10117  return _IMP_atom.Chain_remove_attribute(self, *args)
10118 
10119  def has_attribute(self, *args):
10120  r"""
10121  has_attribute(Chain self, FloatKey a0) -> bool
10122  has_attribute(Chain self, IntKey a0) -> bool
10123  has_attribute(Chain self, FloatsKey a0) -> bool
10124  has_attribute(Chain self, IntsKey a0) -> bool
10125  has_attribute(Chain self, StringKey a0) -> bool
10126  has_attribute(Chain self, ParticleIndexKey a0) -> bool
10127  has_attribute(Chain self, ObjectKey a0) -> bool
10128  has_attribute(Chain self, SparseFloatKey a0) -> bool
10129  has_attribute(Chain self, SparseIntKey a0) -> bool
10130  has_attribute(Chain self, SparseStringKey a0) -> bool
10131  has_attribute(Chain self, SparseParticleIndexKey a0) -> bool
10132  """
10133  return _IMP_atom.Chain_has_attribute(self, *args)
10134 
10135  def get_derivative(self, a0):
10136  r"""get_derivative(Chain self, FloatKey a0) -> double"""
10137  return _IMP_atom.Chain_get_derivative(self, a0)
10138 
10139  def get_name(self):
10140  r"""get_name(Chain self) -> std::string"""
10141  return _IMP_atom.Chain_get_name(self)
10142 
10143  def clear_caches(self):
10144  r"""clear_caches(Chain self)"""
10145  return _IMP_atom.Chain_clear_caches(self)
10146 
10147  def set_name(self, a0):
10148  r"""set_name(Chain self, std::string a0)"""
10149  return _IMP_atom.Chain_set_name(self, a0)
10150 
10151  def set_check_level(self, a0):
10152  r"""set_check_level(Chain self, IMP::CheckLevel a0)"""
10153  return _IMP_atom.Chain_set_check_level(self, a0)
10154 
10155  def add_to_derivative(self, a0, a1, a2):
10156  r"""add_to_derivative(Chain self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
10157  return _IMP_atom.Chain_add_to_derivative(self, a0, a1, a2)
10158 
10159  def set_is_optimized(self, a0, a1):
10160  r"""set_is_optimized(Chain self, FloatKey a0, bool a1)"""
10161  return _IMP_atom.Chain_set_is_optimized(self, a0, a1)
10162 
10163  def get_is_optimized(self, a0):
10164  r"""get_is_optimized(Chain self, FloatKey a0) -> bool"""
10165  return _IMP_atom.Chain_get_is_optimized(self, a0)
10166 
10167  def get_check_level(self):
10168  r"""get_check_level(Chain self) -> IMP::CheckLevel"""
10169  return _IMP_atom.Chain_get_check_level(self)
10170 
10171  def __eq__(self, *args):
10172  r"""
10173  __eq__(Chain self, Chain o) -> bool
10174  __eq__(Chain self, Particle d) -> bool
10175  """
10176  return _IMP_atom.Chain___eq__(self, *args)
10177 
10178  def __ne__(self, *args):
10179  r"""
10180  __ne__(Chain self, Chain o) -> bool
10181  __ne__(Chain self, Particle d) -> bool
10182  """
10183  return _IMP_atom.Chain___ne__(self, *args)
10184 
10185  def __le__(self, *args):
10186  r"""
10187  __le__(Chain self, Chain o) -> bool
10188  __le__(Chain self, Particle d) -> bool
10189  """
10190  return _IMP_atom.Chain___le__(self, *args)
10191 
10192  def __lt__(self, *args):
10193  r"""
10194  __lt__(Chain self, Chain o) -> bool
10195  __lt__(Chain self, Particle d) -> bool
10196  """
10197  return _IMP_atom.Chain___lt__(self, *args)
10198 
10199  def __ge__(self, *args):
10200  r"""
10201  __ge__(Chain self, Chain o) -> bool
10202  __ge__(Chain self, Particle d) -> bool
10203  """
10204  return _IMP_atom.Chain___ge__(self, *args)
10205 
10206  def __gt__(self, *args):
10207  r"""
10208  __gt__(Chain self, Chain o) -> bool
10209  __gt__(Chain self, Particle d) -> bool
10210  """
10211  return _IMP_atom.Chain___gt__(self, *args)
10212 
10213  def __hash__(self):
10214  r"""__hash__(Chain self) -> std::size_t"""
10215  return _IMP_atom.Chain___hash__(self)
10216 
10217  def __str__(self):
10218  r"""__str__(Chain self) -> std::string"""
10219  return _IMP_atom.Chain___str__(self)
10220 
10221  def __repr__(self):
10222  r"""__repr__(Chain self) -> std::string"""
10223  return _IMP_atom.Chain___repr__(self)
10224 
10225  def _get_as_binary(self):
10226  r"""_get_as_binary(Chain self) -> PyObject *"""
10227  return _IMP_atom.Chain__get_as_binary(self)
10228 
10229  def _set_from_binary(self, p):
10230  r"""_set_from_binary(Chain self, PyObject * p)"""
10231  return _IMP_atom.Chain__set_from_binary(self, p)
10232 
10233  def __getstate__(self):
10234  p = self._get_as_binary()
10235  if len(self.__dict__) > 1:
10236  d = self.__dict__.copy()
10237  del d['this']
10238  p = (d, p)
10239  return p
10240 
10241  def __setstate__(self, p):
10242  if not hasattr(self, 'this'):
10243  self.__init__()
10244  if isinstance(p, tuple):
10245  d, p = p
10246  self.__dict__.update(d)
10247  return self._set_from_binary(p)
10248 
10249  __swig_destroy__ = _IMP_atom.delete_Chain
10250 
10251 # Register Chain in _IMP_atom:
10252 _IMP_atom.Chain_swigregister(Chain)
10253 UnknownChainType = cvar.UnknownChainType
10254 DPolypeptide = cvar.DPolypeptide
10255 LPolypeptide = cvar.LPolypeptide
10256 Polydeoxyribonucleotide = cvar.Polydeoxyribonucleotide
10257 Polyribonucleotide = cvar.Polyribonucleotide
10258 DPolysaccharide = cvar.DPolysaccharide
10259 LPolysaccharide = cvar.LPolysaccharide
10260 Protein = cvar.Protein
10261 DNA = cvar.DNA
10262 RNA = cvar.RNA
10263 
10264 
10265 def get_chain(h):
10266  r"""get_chain(Hierarchy h) -> Chain"""
10267  return _IMP_atom.get_chain(h)
10268 
10269 def get_chain_id(h):
10270  r"""get_chain_id(Hierarchy h) -> std::string"""
10271  return _IMP_atom.get_chain_id(h)
10272 class Selection(IMP._ParticleIndexesAdaptor):
10273  r"""Proxy of C++ IMP::atom::Selection class."""
10274 
10275  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10276  NONE = _IMP_atom.Selection_NONE
10277 
10278  C = _IMP_atom.Selection_C
10279 
10280  N = _IMP_atom.Selection_N
10281 
10282 
10283  def __init__(self, *args):
10284  r"""
10285  __init__(Selection self) -> Selection
10286  __init__(Selection self, Hierarchy h) -> Selection
10287  __init__(Selection self, Particle h) -> Selection
10288  __init__(Selection self, Model m, IMP::ParticleIndexes const & pis) -> Selection
10289  __init__(Selection self, IMP::ParticlesTemp const & h) -> Selection
10290  """
10291  _IMP_atom.Selection_swiginit(self, _IMP_atom.new_Selection(*args))
10292 
10293  def create_clone(self):
10294  r"""create_clone(Selection self) -> Selection"""
10295  return _IMP_atom.Selection_create_clone(self)
10296 
10297  def get_hierarchies(self):
10298  r"""get_hierarchies(Selection self) -> IMP::atom::Hierarchies"""
10299  return _IMP_atom.Selection_get_hierarchies(self)
10300 
10301  def set_molecules(self, mols):
10302  r"""set_molecules(Selection self, IMP::Strings mols)"""
10303  return _IMP_atom.Selection_set_molecules(self, mols)
10304 
10305  def set_resolution(self, r):
10306  r"""set_resolution(Selection self, double r)"""
10307  return _IMP_atom.Selection_set_resolution(self, r)
10308 
10309  def set_representation_type(self, t):
10310  r"""set_representation_type(Selection self, IMP::atom::RepresentationType t)"""
10311  return _IMP_atom.Selection_set_representation_type(self, t)
10312 
10313  def set_state_index(self, state):
10314  r"""set_state_index(Selection self, int state)"""
10315  return _IMP_atom.Selection_set_state_index(self, state)
10316 
10317  def set_state_indexes(self, states):
10318  r"""set_state_indexes(Selection self, IMP::Ints states)"""
10319  return _IMP_atom.Selection_set_state_indexes(self, states)
10320 
10321  def set_terminus(self, t):
10322  r"""set_terminus(Selection self, IMP::atom::Selection::Terminus t)"""
10323  return _IMP_atom.Selection_set_terminus(self, t)
10324 
10325  def set_element(self, e):
10326  r"""set_element(Selection self, IMP::atom::Element e)"""
10327  return _IMP_atom.Selection_set_element(self, e)
10328 
10329  def set_chain_ids(self, chains):
10330  r"""set_chain_ids(Selection self, IMP::Strings chains)"""
10331  return _IMP_atom.Selection_set_chain_ids(self, chains)
10332 
10333  def set_chains(self, chains):
10334  r"""set_chains(Selection self, IMP::Strings chains)"""
10335  return _IMP_atom.Selection_set_chains(self, chains)
10336 
10337  def set_residue_indexes(self, indexes):
10338  r"""set_residue_indexes(Selection self, IMP::Ints indexes)"""
10339  return _IMP_atom.Selection_set_residue_indexes(self, indexes)
10340 
10341  def set_atom_types(self, types):
10342  r"""set_atom_types(Selection self, IMP::atom::AtomTypes types)"""
10343  return _IMP_atom.Selection_set_atom_types(self, types)
10344 
10345  def set_residue_types(self, types):
10346  r"""set_residue_types(Selection self, IMP::atom::ResidueTypes types)"""
10347  return _IMP_atom.Selection_set_residue_types(self, types)
10348 
10349  def set_domains(self, names):
10350  r"""set_domains(Selection self, IMP::Strings names)"""
10351  return _IMP_atom.Selection_set_domains(self, names)
10352 
10353  def set_molecule(self, mol):
10354  r"""set_molecule(Selection self, std::string mol)"""
10355  return _IMP_atom.Selection_set_molecule(self, mol)
10356 
10357  def set_chain_id(self, c):
10358  r"""set_chain_id(Selection self, std::string c)"""
10359  return _IMP_atom.Selection_set_chain_id(self, c)
10360 
10361  def set_chain(self, c):
10362  r"""set_chain(Selection self, std::string c)"""
10363  return _IMP_atom.Selection_set_chain(self, c)
10364 
10365  def set_residue_index(self, i):
10366  r"""set_residue_index(Selection self, int i)"""
10367  return _IMP_atom.Selection_set_residue_index(self, i)
10368 
10369  def set_atom_type(self, types):
10370  r"""set_atom_type(Selection self, AtomType types)"""
10371  return _IMP_atom.Selection_set_atom_type(self, types)
10372 
10373  def set_residue_type(self, type):
10374  r"""set_residue_type(Selection self, ResidueType type)"""
10375  return _IMP_atom.Selection_set_residue_type(self, type)
10376 
10377  def set_domain(self, name):
10378  r"""set_domain(Selection self, std::string name)"""
10379  return _IMP_atom.Selection_set_domain(self, name)
10380 
10381  def set_copy_index(self, copy):
10382  r"""set_copy_index(Selection self, unsigned int copy)"""
10383  return _IMP_atom.Selection_set_copy_index(self, copy)
10384 
10385  def set_copy_indexes(self, copies):
10386  r"""set_copy_indexes(Selection self, IMP::Ints copies)"""
10387  return _IMP_atom.Selection_set_copy_indexes(self, copies)
10388 
10389  def set_particle_type(self, t):
10390  r"""set_particle_type(Selection self, ParticleType t)"""
10391  return _IMP_atom.Selection_set_particle_type(self, t)
10392 
10393  def set_particle_types(self, t):
10394  r"""set_particle_types(Selection self, IMP::core::ParticleTypes t)"""
10395  return _IMP_atom.Selection_set_particle_types(self, t)
10396 
10397  def set_hierarchy_types(self, types):
10398  r"""set_hierarchy_types(Selection self, IMP::Ints types)"""
10399  return _IMP_atom.Selection_set_hierarchy_types(self, types)
10400 
10401  def set_intersection(self, s):
10402  r"""set_intersection(Selection self, Selection s)"""
10403  return _IMP_atom.Selection_set_intersection(self, s)
10404 
10405  def set_union(self, s):
10406  r"""set_union(Selection self, Selection s)"""
10407  return _IMP_atom.Selection_set_union(self, s)
10408 
10409  def set_symmetric_difference(self, s):
10410  r"""set_symmetric_difference(Selection self, Selection s)"""
10411  return _IMP_atom.Selection_set_symmetric_difference(self, s)
10412 
10413  def set_difference(self, s):
10414  r"""set_difference(Selection self, Selection s)"""
10415  return _IMP_atom.Selection_set_difference(self, s)
10416 
10417  def get_selected_particles(self, with_representation=True):
10418  r"""get_selected_particles(Selection self, bool with_representation=True) -> IMP::ParticlesTemp"""
10419  return _IMP_atom.Selection_get_selected_particles(self, with_representation)
10420 
10421  def get_selected_particle_indexes(self, with_representation=True):
10422  r"""get_selected_particle_indexes(Selection self, bool with_representation=True) -> IMP::ParticleIndexes"""
10423  return _IMP_atom.Selection_get_selected_particle_indexes(self, with_representation)
10424 
10425  def show(self, *args):
10426  r"""show(Selection self, _ostream out=std::cout)"""
10427  return _IMP_atom.Selection_show(self, *args)
10428 
10429  def __str__(self):
10430  r"""__str__(Selection self) -> std::string"""
10431  return _IMP_atom.Selection___str__(self)
10432 
10433  def __repr__(self):
10434  r"""__repr__(Selection self) -> std::string"""
10435  return _IMP_atom.Selection___repr__(self)
10436 
10437  def __init__(self, hierarchy=None,
10438  hierarchies=None, **params):
10439  if hierarchy and hierarchies:
10440  raise RuntimeError("You can't pass both hierarchy and hierarchies to Selection")
10441  if hierarchy:
10442  this = _IMP_atom.new_Selection(hierarchy)
10443  try: self.this.append(this)
10444  except: self.this = this
10445  elif hierarchies:
10446  this = _IMP_atom.new_Selection(hierarchies)
10447  try: self.this.append(this)
10448  except: self.this = this
10449  else:
10450  raise ValueError("Either hierarchy or hierarchies must be provided.")
10451  for k in params.keys():
10452  eval("self.set_%s(params[k])"%k)
10453 
10454  def union(self, s):
10455  news = self.create_clone()
10456  news.union_update(s)
10457  return news
10458  def intersection(self, s):
10459  news = self.create_clone()
10460  news.intersection_update(s)
10461  return news
10462  def symmetric_difference(self, s):
10463  news = self.create_clone()
10464  news.symmetric_difference_update(s)
10465  return news
10466  def difference(self, s):
10467  news = self.create_clone()
10468  news.difference_update(s)
10469  return news
10470  def union_update(self, s):
10471  self.set_union(s)
10472  return self
10473  def intersection_update(self, s):
10474  self.set_intersection(s)
10475  return self
10476  def symmetric_difference_update(self, s):
10477  self.set_symmetric_difference(s)
10478  return self
10479  def difference_update(self, s):
10480  self.set_difference(s)
10481  return self
10482  __or__ = union
10483  __and__ = intersection
10484  __xor__ = symmetric_difference
10485  __sub__ = difference
10486  __ior__ = union_update
10487  __iand__ = intersection_update
10488  __ixor__ = symmetric_difference_update
10489  __isub__ = difference_update
10490 
10491  __swig_destroy__ = _IMP_atom.delete_Selection
10492 
10493 # Register Selection in _IMP_atom:
10494 _IMP_atom.Selection_swigregister(Selection)
10495 
10496 def create_distance_restraint(*args):
10497  r"""create_distance_restraint(Selection n0, Selection n1, double x0, double k, std::string name="Distance%1%") -> Restraint"""
10498  return _IMP_atom.create_distance_restraint(*args)
10499 
10501  r"""
10502  create_connectivity_restraint(IMP::atom::Selections const & s, double k, std::string name="Connectivity%1%") -> Restraint
10503  create_connectivity_restraint(IMP::atom::Selections const & s, double x0, double k, std::string name="Connectivity%1%") -> Restraint
10504  """
10505  return _IMP_atom.create_connectivity_restraint(*args)
10506 
10508  r"""
10509  create_internal_connectivity_restraint(Selection s, double k, std::string name="Connectivity%1%") -> Restraint
10510  create_internal_connectivity_restraint(Selection s, double x0, double k, std::string name="Connectivity%1%") -> Restraint
10511  """
10512  return _IMP_atom.create_internal_connectivity_restraint(*args)
10513 
10514 def create_cover(*args):
10515  r"""create_cover(Selection s, std::string name=std::string()) -> XYZR"""
10516  return _IMP_atom.create_cover(*args)
10517 
10518 def get_mass(*args):
10519  r"""
10520  get_mass(ResidueType c) -> double
10521  get_mass(Selection s) -> double
10522  """
10523  return _IMP_atom.get_mass(*args)
10524 
10525 def get_volume(s):
10526  r"""get_volume(Selection s) -> double"""
10527  return _IMP_atom.get_volume(s)
10528 
10529 def get_surface_area(s):
10530  r"""get_surface_area(Selection s) -> double"""
10531  return _IMP_atom.get_surface_area(s)
10532 
10533 def get_leaves(*args):
10534  r"""
10535  get_leaves(Hierarchy h) -> IMP::atom::Hierarchies
10536  get_leaves(IMP::atom::Hierarchies const & h) -> IMP::atom::Hierarchies
10537  get_leaves(Selection h) -> IMP::atom::Hierarchies
10538  """
10539  return _IMP_atom.get_leaves(*args)
10540 class SelectionGeometry(IMP.display.Geometry):
10541  r"""Proxy of C++ IMP::atom::SelectionGeometry class."""
10542 
10543  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10544 
10545  def __init__(self, *args):
10546  r"""__init__(SelectionGeometry self, Selection d, std::string name="Selection") -> SelectionGeometry"""
10547  _IMP_atom.SelectionGeometry_swiginit(self, _IMP_atom.new_SelectionGeometry(*args))
10548 
10549  def get_version_info(self):
10550  r"""get_version_info(SelectionGeometry self) -> VersionInfo"""
10551  return _IMP_atom.SelectionGeometry_get_version_info(self)
10552  __swig_destroy__ = _IMP_atom.delete_SelectionGeometry
10553 
10554  def __str__(self):
10555  r"""__str__(SelectionGeometry self) -> std::string"""
10556  return _IMP_atom.SelectionGeometry___str__(self)
10557 
10558  def __repr__(self):
10559  r"""__repr__(SelectionGeometry self) -> std::string"""
10560  return _IMP_atom.SelectionGeometry___repr__(self)
10561 
10562  @staticmethod
10563  def get_from(o):
10564  return _object_cast_to_SelectionGeometry(o)
10565 
10566 
10567 # Register SelectionGeometry in _IMP_atom:
10568 _IMP_atom.SelectionGeometry_swigregister(SelectionGeometry)
10569 
10570 def get_rmsd(*args):
10571  r"""
10572  get_rmsd(IMP::core::XYZs const & s0, IMP::core::XYZs const & s1) -> double
10573  get_rmsd(Selection s0, Selection s1) -> double
10574  """
10575  return _IMP_atom.get_rmsd(*args)
10576 
10577 def get_rmsd_transforming_first(*args):
10578  r"""
10579  get_rmsd_transforming_first(Transformation3D tr, IMP::core::XYZs const & s0, IMP::core::XYZs const & s1) -> double
10580  get_rmsd_transforming_first(Transformation3D tr, Selection s0, Selection s1) -> double
10581  """
10582  return _IMP_atom.get_rmsd_transforming_first(*args)
10583 
10584 def get_placement_score(source, target):
10585  r"""get_placement_score(IMP::core::XYZs const & source, IMP::core::XYZs const & target) -> IMP::FloatPair"""
10586  return _IMP_atom.get_placement_score(source, target)
10587 
10588 def get_component_placement_score(ref1, ref2, mdl1, mdl2):
10589  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"""
10590  return _IMP_atom.get_component_placement_score(ref1, ref2, mdl1, mdl2)
10591 
10592 def get_pairwise_rmsd_score(ref1, ref2, mdl1, mdl2):
10593  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"""
10594  return _IMP_atom.get_pairwise_rmsd_score(ref1, ref2, mdl1, mdl2)
10595 
10596 def get_radius_of_gyration(*args):
10597  r"""
10598  get_radius_of_gyration(Selection s) -> double
10599  get_radius_of_gyration(IMP::ParticlesTemp const & ps, bool weighted=True) -> double
10600  """
10601  return _IMP_atom.get_radius_of_gyration(*args)
10602 class ForceFieldParameters(IMP.Object):
10603  r"""Proxy of C++ IMP::atom::ForceFieldParameters class."""
10604 
10605  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10606 
10607  def __init__(self):
10608  r"""__init__(ForceFieldParameters self) -> ForceFieldParameters"""
10609  _IMP_atom.ForceFieldParameters_swiginit(self, _IMP_atom.new_ForceFieldParameters())
10610 
10611  def get_radius(self, atom):
10612  r"""get_radius(ForceFieldParameters self, Atom atom) -> IMP::Float"""
10613  return _IMP_atom.ForceFieldParameters_get_radius(self, atom)
10614 
10615  def get_epsilon(self, atom):
10616  r"""get_epsilon(ForceFieldParameters self, Atom atom) -> IMP::Float"""
10617  return _IMP_atom.ForceFieldParameters_get_epsilon(self, atom)
10618 
10619  def add_radii(self, *args):
10620  r"""add_radii(ForceFieldParameters self, Hierarchy mhd, double scale=1.0, FloatKey radius_key=IMP::FloatKey("radius"))"""
10621  return _IMP_atom.ForceFieldParameters_add_radii(self, *args)
10622 
10623  def add_lennard_jones_types(self, mhd):
10624  r"""add_lennard_jones_types(ForceFieldParameters self, Hierarchy mhd)"""
10625  return _IMP_atom.ForceFieldParameters_add_lennard_jones_types(self, mhd)
10626 
10627  def add_bonds(self, mhd):
10628  r"""add_bonds(ForceFieldParameters self, Hierarchy mhd)"""
10629  return _IMP_atom.ForceFieldParameters_add_bonds(self, mhd)
10630  __swig_destroy__ = _IMP_atom.delete_ForceFieldParameters
10631 
10632  def __str__(self):
10633  r"""__str__(ForceFieldParameters self) -> std::string"""
10634  return _IMP_atom.ForceFieldParameters___str__(self)
10635 
10636  def __repr__(self):
10637  r"""__repr__(ForceFieldParameters self) -> std::string"""
10638  return _IMP_atom.ForceFieldParameters___repr__(self)
10639 
10640  @staticmethod
10641  def get_from(o):
10642  return _object_cast_to_ForceFieldParameters(o)
10643 
10644 
10645 # Register ForceFieldParameters in _IMP_atom:
10646 _IMP_atom.ForceFieldParameters_swigregister(ForceFieldParameters)
10647 class CHARMMAtomTopology(object):
10648  r"""Proxy of C++ IMP::atom::CHARMMAtomTopology class."""
10649 
10650  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10651 
10652  def __init__(self, *args):
10653  r"""
10654  __init__(CHARMMAtomTopology self) -> CHARMMAtomTopology
10655  __init__(CHARMMAtomTopology self, std::string name) -> CHARMMAtomTopology
10656  __init__(CHARMMAtomTopology self, std::string name, CHARMMAtomTopology other) -> CHARMMAtomTopology
10657  """
10658  _IMP_atom.CHARMMAtomTopology_swiginit(self, _IMP_atom.new_CHARMMAtomTopology(*args))
10659 
10660  def get_name(self):
10661  r"""get_name(CHARMMAtomTopology self) -> std::string"""
10662  return _IMP_atom.CHARMMAtomTopology_get_name(self)
10663 
10664  def get_charmm_type(self):
10665  r"""get_charmm_type(CHARMMAtomTopology self) -> std::string"""
10666  return _IMP_atom.CHARMMAtomTopology_get_charmm_type(self)
10667 
10668  def get_charge(self):
10669  r"""get_charge(CHARMMAtomTopology self) -> double"""
10670  return _IMP_atom.CHARMMAtomTopology_get_charge(self)
10671 
10672  def set_charmm_type(self, charmm_type):
10673  r"""set_charmm_type(CHARMMAtomTopology self, std::string charmm_type)"""
10674  return _IMP_atom.CHARMMAtomTopology_set_charmm_type(self, charmm_type)
10675 
10676  def set_charge(self, charge):
10677  r"""set_charge(CHARMMAtomTopology self, double charge)"""
10678  return _IMP_atom.CHARMMAtomTopology_set_charge(self, charge)
10679 
10680  def show(self, *args):
10681  r"""show(CHARMMAtomTopology self, _ostream out=std::cout)"""
10682  return _IMP_atom.CHARMMAtomTopology_show(self, *args)
10683 
10684  def __str__(self):
10685  r"""__str__(CHARMMAtomTopology self) -> std::string"""
10686  return _IMP_atom.CHARMMAtomTopology___str__(self)
10687 
10688  def __repr__(self):
10689  r"""__repr__(CHARMMAtomTopology self) -> std::string"""
10690  return _IMP_atom.CHARMMAtomTopology___repr__(self)
10691 
10692  def _get_as_binary(self):
10693  r"""_get_as_binary(CHARMMAtomTopology self) -> PyObject *"""
10694  return _IMP_atom.CHARMMAtomTopology__get_as_binary(self)
10695 
10696  def _set_from_binary(self, p):
10697  r"""_set_from_binary(CHARMMAtomTopology self, PyObject * p)"""
10698  return _IMP_atom.CHARMMAtomTopology__set_from_binary(self, p)
10699 
10700  def __getstate__(self):
10701  p = self._get_as_binary()
10702  if len(self.__dict__) > 1:
10703  d = self.__dict__.copy()
10704  del d['this']
10705  p = (d, p)
10706  return p
10707 
10708  def __setstate__(self, p):
10709  if not hasattr(self, 'this'):
10710  self.__init__()
10711  if isinstance(p, tuple):
10712  d, p = p
10713  self.__dict__.update(d)
10714  return self._set_from_binary(p)
10715 
10716  __swig_destroy__ = _IMP_atom.delete_CHARMMAtomTopology
10717 
10718 # Register CHARMMAtomTopology in _IMP_atom:
10719 _IMP_atom.CHARMMAtomTopology_swigregister(CHARMMAtomTopology)
10720 class CHARMMBondEndpoint(object):
10721  r"""Proxy of C++ IMP::atom::CHARMMBondEndpoint class."""
10722 
10723  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10724 
10725  def __init__(self, atom_name, residue=None):
10726  r"""__init__(CHARMMBondEndpoint self, std::string atom_name, CHARMMResidueTopology residue=None) -> CHARMMBondEndpoint"""
10727  _IMP_atom.CHARMMBondEndpoint_swiginit(self, _IMP_atom.new_CHARMMBondEndpoint(atom_name, residue))
10728 
10729  def get_atom_name(self):
10730  r"""get_atom_name(CHARMMBondEndpoint self) -> std::string"""
10731  return _IMP_atom.CHARMMBondEndpoint_get_atom_name(self)
10732 
10733  def get_atom(self, current_residue, previous_residue, next_residue, resmap):
10734  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"""
10735  return _IMP_atom.CHARMMBondEndpoint_get_atom(self, current_residue, previous_residue, next_residue, resmap)
10736 
10737  def show(self, *args):
10738  r"""show(CHARMMBondEndpoint self, _ostream out=std::cout)"""
10739  return _IMP_atom.CHARMMBondEndpoint_show(self, *args)
10740 
10741  def __str__(self):
10742  r"""__str__(CHARMMBondEndpoint self) -> std::string"""
10743  return _IMP_atom.CHARMMBondEndpoint___str__(self)
10744 
10745  def __repr__(self):
10746  r"""__repr__(CHARMMBondEndpoint self) -> std::string"""
10747  return _IMP_atom.CHARMMBondEndpoint___repr__(self)
10748  __swig_destroy__ = _IMP_atom.delete_CHARMMBondEndpoint
10749 
10750 # Register CHARMMBondEndpoint in _IMP_atom:
10751 _IMP_atom.CHARMMBondEndpoint_swigregister(CHARMMBondEndpoint)
10752 class CHARMMDihedral(object):
10753  r"""Proxy of C++ IMP::atom::CHARMMConnection< 4 > class."""
10754 
10755  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10756  __repr__ = _swig_repr
10757 
10758  def __init__(self, atoms):
10759  r"""__init__(CHARMMDihedral self, IMP::Strings const & atoms) -> CHARMMDihedral"""
10760  _IMP_atom.CHARMMDihedral_swiginit(self, _IMP_atom.new_CHARMMDihedral(atoms))
10761 
10762  def get_endpoint(self, i):
10763  r"""get_endpoint(CHARMMDihedral self, unsigned int i) -> CHARMMBondEndpoint"""
10764  return _IMP_atom.CHARMMDihedral_get_endpoint(self, i)
10765 
10766  def get_contains_atom(self, name):
10767  r"""get_contains_atom(CHARMMDihedral self, std::string name) -> bool"""
10768  return _IMP_atom.CHARMMDihedral_get_contains_atom(self, name)
10769 
10770  def show(self, *args):
10771  r"""show(CHARMMDihedral self, _ostream out=std::cout)"""
10772  return _IMP_atom.CHARMMDihedral_show(self, *args)
10773  __swig_destroy__ = _IMP_atom.delete_CHARMMDihedral
10774 
10775 # Register CHARMMDihedral in _IMP_atom:
10776 _IMP_atom.CHARMMDihedral_swigregister(CHARMMDihedral)
10777 class CHARMMInternalCoordinate(CHARMMDihedral):
10778  r"""Proxy of C++ IMP::atom::CHARMMInternalCoordinate class."""
10779 
10780  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10781 
10782  def __init__(self, *args):
10783  r"""
10784  __init__(CHARMMInternalCoordinate self, IMP::Strings const & atoms, float first_distance, float first_angle, float dihedral, float second_angle, float second_distance, bool improper) -> CHARMMInternalCoordinate
10785  __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
10786  """
10787  _IMP_atom.CHARMMInternalCoordinate_swiginit(self, _IMP_atom.new_CHARMMInternalCoordinate(*args))
10788 
10789  def get_first_distance(self):
10790  r"""get_first_distance(CHARMMInternalCoordinate self) -> float"""
10791  return _IMP_atom.CHARMMInternalCoordinate_get_first_distance(self)
10792 
10793  def get_second_distance(self):
10794  r"""get_second_distance(CHARMMInternalCoordinate self) -> float"""
10795  return _IMP_atom.CHARMMInternalCoordinate_get_second_distance(self)
10796 
10797  def get_first_angle(self):
10798  r"""get_first_angle(CHARMMInternalCoordinate self) -> float"""
10799  return _IMP_atom.CHARMMInternalCoordinate_get_first_angle(self)
10800 
10801  def get_second_angle(self):
10802  r"""get_second_angle(CHARMMInternalCoordinate self) -> float"""
10803  return _IMP_atom.CHARMMInternalCoordinate_get_second_angle(self)
10804 
10805  def get_dihedral(self):
10806  r"""get_dihedral(CHARMMInternalCoordinate self) -> float"""
10807  return _IMP_atom.CHARMMInternalCoordinate_get_dihedral(self)
10808 
10809  def get_improper(self):
10810  r"""get_improper(CHARMMInternalCoordinate self) -> bool"""
10811  return _IMP_atom.CHARMMInternalCoordinate_get_improper(self)
10812 
10813  def show(self, *args):
10814  r"""show(CHARMMInternalCoordinate self, _ostream out=std::cout)"""
10815  return _IMP_atom.CHARMMInternalCoordinate_show(self, *args)
10816 
10817  def __str__(self):
10818  r"""__str__(CHARMMInternalCoordinate self) -> std::string"""
10819  return _IMP_atom.CHARMMInternalCoordinate___str__(self)
10820 
10821  def __repr__(self):
10822  r"""__repr__(CHARMMInternalCoordinate self) -> std::string"""
10823  return _IMP_atom.CHARMMInternalCoordinate___repr__(self)
10824  __swig_destroy__ = _IMP_atom.delete_CHARMMInternalCoordinate
10825 
10826 # Register CHARMMInternalCoordinate in _IMP_atom:
10827 _IMP_atom.CHARMMInternalCoordinate_swigregister(CHARMMInternalCoordinate)
10828 class CHARMMResidueTopologyBase(IMP.Object):
10829  r"""Proxy of C++ IMP::atom::CHARMMResidueTopologyBase class."""
10830 
10831  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10832 
10833  def __init__(self, *args, **kwargs):
10834  raise AttributeError("No constructor defined")
10835 
10836  def get_type(self):
10837  r"""get_type(CHARMMResidueTopologyBase self) -> std::string"""
10838  return _IMP_atom.CHARMMResidueTopologyBase_get_type(self)
10839 
10840  def get_number_of_atoms(self):
10841  r"""get_number_of_atoms(CHARMMResidueTopologyBase self) -> unsigned int"""
10842  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_atoms(self)
10843 
10844  def add_atom(self, atom):
10845  r"""add_atom(CHARMMResidueTopologyBase self, CHARMMAtomTopology atom)"""
10846  return _IMP_atom.CHARMMResidueTopologyBase_add_atom(self, atom)
10847 
10848  def get_atom(self, *args):
10849  r"""
10850  get_atom(CHARMMResidueTopologyBase self, unsigned int i) -> CHARMMAtomTopology
10851  get_atom(CHARMMResidueTopologyBase self, AtomType type) -> CHARMMAtomTopology
10852  get_atom(CHARMMResidueTopologyBase self, std::string name) -> CHARMMAtomTopology
10853  """
10854  return _IMP_atom.CHARMMResidueTopologyBase_get_atom(self, *args)
10855 
10856  def get_number_of_bonds(self):
10857  r"""get_number_of_bonds(CHARMMResidueTopologyBase self) -> unsigned int"""
10858  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_bonds(self)
10859 
10860  def add_bond(self, bond):
10861  r"""add_bond(CHARMMResidueTopologyBase self, CHARMMBond bond)"""
10862  return _IMP_atom.CHARMMResidueTopologyBase_add_bond(self, bond)
10863 
10864  def get_number_of_angles(self):
10865  r"""get_number_of_angles(CHARMMResidueTopologyBase self) -> unsigned int"""
10866  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_angles(self)
10867 
10868  def add_angle(self, bond):
10869  r"""add_angle(CHARMMResidueTopologyBase self, CHARMMAngle bond)"""
10870  return _IMP_atom.CHARMMResidueTopologyBase_add_angle(self, bond)
10871 
10872  def get_number_of_dihedrals(self):
10873  r"""get_number_of_dihedrals(CHARMMResidueTopologyBase self) -> unsigned int"""
10874  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_dihedrals(self)
10875 
10876  def add_dihedral(self, bond):
10877  r"""add_dihedral(CHARMMResidueTopologyBase self, CHARMMDihedral bond)"""
10878  return _IMP_atom.CHARMMResidueTopologyBase_add_dihedral(self, bond)
10879 
10880  def get_number_of_impropers(self):
10881  r"""get_number_of_impropers(CHARMMResidueTopologyBase self) -> unsigned int"""
10882  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_impropers(self)
10883 
10884  def add_improper(self, bond):
10885  r"""add_improper(CHARMMResidueTopologyBase self, CHARMMDihedral bond)"""
10886  return _IMP_atom.CHARMMResidueTopologyBase_add_improper(self, bond)
10887 
10888  def get_number_of_internal_coordinates(self):
10889  r"""get_number_of_internal_coordinates(CHARMMResidueTopologyBase self) -> unsigned int"""
10890  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_internal_coordinates(self)
10891 
10892  def add_internal_coordinate(self, ic):
10893  r"""add_internal_coordinate(CHARMMResidueTopologyBase self, CHARMMInternalCoordinate ic)"""
10894  return _IMP_atom.CHARMMResidueTopologyBase_add_internal_coordinate(self, ic)
10895 
10896  def get_internal_coordinate(self, index):
10897  r"""get_internal_coordinate(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMInternalCoordinate"""
10898  return _IMP_atom.CHARMMResidueTopologyBase_get_internal_coordinate(self, index)
10899 
10900  def get_bond(self, index):
10901  r"""get_bond(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMBond"""
10902  return _IMP_atom.CHARMMResidueTopologyBase_get_bond(self, index)
10903 
10904  def get_angle(self, index):
10905  r"""get_angle(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMAngle"""
10906  return _IMP_atom.CHARMMResidueTopologyBase_get_angle(self, index)
10907 
10908  def get_dihedral(self, index):
10909  r"""get_dihedral(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMDihedral"""
10910  return _IMP_atom.CHARMMResidueTopologyBase_get_dihedral(self, index)
10911 
10912  def get_improper(self, index):
10913  r"""get_improper(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMDihedral"""
10914  return _IMP_atom.CHARMMResidueTopologyBase_get_improper(self, index)
10915 
10916  def get_version_info(self):
10917  r"""get_version_info(CHARMMResidueTopologyBase self) -> VersionInfo"""
10918  return _IMP_atom.CHARMMResidueTopologyBase_get_version_info(self)
10919  __swig_destroy__ = _IMP_atom.delete_CHARMMResidueTopologyBase
10920 
10921  def __str__(self):
10922  r"""__str__(CHARMMResidueTopologyBase self) -> std::string"""
10923  return _IMP_atom.CHARMMResidueTopologyBase___str__(self)
10924 
10925  def __repr__(self):
10926  r"""__repr__(CHARMMResidueTopologyBase self) -> std::string"""
10927  return _IMP_atom.CHARMMResidueTopologyBase___repr__(self)
10928 
10929  @staticmethod
10930  def get_from(o):
10931  return _object_cast_to_CHARMMResidueTopologyBase(o)
10932 
10933 
10934 # Register CHARMMResidueTopologyBase in _IMP_atom:
10935 _IMP_atom.CHARMMResidueTopologyBase_swigregister(CHARMMResidueTopologyBase)
10936 class CHARMMIdealResidueTopology(CHARMMResidueTopologyBase):
10937  r"""Proxy of C++ IMP::atom::CHARMMIdealResidueTopology class."""
10938 
10939  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10940 
10941  def __init__(self, *args):
10942  r"""
10943  __init__(CHARMMIdealResidueTopology self, std::string type) -> CHARMMIdealResidueTopology
10944  __init__(CHARMMIdealResidueTopology self, ResidueType type) -> CHARMMIdealResidueTopology
10945  """
10946  _IMP_atom.CHARMMIdealResidueTopology_swiginit(self, _IMP_atom.new_CHARMMIdealResidueTopology(*args))
10947 
10948  def remove_atom(self, name):
10949  r"""remove_atom(CHARMMIdealResidueTopology self, std::string name)"""
10950  return _IMP_atom.CHARMMIdealResidueTopology_remove_atom(self, name)
10951 
10952  def set_default_first_patch(self, patch):
10953  r"""set_default_first_patch(CHARMMIdealResidueTopology self, std::string patch)"""
10954  return _IMP_atom.CHARMMIdealResidueTopology_set_default_first_patch(self, patch)
10955 
10956  def set_default_last_patch(self, patch):
10957  r"""set_default_last_patch(CHARMMIdealResidueTopology self, std::string patch)"""
10958  return _IMP_atom.CHARMMIdealResidueTopology_set_default_last_patch(self, patch)
10959 
10960  def get_default_first_patch(self):
10961  r"""get_default_first_patch(CHARMMIdealResidueTopology self) -> std::string"""
10962  return _IMP_atom.CHARMMIdealResidueTopology_get_default_first_patch(self)
10963 
10964  def get_default_last_patch(self):
10965  r"""get_default_last_patch(CHARMMIdealResidueTopology self) -> std::string"""
10966  return _IMP_atom.CHARMMIdealResidueTopology_get_default_last_patch(self)
10967  __swig_destroy__ = _IMP_atom.delete_CHARMMIdealResidueTopology
10968 
10969  def __str__(self):
10970  r"""__str__(CHARMMIdealResidueTopology self) -> std::string"""
10971  return _IMP_atom.CHARMMIdealResidueTopology___str__(self)
10972 
10973  def __repr__(self):
10974  r"""__repr__(CHARMMIdealResidueTopology self) -> std::string"""
10975  return _IMP_atom.CHARMMIdealResidueTopology___repr__(self)
10976 
10977  @staticmethod
10978  def get_from(o):
10979  return _object_cast_to_CHARMMIdealResidueTopology(o)
10980 
10981 
10982 # Register CHARMMIdealResidueTopology in _IMP_atom:
10983 _IMP_atom.CHARMMIdealResidueTopology_swigregister(CHARMMIdealResidueTopology)
10984 class CHARMMPatch(CHARMMResidueTopologyBase):
10985  r"""Proxy of C++ IMP::atom::CHARMMPatch class."""
10986 
10987  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10988 
10989  def __init__(self, type):
10990  r"""__init__(CHARMMPatch self, std::string type) -> CHARMMPatch"""
10991  _IMP_atom.CHARMMPatch_swiginit(self, _IMP_atom.new_CHARMMPatch(type))
10992 
10993  def add_removed_atom(self, name):
10994  r"""add_removed_atom(CHARMMPatch self, std::string name)"""
10995  return _IMP_atom.CHARMMPatch_add_removed_atom(self, name)
10996 
10997  def get_number_of_removed_atoms(self):
10998  r"""get_number_of_removed_atoms(CHARMMPatch self) -> unsigned int"""
10999  return _IMP_atom.CHARMMPatch_get_number_of_removed_atoms(self)
11000 
11001  def get_removed_atom(self, i):
11002  r"""get_removed_atom(CHARMMPatch self, unsigned int i) -> std::string"""
11003  return _IMP_atom.CHARMMPatch_get_removed_atom(self, i)
11004 
11005  def apply(self, *args):
11006  r"""
11007  apply(CHARMMPatch self, CHARMMResidueTopology res)
11008  apply(CHARMMPatch self, CHARMMResidueTopology res1, CHARMMResidueTopology res2)
11009  """
11010  return _IMP_atom.CHARMMPatch_apply(self, *args)
11011  __swig_destroy__ = _IMP_atom.delete_CHARMMPatch
11012 
11013  def __str__(self):
11014  r"""__str__(CHARMMPatch self) -> std::string"""
11015  return _IMP_atom.CHARMMPatch___str__(self)
11016 
11017  def __repr__(self):
11018  r"""__repr__(CHARMMPatch self) -> std::string"""
11019  return _IMP_atom.CHARMMPatch___repr__(self)
11020 
11021  @staticmethod
11022  def get_from(o):
11023  return _object_cast_to_CHARMMPatch(o)
11024 
11025 
11026 # Register CHARMMPatch in _IMP_atom:
11027 _IMP_atom.CHARMMPatch_swigregister(CHARMMPatch)
11028 class CHARMMResidueTopology(CHARMMIdealResidueTopology):
11029  r"""Proxy of C++ IMP::atom::CHARMMResidueTopology class."""
11030 
11031  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11032 
11033  def __init__(self, *args):
11034  r"""
11035  __init__(CHARMMResidueTopology self, ResidueType type) -> CHARMMResidueTopology
11036  __init__(CHARMMResidueTopology self, CHARMMIdealResidueTopology ideal) -> CHARMMResidueTopology
11037  """
11038  _IMP_atom.CHARMMResidueTopology_swiginit(self, _IMP_atom.new_CHARMMResidueTopology(*args))
11039 
11040  def get_patched(self):
11041  r"""get_patched(CHARMMResidueTopology self) -> bool"""
11042  return _IMP_atom.CHARMMResidueTopology_get_patched(self)
11043 
11044  def set_patched(self, patched):
11045  r"""set_patched(CHARMMResidueTopology self, bool patched)"""
11046  return _IMP_atom.CHARMMResidueTopology_set_patched(self, patched)
11047  __swig_destroy__ = _IMP_atom.delete_CHARMMResidueTopology
11048 
11049  def __str__(self):
11050  r"""__str__(CHARMMResidueTopology self) -> std::string"""
11051  return _IMP_atom.CHARMMResidueTopology___str__(self)
11052 
11053  def __repr__(self):
11054  r"""__repr__(CHARMMResidueTopology self) -> std::string"""
11055  return _IMP_atom.CHARMMResidueTopology___repr__(self)
11056 
11057  @staticmethod
11058  def get_from(o):
11059  return _object_cast_to_CHARMMResidueTopology(o)
11060 
11061 
11062 # Register CHARMMResidueTopology in _IMP_atom:
11063 _IMP_atom.CHARMMResidueTopology_swigregister(CHARMMResidueTopology)
11064 class CHARMMAtom(Atom):
11065  r"""Proxy of C++ IMP::atom::CHARMMAtom class."""
11066 
11067  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11068 
11069  def __init__(self, *args):
11070  r"""
11071  __init__(CHARMMAtom self) -> CHARMMAtom
11072  __init__(CHARMMAtom self, Model m, ParticleIndex id) -> CHARMMAtom
11073  __init__(CHARMMAtom self, _ParticleAdaptor d) -> CHARMMAtom
11074  """
11075  _IMP_atom.CHARMMAtom_swiginit(self, _IMP_atom.new_CHARMMAtom(*args))
11076 
11077  def show(self, *args):
11078  r"""show(CHARMMAtom self, _ostream out=std::cout)"""
11079  return _IMP_atom.CHARMMAtom_show(self, *args)
11080 
11081  @staticmethod
11082  def setup_particle(*args):
11083  r"""
11084  setup_particle(Model m, ParticleIndex pi, IMP::String charmm_type) -> CHARMMAtom
11085  setup_particle(_ParticleAdaptor pa, IMP::String charmm_type) -> CHARMMAtom
11086  """
11087  return _IMP_atom.CHARMMAtom_setup_particle(*args)
11088 
11089  def get_charmm_type(self):
11090  r"""get_charmm_type(CHARMMAtom self) -> IMP::String"""
11091  return _IMP_atom.CHARMMAtom_get_charmm_type(self)
11092 
11093  def set_charmm_type(self, t):
11094  r"""set_charmm_type(CHARMMAtom self, IMP::String t)"""
11095  return _IMP_atom.CHARMMAtom_set_charmm_type(self, t)
11096 
11097  @staticmethod
11098  def get_is_setup(*args):
11099  r"""
11100  get_is_setup(_ParticleAdaptor p) -> bool
11101  get_is_setup(Model m, ParticleIndex pi) -> bool
11102  """
11103  return _IMP_atom.CHARMMAtom_get_is_setup(*args)
11104 
11105  @staticmethod
11106  def get_charmm_type_key():
11107  r"""get_charmm_type_key() -> StringKey"""
11108  return _IMP_atom.CHARMMAtom_get_charmm_type_key()
11109 
11110  def add_attribute(self, *args):
11111  r"""
11112  add_attribute(CHARMMAtom self, FloatKey k, IMP::Float v, bool opt)
11113  add_attribute(CHARMMAtom self, FloatKey a0, IMP::Float a1)
11114  add_attribute(CHARMMAtom self, IntKey a0, IMP::Int a1)
11115  add_attribute(CHARMMAtom self, FloatsKey a0, IMP::Floats a1)
11116  add_attribute(CHARMMAtom self, IntsKey a0, IMP::Ints a1)
11117  add_attribute(CHARMMAtom self, StringKey a0, IMP::String a1)
11118  add_attribute(CHARMMAtom self, ParticleIndexKey a0, Particle a1)
11119  add_attribute(CHARMMAtom self, ObjectKey a0, Object a1)
11120  add_attribute(CHARMMAtom self, SparseFloatKey a0, IMP::Float a1)
11121  add_attribute(CHARMMAtom self, SparseIntKey a0, IMP::Int a1)
11122  add_attribute(CHARMMAtom self, SparseStringKey a0, IMP::String a1)
11123  add_attribute(CHARMMAtom self, SparseParticleIndexKey a0, ParticleIndex a1)
11124  """
11125  return _IMP_atom.CHARMMAtom_add_attribute(self, *args)
11126 
11127  def get_value(self, *args):
11128  r"""
11129  get_value(CHARMMAtom self, FloatKey a0) -> IMP::Float
11130  get_value(CHARMMAtom self, IntKey a0) -> IMP::Int
11131  get_value(CHARMMAtom self, FloatsKey a0) -> IMP::Floats
11132  get_value(CHARMMAtom self, IntsKey a0) -> IMP::Ints
11133  get_value(CHARMMAtom self, StringKey a0) -> IMP::String
11134  get_value(CHARMMAtom self, ParticleIndexKey a0) -> Particle
11135  get_value(CHARMMAtom self, ObjectKey a0) -> Object
11136  get_value(CHARMMAtom self, SparseFloatKey a0) -> IMP::Float
11137  get_value(CHARMMAtom self, SparseIntKey a0) -> IMP::Int
11138  get_value(CHARMMAtom self, SparseStringKey a0) -> IMP::String
11139  get_value(CHARMMAtom self, SparseParticleIndexKey a0) -> ParticleIndex
11140  """
11141  return _IMP_atom.CHARMMAtom_get_value(self, *args)
11142 
11143  def set_value(self, *args):
11144  r"""
11145  set_value(CHARMMAtom self, FloatKey a0, IMP::Float a1)
11146  set_value(CHARMMAtom self, IntKey a0, IMP::Int a1)
11147  set_value(CHARMMAtom self, FloatsKey a0, IMP::Floats a1)
11148  set_value(CHARMMAtom self, IntsKey a0, IMP::Ints a1)
11149  set_value(CHARMMAtom self, StringKey a0, IMP::String a1)
11150  set_value(CHARMMAtom self, ParticleIndexKey a0, Particle a1)
11151  set_value(CHARMMAtom self, ObjectKey a0, Object a1)
11152  set_value(CHARMMAtom self, SparseFloatKey a0, IMP::Float a1)
11153  set_value(CHARMMAtom self, SparseIntKey a0, IMP::Int a1)
11154  set_value(CHARMMAtom self, SparseStringKey a0, IMP::String a1)
11155  set_value(CHARMMAtom self, SparseParticleIndexKey a0, ParticleIndex a1)
11156  """
11157  return _IMP_atom.CHARMMAtom_set_value(self, *args)
11158 
11159  def remove_attribute(self, *args):
11160  r"""
11161  remove_attribute(CHARMMAtom self, FloatKey a0)
11162  remove_attribute(CHARMMAtom self, IntKey a0)
11163  remove_attribute(CHARMMAtom self, FloatsKey a0)
11164  remove_attribute(CHARMMAtom self, IntsKey a0)
11165  remove_attribute(CHARMMAtom self, StringKey a0)
11166  remove_attribute(CHARMMAtom self, ParticleIndexKey a0)
11167  remove_attribute(CHARMMAtom self, ObjectKey a0)
11168  remove_attribute(CHARMMAtom self, SparseFloatKey a0)
11169  remove_attribute(CHARMMAtom self, SparseIntKey a0)
11170  remove_attribute(CHARMMAtom self, SparseStringKey a0)
11171  remove_attribute(CHARMMAtom self, SparseParticleIndexKey a0)
11172  """
11173  return _IMP_atom.CHARMMAtom_remove_attribute(self, *args)
11174 
11175  def has_attribute(self, *args):
11176  r"""
11177  has_attribute(CHARMMAtom self, FloatKey a0) -> bool
11178  has_attribute(CHARMMAtom self, IntKey a0) -> bool
11179  has_attribute(CHARMMAtom self, FloatsKey a0) -> bool
11180  has_attribute(CHARMMAtom self, IntsKey a0) -> bool
11181  has_attribute(CHARMMAtom self, StringKey a0) -> bool
11182  has_attribute(CHARMMAtom self, ParticleIndexKey a0) -> bool
11183  has_attribute(CHARMMAtom self, ObjectKey a0) -> bool
11184  has_attribute(CHARMMAtom self, SparseFloatKey a0) -> bool
11185  has_attribute(CHARMMAtom self, SparseIntKey a0) -> bool
11186  has_attribute(CHARMMAtom self, SparseStringKey a0) -> bool
11187  has_attribute(CHARMMAtom self, SparseParticleIndexKey a0) -> bool
11188  """
11189  return _IMP_atom.CHARMMAtom_has_attribute(self, *args)
11190 
11191  def get_derivative(self, a0):
11192  r"""get_derivative(CHARMMAtom self, FloatKey a0) -> double"""
11193  return _IMP_atom.CHARMMAtom_get_derivative(self, a0)
11194 
11195  def get_name(self):
11196  r"""get_name(CHARMMAtom self) -> std::string"""
11197  return _IMP_atom.CHARMMAtom_get_name(self)
11198 
11199  def clear_caches(self):
11200  r"""clear_caches(CHARMMAtom self)"""
11201  return _IMP_atom.CHARMMAtom_clear_caches(self)
11202 
11203  def set_name(self, a0):
11204  r"""set_name(CHARMMAtom self, std::string a0)"""
11205  return _IMP_atom.CHARMMAtom_set_name(self, a0)
11206 
11207  def set_check_level(self, a0):
11208  r"""set_check_level(CHARMMAtom self, IMP::CheckLevel a0)"""
11209  return _IMP_atom.CHARMMAtom_set_check_level(self, a0)
11210 
11211  def add_to_derivative(self, a0, a1, a2):
11212  r"""add_to_derivative(CHARMMAtom self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
11213  return _IMP_atom.CHARMMAtom_add_to_derivative(self, a0, a1, a2)
11214 
11215  def set_is_optimized(self, a0, a1):
11216  r"""set_is_optimized(CHARMMAtom self, FloatKey a0, bool a1)"""
11217  return _IMP_atom.CHARMMAtom_set_is_optimized(self, a0, a1)
11218 
11219  def get_is_optimized(self, a0):
11220  r"""get_is_optimized(CHARMMAtom self, FloatKey a0) -> bool"""
11221  return _IMP_atom.CHARMMAtom_get_is_optimized(self, a0)
11222 
11223  def get_check_level(self):
11224  r"""get_check_level(CHARMMAtom self) -> IMP::CheckLevel"""
11225  return _IMP_atom.CHARMMAtom_get_check_level(self)
11226 
11227  def __eq__(self, *args):
11228  r"""
11229  __eq__(CHARMMAtom self, CHARMMAtom o) -> bool
11230  __eq__(CHARMMAtom self, Particle d) -> bool
11231  """
11232  return _IMP_atom.CHARMMAtom___eq__(self, *args)
11233 
11234  def __ne__(self, *args):
11235  r"""
11236  __ne__(CHARMMAtom self, CHARMMAtom o) -> bool
11237  __ne__(CHARMMAtom self, Particle d) -> bool
11238  """
11239  return _IMP_atom.CHARMMAtom___ne__(self, *args)
11240 
11241  def __le__(self, *args):
11242  r"""
11243  __le__(CHARMMAtom self, CHARMMAtom o) -> bool
11244  __le__(CHARMMAtom self, Particle d) -> bool
11245  """
11246  return _IMP_atom.CHARMMAtom___le__(self, *args)
11247 
11248  def __lt__(self, *args):
11249  r"""
11250  __lt__(CHARMMAtom self, CHARMMAtom o) -> bool
11251  __lt__(CHARMMAtom self, Particle d) -> bool
11252  """
11253  return _IMP_atom.CHARMMAtom___lt__(self, *args)
11254 
11255  def __ge__(self, *args):
11256  r"""
11257  __ge__(CHARMMAtom self, CHARMMAtom o) -> bool
11258  __ge__(CHARMMAtom self, Particle d) -> bool
11259  """
11260  return _IMP_atom.CHARMMAtom___ge__(self, *args)
11261 
11262  def __gt__(self, *args):
11263  r"""
11264  __gt__(CHARMMAtom self, CHARMMAtom o) -> bool
11265  __gt__(CHARMMAtom self, Particle d) -> bool
11266  """
11267  return _IMP_atom.CHARMMAtom___gt__(self, *args)
11268 
11269  def __hash__(self):
11270  r"""__hash__(CHARMMAtom self) -> std::size_t"""
11271  return _IMP_atom.CHARMMAtom___hash__(self)
11272 
11273  def __str__(self):
11274  r"""__str__(CHARMMAtom self) -> std::string"""
11275  return _IMP_atom.CHARMMAtom___str__(self)
11276 
11277  def __repr__(self):
11278  r"""__repr__(CHARMMAtom self) -> std::string"""
11279  return _IMP_atom.CHARMMAtom___repr__(self)
11280 
11281  def _get_as_binary(self):
11282  r"""_get_as_binary(CHARMMAtom self) -> PyObject *"""
11283  return _IMP_atom.CHARMMAtom__get_as_binary(self)
11284 
11285  def _set_from_binary(self, p):
11286  r"""_set_from_binary(CHARMMAtom self, PyObject * p)"""
11287  return _IMP_atom.CHARMMAtom__set_from_binary(self, p)
11288 
11289  def __getstate__(self):
11290  p = self._get_as_binary()
11291  if len(self.__dict__) > 1:
11292  d = self.__dict__.copy()
11293  del d['this']
11294  p = (d, p)
11295  return p
11296 
11297  def __setstate__(self, p):
11298  if not hasattr(self, 'this'):
11299  self.__init__()
11300  if isinstance(p, tuple):
11301  d, p = p
11302  self.__dict__.update(d)
11303  return self._set_from_binary(p)
11304 
11305  __swig_destroy__ = _IMP_atom.delete_CHARMMAtom
11306 
11307 # Register CHARMMAtom in _IMP_atom:
11308 _IMP_atom.CHARMMAtom_swigregister(CHARMMAtom)
11309 
11310 def get_charmm_untyped_atoms(hierarchy):
11311  r"""get_charmm_untyped_atoms(Hierarchy hierarchy) -> IMP::atom::Atoms"""
11312  return _IMP_atom.get_charmm_untyped_atoms(hierarchy)
11313 
11314 def remove_charmm_untyped_atoms(hierarchy):
11315  r"""remove_charmm_untyped_atoms(Hierarchy hierarchy)"""
11316  return _IMP_atom.remove_charmm_untyped_atoms(hierarchy)
11317 class CHARMMBondParameters(object):
11318  r"""Proxy of C++ IMP::atom::CHARMMBondParameters class."""
11319 
11320  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11321  force_constant = property(_IMP_atom.CHARMMBondParameters_force_constant_get, _IMP_atom.CHARMMBondParameters_force_constant_set, doc=r"""force_constant : double""")
11322  ideal = property(_IMP_atom.CHARMMBondParameters_ideal_get, _IMP_atom.CHARMMBondParameters_ideal_set, doc=r"""ideal : double""")
11323 
11324  def __init__(self):
11325  r"""__init__(CHARMMBondParameters self) -> CHARMMBondParameters"""
11326  _IMP_atom.CHARMMBondParameters_swiginit(self, _IMP_atom.new_CHARMMBondParameters())
11327 
11328  def show(self, *args):
11329  r"""show(CHARMMBondParameters self, _ostream out=std::cout)"""
11330  return _IMP_atom.CHARMMBondParameters_show(self, *args)
11331 
11332  def __str__(self):
11333  r"""__str__(CHARMMBondParameters self) -> std::string"""
11334  return _IMP_atom.CHARMMBondParameters___str__(self)
11335 
11336  def __repr__(self):
11337  r"""__repr__(CHARMMBondParameters self) -> std::string"""
11338  return _IMP_atom.CHARMMBondParameters___repr__(self)
11339 
11340  def _get_as_binary(self):
11341  r"""_get_as_binary(CHARMMBondParameters self) -> PyObject *"""
11342  return _IMP_atom.CHARMMBondParameters__get_as_binary(self)
11343 
11344  def _set_from_binary(self, p):
11345  r"""_set_from_binary(CHARMMBondParameters self, PyObject * p)"""
11346  return _IMP_atom.CHARMMBondParameters__set_from_binary(self, p)
11347 
11348  def __getstate__(self):
11349  p = self._get_as_binary()
11350  if len(self.__dict__) > 1:
11351  d = self.__dict__.copy()
11352  del d['this']
11353  p = (d, p)
11354  return p
11355 
11356  def __setstate__(self, p):
11357  if not hasattr(self, 'this'):
11358  self.__init__()
11359  if isinstance(p, tuple):
11360  d, p = p
11361  self.__dict__.update(d)
11362  return self._set_from_binary(p)
11363 
11364  __swig_destroy__ = _IMP_atom.delete_CHARMMBondParameters
11365 
11366 # Register CHARMMBondParameters in _IMP_atom:
11367 _IMP_atom.CHARMMBondParameters_swigregister(CHARMMBondParameters)
11368 class CHARMMDihedralParameters(object):
11369  r"""Proxy of C++ IMP::atom::CHARMMDihedralParameters class."""
11370 
11371  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11372  force_constant = property(_IMP_atom.CHARMMDihedralParameters_force_constant_get, _IMP_atom.CHARMMDihedralParameters_force_constant_set, doc=r"""force_constant : double""")
11373  multiplicity = property(_IMP_atom.CHARMMDihedralParameters_multiplicity_get, _IMP_atom.CHARMMDihedralParameters_multiplicity_set, doc=r"""multiplicity : int""")
11374  ideal = property(_IMP_atom.CHARMMDihedralParameters_ideal_get, _IMP_atom.CHARMMDihedralParameters_ideal_set, doc=r"""ideal : double""")
11375 
11376  def __init__(self):
11377  r"""__init__(CHARMMDihedralParameters self) -> CHARMMDihedralParameters"""
11378  _IMP_atom.CHARMMDihedralParameters_swiginit(self, _IMP_atom.new_CHARMMDihedralParameters())
11379 
11380  def show(self, *args):
11381  r"""show(CHARMMDihedralParameters self, _ostream out=std::cout)"""
11382  return _IMP_atom.CHARMMDihedralParameters_show(self, *args)
11383 
11384  def __str__(self):
11385  r"""__str__(CHARMMDihedralParameters self) -> std::string"""
11386  return _IMP_atom.CHARMMDihedralParameters___str__(self)
11387 
11388  def __repr__(self):
11389  r"""__repr__(CHARMMDihedralParameters self) -> std::string"""
11390  return _IMP_atom.CHARMMDihedralParameters___repr__(self)
11391 
11392  def _get_as_binary(self):
11393  r"""_get_as_binary(CHARMMDihedralParameters self) -> PyObject *"""
11394  return _IMP_atom.CHARMMDihedralParameters__get_as_binary(self)
11395 
11396  def _set_from_binary(self, p):
11397  r"""_set_from_binary(CHARMMDihedralParameters self, PyObject * p)"""
11398  return _IMP_atom.CHARMMDihedralParameters__set_from_binary(self, p)
11399 
11400  def __getstate__(self):
11401  p = self._get_as_binary()
11402  if len(self.__dict__) > 1:
11403  d = self.__dict__.copy()
11404  del d['this']
11405  p = (d, p)
11406  return p
11407 
11408  def __setstate__(self, p):
11409  if not hasattr(self, 'this'):
11410  self.__init__()
11411  if isinstance(p, tuple):
11412  d, p = p
11413  self.__dict__.update(d)
11414  return self._set_from_binary(p)
11415 
11416  __swig_destroy__ = _IMP_atom.delete_CHARMMDihedralParameters
11417 
11418 # Register CHARMMDihedralParameters in _IMP_atom:
11419 _IMP_atom.CHARMMDihedralParameters_swigregister(CHARMMDihedralParameters)
11420 class CHARMMParameters(ForceFieldParameters):
11421  r"""Proxy of C++ IMP::atom::CHARMMParameters class."""
11422 
11423  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11424 
11425  def __init__(self, *args):
11426  r"""__init__(CHARMMParameters self, TextInput topology_file_name, TextInput par_file_name=IMP::TextInput(), bool translate_names_to_pdb=False) -> CHARMMParameters"""
11427  _IMP_atom.CHARMMParameters_swiginit(self, _IMP_atom.new_CHARMMParameters(*args))
11428 
11429  def add_residue_topology(self, res):
11430  r"""add_residue_topology(CHARMMParameters self, CHARMMIdealResidueTopology res)"""
11431  return _IMP_atom.CHARMMParameters_add_residue_topology(self, res)
11432 
11433  def get_residue_topology(self, type):
11434  r"""get_residue_topology(CHARMMParameters self, ResidueType type) -> CHARMMIdealResidueTopology"""
11435  return _IMP_atom.CHARMMParameters_get_residue_topology(self, type)
11436 
11437  def add_patch(self, patch):
11438  r"""add_patch(CHARMMParameters self, CHARMMPatch patch)"""
11439  return _IMP_atom.CHARMMParameters_add_patch(self, patch)
11440 
11441  def get_patch(self, name):
11442  r"""get_patch(CHARMMParameters self, std::string name) -> CHARMMPatch"""
11443  return _IMP_atom.CHARMMParameters_get_patch(self, name)
11444 
11445  def create_topology(self, hierarchy):
11446  r"""create_topology(CHARMMParameters self, Hierarchy hierarchy) -> CHARMMTopology"""
11447  return _IMP_atom.CHARMMParameters_create_topology(self, hierarchy)
11448 
11449  def get_bond_parameters(self, type1, type2):
11450  r"""get_bond_parameters(CHARMMParameters self, std::string type1, std::string type2) -> CHARMMBondParameters"""
11451  return _IMP_atom.CHARMMParameters_get_bond_parameters(self, type1, type2)
11452 
11453  def get_angle_parameters(self, type1, type2, type3):
11454  r"""get_angle_parameters(CHARMMParameters self, std::string type1, std::string type2, std::string type3) -> CHARMMBondParameters"""
11455  return _IMP_atom.CHARMMParameters_get_angle_parameters(self, type1, type2, type3)
11456 
11457  def get_dihedral_parameters(self, type1, type2, type3, type4):
11458  r"""get_dihedral_parameters(CHARMMParameters self, std::string type1, std::string type2, std::string type3, std::string type4) -> IMP::atom::CHARMMDihedralParametersList"""
11459  return _IMP_atom.CHARMMParameters_get_dihedral_parameters(self, type1, type2, type3, type4)
11460 
11461  def get_improper_parameters(self, type1, type2, type3, type4):
11462  r"""get_improper_parameters(CHARMMParameters self, std::string type1, std::string type2, std::string type3, std::string type4) -> CHARMMDihedralParameters"""
11463  return _IMP_atom.CHARMMParameters_get_improper_parameters(self, type1, type2, type3, type4)
11464 
11465  def create_angles(self, bonds):
11466  r"""create_angles(CHARMMParameters self, IMP::Particles bonds) -> IMP::Particles"""
11467  return _IMP_atom.CHARMMParameters_create_angles(self, bonds)
11468 
11469  def create_dihedrals(self, bonds):
11470  r"""create_dihedrals(CHARMMParameters self, IMP::Particles bonds) -> IMP::Particles"""
11471  return _IMP_atom.CHARMMParameters_create_dihedrals(self, bonds)
11472 
11473  def get_version_info(self):
11474  r"""get_version_info(CHARMMParameters self) -> VersionInfo"""
11475  return _IMP_atom.CHARMMParameters_get_version_info(self)
11476  __swig_destroy__ = _IMP_atom.delete_CHARMMParameters
11477 
11478  def __str__(self):
11479  r"""__str__(CHARMMParameters self) -> std::string"""
11480  return _IMP_atom.CHARMMParameters___str__(self)
11481 
11482  def __repr__(self):
11483  r"""__repr__(CHARMMParameters self) -> std::string"""
11484  return _IMP_atom.CHARMMParameters___repr__(self)
11485 
11486  @staticmethod
11487  def get_from(o):
11488  return _object_cast_to_CHARMMParameters(o)
11489 
11490 
11491 # Register CHARMMParameters in _IMP_atom:
11492 _IMP_atom.CHARMMParameters_swigregister(CHARMMParameters)
11493 
11495  r"""get_heavy_atom_CHARMM_parameters() -> CHARMMParameters"""
11496  return _IMP_atom.get_heavy_atom_CHARMM_parameters()
11497 
11499  r"""get_all_atom_CHARMM_parameters() -> CHARMMParameters"""
11500  return _IMP_atom.get_all_atom_CHARMM_parameters()
11501 class CHARMMSegmentTopology(IMP.Object):
11502  r"""Proxy of C++ IMP::atom::CHARMMSegmentTopology class."""
11503 
11504  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11505  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)
11506  def __set_residues(self, obj): IMP._list_util.set_varlist(self.residues, obj)
11507  def __del_residues(self): IMP._list_util.del_varlist(self.residues)
11508  residues = property(__get_residues, __set_residues, __del_residues, doc="List of ##ucnames")
11509 
11510  def remove_residue(self, d):
11511  r"""remove_residue(CHARMMSegmentTopology self, CHARMMResidueTopology d)"""
11512  return _IMP_atom.CHARMMSegmentTopology_remove_residue(self, d)
11513 
11514  def _python_index_residue(self, d, start, stop):
11515  r"""_python_index_residue(CHARMMSegmentTopology self, CHARMMResidueTopology d, unsigned int start, unsigned int stop) -> unsigned int"""
11516  return _IMP_atom.CHARMMSegmentTopology__python_index_residue(self, d, start, stop)
11517 
11518  def remove_residues(self, d):
11519  r"""remove_residues(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & d)"""
11520  return _IMP_atom.CHARMMSegmentTopology_remove_residues(self, d)
11521 
11522  def set_residues(self, ps):
11523  r"""set_residues(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & ps)"""
11524  return _IMP_atom.CHARMMSegmentTopology_set_residues(self, ps)
11525 
11526  def set_residues_order(self, objs):
11527  r"""set_residues_order(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & objs)"""
11528  return _IMP_atom.CHARMMSegmentTopology_set_residues_order(self, objs)
11529 
11530  def add_residue(self, obj):
11531  r"""add_residue(CHARMMSegmentTopology self, CHARMMResidueTopology obj) -> unsigned int"""
11532  return _IMP_atom.CHARMMSegmentTopology_add_residue(self, obj)
11533 
11534  def add_residues(self, objs):
11535  r"""add_residues(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & objs)"""
11536  return _IMP_atom.CHARMMSegmentTopology_add_residues(self, objs)
11537 
11538  def clear_residues(self):
11539  r"""clear_residues(CHARMMSegmentTopology self)"""
11540  return _IMP_atom.CHARMMSegmentTopology_clear_residues(self)
11541 
11542  def get_number_of_residues(self):
11543  r"""get_number_of_residues(CHARMMSegmentTopology self) -> unsigned int"""
11544  return _IMP_atom.CHARMMSegmentTopology_get_number_of_residues(self)
11545 
11546  def get_has_residues(self):
11547  r"""get_has_residues(CHARMMSegmentTopology self) -> bool"""
11548  return _IMP_atom.CHARMMSegmentTopology_get_has_residues(self)
11549 
11550  def get_residue(self, i):
11551  r"""get_residue(CHARMMSegmentTopology self, unsigned int i) -> CHARMMResidueTopology"""
11552  return _IMP_atom.CHARMMSegmentTopology_get_residue(self, i)
11553 
11554  def get_residues(self):
11555  r"""get_residues(CHARMMSegmentTopology self) -> IMP::atom::CHARMMResidueTopologies"""
11556  return _IMP_atom.CHARMMSegmentTopology_get_residues(self)
11557 
11558  def erase_residue(self, i):
11559  r"""erase_residue(CHARMMSegmentTopology self, unsigned int i)"""
11560  return _IMP_atom.CHARMMSegmentTopology_erase_residue(self, i)
11561 
11562  def reserve_residues(self, sz):
11563  r"""reserve_residues(CHARMMSegmentTopology self, unsigned int sz)"""
11564  return _IMP_atom.CHARMMSegmentTopology_reserve_residues(self, sz)
11565 
11566  def get_version_info(self):
11567  r"""get_version_info(CHARMMSegmentTopology self) -> VersionInfo"""
11568  return _IMP_atom.CHARMMSegmentTopology_get_version_info(self)
11569  __swig_destroy__ = _IMP_atom.delete_CHARMMSegmentTopology
11570 
11571  def __init__(self, *args):
11572  r"""__init__(CHARMMSegmentTopology self, std::string name="CHARMM segment topology %1%") -> CHARMMSegmentTopology"""
11573  _IMP_atom.CHARMMSegmentTopology_swiginit(self, _IMP_atom.new_CHARMMSegmentTopology(*args))
11574 
11575  def apply_default_patches(self, ff):
11576  r"""apply_default_patches(CHARMMSegmentTopology self, CHARMMParameters ff)"""
11577  return _IMP_atom.CHARMMSegmentTopology_apply_default_patches(self, ff)
11578 
11579  def __str__(self):
11580  r"""__str__(CHARMMSegmentTopology self) -> std::string"""
11581  return _IMP_atom.CHARMMSegmentTopology___str__(self)
11582 
11583  def __repr__(self):
11584  r"""__repr__(CHARMMSegmentTopology self) -> std::string"""
11585  return _IMP_atom.CHARMMSegmentTopology___repr__(self)
11586 
11587  @staticmethod
11588  def get_from(o):
11589  return _object_cast_to_CHARMMSegmentTopology(o)
11590 
11591 
11592 # Register CHARMMSegmentTopology in _IMP_atom:
11593 _IMP_atom.CHARMMSegmentTopology_swigregister(CHARMMSegmentTopology)
11594 class CHARMMTopology(IMP.Object):
11595  r"""Proxy of C++ IMP::atom::CHARMMTopology class."""
11596 
11597  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11598 
11599  def __init__(self, *args):
11600  r"""__init__(CHARMMTopology self, CHARMMParameters force_field, std::string name="CHARMM topology %1%") -> CHARMMTopology"""
11601  _IMP_atom.CHARMMTopology_swiginit(self, _IMP_atom.new_CHARMMTopology(*args))
11602 
11603  def get_parameters(self):
11604  r"""get_parameters(CHARMMTopology self) -> CHARMMParameters"""
11605  return _IMP_atom.CHARMMTopology_get_parameters(self)
11606 
11607  def add_sequence(self, sequence):
11608  r"""add_sequence(CHARMMTopology self, std::string sequence)"""
11609  return _IMP_atom.CHARMMTopology_add_sequence(self, sequence)
11610 
11611  def apply_default_patches(self):
11612  r"""apply_default_patches(CHARMMTopology self)"""
11613  return _IMP_atom.CHARMMTopology_apply_default_patches(self)
11614 
11615  def create_hierarchy(self, model):
11616  r"""create_hierarchy(CHARMMTopology self, Model model) -> Hierarchy"""
11617  return _IMP_atom.CHARMMTopology_create_hierarchy(self, model)
11618 
11619  def add_atom_types(self, hierarchy):
11620  r"""add_atom_types(CHARMMTopology self, Hierarchy hierarchy)"""
11621  return _IMP_atom.CHARMMTopology_add_atom_types(self, hierarchy)
11622 
11623  def add_coordinates(self, hierarchy):
11624  r"""add_coordinates(CHARMMTopology self, Hierarchy hierarchy)"""
11625  return _IMP_atom.CHARMMTopology_add_coordinates(self, hierarchy)
11626 
11627  def add_missing_atoms(self, hierarchy):
11628  r"""add_missing_atoms(CHARMMTopology self, Hierarchy hierarchy)"""
11629  return _IMP_atom.CHARMMTopology_add_missing_atoms(self, hierarchy)
11630 
11631  def setup_hierarchy(self, hierarchy):
11632  r"""setup_hierarchy(CHARMMTopology self, Hierarchy hierarchy)"""
11633  return _IMP_atom.CHARMMTopology_setup_hierarchy(self, hierarchy)
11634 
11635  def add_charges(self, hierarchy):
11636  r"""add_charges(CHARMMTopology self, Hierarchy hierarchy)"""
11637  return _IMP_atom.CHARMMTopology_add_charges(self, hierarchy)
11638 
11639  def add_bonds(self, hierarchy):
11640  r"""add_bonds(CHARMMTopology self, Hierarchy hierarchy) -> IMP::Particles"""
11641  return _IMP_atom.CHARMMTopology_add_bonds(self, hierarchy)
11642 
11643  def add_dihedrals(self, hierarchy):
11644  r"""add_dihedrals(CHARMMTopology self, Hierarchy hierarchy) -> IMP::Particles"""
11645  return _IMP_atom.CHARMMTopology_add_dihedrals(self, hierarchy)
11646 
11647  def add_impropers(self, hierarchy):
11648  r"""add_impropers(CHARMMTopology self, Hierarchy hierarchy) -> IMP::Particles"""
11649  return _IMP_atom.CHARMMTopology_add_impropers(self, hierarchy)
11650  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)
11651  def __set_segments(self, obj): IMP._list_util.set_varlist(self.segments, obj)
11652  def __del_segments(self): IMP._list_util.del_varlist(self.segments)
11653  segments = property(__get_segments, __set_segments, __del_segments, doc="List of ##ucnames")
11654 
11655  def remove_segment(self, d):
11656  r"""remove_segment(CHARMMTopology self, CHARMMSegmentTopology d)"""
11657  return _IMP_atom.CHARMMTopology_remove_segment(self, d)
11658 
11659  def _python_index_segment(self, d, start, stop):
11660  r"""_python_index_segment(CHARMMTopology self, CHARMMSegmentTopology d, unsigned int start, unsigned int stop) -> unsigned int"""
11661  return _IMP_atom.CHARMMTopology__python_index_segment(self, d, start, stop)
11662 
11663  def remove_segments(self, d):
11664  r"""remove_segments(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & d)"""
11665  return _IMP_atom.CHARMMTopology_remove_segments(self, d)
11666 
11667  def set_segments(self, ps):
11668  r"""set_segments(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & ps)"""
11669  return _IMP_atom.CHARMMTopology_set_segments(self, ps)
11670 
11671  def set_segments_order(self, objs):
11672  r"""set_segments_order(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & objs)"""
11673  return _IMP_atom.CHARMMTopology_set_segments_order(self, objs)
11674 
11675  def add_segment(self, obj):
11676  r"""add_segment(CHARMMTopology self, CHARMMSegmentTopology obj) -> unsigned int"""
11677  return _IMP_atom.CHARMMTopology_add_segment(self, obj)
11678 
11679  def add_segments(self, objs):
11680  r"""add_segments(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & objs)"""
11681  return _IMP_atom.CHARMMTopology_add_segments(self, objs)
11682 
11683  def clear_segments(self):
11684  r"""clear_segments(CHARMMTopology self)"""
11685  return _IMP_atom.CHARMMTopology_clear_segments(self)
11686 
11687  def get_number_of_segments(self):
11688  r"""get_number_of_segments(CHARMMTopology self) -> unsigned int"""
11689  return _IMP_atom.CHARMMTopology_get_number_of_segments(self)
11690 
11691  def get_has_segments(self):
11692  r"""get_has_segments(CHARMMTopology self) -> bool"""
11693  return _IMP_atom.CHARMMTopology_get_has_segments(self)
11694 
11695  def get_segment(self, i):
11696  r"""get_segment(CHARMMTopology self, unsigned int i) -> CHARMMSegmentTopology"""
11697  return _IMP_atom.CHARMMTopology_get_segment(self, i)
11698 
11699  def get_segments(self):
11700  r"""get_segments(CHARMMTopology self) -> IMP::atom::CHARMMSegmentTopologies"""
11701  return _IMP_atom.CHARMMTopology_get_segments(self)
11702 
11703  def erase_segment(self, i):
11704  r"""erase_segment(CHARMMTopology self, unsigned int i)"""
11705  return _IMP_atom.CHARMMTopology_erase_segment(self, i)
11706 
11707  def reserve_segments(self, sz):
11708  r"""reserve_segments(CHARMMTopology self, unsigned int sz)"""
11709  return _IMP_atom.CHARMMTopology_reserve_segments(self, sz)
11710 
11711  def get_version_info(self):
11712  r"""get_version_info(CHARMMTopology self) -> VersionInfo"""
11713  return _IMP_atom.CHARMMTopology_get_version_info(self)
11714  __swig_destroy__ = _IMP_atom.delete_CHARMMTopology
11715 
11716  def __str__(self):
11717  r"""__str__(CHARMMTopology self) -> std::string"""
11718  return _IMP_atom.CHARMMTopology___str__(self)
11719 
11720  def __repr__(self):
11721  r"""__repr__(CHARMMTopology self) -> std::string"""
11722  return _IMP_atom.CHARMMTopology___repr__(self)
11723 
11724  @staticmethod
11725  def get_from(o):
11726  return _object_cast_to_CHARMMTopology(o)
11727 
11728 
11729 # Register CHARMMTopology in _IMP_atom:
11730 _IMP_atom.CHARMMTopology_swigregister(CHARMMTopology)
11731 class CHARMMStereochemistryRestraint(IMP.Restraint):
11732  r"""Proxy of C++ IMP::atom::CHARMMStereochemistryRestraint class."""
11733 
11734  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11735 
11736  def __init__(self, *args):
11737  r"""
11738  __init__(CHARMMStereochemistryRestraint self, Hierarchy h, CHARMMTopology topology) -> CHARMMStereochemistryRestraint
11739  __init__(CHARMMStereochemistryRestraint self, Hierarchy h, CHARMMTopology topology, IMP::ParticlesTemp limit_to_these_particles) -> CHARMMStereochemistryRestraint
11740  """
11741  _IMP_atom.CHARMMStereochemistryRestraint_swiginit(self, _IMP_atom.new_CHARMMStereochemistryRestraint(*args))
11742 
11743  def get_pair_filter(self):
11744  r"""get_pair_filter(CHARMMStereochemistryRestraint self) -> StereochemistryPairFilter"""
11745  return _IMP_atom.CHARMMStereochemistryRestraint_get_pair_filter(self)
11746 
11747  def get_full_pair_filter(self):
11748  r"""get_full_pair_filter(CHARMMStereochemistryRestraint self) -> StereochemistryPairFilter"""
11749  return _IMP_atom.CHARMMStereochemistryRestraint_get_full_pair_filter(self)
11750 
11751  def do_get_inputs(self):
11752  r"""do_get_inputs(CHARMMStereochemistryRestraint self) -> IMP::ModelObjectsTemp"""
11753  return _IMP_atom.CHARMMStereochemistryRestraint_do_get_inputs(self)
11754 
11755  def get_version_info(self):
11756  r"""get_version_info(CHARMMStereochemistryRestraint self) -> VersionInfo"""
11757  return _IMP_atom.CHARMMStereochemistryRestraint_get_version_info(self)
11758  __swig_destroy__ = _IMP_atom.delete_CHARMMStereochemistryRestraint
11759 
11760  def __str__(self):
11761  r"""__str__(CHARMMStereochemistryRestraint self) -> std::string"""
11762  return _IMP_atom.CHARMMStereochemistryRestraint___str__(self)
11763 
11764  def __repr__(self):
11765  r"""__repr__(CHARMMStereochemistryRestraint self) -> std::string"""
11766  return _IMP_atom.CHARMMStereochemistryRestraint___repr__(self)
11767 
11768  @staticmethod
11769  def get_from(o):
11770  return _object_cast_to_CHARMMStereochemistryRestraint(o)
11771 
11772 
11773 # Register CHARMMStereochemistryRestraint in _IMP_atom:
11774 _IMP_atom.CHARMMStereochemistryRestraint_swigregister(CHARMMStereochemistryRestraint)
11775 
11776 def add_bonds(*args):
11777  r"""add_bonds(Hierarchy d, ForceFieldParameters ffp=IMP::atom::get_all_atom_CHARMM_parameters())"""
11778  return _IMP_atom.add_bonds(*args)
11779 
11780 def add_radii(*args):
11781  r"""add_radii(Hierarchy d, ForceFieldParameters ffp=IMP::atom::get_all_atom_CHARMM_parameters(), FloatKey radius_key=IMP::FloatKey("radius"))"""
11782  return _IMP_atom.add_radii(*args)
11783 ALBER = _IMP_atom.ALBER
11784 
11785 HARPAZ = _IMP_atom.HARPAZ
11786 
11787 ANDERSSON = _IMP_atom.ANDERSSON
11788 
11789 TSAI = _IMP_atom.TSAI
11790 
11791 QUILLIN = _IMP_atom.QUILLIN
11792 
11793 SQUIRE = _IMP_atom.SQUIRE
11794 
11795 
11796 def get_protein_density_from_reference(densityReference):
11797  r"""get_protein_density_from_reference(IMP::atom::ProteinDensityReference densityReference) -> double"""
11798  return _IMP_atom.get_protein_density_from_reference(densityReference)
11799 
11800 def get_volume_from_mass(*args):
11801  r"""get_volume_from_mass(double m, IMP::atom::ProteinDensityReference ref=ALBER) -> double"""
11802  return _IMP_atom.get_volume_from_mass(*args)
11803 
11804 def get_mass_from_volume(*args):
11805  r"""get_mass_from_volume(double v, IMP::atom::ProteinDensityReference ref=ALBER) -> double"""
11806  return _IMP_atom.get_mass_from_volume(*args)
11807 
11809  r"""get_mass_from_number_of_residues(unsigned int num_aa) -> double"""
11810  return _IMP_atom.get_mass_from_number_of_residues(num_aa)
11811 
11813  r"""get_volume_from_residue_type(ResidueType rt) -> double"""
11814  return _IMP_atom.get_volume_from_residue_type(rt)
11815 
11816 def get_molarity(n, volume):
11817  r"""get_molarity(double n, double volume) -> double"""
11818  return _IMP_atom.get_molarity(n, volume)
11819 
11820 def get_kd(na, nb, nab, volume):
11821  r"""get_kd(double na, double nb, double nab, double volume) -> double"""
11822  return _IMP_atom.get_kd(na, nb, nab, volume)
11823 
11824 def get_einstein_diffusion_coefficient(r, temp=-1):
11825  r"""get_einstein_diffusion_coefficient(double r, double temp=-1) -> double"""
11826  return _IMP_atom.get_einstein_diffusion_coefficient(r, temp)
11827 
11829  r"""get_einstein_rotational_diffusion_coefficient(double r, double temp=-1) -> double"""
11830  return _IMP_atom.get_einstein_rotational_diffusion_coefficient(r, temp)
11831 
11832 def get_diffusion_length(*args):
11833  r"""
11834  get_diffusion_length(double D, double t) -> double
11835  get_diffusion_length(double D, double force, double t, double temp=-1) -> double
11836  """
11837  return _IMP_atom.get_diffusion_length(*args)
11838 
11839 def get_diffusion_angle(D, dtfs):
11840  r"""get_diffusion_angle(double D, double dtfs) -> double"""
11841  return _IMP_atom.get_diffusion_angle(D, dtfs)
11842 
11843 def get_diffusion_coefficient(*args):
11844  r"""
11845  get_diffusion_coefficient(IMP::algebra::Vector3Ds const & displacements, double dt) -> double
11846  get_diffusion_coefficient(IMP::algebra::Vector3Ds const & displacements, IMP::Floats const & dts) -> double
11847  """
11848  return _IMP_atom.get_diffusion_coefficient(*args)
11849 
11850 def get_rotational_diffusion_coefficient(orientations, dt):
11851  r"""get_rotational_diffusion_coefficient(IMP::algebra::Rotation3Ds const & orientations, double dt) -> double"""
11852  return _IMP_atom.get_rotational_diffusion_coefficient(orientations, dt)
11853 
11854 def get_energy_in_femto_joules(energy_in_kcal_per_mol):
11855  r"""get_energy_in_femto_joules(double energy_in_kcal_per_mol) -> double"""
11856  return _IMP_atom.get_energy_in_femto_joules(energy_in_kcal_per_mol)
11857 
11858 def get_force_in_femto_newtons(force_in_kcal_per_mol_per_angstrom):
11859  r"""get_force_in_femto_newtons(double force_in_kcal_per_mol_per_angstrom) -> double"""
11860  return _IMP_atom.get_force_in_femto_newtons(force_in_kcal_per_mol_per_angstrom)
11861 
11862 def get_spring_constant_in_femto_newtons_per_angstrom(k_in_kcal_per_mol_per_angstrom_square):
11863  r"""get_spring_constant_in_femto_newtons_per_angstrom(double k_in_kcal_per_mol_per_angstrom_square) -> double"""
11864  return _IMP_atom.get_spring_constant_in_femto_newtons_per_angstrom(k_in_kcal_per_mol_per_angstrom_square)
11865 class EzRestraint(IMP.Restraint):
11866  r"""Proxy of C++ IMP::atom::EzRestraint class."""
11867 
11868  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11869 
11870  def __init__(self, m, ps):
11871  r"""__init__(EzRestraint self, Model m, _ParticleIndexesAdaptor ps) -> EzRestraint"""
11872  _IMP_atom.EzRestraint_swiginit(self, _IMP_atom.new_EzRestraint(m, ps))
11873 
11874  def get_version_info(self):
11875  r"""get_version_info(EzRestraint self) -> VersionInfo"""
11876  return _IMP_atom.EzRestraint_get_version_info(self)
11877  __swig_destroy__ = _IMP_atom.delete_EzRestraint
11878 
11879  def __str__(self):
11880  r"""__str__(EzRestraint self) -> std::string"""
11881  return _IMP_atom.EzRestraint___str__(self)
11882 
11883  def __repr__(self):
11884  r"""__repr__(EzRestraint self) -> std::string"""
11885  return _IMP_atom.EzRestraint___repr__(self)
11886 
11887  @staticmethod
11888  def get_from(o):
11889  return _object_cast_to_EzRestraint(o)
11890 
11891 
11892 # Register EzRestraint in _IMP_atom:
11893 _IMP_atom.EzRestraint_swigregister(EzRestraint)
11894 
11895 def create_protein(*args):
11896  r"""
11897  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
11898  create_protein(Model m, std::string name, double target_radius, IMP::Ints const domain_boundaries) -> Hierarchy
11899  """
11900  return _IMP_atom.create_protein(*args)
11901 
11903  r"""
11904  create_simplified_along_backbone(Hierarchy input, int num_res, bool keep_detailed=False) -> Hierarchy
11905  create_simplified_along_backbone(Chain input, IMP::IntRanges const & residue_segments, bool keep_detailed=False) -> Hierarchy
11906  """
11907  return _IMP_atom.create_simplified_along_backbone(*args)
11908 
11909 def create_simplified_from_volume(h, resolution):
11910  r"""create_simplified_from_volume(Hierarchy h, double resolution) -> Hierarchy"""
11911  return _IMP_atom.create_simplified_from_volume(h, resolution)
11912 
11913 def create_simplified_assembly_from_volume(h, resolution):
11914  r"""create_simplified_assembly_from_volume(Hierarchy h, double resolution) -> Hierarchy"""
11915  return _IMP_atom.create_simplified_assembly_from_volume(h, resolution)
11916 
11917 def get_residue_indexes(h):
11918  r"""get_residue_indexes(Hierarchy h) -> IMP::Ints"""
11919  return _IMP_atom.get_residue_indexes(h)
11920 
11921 def get_residue_type(*args):
11922  r"""
11923  get_residue_type(char c) -> ResidueType
11924  get_residue_type(Hierarchy h) -> ResidueType
11925  """
11926  return _IMP_atom.get_residue_type(*args)
11927 
11928 def get_atom_type(h):
11929  r"""get_atom_type(Hierarchy h) -> AtomType"""
11930  return _IMP_atom.get_atom_type(h)
11931 
11932 def get_domain_name(h):
11933  r"""get_domain_name(Hierarchy h) -> std::string"""
11934  return _IMP_atom.get_domain_name(h)
11935 
11937  r"""
11938  create_excluded_volume_restraint(IMP::atom::Selections const & s) -> Restraint
11939  create_excluded_volume_restraint(IMP::atom::Hierarchies const & hs, double resolution=-1) -> Restraint
11940  """
11941  return _IMP_atom.create_excluded_volume_restraint(*args)
11942 
11943 def setup_as_approximation(*args):
11944  r"""
11945  setup_as_approximation(Particle h, IMP::ParticlesTemp const & other, double resolution=-1)
11946  setup_as_approximation(Hierarchy h, double resolution=-1)
11947  """
11948  return _IMP_atom.setup_as_approximation(*args)
11949 class _HierarchyTreeVertexIndex(object):
11950  r"""Proxy of C++ IMP::atom::HierarchyTreeVertexIndex class."""
11951 
11952  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11953  __repr__ = _swig_repr
11954 
11955  def __init__(self):
11956  r"""__init__(_HierarchyTreeVertexIndex self) -> _HierarchyTreeVertexIndex"""
11957  _IMP_atom._HierarchyTreeVertexIndex_swiginit(self, _IMP_atom.new__HierarchyTreeVertexIndex())
11958  __swig_destroy__ = _IMP_atom.delete__HierarchyTreeVertexIndex
11959 
11960 # Register _HierarchyTreeVertexIndex in _IMP_atom:
11961 _IMP_atom._HierarchyTreeVertexIndex_swigregister(_HierarchyTreeVertexIndex)
11962 
11963 def show_as_graphviz(name, out):
11964  r"""show_as_graphviz(IMP::atom::HierarchyTree const & name, TextOutput out)"""
11965  return _IMP_atom.show_as_graphviz(name, out)
11966 
11967 def get_vertex_index(g):
11968  r"""get_vertex_index(IMP::atom::HierarchyTree const & g) -> _HierarchyTreeVertexIndex"""
11969  return _IMP_atom.get_vertex_index(g)
11970 
11971 def get_hierarchy_tree(h):
11972  r"""get_hierarchy_tree(Hierarchy h) -> IMP::atom::HierarchyTree"""
11973  return _IMP_atom.get_hierarchy_tree(h)
11974 class HierarchyGeometry(IMP.display.SingletonGeometry):
11975  r"""Proxy of C++ IMP::atom::HierarchyGeometry class."""
11976 
11977  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11978 
11979  def __init__(self, d, resolution=0):
11980  r"""__init__(HierarchyGeometry self, Hierarchy d, double resolution=0) -> HierarchyGeometry"""
11981  _IMP_atom.HierarchyGeometry_swiginit(self, _IMP_atom.new_HierarchyGeometry(d, resolution))
11982 
11983  def get_version_info(self):
11984  r"""get_version_info(HierarchyGeometry self) -> VersionInfo"""
11985  return _IMP_atom.HierarchyGeometry_get_version_info(self)
11986  __swig_destroy__ = _IMP_atom.delete_HierarchyGeometry
11987 
11988  def __str__(self):
11989  r"""__str__(HierarchyGeometry self) -> std::string"""
11990  return _IMP_atom.HierarchyGeometry___str__(self)
11991 
11992  def __repr__(self):
11993  r"""__repr__(HierarchyGeometry self) -> std::string"""
11994  return _IMP_atom.HierarchyGeometry___repr__(self)
11995 
11996  @staticmethod
11997  def get_from(o):
11998  return _object_cast_to_HierarchyGeometry(o)
11999 
12000 
12001 # Register HierarchyGeometry in _IMP_atom:
12002 _IMP_atom.HierarchyGeometry_swigregister(HierarchyGeometry)
12003 class HierarchiesGeometry(IMP.display.SingletonsGeometry):
12004  r"""Proxy of C++ IMP::atom::HierarchiesGeometry class."""
12005 
12006  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12007 
12008  def __init__(self, sc, resolution=-1):
12009  r"""__init__(HierarchiesGeometry self, SingletonContainer sc, double resolution=-1) -> HierarchiesGeometry"""
12010  _IMP_atom.HierarchiesGeometry_swiginit(self, _IMP_atom.new_HierarchiesGeometry(sc, resolution))
12011 
12012  def get_version_info(self):
12013  r"""get_version_info(HierarchiesGeometry self) -> VersionInfo"""
12014  return _IMP_atom.HierarchiesGeometry_get_version_info(self)
12015  __swig_destroy__ = _IMP_atom.delete_HierarchiesGeometry
12016 
12017  def __str__(self):
12018  r"""__str__(HierarchiesGeometry self) -> std::string"""
12019  return _IMP_atom.HierarchiesGeometry___str__(self)
12020 
12021  def __repr__(self):
12022  r"""__repr__(HierarchiesGeometry self) -> std::string"""
12023  return _IMP_atom.HierarchiesGeometry___repr__(self)
12024 
12025  @staticmethod
12026  def get_from(o):
12027  return _object_cast_to_HierarchiesGeometry(o)
12028 
12029 
12030 # Register HierarchiesGeometry in _IMP_atom:
12031 _IMP_atom.HierarchiesGeometry_swigregister(HierarchiesGeometry)
12032 
12033 def transform(*args):
12034  r"""
12035  transform(Hierarchy h, Transformation3D tr)
12036  transform(Hierarchy h, Transformation3D tr)
12037  """
12038  return _IMP_atom.transform(*args)
12039 class DopePairScore(_ADopeBase):
12040  r"""Proxy of C++ IMP::atom::DopePairScore class."""
12041 
12042  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12043 
12044  def __init__(self, *args):
12045  r"""
12046  __init__(DopePairScore self, double threshold=std::numeric_limits< double >::max()) -> DopePairScore
12047  __init__(DopePairScore self, double threshold, TextInput data_file) -> DopePairScore
12048  """
12049  _IMP_atom.DopePairScore_swiginit(self, _IMP_atom.new_DopePairScore(*args))
12050  __swig_destroy__ = _IMP_atom.delete_DopePairScore
12051 
12052  def __str__(self):
12053  r"""__str__(DopePairScore self) -> std::string"""
12054  return _IMP_atom.DopePairScore___str__(self)
12055 
12056  def __repr__(self):
12057  r"""__repr__(DopePairScore self) -> std::string"""
12058  return _IMP_atom.DopePairScore___repr__(self)
12059 
12060  @staticmethod
12061  def get_from(o):
12062  return _object_cast_to_DopePairScore(o)
12063 
12064 
12065  def _get_jax(self, m, indexes):
12066  import numpy as np
12067  import jax.lax
12068  import jax.numpy as jnp
12069  from IMP.core._jax_util import _spline
12070  def score_one(jm, index, minrange, maxrange, spacing, values,
12071  second_derivs):
12072  # Score a single atom pair
12073  xyz = jnp.asarray(jm['xyz'])[index]
12074  dr = jnp.linalg.norm(xyz[1] - xyz[0])
12075  def spline_score():
12076  dope_type_pair = jnp.asarray(jm['dope atom type'])
12077  # Get index into values/second_derivs tables
12078  i = jnp.max(dope_type_pair[index])
12079  j = jnp.min(dope_type_pair[index])
12080  dope_type = i * (i + 1) // 2 + j
12081  # tabulated values are for the center of each bin, but
12082  # _spline works with the values at the low side of each bin
12083  x = dr - 0.5 * spacing
12084  # determine bin index and thus the cubic fragment to use:
12085  lowbin = jnp.array((x - minrange) / spacing, dtype=int)
12086  return _spline(x, minrange, lowbin, lowbin + 1, spacing,
12087  values[dope_type], second_derivs[dope_type])
12088  def maybe_score():
12089  return jax.lax.cond(dr <= minrange, lambda: 0.0, spline_score)
12090  return jax.lax.cond(dr >= maxrange, lambda: 0.0, maybe_score)
12091  sf = self.get_score_functor()
12092  if sf.get_is_bipartite() or not sf.get_is_interpolated():
12093  raise TypeError("Only implemented for unipartite splines")
12094  ntyp = sf.get_number_of_particle_types()[0]
12095  # Get spline parameters for all atom types. The matrix is symmetric
12096  # so only store the upper diagonal
12097  values = []
12098  second_derivs = []
12099  for i in range(ntyp):
12100  for j in range(0, i + 1):
12101  values.append(sf.get_values(i, j))
12102  second_derivs.append(sf.get_second_derivatives(i, j))
12103  values = np.vstack(values)
12104  second_derivs = np.vstack(second_derivs)
12105  f = functools.partial(
12106  score_one, minrange=sf.get_offset(),
12107  maxrange=min(sf.get_max(), sf.get_threshold()),
12108  spacing=sf.get_spacing(), values=jnp.asarray(values),
12109  second_derivs=jnp.asarray(second_derivs))
12110  # Vectorize to take multiple indexes (second argument)
12111  vf = jax.vmap(f, in_axes=(None, 0))
12112  return self._wrap_jax(m, lambda jm: vf(jm, indexes),
12113  keys=(sf.get_dope_type_key(),))
12114 
12115 
12116 # Register DopePairScore in _IMP_atom:
12117 _IMP_atom.DopePairScore_swigregister(DopePairScore)
12118 
12119 def add_dope_score_data(h):
12120  r"""add_dope_score_data(Hierarchy h)"""
12121  return _IMP_atom.add_dope_score_data(h)
12122 class LoopStatisticalPairScore(_ALoopStatisticalBase):
12123  r"""Proxy of C++ IMP::atom::LoopStatisticalPairScore class."""
12124 
12125  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12126 
12127  def __init__(self, *args):
12128  r"""
12129  __init__(LoopStatisticalPairScore self, double threshold=std::numeric_limits< double >::max()) -> LoopStatisticalPairScore
12130  __init__(LoopStatisticalPairScore self, double threshold, TextInput data_file) -> LoopStatisticalPairScore
12131  """
12132  _IMP_atom.LoopStatisticalPairScore_swiginit(self, _IMP_atom.new_LoopStatisticalPairScore(*args))
12133 
12134  def __str__(self):
12135  r"""__str__(LoopStatisticalPairScore self) -> std::string"""
12136  return _IMP_atom.LoopStatisticalPairScore___str__(self)
12137 
12138  def __repr__(self):
12139  r"""__repr__(LoopStatisticalPairScore self) -> std::string"""
12140  return _IMP_atom.LoopStatisticalPairScore___repr__(self)
12141 
12142  @staticmethod
12143  def get_from(o):
12144  return _object_cast_to_LoopStatisticalPairScore(o)
12145 
12146  __swig_destroy__ = _IMP_atom.delete_LoopStatisticalPairScore
12147 
12148 # Register LoopStatisticalPairScore in _IMP_atom:
12149 _IMP_atom.LoopStatisticalPairScore_swigregister(LoopStatisticalPairScore)
12150 
12152  r"""add_loop_statistical_score_data(Hierarchy h)"""
12153  return _IMP_atom.add_loop_statistical_score_data(h)
12154 class OrientedSoapPairScore(_OrientedSoapBase):
12155  r"""Proxy of C++ IMP::atom::OrientedSoapPairScore class."""
12156 
12157  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12158 
12159  def __init__(self, library):
12160  r"""__init__(OrientedSoapPairScore self, std::string library) -> OrientedSoapPairScore"""
12161  _IMP_atom.OrientedSoapPairScore_swiginit(self, _IMP_atom.new_OrientedSoapPairScore(library))
12162 
12163  def get_pair_filter(self):
12164  r"""get_pair_filter(OrientedSoapPairScore self) -> SoapPairFilter"""
12165  return _IMP_atom.OrientedSoapPairScore_get_pair_filter(self)
12166 
12167  def __str__(self):
12168  r"""__str__(OrientedSoapPairScore self) -> std::string"""
12169  return _IMP_atom.OrientedSoapPairScore___str__(self)
12170 
12171  def __repr__(self):
12172  r"""__repr__(OrientedSoapPairScore self) -> std::string"""
12173  return _IMP_atom.OrientedSoapPairScore___repr__(self)
12174 
12175  @staticmethod
12176  def get_from(o):
12177  return _object_cast_to_OrientedSoapPairScore(o)
12178 
12179  __swig_destroy__ = _IMP_atom.delete_OrientedSoapPairScore
12180 
12181 # Register OrientedSoapPairScore in _IMP_atom:
12182 _IMP_atom.OrientedSoapPairScore_swigregister(OrientedSoapPairScore)
12183 class SameResiduePairFilter(IMP.PairPredicate):
12184  r"""Proxy of C++ IMP::atom::SameResiduePairFilter class."""
12185 
12186  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12187 
12188  def __init__(self):
12189  r"""__init__(SameResiduePairFilter self) -> SameResiduePairFilter"""
12190  _IMP_atom.SameResiduePairFilter_swiginit(self, _IMP_atom.new_SameResiduePairFilter())
12191 
12192  def do_get_inputs(self, m, pis):
12193  r"""do_get_inputs(SameResiduePairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
12194  return _IMP_atom.SameResiduePairFilter_do_get_inputs(self, m, pis)
12195 
12196  def get_value(self, *args):
12197  r"""
12198  get_value(SameResiduePairFilter self, IMP::ParticlePair const & a) -> int
12199  get_value(SameResiduePairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
12200  """
12201  return _IMP_atom.SameResiduePairFilter_get_value(self, *args)
12202 
12203  def get_value_index(self, *args):
12204  r"""
12205  get_value_index(SameResiduePairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
12206  get_value_index(SameResiduePairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
12207  """
12208  return _IMP_atom.SameResiduePairFilter_get_value_index(self, *args)
12209 
12210  def get_version_info(self):
12211  r"""get_version_info(SameResiduePairFilter self) -> VersionInfo"""
12212  return _IMP_atom.SameResiduePairFilter_get_version_info(self)
12213  __swig_destroy__ = _IMP_atom.delete_SameResiduePairFilter
12214 
12215  def __str__(self):
12216  r"""__str__(SameResiduePairFilter self) -> std::string"""
12217  return _IMP_atom.SameResiduePairFilter___str__(self)
12218 
12219  def __repr__(self):
12220  r"""__repr__(SameResiduePairFilter self) -> std::string"""
12221  return _IMP_atom.SameResiduePairFilter___repr__(self)
12222 
12223  @staticmethod
12224  def get_from(o):
12225  return _object_cast_to_SameResiduePairFilter(o)
12226 
12227 
12228 # Register SameResiduePairFilter in _IMP_atom:
12229 _IMP_atom.SameResiduePairFilter_swigregister(SameResiduePairFilter)
12230 class RemoveRigidMotionOptimizerState(IMP.OptimizerState):
12231  r"""Proxy of C++ IMP::atom::RemoveRigidMotionOptimizerState class."""
12232 
12233  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12234 
12235  def __init__(self, m, pis):
12236  r"""__init__(RemoveRigidMotionOptimizerState self, Model m, _ParticleIndexesAdaptor pis) -> RemoveRigidMotionOptimizerState"""
12237  _IMP_atom.RemoveRigidMotionOptimizerState_swiginit(self, _IMP_atom.new_RemoveRigidMotionOptimizerState(m, pis))
12238 
12239  def set_particles(self, pis):
12240  r"""set_particles(RemoveRigidMotionOptimizerState self, IMP::Particles const & pis)"""
12241  return _IMP_atom.RemoveRigidMotionOptimizerState_set_particles(self, pis)
12242 
12243  def remove_rigid_motion(self):
12244  r"""remove_rigid_motion(RemoveRigidMotionOptimizerState self)"""
12245  return _IMP_atom.RemoveRigidMotionOptimizerState_remove_rigid_motion(self)
12246 
12247  def get_version_info(self):
12248  r"""get_version_info(RemoveRigidMotionOptimizerState self) -> VersionInfo"""
12249  return _IMP_atom.RemoveRigidMotionOptimizerState_get_version_info(self)
12250  __swig_destroy__ = _IMP_atom.delete_RemoveRigidMotionOptimizerState
12251 
12252  def __str__(self):
12253  r"""__str__(RemoveRigidMotionOptimizerState self) -> std::string"""
12254  return _IMP_atom.RemoveRigidMotionOptimizerState___str__(self)
12255 
12256  def __repr__(self):
12257  r"""__repr__(RemoveRigidMotionOptimizerState self) -> std::string"""
12258  return _IMP_atom.RemoveRigidMotionOptimizerState___repr__(self)
12259 
12260  @staticmethod
12261  def get_from(o):
12262  return _object_cast_to_RemoveRigidMotionOptimizerState(o)
12263 
12264 
12265 # Register RemoveRigidMotionOptimizerState in _IMP_atom:
12266 _IMP_atom.RemoveRigidMotionOptimizerState_swigregister(RemoveRigidMotionOptimizerState)
12267 class BerendsenThermostatOptimizerState(IMP.OptimizerState):
12268  r"""Proxy of C++ IMP::atom::BerendsenThermostatOptimizerState class."""
12269 
12270  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12271 
12272  def __init__(self, pis, temperature, tau):
12273  r"""__init__(BerendsenThermostatOptimizerState self, IMP::Particles const & pis, double temperature, double tau) -> BerendsenThermostatOptimizerState"""
12274  _IMP_atom.BerendsenThermostatOptimizerState_swiginit(self, _IMP_atom.new_BerendsenThermostatOptimizerState(pis, temperature, tau))
12275 
12276  def set_particles(self, pis):
12277  r"""set_particles(BerendsenThermostatOptimizerState self, IMP::Particles const & pis)"""
12278  return _IMP_atom.BerendsenThermostatOptimizerState_set_particles(self, pis)
12279 
12280  def get_particles(self):
12281  r"""get_particles(BerendsenThermostatOptimizerState self) -> IMP::Particles"""
12282  return _IMP_atom.BerendsenThermostatOptimizerState_get_particles(self)
12283 
12284  def get_temperature(self):
12285  r"""get_temperature(BerendsenThermostatOptimizerState self) -> double"""
12286  return _IMP_atom.BerendsenThermostatOptimizerState_get_temperature(self)
12287 
12288  def get_tau(self):
12289  r"""get_tau(BerendsenThermostatOptimizerState self) -> double"""
12290  return _IMP_atom.BerendsenThermostatOptimizerState_get_tau(self)
12291 
12292  def set_temperature(self, temperature):
12293  r"""set_temperature(BerendsenThermostatOptimizerState self, double temperature)"""
12294  return _IMP_atom.BerendsenThermostatOptimizerState_set_temperature(self, temperature)
12295 
12296  def set_tau(self, tau):
12297  r"""set_tau(BerendsenThermostatOptimizerState self, double tau)"""
12298  return _IMP_atom.BerendsenThermostatOptimizerState_set_tau(self, tau)
12299 
12300  def rescale_velocities(self):
12301  r"""rescale_velocities(BerendsenThermostatOptimizerState self)"""
12302  return _IMP_atom.BerendsenThermostatOptimizerState_rescale_velocities(self)
12303 
12304  def get_version_info(self):
12305  r"""get_version_info(BerendsenThermostatOptimizerState self) -> VersionInfo"""
12306  return _IMP_atom.BerendsenThermostatOptimizerState_get_version_info(self)
12307  __swig_destroy__ = _IMP_atom.delete_BerendsenThermostatOptimizerState
12308 
12309  def __str__(self):
12310  r"""__str__(BerendsenThermostatOptimizerState self) -> std::string"""
12311  return _IMP_atom.BerendsenThermostatOptimizerState___str__(self)
12312 
12313  def __repr__(self):
12314  r"""__repr__(BerendsenThermostatOptimizerState self) -> std::string"""
12315  return _IMP_atom.BerendsenThermostatOptimizerState___repr__(self)
12316 
12317  @staticmethod
12318  def get_from(o):
12319  return _object_cast_to_BerendsenThermostatOptimizerState(o)
12320 
12321 
12322  def _get_jax(self, state_index):
12323  import jax.lax
12324  import jax.numpy as jnp
12325 
12326  def apply_func(md, temperature, tau, indexes):
12327  ekinetic = md.get_kinetic_energy()
12328  tkinetic = md.get_kinetic_temperature(ekinetic)
12329  scale = jnp.sqrt(1.0 + (md.time_step / tau)
12330  * (temperature / tkinetic - 1.0))
12331  linvel = md.jm['linvel'].at[indexes]
12332  md.jm['linvel'] = linvel.multiply(scale)
12333  return md
12334 
12335  f = functools.partial(
12336  apply_func, temperature=self.get_temperature(),
12337  tau=self.get_tau(),
12338  indexes=jnp.asarray(IMP.get_indexes(self.get_particles())))
12339  return self._wrap_jax(lambda x: x, f)
12340 
12341 
12342 # Register BerendsenThermostatOptimizerState in _IMP_atom:
12343 _IMP_atom.BerendsenThermostatOptimizerState_swigregister(BerendsenThermostatOptimizerState)
12344 class LangevinThermostatOptimizerState(IMP.OptimizerState):
12345  r"""Proxy of C++ IMP::atom::LangevinThermostatOptimizerState class."""
12346 
12347  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12348 
12349  def __init__(self, m, pis, temperature, gamma):
12350  r"""__init__(LangevinThermostatOptimizerState self, Model m, _ParticleIndexesAdaptor pis, double temperature, double gamma) -> LangevinThermostatOptimizerState"""
12351  _IMP_atom.LangevinThermostatOptimizerState_swiginit(self, _IMP_atom.new_LangevinThermostatOptimizerState(m, pis, temperature, gamma))
12352 
12353  def set_particles(self, pis):
12354  r"""set_particles(LangevinThermostatOptimizerState self, IMP::Particles const & pis)"""
12355  return _IMP_atom.LangevinThermostatOptimizerState_set_particles(self, pis)
12356 
12357  def get_particles(self):
12358  r"""get_particles(LangevinThermostatOptimizerState self) -> IMP::Particles"""
12359  return _IMP_atom.LangevinThermostatOptimizerState_get_particles(self)
12360 
12361  def get_temperature(self):
12362  r"""get_temperature(LangevinThermostatOptimizerState self) -> double"""
12363  return _IMP_atom.LangevinThermostatOptimizerState_get_temperature(self)
12364 
12365  def get_gamma(self):
12366  r"""get_gamma(LangevinThermostatOptimizerState self) -> double"""
12367  return _IMP_atom.LangevinThermostatOptimizerState_get_gamma(self)
12368 
12369  def set_temperature(self, temperature):
12370  r"""set_temperature(LangevinThermostatOptimizerState self, double temperature)"""
12371  return _IMP_atom.LangevinThermostatOptimizerState_set_temperature(self, temperature)
12372 
12373  def set_gamma(self, gamma):
12374  r"""set_gamma(LangevinThermostatOptimizerState self, double gamma)"""
12375  return _IMP_atom.LangevinThermostatOptimizerState_set_gamma(self, gamma)
12376 
12377  def rescale_velocities(self):
12378  r"""rescale_velocities(LangevinThermostatOptimizerState self)"""
12379  return _IMP_atom.LangevinThermostatOptimizerState_rescale_velocities(self)
12380 
12381  def get_version_info(self):
12382  r"""get_version_info(LangevinThermostatOptimizerState self) -> VersionInfo"""
12383  return _IMP_atom.LangevinThermostatOptimizerState_get_version_info(self)
12384  __swig_destroy__ = _IMP_atom.delete_LangevinThermostatOptimizerState
12385 
12386  def __str__(self):
12387  r"""__str__(LangevinThermostatOptimizerState self) -> std::string"""
12388  return _IMP_atom.LangevinThermostatOptimizerState___str__(self)
12389 
12390  def __repr__(self):
12391  r"""__repr__(LangevinThermostatOptimizerState self) -> std::string"""
12392  return _IMP_atom.LangevinThermostatOptimizerState___repr__(self)
12393 
12394  @staticmethod
12395  def get_from(o):
12396  return _object_cast_to_LangevinThermostatOptimizerState(o)
12397 
12398 
12399  def _get_jax(self, state_index):
12400  import jax.lax
12401  import jax.numpy as jnp
12402  import jax.random
12403  gas_constant = 8.31441e-7
12404 
12405  def init_func(md):
12406  # Make our own random key split off from MD's key
12407  md.rkey, subkey = jax.random.split(md.rkey)
12408  md.optimizer_states[state_index] = subkey
12409  return md
12410 
12411  def apply_func(md, temperature, gamma, indexes):
12412  c1 = jnp.exp(-gamma * md.time_step)
12413  c2 = jnp.sqrt((1.0 - c1) * gas_constant * temperature)
12414  md.optimizer_states[state_index], subkey = jax.random.split(
12415  md.optimizer_states[state_index])
12416  sample = jax.random.normal(subkey, shape=(len(indexes), 3))
12417  mass = md.jm['mass'][indexes]
12418  linvel = md.jm['linvel'].at[indexes]
12419  md.jm['linvel'] = linvel.set(
12420  c1 * linvel.get()
12421  + c2 * jnp.sqrt((c1 + 1.0) / mass).reshape(len(indexes), 1)
12422  * sample)
12423  return md
12424 
12425  f = functools.partial(
12426  apply_func, temperature=self.get_temperature(),
12427  gamma=self.get_gamma(),
12428  indexes=jnp.asarray(IMP.get_indexes(self.get_particles())))
12429  return self._wrap_jax(init_func, f)
12430 
12431 
12432 # Register LangevinThermostatOptimizerState in _IMP_atom:
12433 _IMP_atom.LangevinThermostatOptimizerState_swigregister(LangevinThermostatOptimizerState)
12434 class PDBRecord(IMP._Value):
12435  r"""Proxy of C++ IMP::atom::PDBRecord class."""
12436 
12437  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12438 
12439  def __init__(self):
12440  r"""__init__(PDBRecord self) -> PDBRecord"""
12441  _IMP_atom.PDBRecord_swiginit(self, _IMP_atom.new_PDBRecord())
12442 
12443  def get_alt_loc_indicator(self):
12444  r"""get_alt_loc_indicator(PDBRecord self) -> std::string"""
12445  return _IMP_atom.PDBRecord_get_alt_loc_indicator(self)
12446 
12447  def get_is_atom(self):
12448  r"""get_is_atom(PDBRecord self) -> bool"""
12449  return _IMP_atom.PDBRecord_get_is_atom(self)
12450 
12451  def get_trimmed_atom_name(self):
12452  r"""get_trimmed_atom_name(PDBRecord self) -> std::string"""
12453  return _IMP_atom.PDBRecord_get_trimmed_atom_name(self)
12454 
12455  def get_padded_atom_name(self):
12456  r"""get_padded_atom_name(PDBRecord self) -> std::string"""
12457  return _IMP_atom.PDBRecord_get_padded_atom_name(self)
12458 
12459  def get_residue_name(self):
12460  r"""get_residue_name(PDBRecord self) -> std::string"""
12461  return _IMP_atom.PDBRecord_get_residue_name(self)
12462 
12463  def get_chain_id(self):
12464  r"""get_chain_id(PDBRecord self) -> std::string"""
12465  return _IMP_atom.PDBRecord_get_chain_id(self)
12466 
12467  def get_element(self):
12468  r"""get_element(PDBRecord self) -> std::string"""
12469  return _IMP_atom.PDBRecord_get_element(self)
12470 
12471  def show(self, *args):
12472  r"""show(PDBRecord self, _ostream out=std::cout)"""
12473  return _IMP_atom.PDBRecord_show(self, *args)
12474 
12475  def __str__(self):
12476  r"""__str__(PDBRecord self) -> std::string"""
12477  return _IMP_atom.PDBRecord___str__(self)
12478 
12479  def __repr__(self):
12480  r"""__repr__(PDBRecord self) -> std::string"""
12481  return _IMP_atom.PDBRecord___repr__(self)
12482  __swig_destroy__ = _IMP_atom.delete_PDBRecord
12483 
12484 # Register PDBRecord in _IMP_atom:
12485 _IMP_atom.PDBRecord_swigregister(PDBRecord)
12486 class PDBSelector(IMP.Object):
12487  r"""Proxy of C++ IMP::atom::PDBSelector class."""
12488 
12489  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12490 
12491  def __init__(self, name):
12492  r"""__init__(PDBSelector self, std::string name) -> PDBSelector"""
12493  if self.__class__ == PDBSelector:
12494  _self = None
12495  else:
12496  _self = self
12497  _IMP_atom.PDBSelector_swiginit(self, _IMP_atom.new_PDBSelector(_self, name))
12498 
12499  if self.__class__ != PDBSelector:
12500  _director_objects.register(self)
12501 
12502 
12503 
12504 
12505  def get_is_selected(self, record):
12506  r"""get_is_selected(PDBSelector self, PDBRecord record) -> bool"""
12507  return _IMP_atom.PDBSelector_get_is_selected(self, record)
12508  __swig_destroy__ = _IMP_atom.delete_PDBSelector
12509 
12510  def __str__(self):
12511  r"""__str__(PDBSelector self) -> std::string"""
12512  return _IMP_atom.PDBSelector___str__(self)
12513 
12514  def __repr__(self):
12515  r"""__repr__(PDBSelector self) -> std::string"""
12516  return _IMP_atom.PDBSelector___repr__(self)
12517 
12518  @staticmethod
12519  def get_from(o):
12520  return _object_cast_to_PDBSelector(o)
12521 
12522 
12523  def do_show(self, out):
12524  pass
12525 
12526  @staticmethod
12527  def get_from(o):
12528  return _object_cast_to_PDBSelector(o)
12529 
12530 
12531  def __and__(self, s):
12532  return AndPDBSelector(self, s)
12533  def __or__(self, s):
12534  return OrPDBSelector(self, s)
12535  def __xor__(self, s):
12536  return XorPDBSelector(self, s)
12537  def __invert__(self):
12538  return NotPDBSelector(self)
12539  def __sub__(self, s):
12540  return AndPDBSelector(self, NotPDBSelector(s))
12541 
12542  def __disown__(self):
12543  self.this.disown()
12544  _IMP_atom.disown_PDBSelector(self)
12545  return weakref.proxy(self)
12546 
12547  def do_destroy(self):
12548  r"""do_destroy(PDBSelector self)"""
12549  return _IMP_atom.PDBSelector_do_destroy(self)
12550 
12551 # Register PDBSelector in _IMP_atom:
12552 _IMP_atom.PDBSelector_swigregister(PDBSelector)
12553 class NonAlternativePDBSelector(PDBSelector):
12554  r"""Proxy of C++ IMP::atom::NonAlternativePDBSelector class."""
12555 
12556  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12557 
12558  def __init__(self, *args):
12559  r"""__init__(NonAlternativePDBSelector self, std::string name="NonAlternativePDBSelector%1%") -> NonAlternativePDBSelector"""
12560  _IMP_atom.NonAlternativePDBSelector_swiginit(self, _IMP_atom.new_NonAlternativePDBSelector(*args))
12561 
12562  def get_version_info(self):
12563  r"""get_version_info(NonAlternativePDBSelector self) -> VersionInfo"""
12564  return _IMP_atom.NonAlternativePDBSelector_get_version_info(self)
12565  __swig_destroy__ = _IMP_atom.delete_NonAlternativePDBSelector
12566 
12567  def __str__(self):
12568  r"""__str__(NonAlternativePDBSelector self) -> std::string"""
12569  return _IMP_atom.NonAlternativePDBSelector___str__(self)
12570 
12571  def __repr__(self):
12572  r"""__repr__(NonAlternativePDBSelector self) -> std::string"""
12573  return _IMP_atom.NonAlternativePDBSelector___repr__(self)
12574 
12575  @staticmethod
12576  def get_from(o):
12577  return _object_cast_to_NonAlternativePDBSelector(o)
12578 
12579 
12580 # Register NonAlternativePDBSelector in _IMP_atom:
12581 _IMP_atom.NonAlternativePDBSelector_swigregister(NonAlternativePDBSelector)
12582 class ATOMPDBSelector(NonAlternativePDBSelector):
12583  r"""Proxy of C++ IMP::atom::ATOMPDBSelector class."""
12584 
12585  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12586 
12587  def __init__(self, *args):
12588  r"""__init__(ATOMPDBSelector self, std::string name="ATOMPDBSelector%1%") -> ATOMPDBSelector"""
12589  _IMP_atom.ATOMPDBSelector_swiginit(self, _IMP_atom.new_ATOMPDBSelector(*args))
12590  __swig_destroy__ = _IMP_atom.delete_ATOMPDBSelector
12591 
12592  def __str__(self):
12593  r"""__str__(ATOMPDBSelector self) -> std::string"""
12594  return _IMP_atom.ATOMPDBSelector___str__(self)
12595 
12596  def __repr__(self):
12597  r"""__repr__(ATOMPDBSelector self) -> std::string"""
12598  return _IMP_atom.ATOMPDBSelector___repr__(self)
12599 
12600  @staticmethod
12601  def get_from(o):
12602  return _object_cast_to_ATOMPDBSelector(o)
12603 
12604 
12605 # Register ATOMPDBSelector in _IMP_atom:
12606 _IMP_atom.ATOMPDBSelector_swigregister(ATOMPDBSelector)
12607 class CAlphaPDBSelector(NonAlternativePDBSelector):
12608  r"""Proxy of C++ IMP::atom::CAlphaPDBSelector class."""
12609 
12610  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12611 
12612  def __init__(self, *args):
12613  r"""__init__(CAlphaPDBSelector self, std::string name="CAlphaPDBSelector%1%") -> CAlphaPDBSelector"""
12614  _IMP_atom.CAlphaPDBSelector_swiginit(self, _IMP_atom.new_CAlphaPDBSelector(*args))
12615  __swig_destroy__ = _IMP_atom.delete_CAlphaPDBSelector
12616 
12617  def __str__(self):
12618  r"""__str__(CAlphaPDBSelector self) -> std::string"""
12619  return _IMP_atom.CAlphaPDBSelector___str__(self)
12620 
12621  def __repr__(self):
12622  r"""__repr__(CAlphaPDBSelector self) -> std::string"""
12623  return _IMP_atom.CAlphaPDBSelector___repr__(self)
12624 
12625  @staticmethod
12626  def get_from(o):
12627  return _object_cast_to_CAlphaPDBSelector(o)
12628 
12629 
12630 # Register CAlphaPDBSelector in _IMP_atom:
12631 _IMP_atom.CAlphaPDBSelector_swigregister(CAlphaPDBSelector)
12632 class CBetaPDBSelector(NonAlternativePDBSelector):
12633  r"""Proxy of C++ IMP::atom::CBetaPDBSelector class."""
12634 
12635  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12636 
12637  def __init__(self, *args):
12638  r"""__init__(CBetaPDBSelector self, std::string name="CBetaPDBSelector%1%") -> CBetaPDBSelector"""
12639  _IMP_atom.CBetaPDBSelector_swiginit(self, _IMP_atom.new_CBetaPDBSelector(*args))
12640  __swig_destroy__ = _IMP_atom.delete_CBetaPDBSelector
12641 
12642  def __str__(self):
12643  r"""__str__(CBetaPDBSelector self) -> std::string"""
12644  return _IMP_atom.CBetaPDBSelector___str__(self)
12645 
12646  def __repr__(self):
12647  r"""__repr__(CBetaPDBSelector self) -> std::string"""
12648  return _IMP_atom.CBetaPDBSelector___repr__(self)
12649 
12650  @staticmethod
12651  def get_from(o):
12652  return _object_cast_to_CBetaPDBSelector(o)
12653 
12654 
12655 # Register CBetaPDBSelector in _IMP_atom:
12656 _IMP_atom.CBetaPDBSelector_swigregister(CBetaPDBSelector)
12657 class AtomTypePDBSelector(PDBSelector):
12658  r"""Proxy of C++ IMP::atom::AtomTypePDBSelector class."""
12659 
12660  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12661 
12662  def __init__(self, *args):
12663  r"""__init__(AtomTypePDBSelector self, IMP::Strings atom_types, std::string name="AtomTypePDBSelector%1%") -> AtomTypePDBSelector"""
12664  _IMP_atom.AtomTypePDBSelector_swiginit(self, _IMP_atom.new_AtomTypePDBSelector(*args))
12665 
12666  def get_version_info(self):
12667  r"""get_version_info(AtomTypePDBSelector self) -> VersionInfo"""
12668  return _IMP_atom.AtomTypePDBSelector_get_version_info(self)
12669  __swig_destroy__ = _IMP_atom.delete_AtomTypePDBSelector
12670 
12671  def __str__(self):
12672  r"""__str__(AtomTypePDBSelector self) -> std::string"""
12673  return _IMP_atom.AtomTypePDBSelector___str__(self)
12674 
12675  def __repr__(self):
12676  r"""__repr__(AtomTypePDBSelector self) -> std::string"""
12677  return _IMP_atom.AtomTypePDBSelector___repr__(self)
12678 
12679  @staticmethod
12680  def get_from(o):
12681  return _object_cast_to_AtomTypePDBSelector(o)
12682 
12683 
12684 # Register AtomTypePDBSelector in _IMP_atom:
12685 _IMP_atom.AtomTypePDBSelector_swigregister(AtomTypePDBSelector)
12686 class ResidueTypePDBSelector(PDBSelector):
12687  r"""Proxy of C++ IMP::atom::ResidueTypePDBSelector class."""
12688 
12689  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12690 
12691  def __init__(self, *args):
12692  r"""__init__(ResidueTypePDBSelector self, IMP::Strings residue_types, std::string name="ResidueTypePDBSelector%1%") -> ResidueTypePDBSelector"""
12693  _IMP_atom.ResidueTypePDBSelector_swiginit(self, _IMP_atom.new_ResidueTypePDBSelector(*args))
12694 
12695  def get_version_info(self):
12696  r"""get_version_info(ResidueTypePDBSelector self) -> VersionInfo"""
12697  return _IMP_atom.ResidueTypePDBSelector_get_version_info(self)
12698  __swig_destroy__ = _IMP_atom.delete_ResidueTypePDBSelector
12699 
12700  def __str__(self):
12701  r"""__str__(ResidueTypePDBSelector self) -> std::string"""
12702  return _IMP_atom.ResidueTypePDBSelector___str__(self)
12703 
12704  def __repr__(self):
12705  r"""__repr__(ResidueTypePDBSelector self) -> std::string"""
12706  return _IMP_atom.ResidueTypePDBSelector___repr__(self)
12707 
12708  @staticmethod
12709  def get_from(o):
12710  return _object_cast_to_ResidueTypePDBSelector(o)
12711 
12712 
12713 # Register ResidueTypePDBSelector in _IMP_atom:
12714 _IMP_atom.ResidueTypePDBSelector_swigregister(ResidueTypePDBSelector)
12715 class CPDBSelector(NonAlternativePDBSelector):
12716  r"""Proxy of C++ IMP::atom::CPDBSelector class."""
12717 
12718  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12719 
12720  def __init__(self, *args):
12721  r"""__init__(CPDBSelector self, std::string name="CPDBSelector%1%") -> CPDBSelector"""
12722  _IMP_atom.CPDBSelector_swiginit(self, _IMP_atom.new_CPDBSelector(*args))
12723  __swig_destroy__ = _IMP_atom.delete_CPDBSelector
12724 
12725  def __str__(self):
12726  r"""__str__(CPDBSelector self) -> std::string"""
12727  return _IMP_atom.CPDBSelector___str__(self)
12728 
12729  def __repr__(self):
12730  r"""__repr__(CPDBSelector self) -> std::string"""
12731  return _IMP_atom.CPDBSelector___repr__(self)
12732 
12733  @staticmethod
12734  def get_from(o):
12735  return _object_cast_to_CPDBSelector(o)
12736 
12737 
12738 # Register CPDBSelector in _IMP_atom:
12739 _IMP_atom.CPDBSelector_swigregister(CPDBSelector)
12740 class NPDBSelector(NonAlternativePDBSelector):
12741  r"""Proxy of C++ IMP::atom::NPDBSelector class."""
12742 
12743  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12744 
12745  def __init__(self, *args):
12746  r"""__init__(NPDBSelector self, std::string name="NPDBSelector%1%") -> NPDBSelector"""
12747  _IMP_atom.NPDBSelector_swiginit(self, _IMP_atom.new_NPDBSelector(*args))
12748  __swig_destroy__ = _IMP_atom.delete_NPDBSelector
12749 
12750  def __str__(self):
12751  r"""__str__(NPDBSelector self) -> std::string"""
12752  return _IMP_atom.NPDBSelector___str__(self)
12753 
12754  def __repr__(self):
12755  r"""__repr__(NPDBSelector self) -> std::string"""
12756  return _IMP_atom.NPDBSelector___repr__(self)
12757 
12758  @staticmethod
12759  def get_from(o):
12760  return _object_cast_to_NPDBSelector(o)
12761 
12762 
12763 # Register NPDBSelector in _IMP_atom:
12764 _IMP_atom.NPDBSelector_swigregister(NPDBSelector)
12765 class AllPDBSelector(PDBSelector):
12766  r"""Proxy of C++ IMP::atom::AllPDBSelector class."""
12767 
12768  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12769 
12770  def __init__(self, *args):
12771  r"""__init__(AllPDBSelector self, std::string name="AllPDBSelector%1%") -> AllPDBSelector"""
12772  _IMP_atom.AllPDBSelector_swiginit(self, _IMP_atom.new_AllPDBSelector(*args))
12773 
12774  def get_version_info(self):
12775  r"""get_version_info(AllPDBSelector self) -> VersionInfo"""
12776  return _IMP_atom.AllPDBSelector_get_version_info(self)
12777  __swig_destroy__ = _IMP_atom.delete_AllPDBSelector
12778 
12779  def __str__(self):
12780  r"""__str__(AllPDBSelector self) -> std::string"""
12781  return _IMP_atom.AllPDBSelector___str__(self)
12782 
12783  def __repr__(self):
12784  r"""__repr__(AllPDBSelector self) -> std::string"""
12785  return _IMP_atom.AllPDBSelector___repr__(self)
12786 
12787  @staticmethod
12788  def get_from(o):
12789  return _object_cast_to_AllPDBSelector(o)
12790 
12791 
12792 # Register AllPDBSelector in _IMP_atom:
12793 _IMP_atom.AllPDBSelector_swigregister(AllPDBSelector)
12794 class ChainPDBSelector(NonAlternativePDBSelector):
12795  r"""Proxy of C++ IMP::atom::ChainPDBSelector class."""
12796 
12797  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12798  __swig_destroy__ = _IMP_atom.delete_ChainPDBSelector
12799 
12800  def __init__(self, *args):
12801  r"""__init__(ChainPDBSelector self, IMP::Strings chains, std::string name="ChainPDBSelector%1%") -> ChainPDBSelector"""
12802  _IMP_atom.ChainPDBSelector_swiginit(self, _IMP_atom.new_ChainPDBSelector(*args))
12803 
12804  def __str__(self):
12805  r"""__str__(ChainPDBSelector self) -> std::string"""
12806  return _IMP_atom.ChainPDBSelector___str__(self)
12807 
12808  def __repr__(self):
12809  r"""__repr__(ChainPDBSelector self) -> std::string"""
12810  return _IMP_atom.ChainPDBSelector___repr__(self)
12811 
12812  @staticmethod
12813  def get_from(o):
12814  return _object_cast_to_ChainPDBSelector(o)
12815 
12816 
12817 # Register ChainPDBSelector in _IMP_atom:
12818 _IMP_atom.ChainPDBSelector_swigregister(ChainPDBSelector)
12819 class WaterPDBSelector(NonAlternativePDBSelector):
12820  r"""Proxy of C++ IMP::atom::WaterPDBSelector class."""
12821 
12822  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12823 
12824  def __init__(self, *args):
12825  r"""__init__(WaterPDBSelector self, std::string name="WaterPDBSelector%1%") -> WaterPDBSelector"""
12826  _IMP_atom.WaterPDBSelector_swiginit(self, _IMP_atom.new_WaterPDBSelector(*args))
12827  __swig_destroy__ = _IMP_atom.delete_WaterPDBSelector
12828 
12829  def __str__(self):
12830  r"""__str__(WaterPDBSelector self) -> std::string"""
12831  return _IMP_atom.WaterPDBSelector___str__(self)
12832 
12833  def __repr__(self):
12834  r"""__repr__(WaterPDBSelector self) -> std::string"""
12835  return _IMP_atom.WaterPDBSelector___repr__(self)
12836 
12837  @staticmethod
12838  def get_from(o):
12839  return _object_cast_to_WaterPDBSelector(o)
12840 
12841 
12842 # Register WaterPDBSelector in _IMP_atom:
12843 _IMP_atom.WaterPDBSelector_swigregister(WaterPDBSelector)
12844 class HydrogenPDBSelector(NonAlternativePDBSelector):
12845  r"""Proxy of C++ IMP::atom::HydrogenPDBSelector class."""
12846 
12847  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12848 
12849  def __init__(self, *args):
12850  r"""__init__(HydrogenPDBSelector self, std::string name="HydrogenPDBSelector%1%") -> HydrogenPDBSelector"""
12851  _IMP_atom.HydrogenPDBSelector_swiginit(self, _IMP_atom.new_HydrogenPDBSelector(*args))
12852  __swig_destroy__ = _IMP_atom.delete_HydrogenPDBSelector
12853 
12854  def __str__(self):
12855  r"""__str__(HydrogenPDBSelector self) -> std::string"""
12856  return _IMP_atom.HydrogenPDBSelector___str__(self)
12857 
12858  def __repr__(self):
12859  r"""__repr__(HydrogenPDBSelector self) -> std::string"""
12860  return _IMP_atom.HydrogenPDBSelector___repr__(self)
12861 
12862  @staticmethod
12863  def get_from(o):
12864  return _object_cast_to_HydrogenPDBSelector(o)
12865 
12866 
12867 # Register HydrogenPDBSelector in _IMP_atom:
12868 _IMP_atom.HydrogenPDBSelector_swigregister(HydrogenPDBSelector)
12869 class NonWaterNonHydrogenPDBSelector(NonAlternativePDBSelector):
12870  r"""Proxy of C++ IMP::atom::NonWaterNonHydrogenPDBSelector class."""
12871 
12872  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12873  __swig_destroy__ = _IMP_atom.delete_NonWaterNonHydrogenPDBSelector
12874 
12875  def __init__(self, *args):
12876  r"""
12877  __init__(NonWaterNonHydrogenPDBSelector self, std::string name) -> NonWaterNonHydrogenPDBSelector
12878  __init__(NonWaterNonHydrogenPDBSelector self) -> NonWaterNonHydrogenPDBSelector
12879  """
12880  _IMP_atom.NonWaterNonHydrogenPDBSelector_swiginit(self, _IMP_atom.new_NonWaterNonHydrogenPDBSelector(*args))
12881 
12882  def __str__(self):
12883  r"""__str__(NonWaterNonHydrogenPDBSelector self) -> std::string"""
12884  return _IMP_atom.NonWaterNonHydrogenPDBSelector___str__(self)
12885 
12886  def __repr__(self):
12887  r"""__repr__(NonWaterNonHydrogenPDBSelector self) -> std::string"""
12888  return _IMP_atom.NonWaterNonHydrogenPDBSelector___repr__(self)
12889 
12890  @staticmethod
12891  def get_from(o):
12892  return _object_cast_to_NonWaterNonHydrogenPDBSelector(o)
12893 
12894 
12895 # Register NonWaterNonHydrogenPDBSelector in _IMP_atom:
12896 _IMP_atom.NonWaterNonHydrogenPDBSelector_swigregister(NonWaterNonHydrogenPDBSelector)
12897 class NonHydrogenPDBSelector(NonAlternativePDBSelector):
12898  r"""Proxy of C++ IMP::atom::NonHydrogenPDBSelector class."""
12899 
12900  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12901  __swig_destroy__ = _IMP_atom.delete_NonHydrogenPDBSelector
12902 
12903  def __init__(self, *args):
12904  r"""
12905  __init__(NonHydrogenPDBSelector self, std::string name) -> NonHydrogenPDBSelector
12906  __init__(NonHydrogenPDBSelector self) -> NonHydrogenPDBSelector
12907  """
12908  _IMP_atom.NonHydrogenPDBSelector_swiginit(self, _IMP_atom.new_NonHydrogenPDBSelector(*args))
12909 
12910  def __str__(self):
12911  r"""__str__(NonHydrogenPDBSelector self) -> std::string"""
12912  return _IMP_atom.NonHydrogenPDBSelector___str__(self)
12913 
12914  def __repr__(self):
12915  r"""__repr__(NonHydrogenPDBSelector self) -> std::string"""
12916  return _IMP_atom.NonHydrogenPDBSelector___repr__(self)
12917 
12918  @staticmethod
12919  def get_from(o):
12920  return _object_cast_to_NonHydrogenPDBSelector(o)
12921 
12922 
12923 # Register NonHydrogenPDBSelector in _IMP_atom:
12924 _IMP_atom.NonHydrogenPDBSelector_swigregister(NonHydrogenPDBSelector)
12925 class NonWaterPDBSelector(NonAlternativePDBSelector):
12926  r"""Proxy of C++ IMP::atom::NonWaterPDBSelector class."""
12927 
12928  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12929  __swig_destroy__ = _IMP_atom.delete_NonWaterPDBSelector
12930 
12931  def __init__(self, *args):
12932  r"""
12933  __init__(NonWaterPDBSelector self, std::string name) -> NonWaterPDBSelector
12934  __init__(NonWaterPDBSelector self) -> NonWaterPDBSelector
12935  """
12936  _IMP_atom.NonWaterPDBSelector_swiginit(self, _IMP_atom.new_NonWaterPDBSelector(*args))
12937 
12938  def __str__(self):
12939  r"""__str__(NonWaterPDBSelector self) -> std::string"""
12940  return _IMP_atom.NonWaterPDBSelector___str__(self)
12941 
12942  def __repr__(self):
12943  r"""__repr__(NonWaterPDBSelector self) -> std::string"""
12944  return _IMP_atom.NonWaterPDBSelector___repr__(self)
12945 
12946  @staticmethod
12947  def get_from(o):
12948  return _object_cast_to_NonWaterPDBSelector(o)
12949 
12950 
12951 # Register NonWaterPDBSelector in _IMP_atom:
12952 _IMP_atom.NonWaterPDBSelector_swigregister(NonWaterPDBSelector)
12953 class BackbonePDBSelector(NonWaterNonHydrogenPDBSelector):
12954  r"""Proxy of C++ IMP::atom::BackbonePDBSelector class."""
12955 
12956  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12957 
12958  def __init__(self, *args):
12959  r"""__init__(BackbonePDBSelector self, std::string name="BackbonePDBSelector%1%") -> BackbonePDBSelector"""
12960  _IMP_atom.BackbonePDBSelector_swiginit(self, _IMP_atom.new_BackbonePDBSelector(*args))
12961  __swig_destroy__ = _IMP_atom.delete_BackbonePDBSelector
12962 
12963  def __str__(self):
12964  r"""__str__(BackbonePDBSelector self) -> std::string"""
12965  return _IMP_atom.BackbonePDBSelector___str__(self)
12966 
12967  def __repr__(self):
12968  r"""__repr__(BackbonePDBSelector self) -> std::string"""
12969  return _IMP_atom.BackbonePDBSelector___repr__(self)
12970 
12971  @staticmethod
12972  def get_from(o):
12973  return _object_cast_to_BackbonePDBSelector(o)
12974 
12975 
12976 # Register BackbonePDBSelector in _IMP_atom:
12977 _IMP_atom.BackbonePDBSelector_swigregister(BackbonePDBSelector)
12978 class PPDBSelector(NonAlternativePDBSelector):
12979  r"""Proxy of C++ IMP::atom::PPDBSelector class."""
12980 
12981  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12982 
12983  def __init__(self, *args):
12984  r"""__init__(PPDBSelector self, std::string name="PPDBSelector%1%") -> PPDBSelector"""
12985  _IMP_atom.PPDBSelector_swiginit(self, _IMP_atom.new_PPDBSelector(*args))
12986  __swig_destroy__ = _IMP_atom.delete_PPDBSelector
12987 
12988  def __str__(self):
12989  r"""__str__(PPDBSelector self) -> std::string"""
12990  return _IMP_atom.PPDBSelector___str__(self)
12991 
12992  def __repr__(self):
12993  r"""__repr__(PPDBSelector self) -> std::string"""
12994  return _IMP_atom.PPDBSelector___repr__(self)
12995 
12996  @staticmethod
12997  def get_from(o):
12998  return _object_cast_to_PPDBSelector(o)
12999 
13000 
13001 # Register PPDBSelector in _IMP_atom:
13002 _IMP_atom.PPDBSelector_swigregister(PPDBSelector)
13003 class AndPDBSelector(PDBSelector):
13004  r"""Proxy of C++ IMP::atom::AndPDBSelector class."""
13005 
13006  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13007 
13008  def get_version_info(self):
13009  r"""get_version_info(AndPDBSelector self) -> VersionInfo"""
13010  return _IMP_atom.AndPDBSelector_get_version_info(self)
13011  __swig_destroy__ = _IMP_atom.delete_AndPDBSelector
13012 
13013  def __init__(self, a, b):
13014  r"""__init__(AndPDBSelector self, PDBSelector a, PDBSelector b) -> AndPDBSelector"""
13015  _IMP_atom.AndPDBSelector_swiginit(self, _IMP_atom.new_AndPDBSelector(a, b))
13016 
13017  def __str__(self):
13018  r"""__str__(AndPDBSelector self) -> std::string"""
13019  return _IMP_atom.AndPDBSelector___str__(self)
13020 
13021  def __repr__(self):
13022  r"""__repr__(AndPDBSelector self) -> std::string"""
13023  return _IMP_atom.AndPDBSelector___repr__(self)
13024 
13025  @staticmethod
13026  def get_from(o):
13027  return _object_cast_to_AndPDBSelector(o)
13028 
13029 
13030 # Register AndPDBSelector in _IMP_atom:
13031 _IMP_atom.AndPDBSelector_swigregister(AndPDBSelector)
13032 class OrPDBSelector(PDBSelector):
13033  r"""Proxy of C++ IMP::atom::OrPDBSelector class."""
13034 
13035  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13036 
13037  def get_version_info(self):
13038  r"""get_version_info(OrPDBSelector self) -> VersionInfo"""
13039  return _IMP_atom.OrPDBSelector_get_version_info(self)
13040  __swig_destroy__ = _IMP_atom.delete_OrPDBSelector
13041 
13042  def __init__(self, a, b):
13043  r"""__init__(OrPDBSelector self, PDBSelector a, PDBSelector b) -> OrPDBSelector"""
13044  _IMP_atom.OrPDBSelector_swiginit(self, _IMP_atom.new_OrPDBSelector(a, b))
13045 
13046  def __str__(self):
13047  r"""__str__(OrPDBSelector self) -> std::string"""
13048  return _IMP_atom.OrPDBSelector___str__(self)
13049 
13050  def __repr__(self):
13051  r"""__repr__(OrPDBSelector self) -> std::string"""
13052  return _IMP_atom.OrPDBSelector___repr__(self)
13053 
13054  @staticmethod
13055  def get_from(o):
13056  return _object_cast_to_OrPDBSelector(o)
13057 
13058 
13059 # Register OrPDBSelector in _IMP_atom:
13060 _IMP_atom.OrPDBSelector_swigregister(OrPDBSelector)
13061 class XorPDBSelector(PDBSelector):
13062  r"""Proxy of C++ IMP::atom::XorPDBSelector class."""
13063 
13064  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13065 
13066  def get_version_info(self):
13067  r"""get_version_info(XorPDBSelector self) -> VersionInfo"""
13068  return _IMP_atom.XorPDBSelector_get_version_info(self)
13069  __swig_destroy__ = _IMP_atom.delete_XorPDBSelector
13070 
13071  def __init__(self, a, b):
13072  r"""__init__(XorPDBSelector self, PDBSelector a, PDBSelector b) -> XorPDBSelector"""
13073  _IMP_atom.XorPDBSelector_swiginit(self, _IMP_atom.new_XorPDBSelector(a, b))
13074 
13075  def __str__(self):
13076  r"""__str__(XorPDBSelector self) -> std::string"""
13077  return _IMP_atom.XorPDBSelector___str__(self)
13078 
13079  def __repr__(self):
13080  r"""__repr__(XorPDBSelector self) -> std::string"""
13081  return _IMP_atom.XorPDBSelector___repr__(self)
13082 
13083  @staticmethod
13084  def get_from(o):
13085  return _object_cast_to_XorPDBSelector(o)
13086 
13087 
13088 # Register XorPDBSelector in _IMP_atom:
13089 _IMP_atom.XorPDBSelector_swigregister(XorPDBSelector)
13090 class NotPDBSelector(PDBSelector):
13091  r"""Proxy of C++ IMP::atom::NotPDBSelector class."""
13092 
13093  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13094 
13095  def get_version_info(self):
13096  r"""get_version_info(NotPDBSelector self) -> VersionInfo"""
13097  return _IMP_atom.NotPDBSelector_get_version_info(self)
13098  __swig_destroy__ = _IMP_atom.delete_NotPDBSelector
13099 
13100  def __init__(self, a):
13101  r"""__init__(NotPDBSelector self, PDBSelector a) -> NotPDBSelector"""
13102  _IMP_atom.NotPDBSelector_swiginit(self, _IMP_atom.new_NotPDBSelector(a))
13103 
13104  def __str__(self):
13105  r"""__str__(NotPDBSelector self) -> std::string"""
13106  return _IMP_atom.NotPDBSelector___str__(self)
13107 
13108  def __repr__(self):
13109  r"""__repr__(NotPDBSelector self) -> std::string"""
13110  return _IMP_atom.NotPDBSelector___repr__(self)
13111 
13112  @staticmethod
13113  def get_from(o):
13114  return _object_cast_to_NotPDBSelector(o)
13115 
13116 
13117 # Register NotPDBSelector in _IMP_atom:
13118 _IMP_atom.NotPDBSelector_swigregister(NotPDBSelector)
13119 
13120 def get_default_pdb_selector():
13121  r"""get_default_pdb_selector() -> PDBSelector"""
13122  return _IMP_atom.get_default_pdb_selector()
13123 
13124 def read_pdb(*args):
13125  r"""
13126  read_pdb(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool select_first_model=True, bool no_radii=False) -> Hierarchy
13127  read_pdb(TextInput input, int model, Hierarchy h)
13128  """
13129  return _IMP_atom.read_pdb(*args)
13130 
13131 def read_multimodel_pdb(*args):
13132  r"""read_multimodel_pdb(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
13133  return _IMP_atom.read_multimodel_pdb(*args)
13134 
13135 def write_pdb(mhd, out, model=1):
13136  r"""write_pdb(Selection mhd, TextOutput out, unsigned int model=1)"""
13137  return _IMP_atom.write_pdb(mhd, out, model)
13138 
13139 def write_pdb_of_c_alphas(mhd, out, model=1):
13140  r"""write_pdb_of_c_alphas(Selection mhd, TextOutput out, unsigned int model=1)"""
13141  return _IMP_atom.write_pdb_of_c_alphas(mhd, out, model)
13142 
13143 def write_multimodel_pdb(mhd, out):
13144  r"""write_multimodel_pdb(IMP::atom::Hierarchies const & mhd, TextOutput out)"""
13145  return _IMP_atom.write_multimodel_pdb(mhd, out)
13146 
13147 def get_pdb_string(*args):
13148  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"""
13149  return _IMP_atom.get_pdb_string(*args)
13150 
13151 def get_pdb_conect_record_string(arg1, arg2):
13152  r"""get_pdb_conect_record_string(int arg1, int arg2) -> std::string"""
13153  return _IMP_atom.get_pdb_conect_record_string(arg1, arg2)
13154 class WritePDBOptimizerState(IMP.OptimizerState):
13155  r"""Proxy of C++ IMP::atom::WritePDBOptimizerState class."""
13156 
13157  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13158 
13159  def __init__(self, *args):
13160  r"""
13161  __init__(WritePDBOptimizerState self, Model m, _ParticleIndexesAdaptor pis, std::string filename) -> WritePDBOptimizerState
13162  __init__(WritePDBOptimizerState self, IMP::atom::Hierarchies const mh, std::string filename) -> WritePDBOptimizerState
13163  __init__(WritePDBOptimizerState self) -> WritePDBOptimizerState
13164  """
13165  _IMP_atom.WritePDBOptimizerState_swiginit(self, _IMP_atom.new_WritePDBOptimizerState(*args))
13166 
13167  def get_version_info(self):
13168  r"""get_version_info(WritePDBOptimizerState self) -> VersionInfo"""
13169  return _IMP_atom.WritePDBOptimizerState_get_version_info(self)
13170  __swig_destroy__ = _IMP_atom.delete_WritePDBOptimizerState
13171 
13172  def __str__(self):
13173  r"""__str__(WritePDBOptimizerState self) -> std::string"""
13174  return _IMP_atom.WritePDBOptimizerState___str__(self)
13175 
13176  def __repr__(self):
13177  r"""__repr__(WritePDBOptimizerState self) -> std::string"""
13178  return _IMP_atom.WritePDBOptimizerState___repr__(self)
13179 
13180  @staticmethod
13181  def get_from(o):
13182  return _object_cast_to_WritePDBOptimizerState(o)
13183 
13184 
13185  def _get_as_binary(self):
13186  r"""_get_as_binary(WritePDBOptimizerState self) -> PyObject *"""
13187  return _IMP_atom.WritePDBOptimizerState__get_as_binary(self)
13188 
13189  def _set_from_binary(self, p):
13190  r"""_set_from_binary(WritePDBOptimizerState self, PyObject * p)"""
13191  return _IMP_atom.WritePDBOptimizerState__set_from_binary(self, p)
13192 
13193  def __getstate__(self):
13194  p = self._get_as_binary()
13195  if len(self.__dict__) > 1:
13196  d = self.__dict__.copy()
13197  del d['this']
13198  p = (d, p)
13199  return p
13200 
13201  def __setstate__(self, p):
13202  if not hasattr(self, 'this'):
13203  self.__init__()
13204  if isinstance(p, tuple):
13205  d, p = p
13206  self.__dict__.update(d)
13207  return self._set_from_binary(p)
13208 
13209 
13210 # Register WritePDBOptimizerState in _IMP_atom:
13211 _IMP_atom.WritePDBOptimizerState_swigregister(WritePDBOptimizerState)
13212 
13213 def read_multimodel_mmcif(*args):
13214  r"""read_multimodel_mmcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
13215  return _IMP_atom.read_multimodel_mmcif(*args)
13216 
13217 def read_mmcif(*args):
13218  r"""read_mmcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool select_first_model=True, bool noradii=False) -> Hierarchy"""
13219  return _IMP_atom.read_mmcif(*args)
13220 
13221 def read_multimodel_bcif(*args):
13222  r"""read_multimodel_bcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
13223  return _IMP_atom.read_multimodel_bcif(*args)
13224 
13225 def read_bcif(*args):
13226  r"""read_bcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool select_first_model=True, bool noradii=False) -> Hierarchy"""
13227  return _IMP_atom.read_bcif(*args)
13228 
13229 def read_pdb_any(*args):
13230  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"""
13231  return _IMP_atom.read_pdb_any(*args)
13232 
13233 def read_multimodel_pdb_any(*args):
13234  r"""read_multimodel_pdb_any(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
13235  return _IMP_atom.read_multimodel_pdb_any(*args)
13236 
13237 def get_kt(T):
13238  r"""get_kt(double T) -> double"""
13239  return _IMP_atom.get_kt(T)
13240 class CAAngleRestraint(IMP.Restraint):
13241  r"""Proxy of C++ IMP::atom::CAAngleRestraint class."""
13242 
13243  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13244 
13245  def __init__(self, m, p1, p2, p3, phi0, score):
13246  r"""__init__(CAAngleRestraint self, Model m, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3, IMP::Floats phi0, IMP::Floats score) -> CAAngleRestraint"""
13247  _IMP_atom.CAAngleRestraint_swiginit(self, _IMP_atom.new_CAAngleRestraint(m, p1, p2, p3, phi0, score))
13248 
13249  def do_get_inputs(self):
13250  r"""do_get_inputs(CAAngleRestraint self) -> IMP::ModelObjectsTemp"""
13251  return _IMP_atom.CAAngleRestraint_do_get_inputs(self)
13252 
13253  def get_version_info(self):
13254  r"""get_version_info(CAAngleRestraint self) -> VersionInfo"""
13255  return _IMP_atom.CAAngleRestraint_get_version_info(self)
13256  __swig_destroy__ = _IMP_atom.delete_CAAngleRestraint
13257 
13258  def __str__(self):
13259  r"""__str__(CAAngleRestraint self) -> std::string"""
13260  return _IMP_atom.CAAngleRestraint___str__(self)
13261 
13262  def __repr__(self):
13263  r"""__repr__(CAAngleRestraint self) -> std::string"""
13264  return _IMP_atom.CAAngleRestraint___repr__(self)
13265 
13266  @staticmethod
13267  def get_from(o):
13268  return _object_cast_to_CAAngleRestraint(o)
13269 
13270 
13271 # Register CAAngleRestraint in _IMP_atom:
13272 _IMP_atom.CAAngleRestraint_swigregister(CAAngleRestraint)
13273 class CADihedralRestraint(IMP.Restraint):
13274  r"""Proxy of C++ IMP::atom::CADihedralRestraint class."""
13275 
13276  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13277 
13278  def __init__(self, m, p1, p2, p3, p4, p5, phi0, phi1, score):
13279  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"""
13280  _IMP_atom.CADihedralRestraint_swiginit(self, _IMP_atom.new_CADihedralRestraint(m, p1, p2, p3, p4, p5, phi0, phi1, score))
13281 
13282  def do_get_inputs(self):
13283  r"""do_get_inputs(CADihedralRestraint self) -> IMP::ModelObjectsTemp"""
13284  return _IMP_atom.CADihedralRestraint_do_get_inputs(self)
13285 
13286  def get_version_info(self):
13287  r"""get_version_info(CADihedralRestraint self) -> VersionInfo"""
13288  return _IMP_atom.CADihedralRestraint_get_version_info(self)
13289  __swig_destroy__ = _IMP_atom.delete_CADihedralRestraint
13290 
13291  def __str__(self):
13292  r"""__str__(CADihedralRestraint self) -> std::string"""
13293  return _IMP_atom.CADihedralRestraint___str__(self)
13294 
13295  def __repr__(self):
13296  r"""__repr__(CADihedralRestraint self) -> std::string"""
13297  return _IMP_atom.CADihedralRestraint___repr__(self)
13298 
13299  @staticmethod
13300  def get_from(o):
13301  return _object_cast_to_CADihedralRestraint(o)
13302 
13303 
13304 # Register CADihedralRestraint in _IMP_atom:
13305 _IMP_atom.CADihedralRestraint_swigregister(CADihedralRestraint)
13306 class StructureSource(IMP.Decorator):
13307  r"""Proxy of C++ IMP::atom::StructureSource class."""
13308 
13309  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13310 
13311  def get_source_id(self):
13312  r"""get_source_id(StructureSource self) -> std::string"""
13313  return _IMP_atom.StructureSource_get_source_id(self)
13314 
13315  def get_source_chain_id(self):
13316  r"""get_source_chain_id(StructureSource self) -> std::string"""
13317  return _IMP_atom.StructureSource_get_source_chain_id(self)
13318 
13319  def set_source_id(self, source_id):
13320  r"""set_source_id(StructureSource self, std::string source_id)"""
13321  return _IMP_atom.StructureSource_set_source_id(self, source_id)
13322 
13323  def set_source_chain_id(self, source_chain_id):
13324  r"""set_source_chain_id(StructureSource self, std::string source_chain_id)"""
13325  return _IMP_atom.StructureSource_set_source_chain_id(self, source_chain_id)
13326 
13327  def __init__(self, *args):
13328  r"""
13329  __init__(StructureSource self) -> StructureSource
13330  __init__(StructureSource self, Model m, ParticleIndex id) -> StructureSource
13331  __init__(StructureSource self, _ParticleAdaptor d) -> StructureSource
13332  """
13333  _IMP_atom.StructureSource_swiginit(self, _IMP_atom.new_StructureSource(*args))
13334 
13335  @staticmethod
13336  def get_is_setup(*args):
13337  r"""
13338  get_is_setup(Model m, ParticleIndex pi) -> bool
13339  get_is_setup(_ParticleAdaptor p) -> bool
13340  """
13341  return _IMP_atom.StructureSource_get_is_setup(*args)
13342 
13343  def show(self, *args):
13344  r"""show(StructureSource self, _ostream out=std::cout)"""
13345  return _IMP_atom.StructureSource_show(self, *args)
13346 
13347  @staticmethod
13348  def setup_particle(*args):
13349  r"""
13350  setup_particle(Model m, ParticleIndex pi, std::string source_id, std::string source_chain_id) -> StructureSource
13351  setup_particle(_ParticleAdaptor pa, std::string source_id, std::string source_chain_id) -> StructureSource
13352  """
13353  return _IMP_atom.StructureSource_setup_particle(*args)
13354 
13355  def add_attribute(self, *args):
13356  r"""
13357  add_attribute(StructureSource self, FloatKey k, IMP::Float v, bool opt)
13358  add_attribute(StructureSource self, FloatKey a0, IMP::Float a1)
13359  add_attribute(StructureSource self, IntKey a0, IMP::Int a1)
13360  add_attribute(StructureSource self, FloatsKey a0, IMP::Floats a1)
13361  add_attribute(StructureSource self, IntsKey a0, IMP::Ints a1)
13362  add_attribute(StructureSource self, StringKey a0, IMP::String a1)
13363  add_attribute(StructureSource self, ParticleIndexKey a0, Particle a1)
13364  add_attribute(StructureSource self, ObjectKey a0, Object a1)
13365  add_attribute(StructureSource self, SparseFloatKey a0, IMP::Float a1)
13366  add_attribute(StructureSource self, SparseIntKey a0, IMP::Int a1)
13367  add_attribute(StructureSource self, SparseStringKey a0, IMP::String a1)
13368  add_attribute(StructureSource self, SparseParticleIndexKey a0, ParticleIndex a1)
13369  """
13370  return _IMP_atom.StructureSource_add_attribute(self, *args)
13371 
13372  def get_value(self, *args):
13373  r"""
13374  get_value(StructureSource self, FloatKey a0) -> IMP::Float
13375  get_value(StructureSource self, IntKey a0) -> IMP::Int
13376  get_value(StructureSource self, FloatsKey a0) -> IMP::Floats
13377  get_value(StructureSource self, IntsKey a0) -> IMP::Ints
13378  get_value(StructureSource self, StringKey a0) -> IMP::String
13379  get_value(StructureSource self, ParticleIndexKey a0) -> Particle
13380  get_value(StructureSource self, ObjectKey a0) -> Object
13381  get_value(StructureSource self, SparseFloatKey a0) -> IMP::Float
13382  get_value(StructureSource self, SparseIntKey a0) -> IMP::Int
13383  get_value(StructureSource self, SparseStringKey a0) -> IMP::String
13384  get_value(StructureSource self, SparseParticleIndexKey a0) -> ParticleIndex
13385  """
13386  return _IMP_atom.StructureSource_get_value(self, *args)
13387 
13388  def set_value(self, *args):
13389  r"""
13390  set_value(StructureSource self, FloatKey a0, IMP::Float a1)
13391  set_value(StructureSource self, IntKey a0, IMP::Int a1)
13392  set_value(StructureSource self, FloatsKey a0, IMP::Floats a1)
13393  set_value(StructureSource self, IntsKey a0, IMP::Ints a1)
13394  set_value(StructureSource self, StringKey a0, IMP::String a1)
13395  set_value(StructureSource self, ParticleIndexKey a0, Particle a1)
13396  set_value(StructureSource self, ObjectKey a0, Object a1)
13397  set_value(StructureSource self, SparseFloatKey a0, IMP::Float a1)
13398  set_value(StructureSource self, SparseIntKey a0, IMP::Int a1)
13399  set_value(StructureSource self, SparseStringKey a0, IMP::String a1)
13400  set_value(StructureSource self, SparseParticleIndexKey a0, ParticleIndex a1)
13401  """
13402  return _IMP_atom.StructureSource_set_value(self, *args)
13403 
13404  def remove_attribute(self, *args):
13405  r"""
13406  remove_attribute(StructureSource self, FloatKey a0)
13407  remove_attribute(StructureSource self, IntKey a0)
13408  remove_attribute(StructureSource self, FloatsKey a0)
13409  remove_attribute(StructureSource self, IntsKey a0)
13410  remove_attribute(StructureSource self, StringKey a0)
13411  remove_attribute(StructureSource self, ParticleIndexKey a0)
13412  remove_attribute(StructureSource self, ObjectKey a0)
13413  remove_attribute(StructureSource self, SparseFloatKey a0)
13414  remove_attribute(StructureSource self, SparseIntKey a0)
13415  remove_attribute(StructureSource self, SparseStringKey a0)
13416  remove_attribute(StructureSource self, SparseParticleIndexKey a0)
13417  """
13418  return _IMP_atom.StructureSource_remove_attribute(self, *args)
13419 
13420  def has_attribute(self, *args):
13421  r"""
13422  has_attribute(StructureSource self, FloatKey a0) -> bool
13423  has_attribute(StructureSource self, IntKey a0) -> bool
13424  has_attribute(StructureSource self, FloatsKey a0) -> bool
13425  has_attribute(StructureSource self, IntsKey a0) -> bool
13426  has_attribute(StructureSource self, StringKey a0) -> bool
13427  has_attribute(StructureSource self, ParticleIndexKey a0) -> bool
13428  has_attribute(StructureSource self, ObjectKey a0) -> bool
13429  has_attribute(StructureSource self, SparseFloatKey a0) -> bool
13430  has_attribute(StructureSource self, SparseIntKey a0) -> bool
13431  has_attribute(StructureSource self, SparseStringKey a0) -> bool
13432  has_attribute(StructureSource self, SparseParticleIndexKey a0) -> bool
13433  """
13434  return _IMP_atom.StructureSource_has_attribute(self, *args)
13435 
13436  def get_derivative(self, a0):
13437  r"""get_derivative(StructureSource self, FloatKey a0) -> double"""
13438  return _IMP_atom.StructureSource_get_derivative(self, a0)
13439 
13440  def get_name(self):
13441  r"""get_name(StructureSource self) -> std::string"""
13442  return _IMP_atom.StructureSource_get_name(self)
13443 
13444  def clear_caches(self):
13445  r"""clear_caches(StructureSource self)"""
13446  return _IMP_atom.StructureSource_clear_caches(self)
13447 
13448  def set_name(self, a0):
13449  r"""set_name(StructureSource self, std::string a0)"""
13450  return _IMP_atom.StructureSource_set_name(self, a0)
13451 
13452  def set_check_level(self, a0):
13453  r"""set_check_level(StructureSource self, IMP::CheckLevel a0)"""
13454  return _IMP_atom.StructureSource_set_check_level(self, a0)
13455 
13456  def add_to_derivative(self, a0, a1, a2):
13457  r"""add_to_derivative(StructureSource self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
13458  return _IMP_atom.StructureSource_add_to_derivative(self, a0, a1, a2)
13459 
13460  def set_is_optimized(self, a0, a1):
13461  r"""set_is_optimized(StructureSource self, FloatKey a0, bool a1)"""
13462  return _IMP_atom.StructureSource_set_is_optimized(self, a0, a1)
13463 
13464  def get_is_optimized(self, a0):
13465  r"""get_is_optimized(StructureSource self, FloatKey a0) -> bool"""
13466  return _IMP_atom.StructureSource_get_is_optimized(self, a0)
13467 
13468  def get_check_level(self):
13469  r"""get_check_level(StructureSource self) -> IMP::CheckLevel"""
13470  return _IMP_atom.StructureSource_get_check_level(self)
13471 
13472  def __eq__(self, *args):
13473  r"""
13474  __eq__(StructureSource self, StructureSource o) -> bool
13475  __eq__(StructureSource self, Particle d) -> bool
13476  """
13477  return _IMP_atom.StructureSource___eq__(self, *args)
13478 
13479  def __ne__(self, *args):
13480  r"""
13481  __ne__(StructureSource self, StructureSource o) -> bool
13482  __ne__(StructureSource self, Particle d) -> bool
13483  """
13484  return _IMP_atom.StructureSource___ne__(self, *args)
13485 
13486  def __le__(self, *args):
13487  r"""
13488  __le__(StructureSource self, StructureSource o) -> bool
13489  __le__(StructureSource self, Particle d) -> bool
13490  """
13491  return _IMP_atom.StructureSource___le__(self, *args)
13492 
13493  def __lt__(self, *args):
13494  r"""
13495  __lt__(StructureSource self, StructureSource o) -> bool
13496  __lt__(StructureSource self, Particle d) -> bool
13497  """
13498  return _IMP_atom.StructureSource___lt__(self, *args)
13499 
13500  def __ge__(self, *args):
13501  r"""
13502  __ge__(StructureSource self, StructureSource o) -> bool
13503  __ge__(StructureSource self, Particle d) -> bool
13504  """
13505  return _IMP_atom.StructureSource___ge__(self, *args)
13506 
13507  def __gt__(self, *args):
13508  r"""
13509  __gt__(StructureSource self, StructureSource o) -> bool
13510  __gt__(StructureSource self, Particle d) -> bool
13511  """
13512  return _IMP_atom.StructureSource___gt__(self, *args)
13513 
13514  def __hash__(self):
13515  r"""__hash__(StructureSource self) -> std::size_t"""
13516  return _IMP_atom.StructureSource___hash__(self)
13517 
13518  def __str__(self):
13519  r"""__str__(StructureSource self) -> std::string"""
13520  return _IMP_atom.StructureSource___str__(self)
13521 
13522  def __repr__(self):
13523  r"""__repr__(StructureSource self) -> std::string"""
13524  return _IMP_atom.StructureSource___repr__(self)
13525 
13526  def _get_as_binary(self):
13527  r"""_get_as_binary(StructureSource self) -> PyObject *"""
13528  return _IMP_atom.StructureSource__get_as_binary(self)
13529 
13530  def _set_from_binary(self, p):
13531  r"""_set_from_binary(StructureSource self, PyObject * p)"""
13532  return _IMP_atom.StructureSource__set_from_binary(self, p)
13533 
13534  def __getstate__(self):
13535  p = self._get_as_binary()
13536  if len(self.__dict__) > 1:
13537  d = self.__dict__.copy()
13538  del d['this']
13539  p = (d, p)
13540  return p
13541 
13542  def __setstate__(self, p):
13543  if not hasattr(self, 'this'):
13544  self.__init__()
13545  if isinstance(p, tuple):
13546  d, p = p
13547  self.__dict__.update(d)
13548  return self._set_from_binary(p)
13549 
13550  __swig_destroy__ = _IMP_atom.delete_StructureSource
13551 
13552 # Register StructureSource in _IMP_atom:
13553 _IMP_atom.StructureSource_swigregister(StructureSource)
13554 
13555 def __lshift__(*args):
13556  r"""
13557  __lshift__(_ostream out, Bonded n) -> _ostream
13558  __lshift__(_ostream out, Bond n) -> _ostream
13559  __lshift__(_ostream out, Hierarchy n) -> _ostream
13560  __lshift__(_ostream out, Angle n) -> _ostream
13561  __lshift__(_ostream out, Dihedral n) -> _ostream
13562  __lshift__(_ostream out, CenterOfMass n) -> _ostream
13563  __lshift__(_ostream out, Diffusion n) -> _ostream
13564  __lshift__(_ostream out, RigidBodyDiffusion n) -> _ostream
13565  __lshift__(_ostream out, TAMDParticle n) -> _ostream
13566  __lshift__(_ostream out, Charged n) -> _ostream
13567  __lshift__(_ostream out, Domain n) -> _ostream
13568  __lshift__(_ostream out, LennardJonesTyped n) -> _ostream
13569  __lshift__(_ostream out, Fragment n) -> _ostream
13570  __lshift__(_ostream out, SecondaryStructureResidue n) -> _ostream
13571  __lshift__(_ostream out, Atom n) -> _ostream
13572  __lshift__(_ostream out, Residue n) -> _ostream
13573  __lshift__(_ostream out, Representation n) -> _ostream
13574  __lshift__(_ostream out, State n) -> _ostream
13575  __lshift__(_ostream out, Molecule n) -> _ostream
13576  __lshift__(_ostream out, Copy n) -> _ostream
13577  __lshift__(_ostream out, Chain n) -> _ostream
13578  __lshift__(_ostream out, StructureSource n) -> _ostream
13579  """
13580  return _IMP_atom.__lshift__(*args)
13581 class HelixRestraint(IMP.Restraint):
13582  r"""Proxy of C++ IMP::atom::HelixRestraint class."""
13583 
13584  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13585 
13586  def __init__(self, rs, ideal=True):
13587  r"""__init__(HelixRestraint self, IMP::atom::Residues rs, bool ideal=True) -> HelixRestraint"""
13588  _IMP_atom.HelixRestraint_swiginit(self, _IMP_atom.new_HelixRestraint(rs, ideal))
13589 
13590  def get_number_of_bonds(self):
13591  r"""get_number_of_bonds(HelixRestraint self) -> int"""
13592  return _IMP_atom.HelixRestraint_get_number_of_bonds(self)
13593 
13594  def get_number_of_dihedrals(self):
13595  r"""get_number_of_dihedrals(HelixRestraint self) -> int"""
13596  return _IMP_atom.HelixRestraint_get_number_of_dihedrals(self)
13597 
13598  def do_get_inputs(self):
13599  r"""do_get_inputs(HelixRestraint self) -> IMP::ModelObjectsTemp"""
13600  return _IMP_atom.HelixRestraint_do_get_inputs(self)
13601 
13602  def get_version_info(self):
13603  r"""get_version_info(HelixRestraint self) -> VersionInfo"""
13604  return _IMP_atom.HelixRestraint_get_version_info(self)
13605  __swig_destroy__ = _IMP_atom.delete_HelixRestraint
13606 
13607  def __str__(self):
13608  r"""__str__(HelixRestraint self) -> std::string"""
13609  return _IMP_atom.HelixRestraint___str__(self)
13610 
13611  def __repr__(self):
13612  r"""__repr__(HelixRestraint self) -> std::string"""
13613  return _IMP_atom.HelixRestraint___repr__(self)
13614 
13615  @staticmethod
13616  def get_from(o):
13617  return _object_cast_to_HelixRestraint(o)
13618 
13619 
13620 # Register HelixRestraint in _IMP_atom:
13621 _IMP_atom.HelixRestraint_swigregister(HelixRestraint)
13622 
13624  r"""get_transformation_aligning_first_to_second(Selection s1, Selection s2) -> Transformation3D"""
13625  return _IMP_atom.get_transformation_aligning_first_to_second(s1, s2)
13626 
13627 def show_molecular_hierarchy(*args):
13628  r"""show_molecular_hierarchy(Hierarchy h, _ostream out=std::cout) -> _ostream"""
13629  return _IMP_atom.show_molecular_hierarchy(*args)
13630 class CHARMMBond(object):
13631  r"""Proxy of C++ IMP::atom::CHARMMConnection< 2 > class."""
13632 
13633  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13634  __repr__ = _swig_repr
13635 
13636  def __init__(self, atoms):
13637  r"""__init__(CHARMMBond self, IMP::Strings const & atoms) -> CHARMMBond"""
13638  _IMP_atom.CHARMMBond_swiginit(self, _IMP_atom.new_CHARMMBond(atoms))
13639 
13640  def get_endpoint(self, i):
13641  r"""get_endpoint(CHARMMBond self, unsigned int i) -> CHARMMBondEndpoint"""
13642  return _IMP_atom.CHARMMBond_get_endpoint(self, i)
13643 
13644  def get_contains_atom(self, name):
13645  r"""get_contains_atom(CHARMMBond self, std::string name) -> bool"""
13646  return _IMP_atom.CHARMMBond_get_contains_atom(self, name)
13647 
13648  def show(self, *args):
13649  r"""show(CHARMMBond self, _ostream out=std::cout)"""
13650  return _IMP_atom.CHARMMBond_show(self, *args)
13651  __swig_destroy__ = _IMP_atom.delete_CHARMMBond
13652 
13653 # Register CHARMMBond in _IMP_atom:
13654 _IMP_atom.CHARMMBond_swigregister(CHARMMBond)
13655 class CHARMMAngle(object):
13656  r"""Proxy of C++ IMP::atom::CHARMMConnection< 3 > class."""
13657 
13658  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13659  __repr__ = _swig_repr
13660 
13661  def __init__(self, atoms):
13662  r"""__init__(CHARMMAngle self, IMP::Strings const & atoms) -> CHARMMAngle"""
13663  _IMP_atom.CHARMMAngle_swiginit(self, _IMP_atom.new_CHARMMAngle(atoms))
13664 
13665  def get_endpoint(self, i):
13666  r"""get_endpoint(CHARMMAngle self, unsigned int i) -> CHARMMBondEndpoint"""
13667  return _IMP_atom.CHARMMAngle_get_endpoint(self, i)
13668 
13669  def get_contains_atom(self, name):
13670  r"""get_contains_atom(CHARMMAngle self, std::string name) -> bool"""
13671  return _IMP_atom.CHARMMAngle_get_contains_atom(self, name)
13672 
13673  def show(self, *args):
13674  r"""show(CHARMMAngle self, _ostream out=std::cout)"""
13675  return _IMP_atom.CHARMMAngle_show(self, *args)
13676  __swig_destroy__ = _IMP_atom.delete_CHARMMAngle
13677 
13678 # Register CHARMMAngle in _IMP_atom:
13679 _IMP_atom.CHARMMAngle_swigregister(CHARMMAngle)
13680 
13681 def _get_native_overlap_cpp(m1, m2, threshold):
13682  r"""_get_native_overlap_cpp(IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m1, IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m2, double threshold) -> double"""
13683  return _IMP_atom._get_native_overlap_cpp(m1, m2, threshold)
13684 
13685 def _get_drmsd_cpp(m0, m1):
13686  r"""_get_drmsd_cpp(IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m0, IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m1) -> double"""
13687  return _IMP_atom._get_drmsd_cpp(m0, m1)
13688 
13689 def _get_drmsd_Q_cpp(m0, m1, threshold):
13690  r"""_get_drmsd_Q_cpp(IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m0, IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m1, double threshold) -> double"""
13691  return _IMP_atom._get_drmsd_Q_cpp(m0, m1, threshold)
13692 
13693 def _get_drms_cpp(m1, m2):
13694  r"""_get_drms_cpp(IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m1, IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m2) -> double"""
13695  return _IMP_atom._get_drms_cpp(m1, m2)
13696 
13697 def _get_rigid_bodies_drms_cpp(m1, m2, ranges):
13698  r"""_get_rigid_bodies_drms_cpp(IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m1, IMP::Vector< IMP::VectorD< 3 >,std::allocator< IMP::VectorD< 3 > > > const & m2, IMP::IntRanges const & ranges) -> double"""
13699  return _IMP_atom._get_rigid_bodies_drms_cpp(m1, m2, ranges)
13700 
13701 def get_native_overlap(a, b, d):
13702  va= [IMP.algebra.get_vector(x) for x in a]
13703  vb= [IMP.algebra.get_vector(x) for x in b]
13704  return _get_native_overlap_cpp(va, vb, d)
13705 
13706 def get_drmsd(a, b):
13707  va= [IMP.algebra.get_vector(x) for x in a]
13708  vb= [IMP.algebra.get_vector(x) for x in b]
13709  return _get_drmsd_cpp(va, vb)
13710 
13711 def get_drms(a, b):
13712  va= [IMP.algebra.get_vector(x) for x in a]
13713  vb= [IMP.algebra.get_vector(x) for x in b]
13714  return _get_drms_cpp(va, vb)
13715 
13716 def get_drmsd_Q(a, b, t):
13717  va= [IMP.algebra.get_vector(x) for x in a]
13718  vb= [IMP.algebra.get_vector(x) for x in b]
13719  return _get_drmsd_Q_cpp(va, vb, t)
13720 
13721 def get_rigid_bodies_drms(a, b, ranges):
13722  va= [IMP.algebra.get_vector(x) for x in a]
13723  vb= [IMP.algebra.get_vector(x) for x in b]
13724 #rs = [IMP.IntRange(r[0],r[1]) for r in ranges]
13725  return _get_rigid_bodies_drms_cpp(va, vb, ranges)
13726 
13727 
13728 class _LennardJonesTypedPairScore(IMP.PairScore):
13729  r"""Proxy of C++ IMP::atom::LennardJonesTypedPairScore< IMP::atom::SmoothingFunction > class."""
13730 
13731  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13732  __repr__ = _swig_repr
13733 
13734  def __init__(self, f):
13735  r"""__init__(_LennardJonesTypedPairScore self, SmoothingFunction f) -> _LennardJonesTypedPairScore"""
13736  _IMP_atom._LennardJonesTypedPairScore_swiginit(self, _IMP_atom.new__LennardJonesTypedPairScore(f))
13737 
13738  def set_repulsive_weight(self, repulsive_weight):
13739  r"""set_repulsive_weight(_LennardJonesTypedPairScore self, double repulsive_weight)"""
13740  return _IMP_atom._LennardJonesTypedPairScore_set_repulsive_weight(self, repulsive_weight)
13741 
13742  def get_repulsive_weight(self):
13743  r"""get_repulsive_weight(_LennardJonesTypedPairScore self) -> double"""
13744  return _IMP_atom._LennardJonesTypedPairScore_get_repulsive_weight(self)
13745 
13746  def set_attractive_weight(self, attractive_weight):
13747  r"""set_attractive_weight(_LennardJonesTypedPairScore self, double attractive_weight)"""
13748  return _IMP_atom._LennardJonesTypedPairScore_set_attractive_weight(self, attractive_weight)
13749 
13750  def get_attractive_weight(self):
13751  r"""get_attractive_weight(_LennardJonesTypedPairScore self) -> double"""
13752  return _IMP_atom._LennardJonesTypedPairScore_get_attractive_weight(self)
13753 
13754  def get_repulsive_type_factors(self):
13755  r"""get_repulsive_type_factors(_LennardJonesTypedPairScore self) -> IMP::Floats"""
13756  return _IMP_atom._LennardJonesTypedPairScore_get_repulsive_type_factors(self)
13757 
13758  def get_attractive_type_factors(self):
13759  r"""get_attractive_type_factors(_LennardJonesTypedPairScore self) -> IMP::Floats"""
13760  return _IMP_atom._LennardJonesTypedPairScore_get_attractive_type_factors(self)
13761 
13762  def get_smoothing_function(self):
13763  r"""get_smoothing_function(_LennardJonesTypedPairScore self) -> SmoothingFunction"""
13764  return _IMP_atom._LennardJonesTypedPairScore_get_smoothing_function(self)
13765 
13766  def do_get_inputs(self, m, pis):
13767  r"""do_get_inputs(_LennardJonesTypedPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13768  return _IMP_atom._LennardJonesTypedPairScore_do_get_inputs(self, m, pis)
13769 
13770  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
13771  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"""
13772  return _IMP_atom._LennardJonesTypedPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
13773 
13774  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
13775  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"""
13776  return _IMP_atom._LennardJonesTypedPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
13777 
13778  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
13779  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"""
13780  return _IMP_atom._LennardJonesTypedPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
13781 
13782  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
13783  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"""
13784  return _IMP_atom._LennardJonesTypedPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
13785 
13786  def get_version_info(self):
13787  r"""get_version_info(_LennardJonesTypedPairScore self) -> VersionInfo"""
13788  return _IMP_atom._LennardJonesTypedPairScore_get_version_info(self)
13789  __swig_destroy__ = _IMP_atom.delete__LennardJonesTypedPairScore
13790 
13791  @staticmethod
13792  def get_from(o):
13793  return _object_cast_to__LennardJonesTypedPairScore(o)
13794 
13795 
13796  def _get_jax(self, m, indexes):
13797  import IMP.atom._jax_util
13798  score = IMP.atom._jax_util._get_lennard_jones_score(self, indexes)
13799  return self._wrap_jax(m, score, keys=[LennardJonesTyped.get_type_key()])
13800 
13801 
13802 # Register _LennardJonesTypedPairScore in _IMP_atom:
13803 _IMP_atom._LennardJonesTypedPairScore_swigregister(_LennardJonesTypedPairScore)
13804 class _SwitchedLennardJonesTypedPairScore(IMP.PairScore):
13805  r"""Proxy of C++ IMP::atom::LennardJonesTypedPairScore< IMP::atom::ForceSwitch > class."""
13806 
13807  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
13808  __repr__ = _swig_repr
13809 
13810  def __init__(self, f):
13811  r"""__init__(_SwitchedLennardJonesTypedPairScore self, ForceSwitch f) -> _SwitchedLennardJonesTypedPairScore"""
13812  _IMP_atom._SwitchedLennardJonesTypedPairScore_swiginit(self, _IMP_atom.new__SwitchedLennardJonesTypedPairScore(f))
13813 
13814  def set_repulsive_weight(self, repulsive_weight):
13815  r"""set_repulsive_weight(_SwitchedLennardJonesTypedPairScore self, double repulsive_weight)"""
13816  return _IMP_atom._SwitchedLennardJonesTypedPairScore_set_repulsive_weight(self, repulsive_weight)
13817 
13818  def get_repulsive_weight(self):
13819  r"""get_repulsive_weight(_SwitchedLennardJonesTypedPairScore self) -> double"""
13820  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_repulsive_weight(self)
13821 
13822  def set_attractive_weight(self, attractive_weight):
13823  r"""set_attractive_weight(_SwitchedLennardJonesTypedPairScore self, double attractive_weight)"""
13824  return _IMP_atom._SwitchedLennardJonesTypedPairScore_set_attractive_weight(self, attractive_weight)
13825 
13826  def get_attractive_weight(self):
13827  r"""get_attractive_weight(_SwitchedLennardJonesTypedPairScore self) -> double"""
13828  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_attractive_weight(self)
13829 
13830  def get_repulsive_type_factors(self):
13831  r"""get_repulsive_type_factors(_SwitchedLennardJonesTypedPairScore self) -> IMP::Floats"""
13832  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_repulsive_type_factors(self)
13833 
13834  def get_attractive_type_factors(self):
13835  r"""get_attractive_type_factors(_SwitchedLennardJonesTypedPairScore self) -> IMP::Floats"""
13836  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_attractive_type_factors(self)
13837 
13838  def get_smoothing_function(self):
13839  r"""get_smoothing_function(_SwitchedLennardJonesTypedPairScore self) -> ForceSwitch"""
13840  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_smoothing_function(self)
13841 
13842  def do_get_inputs(self, m, pis):
13843  r"""do_get_inputs(_SwitchedLennardJonesTypedPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
13844  return _IMP_atom._SwitchedLennardJonesTypedPairScore_do_get_inputs(self, m, pis)
13845 
13846  def evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked=False):
13847  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"""
13848  return _IMP_atom._SwitchedLennardJonesTypedPairScore_evaluate_indexes(self, m, p, da, lower_bound, upper_bound, all_indexes_checked)
13849 
13850  def evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked=False):
13851  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"""
13852  return _IMP_atom._SwitchedLennardJonesTypedPairScore_evaluate_indexes_scores(self, m, p, da, lower_bound, upper_bound, score, all_indexes_checked)
13853 
13854  def evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked=False):
13855  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"""
13856  return _IMP_atom._SwitchedLennardJonesTypedPairScore_evaluate_indexes_delta(self, m, p, da, indexes, score, all_indexes_checked)
13857 
13858  def evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked=False):
13859  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"""
13860  return _IMP_atom._SwitchedLennardJonesTypedPairScore_evaluate_if_good_indexes(self, m, p, da, max, lower_bound, upper_bound, all_indexes_checked)
13861 
13862  def get_version_info(self):
13863  r"""get_version_info(_SwitchedLennardJonesTypedPairScore self) -> VersionInfo"""
13864  return _IMP_atom._SwitchedLennardJonesTypedPairScore_get_version_info(self)
13865  __swig_destroy__ = _IMP_atom.delete__SwitchedLennardJonesTypedPairScore
13866 
13867  @staticmethod
13868  def get_from(o):
13869  return _object_cast_to__SwitchedLennardJonesTypedPairScore(o)
13870 
13871 
13872  def _get_jax(self, m, indexes):
13873  import IMP.atom._jax_util
13874  score = IMP.atom._jax_util._get_lennard_jones_score(self, indexes)
13875  return self._wrap_jax(m, score, keys=[LennardJonesTyped.get_type_key()])
13876 
13877 
13878 # Register _SwitchedLennardJonesTypedPairScore in _IMP_atom:
13879 _IMP_atom._SwitchedLennardJonesTypedPairScore_swigregister(_SwitchedLennardJonesTypedPairScore)
13880 
13881 class LennardJonesTypedPairScore(_SwitchedLennardJonesTypedPairScore.__bases__[0]):
13882  def __init__(self, f):
13883  if isinstance(f, ForceSwitch):
13884  p = _SwitchedLennardJonesTypedPairScore(f)
13885  else:
13886  p = _LennardJonesTypedPairScore(f)
13887  self.__dict__['_proxied'] = p
13888  def __getattr__(self, key):
13889  return getattr(self._proxied, key)
13890  def __setattr__(self, key, val):
13891  return setattr(self._proxied, key, val)
13892 
13893  def _get_jax(self, *args, **kwargs):
13894  return self._proxied._get_jax(*args, **kwargs)
13895 
13896  @staticmethod
13897  def get_from(o):
13898  try:
13899  p = _SwitchedLennardJonesTypedPairScore.get_from(o)
13900  except ValueError:
13901  p = _LennardJonesTypedPairScore.get_from(o)
13902  obj = object.__new__(LennardJonesTypedPairScore)
13903  obj.__dict__['_proxied'] = p
13904  return obj
13905 
13906 
13907 def get_module_name():
13908  r"""get_module_name() -> std::string const"""
13909  return _IMP_atom.get_module_name()
13910 
13911 def get_module_version():
13912  r"""get_module_version() -> std::string const"""
13913  return _IMP_atom.get_module_version()
13914 
13915 def get_example_path(fname):
13916  r"""get_example_path(std::string fname) -> std::string"""
13917  return _IMP_atom.get_example_path(fname)
13918 
13919 def get_data_path(fname):
13920  r"""get_data_path(std::string fname) -> std::string"""
13921  return _IMP_atom.get_data_path(fname)
13922 
13923 from . import _version_check
13924 _version_check.check_version(get_module_version())
13925 __version__ = get_module_version()
13926 
13927 
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)
double get_radius_of_gyration(const Vector3Ds &ps)
Return the radius of gyration of a set of points.
Definition: Vector3D.h:76
Common base class for heavy weight IMP objects.
Definition: Object.h:111
Hierarchy create_protein(Model *m, std::string name, double target_radius, int number_of_residues, int first_residue_index=0, double volume=-1)
Create a coarse grained molecule.
Atoms get_psi_dihedral_atoms(Residue rd)
Return the atoms comprising the psi dihedral.
Abstract class for scoring object(s) of type ParticleIndex.
ParticlesTemp get_order(const Subset &s, const SubsetFilterTables &sft)
Bond create_bond(Bonded a, Bonded b, Int t)
Connect the two wrapped particles by a bond.
double get_rotational_diffusion_coefficient(const algebra::Rotation3Ds &orientations, double dt)
Base class for all optimizers.
Definition: Optimizer.h:48
double get_rmsd(const Vector3DsOrXYZs0 &m1, const Vector3DsOrXYZs1 &m2)
Hierarchy get_previous_residue(Residue rd)
Return the residue from the same chain with one lower index.
SecondaryStructureResidue setup_coarse_secondary_structure_residue(const Particles &ssr_ps, Model *mdl, bool winner_takes_all_per_res=false)
Coarsen some SecondaryStructureResidues.
double get_molarity(double n, double volume)
Definition: estimates.h:92
boost::graph HierarchyTree
A graph for representing a Hierarchy so you can view it nicely.
Hierarchy read_mol2(TextInput mol2_file, Model *model, Mol2Selector *mol2sel=nullptr)
Create a hierarchy from a Mol2 file.
A decorator for a particle with x,y,z coordinates.
Definition: XYZ.h:30
void add_loop_statistical_score_data(atom::Hierarchy h)
Restraint * create_internal_connectivity_restraint(const Selection &s, double k, std::string name="Connectivity%1%")
Create a restraint connecting the selection.
void write_mol2(Hierarchy rhd, TextOutput file_name)
Write a ligand hierarchy as a mol2 file.
Hierarchy read_pdb(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector(), bool select_first_model=true)
Read all the molecules in the first model of the PDB file.
int get_state_index(Hierarchy h)
Walk up the hierarchy to find the current state.
SecondaryStructureResidues setup_coarse_secondary_structure_residues(const Particles &ssr_ps, Model *mdl, int coarse_factor, int start_res_num, bool winner_takes_all_per_res=false)
void add_protein_ligand_score_data(Hierarchy h)
Interface to specialized Particle types (e.g. atoms)
Definition: Decorator.h:119
std::string get_molecule_name(Hierarchy h)
std::ostream & show(Hierarchy h, std::ostream &out=std::cout)
Print the hierarchy using a given decorator to display each node.
Vector< Atoms > get_chi_dihedral_atoms(Residue rd)
double get_pairwise_rmsd_score(const core::XYZs &ref1, const core::XYZs &ref2, const core::XYZs &mdl1, const core::XYZs &mdl2)
Measure the RMSD between two placements of the same set of points.
double get_force_in_femto_newtons(double force_in_kcal_per_mol_per_angstrom)
Convert force from kcal/mol/A to femtonewtons.
Basic functionality that is expected to be used by a wide variety of IMP users.
Abstract predicate function.
Definition: PairPredicate.h:31
General purpose algebraic and geometric methods that are expected to be used by a wide variety of IMP...
Hierarchies read_multimodel_pdb(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector())
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.
Residue get_residue(Atom d, bool nothrow=false)
Return the Residue containing this atom.
Shared optimizer state that is invoked upon commitment of new coordinates.
Hierarchy get_root(Hierarchy h)
Return the root of the hierarchy.
Abstract class to implement hierarchical methods.
Definition: Refiner.h:36
void add_dope_score_data(atom::Hierarchy h)
Bond get_bond(Bonded a, Bonded b)
Get the bond between two particles.
std::string show_graphviz(Graph g)
Restraint * create_distance_restraint(const Selection &n0, const Selection &n1, double x0, double k, std::string name="Distance%1%")
Representation get_representation(Hierarchy h, bool nothrow=false)
Return the Representation object containing this hierarchy.
FloatPair get_placement_score(const core::XYZs &source, const core::XYZs &target)
Measure the difference between two placements of the same set of points.
void write_multimodel_pdb(const Hierarchies &mhd, TextOutput out)
int get_copy_index(Hierarchy h)
Walk up the hierarchy to find the current copy index.
A decorator for helping deal with a generalized hierarchy.
double get_maximum_time_step_estimate(BrownianDynamics *bd)
double get_diffusion_coefficient(const algebra::Vector3Ds &displacements, double dt)
double get_surface_area(const Geometry &)
Compute the surface area of any volumetric object.
double get_resolution(Model *m, ParticleIndex pi)
Estimate the resolution of the hierarchy as used by Representation.
double get_rmsd_transforming_first(const Transformation3D &tr, const Vector3DsOrXYZs0 &m1, const Vector3DsOrXYZs1 &m2)
Calculate the root mean square deviation between two sets of 3D points.
Hierarchy create_simplified_assembly_from_volume(Hierarchy h, double resolution)
Output IMP model data in various file formats.
std::string get_chain_id(Hierarchy h)
Walk up the hierarchy to determine the chain id.
IMP::core::RigidBody create_rigid_body(const Hierarchies &h, std::string name=std::string("created rigid body"))
Rigidify a molecule or collection of molecules.
CHARMMParameters * get_all_atom_CHARMM_parameters()
Hierarchies get_leaves(const Selection &h)
double get_einstein_diffusion_coefficient(double r, double temp=-1)
double get_drmsd_Q(const Vector3DsOrXYZs0 &m0, const Vector3DsOrXYZs1 &m1, double threshold)
Definition: atom/distance.h:85
DensityMap * get_segment(DensityMap *map_to_segment, int nx_start, int nx_end, int ny_start, int ny_end, int nz_start, int nz_end)
Get a segment of the map according to xyz indexes.
Applies a PairScore to each Pair in a list.
Hierarchy get_next_residue(Residue rd)
Return the residue from the same chain with one higher index.
Restraint * create_connectivity_restraint(const Selections &s, double k, std::string name="Connectivity%1%")
Create a restraint connecting the selections.
void add_bonds(Hierarchy d, const ForceFieldParameters *ffp=get_all_atom_CHARMM_parameters())
Add bonds using definitions from given force field parameters.
void set_check_level(CheckLevel tf)
Control runtime checks in the code.
Definition: exception.h:72
double get_diffusion_length(double D, double t)
std::string get_module_version()
Return the version of this module, as a string.
A restraint is a term in an IMP ScoringFunction.
Definition: Restraint.h:56