Particle Sets Tool not intersecting properly

Hi all,

My protein seems to have a slight preferred so I am trying to compare the particles picked from a few different jobs to see if I missed any alternative views. I am comparing the outputs of a Topaz particle picked job vs. a second round of template picking from my curated particle sets vs. another picking job from 2D back projections from a low resolution 3D model. Each job has been extracted from to the same box size and then fourier cropped to the same size. However, when I use the particle sets tool to compare the outputs from the extract job I get the output that all my particles from remain separated. Ex. My particle set A has 218669 particles, and my particle set B has 170516 particles, and the output of my job is “intersect” = 0 ; A_minus_B = 218668 ; B_minus_A = 170516.

Is there a way to get cryosparc to recognize where these particle sets overlap?
Thanks for the help!

Hi Casey,

This is not within the capabilities of the Particle Sets tool as I understand it.

This tool is designed for looking at intersections/unions of particles that were derived from a single extraction job - if I understand it right, it is comparing the unique ID associated with each particle, not the position on the micrograph.

So for example to look at the particles that are kept in both of two independent classification jobs - say a 2D and a heterogeneous refinement.

What you want would be useful, but I don’t think (could be wrong about that) that it is possible within cryosparc. Maybe with one of the tools in @DanielAsarnow’s pyem package it is possible? Not sure…


You could use --min-separation 20 to join any number of star files, and then toss out any particles that are on the same micrograph and within 20 A of each other. You would want to do this after at least 2D classification so you have refined origins for the particles, such that duplicate particles will actually be very close together.

Thanks for the reply! I didn’t know this was a feature in pyem, thanks for the suggestions. It sounds like that will do what i want. I will definitely try that.

I was able to combine all the cryosparc particles in to one .star file, but now after re-importing my particles in to cryosparc it seems like the above command didn’t separate out any particles (same with 40 and 60A) and my import job has the same number of particles. When I use --min-separation 100 and then import in to cryosparc i start to see fewer particles. However, my particle is only about 150A long and my micrographs are very crowded. I’m surprised that it requires such a high separation distance, and was wondering @DanielAsarnow what you mean by do this after 2D classification? I am trying to combine 3 sets of curated particles that have all been 2D classified and then 3D refined. Or do you mean 2D classification at a stage after the particles have all been combined? I’m wondering how is best to get my duplicates close together I don’t double count particles, but also don’t throw too much out. Thanks for the help!

Some kind of 2D or 3D refinement is needed so that the particles have origins. Otherwise, their different picking coordinates won’t be that close. If a particles are really duplicates, than coordinates minus origins should give extremely similar numbers, like a 10 A.

It sounds like you didn’t get a lot of duplicates, after picking with different templates (and thresholding on NCC?) and eliminating certain classes.

PS if there are a lot of duplicates in different half-sets you will see FSC effects like the curve not decaying properly (falls to zero and oscillates +/- around zero). Duplicates in the same half-set have no effect on FSC.