I fixed the gain reference issue, added unlimited passthroughs / extra .cs files, and fixed the --flipy argument. Hopefully that fixes exporting the files for everyone - just give the main .cs file first and then all the other .cs files you want until all the required fields are found.
I also got my converted files to actually yield good Polishing output. The key was in this thread. We know that Relion is going to see our particles Y-flipped from how cryoSPARC saw them when we process the movies again. That means that the new extracted particle image will have a different shift and orientation than the one in the converted particles file. The transformation that corrects the particles to match the movies as Relion sees them is the diag(1,-1,-1) rotation described in the thread, plus multiplying Y shift by -1.
The map for polishing can then be made by relion_reconstruct, or the cryoSPARC map can be simply flipped itself (first on Z, then on Y).
--flipy
applies rlnOriginYAnsgt
= -rlnOriginYAngst
and transforms by diag(1,-1,-1)
Under normal circumstances where you run Patch Motion in cryoSPARC, then export particles with --flipy
and NOT --inverty
and Polishing is correct for now, however the current convention for --inverty
is an unfortunate choice. I would like to swap the meaning of the --inverty
. The reason is that right now to get the same numerical coordinate in/out of cryoSPARC in repeat export/import cycles you need --inverty
, but that should be the default. Instead --inverty
should mean when you really need to flip the particles because you will extract using Relion.
But I don’t want to break old scripts that people may have…I will update the instructions on the github to reflect these points soon.