Topaz (Bepler, et al)

Overview of the Topaz wrapper available through cryoSPARC.


The Topaz wrapper in cryoSPARC, introduced in v2.12, incorporates the deep learning models used in Topaz as a means to automatically pick particles given a subset of previously picked particles or to denoise micrographs. This new wrapper consists of four jobs:

  • Topaz Train

  • Topaz Cross Validation

  • Topaz Extract

  • Topaz Denoise

The first three jobs relate to particle picking and the final job relates to micrograph denoising.

Topaz is a particle detection tool created by Tristan Bepler, Alex J. Noble and team:

Bepler, T., Morin, A., Rapp, M. et al. Positive-unlabeled convolutional neural networks for particle picking in cryo-electron micrographs. Nat Methods 16, 1153–1160 (2019) doi:10.1038/s41592-019-0575-8
Bepler, T., Noble, A.J., Berger, B. Topaz-Denoise: general deep denoising models for cryoEM. bioRxiv 838920 (2019) doi: <>

Topaz License

Structura Biotechnology Inc. and cryoSPARC do not license Topaz nor distribute Topaz binaries. Please ensure you have your own copy of Topaz licensed and installed under the terms of its GNU General Public License v3.0.

Installing Topaz

As cryoSPARC only wraps installed Topaz instances rather than providing Topaz instances directly, Topaz must be first installed in an Anaconda environment accessible to the master and worker nodes.

Python environment

Do not use the Anaconda Python environment that is installed with cryoSPARC. This environment is subject to be destroyed upon an update to cryoSPARC. It is best to use your own Anaconda Python (3.6+) environment, or a new one if one doesn't already exist. Please ensure the Topaz executable is accessible by the cryoSPARC user account and the master node. The path to the executable on the master node must match the path to the executable on the worker nodes.

To first create the Anaconda environment, run the following commands,

conda create -n topaz python=3.6
source activate topaz # this changes to the topaz conda environment, 'conda activate topaz' can be used with anaconda >= 4.4 if properly configured

Once the environment has been created, run the following command to install Topaz version 0.2.4. Currently, Topaz version 0.2.4 is the latest Topaz version compatible with cryoSPARC.

conda install topaz=0.2.4 cudatoolkit=11.1 -c tbepler -c pytorch -c conda-forge

More details on installing Topaz using Anaconda can be found here under the Installation section:

Once Topaz is installed, the executable path must be found. The instructions below will detail how to find the executable path.

Finding Default Topaz Executable Path

The following is one possible method of finding this path in Linux. This method assumes that Topaz was installed using Anaconda or Pip.

  1. If you have not yet already, follow the instructions in the Topaz GitHub Repository to install Topaz using Anaconda.

  2. Open a Terminal and enter: which topaz

  3. The previous command will output the executable path to the default Topaz executable. If this command does not output the desired path, try the instructions below for finding instance-specific Topaz executable paths.

Finding Python Instance Specific Topaz Executable Path

  1. If you have not yet already, follow the instructions in the Topaz GitHub Repository to install Topaz using Anaconda.

  2. Open a Terminal and enter: which python

  3. Take the output path of the "which python" command and remove directories from the end of the path until the directory at the end of the path is "bin". Insert this altered path in place of <PATH> in the following command and enter the command into Terminal: find <PATH> -executable -type f -name "topaz"

  4. The previous command will output all possible paths that contain a Topaz executable within the current Python instance. There should be only one path outputted but in the case that multiple paths are outputted, observe each executable and determine which is to be used for particle picking.

Job Types

Topaz Deep Picking Tutorials