below
On Jan 26, 2010, at 2:29 AM, Daniel Russel wrote:
On Jan 25, 2010, at 4:01 PM, Keren Lasker wrote:
yes - this looks good, as long as it follows with examples for
protein rigid bodies, usage of that in optimization,
A protein example would be good. Do you have something simple around
from experimenting for multifit? A couple of proteins and simple
distance restraints that provide a unique relative orientation for
example.
yes - jeremy and i are finalizing something like that for the review,
so we should be able to add it soon.
Do we have something we can on discussing rigid body modeling in
general with biological structures?
maybe also something about relevant score-states.
No one should ever see them, so definitely not documenting them.
i had the pleasure of meeting then when working on domino, so - it
might be useful for "advanced" usages.
Also - there is this issue of moving a rigid body that does not
really does anything unless a flag is set
That is long gone :-)
- maybe it would be good to explain the mechanism of rigid body
movements.
Yeah, I'll add a mention of constraints and a link to the
constraints page in an advanced section.
Also - for optimization it might be useful to mention the
RigidBodyMover.
Indeed, you should have added a link when you wrote it :-) I've
added one.
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.