I’m trying to make an intersection between a particle stack that was created in cryosparc (from an entire pipeline PatchCTF->Picking->Extract->2Dclass,etc until consensus homogeneous refinement) and another particle stack generated through classification in Relion (ie this is a subset of the first particle stack) and imported back into cryosparc. I wanted to intersect with the original stack because the imported particles have lost their ‘pick stats’ which are required for the ‘inspect picks’ job. However, the particle intersection cannot match any particles although the UIDs are intact (and I imported the particles with the micrographs connected for whatever it’s worth).
Is this a bug? I’m on a fresh install of cryosparc v3.2.0+211012
Any other way to regenerate the ‘pick stats’?
I didn’t make any changes to the UIDs, just pulled it through Relion to get a subset and imported that back into cryosparc. The *.star file I’m importing contains the all paths/UIDs (see example below) and the import job did not complain about anything (I’ve also connected the micrographs, which it seems to have reassigned just fine).
I might have found the issue: The “Import particles” job assigns new particle UIDs, i.e., a particle that was named
has now the name
How can I preserve UIDs when importing particles into cryosparc? I can only see options to remove old UIDs.
You’re trying to do this intersection with the original stack because you require the pick_stats result field for the Inspect Picks job, but why? Are you trying to view your particles? Another option is to use the manual picker, which would allow you to do the same thing. When you import particles into cryoSPARC, new UIDs are created for them, which breaks the link to their old particles- theres not really a way to take the union of these particles when this happens. If you’re trying to cull the particles, you might have to do this outside of cryoSPARC before bringing them back in.
Yes, I wanted to cull the particles/picks and I found previously the ‘inspect picks’ job was a straightforward way to do it. But as you suggested, I resorted now to methods outside of cryoSPARC.
I think in the long run it would be really useful to have cryoSPARC recognize pre-exisiting UIDs when importing particles (instead of making new ones). Somebody posted a feature request for this recently: