---
title: "Schrödinger"
canonical: "https://kb.uconn.edu/space/SH/26033816477/Schr%C3%B6dinger"
format: markdown
---
The Schrödinger Suite is a collection of software for chemical and biochemical use. It offers various tools that facilitate the investigation of the structures, reactivity and properties of chemical systems. There is a campus site license for this software, supported by UITS. More information is available here: [http://software.uconn.edu/schrodinger/](http://software.uconn.edu/schrodinger/) .

> ℹ️ It is recommended currently to use Schrodinger through an **interactive session** because of some issues encountered when submitting jobs through submission scripts.

> 📝 Maestro does not work well on HPC due to needing to spawn a job server, it is recommend to run the main Maestro simulation on a local PC or local lab machine then port the simulation over to HPC and run the other Schrodinger commands through the command line.

# Start an interactive session:

```
srun --x11 -N 1 -n 126 -p general --constraint=epyc128 --pty bash
```

> ℹ️ Make sure to include the “--x11” flag for the GUI

# Load Modules

Once a node is assigned to the interactive srun job in the previous section, schrodinger can be loaded from one of the various modules available on HPC.

```
module load schrodinger/2025-4
```

You can then see a list of executable programs:

```
find /gpfs/sharedfs1/admin/hpc2.0/apps/schrodinger/2025-4/ -maxdepth 1 -executable -type f -printf "%f\n" | sort | pr -tT -8 | column -t
autots    desmond   glide     jsc       material  phase_hy  qikprop   ska
biolumin  epik      glide_ws  jws       mxmd      phase_qs  qiksim    ssp
blast     epikx     hppmap    knime     oned_scr  phase_sc  qsite     sta
bmin      fep_abso  ifd       licadmin  para_tes  pipeline  quick_sh  structur
confgen   fep_plus  ifd-md    ligand_s  pfam      ppi_md_s  run       testapp
confgenx  fep_resi  impact    ligprep   phase_bu  prime     shape_sc  unbindin
consensu  fep_solu  installa  machid    phase_da  prime_mm  shape_sc  vsw
constant  ffbuilde  jaguar    macromod  phase_fi  primex    shape_sc  watermap
covalent  generate  jobcontr  maestro   phase_fq  qikfit    sitemap   xtb
crystal_  gfxinfo

```

You can also see a list of utilities with the same find command above:

```
find /gpfs/sharedfs1/admin/hpc2.0/apps/schrodinger/2025-4/utilities/ -maxdepth 1 -executable -type f -printf "%f\n" | sort | pr -tT -8 | column -t
2d_sketc  canvasHC  cg_chsr   create_w  ionizer_  moldescr  project_  structal
abs       canvasHC  check_jo  create_x  jagconve  mtzprint  project_  structca
align_bi  canvasKM  check_re  create_x  jaguar_p  multisim  propfilt  structco
align_hy  canvasKP  check_th  create_x  jaguar_t  neutrali  proplist  structsh
align_li  canvasLC  ch_isost  custom_p  jaguar_t  obabel    protassi  structsu
anharmon  canvasLi  ch_ligan  desalter  jnanny    para_bmi  py.test   structur
apbs      canvas_m  ch_water  elim.sch  jobcontr  para_epi  query_gp  stu_add
applyhtr  canvasMC  cluster_  epharmac  jresults  path_fin  queue_bm  stu_dele
autoqsar  canvasMD  combinat  extract_  jserver   pbs_lic_  randsub   stu_exec
AutoTSRe  canvasML  combinat  feature_  jserver_  pdbconve  refconve  stu_extr
AutoTSRe  canvasMo  combinat  feature_  lictest   phase_al  render_k  stu_modi
AutoTSRe  canvasNn  combinat  ffld_ser  licutil   phase_cl  r_group_  stu_work
AutoTSUn  canvasPC  compare_  flex_ali  ligfilte  phase_co  r_group_  system_b
bandshap  canvasPC  configur  flexlm_s  ligparse  phase_co  ring_con  tautomer
bb_datab  canvasPC  conf_tem  fragment  lp_filte  phase_de  ring_tem  thermoch
buildloo  canvasPC  convert_  generate  lp_label  phase_hy  rmsdcalc  timestam
canvasBa  canvasPh  convert_  generate  lp_nored  phase_hy  rsync_pd  unique_n
canvasCo  canvasPL  convert_  getpdb    macro_pk  phase_hy  sdconver  uniquesm
canvasCS  canvasPr  convert_  glide_en  maegears  phase_mm  secstruc  update_B
canvasCS  canvasPW  corefind  glide_me  maetopqr  phase_pr  seqconve  update_P
canvasCS  canvasRP  create_h  glide_so  mae_to_s  phase_qs  serial_s  vis2gc
canvasDB  canvasSc  create_h  glide_ws  make_lin  phase_vo  shape_sc  visdump
canvasFP  canvasSD  create_h  glide_ws  make_r_l  postmort  show_joi  watermap
canvasFP  canvasSe  create_h  guardian  md5diges  premin    smiles_t  wscore_m
canvasFP  canvasSO  create_i  hetgrp_f  merge_du  prepwiza  spectrum  wscore_r
canvasFP  canvasSO  create_m  hit_expa  micro_pk  profile_  stereoiz  zip_temp
canvasFP  canvasTr  create_r  impref    modify_s  profile_  store_re  ziputil
canvasHC  ccp42cns  create_s  ionizer   mol2conv  project_
```

# Example Application Usage

## qsite

```
qsite -SAVE -PARALLEL 24 3IIS_Per1.in 
```

Note that the numeric value of `-PARALLEL` should match the numeric value of the `-n declaration` that you specified in the previous srun command.

## Jaguar

```
jaguar run nameofinput.in
```

There is a way to target a specific Schrodinger application or utility with the following syntax:

You can then view the status of your running job with `sacct`.

```
sacct
       JobID    JobName  Partition    Account  AllocCPUS      State ExitCode 
------------ ---------- ---------- ---------- ---------- ---------- -------- 
39148       j3IIS_Per1   hi-core   abc12345         24    RUNNING      0:0 
391148.0       hostname              abc12345         24  COMPLETED      0:0
```

## Run Test Suite

```
testapp -DEBUG
para_testapp -DEBUG
```

## Installation Oddities

Schrödinger comes pre-packaged with an outdated version of mpi(< 1.8.1), meaning an old bug in the MPI->SLURM interface needs to be manually patched by appending the following line to schrodinger's mpi's default config file:

```
plm_slurm_args = --cpu_bind=boards
```

## Command to call a Schrodinger utility

```
"${SCHRODINGER}/utilities/multisim" -JOBNAME desmond_md_job_TREK1model_1ms restOfCommandOptionsHere
```


## Launching and disconnecting from an interactive srun Schrodinger job

Schrodinger can be run interactively through srun.

The srun solution above is good for a single interactive calculation that can be left up and running without any disconnections.

If there are network or power interruptions while the Interactive Schrodinger srun job is running, the srun job will end and progress will be lost.

Here is an example to allocate an AMD EPYC compute node with 126 cores through srun under the general partition:

```
srun --x11 -N 1 -n 126 -p general --constraint=epyc128 --pty bash
```

Once a compute node is assigned and the srun job is running, schrodinger can be loaded normally through the module.

```
module load schrodinger/2026-2
```

Once schrodinger is loaded, the Schrodinger commands will become available and the Schrodinger calculations can be called through one of the many Schrodinger suites.


## Example Schrodinger submission script: (piper process):

The following example is a general overview how a job for Schrodinger can be used to run simulations.

Replace the piper command with the designated Schrodinger command needed for the calculation.

```shell
#!/bin/bash
#SBATCH --job-name=prot-prot-docking_AR_1
#SBATCH --partition=general
#SBATCH --ntasks=40
#SBATCH --time=12:00:00
#SBATCH --mail-type=END
#SBATCH --mail-user=first.lastname@uconn.edu
#SBATCH --error=Protein-Protein-docking_%j.err
#SBATCH --output=Protein-Protein-docking_%j.out

module purge
module load schrodinger/2026-2

export SCHRODINGER=/gpfs/software/RHEL9/schrodinger/2026-2
mkdir -pv $HOME/schrodinger_tmp  #remove this from submission after the schrodinger_tmp directory gets created
export SCHRODINGER_TMPDIR=$HOME/schrodinger_tmp
$SCHRODINGER/jsc local-server-start

"${SCHRODINGER}/run" -FROM psp piper.py \
 -jobname NameofJOb \
 -receptor file.pdb \
 -receptor_chain B \
 -poses NumberofPoses \
 -rotations numberOfRotations \
 -raw \ 
 -OMPI $SLURM_NTASKS \
 -ligand nameOfLigand.pdb \
 -ligand_chain A \
 -use_nonstandard_residue yes \
 -HOST localhost:$SLURM_NTASKS \
 -WAIT \
 -TMPLAUNCHDIR

$SCHRODINGER/jsc local-server-stop
```

## Example Schrodinger submission script: (desmond):

```shell
#!/bin/bash
#SBATCH --job-name=desmond
#SBATCH --nodes=1
#SBATCH --ntasks=126
#SBATCH --partition=general
#SBATCH --mail-type=END
#SBATCH --mail-user=first.lastname@uconn.edu
#SBATCH --error=JobTest.err
#SBATCH --output=JobTest.out

module purge
module load schrodinger/2026-2

export SCHRODINGER=/gpfs/software/RHEL9/schrodinger/2026-2
mkdir -pv $HOME/schrodinger_tmp  #remove this from submission after the schrodinger_tmp directory gets created
export SCHRODINGER_TMPDIR=$HOME/schrodinger_tmp
$SCHRODINGER/jsc local-server-start

$SCHRODINGER/desmond \
    -LOCAL \
    -WAIT \
    -HOST localhost:$SLURM_NTASKS \
    -c job.cfg \
    -in system.cms
    -TMPLAUNCHDIR

$SCHRODINGER/jsc local-server-stop
```