ResMap (Resolution Map) is a Python (NumPy/SciPy) application with a Tkinter GUI and a command-line interface. It is a software package for computing the local resolution of 3D density maps studied in structural biology, primarily electron cryo-microscopy (cryo- EM).
This application requires an X-Windows connection. Users are encouraged to use NX as their X11 servers.
Allocate an interactive session and run the program. Sample session:
[user@biowulf]$ sinteractive --gres=gpu:p100:1 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 ResMap [user@cn3144 ~]$ ResMap [user@cn3144 ~]$ exit salloc.exe: Relinquishing job allocation 46116226 [user@biowulf ~]$
After typing 'ResMap' at the prompt, input is menu-driven.
The correct path for the CUDA library file is /opt/resmap/ResMap_krnl-cuda-V9.0.102-sm35_gpu.so. You will need to update the GUI.
Create a batch input file (e.g. ResMap.sh). ResMap can be run without the need for an X11 server by starting a dummy X11 server with Xvfb and setting the $DISPLAY variable to a bogus number.
#!/bin/bash module load ResMap Xvfb -shmem -screen 0 1280x1024x24 & export DISPLAY=":0" cp $RESMAP_EXAMPLES/*.map . ResMap --doBenchMarking --noguiSplit \ emd_8731_half_map_1.map emd_8731_half_map_2.map
Submit this job using the Slurm sbatch command.
sbatch --mem=10 ResMap.sh
ResMap can be accelerated at least 10-fold by using GPUs rather than CPUs. This requires three options, --use_gpu, --set_gpu and --lib_krnl_gpu. Here is a batch script for doing so:
#!/bin/bash module load ResMap Xvfb -shmem -screen 0 1280x1024x24 & export DISPLAY=":0" cp $RESMAP_EXAMPLES/*.map . ResMap --doBenchMarking --noguiSplit \ emd_8731_half_map_1.map emd_8731_half_map_2.map \ --use_gpu=yes --set_gpu=0 \ --lib_krnl_gpu=/opt/resmap/ResMap_krnl-cuda-V9.0.102-sm35_gpu.so
Submit this job using this Slurm command, allocating a single GPU for the job:
sbatch --mem=10 --gres=gpu:p100:1 ResMap.sh