Exporting map and particle file to Relion 3.0

Hi all,
I am having some troubles with exporting my map and particle file from Cryosparc after refinement to Relion. Here is what I have been doing:

  1. Downloaded the J###.particles.alignments3D file and convert it to .star format using the command: csparc2star.py P1_J###_particles.cs cryosparc-particles.star

  2. Downloaded the J###.volume.map_half_A and changed the box size to match with the particle size using the command:
    relion_image_handler --i J###.volume.map_half_A.mrc --new_box 288 --o J###new-box288.mrc

  3. Now I am using cryosparc-particles.star and J###new-box288.mrc in Relion to run the refinement using the command:
    which relion_refine_mpi --o Refine3D/job039/run --auto_refine --split_random_halves --i Select/job034/particles.star --ref …/Downloads/job242-unfiltered.mrc --firstiter_cc --ini_high 60 --dont_combine_weights_via_disc --pool 3 --pad 2 --ctf --particle_diameter 208 --flatten_solvent --zero_mask --oversampling 1 --healpix_order 3 --auto_local_healpix_order 3 --offset_range 5 --offset_step 2 --sym C1 --low_resol_join_halves 40 --norm --scale --j 5 --gpu “”

The resulting map that I am getting in Relion is very poor and looks nothing like the map that I am getting from Cryosparc refinement. While cryosparc refines the map to 5.1A resolution and I see a lot of features especially all the helices, the map in Relion is about 17A and has absolutely no features at all.

I am concerned that I am doing something wrong in the process of exporting the files. Any suggestions in this regard would be very helpful please. Thanks.


The particle origins from cryoSPARC are in terms of the refinement box (not the particle box). Relion needs them in terms of the particle box.

You can use the --boxsize argument with csparc2star.py to fix this problem, by giving the refinement box (it will use the pixel size from the particles to make the correction).

Hi Daniel,
Thanks for your reply. I tried using --boxsize with cryosparc2star.py but it returns an error:

usage: csparc2star.py [-h] [–passthrough PASSTHROUGH] [–class CLS]
[–minphic MINPHIC] [–stack-path STACK_PATH]
[–micrograph-path MICROGRAPH_PATH]
[–copy-micrograph-coordinates COPY_MICROGRAPH_COORDINATES]
[–cached] [–transform TRANSFORM] [–loglevel LOGLEVEL]
input output
csparc2star.py: error: unrecognized arguments: --boxsize 250

The command that I gave was:
csparc2star.py j242particles-align3d.cs j242particles-align3d-box250.star --boxsize 250

Do you think there is something wrong with my syntax? Thanks.


P.S. I think you are right about the box size because my particle boxsize is different from the boxsize that I used for refinement in cryosparc.

You just need to update pyem, use the most recent version of the release branch.

Eureka! It works and the map in relion looks much better! Thanks so much!


Hi Dan,

I am trying an identical pipeline as Sadeem for the first time.

From a homogeneous refinement job in cryoSPARC V2.5.0, I used the following:

csparc2star.py cryosparc_P#_JXX_particles.cs cryosparc_aligned.star (no --passthrough was required)

I also downloaded the map (both volume_map_halfA.mrc as well as volume_map.mrc from the same job.

To run 3D refinement in Relion, do I need match the boxsize with particle size?
Given the box size during extraction in local motion correction job was 360. The refinement box size during the prior hetero-refinement was 128 voxels, and the box size in the homogeneous refinement was set to NONE, which I think takes the value of 360.

Also which of the two maps should be used as a reference in Relion refinement?

If adjusting the boxsize in csparc2star.py required, my current pyem module gives the error:
csparc2star.py: error: unrecognized arguments: --boxsize 250

I do have the latest version (0.4).


For global refinement, the angles and shifts will be forgotten. Then, it doesn’t matter how you export.

For local refinement, starting from the angles and shifts in cryoSPARC, you must give the --boxsize argument to csparc2star.py and tell it the size of the box from refinement if that is different from the box of the particles. Then it can automatically account for the difference. If the argument is not present, you do not have the latest version.

You can use any of the maps for the starting reference in Relion, as long as you match the box and pixel size of the particles and give some initial lowpass filter in the Relion GUI.

relion_image_handler is a good way to change the box and pixel size of the references. A low-pass of ~20 - 40 A is good for global refinement, while for local searches the filter should be at least 5 - 10 A lower than the reported resolution.

1 Like

HI Daniel, sorry to bother with such trivial question. I have converted the extracted_particles.cs into extracted_particles.star, and now want to start directly Initial Model in Relion. However, it complains that the extracted particles I have in the JXXX cryosparc folder have extension .mrc and not .mrcs. what’s the best way to solve this?
Thanks a lot !!

rename them (or symlinks of them) to mrcs - e.g. rename "s/mrc/mrcs/" *mrc and make the corresponding change in the star file


Thank you, Oli. I changed both as you said. I have another question, if you do not mind. I see that in the star file of the extracted particles there is no reference to defocus or CTF, is that normal? What is the pipeline to use extracted particles from cryosparc to feed relion for an Ab Initio ? My apologies if this information has been written somewhere here on the forum already.
Thanks a lot

They should have CTF estimates if they were there in the cs file - what was the job type of the input?


@marino-j Please refer to the csparc2star.py thread, the first post explains how to merge more information from other .cs files.

@olibclarke: I have converted to .star a .cs file coming from an extract job in cryosparc. @DanielAsarnow thank you - I have indeed read that post before, and tried to incorporate additional info from the passthrough file, but it complains that the number of columns between the two .cs files does not match. Another idea: could one just use the passtrhough file to do what I need, i.e. start an Ab Initio in relion ?
Thanks a lot

were the particles extracted from micrographs thad had CTF estimates? Had you run Patch CTF, or just Patch Motion?


@marino-j That’s an old version of the program, and a different older thread, then. You don’t use a --passthrough anymore, just provide additional .cs files. See the thread on the front page of the forums now.