Live Jobs and Session-Level Functions

Overview of CryoSPARC Live architecture and job types specific to Live.

CryoSPARC Live Architecture and Reprocessing

CryoSPARC Live is built on the idea that one should be able to experiment with parameters on the fly and that the software should be able to efficiently reprocess/redo the steps that are necessary in order to test or effect parameter changes, while maintaining the overall progress of the Live session.

CryoSPARC Live tracks and manages exposures, particles, results, volumes, etc in a new architecture that allows for consistent management of session state, reprocessing only the necessary work when parameters are changed, tracking acceptance/rejection of images, and live streaming of particles through various stages of processing. This new underlying system supports many new features, and also requires some job types and session-level functions unique to CryoSPARC Live (as compared with the main CryoSPARC application).

Live session terminology

  • Session: The processing workflow for doing real-time preprocessing and 2D/3D processing in CryoSPARC Live. New Sessions ("SX") can be configured from the CryoSPARC Live Application directly and they are housed within an existing CryoSPARC Project. Live Sessions are the equivalent of Workspaces ("WX") in the regular CryoSPARC Application. Therefore, there each session maps to one workspace.

  • Exposure: An individual image file that CryoSPARC Live preprocesses. The "Exposure" terminology is used to refer to both movies and micrographs interchangeably.

  • Exposure Group: A collection of exposures with the same optical parameters. Mainly includes information about where to find the exposures on disk, and how CryoSPARC can find them. A Live Session can have multiple exposure groups, which can be used to separate data collected from different data collection sessions, grids, or beam tilt groups. Exposures and their extracted particles can be ignored from downstream processing by ignoring the exposure groups from which they came via the Configuration tab.

Job types unique to cryoSPARC Live

  • CryoSPARC Live Session Job: The job created when a Live Session is created. This job, visible in the CryoSPARC interface, is the parent to all jobs later created by a running Live Session.

  • CryoSPARC Live Worker: The live preprocessing worker that executes motion correction, CTF estimation, thumbnail generation, particle picking and particle extraction for each exposure it encounters.

  • Streaming 2D Classification: An adapted version of 2D Classification that can classify new particles as they are extracted by the CryoSPARC Live Worker in a streaming fashion.

  • Streaming Refinement: An adapted version of Homogeneous Refinement that can refine a volume with new particles as they are classified by the Streaming 2D Classification job in a streaming fashion.

  • CryoSPARC Live Exposure Export: Exports all valid exposures from a Live Session to its CryoSPARC workspace, for use in further processing.

  • CryoSPARC Live Particle Export: Exports all valid particles from a Live Session to its CryoSPARC workspace, for use in further processing.

Session-Level Functions

There are a few high-level Session Functions that can be performed.

Start Session: This will cause the Preprocessing GPU Worker(s) to start reading in movies and perform preprocessing steps (motion correction, CTF estimation, particle picking and extraction). You must have filled out and saved all required parameters in the Configuration Tab in order to Start a Session.

Pause Session: This will cause any currently running and queued CryoSPARC Live jobs (Preprocessing GPU Workers(s), Streaming 2D Classification, Ab-Initio Reconstruction and Streaming Refinement) to be killed and marked as completed. Once paused, the session can be started again to continue processing.

In order to edit any Configuration or Compute Resources parameters from the Configuration Tab, e.g., changing the Number of Preprocessing GPU Workers during a running session, you will need to Pause Session and then Start Session again for them to take effect.

Mark as Completed: This will set the status of the session to "Completed". Doing this allows you to organize your sessions, as well as manage the data created by the session via the "Manage Data" tab.

Clear Session: This will delete all data created by the session, and remove all intermediate results created by the session. Only the parameters that were used to set up the session will remain, to allow for easy re-starting of the session.

Modify Exposure Processing Priority: There are four modes available that modify which exposures are prioritized to be processed by the Preprocessing GPU Worker(s). This is available as of CryoSPARC v3.3.2+220824 and later.

  • normal: Exposures are processed in ascending UID order, unless exposures that need to be reprocessed are available. In that case, exposures will be processed in descending UID order. This is the default priority mode.

  • oldest: The oldest found exposure that needs to be processed (or reprocessed) will be prioritized.

  • latest: The latest found exposure that needs to be processed (or reprocessed) will be prioritized.

  • alternate: Alternate between oldest and latest priority modes.

Test exposures and exposures manually set to be reprocessed will always be processed first, no matter the priority mode.

The exposure processing priority of a session can be modified at any time. To modify it, use cryosparcm rtpcli to run the following command:

cryosparcm rtpcli "set_session_exposure_processing_priority('<project_uid>', '<session_uid>', '<priority_value>')"

For example: cryosparcm rtpcli "set_session_exposure_processing_priority('P3', 'S1', 'latest')"

Last updated