CryoSPARC-Sapelo2: Difference between revisions

From Research Computing Center Wiki
Jump to navigation Jump to search
No edit summary
 
(69 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Sapelo2]][[Category:Software]][[Category:Engineering]]
[[Category:Sapelo2]][[Category:Software]][[Category:Engineering]]
 
=== Category ===
=== Category ===


Line 10: Line 11:
=== Version ===
=== Version ===
   
   
3.3.1
4.3.1


=== Author / Distributor ===
=== Author / Distributor ===
Line 20: Line 21:
"CryoSPARC (Cryo-EM Single Particle Ab-Initio Reconstruction and Classification) is a state of the art HPC software solution for complete processing of single-particle cryo-electron microscopy (cryo-EM) data. CryoSPARC is useful for solving cryo-EM structures of membrane proteins, viruses, complexes, flexible molecules, small particles, phase plate data and negative stain data." For more information, please see https://guide.cryosparc.com/.
"CryoSPARC (Cryo-EM Single Particle Ab-Initio Reconstruction and Classification) is a state of the art HPC software solution for complete processing of single-particle cryo-electron microscopy (cryo-EM) data. CryoSPARC is useful for solving cryo-EM structures of membrane proteins, viruses, complexes, flexible molecules, small particles, phase plate data and negative stain data." For more information, please see https://guide.cryosparc.com/.


