Biowulf High Performance Computing at the NIH
emready on Biowulf

Improving the quality and interpretability of cryo-EM maps by local and non-local deep learning.

References:

Documentation
Important Notes
Interactive job
Interactive jobs should be used for debugging, graphics, or applications that cannot be run as batch jobs.

Allocate an interactive session and run the program.
Sample session (user input in bold):

[user@biowulf]$ sinteractive --gres=gpu:v100:1 --mem=20g
salloc.exe: Pending job allocation 46116226
salloc.exe: job 46116226 queued and waiting for resources
salloc.exe: job 46116226 has been allocated resources
salloc.exe: Granted job allocation 46116226
salloc.exe: Waiting for resource configuration
salloc.exe: Nodes cn3144 are ready for job

[user@cn3144]$ module load emready
[user@cn3144]$ mkdir /data/$USER/emready_test/
[user@cn3144]$ cd /data/$USER/emready_test/
[user@cn3144]$ cp $EMREADY_TEST_DATA/*.mrc .
[user@cn3144]$ EMReady.sh
EMReady.sh

USAGE: EMReady.sh in_map.mrc out_map.mrc [options]

Descriptions:
    in_map.mrc  : Input EM density map in MRC2014 format
    out_map.mrc : Filename of the output processed density map

    -g          : ID(s) of GPU devices to use.  e.g. '0' for GPU #0, and '2,3,6' for GPUs #2, #3, and #6
                  default: '0'

    -s          : The step of the sliding window for cutting the input map into overlapping boxes. Its value should be an integer within [12, 48]. A smaller stride means a larger number of overlapping boxes
                  default: '12'

    -b          : Number of boxes input into EMReady in one batch. Users can adjust 'batch_size' according to the VRAM of their GPU devices. Empirically, a GPU with 40 GB VRAM can afford a 'batch_size' of 30
                  default: '10'

    --use_cpu   : Run EMReady on CPU instead of GPU

[user@cn3144]$ EMReady.sh emd_22216.mrc emd_22216.out.mrc
# Running on 1 GPU(s)
# Loading pre-trained model...
# Voxel size of input map: [1.666 1.666 1.666]
# Using the EMReady model with grid size of 1.0 Angstrom
# Loading map data...
# Rescale voxel size from [1.666 1.666 1.666] to [1. 1. 1.]
# Map dimensions: [265 265 265]
# Split map into 12167 chunk(s)
# Get 12167 positive chunks
# Start prediction

[user@cn3144]$ exit
salloc.exe: Relinquishing job allocation 46116226
[user@biowulf]$

Batch job
Most jobs should be run as batch jobs.

Create a batch input file (e.g. emready.sh). For example:


#!/bin/bash
set -e
module load emready
cp $EMREADY_TEST_DATA/*.mrc .
EMReady.sh emd_22216.mrc emd_22216.out.mrc -b 20 -g '0,1'

Submit this job using the Slurm sbatch command.

sbatch --gres=gpu:v100:2 --mem=40g emready.sh