Dear Xiang-Jun,
I have been having trouble rebuilding the base reference frames from the middle frame and base pair parameters outputted by x3DNA/DSSR.
Middle Frame: [[0.825, 0.565, 0.001], [-0.565, 0.824, -0.032], [-0.018, 0.026, 1.0]]
Base Pair Parameters: [-0.176, -0.054, 0.306, -0.548, -9.232, -3.527]
I am implementing the method from the x3DNA user manual (attached below). It seems that one of the frames I am calculating (labeled F2) has its y and z axes reflected.
Reference Frames calculated by me:
F1c: [[ 0.838, 0.54 , 0.082], [-0.539, 0.841, -0.034], [-0.087, -0.016, 0.996]]
*F2c: [[ 0.806, 0.586, -0.0802], [-0.59, 0.807, -0.025], [ 0.051 , 0.067, 0.996]]
*y and z axes are reflected
Reference Frames outputted by DSSR:
F1: [[0.838, 0.54, 0.082], [-0.539, 0.841, -0.034], [-0.087, -0.016, 0.996]]
F2: [[0.806, 0.587, -0.081], [0.59, -0.807, 0.024], [-0.051, -0.067, -0.996]]
I can just multiply the frame by this matrix: [[ 1, 0, 0], [ 0, -1, 0], [ 0, 0, -1]], but I was wondering what might be wrong with my implementation.
I have attached the formulas I am using, as well as the pdb I am analyzing and DSSR json file output. Let me know if I should attach anything else that may be helpful.
Edit: The bases I am analyzing in the pdb file are the modified 8OG-C pair (Base numbers 2 and 5).
Thank you for your time,
Nil