On 8/22/20 2:30 PM, Jan Kosinski wrote: > I tried to test sth related to the TransformationSymmetry on rigid > bodies and I fail to get it work properly in the below simple example. > > In the example I create four copies of a chain, create four-fold > symmetry constraints and try to generate the updated configuration using > model.update(). In the resulting model.rmf, three chain copies are fine > and follow the symmetry but one copy of the chains is weirdly rotated.
Your script looks OK to me. I would need to see your input PDB to say for sure, but TransformationSymmetry on a rigid body sets the reference frame of the body, i.e. the coordinate system used for all particles in that body, not the global coordinates of the member particles. I expect if you examine the rigid bodies' reference frames, you'll see they're related by the transformation correctly. The initial reference frame of a rigid body is (usually) the principal axes of the members, not the origin of the global coordinate system, so my guess is that these don't all line up in your case.
Ben