Skip to content

CryoSPARC Server Setup

Our web application hosting platform allows a HPG group or groups using the same allocation run an always on CryoSPARC web interface integrated with HPG compute and storage and accessible at a stable url like https://cryosparc-mygroup.rc.ufl.edu from the UF network or with UF VPN.

Requirements

  • HiPerGator allocation. NCU (cpu cores+memory), NGU (GPUs), and BlSU (Blue storage) are required to be able to analyze data on HiPerGator using CryoSPARC.
  • PubApps allocation. Since CryoSPARC is integrated with HiPerGator your group has to have a pubapps internal (PrivApps) allocation to host the CryoSPARC master application. The internal application hosting is separate from the public application hosting, so even if the group already has a PubApps (public) web hosting instance for other web applications another instance has to be procured. See web hosting documentation for reference.
  • HiPerGator accounts for all CryoSPARC users in the group. Even though CryoSPARC has its own account management we protect privapps applications using HiPerGator group IDs, so only HPG account holders who are the members of the group the CryoSPARC instance is setup for will be able to access it before they can create cryosparc accounts in the application.

Setup Procedure

  • Purchase or request a trial of a PrivApps web hosting instance.
  • Open a support request to request privapps CryoSPARC setup.
  • Request a free academic CryoSPARC LICENSE_ID and forward the resulting email to RC support or post the id into the support ticket.
  • List one or more group members whose accounts we should create to be the group's admin users. We will create admin cryosparc account(s) and email the registration token necessary to set the initial password to respective users by email.

Once the above information is provided in the ticket we will setup a cryosparc server install integrated with HiPErGator.

We create a custom extra_mem_gb job queuing parameter in CryoSPARC during cluster integration setup as the default resource estimates for CryoSPARC jobs are not always sufficient to run the analyses. If a job fails because of the insufficient memory request (OOM, OUT_OF_MEMORY, etc. errors present in the logs) requeue the job and use the extra_mem_gb parameter to increase the memory request until the job completes.

We create a HPG service user with a username that looks like rc-svc-privweb-mygroup with membership in the group to run the SLURM jobs on behalf of CryoSPARC. Admin user(s) will have their ssh keys added to the service user's acount, so they could ssh into 'cryosparc' to start the service if the application crashes, the server was restarted, or to perform a cryosparc master and worker upgrades if they choose to perform those.

We set up a cryosparc database backup cronjob on the server cryosparc runs on. Details will be posted in the ticket. Database backups can be used to recover the database in case of database corruption.

Using CryoSPARC

  • Log into https://cryosparc-mygroup.rc.ufl.edu to use the web interface for the cryosparc server.
  • Upload your raw cryoem image data to a directory in the /blue/mygroup/ directory tree. Write the resulting path down. You will have to paste the path to the data directory into cryosspac when setting up a new project and starting to analyze the data.

Database Backups

Database backups are usually written to /privapps/mygroup/cryosparc/prod/backup directory with the logs in cryosparc/prod/logs directory.

Upgrading

An admin can upgrade the cryosparc_master from the web interface. However, cluster integration requires a command-line command to run the cryosparc_worker upgrade. If in doubt, open a support request to ask for help with upgrading CryoSPARC. If you feel comfortable working on the command line feel free to perform your own upgrades. You need to designate cryosparc admin(s) among the group members, so we could add their HPG ssh keys to the ~/.ssh/authorized_keys for the service user.

Procedure:

  • ssh into privweb1 as the service user from a HPG login node. This requires your public hpg ssh key to be added to the ~/.ssh/authorized_keys for the service user.
  • change into the cryosparc_master directory.
    cd /privapps/GROUP/cryosparc/prod/cryosparc_master/
    
  • Run cryosparcm update to update the cryosparc_master
  • Copy the cryosparc_worker.tar.gz archive to the cryosparc_worker/ symlink.
  • Change into the cryosparc_worker directory.
  • Run bin/cryosparcw update to update the cryosparc_worker