I run homogeneous refinement with optimize per-group ctf parameters and find TILT optimization is crucial for my dataset with one optics group. The difference is 3.0 without tilt optimization v <2.0 Å with.
I convert to star file with csparc2star.py and manually insert the same values for _rlnBeamTiltX and _rlnBeamTiltY into the end of every particle line. This value is obtained by the cryosparc final iteration, under fitting parameters
New group params:
Tilt (mrad): [x y]
I have to use --inverty during csparc2star for relion-extract to get the particle coordinates, but NOT --flipy or my reconstruction is 8 Å (it is 3.1 Å with --flipy).
How can I force cryosparc to apply the same beamtilt as identified in the original refinement to the relion-extracted particles?
Say for example I want to share a particle stack with a collaborator and they will work with the alignments and shifts identified in my refinement, but it can’t reconstruct to the same resolution without beamtilt refinement. How can I do this and play nicely with conversion between relion?
Short answer is you can’t at present - and in terms of converting beam tilt (& trefoil etc) between relion and cryosparc, I’m not sure it is as simple as just directly transposing them - both due to coordinate system issues (flipy/inverty etc) and differences in how the higher order params are specified. There is an open issue on the pyem
github requesting conversion of higher order CTF params in csparc2star.py
, but it does not yet have the capacity to do so.
Presently, if I need to do this, I just re-rerun CTFrefine in relion, which is usually pretty quick and gives comparable results to global CTF refinement in CS (and is actually more flexible in a lot of ways).
I agree it would be great to be able to convert them though - also for comparing CTF refinement approaches in the two software packages.
1 Like
Thanks, Oli! Hoping there can be a consensus between the two programs in the future.
1 Like
You can also export/archive cryoSPARC files and give them the .cs files with CTF values from cryoSPARC, if you have a working refinement there.
2 Likes
Yes - if you want to do that, the best way I have found is this: Moving a particle stack to a separate machine - #2 by olibclarke
Then export the particle sets job and make a tarball from it, which is relatively compact as it only has the particles and associated metadata, and can then be directly imported on another CS instance.