yes - this looks good, as long as it follows with examples for
protein rigid bodies, usage of that in optimization, maybe also
something about relevant score-states. Also - there is this issue of
moving a rigid body that does not really does anything unless a flag
is set - maybe it would be good to explain the mechanism of rigid body
movements. Also - for optimization it might be useful to mention the
RigidBodyMover.
On Jan 26, 2010, at 1:56 AM, Daniel Russel wrote:
Is this a better overview of rigid bodies text? The previous one was
not well structured.
A rigid body particle describes a set of particles, known
as the members, which move rigidly together. Since the
members are simply a set of particles which move together
they don't (necessarily) define a shape. For example,
the members could include representations of the geometry
at several different representations. As a result, methods
that use rigid bodies also take a Refiner. This refiner
is used to map from the rigid body to the set of particles
defining the geometry of interest.
The initial orientation of the rigid body is computed from
the coordinates, masses and radii of the particles
passed to the constructor, based on diagonalizing the
inertial tensor (which is not stored, currently).
A rigid body stores the a set of local coordinates for each
member and an algebra::Transformation3D mapping between
the local coordinates and the actual location of the member.
It is often desirable to randomize the orientation of a rigid
body:
\verbinclude randomize_rigid_body.py
On Jan 25, 2010, at 3:33 PM, Keren Lasker wrote:
thanks Daniel.
Is there a function for each of those ? if so it would be useful to
explicitly have it in the documentation.
and specifically for my current requirement - what is the function
for getting the set of particles which defines the highest
resolution description of the shape, if the rigid body is not
defined by atom::Hierarchy.
?
On Jan 26, 2010, at 1:27 AM, Daniel Russel wrote:
On Jan 25, 2010, at 3:20 PM, Keren Lasker wrote:
To get the particles within a rigid body, it is better using
IMP::core::get_leaves or get_members,
Maybe :-) They do different things (that might happen to have the
same result sometimes).
i.e.: does get_members return the leaves or the children of the
RigidBody ?
neither, it returns all particles which move rigidly with the
rigid body.
Basically, when you have a shape that happens to be rigid, there
are many sets of particles associated with it
- all particles which movie rigidly with the shape (the rigid
members)
- the set of particles which defines the highest resolution
description of the shape (which, if the rigid body is created from
a molecular hierarchy, would be the leaves)
- the set of particles which defines the coarsest description of
the shape. Typically this is just the rigid body particle itself
with a radius
- the set of particles defining the residues in the rigid body
- the particles defining the sphere hierarchy used for collision
detection between that rigid hierarchy and another rigid hierarchy
(which would be members, if they existed)
etc.
Depending on what you want to do, you will need different ones of
these sets.