Hi all,
Could someone please guide me through the exact steps to convert particles from a CryoSPARC refinement job into the two files required by cryoDRGN-AI? Specifically, I need to create a single consolidated .mrcs file for the particles and a corresponding .pkl file for the ctf.
I’ve come across bits and pieces about exporting particle stacks in previous posts, but a complete process is still unclear to me.
Thank you very much for any assistance you can provide.
Hi, here is how I have been doing this:
- CS refinement: depending on your workflow
- CS Restack particles: set a batch size >= the total number of particles (gets rid of unused particles from early refinement)
- CS Particle sets: open input card and remove location attribute, then “split” to 1 batch (makes the set portable)
- Export Particle sets job
- Move job directory with symlinks disabled (optional, if CS/CD are running on separate machines)
- Downsample particles for CD: cryodrgn downsample [input particle stack] -D 128 -o particles.128.mrcs
- Parse poses into .pkl file: cryodrgn parse_pose_csparc cryosparc_P27_J3_005_particles.cs -o pose.pkl -D 300 (where -D is your original box size)
Sources:
Hope this helps!
Hi ALBA,
I recommend first exporting your cryosparc particles by clicking the “Export” button under “Actions” on the output tab of the cryosparc refinement job. You can then use the .cs file that will be created in the cryosparc exports folder.
For example if I exported job 100, the .cs file would be cryosparc_directory/exports/groups/J100_particles/J100_particles_exported.cs
This is the file you would use to run cryodrgn parse_ctf_csparc
to generate the ctf.pkl file. I recommend running cryodrgn parse_ctf_csparc -h
for more information and examples on how to run this command.
You do not necessarily need a single .mrcs stack to run cryoDRGN. CryoDRGN can handle many different styles of particle image specification (including .star or .cs files) however users often create a single .mrcs stack as a product of downsampling their images with cryodrgn downsample
. If you’re images are already the desired pixel size and box size for ab initio then you can simply provide the --datadir
argument to tell cryodrgn where the particle images are.
For my example above, the --datadir
would be something like cryosparc_directory/exports/groups/J100_particles/J7/extract/
where J7 was the extraction job in cryosparc
*note: You will need to know the box size and pixel size from your extract job in cryosparc and provide these original values to cryodrgn jobs that require -D
and --Apix
such as parse_ctf_csparc
Dear @Boszlacs and @RyanFeathers, your inputs are extremely helpful! Thanks for taking the time to reply.