nextPYP’s graphical user interface (GUI) has the following components:

Dashboard and projects

  • The Dashboard is the top-level page of nextPYP

    Dashboard view
  • Projects are logical units within the dashboard and are used to organize data processing runs

    Project view


Each Block represents a unit of processing (data import, pre-processing, refinement, masking, etc.). They provide control over the corresponding processing parameters and an interface to visualize the results. Projects consist of sequences of connected blocks.

Project view


  • Blocks can be moved around or organized within the canvas

  • Multiple blocks can be selected and moved as a set.

Block connectivity

Each block in nextPYP has inputs and outputs of specific types. Two blocks can be connected only if their input/outputs types are compatible. The program does not allow for incompatible block connections.

Block types

Single-particle projects and tomography projects will have slightly differing block types. A list of block types and their corresponding inputs and outputs is given below:

Block operations

Users can access block-level operations using the menu icon located at the top-right corner of each block. The following operations are supported:

  • Rename block.

  • Create a new block with the same input connection and parameter settings as the current block.

  • Open a dialog to Edit/Read block parameters. Click Save, Reset or close the dialog by clicking the icon to discard your changes.

  • Reveal the location of the latest set of logs for the block in the Jobs panel.

  • Reveal location of files in the filesystem for the block.

  • Reset state to allow re-running the block.

  • Delete all files associated with the block.

  • Delete block. This operation cannot be undone. If a block has connections downstream, all connected blocks will be deleted (user is required to confirm this operation).

Block status

Blocks can be in one of three states (indicated by icons displayed on the top bar of each block):

  • Block is up-to-date (no graphical indication)

  • Modified (parameters were modified and the block is not up-to-date)

  • Running (the block is currently running)

Block parameters

Block parameters are specified using dialog forms. These are shown every time a new block is created or copied, or when clicking the icon and selecting the Edit option.

Jobs panel

The Jobs panel is used to monitor the status of all SLURM jobs launched by nextPYP

Jobs can be in one of four states:

  • Scheduled

  • Running

  • Completed

  • Failed

Jobs are arranged hierarchically according to their dependencies, and the number of jobs in each state is updated continuously.

For simplicity, jobs are grouped chronologically into Today, This Week and Older.

The arrows and are used to expand or collapse each group.

The three job phases Launch, Split and Merge within each run are organized according to their dependencies.


  • A summary of currently running jobs from all projects in nextPYP can be found in the Dashboard page

  • Running jobs can be cancelled by clicking on the icon

  • Job logs can be accessed by clicking the icon to the right of the job name

  • The log window can be docked/undocked by clicking the icon