I noticed my final map was flipped in Z-direction but I don’t want to re-run the NU refinement job to get the new bild file. Is there a direct way to handle the bild file with the option flipZ (used in the map flip in Z-direction)? Can pyem do that? Thanks in advance!
I used your star.py to convert my star file with the option --invert-hand then directly reconstructed a map using relion_reconstruct_mpi, and I found the reconstructed map is the similar to the output map from Relion’s option --invert_hand. Therefore your invert-hand option in star.py is similar to flipX.
Hi @donghuachen – glad you got the BILD file working! I just want to clear something up about flipping maps: flipping a 3D object along any axis will produce a result that is a rotated version of flipping along a different axis.
When you “flip” a 3D object, you change its hand. You could imagine this similar to holding a mirror up to the object. Depending on where you hold the mirror, the final orientation of the project might be different, but you could rotate the resulting mirrored object in space to get it to match something flipped along another axis.
You can test this yourself using chimeraX! Load up a map of your choice. In my case, I’ll use a map I reconstructed from EMPIAR 10288.
We see the maps are now perfectly superimposed! You can check the correlation with the command measure correlation #2 inMap #3, which will be 1, meaning they are identical.
They also both have the opposite handedness of the original map.
Hi rposert,
Thanks for clearing it out. One question, which one is better flipZ or flipX to change the handedness? I am asking this because based on Relion, invert_hand (flipX) seems better as it retains symmetry origin as pasted below. Need some clarification here.
–flipX (false) : Flip (mirror) a 2D image or 3D map in the X-direction?
–flipY (false) : Flip (mirror) a 2D image or 3D map in the Y-direction?
–flipZ (false) : Flip (mirror) a 3D map in the Z-direction?
–invert_hand (false) : Invert hand by flipping X? Similar to flipX, but preserves the symmetry origin. Edge pixels are wrapped around.
@donghuachen Rich is right, it is actually pretty easy to rotate the results with the turn command in ChimeraX, hope flipping along X is ok for you.
@rmattoo I see what you mean. The standard flipping operation is just “collating” or reversing a deck of playing cards by dealing out to a new pile. (The cards = volume slices on the given axis). The relion “–invert_hand” option extends this by continuing to cycle cards from the top to the bottom of the new deck, until card intersecting the symmetry origin is back at the same position it was initially. AFAICT the difference is irrelevant for the axial (or “prismatic”) point groups which only have symmetry operators coinciding with the orthogonal axes (Cn, Dn, Sn), but does matter for the polyhedral groups (Tx, Ox, Ix).
Just chiming in that CryoSPARC’s “flip hand” option (in Volume Tools, Homo Reconstruct Only, etc.) causes an inversion through the origin which preserves symmetry axes as well. This is also equivalent to a reflection along any axis, combined with a 180º rotation along that axis. One also could obtain inverted particle orientations, bild files, etc. by running a homogeneous reconstruction with this option enabled.