-
Notifications
You must be signed in to change notification settings - Fork 30
Assembling rigid bodies
IMP currently doesn't have a good canned procedure for assembling rigid bodies in the presence of various restraints but in the absence of an EM map or other data that provides a reference frame. Various procedures have been tried with some success. A canned solution may take ideas from various of them. Monte-Carlo based approaches seem to be the best bet, perhaps combined with Brownian dynamics for the fine grained refinement.
Sometimes, particles need to be assigned to different compartments within the bounding box (eg, segments of EM map), and it's trivial to just place all the particles to, for example, the corresponding compartments' centroids. This places many particles on top of each other, and significantly slows down the excluded volume calculation. To solve the problem, one can randomize positions within the compartments, which speeds up the process.
Simplifying the rigid bodies to one or a small number of balls each and then optimizing those can provide reasonable initial conformations for finer assembly steps. To do this, one can use the ball defined by the IMP::core::RigidBody particle itself.
Shrinking the radii of particles used for excluded volume computations and then optimizing the conformation while gradually bringing the radius back up to its full value has worked nicely when there are not too many connections between the particles being updated.
Turning the assembly into a tree and then assembling by adding pieces one at a time followed by optimization, sometimes works nicely. One way of doing this would be to compute the MST of the graph formed by the components connected by weighted edges representing the number of restraints between each components (eg two components which have 2 restraints between them could have a weight for the edge of 1/2). Such an approach could be combined with Domino (use Domino to choose the final relative orientation between a parent and its children based on the conformations sampled in the above procedure).
One can define a flexible region in a given rigid body. This in Monte-Carlo sampling has the advantage that combines collective (i.e., rigid body) and individual (e.g.,BallMover) moves.