Fitzpatrick Lab Workstation Usage Documentation
Overview
The Fitzpatrick Lab currently has 6 workstations that are managed by Zuckerman Institute Research Computing. 1 of these workstations was built by Lambda Labs, 4 of these workstations were built by Single Particle while 1 was built by Exxact. The following table summarizes the hardware specifications for these workstations:
Hostname | Vendor | CPU | Logical Cores | CPU Clock Speed (GHz) | GPU Model | Number of GPUs | Operating System |
---|---|---|---|---|---|---|---|
exxgpu1.fitzpatrick | Exxact | Intel(R) Core(TM) i7-8700 CPU | 12 | 3.2 | NVIDIA GeForce 1060 | 1 | CentOS 7 |
spgpu3.fitzpatrick | Single Particle | Xeon(R) Silver 4116 | 48 | 2.1 | GeForce RTX 2080 Ti | 1 | CentOS 7 |
spgpu2.fitzpatrick | Single Particle | Xeon(R) Silver 4116 | 48 | 2.1 | GeForce RTX 2080 Ti | 1 | CentOS 7 |
spgpu1.fitzpatrick | Single Particle | Xeon(R) Silver 4116 | 48 | 2.1 | GeForce RTX 2080 Ti | 1 | CentOS 7 |
spgpu4.fitzpatrick | Single Particle | Xeon(R) Silver 4116 | 48 | 2.1 | GeForce RTX 2080 Ti | 1 | CentOS 7 |
warp.fitzpatrick | Lambda Labs | AMD Threadripper 3960X | 48 | 4.5 | GeForce RTX 2080 Ti | 1 | Windows 10 Enterprise Edition |
Linux Workstations
Software Installed
Each of the Linux workstations listed above has the following software installed:
Because some of these software packages conflict with each other, we use the environment modules system (specifically, we use the lmod implementation of modules). This system allows you to provide isolation between different applications through modules, which are short scripts that prepare and perform cleanup in a Linux terminal so that you can toggle between different versions of software without inadvertently using the wrong application binary. You can do this through the module command, which has 2 main functions: load and unload, followed by a module name. These functions are used to make a particular version of an application available or deactivate a particular application respectively.
The applications that use environment modules are:
- SBGrid, which has conflicts with IMOD v. 4.10.46 as of 9/4/20.
- IMOD v. 4.10.46, which has conflicts with the SBGrid IMOD packages as of 9/4/20.
- JANNI, which uses a conda environment to manage dependencies. This could conflict with other conda environments; conda environments are in widespread use in SBGrid.
Software that does not use environment modules is always available (i.e., you should always be able to access novaCTF by typing novaCTF within a terminal).
To see the module names associated with these software suites, we can use the module avail command:
[zrcadmin@spgpu1 ~]$ module avail ------------------------- /opt/lmod/modulefiles/Linux -------------------------- biogrids imod janni sbgrid (L) --------------------- /opt/lmod/lmod/lmod/modulefiles/Core --------------------- lmod settarg Where: L: Module is loaded Use "module spider" to find all possible modules. Use "module keyword key1 key2 ..." to search for all possible modules matching any of the "keys".
This indicates that the modules are named biogrids, sbgrid, imod, and janni.
By default, sbgrid is loaded. This can be seen in the (L,D) next to sbgrid, which indicates that by default SBGrid assumes you are using the bash Unix shell (D) and that SBGrid is loaded (L).
If you wanted to use IMOD v. 4.10.46, you can run the following set of commands, which first unloads SBGrid (since it has conflicts with IMOD v. 4.10.46) and then loads IMOD:
module unload sbgrid module load imod
To go back to using SBGrid programs, we can then type the following, which will unload imod and load sbgrid:
module unload imod module load sbgrid
If you do not unload a conflicting module, SBGrid will tell you which modules you need to first unload:
[zrcadmin@spgpu3 ~]$ module load imod Lmod has detected the following error: Cannot load module "imod" because these module(s) are loaded: sbgrid While processing the following module(s): Module fullname Module Filename --------------- --------------- imod /opt/lmod/modulefiles/Linux/imod.lua
Application-Specific Notes
cryoCARE
cryoCARE is set up with a custom wrapper script for ease of use. The following syntax is used by this wrapper script:
cryocare <DATA DIRECTORY>
Where "DATA DIRECTORY" is a path to a directory containing data that has been arranged according to the directory structure outlined here.
The original, somewhat unwieldy, syntax that this script wraps around is as follows:
singularity run --nv -B /opt/cryocare/user:/run/user -B /opt/cryocare/example/:/notebooks -B <DATA DIRECTORY>:/data /opt/cryocare/cryoCARE_v0.1.1.simg
CryoSPARC
CryoSPARC is available by first starting it up (if it isn't already running) and then navigating to either http://localhost:39000 if you are working on the machine that you want to run it on, or by navigating to http://spgpu#.fitzpatrick.zi.columbia.edu:39000, where # is the number associated with the workstation (see chart above). Note that using the full spgpu domain name will only work if you are on the Columbia campus or using the CUIT VPN.
You can check if CryoSPARC is running by typing the following command:
cryosparcm status
CryoSPARC can be started with the following command:
cryosparcm start
CryoSPARC will not start up automatically after a reboot, and must be manually started from the command line after a restart occurs.
Remote Access and Network Restrictions
To access a Linux workstation remotely, you can type the following command for command line access:
ssh awf2130@[spgpu or exxgpu][#].fitzpatrick.zi.columbia.edu
Where "#" is the number associated with the workstation. You will be prompted for the credentials of the workstation user; these are different from UNI credentials used for other Columbia services (such as LionMail) and have been distributed to the Fitzpatrick lab.
You can also access the graphical user interface (GNOME) for the Fitzpatrick workstations remotely as well by using VNC. To use VNC, you will need a VNC client installed on your laptop/workstation. A list of VNC clients available for various platforms can be found here. Note that Mac OS X comes with a built-in VNC client, which is accessible from the Finder by navigating to Go → Connect to Server and then entering vnc://[spgpu or exxgpu][#].fitzpatrick.zi.columbia.edu:5901
. VNC is accessible on port 5901, and requires authentication using credentials distributed to the Fitzpatrick lab.
If either the command line or VNC credentials are not working, please email rc@zi.columbia.edu for further assistance.
For security reasons, the Fitzpatrick workstations are only remotely accessible via SSH/VNC if you are on the Columbia campus or using the CUIT VPN.
Windows Workstation
Software Installed
The Windows workstation has the following software installed on it:
These software applications all have shortcuts on the desktop of the main account (Anthony Fitzpatrick).
Network Storage
The Fitzpatrick lab's Engram storage is configured to be mapped to the D drive automatically when the main account (Anthony Fitzpatrick) logs in.
Application-Specific Notes
M
M will take in data produced by RELION as input as described in the pipeline outline here. Since RELION is not a native Windows application, this will require that you make heavy use of the Fitzpatrick lab Engram storage, which (as mentioned above) is mapped to the D drive. Roughly, you will need to perform the first steps of the pipeline (preprocessing, particle image/sub-tomogram export) on warp.fitzpatrick using Warp, then run classification and refinement on the cryoem cluster or a Linux-based workstation and save the results to Engram, and then perform the final steps of the pipeline on warp.fitzpatrick using M.
Remote Access
The Windows Warp/M workstation is remotely accessible using RDP. You can find a list of Microsoft-sanctioned RDP clients here. For Linux, we suggest using Remmina.