Desmond is a software package that perform high-speed molecular dynamics simulations of biological systems on conventional commodity clusters, general-purpose supercomputers, and GPUs. The code uses novel parallel algorithms and numerical techniques to achieve high performance and accuracy on platforms containing a large number of processors, but may also be executed on a single computer. Desmond includes code optimized for machines with an NVIDIA GPU.
Availability and Restrictions
Versions
The Desmond package is available on Owens. The versions currently available at OSC are:
Version | Owens | Note |
---|---|---|
2018.2 | X | |
2019.1 | X* | |
2020.1 | X | GPU support only |
You can use module spider desmond
to view available modules for a given machine. Feel free to contact OSC Help if you need other versions for your work.
Access for Academic Users
Desmond is available to academic OSC users. Please review the license agreement carefully before use. If you have any questions, please contact OSC Help.
Publisher/Vendor/Repository and License Type
D. E. Shaw Research, Non-Commercial
Usage
Usage on Owens
Set-up
To set up your environment for desmond load one of its module files:
module load desmond/2018.2
If you already have input and configuration files ready, here is an example batch script that uses Desmond non-interactively via the batch system:
#!/bin/bash #SBATCH --job-name multisim-batch #SBATCH --time=0:20:00 #SBATCH --nodes=1 #SBATCH --ntasks-per-node=24 #SBATCH --account=<account># Example Desmond single-node batch script. sstat -j $SLURM_JOB_ID export module load desmond/2018.2 module list sbcast -p desmondbutane.msj $TMPDIR/desmondbutane.msj sbcast -p desmondbutane.cfg $TMPDIR/desmondbutane.cfg sbcast -p desmondbutane.cms $TMPDIR/desmondbutane.cms cd $TMPDIR $SCHRODINGER/utilities/multisim -HOST localhost -maxjob 1 -cpu 24 -m desmondbutane.msj -c desmondbutane.cfg desmondbutane.cms -mode umbrella -ATTACHED -WAIT ls -l cd $SLURM_SUBMIT_DIR sgather -r $TMPDIR $SLURM_SUBMIT_DIR
The WAIT
option forces the multisim command to wait until all tasks of the command are completed. This is necessary for batch jobs to run effectively. The HOST
option specifies how tasks are distributed over processors.
Set-up via Maestro
Desmond comes with Schrodinger interactive builder, Maestro. To run maestro, connect to OSC OnDemand and luanch a virtual desktop, either a Virtual Desktop Interface (VDI) or an Interactive HPC Desktop. Click "Setup process" below for instructions.
Setup process
Log in to OSC OnDemand and request a Desktop/VDI session
In a Desktop/VDI environment, open a terminal and run
module load desmond maestro
In the main window of Maestro, you can open File and import structures or create new project
Once the structure is ready, navigate to the top right Tasks icon and find Desmond application
Tasks >> Browse... > Applications tab >> Desmond
In this example a Minimazation job will be done.
Make sure Mode system is ready
Model system >> Load from workspace >> Load
You can change Job name and write out the script and configuration files by clicking Write as shown below
The green text will indicate job location with the prefix "Job written to...". The location is a new folder located on the working directory indicated earlier.
Navigate using the terminal to that location. You can modify the script to either run simulation with GPU or CPU.
Run simulation with GPU
Navigate using the terminal to that location and add required SLURM and module commands at the top of the script desmond_min_job_1.sh
:
#!/bin/bash #SBATCH --time=0:20:00 #SBATCH --nodes=1 #SBATCH --ntasks-per-node=8 #SBATCH --gpus-per-node=1 #SBATCH --account=<account> module reset module load desmond/2019.1 # Desmond job script starts here
The setup is complete.
Run simulation with CPU only
Navigate using the terminal to that location and edit the script desmond_min_job_1.sh
:
"${SCHRODINGER}/utilities/multisim" -JOBNAME desmond_min_job_1 -HOST localhost -maxjob 1 -cpu 1 -m desmond_min_job_1.msj -c desmond_min_job_1.cfg -description Minimization desmond_min_job_1.cms -mode umbrella -set stage[1].set_family.md.jlaunch_opt=["-gpu"] -o desmond_min_job_1-out.cms -ATTACHED
Delete the -set stage[1].set_family.md.jlaunch_opt=["-gpu"]
arguement and change the -cpu
arguement from 1 to the number of CPUs you need, e.g. 8. Resulting in
"${SCHRODINGER}/utilities/multisim" -JOBNAME desmond_min_job_1 -HOST localhost -maxjob 1 -cpu 8 -m desmond_min_job_1.msj -c desmond_min_job_1.cfg -description Minimization desmond_min_job_1.cms -mode umbrella -o desmond_min_job_1-out.cms -ATTACHED
Add required SLURM and module commands at the top of the script
#!/bin/bash #SBATCH --time=0:20:00 #SBATCH --nodes=1 #SBATCH --ntasks-per-node=24 #SBATCH --account=<account> module reset module load desmond/2019.1 # Desmond job script starts here
The setup is complete.