Can 2D projections be directly imported?

Hello all,

I’m a prospective user and I’m interested in trying the helical reconstruction package in Cryosparc. Our current pipeline involves acquiring tomograms, picking filaments in Cryolo, extracting subtomograms at these picked coordinates and then projecting the subtomograms to 2D. We then hand off to Relion4 for processing.

Is it possible to enter the Cryosparc pipeline directly with the 2D projections? They are currently stacked into an MRCS which Relion then calls from a star file.

Thanks in advance!


Hi @charliebe2,

Thanks for the inquiry. Would Import Particles serve your needs? The job takes in a path to a star file, as well as a path to the associated mrc files referred to by the star file. In any downstream jobs, the imported particles are treated as standard particles in a cryo-EM dataset (CTF-modulated 2D projections of an underlying density).

One thing to think about is whether the 2D projections have any CTF associated with them. If they are direct projections of a subtomogram then I suspect they are not CTF-corrupted, in which case you should activate the “Output constant CTF” parameter in Import Particles, which overrides the CTF information in the star file to write out particles that have the identity function as the CTF.


Hi Michael,

Thanks for the quick reply! For more detail, I have a star file from 2D classification in Relion. The image names in this star file are in the format 00001@path.mrcs, 00002@path.mrcs etc. All of the images in this mrcs file were created by projecting 3D-CTF corrected subtomograms, IE are already CTF corrected. The star file contains orientation for the particles (psi, tilt, translations etc). I would like to use this star file and image stacks as the input for Cryosparc.

I have begun experimenting with the import particles job and it does seem to play along but with some caveats:

  • .mrcs files aren’t accepted, so file extension is changed to .mrc. Can Cryosparc interpret the 00002@path.mrcs image naming format?

  • The particles are filaments and therefore need filament-wise random subsets. The 2D classification output from Relion doesn’t contain this. Will Cryosparc be able to add this information in?

  • Trying to move forward from the import particle jobs to 2D classification in Cryosparc fails with this error: “Non-optional inputs from the following input groups and their slots are not connected: particles.ctf. Please connect all required inputs.” Given I will not have CTF information, can I get around this by adding additional ‘fake’ CTF information to the input star file under _rlnDefocusU etc?

Thanks in advance for any replies!


Hi @charliebe2,

Since the projections are effectively already CTF corrected, you should activate the “Output constant CTF” parameter in Import Particles, and this should resolve the Non-optional inputs from the following input groups and their slots are not connected: particles.ctf error with using the particles in downstream jobs; please let me know if this isn’t the case.

Regarding mrcs – I believe you can work around this via the following:

  • Rename the file holding the projects to have extension .mrc as you did
  • In Import Particles, set:
    • “Particle data path” to this mrc file
    • “Particle meta path” to the star file

If the projections are split across multiple mrcs files, then rename them all to have mrc extension and set “Particle data path” to the directory that contains all of these mrc files.

It occurred to me that you may run into difficulty with measuring resolution in any downstream results from these projections. Since there is no noise in the projections (or rather, the noise is fixed in all projections from the same view, since the noise is intrinsic to the 3D map that is being projected and is not unique to each particle as is assumed by our reconstruction algorithms), you will have no way of measuring resolution faithfully regardless of how you split up particles (filament-wise or not). This means that FSC curves will likely be uninterpretable and will likely hit Nyquist fairly early on in any refinements, for example. Have you noticed this when processing these projection in other softwares, like RELION?


Dear Michael,

Maybe I’m overlooking something, but I cannot see the ‘Output Constant CTF’ parameter in the Import Particles job. I can however see it in the Import Micrographs job. In the meantime, I added _rlnDefocusV, _rlnDefocusU and _rlnDefocusAngle to the star file and populated the columns with zeroes before import. This seemed to avoid the error and allowed me to experiment a little with downstream jobs.

RE the noise, each projection (IE the summed image of several slices in a subtomogram) is formed from an individual subtomogram and therefore each projection/particle has it’s own intrinsic noise. It is not the full tomogram that is projected and then particles cut out. I have not noticed that gold-standard refinements in Relion hit Nyquist early, though non-gold standard classification jobs with the Tau fudge factors commonly do.

To return to the question on filament-wise half sets - does Cryosparc natively do this if there are helical tube IDs in the star file?

I have a few questions about helical refinements in general with Cryosparc, specifically about how orientation information is handled, but it might be better to open a new topic for that.


Hi @charliebe2,

Sorry for the delay. My apologies, you’re right that Output Constant CTF parameter in Import Particles does not exist. It will be coming in a future update but is not available right now. Your workaround of zeroing out the defoci makes sense, but I think you might also want to set the spherical aberration value to 0 and the amplitude contrast to 1.0 in order to get truly “constant” CTFs.

Thank you for clarifying about how the projections are made – my concerns shouldn’t apply then.

Yes, CryoSPARC reads in rlnHelicalTubeID into our filament/filament_uid and makes filament-wise half-set splits based on keeping particles with the same filament_uid together in the same half-set. These rlnHelicalTubeID should be present in the star file when importing particles.