If you already have input and configuration files ready, here is an example batch script that uses Desmond non-interactively via the batch system:
Desmond comes with its own Schrodinger interactive builder, Maestro. (Note that users should use matching versions of Desmond and Maestro, which is the case when following the details below; we have had reports of problems when mixing versions.) To run maestro, connect to OSC OnDemand and luanch a desktop, either via Desktops in the Interactive Apps drop down menu (these were labelled Virtual Desktop Interface (VDI) previously) or via Shell Access in the Clusters drop down menu (these were labelled Interactive HPC Desktop previously). Click "Setup process" below for more detailed instructions. Note that one cannot launch desmond jobs in maestro via the Schrodinger GUI in the Interactive Apps drop down menu.
Log in to OSC OnDemand and request a Desktop/VDI session (this first screen shot below does not reflect the current, 2025, labelling in OnDemand).

In a Desktop/VDI environment, open a terminal and run (this is a critical step; one cannot launch desmond jobs in maestro via the Schrodinger GUI in the Interactive Apps drop down menu.
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; the details of this step depend on the software version; if you do not find desmond listed then use the search bar.
Tasks >> Browse... > Applications tab >> Desmond

In this example a Minimazation job will be done.

Make sure the Model system is ready:
Model system >> Load from workspace >> Load
You can change the Job name; and you can write out the script and configuration files by clicking Write as shown below:

The green text will indicate the job path with the prefix "Job written to...". The path is a new folder located in the working directory indicated earlier.

Navigate using the terminal to that directory. You can modify the script to either run the simulation with a GPU or a CPU.
Run simulation with GPU
Navigate using the terminal to that directory and add the required SLURM directives and module commands at the top of the script, e.g.: 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/2023.2
# Desmond job script starts here
The setup is complete.
Run simulation with CPU only; this is no longer available, but is kept for posterity
Navigate using the terminal to that directory and edit the script, e.g.: 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"]
argument and change the -cpu
argument from 1 to the number of CPUs you want, 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 the required SLURM directives 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.