Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Test if 2 transformations produce equivalent relations to a reference

  1. Oct 19, 2011 #1
    Hello --

    I have some reference object R (e.g. a protein), and I've got two transformations t1 and t2 (e.g. a transformation = quaternion + translation). In my case, t1 and t2 were obtained from symmetry operations.

    So after applying t1 to R I get object T1, and after applying t2 to R I get object T2. How do I determine whether system S1=R+T1 is equivalent to system S2=R+T2? That is, after eliminating the 6 laboratory degrees of freedom, whether S1 =?= S2?

    The only way I can think of is to actually make S1 and S2 (or a subset of their points), minimize the root-mean-square-deviation of coordinates in S1 vs S2, and see if the rmsd == 0. However, my intuition says there should be something I can test in t1 vs t2 to determine this.

    For example, I know that S1 and S2 are not equivalent if the magnitude of the two translations are different. Here's some sample data:

    0[ -0.02845, -0.11515, -0.48573, 0.86603][ -30.36901, 16.88513, -10.19267][ -44.14951, 9.93415, -7.73766] dist = 15.6283439198
    1[ -0.04928, -0.19945, -0.84130, 0.50000][ -30.36901, 16.88513, -10.19267][ -57.37728, 18.17323, -8.91610] dist = 27.0690857072
    2[ -0.05690, -0.23030, -0.97145, 0.00000][ -30.36901, 16.88513, -10.19267][ -56.82456, 33.36329, -12.54953] dist = 31.2566878395
    3[ -0.04928, -0.19945, -0.84130, -0.50000][ -30.36901, 16.88513, -10.19267][ -43.04406, 40.31426, -15.00454] dist = 27.0690857072
    4[ -0.02845, -0.11515, -0.48573, -0.86603][ -30.36901, 16.88513, -10.19267][ -29.81629, 32.07518, -13.82610] dist = 15.6283439198

    which represents a system describable as a C6 cyclic rotation, one row for each transformed unit. The first brackets have the quaternion (x,y,z,w), the second brackets are the pre-rotation translation, and the third brackets are the post-rotation translation. Lastly, I went ahead and computed the total translation distance = mag(post-pre). So looking at the distances, you can immediately guess that 0 and 4 are the units adjacent to the reference (i.e. ortho), 1 and 3 are meta, and 2 is para. The relationship between the reference and both ortho units have the equivalence I'm looking for, while the reference and the meta units also have that equivalence. The reason I want to know this is because if S1 and S2 are the same, I only need to calculate the energy for one of them and multiply it by 2.

    For Cn, I already know which transformations are equivalent, but since I'm looking into implementing more complicated symmetry groups, I'm interested in simply detecting equivalence.

    Thanks for any advice!

    To see what I mean by ortho, meta, para:
  2. jcsd
  3. Oct 20, 2011 #2
    I implemented the test I described (i.e. rmsd) and it has the problem that rmsd can't distinguish between S1=R+T1 and S1=T1+R. That is, the order of the points matters to rmsd, but not to me. My new test is to compare the distance between all pairs of points...
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook