Mutually exclusive low-level passthrough fields

Because passthrough fields can’t be replaced through the low-level input system, but different job types include different fields like the blob data or CTFs only as passthroughs, there are many combinations of jobs that cannot be used together or block documented low-level input scenarios.

So for example, if particles are split into exposure groups and refined, and in parallel subjected to another round of 2D classification, there is no way to re-extract only the selected particles using the 3D alignments and split CTF groups from the refinement. There would also be no way to revert from subtracted to original particles for reconstruction.

Or a simpler example. I have a homogeneous refinement including the exposure groups and CTF refinement. Only the 3D alignments and CTFs are given as direct low-level outputs. If these particles are used in a subsequent job, the blobs cannot be replaced, as they are from the passthrough.

1 Like

Hi @DanielAsarnow, you’re right that low-level passthroughs can’t be replaced, but this shouldn’t block any use cases.

For your first example, you could do the following:

  • J1: Split your particles by exposure group (for example’s sake, let’s say there are three exposure groups)
  • J2-4: Refine each group (updating alignments3D)
  • J5: 2D Classification of all particles from J1
  • J6: Select 2D of classes and templates from J5
  • J7: Extract the selected particles from J6
  • J8: Homogeneous Refinement taking each of J2-4 particles as input. Replace blob group with blob from J7

In my testing this works – do you run into problems?