The Schrödinger software suite contains software for performing quantum chemistry calculations, molecular modelling, molecular dynamics simulations, docking/virtual screening, materials science simulations, etc. Components include Desmond, Glide, Jaguar, MacroModel, Maestro, Quantum ESPRESSO, and several other titles.
NSC has two licenses for Schrödinger software – one covering Jaguar, Maestro, Desmond, and the Quantum Espresso interface that is freely available to all academic users at NSC, and one covering most other Schrödinger products, which you can buy into on a per-user basis. Please see the Schrödinger licenses page for details.
The Schrödinger software suite is available via the module system on Tetralith and Sigma. For more information about available versions, please see the Tetralith and Sigma Software list.
Use the module avail schrodinger
command to find available Schrödinger installations. For example:
$ module avail schrodinger
-------------------------------------- /software/sse/modules ---------------------------------------
Schrodinger/recommendation (D) Schrodinger/2018-4-nsc1-bdist
Schrodinger/2016-4-nsc1-bdist Schrodinger/2019-1-nsc1-bdist
Schrodinger/2018-3-nsc1
Where:
D: Default Module
Use "module spider" to find all possible modules.
Use "module keyword key1 key2 ..." to search for all possible modules matching any of the "keys".
To start Maestro, you should first load a Schrodinger module:
$ module load Schrodinger/2019-1-nsc1-bdist
$ maestro
You are included in the following projects:
1. "nsc"
2. "snic2019-3-203"
3. "snic2018-3-251"
Enter the number for the project that you want to use for jobs submitted from Maestro [ 1 2 3 ]: 1
Using the project: "nsc"
*****************************************************************
Maestro Molecular Modeling Interface
Maestro is a product of Schrödinger, Inc.
Legal notices can be viewed by clicking Help->About Maestro
*****************************************************************
To start a Jaguar job from the command line, you can use the jaguar run
command as in the example below:
$ module load Schrodinger/2020-4-nsc1-bdist
$ jaguar run -PARALLEL 8 -HOST batch -QARGS "-A snic202X-Y-ZZ -t 120" jag_input_file.in
This command will queue an 8 core (-PARALLEL 8
) job with a wall time of 120 minutes.
Note: Remember to change “snic202X-Y-ZZ” to the name of the project that you want to use. Or if you are only included in one project, you can remove “-A snic202X-Y-ZZ” from the command!
To run a Jaguar job with a batch script, you can use the jaguar run
command as in the example below:
$ cat my_jaguar_script.sh
#!/bin/bash
#SBATCH --time=120
#SBATCH --nodes=1
#SBATCH --ntasks=8
#SBATCH --account=snic202X-Y-ZZ
module load Schrodinger/2020-4-nsc1-bdist
export TMPDIR=$SNIC_TMP
jaguar run -PARALLEL ${SLURM_NTASKS} -WAIT jag_input_file.in &
wait
#END OF SCRIPT
Submit the script to the queue with:
$ sbatch my_jaguar_script.sh
Note: Remember to change “snic202X-Y-ZZ” to the name of the project that you want to use. Or if you are only included in one project, you can remove #SBATCH --account=snic202X-Y-ZZ
from the script.
If you are unsure about the run-time for your job, you can safeguard with a trap
to copy the restart.in
file to your job directory, in case the job hasn’t completed before reaching the scheduled wall time limit:
$ cat my_jaguar_script_w_trap.sh
#!/bin/bash
#SBATCH --time=120
#SBATCH --nodes=1
#SBATCH --ntasks=8
#SBATCH --account=snic202X-Y-ZZ
cp_restart() {
restart_file=$(find /scratch/local -name restart.in)
if [ "$restart_file" ]
then
cp $restart_file ${SLURM_SUBMIT_DIR}/restart-${jobname}.in
echo "The restart.in file was copied to ${SLURM_SUBMIT_DIR}/restart-${jobname}.in."
else
echo "No restart.in file found."
fi
}
trap_message="SIGTERM was traped, probably due to job walltime limit."
trap 'echo "$trap_message"; cp_restart; exit' SIGTERM
module load Schrodinger/2021-3-nsc1-bdist
export TMPDIR=$SNIC_TMP
jobname="jaguar_input_file"
jaguar run -PARALLEL ${SLURM_NTASKS} -WAIT ${jobname}.in &
wait
#END OF SCRIPT
Note: Remember to change “snic202X-Y-ZZ” to the name of the project that you want to use. Or if you are only included in one project, you can remove #SBATCH --account=snic202X-Y-ZZ
from the script.
See below for an example of running a Desmond job with a batch script:
$ cat my_desmond_script_w_trap.sh
#!/bin/bash
#SBATCH --time=120
#SBATCH --nodes=1
#SBATCH --exclusive
#SBATCH --gpus-per-task=1
#SBATCH --account=snic202X-Y-ZZ
cp_scratch_dir() {
if [ "$(ls -A /scratch/local/${USER} 2> /dev/null)" ]
then
cp -a /scratch/local/${USER} ${SLURM_SUBMIT_DIR}/scratch-${jobname}
echo "Files from /scratch/local/${USER} copied to ${SLURM_SUBMIT_DIR}/scratch-${jobname}"
else
echo "The /scratch/local/${USER} directory is empty or doesn't exist."
fi
}
trap_message="SIGTERM was traped, probably due to job walltime limit."
trap 'echo "$trap_message"; cp_scratch_dir; exit' SIGTERM
module load Schrodinger/2021-3-nsc1-bdist
export TMPDIR=$SNIC_TMP
jobname="desmond_input_file"
$SCHRODINGER/utilities/multisim -JOBNAME $jobname -maxjob 1 -cpu 1 -m ${jobname}.msj -c ${jobname}.cfg ${jobname}.cms -mode umbrella -set stage[1].set_family.md.jlaunch_opt=[\"-gpu\"] -o ${jobname}-out.cms -WAIT &
wait
#END OF SCRIPT
Note: Remember to change “snic202X-Y-ZZ” to the name of the project that you want to use. Or if you are only included in one project, you can remove #SBATCH --account=snic202X-Y-ZZ
from the script.
Guides, documentation and FAQ.
Applying for projects and login accounts.