Skip to content

CryoSPARC is available on Maestro cluster under the module name cryoSPARC (multiple versions are currently available) This document is how the software is running and accessible on the cluster. For more information about using CryoSPARC in general please consult the official documentation. Since the software is not free, users willing to use it have to request a licence from the official web site.

CryoSPARC™ and CryoSPARC Live™ are available free of charge for non-profit academic use.

CryoSPARC works in master/worker mode. The master component will run on Maestro submit node and worker component will be run on the GPU nodes of the cluster to handle workloads submitted through the master. Each user will have it's own CryoSPARC instance. Shared instances are not supported.

Getting started (first time user)#

All following instructions will use cryoSPARC/4.6.2 as an exemple for illustration, please use the appropriate module version according to your needs and adapt the instructions appropriatly

When run the first time, CryoSPARC wrapper scripts will walk you through a small initialisation phase that will setup your instance and run it and guide you on how to access it. The only requirement for this first step is to have a valid licence ID. Usually, you'll receive this licence from Structura Biotechnology upon request (see first paragraph).

If you already have a licence for a CryoSPARC instance running in your lab, you can't reuse the same licence ID. At startup, CryoSPARC will check online that the licence is not already used and fails to start. Either request another licence dedicated for you or change the one used by your lab if you want to reuse that licence ID.

In a terminal, ssh to maestro.pasteur.fr with your Pasteur credentials and run module load cryoSPARC/4.6.2

Code Block (bash)

[djo@maestro-submit ~]$ module load cryoSPARC/4.6.2
Initializing your cryoSPARC instance...
* Please provide your license key (received by email): xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
* Please provide a password (for your account on this instance): somepassword
=> Creating '/pasteur/appa/homes/djo/.cryosparc/4.6.2' directory structure...
=> Generating cryoSPARC worker ssh keys...
=> Starting cryoSPARC master... please wait!
INFO:    instance started successfully
=> Creating user djo with email: djo@pasteur.fr password: somepassword...
=> Registring Maestro cluster as compute lane...

Initializing success!

Access using SSH port forwarding:

 On your workstation issue this command in a terminal:
    ssh -qL 39000:/pasteur/appa/homes/djo/.cryosparc/4.6.2/run/user.sock djo@maestro.pasteur.fr


 On your workstation point your browser to:
    http://localhost:39000

In a nutshell, this will:

  • create a .cryosparc/4.6.2 directory in your home directory. This directory will host CryoSPARC's database and other
  • create an ssh key pair (in .ssh) named id_cryosparc. This will be used internally by CryoSPARC to handle communication between master and worker components.
  • run CryoSPARC master, create a user in the app with the provided password somepassword(you can set whatever you want)
  • prints instructions on how to reach you instance
  • instructs the instance to use the Maestro cluster as a compute lane

Connecting#

from Linux/macOS#

This is quiet straightforward:

  • Open a terminal window and run the first command provided by CryoSPARC init phase: ssh -qL 39000:xxxxx xxx@maestro.pasteur.fr.The password requested here will be your own pasteur account one.
  • Open a web browser window and go to http://localhost:39000You'll be seeing CryoSPARC's login page where you need to connect using the username @pasteur.fr (in the exemple above it's djo@pasteur.fr) and the password you've provided in the init phase.

from Windows#

On windows, you'll need an SSH client with Unix domain sockets forwarding capabilities. On Windows 10 and up, you can add OpenSSH client as a Windows feature.

PuTTY is not a viable option on windows, it's not capable to forward TCP port to Unix domain sockets.

Once you have a working ssh client, you can use the same instructions as for Linux/macOS.

Daily usage#

After the instance is setup, the master will continue to run whether you are connected or not. If you've kept the connection string (ssh -qL 39000:xxxxx xxx@maestro.pasteur.fr)you can reuse it, and point your browser to http://localhost:39000

In any case, ssh to maestro.pasteur.fr (with your Pasteur credentials) and load the module again with module load cryoSPARC/4.6.2 If the instance is not running it will be started and you'll be given access instructions again.

CryoSPARC cli (cryosparcm) is also available once the module is loaded, it allows you to interact with the running instance. Please refer to the command official documentaion

Please notice that part of the sub-commands will fail to run (especially those altering the instance like upgrading and patching) It's an expected behaviour given the way software are installed and managed on the cluster

Resource usage#

Data#

Project directories (created through the CryoSPARC GUI) can be hosted on the scratch storage (Appa) For that, you'll need to create a directory in /pasteur/appa/scratch/) and use it as a base directory for your CryoSPARC projects. You can also use any Zeus share you already have access to to host projects.

In any case avoid using your HPC home directory to host projects, since it's bound by a small quota and CryoSPARC project directories grow in size very fast!

Compute#

CryoSPARC jobs rely on a mix of CPUs, GPUs and Memory availability. The software will request automatically the proper resources per job. The Job Builder can sometime allow tuning the number of GPUs used per job.

As a rule of thumb, don't go over 2 GPUs per job.

In fact, The more GPUs allocated to the job, the faster the processing goes. But on the other hand, the more resources you request, the longer the scheduler will delay running the job in order to make sure that the requested resources are made available.

Using Topaz#

Topaz is available in the instances running on the cluster. You can define Topaz location per project, a wrapper script is located at the root directory (accessible through the GUI) All you have to do is to point it to /topaz.shPlease refer to CryoSPARC's Topaz documentation.

Using DeepEMhancer#

DeepEMhancer is available in the instances running on the cluster. You can define DeepEMhancer per project, a wrapper script is located at the root directory (accessible through the GUI) All you have to do is to point it to /deepemhancer.shPlease refer to CryoSPARC's DeepEMhancer documentation.

Upgrading from older CryoSPARC versions#

There is no straightforward way to upgrade a CryoSPARC instance in place. In fact, given the way CryoSPARC is currently installed and operated on the cluster, a newer version will come up "empty". Sometimes this is appropriate but sometimes it's not. If you need a "full "upgrade for your instance (i.e keeping the previous projects/analyis) we can do it for you through a request to ask-hpc@pasteur.fr

Limitations#

  • As stated earlier, shared instances are not supported. This allows the most secure software usage and data privacy assurance. It also allows per user compute ressources accounting, since the instance is running under the user's identity, jobs will be submitted on the cluster with the user's identity too.
  • CryoSPARC Live was not tested at all, it may work or not. The Live function puts more constraints about compute resource availability. Further testing in Pasteur context will be needed to adjust the behaviour of this feature.
  • There is no migration path between CryoSPARC versions. each version will have its own independent database. Projects generated on a given instance version will not automatically be available on another version. If you want to fully migrate data between versions please fill a request at ask-hpc@pasteur.fr and we will handle it for you.