[3dem] Importing Particles from Cryosparc into Relion for Processing
Daniel Asarnow
dasarnow at gmail.com
Sat Oct 18 13:14:51 PDT 2025
Replies inline.
On Fri, Oct 17, 2025 at 1:59 PM Lauren Pellows <Lauren.Pellows at colorado.edu>
wrote:
> So just you know what I am trying to do: I have a ~3 A resolution
> structure in cryosparc. I want to see if the using the Bayesian approach in
> relion can help me increase the resolution of my structure as well as a
> couple of other. Since I already have a good set of particles that I picked
> in cryosparc I want to use those in relion.
>
Certainly! All the methods for doing so are described in the pyem wiki.
https://urldefense.com/v3/__https://github.com/asarnow/pyem/wiki/cryoSPARC-&-Bayesian-polishing__;!!Mih3wA!DlRnwHPpA2Kpj-ngzPmzzSTZRlLVUt8sztg2FRKpE_k6qsue2wDLdMtiLsHDInV6SYzhmVq8JhV4SHaB0Gs$
> Someone I am working work with said that the motion correction and CTF
> estimation is better in relion, so I imported my raw micrographs and ran
> those jobs to get motion corrected micrographs. I now want to use the
> particle locations from cryosparc to re-extract those particles from the
> micrographs i worked up in relion to redo the recontrsuction on.
>
Generally speaking, this is not true. There will almost certainly be a
significant step back in resolution using Relion's MotionCorr. Often the
difference will be more than made up by polishing, for a small net gain.
CTF estimation is not a feature of Relion, instead it uses a wrapper to
CTFFIND, which is a whole-micrograph method. The patch method in cryoSPARC
(and MotionCor3/AreTomo3, WARP, GCTF, etc) is typically superior. Sometimes
the difference can be more than made up by per-particle CTF refinement if
the data are of sufficient quality, but IME only when the resolution is
exceptional and the particle is large (proteosome, ribosome). There are
some differences in CTF refinement between Relion and cryoSPARC (primarily
per-micrograph restrictions in Relion) that may also affect the final
result.
I have now been able to get the extraction job in relion to work! I first
> had to import the particles.star file into relion and then I was getting
> errors about the wrong opticgroup which I then changed and it worked.
> Though I am not sure if I changed the optics group correctly.
>
Great! If there is one group, it's fine. If you want to do beam tilt/global
CTF refinement then the groups should be set according to the image shift
of the micrographs. Leginon and EPU record nominal shifts (in the database
and XML files respectively) that must be clustered to assign groups. With
SerialEM we typically use pattern indices (hole & multishot number)
inserted in the file names, which honestly is the best approach.
> Question 1: I am running csparc2star in sbgrid using cs2star. Please let
> me know how this differs from just running scparc2star. When I tried to run
> cs2star in sbgrid using some of the commands on your GitHub I got errors
> since it just wants just the directory path to the cryosparc job folder. It
> did not let me use the .cs file from exporting from cryosparc which I
> thought was interesting.
>
Not my software, so I don't know.
> Question 2: I spent a lot of time changing the _rlnMicrographName in the
> orignal .star file from the original cryosparc micrograph path to the
> relion micrograph paths. Is that needed or will relion just ignore that and
> use just the particle locations from the .star file if I use the relion
> micrograph as the input for the extraction job? I feel like without those
> matching relion wouldnt be able to say which micrograph the coordinates
> belong too but I could be wrong.
>
You're quite right - It's needed. Relion locates particles exclusively by
rlnMicrographName and rlnCoordinateX/rlnCoordinateY fields. There are some
arguments to csparc2star.py and star.py that can make this more convenient.
Check the --help outputs (also the relion ones).
> Question 3: How do I know if the particle locations are correct? I am now
> waiting on a 2D classification job to run to see if it outputs the correct
> looking 2D classes but is there a way to check this easily? I know below
> you said to use the display option in relion but I don't think I am using
> it properly since I don't really see anything. I think I am looking at
> non-corrected images or something because I am not really seeing anything
> in my images. Side question, can you import .star files into cryosparc or
> do you need to convert those back to .cs files?
>
You should look at the particle coordinates labelled on the micrograph.
Cryo-EM images are noisy. It can be hard to see anything if you don't
lowpass filter or downsample the images. You can use relion_display (or
relion_display_gui) or pyem disparticle.py on the command line, the Relion
manual particle picker via the GUI, or the cryoSPARC inspect particle or
manual picking jobs.
You should also repeat 2D classification even with your good particles
after repeating the motion correction or running any "polishing" /
per-particle motion methods, because hot pixels and so forth are handled
differently and a few particles are often corrupted by "new" artifacts.
> Question 4: What is the best way to change the rlnOpticsGroupName and
> rlnOpticsGroup? Do I need to change these to match the micrograph.star
> files from relion?
>
The group number is an internal index only, so really the group names are
more important. I believe Relion handles everything correctly if only names
or only numbers are present.
> Question 5: Do I need to import the .star file into relion like did? And
> is this where I should change the OpticsGroup or should I do that in .star
> file before importing it?
>
No, typically I don't bother importing. The files created by my software
should already be compliant with Relion's expectations - except for the
paths.
> Question 6: Do you think it is worth redoing the motion correction and CTF
> estimation in relion? Someone else I have talked to told me they haven't
> tried what I am doing yet but instead just uses the extracted particles
> from cryosparc with micrographs.star file so they haven't ever done what I
> am trying to do before. I am not wanting to go back to cryosparc or at
> least right now I don't think i want go back. I know people go back and
> forth all the time so im not sure what the best way of doing this is.
>
I believe many people find that Relion is (often!) best at 3D
classification and cryoSPARC non-uniform refinement is (often!) best at
angular assignment, and that particle polishing is somewhat more reliable
in Relion (cryoSPARC has a persistent numerical issue limiting resolution
of specific datasets, otherwise it's equivalent).
For polishing I recommend repeating MotionCorr in Relion as it allows the
polishing trajectories to be initialized from the local (patch)
trajectories. Takanori has said that he found it isn't that important to
start with local trajectories (vs. the global frame trajectories), but...I
worry about it.
Sorry for all the questions! I really appreciate the help! Since I am new
> to relion and not even sure how to do some simple things in it it's been a
> struggle. haha. I really want to make sure I am doing this right, so I am
> not wasting time just running jobs that aren't on particles.
>
I promise everyone in the field has had the same experience! Several times
in my case.
> Thanks so much for all your help!!
>
Good luck!
Based on the assumption of a solid 3Å structure from a large dataset, my
baseline prediction is that you will take a step back in resolution to
~3.3Å before recovering to ~2.8 - 2.9Å after polishing and CTF refinement.
However, all samples are unique. Even point mutants.
Best,
-da
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ncmir.ucsd.edu/pipermail/3dem/attachments/20251018/32d518fa/attachment.html>
More information about the 3dem
mailing list