'''NOTE''': Users are required to be added into GACRC '''cryosparc''' group before being allowed to run this software. Please fill out the [https://uga.teamdynamix.com/TDClient/2060/Portal/Requests/ServiceDet?ID=25844 GACRC General Support form] to request. We will reach out to you once we received your request.
'''NOTE''': Users are required to be added into GACRC '''cryosparc''' group before they can run this software from Sapelo2. Please fill out the [https://uga.teamdynamix.com/TDClient/2060/Portal/Requests/ServiceDet?ID=25844 GACRC General Support form] to request. We will reach out to you after we received your request.


=== Configurations ===
=== Configurations ===
'''Master node VM:'''
'''Master node VM:'''


# Host name: '''ss-cryo.gacrc.uga.edu'''
* Host name: '''cryosparc.gacrc.uga.edu'''
# Intel Xeon processors (8 cores and 24GB of RAM)
* Intel Xeon processors (16 cores) and 64GB of RAM
# mongodb is installed
* mongodb is installed and run on the master node
'''Worker nodes:'''
'''Worker nodes:'''
# Two NVIDIA Tesla K40m nodes, Intel Xeon processors (16 cores and 128GB of RAM) and 8 NVIDIA K40m GPU cards per node.
* One NVIDIA Tesla A100 node: Intel Xeon processors (64 cores), 1TB host RAM memory, 4 NVIDIA Tesla A100 GPU cards (80GiB device memory per card), and NVMe SSD 3570GB local drive.
# cryoSPARC recommends to use SSD or caching particle data. /lscratch/gacrc-cryo was set up on worker nodes for this purpose.
* cryoSPARC recommends using SSD for caching particle data. /lscratch/gacrc-cryo is set up on the worker node for this purpose.
# The amount of space that cryoSPARC can use in /lscratch/gacrc-cryo is capped at 100GB.
* The amount of space that cryoSPARC can use in /lscratch/gacrc-cryo is capped at 100GB.
'''cryoSPARC group:''' cryosparc
'''cryoSPARC group:''' '''cryosparc'''


'''cryoSPARC service account:''' gacrc-cryo  
'''cryoSPARC service account:''' '''gacrc-cryo'''


# gacrc-cryo is the service user account that will run the cryoSPARC workflow jobs for all regular cryoSPARC users on the master node and each worker node that will be used for computation.
* gacrc-cryo is the '''service account''' that will run cryoSPARC workflow jobs for all cryoSPARC users.
# Some tasks can only be performed by gacrc-cryo, like start or stop cryosparcm from the master node, user management, connect or update worker nodes to master, etc.
* Some tasks can only be handled by gacrc-cryo, like make a new lane of worker node(s), user management, and connect or update worker node(s) to master, etc..
# Regular cryoSPARC users can still run cryosparcm on the master node to check status of the master and its database, using cryosparcm status and cryosparcm checkdb
* Regular CryoSPARC users can run cryosparcm on the master node to check cryoSPARC status, using cryosparcm status or cryosparcm checkdb.


'''cryoSPARC group space:''' /work/cryosparc/ . There are 6 sub-directories in /work/cryosparc/ :
'''cryoSPARC project space:''' '''/scratch/gacrc-cryo'''
 
#  
# cryosparc_master/ , cryosparc_worker/ : Master and worker installation folders
# database/ : cryoSPARC database folder
# users/ : cryoSPARC user project folder
# cryosparc_cluster/ : The folder storing cluster integration scripts
# testdataset/ : The folder storing cryoSPARC test data
# src_v3.3.1/ : The folder storing cryoSPARC sources v3.3.1


#
=== How to run cryoSPARC from Sapelo2 ===


=== Running cryoSPARC from Sapelo2 ===
===== User login =====


===== User Login =====
User needs to establish a SSH tunnel to expose the port 39000 from the master node to a local computer. 


User needs to establish a SSH tunnel to expose the port 39000 from the master node to a local computer. If you are using a Linux or Apple desktop or laptop, you can use the following command in Terminal to establish the ssh tunnel: <blockquote>'''ssh -N -L 39000:128.192.75.59:39000 <username>@ss-cryo.gacrc.uga.edu'''</blockquote>If you are using a Windows desktop or laptop, please download the '''[https://the.earth.li/~sgtatham/putty/latest/x86/plink.exe plink program]''' to use in place of the ssh client:<blockquote>'''plink -ssh -N -L 39000:128.192.75.59:39000 <username>@ss-cryo.gacrc.uga.edu'''</blockquote>
If you are using a Linux or Apple desktop or laptop, you can use the following command in Terminal to establish the ssh tunnel: <blockquote>'''ssh -N -L 39000:10.2.0.60:39000 username@cryosparc.gacrc.uga.edu'''</blockquote>If you are using a Windows desktop or laptop, please download the '''[https://the.earth.li/~sgtatham/putty/latest/x86/plink.exe plink program]''' to use in place of the ssh client:<blockquote>'''plink -ssh -N -L 39000:10.2.0.60:39000 username@cryosparc.gacrc.uga.edu'''</blockquote>
'''Note:''' Please put the plink.exe in the current directory where you have a command window open.
'''Note:''' Please put the plink.exe in the current directory where you have a command window open.


Line 62: Line 57:
Once you established the ssh tunnel by running the above command, you can open a browser (Chrome) on the local machine and navigate to<code><nowiki>http://localhost:39000</nowiki></code>. The cryoSPARC User Interface should be presented with the cryoSPARC login page.
Once you established the ssh tunnel by running the above command, you can open a browser (Chrome) on the local machine and navigate to<code><nowiki>http://localhost:39000</nowiki></code>. The cryoSPARC User Interface should be presented with the cryoSPARC login page.


===Documentation===
===== Run cryoSPARC workflow jobs =====
 
====== Project space selection ======
A project in cryoSPARC is a high level container corresponding with a project directory on the file system, which stores all associated Jobs of a project. Each project in cryoSPARC is entirely contained within a file system directory. All the jobs and their respective intermediate and output data created within a project will be stored within the project directory.
 
* When you start a new project in cryoSPARC GUI, please select and use '''/scratch/gacrc-cryo''' as the cryoSPARC project space.
* This folder is owned by gacrc-cryo. Regular cryoSPARC users have access and read permissions which allow them to browse files in this folder and copy files from this folder to their own storage spaces on Sapelo2.
 
====== Run job on the master node ======
cryoSPARC will use the master node to run some types of workflow jobs, for example, "Import Movies", "Inspect Picks", and the interactive job "Select 2D Classes". When a job is created, if cryoSPARC will use the master node to run the job, you will be notified about this in cryoSPARC GUI.
 
====== Run job using "Lane Sapelo2 Default (cluster)" ======
 
* In cryoSPARC, queue a job to "'''Lane Sapelo2 Default (cluster)'''"; The job will be dispatched to the worker node via Slurm. Please note, gacrc-cryo, instead of your own Sapelo2 user account, is the user account owning and running the job. We highly recommend you to use this method to run cryoSPARC workflow jobs on Sapelo2.
* cryoSPARC will decide on how many CPU cores and how much memory it will use to run a workflow job, depend on the type of the job and your data size. Currently, we configured that from each worker node cryoSPARC can use up to '''20GB''' memory and '''4''' CPU cores.
* If the job needs to run on GPU devices, cryoSPARC will queue the job with a default number of GPU devices , for example 1. You can change this number by yourself in cryoSPARC GUI when you create the job. Please note that the maximum number of GPU devices installed on the worker node is '''4'''.
 
===Documentation (v4.0+)===
   
   
About cryoSPARC: https://guide.cryosparc.com/
About cryoSPARC: https://guide.cryosparc.com/


User Interface and Usage Guide: https://guide.cryosparc.com/processing-data/user-interface-and-usage-guide
Get Started with CryoSPARC: Introductory Tutorial: https://guide.cryosparc.com/processing-data/get-started-with-cryosparc-introductory-tutorial
 
All Job Types in cryoSPARC: https://guide.cryosparc.com/processing-data/all-job-types-in-cryosparc


Management and Monitoring: https://guide.cryosparc.com/setup-configuration-and-management/management-and-monitoring
A Tour of the CryoSPARC Interface: https://guide.cryosparc.com/application-guide-v4.0+/a-tour-of-the-cryosparc-interface


Introductory Tutorial: https://guide.cryosparc.com/processing-data/cryo-em-data-processing-in-cryosparc-introductory-tutorial
Using the CryoSPARC Interface: https://guide.cryosparc.com/application-guide-v4.0+/using-the-cryosparc-interface


Tutorials and Usage Guides: https://guide.cryosparc.com/processing-data/tutorials-and-case-studies
Creating and Running Jobs: https://guide.cryosparc.com/application-guide-v4.0+/creating-and-running-jobs


Cluster (Slurm) integration: <nowiki>https://guide.cryosparc.com/setup-configuration-and-management/how-to-download-install-and-configure/downloading-and-installing-cryosparc#connect-a-cluster-to-cryosparc</nowiki>
Tutorial videos: https://guide.cryosparc.com/processing-data/tutorial-videos


===Installation===
===Installation===
   
   
*Version 3.3.1 master is installed on the master node (ss-cryo.gacrc.uga.edu). Source codes are downloaded in /work/cryosparc/cryosparc_master on the master node.
*Version 4.3.1 master is installed on the master node (cryosparc.gacrc.uga.edu).  
*Version 3.3.1 workers are installed on two worker nodes (NVIDIA Tesla K40m GPU nodes rb6-[3-4]). Source codes are downloaded in /work/cryosparc/cryosparc_worker on the master ndoe.
*Version 4.3.1 workers are installed on one worker GPU node (NVIDIA Tesla A100 GPU node).


===System===
===System===
64-bit Linux
64-bit Linux

Latest revision as of 13:00, 12 October 2023


Category

Engineering

Program On

Sapelo2

Version

4.3.1

Author / Distributor

See https://guide.cryosparc.com/

Description

"CryoSPARC (Cryo-EM Single Particle Ab-Initio Reconstruction and Classification) is a state of the art HPC software solution for complete processing of single-particle cryo-electron microscopy (cryo-EM) data. CryoSPARC is useful for solving cryo-EM structures of membrane proteins, viruses, complexes, flexible molecules, small particles, phase plate data and negative stain data." For more information, please see https://guide.cryosparc.com/.

NOTE: Users are required to be added into GACRC cryosparc group before they can run this software from Sapelo2. Please fill out the GACRC General Support form to request. We will reach out to you after we received your request.

Configurations

Master node VM:

  • Host name: cryosparc.gacrc.uga.edu
  • Intel Xeon processors (16 cores) and 64GB of RAM
  • mongodb is installed and run on the master node

Worker nodes:

  • One NVIDIA Tesla A100 node: Intel Xeon processors (64 cores), 1TB host RAM memory, 4 NVIDIA Tesla A100 GPU cards (80GiB device memory per card), and NVMe SSD 3570GB local drive.
  • cryoSPARC recommends using SSD for caching particle data. /lscratch/gacrc-cryo is set up on the worker node for this purpose.
  • The amount of space that cryoSPARC can use in /lscratch/gacrc-cryo is capped at 100GB.

cryoSPARC group: cryosparc

cryoSPARC service account: gacrc-cryo

  • gacrc-cryo is the service account that will run cryoSPARC workflow jobs for all cryoSPARC users.
  • Some tasks can only be handled by gacrc-cryo, like make a new lane of worker node(s), user management, and connect or update worker node(s) to master, etc..
  • Regular CryoSPARC users can run cryosparcm on the master node to check cryoSPARC status, using cryosparcm status or cryosparcm checkdb.

cryoSPARC project space: /scratch/gacrc-cryo

How to run cryoSPARC from Sapelo2

User login

User needs to establish a SSH tunnel to expose the port 39000 from the master node to a local computer.

If you are using a Linux or Apple desktop or laptop, you can use the following command in Terminal to establish the ssh tunnel:

ssh -N -L 39000:10.2.0.60:39000 username@cryosparc.gacrc.uga.edu

If you are using a Windows desktop or laptop, please download the plink program to use in place of the ssh client:

plink -ssh -N -L 39000:10.2.0.60:39000 username@cryosparc.gacrc.uga.edu

Note: Please put the plink.exe in the current directory where you have a command window open.

Unless you have SSH public key configured, you will be prompted for your MyID password and for Archpass Duo authentication. Once authentication is established, this session prompt will hang and you are ready to go to access the cryoSPARC User Interface.

Once you established the ssh tunnel by running the above command, you can open a browser (Chrome) on the local machine and navigate tohttp://localhost:39000. The cryoSPARC User Interface should be presented with the cryoSPARC login page.

Run cryoSPARC workflow jobs
Project space selection

A project in cryoSPARC is a high level container corresponding with a project directory on the file system, which stores all associated Jobs of a project. Each project in cryoSPARC is entirely contained within a file system directory. All the jobs and their respective intermediate and output data created within a project will be stored within the project directory.

  • When you start a new project in cryoSPARC GUI, please select and use /scratch/gacrc-cryo as the cryoSPARC project space.
  • This folder is owned by gacrc-cryo. Regular cryoSPARC users have access and read permissions which allow them to browse files in this folder and copy files from this folder to their own storage spaces on Sapelo2.
Run job on the master node

cryoSPARC will use the master node to run some types of workflow jobs, for example, "Import Movies", "Inspect Picks", and the interactive job "Select 2D Classes". When a job is created, if cryoSPARC will use the master node to run the job, you will be notified about this in cryoSPARC GUI.

Run job using "Lane Sapelo2 Default (cluster)"
  • In cryoSPARC, queue a job to "Lane Sapelo2 Default (cluster)"; The job will be dispatched to the worker node via Slurm. Please note, gacrc-cryo, instead of your own Sapelo2 user account, is the user account owning and running the job. We highly recommend you to use this method to run cryoSPARC workflow jobs on Sapelo2.
  • cryoSPARC will decide on how many CPU cores and how much memory it will use to run a workflow job, depend on the type of the job and your data size. Currently, we configured that from each worker node cryoSPARC can use up to 20GB memory and 4 CPU cores.
  • If the job needs to run on GPU devices, cryoSPARC will queue the job with a default number of GPU devices , for example 1. You can change this number by yourself in cryoSPARC GUI when you create the job. Please note that the maximum number of GPU devices installed on the worker node is 4.

Documentation (v4.0+)

About cryoSPARC: https://guide.cryosparc.com/

Get Started with CryoSPARC: Introductory Tutorial: https://guide.cryosparc.com/processing-data/get-started-with-cryosparc-introductory-tutorial

A Tour of the CryoSPARC Interface: https://guide.cryosparc.com/application-guide-v4.0+/a-tour-of-the-cryosparc-interface

Using the CryoSPARC Interface: https://guide.cryosparc.com/application-guide-v4.0+/using-the-cryosparc-interface

Creating and Running Jobs: https://guide.cryosparc.com/application-guide-v4.0+/creating-and-running-jobs

Tutorial videos: https://guide.cryosparc.com/processing-data/tutorial-videos

Installation

  • Version 4.3.1 master is installed on the master node (cryosparc.gacrc.uga.edu).
  • Version 4.3.1 workers are installed on one worker GPU node (NVIDIA Tesla A100 GPU node).

System

64-bit Linux