Clarity on "Force re-do GS split" after RELION 3D Classification

Hi.

I had a quick question about how CryoSPARC handles gold-standard half-sets when moving particles back and forth with RELION.

My workflow looks like this:

  1. Extract particles in RELION → Import to cryoSPARC → Refine.

  2. Re-extract full box size in cryoSPARC → Refine again.

  3. Export to RELION → Run 3D Classification → Select the best class.

  4. Import those classified particles back into cryoSPARC → Run a fresh Refinement.

Because RELION 3D classification discards particles without respecting cryoSPARC’s original half-sets, the remaining subset has an uneven number of particles from the original Half-set A and Half-set B.

When we run the final Homogeneous/Non-Uniform Refinement (Step 4) on this newly imported .star file, we notice warning messages in the job log pointing out the uneven half-sets.

Do we need to manually enable the “Force re-do GS split” option in this first refinement job to ensure a proper, technically correct 50/50 gold-standard split? Or does a fresh Refinement job automatically wipe out the old, uneven metadata and force a new randomized 50/50 split on its own by default when it encounters raw imported particles?

Any clarification on exactly how cryoSPARC’s refinement engine handles imported metadata in this specific scenario would be highly appreciated!

Thanks in advance.

Hi, actually I believe that the half sets from cryosparc are converted to star file when you do the export of your particles. They may already be uneven at that point, but relion will use the values in those columns to do it’s gold standard split and it will not change them. Any further unevenness will come as a result of discarding particles from your 3D classification. Relion will discard particles that don’t belong to the class you selected regardless of which random subset they belong to and sometimes this does cause one subset to be larger or smaller than the other. That is expected behavior.

You can simply continue using that random split when you reimport into cryosparc if you like. There is nothing wrong with doing that. If the difference between them is large then you can activate the force redo split and you will get an even random split. Hope this helps.

Resplit used to be the default option until relatively recently. If you lowpass filter your input map appropriately, there should be no problem. The only very important exception that I know of is refinement after particle polishing. You should never resplit your particle set after polishing, because after per particle motion correction each half set is biased to its respective half map.

1 Like

Thank you all for the detailed explanations and clarification. This has been really helpful, especially understanding the change in default behavior since v4.5.2 and the reasoning behind preserving half-set assignments.

I do have one follow-up question regarding my specific workflow.

After importing the selected particles from RELION 3D Classification into CryoSPARC, I don’t always refine the imported particles directly. Instead, I typically either:

  1. Run a single-class Ab-initio Reconstruction to generate a fresh starting model before Homogeneous/NU Refinement, or

  2. Run a Homogeneous Reconstruction Only job before refinement.

In these two scenarios:

  • How are the imported rlnRandomSubset (half-set) assignments handled internally?

  • Does Ab-initio Reconstruction preserve them, ignore them, or establish a new split?

  • Does Homogeneous Reconstruction Only preserve the imported half-set assignments in the same way as Homogeneous/NU Refinement?

  • In either of these workflows, is there ever a situation where you would recommend enabling “Force re-do GS split”, or should it generally remain disabled?

I’m trying to understand whether the recommendations discussed above about preserving imported half-sets also apply to these workflows, or whether these jobs effectively start a new gold-standard refinement chain.

Thanks again for all the help!

Hi @Khuram!

How are the imported rlnRandomSubset (half-set) assignments handled internally?

RELION’s half set splits are stored in the particles’ alignments3D/split field as either a 0 or a 1.

Does Ab-initio Reconstruction preserve them, ignore them, or establish a new split? Does Homogeneous Reconstruction Only preserve the imported half-set assignments in the same way as Homogeneous/NU Refinement?

As of CryoSPARC v4.5, the default behavior of all the jobs you mention is to preserve the input particles’ half-set assignments.

In either of these workflows, is there ever a situation where you would recommend enabling “Force re-do GS split”, or should it generally remain disabled?

In general, we recommend that Force re-do GS split is left disabled to preserve half-set independence as strongly as possible. Small imbalances between the half-sets can be safely ignored or balanced with Particle Sets Tool. As @peter.cherepanov mentioned above, in general it is fine to re-do the split in a refinement as long as you are using a sufficient lowpass filter and haven’t polished the particles, but it may be safer to run an Ab-Initio Reconstruction (with Force re-do turned on) to generate a completely new reference with the new half-sets and then refine the particles against that.

Thanks @rwaldo for the detailed response.

So my takeaway is:

  • In general, preserve the existing half-set assignments and leave Force re-do GS split disabled.

  • An imbalance between the two half-sets after something like RELION 3D Classification is not, by itself, a reason to generate a new split.

  • Small imbalances can simply be left alone.

  • If the imbalance is large enough that we want to address it while preserving the existing half-set assignments, the Particle Sets Tool can be used to rebalance them by dropping particles from the larger half-set.

  • If we intentionally decide that we want to abandon the existing split and establish a completely new one, then doing the re-split during Ab-initio Reconstruction may be the safer approach, since a new reference is generated along with the new split.

The part I’m still unsure about is the practical decision point between these options.

Is there any rule of thumb for what CryoSPARC would consider a small versus substantial half-set imbalance? For example, if after RELION 3D Classification the selected particles are imbalanced by ~10%, 15%, or 20%, at what point would you recommend rebalancing with Particle Sets Tool rather than simply accepting the imbalance?

Also, if the particles have not undergone polishing, for example, is there ever a degree of imbalance where you would actually recommend creating a completely new GS split (e.g. Force re-do during Ab-initio), rather than either accepting the imbalance or dropping particles from the larger half-set?

I realise there may not be a strict percentage cutoff, but any practical guidance on how you decide between leave the split alone → rebalance it → intentionally generate a new split would be really useful. Thank you.