After export to relion, 3D refinement fails

Hej everyone,

I’ve imported particles from relion 3 into cryosparc v2 to do 2D classification which seems to work so much better in CS than in relion. Then, I exported the particles back into relion using pyem to do 3D refinement in relion to compare to my CS results (which don’t look super great).

Using the particles in 2D classification, in Initial model and 3D classification works perfectly fine. But the 3D refinement immediately fails and I can’t find out why.

Has anyone experienced this or has any clue why this may be? I have attached the error that I get and the relion parameters I used. I tried various relion parameters by now but I just can’t figure it out… I also tested my parameters with “relion-only” particles and with them, I could get it to work. It might be something stupid… XD

Any help is greatly appreciated!


You need to remove the rlnRandomSubset column from your star file, as it still remains attached.

If you run the command:

relion_star_handler --i --o --remove_column rlnRandomSubset

It should then work.

1 Like

Hej Donald,

thank you so much, it works now!


Hi Claudia, do you do 3D refinement from a 3D classification job in cryosparc, or you use the CS output of homogeneous refinement to feed relion ?
I’m happy to hear the comments of the community here.
Thanks a lot

Hej Jacopo,
neither nor. I use the CS output from 2D classification to do 3D refinement or 3D classification in relion.

Thank you, Claudia. I take the occasion to ask another thing, and sorry again if this has been extensively clarified already. Because the .mrc extension of the extracted particles from cryosparc has to be modified to .mrcs to do any relion job, is it correct that once this is done, then to re-do any cryosparc job one has to re-modify the extension back to .mrc ? Is there a way to avoid this back and forth?



I just ran into this issue. Thanks for posting

Just make .mrcs symlinks in the directory with the particle stacks. Then make a symlink to the cryosparc job directory in your Relion project directory.

cd project/job/extract
for i in *.mrc; do ln -s $i ${i%.mrc}.mrcs; done