IMP logo
IMP Reference Guide  2.19.0
The Integrative Modeling Platform
atom/__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.1.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-2023 IMP Inventors. All rights reserved.
10 
11 from __future__ import print_function, division, absolute_import
12 
13 
14 
15 from sys import version_info as _swig_python_version_info
16 import _IMP_atom
17 
18 try:
19  import builtins as __builtin__
20 except ImportError:
21  import __builtin__
22 
23 def _swig_repr(self):
24  try:
25  strthis = "proxy of " + self.this.__repr__()
26  except __builtin__.Exception:
27  strthis = ""
28  return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
29 
30 
31 def _swig_setattr_nondynamic_instance_variable(set):
32  def set_instance_attr(self, name, value):
33  if name == "this":
34  set(self, name, value)
35  elif name == "thisown":
36  self.this.own(value)
37  elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
38  set(self, name, value)
39  else:
40  raise AttributeError("You cannot add instance attributes to %s" % self)
41  return set_instance_attr
42 
43 
44 def _swig_setattr_nondynamic_class_variable(set):
45  def set_class_attr(cls, name, value):
46  if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
47  set(cls, name, value)
48  else:
49  raise AttributeError("You cannot add class attributes to %s" % cls)
50  return set_class_attr
51 
52 
53 def _swig_add_metaclass(metaclass):
54  """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
55  def wrapper(cls):
56  return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
57  return wrapper
58 
59 
60 class _SwigNonDynamicMeta(type):
61  """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
62  __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
63 
64 
65 import weakref
66 
67 class IMP_ATOM_SwigPyIterator(object):
68  r"""Proxy of C++ swig::IMP_ATOM_SwigPyIterator class."""
69 
70  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
71 
72  def __init__(self, *args, **kwargs):
73  raise AttributeError("No constructor defined - class is abstract")
74  __repr__ = _swig_repr
75  __swig_destroy__ = _IMP_atom.delete_IMP_ATOM_SwigPyIterator
76 
77  def value(self):
78  r"""value(IMP_ATOM_SwigPyIterator self) -> PyObject *"""
79  return _IMP_atom.IMP_ATOM_SwigPyIterator_value(self)
80 
81  def incr(self, n=1):
82  r"""incr(IMP_ATOM_SwigPyIterator self, size_t n=1) -> IMP_ATOM_SwigPyIterator"""
83  return _IMP_atom.IMP_ATOM_SwigPyIterator_incr(self, n)
84 
85  def decr(self, n=1):
86  r"""decr(IMP_ATOM_SwigPyIterator self, size_t n=1) -> IMP_ATOM_SwigPyIterator"""
87  return _IMP_atom.IMP_ATOM_SwigPyIterator_decr(self, n)
88 
89  def distance(self, x):
90  r"""distance(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> ptrdiff_t"""
91  return _IMP_atom.IMP_ATOM_SwigPyIterator_distance(self, x)
92 
93  def equal(self, x):
94  r"""equal(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> bool"""
95  return _IMP_atom.IMP_ATOM_SwigPyIterator_equal(self, x)
96 
97  def copy(self):
98  r"""copy(IMP_ATOM_SwigPyIterator self) -> IMP_ATOM_SwigPyIterator"""
99  return _IMP_atom.IMP_ATOM_SwigPyIterator_copy(self)
100 
101  def next(self):
102  r"""next(IMP_ATOM_SwigPyIterator self) -> PyObject *"""
103  return _IMP_atom.IMP_ATOM_SwigPyIterator_next(self)
104 
105  def __next__(self):
106  r"""__next__(IMP_ATOM_SwigPyIterator self) -> PyObject *"""
107  return _IMP_atom.IMP_ATOM_SwigPyIterator___next__(self)
108 
109  def previous(self):
110  r"""previous(IMP_ATOM_SwigPyIterator self) -> PyObject *"""
111  return _IMP_atom.IMP_ATOM_SwigPyIterator_previous(self)
112 
113  def advance(self, n):
114  r"""advance(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator"""
115  return _IMP_atom.IMP_ATOM_SwigPyIterator_advance(self, n)
116 
117  def __eq__(self, x):
118  r"""__eq__(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> bool"""
119  return _IMP_atom.IMP_ATOM_SwigPyIterator___eq__(self, x)
120 
121  def __ne__(self, x):
122  r"""__ne__(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> bool"""
123  return _IMP_atom.IMP_ATOM_SwigPyIterator___ne__(self, x)
124 
125  def __iadd__(self, n):
126  r"""__iadd__(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator"""
127  return _IMP_atom.IMP_ATOM_SwigPyIterator___iadd__(self, n)
128 
129  def __isub__(self, n):
130  r"""__isub__(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator"""
131  return _IMP_atom.IMP_ATOM_SwigPyIterator___isub__(self, n)
132 
133  def __add__(self, n):
134  r"""__add__(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator"""
135  return _IMP_atom.IMP_ATOM_SwigPyIterator___add__(self, n)
136 
137  def __sub__(self, *args):
138  r"""
139  __sub__(IMP_ATOM_SwigPyIterator self, ptrdiff_t n) -> IMP_ATOM_SwigPyIterator
140  __sub__(IMP_ATOM_SwigPyIterator self, IMP_ATOM_SwigPyIterator x) -> ptrdiff_t
141  """
142  return _IMP_atom.IMP_ATOM_SwigPyIterator___sub__(self, *args)
143  def __iter__(self):
144  return self
145 
146 # Register IMP_ATOM_SwigPyIterator in _IMP_atom:
147 _IMP_atom.IMP_ATOM_SwigPyIterator_swigregister(IMP_ATOM_SwigPyIterator)
148 
149 _value_types=[]
150 _object_types=[]
151 _raii_types=[]
152 _plural_types=[]
153 
154 IMP_DEBUG = _IMP_atom.IMP_DEBUG
155 
156 IMP_RELEASE = _IMP_atom.IMP_RELEASE
157 
158 IMP_SILENT = _IMP_atom.IMP_SILENT
159 
160 IMP_PROGRESS = _IMP_atom.IMP_PROGRESS
161 
162 IMP_TERSE = _IMP_atom.IMP_TERSE
163 
164 IMP_VERBOSE = _IMP_atom.IMP_VERBOSE
165 
166 IMP_MEMORY = _IMP_atom.IMP_MEMORY
167 
168 IMP_NONE = _IMP_atom.IMP_NONE
169 
170 IMP_USAGE = _IMP_atom.IMP_USAGE
171 
172 IMP_INTERNAL = _IMP_atom.IMP_INTERNAL
173 
174 IMP_KERNEL_HAS_LOG4CXX = _IMP_atom.IMP_KERNEL_HAS_LOG4CXX
175 
176 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_atom.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
177 
178 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_atom.IMP_COMPILER_HAS_DEBUG_VECTOR
179 
180 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_atom.IMP_COMPILER_HAS_RANDOM_SHUFFLE
181 
182 IMP_COMPILER_HAS_THREE_WAY = _IMP_atom.IMP_COMPILER_HAS_THREE_WAY
183 
184 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_atom.IMP_KERNEL_HAS_BOOST_RANDOM
185 
186 IMP_KERNEL_HAS_NUMPY = _IMP_atom.IMP_KERNEL_HAS_NUMPY
187 
188 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_atom.IMP_KERNEL_HAS_GPERFTOOLS
189 
190 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_atom.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
191 
192 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_atom.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
193 
194 IMPKERNEL_SHOW_WARNINGS = _IMP_atom.IMPKERNEL_SHOW_WARNINGS
195 
196 
197 import sys
198 class _DirectorObjects(object):
199  """@internal Simple class to keep references to director objects
200  to prevent premature deletion."""
201  def __init__(self):
202  self._objects = []
203  def register(self, obj):
204  """Take a reference to a director object; will only work for
205  refcounted C++ classes"""
206  if hasattr(obj, 'get_ref_count'):
207  self._objects.append(obj)
208  def cleanup(self):
209  """Only drop our reference and allow cleanup by Python if no other
210  Python references exist (we hold 3 references: one in self._objects,
211  one in x, and one in the argument list for getrefcount) *and* no
212  other C++ references exist (the Python object always holds one)"""
213  objs = [x for x in self._objects if sys.getrefcount(x) > 3 \
214  or x.get_ref_count() > 1]
215 # Do in two steps so the references are kept until the end of the
216 # function (deleting references may trigger a fresh call to this method)
217  self._objects = objs
218  def get_object_count(self):
219  """Get number of director objects (useful for testing only)"""
220  return len(self._objects)
221 _director_objects = _DirectorObjects()
222 
223 class _ostream(object):
224  r"""Proxy of C++ std::ostream class."""
225 
226  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
227 
228  def __init__(self, *args, **kwargs):
229  raise AttributeError("No constructor defined")
230  __repr__ = _swig_repr
231 
232  def write(self, osa_buf):
233  r"""write(_ostream self, char const * osa_buf)"""
234  return _IMP_atom._ostream_write(self, osa_buf)
235 
236 # Register _ostream in _IMP_atom:
237 _IMP_atom._ostream_swigregister(_ostream)
238 IMP_C_OPEN_BINARY = _IMP_atom.IMP_C_OPEN_BINARY
239 
240 import IMP
241 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_CGAL_HAS_BOOST_FILESYSTEM
242 
243 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
244 
245 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_atom.IMP_CGAL_HAS_BOOST_RANDOM
246 
247 IMP_CGAL_HAS_BOOST_SYSTEM = _IMP_atom.IMP_CGAL_HAS_BOOST_SYSTEM
248 
249 IMP_CGAL_HAS_NUMPY = _IMP_atom.IMP_CGAL_HAS_NUMPY
250 
251 IMPCGAL_SHOW_WARNINGS = _IMP_atom.IMPCGAL_SHOW_WARNINGS
252 
253 import IMP.cgal
254 IMP_ALGEBRA_HAS_IMP_CGAL = _IMP_atom.IMP_ALGEBRA_HAS_IMP_CGAL
255 
256 IMP_ALGEBRA_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_ALGEBRA_HAS_BOOST_FILESYSTEM
257 
258 IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS
259 
260 IMP_ALGEBRA_HAS_BOOST_RANDOM = _IMP_atom.IMP_ALGEBRA_HAS_BOOST_RANDOM
261 
262 IMP_ALGEBRA_HAS_BOOST_SYSTEM = _IMP_atom.IMP_ALGEBRA_HAS_BOOST_SYSTEM
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_BOOST_SYSTEM = _IMP_atom.IMP_DISPLAY_HAS_BOOST_SYSTEM
282 
283 IMP_DISPLAY_HAS_CGAL = _IMP_atom.IMP_DISPLAY_HAS_CGAL
284 
285 IMP_DISPLAY_HAS_NUMPY = _IMP_atom.IMP_DISPLAY_HAS_NUMPY
286 
287 IMPDISPLAY_SHOW_WARNINGS = _IMP_atom.IMPDISPLAY_SHOW_WARNINGS
288 
289 import IMP.display
290 IMP_SCORE_FUNCTOR_HAS_IMP_CGAL = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_IMP_CGAL
291 
292 IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_BOOST_FILESYSTEM
293 
294 IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_BOOST_PROGRAMOPTIONS
295 
296 IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_BOOST_RANDOM
297 
298 IMP_SCORE_FUNCTOR_HAS_BOOST_SYSTEM = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_BOOST_SYSTEM
299 
300 IMP_SCORE_FUNCTOR_HAS_CGAL = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_CGAL
301 
302 IMP_SCORE_FUNCTOR_HAS_HDF5 = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_HDF5
303 
304 IMP_SCORE_FUNCTOR_HAS_NUMPY = _IMP_atom.IMP_SCORE_FUNCTOR_HAS_NUMPY
305 
306 IMPSCOREFUNCTOR_SHOW_WARNINGS = _IMP_atom.IMPSCOREFUNCTOR_SHOW_WARNINGS
307 
308 import IMP.score_functor
309 IMP_CORE_HAS_IMP_CGAL = _IMP_atom.IMP_CORE_HAS_IMP_CGAL
310 
311 IMP_CORE_HAS_IMP_KERNEL = _IMP_atom.IMP_CORE_HAS_IMP_KERNEL
312 
313 IMP_CORE_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_CORE_HAS_BOOST_FILESYSTEM
314 
315 IMP_CORE_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_CORE_HAS_BOOST_PROGRAMOPTIONS
316 
317 IMP_CORE_HAS_BOOST_RANDOM = _IMP_atom.IMP_CORE_HAS_BOOST_RANDOM
318 
319 IMP_CORE_HAS_BOOST_SYSTEM = _IMP_atom.IMP_CORE_HAS_BOOST_SYSTEM
320 
321 IMP_CORE_HAS_CGAL = _IMP_atom.IMP_CORE_HAS_CGAL
322 
323 IMP_CORE_HAS_HDF5 = _IMP_atom.IMP_CORE_HAS_HDF5
324 
325 IMP_CORE_HAS_NUMPY = _IMP_atom.IMP_CORE_HAS_NUMPY
326 
327 IMPCORE_SHOW_WARNINGS = _IMP_atom.IMPCORE_SHOW_WARNINGS
328 
329 import IMP.core
330 IMP_CONTAINER_HAS_IMP_ALGEBRA = _IMP_atom.IMP_CONTAINER_HAS_IMP_ALGEBRA
331 
332 IMP_CONTAINER_HAS_IMP_CGAL = _IMP_atom.IMP_CONTAINER_HAS_IMP_CGAL
333 
334 IMP_CONTAINER_HAS_IMP_DISPLAY = _IMP_atom.IMP_CONTAINER_HAS_IMP_DISPLAY
335 
336 IMP_CONTAINER_HAS_IMP_KERNEL = _IMP_atom.IMP_CONTAINER_HAS_IMP_KERNEL
337 
338 IMP_CONTAINER_HAS_IMP_SCORE_FUNCTOR = _IMP_atom.IMP_CONTAINER_HAS_IMP_SCORE_FUNCTOR
339 
340 IMP_CONTAINER_HAS_BOOST_FILESYSTEM = _IMP_atom.IMP_CONTAINER_HAS_BOOST_FILESYSTEM
341 
342 IMP_CONTAINER_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_CONTAINER_HAS_BOOST_PROGRAMOPTIONS
343 
344 IMP_CONTAINER_HAS_BOOST_RANDOM = _IMP_atom.IMP_CONTAINER_HAS_BOOST_RANDOM
345 
346 IMP_CONTAINER_HAS_BOOST_SYSTEM = _IMP_atom.IMP_CONTAINER_HAS_BOOST_SYSTEM
347 
348 IMP_CONTAINER_HAS_CGAL = _IMP_atom.IMP_CONTAINER_HAS_CGAL
349 
350 IMP_CONTAINER_HAS_HDF5 = _IMP_atom.IMP_CONTAINER_HAS_HDF5
351 
352 IMP_CONTAINER_HAS_NUMPY = _IMP_atom.IMP_CONTAINER_HAS_NUMPY
353 
354 IMP_CONTAINER_HAS_PYTHON_IHM = _IMP_atom.IMP_CONTAINER_HAS_PYTHON_IHM
355 
356 IMP_CONTAINER_HAS_GOOGLE_DENSE_HASH_MAP = _IMP_atom.IMP_CONTAINER_HAS_GOOGLE_DENSE_HASH_MAP
357 
358 IMP_CONTAINER_HAS_ROBIN_MAP = _IMP_atom.IMP_CONTAINER_HAS_ROBIN_MAP
359 
360 IMPCONTAINER_SHOW_WARNINGS = _IMP_atom.IMPCONTAINER_SHOW_WARNINGS
361 
362 import IMP.container
363 IMP_ATOM_HAS_IMP_CGAL = _IMP_atom.IMP_ATOM_HAS_IMP_CGAL
364 
365 IMP_ATOM_HAS_IMP_KERNEL = _IMP_atom.IMP_ATOM_HAS_IMP_KERNEL
366 
367 IMP_ATOM_HAS_IMP_SCORE_FUNCTOR = _IMP_atom.IMP_ATOM_HAS_IMP_SCORE_FUNCTOR
368 
369 IMP_ATOM_HAS_BOOST_PROGRAMOPTIONS = _IMP_atom.IMP_ATOM_HAS_BOOST_PROGRAMOPTIONS
370 
371 IMP_ATOM_HAS_BOOST_RANDOM = _IMP_atom.IMP_ATOM_HAS_BOOST_RANDOM
372 
373 IMP_ATOM_HAS_BOOST_REGEX = _IMP_atom.IMP_ATOM_HAS_BOOST_REGEX
374 
375 IMP_ATOM_HAS_BOOST_SYSTEM = _IMP_atom.IMP_ATOM_HAS_BOOST_SYSTEM
376 
377 IMP_ATOM_HAS_CGAL = _IMP_atom.IMP_ATOM_HAS_CGAL
378 
379 IMP_ATOM_HAS_HDF5 = _IMP_atom.IMP_ATOM_HAS_HDF5
380 
381 IMP_ATOM_HAS_NUMPY = _IMP_atom.IMP_ATOM_HAS_NUMPY
382 
383 IMP_ATOM_HAS_PYTHON_IHM = _IMP_atom.IMP_ATOM_HAS_PYTHON_IHM
384 
385 IMPATOM_SHOW_WARNINGS = _IMP_atom.IMPATOM_SHOW_WARNINGS
386 
387 IMP_ATOM_TYPE_INDEX = _IMP_atom.IMP_ATOM_TYPE_INDEX
388 
389 IMP_RESIDUE_TYPE_INDEX = _IMP_atom.IMP_RESIDUE_TYPE_INDEX
390 
391 IMP_HIERARCHY_TYPE_INDEX = _IMP_atom.IMP_HIERARCHY_TYPE_INDEX
392 
393 IMP_CHAIN_TYPE_INDEX = _IMP_atom.IMP_CHAIN_TYPE_INDEX
394 
396  r"""Proxy of C++ IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex > class."""
397 
398  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
399  __repr__ = _swig_repr
400 
401  def __init__(self):
402  r"""__init__(HierarchyTree self) -> HierarchyTree"""
403  _IMP_atom.HierarchyTree_swiginit(self, _IMP_atom.new_HierarchyTree())
404 
405  def get_graph(self):
406  r"""get_graph(HierarchyTree self) -> IMP::atom::HierarchyTree const &"""
407  return _IMP_atom.HierarchyTree_get_graph(self)
408 
409  def get_vertices(self):
410  r"""get_vertices(HierarchyTree self) -> IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptors"""
411  return _IMP_atom.HierarchyTree_get_vertices(self)
412 
413  def get_vertex_name(self, i):
414  r"""get_vertex_name(HierarchyTree self, IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptor i) -> Hierarchy"""
415  return _IMP_atom.HierarchyTree_get_vertex_name(self, i)
416 
417  def get_in_neighbors(self, v):
418  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"""
419  return _IMP_atom.HierarchyTree_get_in_neighbors(self, v)
420 
421  def get_out_neighbors(self, v):
422  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"""
423  return _IMP_atom.HierarchyTree_get_out_neighbors(self, v)
424 
425  def show_graphviz(self, *args):
426  r"""show_graphviz(HierarchyTree self, _ostream out=std::cout)"""
427  return _IMP_atom.HierarchyTree_show_graphviz(self, *args)
428 
429  def get_graphviz_string(self):
430  r"""get_graphviz_string(HierarchyTree self) -> std::string"""
431  return _IMP_atom.HierarchyTree_get_graphviz_string(self)
432 
433  def add_edge(self, v0, v1):
434  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)"""
435  return _IMP_atom.HierarchyTree_add_edge(self, v0, v1)
436 
437  def add_vertex(self, l):
438  r"""add_vertex(HierarchyTree self, Hierarchy l) -> IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptor"""
439  return _IMP_atom.HierarchyTree_add_vertex(self, l)
440 
441  def remove_vertex(self, l):
442  r"""remove_vertex(HierarchyTree self, IMP::internal::BoostDigraph< IMP::atom::HierarchyTree,IMP::atom::Hierarchy,IMP::atom::ShowHierarchyTreeVertex >::VertexDescriptor l)"""
443  return _IMP_atom.HierarchyTree_remove_vertex(self, l)
444  __swig_destroy__ = _IMP_atom.delete_HierarchyTree
445 
446 # Register HierarchyTree in _IMP_atom:
447 _IMP_atom.HierarchyTree_swigregister(HierarchyTree)
448 
449 _value_types.append("HierarchyTree")
450 
451 
452 _object_types.append("PDBSelector")
453 
454 
455 def _object_cast_to_PDBSelector(o):
456  r"""_object_cast_to_PDBSelector(Object o) -> PDBSelector"""
457  return _IMP_atom._object_cast_to_PDBSelector(o)
458 
459 def Angles(l=[]):
460  return [Angle(x) for x in l]
461 _plural_types.append("Angles")
462 
463 
464 _value_types.append("Angle")
465 
466 
467 def Atoms(l=[]):
468  return [Atom(x) for x in l]
469 _plural_types.append("Atoms")
470 
471 
472 _value_types.append("Atom")
473 
474 
475 def Bonds(l=[]):
476  return [Bond(x) for x in l]
477 _plural_types.append("Bonds")
478 
479 
480 _value_types.append("Bond")
481 
482 
483 def Bondeds(l=[]):
484  return [Bonded(x) for x in l]
485 _plural_types.append("Bondeds")
486 
487 
488 _value_types.append("Bonded")
489 
490 
491 def CHARMMAtomList(l=[]):
492  return [CHARMMAtom(x) for x in l]
493 _plural_types.append("CHARMMAtomList")
494 
495 
496 _value_types.append("CHARMMAtom")
497 
498 
499 def Chains(l=[]):
500  return [Chain(x) for x in l]
501 _plural_types.append("Chains")
502 
503 
504 _value_types.append("Chain")
505 
506 
507 def CenterOfMasses(l=[]):
508  return [CenterOfMass(x) for x in l]
509 _plural_types.append("CenterOfMasses")
510 
511 
512 _value_types.append("CenterOfMass")
513 
514 
515 def Chargeds(l=[]):
516  return [Charged(x) for x in l]
517 _plural_types.append("Chargeds")
518 
519 
520 _value_types.append("Charged")
521 
522 
523 def Diffusions(l=[]):
524  return [Diffusion(x) for x in l]
525 _plural_types.append("Diffusions")
526 
527 
528 _value_types.append("Diffusion")
529 
530 
531 def RigidBodyDiffusions(l=[]):
532  return [RigidBodyDiffusion(x) for x in l]
533 _plural_types.append("RigidBodyDiffusions")
534 
535 
536 _value_types.append("RigidBodyDiffusion")
537 
538 
539 def TAMDParticles(l=[]):
540  return [TAMDParticle(x) for x in l]
541 _plural_types.append("TAMDParticles")
542 
543 
544 _value_types.append("TAMDParticle")
545 
546 
547 def TAMDCentroids(l=[]):
548  return [TAMDCentroid(x) for x in l]
549 _plural_types.append("TAMDCentroids")
550 
551 
552 _value_types.append("TAMDCentroid")
553 
554 
555 def Dihedrals(l=[]):
556  return [Dihedral(x) for x in l]
557 _plural_types.append("Dihedrals")
558 
559 
560 _value_types.append("Dihedral")
561 
562 
563 def Domains(l=[]):
564  return [Domain(x) for x in l]
565 _plural_types.append("Domains")
566 
567 
568 _value_types.append("Domain")
569 
570 
571 def Fragments(l=[]):
572  return [Fragment(x) for x in l]
573 _plural_types.append("Fragments")
574 
575 
576 _value_types.append("Fragment")
577 
578 
579 def Hierarchies(l=[]):
580  return [Hierarchy(x) for x in l]
581 _plural_types.append("Hierarchies")
582 
583 
584 _value_types.append("Hierarchy")
585 
586 
587 def LennardJonesList(l=[]):
588  return [LennardJones(x) for x in l]
589 _plural_types.append("LennardJonesList")
590 
591 
592 _value_types.append("LennardJones")
593 
594 
595 def Masses(l=[]):
596  return [Mass(x) for x in l]
597 _plural_types.append("Masses")
598 
599 
600 _value_types.append("Mass")
601 
602 
603 def LinearVelocities(l=[]):
604  return [LinearVelocity(x) for x in l]
605 _plural_types.append("LinearVelocities")
606 
607 
608 _value_types.append("LinearVelocity")
609 
610 
611 def AngularVelocities(l=[]):
612  return [AngularVelocity(x) for x in l]
613 _plural_types.append("AngularVelocities")
614 
615 
616 _value_types.append("AngularVelocity")
617 
618 
619 def Molecules(l=[]):
620  return [Molecule(x) for x in l]
621 _plural_types.append("Molecules")
622 
623 
624 _value_types.append("Molecule")
625 
626 
627 def Residues(l=[]):
628  return [Residue(x) for x in l]
629 _plural_types.append("Residues")
630 
631 
632 _value_types.append("Residue")
633 
634 
635 def Representations(l=[]):
636  return [Representation(x) for x in l]
637 _plural_types.append("Representations")
638 
639 
640 _value_types.append("Representation")
641 
642 
643 def States(l=[]):
644  return [State(x) for x in l]
645 _plural_types.append("States")
646 
647 
648 _value_types.append("State")
649 
650 
651 def Copies(l=[]):
652  return [Copy(x) for x in l]
653 _plural_types.append("Copies")
654 
655 
656 _value_types.append("Copy")
657 
658 
659 def SecondaryStructureResidues(l=[]):
660  return [SecondaryStructureResidue(x) for x in l]
661 _plural_types.append("SecondaryStructureResidues")
662 
663 
664 _value_types.append("SecondaryStructureResidue")
665 
666 
667 def StructureSources(l=[]):
668  return [StructureSource(x) for x in l]
669 _plural_types.append("StructureSources")
670 
671 
672 _value_types.append("StructureSource")
673 
674 
675 _object_types.append("Simulator")
676 
677 
678 def _object_cast_to_Simulator(o):
679  r"""_object_cast_to_Simulator(Object o) -> Simulator"""
680  return _IMP_atom._object_cast_to_Simulator(o)
681 
682 _object_types.append("ATOMPDBSelector")
683 
684 
685 def _object_cast_to_ATOMPDBSelector(o):
686  r"""_object_cast_to_ATOMPDBSelector(Object o) -> ATOMPDBSelector"""
687  return _IMP_atom._object_cast_to_ATOMPDBSelector(o)
688 
689 _object_types.append("AllMol2Selector")
690 
691 
692 def _object_cast_to_AllMol2Selector(o):
693  r"""_object_cast_to_AllMol2Selector(Object o) -> AllMol2Selector"""
694  return _IMP_atom._object_cast_to_AllMol2Selector(o)
695 
696 _object_types.append("AllPDBSelector")
697 
698 
699 def _object_cast_to_AllPDBSelector(o):
700  r"""_object_cast_to_AllPDBSelector(Object o) -> AllPDBSelector"""
701  return _IMP_atom._object_cast_to_AllPDBSelector(o)
702 
703 _object_types.append("AndPDBSelector")
704 
705 
706 def _object_cast_to_AndPDBSelector(o):
707  r"""_object_cast_to_AndPDBSelector(Object o) -> AndPDBSelector"""
708  return _IMP_atom._object_cast_to_AndPDBSelector(o)
709 
710 _object_types.append("XorPDBSelector")
711 
712 
713 def _object_cast_to_XorPDBSelector(o):
714  r"""_object_cast_to_XorPDBSelector(Object o) -> XorPDBSelector"""
715  return _IMP_atom._object_cast_to_XorPDBSelector(o)
716 
717 _object_types.append("ResidueTypePDBSelector")
718 
719 
720 def _object_cast_to_ResidueTypePDBSelector(o):
721  r"""_object_cast_to_ResidueTypePDBSelector(Object o) -> ResidueTypePDBSelector"""
722  return _IMP_atom._object_cast_to_ResidueTypePDBSelector(o)
723 
724 _object_types.append("AtomTypePDBSelector")
725 
726 
727 def _object_cast_to_AtomTypePDBSelector(o):
728  r"""_object_cast_to_AtomTypePDBSelector(Object o) -> AtomTypePDBSelector"""
729  return _IMP_atom._object_cast_to_AtomTypePDBSelector(o)
730 
731 _object_types.append("AngleSingletonScore")
732 
733 
734 def _object_cast_to_AngleSingletonScore(o):
735  r"""_object_cast_to_AngleSingletonScore(Object o) -> AngleSingletonScore"""
736  return _IMP_atom._object_cast_to_AngleSingletonScore(o)
737 
738 _object_types.append("BondEndpointsRefiner")
739 
740 
741 def _object_cast_to_BondEndpointsRefiner(o):
742  r"""_object_cast_to_BondEndpointsRefiner(Object o) -> BondEndpointsRefiner"""
743  return _IMP_atom._object_cast_to_BondEndpointsRefiner(o)
744 
745 _object_types.append("BondPairContainer")
746 
747 
748 def _object_cast_to_BondPairContainer(o):
749  r"""_object_cast_to_BondPairContainer(Object o) -> BondPairContainer"""
750  return _IMP_atom._object_cast_to_BondPairContainer(o)
751 
752 _object_types.append("BondSingletonScore")
753 
754 
755 def _object_cast_to_BondSingletonScore(o):
756  r"""_object_cast_to_BondSingletonScore(Object o) -> BondSingletonScore"""
757  return _IMP_atom._object_cast_to_BondSingletonScore(o)
758 
759 _object_types.append("BondedPairFilter")
760 
761 
762 def _object_cast_to_BondedPairFilter(o):
763  r"""_object_cast_to_BondedPairFilter(Object o) -> BondedPairFilter"""
764  return _IMP_atom._object_cast_to_BondedPairFilter(o)
765 
766 _object_types.append("BrownianDynamics")
767 
768 
769 def _object_cast_to_BrownianDynamics(o):
770  r"""_object_cast_to_BrownianDynamics(Object o) -> BrownianDynamics"""
771  return _IMP_atom._object_cast_to_BrownianDynamics(o)
772 
773 _object_types.append("BrownianDynamicsTAMD")
774 
775 
776 def _object_cast_to_BrownianDynamicsTAMD(o):
777  r"""_object_cast_to_BrownianDynamicsTAMD(Object o) -> BrownianDynamicsTAMD"""
778  return _IMP_atom._object_cast_to_BrownianDynamicsTAMD(o)
779 
780 _object_types.append("CAlphaPDBSelector")
781 
782 
783 def _object_cast_to_CAlphaPDBSelector(o):
784  r"""_object_cast_to_CAlphaPDBSelector(Object o) -> CAlphaPDBSelector"""
785  return _IMP_atom._object_cast_to_CAlphaPDBSelector(o)
786 
787 _object_types.append("CBetaPDBSelector")
788 
789 
790 def _object_cast_to_CBetaPDBSelector(o):
791  r"""_object_cast_to_CBetaPDBSelector(Object o) -> CBetaPDBSelector"""
792  return _IMP_atom._object_cast_to_CBetaPDBSelector(o)
793 
794 _object_types.append("BackbonePDBSelector")
795 
796 
797 def _object_cast_to_BackbonePDBSelector(o):
798  r"""_object_cast_to_BackbonePDBSelector(Object o) -> BackbonePDBSelector"""
799  return _IMP_atom._object_cast_to_BackbonePDBSelector(o)
800 
801 _object_types.append("CHARMMParameters")
802 
803 
804 def _object_cast_to_CHARMMParameters(o):
805  r"""_object_cast_to_CHARMMParameters(Object o) -> CHARMMParameters"""
806  return _IMP_atom._object_cast_to_CHARMMParameters(o)
807 
808 _object_types.append("CHARMMResidueTopology")
809 
810 
811 def _object_cast_to_CHARMMResidueTopology(o):
812  r"""_object_cast_to_CHARMMResidueTopology(Object o) -> CHARMMResidueTopology"""
813  return _IMP_atom._object_cast_to_CHARMMResidueTopology(o)
814 
815 _object_types.append("CHARMMSegmentTopology")
816 
817 
818 def _object_cast_to_CHARMMSegmentTopology(o):
819  r"""_object_cast_to_CHARMMSegmentTopology(Object o) -> CHARMMSegmentTopology"""
820  return _IMP_atom._object_cast_to_CHARMMSegmentTopology(o)
821 
822 _object_types.append("CHARMMStereochemistryRestraint")
823 
824 
825 def _object_cast_to_CHARMMStereochemistryRestraint(o):
826  r"""_object_cast_to_CHARMMStereochemistryRestraint(Object o) -> CHARMMStereochemistryRestraint"""
827  return _IMP_atom._object_cast_to_CHARMMStereochemistryRestraint(o)
828 
829 _object_types.append("CHARMMTopology")
830 
831 
832 def _object_cast_to_CHARMMTopology(o):
833  r"""_object_cast_to_CHARMMTopology(Object o) -> CHARMMTopology"""
834  return _IMP_atom._object_cast_to_CHARMMTopology(o)
835 
836 _object_types.append("CPDBSelector")
837 
838 
839 def _object_cast_to_CPDBSelector(o):
840  r"""_object_cast_to_CPDBSelector(Object o) -> CPDBSelector"""
841  return _IMP_atom._object_cast_to_CPDBSelector(o)
842 
843 _object_types.append("ChainPDBSelector")
844 
845 
846 def _object_cast_to_ChainPDBSelector(o):
847  r"""_object_cast_to_ChainPDBSelector(Object o) -> ChainPDBSelector"""
848  return _IMP_atom._object_cast_to_ChainPDBSelector(o)
849 
850 _object_types.append("CoulombPairScore")
851 
852 
853 def _object_cast_to_CoulombPairScore(o):
854  r"""_object_cast_to_CoulombPairScore(Object o) -> CoulombPairScore"""
855  return _IMP_atom._object_cast_to_CoulombPairScore(o)
856 
857 _object_types.append("CoverBond")
858 
859 
860 def _object_cast_to_CoverBond(o):
861  r"""_object_cast_to_CoverBond(Object o) -> CoverBond"""
862  return _IMP_atom._object_cast_to_CoverBond(o)
863 
864 _object_types.append("DihedralSingletonScore")
865 
866 
867 def _object_cast_to_DihedralSingletonScore(o):
868  r"""_object_cast_to_DihedralSingletonScore(Object o) -> DihedralSingletonScore"""
869  return _IMP_atom._object_cast_to_DihedralSingletonScore(o)
870 
871 _object_types.append("DopePairScore")
872 
873 
874 def _object_cast_to_DopePairScore(o):
875  r"""_object_cast_to_DopePairScore(Object o) -> DopePairScore"""
876  return _IMP_atom._object_cast_to_DopePairScore(o)
877 
878 _object_types.append("LoopStatisticalPairScore")
879 
880 
881 def _object_cast_to_LoopStatisticalPairScore(o):
882  r"""_object_cast_to_LoopStatisticalPairScore(Object o) -> LoopStatisticalPairScore"""
883  return _IMP_atom._object_cast_to_LoopStatisticalPairScore(o)
884 
885 _object_types.append("OrientedSoapPairScore")
886 
887 
888 def _object_cast_to_OrientedSoapPairScore(o):
889  r"""_object_cast_to_OrientedSoapPairScore(Object o) -> OrientedSoapPairScore"""
890  return _IMP_atom._object_cast_to_OrientedSoapPairScore(o)
891 
892 _object_types.append("EzRestraint")
893 
894 
895 def _object_cast_to_EzRestraint(o):
896  r"""_object_cast_to_EzRestraint(Object o) -> EzRestraint"""
897  return _IMP_atom._object_cast_to_EzRestraint(o)
898 
899 _object_types.append("ForceFieldParameters")
900 
901 
902 def _object_cast_to_ForceFieldParameters(o):
903  r"""_object_cast_to_ForceFieldParameters(Object o) -> ForceFieldParameters"""
904  return _IMP_atom._object_cast_to_ForceFieldParameters(o)
905 
906 _object_types.append("ForceSwitch")
907 
908 
909 def _object_cast_to_ForceSwitch(o):
910  r"""_object_cast_to_ForceSwitch(Object o) -> ForceSwitch"""
911  return _IMP_atom._object_cast_to_ForceSwitch(o)
912 
913 _object_types.append("HydrogenPDBSelector")
914 
915 
916 def _object_cast_to_HydrogenPDBSelector(o):
917  r"""_object_cast_to_HydrogenPDBSelector(Object o) -> HydrogenPDBSelector"""
918  return _IMP_atom._object_cast_to_HydrogenPDBSelector(o)
919 
920 _object_types.append("ImproperSingletonScore")
921 
922 
923 def _object_cast_to_ImproperSingletonScore(o):
924  r"""_object_cast_to_ImproperSingletonScore(Object o) -> ImproperSingletonScore"""
925  return _IMP_atom._object_cast_to_ImproperSingletonScore(o)
926 
927 _object_types.append("LennardJonesPairScore")
928 
929 
930 def _object_cast_to_LennardJonesPairScore(o):
931  r"""_object_cast_to_LennardJonesPairScore(Object o) -> LennardJonesPairScore"""
932  return _IMP_atom._object_cast_to_LennardJonesPairScore(o)
933 
934 _object_types.append("Mol2Selector")
935 
936 
937 def _object_cast_to_Mol2Selector(o):
938  r"""_object_cast_to_Mol2Selector(Object o) -> Mol2Selector"""
939  return _IMP_atom._object_cast_to_Mol2Selector(o)
940 
941 _object_types.append("MolecularDynamics")
942 
943 
944 def _object_cast_to_MolecularDynamics(o):
945  r"""_object_cast_to_MolecularDynamics(Object o) -> MolecularDynamics"""
946  return _IMP_atom._object_cast_to_MolecularDynamics(o)
947 
948 _object_types.append("NPDBSelector")
949 
950 
951 def _object_cast_to_NPDBSelector(o):
952  r"""_object_cast_to_NPDBSelector(Object o) -> NPDBSelector"""
953  return _IMP_atom._object_cast_to_NPDBSelector(o)
954 
955 _object_types.append("NonAlternativePDBSelector")
956 
957 
958 def _object_cast_to_NonAlternativePDBSelector(o):
959  r"""_object_cast_to_NonAlternativePDBSelector(Object o) -> NonAlternativePDBSelector"""
960  return _IMP_atom._object_cast_to_NonAlternativePDBSelector(o)
961 
962 _object_types.append("NonHydrogenMol2Selector")
963 
964 
965 def _object_cast_to_NonHydrogenMol2Selector(o):
966  r"""_object_cast_to_NonHydrogenMol2Selector(Object o) -> NonHydrogenMol2Selector"""
967  return _IMP_atom._object_cast_to_NonHydrogenMol2Selector(o)
968 
969 _object_types.append("NonHydrogenPDBSelector")
970 
971 
972 def _object_cast_to_NonHydrogenPDBSelector(o):
973  r"""_object_cast_to_NonHydrogenPDBSelector(Object o) -> NonHydrogenPDBSelector"""
974  return _IMP_atom._object_cast_to_NonHydrogenPDBSelector(o)
975 
976 _object_types.append("NonWaterNonHydrogenPDBSelector")
977 
978 
979 def _object_cast_to_NonWaterNonHydrogenPDBSelector(o):
980  r"""_object_cast_to_NonWaterNonHydrogenPDBSelector(Object o) -> NonWaterNonHydrogenPDBSelector"""
981  return _IMP_atom._object_cast_to_NonWaterNonHydrogenPDBSelector(o)
982 
983 _object_types.append("NonWaterPDBSelector")
984 
985 
986 def _object_cast_to_NonWaterPDBSelector(o):
987  r"""_object_cast_to_NonWaterPDBSelector(Object o) -> NonWaterPDBSelector"""
988  return _IMP_atom._object_cast_to_NonWaterPDBSelector(o)
989 
990 _object_types.append("NotPDBSelector")
991 
992 
993 def _object_cast_to_NotPDBSelector(o):
994  r"""_object_cast_to_NotPDBSelector(Object o) -> NotPDBSelector"""
995  return _IMP_atom._object_cast_to_NotPDBSelector(o)
996 
997 _object_types.append("OrPDBSelector")
998 
999 
1000 def _object_cast_to_OrPDBSelector(o):
1001  r"""_object_cast_to_OrPDBSelector(Object o) -> OrPDBSelector"""
1002  return _IMP_atom._object_cast_to_OrPDBSelector(o)
1003 
1004 _object_types.append("PPDBSelector")
1005 
1006 
1007 def _object_cast_to_PPDBSelector(o):
1008  r"""_object_cast_to_PPDBSelector(Object o) -> PPDBSelector"""
1009  return _IMP_atom._object_cast_to_PPDBSelector(o)
1010 
1011 _object_types.append("ProteinLigandAtomPairScore")
1012 
1013 
1014 def _object_cast_to_ProteinLigandAtomPairScore(o):
1015  r"""_object_cast_to_ProteinLigandAtomPairScore(Object o) -> ProteinLigandAtomPairScore"""
1016  return _IMP_atom._object_cast_to_ProteinLigandAtomPairScore(o)
1017 
1018 _object_types.append("ProteinLigandRestraint")
1019 
1020 
1021 def _object_cast_to_ProteinLigandRestraint(o):
1022  r"""_object_cast_to_ProteinLigandRestraint(Object o) -> ProteinLigandRestraint"""
1023  return _IMP_atom._object_cast_to_ProteinLigandRestraint(o)
1024 
1025 _object_types.append("SameResiduePairFilter")
1026 
1027 
1028 def _object_cast_to_SameResiduePairFilter(o):
1029  r"""_object_cast_to_SameResiduePairFilter(Object o) -> SameResiduePairFilter"""
1030  return _IMP_atom._object_cast_to_SameResiduePairFilter(o)
1031 
1032 _object_types.append("SoapPairFilter")
1033 
1034 
1035 def _object_cast_to_SoapPairFilter(o):
1036  r"""_object_cast_to_SoapPairFilter(Object o) -> SoapPairFilter"""
1037  return _IMP_atom._object_cast_to_SoapPairFilter(o)
1038 
1039 _object_types.append("SmoothingFunction")
1040 
1041 
1042 def _object_cast_to_SmoothingFunction(o):
1043  r"""_object_cast_to_SmoothingFunction(Object o) -> SmoothingFunction"""
1044  return _IMP_atom._object_cast_to_SmoothingFunction(o)
1045 
1046 _object_types.append("StereochemistryPairFilter")
1047 
1048 
1049 def _object_cast_to_StereochemistryPairFilter(o):
1050  r"""_object_cast_to_StereochemistryPairFilter(Object o) -> StereochemistryPairFilter"""
1051  return _IMP_atom._object_cast_to_StereochemistryPairFilter(o)
1052 
1053 _object_types.append("VelocityScalingOptimizerState")
1054 
1055 
1056 def _object_cast_to_VelocityScalingOptimizerState(o):
1057  r"""_object_cast_to_VelocityScalingOptimizerState(Object o) -> VelocityScalingOptimizerState"""
1058  return _IMP_atom._object_cast_to_VelocityScalingOptimizerState(o)
1059 
1060 _object_types.append("WaterPDBSelector")
1061 
1062 
1063 def _object_cast_to_WaterPDBSelector(o):
1064  r"""_object_cast_to_WaterPDBSelector(Object o) -> WaterPDBSelector"""
1065  return _IMP_atom._object_cast_to_WaterPDBSelector(o)
1066 
1067 _object_types.append("WritePDBOptimizerState")
1068 
1069 
1070 def _object_cast_to_WritePDBOptimizerState(o):
1071  r"""_object_cast_to_WritePDBOptimizerState(Object o) -> WritePDBOptimizerState"""
1072  return _IMP_atom._object_cast_to_WritePDBOptimizerState(o)
1073 
1074 AtomTypes=list
1075 _plural_types.append("AtomTypes")
1076 _value_types.append("AtomType")
1077 
1078 
1079 CHARMMAtomTopologies=list
1080 _plural_types.append("CHARMMAtomTopologies")
1081 _value_types.append("CHARMMAtomTopology")
1082 
1083 
1084 CHARMMBondEndpoints=list
1085 _plural_types.append("CHARMMBondEndpoints")
1086 _value_types.append("CHARMMBondEndpoint")
1087 
1088 
1089 CHARMMBondParametersList=list
1090 _plural_types.append("CHARMMBondParametersList")
1091 _value_types.append("CHARMMBondParameters")
1092 
1093 
1094 CHARMMDihedralParametersList=list
1095 _plural_types.append("CHARMMDihedralParametersList")
1096 _value_types.append("CHARMMDihedralParameters")
1097 
1098 
1099 _object_types.append("CHARMMIdealResidueTopology")
1100 
1101 
1102 def _object_cast_to_CHARMMIdealResidueTopology(o):
1103  r"""_object_cast_to_CHARMMIdealResidueTopology(Object o) -> CHARMMIdealResidueTopology"""
1104  return _IMP_atom._object_cast_to_CHARMMIdealResidueTopology(o)
1105 
1106 CHARMMInternalCoordinates=list
1107 _plural_types.append("CHARMMInternalCoordinates")
1108 _value_types.append("CHARMMInternalCoordinate")
1109 
1110 
1111 _object_types.append("CHARMMPatch")
1112 
1113 
1114 def _object_cast_to_CHARMMPatch(o):
1115  r"""_object_cast_to_CHARMMPatch(Object o) -> CHARMMPatch"""
1116  return _IMP_atom._object_cast_to_CHARMMPatch(o)
1117 
1118 _object_types.append("CHARMMResidueTopologyBase")
1119 
1120 
1121 def _object_cast_to_CHARMMResidueTopologyBase(o):
1122  r"""_object_cast_to_CHARMMResidueTopologyBase(Object o) -> CHARMMResidueTopologyBase"""
1123  return _IMP_atom._object_cast_to_CHARMMResidueTopologyBase(o)
1124 
1125 ResidueTypes=list
1126 _plural_types.append("ResidueTypes")
1127 _value_types.append("ResidueType")
1128 
1129 
1130 ChainTypes=list
1131 _plural_types.append("ChainTypes")
1132 _value_types.append("ChainType")
1133 
1134 
1135 Selections=list
1136 _plural_types.append("Selections")
1137 _value_types.append("Selection")
1138 
1139 
1140 _object_types.append("RemoveRigidMotionOptimizerState")
1141 
1142 
1143 def _object_cast_to_RemoveRigidMotionOptimizerState(o):
1144  r"""_object_cast_to_RemoveRigidMotionOptimizerState(Object o) -> RemoveRigidMotionOptimizerState"""
1145  return _IMP_atom._object_cast_to_RemoveRigidMotionOptimizerState(o)
1146 
1147 _object_types.append("BerendsenThermostatOptimizerState")
1148 
1149 
1150 def _object_cast_to_BerendsenThermostatOptimizerState(o):
1151  r"""_object_cast_to_BerendsenThermostatOptimizerState(Object o) -> BerendsenThermostatOptimizerState"""
1152  return _IMP_atom._object_cast_to_BerendsenThermostatOptimizerState(o)
1153 
1154 _object_types.append("LangevinThermostatOptimizerState")
1155 
1156 
1157 def _object_cast_to_LangevinThermostatOptimizerState(o):
1158  r"""_object_cast_to_LangevinThermostatOptimizerState(Object o) -> LangevinThermostatOptimizerState"""
1159  return _IMP_atom._object_cast_to_LangevinThermostatOptimizerState(o)
1160 
1161 _object_types.append("SelectionGeometry")
1162 
1163 
1164 def _object_cast_to_SelectionGeometry(o):
1165  r"""_object_cast_to_SelectionGeometry(Object o) -> SelectionGeometry"""
1166  return _IMP_atom._object_cast_to_SelectionGeometry(o)
1167 
1168 _object_types.append("HierarchyGeometry")
1169 
1170 
1171 def _object_cast_to_HierarchyGeometry(o):
1172  r"""_object_cast_to_HierarchyGeometry(Object o) -> HierarchyGeometry"""
1173  return _IMP_atom._object_cast_to_HierarchyGeometry(o)
1174 
1175 _object_types.append("HierarchiesGeometry")
1176 
1177 
1178 def _object_cast_to_HierarchiesGeometry(o):
1179  r"""_object_cast_to_HierarchiesGeometry(Object o) -> HierarchiesGeometry"""
1180  return _IMP_atom._object_cast_to_HierarchiesGeometry(o)
1181 
1182 _object_types.append("BondGeometry")
1183 
1184 
1185 def _object_cast_to_BondGeometry(o):
1186  r"""_object_cast_to_BondGeometry(Object o) -> BondGeometry"""
1187  return _IMP_atom._object_cast_to_BondGeometry(o)
1188 
1189 _object_types.append("BondsGeometry")
1190 
1191 
1192 def _object_cast_to_BondsGeometry(o):
1193  r"""_object_cast_to_BondsGeometry(Object o) -> BondsGeometry"""
1194  return _IMP_atom._object_cast_to_BondsGeometry(o)
1195 
1196 _object_types.append("CAAngleRestraint")
1197 
1198 
1199 def _object_cast_to_CAAngleRestraint(o):
1200  r"""_object_cast_to_CAAngleRestraint(Object o) -> CAAngleRestraint"""
1201  return _IMP_atom._object_cast_to_CAAngleRestraint(o)
1202 
1203 _object_types.append("CADihedralRestraint")
1204 
1205 
1206 def _object_cast_to_CADihedralRestraint(o):
1207  r"""_object_cast_to_CADihedralRestraint(Object o) -> CADihedralRestraint"""
1208  return _IMP_atom._object_cast_to_CADihedralRestraint(o)
1209 
1210 _object_types.append("HelixRestraint")
1211 
1212 
1213 def _object_cast_to_HelixRestraint(o):
1214  r"""_object_cast_to_HelixRestraint(Object o) -> HelixRestraint"""
1215  return _IMP_atom._object_cast_to_HelixRestraint(o)
1216 
1217 CHARMMDihedrals=list
1218 _plural_types.append("CHARMMDihedrals")
1219 _value_types.append("CHARMMDihedral")
1220 
1221 
1222 CHARMMBonds=list
1223 _plural_types.append("CHARMMBonds")
1224 _value_types.append("CHARMMBond")
1225 
1226 
1227 CHARMMAngles=list
1228 _plural_types.append("CHARMMAngles")
1229 _value_types.append("CHARMMAngle")
1230 
1231 class Bond(IMP.Decorator):
1232  r"""Proxy of C++ IMP::atom::Bond class."""
1233 
1234  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1235 
1236  def __init__(self, *args):
1237  r"""
1238  __init__(Bond self) -> Bond
1239  __init__(Bond self, Model m, ParticleIndex id) -> Bond
1240  __init__(Bond self, _ParticleAdaptor d) -> Bond
1241  """
1242  _IMP_atom.Bond_swiginit(self, _IMP_atom.new_Bond(*args))
1243 
1244  def show(self, *args):
1245  r"""show(Bond self, _ostream out=std::cout)"""
1246  return _IMP_atom.Bond_show(self, *args)
1247 
1248  @staticmethod
1249  def get_is_setup(*args):
1250  r"""
1251  get_is_setup(_ParticleAdaptor p) -> bool
1252  get_is_setup(Model m, ParticleIndex pi) -> bool
1253  """
1254  return _IMP_atom.Bond_get_is_setup(*args)
1255  UNKNOWN = _IMP_atom.Bond_UNKNOWN
1256 
1257  NONBIOLOGICAL = _IMP_atom.Bond_NONBIOLOGICAL
1258 
1259  SINGLE = _IMP_atom.Bond_SINGLE
1260 
1261  DOUBLE = _IMP_atom.Bond_DOUBLE
1262 
1263  TRIPLE = _IMP_atom.Bond_TRIPLE
1264 
1265  HYDROGEN = _IMP_atom.Bond_HYDROGEN
1266 
1267  SALT = _IMP_atom.Bond_SALT
1268 
1269  PEPTIDE = _IMP_atom.Bond_PEPTIDE
1270 
1271  AMIDE = _IMP_atom.Bond_AMIDE
1272 
1273  AROMATIC = _IMP_atom.Bond_AROMATIC
1274 
1275 
1276  def get_bonded(self, i):
1277  r"""get_bonded(Bond self, unsigned int i) -> Bonded"""
1278  return _IMP_atom.Bond_get_bonded(self, i)
1279 
1280  def get_type(self):
1281  r"""get_type(Bond self) -> IMP::Int"""
1282  return _IMP_atom.Bond_get_type(self)
1283 
1284  def set_type(self, t):
1285  r"""set_type(Bond self, IMP::Int t)"""
1286  return _IMP_atom.Bond_set_type(self, t)
1287 
1288  def get_order(self):
1289  r"""get_order(Bond self) -> IMP::Int"""
1290  return _IMP_atom.Bond_get_order(self)
1291 
1292  def set_order(self, t):
1293  r"""set_order(Bond self, IMP::Int t)"""
1294  return _IMP_atom.Bond_set_order(self, t)
1295 
1296  def get_length(self):
1297  r"""get_length(Bond self) -> IMP::Float"""
1298  return _IMP_atom.Bond_get_length(self)
1299 
1300  def set_length(self, t):
1301  r"""set_length(Bond self, IMP::Float t)"""
1302  return _IMP_atom.Bond_set_length(self, t)
1303 
1304  def get_stiffness(self):
1305  r"""get_stiffness(Bond self) -> IMP::Float"""
1306  return _IMP_atom.Bond_get_stiffness(self)
1307 
1308  def set_stiffness(self, t):
1309  r"""set_stiffness(Bond self, IMP::Float t)"""
1310  return _IMP_atom.Bond_set_stiffness(self, t)
1311 
1312  @staticmethod
1313  def get_length_key():
1314  r"""get_length_key() -> FloatKey"""
1315  return _IMP_atom.Bond_get_length_key()
1316 
1317  def add_attribute(self, *args):
1318  r"""
1319  add_attribute(Bond self, FloatKey k, IMP::Float v, bool opt)
1320  add_attribute(Bond self, FloatKey a0, IMP::Float a1)
1321  add_attribute(Bond self, IntKey a0, IMP::Int a1)
1322  add_attribute(Bond self, FloatsKey a0, IMP::Floats a1)
1323  add_attribute(Bond self, IntsKey a0, IMP::Ints a1)
1324  add_attribute(Bond self, StringKey a0, IMP::String a1)
1325  add_attribute(Bond self, ParticleIndexKey a0, Particle a1)
1326  add_attribute(Bond self, ObjectKey a0, Object a1)
1327  """
1328  return _IMP_atom.Bond_add_attribute(self, *args)
1329 
1330  def get_value(self, *args):
1331  r"""
1332  get_value(Bond self, FloatKey a0) -> IMP::Float
1333  get_value(Bond self, IntKey a0) -> IMP::Int
1334  get_value(Bond self, FloatsKey a0) -> IMP::Floats
1335  get_value(Bond self, IntsKey a0) -> IMP::Ints
1336  get_value(Bond self, StringKey a0) -> IMP::String
1337  get_value(Bond self, ParticleIndexKey a0) -> Particle
1338  get_value(Bond self, ObjectKey a0) -> Object
1339  """
1340  return _IMP_atom.Bond_get_value(self, *args)
1341 
1342  def set_value(self, *args):
1343  r"""
1344  set_value(Bond self, FloatKey a0, IMP::Float a1)
1345  set_value(Bond self, IntKey a0, IMP::Int a1)
1346  set_value(Bond self, FloatsKey a0, IMP::Floats a1)
1347  set_value(Bond self, IntsKey a0, IMP::Ints a1)
1348  set_value(Bond self, StringKey a0, IMP::String a1)
1349  set_value(Bond self, ParticleIndexKey a0, Particle a1)
1350  set_value(Bond self, ObjectKey a0, Object a1)
1351  """
1352  return _IMP_atom.Bond_set_value(self, *args)
1353 
1354  def remove_attribute(self, *args):
1355  r"""
1356  remove_attribute(Bond self, FloatKey a0)
1357  remove_attribute(Bond self, IntKey a0)
1358  remove_attribute(Bond self, FloatsKey a0)
1359  remove_attribute(Bond self, IntsKey a0)
1360  remove_attribute(Bond self, StringKey a0)
1361  remove_attribute(Bond self, ParticleIndexKey a0)
1362  remove_attribute(Bond self, ObjectKey a0)
1363  """
1364  return _IMP_atom.Bond_remove_attribute(self, *args)
1365 
1366  def has_attribute(self, *args):
1367  r"""
1368  has_attribute(Bond self, FloatKey a0) -> bool
1369  has_attribute(Bond self, IntKey a0) -> bool
1370  has_attribute(Bond self, FloatsKey a0) -> bool
1371  has_attribute(Bond self, IntsKey a0) -> bool
1372  has_attribute(Bond self, StringKey a0) -> bool
1373  has_attribute(Bond self, ParticleIndexKey a0) -> bool
1374  has_attribute(Bond self, ObjectKey a0) -> bool
1375  """
1376  return _IMP_atom.Bond_has_attribute(self, *args)
1377 
1378  def get_derivative(self, a0):
1379  r"""get_derivative(Bond self, FloatKey a0) -> double"""
1380  return _IMP_atom.Bond_get_derivative(self, a0)
1381 
1382  def get_name(self):
1383  r"""get_name(Bond self) -> std::string"""
1384  return _IMP_atom.Bond_get_name(self)
1385 
1386  def clear_caches(self):
1387  r"""clear_caches(Bond self)"""
1388  return _IMP_atom.Bond_clear_caches(self)
1389 
1390  def set_name(self, a0):
1391  r"""set_name(Bond self, std::string a0)"""
1392  return _IMP_atom.Bond_set_name(self, a0)
1393 
1394  def set_check_level(self, a0):
1395  r"""set_check_level(Bond self, IMP::CheckLevel a0)"""
1396  return _IMP_atom.Bond_set_check_level(self, a0)
1397 
1398  def add_to_derivative(self, a0, a1, a2):
1399  r"""add_to_derivative(Bond self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
1400  return _IMP_atom.Bond_add_to_derivative(self, a0, a1, a2)
1401 
1402  def set_is_optimized(self, a0, a1):
1403  r"""set_is_optimized(Bond self, FloatKey a0, bool a1)"""
1404  return _IMP_atom.Bond_set_is_optimized(self, a0, a1)
1405 
1406  def get_is_optimized(self, a0):
1407  r"""get_is_optimized(Bond self, FloatKey a0) -> bool"""
1408  return _IMP_atom.Bond_get_is_optimized(self, a0)
1409 
1410  def get_check_level(self):
1411  r"""get_check_level(Bond self) -> IMP::CheckLevel"""
1412  return _IMP_atom.Bond_get_check_level(self)
1413 
1414  def __eq__(self, *args):
1415  r"""
1416  __eq__(Bond self, Bond o) -> bool
1417  __eq__(Bond self, Particle d) -> bool
1418  """
1419  return _IMP_atom.Bond___eq__(self, *args)
1420 
1421  def __ne__(self, *args):
1422  r"""
1423  __ne__(Bond self, Bond o) -> bool
1424  __ne__(Bond self, Particle d) -> bool
1425  """
1426  return _IMP_atom.Bond___ne__(self, *args)
1427 
1428  def __le__(self, *args):
1429  r"""
1430  __le__(Bond self, Bond o) -> bool
1431  __le__(Bond self, Particle d) -> bool
1432  """
1433  return _IMP_atom.Bond___le__(self, *args)
1434 
1435  def __lt__(self, *args):
1436  r"""
1437  __lt__(Bond self, Bond o) -> bool
1438  __lt__(Bond self, Particle d) -> bool
1439  """
1440  return _IMP_atom.Bond___lt__(self, *args)
1441 
1442  def __ge__(self, *args):
1443  r"""
1444  __ge__(Bond self, Bond o) -> bool
1445  __ge__(Bond self, Particle d) -> bool
1446  """
1447  return _IMP_atom.Bond___ge__(self, *args)
1448 
1449  def __gt__(self, *args):
1450  r"""
1451  __gt__(Bond self, Bond o) -> bool
1452  __gt__(Bond self, Particle d) -> bool
1453  """
1454  return _IMP_atom.Bond___gt__(self, *args)
1455 
1456  def __hash__(self):
1457  r"""__hash__(Bond self) -> std::size_t"""
1458  return _IMP_atom.Bond___hash__(self)
1459 
1460  def __str__(self):
1461  r"""__str__(Bond self) -> std::string"""
1462  return _IMP_atom.Bond___str__(self)
1463 
1464  def __repr__(self):
1465  r"""__repr__(Bond self) -> std::string"""
1466  return _IMP_atom.Bond___repr__(self)
1467 
1468  def _get_as_binary(self):
1469  r"""_get_as_binary(Bond self) -> PyObject *"""
1470  return _IMP_atom.Bond__get_as_binary(self)
1471 
1472  def _set_from_binary(self, p):
1473  r"""_set_from_binary(Bond self, PyObject * p)"""
1474  return _IMP_atom.Bond__set_from_binary(self, p)
1475 
1476  def __getstate__(self):
1477  p = self._get_as_binary()
1478  if len(self.__dict__) > 1:
1479  d = self.__dict__.copy()
1480  del d['this']
1481  p = (d, p)
1482  return p
1483 
1484  def __setstate__(self, p):
1485  if not hasattr(self, 'this'):
1486  self.__init__()
1487  if isinstance(p, tuple):
1488  d, p = p
1489  self.__dict__.update(d)
1490  return self._set_from_binary(p)
1491 
1492  __swig_destroy__ = _IMP_atom.delete_Bond
1493 
1494 # Register Bond in _IMP_atom:
1495 _IMP_atom.Bond_swigregister(Bond)
1496 class Bonded(IMP.Decorator):
1497  r"""Proxy of C++ IMP::atom::Bonded class."""
1498 
1499  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1500 
1501  def __init__(self, *args):
1502  r"""
1503  __init__(Bonded self) -> Bonded
1504  __init__(Bonded self, Model m, ParticleIndex id) -> Bonded
1505  __init__(Bonded self, _ParticleAdaptor d) -> Bonded
1506  """
1507  _IMP_atom.Bonded_swiginit(self, _IMP_atom.new_Bonded(*args))
1508 
1509  def show(self, *args):
1510  r"""show(Bonded self, _ostream out=std::cout)"""
1511  return _IMP_atom.Bonded_show(self, *args)
1512 
1513  @staticmethod
1514  def setup_particle(*args):
1515  r"""
1516  setup_particle(Model m, ParticleIndex pi) -> Bonded
1517  setup_particle(_ParticleAdaptor pa) -> Bonded
1518  """
1519  return _IMP_atom.Bonded_setup_particle(*args)
1520 
1521  @staticmethod
1522  def get_is_setup(*args):
1523  r"""
1524  get_is_setup(_ParticleAdaptor p) -> bool
1525  get_is_setup(Model m, ParticleIndex pi) -> bool
1526  """
1527  return _IMP_atom.Bonded_get_is_setup(*args)
1528 
1529  def get_number_of_bonds(self):
1530  r"""get_number_of_bonds(Bonded self) -> unsigned int"""
1531  return _IMP_atom.Bonded_get_number_of_bonds(self)
1532 
1533  def get_bond_indexes(self):
1534  r"""get_bond_indexes(Bonded self) -> IMP::ParticleIndexes"""
1535  return _IMP_atom.Bonded_get_bond_indexes(self)
1536 
1537  def get_bond(self, i):
1538  r"""get_bond(Bonded self, unsigned int i) -> Bond"""
1539  return _IMP_atom.Bonded_get_bond(self, i)
1540 
1541  def get_bonded(self, i):
1542  r"""get_bonded(Bonded self, unsigned int i) -> Bonded"""
1543  return _IMP_atom.Bonded_get_bonded(self, i)
1544 
1545  def add_attribute(self, *args):
1546  r"""
1547  add_attribute(Bonded self, FloatKey k, IMP::Float v, bool opt)
1548  add_attribute(Bonded self, FloatKey a0, IMP::Float a1)
1549  add_attribute(Bonded self, IntKey a0, IMP::Int a1)
1550  add_attribute(Bonded self, FloatsKey a0, IMP::Floats a1)
1551  add_attribute(Bonded self, IntsKey a0, IMP::Ints a1)
1552  add_attribute(Bonded self, StringKey a0, IMP::String a1)
1553  add_attribute(Bonded self, ParticleIndexKey a0, Particle a1)
1554  add_attribute(Bonded self, ObjectKey a0, Object a1)
1555  """
1556  return _IMP_atom.Bonded_add_attribute(self, *args)
1557 
1558  def get_value(self, *args):
1559  r"""
1560  get_value(Bonded self, FloatKey a0) -> IMP::Float
1561  get_value(Bonded self, IntKey a0) -> IMP::Int
1562  get_value(Bonded self, FloatsKey a0) -> IMP::Floats
1563  get_value(Bonded self, IntsKey a0) -> IMP::Ints
1564  get_value(Bonded self, StringKey a0) -> IMP::String
1565  get_value(Bonded self, ParticleIndexKey a0) -> Particle
1566  get_value(Bonded self, ObjectKey a0) -> Object
1567  """
1568  return _IMP_atom.Bonded_get_value(self, *args)
1569 
1570  def set_value(self, *args):
1571  r"""
1572  set_value(Bonded self, FloatKey a0, IMP::Float a1)
1573  set_value(Bonded self, IntKey a0, IMP::Int a1)
1574  set_value(Bonded self, FloatsKey a0, IMP::Floats a1)
1575  set_value(Bonded self, IntsKey a0, IMP::Ints a1)
1576  set_value(Bonded self, StringKey a0, IMP::String a1)
1577  set_value(Bonded self, ParticleIndexKey a0, Particle a1)
1578  set_value(Bonded self, ObjectKey a0, Object a1)
1579  """
1580  return _IMP_atom.Bonded_set_value(self, *args)
1581 
1582  def remove_attribute(self, *args):
1583  r"""
1584  remove_attribute(Bonded self, FloatKey a0)
1585  remove_attribute(Bonded self, IntKey a0)
1586  remove_attribute(Bonded self, FloatsKey a0)
1587  remove_attribute(Bonded self, IntsKey a0)
1588  remove_attribute(Bonded self, StringKey a0)
1589  remove_attribute(Bonded self, ParticleIndexKey a0)
1590  remove_attribute(Bonded self, ObjectKey a0)
1591  """
1592  return _IMP_atom.Bonded_remove_attribute(self, *args)
1593 
1594  def has_attribute(self, *args):
1595  r"""
1596  has_attribute(Bonded self, FloatKey a0) -> bool
1597  has_attribute(Bonded self, IntKey a0) -> bool
1598  has_attribute(Bonded self, FloatsKey a0) -> bool
1599  has_attribute(Bonded self, IntsKey a0) -> bool
1600  has_attribute(Bonded self, StringKey a0) -> bool
1601  has_attribute(Bonded self, ParticleIndexKey a0) -> bool
1602  has_attribute(Bonded self, ObjectKey a0) -> bool
1603  """
1604  return _IMP_atom.Bonded_has_attribute(self, *args)
1605 
1606  def get_derivative(self, a0):
1607  r"""get_derivative(Bonded self, FloatKey a0) -> double"""
1608  return _IMP_atom.Bonded_get_derivative(self, a0)
1609 
1610  def get_name(self):
1611  r"""get_name(Bonded self) -> std::string"""
1612  return _IMP_atom.Bonded_get_name(self)
1613 
1614  def clear_caches(self):
1615  r"""clear_caches(Bonded self)"""
1616  return _IMP_atom.Bonded_clear_caches(self)
1617 
1618  def set_name(self, a0):
1619  r"""set_name(Bonded self, std::string a0)"""
1620  return _IMP_atom.Bonded_set_name(self, a0)
1621 
1622  def set_check_level(self, a0):
1623  r"""set_check_level(Bonded self, IMP::CheckLevel a0)"""
1624  return _IMP_atom.Bonded_set_check_level(self, a0)
1625 
1626  def add_to_derivative(self, a0, a1, a2):
1627  r"""add_to_derivative(Bonded self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
1628  return _IMP_atom.Bonded_add_to_derivative(self, a0, a1, a2)
1629 
1630  def set_is_optimized(self, a0, a1):
1631  r"""set_is_optimized(Bonded self, FloatKey a0, bool a1)"""
1632  return _IMP_atom.Bonded_set_is_optimized(self, a0, a1)
1633 
1634  def get_is_optimized(self, a0):
1635  r"""get_is_optimized(Bonded self, FloatKey a0) -> bool"""
1636  return _IMP_atom.Bonded_get_is_optimized(self, a0)
1637 
1638  def get_check_level(self):
1639  r"""get_check_level(Bonded self) -> IMP::CheckLevel"""
1640  return _IMP_atom.Bonded_get_check_level(self)
1641 
1642  def __eq__(self, *args):
1643  r"""
1644  __eq__(Bonded self, Bonded o) -> bool
1645  __eq__(Bonded self, Particle d) -> bool
1646  """
1647  return _IMP_atom.Bonded___eq__(self, *args)
1648 
1649  def __ne__(self, *args):
1650  r"""
1651  __ne__(Bonded self, Bonded o) -> bool
1652  __ne__(Bonded self, Particle d) -> bool
1653  """
1654  return _IMP_atom.Bonded___ne__(self, *args)
1655 
1656  def __le__(self, *args):
1657  r"""
1658  __le__(Bonded self, Bonded o) -> bool
1659  __le__(Bonded self, Particle d) -> bool
1660  """
1661  return _IMP_atom.Bonded___le__(self, *args)
1662 
1663  def __lt__(self, *args):
1664  r"""
1665  __lt__(Bonded self, Bonded o) -> bool
1666  __lt__(Bonded self, Particle d) -> bool
1667  """
1668  return _IMP_atom.Bonded___lt__(self, *args)
1669 
1670  def __ge__(self, *args):
1671  r"""
1672  __ge__(Bonded self, Bonded o) -> bool
1673  __ge__(Bonded self, Particle d) -> bool
1674  """
1675  return _IMP_atom.Bonded___ge__(self, *args)
1676 
1677  def __gt__(self, *args):
1678  r"""
1679  __gt__(Bonded self, Bonded o) -> bool
1680  __gt__(Bonded self, Particle d) -> bool
1681  """
1682  return _IMP_atom.Bonded___gt__(self, *args)
1683 
1684  def __hash__(self):
1685  r"""__hash__(Bonded self) -> std::size_t"""
1686  return _IMP_atom.Bonded___hash__(self)
1687 
1688  def __str__(self):
1689  r"""__str__(Bonded self) -> std::string"""
1690  return _IMP_atom.Bonded___str__(self)
1691 
1692  def __repr__(self):
1693  r"""__repr__(Bonded self) -> std::string"""
1694  return _IMP_atom.Bonded___repr__(self)
1695 
1696  def _get_as_binary(self):
1697  r"""_get_as_binary(Bonded self) -> PyObject *"""
1698  return _IMP_atom.Bonded__get_as_binary(self)
1699 
1700  def _set_from_binary(self, p):
1701  r"""_set_from_binary(Bonded self, PyObject * p)"""
1702  return _IMP_atom.Bonded__set_from_binary(self, p)
1703 
1704  def __getstate__(self):
1705  p = self._get_as_binary()
1706  if len(self.__dict__) > 1:
1707  d = self.__dict__.copy()
1708  del d['this']
1709  p = (d, p)
1710  return p
1711 
1712  def __setstate__(self, p):
1713  if not hasattr(self, 'this'):
1714  self.__init__()
1715  if isinstance(p, tuple):
1716  d, p = p
1717  self.__dict__.update(d)
1718  return self._set_from_binary(p)
1719 
1720  __swig_destroy__ = _IMP_atom.delete_Bonded
1721 
1722 # Register Bonded in _IMP_atom:
1723 _IMP_atom.Bonded_swigregister(Bonded)
1724 
1725 def create_custom_bond(a, b, length, stiffness=-1):
1726  r"""create_custom_bond(Bonded a, Bonded b, IMP::Float length, IMP::Float stiffness=-1) -> Bond"""
1727  return _IMP_atom.create_custom_bond(a, b, length, stiffness)
1728 
1729 def create_bond(*args):
1730  r"""
1731  create_bond(Bonded a, Bonded b, IMP::Int t) -> Bond
1732  create_bond(Bonded a, Bonded b, Bond o) -> Bond
1733  """
1734  return _IMP_atom.create_bond(*args)
1735 
1736 def destroy_bond(b):
1737  r"""destroy_bond(Bond b)"""
1738  return _IMP_atom.destroy_bond(b)
1739 
1740 def get_bond(a, b):
1741  r"""get_bond(Bonded a, Bonded b) -> Bond"""
1742  return _IMP_atom.get_bond(a, b)
1743 class BondGeometry(IMP.display.SingletonGeometry):
1744  r"""Proxy of C++ IMP::atom::BondGeometry class."""
1745 
1746  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1747 
1748  def __init__(self, *args):
1749  r"""
1750  __init__(BondGeometry self, Particle p) -> BondGeometry
1751  __init__(BondGeometry self, Bond d) -> BondGeometry
1752  """
1753  _IMP_atom.BondGeometry_swiginit(self, _IMP_atom.new_BondGeometry(*args))
1754 
1755  def get_version_info(self):
1756  r"""get_version_info(BondGeometry self) -> VersionInfo"""
1757  return _IMP_atom.BondGeometry_get_version_info(self)
1758  __swig_destroy__ = _IMP_atom.delete_BondGeometry
1759 
1760  def __str__(self):
1761  r"""__str__(BondGeometry self) -> std::string"""
1762  return _IMP_atom.BondGeometry___str__(self)
1763 
1764  def __repr__(self):
1765  r"""__repr__(BondGeometry self) -> std::string"""
1766  return _IMP_atom.BondGeometry___repr__(self)
1767 
1768  @staticmethod
1769  def get_from(o):
1770  return _object_cast_to_BondGeometry(o)
1771 
1772 
1773 # Register BondGeometry in _IMP_atom:
1774 _IMP_atom.BondGeometry_swigregister(BondGeometry)
1775 class BondsGeometry(IMP.display.SingletonsGeometry):
1776  r"""Proxy of C++ IMP::atom::BondsGeometry class."""
1777 
1778  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1779 
1780  def __init__(self, sc):
1781  r"""__init__(BondsGeometry self, SingletonContainer sc) -> BondsGeometry"""
1782  _IMP_atom.BondsGeometry_swiginit(self, _IMP_atom.new_BondsGeometry(sc))
1783 
1784  def get_version_info(self):
1785  r"""get_version_info(BondsGeometry self) -> VersionInfo"""
1786  return _IMP_atom.BondsGeometry_get_version_info(self)
1787  __swig_destroy__ = _IMP_atom.delete_BondsGeometry
1788 
1789  def __str__(self):
1790  r"""__str__(BondsGeometry self) -> std::string"""
1791  return _IMP_atom.BondsGeometry___str__(self)
1792 
1793  def __repr__(self):
1794  r"""__repr__(BondsGeometry self) -> std::string"""
1795  return _IMP_atom.BondsGeometry___repr__(self)
1796 
1797  @staticmethod
1798  def get_from(o):
1799  return _object_cast_to_BondsGeometry(o)
1800 
1801 
1802 # Register BondsGeometry in _IMP_atom:
1803 _IMP_atom.BondsGeometry_swigregister(BondsGeometry)
1804 class Hierarchy(IMP.core.Hierarchy):
1805  r"""Proxy of C++ IMP::atom::Hierarchy class."""
1806 
1807  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
1808 
1809  def __init__(self, *args):
1810  r"""
1811  __init__(Hierarchy self, Model m, ParticleIndex pi) -> Hierarchy
1812  __init__(Hierarchy self, _ParticleAdaptor pi) -> Hierarchy
1813  __init__(Hierarchy self) -> Hierarchy
1814  __init__(Hierarchy self, Hierarchy h) -> Hierarchy
1815  """
1816  _IMP_atom.Hierarchy_swiginit(self, _IMP_atom.new_Hierarchy(*args))
1817 
1818  @staticmethod
1819  def setup_particle(*args):
1820  r"""
1821  setup_particle(Particle p, _ParticleIndexesAdaptor children) -> Hierarchy
1822  setup_particle(Particle p) -> Hierarchy
1823  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor children=IMP::ParticleIndexesAdaptor()) -> Hierarchy
1824  """
1825  return _IMP_atom.Hierarchy_setup_particle(*args)
1826 
1827  @staticmethod
1828  def get_is_setup(*args):
1829  r"""
1830  get_is_setup(Particle p) -> bool
1831  get_is_setup(Model m, ParticleIndex p) -> bool
1832  """
1833  return _IMP_atom.Hierarchy_get_is_setup(*args)
1834 
1835  def get_is_valid(self, print_info=False):
1836  r"""get_is_valid(Hierarchy self, bool print_info=False) -> bool"""
1837  return _IMP_atom.Hierarchy_get_is_valid(self, print_info)
1838 
1839  def add_child(self, o):
1840  r"""add_child(Hierarchy self, Hierarchy o)"""
1841  return _IMP_atom.Hierarchy_add_child(self, o)
1842 
1843  def get_child(self, i):
1844  r"""get_child(Hierarchy self, unsigned int i) -> Hierarchy"""
1845  return _IMP_atom.Hierarchy_get_child(self, i)
1846 
1847  def get_children(self):
1848  r"""get_children(Hierarchy self) -> IMP::atom::Hierarchies"""
1849  return _IMP_atom.Hierarchy_get_children(self)
1850 
1851  def get_parent(self):
1852  r"""get_parent(Hierarchy self) -> Hierarchy"""
1853  return _IMP_atom.Hierarchy_get_parent(self)
1854 
1855  @staticmethod
1856  def get_traits():
1857  r"""get_traits() -> HierarchyTraits"""
1858  return _IMP_atom.Hierarchy_get_traits()
1859 
1860  def show(self, *args):
1861  r"""
1862  show(Hierarchy self, _ostream out, std::string delimiter)
1863  show(Hierarchy self, _ostream out=std::cout)
1864  """
1865  return _IMP_atom.Hierarchy_show(self, *args)
1866 
1867  def add_attribute(self, *args):
1868  r"""
1869  add_attribute(Hierarchy self, FloatKey k, IMP::Float v, bool opt)
1870  add_attribute(Hierarchy self, FloatKey a0, IMP::Float a1)
1871  add_attribute(Hierarchy self, IntKey a0, IMP::Int a1)
1872  add_attribute(Hierarchy self, FloatsKey a0, IMP::Floats a1)
1873  add_attribute(Hierarchy self, IntsKey a0, IMP::Ints a1)
1874  add_attribute(Hierarchy self, StringKey a0, IMP::String a1)
1875  add_attribute(Hierarchy self, ParticleIndexKey a0, Particle a1)
1876  add_attribute(Hierarchy self, ObjectKey a0, Object a1)
1877  """
1878  return _IMP_atom.Hierarchy_add_attribute(self, *args)
1879 
1880  def get_value(self, *args):
1881  r"""
1882  get_value(Hierarchy self, FloatKey a0) -> IMP::Float
1883  get_value(Hierarchy self, IntKey a0) -> IMP::Int
1884  get_value(Hierarchy self, FloatsKey a0) -> IMP::Floats
1885  get_value(Hierarchy self, IntsKey a0) -> IMP::Ints
1886  get_value(Hierarchy self, StringKey a0) -> IMP::String
1887  get_value(Hierarchy self, ParticleIndexKey a0) -> Particle
1888  get_value(Hierarchy self, ObjectKey a0) -> Object
1889  """
1890  return _IMP_atom.Hierarchy_get_value(self, *args)
1891 
1892  def set_value(self, *args):
1893  r"""
1894  set_value(Hierarchy self, FloatKey a0, IMP::Float a1)
1895  set_value(Hierarchy self, IntKey a0, IMP::Int a1)
1896  set_value(Hierarchy self, FloatsKey a0, IMP::Floats a1)
1897  set_value(Hierarchy self, IntsKey a0, IMP::Ints a1)
1898  set_value(Hierarchy self, StringKey a0, IMP::String a1)
1899  set_value(Hierarchy self, ParticleIndexKey a0, Particle a1)
1900  set_value(Hierarchy self, ObjectKey a0, Object a1)
1901  """
1902  return _IMP_atom.Hierarchy_set_value(self, *args)
1903 
1904  def remove_attribute(self, *args):
1905  r"""
1906  remove_attribute(Hierarchy self, FloatKey a0)
1907  remove_attribute(Hierarchy self, IntKey a0)
1908  remove_attribute(Hierarchy self, FloatsKey a0)
1909  remove_attribute(Hierarchy self, IntsKey a0)
1910  remove_attribute(Hierarchy self, StringKey a0)
1911  remove_attribute(Hierarchy self, ParticleIndexKey a0)
1912  remove_attribute(Hierarchy self, ObjectKey a0)
1913  """
1914  return _IMP_atom.Hierarchy_remove_attribute(self, *args)
1915 
1916  def has_attribute(self, *args):
1917  r"""
1918  has_attribute(Hierarchy self, FloatKey a0) -> bool
1919  has_attribute(Hierarchy self, IntKey a0) -> bool
1920  has_attribute(Hierarchy self, FloatsKey a0) -> bool
1921  has_attribute(Hierarchy self, IntsKey a0) -> bool
1922  has_attribute(Hierarchy self, StringKey a0) -> bool
1923  has_attribute(Hierarchy self, ParticleIndexKey a0) -> bool
1924  has_attribute(Hierarchy self, ObjectKey a0) -> bool
1925  """
1926  return _IMP_atom.Hierarchy_has_attribute(self, *args)
1927 
1928  def get_derivative(self, a0):
1929  r"""get_derivative(Hierarchy self, FloatKey a0) -> double"""
1930  return _IMP_atom.Hierarchy_get_derivative(self, a0)
1931 
1932  def get_name(self):
1933  r"""get_name(Hierarchy self) -> std::string"""
1934  return _IMP_atom.Hierarchy_get_name(self)
1935 
1936  def clear_caches(self):
1937  r"""clear_caches(Hierarchy self)"""
1938  return _IMP_atom.Hierarchy_clear_caches(self)
1939 
1940  def set_name(self, a0):
1941  r"""set_name(Hierarchy self, std::string a0)"""
1942  return _IMP_atom.Hierarchy_set_name(self, a0)
1943 
1944  def set_check_level(self, a0):
1945  r"""set_check_level(Hierarchy self, IMP::CheckLevel a0)"""
1946  return _IMP_atom.Hierarchy_set_check_level(self, a0)
1947 
1948  def add_to_derivative(self, a0, a1, a2):
1949  r"""add_to_derivative(Hierarchy self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
1950  return _IMP_atom.Hierarchy_add_to_derivative(self, a0, a1, a2)
1951 
1952  def set_is_optimized(self, a0, a1):
1953  r"""set_is_optimized(Hierarchy self, FloatKey a0, bool a1)"""
1954  return _IMP_atom.Hierarchy_set_is_optimized(self, a0, a1)
1955 
1956  def get_is_optimized(self, a0):
1957  r"""get_is_optimized(Hierarchy self, FloatKey a0) -> bool"""
1958  return _IMP_atom.Hierarchy_get_is_optimized(self, a0)
1959 
1960  def get_check_level(self):
1961  r"""get_check_level(Hierarchy self) -> IMP::CheckLevel"""
1962  return _IMP_atom.Hierarchy_get_check_level(self)
1963 
1964  def __eq__(self, *args):
1965  r"""
1966  __eq__(Hierarchy self, Hierarchy o) -> bool
1967  __eq__(Hierarchy self, Particle d) -> bool
1968  """
1969  return _IMP_atom.Hierarchy___eq__(self, *args)
1970 
1971  def __ne__(self, *args):
1972  r"""
1973  __ne__(Hierarchy self, Hierarchy o) -> bool
1974  __ne__(Hierarchy self, Particle d) -> bool
1975  """
1976  return _IMP_atom.Hierarchy___ne__(self, *args)
1977 
1978  def __le__(self, *args):
1979  r"""
1980  __le__(Hierarchy self, Hierarchy o) -> bool
1981  __le__(Hierarchy self, Particle d) -> bool
1982  """
1983  return _IMP_atom.Hierarchy___le__(self, *args)
1984 
1985  def __lt__(self, *args):
1986  r"""
1987  __lt__(Hierarchy self, Hierarchy o) -> bool
1988  __lt__(Hierarchy self, Particle d) -> bool
1989  """
1990  return _IMP_atom.Hierarchy___lt__(self, *args)
1991 
1992  def __ge__(self, *args):
1993  r"""
1994  __ge__(Hierarchy self, Hierarchy o) -> bool
1995  __ge__(Hierarchy self, Particle d) -> bool
1996  """
1997  return _IMP_atom.Hierarchy___ge__(self, *args)
1998 
1999  def __gt__(self, *args):
2000  r"""
2001  __gt__(Hierarchy self, Hierarchy o) -> bool
2002  __gt__(Hierarchy self, Particle d) -> bool
2003  """
2004  return _IMP_atom.Hierarchy___gt__(self, *args)
2005 
2006  def __hash__(self):
2007  r"""__hash__(Hierarchy self) -> std::size_t"""
2008  return _IMP_atom.Hierarchy___hash__(self)
2009 
2010  def __str__(self):
2011  r"""__str__(Hierarchy self) -> std::string"""
2012  return _IMP_atom.Hierarchy___str__(self)
2013 
2014  def __repr__(self):
2015  r"""__repr__(Hierarchy self) -> std::string"""
2016  return _IMP_atom.Hierarchy___repr__(self)
2017 
2018  def _get_as_binary(self):
2019  r"""_get_as_binary(Hierarchy self) -> PyObject *"""
2020  return _IMP_atom.Hierarchy__get_as_binary(self)
2021 
2022  def _set_from_binary(self, p):
2023  r"""_set_from_binary(Hierarchy self, PyObject * p)"""
2024  return _IMP_atom.Hierarchy__set_from_binary(self, p)
2025 
2026  def __getstate__(self):
2027  p = self._get_as_binary()
2028  if len(self.__dict__) > 1:
2029  d = self.__dict__.copy()
2030  del d['this']
2031  p = (d, p)
2032  return p
2033 
2034  def __setstate__(self, p):
2035  if not hasattr(self, 'this'):
2036  self.__init__()
2037  if isinstance(p, tuple):
2038  d, p = p
2039  self.__dict__.update(d)
2040  return self._set_from_binary(p)
2041 
2042  __swig_destroy__ = _IMP_atom.delete_Hierarchy
2043 
2044 # Register Hierarchy in _IMP_atom:
2045 _IMP_atom.Hierarchy_swigregister(Hierarchy)
2046 ATOM_TYPE = _IMP_atom.ATOM_TYPE
2047 
2048 RESIDUE_TYPE = _IMP_atom.RESIDUE_TYPE
2049 
2050 CHAIN_TYPE = _IMP_atom.CHAIN_TYPE
2051 
2052 MOLECULE_TYPE = _IMP_atom.MOLECULE_TYPE
2053 
2054 DOMAIN_TYPE = _IMP_atom.DOMAIN_TYPE
2055 
2056 FRAGMENT_TYPE = _IMP_atom.FRAGMENT_TYPE
2057 
2058 XYZ_TYPE = _IMP_atom.XYZ_TYPE
2059 
2060 XYZR_TYPE = _IMP_atom.XYZR_TYPE
2061 
2062 MASS_TYPE = _IMP_atom.MASS_TYPE
2063 
2064 STATE_TYPE = _IMP_atom.STATE_TYPE
2065 
2066 
2067 def get_by_type(mhd, t):
2068  r"""get_by_type(Hierarchy mhd, IMP::atom::GetByType t) -> IMP::atom::Hierarchies"""
2069  return _IMP_atom.get_by_type(mhd, t)
2070 
2071 def create_fragment(ps):
2072  r"""create_fragment(IMP::atom::Hierarchies const & ps) -> Hierarchy"""
2073  return _IMP_atom.create_fragment(ps)
2074 
2075 def get_internal_bonds(mhd):
2076  r"""get_internal_bonds(Hierarchy mhd) -> IMP::atom::Bonds"""
2077  return _IMP_atom.get_internal_bonds(mhd)
2078 
2079 def get_root(h):
2080  r"""get_root(Hierarchy h) -> Hierarchy"""
2081  return _IMP_atom.get_root(h)
2082 
2083 def show(*args):
2084  r"""show(Hierarchy h, _ostream out=std::cout)"""
2085  return _IMP_atom.show(*args)
2086 
2087 def create_rigid_body(*args):
2088  r"""
2089  create_rigid_body(IMP::atom::Hierarchies const & h, std::string name=std::string("created rigid body")) -> RigidBody
2090  create_rigid_body(Hierarchy h) -> RigidBody
2091  """
2092  return _IMP_atom.create_rigid_body(*args)
2093 
2094 def create_compatible_rigid_body(h, reference):
2095  r"""create_compatible_rigid_body(Hierarchy h, Hierarchy reference) -> RigidBody"""
2096  return _IMP_atom.create_compatible_rigid_body(h, reference)
2097 
2098 def get_is_heterogen(h):
2099  r"""get_is_heterogen(Hierarchy h) -> bool"""
2100  return _IMP_atom.get_is_heterogen(h)
2101 
2102 def create_clone(d):
2103  r"""create_clone(Hierarchy d) -> Hierarchy"""
2104  return _IMP_atom.create_clone(d)
2105 
2106 def create_clone_one(d):
2107  r"""create_clone_one(Hierarchy d) -> Hierarchy"""
2108  return _IMP_atom.create_clone_one(d)
2109 
2110 def destroy(d):
2111  r"""destroy(Hierarchy d)"""
2112  return _IMP_atom.destroy(d)
2113 
2114 def get_bounding_box(h):
2115  r"""get_bounding_box(Hierarchy h) -> BoundingBox3D"""
2116  return _IMP_atom.get_bounding_box(h)
2117 
2118 def get_bounding_sphere(h):
2119  r"""get_bounding_sphere(Hierarchy h) -> Sphere3D"""
2120  return _IMP_atom.get_bounding_sphere(h)
2121 class Angle(IMP.Decorator):
2122  r"""Proxy of C++ IMP::atom::Angle class."""
2123 
2124  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2125 
2126  def __init__(self, *args):
2127  r"""
2128  __init__(Angle self) -> Angle
2129  __init__(Angle self, Model m, ParticleIndex id) -> Angle
2130  __init__(Angle self, _ParticleAdaptor d) -> Angle
2131  """
2132  _IMP_atom.Angle_swiginit(self, _IMP_atom.new_Angle(*args))
2133 
2134  def show(self, *args):
2135  r"""show(Angle self, _ostream out=std::cout)"""
2136  return _IMP_atom.Angle_show(self, *args)
2137 
2138  @staticmethod
2139  def setup_particle(*args):
2140  r"""
2141  setup_particle(Model m, ParticleIndex pi, XYZ a, XYZ b, XYZ c) -> Angle
2142  setup_particle(_ParticleAdaptor pa, XYZ a, XYZ b, XYZ c) -> Angle
2143  """
2144  return _IMP_atom.Angle_setup_particle(*args)
2145 
2146  @staticmethod
2147  def get_is_setup(*args):
2148  r"""
2149  get_is_setup(_ParticleAdaptor p) -> bool
2150  get_is_setup(Model m, ParticleIndex pi) -> bool
2151  """
2152  return _IMP_atom.Angle_get_is_setup(*args)
2153 
2154  def get_particle(self, *args):
2155  r"""
2156  get_particle(Angle self) -> Particle
2157  get_particle(Angle self, unsigned int i) -> Particle
2158  """
2159  return _IMP_atom.Angle_get_particle(self, *args)
2160 
2161  def get_ideal(self):
2162  r"""get_ideal(Angle self) -> IMP::Float"""
2163  return _IMP_atom.Angle_get_ideal(self)
2164 
2165  def set_ideal(self, t):
2166  r"""set_ideal(Angle self, IMP::Float t)"""
2167  return _IMP_atom.Angle_set_ideal(self, t)
2168 
2169  def get_stiffness(self):
2170  r"""get_stiffness(Angle self) -> IMP::Float"""
2171  return _IMP_atom.Angle_get_stiffness(self)
2172 
2173  def set_stiffness(self, t):
2174  r"""set_stiffness(Angle self, IMP::Float t)"""
2175  return _IMP_atom.Angle_set_stiffness(self, t)
2176 
2177  @staticmethod
2178  def get_particle_key(i):
2179  r"""get_particle_key(unsigned int i) -> ParticleIndexKey"""
2180  return _IMP_atom.Angle_get_particle_key(i)
2181 
2182  @staticmethod
2183  def get_ideal_key():
2184  r"""get_ideal_key() -> FloatKey"""
2185  return _IMP_atom.Angle_get_ideal_key()
2186 
2187  @staticmethod
2188  def get_stiffness_key():
2189  r"""get_stiffness_key() -> FloatKey"""
2190  return _IMP_atom.Angle_get_stiffness_key()
2191 
2192  def add_attribute(self, *args):
2193  r"""
2194  add_attribute(Angle self, FloatKey k, IMP::Float v, bool opt)
2195  add_attribute(Angle self, FloatKey a0, IMP::Float a1)
2196  add_attribute(Angle self, IntKey a0, IMP::Int a1)
2197  add_attribute(Angle self, FloatsKey a0, IMP::Floats a1)
2198  add_attribute(Angle self, IntsKey a0, IMP::Ints a1)
2199  add_attribute(Angle self, StringKey a0, IMP::String a1)
2200  add_attribute(Angle self, ParticleIndexKey a0, Particle a1)
2201  add_attribute(Angle self, ObjectKey a0, Object a1)
2202  """
2203  return _IMP_atom.Angle_add_attribute(self, *args)
2204 
2205  def get_value(self, *args):
2206  r"""
2207  get_value(Angle self, FloatKey a0) -> IMP::Float
2208  get_value(Angle self, IntKey a0) -> IMP::Int
2209  get_value(Angle self, FloatsKey a0) -> IMP::Floats
2210  get_value(Angle self, IntsKey a0) -> IMP::Ints
2211  get_value(Angle self, StringKey a0) -> IMP::String
2212  get_value(Angle self, ParticleIndexKey a0) -> Particle
2213  get_value(Angle self, ObjectKey a0) -> Object
2214  """
2215  return _IMP_atom.Angle_get_value(self, *args)
2216 
2217  def set_value(self, *args):
2218  r"""
2219  set_value(Angle self, FloatKey a0, IMP::Float a1)
2220  set_value(Angle self, IntKey a0, IMP::Int a1)
2221  set_value(Angle self, FloatsKey a0, IMP::Floats a1)
2222  set_value(Angle self, IntsKey a0, IMP::Ints a1)
2223  set_value(Angle self, StringKey a0, IMP::String a1)
2224  set_value(Angle self, ParticleIndexKey a0, Particle a1)
2225  set_value(Angle self, ObjectKey a0, Object a1)
2226  """
2227  return _IMP_atom.Angle_set_value(self, *args)
2228 
2229  def remove_attribute(self, *args):
2230  r"""
2231  remove_attribute(Angle self, FloatKey a0)
2232  remove_attribute(Angle self, IntKey a0)
2233  remove_attribute(Angle self, FloatsKey a0)
2234  remove_attribute(Angle self, IntsKey a0)
2235  remove_attribute(Angle self, StringKey a0)
2236  remove_attribute(Angle self, ParticleIndexKey a0)
2237  remove_attribute(Angle self, ObjectKey a0)
2238  """
2239  return _IMP_atom.Angle_remove_attribute(self, *args)
2240 
2241  def has_attribute(self, *args):
2242  r"""
2243  has_attribute(Angle self, FloatKey a0) -> bool
2244  has_attribute(Angle self, IntKey a0) -> bool
2245  has_attribute(Angle self, FloatsKey a0) -> bool
2246  has_attribute(Angle self, IntsKey a0) -> bool
2247  has_attribute(Angle self, StringKey a0) -> bool
2248  has_attribute(Angle self, ParticleIndexKey a0) -> bool
2249  has_attribute(Angle self, ObjectKey a0) -> bool
2250  """
2251  return _IMP_atom.Angle_has_attribute(self, *args)
2252 
2253  def get_derivative(self, a0):
2254  r"""get_derivative(Angle self, FloatKey a0) -> double"""
2255  return _IMP_atom.Angle_get_derivative(self, a0)
2256 
2257  def get_name(self):
2258  r"""get_name(Angle self) -> std::string"""
2259  return _IMP_atom.Angle_get_name(self)
2260 
2261  def clear_caches(self):
2262  r"""clear_caches(Angle self)"""
2263  return _IMP_atom.Angle_clear_caches(self)
2264 
2265  def set_name(self, a0):
2266  r"""set_name(Angle self, std::string a0)"""
2267  return _IMP_atom.Angle_set_name(self, a0)
2268 
2269  def set_check_level(self, a0):
2270  r"""set_check_level(Angle self, IMP::CheckLevel a0)"""
2271  return _IMP_atom.Angle_set_check_level(self, a0)
2272 
2273  def add_to_derivative(self, a0, a1, a2):
2274  r"""add_to_derivative(Angle self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2275  return _IMP_atom.Angle_add_to_derivative(self, a0, a1, a2)
2276 
2277  def set_is_optimized(self, a0, a1):
2278  r"""set_is_optimized(Angle self, FloatKey a0, bool a1)"""
2279  return _IMP_atom.Angle_set_is_optimized(self, a0, a1)
2280 
2281  def get_is_optimized(self, a0):
2282  r"""get_is_optimized(Angle self, FloatKey a0) -> bool"""
2283  return _IMP_atom.Angle_get_is_optimized(self, a0)
2284 
2285  def get_check_level(self):
2286  r"""get_check_level(Angle self) -> IMP::CheckLevel"""
2287  return _IMP_atom.Angle_get_check_level(self)
2288 
2289  def __eq__(self, *args):
2290  r"""
2291  __eq__(Angle self, Angle o) -> bool
2292  __eq__(Angle self, Particle d) -> bool
2293  """
2294  return _IMP_atom.Angle___eq__(self, *args)
2295 
2296  def __ne__(self, *args):
2297  r"""
2298  __ne__(Angle self, Angle o) -> bool
2299  __ne__(Angle self, Particle d) -> bool
2300  """
2301  return _IMP_atom.Angle___ne__(self, *args)
2302 
2303  def __le__(self, *args):
2304  r"""
2305  __le__(Angle self, Angle o) -> bool
2306  __le__(Angle self, Particle d) -> bool
2307  """
2308  return _IMP_atom.Angle___le__(self, *args)
2309 
2310  def __lt__(self, *args):
2311  r"""
2312  __lt__(Angle self, Angle o) -> bool
2313  __lt__(Angle self, Particle d) -> bool
2314  """
2315  return _IMP_atom.Angle___lt__(self, *args)
2316 
2317  def __ge__(self, *args):
2318  r"""
2319  __ge__(Angle self, Angle o) -> bool
2320  __ge__(Angle self, Particle d) -> bool
2321  """
2322  return _IMP_atom.Angle___ge__(self, *args)
2323 
2324  def __gt__(self, *args):
2325  r"""
2326  __gt__(Angle self, Angle o) -> bool
2327  __gt__(Angle self, Particle d) -> bool
2328  """
2329  return _IMP_atom.Angle___gt__(self, *args)
2330 
2331  def __hash__(self):
2332  r"""__hash__(Angle self) -> std::size_t"""
2333  return _IMP_atom.Angle___hash__(self)
2334 
2335  def __str__(self):
2336  r"""__str__(Angle self) -> std::string"""
2337  return _IMP_atom.Angle___str__(self)
2338 
2339  def __repr__(self):
2340  r"""__repr__(Angle self) -> std::string"""
2341  return _IMP_atom.Angle___repr__(self)
2342 
2343  def _get_as_binary(self):
2344  r"""_get_as_binary(Angle self) -> PyObject *"""
2345  return _IMP_atom.Angle__get_as_binary(self)
2346 
2347  def _set_from_binary(self, p):
2348  r"""_set_from_binary(Angle self, PyObject * p)"""
2349  return _IMP_atom.Angle__set_from_binary(self, p)
2350 
2351  def __getstate__(self):
2352  p = self._get_as_binary()
2353  if len(self.__dict__) > 1:
2354  d = self.__dict__.copy()
2355  del d['this']
2356  p = (d, p)
2357  return p
2358 
2359  def __setstate__(self, p):
2360  if not hasattr(self, 'this'):
2361  self.__init__()
2362  if isinstance(p, tuple):
2363  d, p = p
2364  self.__dict__.update(d)
2365  return self._set_from_binary(p)
2366 
2367  __swig_destroy__ = _IMP_atom.delete_Angle
2368 
2369 # Register Angle in _IMP_atom:
2370 _IMP_atom.Angle_swigregister(Angle)
2371 class Dihedral(IMP.Decorator):
2372  r"""Proxy of C++ IMP::atom::Dihedral class."""
2373 
2374  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2375 
2376  def __init__(self, *args):
2377  r"""
2378  __init__(Dihedral self) -> Dihedral
2379  __init__(Dihedral self, Model m, ParticleIndex id) -> Dihedral
2380  __init__(Dihedral self, _ParticleAdaptor d) -> Dihedral
2381  """
2382  _IMP_atom.Dihedral_swiginit(self, _IMP_atom.new_Dihedral(*args))
2383 
2384  def show(self, *args):
2385  r"""show(Dihedral self, _ostream out=std::cout)"""
2386  return _IMP_atom.Dihedral_show(self, *args)
2387 
2388  @staticmethod
2389  def setup_particle(*args):
2390  r"""
2391  setup_particle(Model m, ParticleIndex pi, XYZ a, XYZ b, XYZ c, XYZ d) -> Dihedral
2392  setup_particle(_ParticleAdaptor pa, XYZ a, XYZ b, XYZ c, XYZ d) -> Dihedral
2393  """
2394  return _IMP_atom.Dihedral_setup_particle(*args)
2395 
2396  @staticmethod
2397  def get_is_setup(*args):
2398  r"""
2399  get_is_setup(_ParticleAdaptor p) -> bool
2400  get_is_setup(Model m, ParticleIndex pi) -> bool
2401  """
2402  return _IMP_atom.Dihedral_get_is_setup(*args)
2403 
2404  def get_particle(self, *args):
2405  r"""
2406  get_particle(Dihedral self) -> Particle
2407  get_particle(Dihedral self, unsigned int i) -> Particle
2408  """
2409  return _IMP_atom.Dihedral_get_particle(self, *args)
2410 
2411  def get_ideal(self):
2412  r"""get_ideal(Dihedral self) -> IMP::Float"""
2413  return _IMP_atom.Dihedral_get_ideal(self)
2414 
2415  def set_ideal(self, t):
2416  r"""set_ideal(Dihedral self, IMP::Float t)"""
2417  return _IMP_atom.Dihedral_set_ideal(self, t)
2418 
2419  def get_multiplicity(self):
2420  r"""get_multiplicity(Dihedral self) -> IMP::Int"""
2421  return _IMP_atom.Dihedral_get_multiplicity(self)
2422 
2423  def set_multiplicity(self, t):
2424  r"""set_multiplicity(Dihedral self, IMP::Int t)"""
2425  return _IMP_atom.Dihedral_set_multiplicity(self, t)
2426 
2427  def get_stiffness(self):
2428  r"""get_stiffness(Dihedral self) -> IMP::Float"""
2429  return _IMP_atom.Dihedral_get_stiffness(self)
2430 
2431  def set_stiffness(self, t):
2432  r"""set_stiffness(Dihedral self, IMP::Float t)"""
2433  return _IMP_atom.Dihedral_set_stiffness(self, t)
2434 
2435  @staticmethod
2436  def get_particle_key(i):
2437  r"""get_particle_key(unsigned int i) -> ParticleIndexKey"""
2438  return _IMP_atom.Dihedral_get_particle_key(i)
2439 
2440  @staticmethod
2441  def get_ideal_key():
2442  r"""get_ideal_key() -> FloatKey"""
2443  return _IMP_atom.Dihedral_get_ideal_key()
2444 
2445  @staticmethod
2446  def get_multiplicity_key():
2447  r"""get_multiplicity_key() -> IntKey"""
2448  return _IMP_atom.Dihedral_get_multiplicity_key()
2449 
2450  @staticmethod
2451  def get_stiffness_key():
2452  r"""get_stiffness_key() -> FloatKey"""
2453  return _IMP_atom.Dihedral_get_stiffness_key()
2454 
2455  def add_attribute(self, *args):
2456  r"""
2457  add_attribute(Dihedral self, FloatKey k, IMP::Float v, bool opt)
2458  add_attribute(Dihedral self, FloatKey a0, IMP::Float a1)
2459  add_attribute(Dihedral self, IntKey a0, IMP::Int a1)
2460  add_attribute(Dihedral self, FloatsKey a0, IMP::Floats a1)
2461  add_attribute(Dihedral self, IntsKey a0, IMP::Ints a1)
2462  add_attribute(Dihedral self, StringKey a0, IMP::String a1)
2463  add_attribute(Dihedral self, ParticleIndexKey a0, Particle a1)
2464  add_attribute(Dihedral self, ObjectKey a0, Object a1)
2465  """
2466  return _IMP_atom.Dihedral_add_attribute(self, *args)
2467 
2468  def get_value(self, *args):
2469  r"""
2470  get_value(Dihedral self, FloatKey a0) -> IMP::Float
2471  get_value(Dihedral self, IntKey a0) -> IMP::Int
2472  get_value(Dihedral self, FloatsKey a0) -> IMP::Floats
2473  get_value(Dihedral self, IntsKey a0) -> IMP::Ints
2474  get_value(Dihedral self, StringKey a0) -> IMP::String
2475  get_value(Dihedral self, ParticleIndexKey a0) -> Particle
2476  get_value(Dihedral self, ObjectKey a0) -> Object
2477  """
2478  return _IMP_atom.Dihedral_get_value(self, *args)
2479 
2480  def set_value(self, *args):
2481  r"""
2482  set_value(Dihedral self, FloatKey a0, IMP::Float a1)
2483  set_value(Dihedral self, IntKey a0, IMP::Int a1)
2484  set_value(Dihedral self, FloatsKey a0, IMP::Floats a1)
2485  set_value(Dihedral self, IntsKey a0, IMP::Ints a1)
2486  set_value(Dihedral self, StringKey a0, IMP::String a1)
2487  set_value(Dihedral self, ParticleIndexKey a0, Particle a1)
2488  set_value(Dihedral self, ObjectKey a0, Object a1)
2489  """
2490  return _IMP_atom.Dihedral_set_value(self, *args)
2491 
2492  def remove_attribute(self, *args):
2493  r"""
2494  remove_attribute(Dihedral self, FloatKey a0)
2495  remove_attribute(Dihedral self, IntKey a0)
2496  remove_attribute(Dihedral self, FloatsKey a0)
2497  remove_attribute(Dihedral self, IntsKey a0)
2498  remove_attribute(Dihedral self, StringKey a0)
2499  remove_attribute(Dihedral self, ParticleIndexKey a0)
2500  remove_attribute(Dihedral self, ObjectKey a0)
2501  """
2502  return _IMP_atom.Dihedral_remove_attribute(self, *args)
2503 
2504  def has_attribute(self, *args):
2505  r"""
2506  has_attribute(Dihedral self, FloatKey a0) -> bool
2507  has_attribute(Dihedral self, IntKey a0) -> bool
2508  has_attribute(Dihedral self, FloatsKey a0) -> bool
2509  has_attribute(Dihedral self, IntsKey a0) -> bool
2510  has_attribute(Dihedral self, StringKey a0) -> bool
2511  has_attribute(Dihedral self, ParticleIndexKey a0) -> bool
2512  has_attribute(Dihedral self, ObjectKey a0) -> bool
2513  """
2514  return _IMP_atom.Dihedral_has_attribute(self, *args)
2515 
2516  def get_derivative(self, a0):
2517  r"""get_derivative(Dihedral self, FloatKey a0) -> double"""
2518  return _IMP_atom.Dihedral_get_derivative(self, a0)
2519 
2520  def get_name(self):
2521  r"""get_name(Dihedral self) -> std::string"""
2522  return _IMP_atom.Dihedral_get_name(self)
2523 
2524  def clear_caches(self):
2525  r"""clear_caches(Dihedral self)"""
2526  return _IMP_atom.Dihedral_clear_caches(self)
2527 
2528  def set_name(self, a0):
2529  r"""set_name(Dihedral self, std::string a0)"""
2530  return _IMP_atom.Dihedral_set_name(self, a0)
2531 
2532  def set_check_level(self, a0):
2533  r"""set_check_level(Dihedral self, IMP::CheckLevel a0)"""
2534  return _IMP_atom.Dihedral_set_check_level(self, a0)
2535 
2536  def add_to_derivative(self, a0, a1, a2):
2537  r"""add_to_derivative(Dihedral self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
2538  return _IMP_atom.Dihedral_add_to_derivative(self, a0, a1, a2)
2539 
2540  def set_is_optimized(self, a0, a1):
2541  r"""set_is_optimized(Dihedral self, FloatKey a0, bool a1)"""
2542  return _IMP_atom.Dihedral_set_is_optimized(self, a0, a1)
2543 
2544  def get_is_optimized(self, a0):
2545  r"""get_is_optimized(Dihedral self, FloatKey a0) -> bool"""
2546  return _IMP_atom.Dihedral_get_is_optimized(self, a0)
2547 
2548  def get_check_level(self):
2549  r"""get_check_level(Dihedral self) -> IMP::CheckLevel"""
2550  return _IMP_atom.Dihedral_get_check_level(self)
2551 
2552  def __eq__(self, *args):
2553  r"""
2554  __eq__(Dihedral self, Dihedral o) -> bool
2555  __eq__(Dihedral self, Particle d) -> bool
2556  """
2557  return _IMP_atom.Dihedral___eq__(self, *args)
2558 
2559  def __ne__(self, *args):
2560  r"""
2561  __ne__(Dihedral self, Dihedral o) -> bool
2562  __ne__(Dihedral self, Particle d) -> bool
2563  """
2564  return _IMP_atom.Dihedral___ne__(self, *args)
2565 
2566  def __le__(self, *args):
2567  r"""
2568  __le__(Dihedral self, Dihedral o) -> bool
2569  __le__(Dihedral self, Particle d) -> bool
2570  """
2571  return _IMP_atom.Dihedral___le__(self, *args)
2572 
2573  def __lt__(self, *args):
2574  r"""
2575  __lt__(Dihedral self, Dihedral o) -> bool
2576  __lt__(Dihedral self, Particle d) -> bool
2577  """
2578  return _IMP_atom.Dihedral___lt__(self, *args)
2579 
2580  def __ge__(self, *args):
2581  r"""
2582  __ge__(Dihedral self, Dihedral o) -> bool
2583  __ge__(Dihedral self, Particle d) -> bool
2584  """
2585  return _IMP_atom.Dihedral___ge__(self, *args)
2586 
2587  def __gt__(self, *args):
2588  r"""
2589  __gt__(Dihedral self, Dihedral o) -> bool
2590  __gt__(Dihedral self, Particle d) -> bool
2591  """
2592  return _IMP_atom.Dihedral___gt__(self, *args)
2593 
2594  def __hash__(self):
2595  r"""__hash__(Dihedral self) -> std::size_t"""
2596  return _IMP_atom.Dihedral___hash__(self)
2597 
2598  def __str__(self):
2599  r"""__str__(Dihedral self) -> std::string"""
2600  return _IMP_atom.Dihedral___str__(self)
2601 
2602  def __repr__(self):
2603  r"""__repr__(Dihedral self) -> std::string"""
2604  return _IMP_atom.Dihedral___repr__(self)
2605 
2606  def _get_as_binary(self):
2607  r"""_get_as_binary(Dihedral self) -> PyObject *"""
2608  return _IMP_atom.Dihedral__get_as_binary(self)
2609 
2610  def _set_from_binary(self, p):
2611  r"""_set_from_binary(Dihedral self, PyObject * p)"""
2612  return _IMP_atom.Dihedral__set_from_binary(self, p)
2613 
2614  def __getstate__(self):
2615  p = self._get_as_binary()
2616  if len(self.__dict__) > 1:
2617  d = self.__dict__.copy()
2618  del d['this']
2619  p = (d, p)
2620  return p
2621 
2622  def __setstate__(self, p):
2623  if not hasattr(self, 'this'):
2624  self.__init__()
2625  if isinstance(p, tuple):
2626  d, p = p
2627  self.__dict__.update(d)
2628  return self._set_from_binary(p)
2629 
2630  __swig_destroy__ = _IMP_atom.delete_Dihedral
2631 
2632 # Register Dihedral in _IMP_atom:
2633 _IMP_atom.Dihedral_swigregister(Dihedral)
2634 class SmoothingFunction(IMP.Object):
2635  r"""Proxy of C++ IMP::atom::SmoothingFunction class."""
2636 
2637  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2638 
2639  def __init__(self, *args, **kwargs):
2640  raise AttributeError("No constructor defined - class is abstract")
2641 
2642  def __call__(self, *args):
2643  r"""
2644  __call__(SmoothingFunction self, double score, double distance) -> double
2645  __call__(SmoothingFunction self, double score, double deriv, double distance) -> IMP::DerivativePair
2646  """
2647  return _IMP_atom.SmoothingFunction___call__(self, *args)
2648  __swig_destroy__ = _IMP_atom.delete_SmoothingFunction
2649 
2650  def __str__(self):
2651  r"""__str__(SmoothingFunction self) -> std::string"""
2652  return _IMP_atom.SmoothingFunction___str__(self)
2653 
2654  def __repr__(self):
2655  r"""__repr__(SmoothingFunction self) -> std::string"""
2656  return _IMP_atom.SmoothingFunction___repr__(self)
2657 
2658  @staticmethod
2659  def get_from(o):
2660  return _object_cast_to_SmoothingFunction(o)
2661 
2662 
2663 # Register SmoothingFunction in _IMP_atom:
2664 _IMP_atom.SmoothingFunction_swigregister(SmoothingFunction)
2665 class ForceSwitch(SmoothingFunction):
2666  r"""Proxy of C++ IMP::atom::ForceSwitch class."""
2667 
2668  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2669 
2670  def __init__(self, min_distance, max_distance):
2671  r"""__init__(ForceSwitch self, double min_distance, double max_distance) -> ForceSwitch"""
2672  _IMP_atom.ForceSwitch_swiginit(self, _IMP_atom.new_ForceSwitch(min_distance, max_distance))
2673 
2674  def __call__(self, *args):
2675  r"""
2676  __call__(ForceSwitch self, double score, double distance) -> double
2677  __call__(ForceSwitch self, double score, double deriv, double distance) -> IMP::DerivativePair
2678  """
2679  return _IMP_atom.ForceSwitch___call__(self, *args)
2680 
2681  def get_version_info(self):
2682  r"""get_version_info(ForceSwitch self) -> VersionInfo"""
2683  return _IMP_atom.ForceSwitch_get_version_info(self)
2684  __swig_destroy__ = _IMP_atom.delete_ForceSwitch
2685 
2686  def __str__(self):
2687  r"""__str__(ForceSwitch self) -> std::string"""
2688  return _IMP_atom.ForceSwitch___str__(self)
2689 
2690  def __repr__(self):
2691  r"""__repr__(ForceSwitch self) -> std::string"""
2692  return _IMP_atom.ForceSwitch___repr__(self)
2693 
2694  @staticmethod
2695  def get_from(o):
2696  return _object_cast_to_ForceSwitch(o)
2697 
2698 
2699 # Register ForceSwitch in _IMP_atom:
2700 _IMP_atom.ForceSwitch_swigregister(ForceSwitch)
2701 class AngleSingletonScore(IMP.SingletonScore):
2702  r"""Proxy of C++ IMP::atom::AngleSingletonScore class."""
2703 
2704  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2705 
2706  def __init__(self, f):
2707  r"""__init__(AngleSingletonScore self, UnaryFunction f) -> AngleSingletonScore"""
2708  _IMP_atom.AngleSingletonScore_swiginit(self, _IMP_atom.new_AngleSingletonScore(f))
2709 
2710  def do_get_inputs(self, m, pis):
2711  r"""do_get_inputs(AngleSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
2712  return _IMP_atom.AngleSingletonScore_do_get_inputs(self, m, pis)
2713 
2714  def get_version_info(self):
2715  r"""get_version_info(AngleSingletonScore self) -> VersionInfo"""
2716  return _IMP_atom.AngleSingletonScore_get_version_info(self)
2717  __swig_destroy__ = _IMP_atom.delete_AngleSingletonScore
2718 
2719  def __str__(self):
2720  r"""__str__(AngleSingletonScore self) -> std::string"""
2721  return _IMP_atom.AngleSingletonScore___str__(self)
2722 
2723  def __repr__(self):
2724  r"""__repr__(AngleSingletonScore self) -> std::string"""
2725  return _IMP_atom.AngleSingletonScore___repr__(self)
2726 
2727  @staticmethod
2728  def get_from(o):
2729  return _object_cast_to_AngleSingletonScore(o)
2730 
2731 
2732 # Register AngleSingletonScore in _IMP_atom:
2733 _IMP_atom.AngleSingletonScore_swigregister(AngleSingletonScore)
2734 class BondEndpointsRefiner(IMP.Refiner):
2735  r"""Proxy of C++ IMP::atom::BondEndpointsRefiner class."""
2736 
2737  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2738 
2739  def __init__(self):
2740  r"""__init__(BondEndpointsRefiner self) -> BondEndpointsRefiner"""
2741  _IMP_atom.BondEndpointsRefiner_swiginit(self, _IMP_atom.new_BondEndpointsRefiner())
2742 
2743  def do_get_inputs(self, m, pis):
2744  r"""do_get_inputs(BondEndpointsRefiner self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
2745  return _IMP_atom.BondEndpointsRefiner_do_get_inputs(self, m, pis)
2746 
2747  def get_version_info(self):
2748  r"""get_version_info(BondEndpointsRefiner self) -> VersionInfo"""
2749  return _IMP_atom.BondEndpointsRefiner_get_version_info(self)
2750  __swig_destroy__ = _IMP_atom.delete_BondEndpointsRefiner
2751 
2752  def __str__(self):
2753  r"""__str__(BondEndpointsRefiner self) -> std::string"""
2754  return _IMP_atom.BondEndpointsRefiner___str__(self)
2755 
2756  def __repr__(self):
2757  r"""__repr__(BondEndpointsRefiner self) -> std::string"""
2758  return _IMP_atom.BondEndpointsRefiner___repr__(self)
2759 
2760  @staticmethod
2761  def get_from(o):
2762  return _object_cast_to_BondEndpointsRefiner(o)
2763 
2764 
2765 # Register BondEndpointsRefiner in _IMP_atom:
2766 _IMP_atom.BondEndpointsRefiner_swigregister(BondEndpointsRefiner)
2767 class BondPairContainer(IMP.PairContainer):
2768  r"""Proxy of C++ IMP::atom::BondPairContainer class."""
2769 
2770  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2771 
2772  def __init__(self, sc):
2773  r"""__init__(BondPairContainer self, SingletonContainer sc) -> BondPairContainer"""
2774  _IMP_atom.BondPairContainer_swiginit(self, _IMP_atom.new_BondPairContainer(sc))
2775 
2776  def do_get_inputs(self):
2777  r"""do_get_inputs(BondPairContainer self) -> IMP::ModelObjectsTemp"""
2778  return _IMP_atom.BondPairContainer_do_get_inputs(self)
2779 
2780  def do_apply(self, sm):
2781  r"""do_apply(BondPairContainer self, PairModifier sm)"""
2782  return _IMP_atom.BondPairContainer_do_apply(self, sm)
2783 
2784  def do_apply_moved(self, sm, moved_pis, reset_pis):
2785  r"""do_apply_moved(BondPairContainer self, PairModifier sm, IMP::ParticleIndexes const & moved_pis, IMP::ParticleIndexes const & reset_pis)"""
2786  return _IMP_atom.BondPairContainer_do_apply_moved(self, sm, moved_pis, reset_pis)
2787 
2788  def get_version_info(self):
2789  r"""get_version_info(BondPairContainer self) -> VersionInfo"""
2790  return _IMP_atom.BondPairContainer_get_version_info(self)
2791  __swig_destroy__ = _IMP_atom.delete_BondPairContainer
2792 
2793  def __str__(self):
2794  r"""__str__(BondPairContainer self) -> std::string"""
2795  return _IMP_atom.BondPairContainer___str__(self)
2796 
2797  def __repr__(self):
2798  r"""__repr__(BondPairContainer self) -> std::string"""
2799  return _IMP_atom.BondPairContainer___repr__(self)
2800 
2801  @staticmethod
2802  def get_from(o):
2803  return _object_cast_to_BondPairContainer(o)
2804 
2805 
2806 # Register BondPairContainer in _IMP_atom:
2807 _IMP_atom.BondPairContainer_swigregister(BondPairContainer)
2808 class BondSingletonScore(IMP.SingletonScore):
2809  r"""Proxy of C++ IMP::atom::BondSingletonScore class."""
2810 
2811  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2812 
2813  def __init__(self, f):
2814  r"""__init__(BondSingletonScore self, UnaryFunction f) -> BondSingletonScore"""
2815  _IMP_atom.BondSingletonScore_swiginit(self, _IMP_atom.new_BondSingletonScore(f))
2816 
2817  def get_unary_function(self):
2818  r"""get_unary_function(BondSingletonScore self) -> UnaryFunction"""
2819  return _IMP_atom.BondSingletonScore_get_unary_function(self)
2820 
2821  def do_get_inputs(self, m, pis):
2822  r"""do_get_inputs(BondSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
2823  return _IMP_atom.BondSingletonScore_do_get_inputs(self, m, pis)
2824 
2825  def get_version_info(self):
2826  r"""get_version_info(BondSingletonScore self) -> VersionInfo"""
2827  return _IMP_atom.BondSingletonScore_get_version_info(self)
2828  __swig_destroy__ = _IMP_atom.delete_BondSingletonScore
2829 
2830  def __str__(self):
2831  r"""__str__(BondSingletonScore self) -> std::string"""
2832  return _IMP_atom.BondSingletonScore___str__(self)
2833 
2834  def __repr__(self):
2835  r"""__repr__(BondSingletonScore self) -> std::string"""
2836  return _IMP_atom.BondSingletonScore___repr__(self)
2837 
2838  @staticmethod
2839  def get_from(o):
2840  return _object_cast_to_BondSingletonScore(o)
2841 
2842 
2843 # Register BondSingletonScore in _IMP_atom:
2844 _IMP_atom.BondSingletonScore_swigregister(BondSingletonScore)
2845 class DihedralSingletonScore(IMP.SingletonScore):
2846  r"""Proxy of C++ IMP::atom::DihedralSingletonScore class."""
2847 
2848  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2849 
2850  def __init__(self):
2851  r"""__init__(DihedralSingletonScore self) -> DihedralSingletonScore"""
2852  _IMP_atom.DihedralSingletonScore_swiginit(self, _IMP_atom.new_DihedralSingletonScore())
2853 
2854  def do_get_inputs(self, m, pis):
2855  r"""do_get_inputs(DihedralSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
2856  return _IMP_atom.DihedralSingletonScore_do_get_inputs(self, m, pis)
2857 
2858  def get_version_info(self):
2859  r"""get_version_info(DihedralSingletonScore self) -> VersionInfo"""
2860  return _IMP_atom.DihedralSingletonScore_get_version_info(self)
2861  __swig_destroy__ = _IMP_atom.delete_DihedralSingletonScore
2862 
2863  def __str__(self):
2864  r"""__str__(DihedralSingletonScore self) -> std::string"""
2865  return _IMP_atom.DihedralSingletonScore___str__(self)
2866 
2867  def __repr__(self):
2868  r"""__repr__(DihedralSingletonScore self) -> std::string"""
2869  return _IMP_atom.DihedralSingletonScore___repr__(self)
2870 
2871  @staticmethod
2872  def get_from(o):
2873  return _object_cast_to_DihedralSingletonScore(o)
2874 
2875 
2876  def _get_as_binary(self):
2877  r"""_get_as_binary(DihedralSingletonScore self) -> PyObject *"""
2878  return _IMP_atom.DihedralSingletonScore__get_as_binary(self)
2879 
2880  def _set_from_binary(self, p):
2881  r"""_set_from_binary(DihedralSingletonScore self, PyObject * p)"""
2882  return _IMP_atom.DihedralSingletonScore__set_from_binary(self, p)
2883 
2884  def __getstate__(self):
2885  p = self._get_as_binary()
2886  if len(self.__dict__) > 1:
2887  d = self.__dict__.copy()
2888  del d['this']
2889  p = (d, p)
2890  return p
2891 
2892  def __setstate__(self, p):
2893  if not hasattr(self, 'this'):
2894  self.__init__()
2895  if isinstance(p, tuple):
2896  d, p = p
2897  self.__dict__.update(d)
2898  return self._set_from_binary(p)
2899 
2900 
2901 # Register DihedralSingletonScore in _IMP_atom:
2902 _IMP_atom.DihedralSingletonScore_swigregister(DihedralSingletonScore)
2903 class ImproperSingletonScore(IMP.SingletonScore):
2904  r"""Proxy of C++ IMP::atom::ImproperSingletonScore class."""
2905 
2906  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2907 
2908  def __init__(self, f):
2909  r"""__init__(ImproperSingletonScore self, UnaryFunction f) -> ImproperSingletonScore"""
2910  _IMP_atom.ImproperSingletonScore_swiginit(self, _IMP_atom.new_ImproperSingletonScore(f))
2911 
2912  def do_get_inputs(self, m, pis):
2913  r"""do_get_inputs(ImproperSingletonScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
2914  return _IMP_atom.ImproperSingletonScore_do_get_inputs(self, m, pis)
2915 
2916  def get_version_info(self):
2917  r"""get_version_info(ImproperSingletonScore self) -> VersionInfo"""
2918  return _IMP_atom.ImproperSingletonScore_get_version_info(self)
2919  __swig_destroy__ = _IMP_atom.delete_ImproperSingletonScore
2920 
2921  def __str__(self):
2922  r"""__str__(ImproperSingletonScore self) -> std::string"""
2923  return _IMP_atom.ImproperSingletonScore___str__(self)
2924 
2925  def __repr__(self):
2926  r"""__repr__(ImproperSingletonScore self) -> std::string"""
2927  return _IMP_atom.ImproperSingletonScore___repr__(self)
2928 
2929  @staticmethod
2930  def get_from(o):
2931  return _object_cast_to_ImproperSingletonScore(o)
2932 
2933 
2934 # Register ImproperSingletonScore in _IMP_atom:
2935 _IMP_atom.ImproperSingletonScore_swigregister(ImproperSingletonScore)
2936 class CenterOfMass(IMP.Decorator):
2937  r"""Proxy of C++ IMP::atom::CenterOfMass class."""
2938 
2939  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
2940 
2941  def get_constraint(self):
2942  r"""get_constraint(CenterOfMass self) -> Constraint"""
2943  return _IMP_atom.CenterOfMass_get_constraint(self)
2944 
2945  def get_mass(self):
2946  r"""get_mass(CenterOfMass self) -> IMP::Float"""
2947  return _IMP_atom.CenterOfMass_get_mass(self)
2948 
2949  def get_coordinate(self, i):
2950  r"""get_coordinate(CenterOfMass self, int i) -> IMP::Float"""
2951  return _IMP_atom.CenterOfMass_get_coordinate(self, i)
2952 
2953  def get_coordinates(self):
2954  r"""get_coordinates(CenterOfMass self) -> Vector3D"""
2955  return _IMP_atom.CenterOfMass_get_coordinates(self)
2956 
2957  def __init__(self, *args):
2958  r"""
2959  __init__(CenterOfMass self) -> CenterOfMass
2960  __init__(CenterOfMass self, Model m, ParticleIndex id) -> CenterOfMass
2961  __init__(CenterOfMass self, _ParticleAdaptor d) -> CenterOfMass
2962  """
2963  _IMP_atom.CenterOfMass_swiginit(self, _IMP_atom.new_CenterOfMass(*args))
2964 
2965  def show(self, *args):
2966  r"""show(CenterOfMass self, _ostream out=std::cout)"""
2967  return _IMP_atom.CenterOfMass_show(self, *args)
2968 
2969  @staticmethod
2970  def setup_particle(*args):
2971  r"""
2972  setup_particle(Model m, ParticleIndex pi, _ParticleIndexesAdaptor members) -> CenterOfMass
2973  setup_particle(_ParticleAdaptor pa, _ParticleIndexesAdaptor members) -> CenterOfMass
2974  setup_particle(Model m, ParticleIndex pi, Refiner refiner) -> CenterOfMass
2975  setup_particle(_ParticleAdaptor pa, Refiner refiner) -> CenterOfMass
2976  """
2977  return _IMP_atom.CenterOfMass_setup_particle(*args)
2978 
2979  @staticmethod
2980  def teardown_particle(com):
2981  r"""teardown_particle(CenterOfMass com)"""
2982  return _IMP_atom.CenterOfMass_teardown_particle(com)
2983 
2984  @staticmethod
2985  def get_is_setup(*args):
2986  r"""
2987  get_is_setup(_ParticleAdaptor p) -> bool
2988  get_is_setup(Model m, ParticleIndex pi) -> bool
2989  """
2990  return _IMP_atom.CenterOfMass_get_is_setup(*args)
2991 
2992  def add_attribute(self, *args):
2993  r"""
2994  add_attribute(CenterOfMass self, FloatKey k, IMP::Float v, bool opt)
2995  add_attribute(CenterOfMass self, FloatKey a0, IMP::Float a1)
2996  add_attribute(CenterOfMass self, IntKey a0, IMP::Int a1)
2997  add_attribute(CenterOfMass self, FloatsKey a0, IMP::Floats a1)
2998  add_attribute(CenterOfMass self, IntsKey a0, IMP::Ints a1)
2999  add_attribute(CenterOfMass self, StringKey a0, IMP::String a1)
3000  add_attribute(CenterOfMass self, ParticleIndexKey a0, Particle a1)
3001  add_attribute(CenterOfMass self, ObjectKey a0, Object a1)
3002  """
3003  return _IMP_atom.CenterOfMass_add_attribute(self, *args)
3004 
3005  def get_value(self, *args):
3006  r"""
3007  get_value(CenterOfMass self, FloatKey a0) -> IMP::Float
3008  get_value(CenterOfMass self, IntKey a0) -> IMP::Int
3009  get_value(CenterOfMass self, FloatsKey a0) -> IMP::Floats
3010  get_value(CenterOfMass self, IntsKey a0) -> IMP::Ints
3011  get_value(CenterOfMass self, StringKey a0) -> IMP::String
3012  get_value(CenterOfMass self, ParticleIndexKey a0) -> Particle
3013  get_value(CenterOfMass self, ObjectKey a0) -> Object
3014  """
3015  return _IMP_atom.CenterOfMass_get_value(self, *args)
3016 
3017  def set_value(self, *args):
3018  r"""
3019  set_value(CenterOfMass self, FloatKey a0, IMP::Float a1)
3020  set_value(CenterOfMass self, IntKey a0, IMP::Int a1)
3021  set_value(CenterOfMass self, FloatsKey a0, IMP::Floats a1)
3022  set_value(CenterOfMass self, IntsKey a0, IMP::Ints a1)
3023  set_value(CenterOfMass self, StringKey a0, IMP::String a1)
3024  set_value(CenterOfMass self, ParticleIndexKey a0, Particle a1)
3025  set_value(CenterOfMass self, ObjectKey a0, Object a1)
3026  """
3027  return _IMP_atom.CenterOfMass_set_value(self, *args)
3028 
3029  def remove_attribute(self, *args):
3030  r"""
3031  remove_attribute(CenterOfMass self, FloatKey a0)
3032  remove_attribute(CenterOfMass self, IntKey a0)
3033  remove_attribute(CenterOfMass self, FloatsKey a0)
3034  remove_attribute(CenterOfMass self, IntsKey a0)
3035  remove_attribute(CenterOfMass self, StringKey a0)
3036  remove_attribute(CenterOfMass self, ParticleIndexKey a0)
3037  remove_attribute(CenterOfMass self, ObjectKey a0)
3038  """
3039  return _IMP_atom.CenterOfMass_remove_attribute(self, *args)
3040 
3041  def has_attribute(self, *args):
3042  r"""
3043  has_attribute(CenterOfMass self, FloatKey a0) -> bool
3044  has_attribute(CenterOfMass self, IntKey a0) -> bool
3045  has_attribute(CenterOfMass self, FloatsKey a0) -> bool
3046  has_attribute(CenterOfMass self, IntsKey a0) -> bool
3047  has_attribute(CenterOfMass self, StringKey a0) -> bool
3048  has_attribute(CenterOfMass self, ParticleIndexKey a0) -> bool
3049  has_attribute(CenterOfMass self, ObjectKey a0) -> bool
3050  """
3051  return _IMP_atom.CenterOfMass_has_attribute(self, *args)
3052 
3053  def get_derivative(self, a0):
3054  r"""get_derivative(CenterOfMass self, FloatKey a0) -> double"""
3055  return _IMP_atom.CenterOfMass_get_derivative(self, a0)
3056 
3057  def get_name(self):
3058  r"""get_name(CenterOfMass self) -> std::string"""
3059  return _IMP_atom.CenterOfMass_get_name(self)
3060 
3061  def clear_caches(self):
3062  r"""clear_caches(CenterOfMass self)"""
3063  return _IMP_atom.CenterOfMass_clear_caches(self)
3064 
3065  def set_name(self, a0):
3066  r"""set_name(CenterOfMass self, std::string a0)"""
3067  return _IMP_atom.CenterOfMass_set_name(self, a0)
3068 
3069  def set_check_level(self, a0):
3070  r"""set_check_level(CenterOfMass self, IMP::CheckLevel a0)"""
3071  return _IMP_atom.CenterOfMass_set_check_level(self, a0)
3072 
3073  def add_to_derivative(self, a0, a1, a2):
3074  r"""add_to_derivative(CenterOfMass self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3075  return _IMP_atom.CenterOfMass_add_to_derivative(self, a0, a1, a2)
3076 
3077  def set_is_optimized(self, a0, a1):
3078  r"""set_is_optimized(CenterOfMass self, FloatKey a0, bool a1)"""
3079  return _IMP_atom.CenterOfMass_set_is_optimized(self, a0, a1)
3080 
3081  def get_is_optimized(self, a0):
3082  r"""get_is_optimized(CenterOfMass self, FloatKey a0) -> bool"""
3083  return _IMP_atom.CenterOfMass_get_is_optimized(self, a0)
3084 
3085  def get_check_level(self):
3086  r"""get_check_level(CenterOfMass self) -> IMP::CheckLevel"""
3087  return _IMP_atom.CenterOfMass_get_check_level(self)
3088 
3089  def __eq__(self, *args):
3090  r"""
3091  __eq__(CenterOfMass self, CenterOfMass o) -> bool
3092  __eq__(CenterOfMass self, Particle d) -> bool
3093  """
3094  return _IMP_atom.CenterOfMass___eq__(self, *args)
3095 
3096  def __ne__(self, *args):
3097  r"""
3098  __ne__(CenterOfMass self, CenterOfMass o) -> bool
3099  __ne__(CenterOfMass self, Particle d) -> bool
3100  """
3101  return _IMP_atom.CenterOfMass___ne__(self, *args)
3102 
3103  def __le__(self, *args):
3104  r"""
3105  __le__(CenterOfMass self, CenterOfMass o) -> bool
3106  __le__(CenterOfMass self, Particle d) -> bool
3107  """
3108  return _IMP_atom.CenterOfMass___le__(self, *args)
3109 
3110  def __lt__(self, *args):
3111  r"""
3112  __lt__(CenterOfMass self, CenterOfMass o) -> bool
3113  __lt__(CenterOfMass self, Particle d) -> bool
3114  """
3115  return _IMP_atom.CenterOfMass___lt__(self, *args)
3116 
3117  def __ge__(self, *args):
3118  r"""
3119  __ge__(CenterOfMass self, CenterOfMass o) -> bool
3120  __ge__(CenterOfMass self, Particle d) -> bool
3121  """
3122  return _IMP_atom.CenterOfMass___ge__(self, *args)
3123 
3124  def __gt__(self, *args):
3125  r"""
3126  __gt__(CenterOfMass self, CenterOfMass o) -> bool
3127  __gt__(CenterOfMass self, Particle d) -> bool
3128  """
3129  return _IMP_atom.CenterOfMass___gt__(self, *args)
3130 
3131  def __hash__(self):
3132  r"""__hash__(CenterOfMass self) -> std::size_t"""
3133  return _IMP_atom.CenterOfMass___hash__(self)
3134 
3135  def __str__(self):
3136  r"""__str__(CenterOfMass self) -> std::string"""
3137  return _IMP_atom.CenterOfMass___str__(self)
3138 
3139  def __repr__(self):
3140  r"""__repr__(CenterOfMass self) -> std::string"""
3141  return _IMP_atom.CenterOfMass___repr__(self)
3142 
3143  def _get_as_binary(self):
3144  r"""_get_as_binary(CenterOfMass self) -> PyObject *"""
3145  return _IMP_atom.CenterOfMass__get_as_binary(self)
3146 
3147  def _set_from_binary(self, p):
3148  r"""_set_from_binary(CenterOfMass self, PyObject * p)"""
3149  return _IMP_atom.CenterOfMass__set_from_binary(self, p)
3150 
3151  def __getstate__(self):
3152  p = self._get_as_binary()
3153  if len(self.__dict__) > 1:
3154  d = self.__dict__.copy()
3155  del d['this']
3156  p = (d, p)
3157  return p
3158 
3159  def __setstate__(self, p):
3160  if not hasattr(self, 'this'):
3161  self.__init__()
3162  if isinstance(p, tuple):
3163  d, p = p
3164  self.__dict__.update(d)
3165  return self._set_from_binary(p)
3166 
3167  __swig_destroy__ = _IMP_atom.delete_CenterOfMass
3168 
3169 # Register CenterOfMass in _IMP_atom:
3170 _IMP_atom.CenterOfMass_swigregister(CenterOfMass)
3171 class CoverBond(IMP.SingletonModifier):
3172  r"""Proxy of C++ IMP::atom::CoverBond class."""
3173 
3174  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3175 
3176  def __init__(self):
3177  r"""__init__(CoverBond self) -> CoverBond"""
3178  _IMP_atom.CoverBond_swiginit(self, _IMP_atom.new_CoverBond())
3179 
3180  def do_get_inputs(self, m, pis):
3181  r"""do_get_inputs(CoverBond self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3182  return _IMP_atom.CoverBond_do_get_inputs(self, m, pis)
3183 
3184  def do_get_outputs(self, m, pis):
3185  r"""do_get_outputs(CoverBond self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
3186  return _IMP_atom.CoverBond_do_get_outputs(self, m, pis)
3187 
3188  def get_version_info(self):
3189  r"""get_version_info(CoverBond self) -> VersionInfo"""
3190  return _IMP_atom.CoverBond_get_version_info(self)
3191  __swig_destroy__ = _IMP_atom.delete_CoverBond
3192 
3193  def __str__(self):
3194  r"""__str__(CoverBond self) -> std::string"""
3195  return _IMP_atom.CoverBond___str__(self)
3196 
3197  def __repr__(self):
3198  r"""__repr__(CoverBond self) -> std::string"""
3199  return _IMP_atom.CoverBond___repr__(self)
3200 
3201  @staticmethod
3202  def get_from(o):
3203  return _object_cast_to_CoverBond(o)
3204 
3205 
3206 # Register CoverBond in _IMP_atom:
3207 _IMP_atom.CoverBond_swigregister(CoverBond)
3208 class Simulator(IMP.Optimizer):
3209  r"""Proxy of C++ IMP::atom::Simulator class."""
3210 
3211  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3212 
3213  def __init__(self, *args):
3214  r"""__init__(Simulator self, Model m, std::string name="Simulator %1%", double wave_factor=1.0) -> Simulator"""
3215  if self.__class__ == Simulator:
3216  _self = None
3217  else:
3218  _self = self
3219  _IMP_atom.Simulator_swiginit(self, _IMP_atom.new_Simulator(_self, *args))
3220 
3221  if self.__class__ != Simulator:
3222  _director_objects.register(self)
3223 
3224 
3225 
3226 
3227  def simulate(self, time_in_fs):
3228  r"""simulate(Simulator self, double time_in_fs) -> double"""
3229  return _IMP_atom.Simulator_simulate(self, time_in_fs)
3230 
3231  def simulate_wave(self, time_in_fs, max_time_step_factor=10.0, base=1.5):
3232  r"""simulate_wave(Simulator self, double time_in_fs, double max_time_step_factor=10.0, double base=1.5) -> double"""
3233  return _IMP_atom.Simulator_simulate_wave(self, time_in_fs, max_time_step_factor, base)
3234 
3235  def get_temperature(self):
3236  r"""get_temperature(Simulator self) -> double"""
3237  return _IMP_atom.Simulator_get_temperature(self)
3238 
3239  def set_temperature(self, d):
3240  r"""set_temperature(Simulator self, double d)"""
3241  return _IMP_atom.Simulator_set_temperature(self, d)
3242 
3243  def set_maximum_time_step(self, ts):
3244  r"""set_maximum_time_step(Simulator self, double ts)"""
3245  return _IMP_atom.Simulator_set_maximum_time_step(self, ts)
3246 
3247  def get_maximum_time_step(self):
3248  r"""get_maximum_time_step(Simulator self) -> double"""
3249  return _IMP_atom.Simulator_get_maximum_time_step(self)
3250 
3251  def get_last_time_step(self):
3252  r"""get_last_time_step(Simulator self) -> double"""
3253  return _IMP_atom.Simulator_get_last_time_step(self)
3254 
3255  def set_time_step(self, ts):
3256  r"""set_time_step(Simulator self, double ts)"""
3257  return _IMP_atom.Simulator_set_time_step(self, ts)
3258 
3259  def get_kt(self):
3260  r"""get_kt(Simulator self) -> double"""
3261  return _IMP_atom.Simulator_get_kt(self)
3262 
3263  def get_current_time(self):
3264  r"""get_current_time(Simulator self) -> double"""
3265  return _IMP_atom.Simulator_get_current_time(self)
3266 
3267  def set_current_time(self, ct):
3268  r"""set_current_time(Simulator self, double ct)"""
3269  return _IMP_atom.Simulator_set_current_time(self, ct)
3270 
3271  def get_simulation_particles(self):
3272  r"""get_simulation_particles(Simulator self) -> IMP::ParticlesTemp"""
3273  return _IMP_atom.Simulator_get_simulation_particles(self)
3274 
3275  def get_simulation_particle_indexes(self):
3276  r"""get_simulation_particle_indexes(Simulator self) -> IMP::ParticleIndexes"""
3277  return _IMP_atom.Simulator_get_simulation_particle_indexes(self)
3278  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)
3279  def __set_particles(self, obj): IMP._list_util.set_varlist(self.particles, obj)
3280  def __del_particles(self): IMP._list_util.del_varlist(self.particles)
3281  particles = property(__get_particles, __set_particles, __del_particles, doc="List of ##ucnames")
3282 
3283  def remove_particle(self, d):
3284  r"""remove_particle(Simulator self, Particle d)"""
3285  return _IMP_atom.Simulator_remove_particle(self, d)
3286 
3287  def _python_index_particle(self, d, start, stop):
3288  r"""_python_index_particle(Simulator self, Particle d, unsigned int start, unsigned int stop) -> unsigned int"""
3289  return _IMP_atom.Simulator__python_index_particle(self, d, start, stop)
3290 
3291  def remove_particles(self, d):
3292  r"""remove_particles(Simulator self, IMP::Particles const & d)"""
3293  return _IMP_atom.Simulator_remove_particles(self, d)
3294 
3295  def set_particles(self, ps):
3296  r"""set_particles(Simulator self, IMP::Particles const & ps)"""
3297  return _IMP_atom.Simulator_set_particles(self, ps)
3298 
3299  def set_particles_order(self, objs):
3300  r"""set_particles_order(Simulator self, IMP::Particles const & objs)"""
3301  return _IMP_atom.Simulator_set_particles_order(self, objs)
3302 
3303  def add_particle(self, obj):
3304  r"""add_particle(Simulator self, Particle obj) -> unsigned int"""
3305  return _IMP_atom.Simulator_add_particle(self, obj)
3306 
3307  def add_particles(self, objs):
3308  r"""add_particles(Simulator self, IMP::Particles const & objs)"""
3309  return _IMP_atom.Simulator_add_particles(self, objs)
3310 
3311  def clear_particles(self):
3312  r"""clear_particles(Simulator self)"""
3313  return _IMP_atom.Simulator_clear_particles(self)
3314 
3315  def get_number_of_particles(self):
3316  r"""get_number_of_particles(Simulator self) -> unsigned int"""
3317  return _IMP_atom.Simulator_get_number_of_particles(self)
3318 
3319  def get_has_particles(self):
3320  r"""get_has_particles(Simulator self) -> bool"""
3321  return _IMP_atom.Simulator_get_has_particles(self)
3322 
3323  def get_particle(self, i):
3324  r"""get_particle(Simulator self, unsigned int i) -> Particle"""
3325  return _IMP_atom.Simulator_get_particle(self, i)
3326 
3327  def get_particles(self):
3328  r"""get_particles(Simulator self) -> IMP::Particles"""
3329  return _IMP_atom.Simulator_get_particles(self)
3330 
3331  def erase_particle(self, i):
3332  r"""erase_particle(Simulator self, unsigned int i)"""
3333  return _IMP_atom.Simulator_erase_particle(self, i)
3334 
3335  def reserve_particles(self, sz):
3336  r"""reserve_particles(Simulator self, unsigned int sz)"""
3337  return _IMP_atom.Simulator_reserve_particles(self, sz)
3338 
3339  def do_optimize(self, max_steps):
3340  r"""do_optimize(Simulator self, unsigned int max_steps) -> IMP::Float"""
3341  return _IMP_atom.Simulator_do_optimize(self, max_steps)
3342 
3343  def setup(self, arg0):
3344  r"""setup(Simulator self, IMP::ParticleIndexes const & arg0)"""
3345  return _IMP_atom.Simulator_setup(self, arg0)
3346 
3347  def do_step(self, sc, dt):
3348  r"""do_step(Simulator self, IMP::ParticleIndexes const & sc, double dt) -> double"""
3349  return _IMP_atom.Simulator_do_step(self, sc, dt)
3350 
3351  def get_is_simulation_particle(self, p):
3352  r"""get_is_simulation_particle(Simulator self, ParticleIndex p) -> bool"""
3353  return _IMP_atom.Simulator_get_is_simulation_particle(self, p)
3354 
3355  def do_simulate(self, time):
3356  r"""do_simulate(Simulator self, double time) -> double"""
3357  return _IMP_atom.Simulator_do_simulate(self, time)
3358 
3359  def do_simulate_wave(self, time_in_fs, max_time_step_factor=10.0, base=1.5):
3360  r"""do_simulate_wave(Simulator self, double time_in_fs, double max_time_step_factor=10.0, double base=1.5) -> double"""
3361  return _IMP_atom.Simulator_do_simulate_wave(self, time_in_fs, max_time_step_factor, base)
3362 
3363  def __str__(self):
3364  r"""__str__(Simulator self) -> std::string"""
3365  return _IMP_atom.Simulator___str__(self)
3366 
3367  def __repr__(self):
3368  r"""__repr__(Simulator self) -> std::string"""
3369  return _IMP_atom.Simulator___repr__(self)
3370 
3371  @staticmethod
3372  def get_from(o):
3373  return _object_cast_to_Simulator(o)
3374 
3375 
3376  def get_type_name(self):
3377  return self.__class__.__name__
3378  def do_show(self, out):
3379  pass
3380  def get_version_info(self):
3381  if"IMP::atom" == "IMP":
3382  return VersionInfo(self.__module__,
3383  __import__(self.__module__).get_module_version())
3384  else:
3385  return IMP.VersionInfo(self.__module__,
3386  __import__(self.__module__).get_module_version())
3387  @staticmethod
3388  def get_from(o):
3389  return _object_cast_to_Simulator(o)
3390 
3391  __swig_destroy__ = _IMP_atom.delete_Simulator
3392  def __disown__(self):
3393  self.this.disown()
3394  _IMP_atom.disown_Simulator(self)
3395  return weakref.proxy(self)
3396 
3397  def do_destroy(self):
3398  r"""do_destroy(Simulator self)"""
3399  return _IMP_atom.Simulator_do_destroy(self)
3400 
3401  def handle_set_has_required_score_states(self, arg0):
3402  r"""handle_set_has_required_score_states(Simulator self, bool arg0)"""
3403  return _IMP_atom.Simulator_handle_set_has_required_score_states(self, arg0)
3404 
3405  def do_get_inputs(self):
3406  r"""do_get_inputs(Simulator self) -> IMP::ModelObjectsTemp"""
3407  return _IMP_atom.Simulator_do_get_inputs(self)
3408 
3409  def do_get_outputs(self):
3410  r"""do_get_outputs(Simulator self) -> IMP::ModelObjectsTemp"""
3411  return _IMP_atom.Simulator_do_get_outputs(self)
3412 
3413  def do_get_interactions(self):
3414  r"""do_get_interactions(Simulator self) -> IMP::ModelObjectsTemps"""
3415  return _IMP_atom.Simulator_do_get_interactions(self)
3416 
3417 # Register Simulator in _IMP_atom:
3418 _IMP_atom.Simulator_swigregister(Simulator)
3419 IMP_ATOM_DEFAULT_BD_RANDOM_POOL_SIZE = _IMP_atom.IMP_ATOM_DEFAULT_BD_RANDOM_POOL_SIZE
3420 
3421 class BrownianDynamics(Simulator):
3422  r"""Proxy of C++ IMP::atom::BrownianDynamics class."""
3423 
3424  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3425 
3426  def __init__(self, *args):
3427  r"""__init__(BrownianDynamics self, Model m, std::string name="BrownianDynamics%1%", double wave_factor=1.0, unsigned int random_pool_size=10000) -> BrownianDynamics"""
3428  _IMP_atom.BrownianDynamics_swiginit(self, _IMP_atom.new_BrownianDynamics(*args))
3429 
3430  def set_maximum_move(self, ms_in_A):
3431  r"""set_maximum_move(BrownianDynamics self, double ms_in_A)"""
3432  return _IMP_atom.BrownianDynamics_set_maximum_move(self, ms_in_A)
3433 
3434  def set_use_stochastic_runge_kutta(self, tf):
3435  r"""set_use_stochastic_runge_kutta(BrownianDynamics self, bool tf)"""
3436  return _IMP_atom.BrownianDynamics_set_use_stochastic_runge_kutta(self, tf)
3437 
3438  def get_version_info(self):
3439  r"""get_version_info(BrownianDynamics self) -> VersionInfo"""
3440  return _IMP_atom.BrownianDynamics_get_version_info(self)
3441  __swig_destroy__ = _IMP_atom.delete_BrownianDynamics
3442 
3443  def __str__(self):
3444  r"""__str__(BrownianDynamics self) -> std::string"""
3445  return _IMP_atom.BrownianDynamics___str__(self)
3446 
3447  def __repr__(self):
3448  r"""__repr__(BrownianDynamics self) -> std::string"""
3449  return _IMP_atom.BrownianDynamics___repr__(self)
3450 
3451  @staticmethod
3452  def get_from(o):
3453  return _object_cast_to_BrownianDynamics(o)
3454 
3455 
3456 # Register BrownianDynamics in _IMP_atom:
3457 _IMP_atom.BrownianDynamics_swigregister(BrownianDynamics)
3458 
3460  r"""get_maximum_time_step_estimate(BrownianDynamics bd) -> double"""
3461  return _IMP_atom.get_maximum_time_step_estimate(bd)
3462 
3463 def get_harmonic_sigma(D, f):
3464  r"""get_harmonic_sigma(double D, double f) -> double"""
3465  return _IMP_atom.get_harmonic_sigma(D, f)
3466 class BrownianDynamicsTAMD(BrownianDynamics):
3467  r"""Proxy of C++ IMP::atom::BrownianDynamicsTAMD class."""
3468 
3469  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3470 
3471  def __init__(self, *args):
3472  r"""__init__(BrownianDynamicsTAMD self, Model m, std::string name="BrownianDynamicsTAMD%1%", double wave_factor=1.0) -> BrownianDynamicsTAMD"""
3473  _IMP_atom.BrownianDynamicsTAMD_swiginit(self, _IMP_atom.new_BrownianDynamicsTAMD(*args))
3474 
3475  def __str__(self):
3476  r"""__str__(BrownianDynamicsTAMD self) -> std::string"""
3477  return _IMP_atom.BrownianDynamicsTAMD___str__(self)
3478 
3479  def __repr__(self):
3480  r"""__repr__(BrownianDynamicsTAMD self) -> std::string"""
3481  return _IMP_atom.BrownianDynamicsTAMD___repr__(self)
3482 
3483  @staticmethod
3484  def get_from(o):
3485  return _object_cast_to_BrownianDynamicsTAMD(o)
3486 
3487  __swig_destroy__ = _IMP_atom.delete_BrownianDynamicsTAMD
3488 
3489 # Register BrownianDynamicsTAMD in _IMP_atom:
3490 _IMP_atom.BrownianDynamicsTAMD_swigregister(BrownianDynamicsTAMD)
3491 class Diffusion(IMP.core.XYZ):
3492  r"""Proxy of C++ IMP::atom::Diffusion class."""
3493 
3494  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3495 
3496  def __init__(self, *args):
3497  r"""
3498  __init__(Diffusion self) -> Diffusion
3499  __init__(Diffusion self, Model m, ParticleIndex id) -> Diffusion
3500  __init__(Diffusion self, _ParticleAdaptor d) -> Diffusion
3501  """
3502  _IMP_atom.Diffusion_swiginit(self, _IMP_atom.new_Diffusion(*args))
3503 
3504  def show(self, *args):
3505  r"""show(Diffusion self, _ostream out=std::cout)"""
3506  return _IMP_atom.Diffusion_show(self, *args)
3507 
3508  @staticmethod
3509  def setup_particle(*args):
3510  r"""
3511  setup_particle(Model m, ParticleIndex pi, IMP::Float D) -> Diffusion
3512  setup_particle(_ParticleAdaptor pa, IMP::Float D) -> Diffusion
3513  setup_particle(Model m, ParticleIndex pi, Vector3D v, IMP::Float D) -> Diffusion
3514  setup_particle(_ParticleAdaptor pa, Vector3D v, IMP::Float D) -> Diffusion
3515  setup_particle(Model m, ParticleIndex pi) -> Diffusion
3516  setup_particle(_ParticleAdaptor pa) -> Diffusion
3517  """
3518  return _IMP_atom.Diffusion_setup_particle(*args)
3519 
3520  @staticmethod
3521  def get_is_setup(*args):
3522  r"""
3523  get_is_setup(_ParticleAdaptor p) -> bool
3524  get_is_setup(Model m, ParticleIndex p) -> bool
3525  """
3526  return _IMP_atom.Diffusion_get_is_setup(*args)
3527 
3528  def set_diffusion_coefficient(self, d):
3529  r"""set_diffusion_coefficient(Diffusion self, double d)"""
3530  return _IMP_atom.Diffusion_set_diffusion_coefficient(self, d)
3531 
3532  def get_diffusion_coefficient(self):
3533  r"""get_diffusion_coefficient(Diffusion self) -> double"""
3534  return _IMP_atom.Diffusion_get_diffusion_coefficient(self)
3535 
3536  @staticmethod
3537  def get_diffusion_coefficient_key():
3538  r"""get_diffusion_coefficient_key() -> FloatKey"""
3539  return _IMP_atom.Diffusion_get_diffusion_coefficient_key()
3540 
3541  def add_attribute(self, *args):
3542  r"""
3543  add_attribute(Diffusion self, FloatKey k, IMP::Float v, bool opt)
3544  add_attribute(Diffusion self, FloatKey a0, IMP::Float a1)
3545  add_attribute(Diffusion self, IntKey a0, IMP::Int a1)
3546  add_attribute(Diffusion self, FloatsKey a0, IMP::Floats a1)
3547  add_attribute(Diffusion self, IntsKey a0, IMP::Ints a1)
3548  add_attribute(Diffusion self, StringKey a0, IMP::String a1)
3549  add_attribute(Diffusion self, ParticleIndexKey a0, Particle a1)
3550  add_attribute(Diffusion self, ObjectKey a0, Object a1)
3551  """
3552  return _IMP_atom.Diffusion_add_attribute(self, *args)
3553 
3554  def get_value(self, *args):
3555  r"""
3556  get_value(Diffusion self, FloatKey a0) -> IMP::Float
3557  get_value(Diffusion self, IntKey a0) -> IMP::Int
3558  get_value(Diffusion self, FloatsKey a0) -> IMP::Floats
3559  get_value(Diffusion self, IntsKey a0) -> IMP::Ints
3560  get_value(Diffusion self, StringKey a0) -> IMP::String
3561  get_value(Diffusion self, ParticleIndexKey a0) -> Particle
3562  get_value(Diffusion self, ObjectKey a0) -> Object
3563  """
3564  return _IMP_atom.Diffusion_get_value(self, *args)
3565 
3566  def set_value(self, *args):
3567  r"""
3568  set_value(Diffusion self, FloatKey a0, IMP::Float a1)
3569  set_value(Diffusion self, IntKey a0, IMP::Int a1)
3570  set_value(Diffusion self, FloatsKey a0, IMP::Floats a1)
3571  set_value(Diffusion self, IntsKey a0, IMP::Ints a1)
3572  set_value(Diffusion self, StringKey a0, IMP::String a1)
3573  set_value(Diffusion self, ParticleIndexKey a0, Particle a1)
3574  set_value(Diffusion self, ObjectKey a0, Object a1)
3575  """
3576  return _IMP_atom.Diffusion_set_value(self, *args)
3577 
3578  def remove_attribute(self, *args):
3579  r"""
3580  remove_attribute(Diffusion self, FloatKey a0)
3581  remove_attribute(Diffusion self, IntKey a0)
3582  remove_attribute(Diffusion self, FloatsKey a0)
3583  remove_attribute(Diffusion self, IntsKey a0)
3584  remove_attribute(Diffusion self, StringKey a0)
3585  remove_attribute(Diffusion self, ParticleIndexKey a0)
3586  remove_attribute(Diffusion self, ObjectKey a0)
3587  """
3588  return _IMP_atom.Diffusion_remove_attribute(self, *args)
3589 
3590  def has_attribute(self, *args):
3591  r"""
3592  has_attribute(Diffusion self, FloatKey a0) -> bool
3593  has_attribute(Diffusion self, IntKey a0) -> bool
3594  has_attribute(Diffusion self, FloatsKey a0) -> bool
3595  has_attribute(Diffusion self, IntsKey a0) -> bool
3596  has_attribute(Diffusion self, StringKey a0) -> bool
3597  has_attribute(Diffusion self, ParticleIndexKey a0) -> bool
3598  has_attribute(Diffusion self, ObjectKey a0) -> bool
3599  """
3600  return _IMP_atom.Diffusion_has_attribute(self, *args)
3601 
3602  def get_derivative(self, a0):
3603  r"""get_derivative(Diffusion self, FloatKey a0) -> double"""
3604  return _IMP_atom.Diffusion_get_derivative(self, a0)
3605 
3606  def get_name(self):
3607  r"""get_name(Diffusion self) -> std::string"""
3608  return _IMP_atom.Diffusion_get_name(self)
3609 
3610  def clear_caches(self):
3611  r"""clear_caches(Diffusion self)"""
3612  return _IMP_atom.Diffusion_clear_caches(self)
3613 
3614  def set_name(self, a0):
3615  r"""set_name(Diffusion self, std::string a0)"""
3616  return _IMP_atom.Diffusion_set_name(self, a0)
3617 
3618  def set_check_level(self, a0):
3619  r"""set_check_level(Diffusion self, IMP::CheckLevel a0)"""
3620  return _IMP_atom.Diffusion_set_check_level(self, a0)
3621 
3622  def add_to_derivative(self, a0, a1, a2):
3623  r"""add_to_derivative(Diffusion self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3624  return _IMP_atom.Diffusion_add_to_derivative(self, a0, a1, a2)
3625 
3626  def set_is_optimized(self, a0, a1):
3627  r"""set_is_optimized(Diffusion self, FloatKey a0, bool a1)"""
3628  return _IMP_atom.Diffusion_set_is_optimized(self, a0, a1)
3629 
3630  def get_is_optimized(self, a0):
3631  r"""get_is_optimized(Diffusion self, FloatKey a0) -> bool"""
3632  return _IMP_atom.Diffusion_get_is_optimized(self, a0)
3633 
3634  def get_check_level(self):
3635  r"""get_check_level(Diffusion self) -> IMP::CheckLevel"""
3636  return _IMP_atom.Diffusion_get_check_level(self)
3637 
3638  def __eq__(self, *args):
3639  r"""
3640  __eq__(Diffusion self, Diffusion o) -> bool
3641  __eq__(Diffusion self, Particle d) -> bool
3642  """
3643  return _IMP_atom.Diffusion___eq__(self, *args)
3644 
3645  def __ne__(self, *args):
3646  r"""
3647  __ne__(Diffusion self, Diffusion o) -> bool
3648  __ne__(Diffusion self, Particle d) -> bool
3649  """
3650  return _IMP_atom.Diffusion___ne__(self, *args)
3651 
3652  def __le__(self, *args):
3653  r"""
3654  __le__(Diffusion self, Diffusion o) -> bool
3655  __le__(Diffusion self, Particle d) -> bool
3656  """
3657  return _IMP_atom.Diffusion___le__(self, *args)
3658 
3659  def __lt__(self, *args):
3660  r"""
3661  __lt__(Diffusion self, Diffusion o) -> bool
3662  __lt__(Diffusion self, Particle d) -> bool
3663  """
3664  return _IMP_atom.Diffusion___lt__(self, *args)
3665 
3666  def __ge__(self, *args):
3667  r"""
3668  __ge__(Diffusion self, Diffusion o) -> bool
3669  __ge__(Diffusion self, Particle d) -> bool
3670  """
3671  return _IMP_atom.Diffusion___ge__(self, *args)
3672 
3673  def __gt__(self, *args):
3674  r"""
3675  __gt__(Diffusion self, Diffusion o) -> bool
3676  __gt__(Diffusion self, Particle d) -> bool
3677  """
3678  return _IMP_atom.Diffusion___gt__(self, *args)
3679 
3680  def __hash__(self):
3681  r"""__hash__(Diffusion self) -> std::size_t"""
3682  return _IMP_atom.Diffusion___hash__(self)
3683 
3684  def __str__(self):
3685  r"""__str__(Diffusion self) -> std::string"""
3686  return _IMP_atom.Diffusion___str__(self)
3687 
3688  def __repr__(self):
3689  r"""__repr__(Diffusion self) -> std::string"""
3690  return _IMP_atom.Diffusion___repr__(self)
3691 
3692  def _get_as_binary(self):
3693  r"""_get_as_binary(Diffusion self) -> PyObject *"""
3694  return _IMP_atom.Diffusion__get_as_binary(self)
3695 
3696  def _set_from_binary(self, p):
3697  r"""_set_from_binary(Diffusion self, PyObject * p)"""
3698  return _IMP_atom.Diffusion__set_from_binary(self, p)
3699 
3700  def __getstate__(self):
3701  p = self._get_as_binary()
3702  if len(self.__dict__) > 1:
3703  d = self.__dict__.copy()
3704  del d['this']
3705  p = (d, p)
3706  return p
3707 
3708  def __setstate__(self, p):
3709  if not hasattr(self, 'this'):
3710  self.__init__()
3711  if isinstance(p, tuple):
3712  d, p = p
3713  self.__dict__.update(d)
3714  return self._set_from_binary(p)
3715 
3716  __swig_destroy__ = _IMP_atom.delete_Diffusion
3717 
3718 # Register Diffusion in _IMP_atom:
3719 _IMP_atom.Diffusion_swigregister(Diffusion)
3720 
3721 def get_diffusion_coefficient_from_cm2_per_second(din):
3722  r"""get_diffusion_coefficient_from_cm2_per_second(double din) -> double"""
3723  return _IMP_atom.get_diffusion_coefficient_from_cm2_per_second(din)
3724 class RigidBodyDiffusion(Diffusion):
3725  r"""Proxy of C++ IMP::atom::RigidBodyDiffusion class."""
3726 
3727  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3728 
3729  def __init__(self, *args):
3730  r"""
3731  __init__(RigidBodyDiffusion self) -> RigidBodyDiffusion
3732  __init__(RigidBodyDiffusion self, Model m, ParticleIndex id) -> RigidBodyDiffusion
3733  __init__(RigidBodyDiffusion self, _ParticleAdaptor d) -> RigidBodyDiffusion
3734  """
3735  _IMP_atom.RigidBodyDiffusion_swiginit(self, _IMP_atom.new_RigidBodyDiffusion(*args))
3736 
3737  def show(self, *args):
3738  r"""show(RigidBodyDiffusion self, _ostream out=std::cout)"""
3739  return _IMP_atom.RigidBodyDiffusion_show(self, *args)
3740 
3741  @staticmethod
3742  def setup_particle(*args):
3743  r"""
3744  setup_particle(Model m, ParticleIndex pi) -> RigidBodyDiffusion
3745  setup_particle(_ParticleAdaptor pa) -> RigidBodyDiffusion
3746  """
3747  return _IMP_atom.RigidBodyDiffusion_setup_particle(*args)
3748 
3750  r"""get_rotational_diffusion_coefficient(RigidBodyDiffusion self) -> double"""
3751  return _IMP_atom.RigidBodyDiffusion_get_rotational_diffusion_coefficient(self)
3752 
3753  def set_rotational_diffusion_coefficient(self, d):
3754  r"""set_rotational_diffusion_coefficient(RigidBodyDiffusion self, double d)"""
3755  return _IMP_atom.RigidBodyDiffusion_set_rotational_diffusion_coefficient(self, d)
3756 
3757  @staticmethod
3758  def get_is_setup(*args):
3759  r"""
3760  get_is_setup(_ParticleAdaptor p) -> bool
3761  get_is_setup(Model m, ParticleIndex p) -> bool
3762  """
3763  return _IMP_atom.RigidBodyDiffusion_get_is_setup(*args)
3764 
3765  @staticmethod
3766  def get_rotational_diffusion_coefficient_key():
3767  r"""get_rotational_diffusion_coefficient_key() -> FloatKey"""
3768  return _IMP_atom.RigidBodyDiffusion_get_rotational_diffusion_coefficient_key()
3769 
3770  def add_attribute(self, *args):
3771  r"""
3772  add_attribute(RigidBodyDiffusion self, FloatKey k, IMP::Float v, bool opt)
3773  add_attribute(RigidBodyDiffusion self, FloatKey a0, IMP::Float a1)
3774  add_attribute(RigidBodyDiffusion self, IntKey a0, IMP::Int a1)
3775  add_attribute(RigidBodyDiffusion self, FloatsKey a0, IMP::Floats a1)
3776  add_attribute(RigidBodyDiffusion self, IntsKey a0, IMP::Ints a1)
3777  add_attribute(RigidBodyDiffusion self, StringKey a0, IMP::String a1)
3778  add_attribute(RigidBodyDiffusion self, ParticleIndexKey a0, Particle a1)
3779  add_attribute(RigidBodyDiffusion self, ObjectKey a0, Object a1)
3780  """
3781  return _IMP_atom.RigidBodyDiffusion_add_attribute(self, *args)
3782 
3783  def get_value(self, *args):
3784  r"""
3785  get_value(RigidBodyDiffusion self, FloatKey a0) -> IMP::Float
3786  get_value(RigidBodyDiffusion self, IntKey a0) -> IMP::Int
3787  get_value(RigidBodyDiffusion self, FloatsKey a0) -> IMP::Floats
3788  get_value(RigidBodyDiffusion self, IntsKey a0) -> IMP::Ints
3789  get_value(RigidBodyDiffusion self, StringKey a0) -> IMP::String
3790  get_value(RigidBodyDiffusion self, ParticleIndexKey a0) -> Particle
3791  get_value(RigidBodyDiffusion self, ObjectKey a0) -> Object
3792  """
3793  return _IMP_atom.RigidBodyDiffusion_get_value(self, *args)
3794 
3795  def set_value(self, *args):
3796  r"""
3797  set_value(RigidBodyDiffusion self, FloatKey a0, IMP::Float a1)
3798  set_value(RigidBodyDiffusion self, IntKey a0, IMP::Int a1)
3799  set_value(RigidBodyDiffusion self, FloatsKey a0, IMP::Floats a1)
3800  set_value(RigidBodyDiffusion self, IntsKey a0, IMP::Ints a1)
3801  set_value(RigidBodyDiffusion self, StringKey a0, IMP::String a1)
3802  set_value(RigidBodyDiffusion self, ParticleIndexKey a0, Particle a1)
3803  set_value(RigidBodyDiffusion self, ObjectKey a0, Object a1)
3804  """
3805  return _IMP_atom.RigidBodyDiffusion_set_value(self, *args)
3806 
3807  def remove_attribute(self, *args):
3808  r"""
3809  remove_attribute(RigidBodyDiffusion self, FloatKey a0)
3810  remove_attribute(RigidBodyDiffusion self, IntKey a0)
3811  remove_attribute(RigidBodyDiffusion self, FloatsKey a0)
3812  remove_attribute(RigidBodyDiffusion self, IntsKey a0)
3813  remove_attribute(RigidBodyDiffusion self, StringKey a0)
3814  remove_attribute(RigidBodyDiffusion self, ParticleIndexKey a0)
3815  remove_attribute(RigidBodyDiffusion self, ObjectKey a0)
3816  """
3817  return _IMP_atom.RigidBodyDiffusion_remove_attribute(self, *args)
3818 
3819  def has_attribute(self, *args):
3820  r"""
3821  has_attribute(RigidBodyDiffusion self, FloatKey a0) -> bool
3822  has_attribute(RigidBodyDiffusion self, IntKey a0) -> bool
3823  has_attribute(RigidBodyDiffusion self, FloatsKey a0) -> bool
3824  has_attribute(RigidBodyDiffusion self, IntsKey a0) -> bool
3825  has_attribute(RigidBodyDiffusion self, StringKey a0) -> bool
3826  has_attribute(RigidBodyDiffusion self, ParticleIndexKey a0) -> bool
3827  has_attribute(RigidBodyDiffusion self, ObjectKey a0) -> bool
3828  """
3829  return _IMP_atom.RigidBodyDiffusion_has_attribute(self, *args)
3830 
3831  def get_derivative(self, a0):
3832  r"""get_derivative(RigidBodyDiffusion self, FloatKey a0) -> double"""
3833  return _IMP_atom.RigidBodyDiffusion_get_derivative(self, a0)
3834 
3835  def get_name(self):
3836  r"""get_name(RigidBodyDiffusion self) -> std::string"""
3837  return _IMP_atom.RigidBodyDiffusion_get_name(self)
3838 
3839  def clear_caches(self):
3840  r"""clear_caches(RigidBodyDiffusion self)"""
3841  return _IMP_atom.RigidBodyDiffusion_clear_caches(self)
3842 
3843  def set_name(self, a0):
3844  r"""set_name(RigidBodyDiffusion self, std::string a0)"""
3845  return _IMP_atom.RigidBodyDiffusion_set_name(self, a0)
3846 
3847  def set_check_level(self, a0):
3848  r"""set_check_level(RigidBodyDiffusion self, IMP::CheckLevel a0)"""
3849  return _IMP_atom.RigidBodyDiffusion_set_check_level(self, a0)
3850 
3851  def add_to_derivative(self, a0, a1, a2):
3852  r"""add_to_derivative(RigidBodyDiffusion self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
3853  return _IMP_atom.RigidBodyDiffusion_add_to_derivative(self, a0, a1, a2)
3854 
3855  def set_is_optimized(self, a0, a1):
3856  r"""set_is_optimized(RigidBodyDiffusion self, FloatKey a0, bool a1)"""
3857  return _IMP_atom.RigidBodyDiffusion_set_is_optimized(self, a0, a1)
3858 
3859  def get_is_optimized(self, a0):
3860  r"""get_is_optimized(RigidBodyDiffusion self, FloatKey a0) -> bool"""
3861  return _IMP_atom.RigidBodyDiffusion_get_is_optimized(self, a0)
3862 
3863  def get_check_level(self):
3864  r"""get_check_level(RigidBodyDiffusion self) -> IMP::CheckLevel"""
3865  return _IMP_atom.RigidBodyDiffusion_get_check_level(self)
3866 
3867  def __eq__(self, *args):
3868  r"""
3869  __eq__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
3870  __eq__(RigidBodyDiffusion self, Particle d) -> bool
3871  """
3872  return _IMP_atom.RigidBodyDiffusion___eq__(self, *args)
3873 
3874  def __ne__(self, *args):
3875  r"""
3876  __ne__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
3877  __ne__(RigidBodyDiffusion self, Particle d) -> bool
3878  """
3879  return _IMP_atom.RigidBodyDiffusion___ne__(self, *args)
3880 
3881  def __le__(self, *args):
3882  r"""
3883  __le__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
3884  __le__(RigidBodyDiffusion self, Particle d) -> bool
3885  """
3886  return _IMP_atom.RigidBodyDiffusion___le__(self, *args)
3887 
3888  def __lt__(self, *args):
3889  r"""
3890  __lt__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
3891  __lt__(RigidBodyDiffusion self, Particle d) -> bool
3892  """
3893  return _IMP_atom.RigidBodyDiffusion___lt__(self, *args)
3894 
3895  def __ge__(self, *args):
3896  r"""
3897  __ge__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
3898  __ge__(RigidBodyDiffusion self, Particle d) -> bool
3899  """
3900  return _IMP_atom.RigidBodyDiffusion___ge__(self, *args)
3901 
3902  def __gt__(self, *args):
3903  r"""
3904  __gt__(RigidBodyDiffusion self, RigidBodyDiffusion o) -> bool
3905  __gt__(RigidBodyDiffusion self, Particle d) -> bool
3906  """
3907  return _IMP_atom.RigidBodyDiffusion___gt__(self, *args)
3908 
3909  def __hash__(self):
3910  r"""__hash__(RigidBodyDiffusion self) -> std::size_t"""
3911  return _IMP_atom.RigidBodyDiffusion___hash__(self)
3912 
3913  def __str__(self):
3914  r"""__str__(RigidBodyDiffusion self) -> std::string"""
3915  return _IMP_atom.RigidBodyDiffusion___str__(self)
3916 
3917  def __repr__(self):
3918  r"""__repr__(RigidBodyDiffusion self) -> std::string"""
3919  return _IMP_atom.RigidBodyDiffusion___repr__(self)
3920 
3921  def _get_as_binary(self):
3922  r"""_get_as_binary(RigidBodyDiffusion self) -> PyObject *"""
3923  return _IMP_atom.RigidBodyDiffusion__get_as_binary(self)
3924 
3925  def _set_from_binary(self, p):
3926  r"""_set_from_binary(RigidBodyDiffusion self, PyObject * p)"""
3927  return _IMP_atom.RigidBodyDiffusion__set_from_binary(self, p)
3928 
3929  def __getstate__(self):
3930  p = self._get_as_binary()
3931  if len(self.__dict__) > 1:
3932  d = self.__dict__.copy()
3933  del d['this']
3934  p = (d, p)
3935  return p
3936 
3937  def __setstate__(self, p):
3938  if not hasattr(self, 'this'):
3939  self.__init__()
3940  if isinstance(p, tuple):
3941  d, p = p
3942  self.__dict__.update(d)
3943  return self._set_from_binary(p)
3944 
3945  __swig_destroy__ = _IMP_atom.delete_RigidBodyDiffusion
3946 
3947 # Register RigidBodyDiffusion in _IMP_atom:
3948 _IMP_atom.RigidBodyDiffusion_swigregister(RigidBodyDiffusion)
3949 class TAMDParticle(IMP.Decorator):
3950  r"""Proxy of C++ IMP::atom::TAMDParticle class."""
3951 
3952  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
3953 
3954  def __init__(self, *args):
3955  r"""
3956  __init__(TAMDParticle self) -> TAMDParticle
3957  __init__(TAMDParticle self, Model m, ParticleIndex id) -> TAMDParticle
3958  __init__(TAMDParticle self, _ParticleAdaptor d) -> TAMDParticle
3959  """
3960  _IMP_atom.TAMDParticle_swiginit(self, _IMP_atom.new_TAMDParticle(*args))
3961 
3962  def show(self, *args):
3963  r"""show(TAMDParticle self, _ostream out=std::cout)"""
3964  return _IMP_atom.TAMDParticle_show(self, *args)
3965 
3966  @staticmethod
3967  def setup_particle(*args):
3968  r"""
3969  setup_particle(Model m, ParticleIndex pi, ParticleIndex pi_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
3970  setup_particle(_ParticleAdaptor pa, ParticleIndex pi_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
3971  setup_particle(Model m, ParticleIndex pi, Particle p_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
3972  setup_particle(_ParticleAdaptor pa, Particle p_ref, IMP::Float tsf, IMP::Float fsf) -> TAMDParticle
3973  """
3974  return _IMP_atom.TAMDParticle_setup_particle(*args)
3975 
3976  @staticmethod
3977  def get_is_setup(*args):
3978  r"""
3979  get_is_setup(_ParticleAdaptor p) -> bool
3980  get_is_setup(Model m, ParticleIndex p) -> bool
3981  """
3982  return _IMP_atom.TAMDParticle_get_is_setup(*args)
3983 
3984  def get_reference_particle_index(self):
3985  r"""get_reference_particle_index(TAMDParticle self) -> ParticleIndex"""
3986  return _IMP_atom.TAMDParticle_get_reference_particle_index(self)
3987 
3988  def set_temperature_scale_factor(self, tsf):
3989  r"""set_temperature_scale_factor(TAMDParticle self, float tsf)"""
3990  return _IMP_atom.TAMDParticle_set_temperature_scale_factor(self, tsf)
3991 
3992  def get_temperature_scale_factor(self):
3993  r"""get_temperature_scale_factor(TAMDParticle self) -> double"""
3994  return _IMP_atom.TAMDParticle_get_temperature_scale_factor(self)
3995 
3996  def set_friction_scale_factor(self, tsf):
3997  r"""set_friction_scale_factor(TAMDParticle self, float tsf)"""
3998  return _IMP_atom.TAMDParticle_set_friction_scale_factor(self, tsf)
3999 
4000  def get_friction_scale_factor(self):
4001  r"""get_friction_scale_factor(TAMDParticle self) -> double"""
4002  return _IMP_atom.TAMDParticle_get_friction_scale_factor(self)
4003 
4004  def update_coordinates_from_ref(self):
4005  r"""update_coordinates_from_ref(TAMDParticle self)"""
4006  return _IMP_atom.TAMDParticle_update_coordinates_from_ref(self)
4007 
4008  @staticmethod
4009  def get_temperature_scale_factor_key():
4010  r"""get_temperature_scale_factor_key() -> FloatKey"""
4011  return _IMP_atom.TAMDParticle_get_temperature_scale_factor_key()
4012 
4013  @staticmethod
4014  def get_friction_scale_factor_key():
4015  r"""get_friction_scale_factor_key() -> FloatKey"""
4016  return _IMP_atom.TAMDParticle_get_friction_scale_factor_key()
4017 
4018  @staticmethod
4019  def get_reference_particle_index_key():
4020  r"""get_reference_particle_index_key() -> ParticleIndexKey"""
4021  return _IMP_atom.TAMDParticle_get_reference_particle_index_key()
4022 
4023  def add_attribute(self, *args):
4024  r"""
4025  add_attribute(TAMDParticle self, FloatKey k, IMP::Float v, bool opt)
4026  add_attribute(TAMDParticle self, FloatKey a0, IMP::Float a1)
4027  add_attribute(TAMDParticle self, IntKey a0, IMP::Int a1)
4028  add_attribute(TAMDParticle self, FloatsKey a0, IMP::Floats a1)
4029  add_attribute(TAMDParticle self, IntsKey a0, IMP::Ints a1)
4030  add_attribute(TAMDParticle self, StringKey a0, IMP::String a1)
4031  add_attribute(TAMDParticle self, ParticleIndexKey a0, Particle a1)
4032  add_attribute(TAMDParticle self, ObjectKey a0, Object a1)
4033  """
4034  return _IMP_atom.TAMDParticle_add_attribute(self, *args)
4035 
4036  def get_value(self, *args):
4037  r"""
4038  get_value(TAMDParticle self, FloatKey a0) -> IMP::Float
4039  get_value(TAMDParticle self, IntKey a0) -> IMP::Int
4040  get_value(TAMDParticle self, FloatsKey a0) -> IMP::Floats
4041  get_value(TAMDParticle self, IntsKey a0) -> IMP::Ints
4042  get_value(TAMDParticle self, StringKey a0) -> IMP::String
4043  get_value(TAMDParticle self, ParticleIndexKey a0) -> Particle
4044  get_value(TAMDParticle self, ObjectKey a0) -> Object
4045  """
4046  return _IMP_atom.TAMDParticle_get_value(self, *args)
4047 
4048  def set_value(self, *args):
4049  r"""
4050  set_value(TAMDParticle self, FloatKey a0, IMP::Float a1)
4051  set_value(TAMDParticle self, IntKey a0, IMP::Int a1)
4052  set_value(TAMDParticle self, FloatsKey a0, IMP::Floats a1)
4053  set_value(TAMDParticle self, IntsKey a0, IMP::Ints a1)
4054  set_value(TAMDParticle self, StringKey a0, IMP::String a1)
4055  set_value(TAMDParticle self, ParticleIndexKey a0, Particle a1)
4056  set_value(TAMDParticle self, ObjectKey a0, Object a1)
4057  """
4058  return _IMP_atom.TAMDParticle_set_value(self, *args)
4059 
4060  def remove_attribute(self, *args):
4061  r"""
4062  remove_attribute(TAMDParticle self, FloatKey a0)
4063  remove_attribute(TAMDParticle self, IntKey a0)
4064  remove_attribute(TAMDParticle self, FloatsKey a0)
4065  remove_attribute(TAMDParticle self, IntsKey a0)
4066  remove_attribute(TAMDParticle self, StringKey a0)
4067  remove_attribute(TAMDParticle self, ParticleIndexKey a0)
4068  remove_attribute(TAMDParticle self, ObjectKey a0)
4069  """
4070  return _IMP_atom.TAMDParticle_remove_attribute(self, *args)
4071 
4072  def has_attribute(self, *args):
4073  r"""
4074  has_attribute(TAMDParticle self, FloatKey a0) -> bool
4075  has_attribute(TAMDParticle self, IntKey a0) -> bool
4076  has_attribute(TAMDParticle self, FloatsKey a0) -> bool
4077  has_attribute(TAMDParticle self, IntsKey a0) -> bool
4078  has_attribute(TAMDParticle self, StringKey a0) -> bool
4079  has_attribute(TAMDParticle self, ParticleIndexKey a0) -> bool
4080  has_attribute(TAMDParticle self, ObjectKey a0) -> bool
4081  """
4082  return _IMP_atom.TAMDParticle_has_attribute(self, *args)
4083 
4084  def get_derivative(self, a0):
4085  r"""get_derivative(TAMDParticle self, FloatKey a0) -> double"""
4086  return _IMP_atom.TAMDParticle_get_derivative(self, a0)
4087 
4088  def get_name(self):
4089  r"""get_name(TAMDParticle self) -> std::string"""
4090  return _IMP_atom.TAMDParticle_get_name(self)
4091 
4092  def clear_caches(self):
4093  r"""clear_caches(TAMDParticle self)"""
4094  return _IMP_atom.TAMDParticle_clear_caches(self)
4095 
4096  def set_name(self, a0):
4097  r"""set_name(TAMDParticle self, std::string a0)"""
4098  return _IMP_atom.TAMDParticle_set_name(self, a0)
4099 
4100  def set_check_level(self, a0):
4101  r"""set_check_level(TAMDParticle self, IMP::CheckLevel a0)"""
4102  return _IMP_atom.TAMDParticle_set_check_level(self, a0)
4103 
4104  def add_to_derivative(self, a0, a1, a2):
4105  r"""add_to_derivative(TAMDParticle self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4106  return _IMP_atom.TAMDParticle_add_to_derivative(self, a0, a1, a2)
4107 
4108  def set_is_optimized(self, a0, a1):
4109  r"""set_is_optimized(TAMDParticle self, FloatKey a0, bool a1)"""
4110  return _IMP_atom.TAMDParticle_set_is_optimized(self, a0, a1)
4111 
4112  def get_is_optimized(self, a0):
4113  r"""get_is_optimized(TAMDParticle self, FloatKey a0) -> bool"""
4114  return _IMP_atom.TAMDParticle_get_is_optimized(self, a0)
4115 
4116  def get_check_level(self):
4117  r"""get_check_level(TAMDParticle self) -> IMP::CheckLevel"""
4118  return _IMP_atom.TAMDParticle_get_check_level(self)
4119 
4120  def __eq__(self, *args):
4121  r"""
4122  __eq__(TAMDParticle self, TAMDParticle o) -> bool
4123  __eq__(TAMDParticle self, Particle d) -> bool
4124  """
4125  return _IMP_atom.TAMDParticle___eq__(self, *args)
4126 
4127  def __ne__(self, *args):
4128  r"""
4129  __ne__(TAMDParticle self, TAMDParticle o) -> bool
4130  __ne__(TAMDParticle self, Particle d) -> bool
4131  """
4132  return _IMP_atom.TAMDParticle___ne__(self, *args)
4133 
4134  def __le__(self, *args):
4135  r"""
4136  __le__(TAMDParticle self, TAMDParticle o) -> bool
4137  __le__(TAMDParticle self, Particle d) -> bool
4138  """
4139  return _IMP_atom.TAMDParticle___le__(self, *args)
4140 
4141  def __lt__(self, *args):
4142  r"""
4143  __lt__(TAMDParticle self, TAMDParticle o) -> bool
4144  __lt__(TAMDParticle self, Particle d) -> bool
4145  """
4146  return _IMP_atom.TAMDParticle___lt__(self, *args)
4147 
4148  def __ge__(self, *args):
4149  r"""
4150  __ge__(TAMDParticle self, TAMDParticle o) -> bool
4151  __ge__(TAMDParticle self, Particle d) -> bool
4152  """
4153  return _IMP_atom.TAMDParticle___ge__(self, *args)
4154 
4155  def __gt__(self, *args):
4156  r"""
4157  __gt__(TAMDParticle self, TAMDParticle o) -> bool
4158  __gt__(TAMDParticle self, Particle d) -> bool
4159  """
4160  return _IMP_atom.TAMDParticle___gt__(self, *args)
4161 
4162  def __hash__(self):
4163  r"""__hash__(TAMDParticle self) -> std::size_t"""
4164  return _IMP_atom.TAMDParticle___hash__(self)
4165 
4166  def __str__(self):
4167  r"""__str__(TAMDParticle self) -> std::string"""
4168  return _IMP_atom.TAMDParticle___str__(self)
4169 
4170  def __repr__(self):
4171  r"""__repr__(TAMDParticle self) -> std::string"""
4172  return _IMP_atom.TAMDParticle___repr__(self)
4173 
4174  def _get_as_binary(self):
4175  r"""_get_as_binary(TAMDParticle self) -> PyObject *"""
4176  return _IMP_atom.TAMDParticle__get_as_binary(self)
4177 
4178  def _set_from_binary(self, p):
4179  r"""_set_from_binary(TAMDParticle self, PyObject * p)"""
4180  return _IMP_atom.TAMDParticle__set_from_binary(self, p)
4181 
4182  def __getstate__(self):
4183  p = self._get_as_binary()
4184  if len(self.__dict__) > 1:
4185  d = self.__dict__.copy()
4186  del d['this']
4187  p = (d, p)
4188  return p
4189 
4190  def __setstate__(self, p):
4191  if not hasattr(self, 'this'):
4192  self.__init__()
4193  if isinstance(p, tuple):
4194  d, p = p
4195  self.__dict__.update(d)
4196  return self._set_from_binary(p)
4197 
4198  __swig_destroy__ = _IMP_atom.delete_TAMDParticle
4199 
4200 # Register TAMDParticle in _IMP_atom:
4201 _IMP_atom.TAMDParticle_swigregister(TAMDParticle)
4202 class Chain(Hierarchy):
4203  r"""Proxy of C++ IMP::atom::Chain class."""
4204 
4205  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4206 
4207  def __init__(self, *args):
4208  r"""
4209  __init__(Chain self) -> Chain
4210  __init__(Chain self, Model m, ParticleIndex id) -> Chain
4211  __init__(Chain self, _ParticleAdaptor d) -> Chain
4212  """
4213  _IMP_atom.Chain_swiginit(self, _IMP_atom.new_Chain(*args))
4214 
4215  def show(self, *args):
4216  r"""show(Chain self, _ostream out=std::cout)"""
4217  return _IMP_atom.Chain_show(self, *args)
4218 
4219  @staticmethod
4220  def setup_particle(*args):
4221  r"""
4222  setup_particle(Model m, ParticleIndex pi, std::string id) -> Chain
4223  setup_particle(_ParticleAdaptor pa, std::string id) -> Chain
4224  setup_particle(Model m, ParticleIndex pi, char id) -> Chain
4225  setup_particle(_ParticleAdaptor pa, char id) -> Chain
4226  setup_particle(Model m, ParticleIndex pi, Chain other) -> Chain
4227  setup_particle(_ParticleAdaptor pa, Chain other) -> Chain
4228  """
4229  return _IMP_atom.Chain_setup_particle(*args)
4230 
4231  @staticmethod
4232  def get_is_setup(*args):
4233  r"""
4234  get_is_setup(_ParticleAdaptor p) -> bool
4235  get_is_setup(Model m, ParticleIndex pi) -> bool
4236  """
4237  return _IMP_atom.Chain_get_is_setup(*args)
4238 
4239  def get_id(self):
4240  r"""get_id(Chain self) -> std::string"""
4241  return _IMP_atom.Chain_get_id(self)
4242 
4243  def set_id(self, c):
4244  r"""set_id(Chain self, std::string c)"""
4245  return _IMP_atom.Chain_set_id(self, c)
4246 
4247  def get_sequence(self):
4248  r"""get_sequence(Chain self) -> std::string"""
4249  return _IMP_atom.Chain_get_sequence(self)
4250 
4251  def set_sequence(self, sequence):
4252  r"""set_sequence(Chain self, std::string sequence)"""
4253  return _IMP_atom.Chain_set_sequence(self, sequence)
4254 
4255  def get_chain_type(self):
4256  r"""get_chain_type(Chain self) -> ChainType"""
4257  return _IMP_atom.Chain_get_chain_type(self)
4258 
4259  def set_chain_type(self, t):
4260  r"""set_chain_type(Chain self, ChainType t)"""
4261  return _IMP_atom.Chain_set_chain_type(self, t)
4262 
4263  @staticmethod
4264  def get_id_key():
4265  r"""get_id_key() -> StringKey"""
4266  return _IMP_atom.Chain_get_id_key()
4267 
4268  @staticmethod
4269  def get_sequence_key():
4270  r"""get_sequence_key() -> StringKey"""
4271  return _IMP_atom.Chain_get_sequence_key()
4272 
4273  @staticmethod
4274  def get_chain_type_key():
4275  r"""get_chain_type_key() -> IntKey"""
4276  return _IMP_atom.Chain_get_chain_type_key()
4277 
4278  def add_attribute(self, *args):
4279  r"""
4280  add_attribute(Chain self, FloatKey k, IMP::Float v, bool opt)
4281  add_attribute(Chain self, FloatKey a0, IMP::Float a1)
4282  add_attribute(Chain self, IntKey a0, IMP::Int a1)
4283  add_attribute(Chain self, FloatsKey a0, IMP::Floats a1)
4284  add_attribute(Chain self, IntsKey a0, IMP::Ints a1)
4285  add_attribute(Chain self, StringKey a0, IMP::String a1)
4286  add_attribute(Chain self, ParticleIndexKey a0, Particle a1)
4287  add_attribute(Chain self, ObjectKey a0, Object a1)
4288  """
4289  return _IMP_atom.Chain_add_attribute(self, *args)
4290 
4291  def get_value(self, *args):
4292  r"""
4293  get_value(Chain self, FloatKey a0) -> IMP::Float
4294  get_value(Chain self, IntKey a0) -> IMP::Int
4295  get_value(Chain self, FloatsKey a0) -> IMP::Floats
4296  get_value(Chain self, IntsKey a0) -> IMP::Ints
4297  get_value(Chain self, StringKey a0) -> IMP::String
4298  get_value(Chain self, ParticleIndexKey a0) -> Particle
4299  get_value(Chain self, ObjectKey a0) -> Object
4300  """
4301  return _IMP_atom.Chain_get_value(self, *args)
4302 
4303  def set_value(self, *args):
4304  r"""
4305  set_value(Chain self, FloatKey a0, IMP::Float a1)
4306  set_value(Chain self, IntKey a0, IMP::Int a1)
4307  set_value(Chain self, FloatsKey a0, IMP::Floats a1)
4308  set_value(Chain self, IntsKey a0, IMP::Ints a1)
4309  set_value(Chain self, StringKey a0, IMP::String a1)
4310  set_value(Chain self, ParticleIndexKey a0, Particle a1)
4311  set_value(Chain self, ObjectKey a0, Object a1)
4312  """
4313  return _IMP_atom.Chain_set_value(self, *args)
4314 
4315  def remove_attribute(self, *args):
4316  r"""
4317  remove_attribute(Chain self, FloatKey a0)
4318  remove_attribute(Chain self, IntKey a0)
4319  remove_attribute(Chain self, FloatsKey a0)
4320  remove_attribute(Chain self, IntsKey a0)
4321  remove_attribute(Chain self, StringKey a0)
4322  remove_attribute(Chain self, ParticleIndexKey a0)
4323  remove_attribute(Chain self, ObjectKey a0)
4324  """
4325  return _IMP_atom.Chain_remove_attribute(self, *args)
4326 
4327  def has_attribute(self, *args):
4328  r"""
4329  has_attribute(Chain self, FloatKey a0) -> bool
4330  has_attribute(Chain self, IntKey a0) -> bool
4331  has_attribute(Chain self, FloatsKey a0) -> bool
4332  has_attribute(Chain self, IntsKey a0) -> bool
4333  has_attribute(Chain self, StringKey a0) -> bool
4334  has_attribute(Chain self, ParticleIndexKey a0) -> bool
4335  has_attribute(Chain self, ObjectKey a0) -> bool
4336  """
4337  return _IMP_atom.Chain_has_attribute(self, *args)
4338 
4339  def get_derivative(self, a0):
4340  r"""get_derivative(Chain self, FloatKey a0) -> double"""
4341  return _IMP_atom.Chain_get_derivative(self, a0)
4342 
4343  def get_name(self):
4344  r"""get_name(Chain self) -> std::string"""
4345  return _IMP_atom.Chain_get_name(self)
4346 
4347  def clear_caches(self):
4348  r"""clear_caches(Chain self)"""
4349  return _IMP_atom.Chain_clear_caches(self)
4350 
4351  def set_name(self, a0):
4352  r"""set_name(Chain self, std::string a0)"""
4353  return _IMP_atom.Chain_set_name(self, a0)
4354 
4355  def set_check_level(self, a0):
4356  r"""set_check_level(Chain self, IMP::CheckLevel a0)"""
4357  return _IMP_atom.Chain_set_check_level(self, a0)
4358 
4359  def add_to_derivative(self, a0, a1, a2):
4360  r"""add_to_derivative(Chain self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4361  return _IMP_atom.Chain_add_to_derivative(self, a0, a1, a2)
4362 
4363  def set_is_optimized(self, a0, a1):
4364  r"""set_is_optimized(Chain self, FloatKey a0, bool a1)"""
4365  return _IMP_atom.Chain_set_is_optimized(self, a0, a1)
4366 
4367  def get_is_optimized(self, a0):
4368  r"""get_is_optimized(Chain self, FloatKey a0) -> bool"""
4369  return _IMP_atom.Chain_get_is_optimized(self, a0)
4370 
4371  def get_check_level(self):
4372  r"""get_check_level(Chain self) -> IMP::CheckLevel"""
4373  return _IMP_atom.Chain_get_check_level(self)
4374 
4375  def __eq__(self, *args):
4376  r"""
4377  __eq__(Chain self, Chain o) -> bool
4378  __eq__(Chain self, Particle d) -> bool
4379  """
4380  return _IMP_atom.Chain___eq__(self, *args)
4381 
4382  def __ne__(self, *args):
4383  r"""
4384  __ne__(Chain self, Chain o) -> bool
4385  __ne__(Chain self, Particle d) -> bool
4386  """
4387  return _IMP_atom.Chain___ne__(self, *args)
4388 
4389  def __le__(self, *args):
4390  r"""
4391  __le__(Chain self, Chain o) -> bool
4392  __le__(Chain self, Particle d) -> bool
4393  """
4394  return _IMP_atom.Chain___le__(self, *args)
4395 
4396  def __lt__(self, *args):
4397  r"""
4398  __lt__(Chain self, Chain o) -> bool
4399  __lt__(Chain self, Particle d) -> bool
4400  """
4401  return _IMP_atom.Chain___lt__(self, *args)
4402 
4403  def __ge__(self, *args):
4404  r"""
4405  __ge__(Chain self, Chain o) -> bool
4406  __ge__(Chain self, Particle d) -> bool
4407  """
4408  return _IMP_atom.Chain___ge__(self, *args)
4409 
4410  def __gt__(self, *args):
4411  r"""
4412  __gt__(Chain self, Chain o) -> bool
4413  __gt__(Chain self, Particle d) -> bool
4414  """
4415  return _IMP_atom.Chain___gt__(self, *args)
4416 
4417  def __hash__(self):
4418  r"""__hash__(Chain self) -> std::size_t"""
4419  return _IMP_atom.Chain___hash__(self)
4420 
4421  def __str__(self):
4422  r"""__str__(Chain self) -> std::string"""
4423  return _IMP_atom.Chain___str__(self)
4424 
4425  def __repr__(self):
4426  r"""__repr__(Chain self) -> std::string"""
4427  return _IMP_atom.Chain___repr__(self)
4428 
4429  def _get_as_binary(self):
4430  r"""_get_as_binary(Chain self) -> PyObject *"""
4431  return _IMP_atom.Chain__get_as_binary(self)
4432 
4433  def _set_from_binary(self, p):
4434  r"""_set_from_binary(Chain self, PyObject * p)"""
4435  return _IMP_atom.Chain__set_from_binary(self, p)
4436 
4437  def __getstate__(self):
4438  p = self._get_as_binary()
4439  if len(self.__dict__) > 1:
4440  d = self.__dict__.copy()
4441  del d['this']
4442  p = (d, p)
4443  return p
4444 
4445  def __setstate__(self, p):
4446  if not hasattr(self, 'this'):
4447  self.__init__()
4448  if isinstance(p, tuple):
4449  d, p = p
4450  self.__dict__.update(d)
4451  return self._set_from_binary(p)
4452 
4453  __swig_destroy__ = _IMP_atom.delete_Chain
4454 
4455 # Register Chain in _IMP_atom:
4456 _IMP_atom.Chain_swigregister(Chain)
4457 cvar = _IMP_atom.cvar
4458 UnknownChainType = cvar.UnknownChainType
4459 DPolypeptide = cvar.DPolypeptide
4460 LPolypeptide = cvar.LPolypeptide
4461 Polydeoxyribonucleotide = cvar.Polydeoxyribonucleotide
4462 Polyribonucleotide = cvar.Polyribonucleotide
4463 DPolysaccharide = cvar.DPolysaccharide
4464 LPolysaccharide = cvar.LPolysaccharide
4465 Protein = cvar.Protein
4466 DNA = cvar.DNA
4467 RNA = cvar.RNA
4468 
4469 
4470 def get_chain(h):
4471  r"""get_chain(Hierarchy h) -> Chain"""
4472  return _IMP_atom.get_chain(h)
4473 
4474 def get_chain_id(h):
4475  r"""get_chain_id(Hierarchy h) -> std::string"""
4476  return _IMP_atom.get_chain_id(h)
4477 class Charged(IMP.core.XYZ):
4478  r"""Proxy of C++ IMP::atom::Charged class."""
4479 
4480  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4481 
4482  def __init__(self, *args):
4483  r"""
4484  __init__(Charged self) -> Charged
4485  __init__(Charged self, Model m, ParticleIndex id) -> Charged
4486  __init__(Charged self, _ParticleAdaptor d) -> Charged
4487  """
4488  _IMP_atom.Charged_swiginit(self, _IMP_atom.new_Charged(*args))
4489 
4490  def show(self, *args):
4491  r"""show(Charged self, _ostream out=std::cout)"""
4492  return _IMP_atom.Charged_show(self, *args)
4493 
4494  @staticmethod
4495  def setup_particle(*args):
4496  r"""
4497  setup_particle(Model m, ParticleIndex pi, IMP::Float charge) -> Charged
4498  setup_particle(_ParticleAdaptor pa, IMP::Float charge) -> Charged
4499  setup_particle(Model m, ParticleIndex pi, Vector3D v, IMP::Float charge) -> Charged
4500  setup_particle(_ParticleAdaptor pa, Vector3D v, IMP::Float charge) -> Charged
4501  """
4502  return _IMP_atom.Charged_setup_particle(*args)
4503 
4504  def get_charge(self):
4505  r"""get_charge(Charged self) -> IMP::Float"""
4506  return _IMP_atom.Charged_get_charge(self)
4507 
4508  def set_charge(self, t):
4509  r"""set_charge(Charged self, IMP::Float t)"""
4510  return _IMP_atom.Charged_set_charge(self, t)
4511 
4512  @staticmethod
4513  def get_is_setup(*args):
4514  r"""
4515  get_is_setup(_ParticleAdaptor p) -> bool
4516  get_is_setup(Model m, ParticleIndex pi) -> bool
4517  """
4518  return _IMP_atom.Charged_get_is_setup(*args)
4519 
4520  @staticmethod
4521  def get_charge_key():
4522  r"""get_charge_key() -> FloatKey"""
4523  return _IMP_atom.Charged_get_charge_key()
4524 
4525  def add_attribute(self, *args):
4526  r"""
4527  add_attribute(Charged self, FloatKey k, IMP::Float v, bool opt)
4528  add_attribute(Charged self, FloatKey a0, IMP::Float a1)
4529  add_attribute(Charged self, IntKey a0, IMP::Int a1)
4530  add_attribute(Charged self, FloatsKey a0, IMP::Floats a1)
4531  add_attribute(Charged self, IntsKey a0, IMP::Ints a1)
4532  add_attribute(Charged self, StringKey a0, IMP::String a1)
4533  add_attribute(Charged self, ParticleIndexKey a0, Particle a1)
4534  add_attribute(Charged self, ObjectKey a0, Object a1)
4535  """
4536  return _IMP_atom.Charged_add_attribute(self, *args)
4537 
4538  def get_value(self, *args):
4539  r"""
4540  get_value(Charged self, FloatKey a0) -> IMP::Float
4541  get_value(Charged self, IntKey a0) -> IMP::Int
4542  get_value(Charged self, FloatsKey a0) -> IMP::Floats
4543  get_value(Charged self, IntsKey a0) -> IMP::Ints
4544  get_value(Charged self, StringKey a0) -> IMP::String
4545  get_value(Charged self, ParticleIndexKey a0) -> Particle
4546  get_value(Charged self, ObjectKey a0) -> Object
4547  """
4548  return _IMP_atom.Charged_get_value(self, *args)
4549 
4550  def set_value(self, *args):
4551  r"""
4552  set_value(Charged self, FloatKey a0, IMP::Float a1)
4553  set_value(Charged self, IntKey a0, IMP::Int a1)
4554  set_value(Charged self, FloatsKey a0, IMP::Floats a1)
4555  set_value(Charged self, IntsKey a0, IMP::Ints a1)
4556  set_value(Charged self, StringKey a0, IMP::String a1)
4557  set_value(Charged self, ParticleIndexKey a0, Particle a1)
4558  set_value(Charged self, ObjectKey a0, Object a1)
4559  """
4560  return _IMP_atom.Charged_set_value(self, *args)
4561 
4562  def remove_attribute(self, *args):
4563  r"""
4564  remove_attribute(Charged self, FloatKey a0)
4565  remove_attribute(Charged self, IntKey a0)
4566  remove_attribute(Charged self, FloatsKey a0)
4567  remove_attribute(Charged self, IntsKey a0)
4568  remove_attribute(Charged self, StringKey a0)
4569  remove_attribute(Charged self, ParticleIndexKey a0)
4570  remove_attribute(Charged self, ObjectKey a0)
4571  """
4572  return _IMP_atom.Charged_remove_attribute(self, *args)
4573 
4574  def has_attribute(self, *args):
4575  r"""
4576  has_attribute(Charged self, FloatKey a0) -> bool
4577  has_attribute(Charged self, IntKey a0) -> bool
4578  has_attribute(Charged self, FloatsKey a0) -> bool
4579  has_attribute(Charged self, IntsKey a0) -> bool
4580  has_attribute(Charged self, StringKey a0) -> bool
4581  has_attribute(Charged self, ParticleIndexKey a0) -> bool
4582  has_attribute(Charged self, ObjectKey a0) -> bool
4583  """
4584  return _IMP_atom.Charged_has_attribute(self, *args)
4585 
4586  def get_derivative(self, a0):
4587  r"""get_derivative(Charged self, FloatKey a0) -> double"""
4588  return _IMP_atom.Charged_get_derivative(self, a0)
4589 
4590  def get_name(self):
4591  r"""get_name(Charged self) -> std::string"""
4592  return _IMP_atom.Charged_get_name(self)
4593 
4594  def clear_caches(self):
4595  r"""clear_caches(Charged self)"""
4596  return _IMP_atom.Charged_clear_caches(self)
4597 
4598  def set_name(self, a0):
4599  r"""set_name(Charged self, std::string a0)"""
4600  return _IMP_atom.Charged_set_name(self, a0)
4601 
4602  def set_check_level(self, a0):
4603  r"""set_check_level(Charged self, IMP::CheckLevel a0)"""
4604  return _IMP_atom.Charged_set_check_level(self, a0)
4605 
4606  def add_to_derivative(self, a0, a1, a2):
4607  r"""add_to_derivative(Charged self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4608  return _IMP_atom.Charged_add_to_derivative(self, a0, a1, a2)
4609 
4610  def set_is_optimized(self, a0, a1):
4611  r"""set_is_optimized(Charged self, FloatKey a0, bool a1)"""
4612  return _IMP_atom.Charged_set_is_optimized(self, a0, a1)
4613 
4614  def get_is_optimized(self, a0):
4615  r"""get_is_optimized(Charged self, FloatKey a0) -> bool"""
4616  return _IMP_atom.Charged_get_is_optimized(self, a0)
4617 
4618  def get_check_level(self):
4619  r"""get_check_level(Charged self) -> IMP::CheckLevel"""
4620  return _IMP_atom.Charged_get_check_level(self)
4621 
4622  def __eq__(self, *args):
4623  r"""
4624  __eq__(Charged self, Charged o) -> bool
4625  __eq__(Charged self, Particle d) -> bool
4626  """
4627  return _IMP_atom.Charged___eq__(self, *args)
4628 
4629  def __ne__(self, *args):
4630  r"""
4631  __ne__(Charged self, Charged o) -> bool
4632  __ne__(Charged self, Particle d) -> bool
4633  """
4634  return _IMP_atom.Charged___ne__(self, *args)
4635 
4636  def __le__(self, *args):
4637  r"""
4638  __le__(Charged self, Charged o) -> bool
4639  __le__(Charged self, Particle d) -> bool
4640  """
4641  return _IMP_atom.Charged___le__(self, *args)
4642 
4643  def __lt__(self, *args):
4644  r"""
4645  __lt__(Charged self, Charged o) -> bool
4646  __lt__(Charged self, Particle d) -> bool
4647  """
4648  return _IMP_atom.Charged___lt__(self, *args)
4649 
4650  def __ge__(self, *args):
4651  r"""
4652  __ge__(Charged self, Charged o) -> bool
4653  __ge__(Charged self, Particle d) -> bool
4654  """
4655  return _IMP_atom.Charged___ge__(self, *args)
4656 
4657  def __gt__(self, *args):
4658  r"""
4659  __gt__(Charged self, Charged o) -> bool
4660  __gt__(Charged self, Particle d) -> bool
4661  """
4662  return _IMP_atom.Charged___gt__(self, *args)
4663 
4664  def __hash__(self):
4665  r"""__hash__(Charged self) -> std::size_t"""
4666  return _IMP_atom.Charged___hash__(self)
4667 
4668  def __str__(self):
4669  r"""__str__(Charged self) -> std::string"""
4670  return _IMP_atom.Charged___str__(self)
4671 
4672  def __repr__(self):
4673  r"""__repr__(Charged self) -> std::string"""
4674  return _IMP_atom.Charged___repr__(self)
4675 
4676  def _get_as_binary(self):
4677  r"""_get_as_binary(Charged self) -> PyObject *"""
4678  return _IMP_atom.Charged__get_as_binary(self)
4679 
4680  def _set_from_binary(self, p):
4681  r"""_set_from_binary(Charged self, PyObject * p)"""
4682  return _IMP_atom.Charged__set_from_binary(self, p)
4683 
4684  def __getstate__(self):
4685  p = self._get_as_binary()
4686  if len(self.__dict__) > 1:
4687  d = self.__dict__.copy()
4688  del d['this']
4689  p = (d, p)
4690  return p
4691 
4692  def __setstate__(self, p):
4693  if not hasattr(self, 'this'):
4694  self.__init__()
4695  if isinstance(p, tuple):
4696  d, p = p
4697  self.__dict__.update(d)
4698  return self._set_from_binary(p)
4699 
4700  __swig_destroy__ = _IMP_atom.delete_Charged
4701 
4702 # Register Charged in _IMP_atom:
4703 _IMP_atom.Charged_swigregister(Charged)
4704 class CoulombPairScore(IMP.PairScore):
4705  r"""Proxy of C++ IMP::atom::CoulombPairScore class."""
4706 
4707  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4708 
4709  def __init__(self, f):
4710  r"""__init__(CoulombPairScore self, SmoothingFunction f) -> CoulombPairScore"""
4711  _IMP_atom.CoulombPairScore_swiginit(self, _IMP_atom.new_CoulombPairScore(f))
4712 
4713  def set_relative_dielectric(self, relative_dielectric):
4714  r"""set_relative_dielectric(CoulombPairScore self, double relative_dielectric)"""
4715  return _IMP_atom.CoulombPairScore_set_relative_dielectric(self, relative_dielectric)
4716 
4717  def get_relative_dielectric(self):
4718  r"""get_relative_dielectric(CoulombPairScore self) -> double"""
4719  return _IMP_atom.CoulombPairScore_get_relative_dielectric(self)
4720 
4721  def do_get_inputs(self, m, pis):
4722  r"""do_get_inputs(CoulombPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
4723  return _IMP_atom.CoulombPairScore_do_get_inputs(self, m, pis)
4724 
4725  def get_version_info(self):
4726  r"""get_version_info(CoulombPairScore self) -> VersionInfo"""
4727  return _IMP_atom.CoulombPairScore_get_version_info(self)
4728  __swig_destroy__ = _IMP_atom.delete_CoulombPairScore
4729 
4730  def __str__(self):
4731  r"""__str__(CoulombPairScore self) -> std::string"""
4732  return _IMP_atom.CoulombPairScore___str__(self)
4733 
4734  def __repr__(self):
4735  r"""__repr__(CoulombPairScore self) -> std::string"""
4736  return _IMP_atom.CoulombPairScore___repr__(self)
4737 
4738  @staticmethod
4739  def get_from(o):
4740  return _object_cast_to_CoulombPairScore(o)
4741 
4742 
4743 # Register CoulombPairScore in _IMP_atom:
4744 _IMP_atom.CoulombPairScore_swigregister(CoulombPairScore)
4745 class Domain(Hierarchy):
4746  r"""Proxy of C++ IMP::atom::Domain class."""
4747 
4748  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4749 
4750  def set_index_range(self, ir):
4751  r"""set_index_range(Domain self, IMP::IntRange ir)"""
4752  return _IMP_atom.Domain_set_index_range(self, ir)
4753 
4754  def get_index_range(self):
4755  r"""get_index_range(Domain self) -> IMP::IntRange"""
4756  return _IMP_atom.Domain_get_index_range(self)
4757 
4758  def __init__(self, *args):
4759  r"""
4760  __init__(Domain self) -> Domain
4761  __init__(Domain self, Model m, ParticleIndex id) -> Domain
4762  __init__(Domain self, _ParticleAdaptor d) -> Domain
4763  """
4764  _IMP_atom.Domain_swiginit(self, _IMP_atom.new_Domain(*args))
4765 
4766  @staticmethod
4767  def get_is_setup(*args):
4768  r"""
4769  get_is_setup(Model m, ParticleIndex pi) -> bool
4770  get_is_setup(_ParticleAdaptor p) -> bool
4771  """
4772  return _IMP_atom.Domain_get_is_setup(*args)
4773 
4774  def show(self, *args):
4775  r"""show(Domain self, _ostream out=std::cout)"""
4776  return _IMP_atom.Domain_show(self, *args)
4777 
4778  @staticmethod
4779  def setup_particle(*args):
4780  r"""
4781  setup_particle(Model m, ParticleIndex pi, Domain other) -> Domain
4782  setup_particle(_ParticleAdaptor pa, Domain other) -> Domain
4783  setup_particle(Model m, ParticleIndex pi, IMP::IntRange residues) -> Domain
4784  setup_particle(_ParticleAdaptor pa, IMP::IntRange residues) -> Domain
4785  """
4786  return _IMP_atom.Domain_setup_particle(*args)
4787 
4788  def add_attribute(self, *args):
4789  r"""
4790  add_attribute(Domain self, FloatKey k, IMP::Float v, bool opt)
4791  add_attribute(Domain self, FloatKey a0, IMP::Float a1)
4792  add_attribute(Domain self, IntKey a0, IMP::Int a1)
4793  add_attribute(Domain self, FloatsKey a0, IMP::Floats a1)
4794  add_attribute(Domain self, IntsKey a0, IMP::Ints a1)
4795  add_attribute(Domain self, StringKey a0, IMP::String a1)
4796  add_attribute(Domain self, ParticleIndexKey a0, Particle a1)
4797  add_attribute(Domain self, ObjectKey a0, Object a1)
4798  """
4799  return _IMP_atom.Domain_add_attribute(self, *args)
4800 
4801  def get_value(self, *args):
4802  r"""
4803  get_value(Domain self, FloatKey a0) -> IMP::Float
4804  get_value(Domain self, IntKey a0) -> IMP::Int
4805  get_value(Domain self, FloatsKey a0) -> IMP::Floats
4806  get_value(Domain self, IntsKey a0) -> IMP::Ints
4807  get_value(Domain self, StringKey a0) -> IMP::String
4808  get_value(Domain self, ParticleIndexKey a0) -> Particle
4809  get_value(Domain self, ObjectKey a0) -> Object
4810  """
4811  return _IMP_atom.Domain_get_value(self, *args)
4812 
4813  def set_value(self, *args):
4814  r"""
4815  set_value(Domain self, FloatKey a0, IMP::Float a1)
4816  set_value(Domain self, IntKey a0, IMP::Int a1)
4817  set_value(Domain self, FloatsKey a0, IMP::Floats a1)
4818  set_value(Domain self, IntsKey a0, IMP::Ints a1)
4819  set_value(Domain self, StringKey a0, IMP::String a1)
4820  set_value(Domain self, ParticleIndexKey a0, Particle a1)
4821  set_value(Domain self, ObjectKey a0, Object a1)
4822  """
4823  return _IMP_atom.Domain_set_value(self, *args)
4824 
4825  def remove_attribute(self, *args):
4826  r"""
4827  remove_attribute(Domain self, FloatKey a0)
4828  remove_attribute(Domain self, IntKey a0)
4829  remove_attribute(Domain self, FloatsKey a0)
4830  remove_attribute(Domain self, IntsKey a0)
4831  remove_attribute(Domain self, StringKey a0)
4832  remove_attribute(Domain self, ParticleIndexKey a0)
4833  remove_attribute(Domain self, ObjectKey a0)
4834  """
4835  return _IMP_atom.Domain_remove_attribute(self, *args)
4836 
4837  def has_attribute(self, *args):
4838  r"""
4839  has_attribute(Domain self, FloatKey a0) -> bool
4840  has_attribute(Domain self, IntKey a0) -> bool
4841  has_attribute(Domain self, FloatsKey a0) -> bool
4842  has_attribute(Domain self, IntsKey a0) -> bool
4843  has_attribute(Domain self, StringKey a0) -> bool
4844  has_attribute(Domain self, ParticleIndexKey a0) -> bool
4845  has_attribute(Domain self, ObjectKey a0) -> bool
4846  """
4847  return _IMP_atom.Domain_has_attribute(self, *args)
4848 
4849  def get_derivative(self, a0):
4850  r"""get_derivative(Domain self, FloatKey a0) -> double"""
4851  return _IMP_atom.Domain_get_derivative(self, a0)
4852 
4853  def get_name(self):
4854  r"""get_name(Domain self) -> std::string"""
4855  return _IMP_atom.Domain_get_name(self)
4856 
4857  def clear_caches(self):
4858  r"""clear_caches(Domain self)"""
4859  return _IMP_atom.Domain_clear_caches(self)
4860 
4861  def set_name(self, a0):
4862  r"""set_name(Domain self, std::string a0)"""
4863  return _IMP_atom.Domain_set_name(self, a0)
4864 
4865  def set_check_level(self, a0):
4866  r"""set_check_level(Domain self, IMP::CheckLevel a0)"""
4867  return _IMP_atom.Domain_set_check_level(self, a0)
4868 
4869  def add_to_derivative(self, a0, a1, a2):
4870  r"""add_to_derivative(Domain self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
4871  return _IMP_atom.Domain_add_to_derivative(self, a0, a1, a2)
4872 
4873  def set_is_optimized(self, a0, a1):
4874  r"""set_is_optimized(Domain self, FloatKey a0, bool a1)"""
4875  return _IMP_atom.Domain_set_is_optimized(self, a0, a1)
4876 
4877  def get_is_optimized(self, a0):
4878  r"""get_is_optimized(Domain self, FloatKey a0) -> bool"""
4879  return _IMP_atom.Domain_get_is_optimized(self, a0)
4880 
4881  def get_check_level(self):
4882  r"""get_check_level(Domain self) -> IMP::CheckLevel"""
4883  return _IMP_atom.Domain_get_check_level(self)
4884 
4885  def __eq__(self, *args):
4886  r"""
4887  __eq__(Domain self, Domain o) -> bool
4888  __eq__(Domain self, Particle d) -> bool
4889  """
4890  return _IMP_atom.Domain___eq__(self, *args)
4891 
4892  def __ne__(self, *args):
4893  r"""
4894  __ne__(Domain self, Domain o) -> bool
4895  __ne__(Domain self, Particle d) -> bool
4896  """
4897  return _IMP_atom.Domain___ne__(self, *args)
4898 
4899  def __le__(self, *args):
4900  r"""
4901  __le__(Domain self, Domain o) -> bool
4902  __le__(Domain self, Particle d) -> bool
4903  """
4904  return _IMP_atom.Domain___le__(self, *args)
4905 
4906  def __lt__(self, *args):
4907  r"""
4908  __lt__(Domain self, Domain o) -> bool
4909  __lt__(Domain self, Particle d) -> bool
4910  """
4911  return _IMP_atom.Domain___lt__(self, *args)
4912 
4913  def __ge__(self, *args):
4914  r"""
4915  __ge__(Domain self, Domain o) -> bool
4916  __ge__(Domain self, Particle d) -> bool
4917  """
4918  return _IMP_atom.Domain___ge__(self, *args)
4919 
4920  def __gt__(self, *args):
4921  r"""
4922  __gt__(Domain self, Domain o) -> bool
4923  __gt__(Domain self, Particle d) -> bool
4924  """
4925  return _IMP_atom.Domain___gt__(self, *args)
4926 
4927  def __hash__(self):
4928  r"""__hash__(Domain self) -> std::size_t"""
4929  return _IMP_atom.Domain___hash__(self)
4930 
4931  def __str__(self):
4932  r"""__str__(Domain self) -> std::string"""
4933  return _IMP_atom.Domain___str__(self)
4934 
4935  def __repr__(self):
4936  r"""__repr__(Domain self) -> std::string"""
4937  return _IMP_atom.Domain___repr__(self)
4938 
4939  def _get_as_binary(self):
4940  r"""_get_as_binary(Domain self) -> PyObject *"""
4941  return _IMP_atom.Domain__get_as_binary(self)
4942 
4943  def _set_from_binary(self, p):
4944  r"""_set_from_binary(Domain self, PyObject * p)"""
4945  return _IMP_atom.Domain__set_from_binary(self, p)
4946 
4947  def __getstate__(self):
4948  p = self._get_as_binary()
4949  if len(self.__dict__) > 1:
4950  d = self.__dict__.copy()
4951  del d['this']
4952  p = (d, p)
4953  return p
4954 
4955  def __setstate__(self, p):
4956  if not hasattr(self, 'this'):
4957  self.__init__()
4958  if isinstance(p, tuple):
4959  d, p = p
4960  self.__dict__.update(d)
4961  return self._set_from_binary(p)
4962 
4963  __swig_destroy__ = _IMP_atom.delete_Domain
4964 
4965 # Register Domain in _IMP_atom:
4966 _IMP_atom.Domain_swigregister(Domain)
4967 class LennardJones(IMP.core.XYZR):
4968  r"""Proxy of C++ IMP::atom::LennardJones class."""
4969 
4970  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
4971 
4972  def __init__(self, *args):
4973  r"""
4974  __init__(LennardJones self) -> LennardJones
4975  __init__(LennardJones self, Model m, ParticleIndex id) -> LennardJones
4976  __init__(LennardJones self, _ParticleAdaptor d) -> LennardJones
4977  """
4978  _IMP_atom.LennardJones_swiginit(self, _IMP_atom.new_LennardJones(*args))
4979 
4980  def show(self, *args):
4981  r"""show(LennardJones self, _ostream out=std::cout)"""
4982  return _IMP_atom.LennardJones_show(self, *args)
4983 
4984  @staticmethod
4985  def setup_particle(*args):
4986  r"""
4987  setup_particle(Model m, ParticleIndex pi) -> LennardJones
4988  setup_particle(_ParticleAdaptor pa) -> LennardJones
4989  setup_particle(Model m, ParticleIndex pi, IMP::Float well_depth) -> LennardJones
4990  setup_particle(_ParticleAdaptor pa, IMP::Float well_depth) -> LennardJones
4991  """
4992  return _IMP_atom.LennardJones_setup_particle(*args)
4993 
4994  def get_well_depth(self):
4995  r"""get_well_depth(LennardJones self) -> IMP::Float"""
4996  return _IMP_atom.LennardJones_get_well_depth(self)
4997 
4998  def set_well_depth(self, well_depth):
4999  r"""set_well_depth(LennardJones self, IMP::Float well_depth)"""
5000  return _IMP_atom.LennardJones_set_well_depth(self, well_depth)
5001 
5002  @staticmethod
5003  def get_is_setup(*args):
5004  r"""
5005  get_is_setup(_ParticleAdaptor p) -> bool
5006  get_is_setup(Model m, ParticleIndex pi) -> bool
5007  """
5008  return _IMP_atom.LennardJones_get_is_setup(*args)
5009 
5010  @staticmethod
5011  def get_well_depth_key():
5012  r"""get_well_depth_key() -> FloatKey"""
5013  return _IMP_atom.LennardJones_get_well_depth_key()
5014 
5015  def add_attribute(self, *args):
5016  r"""
5017  add_attribute(LennardJones self, FloatKey k, IMP::Float v, bool opt)
5018  add_attribute(LennardJones self, FloatKey a0, IMP::Float a1)
5019  add_attribute(LennardJones self, IntKey a0, IMP::Int a1)
5020  add_attribute(LennardJones self, FloatsKey a0, IMP::Floats a1)
5021  add_attribute(LennardJones self, IntsKey a0, IMP::Ints a1)
5022  add_attribute(LennardJones self, StringKey a0, IMP::String a1)
5023  add_attribute(LennardJones self, ParticleIndexKey a0, Particle a1)
5024  add_attribute(LennardJones self, ObjectKey a0, Object a1)
5025  """
5026  return _IMP_atom.LennardJones_add_attribute(self, *args)
5027 
5028  def get_value(self, *args):
5029  r"""
5030  get_value(LennardJones self, FloatKey a0) -> IMP::Float
5031  get_value(LennardJones self, IntKey a0) -> IMP::Int
5032  get_value(LennardJones self, FloatsKey a0) -> IMP::Floats
5033  get_value(LennardJones self, IntsKey a0) -> IMP::Ints
5034  get_value(LennardJones self, StringKey a0) -> IMP::String
5035  get_value(LennardJones self, ParticleIndexKey a0) -> Particle
5036  get_value(LennardJones self, ObjectKey a0) -> Object
5037  """
5038  return _IMP_atom.LennardJones_get_value(self, *args)
5039 
5040  def set_value(self, *args):
5041  r"""
5042  set_value(LennardJones self, FloatKey a0, IMP::Float a1)
5043  set_value(LennardJones self, IntKey a0, IMP::Int a1)
5044  set_value(LennardJones self, FloatsKey a0, IMP::Floats a1)
5045  set_value(LennardJones self, IntsKey a0, IMP::Ints a1)
5046  set_value(LennardJones self, StringKey a0, IMP::String a1)
5047  set_value(LennardJones self, ParticleIndexKey a0, Particle a1)
5048  set_value(LennardJones self, ObjectKey a0, Object a1)
5049  """
5050  return _IMP_atom.LennardJones_set_value(self, *args)
5051 
5052  def remove_attribute(self, *args):
5053  r"""
5054  remove_attribute(LennardJones self, FloatKey a0)
5055  remove_attribute(LennardJones self, IntKey a0)
5056  remove_attribute(LennardJones self, FloatsKey a0)
5057  remove_attribute(LennardJones self, IntsKey a0)
5058  remove_attribute(LennardJones self, StringKey a0)
5059  remove_attribute(LennardJones self, ParticleIndexKey a0)
5060  remove_attribute(LennardJones self, ObjectKey a0)
5061  """
5062  return _IMP_atom.LennardJones_remove_attribute(self, *args)
5063 
5064  def has_attribute(self, *args):
5065  r"""
5066  has_attribute(LennardJones self, FloatKey a0) -> bool
5067  has_attribute(LennardJones self, IntKey a0) -> bool
5068  has_attribute(LennardJones self, FloatsKey a0) -> bool
5069  has_attribute(LennardJones self, IntsKey a0) -> bool
5070  has_attribute(LennardJones self, StringKey a0) -> bool
5071  has_attribute(LennardJones self, ParticleIndexKey a0) -> bool
5072  has_attribute(LennardJones self, ObjectKey a0) -> bool
5073  """
5074  return _IMP_atom.LennardJones_has_attribute(self, *args)
5075 
5076  def get_derivative(self, a0):
5077  r"""get_derivative(LennardJones self, FloatKey a0) -> double"""
5078  return _IMP_atom.LennardJones_get_derivative(self, a0)
5079 
5080  def get_name(self):
5081  r"""get_name(LennardJones self) -> std::string"""
5082  return _IMP_atom.LennardJones_get_name(self)
5083 
5084  def clear_caches(self):
5085  r"""clear_caches(LennardJones self)"""
5086  return _IMP_atom.LennardJones_clear_caches(self)
5087 
5088  def set_name(self, a0):
5089  r"""set_name(LennardJones self, std::string a0)"""
5090  return _IMP_atom.LennardJones_set_name(self, a0)
5091 
5092  def set_check_level(self, a0):
5093  r"""set_check_level(LennardJones self, IMP::CheckLevel a0)"""
5094  return _IMP_atom.LennardJones_set_check_level(self, a0)
5095 
5096  def add_to_derivative(self, a0, a1, a2):
5097  r"""add_to_derivative(LennardJones self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5098  return _IMP_atom.LennardJones_add_to_derivative(self, a0, a1, a2)
5099 
5100  def set_is_optimized(self, a0, a1):
5101  r"""set_is_optimized(LennardJones self, FloatKey a0, bool a1)"""
5102  return _IMP_atom.LennardJones_set_is_optimized(self, a0, a1)
5103 
5104  def get_is_optimized(self, a0):
5105  r"""get_is_optimized(LennardJones self, FloatKey a0) -> bool"""
5106  return _IMP_atom.LennardJones_get_is_optimized(self, a0)
5107 
5108  def get_check_level(self):
5109  r"""get_check_level(LennardJones self) -> IMP::CheckLevel"""
5110  return _IMP_atom.LennardJones_get_check_level(self)
5111 
5112  def __eq__(self, *args):
5113  r"""
5114  __eq__(LennardJones self, LennardJones o) -> bool
5115  __eq__(LennardJones self, Particle d) -> bool
5116  """
5117  return _IMP_atom.LennardJones___eq__(self, *args)
5118 
5119  def __ne__(self, *args):
5120  r"""
5121  __ne__(LennardJones self, LennardJones o) -> bool
5122  __ne__(LennardJones self, Particle d) -> bool
5123  """
5124  return _IMP_atom.LennardJones___ne__(self, *args)
5125 
5126  def __le__(self, *args):
5127  r"""
5128  __le__(LennardJones self, LennardJones o) -> bool
5129  __le__(LennardJones self, Particle d) -> bool
5130  """
5131  return _IMP_atom.LennardJones___le__(self, *args)
5132 
5133  def __lt__(self, *args):
5134  r"""
5135  __lt__(LennardJones self, LennardJones o) -> bool
5136  __lt__(LennardJones self, Particle d) -> bool
5137  """
5138  return _IMP_atom.LennardJones___lt__(self, *args)
5139 
5140  def __ge__(self, *args):
5141  r"""
5142  __ge__(LennardJones self, LennardJones o) -> bool
5143  __ge__(LennardJones self, Particle d) -> bool
5144  """
5145  return _IMP_atom.LennardJones___ge__(self, *args)
5146 
5147  def __gt__(self, *args):
5148  r"""
5149  __gt__(LennardJones self, LennardJones o) -> bool
5150  __gt__(LennardJones self, Particle d) -> bool
5151  """
5152  return _IMP_atom.LennardJones___gt__(self, *args)
5153 
5154  def __hash__(self):
5155  r"""__hash__(LennardJones self) -> std::size_t"""
5156  return _IMP_atom.LennardJones___hash__(self)
5157 
5158  def __str__(self):
5159  r"""__str__(LennardJones self) -> std::string"""
5160  return _IMP_atom.LennardJones___str__(self)
5161 
5162  def __repr__(self):
5163  r"""__repr__(LennardJones self) -> std::string"""
5164  return _IMP_atom.LennardJones___repr__(self)
5165 
5166  def _get_as_binary(self):
5167  r"""_get_as_binary(LennardJones self) -> PyObject *"""
5168  return _IMP_atom.LennardJones__get_as_binary(self)
5169 
5170  def _set_from_binary(self, p):
5171  r"""_set_from_binary(LennardJones self, PyObject * p)"""
5172  return _IMP_atom.LennardJones__set_from_binary(self, p)
5173 
5174  def __getstate__(self):
5175  p = self._get_as_binary()
5176  if len(self.__dict__) > 1:
5177  d = self.__dict__.copy()
5178  del d['this']
5179  p = (d, p)
5180  return p
5181 
5182  def __setstate__(self, p):
5183  if not hasattr(self, 'this'):
5184  self.__init__()
5185  if isinstance(p, tuple):
5186  d, p = p
5187  self.__dict__.update(d)
5188  return self._set_from_binary(p)
5189 
5190  __swig_destroy__ = _IMP_atom.delete_LennardJones
5191 
5192 # Register LennardJones in _IMP_atom:
5193 _IMP_atom.LennardJones_swigregister(LennardJones)
5194 class LennardJonesPairScore(IMP.PairScore):
5195  r"""Proxy of C++ IMP::atom::LennardJonesPairScore class."""
5196 
5197  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5198 
5199  def __init__(self, f):
5200  r"""__init__(LennardJonesPairScore self, SmoothingFunction f) -> LennardJonesPairScore"""
5201  _IMP_atom.LennardJonesPairScore_swiginit(self, _IMP_atom.new_LennardJonesPairScore(f))
5202 
5203  def set_repulsive_weight(self, repulsive_weight):
5204  r"""set_repulsive_weight(LennardJonesPairScore self, double repulsive_weight)"""
5205  return _IMP_atom.LennardJonesPairScore_set_repulsive_weight(self, repulsive_weight)
5206 
5207  def get_repulsive_weight(self):
5208  r"""get_repulsive_weight(LennardJonesPairScore self) -> double"""
5209  return _IMP_atom.LennardJonesPairScore_get_repulsive_weight(self)
5210 
5211  def set_attractive_weight(self, attractive_weight):
5212  r"""set_attractive_weight(LennardJonesPairScore self, double attractive_weight)"""
5213  return _IMP_atom.LennardJonesPairScore_set_attractive_weight(self, attractive_weight)
5214 
5215  def get_attractive_weight(self):
5216  r"""get_attractive_weight(LennardJonesPairScore self) -> double"""
5217  return _IMP_atom.LennardJonesPairScore_get_attractive_weight(self)
5218 
5219  def do_get_inputs(self, m, pis):
5220  r"""do_get_inputs(LennardJonesPairScore self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
5221  return _IMP_atom.LennardJonesPairScore_do_get_inputs(self, m, pis)
5222 
5223  def get_version_info(self):
5224  r"""get_version_info(LennardJonesPairScore self) -> VersionInfo"""
5225  return _IMP_atom.LennardJonesPairScore_get_version_info(self)
5226  __swig_destroy__ = _IMP_atom.delete_LennardJonesPairScore
5227 
5228  def __str__(self):
5229  r"""__str__(LennardJonesPairScore self) -> std::string"""
5230  return _IMP_atom.LennardJonesPairScore___str__(self)
5231 
5232  def __repr__(self):
5233  r"""__repr__(LennardJonesPairScore self) -> std::string"""
5234  return _IMP_atom.LennardJonesPairScore___repr__(self)
5235 
5236  @staticmethod
5237  def get_from(o):
5238  return _object_cast_to_LennardJonesPairScore(o)
5239 
5240 
5241 # Register LennardJonesPairScore in _IMP_atom:
5242 _IMP_atom.LennardJonesPairScore_swigregister(LennardJonesPairScore)
5243 class LinearVelocity(IMP.Decorator):
5244  r"""Proxy of C++ IMP::atom::LinearVelocity class."""
5245 
5246  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5247 
5248  def __init__(self, *args):
5249  r"""
5250  __init__(LinearVelocity self) -> LinearVelocity
5251  __init__(LinearVelocity self, Model m, ParticleIndex id) -> LinearVelocity
5252  __init__(LinearVelocity self, _ParticleAdaptor d) -> LinearVelocity
5253  """
5254  _IMP_atom.LinearVelocity_swiginit(self, _IMP_atom.new_LinearVelocity(*args))
5255 
5256  @staticmethod
5257  def get_is_setup(*args):
5258  r"""
5259  get_is_setup(Model m, ParticleIndex pi) -> bool
5260  get_is_setup(_ParticleAdaptor p) -> bool
5261  """
5262  return _IMP_atom.LinearVelocity_get_is_setup(*args)
5263 
5264  def show(self, *args):
5265  r"""show(LinearVelocity self, _ostream out=std::cout)"""
5266  return _IMP_atom.LinearVelocity_show(self, *args)
5267 
5268  @staticmethod
5269  def setup_particle(*args):
5270  r"""
5271  setup_particle(Model m, ParticleIndex pi) -> LinearVelocity
5272  setup_particle(_ParticleAdaptor pa) -> LinearVelocity
5273  setup_particle(Model m, ParticleIndex pi, Vector3D v) -> LinearVelocity
5274  setup_particle(_ParticleAdaptor pa, Vector3D v) -> LinearVelocity
5275  """
5276  return _IMP_atom.LinearVelocity_setup_particle(*args)
5277 
5278  def set_velocity(self, v):
5279  r"""set_velocity(LinearVelocity self, Vector3D v)"""
5280  return _IMP_atom.LinearVelocity_set_velocity(self, v)
5281 
5282  def get_velocity(self):
5283  r"""get_velocity(LinearVelocity self) -> Vector3D"""
5284  return _IMP_atom.LinearVelocity_get_velocity(self)
5285 
5286  def add_attribute(self, *args):
5287  r"""
5288  add_attribute(LinearVelocity self, FloatKey k, IMP::Float v, bool opt)
5289  add_attribute(LinearVelocity self, FloatKey a0, IMP::Float a1)
5290  add_attribute(LinearVelocity self, IntKey a0, IMP::Int a1)
5291  add_attribute(LinearVelocity self, FloatsKey a0, IMP::Floats a1)
5292  add_attribute(LinearVelocity self, IntsKey a0, IMP::Ints a1)
5293  add_attribute(LinearVelocity self, StringKey a0, IMP::String a1)
5294  add_attribute(LinearVelocity self, ParticleIndexKey a0, Particle a1)
5295  add_attribute(LinearVelocity self, ObjectKey a0, Object a1)
5296  """
5297  return _IMP_atom.LinearVelocity_add_attribute(self, *args)
5298 
5299  def get_value(self, *args):
5300  r"""
5301  get_value(LinearVelocity self, FloatKey a0) -> IMP::Float
5302  get_value(LinearVelocity self, IntKey a0) -> IMP::Int
5303  get_value(LinearVelocity self, FloatsKey a0) -> IMP::Floats
5304  get_value(LinearVelocity self, IntsKey a0) -> IMP::Ints
5305  get_value(LinearVelocity self, StringKey a0) -> IMP::String
5306  get_value(LinearVelocity self, ParticleIndexKey a0) -> Particle
5307  get_value(LinearVelocity self, ObjectKey a0) -> Object
5308  """
5309  return _IMP_atom.LinearVelocity_get_value(self, *args)
5310 
5311  def set_value(self, *args):
5312  r"""
5313  set_value(LinearVelocity self, FloatKey a0, IMP::Float a1)
5314  set_value(LinearVelocity self, IntKey a0, IMP::Int a1)
5315  set_value(LinearVelocity self, FloatsKey a0, IMP::Floats a1)
5316  set_value(LinearVelocity self, IntsKey a0, IMP::Ints a1)
5317  set_value(LinearVelocity self, StringKey a0, IMP::String a1)
5318  set_value(LinearVelocity self, ParticleIndexKey a0, Particle a1)
5319  set_value(LinearVelocity self, ObjectKey a0, Object a1)
5320  """
5321  return _IMP_atom.LinearVelocity_set_value(self, *args)
5322 
5323  def remove_attribute(self, *args):
5324  r"""
5325  remove_attribute(LinearVelocity self, FloatKey a0)
5326  remove_attribute(LinearVelocity self, IntKey a0)
5327  remove_attribute(LinearVelocity self, FloatsKey a0)
5328  remove_attribute(LinearVelocity self, IntsKey a0)
5329  remove_attribute(LinearVelocity self, StringKey a0)
5330  remove_attribute(LinearVelocity self, ParticleIndexKey a0)
5331  remove_attribute(LinearVelocity self, ObjectKey a0)
5332  """
5333  return _IMP_atom.LinearVelocity_remove_attribute(self, *args)
5334 
5335  def has_attribute(self, *args):
5336  r"""
5337  has_attribute(LinearVelocity self, FloatKey a0) -> bool
5338  has_attribute(LinearVelocity self, IntKey a0) -> bool
5339  has_attribute(LinearVelocity self, FloatsKey a0) -> bool
5340  has_attribute(LinearVelocity self, IntsKey a0) -> bool
5341  has_attribute(LinearVelocity self, StringKey a0) -> bool
5342  has_attribute(LinearVelocity self, ParticleIndexKey a0) -> bool
5343  has_attribute(LinearVelocity self, ObjectKey a0) -> bool
5344  """
5345  return _IMP_atom.LinearVelocity_has_attribute(self, *args)
5346 
5347  def get_derivative(self, a0):
5348  r"""get_derivative(LinearVelocity self, FloatKey a0) -> double"""
5349  return _IMP_atom.LinearVelocity_get_derivative(self, a0)
5350 
5351  def get_name(self):
5352  r"""get_name(LinearVelocity self) -> std::string"""
5353  return _IMP_atom.LinearVelocity_get_name(self)
5354 
5355  def clear_caches(self):
5356  r"""clear_caches(LinearVelocity self)"""
5357  return _IMP_atom.LinearVelocity_clear_caches(self)
5358 
5359  def set_name(self, a0):
5360  r"""set_name(LinearVelocity self, std::string a0)"""
5361  return _IMP_atom.LinearVelocity_set_name(self, a0)
5362 
5363  def set_check_level(self, a0):
5364  r"""set_check_level(LinearVelocity self, IMP::CheckLevel a0)"""
5365  return _IMP_atom.LinearVelocity_set_check_level(self, a0)
5366 
5367  def add_to_derivative(self, a0, a1, a2):
5368  r"""add_to_derivative(LinearVelocity self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5369  return _IMP_atom.LinearVelocity_add_to_derivative(self, a0, a1, a2)
5370 
5371  def set_is_optimized(self, a0, a1):
5372  r"""set_is_optimized(LinearVelocity self, FloatKey a0, bool a1)"""
5373  return _IMP_atom.LinearVelocity_set_is_optimized(self, a0, a1)
5374 
5375  def get_is_optimized(self, a0):
5376  r"""get_is_optimized(LinearVelocity self, FloatKey a0) -> bool"""
5377  return _IMP_atom.LinearVelocity_get_is_optimized(self, a0)
5378 
5379  def get_check_level(self):
5380  r"""get_check_level(LinearVelocity self) -> IMP::CheckLevel"""
5381  return _IMP_atom.LinearVelocity_get_check_level(self)
5382 
5383  def __eq__(self, *args):
5384  r"""
5385  __eq__(LinearVelocity self, LinearVelocity o) -> bool
5386  __eq__(LinearVelocity self, Particle d) -> bool
5387  """
5388  return _IMP_atom.LinearVelocity___eq__(self, *args)
5389 
5390  def __ne__(self, *args):
5391  r"""
5392  __ne__(LinearVelocity self, LinearVelocity o) -> bool
5393  __ne__(LinearVelocity self, Particle d) -> bool
5394  """
5395  return _IMP_atom.LinearVelocity___ne__(self, *args)
5396 
5397  def __le__(self, *args):
5398  r"""
5399  __le__(LinearVelocity self, LinearVelocity o) -> bool
5400  __le__(LinearVelocity self, Particle d) -> bool
5401  """
5402  return _IMP_atom.LinearVelocity___le__(self, *args)
5403 
5404  def __lt__(self, *args):
5405  r"""
5406  __lt__(LinearVelocity self, LinearVelocity o) -> bool
5407  __lt__(LinearVelocity self, Particle d) -> bool
5408  """
5409  return _IMP_atom.LinearVelocity___lt__(self, *args)
5410 
5411  def __ge__(self, *args):
5412  r"""
5413  __ge__(LinearVelocity self, LinearVelocity o) -> bool
5414  __ge__(LinearVelocity self, Particle d) -> bool
5415  """
5416  return _IMP_atom.LinearVelocity___ge__(self, *args)
5417 
5418  def __gt__(self, *args):
5419  r"""
5420  __gt__(LinearVelocity self, LinearVelocity o) -> bool
5421  __gt__(LinearVelocity self, Particle d) -> bool
5422  """
5423  return _IMP_atom.LinearVelocity___gt__(self, *args)
5424 
5425  def __hash__(self):
5426  r"""__hash__(LinearVelocity self) -> std::size_t"""
5427  return _IMP_atom.LinearVelocity___hash__(self)
5428 
5429  def __str__(self):
5430  r"""__str__(LinearVelocity self) -> std::string"""
5431  return _IMP_atom.LinearVelocity___str__(self)
5432 
5433  def __repr__(self):
5434  r"""__repr__(LinearVelocity self) -> std::string"""
5435  return _IMP_atom.LinearVelocity___repr__(self)
5436 
5437  def _get_as_binary(self):
5438  r"""_get_as_binary(LinearVelocity self) -> PyObject *"""
5439  return _IMP_atom.LinearVelocity__get_as_binary(self)
5440 
5441  def _set_from_binary(self, p):
5442  r"""_set_from_binary(LinearVelocity self, PyObject * p)"""
5443  return _IMP_atom.LinearVelocity__set_from_binary(self, p)
5444 
5445  def __getstate__(self):
5446  p = self._get_as_binary()
5447  if len(self.__dict__) > 1:
5448  d = self.__dict__.copy()
5449  del d['this']
5450  p = (d, p)
5451  return p
5452 
5453  def __setstate__(self, p):
5454  if not hasattr(self, 'this'):
5455  self.__init__()
5456  if isinstance(p, tuple):
5457  d, p = p
5458  self.__dict__.update(d)
5459  return self._set_from_binary(p)
5460 
5461  __swig_destroy__ = _IMP_atom.delete_LinearVelocity
5462 
5463 # Register LinearVelocity in _IMP_atom:
5464 _IMP_atom.LinearVelocity_swigregister(LinearVelocity)
5465 class AngularVelocity(IMP.Decorator):
5466  r"""Proxy of C++ IMP::atom::AngularVelocity class."""
5467 
5468  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5469 
5470  def __init__(self, *args):
5471  r"""
5472  __init__(AngularVelocity self) -> AngularVelocity
5473  __init__(AngularVelocity self, Model m, ParticleIndex id) -> AngularVelocity
5474  __init__(AngularVelocity self, _ParticleAdaptor d) -> AngularVelocity
5475  """
5476  _IMP_atom.AngularVelocity_swiginit(self, _IMP_atom.new_AngularVelocity(*args))
5477 
5478  @staticmethod
5479  def get_is_setup(*args):
5480  r"""
5481  get_is_setup(Model m, ParticleIndex pi) -> bool
5482  get_is_setup(_ParticleAdaptor p) -> bool
5483  """
5484  return _IMP_atom.AngularVelocity_get_is_setup(*args)
5485 
5486  def show(self, *args):
5487  r"""show(AngularVelocity self, _ostream out=std::cout)"""
5488  return _IMP_atom.AngularVelocity_show(self, *args)
5489 
5490  @staticmethod
5491  def setup_particle(*args):
5492  r"""
5493  setup_particle(Model m, ParticleIndex pi) -> AngularVelocity
5494  setup_particle(_ParticleAdaptor pa) -> AngularVelocity
5495  setup_particle(Model m, ParticleIndex pi, Vector4D v) -> AngularVelocity
5496  setup_particle(_ParticleAdaptor pa, Vector4D v) -> AngularVelocity
5497  """
5498  return _IMP_atom.AngularVelocity_setup_particle(*args)
5499 
5500  def set_velocity(self, v):
5501  r"""set_velocity(AngularVelocity self, Vector4D v)"""
5502  return _IMP_atom.AngularVelocity_set_velocity(self, v)
5503 
5504  def get_velocity(self):
5505  r"""get_velocity(AngularVelocity self) -> Vector4D"""
5506  return _IMP_atom.AngularVelocity_get_velocity(self)
5507 
5508  def add_attribute(self, *args):
5509  r"""
5510  add_attribute(AngularVelocity self, FloatKey k, IMP::Float v, bool opt)
5511  add_attribute(AngularVelocity self, FloatKey a0, IMP::Float a1)
5512  add_attribute(AngularVelocity self, IntKey a0, IMP::Int a1)
5513  add_attribute(AngularVelocity self, FloatsKey a0, IMP::Floats a1)
5514  add_attribute(AngularVelocity self, IntsKey a0, IMP::Ints a1)
5515  add_attribute(AngularVelocity self, StringKey a0, IMP::String a1)
5516  add_attribute(AngularVelocity self, ParticleIndexKey a0, Particle a1)
5517  add_attribute(AngularVelocity self, ObjectKey a0, Object a1)
5518  """
5519  return _IMP_atom.AngularVelocity_add_attribute(self, *args)
5520 
5521  def get_value(self, *args):
5522  r"""
5523  get_value(AngularVelocity self, FloatKey a0) -> IMP::Float
5524  get_value(AngularVelocity self, IntKey a0) -> IMP::Int
5525  get_value(AngularVelocity self, FloatsKey a0) -> IMP::Floats
5526  get_value(AngularVelocity self, IntsKey a0) -> IMP::Ints
5527  get_value(AngularVelocity self, StringKey a0) -> IMP::String
5528  get_value(AngularVelocity self, ParticleIndexKey a0) -> Particle
5529  get_value(AngularVelocity self, ObjectKey a0) -> Object
5530  """
5531  return _IMP_atom.AngularVelocity_get_value(self, *args)
5532 
5533  def set_value(self, *args):
5534  r"""
5535  set_value(AngularVelocity self, FloatKey a0, IMP::Float a1)
5536  set_value(AngularVelocity self, IntKey a0, IMP::Int a1)
5537  set_value(AngularVelocity self, FloatsKey a0, IMP::Floats a1)
5538  set_value(AngularVelocity self, IntsKey a0, IMP::Ints a1)
5539  set_value(AngularVelocity self, StringKey a0, IMP::String a1)
5540  set_value(AngularVelocity self, ParticleIndexKey a0, Particle a1)
5541  set_value(AngularVelocity self, ObjectKey a0, Object a1)
5542  """
5543  return _IMP_atom.AngularVelocity_set_value(self, *args)
5544 
5545  def remove_attribute(self, *args):
5546  r"""
5547  remove_attribute(AngularVelocity self, FloatKey a0)
5548  remove_attribute(AngularVelocity self, IntKey a0)
5549  remove_attribute(AngularVelocity self, FloatsKey a0)
5550  remove_attribute(AngularVelocity self, IntsKey a0)
5551  remove_attribute(AngularVelocity self, StringKey a0)
5552  remove_attribute(AngularVelocity self, ParticleIndexKey a0)
5553  remove_attribute(AngularVelocity self, ObjectKey a0)
5554  """
5555  return _IMP_atom.AngularVelocity_remove_attribute(self, *args)
5556 
5557  def has_attribute(self, *args):
5558  r"""
5559  has_attribute(AngularVelocity self, FloatKey a0) -> bool
5560  has_attribute(AngularVelocity self, IntKey a0) -> bool
5561  has_attribute(AngularVelocity self, FloatsKey a0) -> bool
5562  has_attribute(AngularVelocity self, IntsKey a0) -> bool
5563  has_attribute(AngularVelocity self, StringKey a0) -> bool
5564  has_attribute(AngularVelocity self, ParticleIndexKey a0) -> bool
5565  has_attribute(AngularVelocity self, ObjectKey a0) -> bool
5566  """
5567  return _IMP_atom.AngularVelocity_has_attribute(self, *args)
5568 
5569  def get_derivative(self, a0):
5570  r"""get_derivative(AngularVelocity self, FloatKey a0) -> double"""
5571  return _IMP_atom.AngularVelocity_get_derivative(self, a0)
5572 
5573  def get_name(self):
5574  r"""get_name(AngularVelocity self) -> std::string"""
5575  return _IMP_atom.AngularVelocity_get_name(self)
5576 
5577  def clear_caches(self):
5578  r"""clear_caches(AngularVelocity self)"""
5579  return _IMP_atom.AngularVelocity_clear_caches(self)
5580 
5581  def set_name(self, a0):
5582  r"""set_name(AngularVelocity self, std::string a0)"""
5583  return _IMP_atom.AngularVelocity_set_name(self, a0)
5584 
5585  def set_check_level(self, a0):
5586  r"""set_check_level(AngularVelocity self, IMP::CheckLevel a0)"""
5587  return _IMP_atom.AngularVelocity_set_check_level(self, a0)
5588 
5589  def add_to_derivative(self, a0, a1, a2):
5590  r"""add_to_derivative(AngularVelocity self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5591  return _IMP_atom.AngularVelocity_add_to_derivative(self, a0, a1, a2)
5592 
5593  def set_is_optimized(self, a0, a1):
5594  r"""set_is_optimized(AngularVelocity self, FloatKey a0, bool a1)"""
5595  return _IMP_atom.AngularVelocity_set_is_optimized(self, a0, a1)
5596 
5597  def get_is_optimized(self, a0):
5598  r"""get_is_optimized(AngularVelocity self, FloatKey a0) -> bool"""
5599  return _IMP_atom.AngularVelocity_get_is_optimized(self, a0)
5600 
5601  def get_check_level(self):
5602  r"""get_check_level(AngularVelocity self) -> IMP::CheckLevel"""
5603  return _IMP_atom.AngularVelocity_get_check_level(self)
5604 
5605  def __eq__(self, *args):
5606  r"""
5607  __eq__(AngularVelocity self, AngularVelocity o) -> bool
5608  __eq__(AngularVelocity self, Particle d) -> bool
5609  """
5610  return _IMP_atom.AngularVelocity___eq__(self, *args)
5611 
5612  def __ne__(self, *args):
5613  r"""
5614  __ne__(AngularVelocity self, AngularVelocity o) -> bool
5615  __ne__(AngularVelocity self, Particle d) -> bool
5616  """
5617  return _IMP_atom.AngularVelocity___ne__(self, *args)
5618 
5619  def __le__(self, *args):
5620  r"""
5621  __le__(AngularVelocity self, AngularVelocity o) -> bool
5622  __le__(AngularVelocity self, Particle d) -> bool
5623  """
5624  return _IMP_atom.AngularVelocity___le__(self, *args)
5625 
5626  def __lt__(self, *args):
5627  r"""
5628  __lt__(AngularVelocity self, AngularVelocity o) -> bool
5629  __lt__(AngularVelocity self, Particle d) -> bool
5630  """
5631  return _IMP_atom.AngularVelocity___lt__(self, *args)
5632 
5633  def __ge__(self, *args):
5634  r"""
5635  __ge__(AngularVelocity self, AngularVelocity o) -> bool
5636  __ge__(AngularVelocity self, Particle d) -> bool
5637  """
5638  return _IMP_atom.AngularVelocity___ge__(self, *args)
5639 
5640  def __gt__(self, *args):
5641  r"""
5642  __gt__(AngularVelocity self, AngularVelocity o) -> bool
5643  __gt__(AngularVelocity self, Particle d) -> bool
5644  """
5645  return _IMP_atom.AngularVelocity___gt__(self, *args)
5646 
5647  def __hash__(self):
5648  r"""__hash__(AngularVelocity self) -> std::size_t"""
5649  return _IMP_atom.AngularVelocity___hash__(self)
5650 
5651  def __str__(self):
5652  r"""__str__(AngularVelocity self) -> std::string"""
5653  return _IMP_atom.AngularVelocity___str__(self)
5654 
5655  def __repr__(self):
5656  r"""__repr__(AngularVelocity self) -> std::string"""
5657  return _IMP_atom.AngularVelocity___repr__(self)
5658 
5659  def _get_as_binary(self):
5660  r"""_get_as_binary(AngularVelocity self) -> PyObject *"""
5661  return _IMP_atom.AngularVelocity__get_as_binary(self)
5662 
5663  def _set_from_binary(self, p):
5664  r"""_set_from_binary(AngularVelocity self, PyObject * p)"""
5665  return _IMP_atom.AngularVelocity__set_from_binary(self, p)
5666 
5667  def __getstate__(self):
5668  p = self._get_as_binary()
5669  if len(self.__dict__) > 1:
5670  d = self.__dict__.copy()
5671  del d['this']
5672  p = (d, p)
5673  return p
5674 
5675  def __setstate__(self, p):
5676  if not hasattr(self, 'this'):
5677  self.__init__()
5678  if isinstance(p, tuple):
5679  d, p = p
5680  self.__dict__.update(d)
5681  return self._set_from_binary(p)
5682 
5683  __swig_destroy__ = _IMP_atom.delete_AngularVelocity
5684 
5685 # Register AngularVelocity in _IMP_atom:
5686 _IMP_atom.AngularVelocity_swigregister(AngularVelocity)
5687 class MolecularDynamics(Simulator):
5688  r"""Proxy of C++ IMP::atom::MolecularDynamics class."""
5689 
5690  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5691 
5692  def __init__(self, m):
5693  r"""__init__(MolecularDynamics self, Model m) -> MolecularDynamics"""
5694  _IMP_atom.MolecularDynamics_swiginit(self, _IMP_atom.new_MolecularDynamics(m))
5695 
5696  def get_kinetic_energy(self):
5697  r"""get_kinetic_energy(MolecularDynamics self) -> IMP::Float"""
5698  return _IMP_atom.MolecularDynamics_get_kinetic_energy(self)
5699 
5700  def get_kinetic_temperature(self, ekinetic):
5701  r"""get_kinetic_temperature(MolecularDynamics self, IMP::Float ekinetic) -> IMP::Float"""
5702  return _IMP_atom.MolecularDynamics_get_kinetic_temperature(self, ekinetic)
5703 
5704  def set_velocity_cap(self, velocity_cap):
5705  r"""set_velocity_cap(MolecularDynamics self, IMP::Float velocity_cap)"""
5706  return _IMP_atom.MolecularDynamics_set_velocity_cap(self, velocity_cap)
5707 
5708  def assign_velocities(self, temperature):
5709  r"""assign_velocities(MolecularDynamics self, IMP::Float temperature)"""
5710  return _IMP_atom.MolecularDynamics_assign_velocities(self, temperature)
5711 
5712  def setup(self, ps):
5713  r"""setup(MolecularDynamics self, IMP::ParticleIndexes const & ps)"""
5714  return _IMP_atom.MolecularDynamics_setup(self, ps)
5715 
5716  def do_step(self, sc, dt):
5717  r"""do_step(MolecularDynamics self, IMP::ParticleIndexes const & sc, double dt) -> double"""
5718  return _IMP_atom.MolecularDynamics_do_step(self, sc, dt)
5719 
5720  def get_is_simulation_particle(self, p):
5721  r"""get_is_simulation_particle(MolecularDynamics self, ParticleIndex p) -> bool"""
5722  return _IMP_atom.MolecularDynamics_get_is_simulation_particle(self, p)
5723 
5724  def get_version_info(self):
5725  r"""get_version_info(MolecularDynamics self) -> VersionInfo"""
5726  return _IMP_atom.MolecularDynamics_get_version_info(self)
5727  __swig_destroy__ = _IMP_atom.delete_MolecularDynamics
5728 
5729  def __str__(self):
5730  r"""__str__(MolecularDynamics self) -> std::string"""
5731  return _IMP_atom.MolecularDynamics___str__(self)
5732 
5733  def __repr__(self):
5734  r"""__repr__(MolecularDynamics self) -> std::string"""
5735  return _IMP_atom.MolecularDynamics___repr__(self)
5736 
5737  @staticmethod
5738  def get_from(o):
5739  return _object_cast_to_MolecularDynamics(o)
5740 
5741 
5742 # Register MolecularDynamics in _IMP_atom:
5743 _IMP_atom.MolecularDynamics_swigregister(MolecularDynamics)
5744 class VelocityScalingOptimizerState(IMP.OptimizerState):
5745  r"""Proxy of C++ IMP::atom::VelocityScalingOptimizerState class."""
5746 
5747  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5748 
5749  def __init__(self, m, pis, temperature):
5750  r"""__init__(VelocityScalingOptimizerState self, Model m, _ParticleIndexesAdaptor pis, double temperature) -> VelocityScalingOptimizerState"""
5751  _IMP_atom.VelocityScalingOptimizerState_swiginit(self, _IMP_atom.new_VelocityScalingOptimizerState(m, pis, temperature))
5752 
5753  def set_particles(self, pis):
5754  r"""set_particles(VelocityScalingOptimizerState self, IMP::Particles const & pis)"""
5755  return _IMP_atom.VelocityScalingOptimizerState_set_particles(self, pis)
5756 
5757  def set_temperature(self, temperature):
5758  r"""set_temperature(VelocityScalingOptimizerState self, IMP::Float temperature)"""
5759  return _IMP_atom.VelocityScalingOptimizerState_set_temperature(self, temperature)
5760 
5761  def rescale_velocities(self):
5762  r"""rescale_velocities(VelocityScalingOptimizerState self)"""
5763  return _IMP_atom.VelocityScalingOptimizerState_rescale_velocities(self)
5764 
5765  def get_version_info(self):
5766  r"""get_version_info(VelocityScalingOptimizerState self) -> VersionInfo"""
5767  return _IMP_atom.VelocityScalingOptimizerState_get_version_info(self)
5768  __swig_destroy__ = _IMP_atom.delete_VelocityScalingOptimizerState
5769 
5770  def __str__(self):
5771  r"""__str__(VelocityScalingOptimizerState self) -> std::string"""
5772  return _IMP_atom.VelocityScalingOptimizerState___str__(self)
5773 
5774  def __repr__(self):
5775  r"""__repr__(VelocityScalingOptimizerState self) -> std::string"""
5776  return _IMP_atom.VelocityScalingOptimizerState___repr__(self)
5777 
5778  @staticmethod
5779  def get_from(o):
5780  return _object_cast_to_VelocityScalingOptimizerState(o)
5781 
5782 
5783 # Register VelocityScalingOptimizerState in _IMP_atom:
5784 _IMP_atom.VelocityScalingOptimizerState_swigregister(VelocityScalingOptimizerState)
5785 class Fragment(Hierarchy):
5786  r"""Proxy of C++ IMP::atom::Fragment class."""
5787 
5788  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
5789 
5790  def set_residue_indexes(self, o):
5791  r"""set_residue_indexes(Fragment self, IMP::Ints o)"""
5792  return _IMP_atom.Fragment_set_residue_indexes(self, o)
5793 
5794  def get_residue_indexes(self):
5795  r"""get_residue_indexes(Fragment self) -> IMP::Ints"""
5796  return _IMP_atom.Fragment_get_residue_indexes(self)
5797 
5798  def get_contains_residue(self, rindex):
5799  r"""get_contains_residue(Fragment self, int rindex) -> bool"""
5800  return _IMP_atom.Fragment_get_contains_residue(self, rindex)
5801 
5802  def get_contains_any_sorted_residue(self, rinds):
5803  r"""get_contains_any_sorted_residue(Fragment self, IMP::Ints const & rinds) -> bool"""
5804  return _IMP_atom.Fragment_get_contains_any_sorted_residue(self, rinds)
5805 
5806  def __init__(self, *args):
5807  r"""
5808  __init__(Fragment self) -> Fragment
5809  __init__(Fragment self, Model m, ParticleIndex id) -> Fragment
5810  __init__(Fragment self, _ParticleAdaptor d) -> Fragment
5811  """
5812  _IMP_atom.Fragment_swiginit(self, _IMP_atom.new_Fragment(*args))
5813 
5814  @staticmethod
5815  def get_is_setup(*args):
5816  r"""
5817  get_is_setup(Model m, ParticleIndex pi) -> bool
5818  get_is_setup(_ParticleAdaptor p) -> bool
5819  """
5820  return _IMP_atom.Fragment_get_is_setup(*args)
5821 
5822  def show(self, *args):
5823  r"""show(Fragment self, _ostream out=std::cout)"""
5824  return _IMP_atom.Fragment_show(self, *args)
5825 
5826  @staticmethod
5827  def setup_particle(*args):
5828  r"""
5829  setup_particle(Model m, ParticleIndex pi) -> Fragment
5830  setup_particle(_ParticleAdaptor pa) -> Fragment
5831  setup_particle(Model m, ParticleIndex pi, Fragment other) -> Fragment
5832  setup_particle(_ParticleAdaptor pa, Fragment other) -> Fragment
5833  setup_particle(Model m, ParticleIndex pi, IMP::Ints residue_indexes) -> Fragment
5834  setup_particle(_ParticleAdaptor pa, IMP::Ints residue_indexes) -> Fragment
5835  """
5836  return _IMP_atom.Fragment_setup_particle(*args)
5837 
5838  def add_attribute(self, *args):
5839  r"""
5840  add_attribute(Fragment self, FloatKey k, IMP::Float v, bool opt)
5841  add_attribute(Fragment self, FloatKey a0, IMP::Float a1)
5842  add_attribute(Fragment self, IntKey a0, IMP::Int a1)
5843  add_attribute(Fragment self, FloatsKey a0, IMP::Floats a1)
5844  add_attribute(Fragment self, IntsKey a0, IMP::Ints a1)
5845  add_attribute(Fragment self, StringKey a0, IMP::String a1)
5846  add_attribute(Fragment self, ParticleIndexKey a0, Particle a1)
5847  add_attribute(Fragment self, ObjectKey a0, Object a1)
5848  """
5849  return _IMP_atom.Fragment_add_attribute(self, *args)
5850 
5851  def get_value(self, *args):
5852  r"""
5853  get_value(Fragment self, FloatKey a0) -> IMP::Float
5854  get_value(Fragment self, IntKey a0) -> IMP::Int
5855  get_value(Fragment self, FloatsKey a0) -> IMP::Floats
5856  get_value(Fragment self, IntsKey a0) -> IMP::Ints
5857  get_value(Fragment self, StringKey a0) -> IMP::String
5858  get_value(Fragment self, ParticleIndexKey a0) -> Particle
5859  get_value(Fragment self, ObjectKey a0) -> Object
5860  """
5861  return _IMP_atom.Fragment_get_value(self, *args)
5862 
5863  def set_value(self, *args):
5864  r"""
5865  set_value(Fragment self, FloatKey a0, IMP::Float a1)
5866  set_value(Fragment self, IntKey a0, IMP::Int a1)
5867  set_value(Fragment self, FloatsKey a0, IMP::Floats a1)
5868  set_value(Fragment self, IntsKey a0, IMP::Ints a1)
5869  set_value(Fragment self, StringKey a0, IMP::String a1)
5870  set_value(Fragment self, ParticleIndexKey a0, Particle a1)
5871  set_value(Fragment self, ObjectKey a0, Object a1)
5872  """
5873  return _IMP_atom.Fragment_set_value(self, *args)
5874 
5875  def remove_attribute(self, *args):
5876  r"""
5877  remove_attribute(Fragment self, FloatKey a0)
5878  remove_attribute(Fragment self, IntKey a0)
5879  remove_attribute(Fragment self, FloatsKey a0)
5880  remove_attribute(Fragment self, IntsKey a0)
5881  remove_attribute(Fragment self, StringKey a0)
5882  remove_attribute(Fragment self, ParticleIndexKey a0)
5883  remove_attribute(Fragment self, ObjectKey a0)
5884  """
5885  return _IMP_atom.Fragment_remove_attribute(self, *args)
5886 
5887  def has_attribute(self, *args):
5888  r"""
5889  has_attribute(Fragment self, FloatKey a0) -> bool
5890  has_attribute(Fragment self, IntKey a0) -> bool
5891  has_attribute(Fragment self, FloatsKey a0) -> bool
5892  has_attribute(Fragment self, IntsKey a0) -> bool
5893  has_attribute(Fragment self, StringKey a0) -> bool
5894  has_attribute(Fragment self, ParticleIndexKey a0) -> bool
5895  has_attribute(Fragment self, ObjectKey a0) -> bool
5896  """
5897  return _IMP_atom.Fragment_has_attribute(self, *args)
5898 
5899  def get_derivative(self, a0):
5900  r"""get_derivative(Fragment self, FloatKey a0) -> double"""
5901  return _IMP_atom.Fragment_get_derivative(self, a0)
5902 
5903  def get_name(self):
5904  r"""get_name(Fragment self) -> std::string"""
5905  return _IMP_atom.Fragment_get_name(self)
5906 
5907  def clear_caches(self):
5908  r"""clear_caches(Fragment self)"""
5909  return _IMP_atom.Fragment_clear_caches(self)
5910 
5911  def set_name(self, a0):
5912  r"""set_name(Fragment self, std::string a0)"""
5913  return _IMP_atom.Fragment_set_name(self, a0)
5914 
5915  def set_check_level(self, a0):
5916  r"""set_check_level(Fragment self, IMP::CheckLevel a0)"""
5917  return _IMP_atom.Fragment_set_check_level(self, a0)
5918 
5919  def add_to_derivative(self, a0, a1, a2):
5920  r"""add_to_derivative(Fragment self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
5921  return _IMP_atom.Fragment_add_to_derivative(self, a0, a1, a2)
5922 
5923  def set_is_optimized(self, a0, a1):
5924  r"""set_is_optimized(Fragment self, FloatKey a0, bool a1)"""
5925  return _IMP_atom.Fragment_set_is_optimized(self, a0, a1)
5926 
5927  def get_is_optimized(self, a0):
5928  r"""get_is_optimized(Fragment self, FloatKey a0) -> bool"""
5929  return _IMP_atom.Fragment_get_is_optimized(self, a0)
5930 
5931  def get_check_level(self):
5932  r"""get_check_level(Fragment self) -> IMP::CheckLevel"""
5933  return _IMP_atom.Fragment_get_check_level(self)
5934 
5935  def __eq__(self, *args):
5936  r"""
5937  __eq__(Fragment self, Fragment o) -> bool
5938  __eq__(Fragment self, Particle d) -> bool
5939  """
5940  return _IMP_atom.Fragment___eq__(self, *args)
5941 
5942  def __ne__(self, *args):
5943  r"""
5944  __ne__(Fragment self, Fragment o) -> bool
5945  __ne__(Fragment self, Particle d) -> bool
5946  """
5947  return _IMP_atom.Fragment___ne__(self, *args)
5948 
5949  def __le__(self, *args):
5950  r"""
5951  __le__(Fragment self, Fragment o) -> bool
5952  __le__(Fragment self, Particle d) -> bool
5953  """
5954  return _IMP_atom.Fragment___le__(self, *args)
5955 
5956  def __lt__(self, *args):
5957  r"""
5958  __lt__(Fragment self, Fragment o) -> bool
5959  __lt__(Fragment self, Particle d) -> bool
5960  """
5961  return _IMP_atom.Fragment___lt__(self, *args)
5962 
5963  def __ge__(self, *args):
5964  r"""
5965  __ge__(Fragment self, Fragment o) -> bool
5966  __ge__(Fragment self, Particle d) -> bool
5967  """
5968  return _IMP_atom.Fragment___ge__(self, *args)
5969 
5970  def __gt__(self, *args):
5971  r"""
5972  __gt__(Fragment self, Fragment o) -> bool
5973  __gt__(Fragment self, Particle d) -> bool
5974  """
5975  return _IMP_atom.Fragment___gt__(self, *args)
5976 
5977  def __hash__(self):
5978  r"""__hash__(Fragment self) -> std::size_t"""
5979  return _IMP_atom.Fragment___hash__(self)
5980 
5981  def __str__(self):
5982  r"""__str__(Fragment self) -> std::string"""
5983  return _IMP_atom.Fragment___str__(self)
5984 
5985  def __repr__(self):
5986  r"""__repr__(Fragment self) -> std::string"""
5987  return _IMP_atom.Fragment___repr__(self)
5988 
5989  def _get_as_binary(self):
5990  r"""_get_as_binary(Fragment self) -> PyObject *"""
5991  return _IMP_atom.Fragment__get_as_binary(self)
5992 
5993  def _set_from_binary(self, p):
5994  r"""_set_from_binary(Fragment self, PyObject * p)"""
5995  return _IMP_atom.Fragment__set_from_binary(self, p)
5996 
5997  def __getstate__(self):
5998  p = self._get_as_binary()
5999  if len(self.__dict__) > 1:
6000  d = self.__dict__.copy()
6001  del d['this']
6002  p = (d, p)
6003  return p
6004 
6005  def __setstate__(self, p):
6006  if not hasattr(self, 'this'):
6007  self.__init__()
6008  if isinstance(p, tuple):
6009  d, p = p
6010  self.__dict__.update(d)
6011  return self._set_from_binary(p)
6012 
6013  __swig_destroy__ = _IMP_atom.delete_Fragment
6014 
6015 # Register Fragment in _IMP_atom:
6016 _IMP_atom.Fragment_swigregister(Fragment)
6017 class StereochemistryPairFilter(IMP.PairPredicate):
6018  r"""Proxy of C++ IMP::atom::StereochemistryPairFilter class."""
6019 
6020  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6021 
6022  def __init__(self):
6023  r"""__init__(StereochemistryPairFilter self) -> StereochemistryPairFilter"""
6024  _IMP_atom.StereochemistryPairFilter_swiginit(self, _IMP_atom.new_StereochemistryPairFilter())
6025 
6026  def set_bonds(self, bonds):
6027  r"""set_bonds(StereochemistryPairFilter self, IMP::Particles const & bonds)"""
6028  return _IMP_atom.StereochemistryPairFilter_set_bonds(self, bonds)
6029 
6030  def set_angles(self, angles):
6031  r"""set_angles(StereochemistryPairFilter self, IMP::Particles const & angles)"""
6032  return _IMP_atom.StereochemistryPairFilter_set_angles(self, angles)
6033 
6034  def set_dihedrals(self, dihedrals):
6035  r"""set_dihedrals(StereochemistryPairFilter self, IMP::Particles const & dihedrals)"""
6036  return _IMP_atom.StereochemistryPairFilter_set_dihedrals(self, dihedrals)
6037 
6038  def do_get_inputs(self, m, pis):
6039  r"""do_get_inputs(StereochemistryPairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6040  return _IMP_atom.StereochemistryPairFilter_do_get_inputs(self, m, pis)
6041 
6042  def get_value(self, *args):
6043  r"""
6044  get_value(StereochemistryPairFilter self, IMP::ParticlePair const & a) -> int
6045  get_value(StereochemistryPairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
6046  """
6047  return _IMP_atom.StereochemistryPairFilter_get_value(self, *args)
6048 
6049  def get_value_index(self, *args):
6050  r"""
6051  get_value_index(StereochemistryPairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
6052  get_value_index(StereochemistryPairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
6053  """
6054  return _IMP_atom.StereochemistryPairFilter_get_value_index(self, *args)
6055 
6056  def get_version_info(self):
6057  r"""get_version_info(StereochemistryPairFilter self) -> VersionInfo"""
6058  return _IMP_atom.StereochemistryPairFilter_get_version_info(self)
6059  __swig_destroy__ = _IMP_atom.delete_StereochemistryPairFilter
6060 
6061  def __str__(self):
6062  r"""__str__(StereochemistryPairFilter self) -> std::string"""
6063  return _IMP_atom.StereochemistryPairFilter___str__(self)
6064 
6065  def __repr__(self):
6066  r"""__repr__(StereochemistryPairFilter self) -> std::string"""
6067  return _IMP_atom.StereochemistryPairFilter___repr__(self)
6068 
6069  @staticmethod
6070  def get_from(o):
6071  return _object_cast_to_StereochemistryPairFilter(o)
6072 
6073 
6074 # Register StereochemistryPairFilter in _IMP_atom:
6075 _IMP_atom.StereochemistryPairFilter_swigregister(StereochemistryPairFilter)
6076 class SoapPairFilter(IMP.PairPredicate):
6077  r"""Proxy of C++ IMP::atom::SoapPairFilter class."""
6078 
6079  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6080 
6081  def __init__(self, library):
6082  r"""__init__(SoapPairFilter self, std::string library) -> SoapPairFilter"""
6083  _IMP_atom.SoapPairFilter_swiginit(self, _IMP_atom.new_SoapPairFilter(library))
6084 
6085  def do_get_inputs(self, m, pis):
6086  r"""do_get_inputs(SoapPairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6087  return _IMP_atom.SoapPairFilter_do_get_inputs(self, m, pis)
6088 
6089  def get_value(self, *args):
6090  r"""
6091  get_value(SoapPairFilter self, IMP::ParticlePair const & a) -> int
6092  get_value(SoapPairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
6093  """
6094  return _IMP_atom.SoapPairFilter_get_value(self, *args)
6095 
6096  def get_value_index(self, *args):
6097  r"""
6098  get_value_index(SoapPairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
6099  get_value_index(SoapPairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
6100  """
6101  return _IMP_atom.SoapPairFilter_get_value_index(self, *args)
6102 
6103  def get_version_info(self):
6104  r"""get_version_info(SoapPairFilter self) -> VersionInfo"""
6105  return _IMP_atom.SoapPairFilter_get_version_info(self)
6106  __swig_destroy__ = _IMP_atom.delete_SoapPairFilter
6107 
6108  def __str__(self):
6109  r"""__str__(SoapPairFilter self) -> std::string"""
6110  return _IMP_atom.SoapPairFilter___str__(self)
6111 
6112  def __repr__(self):
6113  r"""__repr__(SoapPairFilter self) -> std::string"""
6114  return _IMP_atom.SoapPairFilter___repr__(self)
6115 
6116  @staticmethod
6117  def get_from(o):
6118  return _object_cast_to_SoapPairFilter(o)
6119 
6120 
6121 # Register SoapPairFilter in _IMP_atom:
6122 _IMP_atom.SoapPairFilter_swigregister(SoapPairFilter)
6123 class Mass(IMP.Decorator):
6124  r"""Proxy of C++ IMP::atom::Mass class."""
6125 
6126  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6127 
6128  def get_mass(self):
6129  r"""get_mass(Mass self) -> IMP::Float"""
6130  return _IMP_atom.Mass_get_mass(self)
6131 
6132  def set_mass(self, d):
6133  r"""set_mass(Mass self, IMP::Float d)"""
6134  return _IMP_atom.Mass_set_mass(self, d)
6135 
6136  def __init__(self, *args):
6137  r"""
6138  __init__(Mass self) -> Mass
6139  __init__(Mass self, Model m, ParticleIndex id) -> Mass
6140  __init__(Mass self, _ParticleAdaptor d) -> Mass
6141  """
6142  _IMP_atom.Mass_swiginit(self, _IMP_atom.new_Mass(*args))
6143 
6144  @staticmethod
6145  def get_is_setup(*args):
6146  r"""
6147  get_is_setup(Model m, ParticleIndex pi) -> bool
6148  get_is_setup(_ParticleAdaptor p) -> bool
6149  """
6150  return _IMP_atom.Mass_get_is_setup(*args)
6151 
6152  def show(self, *args):
6153  r"""show(Mass self, _ostream out=std::cout)"""
6154  return _IMP_atom.Mass_show(self, *args)
6155 
6156  @staticmethod
6157  def setup_particle(*args):
6158  r"""
6159  setup_particle(Model m, ParticleIndex pi, IMP::Float mass) -> Mass
6160  setup_particle(_ParticleAdaptor pa, IMP::Float mass) -> Mass
6161  setup_particle(Model m, ParticleIndex pi, Mass other) -> Mass
6162  setup_particle(_ParticleAdaptor pa, Mass other) -> Mass
6163  """
6164  return _IMP_atom.Mass_setup_particle(*args)
6165 
6166  @staticmethod
6167  def get_mass_key():
6168  r"""get_mass_key() -> FloatKey"""
6169  return _IMP_atom.Mass_get_mass_key()
6170 
6171  def add_attribute(self, *args):
6172  r"""
6173  add_attribute(Mass self, FloatKey k, IMP::Float v, bool opt)
6174  add_attribute(Mass self, FloatKey a0, IMP::Float a1)
6175  add_attribute(Mass self, IntKey a0, IMP::Int a1)
6176  add_attribute(Mass self, FloatsKey a0, IMP::Floats a1)
6177  add_attribute(Mass self, IntsKey a0, IMP::Ints a1)
6178  add_attribute(Mass self, StringKey a0, IMP::String a1)
6179  add_attribute(Mass self, ParticleIndexKey a0, Particle a1)
6180  add_attribute(Mass self, ObjectKey a0, Object a1)
6181  """
6182  return _IMP_atom.Mass_add_attribute(self, *args)
6183 
6184  def get_value(self, *args):
6185  r"""
6186  get_value(Mass self, FloatKey a0) -> IMP::Float
6187  get_value(Mass self, IntKey a0) -> IMP::Int
6188  get_value(Mass self, FloatsKey a0) -> IMP::Floats
6189  get_value(Mass self, IntsKey a0) -> IMP::Ints
6190  get_value(Mass self, StringKey a0) -> IMP::String
6191  get_value(Mass self, ParticleIndexKey a0) -> Particle
6192  get_value(Mass self, ObjectKey a0) -> Object
6193  """
6194  return _IMP_atom.Mass_get_value(self, *args)
6195 
6196  def set_value(self, *args):
6197  r"""
6198  set_value(Mass self, FloatKey a0, IMP::Float a1)
6199  set_value(Mass self, IntKey a0, IMP::Int a1)
6200  set_value(Mass self, FloatsKey a0, IMP::Floats a1)
6201  set_value(Mass self, IntsKey a0, IMP::Ints a1)
6202  set_value(Mass self, StringKey a0, IMP::String a1)
6203  set_value(Mass self, ParticleIndexKey a0, Particle a1)
6204  set_value(Mass self, ObjectKey a0, Object a1)
6205  """
6206  return _IMP_atom.Mass_set_value(self, *args)
6207 
6208  def remove_attribute(self, *args):
6209  r"""
6210  remove_attribute(Mass self, FloatKey a0)
6211  remove_attribute(Mass self, IntKey a0)
6212  remove_attribute(Mass self, FloatsKey a0)
6213  remove_attribute(Mass self, IntsKey a0)
6214  remove_attribute(Mass self, StringKey a0)
6215  remove_attribute(Mass self, ParticleIndexKey a0)
6216  remove_attribute(Mass self, ObjectKey a0)
6217  """
6218  return _IMP_atom.Mass_remove_attribute(self, *args)
6219 
6220  def has_attribute(self, *args):
6221  r"""
6222  has_attribute(Mass self, FloatKey a0) -> bool
6223  has_attribute(Mass self, IntKey a0) -> bool
6224  has_attribute(Mass self, FloatsKey a0) -> bool
6225  has_attribute(Mass self, IntsKey a0) -> bool
6226  has_attribute(Mass self, StringKey a0) -> bool
6227  has_attribute(Mass self, ParticleIndexKey a0) -> bool
6228  has_attribute(Mass self, ObjectKey a0) -> bool
6229  """
6230  return _IMP_atom.Mass_has_attribute(self, *args)
6231 
6232  def get_derivative(self, a0):
6233  r"""get_derivative(Mass self, FloatKey a0) -> double"""
6234  return _IMP_atom.Mass_get_derivative(self, a0)
6235 
6236  def get_name(self):
6237  r"""get_name(Mass self) -> std::string"""
6238  return _IMP_atom.Mass_get_name(self)
6239 
6240  def clear_caches(self):
6241  r"""clear_caches(Mass self)"""
6242  return _IMP_atom.Mass_clear_caches(self)
6243 
6244  def set_name(self, a0):
6245  r"""set_name(Mass self, std::string a0)"""
6246  return _IMP_atom.Mass_set_name(self, a0)
6247 
6248  def set_check_level(self, a0):
6249  r"""set_check_level(Mass self, IMP::CheckLevel a0)"""
6250  return _IMP_atom.Mass_set_check_level(self, a0)
6251 
6252  def add_to_derivative(self, a0, a1, a2):
6253  r"""add_to_derivative(Mass self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
6254  return _IMP_atom.Mass_add_to_derivative(self, a0, a1, a2)
6255 
6256  def set_is_optimized(self, a0, a1):
6257  r"""set_is_optimized(Mass self, FloatKey a0, bool a1)"""
6258  return _IMP_atom.Mass_set_is_optimized(self, a0, a1)
6259 
6260  def get_is_optimized(self, a0):
6261  r"""get_is_optimized(Mass self, FloatKey a0) -> bool"""
6262  return _IMP_atom.Mass_get_is_optimized(self, a0)
6263 
6264  def get_check_level(self):
6265  r"""get_check_level(Mass self) -> IMP::CheckLevel"""
6266  return _IMP_atom.Mass_get_check_level(self)
6267 
6268  def __eq__(self, *args):
6269  r"""
6270  __eq__(Mass self, Mass o) -> bool
6271  __eq__(Mass self, Particle d) -> bool
6272  """
6273  return _IMP_atom.Mass___eq__(self, *args)
6274 
6275  def __ne__(self, *args):
6276  r"""
6277  __ne__(Mass self, Mass o) -> bool
6278  __ne__(Mass self, Particle d) -> bool
6279  """
6280  return _IMP_atom.Mass___ne__(self, *args)
6281 
6282  def __le__(self, *args):
6283  r"""
6284  __le__(Mass self, Mass o) -> bool
6285  __le__(Mass self, Particle d) -> bool
6286  """
6287  return _IMP_atom.Mass___le__(self, *args)
6288 
6289  def __lt__(self, *args):
6290  r"""
6291  __lt__(Mass self, Mass o) -> bool
6292  __lt__(Mass self, Particle d) -> bool
6293  """
6294  return _IMP_atom.Mass___lt__(self, *args)
6295 
6296  def __ge__(self, *args):
6297  r"""
6298  __ge__(Mass self, Mass o) -> bool
6299  __ge__(Mass self, Particle d) -> bool
6300  """
6301  return _IMP_atom.Mass___ge__(self, *args)
6302 
6303  def __gt__(self, *args):
6304  r"""
6305  __gt__(Mass self, Mass o) -> bool
6306  __gt__(Mass self, Particle d) -> bool
6307  """
6308  return _IMP_atom.Mass___gt__(self, *args)
6309 
6310  def __hash__(self):
6311  r"""__hash__(Mass self) -> std::size_t"""
6312  return _IMP_atom.Mass___hash__(self)
6313 
6314  def __str__(self):
6315  r"""__str__(Mass self) -> std::string"""
6316  return _IMP_atom.Mass___str__(self)
6317 
6318  def __repr__(self):
6319  r"""__repr__(Mass self) -> std::string"""
6320  return _IMP_atom.Mass___repr__(self)
6321 
6322  def _get_as_binary(self):
6323  r"""_get_as_binary(Mass self) -> PyObject *"""
6324  return _IMP_atom.Mass__get_as_binary(self)
6325 
6326  def _set_from_binary(self, p):
6327  r"""_set_from_binary(Mass self, PyObject * p)"""
6328  return _IMP_atom.Mass__set_from_binary(self, p)
6329 
6330  def __getstate__(self):
6331  p = self._get_as_binary()
6332  if len(self.__dict__) > 1:
6333  d = self.__dict__.copy()
6334  del d['this']
6335  p = (d, p)
6336  return p
6337 
6338  def __setstate__(self, p):
6339  if not hasattr(self, 'this'):
6340  self.__init__()
6341  if isinstance(p, tuple):
6342  d, p = p
6343  self.__dict__.update(d)
6344  return self._set_from_binary(p)
6345 
6346  __swig_destroy__ = _IMP_atom.delete_Mass
6347 
6348 # Register Mass in _IMP_atom:
6349 _IMP_atom.Mass_swigregister(Mass)
6350 class BondedPairFilter(IMP.PairPredicate):
6351  r"""Proxy of C++ IMP::atom::BondedPairFilter class."""
6352 
6353  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6354 
6355  def __init__(self):
6356  r"""__init__(BondedPairFilter self) -> BondedPairFilter"""
6357  _IMP_atom.BondedPairFilter_swiginit(self, _IMP_atom.new_BondedPairFilter())
6358 
6359  def do_get_inputs(self, m, pis):
6360  r"""do_get_inputs(BondedPairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6361  return _IMP_atom.BondedPairFilter_do_get_inputs(self, m, pis)
6362 
6363  def get_value(self, *args):
6364  r"""
6365  get_value(BondedPairFilter self, IMP::ParticlePair const & a) -> int
6366  get_value(BondedPairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
6367  """
6368  return _IMP_atom.BondedPairFilter_get_value(self, *args)
6369 
6370  def get_value_index(self, *args):
6371  r"""
6372  get_value_index(BondedPairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
6373  get_value_index(BondedPairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
6374  """
6375  return _IMP_atom.BondedPairFilter_get_value_index(self, *args)
6376 
6377  def get_version_info(self):
6378  r"""get_version_info(BondedPairFilter self) -> VersionInfo"""
6379  return _IMP_atom.BondedPairFilter_get_version_info(self)
6380  __swig_destroy__ = _IMP_atom.delete_BondedPairFilter
6381 
6382  def __str__(self):
6383  r"""__str__(BondedPairFilter self) -> std::string"""
6384  return _IMP_atom.BondedPairFilter___str__(self)
6385 
6386  def __repr__(self):
6387  r"""__repr__(BondedPairFilter self) -> std::string"""
6388  return _IMP_atom.BondedPairFilter___repr__(self)
6389 
6390  @staticmethod
6391  def get_from(o):
6392  return _object_cast_to_BondedPairFilter(o)
6393 
6394 
6395 # Register BondedPairFilter in _IMP_atom:
6396 _IMP_atom.BondedPairFilter_swigregister(BondedPairFilter)
6397 class Mol2Selector(IMP.Object):
6398  r"""Proxy of C++ IMP::atom::Mol2Selector class."""
6399 
6400  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6401 
6402  def __init__(self, *args, **kwargs):
6403  raise AttributeError("No constructor defined - class is abstract")
6404 
6405  def get_is_selected(self, atom_line):
6406  r"""get_is_selected(Mol2Selector self, std::string const & atom_line) -> bool"""
6407  return _IMP_atom.Mol2Selector_get_is_selected(self, atom_line)
6408  __swig_destroy__ = _IMP_atom.delete_Mol2Selector
6409 
6410  def __str__(self):
6411  r"""__str__(Mol2Selector self) -> std::string"""
6412  return _IMP_atom.Mol2Selector___str__(self)
6413 
6414  def __repr__(self):
6415  r"""__repr__(Mol2Selector self) -> std::string"""
6416  return _IMP_atom.Mol2Selector___repr__(self)
6417 
6418  @staticmethod
6419  def get_from(o):
6420  return _object_cast_to_Mol2Selector(o)
6421 
6422 
6423 # Register Mol2Selector in _IMP_atom:
6424 _IMP_atom.Mol2Selector_swigregister(Mol2Selector)
6425 class AllMol2Selector(Mol2Selector):
6426  r"""Proxy of C++ IMP::atom::AllMol2Selector class."""
6427 
6428  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6429 
6430  def __str__(self):
6431  r"""__str__(AllMol2Selector self) -> std::string"""
6432  return _IMP_atom.AllMol2Selector___str__(self)
6433 
6434  def __repr__(self):
6435  r"""__repr__(AllMol2Selector self) -> std::string"""
6436  return _IMP_atom.AllMol2Selector___repr__(self)
6437 
6438  @staticmethod
6439  def get_from(o):
6440  return _object_cast_to_AllMol2Selector(o)
6441 
6442 
6443  def __init__(self):
6444  r"""__init__(AllMol2Selector self) -> AllMol2Selector"""
6445  _IMP_atom.AllMol2Selector_swiginit(self, _IMP_atom.new_AllMol2Selector())
6446  __swig_destroy__ = _IMP_atom.delete_AllMol2Selector
6447 
6448 # Register AllMol2Selector in _IMP_atom:
6449 _IMP_atom.AllMol2Selector_swigregister(AllMol2Selector)
6450 class NonHydrogenMol2Selector(Mol2Selector):
6451  r"""Proxy of C++ IMP::atom::NonHydrogenMol2Selector class."""
6452 
6453  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6454 
6455  def __str__(self):
6456  r"""__str__(NonHydrogenMol2Selector self) -> std::string"""
6457  return _IMP_atom.NonHydrogenMol2Selector___str__(self)
6458 
6459  def __repr__(self):
6460  r"""__repr__(NonHydrogenMol2Selector self) -> std::string"""
6461  return _IMP_atom.NonHydrogenMol2Selector___repr__(self)
6462 
6463  @staticmethod
6464  def get_from(o):
6465  return _object_cast_to_NonHydrogenMol2Selector(o)
6466 
6467 
6468  def __init__(self):
6469  r"""__init__(NonHydrogenMol2Selector self) -> NonHydrogenMol2Selector"""
6470  _IMP_atom.NonHydrogenMol2Selector_swiginit(self, _IMP_atom.new_NonHydrogenMol2Selector())
6471  __swig_destroy__ = _IMP_atom.delete_NonHydrogenMol2Selector
6472 
6473 # Register NonHydrogenMol2Selector in _IMP_atom:
6474 _IMP_atom.NonHydrogenMol2Selector_swigregister(NonHydrogenMol2Selector)
6475 
6476 def read_mol2(mol2_file, model, mol2sel=None):
6477  r"""read_mol2(TextInput mol2_file, Model model, Mol2Selector mol2sel=None) -> Hierarchy"""
6478  return _IMP_atom.read_mol2(mol2_file, model, mol2sel)
6479 
6480 def write_mol2(rhd, file_name):
6481  r"""write_mol2(Hierarchy rhd, TextOutput file_name)"""
6482  return _IMP_atom.write_mol2(rhd, file_name)
6483 class SecondaryStructureResidue(IMP.Decorator):
6484  r"""Proxy of C++ IMP::atom::SecondaryStructureResidue class."""
6485 
6486  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6487 
6488  def __init__(self, *args):
6489  r"""
6490  __init__(SecondaryStructureResidue self) -> SecondaryStructureResidue
6491  __init__(SecondaryStructureResidue self, Model m, ParticleIndex id) -> SecondaryStructureResidue
6492  __init__(SecondaryStructureResidue self, _ParticleAdaptor d) -> SecondaryStructureResidue
6493  """
6494  _IMP_atom.SecondaryStructureResidue_swiginit(self, _IMP_atom.new_SecondaryStructureResidue(*args))
6495 
6496  def show(self, *args):
6497  r"""show(SecondaryStructureResidue self, _ostream out=std::cout)"""
6498  return _IMP_atom.SecondaryStructureResidue_show(self, *args)
6499 
6500  @staticmethod
6501  def setup_particle(*args):
6502  r"""
6503  setup_particle(Model m, ParticleIndex pi, IMP::Float prob_helix, IMP::Float prob_strand, IMP::Float prob_coil) -> SecondaryStructureResidue
6504  setup_particle(_ParticleAdaptor pa, IMP::Float prob_helix, IMP::Float prob_strand, IMP::Float prob_coil) -> SecondaryStructureResidue
6505  setup_particle(Particle res_p) -> SecondaryStructureResidue
6506  """
6507  return _IMP_atom.SecondaryStructureResidue_setup_particle(*args)
6508 
6509  @staticmethod
6510  def get_is_setup(*args):
6511  r"""
6512  get_is_setup(_ParticleAdaptor p) -> bool
6513  get_is_setup(Model m, ParticleIndex pi) -> bool
6514  """
6515  return _IMP_atom.SecondaryStructureResidue_get_is_setup(*args)
6516 
6517  def get_particle(self):
6518  r"""get_particle(SecondaryStructureResidue self) -> Particle"""
6519  return _IMP_atom.SecondaryStructureResidue_get_particle(self)
6520 
6521  def get_all_probabilities(self):
6522  r"""get_all_probabilities(SecondaryStructureResidue self) -> IMP::Floats"""
6523  return _IMP_atom.SecondaryStructureResidue_get_all_probabilities(self)
6524 
6525  def get_prob_helix(self):
6526  r"""get_prob_helix(SecondaryStructureResidue self) -> IMP::Float"""
6527  return _IMP_atom.SecondaryStructureResidue_get_prob_helix(self)
6528 
6529  def set_prob_helix(self, t):
6530  r"""set_prob_helix(SecondaryStructureResidue self, IMP::Float t)"""
6531  return _IMP_atom.SecondaryStructureResidue_set_prob_helix(self, t)
6532 
6533  def get_prob_strand(self):
6534  r"""get_prob_strand(SecondaryStructureResidue self) -> IMP::Float"""
6535  return _IMP_atom.SecondaryStructureResidue_get_prob_strand(self)
6536 
6537  def set_prob_strand(self, t):
6538  r"""set_prob_strand(SecondaryStructureResidue self, IMP::Float t)"""
6539  return _IMP_atom.SecondaryStructureResidue_set_prob_strand(self, t)
6540 
6541  def get_prob_coil(self):
6542  r"""get_prob_coil(SecondaryStructureResidue self) -> IMP::Float"""
6543  return _IMP_atom.SecondaryStructureResidue_get_prob_coil(self)
6544 
6545  def set_prob_coil(self, t):
6546  r"""set_prob_coil(SecondaryStructureResidue self, IMP::Float t)"""
6547  return _IMP_atom.SecondaryStructureResidue_set_prob_coil(self, t)
6548 
6549  @staticmethod
6550  def get_prob_helix_key():
6551  r"""get_prob_helix_key() -> FloatKey"""
6552  return _IMP_atom.SecondaryStructureResidue_get_prob_helix_key()
6553 
6554  @staticmethod
6555  def get_prob_strand_key():
6556  r"""get_prob_strand_key() -> FloatKey"""
6557  return _IMP_atom.SecondaryStructureResidue_get_prob_strand_key()
6558 
6559  @staticmethod
6560  def get_prob_coil_key():
6561  r"""get_prob_coil_key() -> FloatKey"""
6562  return _IMP_atom.SecondaryStructureResidue_get_prob_coil_key()
6563 
6564  def add_attribute(self, *args):
6565  r"""
6566  add_attribute(SecondaryStructureResidue self, FloatKey k, IMP::Float v, bool opt)
6567  add_attribute(SecondaryStructureResidue self, FloatKey a0, IMP::Float a1)
6568  add_attribute(SecondaryStructureResidue self, IntKey a0, IMP::Int a1)
6569  add_attribute(SecondaryStructureResidue self, FloatsKey a0, IMP::Floats a1)
6570  add_attribute(SecondaryStructureResidue self, IntsKey a0, IMP::Ints a1)
6571  add_attribute(SecondaryStructureResidue self, StringKey a0, IMP::String a1)
6572  add_attribute(SecondaryStructureResidue self, ParticleIndexKey a0, Particle a1)
6573  add_attribute(SecondaryStructureResidue self, ObjectKey a0, Object a1)
6574  """
6575  return _IMP_atom.SecondaryStructureResidue_add_attribute(self, *args)
6576 
6577  def get_value(self, *args):
6578  r"""
6579  get_value(SecondaryStructureResidue self, FloatKey a0) -> IMP::Float
6580  get_value(SecondaryStructureResidue self, IntKey a0) -> IMP::Int
6581  get_value(SecondaryStructureResidue self, FloatsKey a0) -> IMP::Floats
6582  get_value(SecondaryStructureResidue self, IntsKey a0) -> IMP::Ints
6583  get_value(SecondaryStructureResidue self, StringKey a0) -> IMP::String
6584  get_value(SecondaryStructureResidue self, ParticleIndexKey a0) -> Particle
6585  get_value(SecondaryStructureResidue self, ObjectKey a0) -> Object
6586  """
6587  return _IMP_atom.SecondaryStructureResidue_get_value(self, *args)
6588 
6589  def set_value(self, *args):
6590  r"""
6591  set_value(SecondaryStructureResidue self, FloatKey a0, IMP::Float a1)
6592  set_value(SecondaryStructureResidue self, IntKey a0, IMP::Int a1)
6593  set_value(SecondaryStructureResidue self, FloatsKey a0, IMP::Floats a1)
6594  set_value(SecondaryStructureResidue self, IntsKey a0, IMP::Ints a1)
6595  set_value(SecondaryStructureResidue self, StringKey a0, IMP::String a1)
6596  set_value(SecondaryStructureResidue self, ParticleIndexKey a0, Particle a1)
6597  set_value(SecondaryStructureResidue self, ObjectKey a0, Object a1)
6598  """
6599  return _IMP_atom.SecondaryStructureResidue_set_value(self, *args)
6600 
6601  def remove_attribute(self, *args):
6602  r"""
6603  remove_attribute(SecondaryStructureResidue self, FloatKey a0)
6604  remove_attribute(SecondaryStructureResidue self, IntKey a0)
6605  remove_attribute(SecondaryStructureResidue self, FloatsKey a0)
6606  remove_attribute(SecondaryStructureResidue self, IntsKey a0)
6607  remove_attribute(SecondaryStructureResidue self, StringKey a0)
6608  remove_attribute(SecondaryStructureResidue self, ParticleIndexKey a0)
6609  remove_attribute(SecondaryStructureResidue self, ObjectKey a0)
6610  """
6611  return _IMP_atom.SecondaryStructureResidue_remove_attribute(self, *args)
6612 
6613  def has_attribute(self, *args):
6614  r"""
6615  has_attribute(SecondaryStructureResidue self, FloatKey a0) -> bool
6616  has_attribute(SecondaryStructureResidue self, IntKey a0) -> bool
6617  has_attribute(SecondaryStructureResidue self, FloatsKey a0) -> bool
6618  has_attribute(SecondaryStructureResidue self, IntsKey a0) -> bool
6619  has_attribute(SecondaryStructureResidue self, StringKey a0) -> bool
6620  has_attribute(SecondaryStructureResidue self, ParticleIndexKey a0) -> bool
6621  has_attribute(SecondaryStructureResidue self, ObjectKey a0) -> bool
6622  """
6623  return _IMP_atom.SecondaryStructureResidue_has_attribute(self, *args)
6624 
6625  def get_derivative(self, a0):
6626  r"""get_derivative(SecondaryStructureResidue self, FloatKey a0) -> double"""
6627  return _IMP_atom.SecondaryStructureResidue_get_derivative(self, a0)
6628 
6629  def get_name(self):
6630  r"""get_name(SecondaryStructureResidue self) -> std::string"""
6631  return _IMP_atom.SecondaryStructureResidue_get_name(self)
6632 
6633  def clear_caches(self):
6634  r"""clear_caches(SecondaryStructureResidue self)"""
6635  return _IMP_atom.SecondaryStructureResidue_clear_caches(self)
6636 
6637  def set_name(self, a0):
6638  r"""set_name(SecondaryStructureResidue self, std::string a0)"""
6639  return _IMP_atom.SecondaryStructureResidue_set_name(self, a0)
6640 
6641  def set_check_level(self, a0):
6642  r"""set_check_level(SecondaryStructureResidue self, IMP::CheckLevel a0)"""
6643  return _IMP_atom.SecondaryStructureResidue_set_check_level(self, a0)
6644 
6645  def add_to_derivative(self, a0, a1, a2):
6646  r"""add_to_derivative(SecondaryStructureResidue self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
6647  return _IMP_atom.SecondaryStructureResidue_add_to_derivative(self, a0, a1, a2)
6648 
6649  def set_is_optimized(self, a0, a1):
6650  r"""set_is_optimized(SecondaryStructureResidue self, FloatKey a0, bool a1)"""
6651  return _IMP_atom.SecondaryStructureResidue_set_is_optimized(self, a0, a1)
6652 
6653  def get_is_optimized(self, a0):
6654  r"""get_is_optimized(SecondaryStructureResidue self, FloatKey a0) -> bool"""
6655  return _IMP_atom.SecondaryStructureResidue_get_is_optimized(self, a0)
6656 
6657  def get_check_level(self):
6658  r"""get_check_level(SecondaryStructureResidue self) -> IMP::CheckLevel"""
6659  return _IMP_atom.SecondaryStructureResidue_get_check_level(self)
6660 
6661  def __eq__(self, *args):
6662  r"""
6663  __eq__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
6664  __eq__(SecondaryStructureResidue self, Particle d) -> bool
6665  """
6666  return _IMP_atom.SecondaryStructureResidue___eq__(self, *args)
6667 
6668  def __ne__(self, *args):
6669  r"""
6670  __ne__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
6671  __ne__(SecondaryStructureResidue self, Particle d) -> bool
6672  """
6673  return _IMP_atom.SecondaryStructureResidue___ne__(self, *args)
6674 
6675  def __le__(self, *args):
6676  r"""
6677  __le__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
6678  __le__(SecondaryStructureResidue self, Particle d) -> bool
6679  """
6680  return _IMP_atom.SecondaryStructureResidue___le__(self, *args)
6681 
6682  def __lt__(self, *args):
6683  r"""
6684  __lt__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
6685  __lt__(SecondaryStructureResidue self, Particle d) -> bool
6686  """
6687  return _IMP_atom.SecondaryStructureResidue___lt__(self, *args)
6688 
6689  def __ge__(self, *args):
6690  r"""
6691  __ge__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
6692  __ge__(SecondaryStructureResidue self, Particle d) -> bool
6693  """
6694  return _IMP_atom.SecondaryStructureResidue___ge__(self, *args)
6695 
6696  def __gt__(self, *args):
6697  r"""
6698  __gt__(SecondaryStructureResidue self, SecondaryStructureResidue o) -> bool
6699  __gt__(SecondaryStructureResidue self, Particle d) -> bool
6700  """
6701  return _IMP_atom.SecondaryStructureResidue___gt__(self, *args)
6702 
6703  def __hash__(self):
6704  r"""__hash__(SecondaryStructureResidue self) -> std::size_t"""
6705  return _IMP_atom.SecondaryStructureResidue___hash__(self)
6706 
6707  def __str__(self):
6708  r"""__str__(SecondaryStructureResidue self) -> std::string"""
6709  return _IMP_atom.SecondaryStructureResidue___str__(self)
6710 
6711  def __repr__(self):
6712  r"""__repr__(SecondaryStructureResidue self) -> std::string"""
6713  return _IMP_atom.SecondaryStructureResidue___repr__(self)
6714 
6715  def _get_as_binary(self):
6716  r"""_get_as_binary(SecondaryStructureResidue self) -> PyObject *"""
6717  return _IMP_atom.SecondaryStructureResidue__get_as_binary(self)
6718 
6719  def _set_from_binary(self, p):
6720  r"""_set_from_binary(SecondaryStructureResidue self, PyObject * p)"""
6721  return _IMP_atom.SecondaryStructureResidue__set_from_binary(self, p)
6722 
6723  def __getstate__(self):
6724  p = self._get_as_binary()
6725  if len(self.__dict__) > 1:
6726  d = self.__dict__.copy()
6727  del d['this']
6728  p = (d, p)
6729  return p
6730 
6731  def __setstate__(self, p):
6732  if not hasattr(self, 'this'):
6733  self.__init__()
6734  if isinstance(p, tuple):
6735  d, p = p
6736  self.__dict__.update(d)
6737  return self._set_from_binary(p)
6738 
6739  __swig_destroy__ = _IMP_atom.delete_SecondaryStructureResidue
6740 
6741 # Register SecondaryStructureResidue in _IMP_atom:
6742 _IMP_atom.SecondaryStructureResidue_swigregister(SecondaryStructureResidue)
6743 
6744 def setup_coarse_secondary_structure_residue(ssr_ps, mdl, winner_takes_all_per_res=False):
6745  r"""setup_coarse_secondary_structure_residue(IMP::Particles const & ssr_ps, Model mdl, bool winner_takes_all_per_res=False) -> SecondaryStructureResidue"""
6746  return _IMP_atom.setup_coarse_secondary_structure_residue(ssr_ps, mdl, winner_takes_all_per_res)
6747 
6748 def setup_coarse_secondary_structure_residues(ssr_ps, mdl, coarse_factor, start_res_num, winner_takes_all_per_res=False):
6749  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"""
6750  return _IMP_atom.setup_coarse_secondary_structure_residues(ssr_ps, mdl, coarse_factor, start_res_num, winner_takes_all_per_res)
6751 
6752 def get_secondary_structure_match_score(ssr1, ssr2):
6753  r"""get_secondary_structure_match_score(SecondaryStructureResidue ssr1, SecondaryStructureResidue ssr2) -> IMP::Float"""
6754  return _IMP_atom.get_secondary_structure_match_score(ssr1, ssr2)
6755 
6756 def read_psipred(*args):
6757  r"""
6758  read_psipred(TextInput inf, Model mdl) -> IMP::atom::SecondaryStructureResidues
6759  read_psipred(TextInput inf, IMP::Particles ps) -> IMP::atom::SecondaryStructureResidues
6760  """
6761  return _IMP_atom.read_psipred(*args)
6762 class _ADopeBase(IMP.PairScore):
6763  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::Dope > class."""
6764 
6765  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6766  __repr__ = _swig_repr
6767 
6768  def __init__(self, *args):
6769  r"""
6770  __init__(_ADopeBase self, Dope t0, std::string name="FunctorDistancePairScore %1%") -> _ADopeBase
6771  __init__(_ADopeBase self) -> _ADopeBase
6772  """
6773  _IMP_atom._ADopeBase_swiginit(self, _IMP_atom.new__ADopeBase(*args))
6774 
6775  def do_get_inputs(self, m, pis):
6776  r"""do_get_inputs(_ADopeBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6777  return _IMP_atom._ADopeBase_do_get_inputs(self, m, pis)
6778 
6779  def get_score_functor(self):
6780  r"""get_score_functor(_ADopeBase self) -> Dope"""
6781  return _IMP_atom._ADopeBase_get_score_functor(self)
6782 
6783  def get_version_info(self):
6784  r"""get_version_info(_ADopeBase self) -> VersionInfo"""
6785  return _IMP_atom._ADopeBase_get_version_info(self)
6786  __swig_destroy__ = _IMP_atom.delete__ADopeBase
6787 
6788 # Register _ADopeBase in _IMP_atom:
6789 _IMP_atom._ADopeBase_swigregister(_ADopeBase)
6790 class _BDopeBase(IMP.PairScore):
6791  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::Statistical< IMP::atom::DopeType,false,true,false > > class."""
6792 
6793  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6794  __repr__ = _swig_repr
6795 
6796  def __init__(self, *args):
6797  r"""
6798  __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
6799  __init__(_BDopeBase self) -> _BDopeBase
6800  """
6801  _IMP_atom._BDopeBase_swiginit(self, _IMP_atom.new__BDopeBase(*args))
6802 
6803  def do_get_inputs(self, m, pis):
6804  r"""do_get_inputs(_BDopeBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6805  return _IMP_atom._BDopeBase_do_get_inputs(self, m, pis)
6806 
6807  def get_score_functor(self):
6808  r"""get_score_functor(_BDopeBase self) -> _DopeBase"""
6809  return _IMP_atom._BDopeBase_get_score_functor(self)
6810 
6811  def get_version_info(self):
6812  r"""get_version_info(_BDopeBase self) -> VersionInfo"""
6813  return _IMP_atom._BDopeBase_get_version_info(self)
6814  __swig_destroy__ = _IMP_atom.delete__BDopeBase
6815 
6816 # Register _BDopeBase in _IMP_atom:
6817 _IMP_atom._BDopeBase_swigregister(_BDopeBase)
6818 class _ALoopStatisticalBase(IMP.PairScore):
6819  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::LoopStatistical > class."""
6820 
6821  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6822  __repr__ = _swig_repr
6823 
6824  def __init__(self, *args):
6825  r"""
6826  __init__(_ALoopStatisticalBase self, LoopStatistical t0, std::string name="FunctorDistancePairScore %1%") -> _ALoopStatisticalBase
6827  __init__(_ALoopStatisticalBase self) -> _ALoopStatisticalBase
6828  """
6829  _IMP_atom._ALoopStatisticalBase_swiginit(self, _IMP_atom.new__ALoopStatisticalBase(*args))
6830 
6831  def do_get_inputs(self, m, pis):
6832  r"""do_get_inputs(_ALoopStatisticalBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6833  return _IMP_atom._ALoopStatisticalBase_do_get_inputs(self, m, pis)
6834 
6835  def get_score_functor(self):
6836  r"""get_score_functor(_ALoopStatisticalBase self) -> LoopStatistical"""
6837  return _IMP_atom._ALoopStatisticalBase_get_score_functor(self)
6838 
6839  def get_version_info(self):
6840  r"""get_version_info(_ALoopStatisticalBase self) -> VersionInfo"""
6841  return _IMP_atom._ALoopStatisticalBase_get_version_info(self)
6842  __swig_destroy__ = _IMP_atom.delete__ALoopStatisticalBase
6843 
6844 # Register _ALoopStatisticalBase in _IMP_atom:
6845 _IMP_atom._ALoopStatisticalBase_swigregister(_ALoopStatisticalBase)
6846 class _BLoopStatisticalBase(IMP.PairScore):
6847  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::Statistical< IMP::atom::LoopStatisticalType,false,true,false > > class."""
6848 
6849  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6850  __repr__ = _swig_repr
6851 
6852  def __init__(self, *args):
6853  r"""
6854  __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
6855  __init__(_BLoopStatisticalBase self) -> _BLoopStatisticalBase
6856  """
6857  _IMP_atom._BLoopStatisticalBase_swiginit(self, _IMP_atom.new__BLoopStatisticalBase(*args))
6858 
6859  def do_get_inputs(self, m, pis):
6860  r"""do_get_inputs(_BLoopStatisticalBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6861  return _IMP_atom._BLoopStatisticalBase_do_get_inputs(self, m, pis)
6862 
6863  def get_score_functor(self):
6864  r"""get_score_functor(_BLoopStatisticalBase self) -> _LoopStatisticalBase"""
6865  return _IMP_atom._BLoopStatisticalBase_get_score_functor(self)
6866 
6867  def get_version_info(self):
6868  r"""get_version_info(_BLoopStatisticalBase self) -> VersionInfo"""
6869  return _IMP_atom._BLoopStatisticalBase_get_version_info(self)
6870  __swig_destroy__ = _IMP_atom.delete__BLoopStatisticalBase
6871 
6872 # Register _BLoopStatisticalBase in _IMP_atom:
6873 _IMP_atom._BLoopStatisticalBase_swigregister(_BLoopStatisticalBase)
6874 class _OrientedSoapBase(IMP.PairScore):
6875  r"""Proxy of C++ IMP::score_functor::DistancePairScoreWithCache< IMP::score_functor::OrientedSoap > class."""
6876 
6877  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6878  __repr__ = _swig_repr
6879 
6880  def __init__(self, *args):
6881  r"""__init__(_OrientedSoapBase self, IMP::score_functor::DistancePairScoreWithCache< IMP::score_functor::OrientedSoap >::DistanceScore const & t0, std::string name="FunctorDistancePairScoreWithCache %1%") -> _OrientedSoapBase"""
6882  _IMP_atom._OrientedSoapBase_swiginit(self, _IMP_atom.new__OrientedSoapBase(*args))
6883 
6884  def do_get_inputs(self, m, pis):
6885  r"""do_get_inputs(_OrientedSoapBase self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6886  return _IMP_atom._OrientedSoapBase_do_get_inputs(self, m, pis)
6887 
6888  def get_score_functor(self):
6889  r"""get_score_functor(_OrientedSoapBase self) -> IMP::score_functor::OrientedSoap &"""
6890  return _IMP_atom._OrientedSoapBase_get_score_functor(self)
6891 
6892  def get_version_info(self):
6893  r"""get_version_info(_OrientedSoapBase self) -> VersionInfo"""
6894  return _IMP_atom._OrientedSoapBase_get_version_info(self)
6895  __swig_destroy__ = _IMP_atom.delete__OrientedSoapBase
6896 
6897 # Register _OrientedSoapBase in _IMP_atom:
6898 _IMP_atom._OrientedSoapBase_swigregister(_OrientedSoapBase)
6899 class _SPSFTB(IMP.PairScore):
6900  r"""Proxy of C++ IMP::score_functor::DistancePairScore< IMP::score_functor::Statistical< IMP::atom::ProteinLigandType,true,false > > class."""
6901 
6902  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6903  __repr__ = _swig_repr
6904 
6905  def __init__(self, *args):
6906  r"""
6907  __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
6908  __init__(_SPSFTB self) -> _SPSFTB
6909  """
6910  _IMP_atom._SPSFTB_swiginit(self, _IMP_atom.new__SPSFTB(*args))
6911 
6912  def do_get_inputs(self, m, pis):
6913  r"""do_get_inputs(_SPSFTB self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
6914  return _IMP_atom._SPSFTB_do_get_inputs(self, m, pis)
6915 
6916  def get_score_functor(self):
6917  r"""get_score_functor(_SPSFTB self) -> IMP::score_functor::Statistical< IMP::atom::ProteinLigandType,true,false,false > &"""
6918  return _IMP_atom._SPSFTB_get_score_functor(self)
6919 
6920  def get_version_info(self):
6921  r"""get_version_info(_SPSFTB self) -> VersionInfo"""
6922  return _IMP_atom._SPSFTB_get_version_info(self)
6923  __swig_destroy__ = _IMP_atom.delete__SPSFTB
6924 
6925 # Register _SPSFTB in _IMP_atom:
6926 _IMP_atom._SPSFTB_swigregister(_SPSFTB)
6927 class _SPSTF(_SPSFTB):
6928  r"""Proxy of C++ IMP::core::StatisticalPairScore< IMP::atom::ProteinLigandType,true,false > class."""
6929 
6930  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6931  __repr__ = _swig_repr
6932 
6933  def __init__(self, *args):
6934  r"""
6935  __init__(_SPSTF self, IntKey k, double threshold, TextInput data_file) -> _SPSTF
6936  __init__(_SPSTF self, IntKey k, double threshold, TextInput data_file, unsigned int shift) -> _SPSTF
6937  """
6938  _IMP_atom._SPSTF_swiginit(self, _IMP_atom.new__SPSTF(*args))
6939  __swig_destroy__ = _IMP_atom.delete__SPSTF
6940 
6941 # Register _SPSTF in _IMP_atom:
6942 _IMP_atom._SPSTF_swigregister(_SPSTF)
6943 class _SPSFT(_BDopeBase):
6944  r"""Proxy of C++ IMP::core::StatisticalPairScore< IMP::atom::DopeType,false,true > class."""
6945 
6946  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6947  __repr__ = _swig_repr
6948 
6949  def __init__(self, *args):
6950  r"""
6951  __init__(_SPSFT self, IntKey k, double threshold, TextInput data_file) -> _SPSFT
6952  __init__(_SPSFT self, IntKey k, double threshold, TextInput data_file, unsigned int shift) -> _SPSFT
6953  """
6954  _IMP_atom._SPSFT_swiginit(self, _IMP_atom.new__SPSFT(*args))
6955  __swig_destroy__ = _IMP_atom.delete__SPSFT
6956 
6957 # Register _SPSFT in _IMP_atom:
6958 _IMP_atom._SPSFT_swigregister(_SPSFT)
6959 class _SPSFTL(_BLoopStatisticalBase):
6960  r"""Proxy of C++ IMP::core::StatisticalPairScore< IMP::atom::LoopStatisticalType,false,true > class."""
6961 
6962  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6963  __repr__ = _swig_repr
6964 
6965  def __init__(self, *args):
6966  r"""
6967  __init__(_SPSFTL self, IntKey k, double threshold, TextInput data_file) -> _SPSFTL
6968  __init__(_SPSFTL self, IntKey k, double threshold, TextInput data_file, unsigned int shift) -> _SPSFTL
6969  """
6970  _IMP_atom._SPSFTL_swiginit(self, _IMP_atom.new__SPSFTL(*args))
6971  __swig_destroy__ = _IMP_atom.delete__SPSFTL
6972 
6973 # Register _SPSFTL in _IMP_atom:
6974 _IMP_atom._SPSFTL_swigregister(_SPSFTL)
6975 class ProteinLigandAtomPairScore(_SPSTF):
6976  r"""Proxy of C++ IMP::atom::ProteinLigandAtomPairScore class."""
6977 
6978  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
6979 
6980  def __init__(self, *args):
6981  r"""
6982  __init__(ProteinLigandAtomPairScore self, double threshold=std::numeric_limits< double >::max()) -> ProteinLigandAtomPairScore
6983  __init__(ProteinLigandAtomPairScore self, double threshold, TextInput data_file) -> ProteinLigandAtomPairScore
6984  """
6985  _IMP_atom.ProteinLigandAtomPairScore_swiginit(self, _IMP_atom.new_ProteinLigandAtomPairScore(*args))
6986 
6987  def get_maximum_distance(self):
6988  r"""get_maximum_distance(ProteinLigandAtomPairScore self) -> double"""
6989  return _IMP_atom.ProteinLigandAtomPairScore_get_maximum_distance(self)
6990 
6991  def __str__(self):
6992  r"""__str__(ProteinLigandAtomPairScore self) -> std::string"""
6993  return _IMP_atom.ProteinLigandAtomPairScore___str__(self)
6994 
6995  def __repr__(self):
6996  r"""__repr__(ProteinLigandAtomPairScore self) -> std::string"""
6997  return _IMP_atom.ProteinLigandAtomPairScore___repr__(self)
6998 
6999  @staticmethod
7000  def get_from(o):
7001  return _object_cast_to_ProteinLigandAtomPairScore(o)
7002 
7003  __swig_destroy__ = _IMP_atom.delete_ProteinLigandAtomPairScore
7004 
7005 # Register ProteinLigandAtomPairScore in _IMP_atom:
7006 _IMP_atom.ProteinLigandAtomPairScore_swigregister(ProteinLigandAtomPairScore)
7007 class ProteinLigandRestraint(IMP.container.PairsRestraint):
7008  r"""Proxy of C++ IMP::atom::ProteinLigandRestraint class."""
7009 
7010  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7011 
7012  def __init__(self, *args):
7013  r"""
7014  __init__(ProteinLigandRestraint self, Hierarchy protein, Hierarchy ligand, double threshold=std::numeric_limits< double >::max()) -> ProteinLigandRestraint
7015  __init__(ProteinLigandRestraint self, Hierarchy protein, Hierarchy ligand, double threshold, TextInput data_file) -> ProteinLigandRestraint
7016  """
7017  _IMP_atom.ProteinLigandRestraint_swiginit(self, _IMP_atom.new_ProteinLigandRestraint(*args))
7018 
7019  def __str__(self):
7020  r"""__str__(ProteinLigandRestraint self) -> std::string"""
7021  return _IMP_atom.ProteinLigandRestraint___str__(self)
7022 
7023  def __repr__(self):
7024  r"""__repr__(ProteinLigandRestraint self) -> std::string"""
7025  return _IMP_atom.ProteinLigandRestraint___repr__(self)
7026 
7027  @staticmethod
7028  def get_from(o):
7029  return _object_cast_to_ProteinLigandRestraint(o)
7030 
7031  __swig_destroy__ = _IMP_atom.delete_ProteinLigandRestraint
7032 
7033 # Register ProteinLigandRestraint in _IMP_atom:
7034 _IMP_atom.ProteinLigandRestraint_swigregister(ProteinLigandRestraint)
7035 
7037  r"""add_protein_ligand_score_data(Hierarchy h)"""
7038  return _IMP_atom.add_protein_ligand_score_data(h)
7039 class AtomType(IMP._Value):
7040  r"""Proxy of C++ IMP::Key< 8974343 > class."""
7041 
7042  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7043 
7044  def __init__(self, *args):
7045  r"""
7046  __init__(AtomType self) -> AtomType
7047  __init__(AtomType self, std::string const & c, bool is_implicit_add_permitted=True) -> AtomType
7048  __init__(AtomType self, unsigned int i) -> AtomType
7049  """
7050  _IMP_atom.AtomType_swiginit(self, _IMP_atom.new_AtomType(*args))
7051 
7052  @staticmethod
7053  def add_key(sc):
7054  r"""add_key(std::string sc) -> unsigned int"""
7055  return _IMP_atom.AtomType_add_key(sc)
7056 
7057  @staticmethod
7058  def get_key_exists(sc):
7059  r"""get_key_exists(std::string sc) -> bool"""
7060  return _IMP_atom.AtomType_get_key_exists(sc)
7061 
7062  def get_string(self):
7063  r"""get_string(AtomType self) -> std::string const"""
7064  return _IMP_atom.AtomType_get_string(self)
7065 
7066  def __cmp__(self, o):
7067  r"""__cmp__(AtomType self, AtomType o) -> int"""
7068  return _IMP_atom.AtomType___cmp__(self, o)
7069 
7070  def __eq__(self, o):
7071  r"""__eq__(AtomType self, AtomType o) -> bool"""
7072  return _IMP_atom.AtomType___eq__(self, o)
7073 
7074  def __ne__(self, o):
7075  r"""__ne__(AtomType self, AtomType o) -> bool"""
7076  return _IMP_atom.AtomType___ne__(self, o)
7077 
7078  def __lt__(self, o):
7079  r"""__lt__(AtomType self, AtomType o) -> bool"""
7080  return _IMP_atom.AtomType___lt__(self, o)
7081 
7082  def __gt__(self, o):
7083  r"""__gt__(AtomType self, AtomType o) -> bool"""
7084  return _IMP_atom.AtomType___gt__(self, o)
7085 
7086  def __ge__(self, o):
7087  r"""__ge__(AtomType self, AtomType o) -> bool"""
7088  return _IMP_atom.AtomType___ge__(self, o)
7089 
7090  def __le__(self, o):
7091  r"""__le__(AtomType self, AtomType o) -> bool"""
7092  return _IMP_atom.AtomType___le__(self, o)
7093 
7094  def __hash__(self):
7095  r"""__hash__(AtomType self) -> std::size_t"""
7096  return _IMP_atom.AtomType___hash__(self)
7097 
7098  def show(self, *args):
7099  r"""show(AtomType self, _ostream out=std::cout)"""
7100  return _IMP_atom.AtomType_show(self, *args)
7101 
7102  @staticmethod
7103  def add_alias(old_key, new_name):
7104  r"""add_alias(AtomType old_key, std::string new_name) -> AtomType"""
7105  return _IMP_atom.AtomType_add_alias(old_key, new_name)
7106 
7107  @staticmethod
7108  def get_number_of_keys():
7109  r"""get_number_of_keys() -> unsigned int"""
7110  return _IMP_atom.AtomType_get_number_of_keys()
7111 
7112  def get_index(self):
7113  r"""get_index(AtomType self) -> unsigned int"""
7114  return _IMP_atom.AtomType_get_index(self)
7115 
7116  @staticmethod
7117  def show_all(out):
7118  r"""show_all(_ostream out)"""
7119  return _IMP_atom.AtomType_show_all(out)
7120 
7121  @staticmethod
7122  def get_all_strings():
7123  r"""get_all_strings() -> IMP::Vector< std::string >"""
7124  return _IMP_atom.AtomType_get_all_strings()
7125 
7126  @staticmethod
7127  def get_number_unique():
7128  r"""get_number_unique() -> unsigned int"""
7129  return _IMP_atom.AtomType_get_number_unique()
7130 
7131  def __str__(self):
7132  r"""__str__(AtomType self) -> std::string"""
7133  return _IMP_atom.AtomType___str__(self)
7134 
7135  def __repr__(self):
7136  r"""__repr__(AtomType self) -> std::string"""
7137  return _IMP_atom.AtomType___repr__(self)
7138  __swig_destroy__ = _IMP_atom.delete_AtomType
7139 
7140 # Register AtomType in _IMP_atom:
7141 _IMP_atom.AtomType_swigregister(AtomType)
7142 class ResidueType(IMP._Value):
7143  r"""Proxy of C++ IMP::Key< 90784334 > class."""
7144 
7145  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7146 
7147  def __init__(self, *args):
7148  r"""
7149  __init__(ResidueType self) -> ResidueType
7150  __init__(ResidueType self, std::string const & c, bool is_implicit_add_permitted=True) -> ResidueType
7151  __init__(ResidueType self, unsigned int i) -> ResidueType
7152  """
7153  _IMP_atom.ResidueType_swiginit(self, _IMP_atom.new_ResidueType(*args))
7154 
7155  @staticmethod
7156  def add_key(sc):
7157  r"""add_key(std::string sc) -> unsigned int"""
7158  return _IMP_atom.ResidueType_add_key(sc)
7159 
7160  @staticmethod
7161  def get_key_exists(sc):
7162  r"""get_key_exists(std::string sc) -> bool"""
7163  return _IMP_atom.ResidueType_get_key_exists(sc)
7164 
7165  def get_string(self):
7166  r"""get_string(ResidueType self) -> std::string const"""
7167  return _IMP_atom.ResidueType_get_string(self)
7168 
7169  def __cmp__(self, o):
7170  r"""__cmp__(ResidueType self, ResidueType o) -> int"""
7171  return _IMP_atom.ResidueType___cmp__(self, o)
7172 
7173  def __eq__(self, o):
7174  r"""__eq__(ResidueType self, ResidueType o) -> bool"""
7175  return _IMP_atom.ResidueType___eq__(self, o)
7176 
7177  def __ne__(self, o):
7178  r"""__ne__(ResidueType self, ResidueType o) -> bool"""
7179  return _IMP_atom.ResidueType___ne__(self, o)
7180 
7181  def __lt__(self, o):
7182  r"""__lt__(ResidueType self, ResidueType o) -> bool"""
7183  return _IMP_atom.ResidueType___lt__(self, o)
7184 
7185  def __gt__(self, o):
7186  r"""__gt__(ResidueType self, ResidueType o) -> bool"""
7187  return _IMP_atom.ResidueType___gt__(self, o)
7188 
7189  def __ge__(self, o):
7190  r"""__ge__(ResidueType self, ResidueType o) -> bool"""
7191  return _IMP_atom.ResidueType___ge__(self, o)
7192 
7193  def __le__(self, o):
7194  r"""__le__(ResidueType self, ResidueType o) -> bool"""
7195  return _IMP_atom.ResidueType___le__(self, o)
7196 
7197  def __hash__(self):
7198  r"""__hash__(ResidueType self) -> std::size_t"""
7199  return _IMP_atom.ResidueType___hash__(self)
7200 
7201  def show(self, *args):
7202  r"""show(ResidueType self, _ostream out=std::cout)"""
7203  return _IMP_atom.ResidueType_show(self, *args)
7204 
7205  @staticmethod
7206  def add_alias(old_key, new_name):
7207  r"""add_alias(ResidueType old_key, std::string new_name) -> ResidueType"""
7208  return _IMP_atom.ResidueType_add_alias(old_key, new_name)
7209 
7210  @staticmethod
7211  def get_number_of_keys():
7212  r"""get_number_of_keys() -> unsigned int"""
7213  return _IMP_atom.ResidueType_get_number_of_keys()
7214 
7215  def get_index(self):
7216  r"""get_index(ResidueType self) -> unsigned int"""
7217  return _IMP_atom.ResidueType_get_index(self)
7218 
7219  @staticmethod
7220  def show_all(out):
7221  r"""show_all(_ostream out)"""
7222  return _IMP_atom.ResidueType_show_all(out)
7223 
7224  @staticmethod
7225  def get_all_strings():
7226  r"""get_all_strings() -> IMP::Vector< std::string >"""
7227  return _IMP_atom.ResidueType_get_all_strings()
7228 
7229  @staticmethod
7230  def get_number_unique():
7231  r"""get_number_unique() -> unsigned int"""
7232  return _IMP_atom.ResidueType_get_number_unique()
7233 
7234  def __str__(self):
7235  r"""__str__(ResidueType self) -> std::string"""
7236  return _IMP_atom.ResidueType___str__(self)
7237 
7238  def __repr__(self):
7239  r"""__repr__(ResidueType self) -> std::string"""
7240  return _IMP_atom.ResidueType___repr__(self)
7241  __swig_destroy__ = _IMP_atom.delete_ResidueType
7242 
7243 # Register ResidueType in _IMP_atom:
7244 _IMP_atom.ResidueType_swigregister(ResidueType)
7245 class ChainType(IMP._Value):
7246  r"""Proxy of C++ IMP::Key< 90784336 > class."""
7247 
7248  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7249 
7250  def __init__(self, *args):
7251  r"""
7252  __init__(ChainType self) -> ChainType
7253  __init__(ChainType self, std::string const & c, bool is_implicit_add_permitted=True) -> ChainType
7254  __init__(ChainType self, unsigned int i) -> ChainType
7255  """
7256  _IMP_atom.ChainType_swiginit(self, _IMP_atom.new_ChainType(*args))
7257 
7258  @staticmethod
7259  def add_key(sc):
7260  r"""add_key(std::string sc) -> unsigned int"""
7261  return _IMP_atom.ChainType_add_key(sc)
7262 
7263  @staticmethod
7264  def get_key_exists(sc):
7265  r"""get_key_exists(std::string sc) -> bool"""
7266  return _IMP_atom.ChainType_get_key_exists(sc)
7267 
7268  def get_string(self):
7269  r"""get_string(ChainType self) -> std::string const"""
7270  return _IMP_atom.ChainType_get_string(self)
7271 
7272  def __cmp__(self, o):
7273  r"""__cmp__(ChainType self, ChainType o) -> int"""
7274  return _IMP_atom.ChainType___cmp__(self, o)
7275 
7276  def __eq__(self, o):
7277  r"""__eq__(ChainType self, ChainType o) -> bool"""
7278  return _IMP_atom.ChainType___eq__(self, o)
7279 
7280  def __ne__(self, o):
7281  r"""__ne__(ChainType self, ChainType o) -> bool"""
7282  return _IMP_atom.ChainType___ne__(self, o)
7283 
7284  def __lt__(self, o):
7285  r"""__lt__(ChainType self, ChainType o) -> bool"""
7286  return _IMP_atom.ChainType___lt__(self, o)
7287 
7288  def __gt__(self, o):
7289  r"""__gt__(ChainType self, ChainType o) -> bool"""
7290  return _IMP_atom.ChainType___gt__(self, o)
7291 
7292  def __ge__(self, o):
7293  r"""__ge__(ChainType self, ChainType o) -> bool"""
7294  return _IMP_atom.ChainType___ge__(self, o)
7295 
7296  def __le__(self, o):
7297  r"""__le__(ChainType self, ChainType o) -> bool"""
7298  return _IMP_atom.ChainType___le__(self, o)
7299 
7300  def __hash__(self):
7301  r"""__hash__(ChainType self) -> std::size_t"""
7302  return _IMP_atom.ChainType___hash__(self)
7303 
7304  def show(self, *args):
7305  r"""show(ChainType self, _ostream out=std::cout)"""
7306  return _IMP_atom.ChainType_show(self, *args)
7307 
7308  @staticmethod
7309  def add_alias(old_key, new_name):
7310  r"""add_alias(ChainType old_key, std::string new_name) -> ChainType"""
7311  return _IMP_atom.ChainType_add_alias(old_key, new_name)
7312 
7313  @staticmethod
7314  def get_number_of_keys():
7315  r"""get_number_of_keys() -> unsigned int"""
7316  return _IMP_atom.ChainType_get_number_of_keys()
7317 
7318  def get_index(self):
7319  r"""get_index(ChainType self) -> unsigned int"""
7320  return _IMP_atom.ChainType_get_index(self)
7321 
7322  @staticmethod
7323  def show_all(out):
7324  r"""show_all(_ostream out)"""
7325  return _IMP_atom.ChainType_show_all(out)
7326 
7327  @staticmethod
7328  def get_all_strings():
7329  r"""get_all_strings() -> IMP::Vector< std::string >"""
7330  return _IMP_atom.ChainType_get_all_strings()
7331 
7332  @staticmethod
7333  def get_number_unique():
7334  r"""get_number_unique() -> unsigned int"""
7335  return _IMP_atom.ChainType_get_number_unique()
7336 
7337  def __str__(self):
7338  r"""__str__(ChainType self) -> std::string"""
7339  return _IMP_atom.ChainType___str__(self)
7340 
7341  def __repr__(self):
7342  r"""__repr__(ChainType self) -> std::string"""
7343  return _IMP_atom.ChainType___repr__(self)
7344  __swig_destroy__ = _IMP_atom.delete_ChainType
7345 
7346 # Register ChainType in _IMP_atom:
7347 _IMP_atom.ChainType_swigregister(ChainType)
7348 UNKNOWN_ELEMENT = _IMP_atom.UNKNOWN_ELEMENT
7349 
7350 OH = _IMP_atom.OH
7351 
7352 H2O = _IMP_atom.H2O
7353 
7354 H = _IMP_atom.H
7355 
7356 He = _IMP_atom.He
7357 
7358 Li = _IMP_atom.Li
7359 
7360 Be = _IMP_atom.Be
7361 
7362 B = _IMP_atom.B
7363 
7364 C = _IMP_atom.C
7365 
7366 N = _IMP_atom.N
7367 
7368 O = _IMP_atom.O
7369 
7370 F = _IMP_atom.F
7371 
7372 Ne = _IMP_atom.Ne
7373 
7374 Na = _IMP_atom.Na
7375 
7376 Mg = _IMP_atom.Mg
7377 
7378 Al = _IMP_atom.Al
7379 
7380 Si = _IMP_atom.Si
7381 
7382 P = _IMP_atom.P
7383 
7384 S = _IMP_atom.S
7385 
7386 Cl = _IMP_atom.Cl
7387 
7388 Ar = _IMP_atom.Ar
7389 
7390 K = _IMP_atom.K
7391 
7392 Ca = _IMP_atom.Ca
7393 
7394 Sc = _IMP_atom.Sc
7395 
7396 Ti = _IMP_atom.Ti
7397 
7398 V = _IMP_atom.V
7399 
7400 Cr = _IMP_atom.Cr
7401 
7402 Mn = _IMP_atom.Mn
7403 
7404 Fe = _IMP_atom.Fe
7405 
7406 Co = _IMP_atom.Co
7407 
7408 Ni = _IMP_atom.Ni
7409 
7410 Cu = _IMP_atom.Cu
7411 
7412 Zn = _IMP_atom.Zn
7413 
7414 Ga = _IMP_atom.Ga
7415 
7416 Ge = _IMP_atom.Ge
7417 
7418 As = _IMP_atom.As
7419 
7420 Se = _IMP_atom.Se
7421 
7422 Br = _IMP_atom.Br
7423 
7424 Kr = _IMP_atom.Kr
7425 
7426 Rb = _IMP_atom.Rb
7427 
7428 Sr = _IMP_atom.Sr
7429 
7430 Y = _IMP_atom.Y
7431 
7432 Zr = _IMP_atom.Zr
7433 
7434 Nb = _IMP_atom.Nb
7435 
7436 Mo = _IMP_atom.Mo
7437 
7438 Tc = _IMP_atom.Tc
7439 
7440 Ru = _IMP_atom.Ru
7441 
7442 Rh = _IMP_atom.Rh
7443 
7444 Pd = _IMP_atom.Pd
7445 
7446 Ag = _IMP_atom.Ag
7447 
7448 Cd = _IMP_atom.Cd
7449 
7450 In = _IMP_atom.In
7451 
7452 Sn = _IMP_atom.Sn
7453 
7454 Sb = _IMP_atom.Sb
7455 
7456 Te = _IMP_atom.Te
7457 
7458 I = _IMP_atom.I
7459 
7460 Xe = _IMP_atom.Xe
7461 
7462 Cs = _IMP_atom.Cs
7463 
7464 Ba = _IMP_atom.Ba
7465 
7466 La = _IMP_atom.La
7467 
7468 Ce = _IMP_atom.Ce
7469 
7470 Pr = _IMP_atom.Pr
7471 
7472 Nd = _IMP_atom.Nd
7473 
7474 Pm = _IMP_atom.Pm
7475 
7476 Sm = _IMP_atom.Sm
7477 
7478 Eu = _IMP_atom.Eu
7479 
7480 Gd = _IMP_atom.Gd
7481 
7482 Tb = _IMP_atom.Tb
7483 
7484 Dy = _IMP_atom.Dy
7485 
7486 Ho = _IMP_atom.Ho
7487 
7488 Er = _IMP_atom.Er
7489 
7490 Tm = _IMP_atom.Tm
7491 
7492 Yb = _IMP_atom.Yb
7493 
7494 Lu = _IMP_atom.Lu
7495 
7496 Hf = _IMP_atom.Hf
7497 
7498 Ta = _IMP_atom.Ta
7499 
7500 W = _IMP_atom.W
7501 
7502 Re = _IMP_atom.Re
7503 
7504 Os = _IMP_atom.Os
7505 
7506 Ir = _IMP_atom.Ir
7507 
7508 Pt = _IMP_atom.Pt
7509 
7510 Au = _IMP_atom.Au
7511 
7512 Hg = _IMP_atom.Hg
7513 
7514 Tl = _IMP_atom.Tl
7515 
7516 Pb = _IMP_atom.Pb
7517 
7518 Bi = _IMP_atom.Bi
7519 
7520 Po = _IMP_atom.Po
7521 
7522 At = _IMP_atom.At
7523 
7524 Rn = _IMP_atom.Rn
7525 
7526 Fr = _IMP_atom.Fr
7527 
7528 Ra = _IMP_atom.Ra
7529 
7530 Ac = _IMP_atom.Ac
7531 
7532 Th = _IMP_atom.Th
7533 
7534 Pa = _IMP_atom.Pa
7535 
7536 U = _IMP_atom.U
7537 
7538 Np = _IMP_atom.Np
7539 
7540 Pu = _IMP_atom.Pu
7541 
7542 Am = _IMP_atom.Am
7543 
7544 Cm = _IMP_atom.Cm
7545 
7546 Bk = _IMP_atom.Bk
7547 
7548 Cf = _IMP_atom.Cf
7549 
7550 Es = _IMP_atom.Es
7551 
7552 Fm = _IMP_atom.Fm
7553 
7554 Md = _IMP_atom.Md
7555 
7556 No = _IMP_atom.No
7557 
7558 Lr = _IMP_atom.Lr
7559 
7560 Db = _IMP_atom.Db
7561 
7562 Jl = _IMP_atom.Jl
7563 
7564 Rf = _IMP_atom.Rf
7565 
7566 NUMBER_OF_ELEMENTS = _IMP_atom.NUMBER_OF_ELEMENTS
7567 
7568 
7569 def hash_value(e):
7570  r"""hash_value(IMP::atom::Element e) -> size_t"""
7571  return _IMP_atom.hash_value(e)
7572 class ElementTable(object):
7573  r"""Proxy of C++ IMP::atom::ElementTable class."""
7574 
7575  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7576  __repr__ = _swig_repr
7577 
7578  def __init__(self):
7579  r"""__init__(ElementTable self) -> ElementTable"""
7580  _IMP_atom.ElementTable_swiginit(self, _IMP_atom.new_ElementTable())
7581 
7582  def get_element(self, s):
7583  r"""get_element(ElementTable self, std::string const & s) -> IMP::atom::Element"""
7584  return _IMP_atom.ElementTable_get_element(self, s)
7585 
7586  def get_name(self, e):
7587  r"""get_name(ElementTable self, IMP::atom::Element e) -> std::string"""
7588  return _IMP_atom.ElementTable_get_name(self, e)
7589 
7590  def get_mass(self, e):
7591  r"""get_mass(ElementTable self, IMP::atom::Element e) -> IMP::Float"""
7592  return _IMP_atom.ElementTable_get_mass(self, e)
7593  __swig_destroy__ = _IMP_atom.delete_ElementTable
7594 
7595 # Register ElementTable in _IMP_atom:
7596 _IMP_atom.ElementTable_swigregister(ElementTable)
7597 
7598 def get_element_table():
7599  r"""get_element_table() -> ElementTable"""
7600  return _IMP_atom.get_element_table()
7601 class Atom(Hierarchy):
7602  r"""Proxy of C++ IMP::atom::Atom class."""
7603 
7604  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
7605 
7606  def __init__(self, *args):
7607  r"""
7608  __init__(Atom self) -> Atom
7609  __init__(Atom self, Model m, ParticleIndex id) -> Atom
7610  __init__(Atom self, _ParticleAdaptor d) -> Atom
7611  """
7612  _IMP_atom.Atom_swiginit(self, _IMP_atom.new_Atom(*args))
7613 
7614  def show(self, *args):
7615  r"""show(Atom self, _ostream out=std::cout)"""
7616  return _IMP_atom.Atom_show(self, *args)
7617 
7618  @staticmethod
7619  def setup_particle(*args):
7620  r"""
7621  setup_particle(Model m, ParticleIndex pi, Atom other) -> Atom
7622  setup_particle(_ParticleAdaptor pa, Atom other) -> Atom
7623  setup_particle(Model m, ParticleIndex pi, AtomType atom_type) -> Atom
7624  setup_particle(_ParticleAdaptor pa, AtomType atom_type) -> Atom
7625  """
7626  return _IMP_atom.Atom_setup_particle(*args)
7627 
7628  @staticmethod
7629  def get_is_setup(*args):
7630  r"""
7631  get_is_setup(_ParticleAdaptor p) -> bool
7632  get_is_setup(Model m, ParticleIndex pi) -> bool
7633  """
7634  return _IMP_atom.Atom_get_is_setup(*args)
7635 
7636  def get_atom_type(self):
7637  r"""get_atom_type(Atom self) -> AtomType"""
7638  return _IMP_atom.Atom_get_atom_type(self)
7639 
7640  def set_atom_type(self, t):
7641  r"""set_atom_type(Atom self, AtomType t)"""
7642  return _IMP_atom.Atom_set_atom_type(self, t)
7643 
7644  def get_element(self):
7645  r"""get_element(Atom self) -> IMP::atom::Element"""
7646  return _IMP_atom.Atom_get_element(self)
7647 
7648  def set_element(self, e):
7649  r"""set_element(Atom self, IMP::atom::Element e)"""
7650  return _IMP_atom.Atom_set_element(self, e)
7651 
7652  def get_occupancy(self):
7653  r"""get_occupancy(Atom self) -> double"""
7654  return _IMP_atom.Atom_get_occupancy(self)
7655 
7656  def set_occupancy(self, occupancy):
7657  r"""set_occupancy(Atom self, double occupancy)"""
7658  return _IMP_atom.Atom_set_occupancy(self, occupancy)
7659 
7660  def get_temperature_factor(self):
7661  r"""get_temperature_factor(Atom self) -> double"""
7662  return _IMP_atom.Atom_get_temperature_factor(self)
7663 
7664  def set_temperature_factor(self, tempFactor):
7665  r"""set_temperature_factor(Atom self, double tempFactor)"""
7666  return _IMP_atom.Atom_set_temperature_factor(self, tempFactor)
7667 
7668  def get_input_index(self):
7669  r"""get_input_index(Atom self) -> IMP::Int"""
7670  return _IMP_atom.Atom_get_input_index(self)
7671 
7672  def set_input_index(self, t):
7673  r"""set_input_index(Atom self, IMP::Int t)"""
7674  return _IMP_atom.Atom_set_input_index(self, t)
7675 
7676  @staticmethod
7677  def get_atom_type_key():
7678  r"""get_atom_type_key() -> IntKey"""
7679  return _IMP_atom.Atom_get_atom_type_key()
7680 
7681  @staticmethod
7682  def get_element_key():
7683  r"""get_element_key() -> IntKey"""
7684  return _IMP_atom.Atom_get_element_key()
7685 
7686  @staticmethod
7687  def get_input_index_key():
7688  r"""get_input_index_key() -> IntKey"""
7689  return _IMP_atom.Atom_get_input_index_key()
7690 
7691  @staticmethod
7692  def get_occupancy_key():
7693  r"""get_occupancy_key() -> FloatKey"""
7694  return _IMP_atom.Atom_get_occupancy_key()
7695 
7696  @staticmethod
7697  def get_temperature_factor_key():
7698  r"""get_temperature_factor_key() -> FloatKey"""
7699  return _IMP_atom.Atom_get_temperature_factor_key()
7700 
7701  def add_attribute(self, *args):
7702  r"""
7703  add_attribute(Atom self, FloatKey k, IMP::Float v, bool opt)
7704  add_attribute(Atom self, FloatKey a0, IMP::Float a1)
7705  add_attribute(Atom self, IntKey a0, IMP::Int a1)
7706  add_attribute(Atom self, FloatsKey a0, IMP::Floats a1)
7707  add_attribute(Atom self, IntsKey a0, IMP::Ints a1)
7708  add_attribute(Atom self, StringKey a0, IMP::String a1)
7709  add_attribute(Atom self, ParticleIndexKey a0, Particle a1)
7710  add_attribute(Atom self, ObjectKey a0, Object a1)
7711  """
7712  return _IMP_atom.Atom_add_attribute(self, *args)
7713 
7714  def get_value(self, *args):
7715  r"""
7716  get_value(Atom self, FloatKey a0) -> IMP::Float
7717  get_value(Atom self, IntKey a0) -> IMP::Int
7718  get_value(Atom self, FloatsKey a0) -> IMP::Floats
7719  get_value(Atom self, IntsKey a0) -> IMP::Ints
7720  get_value(Atom self, StringKey a0) -> IMP::String
7721  get_value(Atom self, ParticleIndexKey a0) -> Particle
7722  get_value(Atom self, ObjectKey a0) -> Object
7723  """
7724  return _IMP_atom.Atom_get_value(self, *args)
7725 
7726  def set_value(self, *args):
7727  r"""
7728  set_value(Atom self, FloatKey a0, IMP::Float a1)
7729  set_value(Atom self, IntKey a0, IMP::Int a1)
7730  set_value(Atom self, FloatsKey a0, IMP::Floats a1)
7731  set_value(Atom self, IntsKey a0, IMP::Ints a1)
7732  set_value(Atom self, StringKey a0, IMP::String a1)
7733  set_value(Atom self, ParticleIndexKey a0, Particle a1)
7734  set_value(Atom self, ObjectKey a0, Object a1)
7735  """
7736  return _IMP_atom.Atom_set_value(self, *args)
7737 
7738  def remove_attribute(self, *args):
7739  r"""
7740  remove_attribute(Atom self, FloatKey a0)
7741  remove_attribute(Atom self, IntKey a0)
7742  remove_attribute(Atom self, FloatsKey a0)
7743  remove_attribute(Atom self, IntsKey a0)
7744  remove_attribute(Atom self, StringKey a0)
7745  remove_attribute(Atom self, ParticleIndexKey a0)
7746  remove_attribute(Atom self, ObjectKey a0)
7747  """
7748  return _IMP_atom.Atom_remove_attribute(self, *args)
7749 
7750  def has_attribute(self, *args):
7751  r"""
7752  has_attribute(Atom self, FloatKey a0) -> bool
7753  has_attribute(Atom self, IntKey a0) -> bool
7754  has_attribute(Atom self, FloatsKey a0) -> bool
7755  has_attribute(Atom self, IntsKey a0) -> bool
7756  has_attribute(Atom self, StringKey a0) -> bool
7757  has_attribute(Atom self, ParticleIndexKey a0) -> bool
7758  has_attribute(Atom self, ObjectKey a0) -> bool
7759  """
7760  return _IMP_atom.Atom_has_attribute(self, *args)
7761 
7762  def get_derivative(self, a0):
7763  r"""get_derivative(Atom self, FloatKey a0) -> double"""
7764  return _IMP_atom.Atom_get_derivative(self, a0)
7765 
7766  def get_name(self):
7767  r"""get_name(Atom self) -> std::string"""
7768  return _IMP_atom.Atom_get_name(self)
7769 
7770  def clear_caches(self):
7771  r"""clear_caches(Atom self)"""
7772  return _IMP_atom.Atom_clear_caches(self)
7773 
7774  def set_name(self, a0):
7775  r"""set_name(Atom self, std::string a0)"""
7776  return _IMP_atom.Atom_set_name(self, a0)
7777 
7778  def set_check_level(self, a0):
7779  r"""set_check_level(Atom self, IMP::CheckLevel a0)"""
7780  return _IMP_atom.Atom_set_check_level(self, a0)
7781 
7782  def add_to_derivative(self, a0, a1, a2):
7783  r"""add_to_derivative(Atom self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
7784  return _IMP_atom.Atom_add_to_derivative(self, a0, a1, a2)
7785 
7786  def set_is_optimized(self, a0, a1):
7787  r"""set_is_optimized(Atom self, FloatKey a0, bool a1)"""
7788  return _IMP_atom.Atom_set_is_optimized(self, a0, a1)
7789 
7790  def get_is_optimized(self, a0):
7791  r"""get_is_optimized(Atom self, FloatKey a0) -> bool"""
7792  return _IMP_atom.Atom_get_is_optimized(self, a0)
7793 
7794  def get_check_level(self):
7795  r"""get_check_level(Atom self) -> IMP::CheckLevel"""
7796  return _IMP_atom.Atom_get_check_level(self)
7797 
7798  def __eq__(self, *args):
7799  r"""
7800  __eq__(Atom self, Atom o) -> bool
7801  __eq__(Atom self, Particle d) -> bool
7802  """
7803  return _IMP_atom.Atom___eq__(self, *args)
7804 
7805  def __ne__(self, *args):
7806  r"""
7807  __ne__(Atom self, Atom o) -> bool
7808  __ne__(Atom self, Particle d) -> bool
7809  """
7810  return _IMP_atom.Atom___ne__(self, *args)
7811 
7812  def __le__(self, *args):
7813  r"""
7814  __le__(Atom self, Atom o) -> bool
7815  __le__(Atom self, Particle d) -> bool
7816  """
7817  return _IMP_atom.Atom___le__(self, *args)
7818 
7819  def __lt__(self, *args):
7820  r"""
7821  __lt__(Atom self, Atom o) -> bool
7822  __lt__(Atom self, Particle d) -> bool
7823  """
7824  return _IMP_atom.Atom___lt__(self, *args)
7825 
7826  def __ge__(self, *args):
7827  r"""
7828  __ge__(Atom self, Atom o) -> bool
7829  __ge__(Atom self, Particle d) -> bool
7830  """
7831  return _IMP_atom.Atom___ge__(self, *args)
7832 
7833  def __gt__(self, *args):
7834  r"""
7835  __gt__(Atom self, Atom o) -> bool
7836  __gt__(Atom self, Particle d) -> bool
7837  """
7838  return _IMP_atom.Atom___gt__(self, *args)
7839 
7840  def __hash__(self):
7841  r"""__hash__(Atom self) -> std::size_t"""
7842  return _IMP_atom.Atom___hash__(self)
7843 
7844  def __str__(self):
7845  r"""__str__(Atom self) -> std::string"""
7846  return _IMP_atom.Atom___str__(self)
7847 
7848  def __repr__(self):
7849  r"""__repr__(Atom self) -> std::string"""
7850  return _IMP_atom.Atom___repr__(self)
7851 
7852  def _get_as_binary(self):
7853  r"""_get_as_binary(Atom self) -> PyObject *"""
7854  return _IMP_atom.Atom__get_as_binary(self)
7855 
7856  def _set_from_binary(self, p):
7857  r"""_set_from_binary(Atom self, PyObject * p)"""
7858  return _IMP_atom.Atom__set_from_binary(self, p)
7859 
7860  def __getstate__(self):
7861  p = self._get_as_binary()
7862  if len(self.__dict__) > 1:
7863  d = self.__dict__.copy()
7864  del d['this']
7865  p = (d, p)
7866  return p
7867 
7868  def __setstate__(self, p):
7869  if not hasattr(self, 'this'):
7870  self.__init__()
7871  if isinstance(p, tuple):
7872  d, p = p
7873  self.__dict__.update(d)
7874  return self._set_from_binary(p)
7875 
7876  __swig_destroy__ = _IMP_atom.delete_Atom
7877 
7878 # Register Atom in _IMP_atom:
7879 _IMP_atom.Atom_swigregister(Atom)
7880 AT_UNKNOWN = cvar.AT_UNKNOWN
7881 AT_N = cvar.AT_N
7882 AT_CA = cvar.AT_CA
7883 AT_C = cvar.AT_C
7884 AT_O = cvar.AT_O
7885 AT_H = cvar.AT_H
7886 AT_H1 = cvar.AT_H1
7887 AT_H2 = cvar.AT_H2
7888 AT_H3 = cvar.AT_H3
7889 AT_HA = cvar.AT_HA
7890 AT_HA1 = cvar.AT_HA1
7891 AT_HA2 = cvar.AT_HA2
7892 AT_HA3 = cvar.AT_HA3
7893 AT_CB = cvar.AT_CB
7894 AT_HB = cvar.AT_HB
7895 AT_HB1 = cvar.AT_HB1
7896 AT_HB2 = cvar.AT_HB2
7897 AT_HB3 = cvar.AT_HB3
7898 AT_OXT = cvar.AT_OXT
7899 AT_CH3 = cvar.AT_CH3
7900 AT_CH = cvar.AT_CH
7901 AT_CG = cvar.AT_CG
7902 AT_CG1 = cvar.AT_CG1
7903 AT_CG2 = cvar.AT_CG2
7904 AT_HG = cvar.AT_HG
7905 AT_HG1 = cvar.AT_HG1
7906 AT_HG2 = cvar.AT_HG2
7907 AT_HG3 = cvar.AT_HG3
7908 AT_HG11 = cvar.AT_HG11
7909 AT_HG21 = cvar.AT_HG21
7910 AT_HG31 = cvar.AT_HG31
7911 AT_HG12 = cvar.AT_HG12
7912 AT_HG13 = cvar.AT_HG13
7913 AT_HG22 = cvar.AT_HG22
7914 AT_HG23 = cvar.AT_HG23
7915 AT_HG32 = cvar.AT_HG32
7916 AT_OG = cvar.AT_OG
7917 AT_OG1 = cvar.AT_OG1
7918 AT_SG = cvar.AT_SG
7919 AT_CD = cvar.AT_CD
7920 AT_CD1 = cvar.AT_CD1
7921 AT_CD2 = cvar.AT_CD2
7922 AT_HD = cvar.AT_HD
7923 AT_HD1 = cvar.AT_HD1
7924 AT_HD2 = cvar.AT_HD2
7925 AT_HD3 = cvar.AT_HD3
7926 AT_HD11 = cvar.AT_HD11
7927 AT_HD21 = cvar.AT_HD21
7928 AT_HD31 = cvar.AT_HD31
7929 AT_HD12 = cvar.AT_HD12
7930 AT_HD13 = cvar.AT_HD13
7931 AT_HD22 = cvar.AT_HD22
7932 AT_HD23 = cvar.AT_HD23
7933 AT_HD32 = cvar.AT_HD32
7934 AT_SD = cvar.AT_SD
7935 AT_OD1 = cvar.AT_OD1
7936 AT_OD2 = cvar.AT_OD2
7937 AT_ND1 = cvar.AT_ND1
7938 AT_ND2 = cvar.AT_ND2
7939 AT_CE = cvar.AT_CE
7940 AT_CE1 = cvar.AT_CE1
7941 AT_CE2 = cvar.AT_CE2
7942 AT_CE3 = cvar.AT_CE3
7943 AT_HE = cvar.AT_HE
7944 AT_HE1 = cvar.AT_HE1
7945 AT_HE2 = cvar.AT_HE2
7946 AT_HE3 = cvar.AT_HE3
7947 AT_HE21 = cvar.AT_HE21
7948 AT_HE22 = cvar.AT_HE22
7949 AT_OE1 = cvar.AT_OE1
7950 AT_OE2 = cvar.AT_OE2
7951 AT_NE = cvar.AT_NE
7952 AT_NE1 = cvar.AT_NE1
7953 AT_NE2 = cvar.AT_NE2
7954 AT_CZ = cvar.AT_CZ
7955 AT_CZ2 = cvar.AT_CZ2
7956 AT_CZ3 = cvar.AT_CZ3
7957 AT_NZ = cvar.AT_NZ
7958 AT_HZ = cvar.AT_HZ
7959 AT_HZ1 = cvar.AT_HZ1
7960 AT_HZ2 = cvar.AT_HZ2
7961 AT_HZ3 = cvar.AT_HZ3
7962 AT_CH2 = cvar.AT_CH2
7963 AT_NH1 = cvar.AT_NH1
7964 AT_NH2 = cvar.AT_NH2
7965 AT_OH = cvar.AT_OH
7966 AT_HH = cvar.AT_HH
7967 AT_HH11 = cvar.AT_HH11
7968 AT_HH21 = cvar.AT_HH21
7969 AT_HH2 = cvar.AT_HH2
7970 AT_HH12 = cvar.AT_HH12
7971 AT_HH22 = cvar.AT_HH22
7972 AT_HH13 = cvar.AT_HH13
7973 AT_HH23 = cvar.AT_HH23
7974 AT_HH33 = cvar.AT_HH33
7975 AT_P = cvar.AT_P
7976 AT_OP1 = cvar.AT_OP1
7977 AT_OP2 = cvar.AT_OP2
7978 AT_OP3 = cvar.AT_OP3
7979 AT_O5p = cvar.AT_O5p
7980 AT_C5p = cvar.AT_C5p
7981 AT_H5p = cvar.AT_H5p
7982 AT_H5pp = cvar.AT_H5pp
7983 AT_C4p = cvar.AT_C4p
7984 AT_H4p = cvar.AT_H4p
7985 AT_O4p = cvar.AT_O4p
7986 AT_C1p = cvar.AT_C1p
7987 AT_H1p = cvar.AT_H1p
7988 AT_C3p = cvar.AT_C3p
7989 AT_H3p = cvar.AT_H3p
7990 AT_O3p = cvar.AT_O3p
7991 AT_C2p = cvar.AT_C2p
7992 AT_H2p = cvar.AT_H2p
7993 AT_H2pp = cvar.AT_H2pp
7994 AT_O2p = cvar.AT_O2p
7995 AT_HO2p = cvar.AT_HO2p
7996 AT_N9 = cvar.AT_N9
7997 AT_C8 = cvar.AT_C8
7998 AT_H8 = cvar.AT_H8
7999 AT_N7 = cvar.AT_N7
8000 AT_C5 = cvar.AT_C5
8001 AT_C4 = cvar.AT_C4
8002 AT_N3 = cvar.AT_N3
8003 AT_C2 = cvar.AT_C2
8004 AT_N1 = cvar.AT_N1
8005 AT_C6 = cvar.AT_C6
8006 AT_N6 = cvar.AT_N6
8007 AT_H61 = cvar.AT_H61
8008 AT_H62 = cvar.AT_H62
8009 AT_O6 = cvar.AT_O6
8010 AT_N2 = cvar.AT_N2
8011 AT_NT = cvar.AT_NT
8012 AT_H21 = cvar.AT_H21
8013 AT_H22 = cvar.AT_H22
8014 AT_H6 = cvar.AT_H6
8015 AT_H5 = cvar.AT_H5
8016 AT_O2 = cvar.AT_O2
8017 AT_N4 = cvar.AT_N4
8018 AT_H41 = cvar.AT_H41
8019 AT_H42 = cvar.AT_H42
8020 AT_O4 = cvar.AT_O4
8021 AT_C7 = cvar.AT_C7
8022 AT_H71 = cvar.AT_H71
8023 AT_H72 = cvar.AT_H72
8024 AT_H73 = cvar.AT_H73
8025 AT_O1A = cvar.AT_O1A
8026 AT_O2A = cvar.AT_O2A
8027 AT_O3A = cvar.AT_O3A
8028 AT_O1B = cvar.AT_O1B
8029 AT_O2B = cvar.AT_O2B
8030 AT_O3B = cvar.AT_O3B
8031 AT_CAY = cvar.AT_CAY
8032 AT_CY = cvar.AT_CY
8033 AT_OY = cvar.AT_OY
8034 AT_CAT = cvar.AT_CAT
8035 
8036 
8037 def get_residue(*args):
8038  r"""
8039  get_residue(Hierarchy mhd, unsigned int index) -> Hierarchy
8040  get_residue(Atom d, bool nothrow=False) -> Residue
8041  """
8042  return _IMP_atom.get_residue(*args)
8043 
8044 def get_atom(rd, at):
8045  r"""get_atom(Residue rd, AtomType at) -> Atom"""
8046  return _IMP_atom.get_atom(rd, at)
8047 
8048 def add_atom_type(name, e):
8049  r"""add_atom_type(std::string name, IMP::atom::Element e) -> AtomType"""
8050  return _IMP_atom.add_atom_type(name, e)
8051 
8052 def get_element_for_atom_type(at):
8053  r"""get_element_for_atom_type(AtomType at) -> IMP::atom::Element"""
8054  return _IMP_atom.get_element_for_atom_type(at)
8055 
8056 def get_atom_type_exists(name):
8057  r"""get_atom_type_exists(std::string name) -> bool"""
8058  return _IMP_atom.get_atom_type_exists(name)
8059 class Residue(Hierarchy):
8060  r"""Proxy of C++ IMP::atom::Residue class."""
8061 
8062  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8063 
8064  def __init__(self, *args):
8065  r"""
8066  __init__(Residue self) -> Residue
8067  __init__(Residue self, Model m, ParticleIndex id) -> Residue
8068  __init__(Residue self, _ParticleAdaptor d) -> Residue
8069  """
8070  _IMP_atom.Residue_swiginit(self, _IMP_atom.new_Residue(*args))
8071 
8072  def show(self, *args):
8073  r"""show(Residue self, _ostream out=std::cout)"""
8074  return _IMP_atom.Residue_show(self, *args)
8075 
8076  @staticmethod
8077  def setup_particle(*args):
8078  r"""
8079  setup_particle(Model m, ParticleIndex pi, ResidueType t, int index, int insertion_code) -> Residue
8080  setup_particle(_ParticleAdaptor pa, ResidueType t, int index, int insertion_code) -> Residue
8081  setup_particle(Model m, ParticleIndex pi, ResidueType t, int index) -> Residue
8082  setup_particle(_ParticleAdaptor pa, ResidueType t, int index) -> Residue
8083  setup_particle(Model m, ParticleIndex pi, ResidueType t) -> Residue
8084  setup_particle(_ParticleAdaptor pa, ResidueType t) -> Residue
8085  setup_particle(Model m, ParticleIndex pi, Residue other) -> Residue
8086  setup_particle(_ParticleAdaptor pa, Residue other) -> Residue
8087  """
8088  return _IMP_atom.Residue_setup_particle(*args)
8089 
8090  @staticmethod
8091  def get_is_setup(*args):
8092  r"""
8093  get_is_setup(_ParticleAdaptor p) -> bool
8094  get_is_setup(Model m, ParticleIndex pi) -> bool
8095  """
8096  return _IMP_atom.Residue_get_is_setup(*args)
8097 
8098  def get_residue_type(self):
8099  r"""get_residue_type(Residue self) -> ResidueType"""
8100  return _IMP_atom.Residue_get_residue_type(self)
8101 
8102  def set_residue_type(self, t):
8103  r"""set_residue_type(Residue self, ResidueType t)"""
8104  return _IMP_atom.Residue_set_residue_type(self, t)
8105 
8106  def get_is_protein(self):
8107  r"""get_is_protein(Residue self) -> bool"""
8108  return _IMP_atom.Residue_get_is_protein(self)
8109 
8110  def get_is_dna(self):
8111  r"""get_is_dna(Residue self) -> bool"""
8112  return _IMP_atom.Residue_get_is_dna(self)
8113 
8114  def get_is_rna(self):
8115  r"""get_is_rna(Residue self) -> bool"""
8116  return _IMP_atom.Residue_get_is_rna(self)
8117 
8118  def get_index(self):
8119  r"""get_index(Residue self) -> IMP::Int"""
8120  return _IMP_atom.Residue_get_index(self)
8121 
8122  def set_index(self, t):
8123  r"""set_index(Residue self, IMP::Int t)"""
8124  return _IMP_atom.Residue_set_index(self, t)
8125 
8126  def get_insertion_code(self):
8127  r"""get_insertion_code(Residue self) -> char"""
8128  return _IMP_atom.Residue_get_insertion_code(self)
8129 
8130  def set_insertion_code(self, insertion_code):
8131  r"""set_insertion_code(Residue self, char insertion_code)"""
8132  return _IMP_atom.Residue_set_insertion_code(self, insertion_code)
8133 
8134  @staticmethod
8135  def get_index_key():
8136  r"""get_index_key() -> IntKey"""
8137  return _IMP_atom.Residue_get_index_key()
8138 
8139  @staticmethod
8140  def get_residue_type_key():
8141  r"""get_residue_type_key() -> IntKey"""
8142  return _IMP_atom.Residue_get_residue_type_key()
8143 
8144  @staticmethod
8145  def get_insertion_code_key():
8146  r"""get_insertion_code_key() -> IntKey"""
8147  return _IMP_atom.Residue_get_insertion_code_key()
8148 
8149  @staticmethod
8150  def get_type_changed_key():
8151  r"""get_type_changed_key() -> TriggerKey"""
8152  return _IMP_atom.Residue_get_type_changed_key()
8153 
8154  def add_attribute(self, *args):
8155  r"""
8156  add_attribute(Residue self, FloatKey k, IMP::Float v, bool opt)
8157  add_attribute(Residue self, FloatKey a0, IMP::Float a1)
8158  add_attribute(Residue self, IntKey a0, IMP::Int a1)
8159  add_attribute(Residue self, FloatsKey a0, IMP::Floats a1)
8160  add_attribute(Residue self, IntsKey a0, IMP::Ints a1)
8161  add_attribute(Residue self, StringKey a0, IMP::String a1)
8162  add_attribute(Residue self, ParticleIndexKey a0, Particle a1)
8163  add_attribute(Residue self, ObjectKey a0, Object a1)
8164  """
8165  return _IMP_atom.Residue_add_attribute(self, *args)
8166 
8167  def get_value(self, *args):
8168  r"""
8169  get_value(Residue self, FloatKey a0) -> IMP::Float
8170  get_value(Residue self, IntKey a0) -> IMP::Int
8171  get_value(Residue self, FloatsKey a0) -> IMP::Floats
8172  get_value(Residue self, IntsKey a0) -> IMP::Ints
8173  get_value(Residue self, StringKey a0) -> IMP::String
8174  get_value(Residue self, ParticleIndexKey a0) -> Particle
8175  get_value(Residue self, ObjectKey a0) -> Object
8176  """
8177  return _IMP_atom.Residue_get_value(self, *args)
8178 
8179  def set_value(self, *args):
8180  r"""
8181  set_value(Residue self, FloatKey a0, IMP::Float a1)
8182  set_value(Residue self, IntKey a0, IMP::Int a1)
8183  set_value(Residue self, FloatsKey a0, IMP::Floats a1)
8184  set_value(Residue self, IntsKey a0, IMP::Ints a1)
8185  set_value(Residue self, StringKey a0, IMP::String a1)
8186  set_value(Residue self, ParticleIndexKey a0, Particle a1)
8187  set_value(Residue self, ObjectKey a0, Object a1)
8188  """
8189  return _IMP_atom.Residue_set_value(self, *args)
8190 
8191  def remove_attribute(self, *args):
8192  r"""
8193  remove_attribute(Residue self, FloatKey a0)
8194  remove_attribute(Residue self, IntKey a0)
8195  remove_attribute(Residue self, FloatsKey a0)
8196  remove_attribute(Residue self, IntsKey a0)
8197  remove_attribute(Residue self, StringKey a0)
8198  remove_attribute(Residue self, ParticleIndexKey a0)
8199  remove_attribute(Residue self, ObjectKey a0)
8200  """
8201  return _IMP_atom.Residue_remove_attribute(self, *args)
8202 
8203  def has_attribute(self, *args):
8204  r"""
8205  has_attribute(Residue self, FloatKey a0) -> bool
8206  has_attribute(Residue self, IntKey a0) -> bool
8207  has_attribute(Residue self, FloatsKey a0) -> bool
8208  has_attribute(Residue self, IntsKey a0) -> bool
8209  has_attribute(Residue self, StringKey a0) -> bool
8210  has_attribute(Residue self, ParticleIndexKey a0) -> bool
8211  has_attribute(Residue self, ObjectKey a0) -> bool
8212  """
8213  return _IMP_atom.Residue_has_attribute(self, *args)
8214 
8215  def get_derivative(self, a0):
8216  r"""get_derivative(Residue self, FloatKey a0) -> double"""
8217  return _IMP_atom.Residue_get_derivative(self, a0)
8218 
8219  def get_name(self):
8220  r"""get_name(Residue self) -> std::string"""
8221  return _IMP_atom.Residue_get_name(self)
8222 
8223  def clear_caches(self):
8224  r"""clear_caches(Residue self)"""
8225  return _IMP_atom.Residue_clear_caches(self)
8226 
8227  def set_name(self, a0):
8228  r"""set_name(Residue self, std::string a0)"""
8229  return _IMP_atom.Residue_set_name(self, a0)
8230 
8231  def set_check_level(self, a0):
8232  r"""set_check_level(Residue self, IMP::CheckLevel a0)"""
8233  return _IMP_atom.Residue_set_check_level(self, a0)
8234 
8235  def add_to_derivative(self, a0, a1, a2):
8236  r"""add_to_derivative(Residue self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8237  return _IMP_atom.Residue_add_to_derivative(self, a0, a1, a2)
8238 
8239  def set_is_optimized(self, a0, a1):
8240  r"""set_is_optimized(Residue self, FloatKey a0, bool a1)"""
8241  return _IMP_atom.Residue_set_is_optimized(self, a0, a1)
8242 
8243  def get_is_optimized(self, a0):
8244  r"""get_is_optimized(Residue self, FloatKey a0) -> bool"""
8245  return _IMP_atom.Residue_get_is_optimized(self, a0)
8246 
8247  def get_check_level(self):
8248  r"""get_check_level(Residue self) -> IMP::CheckLevel"""
8249  return _IMP_atom.Residue_get_check_level(self)
8250 
8251  def __eq__(self, *args):
8252  r"""
8253  __eq__(Residue self, Residue o) -> bool
8254  __eq__(Residue self, Particle d) -> bool
8255  """
8256  return _IMP_atom.Residue___eq__(self, *args)
8257 
8258  def __ne__(self, *args):
8259  r"""
8260  __ne__(Residue self, Residue o) -> bool
8261  __ne__(Residue self, Particle d) -> bool
8262  """
8263  return _IMP_atom.Residue___ne__(self, *args)
8264 
8265  def __le__(self, *args):
8266  r"""
8267  __le__(Residue self, Residue o) -> bool
8268  __le__(Residue self, Particle d) -> bool
8269  """
8270  return _IMP_atom.Residue___le__(self, *args)
8271 
8272  def __lt__(self, *args):
8273  r"""
8274  __lt__(Residue self, Residue o) -> bool
8275  __lt__(Residue self, Particle d) -> bool
8276  """
8277  return _IMP_atom.Residue___lt__(self, *args)
8278 
8279  def __ge__(self, *args):
8280  r"""
8281  __ge__(Residue self, Residue o) -> bool
8282  __ge__(Residue self, Particle d) -> bool
8283  """
8284  return _IMP_atom.Residue___ge__(self, *args)
8285 
8286  def __gt__(self, *args):
8287  r"""
8288  __gt__(Residue self, Residue o) -> bool
8289  __gt__(Residue self, Particle d) -> bool
8290  """
8291  return _IMP_atom.Residue___gt__(self, *args)
8292 
8293  def __hash__(self):
8294  r"""__hash__(Residue self) -> std::size_t"""
8295  return _IMP_atom.Residue___hash__(self)
8296 
8297  def __str__(self):
8298  r"""__str__(Residue self) -> std::string"""
8299  return _IMP_atom.Residue___str__(self)
8300 
8301  def __repr__(self):
8302  r"""__repr__(Residue self) -> std::string"""
8303  return _IMP_atom.Residue___repr__(self)
8304 
8305  def _get_as_binary(self):
8306  r"""_get_as_binary(Residue self) -> PyObject *"""
8307  return _IMP_atom.Residue__get_as_binary(self)
8308 
8309  def _set_from_binary(self, p):
8310  r"""_set_from_binary(Residue self, PyObject * p)"""
8311  return _IMP_atom.Residue__set_from_binary(self, p)
8312 
8313  def __getstate__(self):
8314  p = self._get_as_binary()
8315  if len(self.__dict__) > 1:
8316  d = self.__dict__.copy()
8317  del d['this']
8318  p = (d, p)
8319  return p
8320 
8321  def __setstate__(self, p):
8322  if not hasattr(self, 'this'):
8323  self.__init__()
8324  if isinstance(p, tuple):
8325  d, p = p
8326  self.__dict__.update(d)
8327  return self._set_from_binary(p)
8328 
8329  __swig_destroy__ = _IMP_atom.delete_Residue
8330 
8331 # Register Residue in _IMP_atom:
8332 _IMP_atom.Residue_swigregister(Residue)
8333 UNK = cvar.UNK
8334 GLY = cvar.GLY
8335 ALA = cvar.ALA
8336 VAL = cvar.VAL
8337 LEU = cvar.LEU
8338 ILE = cvar.ILE
8339 SER = cvar.SER
8340 THR = cvar.THR
8341 CYS = cvar.CYS
8342 MET = cvar.MET
8343 PRO = cvar.PRO
8344 ASP = cvar.ASP
8345 ASN = cvar.ASN
8346 GLU = cvar.GLU
8347 GLN = cvar.GLN
8348 LYS = cvar.LYS
8349 ARG = cvar.ARG
8350 HIS = cvar.HIS
8351 PHE = cvar.PHE
8352 TYR = cvar.TYR
8353 TRP = cvar.TRP
8354 ACE = cvar.ACE
8355 NH2 = cvar.NH2
8356 MSE = cvar.MSE
8357 ADE = cvar.ADE
8358 URA = cvar.URA
8359 CYT = cvar.CYT
8360 GUA = cvar.GUA
8361 THY = cvar.THY
8362 DADE = cvar.DADE
8363 DURA = cvar.DURA
8364 DCYT = cvar.DCYT
8365 DGUA = cvar.DGUA
8366 DTHY = cvar.DTHY
8367 HOH = cvar.HOH
8368 HEME = cvar.HEME
8369 POP = cvar.POP
8370 
8371 
8372 def get_next_residue(rd):
8373  r"""get_next_residue(Residue rd) -> Hierarchy"""
8374  return _IMP_atom.get_next_residue(rd)
8375 
8376 def get_previous_residue(rd):
8377  r"""get_previous_residue(Residue rd) -> Hierarchy"""
8378  return _IMP_atom.get_previous_residue(rd)
8379 
8380 def get_one_letter_code(c):
8381  r"""get_one_letter_code(ResidueType c) -> char"""
8382  return _IMP_atom.get_one_letter_code(c)
8383 BALLS = _IMP_atom.BALLS
8384 
8385 DENSITIES = _IMP_atom.DENSITIES
8386 
8387 class Representation(Hierarchy):
8388  r"""Proxy of C++ IMP::atom::Representation class."""
8389 
8390  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8391 
8392  @staticmethod
8393  def setup_particle(*args):
8394  r"""
8395  setup_particle(Model m, ParticleIndex pi) -> Representation
8396  setup_particle(_ParticleAdaptor pa) -> Representation
8397  setup_particle(Model m, ParticleIndex pi, double resolution) -> Representation
8398  setup_particle(_ParticleAdaptor pa, double resolution) -> Representation
8399  setup_particle(Model m, ParticleIndex pi, Representation other) -> Representation
8400  setup_particle(_ParticleAdaptor pa, Representation other) -> Representation
8401  """
8402  return _IMP_atom.Representation_setup_particle(*args)
8403 
8404  def __init__(self, *args):
8405  r"""
8406  __init__(Representation self) -> Representation
8407  __init__(Representation self, Model m, ParticleIndex id) -> Representation
8408  __init__(Representation self, _ParticleAdaptor d) -> Representation
8409  """
8410  _IMP_atom.Representation_swiginit(self, _IMP_atom.new_Representation(*args))
8411 
8412  def show(self, *args):
8413  r"""show(Representation self, _ostream out=std::cout)"""
8414  return _IMP_atom.Representation_show(self, *args)
8415 
8416  @staticmethod
8417  def get_is_setup(*args):
8418  r"""
8419  get_is_setup(_ParticleAdaptor p) -> bool
8420  get_is_setup(Model m, ParticleIndex pi) -> bool
8421  """
8422  return _IMP_atom.Representation_get_is_setup(*args)
8423 
8424  def get_representation(self, *args):
8425  r"""get_representation(Representation self, double resolution, IMP::atom::RepresentationType type=BALLS) -> Hierarchy"""
8426  return _IMP_atom.Representation_get_representation(self, *args)
8427 
8428  def get_representations(self, *args):
8429  r"""get_representations(Representation self, IMP::atom::RepresentationType type=BALLS) -> IMP::atom::Hierarchies"""
8430  return _IMP_atom.Representation_get_representations(self, *args)
8431 
8432  def add_representation(self, *args):
8433  r"""add_representation(Representation self, _ParticleIndexAdaptor rep, IMP::atom::RepresentationType type=BALLS, double resolution=-1)"""
8434  return _IMP_atom.Representation_add_representation(self, *args)
8435 
8436  def get_resolutions(self, *args):
8437  r"""get_resolutions(Representation self, IMP::atom::RepresentationType type=BALLS) -> IMP::Floats"""
8438  return _IMP_atom.Representation_get_resolutions(self, *args)
8439 
8440  def remove_representation(self, rep):
8441  r"""remove_representation(Representation self, _ParticleIndexAdaptor rep)"""
8442  return _IMP_atom.Representation_remove_representation(self, rep)
8443 
8444  def update_parents(self):
8445  r"""update_parents(Representation self)"""
8446  return _IMP_atom.Representation_update_parents(self)
8447 
8448  def add_attribute(self, *args):
8449  r"""
8450  add_attribute(Representation self, FloatKey k, IMP::Float v, bool opt)
8451  add_attribute(Representation self, FloatKey a0, IMP::Float a1)
8452  add_attribute(Representation self, IntKey a0, IMP::Int a1)
8453  add_attribute(Representation self, FloatsKey a0, IMP::Floats a1)
8454  add_attribute(Representation self, IntsKey a0, IMP::Ints a1)
8455  add_attribute(Representation self, StringKey a0, IMP::String a1)
8456  add_attribute(Representation self, ParticleIndexKey a0, Particle a1)
8457  add_attribute(Representation self, ObjectKey a0, Object a1)
8458  """
8459  return _IMP_atom.Representation_add_attribute(self, *args)
8460 
8461  def get_value(self, *args):
8462  r"""
8463  get_value(Representation self, FloatKey a0) -> IMP::Float
8464  get_value(Representation self, IntKey a0) -> IMP::Int
8465  get_value(Representation self, FloatsKey a0) -> IMP::Floats
8466  get_value(Representation self, IntsKey a0) -> IMP::Ints
8467  get_value(Representation self, StringKey a0) -> IMP::String
8468  get_value(Representation self, ParticleIndexKey a0) -> Particle
8469  get_value(Representation self, ObjectKey a0) -> Object
8470  """
8471  return _IMP_atom.Representation_get_value(self, *args)
8472 
8473  def set_value(self, *args):
8474  r"""
8475  set_value(Representation self, FloatKey a0, IMP::Float a1)
8476  set_value(Representation self, IntKey a0, IMP::Int a1)
8477  set_value(Representation self, FloatsKey a0, IMP::Floats a1)
8478  set_value(Representation self, IntsKey a0, IMP::Ints a1)
8479  set_value(Representation self, StringKey a0, IMP::String a1)
8480  set_value(Representation self, ParticleIndexKey a0, Particle a1)
8481  set_value(Representation self, ObjectKey a0, Object a1)
8482  """
8483  return _IMP_atom.Representation_set_value(self, *args)
8484 
8485  def remove_attribute(self, *args):
8486  r"""
8487  remove_attribute(Representation self, FloatKey a0)
8488  remove_attribute(Representation self, IntKey a0)
8489  remove_attribute(Representation self, FloatsKey a0)
8490  remove_attribute(Representation self, IntsKey a0)
8491  remove_attribute(Representation self, StringKey a0)
8492  remove_attribute(Representation self, ParticleIndexKey a0)
8493  remove_attribute(Representation self, ObjectKey a0)
8494  """
8495  return _IMP_atom.Representation_remove_attribute(self, *args)
8496 
8497  def has_attribute(self, *args):
8498  r"""
8499  has_attribute(Representation self, FloatKey a0) -> bool
8500  has_attribute(Representation self, IntKey a0) -> bool
8501  has_attribute(Representation self, FloatsKey a0) -> bool
8502  has_attribute(Representation self, IntsKey a0) -> bool
8503  has_attribute(Representation self, StringKey a0) -> bool
8504  has_attribute(Representation self, ParticleIndexKey a0) -> bool
8505  has_attribute(Representation self, ObjectKey a0) -> bool
8506  """
8507  return _IMP_atom.Representation_has_attribute(self, *args)
8508 
8509  def get_derivative(self, a0):
8510  r"""get_derivative(Representation self, FloatKey a0) -> double"""
8511  return _IMP_atom.Representation_get_derivative(self, a0)
8512 
8513  def get_name(self):
8514  r"""get_name(Representation self) -> std::string"""
8515  return _IMP_atom.Representation_get_name(self)
8516 
8517  def clear_caches(self):
8518  r"""clear_caches(Representation self)"""
8519  return _IMP_atom.Representation_clear_caches(self)
8520 
8521  def set_name(self, a0):
8522  r"""set_name(Representation self, std::string a0)"""
8523  return _IMP_atom.Representation_set_name(self, a0)
8524 
8525  def set_check_level(self, a0):
8526  r"""set_check_level(Representation self, IMP::CheckLevel a0)"""
8527  return _IMP_atom.Representation_set_check_level(self, a0)
8528 
8529  def add_to_derivative(self, a0, a1, a2):
8530  r"""add_to_derivative(Representation self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8531  return _IMP_atom.Representation_add_to_derivative(self, a0, a1, a2)
8532 
8533  def set_is_optimized(self, a0, a1):
8534  r"""set_is_optimized(Representation self, FloatKey a0, bool a1)"""
8535  return _IMP_atom.Representation_set_is_optimized(self, a0, a1)
8536 
8537  def get_is_optimized(self, a0):
8538  r"""get_is_optimized(Representation self, FloatKey a0) -> bool"""
8539  return _IMP_atom.Representation_get_is_optimized(self, a0)
8540 
8541  def get_check_level(self):
8542  r"""get_check_level(Representation self) -> IMP::CheckLevel"""
8543  return _IMP_atom.Representation_get_check_level(self)
8544 
8545  def __eq__(self, *args):
8546  r"""
8547  __eq__(Representation self, Representation o) -> bool
8548  __eq__(Representation self, Particle d) -> bool
8549  """
8550  return _IMP_atom.Representation___eq__(self, *args)
8551 
8552  def __ne__(self, *args):
8553  r"""
8554  __ne__(Representation self, Representation o) -> bool
8555  __ne__(Representation self, Particle d) -> bool
8556  """
8557  return _IMP_atom.Representation___ne__(self, *args)
8558 
8559  def __le__(self, *args):
8560  r"""
8561  __le__(Representation self, Representation o) -> bool
8562  __le__(Representation self, Particle d) -> bool
8563  """
8564  return _IMP_atom.Representation___le__(self, *args)
8565 
8566  def __lt__(self, *args):
8567  r"""
8568  __lt__(Representation self, Representation o) -> bool
8569  __lt__(Representation self, Particle d) -> bool
8570  """
8571  return _IMP_atom.Representation___lt__(self, *args)
8572 
8573  def __ge__(self, *args):
8574  r"""
8575  __ge__(Representation self, Representation o) -> bool
8576  __ge__(Representation self, Particle d) -> bool
8577  """
8578  return _IMP_atom.Representation___ge__(self, *args)
8579 
8580  def __gt__(self, *args):
8581  r"""
8582  __gt__(Representation self, Representation o) -> bool
8583  __gt__(Representation self, Particle d) -> bool
8584  """
8585  return _IMP_atom.Representation___gt__(self, *args)
8586 
8587  def __hash__(self):
8588  r"""__hash__(Representation self) -> std::size_t"""
8589  return _IMP_atom.Representation___hash__(self)
8590 
8591  def __str__(self):
8592  r"""__str__(Representation self) -> std::string"""
8593  return _IMP_atom.Representation___str__(self)
8594 
8595  def __repr__(self):
8596  r"""__repr__(Representation self) -> std::string"""
8597  return _IMP_atom.Representation___repr__(self)
8598 
8599  def _get_as_binary(self):
8600  r"""_get_as_binary(Representation self) -> PyObject *"""
8601  return _IMP_atom.Representation__get_as_binary(self)
8602 
8603  def _set_from_binary(self, p):
8604  r"""_set_from_binary(Representation self, PyObject * p)"""
8605  return _IMP_atom.Representation__set_from_binary(self, p)
8606 
8607  def __getstate__(self):
8608  p = self._get_as_binary()
8609  if len(self.__dict__) > 1:
8610  d = self.__dict__.copy()
8611  del d['this']
8612  p = (d, p)
8613  return p
8614 
8615  def __setstate__(self, p):
8616  if not hasattr(self, 'this'):
8617  self.__init__()
8618  if isinstance(p, tuple):
8619  d, p = p
8620  self.__dict__.update(d)
8621  return self._set_from_binary(p)
8622 
8623  __swig_destroy__ = _IMP_atom.delete_Representation
8624 
8625 # Register Representation in _IMP_atom:
8626 _IMP_atom.Representation_swigregister(Representation)
8627 ALL_RESOLUTIONS = cvar.ALL_RESOLUTIONS
8628 
8629 
8630 def get_resolution(*args):
8631  r"""
8632  get_resolution(Model m, ParticleIndex pi) -> double
8633  get_resolution(Hierarchy h) -> double
8634  """
8635  return _IMP_atom.get_resolution(*args)
8636 
8637 def get_representation(h, nothrow=False):
8638  r"""get_representation(Hierarchy h, bool nothrow=False) -> Representation"""
8639  return _IMP_atom.get_representation(h, nothrow)
8640 
8641 def show_with_representations(*args):
8642  r"""show_with_representations(Hierarchy h, _ostream out=std::cout)"""
8643  return _IMP_atom.show_with_representations(*args)
8644 class State(Hierarchy):
8645  r"""Proxy of C++ IMP::atom::State class."""
8646 
8647  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8648 
8649  @staticmethod
8650  def setup_particle(*args):
8651  r"""
8652  setup_particle(Model m, ParticleIndex pi, unsigned int index) -> State
8653  setup_particle(_ParticleAdaptor pa, unsigned int index) -> State
8654  setup_particle(Model m, ParticleIndex pi, State other) -> State
8655  setup_particle(_ParticleAdaptor pa, State other) -> State
8656  """
8657  return _IMP_atom.State_setup_particle(*args)
8658 
8659  def __init__(self, *args):
8660  r"""
8661  __init__(State self) -> State
8662  __init__(State self, Model m, ParticleIndex id) -> State
8663  __init__(State self, _ParticleAdaptor d) -> State
8664  """
8665  _IMP_atom.State_swiginit(self, _IMP_atom.new_State(*args))
8666 
8667  def show(self, *args):
8668  r"""show(State self, _ostream out=std::cout)"""
8669  return _IMP_atom.State_show(self, *args)
8670 
8671  @staticmethod
8672  def get_is_setup(*args):
8673  r"""
8674  get_is_setup(_ParticleAdaptor p) -> bool
8675  get_is_setup(Model m, ParticleIndex pi) -> bool
8676  """
8677  return _IMP_atom.State_get_is_setup(*args)
8678 
8679  def get_state_index(self):
8680  r"""get_state_index(State self) -> unsigned int"""
8681  return _IMP_atom.State_get_state_index(self)
8682 
8683  def add_attribute(self, *args):
8684  r"""
8685  add_attribute(State self, FloatKey k, IMP::Float v, bool opt)
8686  add_attribute(State self, FloatKey a0, IMP::Float a1)
8687  add_attribute(State self, IntKey a0, IMP::Int a1)
8688  add_attribute(State self, FloatsKey a0, IMP::Floats a1)
8689  add_attribute(State self, IntsKey a0, IMP::Ints a1)
8690  add_attribute(State self, StringKey a0, IMP::String a1)
8691  add_attribute(State self, ParticleIndexKey a0, Particle a1)
8692  add_attribute(State self, ObjectKey a0, Object a1)
8693  """
8694  return _IMP_atom.State_add_attribute(self, *args)
8695 
8696  def get_value(self, *args):
8697  r"""
8698  get_value(State self, FloatKey a0) -> IMP::Float
8699  get_value(State self, IntKey a0) -> IMP::Int
8700  get_value(State self, FloatsKey a0) -> IMP::Floats
8701  get_value(State self, IntsKey a0) -> IMP::Ints
8702  get_value(State self, StringKey a0) -> IMP::String
8703  get_value(State self, ParticleIndexKey a0) -> Particle
8704  get_value(State self, ObjectKey a0) -> Object
8705  """
8706  return _IMP_atom.State_get_value(self, *args)
8707 
8708  def set_value(self, *args):
8709  r"""
8710  set_value(State self, FloatKey a0, IMP::Float a1)
8711  set_value(State self, IntKey a0, IMP::Int a1)
8712  set_value(State self, FloatsKey a0, IMP::Floats a1)
8713  set_value(State self, IntsKey a0, IMP::Ints a1)
8714  set_value(State self, StringKey a0, IMP::String a1)
8715  set_value(State self, ParticleIndexKey a0, Particle a1)
8716  set_value(State self, ObjectKey a0, Object a1)
8717  """
8718  return _IMP_atom.State_set_value(self, *args)
8719 
8720  def remove_attribute(self, *args):
8721  r"""
8722  remove_attribute(State self, FloatKey a0)
8723  remove_attribute(State self, IntKey a0)
8724  remove_attribute(State self, FloatsKey a0)
8725  remove_attribute(State self, IntsKey a0)
8726  remove_attribute(State self, StringKey a0)
8727  remove_attribute(State self, ParticleIndexKey a0)
8728  remove_attribute(State self, ObjectKey a0)
8729  """
8730  return _IMP_atom.State_remove_attribute(self, *args)
8731 
8732  def has_attribute(self, *args):
8733  r"""
8734  has_attribute(State self, FloatKey a0) -> bool
8735  has_attribute(State self, IntKey a0) -> bool
8736  has_attribute(State self, FloatsKey a0) -> bool
8737  has_attribute(State self, IntsKey a0) -> bool
8738  has_attribute(State self, StringKey a0) -> bool
8739  has_attribute(State self, ParticleIndexKey a0) -> bool
8740  has_attribute(State self, ObjectKey a0) -> bool
8741  """
8742  return _IMP_atom.State_has_attribute(self, *args)
8743 
8744  def get_derivative(self, a0):
8745  r"""get_derivative(State self, FloatKey a0) -> double"""
8746  return _IMP_atom.State_get_derivative(self, a0)
8747 
8748  def get_name(self):
8749  r"""get_name(State self) -> std::string"""
8750  return _IMP_atom.State_get_name(self)
8751 
8752  def clear_caches(self):
8753  r"""clear_caches(State self)"""
8754  return _IMP_atom.State_clear_caches(self)
8755 
8756  def set_name(self, a0):
8757  r"""set_name(State self, std::string a0)"""
8758  return _IMP_atom.State_set_name(self, a0)
8759 
8760  def set_check_level(self, a0):
8761  r"""set_check_level(State self, IMP::CheckLevel a0)"""
8762  return _IMP_atom.State_set_check_level(self, a0)
8763 
8764  def add_to_derivative(self, a0, a1, a2):
8765  r"""add_to_derivative(State self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
8766  return _IMP_atom.State_add_to_derivative(self, a0, a1, a2)
8767 
8768  def set_is_optimized(self, a0, a1):
8769  r"""set_is_optimized(State self, FloatKey a0, bool a1)"""
8770  return _IMP_atom.State_set_is_optimized(self, a0, a1)
8771 
8772  def get_is_optimized(self, a0):
8773  r"""get_is_optimized(State self, FloatKey a0) -> bool"""
8774  return _IMP_atom.State_get_is_optimized(self, a0)
8775 
8776  def get_check_level(self):
8777  r"""get_check_level(State self) -> IMP::CheckLevel"""
8778  return _IMP_atom.State_get_check_level(self)
8779 
8780  def __eq__(self, *args):
8781  r"""
8782  __eq__(State self, State o) -> bool
8783  __eq__(State self, Particle d) -> bool
8784  """
8785  return _IMP_atom.State___eq__(self, *args)
8786 
8787  def __ne__(self, *args):
8788  r"""
8789  __ne__(State self, State o) -> bool
8790  __ne__(State self, Particle d) -> bool
8791  """
8792  return _IMP_atom.State___ne__(self, *args)
8793 
8794  def __le__(self, *args):
8795  r"""
8796  __le__(State self, State o) -> bool
8797  __le__(State self, Particle d) -> bool
8798  """
8799  return _IMP_atom.State___le__(self, *args)
8800 
8801  def __lt__(self, *args):
8802  r"""
8803  __lt__(State self, State o) -> bool
8804  __lt__(State self, Particle d) -> bool
8805  """
8806  return _IMP_atom.State___lt__(self, *args)
8807 
8808  def __ge__(self, *args):
8809  r"""
8810  __ge__(State self, State o) -> bool
8811  __ge__(State self, Particle d) -> bool
8812  """
8813  return _IMP_atom.State___ge__(self, *args)
8814 
8815  def __gt__(self, *args):
8816  r"""
8817  __gt__(State self, State o) -> bool
8818  __gt__(State self, Particle d) -> bool
8819  """
8820  return _IMP_atom.State___gt__(self, *args)
8821 
8822  def __hash__(self):
8823  r"""__hash__(State self) -> std::size_t"""
8824  return _IMP_atom.State___hash__(self)
8825 
8826  def __str__(self):
8827  r"""__str__(State self) -> std::string"""
8828  return _IMP_atom.State___str__(self)
8829 
8830  def __repr__(self):
8831  r"""__repr__(State self) -> std::string"""
8832  return _IMP_atom.State___repr__(self)
8833 
8834  def _get_as_binary(self):
8835  r"""_get_as_binary(State self) -> PyObject *"""
8836  return _IMP_atom.State__get_as_binary(self)
8837 
8838  def _set_from_binary(self, p):
8839  r"""_set_from_binary(State self, PyObject * p)"""
8840  return _IMP_atom.State__set_from_binary(self, p)
8841 
8842  def __getstate__(self):
8843  p = self._get_as_binary()
8844  if len(self.__dict__) > 1:
8845  d = self.__dict__.copy()
8846  del d['this']
8847  p = (d, p)
8848  return p
8849 
8850  def __setstate__(self, p):
8851  if not hasattr(self, 'this'):
8852  self.__init__()
8853  if isinstance(p, tuple):
8854  d, p = p
8855  self.__dict__.update(d)
8856  return self._set_from_binary(p)
8857 
8858  __swig_destroy__ = _IMP_atom.delete_State
8859 
8860 # Register State in _IMP_atom:
8861 _IMP_atom.State_swigregister(State)
8862 
8863 def get_state_index(h):
8864  r"""get_state_index(Hierarchy h) -> int"""
8865  return _IMP_atom.get_state_index(h)
8866 
8867 def get_phi_dihedral_atoms(rd):
8868  r"""get_phi_dihedral_atoms(Residue rd) -> IMP::atom::Atoms"""
8869  return _IMP_atom.get_phi_dihedral_atoms(rd)
8870 
8871 def get_psi_dihedral_atoms(rd):
8872  r"""get_psi_dihedral_atoms(Residue rd) -> IMP::atom::Atoms"""
8873  return _IMP_atom.get_psi_dihedral_atoms(rd)
8874 
8875 def get_omega_dihedral_atoms(rd):
8876  r"""get_omega_dihedral_atoms(Residue rd) -> IMP::atom::Atoms"""
8877  return _IMP_atom.get_omega_dihedral_atoms(rd)
8878 
8880  r"""get_chi_dihedral_atom_types(ResidueType rt) -> IMP::Vector< IMP::atom::AtomTypes >"""
8881  return _IMP_atom.get_chi_dihedral_atom_types(rt)
8882 
8883 def get_chi_dihedral_atoms(rd):
8884  r"""get_chi_dihedral_atoms(Residue rd) -> IMP::Vector< IMP::atom::Atoms >"""
8885  return _IMP_atom.get_chi_dihedral_atoms(rd)
8886 
8888  r"""get_chi_dihedral_particle_indexes(Residue rd) -> IMP::ParticleIndexQuads"""
8889  return _IMP_atom.get_chi_dihedral_particle_indexes(rd)
8890 class Molecule(Hierarchy):
8891  r"""Proxy of C++ IMP::atom::Molecule class."""
8892 
8893  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
8894 
8895  def __init__(self, *args):
8896  r"""
8897  __init__(Molecule self) -> Molecule
8898  __init__(Molecule self, Model m, ParticleIndex id) -> Molecule
8899  __init__(Molecule self, _ParticleAdaptor d) -> Molecule
8900  """
8901  _IMP_atom.Molecule_swiginit(self, _IMP_atom.new_Molecule(*args))
8902 
8903  def show(self, *args):
8904  r"""show(Molecule self, _ostream out=std::cout)"""
8905  return _IMP_atom.Molecule_show(self, *args)
8906 
8907  @staticmethod
8908  def setup_particle(*args):
8909  r"""
8910  setup_particle(Model m, ParticleIndex pi) -> Molecule
8911  setup_particle(_ParticleAdaptor pa) -> Molecule
8912  setup_particle(Model m, ParticleIndex pi, Molecule other) -> Molecule
8913  setup_particle(_ParticleAdaptor pa, Molecule other) -> Molecule
8914  """
8915  return _IMP_atom.Molecule_setup_particle(*args)
8916 
8917  @staticmethod
8918  def get_is_setup(*args):
8919  r"""
8920  get_is_setup(_ParticleAdaptor p) -> bool
8921  get_is_setup(Model m, ParticleIndex pi) -> bool
8922  """
8923  return _IMP_atom.Molecule_get_is_setup(*args)
8924 
8925  def add_attribute(self, *args):
8926  r"""
8927  add_attribute(Molecule self, FloatKey k, IMP::Float v, bool opt)
8928  add_attribute(Molecule self, FloatKey a0, IMP::Float a1)
8929  add_attribute(Molecule self, IntKey a0, IMP::Int a1)
8930  add_attribute(Molecule self, FloatsKey a0, IMP::Floats a1)
8931  add_attribute(Molecule self, IntsKey a0, IMP::Ints a1)
8932  add_attribute(Molecule self, StringKey a0, IMP::String a1)
8933  add_attribute(Molecule self, ParticleIndexKey a0, Particle a1)
8934  add_attribute(Molecule self, ObjectKey a0, Object a1)
8935  """
8936  return _IMP_atom.Molecule_add_attribute(self, *args)
8937 
8938  def get_value(self, *args):
8939  r"""
8940  get_value(Molecule self, FloatKey a0) -> IMP::Float
8941  get_value(Molecule self, IntKey a0) -> IMP::Int
8942  get_value(Molecule self, FloatsKey a0) -> IMP::Floats
8943  get_value(Molecule self, IntsKey a0) -> IMP::Ints
8944  get_value(Molecule self, StringKey a0) -> IMP::String
8945  get_value(Molecule self, ParticleIndexKey a0) -> Particle
8946  get_value(Molecule self, ObjectKey a0) -> Object
8947  """
8948  return _IMP_atom.Molecule_get_value(self, *args)
8949 
8950  def set_value(self, *args):
8951  r"""
8952  set_value(Molecule self, FloatKey a0, IMP::Float a1)
8953  set_value(Molecule self, IntKey a0, IMP::Int a1)
8954  set_value(Molecule self, FloatsKey a0, IMP::Floats a1)
8955  set_value(Molecule self, IntsKey a0, IMP::Ints a1)
8956  set_value(Molecule self, StringKey a0, IMP::String a1)
8957  set_value(Molecule self, ParticleIndexKey a0, Particle a1)
8958  set_value(Molecule self, ObjectKey a0, Object a1)
8959  """
8960  return _IMP_atom.Molecule_set_value(self, *args)
8961 
8962  def remove_attribute(self, *args):
8963  r"""
8964  remove_attribute(Molecule self, FloatKey a0)
8965  remove_attribute(Molecule self, IntKey a0)
8966  remove_attribute(Molecule self, FloatsKey a0)
8967  remove_attribute(Molecule self, IntsKey a0)
8968  remove_attribute(Molecule self, StringKey a0)
8969  remove_attribute(Molecule self, ParticleIndexKey a0)
8970  remove_attribute(Molecule self, ObjectKey a0)
8971  """
8972  return _IMP_atom.Molecule_remove_attribute(self, *args)
8973 
8974  def has_attribute(self, *args):
8975  r"""
8976  has_attribute(Molecule self, FloatKey a0) -> bool
8977  has_attribute(Molecule self, IntKey a0) -> bool
8978  has_attribute(Molecule self, FloatsKey a0) -> bool
8979  has_attribute(Molecule self, IntsKey a0) -> bool
8980  has_attribute(Molecule self, StringKey a0) -> bool
8981  has_attribute(Molecule self, ParticleIndexKey a0) -> bool
8982  has_attribute(Molecule self, ObjectKey a0) -> bool
8983  """
8984  return _IMP_atom.Molecule_has_attribute(self, *args)
8985 
8986  def get_derivative(self, a0):
8987  r"""get_derivative(Molecule self, FloatKey a0) -> double"""
8988  return _IMP_atom.Molecule_get_derivative(self, a0)
8989 
8990  def get_name(self):
8991  r"""get_name(Molecule self) -> std::string"""
8992  return _IMP_atom.Molecule_get_name(self)
8993 
8994  def clear_caches(self):
8995  r"""clear_caches(Molecule self)"""
8996  return _IMP_atom.Molecule_clear_caches(self)
8997 
8998  def set_name(self, a0):
8999  r"""set_name(Molecule self, std::string a0)"""
9000  return _IMP_atom.Molecule_set_name(self, a0)
9001 
9002  def set_check_level(self, a0):
9003  r"""set_check_level(Molecule self, IMP::CheckLevel a0)"""
9004  return _IMP_atom.Molecule_set_check_level(self, a0)
9005 
9006  def add_to_derivative(self, a0, a1, a2):
9007  r"""add_to_derivative(Molecule self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9008  return _IMP_atom.Molecule_add_to_derivative(self, a0, a1, a2)
9009 
9010  def set_is_optimized(self, a0, a1):
9011  r"""set_is_optimized(Molecule self, FloatKey a0, bool a1)"""
9012  return _IMP_atom.Molecule_set_is_optimized(self, a0, a1)
9013 
9014  def get_is_optimized(self, a0):
9015  r"""get_is_optimized(Molecule self, FloatKey a0) -> bool"""
9016  return _IMP_atom.Molecule_get_is_optimized(self, a0)
9017 
9018  def get_check_level(self):
9019  r"""get_check_level(Molecule self) -> IMP::CheckLevel"""
9020  return _IMP_atom.Molecule_get_check_level(self)
9021 
9022  def __eq__(self, *args):
9023  r"""
9024  __eq__(Molecule self, Molecule o) -> bool
9025  __eq__(Molecule self, Particle d) -> bool
9026  """
9027  return _IMP_atom.Molecule___eq__(self, *args)
9028 
9029  def __ne__(self, *args):
9030  r"""
9031  __ne__(Molecule self, Molecule o) -> bool
9032  __ne__(Molecule self, Particle d) -> bool
9033  """
9034  return _IMP_atom.Molecule___ne__(self, *args)
9035 
9036  def __le__(self, *args):
9037  r"""
9038  __le__(Molecule self, Molecule o) -> bool
9039  __le__(Molecule self, Particle d) -> bool
9040  """
9041  return _IMP_atom.Molecule___le__(self, *args)
9042 
9043  def __lt__(self, *args):
9044  r"""
9045  __lt__(Molecule self, Molecule o) -> bool
9046  __lt__(Molecule self, Particle d) -> bool
9047  """
9048  return _IMP_atom.Molecule___lt__(self, *args)
9049 
9050  def __ge__(self, *args):
9051  r"""
9052  __ge__(Molecule self, Molecule o) -> bool
9053  __ge__(Molecule self, Particle d) -> bool
9054  """
9055  return _IMP_atom.Molecule___ge__(self, *args)
9056 
9057  def __gt__(self, *args):
9058  r"""
9059  __gt__(Molecule self, Molecule o) -> bool
9060  __gt__(Molecule self, Particle d) -> bool
9061  """
9062  return _IMP_atom.Molecule___gt__(self, *args)
9063 
9064  def __hash__(self):
9065  r"""__hash__(Molecule self) -> std::size_t"""
9066  return _IMP_atom.Molecule___hash__(self)
9067 
9068  def __str__(self):
9069  r"""__str__(Molecule self) -> std::string"""
9070  return _IMP_atom.Molecule___str__(self)
9071 
9072  def __repr__(self):
9073  r"""__repr__(Molecule self) -> std::string"""
9074  return _IMP_atom.Molecule___repr__(self)
9075 
9076  def _get_as_binary(self):
9077  r"""_get_as_binary(Molecule self) -> PyObject *"""
9078  return _IMP_atom.Molecule__get_as_binary(self)
9079 
9080  def _set_from_binary(self, p):
9081  r"""_set_from_binary(Molecule self, PyObject * p)"""
9082  return _IMP_atom.Molecule__set_from_binary(self, p)
9083 
9084  def __getstate__(self):
9085  p = self._get_as_binary()
9086  if len(self.__dict__) > 1:
9087  d = self.__dict__.copy()
9088  del d['this']
9089  p = (d, p)
9090  return p
9091 
9092  def __setstate__(self, p):
9093  if not hasattr(self, 'this'):
9094  self.__init__()
9095  if isinstance(p, tuple):
9096  d, p = p
9097  self.__dict__.update(d)
9098  return self._set_from_binary(p)
9099 
9100  __swig_destroy__ = _IMP_atom.delete_Molecule
9101 
9102 # Register Molecule in _IMP_atom:
9103 _IMP_atom.Molecule_swigregister(Molecule)
9104 
9105 def get_molecule_name(h):
9106  r"""get_molecule_name(Hierarchy h) -> std::string"""
9107  return _IMP_atom.get_molecule_name(h)
9108 class Copy(Molecule):
9109  r"""Proxy of C++ IMP::atom::Copy class."""
9110 
9111  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9112 
9113  @staticmethod
9114  def get_copy_index_key():
9115  r"""get_copy_index_key() -> IntKey"""
9116  return _IMP_atom.Copy_get_copy_index_key()
9117 
9118  def __init__(self, *args):
9119  r"""
9120  __init__(Copy self) -> Copy
9121  __init__(Copy self, Model m, ParticleIndex id) -> Copy
9122  __init__(Copy self, _ParticleAdaptor d) -> Copy
9123  """
9124  _IMP_atom.Copy_swiginit(self, _IMP_atom.new_Copy(*args))
9125 
9126  def show(self, *args):
9127  r"""show(Copy self, _ostream out=std::cout)"""
9128  return _IMP_atom.Copy_show(self, *args)
9129 
9130  @staticmethod
9131  def setup_particle(*args):
9132  r"""
9133  setup_particle(Model m, ParticleIndex pi, IMP::Int number) -> Copy
9134  setup_particle(_ParticleAdaptor pa, IMP::Int number) -> Copy
9135  """
9136  return _IMP_atom.Copy_setup_particle(*args)
9137 
9138  @staticmethod
9139  def get_is_setup(*args):
9140  r"""
9141  get_is_setup(_ParticleAdaptor p) -> bool
9142  get_is_setup(Model m, ParticleIndex pi) -> bool
9143  """
9144  return _IMP_atom.Copy_get_is_setup(*args)
9145 
9146  def get_copy_index(self):
9147  r"""get_copy_index(Copy self) -> int"""
9148  return _IMP_atom.Copy_get_copy_index(self)
9149 
9150  def add_attribute(self, *args):
9151  r"""
9152  add_attribute(Copy self, FloatKey k, IMP::Float v, bool opt)
9153  add_attribute(Copy self, FloatKey a0, IMP::Float a1)
9154  add_attribute(Copy self, IntKey a0, IMP::Int a1)
9155  add_attribute(Copy self, FloatsKey a0, IMP::Floats a1)
9156  add_attribute(Copy self, IntsKey a0, IMP::Ints a1)
9157  add_attribute(Copy self, StringKey a0, IMP::String a1)
9158  add_attribute(Copy self, ParticleIndexKey a0, Particle a1)
9159  add_attribute(Copy self, ObjectKey a0, Object a1)
9160  """
9161  return _IMP_atom.Copy_add_attribute(self, *args)
9162 
9163  def get_value(self, *args):
9164  r"""
9165  get_value(Copy self, FloatKey a0) -> IMP::Float
9166  get_value(Copy self, IntKey a0) -> IMP::Int
9167  get_value(Copy self, FloatsKey a0) -> IMP::Floats
9168  get_value(Copy self, IntsKey a0) -> IMP::Ints
9169  get_value(Copy self, StringKey a0) -> IMP::String
9170  get_value(Copy self, ParticleIndexKey a0) -> Particle
9171  get_value(Copy self, ObjectKey a0) -> Object
9172  """
9173  return _IMP_atom.Copy_get_value(self, *args)
9174 
9175  def set_value(self, *args):
9176  r"""
9177  set_value(Copy self, FloatKey a0, IMP::Float a1)
9178  set_value(Copy self, IntKey a0, IMP::Int a1)
9179  set_value(Copy self, FloatsKey a0, IMP::Floats a1)
9180  set_value(Copy self, IntsKey a0, IMP::Ints a1)
9181  set_value(Copy self, StringKey a0, IMP::String a1)
9182  set_value(Copy self, ParticleIndexKey a0, Particle a1)
9183  set_value(Copy self, ObjectKey a0, Object a1)
9184  """
9185  return _IMP_atom.Copy_set_value(self, *args)
9186 
9187  def remove_attribute(self, *args):
9188  r"""
9189  remove_attribute(Copy self, FloatKey a0)
9190  remove_attribute(Copy self, IntKey a0)
9191  remove_attribute(Copy self, FloatsKey a0)
9192  remove_attribute(Copy self, IntsKey a0)
9193  remove_attribute(Copy self, StringKey a0)
9194  remove_attribute(Copy self, ParticleIndexKey a0)
9195  remove_attribute(Copy self, ObjectKey a0)
9196  """
9197  return _IMP_atom.Copy_remove_attribute(self, *args)
9198 
9199  def has_attribute(self, *args):
9200  r"""
9201  has_attribute(Copy self, FloatKey a0) -> bool
9202  has_attribute(Copy self, IntKey a0) -> bool
9203  has_attribute(Copy self, FloatsKey a0) -> bool
9204  has_attribute(Copy self, IntsKey a0) -> bool
9205  has_attribute(Copy self, StringKey a0) -> bool
9206  has_attribute(Copy self, ParticleIndexKey a0) -> bool
9207  has_attribute(Copy self, ObjectKey a0) -> bool
9208  """
9209  return _IMP_atom.Copy_has_attribute(self, *args)
9210 
9211  def get_derivative(self, a0):
9212  r"""get_derivative(Copy self, FloatKey a0) -> double"""
9213  return _IMP_atom.Copy_get_derivative(self, a0)
9214 
9215  def get_name(self):
9216  r"""get_name(Copy self) -> std::string"""
9217  return _IMP_atom.Copy_get_name(self)
9218 
9219  def clear_caches(self):
9220  r"""clear_caches(Copy self)"""
9221  return _IMP_atom.Copy_clear_caches(self)
9222 
9223  def set_name(self, a0):
9224  r"""set_name(Copy self, std::string a0)"""
9225  return _IMP_atom.Copy_set_name(self, a0)
9226 
9227  def set_check_level(self, a0):
9228  r"""set_check_level(Copy self, IMP::CheckLevel a0)"""
9229  return _IMP_atom.Copy_set_check_level(self, a0)
9230 
9231  def add_to_derivative(self, a0, a1, a2):
9232  r"""add_to_derivative(Copy self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
9233  return _IMP_atom.Copy_add_to_derivative(self, a0, a1, a2)
9234 
9235  def set_is_optimized(self, a0, a1):
9236  r"""set_is_optimized(Copy self, FloatKey a0, bool a1)"""
9237  return _IMP_atom.Copy_set_is_optimized(self, a0, a1)
9238 
9239  def get_is_optimized(self, a0):
9240  r"""get_is_optimized(Copy self, FloatKey a0) -> bool"""
9241  return _IMP_atom.Copy_get_is_optimized(self, a0)
9242 
9243  def get_check_level(self):
9244  r"""get_check_level(Copy self) -> IMP::CheckLevel"""
9245  return _IMP_atom.Copy_get_check_level(self)
9246 
9247  def __eq__(self, *args):
9248  r"""
9249  __eq__(Copy self, Copy o) -> bool
9250  __eq__(Copy self, Particle d) -> bool
9251  """
9252  return _IMP_atom.Copy___eq__(self, *args)
9253 
9254  def __ne__(self, *args):
9255  r"""
9256  __ne__(Copy self, Copy o) -> bool
9257  __ne__(Copy self, Particle d) -> bool
9258  """
9259  return _IMP_atom.Copy___ne__(self, *args)
9260 
9261  def __le__(self, *args):
9262  r"""
9263  __le__(Copy self, Copy o) -> bool
9264  __le__(Copy self, Particle d) -> bool
9265  """
9266  return _IMP_atom.Copy___le__(self, *args)
9267 
9268  def __lt__(self, *args):
9269  r"""
9270  __lt__(Copy self, Copy o) -> bool
9271  __lt__(Copy self, Particle d) -> bool
9272  """
9273  return _IMP_atom.Copy___lt__(self, *args)
9274 
9275  def __ge__(self, *args):
9276  r"""
9277  __ge__(Copy self, Copy o) -> bool
9278  __ge__(Copy self, Particle d) -> bool
9279  """
9280  return _IMP_atom.Copy___ge__(self, *args)
9281 
9282  def __gt__(self, *args):
9283  r"""
9284  __gt__(Copy self, Copy o) -> bool
9285  __gt__(Copy self, Particle d) -> bool
9286  """
9287  return _IMP_atom.Copy___gt__(self, *args)
9288 
9289  def __hash__(self):
9290  r"""__hash__(Copy self) -> std::size_t"""
9291  return _IMP_atom.Copy___hash__(self)
9292 
9293  def __str__(self):
9294  r"""__str__(Copy self) -> std::string"""
9295  return _IMP_atom.Copy___str__(self)
9296 
9297  def __repr__(self):
9298  r"""__repr__(Copy self) -> std::string"""
9299  return _IMP_atom.Copy___repr__(self)
9300 
9301  def _get_as_binary(self):
9302  r"""_get_as_binary(Copy self) -> PyObject *"""
9303  return _IMP_atom.Copy__get_as_binary(self)
9304 
9305  def _set_from_binary(self, p):
9306  r"""_set_from_binary(Copy self, PyObject * p)"""
9307  return _IMP_atom.Copy__set_from_binary(self, p)
9308 
9309  def __getstate__(self):
9310  p = self._get_as_binary()
9311  if len(self.__dict__) > 1:
9312  d = self.__dict__.copy()
9313  del d['this']
9314  p = (d, p)
9315  return p
9316 
9317  def __setstate__(self, p):
9318  if not hasattr(self, 'this'):
9319  self.__init__()
9320  if isinstance(p, tuple):
9321  d, p = p
9322  self.__dict__.update(d)
9323  return self._set_from_binary(p)
9324 
9325  __swig_destroy__ = _IMP_atom.delete_Copy
9326 
9327 # Register Copy in _IMP_atom:
9328 _IMP_atom.Copy_swigregister(Copy)
9329 
9330 def get_copy_index(h):
9331  r"""get_copy_index(Hierarchy h) -> int"""
9332  return _IMP_atom.get_copy_index(h)
9333 class Selection(IMP._ParticleIndexesAdaptor):
9334  r"""Proxy of C++ IMP::atom::Selection class."""
9335 
9336  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9337  NONE = _IMP_atom.Selection_NONE
9338 
9339  C = _IMP_atom.Selection_C
9340 
9341  N = _IMP_atom.Selection_N
9342 
9343 
9344  def __init__(self, *args):
9345  r"""
9346  __init__(Selection self) -> Selection
9347  __init__(Selection self, Hierarchy h) -> Selection
9348  __init__(Selection self, Particle h) -> Selection
9349  __init__(Selection self, Model m, IMP::ParticleIndexes const & pis) -> Selection
9350  __init__(Selection self, IMP::ParticlesTemp const & h) -> Selection
9351  """
9352  _IMP_atom.Selection_swiginit(self, _IMP_atom.new_Selection(*args))
9353 
9354  def create_clone(self):
9355  r"""create_clone(Selection self) -> Selection"""
9356  return _IMP_atom.Selection_create_clone(self)
9357 
9358  def get_hierarchies(self):
9359  r"""get_hierarchies(Selection self) -> IMP::atom::Hierarchies"""
9360  return _IMP_atom.Selection_get_hierarchies(self)
9361 
9362  def set_molecules(self, mols):
9363  r"""set_molecules(Selection self, IMP::Strings mols)"""
9364  return _IMP_atom.Selection_set_molecules(self, mols)
9365 
9366  def set_resolution(self, r):
9367  r"""set_resolution(Selection self, double r)"""
9368  return _IMP_atom.Selection_set_resolution(self, r)
9369 
9370  def set_representation_type(self, t):
9371  r"""set_representation_type(Selection self, IMP::atom::RepresentationType t)"""
9372  return _IMP_atom.Selection_set_representation_type(self, t)
9373 
9374  def set_state_index(self, state):
9375  r"""set_state_index(Selection self, int state)"""
9376  return _IMP_atom.Selection_set_state_index(self, state)
9377 
9378  def set_state_indexes(self, states):
9379  r"""set_state_indexes(Selection self, IMP::Ints states)"""
9380  return _IMP_atom.Selection_set_state_indexes(self, states)
9381 
9382  def set_terminus(self, t):
9383  r"""set_terminus(Selection self, IMP::atom::Selection::Terminus t)"""
9384  return _IMP_atom.Selection_set_terminus(self, t)
9385 
9386  def set_element(self, e):
9387  r"""set_element(Selection self, IMP::atom::Element e)"""
9388  return _IMP_atom.Selection_set_element(self, e)
9389 
9390  def set_chain_ids(self, chains):
9391  r"""set_chain_ids(Selection self, IMP::Strings chains)"""
9392  return _IMP_atom.Selection_set_chain_ids(self, chains)
9393 
9394  def set_chains(self, chains):
9395  r"""set_chains(Selection self, IMP::Strings chains)"""
9396  return _IMP_atom.Selection_set_chains(self, chains)
9397 
9398  def set_residue_indexes(self, indexes):
9399  r"""set_residue_indexes(Selection self, IMP::Ints indexes)"""
9400  return _IMP_atom.Selection_set_residue_indexes(self, indexes)
9401 
9402  def set_atom_types(self, types):
9403  r"""set_atom_types(Selection self, IMP::atom::AtomTypes types)"""
9404  return _IMP_atom.Selection_set_atom_types(self, types)
9405 
9406  def set_residue_types(self, types):
9407  r"""set_residue_types(Selection self, IMP::atom::ResidueTypes types)"""
9408  return _IMP_atom.Selection_set_residue_types(self, types)
9409 
9410  def set_domains(self, names):
9411  r"""set_domains(Selection self, IMP::Strings names)"""
9412  return _IMP_atom.Selection_set_domains(self, names)
9413 
9414  def set_molecule(self, mol):
9415  r"""set_molecule(Selection self, std::string mol)"""
9416  return _IMP_atom.Selection_set_molecule(self, mol)
9417 
9418  def set_chain_id(self, c):
9419  r"""set_chain_id(Selection self, std::string c)"""
9420  return _IMP_atom.Selection_set_chain_id(self, c)
9421 
9422  def set_chain(self, c):
9423  r"""set_chain(Selection self, std::string c)"""
9424  return _IMP_atom.Selection_set_chain(self, c)
9425 
9426  def set_residue_index(self, i):
9427  r"""set_residue_index(Selection self, int i)"""
9428  return _IMP_atom.Selection_set_residue_index(self, i)
9429 
9430  def set_atom_type(self, types):
9431  r"""set_atom_type(Selection self, AtomType types)"""
9432  return _IMP_atom.Selection_set_atom_type(self, types)
9433 
9434  def set_residue_type(self, type):
9435  r"""set_residue_type(Selection self, ResidueType type)"""
9436  return _IMP_atom.Selection_set_residue_type(self, type)
9437 
9438  def set_domain(self, name):
9439  r"""set_domain(Selection self, std::string name)"""
9440  return _IMP_atom.Selection_set_domain(self, name)
9441 
9442  def set_copy_index(self, copy):
9443  r"""set_copy_index(Selection self, unsigned int copy)"""
9444  return _IMP_atom.Selection_set_copy_index(self, copy)
9445 
9446  def set_copy_indexes(self, copies):
9447  r"""set_copy_indexes(Selection self, IMP::Ints copies)"""
9448  return _IMP_atom.Selection_set_copy_indexes(self, copies)
9449 
9450  def set_particle_type(self, t):
9451  r"""set_particle_type(Selection self, ParticleType t)"""
9452  return _IMP_atom.Selection_set_particle_type(self, t)
9453 
9454  def set_particle_types(self, t):
9455  r"""set_particle_types(Selection self, IMP::core::ParticleTypes t)"""
9456  return _IMP_atom.Selection_set_particle_types(self, t)
9457 
9458  def set_hierarchy_types(self, types):
9459  r"""set_hierarchy_types(Selection self, IMP::Ints types)"""
9460  return _IMP_atom.Selection_set_hierarchy_types(self, types)
9461 
9462  def set_intersection(self, s):
9463  r"""set_intersection(Selection self, Selection s)"""
9464  return _IMP_atom.Selection_set_intersection(self, s)
9465 
9466  def set_union(self, s):
9467  r"""set_union(Selection self, Selection s)"""
9468  return _IMP_atom.Selection_set_union(self, s)
9469 
9470  def set_symmetric_difference(self, s):
9471  r"""set_symmetric_difference(Selection self, Selection s)"""
9472  return _IMP_atom.Selection_set_symmetric_difference(self, s)
9473 
9474  def set_difference(self, s):
9475  r"""set_difference(Selection self, Selection s)"""
9476  return _IMP_atom.Selection_set_difference(self, s)
9477 
9478  def get_selected_particles(self, with_representation=True):
9479  r"""get_selected_particles(Selection self, bool with_representation=True) -> IMP::ParticlesTemp"""
9480  return _IMP_atom.Selection_get_selected_particles(self, with_representation)
9481 
9482  def get_selected_particle_indexes(self, with_representation=True):
9483  r"""get_selected_particle_indexes(Selection self, bool with_representation=True) -> IMP::ParticleIndexes"""
9484  return _IMP_atom.Selection_get_selected_particle_indexes(self, with_representation)
9485 
9486  def show(self, *args):
9487  r"""show(Selection self, _ostream out=std::cout)"""
9488  return _IMP_atom.Selection_show(self, *args)
9489 
9490  def __str__(self):
9491  r"""__str__(Selection self) -> std::string"""
9492  return _IMP_atom.Selection___str__(self)
9493 
9494  def __repr__(self):
9495  r"""__repr__(Selection self) -> std::string"""
9496  return _IMP_atom.Selection___repr__(self)
9497 
9498  def __init__(self, hierarchy=None,
9499  hierarchies=None, **params):
9500  if hierarchy and hierarchies:
9501  raise RuntimeError("You can't pass both hierarchy and hierarchies to Selection")
9502  if hierarchy:
9503  this = _IMP_atom.new_Selection(hierarchy)
9504  try: self.this.append(this)
9505  except: self.this = this
9506  elif hierarchies:
9507  this = _IMP_atom.new_Selection(hierarchies)
9508  try: self.this.append(this)
9509  except: self.this = this
9510  else:
9511  raise ValueError("Either hierarchy or hierarchies must be provided.")
9512  for k in params.keys():
9513  eval("self.set_%s(params[k])"%k)
9514 
9515  def union(self, s):
9516  news = self.create_clone()
9517  news.union_update(s)
9518  return news
9519  def intersection(self, s):
9520  news = self.create_clone()
9521  news.intersection_update(s)
9522  return news
9523  def symmetric_difference(self, s):
9524  news = self.create_clone()
9525  news.symmetric_difference_update(s)
9526  return news
9527  def difference(self, s):
9528  news = self.create_clone()
9529  news.difference_update(s)
9530  return news
9531  def union_update(self, s):
9532  self.set_union(s)
9533  return self
9534  def intersection_update(self, s):
9535  self.set_intersection(s)
9536  return self
9537  def symmetric_difference_update(self, s):
9538  self.set_symmetric_difference(s)
9539  return self
9540  def difference_update(self, s):
9541  self.set_difference(s)
9542  return self
9543  __or__ = union
9544  __and__ = intersection
9545  __xor__ = symmetric_difference
9546  __sub__ = difference
9547  __ior__ = union_update
9548  __iand__ = intersection_update
9549  __ixor__ = symmetric_difference_update
9550  __isub__ = difference_update
9551 
9552  __swig_destroy__ = _IMP_atom.delete_Selection
9553 
9554 # Register Selection in _IMP_atom:
9555 _IMP_atom.Selection_swigregister(Selection)
9556 
9557 def create_distance_restraint(*args):
9558  r"""create_distance_restraint(Selection n0, Selection n1, double x0, double k, std::string name="Distance%1%") -> Restraint"""
9559  return _IMP_atom.create_distance_restraint(*args)
9560 
9562  r"""
9563  create_connectivity_restraint(IMP::atom::Selections const & s, double k, std::string name="Connectivity%1%") -> Restraint
9564  create_connectivity_restraint(IMP::atom::Selections const & s, double x0, double k, std::string name="Connectivity%1%") -> Restraint
9565  """
9566  return _IMP_atom.create_connectivity_restraint(*args)
9567 
9569  r"""
9570  create_internal_connectivity_restraint(Selection s, double k, std::string name="Connectivity%1%") -> Restraint
9571  create_internal_connectivity_restraint(Selection s, double x0, double k, std::string name="Connectivity%1%") -> Restraint
9572  """
9573  return _IMP_atom.create_internal_connectivity_restraint(*args)
9574 
9575 def create_cover(*args):
9576  r"""create_cover(Selection s, std::string name=std::string()) -> XYZR"""
9577  return _IMP_atom.create_cover(*args)
9578 
9579 def get_mass(*args):
9580  r"""
9581  get_mass(ResidueType c) -> double
9582  get_mass(Selection s) -> double
9583  """
9584  return _IMP_atom.get_mass(*args)
9585 
9586 def get_volume(s):
9587  r"""get_volume(Selection s) -> double"""
9588  return _IMP_atom.get_volume(s)
9589 
9590 def get_surface_area(s):
9591  r"""get_surface_area(Selection s) -> double"""
9592  return _IMP_atom.get_surface_area(s)
9593 
9594 def get_leaves(*args):
9595  r"""
9596  get_leaves(Hierarchy h) -> IMP::atom::Hierarchies
9597  get_leaves(IMP::atom::Hierarchies const & h) -> IMP::atom::Hierarchies
9598  get_leaves(Selection h) -> IMP::atom::Hierarchies
9599  """
9600  return _IMP_atom.get_leaves(*args)
9601 class SelectionGeometry(IMP.display.Geometry):
9602  r"""Proxy of C++ IMP::atom::SelectionGeometry class."""
9603 
9604  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9605 
9606  def __init__(self, *args):
9607  r"""__init__(SelectionGeometry self, Selection d, std::string name="Selection") -> SelectionGeometry"""
9608  _IMP_atom.SelectionGeometry_swiginit(self, _IMP_atom.new_SelectionGeometry(*args))
9609 
9610  def get_version_info(self):
9611  r"""get_version_info(SelectionGeometry self) -> VersionInfo"""
9612  return _IMP_atom.SelectionGeometry_get_version_info(self)
9613  __swig_destroy__ = _IMP_atom.delete_SelectionGeometry
9614 
9615  def __str__(self):
9616  r"""__str__(SelectionGeometry self) -> std::string"""
9617  return _IMP_atom.SelectionGeometry___str__(self)
9618 
9619  def __repr__(self):
9620  r"""__repr__(SelectionGeometry self) -> std::string"""
9621  return _IMP_atom.SelectionGeometry___repr__(self)
9622 
9623  @staticmethod
9624  def get_from(o):
9625  return _object_cast_to_SelectionGeometry(o)
9626 
9627 
9628 # Register SelectionGeometry in _IMP_atom:
9629 _IMP_atom.SelectionGeometry_swigregister(SelectionGeometry)
9630 
9631 def get_rmsd(*args):
9632  r"""
9633  get_rmsd(IMP::core::XYZs const & s0, IMP::core::XYZs const & s1) -> double
9634  get_rmsd(Selection s0, Selection s1) -> double
9635  """
9636  return _IMP_atom.get_rmsd(*args)
9637 
9638 def get_rmsd_transforming_first(*args):
9639  r"""
9640  get_rmsd_transforming_first(Transformation3D tr, IMP::core::XYZs const & s0, IMP::core::XYZs const & s1) -> double
9641  get_rmsd_transforming_first(Transformation3D tr, Selection s0, Selection s1) -> double
9642  """
9643  return _IMP_atom.get_rmsd_transforming_first(*args)
9644 
9645 def get_placement_score(source, target):
9646  r"""get_placement_score(IMP::core::XYZs const & source, IMP::core::XYZs const & target) -> IMP::FloatPair"""
9647  return _IMP_atom.get_placement_score(source, target)
9648 
9649 def get_component_placement_score(ref1, ref2, mdl1, mdl2):
9650  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"""
9651  return _IMP_atom.get_component_placement_score(ref1, ref2, mdl1, mdl2)
9652 
9653 def get_pairwise_rmsd_score(ref1, ref2, mdl1, mdl2):
9654  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"""
9655  return _IMP_atom.get_pairwise_rmsd_score(ref1, ref2, mdl1, mdl2)
9656 
9657 def get_radius_of_gyration(*args):
9658  r"""
9659  get_radius_of_gyration(Selection s) -> double
9660  get_radius_of_gyration(IMP::ParticlesTemp const & ps, bool weighted=True) -> double
9661  """
9662  return _IMP_atom.get_radius_of_gyration(*args)
9663 class ForceFieldParameters(IMP.Object):
9664  r"""Proxy of C++ IMP::atom::ForceFieldParameters class."""
9665 
9666  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9667 
9668  def __init__(self):
9669  r"""__init__(ForceFieldParameters self) -> ForceFieldParameters"""
9670  _IMP_atom.ForceFieldParameters_swiginit(self, _IMP_atom.new_ForceFieldParameters())
9671 
9672  def get_radius(self, atom):
9673  r"""get_radius(ForceFieldParameters self, Atom atom) -> IMP::Float"""
9674  return _IMP_atom.ForceFieldParameters_get_radius(self, atom)
9675 
9676  def get_epsilon(self, atom):
9677  r"""get_epsilon(ForceFieldParameters self, Atom atom) -> IMP::Float"""
9678  return _IMP_atom.ForceFieldParameters_get_epsilon(self, atom)
9679 
9680  def add_radii(self, *args):
9681  r"""add_radii(ForceFieldParameters self, Hierarchy mhd, double scale=1.0, FloatKey radius_key=FloatKey("radius"))"""
9682  return _IMP_atom.ForceFieldParameters_add_radii(self, *args)
9683 
9684  def add_well_depths(self, mhd):
9685  r"""add_well_depths(ForceFieldParameters self, Hierarchy mhd)"""
9686  return _IMP_atom.ForceFieldParameters_add_well_depths(self, mhd)
9687 
9688  def add_bonds(self, mhd):
9689  r"""add_bonds(ForceFieldParameters self, Hierarchy mhd)"""
9690  return _IMP_atom.ForceFieldParameters_add_bonds(self, mhd)
9691  __swig_destroy__ = _IMP_atom.delete_ForceFieldParameters
9692 
9693  def __str__(self):
9694  r"""__str__(ForceFieldParameters self) -> std::string"""
9695  return _IMP_atom.ForceFieldParameters___str__(self)
9696 
9697  def __repr__(self):
9698  r"""__repr__(ForceFieldParameters self) -> std::string"""
9699  return _IMP_atom.ForceFieldParameters___repr__(self)
9700 
9701  @staticmethod
9702  def get_from(o):
9703  return _object_cast_to_ForceFieldParameters(o)
9704 
9705 
9706 # Register ForceFieldParameters in _IMP_atom:
9707 _IMP_atom.ForceFieldParameters_swigregister(ForceFieldParameters)
9708 class CHARMMAtomTopology(object):
9709  r"""Proxy of C++ IMP::atom::CHARMMAtomTopology class."""
9710 
9711  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9712 
9713  def __init__(self, *args):
9714  r"""
9715  __init__(CHARMMAtomTopology self) -> CHARMMAtomTopology
9716  __init__(CHARMMAtomTopology self, std::string name) -> CHARMMAtomTopology
9717  __init__(CHARMMAtomTopology self, std::string name, CHARMMAtomTopology other) -> CHARMMAtomTopology
9718  """
9719  _IMP_atom.CHARMMAtomTopology_swiginit(self, _IMP_atom.new_CHARMMAtomTopology(*args))
9720 
9721  def get_name(self):
9722  r"""get_name(CHARMMAtomTopology self) -> std::string"""
9723  return _IMP_atom.CHARMMAtomTopology_get_name(self)
9724 
9725  def get_charmm_type(self):
9726  r"""get_charmm_type(CHARMMAtomTopology self) -> std::string"""
9727  return _IMP_atom.CHARMMAtomTopology_get_charmm_type(self)
9728 
9729  def get_charge(self):
9730  r"""get_charge(CHARMMAtomTopology self) -> double"""
9731  return _IMP_atom.CHARMMAtomTopology_get_charge(self)
9732 
9733  def set_charmm_type(self, charmm_type):
9734  r"""set_charmm_type(CHARMMAtomTopology self, std::string charmm_type)"""
9735  return _IMP_atom.CHARMMAtomTopology_set_charmm_type(self, charmm_type)
9736 
9737  def set_charge(self, charge):
9738  r"""set_charge(CHARMMAtomTopology self, double charge)"""
9739  return _IMP_atom.CHARMMAtomTopology_set_charge(self, charge)
9740 
9741  def show(self, *args):
9742  r"""show(CHARMMAtomTopology self, _ostream out=std::cout)"""
9743  return _IMP_atom.CHARMMAtomTopology_show(self, *args)
9744 
9745  def __str__(self):
9746  r"""__str__(CHARMMAtomTopology self) -> std::string"""
9747  return _IMP_atom.CHARMMAtomTopology___str__(self)
9748 
9749  def __repr__(self):
9750  r"""__repr__(CHARMMAtomTopology self) -> std::string"""
9751  return _IMP_atom.CHARMMAtomTopology___repr__(self)
9752 
9753  def _get_as_binary(self):
9754  r"""_get_as_binary(CHARMMAtomTopology self) -> PyObject *"""
9755  return _IMP_atom.CHARMMAtomTopology__get_as_binary(self)
9756 
9757  def _set_from_binary(self, p):
9758  r"""_set_from_binary(CHARMMAtomTopology self, PyObject * p)"""
9759  return _IMP_atom.CHARMMAtomTopology__set_from_binary(self, p)
9760 
9761  def __getstate__(self):
9762  p = self._get_as_binary()
9763  if len(self.__dict__) > 1:
9764  d = self.__dict__.copy()
9765  del d['this']
9766  p = (d, p)
9767  return p
9768 
9769  def __setstate__(self, p):
9770  if not hasattr(self, 'this'):
9771  self.__init__()
9772  if isinstance(p, tuple):
9773  d, p = p
9774  self.__dict__.update(d)
9775  return self._set_from_binary(p)
9776 
9777  __swig_destroy__ = _IMP_atom.delete_CHARMMAtomTopology
9778 
9779 # Register CHARMMAtomTopology in _IMP_atom:
9780 _IMP_atom.CHARMMAtomTopology_swigregister(CHARMMAtomTopology)
9781 class CHARMMBondEndpoint(object):
9782  r"""Proxy of C++ IMP::atom::CHARMMBondEndpoint class."""
9783 
9784  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9785 
9786  def __init__(self, atom_name, residue=None):
9787  r"""__init__(CHARMMBondEndpoint self, std::string atom_name, CHARMMResidueTopology residue=None) -> CHARMMBondEndpoint"""
9788  _IMP_atom.CHARMMBondEndpoint_swiginit(self, _IMP_atom.new_CHARMMBondEndpoint(atom_name, residue))
9789 
9790  def get_atom_name(self):
9791  r"""get_atom_name(CHARMMBondEndpoint self) -> std::string"""
9792  return _IMP_atom.CHARMMBondEndpoint_get_atom_name(self)
9793 
9794  def get_atom(self, current_residue, previous_residue, next_residue, resmap):
9795  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"""
9796  return _IMP_atom.CHARMMBondEndpoint_get_atom(self, current_residue, previous_residue, next_residue, resmap)
9797 
9798  def show(self, *args):
9799  r"""show(CHARMMBondEndpoint self, _ostream out=std::cout)"""
9800  return _IMP_atom.CHARMMBondEndpoint_show(self, *args)
9801 
9802  def __str__(self):
9803  r"""__str__(CHARMMBondEndpoint self) -> std::string"""
9804  return _IMP_atom.CHARMMBondEndpoint___str__(self)
9805 
9806  def __repr__(self):
9807  r"""__repr__(CHARMMBondEndpoint self) -> std::string"""
9808  return _IMP_atom.CHARMMBondEndpoint___repr__(self)
9809  __swig_destroy__ = _IMP_atom.delete_CHARMMBondEndpoint
9810 
9811 # Register CHARMMBondEndpoint in _IMP_atom:
9812 _IMP_atom.CHARMMBondEndpoint_swigregister(CHARMMBondEndpoint)
9813 class CHARMMDihedral(object):
9814  r"""Proxy of C++ IMP::atom::CHARMMConnection< 4 > class."""
9815 
9816  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9817  __repr__ = _swig_repr
9818 
9819  def __init__(self, atoms):
9820  r"""__init__(CHARMMDihedral self, IMP::Strings const & atoms) -> CHARMMDihedral"""
9821  _IMP_atom.CHARMMDihedral_swiginit(self, _IMP_atom.new_CHARMMDihedral(atoms))
9822 
9823  def get_endpoint(self, i):
9824  r"""get_endpoint(CHARMMDihedral self, unsigned int i) -> CHARMMBondEndpoint"""
9825  return _IMP_atom.CHARMMDihedral_get_endpoint(self, i)
9826 
9827  def get_contains_atom(self, name):
9828  r"""get_contains_atom(CHARMMDihedral self, std::string name) -> bool"""
9829  return _IMP_atom.CHARMMDihedral_get_contains_atom(self, name)
9830 
9831  def show(self, *args):
9832  r"""show(CHARMMDihedral self, _ostream out=std::cout)"""
9833  return _IMP_atom.CHARMMDihedral_show(self, *args)
9834  __swig_destroy__ = _IMP_atom.delete_CHARMMDihedral
9835 
9836 # Register CHARMMDihedral in _IMP_atom:
9837 _IMP_atom.CHARMMDihedral_swigregister(CHARMMDihedral)
9838 class CHARMMInternalCoordinate(CHARMMDihedral):
9839  r"""Proxy of C++ IMP::atom::CHARMMInternalCoordinate class."""
9840 
9841  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9842 
9843  def __init__(self, *args):
9844  r"""
9845  __init__(CHARMMInternalCoordinate self, IMP::Strings const & atoms, float first_distance, float first_angle, float dihedral, float second_angle, float second_distance, bool improper) -> CHARMMInternalCoordinate
9846  __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
9847  """
9848  _IMP_atom.CHARMMInternalCoordinate_swiginit(self, _IMP_atom.new_CHARMMInternalCoordinate(*args))
9849 
9850  def get_first_distance(self):
9851  r"""get_first_distance(CHARMMInternalCoordinate self) -> float"""
9852  return _IMP_atom.CHARMMInternalCoordinate_get_first_distance(self)
9853 
9854  def get_second_distance(self):
9855  r"""get_second_distance(CHARMMInternalCoordinate self) -> float"""
9856  return _IMP_atom.CHARMMInternalCoordinate_get_second_distance(self)
9857 
9858  def get_first_angle(self):
9859  r"""get_first_angle(CHARMMInternalCoordinate self) -> float"""
9860  return _IMP_atom.CHARMMInternalCoordinate_get_first_angle(self)
9861 
9862  def get_second_angle(self):
9863  r"""get_second_angle(CHARMMInternalCoordinate self) -> float"""
9864  return _IMP_atom.CHARMMInternalCoordinate_get_second_angle(self)
9865 
9866  def get_dihedral(self):
9867  r"""get_dihedral(CHARMMInternalCoordinate self) -> float"""
9868  return _IMP_atom.CHARMMInternalCoordinate_get_dihedral(self)
9869 
9870  def get_improper(self):
9871  r"""get_improper(CHARMMInternalCoordinate self) -> bool"""
9872  return _IMP_atom.CHARMMInternalCoordinate_get_improper(self)
9873 
9874  def show(self, *args):
9875  r"""show(CHARMMInternalCoordinate self, _ostream out=std::cout)"""
9876  return _IMP_atom.CHARMMInternalCoordinate_show(self, *args)
9877 
9878  def __str__(self):
9879  r"""__str__(CHARMMInternalCoordinate self) -> std::string"""
9880  return _IMP_atom.CHARMMInternalCoordinate___str__(self)
9881 
9882  def __repr__(self):
9883  r"""__repr__(CHARMMInternalCoordinate self) -> std::string"""
9884  return _IMP_atom.CHARMMInternalCoordinate___repr__(self)
9885  __swig_destroy__ = _IMP_atom.delete_CHARMMInternalCoordinate
9886 
9887 # Register CHARMMInternalCoordinate in _IMP_atom:
9888 _IMP_atom.CHARMMInternalCoordinate_swigregister(CHARMMInternalCoordinate)
9889 class CHARMMResidueTopologyBase(IMP.Object):
9890  r"""Proxy of C++ IMP::atom::CHARMMResidueTopologyBase class."""
9891 
9892  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
9893 
9894  def __init__(self, *args, **kwargs):
9895  raise AttributeError("No constructor defined")
9896 
9897  def get_type(self):
9898  r"""get_type(CHARMMResidueTopologyBase self) -> std::string"""
9899  return _IMP_atom.CHARMMResidueTopologyBase_get_type(self)
9900 
9901  def get_number_of_atoms(self):
9902  r"""get_number_of_atoms(CHARMMResidueTopologyBase self) -> unsigned int"""
9903  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_atoms(self)
9904 
9905  def add_atom(self, atom):
9906  r"""add_atom(CHARMMResidueTopologyBase self, CHARMMAtomTopology atom)"""
9907  return _IMP_atom.CHARMMResidueTopologyBase_add_atom(self, atom)
9908 
9909  def get_atom(self, *args):
9910  r"""
9911  get_atom(CHARMMResidueTopologyBase self, unsigned int i) -> CHARMMAtomTopology
9912  get_atom(CHARMMResidueTopologyBase self, AtomType type) -> CHARMMAtomTopology
9913  get_atom(CHARMMResidueTopologyBase self, std::string name) -> CHARMMAtomTopology
9914  """
9915  return _IMP_atom.CHARMMResidueTopologyBase_get_atom(self, *args)
9916 
9917  def get_number_of_bonds(self):
9918  r"""get_number_of_bonds(CHARMMResidueTopologyBase self) -> unsigned int"""
9919  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_bonds(self)
9920 
9921  def add_bond(self, bond):
9922  r"""add_bond(CHARMMResidueTopologyBase self, CHARMMBond bond)"""
9923  return _IMP_atom.CHARMMResidueTopologyBase_add_bond(self, bond)
9924 
9925  def get_number_of_angles(self):
9926  r"""get_number_of_angles(CHARMMResidueTopologyBase self) -> unsigned int"""
9927  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_angles(self)
9928 
9929  def add_angle(self, bond):
9930  r"""add_angle(CHARMMResidueTopologyBase self, CHARMMAngle bond)"""
9931  return _IMP_atom.CHARMMResidueTopologyBase_add_angle(self, bond)
9932 
9933  def get_number_of_dihedrals(self):
9934  r"""get_number_of_dihedrals(CHARMMResidueTopologyBase self) -> unsigned int"""
9935  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_dihedrals(self)
9936 
9937  def add_dihedral(self, bond):
9938  r"""add_dihedral(CHARMMResidueTopologyBase self, CHARMMDihedral bond)"""
9939  return _IMP_atom.CHARMMResidueTopologyBase_add_dihedral(self, bond)
9940 
9941  def get_number_of_impropers(self):
9942  r"""get_number_of_impropers(CHARMMResidueTopologyBase self) -> unsigned int"""
9943  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_impropers(self)
9944 
9945  def add_improper(self, bond):
9946  r"""add_improper(CHARMMResidueTopologyBase self, CHARMMDihedral bond)"""
9947  return _IMP_atom.CHARMMResidueTopologyBase_add_improper(self, bond)
9948 
9949  def get_number_of_internal_coordinates(self):
9950  r"""get_number_of_internal_coordinates(CHARMMResidueTopologyBase self) -> unsigned int"""
9951  return _IMP_atom.CHARMMResidueTopologyBase_get_number_of_internal_coordinates(self)
9952 
9953  def add_internal_coordinate(self, ic):
9954  r"""add_internal_coordinate(CHARMMResidueTopologyBase self, CHARMMInternalCoordinate ic)"""
9955  return _IMP_atom.CHARMMResidueTopologyBase_add_internal_coordinate(self, ic)
9956 
9957  def get_internal_coordinate(self, index):
9958  r"""get_internal_coordinate(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMInternalCoordinate"""
9959  return _IMP_atom.CHARMMResidueTopologyBase_get_internal_coordinate(self, index)
9960 
9961  def get_bond(self, index):
9962  r"""get_bond(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMBond"""
9963  return _IMP_atom.CHARMMResidueTopologyBase_get_bond(self, index)
9964 
9965  def get_angle(self, index):
9966  r"""get_angle(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMAngle"""
9967  return _IMP_atom.CHARMMResidueTopologyBase_get_angle(self, index)
9968 
9969  def get_dihedral(self, index):
9970  r"""get_dihedral(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMDihedral"""
9971  return _IMP_atom.CHARMMResidueTopologyBase_get_dihedral(self, index)
9972 
9973  def get_improper(self, index):
9974  r"""get_improper(CHARMMResidueTopologyBase self, unsigned int index) -> CHARMMDihedral"""
9975  return _IMP_atom.CHARMMResidueTopologyBase_get_improper(self, index)
9976 
9977  def get_version_info(self):
9978  r"""get_version_info(CHARMMResidueTopologyBase self) -> VersionInfo"""
9979  return _IMP_atom.CHARMMResidueTopologyBase_get_version_info(self)
9980  __swig_destroy__ = _IMP_atom.delete_CHARMMResidueTopologyBase
9981 
9982  def __str__(self):
9983  r"""__str__(CHARMMResidueTopologyBase self) -> std::string"""
9984  return _IMP_atom.CHARMMResidueTopologyBase___str__(self)
9985 
9986  def __repr__(self):
9987  r"""__repr__(CHARMMResidueTopologyBase self) -> std::string"""
9988  return _IMP_atom.CHARMMResidueTopologyBase___repr__(self)
9989 
9990  @staticmethod
9991  def get_from(o):
9992  return _object_cast_to_CHARMMResidueTopologyBase(o)
9993 
9994 
9995 # Register CHARMMResidueTopologyBase in _IMP_atom:
9996 _IMP_atom.CHARMMResidueTopologyBase_swigregister(CHARMMResidueTopologyBase)
9997 class CHARMMIdealResidueTopology(CHARMMResidueTopologyBase):
9998  r"""Proxy of C++ IMP::atom::CHARMMIdealResidueTopology class."""
9999 
10000  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10001 
10002  def __init__(self, *args):
10003  r"""
10004  __init__(CHARMMIdealResidueTopology self, std::string type) -> CHARMMIdealResidueTopology
10005  __init__(CHARMMIdealResidueTopology self, ResidueType type) -> CHARMMIdealResidueTopology
10006  """
10007  _IMP_atom.CHARMMIdealResidueTopology_swiginit(self, _IMP_atom.new_CHARMMIdealResidueTopology(*args))
10008 
10009  def remove_atom(self, name):
10010  r"""remove_atom(CHARMMIdealResidueTopology self, std::string name)"""
10011  return _IMP_atom.CHARMMIdealResidueTopology_remove_atom(self, name)
10012 
10013  def set_default_first_patch(self, patch):
10014  r"""set_default_first_patch(CHARMMIdealResidueTopology self, std::string patch)"""
10015  return _IMP_atom.CHARMMIdealResidueTopology_set_default_first_patch(self, patch)
10016 
10017  def set_default_last_patch(self, patch):
10018  r"""set_default_last_patch(CHARMMIdealResidueTopology self, std::string patch)"""
10019  return _IMP_atom.CHARMMIdealResidueTopology_set_default_last_patch(self, patch)
10020 
10021  def get_default_first_patch(self):
10022  r"""get_default_first_patch(CHARMMIdealResidueTopology self) -> std::string"""
10023  return _IMP_atom.CHARMMIdealResidueTopology_get_default_first_patch(self)
10024 
10025  def get_default_last_patch(self):
10026  r"""get_default_last_patch(CHARMMIdealResidueTopology self) -> std::string"""
10027  return _IMP_atom.CHARMMIdealResidueTopology_get_default_last_patch(self)
10028  __swig_destroy__ = _IMP_atom.delete_CHARMMIdealResidueTopology
10029 
10030  def __str__(self):
10031  r"""__str__(CHARMMIdealResidueTopology self) -> std::string"""
10032  return _IMP_atom.CHARMMIdealResidueTopology___str__(self)
10033 
10034  def __repr__(self):
10035  r"""__repr__(CHARMMIdealResidueTopology self) -> std::string"""
10036  return _IMP_atom.CHARMMIdealResidueTopology___repr__(self)
10037 
10038  @staticmethod
10039  def get_from(o):
10040  return _object_cast_to_CHARMMIdealResidueTopology(o)
10041 
10042 
10043 # Register CHARMMIdealResidueTopology in _IMP_atom:
10044 _IMP_atom.CHARMMIdealResidueTopology_swigregister(CHARMMIdealResidueTopology)
10045 class CHARMMPatch(CHARMMResidueTopologyBase):
10046  r"""Proxy of C++ IMP::atom::CHARMMPatch class."""
10047 
10048  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10049 
10050  def __init__(self, type):
10051  r"""__init__(CHARMMPatch self, std::string type) -> CHARMMPatch"""
10052  _IMP_atom.CHARMMPatch_swiginit(self, _IMP_atom.new_CHARMMPatch(type))
10053 
10054  def add_removed_atom(self, name):
10055  r"""add_removed_atom(CHARMMPatch self, std::string name)"""
10056  return _IMP_atom.CHARMMPatch_add_removed_atom(self, name)
10057 
10058  def get_number_of_removed_atoms(self):
10059  r"""get_number_of_removed_atoms(CHARMMPatch self) -> unsigned int"""
10060  return _IMP_atom.CHARMMPatch_get_number_of_removed_atoms(self)
10061 
10062  def get_removed_atom(self, i):
10063  r"""get_removed_atom(CHARMMPatch self, unsigned int i) -> std::string"""
10064  return _IMP_atom.CHARMMPatch_get_removed_atom(self, i)
10065 
10066  def apply(self, *args):
10067  r"""
10068  apply(CHARMMPatch self, CHARMMResidueTopology res)
10069  apply(CHARMMPatch self, CHARMMResidueTopology res1, CHARMMResidueTopology res2)
10070  """
10071  return _IMP_atom.CHARMMPatch_apply(self, *args)
10072  __swig_destroy__ = _IMP_atom.delete_CHARMMPatch
10073 
10074  def __str__(self):
10075  r"""__str__(CHARMMPatch self) -> std::string"""
10076  return _IMP_atom.CHARMMPatch___str__(self)
10077 
10078  def __repr__(self):
10079  r"""__repr__(CHARMMPatch self) -> std::string"""
10080  return _IMP_atom.CHARMMPatch___repr__(self)
10081 
10082  @staticmethod
10083  def get_from(o):
10084  return _object_cast_to_CHARMMPatch(o)
10085 
10086 
10087 # Register CHARMMPatch in _IMP_atom:
10088 _IMP_atom.CHARMMPatch_swigregister(CHARMMPatch)
10089 class CHARMMResidueTopology(CHARMMIdealResidueTopology):
10090  r"""Proxy of C++ IMP::atom::CHARMMResidueTopology class."""
10091 
10092  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10093 
10094  def __init__(self, *args):
10095  r"""
10096  __init__(CHARMMResidueTopology self, ResidueType type) -> CHARMMResidueTopology
10097  __init__(CHARMMResidueTopology self, CHARMMIdealResidueTopology ideal) -> CHARMMResidueTopology
10098  """
10099  _IMP_atom.CHARMMResidueTopology_swiginit(self, _IMP_atom.new_CHARMMResidueTopology(*args))
10100 
10101  def get_patched(self):
10102  r"""get_patched(CHARMMResidueTopology self) -> bool"""
10103  return _IMP_atom.CHARMMResidueTopology_get_patched(self)
10104 
10105  def set_patched(self, patched):
10106  r"""set_patched(CHARMMResidueTopology self, bool patched)"""
10107  return _IMP_atom.CHARMMResidueTopology_set_patched(self, patched)
10108  __swig_destroy__ = _IMP_atom.delete_CHARMMResidueTopology
10109 
10110  def __str__(self):
10111  r"""__str__(CHARMMResidueTopology self) -> std::string"""
10112  return _IMP_atom.CHARMMResidueTopology___str__(self)
10113 
10114  def __repr__(self):
10115  r"""__repr__(CHARMMResidueTopology self) -> std::string"""
10116  return _IMP_atom.CHARMMResidueTopology___repr__(self)
10117 
10118  @staticmethod
10119  def get_from(o):
10120  return _object_cast_to_CHARMMResidueTopology(o)
10121 
10122 
10123 # Register CHARMMResidueTopology in _IMP_atom:
10124 _IMP_atom.CHARMMResidueTopology_swigregister(CHARMMResidueTopology)
10125 class CHARMMAtom(Atom):
10126  r"""Proxy of C++ IMP::atom::CHARMMAtom class."""
10127 
10128  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10129 
10130  def __init__(self, *args):
10131  r"""
10132  __init__(CHARMMAtom self) -> CHARMMAtom
10133  __init__(CHARMMAtom self, Model m, ParticleIndex id) -> CHARMMAtom
10134  __init__(CHARMMAtom self, _ParticleAdaptor d) -> CHARMMAtom
10135  """
10136  _IMP_atom.CHARMMAtom_swiginit(self, _IMP_atom.new_CHARMMAtom(*args))
10137 
10138  def show(self, *args):
10139  r"""show(CHARMMAtom self, _ostream out=std::cout)"""
10140  return _IMP_atom.CHARMMAtom_show(self, *args)
10141 
10142  @staticmethod
10143  def setup_particle(*args):
10144  r"""
10145  setup_particle(Model m, ParticleIndex pi, IMP::String charmm_type) -> CHARMMAtom
10146  setup_particle(_ParticleAdaptor pa, IMP::String charmm_type) -> CHARMMAtom
10147  """
10148  return _IMP_atom.CHARMMAtom_setup_particle(*args)
10149 
10150  def get_charmm_type(self):
10151  r"""get_charmm_type(CHARMMAtom self) -> IMP::String"""
10152  return _IMP_atom.CHARMMAtom_get_charmm_type(self)
10153 
10154  def set_charmm_type(self, t):
10155  r"""set_charmm_type(CHARMMAtom self, IMP::String t)"""
10156  return _IMP_atom.CHARMMAtom_set_charmm_type(self, t)
10157 
10158  @staticmethod
10159  def get_is_setup(*args):
10160  r"""
10161  get_is_setup(_ParticleAdaptor p) -> bool
10162  get_is_setup(Model m, ParticleIndex pi) -> bool
10163  """
10164  return _IMP_atom.CHARMMAtom_get_is_setup(*args)
10165 
10166  @staticmethod
10167  def get_charmm_type_key():
10168  r"""get_charmm_type_key() -> StringKey"""
10169  return _IMP_atom.CHARMMAtom_get_charmm_type_key()
10170 
10171  def add_attribute(self, *args):
10172  r"""
10173  add_attribute(CHARMMAtom self, FloatKey k, IMP::Float v, bool opt)
10174  add_attribute(CHARMMAtom self, FloatKey a0, IMP::Float a1)
10175  add_attribute(CHARMMAtom self, IntKey a0, IMP::Int a1)
10176  add_attribute(CHARMMAtom self, FloatsKey a0, IMP::Floats a1)
10177  add_attribute(CHARMMAtom self, IntsKey a0, IMP::Ints a1)
10178  add_attribute(CHARMMAtom self, StringKey a0, IMP::String a1)
10179  add_attribute(CHARMMAtom self, ParticleIndexKey a0, Particle a1)
10180  add_attribute(CHARMMAtom self, ObjectKey a0, Object a1)
10181  """
10182  return _IMP_atom.CHARMMAtom_add_attribute(self, *args)
10183 
10184  def get_value(self, *args):
10185  r"""
10186  get_value(CHARMMAtom self, FloatKey a0) -> IMP::Float
10187  get_value(CHARMMAtom self, IntKey a0) -> IMP::Int
10188  get_value(CHARMMAtom self, FloatsKey a0) -> IMP::Floats
10189  get_value(CHARMMAtom self, IntsKey a0) -> IMP::Ints
10190  get_value(CHARMMAtom self, StringKey a0) -> IMP::String
10191  get_value(CHARMMAtom self, ParticleIndexKey a0) -> Particle
10192  get_value(CHARMMAtom self, ObjectKey a0) -> Object
10193  """
10194  return _IMP_atom.CHARMMAtom_get_value(self, *args)
10195 
10196  def set_value(self, *args):
10197  r"""
10198  set_value(CHARMMAtom self, FloatKey a0, IMP::Float a1)
10199  set_value(CHARMMAtom self, IntKey a0, IMP::Int a1)
10200  set_value(CHARMMAtom self, FloatsKey a0, IMP::Floats a1)
10201  set_value(CHARMMAtom self, IntsKey a0, IMP::Ints a1)
10202  set_value(CHARMMAtom self, StringKey a0, IMP::String a1)
10203  set_value(CHARMMAtom self, ParticleIndexKey a0, Particle a1)
10204  set_value(CHARMMAtom self, ObjectKey a0, Object a1)
10205  """
10206  return _IMP_atom.CHARMMAtom_set_value(self, *args)
10207 
10208  def remove_attribute(self, *args):
10209  r"""
10210  remove_attribute(CHARMMAtom self, FloatKey a0)
10211  remove_attribute(CHARMMAtom self, IntKey a0)
10212  remove_attribute(CHARMMAtom self, FloatsKey a0)
10213  remove_attribute(CHARMMAtom self, IntsKey a0)
10214  remove_attribute(CHARMMAtom self, StringKey a0)
10215  remove_attribute(CHARMMAtom self, ParticleIndexKey a0)
10216  remove_attribute(CHARMMAtom self, ObjectKey a0)
10217  """
10218  return _IMP_atom.CHARMMAtom_remove_attribute(self, *args)
10219 
10220  def has_attribute(self, *args):
10221  r"""
10222  has_attribute(CHARMMAtom self, FloatKey a0) -> bool
10223  has_attribute(CHARMMAtom self, IntKey a0) -> bool
10224  has_attribute(CHARMMAtom self, FloatsKey a0) -> bool
10225  has_attribute(CHARMMAtom self, IntsKey a0) -> bool
10226  has_attribute(CHARMMAtom self, StringKey a0) -> bool
10227  has_attribute(CHARMMAtom self, ParticleIndexKey a0) -> bool
10228  has_attribute(CHARMMAtom self, ObjectKey a0) -> bool
10229  """
10230  return _IMP_atom.CHARMMAtom_has_attribute(self, *args)
10231 
10232  def get_derivative(self, a0):
10233  r"""get_derivative(CHARMMAtom self, FloatKey a0) -> double"""
10234  return _IMP_atom.CHARMMAtom_get_derivative(self, a0)
10235 
10236  def get_name(self):
10237  r"""get_name(CHARMMAtom self) -> std::string"""
10238  return _IMP_atom.CHARMMAtom_get_name(self)
10239 
10240  def clear_caches(self):
10241  r"""clear_caches(CHARMMAtom self)"""
10242  return _IMP_atom.CHARMMAtom_clear_caches(self)
10243 
10244  def set_name(self, a0):
10245  r"""set_name(CHARMMAtom self, std::string a0)"""
10246  return _IMP_atom.CHARMMAtom_set_name(self, a0)
10247 
10248  def set_check_level(self, a0):
10249  r"""set_check_level(CHARMMAtom self, IMP::CheckLevel a0)"""
10250  return _IMP_atom.CHARMMAtom_set_check_level(self, a0)
10251 
10252  def add_to_derivative(self, a0, a1, a2):
10253  r"""add_to_derivative(CHARMMAtom self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
10254  return _IMP_atom.CHARMMAtom_add_to_derivative(self, a0, a1, a2)
10255 
10256  def set_is_optimized(self, a0, a1):
10257  r"""set_is_optimized(CHARMMAtom self, FloatKey a0, bool a1)"""
10258  return _IMP_atom.CHARMMAtom_set_is_optimized(self, a0, a1)
10259 
10260  def get_is_optimized(self, a0):
10261  r"""get_is_optimized(CHARMMAtom self, FloatKey a0) -> bool"""
10262  return _IMP_atom.CHARMMAtom_get_is_optimized(self, a0)
10263 
10264  def get_check_level(self):
10265  r"""get_check_level(CHARMMAtom self) -> IMP::CheckLevel"""
10266  return _IMP_atom.CHARMMAtom_get_check_level(self)
10267 
10268  def __eq__(self, *args):
10269  r"""
10270  __eq__(CHARMMAtom self, CHARMMAtom o) -> bool
10271  __eq__(CHARMMAtom self, Particle d) -> bool
10272  """
10273  return _IMP_atom.CHARMMAtom___eq__(self, *args)
10274 
10275  def __ne__(self, *args):
10276  r"""
10277  __ne__(CHARMMAtom self, CHARMMAtom o) -> bool
10278  __ne__(CHARMMAtom self, Particle d) -> bool
10279  """
10280  return _IMP_atom.CHARMMAtom___ne__(self, *args)
10281 
10282  def __le__(self, *args):
10283  r"""
10284  __le__(CHARMMAtom self, CHARMMAtom o) -> bool
10285  __le__(CHARMMAtom self, Particle d) -> bool
10286  """
10287  return _IMP_atom.CHARMMAtom___le__(self, *args)
10288 
10289  def __lt__(self, *args):
10290  r"""
10291  __lt__(CHARMMAtom self, CHARMMAtom o) -> bool
10292  __lt__(CHARMMAtom self, Particle d) -> bool
10293  """
10294  return _IMP_atom.CHARMMAtom___lt__(self, *args)
10295 
10296  def __ge__(self, *args):
10297  r"""
10298  __ge__(CHARMMAtom self, CHARMMAtom o) -> bool
10299  __ge__(CHARMMAtom self, Particle d) -> bool
10300  """
10301  return _IMP_atom.CHARMMAtom___ge__(self, *args)
10302 
10303  def __gt__(self, *args):
10304  r"""
10305  __gt__(CHARMMAtom self, CHARMMAtom o) -> bool
10306  __gt__(CHARMMAtom self, Particle d) -> bool
10307  """
10308  return _IMP_atom.CHARMMAtom___gt__(self, *args)
10309 
10310  def __hash__(self):
10311  r"""__hash__(CHARMMAtom self) -> std::size_t"""
10312  return _IMP_atom.CHARMMAtom___hash__(self)
10313 
10314  def __str__(self):
10315  r"""__str__(CHARMMAtom self) -> std::string"""
10316  return _IMP_atom.CHARMMAtom___str__(self)
10317 
10318  def __repr__(self):
10319  r"""__repr__(CHARMMAtom self) -> std::string"""
10320  return _IMP_atom.CHARMMAtom___repr__(self)
10321 
10322  def _get_as_binary(self):
10323  r"""_get_as_binary(CHARMMAtom self) -> PyObject *"""
10324  return _IMP_atom.CHARMMAtom__get_as_binary(self)
10325 
10326  def _set_from_binary(self, p):
10327  r"""_set_from_binary(CHARMMAtom self, PyObject * p)"""
10328  return _IMP_atom.CHARMMAtom__set_from_binary(self, p)
10329 
10330  def __getstate__(self):
10331  p = self._get_as_binary()
10332  if len(self.__dict__) > 1:
10333  d = self.__dict__.copy()
10334  del d['this']
10335  p = (d, p)
10336  return p
10337 
10338  def __setstate__(self, p):
10339  if not hasattr(self, 'this'):
10340  self.__init__()
10341  if isinstance(p, tuple):
10342  d, p = p
10343  self.__dict__.update(d)
10344  return self._set_from_binary(p)
10345 
10346  __swig_destroy__ = _IMP_atom.delete_CHARMMAtom
10347 
10348 # Register CHARMMAtom in _IMP_atom:
10349 _IMP_atom.CHARMMAtom_swigregister(CHARMMAtom)
10350 
10351 def get_charmm_untyped_atoms(hierarchy):
10352  r"""get_charmm_untyped_atoms(Hierarchy hierarchy) -> IMP::atom::Atoms"""
10353  return _IMP_atom.get_charmm_untyped_atoms(hierarchy)
10354 
10355 def remove_charmm_untyped_atoms(hierarchy):
10356  r"""remove_charmm_untyped_atoms(Hierarchy hierarchy)"""
10357  return _IMP_atom.remove_charmm_untyped_atoms(hierarchy)
10358 class CHARMMBondParameters(object):
10359  r"""Proxy of C++ IMP::atom::CHARMMBondParameters class."""
10360 
10361  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10362  force_constant = property(_IMP_atom.CHARMMBondParameters_force_constant_get, _IMP_atom.CHARMMBondParameters_force_constant_set, doc=r"""force_constant : double""")
10363  ideal = property(_IMP_atom.CHARMMBondParameters_ideal_get, _IMP_atom.CHARMMBondParameters_ideal_set, doc=r"""ideal : double""")
10364 
10365  def __init__(self):
10366  r"""__init__(CHARMMBondParameters self) -> CHARMMBondParameters"""
10367  _IMP_atom.CHARMMBondParameters_swiginit(self, _IMP_atom.new_CHARMMBondParameters())
10368 
10369  def show(self, *args):
10370  r"""show(CHARMMBondParameters self, _ostream out=std::cout)"""
10371  return _IMP_atom.CHARMMBondParameters_show(self, *args)
10372 
10373  def __str__(self):
10374  r"""__str__(CHARMMBondParameters self) -> std::string"""
10375  return _IMP_atom.CHARMMBondParameters___str__(self)
10376 
10377  def __repr__(self):
10378  r"""__repr__(CHARMMBondParameters self) -> std::string"""
10379  return _IMP_atom.CHARMMBondParameters___repr__(self)
10380 
10381  def _get_as_binary(self):
10382  r"""_get_as_binary(CHARMMBondParameters self) -> PyObject *"""
10383  return _IMP_atom.CHARMMBondParameters__get_as_binary(self)
10384 
10385  def _set_from_binary(self, p):
10386  r"""_set_from_binary(CHARMMBondParameters self, PyObject * p)"""
10387  return _IMP_atom.CHARMMBondParameters__set_from_binary(self, p)
10388 
10389  def __getstate__(self):
10390  p = self._get_as_binary()
10391  if len(self.__dict__) > 1:
10392  d = self.__dict__.copy()
10393  del d['this']
10394  p = (d, p)
10395  return p
10396 
10397  def __setstate__(self, p):
10398  if not hasattr(self, 'this'):
10399  self.__init__()
10400  if isinstance(p, tuple):
10401  d, p = p
10402  self.__dict__.update(d)
10403  return self._set_from_binary(p)
10404 
10405  __swig_destroy__ = _IMP_atom.delete_CHARMMBondParameters
10406 
10407 # Register CHARMMBondParameters in _IMP_atom:
10408 _IMP_atom.CHARMMBondParameters_swigregister(CHARMMBondParameters)
10409 class CHARMMDihedralParameters(object):
10410  r"""Proxy of C++ IMP::atom::CHARMMDihedralParameters class."""
10411 
10412  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10413  force_constant = property(_IMP_atom.CHARMMDihedralParameters_force_constant_get, _IMP_atom.CHARMMDihedralParameters_force_constant_set, doc=r"""force_constant : double""")
10414  multiplicity = property(_IMP_atom.CHARMMDihedralParameters_multiplicity_get, _IMP_atom.CHARMMDihedralParameters_multiplicity_set, doc=r"""multiplicity : int""")
10415  ideal = property(_IMP_atom.CHARMMDihedralParameters_ideal_get, _IMP_atom.CHARMMDihedralParameters_ideal_set, doc=r"""ideal : double""")
10416 
10417  def __init__(self):
10418  r"""__init__(CHARMMDihedralParameters self) -> CHARMMDihedralParameters"""
10419  _IMP_atom.CHARMMDihedralParameters_swiginit(self, _IMP_atom.new_CHARMMDihedralParameters())
10420 
10421  def show(self, *args):
10422  r"""show(CHARMMDihedralParameters self, _ostream out=std::cout)"""
10423  return _IMP_atom.CHARMMDihedralParameters_show(self, *args)
10424 
10425  def __str__(self):
10426  r"""__str__(CHARMMDihedralParameters self) -> std::string"""
10427  return _IMP_atom.CHARMMDihedralParameters___str__(self)
10428 
10429  def __repr__(self):
10430  r"""__repr__(CHARMMDihedralParameters self) -> std::string"""
10431  return _IMP_atom.CHARMMDihedralParameters___repr__(self)
10432 
10433  def _get_as_binary(self):
10434  r"""_get_as_binary(CHARMMDihedralParameters self) -> PyObject *"""
10435  return _IMP_atom.CHARMMDihedralParameters__get_as_binary(self)
10436 
10437  def _set_from_binary(self, p):
10438  r"""_set_from_binary(CHARMMDihedralParameters self, PyObject * p)"""
10439  return _IMP_atom.CHARMMDihedralParameters__set_from_binary(self, p)
10440 
10441  def __getstate__(self):
10442  p = self._get_as_binary()
10443  if len(self.__dict__) > 1:
10444  d = self.__dict__.copy()
10445  del d['this']
10446  p = (d, p)
10447  return p
10448 
10449  def __setstate__(self, p):
10450  if not hasattr(self, 'this'):
10451  self.__init__()
10452  if isinstance(p, tuple):
10453  d, p = p
10454  self.__dict__.update(d)
10455  return self._set_from_binary(p)
10456 
10457  __swig_destroy__ = _IMP_atom.delete_CHARMMDihedralParameters
10458 
10459 # Register CHARMMDihedralParameters in _IMP_atom:
10460 _IMP_atom.CHARMMDihedralParameters_swigregister(CHARMMDihedralParameters)
10461 class CHARMMParameters(ForceFieldParameters):
10462  r"""Proxy of C++ IMP::atom::CHARMMParameters class."""
10463 
10464  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10465 
10466  def __init__(self, *args):
10467  r"""__init__(CHARMMParameters self, TextInput topology_file_name, TextInput par_file_name=IMP::TextInput(), bool translate_names_to_pdb=False) -> CHARMMParameters"""
10468  _IMP_atom.CHARMMParameters_swiginit(self, _IMP_atom.new_CHARMMParameters(*args))
10469 
10470  def add_residue_topology(self, res):
10471  r"""add_residue_topology(CHARMMParameters self, CHARMMIdealResidueTopology res)"""
10472  return _IMP_atom.CHARMMParameters_add_residue_topology(self, res)
10473 
10474  def get_residue_topology(self, type):
10475  r"""get_residue_topology(CHARMMParameters self, ResidueType type) -> CHARMMIdealResidueTopology"""
10476  return _IMP_atom.CHARMMParameters_get_residue_topology(self, type)
10477 
10478  def add_patch(self, patch):
10479  r"""add_patch(CHARMMParameters self, CHARMMPatch patch)"""
10480  return _IMP_atom.CHARMMParameters_add_patch(self, patch)
10481 
10482  def get_patch(self, name):
10483  r"""get_patch(CHARMMParameters self, std::string name) -> CHARMMPatch"""
10484  return _IMP_atom.CHARMMParameters_get_patch(self, name)
10485 
10486  def create_topology(self, hierarchy):
10487  r"""create_topology(CHARMMParameters self, Hierarchy hierarchy) -> CHARMMTopology"""
10488  return _IMP_atom.CHARMMParameters_create_topology(self, hierarchy)
10489 
10490  def get_bond_parameters(self, type1, type2):
10491  r"""get_bond_parameters(CHARMMParameters self, std::string type1, std::string type2) -> CHARMMBondParameters"""
10492  return _IMP_atom.CHARMMParameters_get_bond_parameters(self, type1, type2)
10493 
10494  def get_angle_parameters(self, type1, type2, type3):
10495  r"""get_angle_parameters(CHARMMParameters self, std::string type1, std::string type2, std::string type3) -> CHARMMBondParameters"""
10496  return _IMP_atom.CHARMMParameters_get_angle_parameters(self, type1, type2, type3)
10497 
10498  def get_dihedral_parameters(self, type1, type2, type3, type4):
10499  r"""get_dihedral_parameters(CHARMMParameters self, std::string type1, std::string type2, std::string type3, std::string type4) -> IMP::atom::CHARMMDihedralParametersList"""
10500  return _IMP_atom.CHARMMParameters_get_dihedral_parameters(self, type1, type2, type3, type4)
10501 
10502  def get_improper_parameters(self, type1, type2, type3, type4):
10503  r"""get_improper_parameters(CHARMMParameters self, std::string type1, std::string type2, std::string type3, std::string type4) -> CHARMMDihedralParameters"""
10504  return _IMP_atom.CHARMMParameters_get_improper_parameters(self, type1, type2, type3, type4)
10505 
10506  def create_angles(self, bonds):
10507  r"""create_angles(CHARMMParameters self, IMP::Particles bonds) -> IMP::Particles"""
10508  return _IMP_atom.CHARMMParameters_create_angles(self, bonds)
10509 
10510  def create_dihedrals(self, bonds):
10511  r"""create_dihedrals(CHARMMParameters self, IMP::Particles bonds) -> IMP::Particles"""
10512  return _IMP_atom.CHARMMParameters_create_dihedrals(self, bonds)
10513 
10514  def get_version_info(self):
10515  r"""get_version_info(CHARMMParameters self) -> VersionInfo"""
10516  return _IMP_atom.CHARMMParameters_get_version_info(self)
10517  __swig_destroy__ = _IMP_atom.delete_CHARMMParameters
10518 
10519  def __str__(self):
10520  r"""__str__(CHARMMParameters self) -> std::string"""
10521  return _IMP_atom.CHARMMParameters___str__(self)
10522 
10523  def __repr__(self):
10524  r"""__repr__(CHARMMParameters self) -> std::string"""
10525  return _IMP_atom.CHARMMParameters___repr__(self)
10526 
10527  @staticmethod
10528  def get_from(o):
10529  return _object_cast_to_CHARMMParameters(o)
10530 
10531 
10532 # Register CHARMMParameters in _IMP_atom:
10533 _IMP_atom.CHARMMParameters_swigregister(CHARMMParameters)
10534 
10536  r"""get_heavy_atom_CHARMM_parameters() -> CHARMMParameters"""
10537  return _IMP_atom.get_heavy_atom_CHARMM_parameters()
10538 
10540  r"""get_all_atom_CHARMM_parameters() -> CHARMMParameters"""
10541  return _IMP_atom.get_all_atom_CHARMM_parameters()
10542 class CHARMMSegmentTopology(IMP.Object):
10543  r"""Proxy of C++ IMP::atom::CHARMMSegmentTopology class."""
10544 
10545  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10546  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)
10547  def __set_residues(self, obj): IMP._list_util.set_varlist(self.residues, obj)
10548  def __del_residues(self): IMP._list_util.del_varlist(self.residues)
10549  residues = property(__get_residues, __set_residues, __del_residues, doc="List of ##ucnames")
10550 
10551  def remove_residue(self, d):
10552  r"""remove_residue(CHARMMSegmentTopology self, CHARMMResidueTopology d)"""
10553  return _IMP_atom.CHARMMSegmentTopology_remove_residue(self, d)
10554 
10555  def _python_index_residue(self, d, start, stop):
10556  r"""_python_index_residue(CHARMMSegmentTopology self, CHARMMResidueTopology d, unsigned int start, unsigned int stop) -> unsigned int"""
10557  return _IMP_atom.CHARMMSegmentTopology__python_index_residue(self, d, start, stop)
10558 
10559  def remove_residues(self, d):
10560  r"""remove_residues(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & d)"""
10561  return _IMP_atom.CHARMMSegmentTopology_remove_residues(self, d)
10562 
10563  def set_residues(self, ps):
10564  r"""set_residues(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & ps)"""
10565  return _IMP_atom.CHARMMSegmentTopology_set_residues(self, ps)
10566 
10567  def set_residues_order(self, objs):
10568  r"""set_residues_order(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & objs)"""
10569  return _IMP_atom.CHARMMSegmentTopology_set_residues_order(self, objs)
10570 
10571  def add_residue(self, obj):
10572  r"""add_residue(CHARMMSegmentTopology self, CHARMMResidueTopology obj) -> unsigned int"""
10573  return _IMP_atom.CHARMMSegmentTopology_add_residue(self, obj)
10574 
10575  def add_residues(self, objs):
10576  r"""add_residues(CHARMMSegmentTopology self, IMP::atom::CHARMMResidueTopologies const & objs)"""
10577  return _IMP_atom.CHARMMSegmentTopology_add_residues(self, objs)
10578 
10579  def clear_residues(self):
10580  r"""clear_residues(CHARMMSegmentTopology self)"""
10581  return _IMP_atom.CHARMMSegmentTopology_clear_residues(self)
10582 
10583  def get_number_of_residues(self):
10584  r"""get_number_of_residues(CHARMMSegmentTopology self) -> unsigned int"""
10585  return _IMP_atom.CHARMMSegmentTopology_get_number_of_residues(self)
10586 
10587  def get_has_residues(self):
10588  r"""get_has_residues(CHARMMSegmentTopology self) -> bool"""
10589  return _IMP_atom.CHARMMSegmentTopology_get_has_residues(self)
10590 
10591  def get_residue(self, i):
10592  r"""get_residue(CHARMMSegmentTopology self, unsigned int i) -> CHARMMResidueTopology"""
10593  return _IMP_atom.CHARMMSegmentTopology_get_residue(self, i)
10594 
10595  def get_residues(self):
10596  r"""get_residues(CHARMMSegmentTopology self) -> IMP::atom::CHARMMResidueTopologies"""
10597  return _IMP_atom.CHARMMSegmentTopology_get_residues(self)
10598 
10599  def erase_residue(self, i):
10600  r"""erase_residue(CHARMMSegmentTopology self, unsigned int i)"""
10601  return _IMP_atom.CHARMMSegmentTopology_erase_residue(self, i)
10602 
10603  def reserve_residues(self, sz):
10604  r"""reserve_residues(CHARMMSegmentTopology self, unsigned int sz)"""
10605  return _IMP_atom.CHARMMSegmentTopology_reserve_residues(self, sz)
10606 
10607  def get_version_info(self):
10608  r"""get_version_info(CHARMMSegmentTopology self) -> VersionInfo"""
10609  return _IMP_atom.CHARMMSegmentTopology_get_version_info(self)
10610  __swig_destroy__ = _IMP_atom.delete_CHARMMSegmentTopology
10611 
10612  def __init__(self, *args):
10613  r"""__init__(CHARMMSegmentTopology self, std::string name="CHARMM segment topology %1%") -> CHARMMSegmentTopology"""
10614  _IMP_atom.CHARMMSegmentTopology_swiginit(self, _IMP_atom.new_CHARMMSegmentTopology(*args))
10615 
10616  def apply_default_patches(self, ff):
10617  r"""apply_default_patches(CHARMMSegmentTopology self, CHARMMParameters ff)"""
10618  return _IMP_atom.CHARMMSegmentTopology_apply_default_patches(self, ff)
10619 
10620  def __str__(self):
10621  r"""__str__(CHARMMSegmentTopology self) -> std::string"""
10622  return _IMP_atom.CHARMMSegmentTopology___str__(self)
10623 
10624  def __repr__(self):
10625  r"""__repr__(CHARMMSegmentTopology self) -> std::string"""
10626  return _IMP_atom.CHARMMSegmentTopology___repr__(self)
10627 
10628  @staticmethod
10629  def get_from(o):
10630  return _object_cast_to_CHARMMSegmentTopology(o)
10631 
10632 
10633 # Register CHARMMSegmentTopology in _IMP_atom:
10634 _IMP_atom.CHARMMSegmentTopology_swigregister(CHARMMSegmentTopology)
10635 class CHARMMTopology(IMP.Object):
10636  r"""Proxy of C++ IMP::atom::CHARMMTopology class."""
10637 
10638  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10639 
10640  def __init__(self, *args):
10641  r"""__init__(CHARMMTopology self, CHARMMParameters force_field, std::string name="CHARMM topology %1%") -> CHARMMTopology"""
10642  _IMP_atom.CHARMMTopology_swiginit(self, _IMP_atom.new_CHARMMTopology(*args))
10643 
10644  def get_parameters(self):
10645  r"""get_parameters(CHARMMTopology self) -> CHARMMParameters"""
10646  return _IMP_atom.CHARMMTopology_get_parameters(self)
10647 
10648  def add_sequence(self, sequence):
10649  r"""add_sequence(CHARMMTopology self, std::string sequence)"""
10650  return _IMP_atom.CHARMMTopology_add_sequence(self, sequence)
10651 
10652  def apply_default_patches(self):
10653  r"""apply_default_patches(CHARMMTopology self)"""
10654  return _IMP_atom.CHARMMTopology_apply_default_patches(self)
10655 
10656  def create_hierarchy(self, model):
10657  r"""create_hierarchy(CHARMMTopology self, Model model) -> Hierarchy"""
10658  return _IMP_atom.CHARMMTopology_create_hierarchy(self, model)
10659 
10660  def add_atom_types(self, hierarchy):
10661  r"""add_atom_types(CHARMMTopology self, Hierarchy hierarchy)"""
10662  return _IMP_atom.CHARMMTopology_add_atom_types(self, hierarchy)
10663 
10664  def add_coordinates(self, hierarchy):
10665  r"""add_coordinates(CHARMMTopology self, Hierarchy hierarchy)"""
10666  return _IMP_atom.CHARMMTopology_add_coordinates(self, hierarchy)
10667 
10668  def add_missing_atoms(self, hierarchy):
10669  r"""add_missing_atoms(CHARMMTopology self, Hierarchy hierarchy)"""
10670  return _IMP_atom.CHARMMTopology_add_missing_atoms(self, hierarchy)
10671 
10672  def setup_hierarchy(self, hierarchy):
10673  r"""setup_hierarchy(CHARMMTopology self, Hierarchy hierarchy)"""
10674  return _IMP_atom.CHARMMTopology_setup_hierarchy(self, hierarchy)
10675 
10676  def add_charges(self, hierarchy):
10677  r"""add_charges(CHARMMTopology self, Hierarchy hierarchy)"""
10678  return _IMP_atom.CHARMMTopology_add_charges(self, hierarchy)
10679 
10680  def add_bonds(self, hierarchy):
10681  r"""add_bonds(CHARMMTopology self, Hierarchy hierarchy) -> IMP::Particles"""
10682  return _IMP_atom.CHARMMTopology_add_bonds(self, hierarchy)
10683 
10684  def add_dihedrals(self, hierarchy):
10685  r"""add_dihedrals(CHARMMTopology self, Hierarchy hierarchy) -> IMP::Particles"""
10686  return _IMP_atom.CHARMMTopology_add_dihedrals(self, hierarchy)
10687 
10688  def add_impropers(self, hierarchy):
10689  r"""add_impropers(CHARMMTopology self, Hierarchy hierarchy) -> IMP::Particles"""
10690  return _IMP_atom.CHARMMTopology_add_impropers(self, hierarchy)
10691  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)
10692  def __set_segments(self, obj): IMP._list_util.set_varlist(self.segments, obj)
10693  def __del_segments(self): IMP._list_util.del_varlist(self.segments)
10694  segments = property(__get_segments, __set_segments, __del_segments, doc="List of ##ucnames")
10695 
10696  def remove_segment(self, d):
10697  r"""remove_segment(CHARMMTopology self, CHARMMSegmentTopology d)"""
10698  return _IMP_atom.CHARMMTopology_remove_segment(self, d)
10699 
10700  def _python_index_segment(self, d, start, stop):
10701  r"""_python_index_segment(CHARMMTopology self, CHARMMSegmentTopology d, unsigned int start, unsigned int stop) -> unsigned int"""
10702  return _IMP_atom.CHARMMTopology__python_index_segment(self, d, start, stop)
10703 
10704  def remove_segments(self, d):
10705  r"""remove_segments(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & d)"""
10706  return _IMP_atom.CHARMMTopology_remove_segments(self, d)
10707 
10708  def set_segments(self, ps):
10709  r"""set_segments(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & ps)"""
10710  return _IMP_atom.CHARMMTopology_set_segments(self, ps)
10711 
10712  def set_segments_order(self, objs):
10713  r"""set_segments_order(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & objs)"""
10714  return _IMP_atom.CHARMMTopology_set_segments_order(self, objs)
10715 
10716  def add_segment(self, obj):
10717  r"""add_segment(CHARMMTopology self, CHARMMSegmentTopology obj) -> unsigned int"""
10718  return _IMP_atom.CHARMMTopology_add_segment(self, obj)
10719 
10720  def add_segments(self, objs):
10721  r"""add_segments(CHARMMTopology self, IMP::atom::CHARMMSegmentTopologies const & objs)"""
10722  return _IMP_atom.CHARMMTopology_add_segments(self, objs)
10723 
10724  def clear_segments(self):
10725  r"""clear_segments(CHARMMTopology self)"""
10726  return _IMP_atom.CHARMMTopology_clear_segments(self)
10727 
10728  def get_number_of_segments(self):
10729  r"""get_number_of_segments(CHARMMTopology self) -> unsigned int"""
10730  return _IMP_atom.CHARMMTopology_get_number_of_segments(self)
10731 
10732  def get_has_segments(self):
10733  r"""get_has_segments(CHARMMTopology self) -> bool"""
10734  return _IMP_atom.CHARMMTopology_get_has_segments(self)
10735 
10736  def get_segment(self, i):
10737  r"""get_segment(CHARMMTopology self, unsigned int i) -> CHARMMSegmentTopology"""
10738  return _IMP_atom.CHARMMTopology_get_segment(self, i)
10739 
10740  def get_segments(self):
10741  r"""get_segments(CHARMMTopology self) -> IMP::atom::CHARMMSegmentTopologies"""
10742  return _IMP_atom.CHARMMTopology_get_segments(self)
10743 
10744  def erase_segment(self, i):
10745  r"""erase_segment(CHARMMTopology self, unsigned int i)"""
10746  return _IMP_atom.CHARMMTopology_erase_segment(self, i)
10747 
10748  def reserve_segments(self, sz):
10749  r"""reserve_segments(CHARMMTopology self, unsigned int sz)"""
10750  return _IMP_atom.CHARMMTopology_reserve_segments(self, sz)
10751 
10752  def get_version_info(self):
10753  r"""get_version_info(CHARMMTopology self) -> VersionInfo"""
10754  return _IMP_atom.CHARMMTopology_get_version_info(self)
10755  __swig_destroy__ = _IMP_atom.delete_CHARMMTopology
10756 
10757  def __str__(self):
10758  r"""__str__(CHARMMTopology self) -> std::string"""
10759  return _IMP_atom.CHARMMTopology___str__(self)
10760 
10761  def __repr__(self):
10762  r"""__repr__(CHARMMTopology self) -> std::string"""
10763  return _IMP_atom.CHARMMTopology___repr__(self)
10764 
10765  @staticmethod
10766  def get_from(o):
10767  return _object_cast_to_CHARMMTopology(o)
10768 
10769 
10770 # Register CHARMMTopology in _IMP_atom:
10771 _IMP_atom.CHARMMTopology_swigregister(CHARMMTopology)
10772 class CHARMMStereochemistryRestraint(IMP.Restraint):
10773  r"""Proxy of C++ IMP::atom::CHARMMStereochemistryRestraint class."""
10774 
10775  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10776 
10777  def __init__(self, *args):
10778  r"""
10779  __init__(CHARMMStereochemistryRestraint self, Hierarchy h, CHARMMTopology topology) -> CHARMMStereochemistryRestraint
10780  __init__(CHARMMStereochemistryRestraint self, Hierarchy h, CHARMMTopology topology, IMP::ParticlesTemp limit_to_these_particles) -> CHARMMStereochemistryRestraint
10781  """
10782  _IMP_atom.CHARMMStereochemistryRestraint_swiginit(self, _IMP_atom.new_CHARMMStereochemistryRestraint(*args))
10783 
10784  def get_pair_filter(self):
10785  r"""get_pair_filter(CHARMMStereochemistryRestraint self) -> StereochemistryPairFilter"""
10786  return _IMP_atom.CHARMMStereochemistryRestraint_get_pair_filter(self)
10787 
10788  def get_full_pair_filter(self):
10789  r"""get_full_pair_filter(CHARMMStereochemistryRestraint self) -> StereochemistryPairFilter"""
10790  return _IMP_atom.CHARMMStereochemistryRestraint_get_full_pair_filter(self)
10791 
10792  def do_get_inputs(self):
10793  r"""do_get_inputs(CHARMMStereochemistryRestraint self) -> IMP::ModelObjectsTemp"""
10794  return _IMP_atom.CHARMMStereochemistryRestraint_do_get_inputs(self)
10795 
10796  def get_version_info(self):
10797  r"""get_version_info(CHARMMStereochemistryRestraint self) -> VersionInfo"""
10798  return _IMP_atom.CHARMMStereochemistryRestraint_get_version_info(self)
10799  __swig_destroy__ = _IMP_atom.delete_CHARMMStereochemistryRestraint
10800 
10801  def __str__(self):
10802  r"""__str__(CHARMMStereochemistryRestraint self) -> std::string"""
10803  return _IMP_atom.CHARMMStereochemistryRestraint___str__(self)
10804 
10805  def __repr__(self):
10806  r"""__repr__(CHARMMStereochemistryRestraint self) -> std::string"""
10807  return _IMP_atom.CHARMMStereochemistryRestraint___repr__(self)
10808 
10809  @staticmethod
10810  def get_from(o):
10811  return _object_cast_to_CHARMMStereochemistryRestraint(o)
10812 
10813 
10814 # Register CHARMMStereochemistryRestraint in _IMP_atom:
10815 _IMP_atom.CHARMMStereochemistryRestraint_swigregister(CHARMMStereochemistryRestraint)
10816 
10817 def add_bonds(*args):
10818  r"""add_bonds(Hierarchy d, ForceFieldParameters ffp=IMP::atom::get_all_atom_CHARMM_parameters())"""
10819  return _IMP_atom.add_bonds(*args)
10820 
10821 def add_radii(*args):
10822  r"""add_radii(Hierarchy d, ForceFieldParameters ffp=IMP::atom::get_all_atom_CHARMM_parameters(), FloatKey radius_key=FloatKey("radius"))"""
10823  return _IMP_atom.add_radii(*args)
10824 ALBER = _IMP_atom.ALBER
10825 
10826 HARPAZ = _IMP_atom.HARPAZ
10827 
10828 ANDERSSON = _IMP_atom.ANDERSSON
10829 
10830 TSAI = _IMP_atom.TSAI
10831 
10832 QUILLIN = _IMP_atom.QUILLIN
10833 
10834 SQUIRE = _IMP_atom.SQUIRE
10835 
10836 
10837 def get_protein_density_from_reference(densityReference):
10838  r"""get_protein_density_from_reference(IMP::atom::ProteinDensityReference densityReference) -> double"""
10839  return _IMP_atom.get_protein_density_from_reference(densityReference)
10840 
10841 def get_volume_from_mass(*args):
10842  r"""get_volume_from_mass(double m, IMP::atom::ProteinDensityReference ref=ALBER) -> double"""
10843  return _IMP_atom.get_volume_from_mass(*args)
10844 
10845 def get_mass_from_volume(*args):
10846  r"""get_mass_from_volume(double v, IMP::atom::ProteinDensityReference ref=ALBER) -> double"""
10847  return _IMP_atom.get_mass_from_volume(*args)
10848 
10850  r"""get_mass_from_number_of_residues(unsigned int num_aa) -> double"""
10851  return _IMP_atom.get_mass_from_number_of_residues(num_aa)
10852 
10854  r"""get_volume_from_residue_type(ResidueType rt) -> double"""
10855  return _IMP_atom.get_volume_from_residue_type(rt)
10856 
10857 def get_molarity(n, volume):
10858  r"""get_molarity(double n, double volume) -> double"""
10859  return _IMP_atom.get_molarity(n, volume)
10860 
10861 def get_kd(na, nb, nab, volume):
10862  r"""get_kd(double na, double nb, double nab, double volume) -> double"""
10863  return _IMP_atom.get_kd(na, nb, nab, volume)
10864 
10865 def get_einstein_diffusion_coefficient(r, temp=-1):
10866  r"""get_einstein_diffusion_coefficient(double r, double temp=-1) -> double"""
10867  return _IMP_atom.get_einstein_diffusion_coefficient(r, temp)
10868 
10870  r"""get_einstein_rotational_diffusion_coefficient(double r, double temp=-1) -> double"""
10871  return _IMP_atom.get_einstein_rotational_diffusion_coefficient(r, temp)
10872 
10873 def get_diffusion_length(*args):
10874  r"""
10875  get_diffusion_length(double D, double t) -> double
10876  get_diffusion_length(double D, double force, double t, double temp=-1) -> double
10877  """
10878  return _IMP_atom.get_diffusion_length(*args)
10879 
10880 def get_diffusion_angle(D, dtfs):
10881  r"""get_diffusion_angle(double D, double dtfs) -> double"""
10882  return _IMP_atom.get_diffusion_angle(D, dtfs)
10883 
10884 def get_diffusion_coefficient(*args):
10885  r"""
10886  get_diffusion_coefficient(IMP::algebra::Vector3Ds const & displacements, double dt) -> double
10887  get_diffusion_coefficient(IMP::algebra::Vector3Ds const & displacements, IMP::Floats const & dts) -> double
10888  """
10889  return _IMP_atom.get_diffusion_coefficient(*args)
10890 
10891 def get_rotational_diffusion_coefficient(orientations, dt):
10892  r"""get_rotational_diffusion_coefficient(IMP::algebra::Rotation3Ds const & orientations, double dt) -> double"""
10893  return _IMP_atom.get_rotational_diffusion_coefficient(orientations, dt)
10894 
10895 def get_energy_in_femto_joules(energy_in_kcal_per_mol):
10896  r"""get_energy_in_femto_joules(double energy_in_kcal_per_mol) -> double"""
10897  return _IMP_atom.get_energy_in_femto_joules(energy_in_kcal_per_mol)
10898 
10899 def get_force_in_femto_newtons(force_in_kcal_per_mol_per_angstrom):
10900  r"""get_force_in_femto_newtons(double force_in_kcal_per_mol_per_angstrom) -> double"""
10901  return _IMP_atom.get_force_in_femto_newtons(force_in_kcal_per_mol_per_angstrom)
10902 
10903 def get_spring_constant_in_femto_newtons_per_angstrom(k_in_kcal_per_mol_per_angstrom_square):
10904  r"""get_spring_constant_in_femto_newtons_per_angstrom(double k_in_kcal_per_mol_per_angstrom_square) -> double"""
10905  return _IMP_atom.get_spring_constant_in_femto_newtons_per_angstrom(k_in_kcal_per_mol_per_angstrom_square)
10906 class EzRestraint(IMP.Restraint):
10907  r"""Proxy of C++ IMP::atom::EzRestraint class."""
10908 
10909  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10910 
10911  def __init__(self, m, ps):
10912  r"""__init__(EzRestraint self, Model m, _ParticleIndexesAdaptor ps) -> EzRestraint"""
10913  _IMP_atom.EzRestraint_swiginit(self, _IMP_atom.new_EzRestraint(m, ps))
10914 
10915  def get_version_info(self):
10916  r"""get_version_info(EzRestraint self) -> VersionInfo"""
10917  return _IMP_atom.EzRestraint_get_version_info(self)
10918  __swig_destroy__ = _IMP_atom.delete_EzRestraint
10919 
10920  def __str__(self):
10921  r"""__str__(EzRestraint self) -> std::string"""
10922  return _IMP_atom.EzRestraint___str__(self)
10923 
10924  def __repr__(self):
10925  r"""__repr__(EzRestraint self) -> std::string"""
10926  return _IMP_atom.EzRestraint___repr__(self)
10927 
10928  @staticmethod
10929  def get_from(o):
10930  return _object_cast_to_EzRestraint(o)
10931 
10932 
10933 # Register EzRestraint in _IMP_atom:
10934 _IMP_atom.EzRestraint_swigregister(EzRestraint)
10935 
10936 def create_protein(*args):
10937  r"""
10938  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
10939  create_protein(Model m, std::string name, double target_radius, IMP::Ints const domain_boundaries) -> Hierarchy
10940  """
10941  return _IMP_atom.create_protein(*args)
10942 
10944  r"""
10945  create_simplified_along_backbone(Hierarchy input, int num_res, bool keep_detailed=False) -> Hierarchy
10946  create_simplified_along_backbone(Chain input, IMP::IntRanges const & residue_segments, bool keep_detailed=False) -> Hierarchy
10947  """
10948  return _IMP_atom.create_simplified_along_backbone(*args)
10949 
10950 def create_simplified_from_volume(h, resolution):
10951  r"""create_simplified_from_volume(Hierarchy h, double resolution) -> Hierarchy"""
10952  return _IMP_atom.create_simplified_from_volume(h, resolution)
10953 
10954 def create_simplified_assembly_from_volume(h, resolution):
10955  r"""create_simplified_assembly_from_volume(Hierarchy h, double resolution) -> Hierarchy"""
10956  return _IMP_atom.create_simplified_assembly_from_volume(h, resolution)
10957 
10958 def get_residue_indexes(h):
10959  r"""get_residue_indexes(Hierarchy h) -> IMP::Ints"""
10960  return _IMP_atom.get_residue_indexes(h)
10961 
10962 def get_residue_type(*args):
10963  r"""
10964  get_residue_type(char c) -> ResidueType
10965  get_residue_type(Hierarchy h) -> ResidueType
10966  """
10967  return _IMP_atom.get_residue_type(*args)
10968 
10969 def get_atom_type(h):
10970  r"""get_atom_type(Hierarchy h) -> AtomType"""
10971  return _IMP_atom.get_atom_type(h)
10972 
10973 def get_domain_name(h):
10974  r"""get_domain_name(Hierarchy h) -> std::string"""
10975  return _IMP_atom.get_domain_name(h)
10976 
10978  r"""
10979  create_excluded_volume_restraint(IMP::atom::Selections const & s) -> Restraint
10980  create_excluded_volume_restraint(IMP::atom::Hierarchies const & hs, double resolution=-1) -> Restraint
10981  """
10982  return _IMP_atom.create_excluded_volume_restraint(*args)
10983 
10984 def setup_as_approximation(*args):
10985  r"""
10986  setup_as_approximation(Particle h, IMP::ParticlesTemp const & other, double resolution=-1)
10987  setup_as_approximation(Hierarchy h, double resolution=-1)
10988  """
10989  return _IMP_atom.setup_as_approximation(*args)
10990 class _HierarchyTreeVertexIndex(object):
10991  r"""Proxy of C++ IMP::atom::HierarchyTreeVertexIndex class."""
10992 
10993  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
10994  __repr__ = _swig_repr
10995 
10996  def __init__(self):
10997  r"""__init__(_HierarchyTreeVertexIndex self) -> _HierarchyTreeVertexIndex"""
10998  _IMP_atom._HierarchyTreeVertexIndex_swiginit(self, _IMP_atom.new__HierarchyTreeVertexIndex())
10999  __swig_destroy__ = _IMP_atom.delete__HierarchyTreeVertexIndex
11000 
11001 # Register _HierarchyTreeVertexIndex in _IMP_atom:
11002 _IMP_atom._HierarchyTreeVertexIndex_swigregister(_HierarchyTreeVertexIndex)
11003 
11004 def show_as_graphviz(name, out):
11005  r"""show_as_graphviz(IMP::atom::HierarchyTree const & name, TextOutput out)"""
11006  return _IMP_atom.show_as_graphviz(name, out)
11007 
11008 def get_vertex_index(g):
11009  r"""get_vertex_index(IMP::atom::HierarchyTree const & g) -> _HierarchyTreeVertexIndex"""
11010  return _IMP_atom.get_vertex_index(g)
11011 
11012 def get_hierarchy_tree(h):
11013  r"""get_hierarchy_tree(Hierarchy h) -> IMP::atom::HierarchyTree"""
11014  return _IMP_atom.get_hierarchy_tree(h)
11015 class HierarchyGeometry(IMP.display.SingletonGeometry):
11016  r"""Proxy of C++ IMP::atom::HierarchyGeometry class."""
11017 
11018  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11019 
11020  def __init__(self, d, resolution=0):
11021  r"""__init__(HierarchyGeometry self, Hierarchy d, double resolution=0) -> HierarchyGeometry"""
11022  _IMP_atom.HierarchyGeometry_swiginit(self, _IMP_atom.new_HierarchyGeometry(d, resolution))
11023 
11024  def get_version_info(self):
11025  r"""get_version_info(HierarchyGeometry self) -> VersionInfo"""
11026  return _IMP_atom.HierarchyGeometry_get_version_info(self)
11027  __swig_destroy__ = _IMP_atom.delete_HierarchyGeometry
11028 
11029  def __str__(self):
11030  r"""__str__(HierarchyGeometry self) -> std::string"""
11031  return _IMP_atom.HierarchyGeometry___str__(self)
11032 
11033  def __repr__(self):
11034  r"""__repr__(HierarchyGeometry self) -> std::string"""
11035  return _IMP_atom.HierarchyGeometry___repr__(self)
11036 
11037  @staticmethod
11038  def get_from(o):
11039  return _object_cast_to_HierarchyGeometry(o)
11040 
11041 
11042 # Register HierarchyGeometry in _IMP_atom:
11043 _IMP_atom.HierarchyGeometry_swigregister(HierarchyGeometry)
11044 class HierarchiesGeometry(IMP.display.SingletonsGeometry):
11045  r"""Proxy of C++ IMP::atom::HierarchiesGeometry class."""
11046 
11047  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11048 
11049  def __init__(self, sc, resolution=-1):
11050  r"""__init__(HierarchiesGeometry self, SingletonContainer sc, double resolution=-1) -> HierarchiesGeometry"""
11051  _IMP_atom.HierarchiesGeometry_swiginit(self, _IMP_atom.new_HierarchiesGeometry(sc, resolution))
11052 
11053  def get_version_info(self):
11054  r"""get_version_info(HierarchiesGeometry self) -> VersionInfo"""
11055  return _IMP_atom.HierarchiesGeometry_get_version_info(self)
11056  __swig_destroy__ = _IMP_atom.delete_HierarchiesGeometry
11057 
11058  def __str__(self):
11059  r"""__str__(HierarchiesGeometry self) -> std::string"""
11060  return _IMP_atom.HierarchiesGeometry___str__(self)
11061 
11062  def __repr__(self):
11063  r"""__repr__(HierarchiesGeometry self) -> std::string"""
11064  return _IMP_atom.HierarchiesGeometry___repr__(self)
11065 
11066  @staticmethod
11067  def get_from(o):
11068  return _object_cast_to_HierarchiesGeometry(o)
11069 
11070 
11071 # Register HierarchiesGeometry in _IMP_atom:
11072 _IMP_atom.HierarchiesGeometry_swigregister(HierarchiesGeometry)
11073 
11074 def transform(*args):
11075  r"""
11076  transform(Hierarchy h, Transformation3D tr)
11077  transform(Hierarchy h, Transformation3D tr)
11078  """
11079  return _IMP_atom.transform(*args)
11080 class DopePairScore(_ADopeBase):
11081  r"""Proxy of C++ IMP::atom::DopePairScore class."""
11082 
11083  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11084 
11085  def __init__(self, *args):
11086  r"""
11087  __init__(DopePairScore self, double threshold=std::numeric_limits< double >::max()) -> DopePairScore
11088  __init__(DopePairScore self, double threshold, TextInput data_file) -> DopePairScore
11089  """
11090  _IMP_atom.DopePairScore_swiginit(self, _IMP_atom.new_DopePairScore(*args))
11091 
11092  def __str__(self):
11093  r"""__str__(DopePairScore self) -> std::string"""
11094  return _IMP_atom.DopePairScore___str__(self)
11095 
11096  def __repr__(self):
11097  r"""__repr__(DopePairScore self) -> std::string"""
11098  return _IMP_atom.DopePairScore___repr__(self)
11099 
11100  @staticmethod
11101  def get_from(o):
11102  return _object_cast_to_DopePairScore(o)
11103 
11104  __swig_destroy__ = _IMP_atom.delete_DopePairScore
11105 
11106 # Register DopePairScore in _IMP_atom:
11107 _IMP_atom.DopePairScore_swigregister(DopePairScore)
11108 
11109 def add_dope_score_data(h):
11110  r"""add_dope_score_data(Hierarchy h)"""
11111  return _IMP_atom.add_dope_score_data(h)
11112 class LoopStatisticalPairScore(_ALoopStatisticalBase):
11113  r"""Proxy of C++ IMP::atom::LoopStatisticalPairScore class."""
11114 
11115  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11116 
11117  def __init__(self, *args):
11118  r"""
11119  __init__(LoopStatisticalPairScore self, double threshold=std::numeric_limits< double >::max()) -> LoopStatisticalPairScore
11120  __init__(LoopStatisticalPairScore self, double threshold, TextInput data_file) -> LoopStatisticalPairScore
11121  """
11122  _IMP_atom.LoopStatisticalPairScore_swiginit(self, _IMP_atom.new_LoopStatisticalPairScore(*args))
11123 
11124  def __str__(self):
11125  r"""__str__(LoopStatisticalPairScore self) -> std::string"""
11126  return _IMP_atom.LoopStatisticalPairScore___str__(self)
11127 
11128  def __repr__(self):
11129  r"""__repr__(LoopStatisticalPairScore self) -> std::string"""
11130  return _IMP_atom.LoopStatisticalPairScore___repr__(self)
11131 
11132  @staticmethod
11133  def get_from(o):
11134  return _object_cast_to_LoopStatisticalPairScore(o)
11135 
11136  __swig_destroy__ = _IMP_atom.delete_LoopStatisticalPairScore
11137 
11138 # Register LoopStatisticalPairScore in _IMP_atom:
11139 _IMP_atom.LoopStatisticalPairScore_swigregister(LoopStatisticalPairScore)
11140 
11142  r"""add_loop_statistical_score_data(Hierarchy h)"""
11143  return _IMP_atom.add_loop_statistical_score_data(h)
11144 class OrientedSoapPairScore(_OrientedSoapBase):
11145  r"""Proxy of C++ IMP::atom::OrientedSoapPairScore class."""
11146 
11147  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11148 
11149  def __init__(self, library):
11150  r"""__init__(OrientedSoapPairScore self, std::string library) -> OrientedSoapPairScore"""
11151  _IMP_atom.OrientedSoapPairScore_swiginit(self, _IMP_atom.new_OrientedSoapPairScore(library))
11152 
11153  def get_pair_filter(self):
11154  r"""get_pair_filter(OrientedSoapPairScore self) -> SoapPairFilter"""
11155  return _IMP_atom.OrientedSoapPairScore_get_pair_filter(self)
11156 
11157  def __str__(self):
11158  r"""__str__(OrientedSoapPairScore self) -> std::string"""
11159  return _IMP_atom.OrientedSoapPairScore___str__(self)
11160 
11161  def __repr__(self):
11162  r"""__repr__(OrientedSoapPairScore self) -> std::string"""
11163  return _IMP_atom.OrientedSoapPairScore___repr__(self)
11164 
11165  @staticmethod
11166  def get_from(o):
11167  return _object_cast_to_OrientedSoapPairScore(o)
11168 
11169  __swig_destroy__ = _IMP_atom.delete_OrientedSoapPairScore
11170 
11171 # Register OrientedSoapPairScore in _IMP_atom:
11172 _IMP_atom.OrientedSoapPairScore_swigregister(OrientedSoapPairScore)
11173 class SameResiduePairFilter(IMP.PairPredicate):
11174  r"""Proxy of C++ IMP::atom::SameResiduePairFilter class."""
11175 
11176  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11177 
11178  def __init__(self):
11179  r"""__init__(SameResiduePairFilter self) -> SameResiduePairFilter"""
11180  _IMP_atom.SameResiduePairFilter_swiginit(self, _IMP_atom.new_SameResiduePairFilter())
11181 
11182  def do_get_inputs(self, m, pis):
11183  r"""do_get_inputs(SameResiduePairFilter self, Model m, IMP::ParticleIndexes const & pis) -> IMP::ModelObjectsTemp"""
11184  return _IMP_atom.SameResiduePairFilter_do_get_inputs(self, m, pis)
11185 
11186  def get_value(self, *args):
11187  r"""
11188  get_value(SameResiduePairFilter self, IMP::ParticlePair const & a) -> int
11189  get_value(SameResiduePairFilter self, IMP::ParticlePairsTemp const & o) -> IMP::Ints
11190  """
11191  return _IMP_atom.SameResiduePairFilter_get_value(self, *args)
11192 
11193  def get_value_index(self, *args):
11194  r"""
11195  get_value_index(SameResiduePairFilter self, Model m, IMP::ParticleIndexPair const & p) -> int
11196  get_value_index(SameResiduePairFilter self, Model m, IMP::ParticleIndexPairs const & o) -> IMP::Ints
11197  """
11198  return _IMP_atom.SameResiduePairFilter_get_value_index(self, *args)
11199 
11200  def get_version_info(self):
11201  r"""get_version_info(SameResiduePairFilter self) -> VersionInfo"""
11202  return _IMP_atom.SameResiduePairFilter_get_version_info(self)
11203  __swig_destroy__ = _IMP_atom.delete_SameResiduePairFilter
11204 
11205  def __str__(self):
11206  r"""__str__(SameResiduePairFilter self) -> std::string"""
11207  return _IMP_atom.SameResiduePairFilter___str__(self)
11208 
11209  def __repr__(self):
11210  r"""__repr__(SameResiduePairFilter self) -> std::string"""
11211  return _IMP_atom.SameResiduePairFilter___repr__(self)
11212 
11213  @staticmethod
11214  def get_from(o):
11215  return _object_cast_to_SameResiduePairFilter(o)
11216 
11217 
11218 # Register SameResiduePairFilter in _IMP_atom:
11219 _IMP_atom.SameResiduePairFilter_swigregister(SameResiduePairFilter)
11220 class RemoveRigidMotionOptimizerState(IMP.OptimizerState):
11221  r"""Proxy of C++ IMP::atom::RemoveRigidMotionOptimizerState class."""
11222 
11223  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11224 
11225  def __init__(self, m, pis):
11226  r"""__init__(RemoveRigidMotionOptimizerState self, Model m, _ParticleIndexesAdaptor pis) -> RemoveRigidMotionOptimizerState"""
11227  _IMP_atom.RemoveRigidMotionOptimizerState_swiginit(self, _IMP_atom.new_RemoveRigidMotionOptimizerState(m, pis))
11228 
11229  def set_particles(self, pis):
11230  r"""set_particles(RemoveRigidMotionOptimizerState self, IMP::Particles const & pis)"""
11231  return _IMP_atom.RemoveRigidMotionOptimizerState_set_particles(self, pis)
11232 
11233  def remove_rigid_motion(self):
11234  r"""remove_rigid_motion(RemoveRigidMotionOptimizerState self)"""
11235  return _IMP_atom.RemoveRigidMotionOptimizerState_remove_rigid_motion(self)
11236 
11237  def get_version_info(self):
11238  r"""get_version_info(RemoveRigidMotionOptimizerState self) -> VersionInfo"""
11239  return _IMP_atom.RemoveRigidMotionOptimizerState_get_version_info(self)
11240  __swig_destroy__ = _IMP_atom.delete_RemoveRigidMotionOptimizerState
11241 
11242  def __str__(self):
11243  r"""__str__(RemoveRigidMotionOptimizerState self) -> std::string"""
11244  return _IMP_atom.RemoveRigidMotionOptimizerState___str__(self)
11245 
11246  def __repr__(self):
11247  r"""__repr__(RemoveRigidMotionOptimizerState self) -> std::string"""
11248  return _IMP_atom.RemoveRigidMotionOptimizerState___repr__(self)
11249 
11250  @staticmethod
11251  def get_from(o):
11252  return _object_cast_to_RemoveRigidMotionOptimizerState(o)
11253 
11254 
11255 # Register RemoveRigidMotionOptimizerState in _IMP_atom:
11256 _IMP_atom.RemoveRigidMotionOptimizerState_swigregister(RemoveRigidMotionOptimizerState)
11257 class BerendsenThermostatOptimizerState(IMP.OptimizerState):
11258  r"""Proxy of C++ IMP::atom::BerendsenThermostatOptimizerState class."""
11259 
11260  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11261 
11262  def __init__(self, pis, temperature, tau):
11263  r"""__init__(BerendsenThermostatOptimizerState self, IMP::Particles const & pis, double temperature, double tau) -> BerendsenThermostatOptimizerState"""
11264  _IMP_atom.BerendsenThermostatOptimizerState_swiginit(self, _IMP_atom.new_BerendsenThermostatOptimizerState(pis, temperature, tau))
11265 
11266  def set_particles(self, pis):
11267  r"""set_particles(BerendsenThermostatOptimizerState self, IMP::Particles const & pis)"""
11268  return _IMP_atom.BerendsenThermostatOptimizerState_set_particles(self, pis)
11269 
11270  def get_temperature(self):
11271  r"""get_temperature(BerendsenThermostatOptimizerState self) -> double"""
11272  return _IMP_atom.BerendsenThermostatOptimizerState_get_temperature(self)
11273 
11274  def get_tau(self):
11275  r"""get_tau(BerendsenThermostatOptimizerState self) -> double"""
11276  return _IMP_atom.BerendsenThermostatOptimizerState_get_tau(self)
11277 
11278  def set_temperature(self, temperature):
11279  r"""set_temperature(BerendsenThermostatOptimizerState self, double temperature)"""
11280  return _IMP_atom.BerendsenThermostatOptimizerState_set_temperature(self, temperature)
11281 
11282  def set_tau(self, tau):
11283  r"""set_tau(BerendsenThermostatOptimizerState self, double tau)"""
11284  return _IMP_atom.BerendsenThermostatOptimizerState_set_tau(self, tau)
11285 
11286  def rescale_velocities(self):
11287  r"""rescale_velocities(BerendsenThermostatOptimizerState self)"""
11288  return _IMP_atom.BerendsenThermostatOptimizerState_rescale_velocities(self)
11289 
11290  def get_version_info(self):
11291  r"""get_version_info(BerendsenThermostatOptimizerState self) -> VersionInfo"""
11292  return _IMP_atom.BerendsenThermostatOptimizerState_get_version_info(self)
11293  __swig_destroy__ = _IMP_atom.delete_BerendsenThermostatOptimizerState
11294 
11295  def __str__(self):
11296  r"""__str__(BerendsenThermostatOptimizerState self) -> std::string"""
11297  return _IMP_atom.BerendsenThermostatOptimizerState___str__(self)
11298 
11299  def __repr__(self):
11300  r"""__repr__(BerendsenThermostatOptimizerState self) -> std::string"""
11301  return _IMP_atom.BerendsenThermostatOptimizerState___repr__(self)
11302 
11303  @staticmethod
11304  def get_from(o):
11305  return _object_cast_to_BerendsenThermostatOptimizerState(o)
11306 
11307 
11308 # Register BerendsenThermostatOptimizerState in _IMP_atom:
11309 _IMP_atom.BerendsenThermostatOptimizerState_swigregister(BerendsenThermostatOptimizerState)
11310 class LangevinThermostatOptimizerState(IMP.OptimizerState):
11311  r"""Proxy of C++ IMP::atom::LangevinThermostatOptimizerState class."""
11312 
11313  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11314 
11315  def __init__(self, m, pis, temperature, gamma):
11316  r"""__init__(LangevinThermostatOptimizerState self, Model m, _ParticleIndexesAdaptor pis, double temperature, double gamma) -> LangevinThermostatOptimizerState"""
11317  _IMP_atom.LangevinThermostatOptimizerState_swiginit(self, _IMP_atom.new_LangevinThermostatOptimizerState(m, pis, temperature, gamma))
11318 
11319  def set_particles(self, pis):
11320  r"""set_particles(LangevinThermostatOptimizerState self, IMP::Particles const & pis)"""
11321  return _IMP_atom.LangevinThermostatOptimizerState_set_particles(self, pis)
11322 
11323  def get_temperature(self):
11324  r"""get_temperature(LangevinThermostatOptimizerState self) -> double"""
11325  return _IMP_atom.LangevinThermostatOptimizerState_get_temperature(self)
11326 
11327  def get_gamma(self):
11328  r"""get_gamma(LangevinThermostatOptimizerState self) -> double"""
11329  return _IMP_atom.LangevinThermostatOptimizerState_get_gamma(self)
11330 
11331  def set_temperature(self, temperature):
11332  r"""set_temperature(LangevinThermostatOptimizerState self, double temperature)"""
11333  return _IMP_atom.LangevinThermostatOptimizerState_set_temperature(self, temperature)
11334 
11335  def set_gamma(self, gamma):
11336  r"""set_gamma(LangevinThermostatOptimizerState self, double gamma)"""
11337  return _IMP_atom.LangevinThermostatOptimizerState_set_gamma(self, gamma)
11338 
11339  def rescale_velocities(self):
11340  r"""rescale_velocities(LangevinThermostatOptimizerState self)"""
11341  return _IMP_atom.LangevinThermostatOptimizerState_rescale_velocities(self)
11342 
11343  def get_version_info(self):
11344  r"""get_version_info(LangevinThermostatOptimizerState self) -> VersionInfo"""
11345  return _IMP_atom.LangevinThermostatOptimizerState_get_version_info(self)
11346  __swig_destroy__ = _IMP_atom.delete_LangevinThermostatOptimizerState
11347 
11348  def __str__(self):
11349  r"""__str__(LangevinThermostatOptimizerState self) -> std::string"""
11350  return _IMP_atom.LangevinThermostatOptimizerState___str__(self)
11351 
11352  def __repr__(self):
11353  r"""__repr__(LangevinThermostatOptimizerState self) -> std::string"""
11354  return _IMP_atom.LangevinThermostatOptimizerState___repr__(self)
11355 
11356  @staticmethod
11357  def get_from(o):
11358  return _object_cast_to_LangevinThermostatOptimizerState(o)
11359 
11360 
11361 # Register LangevinThermostatOptimizerState in _IMP_atom:
11362 _IMP_atom.LangevinThermostatOptimizerState_swigregister(LangevinThermostatOptimizerState)
11363 class PDBSelector(IMP.Object):
11364  r"""Proxy of C++ IMP::atom::PDBSelector class."""
11365 
11366  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11367 
11368  def __init__(self, name):
11369  r"""__init__(PDBSelector self, std::string name) -> PDBSelector"""
11370  if self.__class__ == PDBSelector:
11371  _self = None
11372  else:
11373  _self = self
11374  _IMP_atom.PDBSelector_swiginit(self, _IMP_atom.new_PDBSelector(_self, name))
11375 
11376  if self.__class__ != PDBSelector:
11377  _director_objects.register(self)
11378 
11379 
11380 
11381 
11382  def get_is_selected(self, pdb_line):
11383  r"""get_is_selected(PDBSelector self, std::string const & pdb_line) -> bool"""
11384  return _IMP_atom.PDBSelector_get_is_selected(self, pdb_line)
11385  __swig_destroy__ = _IMP_atom.delete_PDBSelector
11386 
11387  def __str__(self):
11388  r"""__str__(PDBSelector self) -> std::string"""
11389  return _IMP_atom.PDBSelector___str__(self)
11390 
11391  def __repr__(self):
11392  r"""__repr__(PDBSelector self) -> std::string"""
11393  return _IMP_atom.PDBSelector___repr__(self)
11394 
11395  @staticmethod
11396  def get_from(o):
11397  return _object_cast_to_PDBSelector(o)
11398 
11399 
11400  def get_type_name(self):
11401  return self.__class__.__name__
11402  def do_show(self, out):
11403  pass
11404  def get_version_info(self):
11405  if"IMP::atom" == "IMP":
11406  return VersionInfo(self.__module__,
11407  __import__(self.__module__).get_module_version())
11408  else:
11409  return IMP.VersionInfo(self.__module__,
11410  __import__(self.__module__).get_module_version())
11411  @staticmethod
11412  def get_from(o):
11413  return _object_cast_to_PDBSelector(o)
11414 
11415 
11416  def __and__(self, s):
11417  return AndPDBSelector(self, s)
11418  def __or__(self, s):
11419  return OrPDBSelector(self, s)
11420  def __xor__(self, s):
11421  return XorPDBSelector(self, s)
11422  def __invert__(self):
11423  return NotPDBSelector(self)
11424  def __sub__(self, s):
11425  return AndPDBSelector(self, NotPDBSelector(s))
11426 
11427  def __disown__(self):
11428  self.this.disown()
11429  _IMP_atom.disown_PDBSelector(self)
11430  return weakref.proxy(self)
11431 
11432  def do_destroy(self):
11433  r"""do_destroy(PDBSelector self)"""
11434  return _IMP_atom.PDBSelector_do_destroy(self)
11435 
11436 # Register PDBSelector in _IMP_atom:
11437 _IMP_atom.PDBSelector_swigregister(PDBSelector)
11438 class NonAlternativePDBSelector(PDBSelector):
11439  r"""Proxy of C++ IMP::atom::NonAlternativePDBSelector class."""
11440 
11441  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11442 
11443  def __init__(self, *args):
11444  r"""__init__(NonAlternativePDBSelector self, std::string name="NonAlternativePDBSelector%1%") -> NonAlternativePDBSelector"""
11445  _IMP_atom.NonAlternativePDBSelector_swiginit(self, _IMP_atom.new_NonAlternativePDBSelector(*args))
11446 
11447  def get_version_info(self):
11448  r"""get_version_info(NonAlternativePDBSelector self) -> VersionInfo"""
11449  return _IMP_atom.NonAlternativePDBSelector_get_version_info(self)
11450  __swig_destroy__ = _IMP_atom.delete_NonAlternativePDBSelector
11451 
11452  def __str__(self):
11453  r"""__str__(NonAlternativePDBSelector self) -> std::string"""
11454  return _IMP_atom.NonAlternativePDBSelector___str__(self)
11455 
11456  def __repr__(self):
11457  r"""__repr__(NonAlternativePDBSelector self) -> std::string"""
11458  return _IMP_atom.NonAlternativePDBSelector___repr__(self)
11459 
11460  @staticmethod
11461  def get_from(o):
11462  return _object_cast_to_NonAlternativePDBSelector(o)
11463 
11464 
11465 # Register NonAlternativePDBSelector in _IMP_atom:
11466 _IMP_atom.NonAlternativePDBSelector_swigregister(NonAlternativePDBSelector)
11467 class ATOMPDBSelector(NonAlternativePDBSelector):
11468  r"""Proxy of C++ IMP::atom::ATOMPDBSelector class."""
11469 
11470  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11471 
11472  def __init__(self, *args):
11473  r"""__init__(ATOMPDBSelector self, std::string name="ATOMPDBSelector%1%") -> ATOMPDBSelector"""
11474  _IMP_atom.ATOMPDBSelector_swiginit(self, _IMP_atom.new_ATOMPDBSelector(*args))
11475  __swig_destroy__ = _IMP_atom.delete_ATOMPDBSelector
11476 
11477  def __str__(self):
11478  r"""__str__(ATOMPDBSelector self) -> std::string"""
11479  return _IMP_atom.ATOMPDBSelector___str__(self)
11480 
11481  def __repr__(self):
11482  r"""__repr__(ATOMPDBSelector self) -> std::string"""
11483  return _IMP_atom.ATOMPDBSelector___repr__(self)
11484 
11485  @staticmethod
11486  def get_from(o):
11487  return _object_cast_to_ATOMPDBSelector(o)
11488 
11489 
11490 # Register ATOMPDBSelector in _IMP_atom:
11491 _IMP_atom.ATOMPDBSelector_swigregister(ATOMPDBSelector)
11492 class CAlphaPDBSelector(NonAlternativePDBSelector):
11493  r"""Proxy of C++ IMP::atom::CAlphaPDBSelector class."""
11494 
11495  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11496 
11497  def __init__(self, *args):
11498  r"""__init__(CAlphaPDBSelector self, std::string name="CAlphaPDBSelector%1%") -> CAlphaPDBSelector"""
11499  _IMP_atom.CAlphaPDBSelector_swiginit(self, _IMP_atom.new_CAlphaPDBSelector(*args))
11500  __swig_destroy__ = _IMP_atom.delete_CAlphaPDBSelector
11501 
11502  def __str__(self):
11503  r"""__str__(CAlphaPDBSelector self) -> std::string"""
11504  return _IMP_atom.CAlphaPDBSelector___str__(self)
11505 
11506  def __repr__(self):
11507  r"""__repr__(CAlphaPDBSelector self) -> std::string"""
11508  return _IMP_atom.CAlphaPDBSelector___repr__(self)
11509 
11510  @staticmethod
11511  def get_from(o):
11512  return _object_cast_to_CAlphaPDBSelector(o)
11513 
11514 
11515 # Register CAlphaPDBSelector in _IMP_atom:
11516 _IMP_atom.CAlphaPDBSelector_swigregister(CAlphaPDBSelector)
11517 class CBetaPDBSelector(NonAlternativePDBSelector):
11518  r"""Proxy of C++ IMP::atom::CBetaPDBSelector class."""
11519 
11520  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11521 
11522  def __init__(self, *args):
11523  r"""__init__(CBetaPDBSelector self, std::string name="CBetaPDBSelector%1%") -> CBetaPDBSelector"""
11524  _IMP_atom.CBetaPDBSelector_swiginit(self, _IMP_atom.new_CBetaPDBSelector(*args))
11525  __swig_destroy__ = _IMP_atom.delete_CBetaPDBSelector
11526 
11527  def __str__(self):
11528  r"""__str__(CBetaPDBSelector self) -> std::string"""
11529  return _IMP_atom.CBetaPDBSelector___str__(self)
11530 
11531  def __repr__(self):
11532  r"""__repr__(CBetaPDBSelector self) -> std::string"""
11533  return _IMP_atom.CBetaPDBSelector___repr__(self)
11534 
11535  @staticmethod
11536  def get_from(o):
11537  return _object_cast_to_CBetaPDBSelector(o)
11538 
11539 
11540 # Register CBetaPDBSelector in _IMP_atom:
11541 _IMP_atom.CBetaPDBSelector_swigregister(CBetaPDBSelector)
11542 class AtomTypePDBSelector(PDBSelector):
11543  r"""Proxy of C++ IMP::atom::AtomTypePDBSelector class."""
11544 
11545  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11546 
11547  def __init__(self, *args):
11548  r"""__init__(AtomTypePDBSelector self, IMP::Strings atom_types, std::string name="AtomTypePDBSelector%1%") -> AtomTypePDBSelector"""
11549  _IMP_atom.AtomTypePDBSelector_swiginit(self, _IMP_atom.new_AtomTypePDBSelector(*args))
11550 
11551  def get_version_info(self):
11552  r"""get_version_info(AtomTypePDBSelector self) -> VersionInfo"""
11553  return _IMP_atom.AtomTypePDBSelector_get_version_info(self)
11554  __swig_destroy__ = _IMP_atom.delete_AtomTypePDBSelector
11555 
11556  def __str__(self):
11557  r"""__str__(AtomTypePDBSelector self) -> std::string"""
11558  return _IMP_atom.AtomTypePDBSelector___str__(self)
11559 
11560  def __repr__(self):
11561  r"""__repr__(AtomTypePDBSelector self) -> std::string"""
11562  return _IMP_atom.AtomTypePDBSelector___repr__(self)
11563 
11564  @staticmethod
11565  def get_from(o):
11566  return _object_cast_to_AtomTypePDBSelector(o)
11567 
11568 
11569 # Register AtomTypePDBSelector in _IMP_atom:
11570 _IMP_atom.AtomTypePDBSelector_swigregister(AtomTypePDBSelector)
11571 class ResidueTypePDBSelector(PDBSelector):
11572  r"""Proxy of C++ IMP::atom::ResidueTypePDBSelector class."""
11573 
11574  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11575 
11576  def __init__(self, *args):
11577  r"""__init__(ResidueTypePDBSelector self, IMP::Strings residue_types, std::string name="ResidueTypePDBSelector%1%") -> ResidueTypePDBSelector"""
11578  _IMP_atom.ResidueTypePDBSelector_swiginit(self, _IMP_atom.new_ResidueTypePDBSelector(*args))
11579 
11580  def get_version_info(self):
11581  r"""get_version_info(ResidueTypePDBSelector self) -> VersionInfo"""
11582  return _IMP_atom.ResidueTypePDBSelector_get_version_info(self)
11583  __swig_destroy__ = _IMP_atom.delete_ResidueTypePDBSelector
11584 
11585  def __str__(self):
11586  r"""__str__(ResidueTypePDBSelector self) -> std::string"""
11587  return _IMP_atom.ResidueTypePDBSelector___str__(self)
11588 
11589  def __repr__(self):
11590  r"""__repr__(ResidueTypePDBSelector self) -> std::string"""
11591  return _IMP_atom.ResidueTypePDBSelector___repr__(self)
11592 
11593  @staticmethod
11594  def get_from(o):
11595  return _object_cast_to_ResidueTypePDBSelector(o)
11596 
11597 
11598 # Register ResidueTypePDBSelector in _IMP_atom:
11599 _IMP_atom.ResidueTypePDBSelector_swigregister(ResidueTypePDBSelector)
11600 class CPDBSelector(NonAlternativePDBSelector):
11601  r"""Proxy of C++ IMP::atom::CPDBSelector class."""
11602 
11603  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11604 
11605  def __init__(self, *args):
11606  r"""__init__(CPDBSelector self, std::string name="CPDBSelector%1%") -> CPDBSelector"""
11607  _IMP_atom.CPDBSelector_swiginit(self, _IMP_atom.new_CPDBSelector(*args))
11608  __swig_destroy__ = _IMP_atom.delete_CPDBSelector
11609 
11610  def __str__(self):
11611  r"""__str__(CPDBSelector self) -> std::string"""
11612  return _IMP_atom.CPDBSelector___str__(self)
11613 
11614  def __repr__(self):
11615  r"""__repr__(CPDBSelector self) -> std::string"""
11616  return _IMP_atom.CPDBSelector___repr__(self)
11617 
11618  @staticmethod
11619  def get_from(o):
11620  return _object_cast_to_CPDBSelector(o)
11621 
11622 
11623 # Register CPDBSelector in _IMP_atom:
11624 _IMP_atom.CPDBSelector_swigregister(CPDBSelector)
11625 class NPDBSelector(NonAlternativePDBSelector):
11626  r"""Proxy of C++ IMP::atom::NPDBSelector class."""
11627 
11628  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11629 
11630  def __init__(self, *args):
11631  r"""__init__(NPDBSelector self, std::string name="NPDBSelector%1%") -> NPDBSelector"""
11632  _IMP_atom.NPDBSelector_swiginit(self, _IMP_atom.new_NPDBSelector(*args))
11633  __swig_destroy__ = _IMP_atom.delete_NPDBSelector
11634 
11635  def __str__(self):
11636  r"""__str__(NPDBSelector self) -> std::string"""
11637  return _IMP_atom.NPDBSelector___str__(self)
11638 
11639  def __repr__(self):
11640  r"""__repr__(NPDBSelector self) -> std::string"""
11641  return _IMP_atom.NPDBSelector___repr__(self)
11642 
11643  @staticmethod
11644  def get_from(o):
11645  return _object_cast_to_NPDBSelector(o)
11646 
11647 
11648 # Register NPDBSelector in _IMP_atom:
11649 _IMP_atom.NPDBSelector_swigregister(NPDBSelector)
11650 class AllPDBSelector(PDBSelector):
11651  r"""Proxy of C++ IMP::atom::AllPDBSelector class."""
11652 
11653  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11654 
11655  def __init__(self, *args):
11656  r"""__init__(AllPDBSelector self, std::string name="AllPDBSelector%1%") -> AllPDBSelector"""
11657  _IMP_atom.AllPDBSelector_swiginit(self, _IMP_atom.new_AllPDBSelector(*args))
11658 
11659  def get_version_info(self):
11660  r"""get_version_info(AllPDBSelector self) -> VersionInfo"""
11661  return _IMP_atom.AllPDBSelector_get_version_info(self)
11662  __swig_destroy__ = _IMP_atom.delete_AllPDBSelector
11663 
11664  def __str__(self):
11665  r"""__str__(AllPDBSelector self) -> std::string"""
11666  return _IMP_atom.AllPDBSelector___str__(self)
11667 
11668  def __repr__(self):
11669  r"""__repr__(AllPDBSelector self) -> std::string"""
11670  return _IMP_atom.AllPDBSelector___repr__(self)
11671 
11672  @staticmethod
11673  def get_from(o):
11674  return _object_cast_to_AllPDBSelector(o)
11675 
11676 
11677 # Register AllPDBSelector in _IMP_atom:
11678 _IMP_atom.AllPDBSelector_swigregister(AllPDBSelector)
11679 class ChainPDBSelector(NonAlternativePDBSelector):
11680  r"""Proxy of C++ IMP::atom::ChainPDBSelector class."""
11681 
11682  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11683  __swig_destroy__ = _IMP_atom.delete_ChainPDBSelector
11684 
11685  def __init__(self, *args):
11686  r"""__init__(ChainPDBSelector self, std::string const & chains, std::string name="ChainPDBSelector%1%") -> ChainPDBSelector"""
11687  _IMP_atom.ChainPDBSelector_swiginit(self, _IMP_atom.new_ChainPDBSelector(*args))
11688 
11689  def __str__(self):
11690  r"""__str__(ChainPDBSelector self) -> std::string"""
11691  return _IMP_atom.ChainPDBSelector___str__(self)
11692 
11693  def __repr__(self):
11694  r"""__repr__(ChainPDBSelector self) -> std::string"""
11695  return _IMP_atom.ChainPDBSelector___repr__(self)
11696 
11697  @staticmethod
11698  def get_from(o):
11699  return _object_cast_to_ChainPDBSelector(o)
11700 
11701 
11702 # Register ChainPDBSelector in _IMP_atom:
11703 _IMP_atom.ChainPDBSelector_swigregister(ChainPDBSelector)
11704 class WaterPDBSelector(NonAlternativePDBSelector):
11705  r"""Proxy of C++ IMP::atom::WaterPDBSelector class."""
11706 
11707  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11708 
11709  def __init__(self, *args):
11710  r"""__init__(WaterPDBSelector self, std::string name="WaterPDBSelector%1%") -> WaterPDBSelector"""
11711  _IMP_atom.WaterPDBSelector_swiginit(self, _IMP_atom.new_WaterPDBSelector(*args))
11712  __swig_destroy__ = _IMP_atom.delete_WaterPDBSelector
11713 
11714  def __str__(self):
11715  r"""__str__(WaterPDBSelector self) -> std::string"""
11716  return _IMP_atom.WaterPDBSelector___str__(self)
11717 
11718  def __repr__(self):
11719  r"""__repr__(WaterPDBSelector self) -> std::string"""
11720  return _IMP_atom.WaterPDBSelector___repr__(self)
11721 
11722  @staticmethod
11723  def get_from(o):
11724  return _object_cast_to_WaterPDBSelector(o)
11725 
11726 
11727 # Register WaterPDBSelector in _IMP_atom:
11728 _IMP_atom.WaterPDBSelector_swigregister(WaterPDBSelector)
11729 class HydrogenPDBSelector(NonAlternativePDBSelector):
11730  r"""Proxy of C++ IMP::atom::HydrogenPDBSelector class."""
11731 
11732  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11733 
11734  def __init__(self, *args):
11735  r"""__init__(HydrogenPDBSelector self, std::string name="HydrogenPDBSelector%1%") -> HydrogenPDBSelector"""
11736  _IMP_atom.HydrogenPDBSelector_swiginit(self, _IMP_atom.new_HydrogenPDBSelector(*args))
11737  __swig_destroy__ = _IMP_atom.delete_HydrogenPDBSelector
11738 
11739  def __str__(self):
11740  r"""__str__(HydrogenPDBSelector self) -> std::string"""
11741  return _IMP_atom.HydrogenPDBSelector___str__(self)
11742 
11743  def __repr__(self):
11744  r"""__repr__(HydrogenPDBSelector self) -> std::string"""
11745  return _IMP_atom.HydrogenPDBSelector___repr__(self)
11746 
11747  @staticmethod
11748  def get_from(o):
11749  return _object_cast_to_HydrogenPDBSelector(o)
11750 
11751 
11752 # Register HydrogenPDBSelector in _IMP_atom:
11753 _IMP_atom.HydrogenPDBSelector_swigregister(HydrogenPDBSelector)
11754 class NonWaterNonHydrogenPDBSelector(NonAlternativePDBSelector):
11755  r"""Proxy of C++ IMP::atom::NonWaterNonHydrogenPDBSelector class."""
11756 
11757  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11758  __swig_destroy__ = _IMP_atom.delete_NonWaterNonHydrogenPDBSelector
11759 
11760  def __init__(self, *args):
11761  r"""
11762  __init__(NonWaterNonHydrogenPDBSelector self, std::string name) -> NonWaterNonHydrogenPDBSelector
11763  __init__(NonWaterNonHydrogenPDBSelector self) -> NonWaterNonHydrogenPDBSelector
11764  """
11765  _IMP_atom.NonWaterNonHydrogenPDBSelector_swiginit(self, _IMP_atom.new_NonWaterNonHydrogenPDBSelector(*args))
11766 
11767  def __str__(self):
11768  r"""__str__(NonWaterNonHydrogenPDBSelector self) -> std::string"""
11769  return _IMP_atom.NonWaterNonHydrogenPDBSelector___str__(self)
11770 
11771  def __repr__(self):
11772  r"""__repr__(NonWaterNonHydrogenPDBSelector self) -> std::string"""
11773  return _IMP_atom.NonWaterNonHydrogenPDBSelector___repr__(self)
11774 
11775  @staticmethod
11776  def get_from(o):
11777  return _object_cast_to_NonWaterNonHydrogenPDBSelector(o)
11778 
11779 
11780 # Register NonWaterNonHydrogenPDBSelector in _IMP_atom:
11781 _IMP_atom.NonWaterNonHydrogenPDBSelector_swigregister(NonWaterNonHydrogenPDBSelector)
11782 class NonHydrogenPDBSelector(NonAlternativePDBSelector):
11783  r"""Proxy of C++ IMP::atom::NonHydrogenPDBSelector class."""
11784 
11785  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11786  __swig_destroy__ = _IMP_atom.delete_NonHydrogenPDBSelector
11787 
11788  def __init__(self, *args):
11789  r"""
11790  __init__(NonHydrogenPDBSelector self, std::string name) -> NonHydrogenPDBSelector
11791  __init__(NonHydrogenPDBSelector self) -> NonHydrogenPDBSelector
11792  """
11793  _IMP_atom.NonHydrogenPDBSelector_swiginit(self, _IMP_atom.new_NonHydrogenPDBSelector(*args))
11794 
11795  def __str__(self):
11796  r"""__str__(NonHydrogenPDBSelector self) -> std::string"""
11797  return _IMP_atom.NonHydrogenPDBSelector___str__(self)
11798 
11799  def __repr__(self):
11800  r"""__repr__(NonHydrogenPDBSelector self) -> std::string"""
11801  return _IMP_atom.NonHydrogenPDBSelector___repr__(self)
11802 
11803  @staticmethod
11804  def get_from(o):
11805  return _object_cast_to_NonHydrogenPDBSelector(o)
11806 
11807 
11808 # Register NonHydrogenPDBSelector in _IMP_atom:
11809 _IMP_atom.NonHydrogenPDBSelector_swigregister(NonHydrogenPDBSelector)
11810 class NonWaterPDBSelector(NonAlternativePDBSelector):
11811  r"""Proxy of C++ IMP::atom::NonWaterPDBSelector class."""
11812 
11813  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11814  __swig_destroy__ = _IMP_atom.delete_NonWaterPDBSelector
11815 
11816  def __init__(self, *args):
11817  r"""
11818  __init__(NonWaterPDBSelector self, std::string name) -> NonWaterPDBSelector
11819  __init__(NonWaterPDBSelector self) -> NonWaterPDBSelector
11820  """
11821  _IMP_atom.NonWaterPDBSelector_swiginit(self, _IMP_atom.new_NonWaterPDBSelector(*args))
11822 
11823  def __str__(self):
11824  r"""__str__(NonWaterPDBSelector self) -> std::string"""
11825  return _IMP_atom.NonWaterPDBSelector___str__(self)
11826 
11827  def __repr__(self):
11828  r"""__repr__(NonWaterPDBSelector self) -> std::string"""
11829  return _IMP_atom.NonWaterPDBSelector___repr__(self)
11830 
11831  @staticmethod
11832  def get_from(o):
11833  return _object_cast_to_NonWaterPDBSelector(o)
11834 
11835 
11836 # Register NonWaterPDBSelector in _IMP_atom:
11837 _IMP_atom.NonWaterPDBSelector_swigregister(NonWaterPDBSelector)
11838 class BackbonePDBSelector(NonWaterNonHydrogenPDBSelector):
11839  r"""Proxy of C++ IMP::atom::BackbonePDBSelector class."""
11840 
11841  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11842 
11843  def __init__(self, *args):
11844  r"""__init__(BackbonePDBSelector self, std::string name="BackbonePDBSelector%1%") -> BackbonePDBSelector"""
11845  _IMP_atom.BackbonePDBSelector_swiginit(self, _IMP_atom.new_BackbonePDBSelector(*args))
11846  __swig_destroy__ = _IMP_atom.delete_BackbonePDBSelector
11847 
11848  def __str__(self):
11849  r"""__str__(BackbonePDBSelector self) -> std::string"""
11850  return _IMP_atom.BackbonePDBSelector___str__(self)
11851 
11852  def __repr__(self):
11853  r"""__repr__(BackbonePDBSelector self) -> std::string"""
11854  return _IMP_atom.BackbonePDBSelector___repr__(self)
11855 
11856  @staticmethod
11857  def get_from(o):
11858  return _object_cast_to_BackbonePDBSelector(o)
11859 
11860 
11861 # Register BackbonePDBSelector in _IMP_atom:
11862 _IMP_atom.BackbonePDBSelector_swigregister(BackbonePDBSelector)
11863 class PPDBSelector(NonAlternativePDBSelector):
11864  r"""Proxy of C++ IMP::atom::PPDBSelector class."""
11865 
11866  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11867 
11868  def __init__(self, *args):
11869  r"""__init__(PPDBSelector self, std::string name="PPDBSelector%1%") -> PPDBSelector"""
11870  _IMP_atom.PPDBSelector_swiginit(self, _IMP_atom.new_PPDBSelector(*args))
11871  __swig_destroy__ = _IMP_atom.delete_PPDBSelector
11872 
11873  def __str__(self):
11874  r"""__str__(PPDBSelector self) -> std::string"""
11875  return _IMP_atom.PPDBSelector___str__(self)
11876 
11877  def __repr__(self):
11878  r"""__repr__(PPDBSelector self) -> std::string"""
11879  return _IMP_atom.PPDBSelector___repr__(self)
11880 
11881  @staticmethod
11882  def get_from(o):
11883  return _object_cast_to_PPDBSelector(o)
11884 
11885 
11886 # Register PPDBSelector in _IMP_atom:
11887 _IMP_atom.PPDBSelector_swigregister(PPDBSelector)
11888 class AndPDBSelector(PDBSelector):
11889  r"""Proxy of C++ IMP::atom::AndPDBSelector class."""
11890 
11891  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11892 
11893  def get_version_info(self):
11894  r"""get_version_info(AndPDBSelector self) -> VersionInfo"""
11895  return _IMP_atom.AndPDBSelector_get_version_info(self)
11896  __swig_destroy__ = _IMP_atom.delete_AndPDBSelector
11897 
11898  def __init__(self, a, b):
11899  r"""__init__(AndPDBSelector self, PDBSelector a, PDBSelector b) -> AndPDBSelector"""
11900  _IMP_atom.AndPDBSelector_swiginit(self, _IMP_atom.new_AndPDBSelector(a, b))
11901 
11902  def __str__(self):
11903  r"""__str__(AndPDBSelector self) -> std::string"""
11904  return _IMP_atom.AndPDBSelector___str__(self)
11905 
11906  def __repr__(self):
11907  r"""__repr__(AndPDBSelector self) -> std::string"""
11908  return _IMP_atom.AndPDBSelector___repr__(self)
11909 
11910  @staticmethod
11911  def get_from(o):
11912  return _object_cast_to_AndPDBSelector(o)
11913 
11914 
11915 # Register AndPDBSelector in _IMP_atom:
11916 _IMP_atom.AndPDBSelector_swigregister(AndPDBSelector)
11917 class OrPDBSelector(PDBSelector):
11918  r"""Proxy of C++ IMP::atom::OrPDBSelector class."""
11919 
11920  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11921 
11922  def get_version_info(self):
11923  r"""get_version_info(OrPDBSelector self) -> VersionInfo"""
11924  return _IMP_atom.OrPDBSelector_get_version_info(self)
11925  __swig_destroy__ = _IMP_atom.delete_OrPDBSelector
11926 
11927  def __init__(self, a, b):
11928  r"""__init__(OrPDBSelector self, PDBSelector a, PDBSelector b) -> OrPDBSelector"""
11929  _IMP_atom.OrPDBSelector_swiginit(self, _IMP_atom.new_OrPDBSelector(a, b))
11930 
11931  def __str__(self):
11932  r"""__str__(OrPDBSelector self) -> std::string"""
11933  return _IMP_atom.OrPDBSelector___str__(self)
11934 
11935  def __repr__(self):
11936  r"""__repr__(OrPDBSelector self) -> std::string"""
11937  return _IMP_atom.OrPDBSelector___repr__(self)
11938 
11939  @staticmethod
11940  def get_from(o):
11941  return _object_cast_to_OrPDBSelector(o)
11942 
11943 
11944 # Register OrPDBSelector in _IMP_atom:
11945 _IMP_atom.OrPDBSelector_swigregister(OrPDBSelector)
11946 class XorPDBSelector(PDBSelector):
11947  r"""Proxy of C++ IMP::atom::XorPDBSelector class."""
11948 
11949  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11950 
11951  def get_version_info(self):
11952  r"""get_version_info(XorPDBSelector self) -> VersionInfo"""
11953  return _IMP_atom.XorPDBSelector_get_version_info(self)
11954  __swig_destroy__ = _IMP_atom.delete_XorPDBSelector
11955 
11956  def __init__(self, a, b):
11957  r"""__init__(XorPDBSelector self, PDBSelector a, PDBSelector b) -> XorPDBSelector"""
11958  _IMP_atom.XorPDBSelector_swiginit(self, _IMP_atom.new_XorPDBSelector(a, b))
11959 
11960  def __str__(self):
11961  r"""__str__(XorPDBSelector self) -> std::string"""
11962  return _IMP_atom.XorPDBSelector___str__(self)
11963 
11964  def __repr__(self):
11965  r"""__repr__(XorPDBSelector self) -> std::string"""
11966  return _IMP_atom.XorPDBSelector___repr__(self)
11967 
11968  @staticmethod
11969  def get_from(o):
11970  return _object_cast_to_XorPDBSelector(o)
11971 
11972 
11973 # Register XorPDBSelector in _IMP_atom:
11974 _IMP_atom.XorPDBSelector_swigregister(XorPDBSelector)
11975 class NotPDBSelector(PDBSelector):
11976  r"""Proxy of C++ IMP::atom::NotPDBSelector class."""
11977 
11978  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
11979 
11980  def get_version_info(self):
11981  r"""get_version_info(NotPDBSelector self) -> VersionInfo"""
11982  return _IMP_atom.NotPDBSelector_get_version_info(self)
11983  __swig_destroy__ = _IMP_atom.delete_NotPDBSelector
11984 
11985  def __init__(self, a):
11986  r"""__init__(NotPDBSelector self, PDBSelector a) -> NotPDBSelector"""
11987  _IMP_atom.NotPDBSelector_swiginit(self, _IMP_atom.new_NotPDBSelector(a))
11988 
11989  def __str__(self):
11990  r"""__str__(NotPDBSelector self) -> std::string"""
11991  return _IMP_atom.NotPDBSelector___str__(self)
11992 
11993  def __repr__(self):
11994  r"""__repr__(NotPDBSelector self) -> std::string"""
11995  return _IMP_atom.NotPDBSelector___repr__(self)
11996 
11997  @staticmethod
11998  def get_from(o):
11999  return _object_cast_to_NotPDBSelector(o)
12000 
12001 
12002 # Register NotPDBSelector in _IMP_atom:
12003 _IMP_atom.NotPDBSelector_swigregister(NotPDBSelector)
12004 
12005 def get_default_pdb_selector():
12006  r"""get_default_pdb_selector() -> PDBSelector"""
12007  return _IMP_atom.get_default_pdb_selector()
12008 
12009 def read_pdb(*args):
12010  r"""
12011  read_pdb(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool select_first_model=True, bool no_radii=False) -> Hierarchy
12012  read_pdb(TextInput input, int model, Hierarchy h)
12013  """
12014  return _IMP_atom.read_pdb(*args)
12015 
12016 def read_multimodel_pdb(*args):
12017  r"""read_multimodel_pdb(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
12018  return _IMP_atom.read_multimodel_pdb(*args)
12019 
12020 def write_pdb(mhd, out, model=1):
12021  r"""write_pdb(Selection mhd, TextOutput out, unsigned int model=1)"""
12022  return _IMP_atom.write_pdb(mhd, out, model)
12023 
12024 def write_pdb_of_c_alphas(mhd, out, model=1):
12025  r"""write_pdb_of_c_alphas(Selection mhd, TextOutput out, unsigned int model=1)"""
12026  return _IMP_atom.write_pdb_of_c_alphas(mhd, out, model)
12027 
12028 def write_multimodel_pdb(mhd, out):
12029  r"""write_multimodel_pdb(IMP::atom::Hierarchies const & mhd, TextOutput out)"""
12030  return _IMP_atom.write_multimodel_pdb(mhd, out)
12031 
12032 def get_pdb_string(*args):
12033  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"""
12034  return _IMP_atom.get_pdb_string(*args)
12035 
12036 def get_pdb_conect_record_string(arg1, arg2):
12037  r"""get_pdb_conect_record_string(int arg1, int arg2) -> std::string"""
12038  return _IMP_atom.get_pdb_conect_record_string(arg1, arg2)
12039 class WritePDBOptimizerState(IMP.OptimizerState):
12040  r"""Proxy of C++ IMP::atom::WritePDBOptimizerState 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__(WritePDBOptimizerState self, Model m, _ParticleIndexesAdaptor pis, std::string filename) -> WritePDBOptimizerState
12047  __init__(WritePDBOptimizerState self, IMP::atom::Hierarchies const mh, std::string filename) -> WritePDBOptimizerState
12048  __init__(WritePDBOptimizerState self) -> WritePDBOptimizerState
12049  """
12050  _IMP_atom.WritePDBOptimizerState_swiginit(self, _IMP_atom.new_WritePDBOptimizerState(*args))
12051 
12052  def get_version_info(self):
12053  r"""get_version_info(WritePDBOptimizerState self) -> VersionInfo"""
12054  return _IMP_atom.WritePDBOptimizerState_get_version_info(self)
12055  __swig_destroy__ = _IMP_atom.delete_WritePDBOptimizerState
12056 
12057  def __str__(self):
12058  r"""__str__(WritePDBOptimizerState self) -> std::string"""
12059  return _IMP_atom.WritePDBOptimizerState___str__(self)
12060 
12061  def __repr__(self):
12062  r"""__repr__(WritePDBOptimizerState self) -> std::string"""
12063  return _IMP_atom.WritePDBOptimizerState___repr__(self)
12064 
12065  @staticmethod
12066  def get_from(o):
12067  return _object_cast_to_WritePDBOptimizerState(o)
12068 
12069 
12070  def _get_as_binary(self):
12071  r"""_get_as_binary(WritePDBOptimizerState self) -> PyObject *"""
12072  return _IMP_atom.WritePDBOptimizerState__get_as_binary(self)
12073 
12074  def _set_from_binary(self, p):
12075  r"""_set_from_binary(WritePDBOptimizerState self, PyObject * p)"""
12076  return _IMP_atom.WritePDBOptimizerState__set_from_binary(self, p)
12077 
12078  def __getstate__(self):
12079  p = self._get_as_binary()
12080  if len(self.__dict__) > 1:
12081  d = self.__dict__.copy()
12082  del d['this']
12083  p = (d, p)
12084  return p
12085 
12086  def __setstate__(self, p):
12087  if not hasattr(self, 'this'):
12088  self.__init__()
12089  if isinstance(p, tuple):
12090  d, p = p
12091  self.__dict__.update(d)
12092  return self._set_from_binary(p)
12093 
12094 
12095 # Register WritePDBOptimizerState in _IMP_atom:
12096 _IMP_atom.WritePDBOptimizerState_swigregister(WritePDBOptimizerState)
12097 
12098 def read_multimodel_mmcif(*args):
12099  r"""read_multimodel_mmcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
12100  return _IMP_atom.read_multimodel_mmcif(*args)
12101 
12102 def read_mmcif(*args):
12103  r"""read_mmcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool select_first_model=True, bool noradii=False) -> Hierarchy"""
12104  return _IMP_atom.read_mmcif(*args)
12105 
12106 def read_pdb_or_mmcif(*args):
12107  r"""read_pdb_or_mmcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool select_first_model=True, bool noradii=False) -> Hierarchy"""
12108  return _IMP_atom.read_pdb_or_mmcif(*args)
12109 
12110 def read_multimodel_pdb_or_mmcif(*args):
12111  r"""read_multimodel_pdb_or_mmcif(TextInput input, Model model, PDBSelector selector=IMP::atom::get_default_pdb_selector(), bool noradii=False) -> IMP::atom::Hierarchies"""
12112  return _IMP_atom.read_multimodel_pdb_or_mmcif(*args)
12113 
12114 def get_kt(T):
12115  r"""get_kt(double T) -> double"""
12116  return _IMP_atom.get_kt(T)
12117 class CAAngleRestraint(IMP.Restraint):
12118  r"""Proxy of C++ IMP::atom::CAAngleRestraint class."""
12119 
12120  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12121 
12122  def __init__(self, m, p1, p2, p3, phi0, score):
12123  r"""__init__(CAAngleRestraint self, Model m, _ParticleIndexAdaptor p1, _ParticleIndexAdaptor p2, _ParticleIndexAdaptor p3, IMP::Floats phi0, IMP::Floats score) -> CAAngleRestraint"""
12124  _IMP_atom.CAAngleRestraint_swiginit(self, _IMP_atom.new_CAAngleRestraint(m, p1, p2, p3, phi0, score))
12125 
12126  def do_get_inputs(self):
12127  r"""do_get_inputs(CAAngleRestraint self) -> IMP::ModelObjectsTemp"""
12128  return _IMP_atom.CAAngleRestraint_do_get_inputs(self)
12129 
12130  def get_version_info(self):
12131  r"""get_version_info(CAAngleRestraint self) -> VersionInfo"""
12132  return _IMP_atom.CAAngleRestraint_get_version_info(self)
12133  __swig_destroy__ = _IMP_atom.delete_CAAngleRestraint
12134 
12135  def __str__(self):
12136  r"""__str__(CAAngleRestraint self) -> std::string"""
12137  return _IMP_atom.CAAngleRestraint___str__(self)
12138 
12139  def __repr__(self):
12140  r"""__repr__(CAAngleRestraint self) -> std::string"""
12141  return _IMP_atom.CAAngleRestraint___repr__(self)
12142 
12143  @staticmethod
12144  def get_from(o):
12145  return _object_cast_to_CAAngleRestraint(o)
12146 
12147 
12148 # Register CAAngleRestraint in _IMP_atom:
12149 _IMP_atom.CAAngleRestraint_swigregister(CAAngleRestraint)
12150 class CADihedralRestraint(IMP.Restraint):
12151  r"""Proxy of C++ IMP::atom::CADihedralRestraint class."""
12152 
12153  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12154 
12155  def __init__(self, m, p1, p2, p3, p4, p5, phi0, phi1, score):
12156  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"""
12157  _IMP_atom.CADihedralRestraint_swiginit(self, _IMP_atom.new_CADihedralRestraint(m, p1, p2, p3, p4, p5, phi0, phi1, score))
12158 
12159  def do_get_inputs(self):
12160  r"""do_get_inputs(CADihedralRestraint self) -> IMP::ModelObjectsTemp"""
12161  return _IMP_atom.CADihedralRestraint_do_get_inputs(self)
12162 
12163  def get_version_info(self):
12164  r"""get_version_info(CADihedralRestraint self) -> VersionInfo"""
12165  return _IMP_atom.CADihedralRestraint_get_version_info(self)
12166  __swig_destroy__ = _IMP_atom.delete_CADihedralRestraint
12167 
12168  def __str__(self):
12169  r"""__str__(CADihedralRestraint self) -> std::string"""
12170  return _IMP_atom.CADihedralRestraint___str__(self)
12171 
12172  def __repr__(self):
12173  r"""__repr__(CADihedralRestraint self) -> std::string"""
12174  return _IMP_atom.CADihedralRestraint___repr__(self)
12175 
12176  @staticmethod
12177  def get_from(o):
12178  return _object_cast_to_CADihedralRestraint(o)
12179 
12180 
12181 # Register CADihedralRestraint in _IMP_atom:
12182 _IMP_atom.CADihedralRestraint_swigregister(CADihedralRestraint)
12183 class StructureSource(IMP.Decorator):
12184  r"""Proxy of C++ IMP::atom::StructureSource class."""
12185 
12186  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12187 
12188  def get_source_id(self):
12189  r"""get_source_id(StructureSource self) -> std::string"""
12190  return _IMP_atom.StructureSource_get_source_id(self)
12191 
12192  def get_source_chain_id(self):
12193  r"""get_source_chain_id(StructureSource self) -> std::string"""
12194  return _IMP_atom.StructureSource_get_source_chain_id(self)
12195 
12196  def set_source_id(self, source_id):
12197  r"""set_source_id(StructureSource self, std::string source_id)"""
12198  return _IMP_atom.StructureSource_set_source_id(self, source_id)
12199 
12200  def set_source_chain_id(self, source_chain_id):
12201  r"""set_source_chain_id(StructureSource self, std::string source_chain_id)"""
12202  return _IMP_atom.StructureSource_set_source_chain_id(self, source_chain_id)
12203 
12204  def __init__(self, *args):
12205  r"""
12206  __init__(StructureSource self) -> StructureSource
12207  __init__(StructureSource self, Model m, ParticleIndex id) -> StructureSource
12208  __init__(StructureSource self, _ParticleAdaptor d) -> StructureSource
12209  """
12210  _IMP_atom.StructureSource_swiginit(self, _IMP_atom.new_StructureSource(*args))
12211 
12212  @staticmethod
12213  def get_is_setup(*args):
12214  r"""
12215  get_is_setup(Model m, ParticleIndex pi) -> bool
12216  get_is_setup(_ParticleAdaptor p) -> bool
12217  """
12218  return _IMP_atom.StructureSource_get_is_setup(*args)
12219 
12220  def show(self, *args):
12221  r"""show(StructureSource self, _ostream out=std::cout)"""
12222  return _IMP_atom.StructureSource_show(self, *args)
12223 
12224  @staticmethod
12225  def setup_particle(*args):
12226  r"""
12227  setup_particle(Model m, ParticleIndex pi, std::string source_id, std::string source_chain_id) -> StructureSource
12228  setup_particle(_ParticleAdaptor pa, std::string source_id, std::string source_chain_id) -> StructureSource
12229  """
12230  return _IMP_atom.StructureSource_setup_particle(*args)
12231 
12232  def add_attribute(self, *args):
12233  r"""
12234  add_attribute(StructureSource self, FloatKey k, IMP::Float v, bool opt)
12235  add_attribute(StructureSource self, FloatKey a0, IMP::Float a1)
12236  add_attribute(StructureSource self, IntKey a0, IMP::Int a1)
12237  add_attribute(StructureSource self, FloatsKey a0, IMP::Floats a1)
12238  add_attribute(StructureSource self, IntsKey a0, IMP::Ints a1)
12239  add_attribute(StructureSource self, StringKey a0, IMP::String a1)
12240  add_attribute(StructureSource self, ParticleIndexKey a0, Particle a1)
12241  add_attribute(StructureSource self, ObjectKey a0, Object a1)
12242  """
12243  return _IMP_atom.StructureSource_add_attribute(self, *args)
12244 
12245  def get_value(self, *args):
12246  r"""
12247  get_value(StructureSource self, FloatKey a0) -> IMP::Float
12248  get_value(StructureSource self, IntKey a0) -> IMP::Int
12249  get_value(StructureSource self, FloatsKey a0) -> IMP::Floats
12250  get_value(StructureSource self, IntsKey a0) -> IMP::Ints
12251  get_value(StructureSource self, StringKey a0) -> IMP::String
12252  get_value(StructureSource self, ParticleIndexKey a0) -> Particle
12253  get_value(StructureSource self, ObjectKey a0) -> Object
12254  """
12255  return _IMP_atom.StructureSource_get_value(self, *args)
12256 
12257  def set_value(self, *args):
12258  r"""
12259  set_value(StructureSource self, FloatKey a0, IMP::Float a1)
12260  set_value(StructureSource self, IntKey a0, IMP::Int a1)
12261  set_value(StructureSource self, FloatsKey a0, IMP::Floats a1)
12262  set_value(StructureSource self, IntsKey a0, IMP::Ints a1)
12263  set_value(StructureSource self, StringKey a0, IMP::String a1)
12264  set_value(StructureSource self, ParticleIndexKey a0, Particle a1)
12265  set_value(StructureSource self, ObjectKey a0, Object a1)
12266  """
12267  return _IMP_atom.StructureSource_set_value(self, *args)
12268 
12269  def remove_attribute(self, *args):
12270  r"""
12271  remove_attribute(StructureSource self, FloatKey a0)
12272  remove_attribute(StructureSource self, IntKey a0)
12273  remove_attribute(StructureSource self, FloatsKey a0)
12274  remove_attribute(StructureSource self, IntsKey a0)
12275  remove_attribute(StructureSource self, StringKey a0)
12276  remove_attribute(StructureSource self, ParticleIndexKey a0)
12277  remove_attribute(StructureSource self, ObjectKey a0)
12278  """
12279  return _IMP_atom.StructureSource_remove_attribute(self, *args)
12280 
12281  def has_attribute(self, *args):
12282  r"""
12283  has_attribute(StructureSource self, FloatKey a0) -> bool
12284  has_attribute(StructureSource self, IntKey a0) -> bool
12285  has_attribute(StructureSource self, FloatsKey a0) -> bool
12286  has_attribute(StructureSource self, IntsKey a0) -> bool
12287  has_attribute(StructureSource self, StringKey a0) -> bool
12288  has_attribute(StructureSource self, ParticleIndexKey a0) -> bool
12289  has_attribute(StructureSource self, ObjectKey a0) -> bool
12290  """
12291  return _IMP_atom.StructureSource_has_attribute(self, *args)
12292 
12293  def get_derivative(self, a0):
12294  r"""get_derivative(StructureSource self, FloatKey a0) -> double"""
12295  return _IMP_atom.StructureSource_get_derivative(self, a0)
12296 
12297  def get_name(self):
12298  r"""get_name(StructureSource self) -> std::string"""
12299  return _IMP_atom.StructureSource_get_name(self)
12300 
12301  def clear_caches(self):
12302  r"""clear_caches(StructureSource self)"""
12303  return _IMP_atom.StructureSource_clear_caches(self)
12304 
12305  def set_name(self, a0):
12306  r"""set_name(StructureSource self, std::string a0)"""
12307  return _IMP_atom.StructureSource_set_name(self, a0)
12308 
12309  def set_check_level(self, a0):
12310  r"""set_check_level(StructureSource self, IMP::CheckLevel a0)"""
12311  return _IMP_atom.StructureSource_set_check_level(self, a0)
12312 
12313  def add_to_derivative(self, a0, a1, a2):
12314  r"""add_to_derivative(StructureSource self, FloatKey a0, double a1, DerivativeAccumulator a2)"""
12315  return _IMP_atom.StructureSource_add_to_derivative(self, a0, a1, a2)
12316 
12317  def set_is_optimized(self, a0, a1):
12318  r"""set_is_optimized(StructureSource self, FloatKey a0, bool a1)"""
12319  return _IMP_atom.StructureSource_set_is_optimized(self, a0, a1)
12320 
12321  def get_is_optimized(self, a0):
12322  r"""get_is_optimized(StructureSource self, FloatKey a0) -> bool"""
12323  return _IMP_atom.StructureSource_get_is_optimized(self, a0)
12324 
12325  def get_check_level(self):
12326  r"""get_check_level(StructureSource self) -> IMP::CheckLevel"""
12327  return _IMP_atom.StructureSource_get_check_level(self)
12328 
12329  def __eq__(self, *args):
12330  r"""
12331  __eq__(StructureSource self, StructureSource o) -> bool
12332  __eq__(StructureSource self, Particle d) -> bool
12333  """
12334  return _IMP_atom.StructureSource___eq__(self, *args)
12335 
12336  def __ne__(self, *args):
12337  r"""
12338  __ne__(StructureSource self, StructureSource o) -> bool
12339  __ne__(StructureSource self, Particle d) -> bool
12340  """
12341  return _IMP_atom.StructureSource___ne__(self, *args)
12342 
12343  def __le__(self, *args):
12344  r"""
12345  __le__(StructureSource self, StructureSource o) -> bool
12346  __le__(StructureSource self, Particle d) -> bool
12347  """
12348  return _IMP_atom.StructureSource___le__(self, *args)
12349 
12350  def __lt__(self, *args):
12351  r"""
12352  __lt__(StructureSource self, StructureSource o) -> bool
12353  __lt__(StructureSource self, Particle d) -> bool
12354  """
12355  return _IMP_atom.StructureSource___lt__(self, *args)
12356 
12357  def __ge__(self, *args):
12358  r"""
12359  __ge__(StructureSource self, StructureSource o) -> bool
12360  __ge__(StructureSource self, Particle d) -> bool
12361  """
12362  return _IMP_atom.StructureSource___ge__(self, *args)
12363 
12364  def __gt__(self, *args):
12365  r"""
12366  __gt__(StructureSource self, StructureSource o) -> bool
12367  __gt__(StructureSource self, Particle d) -> bool
12368  """
12369  return _IMP_atom.StructureSource___gt__(self, *args)
12370 
12371  def __hash__(self):
12372  r"""__hash__(StructureSource self) -> std::size_t"""
12373  return _IMP_atom.StructureSource___hash__(self)
12374 
12375  def __str__(self):
12376  r"""__str__(StructureSource self) -> std::string"""
12377  return _IMP_atom.StructureSource___str__(self)
12378 
12379  def __repr__(self):
12380  r"""__repr__(StructureSource self) -> std::string"""
12381  return _IMP_atom.StructureSource___repr__(self)
12382 
12383  def _get_as_binary(self):
12384  r"""_get_as_binary(StructureSource self) -> PyObject *"""
12385  return _IMP_atom.StructureSource__get_as_binary(self)
12386 
12387  def _set_from_binary(self, p):
12388  r"""_set_from_binary(StructureSource self, PyObject * p)"""
12389  return _IMP_atom.StructureSource__set_from_binary(self, p)
12390 
12391  def __getstate__(self):
12392  p = self._get_as_binary()
12393  if len(self.__dict__) > 1:
12394  d = self.__dict__.copy()
12395  del d['this']
12396  p = (d, p)
12397  return p
12398 
12399  def __setstate__(self, p):
12400  if not hasattr(self, 'this'):
12401  self.__init__()
12402  if isinstance(p, tuple):
12403  d, p = p
12404  self.__dict__.update(d)
12405  return self._set_from_binary(p)
12406 
12407  __swig_destroy__ = _IMP_atom.delete_StructureSource
12408 
12409 # Register StructureSource in _IMP_atom:
12410 _IMP_atom.StructureSource_swigregister(StructureSource)
12411 
12412 def __lshift__(*args):
12413  r"""
12414  __lshift__(_ostream out, Bonded n) -> _ostream
12415  __lshift__(_ostream out, Bond n) -> _ostream
12416  __lshift__(_ostream out, Hierarchy n) -> _ostream
12417  __lshift__(_ostream out, Angle n) -> _ostream
12418  __lshift__(_ostream out, Dihedral n) -> _ostream
12419  __lshift__(_ostream out, CenterOfMass n) -> _ostream
12420  __lshift__(_ostream out, Diffusion n) -> _ostream
12421  __lshift__(_ostream out, RigidBodyDiffusion n) -> _ostream
12422  __lshift__(_ostream out, TAMDParticle n) -> _ostream
12423  __lshift__(_ostream out, Chain n) -> _ostream
12424  __lshift__(_ostream out, Charged n) -> _ostream
12425  __lshift__(_ostream out, Domain n) -> _ostream
12426  __lshift__(_ostream out, LennardJones n) -> _ostream
12427  __lshift__(_ostream out, Fragment n) -> _ostream
12428  __lshift__(_ostream out, SecondaryStructureResidue n) -> _ostream
12429  __lshift__(_ostream out, Atom n) -> _ostream
12430  __lshift__(_ostream out, Residue n) -> _ostream
12431  __lshift__(_ostream out, Representation n) -> _ostream
12432  __lshift__(_ostream out, State n) -> _ostream
12433  __lshift__(_ostream out, Molecule n) -> _ostream
12434  __lshift__(_ostream out, Copy n) -> _ostream
12435  __lshift__(_ostream out, StructureSource n) -> _ostream
12436  """
12437  return _IMP_atom.__lshift__(*args)
12438 class HelixRestraint(IMP.Restraint):
12439  r"""Proxy of C++ IMP::atom::HelixRestraint class."""
12440 
12441  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12442 
12443  def __init__(self, rs, ideal=True):
12444  r"""__init__(HelixRestraint self, IMP::atom::Residues rs, bool ideal=True) -> HelixRestraint"""
12445  _IMP_atom.HelixRestraint_swiginit(self, _IMP_atom.new_HelixRestraint(rs, ideal))
12446 
12447  def get_number_of_bonds(self):
12448  r"""get_number_of_bonds(HelixRestraint self) -> int"""
12449  return _IMP_atom.HelixRestraint_get_number_of_bonds(self)
12450 
12451  def get_number_of_dihedrals(self):
12452  r"""get_number_of_dihedrals(HelixRestraint self) -> int"""
12453  return _IMP_atom.HelixRestraint_get_number_of_dihedrals(self)
12454 
12455  def do_get_inputs(self):
12456  r"""do_get_inputs(HelixRestraint self) -> IMP::ModelObjectsTemp"""
12457  return _IMP_atom.HelixRestraint_do_get_inputs(self)
12458 
12459  def get_version_info(self):
12460  r"""get_version_info(HelixRestraint self) -> VersionInfo"""
12461  return _IMP_atom.HelixRestraint_get_version_info(self)
12462  __swig_destroy__ = _IMP_atom.delete_HelixRestraint
12463 
12464  def __str__(self):
12465  r"""__str__(HelixRestraint self) -> std::string"""
12466  return _IMP_atom.HelixRestraint___str__(self)
12467 
12468  def __repr__(self):
12469  r"""__repr__(HelixRestraint self) -> std::string"""
12470  return _IMP_atom.HelixRestraint___repr__(self)
12471 
12472  @staticmethod
12473  def get_from(o):
12474  return _object_cast_to_HelixRestraint(o)
12475 
12476 
12477 # Register HelixRestraint in _IMP_atom:
12478 _IMP_atom.HelixRestraint_swigregister(HelixRestraint)
12479 
12481  r"""get_transformation_aligning_first_to_second(Selection s1, Selection s2) -> Transformation3D"""
12482  return _IMP_atom.get_transformation_aligning_first_to_second(s1, s2)
12483 
12484 def show_molecular_hierarchy(*args):
12485  r"""show_molecular_hierarchy(Hierarchy h, _ostream out=std::cout) -> _ostream"""
12486  return _IMP_atom.show_molecular_hierarchy(*args)
12487 class CHARMMBond(object):
12488  r"""Proxy of C++ IMP::atom::CHARMMConnection< 2 > class."""
12489 
12490  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12491  __repr__ = _swig_repr
12492 
12493  def __init__(self, atoms):
12494  r"""__init__(CHARMMBond self, IMP::Strings const & atoms) -> CHARMMBond"""
12495  _IMP_atom.CHARMMBond_swiginit(self, _IMP_atom.new_CHARMMBond(atoms))
12496 
12497  def get_endpoint(self, i):
12498  r"""get_endpoint(CHARMMBond self, unsigned int i) -> CHARMMBondEndpoint"""
12499  return _IMP_atom.CHARMMBond_get_endpoint(self, i)
12500 
12501  def get_contains_atom(self, name):
12502  r"""get_contains_atom(CHARMMBond self, std::string name) -> bool"""
12503  return _IMP_atom.CHARMMBond_get_contains_atom(self, name)
12504 
12505  def show(self, *args):
12506  r"""show(CHARMMBond self, _ostream out=std::cout)"""
12507  return _IMP_atom.CHARMMBond_show(self, *args)
12508  __swig_destroy__ = _IMP_atom.delete_CHARMMBond
12509 
12510 # Register CHARMMBond in _IMP_atom:
12511 _IMP_atom.CHARMMBond_swigregister(CHARMMBond)
12512 class CHARMMAngle(object):
12513  r"""Proxy of C++ IMP::atom::CHARMMConnection< 3 > class."""
12514 
12515  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
12516  __repr__ = _swig_repr
12517 
12518  def __init__(self, atoms):
12519  r"""__init__(CHARMMAngle self, IMP::Strings const & atoms) -> CHARMMAngle"""
12520  _IMP_atom.CHARMMAngle_swiginit(self, _IMP_atom.new_CHARMMAngle(atoms))
12521 
12522  def get_endpoint(self, i):
12523  r"""get_endpoint(CHARMMAngle self, unsigned int i) -> CHARMMBondEndpoint"""
12524  return _IMP_atom.CHARMMAngle_get_endpoint(self, i)
12525 
12526  def get_contains_atom(self, name):
12527  r"""get_contains_atom(CHARMMAngle self, std::string name) -> bool"""
12528  return _IMP_atom.CHARMMAngle_get_contains_atom(self, name)
12529 
12530  def show(self, *args):
12531  r"""show(CHARMMAngle self, _ostream out=std::cout)"""
12532  return _IMP_atom.CHARMMAngle_show(self, *args)
12533  __swig_destroy__ = _IMP_atom.delete_CHARMMAngle
12534 
12535 # Register CHARMMAngle in _IMP_atom:
12536 _IMP_atom.CHARMMAngle_swigregister(CHARMMAngle)
12537 
12538 def _get_native_overlap_cpp(m1, m2, threshold):
12539  r"""_get_native_overlap_cpp(IMP::Vector< IMP::algebra::VectorD< 3 > > const & m1, IMP::Vector< IMP::algebra::VectorD< 3 > > const & m2, double threshold) -> double"""
12540  return _IMP_atom._get_native_overlap_cpp(m1, m2, threshold)
12541 
12542 def _get_drmsd_cpp(m0, m1):
12543  r"""_get_drmsd_cpp(IMP::Vector< IMP::algebra::VectorD< 3 > > const & m0, IMP::Vector< IMP::algebra::VectorD< 3 > > const & m1) -> double"""
12544  return _IMP_atom._get_drmsd_cpp(m0, m1)
12545 
12546 def _get_drmsd_Q_cpp(m0, m1, threshold):
12547  r"""_get_drmsd_Q_cpp(IMP::Vector< IMP::algebra::VectorD< 3 > > const & m0, IMP::Vector< IMP::algebra::VectorD< 3 > > const & m1, double threshold) -> double"""
12548  return _IMP_atom._get_drmsd_Q_cpp(m0, m1, threshold)
12549 
12550 def _get_drms_cpp(m1, m2):
12551  r"""_get_drms_cpp(IMP::Vector< IMP::algebra::VectorD< 3 > > const & m1, IMP::Vector< IMP::algebra::VectorD< 3 > > const & m2) -> double"""
12552  return _IMP_atom._get_drms_cpp(m1, m2)
12553 
12554 def _get_rigid_bodies_drms_cpp(m1, m2, ranges):
12555  r"""_get_rigid_bodies_drms_cpp(IMP::Vector< IMP::algebra::VectorD< 3 > > const & m1, IMP::Vector< IMP::algebra::VectorD< 3 > > const & m2, IMP::IntRanges const & ranges) -> double"""
12556  return _IMP_atom._get_rigid_bodies_drms_cpp(m1, m2, ranges)
12557 
12558 def get_native_overlap(a, b, d):
12559  va= [IMP.algebra.get_vector(x) for x in a]
12560  vb= [IMP.algebra.get_vector(x) for x in b]
12561  return _get_native_overlap_cpp(va, vb, d)
12562 
12563 def get_drmsd(a, b):
12564  va= [IMP.algebra.get_vector(x) for x in a]
12565  vb= [IMP.algebra.get_vector(x) for x in b]
12566  return _get_drmsd_cpp(va, vb)
12567 
12568 def get_drms(a, b):
12569  va= [IMP.algebra.get_vector(x) for x in a]
12570  vb= [IMP.algebra.get_vector(x) for x in b]
12571  return _get_drms_cpp(va, vb)
12572 
12573 def get_drmsd_Q(a, b, t):
12574  va= [IMP.algebra.get_vector(x) for x in a]
12575  vb= [IMP.algebra.get_vector(x) for x in b]
12576  return _get_drmsd_Q_cpp(va, vb, t)
12577 
12578 def get_rigid_bodies_drms(a, b, ranges):
12579  va= [IMP.algebra.get_vector(x) for x in a]
12580  vb= [IMP.algebra.get_vector(x) for x in b]
12581 #rs = [IMP.IntRange(r[0],r[1]) for r in ranges]
12582  return _get_rigid_bodies_drms_cpp(va, vb, ranges)
12583 
12584 
12585 
12586 def get_module_version():
12587  r"""get_module_version() -> std::string const"""
12588  return _IMP_atom.get_module_version()
12589 
12590 def get_example_path(fname):
12591  r"""get_example_path(std::string fname) -> std::string"""
12592  return _IMP_atom.get_example_path(fname)
12593 
12594 def get_data_path(fname):
12595  r"""get_data_path(std::string fname) -> std::string"""
12596  return _IMP_atom.get_data_path(fname)
12597 
12598 from . import _version_check
12599 _version_check.check_version(get_module_version())
12600 __version__ = get_module_version()
12601 
12602 
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.
Hierarchy read_pdb_or_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 PDB or mmCIF file.
Definition: mmcif.h:40
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)
void remove_charmm_untyped_atoms(Hierarchy hierarchy)
Remove any atom from the Hierarchy that does not have a CHARMM type.
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.
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.
double get_volume(const BoundingBoxD< D > &bb)
See BoundingBoxD.
Definition: BoundingBoxD.h:170
FloatPair get_component_placement_score(const core::XYZs &ref1, const core::XYZs &ref2, const core::XYZs &mdl1, const core::XYZs &mdl2)
Measure the difference between two placements of the same set of points.
void transform(Hierarchy h, const algebra::Transformation3D &tr)
Transform a hierarchy. This is aware of rigid bodies.
core::XYZR create_cover(const Selection &s, std::string name=std::string())
double get_volume_from_mass(double m, ProteinDensityReference ref=ALBER)
Estimate the volume of a protein from its mass.
Ints get_index(const ParticlesTemp &particles, const Subset &subset, const Subsets &excluded)
Common base class for heavy weight IMP objects.
Definition: Object.h:111
Hierarchy create_protein(Model *m, std::string name, double target_radius, int number_of_residues, int first_residue_index=0, double volume=-1)
Create a coarse grained molecule.
Atoms get_psi_dihedral_atoms(Residue rd)
Return the atoms comprising the psi dihedral.
Abstract class for scoring object(s) of type ParticleIndex.
ParticlesTemp get_order(const Subset &s, const SubsetFilterTables &sft)
Bond create_bond(Bonded a, Bonded b, Int t)
Connect the two wrapped particles by a bond.
double get_rotational_diffusion_coefficient(const algebra::Rotation3Ds &orientations, double dt)
Base class for all optimizers.
Definition: Optimizer.h:48
double get_rmsd(const Vector3DsOrXYZs0 &m1, const Vector3DsOrXYZs1 &m2)
Hierarchy get_previous_residue(Residue rd)
Return the residue from the same chain with one lower index.
SecondaryStructureResidue setup_coarse_secondary_structure_residue(const Particles &ssr_ps, Model *mdl, bool winner_takes_all_per_res=false)
Coarsen some SecondaryStructureResidues.
double get_molarity(double n, double volume)
Definition: estimates.h:92
boost::graph HierarchyTree
A graph for representing a Hierarchy so you can view it nicely.
Hierarchy read_mol2(TextInput mol2_file, Model *model, Mol2Selector *mol2sel=nullptr)
Create a hierarchy from a Mol2 file.
Version and module information for Objects.
Definition: VersionInfo.h:29
double get_radius_of_gyration(const Vector3Ds &ps)
Return the radius of gyration of a set of points.
Definition: Vector3D.h:77
A decorator for a particle with x,y,z coordinates.
Definition: XYZ.h:30
void add_loop_statistical_score_data(atom::Hierarchy h)
Restraint * create_internal_connectivity_restraint(const Selection &s, double k, std::string name="Connectivity%1%")
Create a restraint connecting the selection.
void write_mol2(Hierarchy rhd, TextOutput file_name)
Write a ligand hierarchy as a mol2 file.
Hierarchy read_pdb(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector(), bool select_first_model=true)
Read all the molecules in the first model of the PDB file.
int get_state_index(Hierarchy h)
Walk up the hierarchy to find the current state.
SecondaryStructureResidues setup_coarse_secondary_structure_residues(const Particles &ssr_ps, Model *mdl, int coarse_factor, int start_res_num, bool winner_takes_all_per_res=false)
void add_protein_ligand_score_data(Hierarchy h)
Interface to specialized Particle types (e.g. atoms)
Definition: Decorator.h:119
std::string get_molecule_name(Hierarchy h)
std::ostream & show(Hierarchy h, std::ostream &out=std::cout)
Print the hierarchy using a given decorator to display each node.
Vector< Atoms > get_chi_dihedral_atoms(Residue rd)
Hierarchies read_multimodel_pdb_or_mmcif(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector())
Read all models from the PDB or mmCIF file.
Definition: mmcif.h:60
double get_pairwise_rmsd_score(const core::XYZs &ref1, const core::XYZs &ref2, const core::XYZs &mdl1, const core::XYZs &mdl2)
Measure the RMSD between two placements of the same set of points.
double get_force_in_femto_newtons(double force_in_kcal_per_mol_per_angstrom)
Convert force from kcal/mol/A to femtonewtons.
Basic functionality that is expected to be used by a wide variety of IMP users.
Abstract predicate function.
Definition: PairPredicate.h:31
General purpose algebraic and geometric methods that are expected to be used by a wide variety of IMP...
Hierarchies read_multimodel_pdb(TextInput input, Model *model, PDBSelector *selector=get_default_pdb_selector())
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.
Residue get_residue(Atom d, bool nothrow=false)
Return the Residue containing this atom.
Shared optimizer state that is invoked upon commitment of new coordinates.
Hierarchy get_root(Hierarchy h)
Return the root of the hierarchy.
Abstract class to implement hierarchical methods.
Definition: Refiner.h:34
void add_dope_score_data(atom::Hierarchy h)
Bond get_bond(Bonded a, Bonded b)
Get the bond between two particles.
std::string show_graphviz(Graph g)
Restraint * create_distance_restraint(const Selection &n0, const Selection &n1, double x0, double k, std::string name="Distance%1%")
Representation get_representation(Hierarchy h, bool nothrow=false)
Return the Representation object containing this hierarchy.
FloatPair get_placement_score(const core::XYZs &source, const core::XYZs &target)
Measure the difference between two placements of the same set of points.
void write_multimodel_pdb(const Hierarchies &mhd, TextOutput out)
int get_copy_index(Hierarchy h)
Walk up the hierarchy to find the current copy index.
A decorator for helping deal with a generalized hierarchy.
double get_maximum_time_step_estimate(BrownianDynamics *bd)
double get_diffusion_coefficient(const algebra::Vector3Ds &displacements, double dt)
double get_surface_area(const Geometry &)
Compute the surface area of any volumetric object.
double get_resolution(Model *m, ParticleIndex pi)
Estimate the resolution of the hierarchy as used by Representation.
double get_rmsd_transforming_first(const Transformation3D &tr, const Vector3DsOrXYZs0 &m1, const Vector3DsOrXYZs1 &m2)
Calculate the root mean square deviation between two sets of 3D points.
Hierarchy create_simplified_assembly_from_volume(Hierarchy h, double resolution)
Output IMP model data in various file formats.
std::string get_chain_id(Hierarchy h)
Walk up the hierarchy to determine the chain id.
IMP::core::RigidBody create_rigid_body(const Hierarchies &h, std::string name=std::string("created rigid body"))
Rigidify a molecule or collection of molecules.
CHARMMParameters * get_all_atom_CHARMM_parameters()
Hierarchies get_leaves(const Selection &h)
double get_einstein_diffusion_coefficient(double r, double temp=-1)
double get_drmsd_Q(const Vector3DsOrXYZs0 &m0, const Vector3DsOrXYZs1 &m1, double threshold)
Definition: atom/distance.h:85
DensityMap * get_segment(DensityMap *map_to_segment, int nx_start, int nx_end, int ny_start, int ny_end, int nz_start, int nz_end)
Get a segment of the map according to xyz indexes.
Applies a PairScore to each Pair in a list.
Hierarchy get_next_residue(Residue rd)
Return the residue from the same chain with one higher index.
Restraint * create_connectivity_restraint(const Selections &s, double k, std::string name="Connectivity%1%")
Create a restraint connecting the selections.
void add_bonds(Hierarchy d, const ForceFieldParameters *ffp=get_all_atom_CHARMM_parameters())
Add bonds using definitions from given force field parameters.
void set_check_level(CheckLevel tf)
Control runtime checks in the code.
Definition: exception.h:72
double get_diffusion_length(double D, double t)
std::string get_module_version()
Return the version of this module, as a string.
A restraint is a term in an IMP ScoringFunction.
Definition: Restraint.h:56
A decorator for a particle with x,y,z coordinates and a radius.
Definition: XYZR.h:27